From 0c34a1fd9b256330139ca83ee8724023b1dcf79b Mon Sep 17 00:00:00 2001 From: Aviu00 <93730715+Aviu00@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:26:27 +0000 Subject: [PATCH] Magic 3 (#340) * - add: Some tweaks and localization. * - add: Teleport spell. * - tweak: Tweak wizard hardsuit. * - add: Turn off shield on cast. * - add: New wizard clothes & update wizard shuttle, * - remove: Remove old clothes from shuttle. * - fix: No teleporting to centcomm. --- .../Wizard/TeleportSpell/TeleportSpellEui.cs | 39 + Content.Server/EnergyDome/EnergyDomeSystem.cs | 22 +- .../_White/Wizard/Magic/WizardSpellsSystem.cs | 45 +- .../SpawnTeleportLocationComponent.cs | 6 + .../Teleport/TeleportLocationComponent.cs | 8 + .../Wizard/Teleport/TeleportLocationSystem.cs | 29 + .../Wizard/Teleport/TeleportSpellEui.cs | 102 ++ .../_White/Wizard/WizardRuleComponent.cs | 1 + .../Inventory/InventorySystem.Relay.cs | 2 + .../Events/EnergyDomeClothesTurnOffEvent.cs | 8 + .../Wizard/ScrollSystem/SharedScrollSystem.cs | 13 +- .../Wizard/Teleport/TeleportSpellEuiState.cs | 16 + Content.Shared/_White/Wizard/WizardEvents.cs | 6 + .../Locale/ru-RU/_white/wizard/scrolls.ftl | 48 + .../ru-RU/_white/{ => wizard}/wizard.ftl | 5 +- Resources/Maps/White/Shuttles/wizard.yml | 1122 ++++++++--------- .../Clothing/OuterClothing/hardsuits.yml | 12 +- .../Entities/Markers/warp_point.yml | 1 + .../Objects/Devices/station_beacon.yml | 2 + Resources/Prototypes/Magic/white.yml | 27 +- .../_White/Entities/Clothing/nigger.yml | 30 + .../_White/Objects/Scrolls/scrolls.yml | 35 +- Resources/Prototypes/_White/Wizard/wizard.yml | 4 +- .../Objects/Magic/magicactions.rsi/meta.json | 3 + .../Magic/magicactions.rsi/teleport.png | Bin 0 -> 236 bytes .../Head/wizhat-alt.rsi/equipped-HELMET.png | Bin 0 -> 775 bytes .../Clothing/Head/wizhat-alt.rsi/icon.png | Bin 0 -> 533 bytes .../Head/wizhat-alt.rsi/inhand-left.png | Bin 0 -> 809 bytes .../Head/wizhat-alt.rsi/inhand-right.png | Bin 0 -> 846 bytes .../Clothing/Head/wizhat-alt.rsi/meta.json | 27 + .../Head/wizhat.rsi/equipped-HELMET.png | Bin 0 -> 881 bytes .../White/Clothing/Head/wizhat.rsi/icon 2.png | Bin 0 -> 506 bytes .../White/Clothing/Head/wizhat.rsi/icon.png | Bin 0 -> 643 bytes .../Clothing/Head/wizhat.rsi/inhand-left.png | Bin 0 -> 795 bytes .../Clothing/Head/wizhat.rsi/inhand-right.png | Bin 0 -> 792 bytes .../White/Clothing/Head/wizhat.rsi/meta.json | 27 + .../equipped-OUTERCLOTHING-body-slim.png | Bin 0 -> 2219 bytes .../robe.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 2219 bytes .../Clothing/OuterClothing/robe.rsi/icon.png | Bin 0 -> 880 bytes .../OuterClothing/robe.rsi/inhand-left.png | Bin 0 -> 1328 bytes .../OuterClothing/robe.rsi/inhand-right.png | Bin 0 -> 1285 bytes .../Clothing/OuterClothing/robe.rsi/meta.json | 31 + 42 files changed, 1042 insertions(+), 629 deletions(-) create mode 100644 Content.Client/_White/Wizard/TeleportSpell/TeleportSpellEui.cs create mode 100644 Content.Server/_White/Wizard/Teleport/SpawnTeleportLocationComponent.cs create mode 100644 Content.Server/_White/Wizard/Teleport/TeleportLocationComponent.cs create mode 100644 Content.Server/_White/Wizard/Teleport/TeleportLocationSystem.cs create mode 100644 Content.Server/_White/Wizard/Teleport/TeleportSpellEui.cs create mode 100644 Content.Shared/_White/Events/EnergyDomeClothesTurnOffEvent.cs create mode 100644 Content.Shared/_White/Wizard/Teleport/TeleportSpellEuiState.cs create mode 100644 Resources/Locale/ru-RU/_white/wizard/scrolls.ftl rename Resources/Locale/ru-RU/_white/{ => wizard}/wizard.ftl (77%) create mode 100644 Resources/Textures/Objects/Magic/magicactions.rsi/teleport.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/icon.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/inhand-left.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/inhand-right.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/meta.json create mode 100644 Resources/Textures/White/Clothing/Head/wizhat.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat.rsi/icon 2.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat.rsi/icon.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat.rsi/inhand-left.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat.rsi/inhand-right.png create mode 100644 Resources/Textures/White/Clothing/Head/wizhat.rsi/meta.json create mode 100644 Resources/Textures/White/Clothing/OuterClothing/robe.rsi/equipped-OUTERCLOTHING-body-slim.png create mode 100644 Resources/Textures/White/Clothing/OuterClothing/robe.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/White/Clothing/OuterClothing/robe.rsi/icon.png create mode 100644 Resources/Textures/White/Clothing/OuterClothing/robe.rsi/inhand-left.png create mode 100644 Resources/Textures/White/Clothing/OuterClothing/robe.rsi/inhand-right.png create mode 100644 Resources/Textures/White/Clothing/OuterClothing/robe.rsi/meta.json diff --git a/Content.Client/_White/Wizard/TeleportSpell/TeleportSpellEui.cs b/Content.Client/_White/Wizard/TeleportSpell/TeleportSpellEui.cs new file mode 100644 index 0000000000..ddbf1f63f2 --- /dev/null +++ b/Content.Client/_White/Wizard/TeleportSpell/TeleportSpellEui.cs @@ -0,0 +1,39 @@ +using System.Linq; +using Content.Client._White.Cult.UI.TeleportRunesList; +using Content.Client.Eui; +using Content.Shared._White.Wizard.Teleport; +using Content.Shared.Eui; +using JetBrains.Annotations; + +namespace Content.Client._White.Wizard.TeleportSpell; + +[UsedImplicitly] +public sealed class TeleportSpellEui : BaseEui +{ + private readonly TeleportRunesListWindow _window = new(); + + public override void Opened() + { + _window.OpenCentered(); + _window.ItemSelected += + (index, _) => SendMessage(new TeleportSpellTargetLocationSelected {LocationUid = index}); + _window.OnClose += () => SendMessage(new CloseEuiMessage()); + + base.Opened(); + } + + public override void Closed() + { + base.Closed(); + _window.Close(); + } + + public override void HandleState(EuiStateBase state) + { + if (state is not TeleportSpellEuiState cast) + return; + + _window.Clear(); + _window.PopulateList(cast.Locations.Keys.ToList(), cast.Locations.Values.ToList()); + } +} diff --git a/Content.Server/EnergyDome/EnergyDomeSystem.cs b/Content.Server/EnergyDome/EnergyDomeSystem.cs index 790c44f514..d04935304e 100644 --- a/Content.Server/EnergyDome/EnergyDomeSystem.cs +++ b/Content.Server/EnergyDome/EnergyDomeSystem.cs @@ -3,10 +3,12 @@ using Content.Server.DeviceLinking.Systems; using Content.Server.Power.Components; using Content.Server.Power.EntitySystems; using Content.Server.PowerCell; +using Content.Shared._White.Events; using Content.Shared.Actions; using Content.Shared.Damage; using Content.Shared.Examine; using Content.Shared.Interaction; +using Content.Shared.Inventory; using Content.Shared.Popups; using Content.Shared.PowerCell; using Content.Shared.PowerCell.Components; @@ -53,10 +55,19 @@ public sealed partial class EnergyDomeSystem : EntitySystem SubscribeLocalEvent(OnComponentRemove); + SubscribeLocalEvent>( + OnClothesTurnOff); + //Dome events SubscribeLocalEvent(OnDomeDamaged); } + private void OnClothesTurnOff(Entity ent, + ref InventoryRelayedEvent args) + { + TurnOff(ent, false); + } + private void OnInit(Entity generator, ref MapInitEvent args) { if (generator.Comp.CanDeviceNetworkUse) @@ -179,12 +190,11 @@ public sealed partial class EnergyDomeSystem : EntitySystem if (HasComp(generatorUid)) { - _powerCell.TryGetBatteryFromSlot(generatorUid, out var cell); - if (cell != null) + if (_powerCell.TryGetBatteryFromSlot(generatorUid, out var cell, out var batteryComp)) { - _battery.UseCharge(generatorUid, energyLeak); + _battery.UseCharge(cell.Value, energyLeak, batteryComp); - if (cell.CurrentCharge == 0) + if (batteryComp.CurrentCharge == 0) TurnOff((generatorUid, generatorComp), true); } } @@ -298,7 +308,7 @@ public sealed partial class EnergyDomeSystem : EntitySystem return; generator.Comp.Enabled = false; - QueueDel(generator.Comp.SpawnedDome); + Del(generator.Comp.SpawnedDome); _powerCell.SetPowerCellDrawEnabled(generator, false); if (TryComp(generator, out var recharger)) @@ -325,4 +335,4 @@ public sealed partial class EnergyDomeSystem : EntitySystem ? container.Owner : entity; } -} \ No newline at end of file +} diff --git a/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs b/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs index 2b717366aa..2dfa6ca016 100644 --- a/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs +++ b/Content.Server/_White/Wizard/Magic/WizardSpellsSystem.cs @@ -3,17 +3,21 @@ using System.Numerics; using Content.Server._White.IncorporealSystem; using Content.Server._White.Wizard.Magic.Amaterasu; using Content.Server._White.Wizard.Magic.Other; +using Content.Server._White.Wizard.Teleport; using Content.Server.Abilities.Mime; using Content.Server.Administration.Commands; using Content.Server.Atmos.Components; using Content.Server.Atmos.EntitySystems; using Content.Server.Chat.Systems; using Content.Server.Emp; +using Content.Server.EUI; using Content.Server.Lightning; using Content.Server.Magic; using Content.Server.Singularity.EntitySystems; using Content.Server.Standing; using Content.Server.Weapons.Ranged.Systems; +using Content.Shared._White.BetrayalDagger; +using Content.Shared._White.Events; using Content.Shared._White.Wizard; using Content.Shared._White.Wizard.Magic; using Content.Shared.Actions; @@ -36,6 +40,7 @@ using Content.Shared.Throwing; using Robust.Shared.Audio.Systems; using Robust.Shared.Map; using Robust.Shared.Physics.Components; +using Robust.Shared.Player; using Robust.Shared.Random; namespace Content.Server._White.Wizard.Magic; @@ -64,6 +69,8 @@ public sealed class WizardSpellsSystem : EntitySystem [Dependency] private readonly EmpSystem _empSystem = default!; [Dependency] private readonly SharedActionsSystem _actions = default!; [Dependency] private readonly StandingStateSystem _standing = default!; + [Dependency] private readonly TelefragSystem _telefrag = default!; + [Dependency] private readonly EuiManager _euiManager = default!; #endregion @@ -71,6 +78,7 @@ public sealed class WizardSpellsSystem : EntitySystem { base.Initialize(); + SubscribeLocalEvent(OnTeleportSpell); SubscribeLocalEvent(OnInstantRecallSpell); SubscribeLocalEvent(OnMimeTouchSpell); SubscribeLocalEvent(OnBananaTouchSpell); @@ -87,6 +95,26 @@ public sealed class WizardSpellsSystem : EntitySystem SubscribeLocalEvent(OnBeforeCastSpell); } + #region Teleport + + private void OnTeleportSpell(TeleportSpellEvent msg) + { + if (!CanCast(msg)) + return; + + if (!TryComp(msg.Performer, out ActorComponent? actor)) + return; + + var eui = new TeleportSpellEui(msg.Performer); + _euiManager.OpenEui(eui, actor.PlayerSession); + eui.StateDirty(); + + msg.Handled = true; + Speak(msg); + } + + #endregion + #region Instant Recall private void OnInstantRecallSpell(InstantRecallSpellEvent msg) @@ -289,6 +317,7 @@ public sealed class WizardSpellsSystem : EntitySystem if (!foundTeleportPos) return; + _telefrag.Telefrag(coords, msg.Performer); _transformSystem.SetCoordinates(msg.Performer, coords); _transformSystem.AttachToGridOrMap(msg.Performer); @@ -404,6 +433,8 @@ public sealed class WizardSpellsSystem : EntitySystem private void CardsSpellDefault(CardsSpellEvent msg) { + TurnOffShield(msg.Performer); + var xform = Transform(msg.Performer); for (var i = 0; i < 10; i++) @@ -428,6 +459,8 @@ public sealed class WizardSpellsSystem : EntitySystem private void CardsSpellCharge(CardsSpellEvent msg) { + TurnOffShield(msg.Performer); + var xform = Transform(msg.Performer); var count = 10 + 10 * msg.ChargeLevel; @@ -466,6 +499,7 @@ public sealed class WizardSpellsSystem : EntitySystem Del(msg.TargetUid); var item = Spawn(msg.Prototype); _handsSystem.TryPickupAnyHand(msg.Performer, item); + TurnOffShield(msg.Performer); return true; } @@ -504,6 +538,8 @@ public sealed class WizardSpellsSystem : EntitySystem private void FireballSpellDefault(FireballSpellEvent msg) { + TurnOffShield(msg.Performer); + var xform = Transform(msg.Performer); foreach (var pos in _magicSystem.GetSpawnPositions(xform, msg.Pos)) @@ -662,12 +698,14 @@ public sealed class WizardSpellsSystem : EntitySystem private void ArcSpellCharge(ArcSpellEvent msg) { - _lightning.ShootRandomLightnings(msg.Performer, 2f * msg.ChargeLevel, msg.ChargeLevel * 2, "WizardLightning", 1, + _lightning.ShootRandomLightnings(msg.Performer, 1.5f * msg.ChargeLevel, msg.ChargeLevel * 2, "WizardLightning", 2, caster: msg.Performer); } private void ArcSpellAlt(ArcSpellEvent msg) { + TurnOffShield(msg.Performer); + var xform = Transform(msg.Performer); foreach (var pos in _magicSystem.GetSpawnPositions(xform, msg.Pos)) @@ -693,6 +731,11 @@ public sealed class WizardSpellsSystem : EntitySystem #region Helpers + private void TurnOffShield(EntityUid uid) + { + RaiseLocalEvent(uid, new EnergyDomeClothesTurnOffEvent()); + } + private bool CanCast(BaseActionEvent msg) { return !msg.Handled && CheckRequirements(msg.Action, msg.Performer) && diff --git a/Content.Server/_White/Wizard/Teleport/SpawnTeleportLocationComponent.cs b/Content.Server/_White/Wizard/Teleport/SpawnTeleportLocationComponent.cs new file mode 100644 index 0000000000..6639ed4258 --- /dev/null +++ b/Content.Server/_White/Wizard/Teleport/SpawnTeleportLocationComponent.cs @@ -0,0 +1,6 @@ +namespace Content.Server._White.Wizard.Teleport; + +[RegisterComponent] +public sealed partial class SpawnTeleportLocationComponent : Component +{ +} diff --git a/Content.Server/_White/Wizard/Teleport/TeleportLocationComponent.cs b/Content.Server/_White/Wizard/Teleport/TeleportLocationComponent.cs new file mode 100644 index 0000000000..595d367bd0 --- /dev/null +++ b/Content.Server/_White/Wizard/Teleport/TeleportLocationComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Server._White.Wizard.Teleport; + +[RegisterComponent] +public sealed partial class TeleportLocationComponent : Component +{ + [ViewVariables(VVAccess.ReadWrite)] + public string Location = string.Empty; +} diff --git a/Content.Server/_White/Wizard/Teleport/TeleportLocationSystem.cs b/Content.Server/_White/Wizard/Teleport/TeleportLocationSystem.cs new file mode 100644 index 0000000000..6091017938 --- /dev/null +++ b/Content.Server/_White/Wizard/Teleport/TeleportLocationSystem.cs @@ -0,0 +1,29 @@ +using Content.Server.Pinpointer; +using Content.Server.Warps; + +namespace Content.Server._White.Wizard.Teleport; + +public sealed class TeleportLocationSystem : EntitySystem +{ + [Dependency] private readonly SharedTransformSystem _transformSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMapInit, + after: new[] {typeof(NavMapSystem)}); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + if (!TryComp(ent, out WarpPointComponent? warpPoint) || warpPoint.Location == null) + return; + + var newEnt = Spawn(null, Transform(ent).Coordinates); + var xForm = EnsureComp(newEnt); + _transformSystem.AttachToGridOrMap(newEnt, xForm); + var location = EnsureComp(newEnt); + location.Location = warpPoint.Location; + } +} diff --git a/Content.Server/_White/Wizard/Teleport/TeleportSpellEui.cs b/Content.Server/_White/Wizard/Teleport/TeleportSpellEui.cs new file mode 100644 index 0000000000..83235d141b --- /dev/null +++ b/Content.Server/_White/Wizard/Teleport/TeleportSpellEui.cs @@ -0,0 +1,102 @@ +using System.Linq; +using Content.Server.EUI; +using Content.Server.Popups; +using Content.Server.Station.Systems; +using Content.Shared._White.Wizard.Teleport; +using Content.Shared.Eui; +using Robust.Shared.Timing; +using TeleportSpellEuiState = Content.Shared._White.Wizard.Teleport.TeleportSpellEuiState; + +namespace Content.Server._White.Wizard.Teleport; + +public sealed class TeleportSpellEui : BaseEui +{ + [Dependency] private readonly EntityManager _entityManager = default!; + private readonly SharedTransformSystem _transformSystem; + private readonly StationSystem _station; + private readonly PopupSystem _popupSystem; + + private readonly EntityUid _performer; + + private bool _used; + + public TeleportSpellEui(EntityUid performer) + { + IoCManager.InjectDependencies(this); + + _transformSystem = _entityManager.System(); + _station = _entityManager.System(); + _popupSystem = _entityManager.System(); + + _performer = performer; + + Timer.Spawn(TimeSpan.FromSeconds(10), Close); + } + + public override EuiStateBase GetNewState() + { + var locationQuery = _entityManager.EntityQueryEnumerator(); + var state = new TeleportSpellEuiState(); + + while (locationQuery.MoveNext(out var locationUid, out var locationComponent, out var transformComponent)) + { + var station = _station.GetOwningStation(locationUid, transformComponent); + if (_entityManager.EntityQuery(true) + .Any(wizardRule => wizardRule.TargetStation == station)) + { + state.Locations.Add((int) locationUid, locationComponent.Location); + } + } + + return state; + } + + public override void HandleMessage(EuiMessageBase msg) + { + base.HandleMessage(msg); + + if (_used) + { + return; + } + + if (msg is not TeleportSpellTargetLocationSelected cast) + { + return; + } + + var transform = _entityManager.GetComponent(_performer); + var oldCoords = transform.Coordinates; + + TransformComponent? locationTransform = null; + + var teleportLocationQuery = _entityManager + .EntityQueryEnumerator(); + while (teleportLocationQuery.MoveNext(out var locationUid, out _, out var transformComponent)) + { + if (locationUid == new EntityUid(cast.LocationUid)) + { + locationTransform = transformComponent; + } + } + + if (locationTransform is null) + { + _popupSystem.PopupEntity("Can't teleport", _performer, _performer); + DoStateUpdate(); + return; + } + + _used = true; + + var coords = locationTransform.Coordinates; + + _transformSystem.SetCoordinates(_performer, coords); + _transformSystem.AttachToGridOrMap(_performer, transform); + + _entityManager.SpawnEntity("AdminInstantEffectSmoke10", oldCoords); + _entityManager.SpawnEntity("AdminInstantEffectSmoke10", coords); + + Close(); + } +} diff --git a/Content.Server/_White/Wizard/WizardRuleComponent.cs b/Content.Server/_White/Wizard/WizardRuleComponent.cs index 7c6e044832..dd37c8128a 100644 --- a/Content.Server/_White/Wizard/WizardRuleComponent.cs +++ b/Content.Server/_White/Wizard/WizardRuleComponent.cs @@ -14,6 +14,7 @@ public sealed partial class WizardRuleComponent : Component { public readonly List WizardMinds = new(); + [ViewVariables(VVAccess.ReadWrite)] public EntityUid? TargetStation; [DataField("minPlayers")] diff --git a/Content.Shared/Inventory/InventorySystem.Relay.cs b/Content.Shared/Inventory/InventorySystem.Relay.cs index 4c70107a7b..f6713713b6 100644 --- a/Content.Shared/Inventory/InventorySystem.Relay.cs +++ b/Content.Shared/Inventory/InventorySystem.Relay.cs @@ -1,3 +1,4 @@ +using Content.Shared._White.Events; using Content.Shared._White.StaminaProtection; using Content.Shared.Changeling; using Content.Shared.Chemistry; @@ -32,6 +33,7 @@ public partial class InventorySystem SubscribeLocalEvent(RelayInventoryEvent); // WD SubscribeLocalEvent(RelayInventoryEvent); // WD SubscribeLocalEvent(RelayInventoryEvent); // WD + SubscribeLocalEvent(RelayInventoryEvent); // WD SubscribeLocalEvent(RelayInventoryEvent); // by-ref events diff --git a/Content.Shared/_White/Events/EnergyDomeClothesTurnOffEvent.cs b/Content.Shared/_White/Events/EnergyDomeClothesTurnOffEvent.cs new file mode 100644 index 0000000000..1b2d9bf13b --- /dev/null +++ b/Content.Shared/_White/Events/EnergyDomeClothesTurnOffEvent.cs @@ -0,0 +1,8 @@ +using Content.Shared.Inventory; + +namespace Content.Shared._White.Events; + +public sealed class EnergyDomeClothesTurnOffEvent : EntityEventArgs, IInventoryRelayEvent +{ + public SlotFlags TargetSlots => SlotFlags.OUTERCLOTHING; +} diff --git a/Content.Shared/_White/Wizard/ScrollSystem/SharedScrollSystem.cs b/Content.Shared/_White/Wizard/ScrollSystem/SharedScrollSystem.cs index 78fe528d1d..50f416427b 100644 --- a/Content.Shared/_White/Wizard/ScrollSystem/SharedScrollSystem.cs +++ b/Content.Shared/_White/Wizard/ScrollSystem/SharedScrollSystem.cs @@ -38,7 +38,8 @@ public abstract class SharedScrollSystem : EntitySystem if (args.Handled) return; - var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.LearnTime, new ScrollDoAfterEvent(), uid, target: uid) + var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.LearnTime, new ScrollDoAfterEvent(), + uid, target: uid) { BreakOnMove = true, BreakOnDamage = true, @@ -50,7 +51,9 @@ public abstract class SharedScrollSystem : EntitySystem _audioSystem.PlayPvs(component.UseSound, args.User); } - _popupSystem.PopupClient($"You start learning about {component.LearnPopup}.", args.User, args.User, PopupType.Medium); + _popupSystem.PopupClient( + Loc.GetString("scroll-component-start", ("subject", Loc.GetString(component.LearnPopup))), args.User, + args.User, PopupType.Medium); _doAfterSystem.TryStartDoAfter(doAfterEventArgs); @@ -69,7 +72,9 @@ public abstract class SharedScrollSystem : EntitySystem _audioSystem.PlayEntity(component.AfterUseSound, args.User, args.User); } - _popupSystem.PopupClient($"You learned much about {component.LearnPopup}. The scroll is slowly burning in your hands.", args.User, args.User, PopupType.Medium); + _popupSystem.PopupClient( + Loc.GetString("scroll-component-end", ("subject", Loc.GetString(component.LearnPopup))), args.User, + args.User, PopupType.Medium); BurnScroll(uid); @@ -80,7 +85,7 @@ public abstract class SharedScrollSystem : EntitySystem #region Helpers - protected virtual void BurnScroll(EntityUid uid) {} + protected virtual void BurnScroll(EntityUid uid) { } #endregion } diff --git a/Content.Shared/_White/Wizard/Teleport/TeleportSpellEuiState.cs b/Content.Shared/_White/Wizard/Teleport/TeleportSpellEuiState.cs new file mode 100644 index 0000000000..7161f85018 --- /dev/null +++ b/Content.Shared/_White/Wizard/Teleport/TeleportSpellEuiState.cs @@ -0,0 +1,16 @@ +using Content.Shared.Eui; +using Robust.Shared.Serialization; + +namespace Content.Shared._White.Wizard.Teleport; + +[Serializable, NetSerializable] +public sealed class TeleportSpellEuiState : EuiStateBase +{ + public Dictionary Locations = new(); +} + +[Serializable, NetSerializable] +public sealed class TeleportSpellTargetLocationSelected : EuiMessageBase +{ + public int LocationUid; +} diff --git a/Content.Shared/_White/Wizard/WizardEvents.cs b/Content.Shared/_White/Wizard/WizardEvents.cs index c5d6d7e055..944ee69c91 100644 --- a/Content.Shared/_White/Wizard/WizardEvents.cs +++ b/Content.Shared/_White/Wizard/WizardEvents.cs @@ -172,4 +172,10 @@ public sealed partial class InstantRecallSpellEvent : InstantActionEvent, ISpeak public string? Speech { get; private set; } } +public sealed partial class TeleportSpellEvent : InstantActionEvent, ISpeakSpell +{ + [DataField("speech")] + public string? Speech { get; private set; } +} + #endregion diff --git a/Resources/Locale/ru-RU/_white/wizard/scrolls.ftl b/Resources/Locale/ru-RU/_white/wizard/scrolls.ftl new file mode 100644 index 0000000000..a22dbfb0f8 --- /dev/null +++ b/Resources/Locale/ru-RU/_white/wizard/scrolls.ftl @@ -0,0 +1,48 @@ +scroll-component-start = Вы начинаете изучать { $subject }. +scroll-component-end = Вы изучили { $subject }. Свиток медленно сгорает в ваших руках. + +scroll-component-fireball = огненный шар +scroll-component-forcewall = силовую стену +scroll-component-knock = тук-тук +scroll-component-lightning = молнию +scroll-component-force = силу +scroll-component-cards = карты +scroll-component-blink = прыжок +scroll-component-jaunt = потустороннее путешествие +scroll-component-emp = ЭМИ +scroll-component-cluwne = проклятье +scroll-component-clown = бананы +scroll-component-silence = тишину +scroll-component-recall = призыв +scroll-component-teleport = телепортацию + +ent-BaseScroll = магический свиток + .desc = Этот древний пергамент, ставший реликвией в арканных преданиях, хранит в себе бесчисленные мистические заклятия и забытые заклинания. +ent-ScrollFireball = свиток огненного шара + .desc = { ent-BaseScroll.desc } +ent-ScrollForcewall = свиток силовой стены + .desc = { ent-BaseScroll.desc } +ent-ScrollKnock = свиток стука + .desc = { ent-BaseScroll.desc } +ent-ScrollArc = свиток молнии + .desc = { ent-BaseScroll.desc } +ent-ScrollForce = свиток силы + .desc = { ent-BaseScroll.desc } +ent-ScrollCards = свиток карт + .desc = { ent-BaseScroll.desc } +ent-ScrollBlink = свиток прыжка + .desc = { ent-BaseScroll.desc } +ent-ScrollEtherealJaunt = свиток потустороннего путешествия + .desc = { ent-BaseScroll.desc } +ent-ScrollEmp = свиток ЭМИ + .desc = { ent-BaseScroll.desc } +ent-ScrollCluwneCurse = свиток проклятия клувна + .desc = { ent-BaseScroll.desc } +ent-ScrollBananaTouch = свиток бананового касания + .desc = { ent-BaseScroll.desc } +ent-ScrollMimeTouch = свиток касания мима + .desc = { ent-BaseScroll.desc } +ent-ScrollInstantRecall = свиток мгновенного призыва + .desc = { ent-BaseScroll.desc } +ent-ScrollTeleport = свиток телепортации + .desc = { ent-BaseScroll.desc } diff --git a/Resources/Locale/ru-RU/_white/wizard.ftl b/Resources/Locale/ru-RU/_white/wizard/wizard.ftl similarity index 77% rename from Resources/Locale/ru-RU/_white/wizard.ftl rename to Resources/Locale/ru-RU/_white/wizard/wizard.ftl index e0f380e29f..b145d0d95f 100644 --- a/Resources/Locale/ru-RU/_white/wizard.ftl +++ b/Resources/Locale/ru-RU/_white/wizard/wizard.ftl @@ -11,9 +11,12 @@ roles-antag-wizard-objective = Устройте хаос на станции wizard-round-end-agent-name = космический волшебник -wizard-welcome = Вы - космический волшебник. Федерация Космических Волшебников отправила вас на станцию {$station}, дабы посеять хаос. Не разочаруйте их. +wizard-welcome = Вы - космический волшебник. Федерация Космических Волшебников отправила вас на станцию {$station}, дабы посеять хаос. Вы можете попасть на станцию с помощью гиперпрыжка или с помощью магии телепортации. wizard-no-more-threat-announcement-shuttle-call = Судя по данным наших датчиков дальнего действия, магическая угроза была устранена. Эвакуационный шаттл скоро прибудет. Время прибытия: {$time} {$units}. Вы можете отозвать его, чтобы продлить смену. wizard-no-more-threat-announcement = Судя по данным наших датчиков дальнего действия, магическая угроза была устранена. Шаттл уже вызван. magic-component-missing-req = Недостающие требования! Вам необходимо надеть мантию и шляпу! + +ent-WizardSurviveObjective = Переживете смену, устроив как можно больше хаоса. + .desc = Федерация Космических Волшебников отправила вас на станцию Nanotrasen, чтобы навести там смуту. Не разочаруйте их. diff --git a/Resources/Maps/White/Shuttles/wizard.yml b/Resources/Maps/White/Shuttles/wizard.yml index 9efac0b372..65bdc21b2d 100644 --- a/Resources/Maps/White/Shuttles/wizard.yml +++ b/Resources/Maps/White/Shuttles/wizard.yml @@ -1999,110 +1999,62 @@ entities: parent: 2 - proto: ClothingHandsGlovesColorYellow entities: - - uid: 784 + - uid: 271 components: - type: Transform pos: -4.5,-13.5 parent: 2 - proto: ClothingHandsGlovesCombat entities: - - uid: 271 + - uid: 272 components: - type: Transform pos: -9.39363,-3.5328693 parent: 2 -- proto: ClothingHeadHatRealWizardBlue - entities: - - uid: 273 - components: - - type: Transform - parent: 272 - - type: Physics - canCollide: False -- proto: ClothingHeadHatRealWizardRed +- proto: ClothingHeadHatRealWizardFancyAlt entities: - uid: 274 components: - type: Transform - parent: 272 - - type: Physics - canCollide: False -- proto: ClothingHeadHatRealWizardViolet + pos: -2.571265,8.784239 + parent: 2 +- proto: ClothingHeadHatWitch1 entities: - uid: 275 - components: - - type: Transform - parent: 272 - - type: Physics - canCollide: False -- proto: ClothingHeadHatWitch1 - entities: - - uid: 279 components: - type: Transform pos: -5.52865,-9.359842 parent: 2 -- proto: ClothingHeadHelmetWizardHelm - entities: - - uid: 280 - components: - - type: Transform - pos: -1.3289549,-9.370714 - parent: 2 - proto: ClothingMaskGasChameleon - entities: - - uid: 281 - components: - - type: Transform - pos: -9.537922,-3.3987489 - parent: 2 -- proto: ClothingOuterRealWizardBlue entities: - uid: 276 components: - type: Transform - parent: 272 - - type: Physics - canCollide: False -- proto: ClothingOuterRealWizardRed - entities: - - uid: 277 - components: - - type: Transform - parent: 272 - - type: Physics - canCollide: False -- proto: ClothingOuterRealWizardViolet - entities: - - uid: 278 - components: - - type: Transform - parent: 272 - - type: Physics - canCollide: False + pos: -9.537922,-3.3987489 + parent: 2 - proto: ClothingUniformJumpskirtColorBlack entities: - - uid: 282 + - uid: 277 components: - type: Transform pos: -5.617341,-9.575869 parent: 2 - proto: ClothingUniformJumpsuitColorBlack entities: - - uid: 283 + - uid: 278 components: - type: Transform pos: -5.429654,-9.555006 parent: 2 - proto: ComfyChair entities: - - uid: 284 + - uid: 279 components: - type: Transform rot: 1.5707963267948966 rad pos: -7.5,3.5 parent: 2 - - uid: 285 + - uid: 280 components: - type: Transform rot: -1.5707963267948966 rad @@ -2110,141 +2062,109 @@ entities: parent: 2 - proto: ComputerIFFSyndicate entities: - - uid: 286 + - uid: 281 components: - type: Transform pos: -1.5,10.5 parent: 2 - proto: ComputerShuttle entities: - - uid: 287 + - uid: 282 components: - type: Transform pos: -0.5,10.5 parent: 2 - proto: ComputerSurveillanceWirelessCameraMonitor entities: - - uid: 288 + - uid: 283 components: - type: Transform pos: -3.5,6.5 parent: 2 - proto: CrayonBox entities: - - uid: 289 + - uid: 284 components: - type: Transform pos: -3.8145962,2.6666646 parent: 2 - proto: CrayonRainbow entities: - - uid: 290 + - uid: 285 components: - type: Transform pos: -3.6894722,2.437179 parent: 2 - proto: DiceBag entities: - - uid: 291 + - uid: 286 components: - type: Transform pos: 4.037085,4.423369 parent: 2 - proto: Dresser entities: - - uid: 272 + - uid: 273 components: - type: Transform pos: 0.5,-11.5 parent: 2 - - type: Storage - storedItems: - 277: - position: 0,4 - _rotation: East - 274: - position: 0,3 - _rotation: East - 278: - position: 2,4 - _rotation: South - 275: - position: 2,3 - _rotation: East - 276: - position: 4,4 - _rotation: South - 273: - position: 4,3 - _rotation: East - - type: ContainerContainer - containers: - storagebase: !type:Container - showEnts: False - occludes: True - ents: - - 277 - - 274 - - 278 - - 275 - - 276 - - 273 - proto: FaxMachineSyndie entities: - - uid: 292 + - uid: 287 components: - type: Transform pos: -4.5,2.5 parent: 2 - proto: FigureSpawner entities: - - uid: 293 + - uid: 288 components: - type: Transform pos: 3.5,4.5 parent: 2 - - uid: 294 + - uid: 289 components: - type: Transform pos: 4.5,4.5 parent: 2 - - uid: 295 + - uid: 290 components: - type: Transform pos: 4.5,3.5 parent: 2 - proto: FirelockGlass entities: - - uid: 296 + - uid: 291 components: - type: Transform pos: -0.5,1.5 parent: 2 - - uid: 297 + - uid: 292 components: - type: Transform pos: -0.5,-4.5 parent: 2 - - uid: 298 + - uid: 293 components: - type: Transform pos: -3.5,-12.5 parent: 2 - - uid: 299 + - uid: 294 components: - type: Transform pos: -0.5,7.5 parent: 2 - proto: Fireplace entities: - - uid: 300 + - uid: 295 components: - type: Transform pos: 0.5,-9.5 parent: 2 - proto: FloorDrain entities: - - uid: 301 + - uid: 296 components: - type: Transform pos: 4.5,-11.5 @@ -2253,45 +2173,45 @@ entities: fixtures: {} - proto: FloraRockSolid01 entities: - - uid: 302 + - uid: 297 components: - type: Transform pos: 6.5734406,0.1678339 parent: 2 - proto: FloraRockSolid02 entities: - - uid: 303 + - uid: 298 components: - type: Transform pos: 5.280491,-2.8363385 parent: 2 - proto: FoodBurgerSpell entities: - - uid: 304 + - uid: 299 components: - type: Transform pos: -1.6417658,-9.454163 parent: 2 - proto: FoodMeat entities: - - uid: 305 + - uid: 300 components: - type: Transform pos: 5.238783,-2.0018458 parent: 2 - - uid: 306 + - uid: 301 components: - type: Transform pos: 5.551594,-0.20768729 parent: 2 - - uid: 307 + - uid: 302 components: - type: Transform pos: 7.5535793,-3.0240989 parent: 2 - proto: GasMinerNitrogen entities: - - uid: 308 + - uid: 303 components: - type: Transform rot: 3.141592653589793 rad @@ -2299,7 +2219,7 @@ entities: parent: 2 - proto: GasMinerOxygen entities: - - uid: 309 + - uid: 304 components: - type: Transform rot: 3.141592653589793 rad @@ -2307,7 +2227,7 @@ entities: parent: 2 - proto: GasMixerFlipped entities: - - uid: 310 + - uid: 305 components: - type: Transform rot: 1.5707963267948966 rad @@ -2318,13 +2238,13 @@ entities: inletOneConcentration: 0.78 - proto: GasPassiveVent entities: - - uid: 311 + - uid: 306 components: - type: Transform rot: -1.5707963267948966 rad pos: 2.5,-13.5 parent: 2 - - uid: 312 + - uid: 307 components: - type: Transform rot: -1.5707963267948966 rad @@ -2332,326 +2252,326 @@ entities: parent: 2 - proto: GasPipeBend entities: - - uid: 313 + - uid: 308 components: - type: Transform rot: 3.141592653589793 rad pos: 1.5,-14.5 parent: 2 - - uid: 314 + - uid: 309 components: - type: Transform pos: -3.5,-9.5 parent: 2 - - uid: 315 + - uid: 310 components: - type: Transform pos: -4.5,-5.5 parent: 2 - - uid: 316 + - uid: 311 components: - type: Transform rot: 1.5707963267948966 rad pos: -6.5,-5.5 parent: 2 - - uid: 317 + - uid: 312 components: - type: Transform pos: -5.5,0.5 parent: 2 - - uid: 318 + - uid: 313 components: - type: Transform rot: 3.141592653589793 rad pos: -6.5,0.5 parent: 2 - - uid: 319 + - uid: 314 components: - type: Transform rot: 1.5707963267948966 rad pos: -6.5,3.5 parent: 2 - - uid: 320 + - uid: 315 components: - type: Transform rot: -1.5707963267948966 rad pos: -4.5,3.5 parent: 2 - - uid: 321 + - uid: 316 components: - type: Transform rot: -1.5707963267948966 rad pos: 5.5,-7.5 parent: 2 - - uid: 322 + - uid: 317 components: - type: Transform rot: 3.141592653589793 rad pos: 3.5,3.5 parent: 2 - - uid: 323 + - uid: 318 components: - type: Transform pos: 4.5,3.5 parent: 2 - proto: GasPipeFourway entities: - - uid: 324 + - uid: 319 components: - type: Transform pos: -0.5,-7.5 parent: 2 - - uid: 325 + - uid: 320 components: - type: Transform pos: -0.5,4.5 parent: 2 - proto: GasPipeStraight entities: - - uid: 326 + - uid: 321 components: - type: Transform rot: 1.5707963267948966 rad pos: 0.5,-13.5 parent: 2 - - uid: 327 + - uid: 322 components: - type: Transform rot: 1.5707963267948966 rad pos: -0.5,-13.5 parent: 2 - - uid: 328 + - uid: 323 components: - type: Transform rot: 1.5707963267948966 rad pos: -1.5,-13.5 parent: 2 - - uid: 329 + - uid: 324 components: - type: Transform pos: -3.5,-12.5 parent: 2 - - uid: 330 + - uid: 325 components: - type: Transform rot: 3.141592653589793 rad pos: -3.5,-11.5 parent: 2 - - uid: 331 + - uid: 326 components: - type: Transform rot: 3.141592653589793 rad pos: -3.5,-10.5 parent: 2 - - uid: 332 + - uid: 327 components: - type: Transform pos: -4.5,-8.5 parent: 2 - - uid: 333 + - uid: 328 components: - type: Transform pos: -4.5,-6.5 parent: 2 - - uid: 334 + - uid: 329 components: - type: Transform pos: -5.5,-4.5 parent: 2 - - uid: 335 + - uid: 330 components: - type: Transform pos: -5.5,-3.5 parent: 2 - - uid: 336 + - uid: 331 components: - type: Transform pos: -5.5,-1.5 parent: 2 - - uid: 337 + - uid: 332 components: - type: Transform rot: 3.141592653589793 rad pos: -6.5,1.5 parent: 2 - - uid: 338 + - uid: 333 components: - type: Transform rot: 3.141592653589793 rad pos: -6.5,2.5 parent: 2 - - uid: 339 + - uid: 334 components: - type: Transform rot: 1.5707963267948966 rad pos: -5.5,3.5 parent: 2 - - uid: 340 + - uid: 335 components: - type: Transform rot: -1.5707963267948966 rad pos: -3.5,-7.5 parent: 2 - - uid: 341 + - uid: 336 components: - type: Transform rot: -1.5707963267948966 rad pos: -2.5,-7.5 parent: 2 - - uid: 342 + - uid: 337 components: - type: Transform rot: -1.5707963267948966 rad pos: -1.5,-7.5 parent: 2 - - uid: 343 + - uid: 338 components: - type: Transform rot: -1.5707963267948966 rad pos: 0.5,-7.5 parent: 2 - - uid: 344 + - uid: 339 components: - type: Transform rot: -1.5707963267948966 rad pos: 1.5,-7.5 parent: 2 - - uid: 345 + - uid: 340 components: - type: Transform rot: -1.5707963267948966 rad pos: 2.5,-7.5 parent: 2 - - uid: 346 + - uid: 341 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-7.5 parent: 2 - - uid: 347 + - uid: 342 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,-8.5 parent: 2 - - uid: 348 + - uid: 343 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,-9.5 parent: 2 - - uid: 349 + - uid: 344 components: - type: Transform rot: 3.141592653589793 rad pos: 3.5,-8.5 parent: 2 - - uid: 350 + - uid: 345 components: - type: Transform rot: 3.141592653589793 rad pos: 3.5,-9.5 parent: 2 - - uid: 351 + - uid: 346 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,-6.5 parent: 2 - - uid: 352 + - uid: 347 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,-5.5 parent: 2 - - uid: 353 + - uid: 348 components: - type: Transform rot: -1.5707963267948966 rad pos: -2.5,4.5 parent: 2 - - uid: 354 + - uid: 349 components: - type: Transform pos: -0.5,-4.5 parent: 2 - - uid: 355 + - uid: 350 components: - type: Transform rot: -1.5707963267948966 rad pos: -3.5,4.5 parent: 2 - - uid: 356 + - uid: 351 components: - type: Transform rot: -1.5707963267948966 rad pos: -1.5,4.5 parent: 2 - - uid: 357 + - uid: 352 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,5.5 parent: 2 - - uid: 358 + - uid: 353 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,6.5 parent: 2 - - uid: 359 + - uid: 354 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,7.5 parent: 2 - - uid: 360 + - uid: 355 components: - type: Transform rot: 1.5707963267948966 rad pos: 0.5,4.5 parent: 2 - - uid: 361 + - uid: 356 components: - type: Transform rot: 1.5707963267948966 rad pos: 1.5,4.5 parent: 2 - - uid: 362 + - uid: 357 components: - type: Transform rot: 1.5707963267948966 rad pos: 2.5,4.5 parent: 2 - - uid: 363 + - uid: 358 components: - type: Transform pos: 4.5,2.5 parent: 2 - - uid: 364 + - uid: 359 components: - type: Transform pos: 4.5,1.5 parent: 2 - - uid: 365 + - uid: 360 components: - type: Transform rot: 1.5707963267948966 rad pos: -6.5,-2.5 parent: 2 - - uid: 366 + - uid: 361 components: - type: Transform rot: 1.5707963267948966 rad pos: -7.5,-2.5 parent: 2 - - uid: 367 + - uid: 362 components: - type: Transform rot: 1.5707963267948966 rad pos: -6.5,-0.5 parent: 2 - - uid: 368 + - uid: 363 components: - type: Transform rot: 1.5707963267948966 rad @@ -2659,60 +2579,60 @@ entities: parent: 2 - proto: GasPipeTJunction entities: - - uid: 369 + - uid: 364 components: - type: Transform rot: 1.5707963267948966 rad pos: -3.5,-13.5 parent: 2 - - uid: 370 + - uid: 365 components: - type: Transform rot: 3.141592653589793 rad pos: -4.5,-9.5 parent: 2 - - uid: 371 + - uid: 366 components: - type: Transform rot: 1.5707963267948966 rad pos: -4.5,-7.5 parent: 2 - - uid: 372 + - uid: 367 components: - type: Transform rot: 3.141592653589793 rad pos: -5.5,-5.5 parent: 2 - - uid: 373 + - uid: 368 components: - type: Transform pos: 3.5,-7.5 parent: 2 - - uid: 374 + - uid: 369 components: - type: Transform rot: -1.5707963267948966 rad pos: -5.5,-2.5 parent: 2 - - uid: 375 + - uid: 370 components: - type: Transform rot: -1.5707963267948966 rad pos: -5.5,-0.5 parent: 2 - - uid: 376 + - uid: 371 components: - type: Transform pos: -4.5,4.5 parent: 2 - - uid: 377 + - uid: 372 components: - type: Transform pos: 3.5,4.5 parent: 2 - proto: GasPressurePump entities: - - uid: 378 + - uid: 373 components: - type: Transform rot: -1.5707963267948966 rad @@ -2720,82 +2640,82 @@ entities: parent: 2 - proto: GasVentPump entities: - - uid: 379 + - uid: 374 components: - type: Transform rot: 1.5707963267948966 rad pos: -5.5,-9.5 parent: 2 - - uid: 380 + - uid: 375 components: - type: Transform rot: 3.141592653589793 rad pos: -3.5,-14.5 parent: 2 - - uid: 381 + - uid: 376 components: - type: Transform pos: 5.5,-6.5 parent: 2 - - uid: 382 + - uid: 377 components: - type: Transform rot: 3.141592653589793 rad pos: 3.5,-10.5 parent: 2 - - uid: 383 + - uid: 378 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,-10.5 parent: 2 - - uid: 384 + - uid: 379 components: - type: Transform pos: -0.5,-3.5 parent: 2 - - uid: 385 + - uid: 380 components: - type: Transform rot: 3.141592653589793 rad pos: 4.5,0.5 parent: 2 - - uid: 386 + - uid: 381 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,4.5 parent: 2 - - uid: 387 + - uid: 382 components: - type: Transform pos: -0.5,8.5 parent: 2 - - uid: 388 + - uid: 383 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,3.5 parent: 2 - - uid: 389 + - uid: 384 components: - type: Transform rot: 1.5707963267948966 rad pos: -5.5,4.5 parent: 2 - - uid: 390 + - uid: 385 components: - type: Transform rot: 1.5707963267948966 rad pos: -8.5,-0.5 parent: 2 - - uid: 391 + - uid: 386 components: - type: Transform rot: 1.5707963267948966 rad pos: -8.5,-2.5 parent: 2 - - uid: 392 + - uid: 387 components: - type: Transform rot: 3.141592653589793 rad @@ -2803,291 +2723,291 @@ entities: parent: 2 - proto: GeneratorBasic15kW entities: - - uid: 393 + - uid: 388 components: - type: Transform pos: 1.5,-15.5 parent: 2 - - uid: 394 + - uid: 389 components: - type: Transform pos: 0.5,-15.5 parent: 2 - proto: GravityGeneratorMini entities: - - uid: 395 + - uid: 390 components: - type: Transform pos: -2.5,-15.5 parent: 2 - proto: Grille entities: - - uid: 396 + - uid: 391 components: - type: Transform pos: -8.5,2.5 parent: 2 - - uid: 397 + - uid: 392 components: - type: Transform pos: -3.5,9.5 parent: 2 - - uid: 398 + - uid: 393 components: - type: Transform pos: -3.5,8.5 parent: 2 - - uid: 399 + - uid: 394 components: - type: Transform pos: 2.5,9.5 parent: 2 - - uid: 400 + - uid: 395 components: - type: Transform pos: 2.5,8.5 parent: 2 - - uid: 401 + - uid: 396 components: - type: Transform pos: 0.5,11.5 parent: 2 - - uid: 402 + - uid: 397 components: - type: Transform pos: -0.5,11.5 parent: 2 - - uid: 403 + - uid: 398 components: - type: Transform pos: -1.5,11.5 parent: 2 - - uid: 404 + - uid: 399 components: - type: Transform pos: -8.5,3.5 parent: 2 - - uid: 405 + - uid: 400 components: - type: Transform pos: 7.5,3.5 parent: 2 - - uid: 406 + - uid: 401 components: - type: Transform pos: 7.5,2.5 parent: 2 - - uid: 407 + - uid: 402 components: - type: Transform pos: 6.5,1.5 parent: 2 - - uid: 408 + - uid: 403 components: - type: Transform pos: 5.5,1.5 parent: 2 - - uid: 409 + - uid: 404 components: - type: Transform pos: 4.5,1.5 parent: 2 - - uid: 410 + - uid: 405 components: - type: Transform pos: -9.5,-4.5 parent: 2 - - uid: 411 + - uid: 406 components: - type: Transform pos: -9.5,1.5 parent: 2 - - uid: 412 + - uid: 407 components: - type: Transform pos: -7.5,-3.5 parent: 2 - - uid: 413 + - uid: 408 components: - type: Transform pos: 6.5,-4.5 parent: 2 - - uid: 414 + - uid: 409 components: - type: Transform pos: -2.5,-16.5 parent: 2 - - uid: 415 + - uid: 410 components: - type: Transform pos: -1.5,-16.5 parent: 2 - - uid: 416 + - uid: 411 components: - type: Transform pos: 0.5,-16.5 parent: 2 - - uid: 417 + - uid: 412 components: - type: Transform pos: 1.5,-16.5 parent: 2 - - uid: 418 + - uid: 413 components: - type: Transform pos: -10.5,-3.5 parent: 2 - - uid: 419 + - uid: 414 components: - type: Transform pos: 5.5,-4.5 parent: 2 - - uid: 420 + - uid: 415 components: - type: Transform pos: 4.5,-4.5 parent: 2 - - uid: 421 + - uid: 416 components: - type: Transform pos: 3.5,-2.5 parent: 2 - - uid: 422 + - uid: 417 components: - type: Transform pos: 3.5,-1.5 parent: 2 - - uid: 423 + - uid: 418 components: - type: Transform rot: -1.5707963267948966 rad pos: 3.5,-0.5 parent: 2 - - uid: 424 + - uid: 419 components: - type: Transform pos: 7.5,-5.5 parent: 2 - - uid: 425 + - uid: 420 components: - type: Transform pos: 7.5,-6.5 parent: 2 - - uid: 426 + - uid: 421 components: - type: Transform pos: 5.5,-10.5 parent: 2 - - uid: 427 + - uid: 422 components: - type: Transform pos: 5.5,-11.5 parent: 2 - - uid: 428 + - uid: 423 components: - type: Transform pos: -6.5,-10.5 parent: 2 - - uid: 429 + - uid: 424 components: - type: Transform pos: -6.5,-11.5 parent: 2 - - uid: 430 + - uid: 425 components: - type: Transform pos: -5.5,-13.5 parent: 2 - - uid: 431 + - uid: 426 components: - type: Transform pos: -5.5,-14.5 parent: 2 - - uid: 432 + - uid: 427 components: - type: Transform pos: 4.5,-13.5 parent: 2 - - uid: 433 + - uid: 428 components: - type: Transform pos: 4.5,-14.5 parent: 2 - - uid: 434 + - uid: 429 components: - type: Transform pos: -1.5,7.5 parent: 2 - - uid: 435 + - uid: 430 components: - type: Transform pos: 0.5,7.5 parent: 2 - - uid: 436 + - uid: 431 components: - type: Transform pos: -8.5,-5.5 parent: 2 - - uid: 437 + - uid: 432 components: - type: Transform pos: -8.5,-6.5 parent: 2 - - uid: 438 + - uid: 433 components: - type: Transform pos: -4.5,-0.5 parent: 2 - - uid: 439 + - uid: 434 components: - type: Transform pos: -4.5,-1.5 parent: 2 - - uid: 440 + - uid: 435 components: - type: Transform pos: -4.5,-2.5 parent: 2 - - uid: 441 + - uid: 436 components: - type: Transform pos: 9.5,-1.5 parent: 2 - - uid: 442 + - uid: 437 components: - type: Transform pos: -1.5,-4.5 parent: 2 - - uid: 443 + - uid: 438 components: - type: Transform pos: 0.5,-4.5 parent: 2 - - uid: 444 + - uid: 439 components: - type: Transform pos: -0.5,-12.5 parent: 2 - - uid: 445 + - uid: 440 components: - type: Transform pos: -7.5,0.5 parent: 2 - - uid: 446 + - uid: 441 components: - type: Transform pos: -10.5,0.5 parent: 2 - proto: Gyroscope entities: - - uid: 447 + - uid: 442 components: - type: Transform pos: -4.5,-14.5 parent: 2 - proto: HospitalCurtains entities: - - uid: 448 + - uid: 443 components: - type: Transform pos: 4.5,-11.5 @@ -3100,14 +3020,14 @@ entities: canCollide: False - proto: HospitalCurtainsOpen entities: - - uid: 449 + - uid: 444 components: - type: Transform pos: -1.5,-11.5 parent: 2 - proto: IntercomAll entities: - - uid: 450 + - uid: 445 components: - type: Transform rot: -1.5707963267948966 rad @@ -3117,45 +3037,45 @@ entities: - ActiveListener - proto: JetpackMiniFilled entities: - - uid: 451 + - uid: 446 components: - type: Transform pos: -9.508206,-3.3199291 parent: 2 - proto: MedkitAdvancedFilled entities: - - uid: 452 + - uid: 447 components: - type: Transform pos: -2.5632703,-0.42328313 parent: 2 - proto: MedkitOxygenFilled entities: - - uid: 453 + - uid: 448 components: - type: Transform pos: -2.3338752,-0.5901818 parent: 2 - proto: Mirror entities: - - uid: 454 + - uid: 449 components: - type: Transform pos: 2.5,-8.5 parent: 2 - - uid: 620 + - uid: 450 components: - type: Transform pos: 1.5,1.5 parent: 2 - - uid: 621 + - uid: 451 components: - type: Transform pos: -2.5,1.5 parent: 2 - proto: NitrogenCanister entities: - - uid: 455 + - uid: 452 components: - type: Transform pos: -9.5,0.5 @@ -3164,7 +3084,7 @@ entities: currentPrototype: NitrogenCanister - proto: OxygenCanister entities: - - uid: 456 + - uid: 453 components: - type: Transform pos: -8.5,0.5 @@ -3173,357 +3093,357 @@ entities: currentPrototype: OxygenCanister - proto: Paper entities: - - uid: 457 + - uid: 454 components: - type: Transform pos: -3.4183693,2.541491 parent: 2 - - uid: 458 + - uid: 455 components: - type: Transform pos: -3.3349533,2.7083888 parent: 2 - - uid: 459 + - uid: 456 components: - type: Transform pos: 3.578297,4.715441 parent: 2 - - uid: 460 + - uid: 457 components: - type: Transform pos: 4.349894,4.652854 parent: 2 - - uid: 461 + - uid: 458 components: - type: Transform pos: 4.600142,4.193884 parent: 2 - - uid: 462 + - uid: 459 components: - type: Transform pos: 4.662705,3.5888767 parent: 2 - proto: Pen entities: - - uid: 463 + - uid: 460 components: - type: Transform pos: 4.391602,3.9643984 parent: 2 - - uid: 464 + - uid: 461 components: - type: Transform pos: 3.80769,4.652854 parent: 2 - proto: PlasmaDoor entities: - - uid: 465 + - uid: 462 components: - type: Transform pos: -0.5,7.5 parent: 2 - - uid: 466 + - uid: 463 components: - type: Transform pos: -2.5,4.5 parent: 2 - - uid: 467 + - uid: 464 components: - type: Transform pos: 1.5,4.5 parent: 2 - - uid: 468 + - uid: 465 components: - type: Transform pos: -0.5,1.5 parent: 2 - - uid: 469 + - uid: 466 components: - type: Transform pos: -0.5,-4.5 parent: 2 - - uid: 470 + - uid: 467 components: - type: Transform pos: -0.5,-8.5 parent: 2 - - uid: 471 + - uid: 468 components: - type: Transform pos: 3.5,-8.5 parent: 2 - - uid: 472 + - uid: 469 components: - type: Transform pos: -4.5,-8.5 parent: 2 - - uid: 473 + - uid: 470 components: - type: Transform pos: -3.5,-12.5 parent: 2 - - uid: 474 + - uid: 471 components: - type: Transform pos: -6.5,1.5 parent: 2 - - uid: 475 + - uid: 472 components: - type: Transform pos: -5.5,-4.5 parent: 2 - proto: PlasmaReinforcedWindowDirectional entities: - - uid: 476 + - uid: 473 components: - type: Transform rot: -1.5707963267948966 rad pos: 2.5,-14.5 parent: 2 - - uid: 477 + - uid: 474 components: - type: Transform rot: -1.5707963267948966 rad pos: 2.5,-13.5 parent: 2 - - uid: 478 + - uid: 475 components: - type: Transform rot: 3.141592653589793 rad pos: 2.5,-14.5 parent: 2 - - uid: 479 + - uid: 476 components: - type: Transform rot: 3.141592653589793 rad pos: 3.5,-14.5 parent: 2 - - uid: 480 + - uid: 477 components: - type: Transform pos: -1.5,12.5 parent: 2 - - uid: 481 + - uid: 478 components: - type: Transform pos: -0.5,12.5 parent: 2 - - uid: 482 + - uid: 479 components: - type: Transform pos: 0.5,12.5 parent: 2 - - uid: 483 + - uid: 480 components: - type: Transform rot: 1.5707963267948966 rad pos: -4.5,9.5 parent: 2 - - uid: 484 + - uid: 481 components: - type: Transform rot: 1.5707963267948966 rad pos: -4.5,8.5 parent: 2 - - uid: 485 + - uid: 482 components: - type: Transform rot: -1.5707963267948966 rad pos: 3.5,9.5 parent: 2 - - uid: 486 + - uid: 483 components: - type: Transform rot: -1.5707963267948966 rad pos: 3.5,8.5 parent: 2 - - uid: 487 + - uid: 484 components: - type: Transform rot: -1.5707963267948966 rad pos: 8.5,3.5 parent: 2 - - uid: 488 + - uid: 485 components: - type: Transform rot: -1.5707963267948966 rad pos: 8.5,2.5 parent: 2 - - uid: 489 + - uid: 486 components: - type: Transform rot: -1.5707963267948966 rad pos: 8.5,-5.5 parent: 2 - - uid: 490 + - uid: 487 components: - type: Transform rot: -1.5707963267948966 rad pos: 8.5,-6.5 parent: 2 - - uid: 491 + - uid: 488 components: - type: Transform rot: 1.5707963267948966 rad pos: -7.5,-10.5 parent: 2 - - uid: 492 + - uid: 489 components: - type: Transform rot: -1.5707963267948966 rad pos: 6.5,-10.5 parent: 2 - - uid: 493 + - uid: 490 components: - type: Transform rot: -1.5707963267948966 rad pos: 6.5,-11.5 parent: 2 - - uid: 494 + - uid: 491 components: - type: Transform rot: 1.5707963267948966 rad pos: -7.5,-11.5 parent: 2 - - uid: 495 + - uid: 492 components: - type: Transform rot: 1.5707963267948966 rad pos: -6.5,-13.5 parent: 2 - - uid: 496 + - uid: 493 components: - type: Transform rot: 1.5707963267948966 rad pos: -6.5,-14.5 parent: 2 - - uid: 497 + - uid: 494 components: - type: Transform rot: 3.141592653589793 rad pos: -2.5,-17.5 parent: 2 - - uid: 498 + - uid: 495 components: - type: Transform rot: 3.141592653589793 rad pos: -1.5,-17.5 parent: 2 - - uid: 499 + - uid: 496 components: - type: Transform rot: 3.141592653589793 rad pos: 0.5,-17.5 parent: 2 - - uid: 500 + - uid: 497 components: - type: Transform rot: 3.141592653589793 rad pos: 1.5,-17.5 parent: 2 - - uid: 501 + - uid: 498 components: - type: Transform rot: -1.5707963267948966 rad pos: 5.5,-14.5 parent: 2 - - uid: 502 + - uid: 499 components: - type: Transform rot: -1.5707963267948966 rad pos: 5.5,-13.5 parent: 2 - - uid: 503 + - uid: 500 components: - type: Transform rot: 1.5707963267948966 rad pos: -9.5,2.5 parent: 2 - - uid: 504 + - uid: 501 components: - type: Transform rot: 1.5707963267948966 rad pos: -9.5,3.5 parent: 2 - - uid: 505 + - uid: 502 components: - type: Transform rot: 1.5707963267948966 rad pos: -9.5,-5.5 parent: 2 - - uid: 506 + - uid: 503 components: - type: Transform rot: 1.5707963267948966 rad pos: -9.5,-6.5 parent: 2 - - uid: 507 + - uid: 504 components: - type: Transform rot: 1.5707963267948966 rad pos: 8.5,-1.5 parent: 2 - - uid: 508 + - uid: 505 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-2.5 parent: 2 - - uid: 509 + - uid: 506 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-1.5 parent: 2 - - uid: 510 + - uid: 507 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-0.5 parent: 2 - - uid: 511 + - uid: 508 components: - type: Transform rot: 3.141592653589793 rad pos: 4.5,0.5 parent: 2 - - uid: 512 + - uid: 509 components: - type: Transform rot: 3.141592653589793 rad pos: 5.5,0.5 parent: 2 - - uid: 513 + - uid: 510 components: - type: Transform rot: 3.141592653589793 rad pos: 6.5,0.5 parent: 2 - - uid: 514 + - uid: 511 components: - type: Transform pos: 4.5,-3.5 parent: 2 - - uid: 515 + - uid: 512 components: - type: Transform pos: 5.5,-3.5 parent: 2 - - uid: 516 + - uid: 513 components: - type: Transform pos: 6.5,-3.5 parent: 2 - proto: PowerCellRecharger entities: - - uid: 517 + - uid: 514 components: - type: Transform pos: 1.5,9.5 parent: 2 - proto: Poweredlight entities: - - uid: 518 + - uid: 515 components: - type: Transform rot: 3.141592653589793 rad @@ -3531,7 +3451,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 519 + - uid: 516 components: - type: Transform rot: 3.141592653589793 rad @@ -3539,35 +3459,35 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 520 + - uid: 517 components: - type: Transform pos: 3.5,-5.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 521 + - uid: 518 components: - type: Transform pos: -4.5,-5.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 522 + - uid: 519 components: - type: Transform pos: -2.5,0.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 523 + - uid: 520 components: - type: Transform pos: 1.5,0.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 524 + - uid: 521 components: - type: Transform rot: 3.141592653589793 rad @@ -3575,14 +3495,14 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 525 + - uid: 522 components: - type: Transform pos: -9.5,-2.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 526 + - uid: 523 components: - type: Transform rot: 3.141592653589793 rad @@ -3590,14 +3510,14 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 527 + - uid: 524 components: - type: Transform pos: 7.5,0.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 528 + - uid: 525 components: - type: Transform rot: -1.5707963267948966 rad @@ -3605,7 +3525,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 529 + - uid: 526 components: - type: Transform rot: -1.5707963267948966 rad @@ -3613,7 +3533,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 530 + - uid: 527 components: - type: Transform rot: -1.5707963267948966 rad @@ -3621,7 +3541,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 531 + - uid: 528 components: - type: Transform rot: 3.141592653589793 rad @@ -3629,7 +3549,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 532 + - uid: 529 components: - type: Transform rot: 3.141592653589793 rad @@ -3637,7 +3557,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 533 + - uid: 530 components: - type: Transform rot: 3.141592653589793 rad @@ -3645,7 +3565,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 534 + - uid: 531 components: - type: Transform rot: 3.141592653589793 rad @@ -3653,14 +3573,14 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 535 + - uid: 532 components: - type: Transform pos: 9.5,-4.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 536 + - uid: 533 components: - type: Transform rot: 3.141592653589793 rad @@ -3668,7 +3588,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 537 + - uid: 534 components: - type: Transform rot: 3.141592653589793 rad @@ -3676,28 +3596,28 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 538 + - uid: 535 components: - type: Transform pos: -10.5,-5.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 539 + - uid: 536 components: - type: Transform pos: -7.5,-9.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 540 + - uid: 537 components: - type: Transform pos: 6.5,-9.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 541 + - uid: 538 components: - type: Transform rot: 1.5707963267948966 rad @@ -3705,7 +3625,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 542 + - uid: 539 components: - type: Transform rot: -1.5707963267948966 rad @@ -3713,7 +3633,7 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 543 + - uid: 540 components: - type: Transform rot: 1.5707963267948966 rad @@ -3721,23 +3641,29 @@ entities: parent: 2 - type: ApcPowerReceiver powerLoad: 0 + - uid: 541 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -3.5,-14.5 + parent: 2 - proto: PoweredSmallLight entities: - - uid: 544 + - uid: 542 components: - type: Transform pos: -4.5,6.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 545 + - uid: 543 components: - type: Transform pos: 3.5,6.5 parent: 2 - type: ApcPowerReceiver powerLoad: 0 - - uid: 546 + - uid: 544 components: - type: Transform pos: 2.5,-9.5 @@ -3746,368 +3672,375 @@ entities: powerLoad: 0 - proto: Rack entities: - - uid: 547 + - uid: 545 components: - type: Transform pos: -9.5,-3.5 parent: 2 - - uid: 548 + - uid: 546 components: - type: Transform pos: -4.5,-13.5 parent: 2 - proto: ReinforcedPlasmaWindow entities: - - uid: 549 + - uid: 547 components: - type: Transform pos: -1.5,7.5 parent: 2 - - uid: 550 + - uid: 548 components: - type: Transform pos: 0.5,7.5 parent: 2 - - uid: 551 + - uid: 549 components: - type: Transform pos: -7.5,0.5 parent: 2 - - uid: 552 + - uid: 550 components: - type: Transform pos: 2.5,9.5 parent: 2 - - uid: 553 + - uid: 551 components: - type: Transform pos: 2.5,8.5 parent: 2 - - uid: 554 + - uid: 552 components: - type: Transform pos: -1.5,11.5 parent: 2 - - uid: 555 + - uid: 553 components: - type: Transform pos: -0.5,11.5 parent: 2 - - uid: 556 + - uid: 554 components: - type: Transform pos: 0.5,11.5 parent: 2 - - uid: 557 + - uid: 555 components: - type: Transform pos: -3.5,9.5 parent: 2 - - uid: 558 + - uid: 556 components: - type: Transform pos: -3.5,8.5 parent: 2 - - uid: 559 + - uid: 557 components: - type: Transform pos: -2.5,-16.5 parent: 2 - - uid: 560 + - uid: 558 components: - type: Transform pos: -1.5,-16.5 parent: 2 - - uid: 561 + - uid: 559 components: - type: Transform pos: 0.5,-16.5 parent: 2 - - uid: 562 + - uid: 560 components: - type: Transform pos: 1.5,-16.5 parent: 2 - - uid: 563 + - uid: 561 components: - type: Transform pos: 4.5,-13.5 parent: 2 - - uid: 564 + - uid: 562 components: - type: Transform pos: 4.5,-14.5 parent: 2 - - uid: 565 + - uid: 563 components: - type: Transform pos: -5.5,-14.5 parent: 2 - - uid: 566 + - uid: 564 components: - type: Transform pos: -5.5,-13.5 parent: 2 - - uid: 567 + - uid: 565 components: - type: Transform pos: -6.5,-11.5 parent: 2 - - uid: 568 + - uid: 566 components: - type: Transform pos: -6.5,-10.5 parent: 2 - - uid: 569 + - uid: 567 components: - type: Transform pos: 5.5,-11.5 parent: 2 - - uid: 570 + - uid: 568 components: - type: Transform pos: 5.5,-10.5 parent: 2 - - uid: 571 + - uid: 569 components: - type: Transform pos: 7.5,-6.5 parent: 2 - - uid: 572 + - uid: 570 components: - type: Transform pos: 7.5,-5.5 parent: 2 - - uid: 573 + - uid: 571 components: - type: Transform pos: 6.5,-4.5 parent: 2 - - uid: 574 + - uid: 572 components: - type: Transform pos: 5.5,-4.5 parent: 2 - - uid: 575 + - uid: 573 components: - type: Transform pos: 4.5,-4.5 parent: 2 - - uid: 576 + - uid: 574 components: - type: Transform pos: 3.5,-2.5 parent: 2 - - uid: 577 + - uid: 575 components: - type: Transform pos: 3.5,-1.5 parent: 2 - - uid: 578 + - uid: 576 components: - type: Transform pos: 4.5,1.5 parent: 2 - - uid: 579 + - uid: 577 components: - type: Transform pos: 5.5,1.5 parent: 2 - - uid: 580 + - uid: 578 components: - type: Transform pos: 6.5,1.5 parent: 2 - - uid: 581 + - uid: 579 components: - type: Transform pos: -8.5,-6.5 parent: 2 - - uid: 582 + - uid: 580 components: - type: Transform pos: -8.5,-5.5 parent: 2 - - uid: 583 + - uid: 581 components: - type: Transform pos: -7.5,-3.5 parent: 2 - - uid: 584 + - uid: 582 components: - type: Transform pos: -9.5,-4.5 parent: 2 - - uid: 585 + - uid: 583 components: - type: Transform pos: -9.5,1.5 parent: 2 - - uid: 586 + - uid: 584 components: - type: Transform pos: -4.5,-0.5 parent: 2 - - uid: 587 + - uid: 585 components: - type: Transform pos: -4.5,-1.5 parent: 2 - - uid: 588 + - uid: 586 components: - type: Transform pos: -4.5,-2.5 parent: 2 - - uid: 589 + - uid: 587 components: - type: Transform pos: 9.5,-1.5 parent: 2 - - uid: 590 + - uid: 588 components: - type: Transform pos: -1.5,-4.5 parent: 2 - - uid: 591 + - uid: 589 components: - type: Transform pos: 0.5,-4.5 parent: 2 - - uid: 592 + - uid: 590 components: - type: Transform pos: -0.5,-12.5 parent: 2 - - uid: 593 + - uid: 591 components: - type: Transform rot: -1.5707963267948966 rad pos: 3.5,-0.5 parent: 2 - - uid: 594 + - uid: 592 components: - type: Transform pos: -10.5,0.5 parent: 2 - - uid: 595 + - uid: 593 components: - type: Transform pos: -10.5,-3.5 parent: 2 - - uid: 596 + - uid: 594 components: - type: Transform pos: -8.5,2.5 parent: 2 - - uid: 597 + - uid: 595 components: - type: Transform pos: -8.5,3.5 parent: 2 - - uid: 598 + - uid: 596 components: - type: Transform pos: 7.5,2.5 parent: 2 - - uid: 599 + - uid: 597 components: - type: Transform pos: 7.5,3.5 parent: 2 - proto: ScrollArc entities: - - uid: 600 + - uid: 598 components: - type: Transform pos: 1.6040134,-1.2683926 parent: 2 - proto: ScrollBananaTouch entities: - - uid: 601 + - uid: 599 components: - type: Transform pos: 1.6251822,-2.5377865 parent: 2 - proto: ScrollBlink entities: - - uid: 602 + - uid: 600 components: - type: Transform pos: 1.6251822,-2.2415943 parent: 2 - proto: ScrollCards entities: - - uid: 603 + - uid: 601 components: - type: Transform pos: 1.6040134,-2.0300293 parent: 2 - proto: ScrollCluwneCurse entities: - - uid: 604 + - uid: 602 components: - type: Transform pos: 1.6463518,-1.6492105 parent: 2 - proto: ScrollEmp entities: - - uid: 605 + - uid: 603 components: - type: Transform pos: 1.5828438,-0.99335766 parent: 2 - proto: ScrollEtherealJaunt entities: - - uid: 606 + - uid: 604 components: - type: Transform pos: 1.5405054,-0.7606354 parent: 2 - proto: ScrollFireball entities: - - uid: 607 + - uid: 605 components: - type: Transform pos: -2.5028415,-2.4954739 parent: 2 - proto: ScrollForce entities: - - uid: 608 + - uid: 606 components: - type: Transform pos: -2.5028415,-2.1358118 parent: 2 - proto: ScrollForcewall entities: - - uid: 609 + - uid: 607 components: - type: Transform pos: -2.460503,-1.8396206 parent: 2 - proto: ScrollInstantRecall entities: - - uid: 610 + - uid: 608 components: - type: Transform pos: -2.5028415,-1.5222716 parent: 2 - proto: ScrollKnock entities: - - uid: 611 + - uid: 609 components: - type: Transform pos: -2.5028415,-1.1414533 parent: 2 - proto: ScrollMimeTouch entities: - - uid: 612 + - uid: 610 components: - type: Transform pos: -2.5028415,-0.908731 parent: 2 +- proto: ScrollTeleport + entities: + - uid: 611 + components: + - type: Transform + pos: 1.484683,8.741926 + parent: 2 - proto: SinkWide entities: - - uid: 613 + - uid: 612 components: - type: Transform rot: 1.5707963267948966 rad @@ -4115,47 +4048,47 @@ entities: parent: 2 - proto: Skub entities: - - uid: 614 + - uid: 613 components: - type: Transform pos: 4.572705,-11.394358 parent: 2 - proto: SMESBasic entities: - - uid: 615 + - uid: 614 components: - type: Transform pos: -0.5,-15.5 parent: 2 - proto: SoapOmega entities: - - uid: 616 + - uid: 615 components: - type: Transform pos: 2.4979851,-9.465773 parent: 2 - proto: SpaceCash1000 entities: - - uid: 617 + - uid: 616 components: - type: Transform pos: 1.5532203,-0.27368456 parent: 2 - proto: SpawnMobBear entities: - - uid: 618 + - uid: 617 components: - type: Transform pos: 7.5,-0.5 parent: 2 - - uid: 619 + - uid: 618 components: - type: Transform pos: 6.5,-2.5 parent: 2 - proto: StealthBox entities: - - uid: 622 + - uid: 619 components: - type: Transform pos: -5.369279,-11.020669 @@ -4166,120 +4099,120 @@ entities: open: True - proto: SubstationBasic entities: - - uid: 623 + - uid: 620 components: - type: Transform pos: -1.5,-15.5 parent: 2 - proto: SuitStorageWizard entities: - - uid: 624 + - uid: 621 components: - type: Transform pos: -0.5,-11.5 parent: 2 - proto: TableCarpet entities: - - uid: 625 + - uid: 622 components: - type: Transform pos: 3.5,4.5 parent: 2 - - uid: 626 + - uid: 623 components: - type: Transform pos: 4.5,3.5 parent: 2 - - uid: 627 + - uid: 624 components: - type: Transform pos: 4.5,4.5 parent: 2 - proto: TableStone entities: - - uid: 628 + - uid: 625 components: - type: Transform rot: -1.5707963267948966 rad pos: 1.5,-1.5 parent: 2 - - uid: 629 + - uid: 626 components: - type: Transform rot: -1.5707963267948966 rad pos: -2.5,-0.5 parent: 2 - - uid: 630 + - uid: 627 components: - type: Transform rot: -1.5707963267948966 rad pos: 1.5,-0.5 parent: 2 - - uid: 631 + - uid: 628 components: - type: Transform rot: -1.5707963267948966 rad pos: 1.5,-2.5 parent: 2 - - uid: 632 + - uid: 629 components: - type: Transform rot: -1.5707963267948966 rad pos: -2.5,-1.5 parent: 2 - - uid: 633 + - uid: 630 components: - type: Transform pos: -2.5,-2.5 parent: 2 - proto: TableWood entities: - - uid: 634 + - uid: 631 components: - type: Transform pos: 1.5,8.5 parent: 2 - - uid: 635 + - uid: 632 components: - type: Transform rot: 1.5707963267948966 rad pos: -2.5,9.5 parent: 2 - - uid: 636 + - uid: 633 components: - type: Transform rot: 1.5707963267948966 rad pos: 1.5,9.5 parent: 2 - - uid: 637 + - uid: 634 components: - type: Transform pos: -2.5,8.5 parent: 2 - - uid: 638 + - uid: 635 components: - type: Transform pos: -4.5,6.5 parent: 2 - - uid: 639 + - uid: 636 components: - type: Transform rot: 1.5707963267948966 rad pos: -7.5,2.5 parent: 2 - - uid: 640 + - uid: 637 components: - type: Transform rot: 1.5707963267948966 rad pos: -1.5,-9.5 parent: 2 - - uid: 641 + - uid: 638 components: - type: Transform rot: -1.5707963267948966 rad pos: -3.5,2.5 parent: 2 - - uid: 642 + - uid: 639 components: - type: Transform rot: -1.5707963267948966 rad @@ -4287,60 +4220,60 @@ entities: parent: 2 - proto: TargetStrange entities: - - uid: 643 + - uid: 640 components: - type: Transform pos: -4.5,-11.5 parent: 2 - proto: Thruster entities: - - uid: 644 + - uid: 641 components: - type: Transform pos: -3.5,11.5 parent: 2 - - uid: 645 + - uid: 642 components: - type: Transform pos: 2.5,11.5 parent: 2 - - uid: 646 + - uid: 643 components: - type: Transform rot: -1.5707963267948966 rad pos: 7.5,5.5 parent: 2 - - uid: 647 + - uid: 644 components: - type: Transform rot: 1.5707963267948966 rad pos: -8.5,5.5 parent: 2 - - uid: 648 + - uid: 645 components: - type: Transform rot: 3.141592653589793 rad pos: -4.5,-16.5 parent: 2 - - uid: 649 + - uid: 646 components: - type: Transform rot: 3.141592653589793 rad pos: -0.5,-17.5 parent: 2 - - uid: 650 + - uid: 647 components: - type: Transform rot: 3.141592653589793 rad pos: 3.5,-16.5 parent: 2 - - uid: 651 + - uid: 648 components: - type: Transform rot: -1.5707963267948966 rad pos: 7.5,-8.5 parent: 2 - - uid: 652 + - uid: 649 components: - type: Transform rot: 1.5707963267948966 rad @@ -4348,674 +4281,681 @@ entities: parent: 2 - proto: ToiletEmpty entities: - - uid: 653 + - uid: 650 components: - type: Transform rot: 3.141592653589793 rad pos: 3.5,-11.5 parent: 2 +- proto: ToolboxEmergencyFilled + entities: + - uid: 651 + components: + - type: Transform + pos: -4.5425706,-10.5089035 + parent: 2 - proto: VendingMachineClothing entities: - - uid: 654 + - uid: 652 components: - type: Transform pos: -1.5,2.5 parent: 2 - proto: VendingMachineCoffee entities: - - uid: 655 + - uid: 653 components: - type: Transform pos: 3.5,6.5 parent: 2 - proto: VendingMachineDiscount entities: - - uid: 656 + - uid: 654 components: - type: Transform pos: 0.5,2.5 parent: 2 - proto: VendingMachineGames entities: - - uid: 657 + - uid: 655 components: - type: Transform pos: 2.5,6.5 parent: 2 - proto: VendingMachineTankDispenserEVA entities: - - uid: 658 + - uid: 656 components: - type: Transform pos: -8.5,-3.5 parent: 2 - proto: WallDiamond entities: - - uid: 659 + - uid: 657 components: - type: Transform pos: -5.5,-6.5 parent: 2 - - uid: 660 + - uid: 658 components: - type: Transform pos: -3.5,-6.5 parent: 2 - - uid: 661 + - uid: 659 components: - type: Transform pos: -1.5,-6.5 parent: 2 - - uid: 662 + - uid: 660 components: - type: Transform pos: 0.5,-6.5 parent: 2 - - uid: 663 + - uid: 661 components: - type: Transform pos: 2.5,-6.5 parent: 2 - - uid: 664 + - uid: 662 components: - type: Transform pos: 4.5,-6.5 parent: 2 - proto: WallUranium entities: - - uid: 665 + - uid: 663 components: - type: Transform pos: -2.5,6.5 parent: 2 - - uid: 666 + - uid: 664 components: - type: Transform pos: 1.5,6.5 parent: 2 - - uid: 667 + - uid: 665 components: - type: Transform pos: 1.5,11.5 parent: 2 - - uid: 668 + - uid: 666 components: - type: Transform pos: 1.5,10.5 parent: 2 - - uid: 669 + - uid: 667 components: - type: Transform pos: 2.5,10.5 parent: 2 - - uid: 670 + - uid: 668 components: - type: Transform pos: 2.5,7.5 parent: 2 - - uid: 671 + - uid: 669 components: - type: Transform pos: 1.5,7.5 parent: 2 - - uid: 672 + - uid: 670 components: - type: Transform pos: -2.5,11.5 parent: 2 - - uid: 673 + - uid: 671 components: - type: Transform pos: -2.5,10.5 parent: 2 - - uid: 674 + - uid: 672 components: - type: Transform pos: -3.5,10.5 parent: 2 - - uid: 675 + - uid: 673 components: - type: Transform pos: -2.5,7.5 parent: 2 - - uid: 676 + - uid: 674 components: - type: Transform pos: -3.5,7.5 parent: 2 - - uid: 677 + - uid: 675 components: - type: Transform pos: -6.5,6.5 parent: 2 - - uid: 678 + - uid: 676 components: - type: Transform pos: -5.5,6.5 parent: 2 - - uid: 679 + - uid: 677 components: - type: Transform pos: -5.5,7.5 parent: 2 - - uid: 680 + - uid: 678 components: - type: Transform pos: -4.5,7.5 parent: 2 - - uid: 681 + - uid: 679 components: - type: Transform pos: -6.5,5.5 parent: 2 - - uid: 682 + - uid: 680 components: - type: Transform pos: -7.5,5.5 parent: 2 - - uid: 683 + - uid: 681 components: - type: Transform pos: -7.5,4.5 parent: 2 - - uid: 684 + - uid: 682 components: - type: Transform pos: -8.5,4.5 parent: 2 - - uid: 685 + - uid: 683 components: - type: Transform pos: -1.5,1.5 parent: 2 - - uid: 686 + - uid: 684 components: - type: Transform pos: 0.5,1.5 parent: 2 - - uid: 687 + - uid: 685 components: - type: Transform pos: 3.5,7.5 parent: 2 - - uid: 688 + - uid: 686 components: - type: Transform pos: 4.5,7.5 parent: 2 - - uid: 689 + - uid: 687 components: - type: Transform pos: 4.5,6.5 parent: 2 - - uid: 690 + - uid: 688 components: - type: Transform pos: 5.5,6.5 parent: 2 - - uid: 691 + - uid: 689 components: - type: Transform pos: 5.5,5.5 parent: 2 - - uid: 692 + - uid: 690 components: - type: Transform pos: 6.5,5.5 parent: 2 - - uid: 693 + - uid: 691 components: - type: Transform pos: 6.5,4.5 parent: 2 - - uid: 694 + - uid: 692 components: - type: Transform pos: 7.5,4.5 parent: 2 - - uid: 695 + - uid: 693 components: - type: Transform pos: 7.5,1.5 parent: 2 - - uid: 696 + - uid: 694 components: - type: Transform pos: 3.5,1.5 parent: 2 - - uid: 697 + - uid: 695 components: - type: Transform pos: 2.5,1.5 parent: 2 - - uid: 698 + - uid: 696 components: - type: Transform pos: 1.5,1.5 parent: 2 - - uid: 699 + - uid: 697 components: - type: Transform pos: 1.5,3.5 parent: 2 - - uid: 700 + - uid: 698 components: - type: Transform pos: 1.5,2.5 parent: 2 - - uid: 701 + - uid: 699 components: - type: Transform pos: 1.5,5.5 parent: 2 - - uid: 702 + - uid: 700 components: - type: Transform pos: -2.5,1.5 parent: 2 - - uid: 703 + - uid: 701 components: - type: Transform pos: -2.5,2.5 parent: 2 - - uid: 704 + - uid: 702 components: - type: Transform pos: -2.5,3.5 parent: 2 - - uid: 705 + - uid: 703 components: - type: Transform pos: -2.5,5.5 parent: 2 - - uid: 706 + - uid: 704 components: - type: Transform pos: -3.5,1.5 parent: 2 - - uid: 707 + - uid: 705 components: - type: Transform pos: -4.5,1.5 parent: 2 - - uid: 708 + - uid: 706 components: - type: Transform pos: -5.5,1.5 parent: 2 - - uid: 709 + - uid: 707 components: - type: Transform pos: -7.5,1.5 parent: 2 - - uid: 710 + - uid: 708 components: - type: Transform pos: -8.5,1.5 parent: 2 - - uid: 711 + - uid: 709 components: - type: Transform pos: 6.5,-7.5 parent: 2 - - uid: 712 + - uid: 710 components: - type: Transform pos: 7.5,-7.5 parent: 2 - - uid: 713 + - uid: 711 components: - type: Transform pos: -8.5,-4.5 parent: 2 - - uid: 714 + - uid: 712 components: - type: Transform pos: -8.5,-7.5 parent: 2 - - uid: 715 + - uid: 713 components: - type: Transform pos: 8.5,1.5 parent: 2 - - uid: 716 + - uid: 714 components: - type: Transform pos: 8.5,0.5 parent: 2 - - uid: 717 + - uid: 715 components: - type: Transform pos: 9.5,0.5 parent: 2 - - uid: 718 + - uid: 716 components: - type: Transform pos: 9.5,-3.5 parent: 2 - - uid: 719 + - uid: 717 components: - type: Transform pos: 8.5,-3.5 parent: 2 - - uid: 720 + - uid: 718 components: - type: Transform pos: 8.5,-4.5 parent: 2 - - uid: 721 + - uid: 719 components: - type: Transform pos: 7.5,-4.5 parent: 2 - - uid: 722 + - uid: 720 components: - type: Transform pos: 3.5,0.5 parent: 2 - - uid: 723 + - uid: 721 components: - type: Transform pos: 3.5,-3.5 parent: 2 - - uid: 724 + - uid: 722 components: - type: Transform pos: 3.5,-4.5 parent: 2 - - uid: 725 + - uid: 723 components: - type: Transform pos: 2.5,-4.5 parent: 2 - - uid: 726 + - uid: 724 components: - type: Transform pos: 1.5,-4.5 parent: 2 - - uid: 727 + - uid: 725 components: - type: Transform pos: -3.5,-17.5 parent: 2 - - uid: 728 + - uid: 726 components: - type: Transform pos: -3.5,-16.5 parent: 2 - - uid: 729 + - uid: 727 components: - type: Transform pos: 2.5,-17.5 parent: 2 - - uid: 730 + - uid: 728 components: - type: Transform pos: 2.5,-16.5 parent: 2 - - uid: 731 + - uid: 729 components: - type: Transform pos: -0.5,-16.5 parent: 2 - - uid: 732 + - uid: 730 components: - type: Transform pos: -2.5,-4.5 parent: 2 - - uid: 733 + - uid: 731 components: - type: Transform pos: -4.5,0.5 parent: 2 - - uid: 734 + - uid: 732 components: - type: Transform pos: -4.5,-3.5 parent: 2 - - uid: 735 + - uid: 733 components: - type: Transform pos: -4.5,-4.5 parent: 2 - - uid: 736 + - uid: 734 components: - type: Transform pos: -3.5,-4.5 parent: 2 - - uid: 737 + - uid: 735 components: - type: Transform pos: -7.5,-4.5 parent: 2 - - uid: 738 + - uid: 736 components: - type: Transform pos: -6.5,-4.5 parent: 2 - - uid: 739 + - uid: 737 components: - type: Transform pos: -7.5,-7.5 parent: 2 - - uid: 740 + - uid: 738 components: - type: Transform pos: -7.5,-8.5 parent: 2 - - uid: 741 + - uid: 739 components: - type: Transform pos: -6.5,-8.5 parent: 2 - - uid: 742 + - uid: 740 components: - type: Transform pos: -6.5,-9.5 parent: 2 - - uid: 743 + - uid: 741 components: - type: Transform pos: -6.5,-12.5 parent: 2 - - uid: 744 + - uid: 742 components: - type: Transform pos: -5.5,-12.5 parent: 2 - - uid: 745 + - uid: 743 components: - type: Transform pos: -5.5,-15.5 parent: 2 - - uid: 746 + - uid: 744 components: - type: Transform pos: -3.5,-15.5 parent: 2 - - uid: 747 + - uid: 745 components: - type: Transform pos: 2.5,-15.5 parent: 2 - - uid: 748 + - uid: 746 components: - type: Transform pos: 4.5,-15.5 parent: 2 - - uid: 749 + - uid: 747 components: - type: Transform pos: -4.5,-15.5 parent: 2 - - uid: 750 + - uid: 748 components: - type: Transform pos: 3.5,-15.5 parent: 2 - - uid: 751 + - uid: 749 components: - type: Transform pos: 4.5,-12.5 parent: 2 - - uid: 752 + - uid: 750 components: - type: Transform pos: 5.5,-12.5 parent: 2 - - uid: 753 + - uid: 751 components: - type: Transform pos: 6.5,-8.5 parent: 2 - - uid: 754 + - uid: 752 components: - type: Transform pos: 5.5,-8.5 parent: 2 - - uid: 755 + - uid: 753 components: - type: Transform pos: 5.5,-9.5 parent: 2 - - uid: 756 + - uid: 754 components: - type: Transform pos: -10.5,-4.5 parent: 2 - - uid: 757 + - uid: 755 components: - type: Transform pos: -10.5,1.5 parent: 2 - - uid: 758 + - uid: 756 components: - type: Transform pos: -9.5,-1.5 parent: 2 - - uid: 759 + - uid: 757 components: - type: Transform pos: -10.5,-1.5 parent: 2 - - uid: 760 + - uid: 758 components: - type: Transform pos: -7.5,-1.5 parent: 2 - - uid: 761 + - uid: 759 components: - type: Transform pos: -5.5,-8.5 parent: 2 - - uid: 762 + - uid: 760 components: - type: Transform pos: -3.5,-8.5 parent: 2 - - uid: 763 + - uid: 761 components: - type: Transform pos: -2.5,-8.5 parent: 2 - - uid: 764 + - uid: 762 components: - type: Transform pos: -1.5,-8.5 parent: 2 - - uid: 765 + - uid: 763 components: - type: Transform pos: 0.5,-8.5 parent: 2 - - uid: 766 + - uid: 764 components: - type: Transform pos: 1.5,-8.5 parent: 2 - - uid: 767 + - uid: 765 components: - type: Transform pos: 2.5,-8.5 parent: 2 - - uid: 768 + - uid: 766 components: - type: Transform pos: 4.5,-8.5 parent: 2 - - uid: 769 + - uid: 767 components: - type: Transform pos: -4.5,-12.5 parent: 2 - - uid: 770 + - uid: 768 components: - type: Transform pos: -2.5,-12.5 parent: 2 - - uid: 771 + - uid: 769 components: - type: Transform pos: -2.5,-11.5 parent: 2 - - uid: 772 + - uid: 770 components: - type: Transform pos: -2.5,-9.5 parent: 2 - - uid: 773 + - uid: 771 components: - type: Transform pos: -2.5,-10.5 parent: 2 - - uid: 774 + - uid: 772 components: - type: Transform pos: 1.5,-9.5 parent: 2 - - uid: 775 + - uid: 773 components: - type: Transform pos: 1.5,-10.5 parent: 2 - - uid: 776 + - uid: 774 components: - type: Transform pos: 1.5,-11.5 parent: 2 - - uid: 777 + - uid: 775 components: - type: Transform pos: 1.5,-12.5 parent: 2 - - uid: 778 + - uid: 776 components: - type: Transform pos: -1.5,-12.5 parent: 2 - - uid: 779 + - uid: 777 components: - type: Transform pos: 0.5,-12.5 parent: 2 - - uid: 780 + - uid: 778 components: - type: Transform pos: 2.5,-12.5 parent: 2 - - uid: 781 + - uid: 779 components: - type: Transform pos: 3.5,-12.5 parent: 2 - - uid: 782 + - uid: 780 components: - type: Transform pos: -8.5,-1.5 parent: 2 - proto: WeaponCapacitorRecharger entities: - - uid: 783 + - uid: 781 components: - type: Transform pos: -2.5,9.5 diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index 0498ea6e45..296454f82e 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -671,10 +671,10 @@ coefficients: Blunt: 0.6 Slash: 0.6 - Piercing: 0.4 - Heat: 0.25 + Piercing: 0.6 + Heat: 0.6 Radiation: 0.25 - Caustic: 0.75 + Caustic: 0.25 - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitWizard - type: ContainerContainer @@ -693,11 +693,11 @@ - PowerCell - PowerCellSmall - type: EnergyDomeGenerator - damageEnergyDraw: 3 + damageEnergyDraw: 5 domePrototype: EnergyDomeSmallPink - type: ClothingSpeedModifier - walkModifier: 1 - sprintModifier: 1 + walkModifier: 0.9 + sprintModifier: 0.9 - type: PowerCellDraw drawRate: 8 useRate: 0 diff --git a/Resources/Prototypes/Entities/Markers/warp_point.yml b/Resources/Prototypes/Entities/Markers/warp_point.yml index 2536fde474..6c315f57c4 100644 --- a/Resources/Prototypes/Entities/Markers/warp_point.yml +++ b/Resources/Prototypes/Entities/Markers/warp_point.yml @@ -4,6 +4,7 @@ name: warp point components: - type: WarpPoint + - type: SpawnTeleportLocation - type: Sprite state: pink diff --git a/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml b/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml index fa9071d3e9..4f7a8aa9b0 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml @@ -25,6 +25,8 @@ defaultText: station-beacon-general color: "#D4D4D496" - type: WarpPoint + - type: SpawnTeleportLocation + - type: GiftIgnore - type: ActivatableUI key: enum.NavMapBeaconUiKey.Key singleUser: true diff --git a/Resources/Prototypes/Magic/white.yml b/Resources/Prototypes/Magic/white.yml index d44b9a4da8..4e1e4831fe 100644 --- a/Resources/Prototypes/Magic/white.yml +++ b/Resources/Prototypes/Magic/white.yml @@ -31,7 +31,7 @@ - type: VariableUseDelay useDelay: 6 altUseDelay: 12 - chargeUseDelay: 40 + chargeUseDelay: 30 - type: entity id: ActionForceSpell @@ -62,7 +62,7 @@ - type: VariableUseDelay useDelay: 6 altUseDelay: 2 - chargeUseDelay: 20 + chargeUseDelay: 30 - type: entity id: ActionFireballSpell @@ -93,7 +93,7 @@ - type: VariableUseDelay useDelay: 5 altUseDelay: 10 - chargeUseDelay: 40 + chargeUseDelay: 30 - type: entity id: ActionCardSpell @@ -126,7 +126,7 @@ - type: VariableUseDelay useDelay: 4 altUseDelay: 1 - chargeUseDelay: 40 + chargeUseDelay: 30 - type: entity id: ActionForcewallSpell @@ -160,7 +160,7 @@ - type: VariableUseDelay useDelay: 10 altUseDelay: 20 - chargeUseDelay: 60 + chargeUseDelay: 50 - type: entity id: ActionBlinkSpell @@ -272,3 +272,20 @@ sprite: Objects/Magic/magicactions.rsi state: summons event: !type:InstantRecallSpellEvent + +- type: entity + id: ActionTeleportSpell + name: Teleport + noSpawn: true + components: + - type: Magic + requiresClothes: true + - type: InstantAction + checkCanInteract: false + useDelay: 60 + itemIconStyle: BigAction + icon: + sprite: Objects/Magic/magicactions.rsi + state: teleport + event: !type:TeleportSpellEvent + speech: "SCYAR FIDE!" diff --git a/Resources/Prototypes/_White/Entities/Clothing/nigger.yml b/Resources/Prototypes/_White/Entities/Clothing/nigger.yml index a4724eb870..3025ccb877 100644 --- a/Resources/Prototypes/_White/Entities/Clothing/nigger.yml +++ b/Resources/Prototypes/_White/Entities/Clothing/nigger.yml @@ -33,3 +33,33 @@ id: ClothingOuterRealWizardViolet components: - type: WizardClothes + +- type: entity + parent: ClothingHeadHatWizard + id: ClothingHeadHatRealWizardFancy + components: + - type: WizardClothes + - type: Sprite + sprite: White/Clothing/Head/wizhat.rsi + - type: Clothing + sprite: White/Clothing/Head/wizhat.rsi + +- type: entity + parent: ClothingHeadHatWizard + id: ClothingHeadHatRealWizardFancyAlt + components: + - type: WizardClothes + - type: Sprite + sprite: White/Clothing/Head/wizhat-alt.rsi + - type: Clothing + sprite: White/Clothing/Head/wizhat-alt.rsi + +- type: entity + parent: ClothingOuterWizard + id: ClothingOuterRealWizardFancy + components: + - type: WizardClothes + - type: Sprite + sprite: White/Clothing/OuterClothing/robe.rsi + - type: Clothing + sprite: White/Clothing/OuterClothing/robe.rsi diff --git a/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml b/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml index 951bf29e77..da08feacfa 100644 --- a/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml +++ b/Resources/Prototypes/_White/Objects/Scrolls/scrolls.yml @@ -24,7 +24,7 @@ components: - type: Scroll actionId: ActionFireballSpell - learnPopup: fireball + learnPopup: scroll-component-fireball - type: entity id: ScrollForcewall @@ -33,7 +33,7 @@ components: - type: Scroll actionId: ActionForcewallSpell - learnPopup: forcewall + learnPopup: scroll-component-forcewall - type: entity id: ScrollKnock @@ -42,7 +42,7 @@ components: - type: Scroll actionId: ActionKnock - learnPopup: knock-knock + learnPopup: scroll-component-knock - type: entity id: ScrollArc @@ -51,7 +51,7 @@ components: - type: Scroll actionId: ActionElectricArcSpell - learnPopup: lightning + learnPopup: scroll-component-lightning - type: entity id: ScrollForce @@ -60,7 +60,7 @@ components: - type: Scroll actionId: ActionForceSpell - learnPopup: force + learnPopup: scroll-component-force - type: entity id: ScrollCards @@ -69,7 +69,7 @@ components: - type: Scroll actionId: ActionCardSpell - learnPopup: cards + learnPopup: scroll-component-cards - type: entity id: ScrollBlink @@ -78,7 +78,7 @@ components: - type: Scroll actionId: ActionBlinkSpell - learnPopup: blink + learnPopup: scroll-component-blink - type: entity id: ScrollEtherealJaunt @@ -87,7 +87,7 @@ components: - type: Scroll actionId: ActionEtherealJauntSpell - learnPopup: jaunt + learnPopup: scroll-component-jaunt - type: entity id: ScrollEmp @@ -96,7 +96,7 @@ components: - type: Scroll actionId: ActionEmpSpell - learnPopup: emp + learnPopup: scroll-component-emp - type: entity id: ScrollCluwneCurse @@ -105,7 +105,7 @@ components: - type: Scroll actionId: ActionCluwneCurseSpell - learnPopup: curse + learnPopup: scroll-component-cluwne - type: entity id: ScrollBananaTouch @@ -114,7 +114,7 @@ components: - type: Scroll actionId: ActionBananaTouchSpell - learnPopup: banana + learnPopup: scroll-component-clown - type: entity id: ScrollMimeTouch @@ -123,7 +123,7 @@ components: - type: Scroll actionId: ActionMimeTouchSpell - learnPopup: silence + learnPopup: scroll-component-silence - type: entity id: ScrollInstantRecall @@ -132,4 +132,13 @@ components: - type: Scroll actionId: ActionInstantRecallSpell - learnPopup: recall + learnPopup: scroll-component-recall + +- type: entity + id: ScrollTeleport + parent: BaseScroll + name: "Teleport scroll" + components: + - type: Scroll + actionId: ActionTeleportSpell + learnPopup: scroll-component-teleport diff --git a/Resources/Prototypes/_White/Wizard/wizard.yml b/Resources/Prototypes/_White/Wizard/wizard.yml index 5c91df408c..67742536d1 100644 --- a/Resources/Prototypes/_White/Wizard/wizard.yml +++ b/Resources/Prototypes/_White/Wizard/wizard.yml @@ -39,8 +39,8 @@ equipment: jumpsuit: ClothingUniformJumpsuitColorDarkBlue back: ClothingBackpackFilled - head: ClothingHeadHatRealWizardBlue - outerClothing: ClothingOuterRealWizardBlue + head: ClothingHeadHatRealWizardFancy + outerClothing: ClothingOuterRealWizardFancy shoes: ClothingShoesWizard innerClothingSkirt: ClothingUniformJumpskirtColorDarkBlue satchel: ClothingBackpackSatchelFilled diff --git a/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json b/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json index a6b494771c..193f4b82e9 100644 --- a/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json +++ b/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json @@ -51,6 +51,9 @@ }, { "name": "summons" + }, + { + "name": "teleport" } ] } diff --git a/Resources/Textures/Objects/Magic/magicactions.rsi/teleport.png b/Resources/Textures/Objects/Magic/magicactions.rsi/teleport.png new file mode 100644 index 0000000000000000000000000000000000000000..a475c09bebd91408e9b2ff58fc1525437bd2e278 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5C^*m4 z#WAE}&f94>IU5Xk+C=9ZWW00cf zW5H2V0hNZ37%stT>8!=a|AmMpr7JKBG0gvc#Wm!UA!C8~#ve!Y7*p?T+QGOdk@Euo ff%Px%!AV3xRCt{2n!8UFQ51*2gV(q$3?WKT#26E{F&kqvY^dlcwlSfku%PEpv9>2x zmX7X=lNP$4JG{xy8s z`rTHwaWkL#pa*#bWL4n^rzfe*ukGLH+K{sP;@?zmbn=E_7=~dOhG7_nVHk#C7=|%0 zdR9;p^*0epfxh&=zG&$aaJmolt_tlJ82Z+X~&BZd|$#rV`QL5 zpc|J9!tfIBM3xoEl(1nKhG7_nVHk#C7=~dOhG7^tmwy~0Aap#q5`X{z002ovPDHLk FV1oEiW|{y1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/icon.png b/Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0be4bb9c18a7d2c12b8904ded16c46a000198e19 GIT binary patch literal 533 zcmV+w0_y#VP)Px$&q+iymZt-+xD1Q#w-7+f3t6AY=+ zrAV1VZE$5U=)gq+QIQ{@q_hb5z~-VuhJ|sl@|~p1Y44OW_v)GV-n^YzXwaa+{|@CV zh@!|#vS*G3z^WEe|FFPmj4ADX!|FgJifxxq;TL2{EdK@b! zkc)@8czOmvgN?Ooaoq#8V*`Kjb?AZVxo) zSuMat^j9dqRffIk} zrd;okq?ZgQnsCjs7xZ{O?fmrR4FK;BzH&8z;Y1hGNz#@ey}z0$HDFZ$vh4`QBT#Ex z-yHy-d9`7=nz*{(KYjsZ;&+cf0HeGQK;4wdcy>U&6{Njz>we7bMS4lu^nL>mCIF;e zATNVUYyd#iKUunj-ZPB)Cknvqo{A%H7i#7wJ_D8a`B3>ESTr(=B;733HE7VFK~>xX X9!9|wXRU$900000NkvXXu0mjf)GqbE literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/inhand-left.png b/Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..65f8cf7e48e9905cc9a8cd6157e9a635f3f754d0 GIT binary patch literal 809 zcmV+^1J?YBP)Px%<4Ht8RCt{2nlVTlQ5eU6pFJT)1Azuxu@s@#p@dRe44s_nkfqS6ICK!)>g?3n z$+>QVbSh5m)}@n!ND8HhxG0pORHPO$Y8;M!9qulBb0*n{X)mkHYpItmDCKo}u z>zKP1z@em`+yP*b~2r{YYEg&kOk9%zznC&*))+IZA zFigDVZOL}a*oV1A)(%Smcyb-cgT562-TR2#m{Yh3>;`>q5Zxwl;Q!W9re^xijJKPe z(D4rNsEDIz_1JCPl+C752cV;Tu1*G0p8^>iUB`Y^O@iBgeh@-p}YK%l4qj;;qi`%PD97T`+M008uZ0C-Z? z=B}tHe=dT%3C27F(nJ2gx2V0Q~gV zkr5pInrOZBc7W_f8Uw%&peG1uxHGF9VNn}aM|bd~7>HT`jv9k>u$|{J5(;rI-Y?t1nmdta7GqA7^XN)|@Goy_W)?>`0PtkkzowCR nGZ7(xSi;TL8^bURBLTkw7IY&URK8#J00000NkvXXu0mjfNgj5& literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/inhand-right.png b/Resources/Textures/White/Clothing/Head/wizhat-alt.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..f1e85b5ea56deab983246d2d1a57c9b1e44cda48 GIT binary patch literal 846 zcmV-U1F`&xP)Px&2uVaiRCt{2nmuS!Q51l`Q?C%Ck)TB?T?Dg85m6e%A(I`t6dgN=7CLtBR9B~h zo81aU9Hf(@gH8@wA{Hstr3DeIMJR;6<_CFr9Nte7)1*n0YM|$X@NVwA_q=n?J@?+> z954*SFbu;m48t%C!#HM0>$l?yX#kvV;*)PZzF&|jg-Z3mK5weGYc6D5Q^^Scyy6dh zN#GRidnd@0rjpsZF0X_(bHct37#l=a%2ne7w((`8FPtzv`v`!=`MHL^<%M*tbL#ZP z;F-+fl?sZ!Y|z_P8(H<`G5{;(95+wR0I+uw-afs?je8$i+s*ck6Pl4ZF~cek0qPy0 zqaZ_yF4gHRk>ROiF7EV-KR~`U2)~|MVr@4FFJI0B>6ZJe9rWjG2T;N3POP^B!qYt;pZZQW8|3=2QwpJgy!68OPFKH{+A|=cQTLtr z8ANTO?l!AG1jDfKWn5bc{@?q5Kf@zh>o%^ieFPfy0e_zhP1$F04Z|=D!!QiPFbu;m z48t%C!!V8o9jCY)Sp|qv=|I~V;_2B(Ez?@<%BZDVdCee)OW zp8ew1{l@^Daj;T;LMjPfF{5#PK{rtmIa4#Fk{9Eul|3JzcahMR1FFVPx&D@jB_RCt{2n$K$!K@`V7BP-N|U~La=rO;y!p&m+e^0EO-14R^13KbQs{RbN8 zAD~c(|A6+QD0o$*kYc2J5f3d2l^i@4O09=fO6U*h!g$!sHrZx3*`#{u`@kM{c4ppt zGyC4<`xFs4juZ8n8+Km1s{dsE>Vj%E&$jKzed5@@Vdr)Id&wy@wb`!i3-R1)bmUU< zA-kXUuyiFf__M|Y?5ciTl|FSKafv(tJG&3q zwyw8r*gk?k$MEwYN6=q%F*3%;kB;NiPCV_86=&a(dzl9yl^pWNtNXudJFYkEVd)Ak zYq8VABIDN=6O_vos4Z`T9&VVwTl&n%tr@BZAN@5Yr=Ys70VSuPEM3OZWnhQgQWlF9 zELJ$&f8{@@bx`YU%sap!Fz7oGBkq9Rig$o2&A0pyFL*r+dYDvlsNw0G9Hn}&hFR0D z-IjlV;mz_FUKieL<6LmAsR8EJ>WgBxDG;nL#>U3H!?ovk0csZn5AwIw{psue+*Y># zOXWUmEHbBxTPJBI2!bF8f*=TjAP9mW2!bF8!ucXpObFBG>lN2_B&eV=WA=?Z9!9r4 z3bFeGoYe(o=?baD&HpNkH^cNOq!Kqf?oo(+0LCc5=7+bqOm(Htx1v>#!sds!03Bb3 z6=(9?w5=z40oJ(M1CM9m&fr(Jk6>=PsDt`Eb-!je)CXpI6gK92xH#~g$1}f~OnE-g z>-pHMM1pY}j) zd3t;zLn@K+wR(V!{PSAi<*xbyqI@wu3Z5-adIf6!q>@9Rwme_k>`{nJ0khD~F6zF? z%UHV1;eHv@F;aZ;j@(iffbqf@7L`-_{8>?Q3d-~-j2FiITQ1J7l3Tjx1*6MYK;L9P zu+vsi?C6%d(dXl)z`yW85ClOG1VIo4K@bE%5ClOGg!9Q?x<`n5S?o%|00000NkvXX Hu0mjfV_&aI literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Head/wizhat.rsi/icon 2.png b/Resources/Textures/White/Clothing/Head/wizhat.rsi/icon 2.png new file mode 100644 index 0000000000000000000000000000000000000000..df4df1fba5c375e0e40392957ca6e8a5538ac8e7 GIT binary patch literal 506 zcmVPx$v`IukR9J=Wl|4%XK@f(Y)hmvKfOr9;2o~B%+MJM1(IQrYbvpGQL`WgpCHnPrHNE^jfPpPl0&3=gb_4?cS#avw6&Ni*yu#-FTkoD!hNeUF861TnpkFWVWLpqZ?hoXS+sPx%JxN4CR9J=WmcMJ;KorM6*Qzv?(a;JGd&bO`~Ik`nR*QkP&H6smF^)YA`J!bmchLLLZlC*8fzecyX` z2RBy0G;E1jkVWRWH7=M50$7s+@PrAnG8q63TOzA|qd*=M4uMfBQzQ)ke-a+;Yy)SL z19nvJr zx}PtD|CIb{AP+N+b4ZeTF$_HSvJzU9~}O4f#t3 zP!NCu+27a~+Fy6{r9J literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Head/wizhat.rsi/inhand-left.png b/Resources/Textures/White/Clothing/Head/wizhat.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4eef5bf268c29ebf277eeaecd002958f8ac1c6 GIT binary patch literal 795 zcmV+$1LXXPP)Px%)k#D_RCt{2nomd+Q5?rVFGf%o>CYb25IS}cI|!b-j9|DRQJ0{g$OsGSx(k6< z1!4Crlmvx=Q4n!0%XfjP{~d%xfB zec!zI4)X;;5ClOG1VIo4K@iRx%A}LyI5po7*(vR+c)9)Jt00eU+YQAUvQs*IpL5bG z+P4{8Xm-FMJEhxVqpUA%V(DVV;15I2Nh<(X#c@^dK0%s=kpTAKRMlea!71%B%+~fA z*X}%|EjDUgxc?Pp#}^ATHzWBGi^8`fI`<2}Heq4KO`$L2`9NdeFi>kgi8ZLgIw{iujx=^`#m z%3>hcFMLs5hC!`*4Rueb*TmTo0LmLxbO2%ecgsnK8=3p1b}P6nDL+;@PA|*Jk6ydd zz$?XkdA0-qn4SO5`}EfeA;JW+>c7+3ik#tC(fwkdc>3Mh5a6V+7^oDa^wkK0AP9mW z2!bF8f*=TjAP9nRIy_BHo^}aGqUpcK|259N08RNf80OK)&6<4=>+(2?8>NxFNBRPy zgFoomapAjBI@)g=yHShspm%d{p|yQu^YvB2~-ncV|H9mCOg?HY;tdU zm!CTcqE3?N@A3K-R(GR(e$h%x=S9Xd1pxl+mTCyOQNkRw1dIeY=;(W!`Q^=k@9OYf z9^|of(a7mlcB90BE~>{T^1QkmrCR)^odTbxFKKj7P{eX7gE#P%VDP4~b52@Wx`?G$ zfP5)7`1v~82fQoR4QiG3g-txMy6Wb(OpA)LwX;O_*&K+&GeOMHEoVu&(oeYhT zbJEIpqx7fyf?3XvEs~gd0C?6L3%GJC4&)o!6pd#kx(s}qjL&hqIil{7lgKFuf*|~F Z`~?x_I>q!Ii}wHk002ovPDHLkV1lYFe&hfE literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Clothing/Head/wizhat.rsi/inhand-right.png b/Resources/Textures/White/Clothing/Head/wizhat.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..536c92dee58fb1c2af6625c24dfec1860697d07f GIT binary patch literal 792 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