diff --git a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs index 4a7711032e4..44553cf15d0 100644 --- a/Content.Client/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Client/Weapons/Ranged/Systems/GunSystem.cs @@ -5,6 +5,7 @@ using Content.Client.Weapons.Ranged.Components; using Content.Shared.Camera; using Content.Shared.CombatMode; +using Content.Shared.Mech.Components; // Goobstation using Content.Shared.Weapons.Ranged; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Events; @@ -147,6 +148,9 @@ public override void Update(float frameTime) var entity = entityNull.Value; + if (TryComp(entity, out var mechPilot)) // Goobstation + entity = mechPilot.Mech; + if (!TryGetGun(entity, out var gunUid, out var gun)) { return; diff --git a/Content.Server/_Goobstation/Mech/Equipment/EntitySystems/MechGunSystem.cs b/Content.Server/_Goobstation/Mech/Equipment/EntitySystems/MechGunSystem.cs new file mode 100644 index 00000000000..5d23f2ebc5b --- /dev/null +++ b/Content.Server/_Goobstation/Mech/Equipment/EntitySystems/MechGunSystem.cs @@ -0,0 +1,61 @@ +using Content.Server.Mech.Systems; +using Content.Server.Power.Components; +using Content.Server.Power.EntitySystems; +using Content.Shared.Mech.Components; +using Content.Shared.Mech.Equipment.Components; +using Content.Shared.Throwing; +using Content.Shared.Weapons.Ranged.Systems; +using Robust.Shared.Random; + +namespace Content.Server.Mech.Equipment.EntitySystems; +public sealed class MechGunSystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly ThrowingSystem _throwing = default!; + [Dependency] private readonly MechSystem _mech = default!; + [Dependency] private readonly BatterySystem _battery = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(MechGunShot); + } + + private void MechGunShot(EntityUid uid, MechEquipmentComponent component, ref GunShotEvent args) + { + if (!component.EquipmentOwner.HasValue) + return; + + if (!TryComp(component.EquipmentOwner.Value, out var mech)) + return; + + if (TryComp(uid, out var battery)) + { + ChargeGunBattery(uid, battery); + return; + } + } + + private void ChargeGunBattery(EntityUid uid, BatteryComponent component) + { + if (!TryComp(uid, out var mechEquipment) || !mechEquipment.EquipmentOwner.HasValue) + return; + + if (!TryComp(mechEquipment.EquipmentOwner.Value, out var mech)) + return; + + var maxCharge = component.MaxCharge; + var currentCharge = component.CurrentCharge; + + var chargeDelta = maxCharge - currentCharge; + + // TODO: The battery charge of the mech would be spent directly when fired. + if (chargeDelta <= 0 || mech.Energy - chargeDelta < 0) + return; + + if (!_mech.TryChangeEnergy(mechEquipment.EquipmentOwner.Value, -chargeDelta, mech)) + return; + + _battery.SetCharge(uid, component.MaxCharge, component); + } +} diff --git a/Content.Shared/Interaction/ActivateInWorldEvent.cs b/Content.Shared/Interaction/ActivateInWorldEvent.cs index 9dbd636c48f..d113963a3a2 100644 --- a/Content.Shared/Interaction/ActivateInWorldEvent.cs +++ b/Content.Shared/Interaction/ActivateInWorldEvent.cs @@ -29,3 +29,32 @@ public ActivateInWorldEvent(EntityUid user, EntityUid target) Target = target; } } + +/// +/// Event raised on the user when it activates something in the world +/// +[PublicAPI] +public sealed class UserActivateInWorldEvent : HandledEntityEventArgs, ITargetedInteractEventArgs +{ + /// + /// Entity that activated the target world entity. + /// + public EntityUid User { get; } + + /// + /// Entity that was activated in the world. + /// + public EntityUid Target { get; } + + /// + /// Whether or not can perform complex interactions or only basic ones. + /// + public bool Complex; + + public UserActivateInWorldEvent(EntityUid user, EntityUid target, bool complex) + { + User = user; + Target = target; + Complex = complex; + } +} diff --git a/Content.Shared/Mech/Components/MechComponent.cs b/Content.Shared/Mech/Components/MechComponent.cs index ba380492bc9..6ebfde5f999 100644 --- a/Content.Shared/Mech/Components/MechComponent.cs +++ b/Content.Shared/Mech/Components/MechComponent.cs @@ -13,6 +13,13 @@ namespace Content.Shared.Mech.Components; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class MechComponent : Component { + /// + /// Goobstation: Whether or not an emag disables it. + /// + [DataField("breakOnEmag")] + [AutoNetworkedField] + public bool BreakOnEmag = true; + /// /// How much "health" the mech has left. /// @@ -141,6 +148,8 @@ public sealed partial class MechComponent : Component [DataField] public EntProtoId MechCycleAction = "ActionMechCycleEquipment"; [DataField] + public EntProtoId ToggleAction = "ActionToggleLight"; //Goobstation Mech Lights toggle action + [DataField] public EntProtoId MechUiAction = "ActionMechOpenUI"; [DataField] public EntProtoId MechEjectAction = "ActionMechEject"; @@ -158,4 +167,5 @@ public sealed partial class MechComponent : Component [DataField] public EntityUid? MechCycleActionEntity; [DataField] public EntityUid? MechUiActionEntity; [DataField] public EntityUid? MechEjectActionEntity; + [DataField, AutoNetworkedField] public EntityUid? ToggleActionEntity; //Goobstation Mech Lights toggle action } diff --git a/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs b/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs index 7e44dea5078..2f3a59440c7 100644 --- a/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs +++ b/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs @@ -15,11 +15,17 @@ using Content.Shared.Movement.Systems; using Content.Shared.Popups; using Content.Shared.Weapons.Melee; +using Content.Shared.Whitelist; using Robust.Shared.Containers; using Robust.Shared.Network; using Robust.Shared.Serialization; using Robust.Shared.Timing; +// Goobstation Change +using Content.Shared.Emag.Components; +using Content.Shared.Emag.Systems; +using Content.Shared.Weapons.Ranged.Events; + namespace Content.Shared.Mech.EntitySystems; /// @@ -37,18 +43,20 @@ public abstract class SharedMechSystem : EntitySystem [Dependency] private readonly SharedMoverController _mover = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; /// public override void Initialize() { SubscribeLocalEvent(OnToggleEquipmentAction); SubscribeLocalEvent(OnEjectPilotEvent); - SubscribeLocalEvent(RelayInteractionEvent); + SubscribeLocalEvent(RelayInteractionEvent); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnDestruction); SubscribeLocalEvent(OnGetAdditionalAccess); SubscribeLocalEvent(OnDragDrop); SubscribeLocalEvent(OnCanDragDrop); + SubscribeLocalEvent(OnEmagged); SubscribeLocalEvent(OnGetMeleeWeapon); SubscribeLocalEvent(OnCanAttackFromContainer); @@ -71,7 +79,7 @@ private void OnEjectPilotEvent(EntityUid uid, MechComponent component, MechEject TryEject(uid, component); } - private void RelayInteractionEvent(EntityUid uid, MechComponent component, InteractNoHandEvent args) + private void RelayInteractionEvent(EntityUid uid, MechComponent component, UserActivateInWorldEvent args) { var pilot = component.PilotSlot.ContainedEntity; if (pilot == null) @@ -130,6 +138,7 @@ private void SetupUser(EntityUid mech, EntityUid pilot, MechComponent? component _actions.AddAction(pilot, ref component.MechCycleActionEntity, component.MechCycleAction, mech); _actions.AddAction(pilot, ref component.MechUiActionEntity, component.MechUiAction, mech); _actions.AddAction(pilot, ref component.MechEjectActionEntity, component.MechEjectAction, mech); + _actions.AddAction(pilot, ref component.ToggleActionEntity, component.ToggleAction, mech); //Goobstation Mech Lights toggle action } private void RemoveUser(EntityUid mech, EntityUid pilot) @@ -194,7 +203,7 @@ public void CycleEquipment(EntityUid uid, MechComponent? component = null) if (_net.IsServer) _popup.PopupEntity(popupString, uid); - Dirty(component); + Dirty(uid, component); } /// @@ -216,9 +225,6 @@ public void InsertEquipment(EntityUid uid, EntityUid toInsert, MechComponent? co if (component.EquipmentContainer.ContainedEntities.Count >= component.MaxEquipmentAmount) return; - if (component.EquipmentWhitelist != null && !component.EquipmentWhitelist.IsValid(toInsert)) - return; - equipmentComponent.EquipmentOwner = uid; _container.Insert(toInsert, component.EquipmentContainer); var ev = new MechEquipmentInsertedEvent(uid); @@ -278,7 +284,7 @@ public virtual bool TryChangeEnergy(EntityUid uid, FixedPoint2 delta, MechCompon return false; component.Energy = FixedPoint2.Clamp(component.Energy + delta, 0, component.MaxEnergy); - Dirty(component); + Dirty(uid, component); UpdateUserInterface(uid, component); return true; } @@ -306,7 +312,7 @@ public void SetIntegrity(EntityUid uid, FixedPoint2 value, MechComponent? compon UpdateAppearance(uid, component); } - Dirty(component); + Dirty(uid, component); UpdateUserInterface(uid, component); } @@ -434,7 +440,7 @@ private void OnDragDrop(EntityUid uid, MechComponent component, ref DragDropTarg var doAfterEventArgs = new DoAfterArgs(EntityManager, args.Dragged, component.EntryDelay, new MechEntryEvent(), uid, target: uid) { - BreakOnUserMove = true, + BreakOnMove = true, }; _doAfter.TryStartDoAfter(doAfterEventArgs); @@ -447,6 +453,14 @@ private void OnCanDragDrop(EntityUid uid, MechComponent component, ref CanDropTa args.CanDrop |= !component.Broken && CanInsert(uid, args.Dragged, component); } + private void OnEmagged(EntityUid uid, MechComponent component, ref GotEmaggedEvent args) // Goobstation + { + if (!component.BreakOnEmag) + return; + args.Handled = true; + component.EquipmentWhitelist = null; + Dirty(uid, component); + } } /// diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index b714acefbd1..d47b821f696 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -12,6 +12,7 @@ using Content.Shared.Hands; using Content.Shared.Hands.Components; using Content.Shared.Item; // Delta-V: Felinids in duffelbags can't shoot. +using Content.Shared.Mech.Components; // Goobstation using Content.Shared.Popups; using Content.Shared.Projectiles; using Content.Shared.Tag; @@ -22,6 +23,7 @@ using Content.Shared.Weapons.Melee.Events; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Events; +using Content.Shared.Whitelist; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; @@ -64,6 +66,7 @@ public abstract partial class SharedGunSystem : EntitySystem [Dependency] protected readonly TagSystem TagSystem = default!; [Dependency] protected readonly ThrowingSystem ThrowingSystem = default!; [Dependency] private readonly UseDelaySystem _useDelay = default!; + [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; private const float InteractNextFire = 0.3f; private const double SafetyNextFire = 0.5; @@ -127,12 +130,15 @@ private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) var user = args.SenderSession.AttachedEntity; if (user == null || - !_combatMode.IsInCombatMode(user) || - !TryGetGun(user.Value, out var ent, out var gun) || - HasComp(user)) // Delta-V: Felinids in duffelbags can't shoot. - { + !_combatMode.IsInCombatMode(user)) + return; + + if (TryComp(user.Value, out var mechPilot)) + user = mechPilot.Mech; + + if (!TryGetGun(user.Value, out var ent, out var gun) || + HasComp(user)) return; - } if (ent != GetEntity(msg.Gun)) return; @@ -146,14 +152,18 @@ private void OnStopShootRequest(RequestStopShootEvent ev, EntitySessionEventArgs { var gunUid = GetEntity(ev.Gun); - if (args.SenderSession.AttachedEntity == null || - !TryComp(gunUid, out var gun) || - !TryGetGun(args.SenderSession.AttachedEntity.Value, out _, out var userGun)) - { + var user = args.SenderSession.AttachedEntity; + + if (user == null) + return; + + if (TryComp(user.Value, out var mechPilot)) + user = mechPilot.Mech; + + if (!TryGetGun(user.Value, out var ent, out var gun)) return; - } - if (userGun != gun) + if (ent != gunUid) return; StopShooting(gunUid, gun); @@ -172,6 +182,15 @@ public bool TryGetGun(EntityUid entity, out EntityUid gunEntity, [NotNullWhen(tr gunEntity = default; gunComp = null; + if (TryComp(entity, out var mech) && + mech.CurrentSelectedEquipment.HasValue && + TryComp(mech.CurrentSelectedEquipment.Value, out var mechGun)) + { + gunEntity = mech.CurrentSelectedEquipment.Value; + gunComp = mechGun; + return true; + } + if (EntityManager.TryGetComponent(entity, out HandsComponent? hands) && hands.ActiveHandEntity is { } held && TryComp(held, out GunComponent? gun)) diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/markers/spawners/mechs.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/markers/spawners/mechs.ftl new file mode 100644 index 00000000000..516b6b30cb0 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/markers/spawners/mechs.ftl @@ -0,0 +1,31 @@ +ent-SpawnMechRipley2 = Ripley APLU MK-II Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechHonkerFilled = H.O.N.K. Spawner + .suffix = Filled + .desc = { ent-MarkerBase.desc } +ent-SpawnMechClarke = Clarke Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechGygax = Gygax Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechDurand = Durand Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMarauder = Marauder Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMarauderFilled = Marauder Spawner + .suffix = Filled + .desc = { ent-MarkerBase.desc } +ent-SpawnMechSeraph = Seraph Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechSeraphFilled = Seraph Spawner + .suffix = Filled + .desc = { ent-MarkerBase.desc } +ent-SpawnMechGygaxSyndie = Dark Gygax Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechGygaxSyndieFilled = Dark Gygax Spawner + .suffix = Filled + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMaulerSyndie = Mauler Spawner + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMaulerSyndieFilled = Mauler Spawner + .suffix = Filled + .desc = { ent-MarkerBase.desc } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/exosuit_components.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/exosuit_components.ftl new file mode 100644 index 00000000000..3ce691c84fe --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/exosuit_components.ftl @@ -0,0 +1,12 @@ +ent-BaseExosuitParts = base components + .desc = { ent-BaseItem.desc } +ent-DurandArmorPlate = durand armor plates + .desc = Armor plates made of plasteel for Durand exosuit. +ent-GygaxArmorPlate = gygax armor plates + .desc = Armor plates made of steel for Gygax exosuit. +ent-RipleyUpgradeKit = exosuit upgrade kit + .desc = This kit allows you to assemble an exosuit Ripley MK-II. +ent-MechAirTank = exosuit air tank + .desc = A special air canister capable of holding a large amount of air. +ent-MechThruster = exosuit thruster + .desc = A thruster with which the exosuit can safely move in the absence of gravity. diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/mech.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/mech.ftl new file mode 100644 index 00000000000..7ec5d590ee3 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/mech.ftl @@ -0,0 +1,16 @@ +ent-ClarkeCentralElectronics = clarke central control module + .desc = The electrical control center for the clarke mech. +ent-ClarkePeripheralsElectronics = clarke peripherals control module + .desc = The electrical peripherals control for the clarke mech. +ent-GygaxCentralElectronics = gygax central control module + .desc = The electrical control center for the gygax mech. +ent-GygaxPeripheralsElectronics = gygax peripherals control module + .desc = The electrical peripherals control for the gygax mech. +ent-GygaxTargetingElectronics = gygax weapon control and targeting module + .desc = The electrical targeting control for the gygax mech. +ent-DurandCentralElectronics = durand central control module + .desc = The electrical control center for the durand mech. +ent-DurandPeripheralsElectronics = durand peripherals control module + .desc = The electrical peripherals control for the durand mech. +ent-DurandTargetingElectronics = durand weapon control and targeting module + .desc = The electrical targeting control for the durand mech. diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mech_construction.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mech_construction.ftl new file mode 100644 index 00000000000..9cf4aa30ea9 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mech_construction.ftl @@ -0,0 +1,58 @@ +ent-BaseRipleyMKIIPart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-RipleyMKIIHarness = ripley MK-II harness + .desc = The core of the Ripley MK-II. +ent-RipleyMKIIChassis = ripley MK-II chassis + .desc = An in-progress construction of the Ripley MK-II mech. +ent-BaseClarkePart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-BaseClarkePartItem = { ent-BaseClarkePart } + .desc = { ent-BaseClarkePart.desc } +ent-ClarkeHarness = clarke harness + .desc = The core of the Clarke. +ent-ClarkeHead = clarke head + .desc = The head of the Clarke. It belongs on the chassis of the mech. +ent-ClarkeRArm = clarke right arm + .desc = The right arm of the Clarke. It belongs on the chassis of the mech. +ent-ClarkeLArm = clarke left arm + .desc = The left arm of the Clarke. It belongs on the chassis of the mech. +ent-ClarkeTreads = clarke treads + .desc = The treads of the Clarke. It belongs on the chassis of the mech. +ent-ClarkeChassis = clarke chassis + .desc = An in-progress construction of the Clarke mech. +ent-BaseDurandPart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-BaseDurandPartItem = { ent-BaseDurandPart } + .desc = { ent-BaseDurandPart.desc } +ent-DurandHarness = durand harness + .desc = The core of the Durand. +ent-DurandHead = durand head + .desc = The head of the Durand. It belongs on the chassis of the mech. +ent-DurandLArm = durand left arm + .desc = The left arm of the Durand. It belongs on the chassis of the mech. +ent-DurandLLeg = durand left leg + .desc = The left leg of the Durand. It belongs on the chassis of the mech. +ent-DurandRLeg = durand right leg + .desc = The right leg of the Durand. It belongs on the chassis of the mech. +ent-DurandRArm = durand right arm + .desc = The right arm of the Durand. It belongs on the chassis of the mech. +ent-DurandChassis = durand chassis + .desc = An in-progress construction of the Durand mech. +ent-BaseGygaxPart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-BaseGygaxPartItem = { ent-BaseGygaxPart } + .desc = { ent-BaseGygaxPart.desc } +ent-GygaxHarness = gygax harness + .desc = The core of the Gygax. +ent-GygaxHead = gygax head + .desc = The head of the Gygax. It belongs on the chassis of the mech. +ent-GygaxLArm = gygax left arm + .desc = The left arm of the Gygax. It belongs on the chassis of the mech. +ent-GygaxLLeg = gygax left leg + .desc = The left leg of the Gygax. It belongs on the chassis of the mech. +ent-GygaxRLeg = gygax right leg + .desc = The right leg of the Gygax. It belongs on the chassis of the mech. +ent-GygaxRArm = gygax right arm + .desc = The right arm of the Gygax. It belongs on the chassis of the mech. +ent-GygaxChassis = gygax chassis + .desc = An in-progress construction of the Gygax mech. diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mecha_equipment.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mecha_equipment.ftl new file mode 100644 index 00000000000..49890bcfec0 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mecha_equipment.ftl @@ -0,0 +1,11 @@ +ent-DebugMechEquipment = { "" } + .suffix = DEBUG + .desc = { "" } +ent-CombatMechEquipment = { "" } + .desc = { "" } +ent-IndustrialMechEquipment = { "" } + .desc = { "" } +ent-SpecialMechEquipment = { "" } + .desc = { "" } +ent-SmallMechEquipment = { "" } + .desc = { "" } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mechs.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mechs.ftl new file mode 100644 index 00000000000..9a447746fdf --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mechs.ftl @@ -0,0 +1,63 @@ +ent-CombatMech = { "" } + .desc = { "" } +ent-IndustrialMech = { "" } + .desc = { "" } +ent-SpecialMech = { "" } + .desc = { "" } +ent-SmallMech = { "" } + .desc = { "" } +ent-MechRipley2 = Ripley APLU MK-II + .desc = The "MK-II" has a pressurized cabin for space operations, but the added weight has slowed it down. +ent-MechRipley2Battery = { ent-MechRipley2 } + .suffix = Battery + .desc = { ent-MechRipley2.desc } +ent-MechClarke = Clarke + .desc = A fast-moving mech for space travel. It has built-in trusts. +ent-MechClarkeBattery = { ent-MechClarke } + .suffix = Battery + .desc = { ent-MechClarke.desc } +ent-MechHonkerFilled = { ent-MechHonkerBattery } + .suffix = Battery, Filled + .desc = { ent-MechHonkerBattery.desc } +ent-MechGygax = Gygax + .desc = While lightly armored, the Gygax has incredible mobility thanks to its ability that lets it smash through walls at high speeds. +ent-MechGygaxBattery = { ent-MechGygax } + .suffix = Battery + .desc = { ent-MechGygax.desc } +ent-MechDurand = Durand + .desc = A slow but beefy combat exosuit that is extra scary in confined spaces due to its punches. Xenos hate it! +ent-MechDurandBattery = { ent-MechDurand } + .suffix = Battery + .desc = { ent-MechDurand.desc } +ent-MechMarauder = Marauder + .desc = Looks like we're all saved. +ent-MechMarauderBattery = { ent-MechMarauder } + .suffix = Battery + .desc = { ent-MechMarauder.desc } +ent-MechMarauderFilled = { ent-MechMarauderBattery } + .suffix = Battery, Filled + .desc = { ent-MechMarauderBattery.desc } +ent-MechSeraph = Seraph + .desc = That's the last thing you'll see. +ent-MechSeraphBattery = { ent-MechSeraph } + .suffix = Battery + .desc = { ent-MechSeraph.desc } +ent-MechSeraphFilled = { ent-MechSeraphBattery } + .suffix = Battery, Filled + .desc = { ent-MechSeraphBattery.desc } +ent-MechGygaxSyndie = Dark Gygax + .desc = A modified Gygax used for nefarious purposes. On the back of the armor plate there is an inscription "Cybersun Inc." +ent-MechGygaxSyndieBattery = { ent-MechGygaxSyndie } + .suffix = Battery + .desc = { ent-MechGygaxSyndie.desc } +ent-MechGygaxSyndieFilled = { ent-MechGygaxSyndieBattery } + .suffix = Battery, Filled + .desc = { ent-MechGygaxSyndieBattery.desc } +ent-MechMaulerSyndie = Mauler + .desc = A modified Marauder used by the Syndicate that's not as maneuverable as the Dark Gygax, but it makes up for that in armor and sheer firepower. On the back of the armor plate there is an inscription "Cybersun Inc." +ent-MechMaulerSyndieBattery = { ent-MechMaulerSyndie } + .suffix = Battery + .desc = { ent-MechMaulerSyndie.desc } +ent-MechMaulerSyndieFilled = { ent-MechMaulerSyndieBattery } + .suffix = Battery, Filled + .desc = { ent-MechMaulerSyndieBattery.desc } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/base.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/base.ftl new file mode 100644 index 00000000000..887b243c637 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/base.ftl @@ -0,0 +1,2 @@ +ent-BaseMechWeaponRange = { ent-BaseMechEquipment } + .desc = { ent-BaseMechEquipment.desc } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/combat.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/combat.ftl new file mode 100644 index 00000000000..db2c422f59e --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/combat.ftl @@ -0,0 +1,39 @@ +ent-WeaponMechCombatPulseRifle = eZ-14 mk2 Heavy pulse rifle + .desc = Fires a heavy pulse laser. + .suffix = Mech Weapon, Gun, Combat, Pulse +ent-WeaponMechCombatImmolationGun = ZFI Immolation Beam Gun + .desc = A gun for battlemechs, firing high-temperature beams. + .suffix = Mech Weapon, Gun, Combat, Laser +ent-WeaponMechCombatSolarisLaser = CH-LC "Solaris" laser cannon + .desc = An experimental combat mounted laser beam that fires far faster than the "Firedart" but at a much higer cost. + .suffix = Mech Weapon, Gun, Combat, Laser +ent-WeaponMechCombatFiredartLaser = CH-PS "Firedart" Laser + .desc = The standard combat armament of the mechs is a combat mounted laser. + .suffix = Mech Weapon, Gun, Combat, Laser +ent-WeaponMechCombatTeslaCannon = P-X Tesla Cannon + .desc = A weapon for combat mechs, firing energy balls, based on the principle of an experimental Tesla engine. + .suffix = Mech Weapon, Gun, Combat, Tesla +ent-WeaponMechCombatDisabler = CH-PD Disabler + .desc = A non-lethal mounted stun gun that allows you to immobilize intruders. + .suffix = Mech Weapon, Gun, Combat, Disabler +ent-WeaponMechCombatTaser = PBT "Pacifier" Mounted Taser + .desc = A mounted non-lethal taser that allows you to stun intruders. + .suffix = Mech Weapon, Gun, Combat, Disabler, admeme +ent-WeaponMechCombatShotgun = LBX AC 10 "Scattershot" + .desc = A mounted non-lethal taser that allows you to stun intruders. + .suffix = Mech Weapon, Gun, Combat, Shotgun +ent-WeaponMechCombatShotgunIncendiary = FNX-99 "Hades" Carbine + .desc = Mounted carbine, firing incendiary cartridges. + .suffix = Mech Weapon, Gun, Combat, Shotgun, Incendiary +ent-WeaponMechCombatUltraRifle = Ultra AC-2 + .desc = Mounted carbine, firing incendiary cartridges. + .suffix = Mech Weapon, Gun, Combat, Rifle +ent-WeaponMechCombatMissileRack8 = SRM-8 Light Missile Rack + .desc = Launches low-explosive breaching missiles designed to explode only when striking a sturdy target. + .suffix = Mech Weapon, Gun, Combat, Light Missile +ent-WeaponMechCombatMissileRack6 = BRM-6 Missile Rack + .desc = Tubes must be reloaded from the outside. + .suffix = Mech Weapon, Gun, Combat, Missile +ent-WeaponMechCombatFlashbangLauncher = SGL-6 Flashbang Launcher + .desc = Launches low-explosive breaching missiles designed to explode only when striking a sturdy target. + .suffix = Mech Weapon, Gun, Combat, Flashbang diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/debug.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/debug.ftl new file mode 100644 index 00000000000..5bb1b4384a9 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/debug.ftl @@ -0,0 +1,9 @@ +ent-WeaponMechDebugBallistic = debug bang + .suffix = Mech Weapon, DEBUG, Ballistic + .desc = { ent-BaseMechWeaponRange.desc } +ent-WeaponMechDebugLaser = debug pow + .desc = A weapon using light amplified by the stimulated emission of radiation. + .suffix = Mech Weapon, DEBUG, Laser +ent-WeaponMechDebugDisabler = debug tew + .desc = A self-defense weapon that exhausts organic targets, weakening them until they collapse. + .suffix = Mech Weapon, DEBUG, Disabler diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/industrial.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/industrial.ftl new file mode 100644 index 00000000000..a35130ea22c --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/industrial.ftl @@ -0,0 +1,3 @@ +ent-WeaponMechIndustrialKineticAccelerator = exosuit proto-kinetic accelerator + .desc = Fires normal-damage kinetic bolts at a short range. + .suffix = Mech Weapon, Gun, Industrial, Kinetic Accelerator diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/special.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/special.ftl new file mode 100644 index 00000000000..b7c72809c75 --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/special.ftl @@ -0,0 +1,6 @@ +ent-WeaponMechSpecialMousetrapMortar = mousetrap mortar + .desc = Mounted mousetrap launcher. + .suffix = Mech Weapon, Gun, Special, Mortar +ent-WeaponMechSpecialBananaMortar = banana mortar + .desc = Mounted banana peel launcher. + .suffix = Mech Weapon, Gun, Special, Mortar diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/base.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/base.ftl new file mode 100644 index 00000000000..cfd18b25c5c --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/base.ftl @@ -0,0 +1,2 @@ +ent-BaseMechWeaponMelee = { ent-BaseMechEquipment } + .desc = { ent-BaseMechEquipment.desc } diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/combat.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/combat.ftl new file mode 100644 index 00000000000..67487fde42d --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/combat.ftl @@ -0,0 +1,3 @@ +ent-WeaponMechChainSword = exosuit chainsword + .desc = Equipment for combat exosuits. This is the mechanical chainsword that'll pierce the heavens! + .suffix = Mech Weapon, Melee, Combat diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/debug.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/debug.ftl new file mode 100644 index 00000000000..8c1d28c325c --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/debug.ftl @@ -0,0 +1,3 @@ +ent-WeaponMechDebugMelle = debug bam + .desc = A robust thing. + .suffix = Mech Weapon, DEBUG, Melee diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/industrial.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/industrial.ftl new file mode 100644 index 00000000000..869a144f04b --- /dev/null +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/industrial.ftl @@ -0,0 +1,6 @@ +ent-WeaponMechMelleDrill = exosuit drill + .desc = Equipment for mining exosuits. This is the drill that'll pierce the rocks! + .suffix = Mech Weapon, Melee, Industrial +ent-WeaponMechMelleDrillDiamond = diamond-tipped exosuit drill + .desc = Equipment for mining exosuits. This is an upgraded version of the drill that'll pierce the rocks! + .suffix = Mech Weapon, Melee, Industrial diff --git a/Resources/Locale/en-US/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl b/Resources/Locale/en-US/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl index 18ea645f9f3..b0c8b2a1479 100644 --- a/Resources/Locale/en-US/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl +++ b/Resources/Locale/en-US/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl @@ -1,4 +1,2 @@ ent-LPPMechOdysseus = Odysseus mech .desc = Versatile and lightly armored, the Ripley is useful for almost any heavy work scenario. The "APLU" stands for Autonomous Power Loading Unit. -ent-LPPMechmauler = mauler mech - .desc = Versatile and lightly armored, the Ripley is useful for almost any heavy work scenario. The "APLU" stands for Autonomous Power Loading Unit. diff --git a/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl b/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl index 64ed331c645..818c25cc45e 100644 --- a/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl +++ b/Resources/Locale/ru-RU/cargo/cargo-console-component.ftl @@ -30,7 +30,7 @@ cargo-console-snip-snip = Заказ урезан до вместимости cargo-console-insufficient-funds = Недостаточно средств (требуется { $cost }) cargo-console-unfulfilled = Нет места для выполнения заказа cargo-console-trade-station = Отправить на { $destination } -cargo-console-unlock-approved-order-broadcast = [bold]{ $productName } x{ $orderAmount }[/bold], стоимость которого [bold]{ $cost }[/bold], был одобрен [bold]{ $approverName }, { $approverJob }[/bold] +cargo-console-unlock-approved-order-broadcast = [bold]{ $productName } x{ $orderAmount }[/bold], which cost [bold]{ $cost }[/bold], was approved by [bold]{ $approverName }, { $approverJob }[/bold] cargo-console-paper-print-name = Заказ #{ $orderNumber } cargo-console-paper-print-text = Заказ #{ $orderNumber } diff --git a/Resources/Locale/ru-RU/changelog/changelog-window.ftl b/Resources/Locale/ru-RU/changelog/changelog-window.ftl index 8b9ab4878b0..b366fff96b5 100644 --- a/Resources/Locale/ru-RU/changelog/changelog-window.ftl +++ b/Resources/Locale/ru-RU/changelog/changelog-window.ftl @@ -1,5 +1,4 @@ ### ChangelogWindow.xaml.cs - changelog-window-title = Чейнжлог changelog-author-changed = [color=#EEE]{ $author }[/color] изменено: changelog-today = Сегодня diff --git a/Resources/Locale/ru-RU/lathe/lathe-categories.ftl b/Resources/Locale/ru-RU/lathe/lathe-categories.ftl index f01a76f59a1..79c3a28cdfa 100644 --- a/Resources/Locale/ru-RU/lathe/lathe-categories.ftl +++ b/Resources/Locale/ru-RU/lathe/lathe-categories.ftl @@ -6,3 +6,17 @@ lathe-category-parts = Компоненты lathe-category-robotics = Робототехника lathe-category-tools = Инструменты lathe-category-weapons = Вооружение +lathe-category-mechs-equipment = Мехи экипировка +lathe-category-mechs-weapons = Мехи оружие +lathe-category-mechs-durand = Дюранд +lathe-category-mechs-gygax = Гигакс +lathe-category-mechs-clarke = Кларк +lathe-category-mechs-ripleymkii = РИПЛИ MKII +lathe-category-mechs-ripley = РИПЛИ +lathe-category-mechs-hamptr = ХАМЯК +lathe-category-mechs-honker = Х.О.Н.К. +lathe-category-mechs-vim = ВИМ +research-technology-gygax = Гигакс +research-technology-explosive-mech-ammunition = Взрывные Боеприпасы мехов +research-technology-durand = Дюранд +research-technology-honk-weapons = ХОНК вооружение diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/markers/spawners/mechs.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/markers/spawners/mechs.ftl new file mode 100644 index 00000000000..6c4d29c7bea --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/markers/spawners/mechs.ftl @@ -0,0 +1,31 @@ +ent-SpawnMechRipley2 = Спавнер РИПЛИ MK-II + .desc = { ent-MarkerBase.desc } +ent-SpawnMechHonkerFilled = Спавнер Х.О.Н.К. + .suffix = Заполнен + .desc = { ent-MarkerBase.desc } +ent-SpawnMechClarke = Спавнер Кларк + .desc = { ent-MarkerBase.desc } +ent-SpawnMechGygax = Спавнер Гигакс + .desc = { ent-MarkerBase.desc } +ent-SpawnMechDurand = Спавнер Дюране + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMarauder = Спавнер Марадёр + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMarauderFilled = Спавнер Марадёр + .suffix = Заполнен + .desc = { ent-MarkerBase.desc } +ent-SpawnMechSeraph = Спавнер Сераф + .desc = { ent-MarkerBase.desc } +ent-SpawnMechSeraphFilled = Спавнер Сераф + .suffix = Заполнен + .desc = { ent-MarkerBase.desc } +ent-SpawnMechGygaxSyndie = Спавнер Тёмного Гигакса + .desc = { ent-MarkerBase.desc } +ent-SpawnMechGygaxSyndieFilled = Спавнер Тёмного Гигакса + .suffix = Заполнен + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMaulerSyndie = Спавнер Маулер + .desc = { ent-MarkerBase.desc } +ent-SpawnMechMaulerSyndieFilled = Спавнер Маулер + .suffix = Заполнен + .desc = { ent-MarkerBase.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/exosuit_components.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/exosuit_components.ftl new file mode 100644 index 00000000000..ce98a1987db --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/exosuit_components.ftl @@ -0,0 +1,12 @@ +ent-BaseExosuitParts = Базовый компонент + .desc = { ent-BaseItem.desc } +ent-DurandArmorPlate = Бронеплиты Дюранда + .desc = Бронеплиты из пластины для Дюранда. +ent-GygaxArmorPlate = Бронеплиты Гигакса + .desc = Бронеплиты из стали для Гигакса +ent-RipleyUpgradeKit = Набор улучшения экзокостюма + .desc = Этот набор позволит вам улучшить вашего РИПЛИ до модели MKII +ent-MechAirTank = Кислородные баллоны экзокостюма + .desc = Специальный кислородные баллоны для хранения огромного количества газа. +ent-MechThruster = Двигатель малой тяги экзокостюма + .desc = Двигатель, помогающий передвигаться при низкой гравитации. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/mech.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/mech.ftl new file mode 100644 index 00000000000..cbb67c8216c --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/devices/electronics/mech.ftl @@ -0,0 +1,16 @@ +ent-ClarkeCentralElectronics = Центральный модуль контроля Кларка + .desc = Центральный модуль контроля меха Кларка. +ent-ClarkePeripheralsElectronics = Переферийный модуль контроля Кларка + .desc = Переферийный модуль контроля меха Кларка. +ent-GygaxCentralElectronics = Центральный модуль контроля Гигакса + .desc = Центральный модуль контроля меха Гигакса. +ent-GygaxPeripheralsElectronics = Переферийный модуль контроля Гигакса + .desc = Переферийный модуль контроля меха Гигакса. +ent-GygaxTargetingElectronics = Модуль вооружения и наведения Гигакса + .desc = Модуль вооружения и наведения меха Гигакса. +ent-DurandCentralElectronics = Центральный модуль контроля Дюранда + .desc = Центральный модуль контроля меха Дюранда. +ent-DurandPeripheralsElectronics = Переферийный модуль контроля Дюранда + .desc = Переферийный модуль контроля меха Дюранда. +ent-DurandTargetingElectronics = Модуль вооружения и наведения Дюранда + .desc = Модуль вооружения и наведения меха Дюранда. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mech_construction.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mech_construction.ftl new file mode 100644 index 00000000000..5eda20d33ba --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mech_construction.ftl @@ -0,0 +1,58 @@ +ent-BaseRipleyMKIIPart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-RipleyMKIIHarness = Каркас РИПЛИ MK-II + .desc = Ядро РИПЛИ MK-II. +ent-RipleyMKIIChassis = Шасси РИПЛИ MK-II + .desc = Незавершенное строительство меха РИПЛИ MK-II. +ent-BaseClarkePart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-BaseClarkePartItem = { ent-BaseClarkePart } + .desc = { ent-BaseClarkePart.desc } +ent-ClarkeHarness = Каркас Кларка + .desc = Ядро Кларка. +ent-ClarkeHead = Голова Кларка + .desc = Голова меха Кларка. Оно пренадлежит шасси данного меха. +ent-ClarkeRArm = Правая рука Кларка + .desc = Правая рука Кларка. Оно пренадлежит шасси данного меха. +ent-ClarkeLArm = Левая рука Кларка + .desc = Левая рука Кларка. Оно пренадлежит шасси данного меха. +ent-ClarkeTreads = Протекторы Кларка + .desc = Протекторы Кларка. Оно пренадлежит шасси данного меха. +ent-ClarkeChassis = Шасси Кларка + .desc = Незавершенное строительство меха Кларк. +ent-BaseDurandPart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-BaseDurandPartItem = { ent-BaseDurandPart } + .desc = { ent-BaseDurandPart.desc } +ent-DurandHarness = Каркас Дюранда + .desc = Ядро Дюранда. +ent-DurandHead = Голова Дюранда + .desc = Голова Дюранда. Оно пренадлежит шасси данного меха. +ent-DurandLArm = Левая рука Дюранда + .desc = Левая рука Дюранда. Оно пренадлежит шасси данного меха. +ent-DurandLLeg = Левая нога Дюранда + .desc = Левая нога Дюранда. Оно пренадлежит шасси данного меха. +ent-DurandRLeg = Правая нога Дюранда + .desc = Правая нога Дюранда. Оно пренадлежит шасси данного меха. +ent-DurandRArm = Правая рука Дюранда + .desc = Правая рука Дюранда. Оно пренадлежит шасси данного меха. +ent-DurandChassis = Шасси Дюранда + .desc = Незавершенное строительство меха Дюранд. +ent-BaseGygaxPart = { ent-BaseMechPart } + .desc = { ent-BaseMechPart.desc } +ent-BaseGygaxPartItem = { ent-BaseGygaxPart } + .desc = { ent-BaseGygaxPart.desc } +ent-GygaxHarness = Каркас Гигакса + .desc = Ядро Гигакса. +ent-GygaxHead = Голова Гигакса + .desc = Голова Гигакса. Оно пренадлежит шасси данного меха. +ent-GygaxLArm = Левая рука Гигакса + .desc = Левая рука Гигакса. Оно пренадлежит шасси данного меха. +ent-GygaxLLeg = Левая нога Гигакса + .desc = Левая нога Гигакса. Оно пренадлежит шасси данного меха. +ent-GygaxRLeg = Правая нога Гигакса + .desc = Правая нога Гигакса. Оно пренадлежит шасси данного меха. +ent-GygaxRArm = Правая рука Гигакса + .desc = Правая рука Гигакса. Оно пренадлежит шасси данного меха. +ent-GygaxChassis = gygax chassis + .desc = Незавершенное строительство меха Гигакс. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mecha_equipment.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mecha_equipment.ftl new file mode 100644 index 00000000000..49890bcfec0 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mecha_equipment.ftl @@ -0,0 +1,11 @@ +ent-DebugMechEquipment = { "" } + .suffix = DEBUG + .desc = { "" } +ent-CombatMechEquipment = { "" } + .desc = { "" } +ent-IndustrialMechEquipment = { "" } + .desc = { "" } +ent-SpecialMechEquipment = { "" } + .desc = { "" } +ent-SmallMechEquipment = { "" } + .desc = { "" } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mechs.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mechs.ftl new file mode 100644 index 00000000000..44d25f14993 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/mechs.ftl @@ -0,0 +1,63 @@ +ent-CombatMech = { "" } + .desc = { "" } +ent-IndustrialMech = { "" } + .desc = { "" } +ent-SpecialMech = { "" } + .desc = { "" } +ent-SmallMech = { "" } + .desc = { "" } +ent-MechRipley2 = РИПЛИ MK-II + .desc = Марк II имеет герметичную кабину для космических операций, но дополнительный вес замедляет его работу. +ent-MechRipley2Battery = { ent-MechRipley2 } + .suffix = Батарея + .desc = { ent-MechRipley2.desc } +ent-MechClarke = Кларк + .desc = Быстроходный мех для космических путешествий. Имеет встроенный траст. +ent-MechClarkeBattery = { ent-MechClarke } + .suffix = Батарея + .desc = { ent-MechClarke.desc } +ent-MechHonkerFilled = { ent-MechHonkerBattery } + .suffix = Батаря, Заполнен + .desc = { ent-MechHonkerBattery.desc } +ent-MechGygax = Гигакс + .desc = Несмотря на легкую броню, Гигакс обладает невероятной подвижностью благодаря своей способности, позволяющей ему пробивать стены на высокой скорости. +ent-MechGygaxBattery = { ent-MechGygax } + .suffix = Батарея + .desc = { ent-MechGygax.desc } +ent-MechDurand = Дюранд + .desc = Медленный, но мощный боевой экзокостюм, который особенно страшен в замкнутых пространствах благодаря своим ударам. Ксеносы ненавидят его! +ent-MechDurandBattery = { ent-MechDurand } + .suffix = Батарея + .desc = { ent-MechDurand.desc } +ent-MechMarauder = Мародёр + .desc = Похоже, мы все спасены. +ent-MechMarauderBattery = { ent-MechMarauder } + .suffix = Батарея + .desc = { ent-MechMarauder.desc } +ent-MechMarauderFilled = { ent-MechMarauderBattery } + .suffix = Батарея, Заполнен + .desc = { ent-MechMarauderBattery.desc } +ent-MechSeraph = Сераф + .desc = Это последнее, что вы увидите. +ent-MechSeraphBattery = { ent-MechSeraph } + .suffix = Батарея + .desc = { ent-MechSeraph.desc } +ent-MechSeraphFilled = { ent-MechSeraphBattery } + .suffix = Батарея, Заполнен + .desc = { ent-MechSeraphBattery.desc } +ent-MechGygaxSyndie = Тёмный Гигакс + .desc = Модифицированный Гигакс, используемый в неблаговидных целях. На задней стороне бронепластины имеется надпись «Cybersun Inc.». +ent-MechGygaxSyndieBattery = { ent-MechGygaxSyndie } + .suffix = Батарея + .desc = { ent-MechGygaxSyndie.desc } +ent-MechGygaxSyndieFilled = { ent-MechGygaxSyndieBattery } + .suffix = Батарея, Заполнен + .desc = { ent-MechGygaxSyndieBattery.desc } +ent-MechMaulerSyndie = Маулер + .desc = Модифицированный Мародёр, используемый Синдикатом, не такой маневренный, как Тёмный Гигакс, но он компенсирует это броней и мощной огневой мощью. На задней стороне бронепластины имеется надпись «Cybersun Inc.». +ent-MechMaulerSyndieBattery = { ent-MechMaulerSyndie } + .suffix = Батарея + .desc = { ent-MechMaulerSyndie.desc } +ent-MechMaulerSyndieFilled = { ent-MechMaulerSyndieBattery } + .suffix = Батарея, Заполнен + .desc = { ent-MechMaulerSyndieBattery.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/base.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/base.ftl new file mode 100644 index 00000000000..887b243c637 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/base.ftl @@ -0,0 +1,2 @@ +ent-BaseMechWeaponRange = { ent-BaseMechEquipment } + .desc = { ent-BaseMechEquipment.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/combat.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/combat.ftl new file mode 100644 index 00000000000..9214e3d6fc8 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/combat.ftl @@ -0,0 +1,39 @@ +ent-WeaponMechCombatPulseRifle = Тяжёлая импульсная винтовка eZ-14 mk2 + .desc = Стреляет импулсными выстрелами. + .suffix = Мех оружие, Оружие, Боевое, Импульсное +ent-WeaponMechCombatImmolationGun = Иммоляционная лучевая пушка ZFI + .desc = Оружие для боевых мехов, стреляющее высокотемпературными лучами. + .suffix = Мех оружие, Оружие, Боевое, Лазерное +ent-WeaponMechCombatSolarisLaser = Лазерная пушка CH-LC "Solaris" + .desc = Экспериментальный лазерный луч, установленный на боевой машине, который стреляет гораздо быстрее, чем «Firedart», но стоит гораздо дороже. + .suffix = Мех оружие, Оружие, Боевое, Лазерное +ent-WeaponMechCombatFiredartLaser = Лазер CH-PS "Firedart" + .desc = Стандартное боевое вооружение мехов, представляет из себя лазер, установленный в боевом положении. + .suffix = Мех оружие, Оружие, Боевое, Лазерное +ent-WeaponMechCombatTeslaCannon = Тесла пушка P-X + .desc = Оружие для боевых мехов, стреляющее энергетическими шарами, основанное на принципе экспериментального двигателя Теслы. + .suffix = Мех оружие, Оружие, Боевое, Тесла +ent-WeaponMechCombatDisabler = Станнер CH-PD + .desc = Нелетальный электрошокер, позволяющий обездвижить злоумышленников. + .suffix = Мех оружие, Оружие, Боевое, Станнер +ent-WeaponMechCombatTaser = Станковый тазер PBT "Pacifier" + .desc = Станковый нелетальный электрошокер, позволяющий оглушить злоумышленников. + .suffix = Мех оружие, Оружие, Боевое, Шокер, Адмемы +ent-WeaponMechCombatShotgun = LBX AC 10 "Scattershot" + .desc = Навесной нелетальный электрошокер, позволяющий оглушить злоумышленников. + .suffix = Мех оружие, Оружие, Боевое, Дробовик +ent-WeaponMechCombatShotgunIncendiary = Карабин FNX-99 "Hades" + .desc = Навесной дробовик, стреляющий зажигательными патронами. + .suffix = Мех оружие, Оружие, Боевое, Дробовик, зажигательными +ent-WeaponMechCombatUltraRifle = Ultra AC-2 + .desc = Навесной карабин, стреляющий зажигательными патронами. + .suffix = Мех оружие, Оружие, Боевое, Винтовка +ent-WeaponMechCombatMissileRack8 = Лёгкий ракетный комплекс SRM-8 + .desc = Запускает низколетящие прорывные ракеты, предназначенные для взрыва только при поражении прочной цели. + .suffix = Мех оружие, Оружие, Боевое, Лёгкие ракеты +ent-WeaponMechCombatMissileRack6 = Ракетный комплекс BRM-6 + .desc = Трубки должны загружаться снаружи. + .suffix = Мех оружие, Оружие, Боевое, Ракеты +ent-WeaponMechCombatFlashbangLauncher = Флешкамёт SGL-6 + .desc = Запускает низколетящие прорывные ракеты, предназначенные для взрыва только при поражении прочной цели. + .suffix = Мех оружие, Оружие, Боевое, Светошумовые diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/debug.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/debug.ftl new file mode 100644 index 00000000000..59fbbdd7e7d --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/debug.ftl @@ -0,0 +1,9 @@ +ent-WeaponMechDebugBallistic = Дебаг бенг + .suffix = Мех оружие, ДЕБАГ, Балистическое + .desc = { ent-BaseMechWeaponRange.desc } +ent-WeaponMechDebugLaser = Дебаг пов + .desc = Оружие, использующее свет, усиленный стимулированным излучением. + .suffix = Мех оружие, ДЕБАГ, Лазерное +ent-WeaponMechDebugDisabler = Дебаг тюу + .desc = Оружие самообороны, которое истощает органические цели, ослабляя их до тех пор, пока они не разрушатся. + .suffix = Мех оружие, ДЕБАГ, Станнер diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/industrial.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/industrial.ftl new file mode 100644 index 00000000000..a34b3b7c653 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/industrial.ftl @@ -0,0 +1,3 @@ +ent-WeaponMechIndustrialKineticAccelerator = Экзоскелетный протокинетический ускоритель частиц + .desc = Стреляет кинетическими болтами с нормальным уроном на небольшом расстоянии. + .suffix = Мех оружие, Оружие, Индустриальное, Протокинетический diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/special.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/special.ftl new file mode 100644 index 00000000000..434b7ec1950 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/gun/special.ftl @@ -0,0 +1,6 @@ +ent-WeaponMechSpecialMousetrapMortar = Мышеловочная мортира + .desc = Установленная мышеловочная мортира. + .suffix = Мех оружие, Оружие, Специальное, Мортира +ent-WeaponMechSpecialBananaMortar = Банановая мортира + .desc = Установленная мортира, стреляющая бананами. + .suffix = Мех оружие, Оружие, Специальное, Мортира diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/base.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/base.ftl new file mode 100644 index 00000000000..cfd18b25c5c --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/base.ftl @@ -0,0 +1,2 @@ +ent-BaseMechWeaponMelee = { ent-BaseMechEquipment } + .desc = { ent-BaseMechEquipment.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/combat.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/combat.ftl new file mode 100644 index 00000000000..de25e578bac --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/combat.ftl @@ -0,0 +1,3 @@ +ent-WeaponMechChainSword = Экзокостюмный цепной меч + .desc = Экипировка для боевых экзокостюмов. Это механический цепной меч, который пронзит небеса! + .suffix = Мех оружие, Ближнее, Боевое diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/debug.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/debug.ftl new file mode 100644 index 00000000000..5e52c65aac2 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/debug.ftl @@ -0,0 +1,3 @@ +ent-WeaponMechDebugMelle = Дебаг бам + .desc = Робастная штучка. + .suffix = Мех оружие, ДЕБАГ, Ближнее diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/industrial.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/industrial.ftl new file mode 100644 index 00000000000..6964e6820ab --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_goobstation/entities/objects/specific/mech/weapons/melee/industrial.ftl @@ -0,0 +1,6 @@ +ent-WeaponMechMelleDrill = Экзокостюмная дрель + .desc = Оборудование для добывающих экзокостюмов. Это бур, который пробивает скалы! + .suffix = Мех оружие, Ближнее, Индустриальное +ent-WeaponMechMelleDrillDiamond = Экзокостюмная дрель с алмазным напылением + .desc = Оборудование для добывающих экзокостюмов. Это усовершенствованная версия бура, который пробивает скалы! + .suffix = Мех оружие, Ближнее, Индустриальное diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl index 9d742eec6c0..4aef9da3790 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_lostparadise/entities/objects/specific/mech/mechs.ftl @@ -1,4 +1,2 @@ ent-LPPMechOdysseus = Одиссеус ПМ .desc = Высокоскоростный медицинский аппарат, предназначенный для перевозки тел и оказания первой медицинской помощи. ПМ в названии переводится как Полевой Медицинский. -ent-LPPMechmauler = Маулер ВТ - .desc = Узконаправленное военное вооружение, направленное на ведение долго боя с противником. ВТ в названии переводится как Военно Технический. diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml index f224c1c2bf9..47c843281a0 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml @@ -78,7 +78,7 @@ components: - type: Sprite sprite: Objects/Misc/module.rsi - state: id_mod + state: mcontroller # Goobstation - type: Tag tags: - HonkerTargetingControlModule diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index c3dc4ec0ef3..b572246a009 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -556,6 +556,15 @@ - MetempsychoticMachineCircuitboard - SalvageExpeditionsComputerCircuitboard - JukeboxCircuitBoard + # Goobstation mechs + - GygaxCentralElectronics + - GygaxPeripheralsElectronics + - GygaxTargetingElectronics + - DurandCentralElectronics + - DurandPeripheralsElectronics + - DurandTargetingElectronics + - ClarkeCentralElectronics + - ClarkePeripheralsElectronics - type: EmagLatheRecipes emagDynamicRecipes: - ShuttleGunDusterCircuitboard @@ -674,6 +683,8 @@ - RipleyRArm - RipleyLLeg - RipleyRLeg + - RipleyMKIIHarness + - RipleyUpgradeKit - MechEquipmentGrabber - HonkerHarness - HonkerLArm @@ -688,6 +699,8 @@ - HamtrLLeg - HamtrRLeg - VimHarness + - MechAirTank # Goobstation + - MechThruster # Goobstation # Begin Nyano additions - JetpackBlue - JetpackMini @@ -697,8 +710,43 @@ # - LPPDroneModuleSecurityTaser # - LPPBorgModuleAresst # - LPPBattleBorgModule + # Goobstation - Mechs + - ClarkeHarness + - ClarkeHead + - ClarkeLArm + - ClarkeRArm + - ClarkeTreads + - DurandHarness + - DurandArmor + - DurandHead + - DurandLArm + - DurandLLeg + - DurandRArm + - DurandRLeg + - GygaxHarness + - GygaxArmor + - GygaxHead + - GygaxLArm + - GygaxLLeg + - GygaxRArm + - GygaxRLeg + - MechEquipmentDrill + - MechEquipmentDrillDiamond + - MechEquipmentKineticAccelerator + - MechEquipmentHonkerBananaMortar + - MechEquipmentHonkerMousetrapMortar - type: EmagLatheRecipes - emagStaticRecipes: + emagDynamicRecipes: + - WeaponMechCombatImmolationGun + - WeaponMechCombatSolarisLaser + - WeaponMechCombatFiredartLaser + - WeaponMechCombatUltraRifle + - WeaponMechCombatShotgun + - WeaponMechCombatShotgunIncendiary + - WeaponMechCombatDisabler + - WeaponMechCombatFlashbangLauncher + - WeaponMechCombatMissileRack8 + # Lost Paradise: start - BorgModuleSyndicateWeapon - BorgModuleMartyr # Lost Paradise: end @@ -961,6 +1009,16 @@ - LPPMagazineBoxM4A1Incendiary - LPPCartridgeIncendiaryM4A1 - LPPCartridgeUraniumM4A1 + # Goobstation - Mechs + - WeaponMechCombatImmolationGun + - WeaponMechCombatSolarisLaser + - WeaponMechCombatFiredartLaser + - WeaponMechCombatUltraRifle + - WeaponMechCombatShotgun + - WeaponMechCombatShotgunIncendiary + - WeaponMechCombatDisabler + - WeaponMechCombatFlashbangLauncher + - WeaponMechCombatMissileRack8 # End of modified code - type: MaterialStorage whitelist: diff --git a/Resources/Prototypes/Recipes/Lathes/categories.yml b/Resources/Prototypes/Recipes/Lathes/categories.yml index 8faa67af1b3..107bf04777d 100644 --- a/Resources/Prototypes/Recipes/Lathes/categories.yml +++ b/Resources/Prototypes/Recipes/Lathes/categories.yml @@ -10,10 +10,6 @@ id: Lights name: lathe-category-lights -- type: latheCategory - id: Mech - name: lathe-category-mechs - - type: latheCategory id: Parts name: lathe-category-parts diff --git a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml index 4f9f84d0dc8..ba0bfbc7f46 100644 --- a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml +++ b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml @@ -2,7 +2,7 @@ - type: latheRecipe id: RipleyHarness result: RipleyHarness - category: Mech + category: Ripley # Goobstation completetime: 10 materials: Steel: 1500 @@ -11,7 +11,7 @@ - type: latheRecipe id: RipleyLArm result: RipleyLArm - category: Mech + category: Ripley # Goobstation completetime: 10 materials: Steel: 1000 @@ -20,7 +20,7 @@ - type: latheRecipe id: RipleyLLeg result: RipleyLLeg - category: Mech + category: Ripley # Goobstation completetime: 10 materials: Steel: 1000 @@ -29,7 +29,7 @@ - type: latheRecipe id: RipleyRLeg result: RipleyRLeg - category: Mech + category: Ripley # Goobstation completetime: 10 materials: Steel: 1000 @@ -38,26 +38,17 @@ - type: latheRecipe id: RipleyRArm result: RipleyRArm - category: Mech + category: Ripley # Goobstation completetime: 10 materials: Steel: 1000 Glass: 750 -- type: latheRecipe - id: MechEquipmentGrabber - result: MechEquipmentGrabber - category: Mech - completetime: 10 - materials: - Steel: 500 - Plastic: 200 - # H.O.N.K. - type: latheRecipe id: HonkerHarness result: HonkerHarness - category: Mech + category: Honker # Goobstation completetime: 10 materials: Steel: 3000 @@ -67,7 +58,7 @@ - type: latheRecipe id: HonkerLArm result: HonkerLArm - category: Mech + category: Honker # Goobstation completetime: 10 materials: Steel: 3000 @@ -77,7 +68,7 @@ - type: latheRecipe id: HonkerLLeg result: HonkerLLeg - category: Mech + category: Honker # Goobstation completetime: 10 materials: Steel: 3000 @@ -87,7 +78,7 @@ - type: latheRecipe id: HonkerRLeg result: HonkerRLeg - category: Mech + category: Honker # Goobstation completetime: 10 materials: Steel: 3000 @@ -97,27 +88,18 @@ - type: latheRecipe id: HonkerRArm result: HonkerRArm - category: Mech + category: Honker # Goobstation completetime: 10 materials: Steel: 3000 Glass: 1200 Bananium: 500 -- type: latheRecipe - id: MechEquipmentHorn - result: MechEquipmentHorn - category: Mech - completetime: 10 - materials: - Steel: 500 - Bananium: 200 - # HAMTR - type: latheRecipe id: HamtrHarness result: HamtrHarness - category: Mech + category: Hamptr # Goobstation completetime: 10 materials: Steel: 1200 @@ -126,7 +108,7 @@ - type: latheRecipe id: HamtrLArm result: HamtrLArm - category: Mech + category: Hamptr # Goobstation completetime: 10 materials: Steel: 800 @@ -135,7 +117,7 @@ - type: latheRecipe id: HamtrLLeg result: HamtrLLeg - category: Mech + category: Hamptr # Goobstation completetime: 10 materials: Steel: 800 @@ -144,7 +126,7 @@ - type: latheRecipe id: HamtrRLeg result: HamtrRLeg - category: Mech + category: Hamptr # Goobstation completetime: 10 materials: Steel: 800 @@ -153,7 +135,7 @@ - type: latheRecipe id: HamtrRArm result: HamtrRArm - category: Mech + category: Hamptr # Goobstation completetime: 10 materials: Steel: 800 @@ -162,18 +144,17 @@ - type: latheRecipe id: MechEquipmentGrabberSmall result: MechEquipmentGrabberSmall - category: Mech + category: MechEquipment # Goobstation completetime: 10 materials: Steel: 400 Plastic: 100 -# Vim - type: latheRecipe - id: VimHarness - result: VimHarness - category: Mech - completetime: 5 + id: MechEquipmentHorn + result: MechEquipmentHorn + category: MechEquipment + completetime: 10 materials: Steel: 500 - Glass: 200 + Bananium: 200 diff --git a/Resources/Prototypes/Research/arsenal.yml b/Resources/Prototypes/Research/arsenal.yml index 7a6d63ee14a..15d03aebaa0 100644 --- a/Resources/Prototypes/Research/arsenal.yml +++ b/Resources/Prototypes/Research/arsenal.yml @@ -12,6 +12,7 @@ recipeUnlocks: - WeaponProtoKineticAccelerator - ShuttleGunKineticCircuitboard + - MechEquipmentKineticAccelerator # Goobstation # These are roundstart but not replenishable for salvage - type: technology @@ -54,6 +55,7 @@ cost: 7500 recipeUnlocks: - WeaponLaserCarbine + - WeaponMechCombatFiredartLaser # Goobstation - type: technology id: NonlethalAmmunition @@ -85,6 +87,7 @@ - LPPMagazineBoxM4A1Rubber - LPPMagazinePistolPF20Rubber - LPPMagazineM4A1Rubber + - WeaponMechCombatDisabler # Goobstation # End of modified code - type: technology @@ -163,6 +166,7 @@ cost: 10000 recipeUnlocks: - WeaponLaserCannon + - WeaponMechCombatSolarisLaser # Goobstation - type: technology id: WaveParticleHarnessing @@ -212,6 +216,7 @@ recipeUnlocks: - WeaponAdvancedLaser - PortableRecharger + - WeaponMechCombatImmolationGun # Goobstation - type: technology id: ExperimentalBatteryAmmo diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml index b5c4069125c..65f21bc7c6d 100644 --- a/Resources/Prototypes/Research/industrial.yml +++ b/Resources/Prototypes/Research/industrial.yml @@ -16,6 +16,7 @@ - OreBagOfHolding - ClothingMaskWeldingGas - SalvageExpeditionsComputerCircuitboard + - MechEquipmentDrill # Goobstation - type: technology id: AdvancedPowercells diff --git a/Resources/Prototypes/_Goobstation/Damage/modifier_sets.yml b/Resources/Prototypes/_Goobstation/Damage/modifier_sets.yml new file mode 100644 index 00000000000..2e46f9ce396 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Damage/modifier_sets.yml @@ -0,0 +1,73 @@ +# Mech armor +- type: damageModifierSet + id: ThinArmor + coefficients: + Blunt: 0.8 + Slash: 0.8 + Piercing: 0.9 + Shock: 1.2 + Heat: 0.8 + flatReductions: + Blunt: 3 + Heat: 2 + +- type: damageModifierSet + id: LightArmor + coefficients: + Blunt: 0.75 + Slash: 0.75 + Piercing: 0.7 + Shock: 1.2 + Heat: 0.7 + flatReductions: + Blunt: 5 + Heat: 5 + +- type: damageModifierSet + id: MediumArmorNT + coefficients: + Blunt: 0.6 + Slash: 0.6 + Piercing: 0.65 + Shock: 1.4 + Heat: 0.7 + flatReductions: + Blunt: 8 + Heat: 10 + +- type: damageModifierSet + id: HeavyArmorNT + coefficients: + Blunt: 0.5 + Slash: 0.5 + Piercing: 0.35 + Shock: 1.8 + Heat: 0.6 + flatReductions: + Blunt: 15 + Heat: 15 + +- type: damageModifierSet + id: MediumArmorSyndi + coefficients: + Blunt: 0.6 + Slash: 0.6 + Piercing: 0.6 + Shock: 1.4 + Heat: 0.75 + flatReductions: + Blunt: 8 + Heat: 5 + +- type: damageModifierSet + id: HeavyArmorSyndi + coefficients: + Blunt: 0.5 + Slash: 0.5 + Piercing: 0.4 + Shock: 1.8 + Heat: 0.7 + flatReductions: + Blunt: 10 + Heat: 7 + diff --git a/Resources/Prototypes/_Goobstation/Entities/Markers/Spawners/mechs.yml b/Resources/Prototypes/_Goobstation/Entities/Markers/Spawners/mechs.yml new file mode 100644 index 00000000000..300ff0ceaa3 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Markers/Spawners/mechs.yml @@ -0,0 +1,186 @@ +- type: entity + name: Ripley APLU MK-II Spawner + id: SpawnMechRipley2 + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: ripleymkii + - type: ConditionalSpawner + prototypes: + - MechRipley2Battery + +- type: entity + name: H.O.N.K. Spawner + suffix: Filled + id: SpawnMechHonkerFilled + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: honker + - type: ConditionalSpawner + prototypes: + - MechHonkerFilled + +- type: entity + name: Clarke Spawner + id: SpawnMechClarke + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: clarke + - type: ConditionalSpawner + prototypes: + - MechClarkeBattery + +- type: entity + name: Gygax Spawner + id: SpawnMechGygax + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: gygax + - type: ConditionalSpawner + prototypes: + - MechGygaxBattery + +- type: entity + name: Durand Spawner + id: SpawnMechDurand + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: durand + - type: ConditionalSpawner + prototypes: + - MechDurandBattery + +- type: entity + name: Marauder Spawner + id: SpawnMechMarauder + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: marauder + - type: ConditionalSpawner + prototypes: + - MechMarauderBattery + +- type: entity + name: Marauder Spawner + suffix: Filled + id: SpawnMechMarauderFilled + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: marauder + - type: ConditionalSpawner + prototypes: + - MechMarauderFilled + +- type: entity + name: Seraph Spawner + id: SpawnMechSeraph + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: seraph + - type: ConditionalSpawner + prototypes: + - MechSeraphBattery + +- type: entity + name: Seraph Spawner + suffix: Filled + id: SpawnMechSeraphFilled + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: seraph + - type: ConditionalSpawner + prototypes: + - MechSeraphFilled + +- type: entity + name: Dark Gygax Spawner + id: SpawnMechGygaxSyndie + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: darkgygax + - type: ConditionalSpawner + prototypes: + - MechGygaxSyndieBattery + +- type: entity + name: Dark Gygax Spawner + suffix: Filled + id: SpawnMechGygaxSyndieFilled + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: darkgygax + - type: ConditionalSpawner + prototypes: + - MechGygaxSyndieFilled + +- type: entity + name: Mauler Spawner + id: SpawnMechMaulerSyndie + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: mauler + - type: ConditionalSpawner + prototypes: + - MechMaulerSyndieBattery + +- type: entity + name: Mauler Spawner + suffix: Filled + id: SpawnMechMaulerSyndieFilled + parent: MarkerBase + components: + - type: Sprite + layers: + - state: green + - sprite: Objects/Specific/Mech/mecha.rsi + state: mauler + - type: ConditionalSpawner + prototypes: + - MechMaulerSyndieFilled diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Electronics/exosuit_components.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Electronics/exosuit_components.yml new file mode 100644 index 00000000000..08c7740bdf6 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Electronics/exosuit_components.yml @@ -0,0 +1,104 @@ +- type: entity + id: BaseExosuitParts + parent: BaseItem + name: base components + abstract: true + components: + - type: Item + storedRotation: -90 + size: Ginormous + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_camera + - type: StaticPrice + price: 100 + - type: PhysicalComposition + materialComposition: + Steel: 200 + +- type: entity + id: DurandArmorPlate + parent: BaseExosuitParts + name: durand armor plates + description: Armor plates made of plasteel for Durand exosuit. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: _Goobstation/Objects/Specific/Mech/durand_construction.rsi + state: durand_armor + - type: Tag + tags: + - DurandArmor + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: GygaxArmorPlate + parent: BaseExosuitParts + name: gygax armor plates + description: Armor plates made of steel for Gygax exosuit. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: _Goobstation/Objects/Specific/Mech/gygax_construction.rsi + state: gygax_armor + - type: Tag + tags: + - GygaxArmor + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: RipleyUpgradeKit + parent: BaseExosuitParts + name: exosuit upgrade kit + description: This kit allows you to assemble an exosuit Ripley MK-II. + components: + - type: Item + storedRotation: 0 + - type: Sprite + state: ripleyupgrade + - type: Tag + tags: + - RipleyMKIIUpgradeKit + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: MechAirTank + parent: BaseExosuitParts + name: exosuit air tank + description: A special air canister capable of holding a large amount of air. + components: + - type: Item + storedRotation: 0 + - type: Sprite + state: mecha_air_tank + - type: Tag + tags: + - MechAirTank + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: MechThruster + parent: BaseExosuitParts + name: exosuit thruster + description: A thruster with which the exosuit can safely move in the absence of gravity. + components: + - type: Item + storedRotation: 0 + - type: Sprite + state: mecha_bin + - type: Tag + tags: + - MechThruster + - type: GuideHelp + guides: + - Robotics diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Electronics/mech.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Electronics/mech.yml new file mode 100644 index 00000000000..b76adace4f6 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Devices/Electronics/mech.yml @@ -0,0 +1,139 @@ +# Clarke + +- type: entity + id: ClarkeCentralElectronics + parent: BaseElectronics + name: clarke central control module + description: The electrical control center for the clarke mech. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mainboard + - type: Tag + tags: + - ClarkeCentralControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: ClarkePeripheralsElectronics + parent: BaseElectronics + name: clarke peripherals control module + description: The electrical peripherals control for the clarke mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: id_mod + - type: Tag + tags: + - ClarkePeripheralsControlModule + - type: GuideHelp + guides: + - Robotics + +# Gygax + +- type: entity + id: GygaxCentralElectronics + parent: BaseElectronics + name: gygax central control module + description: The electrical control center for the gygax mech. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mainboard + - type: Tag + tags: + - GygaxCentralControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: GygaxPeripheralsElectronics + parent: BaseElectronics + name: gygax peripherals control module + description: The electrical peripherals control for the gygax mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: id_mod + - type: Tag + tags: + - GygaxPeripheralsControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: GygaxTargetingElectronics + parent: BaseElectronics + name: gygax weapon control and targeting module + description: The electrical targeting control for the gygax mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mcontroller + - type: Tag + tags: + - GygaxTargetingControlModule + - type: GuideHelp + guides: + - Robotics + +# Durand + +- type: entity + id: DurandCentralElectronics + parent: BaseElectronics + name: durand central control module + description: The electrical control center for the durand mech. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mainboard + - type: Tag + tags: + - DurandCentralControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: DurandPeripheralsElectronics + parent: BaseElectronics + name: durand peripherals control module + description: The electrical peripherals control for the durand mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: id_mod + - type: Tag + tags: + - DurandPeripheralsControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: DurandTargetingElectronics + parent: BaseElectronics + name: durand weapon control and targeting module + description: The electrical targeting control for the durand mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mcontroller + - type: Tag + tags: + - DurandTargetingControlModule + - type: GuideHelp + guides: + - Robotics diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/base.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/base.yml new file mode 100644 index 00000000000..f4b8f23f12d --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/base.yml @@ -0,0 +1,18 @@ +- type: entity + id: BaseMechWeaponRange + parent: BaseMechEquipment + abstract: true + components: + - type: Battery + maxCharge: 100 # Battery is charged by mech + startingCharge: 100 + - type: Appearance + - type: StaticPrice + price: 1 + - type: Item + size: Ginormous + - type: MultiHandedItem + - type: ClothingSpeedModifier + walkModifier: 0.5 + sprintModifier: 0.5 + - type: HeldSpeedModifier \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml new file mode 100644 index 00000000000..0e83e5ec784 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml @@ -0,0 +1,306 @@ +- type: entity + id: WeaponMechCombatPulseRifle + name: eZ-14 mk2 Heavy pulse rifle + description: Fires a heavy pulse laser. + suffix: Mech Weapon, Gun, Combat, Pulse + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_pulse + - type: Gun + fireRate: 1.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser3.ogg + - type: HitscanBatteryAmmoProvider + proto: Pulse + fireCost: 40 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatImmolationGun + name: ZFI Immolation Beam Gun + description: A gun for battlemechs, firing high-temperature beams. + suffix: Mech Weapon, Gun, Combat, Laser + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_laser + - type: Gun + fireRate: 1.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg + - type: HitscanBatteryAmmoProvider + proto: RedHeavyLaser + fireCost: 30 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatSolarisLaser + name: CH-LC "Solaris" laser cannon + description: An experimental combat mounted laser beam that fires far faster than the "Firedart" but at a much higer cost. + suffix: Mech Weapon, Gun, Combat, Laser + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_laser + - type: Gun + fireRate: 3 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + - type: HitscanBatteryAmmoProvider + proto: RedMediumLaser + fireCost: 30 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatFiredartLaser + name: CH-PS "Firedart" Laser + description: The standard combat armament of the mechs is a combat mounted laser. + suffix: Mech Weapon, Gun, Combat, Laser + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_laser + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + - type: HitscanBatteryAmmoProvider + proto: RedLaser + fireCost: 10 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatTeslaCannon + name: P-X Tesla Cannon + description: A weapon for combat mechs, firing energy balls, based on the principle of an experimental Tesla engine. + suffix: Mech Weapon, Gun, Combat, Tesla + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_wholegen + - type: Gun + projectileSpeed: 6 + fireRate: 0.4 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Effects/Lightning/lightningshock.ogg + params: + variation: 0.2 + - type: ProjectileBatteryAmmoProvider + proto: TeslaGunBullet + fireCost: 99 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatDisabler + name: CH-PD Disabler + description: A non-lethal mounted stun gun that allows you to immobilize intruders. + suffix: Mech Weapon, Gun, Combat, Disabler + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_disabler + - type: Gun + fireRate: 5 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/taser2.ogg + - type: ProjectileBatteryAmmoProvider + proto: BulletDisabler + fireCost: 10 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatTaser + name: PBT "Pacifier" Mounted Taser + description: A mounted non-lethal taser that allows you to stun intruders. + suffix: Mech Weapon, Gun, Combat, Disabler, admeme + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_taser + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/taser2.ogg + - type: ProjectileBatteryAmmoProvider + proto: BulletTaser + fireCost: 19 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatShotgun + name: LBX AC 10 "Scattershot" + description: A mounted non-lethal taser that allows you to stun intruders. + suffix: Mech Weapon, Gun, Combat, Shotgun + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_scatter + - type: Gun + fireRate: 1.5 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/shotgun.ogg + - type: ProjectileBatteryAmmoProvider + proto: ShellShotgun + fireCost: 30 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatShotgunIncendiary + name: FNX-99 "Hades" Carbine + description: Mounted carbine, firing incendiary cartridges. + suffix: Mech Weapon, Gun, Combat, Shotgun, Incendiary + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_carbine + - type: Gun + fireRate: 1.2 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/shotgun.ogg + - type: ProjectileBatteryAmmoProvider + proto: ShellShotgunIncendiary + fireCost: 40 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatUltraRifle + name: Ultra AC-2 + description: Mounted carbine, firing incendiary cartridges. + suffix: Mech Weapon, Gun, Combat, Rifle + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_uac2 + - type: Gun + fireRate: 6 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/shotgun.ogg + - type: ProjectileBatteryAmmoProvider + proto: CartridgeLightRifle + fireCost: 5 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatMissileRack8 + name: SRM-8 Light Missile Rack + description: Launches low-explosive breaching missiles designed to explode only when striking a sturdy target. + suffix: Mech Weapon, Gun, Combat, Light Missile + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_missilerack + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg + - type: ProjectileBatteryAmmoProvider + proto: BulletWeakRocket + fireCost: 25 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatMissileRack6 + name: BRM-6 Missile Rack + description: Tubes must be reloaded from the outside. + suffix: Mech Weapon, Gun, Combat, Missile + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_missilerack_six + - type: Gun + fireRate: 0.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg + - type: ProjectileBatteryAmmoProvider + proto: GrenadeBlast + fireCost: 300 + - type: Battery + maxCharge: 300 # Battery is charged by mech + startingCharge: 300 + - type: Appearance + - type: AmmoCounter + +- type: entity + id: WeaponMechCombatFlashbangLauncher + name: SGL-6 Flashbang Launcher + description: Launches low-explosive breaching missiles designed to explode only when striking a sturdy target. + suffix: Mech Weapon, Gun, Combat, Flashbang + parent: [ BaseMechWeaponRange, CombatMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_grenadelnchr + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg + - type: ProjectileBatteryAmmoProvider + proto: GrenadeFlash + fireCost: 30 + - type: Appearance + - type: AmmoCounter diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/debug.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/debug.yml new file mode 100644 index 00000000000..c98fdc92e32 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/debug.yml @@ -0,0 +1,98 @@ +- type: entity + id: WeaponMechDebugBallistic + parent: [ BaseMechWeaponRange, DebugMechEquipment ] # Debug equipment does have all whitelist tags. + suffix: Mech Weapon, DEBUG, Ballistic + name: debug bang + components: + - type: Sprite + sprite: Objects/Weapons/Guns/SMGs/c20r.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-0 + map: ["enum.GunVisualLayers.Mag"] + - type: Gun + minAngle: 24 + maxAngle: 45 + angleIncrease: 4 + angleDecay: 16 + fireRate: 5 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/lmg.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg + - type: AmmoCounter + - type: ProjectileBatteryAmmoProvider + proto: CartridgeLightRifle + fireCost: 9 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: true + - type: Appearance + +- type: entity + id: WeaponMechDebugLaser + name: debug pow + suffix: Mech Weapon, DEBUG, Laser + parent: [ BaseMechWeaponRange, DebugMechEquipment ] + description: A weapon using light amplified by the stimulated emission of radiation. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-unshaded-4 + map: ["enum.GunVisualLayers.MagUnshaded"] + shader: unshaded + - type: HitscanBatteryAmmoProvider + proto: RedMediumLaser + fireCost: 19 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: true + - type: Gun + fireRate: 2 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + - type: AmmoCounter + +- type: entity + id: WeaponMechDebugDisabler + name: debug tew + description: A self-defense weapon that exhausts organic targets, weakening them until they collapse. + suffix: Mech Weapon, DEBUG, Disabler + parent: [ BaseMechWeaponRange, DebugMechEquipment ] + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Battery/disabler.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-unshaded-0 + map: ["enum.GunVisualLayers.MagUnshaded"] + shader: unshaded + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/taser2.ogg + - type: ProjectileBatteryAmmoProvider + proto: BulletDisabler + fireCost: 19 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: true + - type: Appearance + - type: AmmoCounter diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/industrial.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/industrial.yml new file mode 100644 index 00000000000..e1d37125727 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/industrial.yml @@ -0,0 +1,23 @@ +- type: entity + id: WeaponMechIndustrialKineticAccelerator + name: exosuit proto-kinetic accelerator + description: Fires normal-damage kinetic bolts at a short range. + suffix: Mech Weapon, Gun, Industrial, Kinetic Accelerator + parent: [ BaseMechWeaponRange, IndustrialMechEquipment ] + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_kineticgun + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg + - type: ProjectileBatteryAmmoProvider + proto: BulletKineticShuttle + fireCost: 50 + - type: Appearance + - type: AmmoCounter +# TODO: Plasma Cutter diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/special.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/special.yml new file mode 100644 index 00000000000..77d5ac3af42 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Gun/special.yml @@ -0,0 +1,55 @@ +- type: entity + id: WeaponMechSpecialMousetrapMortar + parent: [ BaseMechWeaponRange, SpecialMechEquipment ] + suffix: Mech Weapon, Gun, Special, Mortar + name: mousetrap mortar + description: Mounted mousetrap launcher. + components: + - type: Sprite + state: mecha_mousetrapmrtr + - type: Gun + minAngle: 24 + maxAngle: 45 + angleIncrease: 4 + angleDecay: 16 + fireRate: 0.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg + - type: AmmoCounter + - type: ProjectileBatteryAmmoProvider + proto: MousetrapArmed + fireCost: 100 + - type: Appearance + +- type: entity + id: WeaponMechSpecialBananaMortar + parent: [ BaseMechWeaponRange, SpecialMechEquipment ] + suffix: Mech Weapon, Gun, Special, Mortar + name: banana mortar + description: Mounted banana peel launcher. + components: + - type: Sprite + state: mecha_bananamrtr + - type: Gun + minAngle: 24 + maxAngle: 25 + angleIncrease: 4 + angleDecay: 16 + fireRate: 0.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg + - type: AmmoCounter + - type: ProjectileBatteryAmmoProvider + proto: TrashBananaPeel + fireCost: 100 + - type: Appearance diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/base.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/base.yml new file mode 100644 index 00000000000..92915ce39a0 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/base.yml @@ -0,0 +1,15 @@ +- type: entity + id: BaseMechWeaponMelee + parent: BaseMechEquipment + abstract: true + components: + - type: Appearance + - type: StaticPrice + price: 1 + - type: Item + size: Ginormous + - type: MultiHandedItem + - type: ClothingSpeedModifier + walkModifier: 0.5 + sprintModifier: 0.5 + - type: HeldSpeedModifier diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml new file mode 100644 index 00000000000..dcb7ecfb45c --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/combat.yml @@ -0,0 +1,20 @@ +- type: entity + id: WeaponMechChainSword + parent: [ BaseMechWeaponMelee, CombatMechEquipment ] + name: exosuit chainsword + suffix: Mech Weapon, Melee, Combat + description: Equipment for combat exosuits. This is the mechanical chainsword that'll pierce the heavens! + components: + - type: Sprite + state: mecha_chainsword + - type: MeleeWeapon + autoAttack: true + angle: 0 + wideAnimationRotation: -90 + soundHit: + path: "/Audio/Weapons/chainsaw.ogg" + attackRate: 3.5 + damage: + types: + Structural: 35 + Piercing: 15 diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/debug.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/debug.yml new file mode 100644 index 00000000000..5ffd975e44c --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/debug.yml @@ -0,0 +1,18 @@ +- type: entity + id: WeaponMechDebugMelle + parent: [ BaseMechWeaponMelee, DebugMechEquipment ] # Debug equipment does have all whitelist tags. + name: debug bam + suffix: Mech Weapon, DEBUG, Melee + description: A robust thing. + components: + - type: Sprite + state: paddy_claw + - type: MeleeWeapon + hidden: true + attackRate: 0.75 + damage: + types: + Blunt: 40 + Structural: 20 + soundHit: + collection: MetalThud diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/industrial.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/industrial.yml new file mode 100644 index 00000000000..89cd78520e1 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/Weapons/Melee/industrial.yml @@ -0,0 +1,51 @@ +- type: entity + id: WeaponMechMelleDrill + parent: BaseMechWeaponMelee + name: exosuit drill + suffix: Mech Weapon, Melee, Industrial + description: Equipment for mining exosuits. This is the drill that'll pierce the rocks! + components: + - type: Sprite + state: mecha_drill + - type: Tag + tags: + - Pickaxe + - IndustrialMech + - type: MeleeWeapon + autoAttack: true + angle: 0 + wideAnimationRotation: -90 + soundHit: + path: "/Audio/Items/drill_hit.ogg" + attackRate: 3.5 + damage: + groups: + Brute: 9 + types: + Structural: 40 # ~10 seconds for solid wall / ~21 secods for reinforced wall + +- type: entity + id: WeaponMechMelleDrillDiamond + parent: BaseMechWeaponMelee + name: diamond-tipped exosuit drill + suffix: Mech Weapon, Melee, Industrial + description: Equipment for mining exosuits. This is an upgraded version of the drill that'll pierce the rocks! + components: + - type: Sprite + state: mecha_diamond_drill + - type: Tag + tags: + - Pickaxe + - IndustrialMech + - type: MeleeWeapon + autoAttack: true + angle: 0 + wideAnimationRotation: -90 + soundHit: + path: "/Audio/Items/drill_hit.ogg" + attackRate: 4 + damage: + groups: + Brute: 18 + types: + Structural: 60 # ~3 seconds for solid wall / 9 seconds for reinforced wall diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mech_construction.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mech_construction.yml new file mode 100644 index 00000000000..bfe7f488922 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mech_construction.yml @@ -0,0 +1,494 @@ +# Ripley MK-II + +- type: entity + id: BaseRipleyMKIIPart + parent: BaseMechPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: _Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi + +- type: entity + parent: BaseRipleyMKIIPart + id: RipleyMKIIHarness + name: ripley MK-II harness + description: The core of the Ripley MK-II. + components: + - type: Appearance + - type: ItemMapper + mapLayers: + ripleymkii_upgrade_kit+o: + whitelist: + tags: + - RipleyMKIIUpgradeKit + ripleymkii_l_arm+o: + whitelist: + tags: + - RipleyLArm + ripleymkii_r_arm+o: + whitelist: + tags: + - RipleyRArm + ripleymkii_l_leg+o: + whitelist: + tags: + - RipleyLLeg + ripleymkii_r_leg+o: + whitelist: + tags: + - RipleyRLeg + sprite: _Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: RipleyMKIIChassis + requiredParts: + RipleyMKIIUpgradeKit: false + RipleyLArm: false + RipleyRArm: false + RipleyLLeg: false + RipleyRLeg: false + - type: Sprite + state: ripleymkii_harness+o + noRot: true + +- type: entity + id: RipleyMKIIChassis + parent: BaseRipleyMKIIPart + name: ripley MK-II chassis + description: An in-progress construction of the Ripley MK-II mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: ripleymkii + - type: Sprite + noRot: true + state: ripleymkii0 + - type: Construction + graph: RipleyMKII + node: start + defaultTarget: ripleymkii + +# Clarke + +- type: entity + id: BaseClarkePart + parent: BaseMechPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: _Goobstation/Objects/Specific/Mech/clarke_construction.rsi + +- type: entity + id: BaseClarkePartItem + parent: BaseClarkePart + abstract: true + components: + - type: Item + size: Ginormous + +- type: entity + parent: BaseClarkePart + id: ClarkeHarness + name: clarke harness + description: The core of the Clarke. + components: + - type: Appearance + - type: ItemMapper + mapLayers: + clarke_head+o: + whitelist: + tags: + - ClarkeHead + clarke_r_arm+o: + whitelist: + tags: + - ClarkeLArm + clarke_l_arm+o: + whitelist: + tags: + - ClarkeRArm + clarke_treads+o: + whitelist: + tags: + - ClarkeTreads + sprite: _Goobstation/Objects/Specific/Mech/clarke_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: ClarkeChassis + requiredParts: + ClarkeHead: false + ClarkeLArm: false + ClarkeRArm: false + ClarkeTreads: false + - type: Sprite + state: clarke_harness+o + noRot: true + +- type: entity + parent: BaseClarkePartItem + id: ClarkeHead + name: clarke head + description: The head of the Clarke. It belongs on the chassis of the mech. + components: + - type: Sprite + state: clarke_head + - type: Tag + tags: + - ClarkeHead + +- type: entity + parent: BaseClarkePartItem + id: ClarkeRArm + name: clarke right arm + description: The right arm of the Clarke. It belongs on the chassis of the mech. + components: + - type: Sprite + state: clarke_l_arm + - type: Tag + tags: + - ClarkeRArm + +- type: entity + parent: BaseClarkePartItem + id: ClarkeLArm + name: clarke left arm + description: The left arm of the Clarke. It belongs on the chassis of the mech. + components: + - type: Sprite + state: clarke_r_arm + - type: Tag + tags: + - ClarkeLArm + +- type: entity + parent: BaseClarkePartItem + id: ClarkeTreads + name: clarke treads + description: The treads of the Clarke. It belongs on the chassis of the mech. + components: + - type: Sprite + state: clarke_treads + - type: Tag + tags: + - ClarkeTreads + +- type: entity + id: ClarkeChassis + parent: BaseClarkePart + name: clarke chassis + description: An in-progress construction of the Clarke mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: clarke + - type: Sprite + noRot: true + state: clarke0 + - type: Construction + graph: Clarke + node: start + defaultTarget: clarke + +# Durand + +- type: entity + id: BaseDurandPart + parent: BaseMechPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: _Goobstation/Objects/Specific/Mech/durand_construction.rsi + +- type: entity + id: BaseDurandPartItem + parent: BaseDurandPart + abstract: true + components: + - type: Item + size: Ginormous + +- type: entity + parent: BaseDurandPart + id: DurandHarness + name: durand harness + description: The core of the Durand. + components: + - type: Appearance + - type: ItemMapper + mapLayers: + durand_head+o: + whitelist: + tags: + - DurandHead + durand_l_arm+o: + whitelist: + tags: + - DurandLArm + durand_r_arm+o: + whitelist: + tags: + - DurandRArm + durand_l_leg+o: + whitelist: + tags: + - DurandLLeg + durand_r_leg+o: + whitelist: + tags: + - DurandRLeg + sprite: _Goobstation/Objects/Specific/Mech/durand_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: DurandChassis + requiredParts: + DurandHead: false + DurandLArm: false + DurandRArm: false + DurandLLeg: false + DurandRLeg: false + - type: Sprite + state: durand_harness+o + noRot: true + +- type: entity + parent: BaseDurandPartItem + id: DurandHead + name: durand head + description: The head of the Durand. It belongs on the chassis of the mech. + components: + - type: Sprite + state: durand_head + - type: Tag + tags: + - DurandHead + +- type: entity + parent: BaseDurandPartItem + id: DurandLArm + name: durand left arm + description: The left arm of the Durand. It belongs on the chassis of the mech. + components: + - type: Sprite + state: durand_l_arm + - type: Tag + tags: + - DurandLArm + +- type: entity + parent: BaseDurandPartItem + id: DurandLLeg + name: durand left leg + description: The left leg of the Durand. It belongs on the chassis of the mech. + components: + - type: Sprite + state: durand_l_leg + - type: Tag + tags: + - DurandLLeg + +- type: entity + parent: BaseDurandPartItem + id: DurandRLeg + name: durand right leg + description: The right leg of the Durand. It belongs on the chassis of the mech. + components: + - type: Sprite + state: durand_r_leg + - type: Tag + tags: + - DurandRLeg + +- type: entity + parent: BaseDurandPartItem + id: DurandRArm + name: durand right arm + description: The right arm of the Durand. It belongs on the chassis of the mech. + components: + - type: Sprite + state: durand_r_arm + - type: Tag + tags: + - DurandRArm + +- type: entity + id: DurandChassis + parent: BaseDurandPart + name: durand chassis + description: An in-progress construction of the Durand mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: durand + - type: Sprite + noRot: true + state: durand0 + - type: Construction + graph: Durand + node: start + defaultTarget: durand + +# Gygax + +- type: entity + id: BaseGygaxPart + parent: BaseMechPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: _Goobstation/Objects/Specific/Mech/gygax_construction.rsi + +- type: entity + id: BaseGygaxPartItem + parent: BaseGygaxPart + abstract: true + components: + - type: Item + size: Ginormous + +- type: entity + parent: BaseGygaxPart + id: GygaxHarness + name: gygax harness + description: The core of the Gygax. + components: + - type: Appearance + - type: ItemMapper + mapLayers: + gygax_head+o: + whitelist: + tags: + - GygaxHead + gygax_l_arm+o: + whitelist: + tags: + - GygaxLArm + gygax_r_arm+o: + whitelist: + tags: + - GygaxRArm + gygax_l_leg+o: + whitelist: + tags: + - GygaxLLeg + gygax_r_leg+o: + whitelist: + tags: + - GygaxRLeg + sprite: _Goobstation/Objects/Specific/Mech/gygax_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: GygaxChassis + requiredParts: + GygaxHead: false + GygaxLArm: false + GygaxRArm: false + GygaxLLeg: false + GygaxRLeg: false + - type: Sprite + state: gygax_harness+o + noRot: true + +- type: entity + parent: BaseGygaxPartItem + id: GygaxHead + name: gygax head + description: The head of the Gygax. It belongs on the chassis of the mech. + components: + - type: Sprite + state: gygax_head + - type: Tag + tags: + - GygaxHead + +- type: entity + parent: BaseGygaxPartItem + id: GygaxLArm + name: gygax left arm + description: The left arm of the Gygax. It belongs on the chassis of the mech. + components: + - type: Sprite + state: gygax_l_arm + - type: Tag + tags: + - GygaxLArm + +- type: entity + parent: BaseGygaxPartItem + id: GygaxLLeg + name: gygax left leg + description: The left leg of the Gygax. It belongs on the chassis of the mech. + components: + - type: Sprite + state: gygax_l_leg + - type: Tag + tags: + - GygaxLLeg + +- type: entity + parent: BaseGygaxPartItem + id: GygaxRLeg + name: gygax right leg + description: The right leg of the Gygax. It belongs on the chassis of the mech. + components: + - type: Sprite + state: gygax_r_leg + - type: Tag + tags: + - GygaxRLeg + +- type: entity + parent: BaseGygaxPartItem + id: GygaxRArm + name: gygax right arm + description: The right arm of the Gygax. It belongs on the chassis of the mech. + components: + - type: Sprite + state: gygax_r_arm + - type: Tag + tags: + - GygaxRArm + +- type: entity + id: GygaxChassis + parent: BaseGygaxPart + name: gygax chassis + description: An in-progress construction of the Gygax mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: gygax + - type: Sprite + noRot: true + state: gygax0 + - type: Construction + graph: Gygax + node: start + defaultTarget: gygax diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mecha_equipment.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mecha_equipment.yml new file mode 100644 index 00000000000..101c1036fb4 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mecha_equipment.yml @@ -0,0 +1,53 @@ +- type: entity + id: DebugMechEquipment + abstract: true + suffix: DEBUG + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - CombatMech + - IndustrialMech + - SpecialMech + - SmallMech + +- type: entity + id: CombatMechEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - CombatMech + - type: StaticPrice + price: 500 + +- type: entity + id: IndustrialMechEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - IndustrialMech + - type: StaticPrice + price: 250 + +- type: entity + id: SpecialMechEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - SpecialMech + +- type: entity + id: SmallMechEquipment + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Tag + tags: + - SmallMech +# TODO: Make medical mech with equipment. diff --git a/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mechs.yml new file mode 100644 index 00000000000..8fda54a7eda --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Mech/mechs.yml @@ -0,0 +1,566 @@ +- type: entity + id: CombatMech + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - CombatMech + +- type: entity + id: IndustrialMech + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - IndustrialMech + +- type: entity + id: SpecialMech + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - SpecialMech + +- type: entity + id: SmallMech + abstract: true + categories: [ HideSpawnMenu ] + components: + - type: Mech + equipmentWhitelist: + tags: + - SmallMech + +# Ripley MK-II +- type: entity + id: MechRipley2 + parent: [ BaseMech, IndustrialMech ] + name: Ripley APLU MK-II + description: The "MK-II" has a pressurized cabin for space operations, but the added weight has slowed it down. + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: ripleymkii + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: ripleymkii + openState: ripleymkii-open + brokenState: ripleymkii-broken + mechToPilotDamageMultiplier: 0.4 + airtight: true + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 20 + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 2 + - type: Damageable + damageModifierSet: MediumArmorNT + - type: StaticPrice + price: 1000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - RipleyMkII + +- type: entity + id: MechRipley2Battery + parent: MechRipley2 + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +# Clarke +- type: entity + id: MechClarke + parent: [ BaseMech, IndustrialMech ] + name: Clarke + description: A fast-moving mech for space travel. It has built-in trusts. + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: clarke + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: clarke + openState: clarke-open + brokenState: clarke-broken + mechToPilotDamageMultiplier: 0.5 + airtight: true + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 26 + - type: MovementSpeedModifier + baseWalkSpeed: 2.5 + baseSprintSpeed: 4.5 + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: StaticPrice + price: 1500 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Clarke + +- type: entity + id: MechClarkeBattery + parent: MechClarke + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +- type: entity + parent: MechHonkerBattery + id: MechHonkerFilled + suffix: Battery, Filled + components: + - type: Mech + startingEquipment: + - WeaponMechSpecialBananaMortar + - WeaponMechSpecialMousetrapMortar + - MechEquipmentHorn + +# Combat-Station Mechs + +# Gygax +- type: entity + id: MechGygax + parent: [ BaseMech, CombatMech ] + name: Gygax + description: While lightly armored, the Gygax has incredible mobility thanks to its ability that lets it smash through walls at high speeds. + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: gygax + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: gygax + openState: gygax-open + brokenState: gygax-broken + mechToPilotDamageMultiplier: 0.3 + airtight: true + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 25 + Structural: 180 + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 2 + baseSprintSpeed: 2.6 + - type: StaticPrice + price: 3000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Gygax + +- type: entity + id: MechGygaxBattery + parent: MechGygax + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +# Durand +- type: entity + id: MechDurand + parent: [ BaseMech, CombatMech ] + name: Durand + description: A slow but beefy combat exosuit that is extra scary in confined spaces due to its punches. Xenos hate it! + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: durand + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: durand + openState: durand-open + brokenState: durand-broken + mechToPilotDamageMultiplier: 0.25 + airtight: true + maxIntegrity: 400 + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 40 + Structural: 220 + - type: MovementSpeedModifier + baseWalkSpeed: 1.5 + baseSprintSpeed: 2 + - type: Damageable + damageModifierSet: MediumArmorNT + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: Repairable + fuelCost: 30 + doAfterDelay: 15 + - type: StaticPrice + price: 5000 + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Durand + +- type: entity + id: MechDurandBattery + parent: MechDurand + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHigh + +# Nanotrasen Combat Mechs + +# Marauder +- type: entity + id: MechMarauder + parent: [ BaseMech, CombatMech ] + name: Marauder + description: Looks like we're all saved. # ERT mech + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: marauder + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: marauder + openState: marauder-open + brokenState: marauder-broken + mechToPilotDamageMultiplier: 0.1 + airtight: true + maxIntegrity: 500 + maxEquipmentAmount: 4 + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 40 + Structural: 200 + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 1.5 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: Repairable + fuelCost: 30 + doAfterDelay: 15 + - type: StaticPrice + price: 15000 # Some respect if you steal one of these. + +- type: entity + id: MechMarauderBattery + parent: MechMarauder + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHyper + +- type: entity + id: MechMarauderFilled + parent: MechMarauderBattery + suffix: Battery, Filled + components: + - type: Mech + startingEquipment: + - WeaponMechChainSword + - WeaponMechCombatPulseRifle + - WeaponMechCombatUltraRifle + - WeaponMechCombatMissileRack8 + +# Seraph +- type: entity + id: MechSeraph + parent: [ BaseMech, CombatMech ] + name: Seraph + description: That's the last thing you'll see. # Death Squad mech + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: seraph + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: seraph + openState: seraph-open + brokenState: seraph-broken + mechToPilotDamageMultiplier: 0.05 + airtight: true + maxIntegrity: 550 + maxEquipmentAmount: 5 + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 60 + Structural: 400 + - type: MovementSpeedModifier + baseWalkSpeed: 2.2 + baseSprintSpeed: 3.7 + - type: Damageable + damageModifierSet: HeavyArmorNT + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: Repairable + fuelCost: 30 + doAfterDelay: 20 + - type: StaticPrice + price: 30000 # My respects if you manage to steal one of these. + +- type: entity + id: MechSeraphBattery + parent: MechSeraph + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellAntiqueProto + +- type: entity + id: MechSeraphFilled + parent: MechSeraphBattery + suffix: Battery, Filled + components: + - type: Mech + startingEquipment: + - WeaponMechChainSword + - WeaponMechCombatPulseRifle + - WeaponMechCombatShotgun + - WeaponMechCombatMissileRack6 + - WeaponMechCombatUltraRifle + +# Syndicate Combat Mech + +# Dark Gygax +- type: entity + id: MechGygaxSyndie + parent: [ BaseMech, CombatMech ] + name: Dark Gygax + description: A modified Gygax used for nefarious purposes. On the back of the armor plate there is an inscription "Cybersun Inc." + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: darkgygax + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: darkgygax + openState: darkgygax-open + brokenState: darkgygax-broken + mechToPilotDamageMultiplier: 0.15 + airtight: true + maxIntegrity: 300 + maxEquipmentAmount: 4 + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 30 + Structural: 200 + - type: MovementSpeedModifier + baseWalkSpeed: 2.2 + baseSprintSpeed: 3.7 + - type: Damageable + damageModifierSet: MediumArmorSyndi + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: Repairable + fuelCost: 40 + doAfterDelay: 20 + - type: StaticPrice + price: 15000 # Some respect if you steal one of these. + +- type: entity + id: MechGygaxSyndieBattery + parent: MechGygaxSyndie + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHyper + +- type: entity + id: MechGygaxSyndieFilled + parent: MechGygaxSyndieBattery + suffix: Battery, Filled + components: + - type: Mech + startingEquipment: + - WeaponMechChainSword + - WeaponMechCombatShotgun + - WeaponMechCombatMissileRack8 + - WeaponMechCombatTeslaCannon + +# Mauler +- type: entity + id: MechMaulerSyndie + parent: [ BaseMech, CombatMech ] + name: Mauler + description: A modified Marauder used by the Syndicate that's not as maneuverable as the Dark Gygax, but it makes up for that in armor and sheer firepower. On the back of the armor plate there is an inscription "Cybersun Inc." + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: mauler + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: mauler + openState: mauler-open + brokenState: mauler-broken + mechToPilotDamageMultiplier: 0.1 + airtight: true + maxIntegrity: 500 + maxEquipmentAmount: 5 + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 50 + Structural: 400 + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 1.5 + - type: Damageable + damageModifierSet: HeavyArmorSyndi + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: Repairable + fuelCost: 50 + doAfterDelay: 25 + - type: StaticPrice + price: 30000 # Some respect if you steal one of these. + +- type: entity + id: MechMaulerSyndieBattery + parent: MechMaulerSyndie + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCellHyper + +- type: entity + id: MechMaulerSyndieFilled + parent: MechMaulerSyndieBattery + suffix: Battery, Filled + components: + - type: Mech + startingEquipment: + - WeaponMechChainSword + - WeaponMechCombatUltraRifle + - WeaponMechCombatShotgun + - WeaponMechCombatMissileRack6 + - WeaponMechCombatTeslaCannon diff --git a/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/clarke_construction.yml b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/clarke_construction.yml new file mode 100644 index 00000000000..042395f6049 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/clarke_construction.yml @@ -0,0 +1,156 @@ +- type: constructionGraph + id: Clarke + start: start + graph: + - node: start + edges: + - to: clarke + steps: + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 1 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 2 + + - material: Cable + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 3 + + - tool: Cutting + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 4 + + - tag: ClarkeCentralControlModule + name: clarke central control module + icon: + sprite: "Objects/Misc/module.rsi" + state: "mainboard" + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 5 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 6 + + - tag: ClarkePeripheralsControlModule + name: clarke peripherals control module + icon: + sprite: "Objects/Misc/module.rsi" + state: id_mod + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 7 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 8 + + - tag: CapacitorStockPart + name: capacitor + icon: + sprite: Objects/Misc/stock_parts.rsi + state: capacitor + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 9 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 10 + + - component: PowerCell + name: power cell + store: battery-container + icon: + sprite: Objects/Power/power_cells.rsi + state: small + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 11 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 12 + + - material: Steel + amount: 5 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 14 + + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 15 + + - tool: Welding + doAfter: 1 + + - material: Gold + amount: 5 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 16 + + - tool: Anchoring + doAfter: 1 + + - tag: MechAirTank + name: exosuit air tank + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_air_tank + + - tool: Anchoring + doAfter: 1 + + - tag: MechThruster + name: exosuit thruster + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_bin + + - tool: Anchoring + doAfter: 1 + + - tool: Welding + doAfter: 1 + + - node: clarke + actions: + - !type:BuildMech + mechPrototype: MechClarke diff --git a/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/durand_construction.yml b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/durand_construction.yml new file mode 100644 index 00000000000..048ec4872b0 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/durand_construction.yml @@ -0,0 +1,180 @@ +- type: constructionGraph + id: Durand + start: start + graph: + - node: start + edges: + - to: durand + steps: + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 1 + + - tool: Screwing + doAfter: 1 + + - material: Cable + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 2 + + - tool: Cutting + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 3 + + - tag: DurandCentralControlModule + name: durand central control module + icon: + sprite: "Objects/Misc/module.rsi" + state: "mainboard" + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 4 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 5 + + - tag: DurandPeripheralsControlModule + name: durand peripherals control module + icon: + sprite: "Objects/Misc/module.rsi" + state: id_mod + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 6 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 7 + + - tag: DurandTargetingControlModule + name: durand weapon control and targeting module + icon: + sprite: "Objects/Misc/module.rsi" + state: mcontroller + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 8 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 9 + + - tag: CapacitorStockPart + name: capacitor + icon: + sprite: Objects/Misc/stock_parts.rsi + state: capacitor + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 10 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 11 + + - component: PowerCell + name: power cell + store: battery-container + icon: + sprite: Objects/Power/power_cells.rsi + state: small + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 12 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 13 + + - material: Steel + amount: 5 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 14 + + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 15 + + - tool: Welding + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 16 + + - tag: MechAirTank + name: exosuit air tank + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_air_tank + + - tool: Anchoring + doAfter: 1 + + - tag: MechThruster + name: exosuit thruster + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_bin + + - tool: Anchoring + doAfter: 1 + + - tag: DurandArmor + name: durand armor plates + icon: + sprite: "_Goobstation/Objects/Specific/Mech/durand_construction.rsi" + state: durand_armor + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 17 + + - tool: Anchoring + doAfter: 2 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 18 + + - tool: Welding + doAfter: 1 + + - node: durand + actions: + - !type:BuildMech + mechPrototype: MechDurand diff --git a/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/gygax_construction.yml b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/gygax_construction.yml new file mode 100644 index 00000000000..f86984de3fa --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/gygax_construction.yml @@ -0,0 +1,180 @@ +- type: constructionGraph + id: Gygax + start: start + graph: + - node: start + edges: + - to: gygax + steps: + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 1 + + - tool: Screwing + doAfter: 1 + + - material: Cable + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 2 + + - tool: Cutting + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 3 + + - tag: GygaxCentralControlModule + name: gygax central control module + icon: + sprite: "Objects/Misc/module.rsi" + state: "mainboard" + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 4 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 5 + + - tag: GygaxPeripheralsControlModule + name: gygax peripherals control module + icon: + sprite: "Objects/Misc/module.rsi" + state: id_mod + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 6 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 7 + + - tag: GygaxTargetingControlModule + name: gygax weapon control and targeting module + icon: + sprite: "Objects/Misc/module.rsi" + state: mcontroller + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 8 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 9 + + - tag: CapacitorStockPart + name: capacitor + icon: + sprite: Objects/Misc/stock_parts.rsi + state: capacitor + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 10 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 11 + + - component: PowerCell + name: power cell + store: battery-container + icon: + sprite: Objects/Power/power_cells.rsi + state: small + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 12 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 13 + + - material: Steel + amount: 5 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 16 + + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 17 + + - tool: Welding + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 18 + + - tag: MechAirTank + name: exosuit air tank + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_air_tank + + - tool: Anchoring + doAfter: 1 + + - tag: MechThruster + name: exosuit thruster + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_bin + + - tool: Anchoring + doAfter: 1 + + - tag: GygaxArmor + name: gygax armor plates + icon: + sprite: "_Goobstation/Objects/Specific/Mech/gygax_construction.rsi" + state: gygax_armor + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 19 + + - tool: Anchoring + doAfter: 2 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 20 + + - tool: Welding + doAfter: 1 + + - node: gygax + actions: + - !type:BuildMech + mechPrototype: MechGygax diff --git a/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/ripleymkii_construction.yml b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/ripleymkii_construction.yml new file mode 100644 index 00000000000..ffa6648ee32 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Construction/Graphs/mechs/ripleymkii_construction.yml @@ -0,0 +1,138 @@ +- type: constructionGraph + id: RipleyMKII + start: start + graph: + - node: start + edges: + - to: ripleymkii + steps: + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 1 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 2 + + - material: Cable + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 3 + + - tool: Cutting + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 4 + + - tag: RipleyCentralControlModule + name: ripley central control module + icon: + sprite: "Objects/Misc/module.rsi" + state: "mainboard" + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 5 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 6 + + - tag: RipleyPeripheralsControlModule + name: ripley peripherals control module + icon: + sprite: "Objects/Misc/module.rsi" + state: id_mod + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 7 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 8 + + - component: PowerCell + name: power cell + store: battery-container + icon: + sprite: Objects/Power/power_cells.rsi + state: small + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 9 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 12 + + - material: Steel + amount: 5 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 15 + + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 16 + + - tool: Welding + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 17 + + - tag: MechAirTank + name: exosuit air tank + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_air_tank + + - tool: Anchoring + doAfter: 1 + + - material: Plasteel + amount: 10 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 19 + + - tool: Anchoring + doAfter: 2 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 20 + + - tool: Welding + doAfter: 1 + + - node: ripleymkii + actions: + - !type:BuildMech + mechPrototype: MechRipley2 diff --git a/Resources/Prototypes/_Goobstation/Recipes/Lathes/categories.yml b/Resources/Prototypes/_Goobstation/Recipes/Lathes/categories.yml new file mode 100644 index 00000000000..42e63aaf246 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Lathes/categories.yml @@ -0,0 +1,40 @@ +# Exosuit +- type: latheCategory + id: Vim + name: lathe-category-mechs-vim + +- type: latheCategory + id: Honker + name: lathe-category-mechs-honker + +- type: latheCategory + id: Hamptr + name: lathe-category-mechs-hamptr + +- type: latheCategory + id: Ripley + name: lathe-category-mechs-ripley + +- type: latheCategory + id: RipleyMKII + name: lathe-category-mechs-ripleymkii + +- type: latheCategory + id: Clarke + name: lathe-category-mechs-clarke + +- type: latheCategory + id: Gygax + name: lathe-category-mechs-gygax + +- type: latheCategory + id: Durand + name: lathe-category-mechs-durand + +- type: latheCategory + id: MechEquipment + name: lathe-category-mechs-equipment + +- type: latheCategory + id: MechWeapons + name: lathe-category-mechs-weapons diff --git a/Resources/Prototypes/_Goobstation/Recipes/Lathes/electronics.yml b/Resources/Prototypes/_Goobstation/Recipes/Lathes/electronics.yml new file mode 100644 index 00000000000..2a931807341 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Lathes/electronics.yml @@ -0,0 +1,71 @@ +- type: latheRecipe + id: ClarkeCentralElectronics + result: ClarkeCentralElectronics + completetime: 8 + materials: + Steel: 100 + Glass: 900 + Gold: 300 + +- type: latheRecipe + id: ClarkePeripheralsElectronics + result: ClarkePeripheralsElectronics + completetime: 8 + materials: + Steel: 100 + Glass: 900 + Gold: 300 + +- type: latheRecipe + id: GygaxCentralElectronics + result: GygaxCentralElectronics + completetime: 8 + materials: + Steel: 100 + Glass: 900 + Gold: 300 + +- type: latheRecipe + id: GygaxPeripheralsElectronics + result: GygaxPeripheralsElectronics + completetime: 8 + materials: + Steel: 100 + Glass: 900 + Gold: 300 + +- type: latheRecipe + id: GygaxTargetingElectronics + result: GygaxTargetingElectronics + completetime: 8 + materials: + Steel: 100 + Glass: 900 + Gold: 300 + +- type: latheRecipe + id: DurandCentralElectronics + result: DurandCentralElectronics + completetime: 4 + materials: + Steel: 100 + Glass: 900 + Silver: 100 + +- type: latheRecipe + id: DurandPeripheralsElectronics + result: DurandPeripheralsElectronics + completetime: 4 + materials: + Steel: 100 + Glass: 900 + Silver: 100 + +- type: latheRecipe + id: DurandTargetingElectronics + result: DurandTargetingElectronics + completetime: 4 + materials: + Steel: 100 + Glass: 900 + Silver: 100 diff --git a/Resources/Prototypes/_Goobstation/Recipes/Lathes/mech_parts.yml b/Resources/Prototypes/_Goobstation/Recipes/Lathes/mech_parts.yml new file mode 100644 index 00000000000..2889838ce51 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Lathes/mech_parts.yml @@ -0,0 +1,268 @@ +# Ripley MK-II +- type: latheRecipe + id: RipleyMKIIHarness + result: RipleyMKIIHarness + category: RipleyMKII + completetime: 10 + materials: + Steel: 1500 + Glass: 1200 + +- type: latheRecipe + id: RipleyUpgradeKit + result: RipleyUpgradeKit + category: RipleyMKII + completetime: 10 + materials: + Steel: 500 + +# Clarke +- type: latheRecipe + id: ClarkeHarness + result: ClarkeHarness + category: Clarke + completetime: 10 + materials: + Steel: 2000 + Glass: 1500 + +- type: latheRecipe + id: ClarkeHead + result: ClarkeHead + category: Clarke + completetime: 10 + materials: + Steel: 1550 + Glass: 950 + +- type: latheRecipe + id: ClarkeLArm + result: ClarkeLArm + category: Clarke + completetime: 10 + materials: + Steel: 900 + Glass: 800 + +- type: latheRecipe + id: ClarkeRArm + result: ClarkeRArm + category: Clarke + completetime: 10 + materials: + Steel: 900 + Glass: 800 + +- type: latheRecipe + id: ClarkeTreads + result: ClarkeTreads + category: Clarke + completetime: 10 + materials: + Steel: 950 + +# Durand +- type: latheRecipe + id: DurandHarness + result: DurandHarness + category: Durand + completetime: 10 + materials: + Steel: 2500 + Glass: 2000 + Silver: 1500 + +- type: latheRecipe + id: DurandArmor + result: DurandArmorPlate + category: Durand + completetime: 10 + materials: + Steel: 3000 + Silver: 900 + +- type: latheRecipe + id: DurandHead + result: DurandHead + category: Durand + completetime: 10 + materials: + Steel: 1500 + Glass: 800 + Silver: 250 + LPPDiamond: 100 + +- type: latheRecipe + id: DurandLArm + result: DurandLArm + category: Durand + completetime: 10 + materials: + Steel: 1100 + Silver: 250 + +- type: latheRecipe + id: DurandLLeg + result: DurandLLeg + category: Durand + completetime: 10 + materials: + Steel: 1100 + Silver: 250 + +- type: latheRecipe + id: DurandRLeg + result: DurandRLeg + category: Durand + completetime: 10 + materials: + Steel: 1100 + Silver: 250 + +- type: latheRecipe + id: DurandRArm + result: DurandRArm + category: Durand + completetime: 10 + materials: + Steel: 1100 + Silver: 250 + +# Gygax +- type: latheRecipe + id: GygaxHarness + result: GygaxHarness + category: Gygax + completetime: 10 + materials: + Steel: 2500 + Glass: 2000 + +- type: latheRecipe + id: GygaxArmor + result: GygaxArmorPlate + category: Gygax + completetime: 10 + materials: + Steel: 3000 + +- type: latheRecipe + id: GygaxHead + result: GygaxHead + category: Gygax + completetime: 10 + materials: + Steel: 1500 + Glass: 250 + LPPDiamond: 100 + +- type: latheRecipe + id: GygaxLArm + result: GygaxLArm + category: Gygax + completetime: 10 + materials: + Steel: 1100 + +- type: latheRecipe + id: GygaxLLeg + result: GygaxLLeg + category: Gygax + completetime: 10 + materials: + Steel: 1100 + +- type: latheRecipe + id: GygaxRLeg + result: GygaxRLeg + category: Gygax + completetime: 10 + materials: + Steel: 1100 + +- type: latheRecipe + id: GygaxRArm + result: GygaxRArm + category: Gygax + completetime: 10 + materials: + Steel: 1100 + +# Vim +- type: latheRecipe + id: VimHarness + result: VimHarness + category: Vim # Goobstation + completetime: 5 + materials: + Steel: 500 + Glass: 200 + + +# Equipment +- type: latheRecipe + id: MechEquipmentDrill + result: WeaponMechMelleDrill + category: MechEquipment + completetime: 10 + materials: + Steel: 1000 + Glass: 250 + +- type: latheRecipe + id: MechEquipmentDrillDiamond + result: WeaponMechMelleDrillDiamond + category: MechEquipment + completetime: 10 + materials: + Steel: 1000 + Plastic: 150 + Silver: 350 + LPPDiamond: 150 + +- type: latheRecipe + id: MechEquipmentGrabber + result: MechEquipmentGrabber + category: MechEquipment + completetime: 10 + materials: + Steel: 500 + Plastic: 200 + + +- type: latheRecipe + id: MechEquipmentHonkerBananaMortar + result: WeaponMechSpecialBananaMortar + category: MechEquipment + completetime: 10 + materials: + Steel: 1150 + Bananium: 800 + +- type: latheRecipe + id: MechEquipmentHonkerMousetrapMortar + result: WeaponMechSpecialMousetrapMortar + category: MechEquipment + completetime: 10 + materials: + Steel: 1200 + Bananium: 300 + +# Misc +- type: latheRecipe + id: MechAirTank + result: MechAirTank + category: MechEquipment + completetime: 10 + materials: + Steel: 1000 + Glass: 150 + +- type: latheRecipe + id: MechThruster + result: MechThruster + category: MechEquipment + completetime: 10 + materials: + Steel: 1000 + Glass: 150 diff --git a/Resources/Prototypes/_Goobstation/Recipes/Lathes/security.yml b/Resources/Prototypes/_Goobstation/Recipes/Lathes/security.yml new file mode 100644 index 00000000000..9f6848d0321 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Recipes/Lathes/security.yml @@ -0,0 +1,101 @@ +# Mech Weapons +- type: latheRecipe + id: WeaponMechCombatImmolationGun + result: WeaponMechCombatImmolationGun + category: MechWeapons + completetime: 10 + materials: + Steel: 2800 + Plastic: 1000 + Plasma: 750 + Glass: 500 + +- type: latheRecipe + id: WeaponMechCombatSolarisLaser + result: WeaponMechCombatSolarisLaser + category: MechWeapons + completetime: 10 + materials: + Steel: 1650 + Plastic: 300 + Plasma: 250 + Glass: 200 + +- type: latheRecipe + id: WeaponMechCombatFiredartLaser + result: WeaponMechCombatFiredartLaser + category: MechWeapons + completetime: 10 + materials: + Steel: 1200 + Plastic: 200 + Plasma: 150 + Glass: 50 + +- type: latheRecipe + id: WeaponMechCombatUltraRifle + result: WeaponMechCombatUltraRifle + category: MechWeapons + completetime: 10 + materials: + Steel: 1000 + Plastic: 200 + +- type: latheRecipe + id: WeaponMechCombatShotgun + result: WeaponMechCombatShotgun + category: MechWeapons + completetime: 10 + materials: + Steel: 1600 + Plastic: 550 + +- type: latheRecipe + id: WeaponMechCombatShotgunIncendiary + result: WeaponMechCombatShotgunIncendiary + category: MechWeapons + completetime: 10 + materials: + Steel: 1500 + Plastic: 800 + Plasma: 300 + +- type: latheRecipe + id: WeaponMechCombatDisabler + result: WeaponMechCombatDisabler + category: MechWeapons + completetime: 10 + materials: + Steel: 750 + Glass: 250 + Plastic: 300 + +- type: latheRecipe + id: WeaponMechCombatFlashbangLauncher + result: WeaponMechCombatFlashbangLauncher + category: MechWeapons + completetime: 10 + materials: + Steel: 1200 + Glass: 300 + Plastic: 450 + +- type: latheRecipe + id: WeaponMechCombatMissileRack8 + result: WeaponMechCombatMissileRack8 + category: MechWeapons + completetime: 10 + materials: + Steel: 2500 + Glass: 1500 + Plastic: 750 + +- type: latheRecipe + id: MechEquipmentKineticAccelerator + result: WeaponMechIndustrialKineticAccelerator + category: MechEquipment + completetime: 10 + materials: + Steel: 1500 + Glass: 750 + Silver: 150 diff --git a/Resources/Prototypes/_Goobstation/Research/arsenal.yml b/Resources/Prototypes/_Goobstation/Research/arsenal.yml new file mode 100644 index 00000000000..23520da3d89 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Research/arsenal.yml @@ -0,0 +1,64 @@ +# Tier 2 + +- type: technology + id: Gygax + name: research-technology-gygax + icon: + sprite: Objects/Specific/Mech/mecha.rsi + state: gygax + discipline: Arsenal + tier: 2 + cost: 12000 + recipeUnlocks: + - GygaxHarness + - GygaxArmor + - GygaxHead + - GygaxLArm + - GygaxLLeg + - GygaxRArm + - GygaxRLeg + - GygaxCentralElectronics + - GygaxPeripheralsElectronics + - GygaxTargetingElectronics + - WeaponMechCombatUltraRifle + +# Tier 3 + +- type: technology + id: ExplosiveMechAmmunition + name: research-technology-explosive-mech-ammunition + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_missilerack + discipline: Arsenal + tier: 3 + cost: 15000 + recipeUnlocks: + - WeaponMechCombatMissileRack8 + technologyPrerequisites: + - ExplosiveTechnology + +- type: technology + id: Durand + name: research-technology-durand + icon: + sprite: Objects/Specific/Mech/mecha.rsi + state: durand + discipline: Arsenal + tier: 3 + cost: 16000 + recipeUnlocks: + - DurandHarness + - DurandArmor + - DurandHead + - DurandLArm + - DurandLLeg + - DurandRArm + - DurandRLeg + - DurandCentralElectronics + - DurandPeripheralsElectronics + - DurandTargetingElectronics + - WeaponMechCombatShotgun + - WeaponMechCombatShotgunIncendiary + technologyPrerequisites: + - Gygax diff --git a/Resources/Prototypes/_Goobstation/Research/civilianservices.yml b/Resources/Prototypes/_Goobstation/Research/civilianservices.yml new file mode 100644 index 00000000000..bfff1294486 --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Research/civilianservices.yml @@ -0,0 +1,18 @@ +# Tier 1 + +# Tier 2 + +- type: technology + id: HONKWeapons + name: research-technology-honk-weapons + icon: + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_bananamrtr + discipline: CivilianServices + tier: 2 + cost: 6000 + recipeUnlocks: + - MechEquipmentHonkerBananaMortar + - MechEquipmentHonkerMousetrapMortar + +# Tier 3 \ No newline at end of file diff --git a/Resources/Prototypes/_Goobstation/Research/tags.yml b/Resources/Prototypes/_Goobstation/Research/tags.yml new file mode 100644 index 00000000000..7576b1898cd --- /dev/null +++ b/Resources/Prototypes/_Goobstation/Research/tags.yml @@ -0,0 +1,104 @@ +# Mechs + +- type: Tag + id: ClarkeCentralControlModule + +- type: Tag + id: ClarkePeripheralsControlModule + +- type: Tag + id: ClarkeHead + +- type: Tag + id: ClarkeLArm + +- type: Tag + id: ClarkeRArm + +- type: Tag + id: ClarkeTreads + +- type: Tag + id: DurandArmor + +- type: Tag + id: DurandCentralControlModule + +- type: Tag + id: DurandPeripheralsControlModule + +- type: Tag + id: DurandTargetingControlModule + +- type: Tag + id: DurandHead + +- type: Tag + id: DurandLArm + +- type: Tag + id: DurandLLeg + +- type: Tag + id: DurandRArm + +- type: Tag + id: DurandRLeg + +- type: Tag + id: GygaxArmor + +- type: Tag + id: GygaxCentralControlModule + +- type: Tag + id: GygaxPeripheralsControlModule + +- type: Tag + id: GygaxTargetingControlModule + +- type: Tag + id: GygaxHead + +- type: Tag + id: GygaxLArm + +- type: Tag + id: GygaxLLeg + +- type: Tag + id: GygaxRArm + +- type: Tag + id: GygaxRLeg + +- type: Tag + id: MechAirTank + +- type: Tag + id: MechThruster + +- type: Tag + id: RipleyMKIIUpgradeKit + +- type: Tag + id: IndustrialMech + +- type: Tag + id: CombatMech +# TODO: Make medical mech, I will. + +- type: Tag + id: SpecialMech + +- type: Tag + id: RipleyMkII + +- type: Tag + id: Clarke + +- type: Tag + id: Durand + +- type: Tag + id: Gygax \ No newline at end of file diff --git a/Resources/Prototypes/_LostParadise/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/_LostParadise/Entities/Objects/Specific/Mech/mechs.yml index a45fefdf188..f48d5f31f68 100644 --- a/Resources/Prototypes/_LostParadise/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/_LostParadise/Entities/Objects/Specific/Mech/mechs.yml @@ -32,38 +32,3 @@ - type: MovementSpeedModifier baseWalkSpeed: 2.6 baseSprintSpeed: 3.6 - -- type: entity - id: LPPMechmauler - parent: BaseMech - name: mauler mech - description: Versatile and lightly armored, the Ripley is useful for almost any heavy work scenario. The "APLU" stands for Autonomous Power Loading Unit. - components: - - type: Sprite - drawdepth: Mobs - noRot: true - sprite: Objects/Specific/Mech/mecha.rsi - layers: - - map: [ "enum.MechVisualLayers.Base" ] - state: mauler - - type: FootstepModifier - footstepSoundCollection: - path: /Audio/Mecha/sound_mecha_powerloader_step.ogg - - type: Mech - baseState: mauler - openState: mauler-open - brokenState: mauler-broken - mechToPilotDamageMultiplier: 0.75 - pilotWhitelist: - components: - - HumanoidAppearance - - type: MeleeWeapon - hidden: true - attackRate: 1 - damage: - types: - Blunt: 22 - Structural: 12 - - type: MovementSpeedModifier - baseWalkSpeed: 2.6 - baseSprintSpeed: 3.6 \ No newline at end of file diff --git a/Resources/Textures/Clothing/Head/Hardsuits/capspace.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/capspace.rsi/meta.json index bc8173a9d36..15d21bb0e7d 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/capspace.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/capspace.rsi/meta.json @@ -18,16 +18,16 @@ "directions": 4 }, { - "name": "equipped-HELMET-vulpkanin", + "name": "equipped-HELMET-tajaran", "directions": 4 }, { - "name": "equipped-HELMET-tajaran", - "name": "off-equipped-HELMET-vox", + "name": "equipped-HELMET-vulpkanin", "directions": 4 }, { "name": "equipped-HELMET-tajaran", + "name": "off-equipped-HELMET-vox", "directions": 4 }, { diff --git a/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json index f7f6067b160..195ba5f4acc 100644 --- a/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/deathsquad.rsi/meta.json @@ -26,11 +26,11 @@ "directions": 4 }, { - "name": "on-inhand-left", + "name": "on-inhand-right", "directions": 4 }, { - "name": "on-inhand-right", + "name": "on-inhand-left", "directions": 4 }, { diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_air_tank.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_air_tank.png new file mode 100644 index 00000000000..692cf7be000 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_air_tank.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_bin.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_bin.png new file mode 100644 index 00000000000..e6b23bb7518 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_bin.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_camera.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_camera.png new file mode 100644 index 00000000000..25bfc9a2ea3 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_camera.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_chainsword.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_chainsword.png new file mode 100644 index 00000000000..8a2878e9348 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_chainsword.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_radio.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_radio.png new file mode 100644 index 00000000000..fa3f24720b9 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_radio.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_sleeper.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_sleeper.png new file mode 100644 index 00000000000..d3635adb89f Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_sleeper.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_syringegun.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_syringegun.png new file mode 100644 index 00000000000..2cf012b4fbe Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_syringegun.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/meta.json b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/meta.json index 5e07ad51faf..b8e924a5ba3 100644 --- a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/meta.json @@ -1,7 +1,7 @@ { - "copyright" : "Taken from https://github.com/tgstation/tgstation at at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a", - "license" : "CC-BY-SA-3.0", "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation at https://github.com/tgstation/tgstation/commit/da4d61210600269aaf56a2e309dd31c056252d84 || Mech ChainSword by NULL882 (GitHub)", "size": { "x": 32, "y": 32 @@ -150,6 +150,39 @@ }, { "name": "mecha_kineticgun" + }, + { + "name": "mecha_camera" + }, + { + "name": "mecha_bin" + }, + { + "name": "mecha_air_tank" + }, + { + "name": "mecha_radio" + }, + { + "name": "mecha_sleeper" + }, + { + "name": "mecha_syringegun" + }, + { + "name": "paddy_claw" + }, + { + "name": "paddyupgrade" + }, + { + "name": "mecha_chainsword", + "delays": [ + [ + 0.1, + 0.1 + ] + ] } ] } \ No newline at end of file diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/paddy_claw.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/paddy_claw.png new file mode 100644 index 00000000000..c6b69723bdd Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/paddy_claw.png differ diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/paddyupgrade.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/paddyupgrade.png new file mode 100644 index 00000000000..ad60fd40c05 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/paddyupgrade.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke0.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke0.png new file mode 100644 index 00000000000..8a88cec708a Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke0.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke1.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke1.png new file mode 100644 index 00000000000..e0c9e427c14 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke1.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke10.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke10.png new file mode 100644 index 00000000000..09fcc84858f Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke10.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke11.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke11.png new file mode 100644 index 00000000000..e547edb9b5c Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke11.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke12.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke12.png new file mode 100644 index 00000000000..55fc94a22fb Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke12.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke13.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke13.png new file mode 100644 index 00000000000..4acdbaf2568 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke13.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke14.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke14.png new file mode 100644 index 00000000000..248eb8b9716 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke14.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke15.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke15.png new file mode 100644 index 00000000000..6debc163997 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke15.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke16.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke16.png new file mode 100644 index 00000000000..7cc4912fd99 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke16.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke2.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke2.png new file mode 100644 index 00000000000..aa0010fc7df Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke2.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke3.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke3.png new file mode 100644 index 00000000000..4e877ed690d Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke3.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke4.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke4.png new file mode 100644 index 00000000000..065c065e6f9 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke4.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke5.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke5.png new file mode 100644 index 00000000000..997a7b94142 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke5.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke6.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke6.png new file mode 100644 index 00000000000..a4f188364a5 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke6.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke7.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke7.png new file mode 100644 index 00000000000..bf5d31c74ea Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke7.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke8.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke8.png new file mode 100644 index 00000000000..182863ce6e5 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke8.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke9.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke9.png new file mode 100644 index 00000000000..9d24298d6ea Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke9.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_chassis.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_chassis.png new file mode 100644 index 00000000000..8a88cec708a Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_chassis.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_harness+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_harness+o.png new file mode 100644 index 00000000000..c752b5066d5 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_harness+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_harness.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_harness.png new file mode 100644 index 00000000000..c752b5066d5 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_harness.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_head+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_head+o.png new file mode 100644 index 00000000000..559fe1a35ac Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_head+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_head.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_head.png new file mode 100644 index 00000000000..66eb01fe501 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_head.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_l_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_l_arm+o.png new file mode 100644 index 00000000000..163500ca493 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_l_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_l_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_l_arm.png new file mode 100644 index 00000000000..4b8912ef276 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_l_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_r_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_r_arm+o.png new file mode 100644 index 00000000000..21fc39da630 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_r_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_r_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_r_arm.png new file mode 100644 index 00000000000..38bb6cf779d Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_r_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_treads+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_treads+o.png new file mode 100644 index 00000000000..be12f067e7c Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_treads+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_treads.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_treads.png new file mode 100644 index 00000000000..be12f067e7c Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/clarke_treads.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/meta.json b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/meta.json new file mode 100644 index 00000000000..1730a88c1d5 --- /dev/null +++ b/Resources/Textures/_Goobstation/Objects/Specific/Mech/clarke_construction.rsi/meta.json @@ -0,0 +1,95 @@ +{ + "copyright" : "Taken from https://github.com/tgstation/tgstation at https://github.com/tgstation/tgstation/commit/91af16bcbfd2dd363a89d846ae2acd6d655083c2", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "clarke_chassis" + }, + { + "name": "clarke_harness" + }, + { + "name": "clarke_harness+o" + }, + { + "name": "clarke_head" + }, + { + "name": "clarke_head+o" + }, + { + "name": "clarke_r_arm" + }, + { + "name": "clarke_r_arm+o" + }, + { + "name": "clarke_l_arm" + }, + { + "name": "clarke_l_arm+o" + }, + { + "name": "clarke_treads" + }, + { + "name": "clarke_treads+o" + }, + { + "name": "clarke0" + }, + { + "name": "clarke1" + }, + { + "name": "clarke2" + }, + { + "name": "clarke3" + }, + { + "name": "clarke4" + }, + { + "name": "clarke5" + }, + { + "name": "clarke6" + }, + { + "name": "clarke7" + }, + { + "name": "clarke8" + }, + { + "name": "clarke9" + }, + { + "name": "clarke10" + }, + { + "name": "clarke11" + }, + { + "name": "clarke12" + }, + { + "name": "clarke13" + }, + { + "name": "clarke14" + }, + { + "name": "clarke15" + }, + { + "name": "clarke16" + } + ] +} diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand0.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand0.png new file mode 100644 index 00000000000..9d8db1028ae Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand0.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand1.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand1.png new file mode 100644 index 00000000000..2f4c63b8c5a Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand1.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand10.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand10.png new file mode 100644 index 00000000000..32f6a064d44 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand10.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand11.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand11.png new file mode 100644 index 00000000000..0e1f59cc33b Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand11.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand12.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand12.png new file mode 100644 index 00000000000..4e5946d44ac Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand12.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand13.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand13.png new file mode 100644 index 00000000000..32e8f4169b1 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand13.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand14.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand14.png new file mode 100644 index 00000000000..c1cf6d5485f Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand14.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand15.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand15.png new file mode 100644 index 00000000000..da8af5a091b Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand15.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand16.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand16.png new file mode 100644 index 00000000000..c8b51220dd4 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand16.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand17.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand17.png new file mode 100644 index 00000000000..3da36ede382 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand17.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand18.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand18.png new file mode 100644 index 00000000000..b3f022df3c7 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand18.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand2.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand2.png new file mode 100644 index 00000000000..63cc45f39bc Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand2.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand3.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand3.png new file mode 100644 index 00000000000..10a9b76423a Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand3.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand4.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand4.png new file mode 100644 index 00000000000..f310689c1cf Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand4.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand5.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand5.png new file mode 100644 index 00000000000..832d88cba3e Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand5.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand6.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand6.png new file mode 100644 index 00000000000..6891cecaa42 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand6.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand7.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand7.png new file mode 100644 index 00000000000..95de1294167 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand7.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand8.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand8.png new file mode 100644 index 00000000000..191fe7e6981 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand8.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand9.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand9.png new file mode 100644 index 00000000000..1c1c7c53c9f Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand9.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_armor.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_armor.png new file mode 100644 index 00000000000..b7925d3ecc9 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_armor.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_chassis.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_chassis.png new file mode 100644 index 00000000000..b94f935a073 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_chassis.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_harness+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_harness+o.png new file mode 100644 index 00000000000..09c1d9296ed Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_harness+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_harness.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_harness.png new file mode 100644 index 00000000000..75bc46691ed Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_harness.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_head+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_head+o.png new file mode 100644 index 00000000000..2e87f14fcf8 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_head+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_head.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_head.png new file mode 100644 index 00000000000..30a4aa31f93 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_head.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_arm+o.png new file mode 100644 index 00000000000..0c168d0cdb1 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_arm.png new file mode 100644 index 00000000000..ab3a803f54d Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_leg+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_leg+o.png new file mode 100644 index 00000000000..3603c6df8bc Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_leg+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_leg.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_leg.png new file mode 100644 index 00000000000..f6f9377ffe1 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_l_leg.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_arm+o.png new file mode 100644 index 00000000000..0000a1a5c62 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_arm.png new file mode 100644 index 00000000000..4934a7a2772 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_leg+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_leg+o.png new file mode 100644 index 00000000000..21887b6dec6 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_leg+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_leg.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_leg.png new file mode 100644 index 00000000000..2daa3d39194 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/durand_r_leg.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/meta.json b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/meta.json new file mode 100644 index 00000000000..d2841cd4129 --- /dev/null +++ b/Resources/Textures/_Goobstation/Objects/Specific/Mech/durand_construction.rsi/meta.json @@ -0,0 +1,111 @@ +{ + "copyright" : "Taken from https://github.com/tgstation/tgstation at https://github.com/tgstation/tgstation/commit/91af16bcbfd2dd363a89d846ae2acd6d655083c2", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "durand_chassis" + }, + { + "name": "durand_harness" + }, + { + "name": "durand_armor" + }, + { + "name": "durand_harness+o" + }, + { + "name": "durand_head" + }, + { + "name": "durand_head+o" + }, + { + "name": "durand_r_arm" + }, + { + "name": "durand_r_arm+o" + }, + { + "name": "durand_l_arm" + }, + { + "name": "durand_l_arm+o" + }, + { + "name": "durand_r_leg" + }, + { + "name": "durand_r_leg+o" + }, + { + "name": "durand_l_leg" + }, + { + "name": "durand_l_leg+o" + }, + { + "name": "durand0" + }, + { + "name": "durand1" + }, + { + "name": "durand2" + }, + { + "name": "durand3" + }, + { + "name": "durand4" + }, + { + "name": "durand5" + }, + { + "name": "durand6" + }, + { + "name": "durand7" + }, + { + "name": "durand8" + }, + { + "name": "durand9" + }, + { + "name": "durand10" + }, + { + "name": "durand11" + }, + { + "name": "durand12" + }, + { + "name": "durand13" + }, + { + "name": "durand14" + }, + { + "name": "durand15" + }, + { + "name": "durand16" + }, + { + "name": "durand17" + }, + { + "name": "durand18" + } + ] + } + \ No newline at end of file diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax0.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax0.png new file mode 100644 index 00000000000..492836d79cd Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax0.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax1.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax1.png new file mode 100644 index 00000000000..064c5734875 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax1.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax10.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax10.png new file mode 100644 index 00000000000..98f3307ae3c Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax10.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax11.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax11.png new file mode 100644 index 00000000000..c0c5be80890 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax11.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax12.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax12.png new file mode 100644 index 00000000000..a15acf6f12e Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax12.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax13.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax13.png new file mode 100644 index 00000000000..f08f1dc5156 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax13.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax14.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax14.png new file mode 100644 index 00000000000..f08f1dc5156 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax14.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax15.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax15.png new file mode 100644 index 00000000000..f08f1dc5156 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax15.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax16.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax16.png new file mode 100644 index 00000000000..b95d4e7ec91 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax16.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax17.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax17.png new file mode 100644 index 00000000000..7c33b55f170 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax17.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax18.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax18.png new file mode 100644 index 00000000000..1411d88dca3 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax18.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax19.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax19.png new file mode 100644 index 00000000000..6fad0c0d1d1 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax19.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax2.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax2.png new file mode 100644 index 00000000000..b338ea867be Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax2.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax20.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax20.png new file mode 100644 index 00000000000..ae0f808c958 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax20.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax3.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax3.png new file mode 100644 index 00000000000..cca6b2de54f Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax3.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax4.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax4.png new file mode 100644 index 00000000000..cd98f134f5d Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax4.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax5.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax5.png new file mode 100644 index 00000000000..a078a264c85 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax5.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax6.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax6.png new file mode 100644 index 00000000000..fad94386f0e Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax6.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax7.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax7.png new file mode 100644 index 00000000000..dfde3fe348d Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax7.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax8.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax8.png new file mode 100644 index 00000000000..c0295667e82 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax8.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax9.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax9.png new file mode 100644 index 00000000000..4c101e4fcf7 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax9.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_armor.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_armor.png new file mode 100644 index 00000000000..70c43bd960e Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_armor.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_chassis.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_chassis.png new file mode 100644 index 00000000000..451c80bef90 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_chassis.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_harness+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_harness+o.png new file mode 100644 index 00000000000..5b6ad43d373 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_harness+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_harness.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_harness.png new file mode 100644 index 00000000000..403a574ff53 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_harness.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_head+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_head+o.png new file mode 100644 index 00000000000..2f84e0bf960 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_head+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_head.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_head.png new file mode 100644 index 00000000000..078ea8017b8 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_head.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_arm+o.png new file mode 100644 index 00000000000..7d8739484e5 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_arm.png new file mode 100644 index 00000000000..ed756014a65 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_leg+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_leg+o.png new file mode 100644 index 00000000000..42d6f7b3558 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_leg+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_leg.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_leg.png new file mode 100644 index 00000000000..7fd0576f9e1 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_l_leg.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_arm+o.png new file mode 100644 index 00000000000..e76face7962 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_arm.png new file mode 100644 index 00000000000..98137c1e502 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_leg+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_leg+o.png new file mode 100644 index 00000000000..4d494a0b097 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_leg+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_leg.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_leg.png new file mode 100644 index 00000000000..3b16a068e0c Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/gygax_r_leg.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/meta.json b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/meta.json new file mode 100644 index 00000000000..aac1b8187d4 --- /dev/null +++ b/Resources/Textures/_Goobstation/Objects/Specific/Mech/gygax_construction.rsi/meta.json @@ -0,0 +1,117 @@ +{ + "copyright" : "Taken from https://github.com/tgstation/tgstation at https://github.com/tgstation/tgstation/commit/91af16bcbfd2dd363a89d846ae2acd6d655083c2", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "gygax_chassis" + }, + { + "name": "gygax_harness" + }, + { + "name": "gygax_armor" + }, + { + "name": "gygax_harness+o" + }, + { + "name": "gygax_head" + }, + { + "name": "gygax_head+o" + }, + { + "name": "gygax_r_arm" + }, + { + "name": "gygax_r_arm+o" + }, + { + "name": "gygax_l_arm" + }, + { + "name": "gygax_l_arm+o" + }, + { + "name": "gygax_r_leg" + }, + { + "name": "gygax_r_leg+o" + }, + { + "name": "gygax_l_leg" + }, + { + "name": "gygax_l_leg+o" + }, + { + "name": "gygax0" + }, + { + "name": "gygax1" + }, + { + "name": "gygax2" + }, + { + "name": "gygax3" + }, + { + "name": "gygax4" + }, + { + "name": "gygax5" + }, + { + "name": "gygax6" + }, + { + "name": "gygax7" + }, + { + "name": "gygax8" + }, + { + "name": "gygax9" + }, + { + "name": "gygax10" + }, + { + "name": "gygax11" + }, + { + "name": "gygax12" + }, + { + "name": "gygax13" + }, + { + "name": "gygax14" + }, + { + "name": "gygax15" + }, + { + "name": "gygax16" + }, + { + "name": "gygax17" + }, + { + "name": "gygax18" + }, + { + "name": "gygax19" + }, + { + "name": "gygax20" + } + ] + } + \ No newline at end of file diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/meta.json b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/meta.json new file mode 100644 index 00000000000..0ec3c7105e6 --- /dev/null +++ b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/meta.json @@ -0,0 +1,113 @@ +{ + "copyright" : "Taken from https://github.com/tgstation/tgstation at https://github.com/tgstation/tgstation/commit/91af16bcbfd2dd363a89d846ae2acd6d655083c2", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ripleymkii_chassis" + }, + { + "name": "ripleymkii_upgrade_kit" + }, + { + "name": "ripleymkii_upgrade_kit+o" + }, + { + "name": "ripleymkii_harness" + }, + { + "name": "ripleymkii_harness+o" + }, + { + "name": "ripleymkii_r_arm" + }, + { + "name": "ripleymkii_r_arm+o" + }, + { + "name": "ripleymkii_l_arm" + }, + { + "name": "ripleymkii_l_arm+o" + }, + { + "name": "ripleymkii_r_leg" + }, + { + "name": "ripleymkii_r_leg+o" + }, + { + "name": "ripleymkii_l_leg" + }, + { + "name": "ripleymkii_l_leg+o" + }, + { + "name": "ripleymkii0" + }, + { + "name": "ripleymkii1" + }, + { + "name": "ripleymkii2" + }, + { + "name": "ripleymkii3" + }, + { + "name": "ripleymkii4" + }, + { + "name": "ripleymkii5" + }, + { + "name": "ripleymkii6" + }, + { + "name": "ripleymkii7" + }, + { + "name": "ripleymkii8" + }, + { + "name": "ripleymkii9" + }, + { + "name": "ripleymkii10" + }, + { + "name": "ripleymkii11" + }, + { + "name": "ripleymkii12" + }, + { + "name": "ripleymkii13" + }, + { + "name": "ripleymkii14" + }, + { + "name": "ripleymkii15" + }, + { + "name": "ripleymkii16" + }, + { + "name": "ripleymkii17" + }, + { + "name": "ripleymkii18" + }, + { + "name": "ripleymkii19" + }, + { + "name": "ripleymkii20" + } + ] +} diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii0.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii0.png new file mode 100644 index 00000000000..f6c3604def8 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii0.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii1.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii1.png new file mode 100644 index 00000000000..11927eabe5e Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii1.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii10.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii10.png new file mode 100644 index 00000000000..6a17b5d6bd7 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii10.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii11.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii11.png new file mode 100644 index 00000000000..0f514a9223a Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii11.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii12.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii12.png new file mode 100644 index 00000000000..663d61978ca Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii12.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii13.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii13.png new file mode 100644 index 00000000000..663d61978ca Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii13.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii14.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii14.png new file mode 100644 index 00000000000..663d61978ca Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii14.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii15.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii15.png new file mode 100644 index 00000000000..3880364196e Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii15.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii16.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii16.png new file mode 100644 index 00000000000..4ce57047094 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii16.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii17.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii17.png new file mode 100644 index 00000000000..c0c545341cb Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii17.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii18.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii18.png new file mode 100644 index 00000000000..9a99bfcc32e Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii18.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii19.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii19.png new file mode 100644 index 00000000000..c18f6a8c300 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii19.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii2.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii2.png new file mode 100644 index 00000000000..6aeb7807f87 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii2.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii20.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii20.png new file mode 100644 index 00000000000..8f2146a859a Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii20.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii3.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii3.png new file mode 100644 index 00000000000..f4e775c918b Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii3.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii4.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii4.png new file mode 100644 index 00000000000..7446ffb9e85 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii4.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii5.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii5.png new file mode 100644 index 00000000000..7a3cadae020 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii5.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii6.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii6.png new file mode 100644 index 00000000000..6b5cff2cc53 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii6.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii7.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii7.png new file mode 100644 index 00000000000..3681585d8e7 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii7.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii8.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii8.png new file mode 100644 index 00000000000..2b02404c677 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii8.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii9.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii9.png new file mode 100644 index 00000000000..33da72a5494 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii9.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_chassis.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_chassis.png new file mode 100644 index 00000000000..693f7d38cc0 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_chassis.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_harness+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_harness+o.png new file mode 100644 index 00000000000..3ecc6d4edc1 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_harness+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_harness.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_harness.png new file mode 100644 index 00000000000..81579c00366 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_harness.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_arm+o.png new file mode 100644 index 00000000000..a511f8f5428 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_arm.png new file mode 100644 index 00000000000..41d2c83327b Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_leg+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_leg+o.png new file mode 100644 index 00000000000..c27a1ff245d Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_leg+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_leg.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_leg.png new file mode 100644 index 00000000000..b030880c475 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_l_leg.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_arm+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_arm+o.png new file mode 100644 index 00000000000..0733c1cd5c4 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_arm+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_arm.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_arm.png new file mode 100644 index 00000000000..b3897f09857 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_arm.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_leg+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_leg+o.png new file mode 100644 index 00000000000..0c75e70f833 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_leg+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_leg.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_leg.png new file mode 100644 index 00000000000..0b0c3ff8e54 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_r_leg.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_upgrade_kit+o.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_upgrade_kit+o.png new file mode 100644 index 00000000000..831e56c5657 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_upgrade_kit+o.png differ diff --git a/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_upgrade_kit.png b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_upgrade_kit.png new file mode 100644 index 00000000000..81fdea7e5b9 Binary files /dev/null and b/Resources/Textures/_Goobstation/Objects/Specific/Mech/ripleymkii_construction.rsi/ripleymkii_upgrade_kit.png differ