From b6920aec99cd95fa1a0591b184164f3d44f78c48 Mon Sep 17 00:00:00 2001 From: Rinary <72972221+Rinary1@users.noreply.github.com> Date: Wed, 30 Oct 2024 09:53:00 +0200 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=20=D0=BC=D0=B5=D1=85=D0=BE=D0=B2,=20=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=20=D0=B2=20=D1=81=D0=B8=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=20=D0=BC=D0=B5=D0=B4=D0=B8=D1=86=D0=B8=D0=BD=D1=8B?= =?UTF-8?q?=20(#507)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * mech system, fix hands, fix fraction * fix * fix fake hypo * fix triple airlocks big sizing * fix * upd clown hulk * xd fix 2 * bigger exit delay * mechs reflect changes * guns changes * draike up * mechs in another category * add equipment * Revert "upd clown hulk" This reverts commit b8084967040be5d442b2d4770cf7fdece1daa2a8. * SPIN MY MECH ASS * mech no rot * some resprite * no injections in hardsuits * some species can not be injectable * medipans can ignore armor, admeme hypospray ignore armor * fix * fix admeme hypo * mob fraction fix * rover + nt gygax add * fix description * fix id * some better dome effects * если пустая гильза в стволе -> Кнопки "казнь" не будет * phazon added * fix server crashes * full rework mechs on mobstates, coils fix mechs, diagnostic hud show health bar for mechs, mechs fastest repair, add mech analyzer * some fixes * configure health of all mechs * upd * add rover to uplink * translate bundle * change price * phazon construction * fix * fix * Finish phazon construction * add phazon research and recipes * phazon construction translate * fix * Mech lights * fix * translate light action * Mech sounds, fix damage * fix * fix hello sound * upd * fix linter * change damagePercentage * fix * fix hello sound * temp disable damage sounds * fix battery needed on construct * some changes * add mech painting system as DEBUG(in dev) * Fix yaml, durand paintings * mech spray cans textures * change sprite * fix * ripley, clarke new textures * ripley,clarke paints * fix * sec pod texture --------- Co-authored-by: Vigers Ray <60344369+VigersRay@users.noreply.github.com> --- Content.Client/Mech/MechSystem.cs | 28 +- .../EntitySystems/HypospraySystem.cs | 23 + .../Chemistry/EntitySystems/InjectorSystem.cs | 20 + Content.Server/Mech/Systems/MechSystem.cs | 55 ++- Content.Server/Medical/HealingSystem.cs | 2 +- .../_Sunrise/Execution/ExecutionSystem.cs | 11 + .../_Sunrise/Paint/MechPaintSystem.cs | 92 ++++ .../Components/HyposprayComponent.cs | 7 + .../CombatMode/SharedCombatModeSystem.cs | 11 + .../Mech/Components/MechComponent.cs | 34 +- .../Mech/EntitySystems/SharedMechSystem.cs | 62 ++- Content.Shared/Mech/SharedMech.cs | 4 + Content.Shared/Mobs/Systems/MobStateSystem.cs | 3 + .../Mobs/Systems/MobThresholdSystem.cs | 2 +- .../MouseRotator/SharedMouseRotatorSystem.cs | 12 +- .../NPC/Systems/NpcFactionSystem.cs | 19 + Content.Shared/Tag/TagComponent.cs | 3 +- .../_Sunrise/Paint/MechPaintComponent.cs | 53 +++ .../_Sunrise/Paint/SharedMechPaintSystem.cs | 92 ++++ .../Audio/_Sunrise/Mechs/mech_alert_25.ogg | Bin 0 -> 38218 bytes .../Audio/_Sunrise/Mechs/mech_alert_5.ogg | Bin 0 -> 45961 bytes .../Audio/_Sunrise/Mechs/mech_alert_50.ogg | Bin 0 -> 45099 bytes Resources/Audio/_Sunrise/Mechs/mech_hello.ogg | Bin 0 -> 27896 bytes .../_Sunrise/Mechs/mech_lights_disabled.ogg | Bin 0 -> 15555 bytes .../_Sunrise/Mechs/mech_lights_enabled.ogg | Bin 0 -> 15215 bytes .../components/hypospray-component.ftl | 3 + .../components/injector-component.ftl | 3 + .../entities/objects/devices/handheld.ftl | 11 + .../Locale/ru-RU/_prototypes/actions/mech.ftl | 2 + .../catalog/fills/crates/syndicate.ftl | 3 + .../electronics/exosuit_components.ftl | 4 + .../objects/devices/electronics/mech.ftl | 6 + .../specific/mech/mech_construction.ftl | 14 + .../entities/objects/specific/mech/mechs.ftl | 21 + .../specific/mech/weapons/gun/combat.ftl | 2 +- .../_strings/_sunrise/construction/steps.ftl | 1 + .../_sunrise/research/technologies.ftl | 1 + .../_strings/_sunrise/store/categories.ftl | 1 + .../_sunrise/store/uplink-catalog.ftl | 23 + .../components/hypospray-component.ftl | 4 + .../components/injector-component.ftl | 4 + .../ru-RU/_strings/lathe/lathe-categories.ftl | 1 + .../ru-RU/_strings/store/uplink-catalog.ftl | 4 +- Resources/Prototypes/Actions/mech.yml | 12 + .../Catalog/Fills/Crates/syndicate.yml | 15 + .../Prototypes/Catalog/uplink_catalog.yml | 32 -- .../Prototypes/Entities/Clothing/Eyes/hud.yml | 1 + .../Prototypes/Entities/Effects/dome.yml | 132 ++--- .../Entities/Markers/Spawners/mechs.yml | 14 +- .../Entities/Mobs/Species/reptilian.yml | 9 + .../Electronics/exosuit_components.yml | 35 ++ .../Objects/Devices/Electronics/mech.yml | 52 ++ .../Specific/Mech/Weapons/Gun/combat.yml | 12 +- .../Specific/Mech/mech_construction.yml | 146 ++++++ .../Entities/Objects/Specific/Mech/mechs.yml | 450 ++++++++++++++++-- .../Objects/Specific/Medical/hypospray.yml | 4 + .../Entities/Objects/Tools/cable_coils.yml | 3 +- .../Entities/Structures/Machines/lathe.yml | 11 + .../Structures/Specific/Anomaly/cores.yml | 1 + .../Graphs/mechs/clarke_construction.yml | 6 +- .../Graphs/mechs/durand_construction.yml | 6 +- .../Graphs/mechs/gygax_construction.yml | 6 +- .../Graphs/mechs/hamtr_construction.yml | 6 +- .../Graphs/mechs/honker_construction.yml | 6 +- .../Graphs/mechs/phazon_construction.yml | 215 +++++++++ .../Graphs/mechs/ripley_construction.yml | 6 +- .../Graphs/mechs/ripleymkii_construction.yml | 6 +- .../Graphs/mechs/vim_construction.yml | 6 +- .../Prototypes/Recipes/Lathes/categories.yml | 4 + .../Prototypes/Recipes/Lathes/electronics.yml | 15 + .../Prototypes/Recipes/Lathes/mech_parts.yml | 76 +++ .../Prototypes/Research/experimental.yml | 24 + Resources/Prototypes/Research/industrial.yml | 6 +- Resources/Prototypes/Store/categories.yml | 8 +- Resources/Prototypes/Store/presets.yml | 1 + .../_Sunrise/Catalog/uplink_catalog.yml | 198 +++++++- .../Prototypes/_Sunrise/Damage/containers.yml | 9 + .../Entities/Mobs/Species/humanoid_xeno.yml | 1 + .../Entities/Objects/Devices/handheld.yml | 76 +++ .../Entities/Objects/Fun/mech_spray_paint.yml | 434 +++++++++++++++++ .../_Sunrise/Entities/Objects/Fun/prunks.yml | 1 + .../Specific/Mech/Weapons/Gun/combat.yml | 8 +- .../Entities/Objects/Specific/Mech/mechs.yml | 72 +-- .../Doors/Airlocks/Glass/glass_airlock.yml | 1 - .../Prototypes/_Sunrise/Store/categories.yml | 9 +- .../Prototypes/_Sunrise/Store/presets.yml | 9 +- Resources/Prototypes/_Sunrise/tags.yml | 23 + Resources/Prototypes/tags.yml | 30 ++ .../clarke-broken.png | Bin .../{mecha.rsi => clarke.rsi}/clarke-open.png | Bin .../Mech/{mecha.rsi => clarke.rsi}/clarke.png | Bin .../Specific/Mech/clarke.rsi/meta.json | 75 +++ .../Mech/clarke.rsi/orangey-broken.png | Bin 0 -> 1444 bytes .../Specific/Mech/clarke.rsi/orangey-open.png | Bin 0 -> 1479 bytes .../Specific/Mech/clarke.rsi/orangey.png | Bin 0 -> 6288 bytes .../Mech/durand.rsi/darkdurand-broken.png | Bin 0 -> 3313 bytes .../Mech/durand.rsi/darkdurand-open.png | Bin 0 -> 3014 bytes .../Specific/Mech/durand.rsi/darkdurand.png | Bin 0 -> 6885 bytes .../Mech/durand.rsi/dollhouse-broken.png | Bin 0 -> 1953 bytes .../Mech/durand.rsi/dollhouse-open.png | Bin 0 -> 2599 bytes .../Specific/Mech/durand.rsi/dollhouse.png | Bin 0 -> 5770 bytes .../durand-broken.png | Bin .../{mecha.rsi => durand.rsi}/durand-open.png | Bin .../Mech/{mecha.rsi => durand.rsi}/durand.png | Bin .../Mech/durand.rsi/executor-broken.png | Bin 0 -> 1988 bytes .../Mech/durand.rsi/executor-open.png | Bin 0 -> 1373 bytes .../Specific/Mech/durand.rsi/executor.png | Bin 0 -> 4415 bytes .../Specific/Mech/durand.rsi/meta.json | 196 ++++++++ .../Specific/Mech/durand.rsi/shire-broken.png | Bin 0 -> 961 bytes .../Specific/Mech/durand.rsi/shire-open.png | Bin 0 -> 1019 bytes .../Specific/Mech/durand.rsi/shire.png | Bin 0 -> 2731 bytes .../Mech/durand.rsi/unathi-broken.png | Bin 0 -> 2223 bytes .../Specific/Mech/durand.rsi/unathi-open.png | Bin 0 -> 1966 bytes .../Specific/Mech/durand.rsi/unathi.png | Bin 0 -> 5506 bytes .../Mech/gygax.rsi/darkgygax-broken.png | Bin 0 -> 1234 bytes .../Mech/gygax.rsi/darkgygax-open.png | Bin 0 -> 1281 bytes .../Specific/Mech/gygax.rsi/darkgygax.png | Bin 0 -> 3353 bytes .../{mecha.rsi => gygax.rsi}/gygax-broken.png | Bin .../{mecha.rsi => gygax.rsi}/gygax-open.png | Bin .../Mech/{mecha.rsi => gygax.rsi}/gygax.png | Bin .../Mech/gygax.rsi/gygax_alt-broken.png | Bin 0 -> 1387 bytes .../Mech/gygax.rsi/gygax_alt-open.png | Bin 0 -> 1273 bytes .../Specific/Mech/gygax.rsi/gygax_alt.png | Bin 0 -> 3518 bytes .../gygax_black-broken.png} | Bin .../gygax_black-open.png} | Bin .../gygax_black.png} | Bin .../Mech/gygax.rsi/gygax_white-broken.png | Bin 0 -> 2430 bytes .../Mech/gygax.rsi/gygax_white-open.png | Bin 0 -> 2882 bytes .../Specific/Mech/gygax.rsi/gygax_white.png | Bin 0 -> 4988 bytes .../Objects/Specific/Mech/gygax.rsi/meta.json | 213 +++++++++ .../Specific/Mech/gygax.rsi}/molot-broken.png | Bin .../Specific/Mech/gygax.rsi}/molot-open.png | Bin .../Specific/Mech/gygax.rsi}/molot.png | Bin .../Mech/gygax.rsi/ntgygax-broken.png | Bin 0 -> 2712 bytes .../Specific/Mech/gygax.rsi/ntgygax-open.png | Bin 0 -> 3236 bytes .../Specific/Mech/gygax.rsi/ntgygax.png | Bin 0 -> 5200 bytes .../Mech/gygax.rsi/piratgygax-broken.png | Bin 0 -> 2336 bytes .../Mech/gygax.rsi/piratgygax-open.png | Bin 0 -> 1377 bytes .../Specific/Mech/gygax.rsi/piratgygax.png | Bin 0 -> 4550 bytes .../Objects/Specific/Mech/mecha.rsi/meta.json | 209 -------- .../mecha_equipment.rsi/mecha_analyzer.png | Bin 530 -> 662 bytes .../mecha_analyzer_anim.png | Bin 0 -> 564 bytes .../mecha_equipment.rsi/mecha_firedart.png | Bin 0 -> 748 bytes .../mecha_equipment.rsi/mecha_immolator.png | Bin 0 -> 1466 bytes .../mecha_equipment.rsi/mecha_solaris.png | Bin 0 -> 1779 bytes .../Mech/mecha_equipment.rsi/meta.json | 81 ++++ .../triphasic_scan_module.png | Bin 0 -> 787 bytes .../Mech/phazon_construction.rsi/meta.json | 130 +++++ .../Mech/phazon_construction.rsi/phazon0.png | Bin 0 -> 1024 bytes .../Mech/phazon_construction.rsi/phazon1.png | Bin 0 -> 1028 bytes .../Mech/phazon_construction.rsi/phazon10.png | Bin 0 -> 1249 bytes .../Mech/phazon_construction.rsi/phazon11.png | Bin 0 -> 1258 bytes .../Mech/phazon_construction.rsi/phazon12.png | Bin 0 -> 1256 bytes .../Mech/phazon_construction.rsi/phazon13.png | Bin 0 -> 1272 bytes .../Mech/phazon_construction.rsi/phazon14.png | Bin 0 -> 1261 bytes .../Mech/phazon_construction.rsi/phazon15.png | Bin 0 -> 1276 bytes .../Mech/phazon_construction.rsi/phazon16.png | Bin 0 -> 1319 bytes .../Mech/phazon_construction.rsi/phazon17.png | Bin 0 -> 1338 bytes .../Mech/phazon_construction.rsi/phazon18.png | Bin 0 -> 1319 bytes .../Mech/phazon_construction.rsi/phazon19.png | Bin 0 -> 1261 bytes .../Mech/phazon_construction.rsi/phazon2.png | Bin 0 -> 1035 bytes .../Mech/phazon_construction.rsi/phazon20.png | Bin 0 -> 3334 bytes .../Mech/phazon_construction.rsi/phazon21.png | Bin 0 -> 1324 bytes .../Mech/phazon_construction.rsi/phazon22.png | Bin 0 -> 1250 bytes .../Mech/phazon_construction.rsi/phazon3.png | Bin 0 -> 1276 bytes .../Mech/phazon_construction.rsi/phazon4.png | Bin 0 -> 1172 bytes .../Mech/phazon_construction.rsi/phazon5.png | Bin 0 -> 1180 bytes .../Mech/phazon_construction.rsi/phazon6.png | Bin 0 -> 1179 bytes .../Mech/phazon_construction.rsi/phazon7.png | Bin 0 -> 1200 bytes .../Mech/phazon_construction.rsi/phazon8.png | Bin 0 -> 1236 bytes .../Mech/phazon_construction.rsi/phazon9.png | Bin 0 -> 1253 bytes .../phazon_construction.rsi/phazon_armor.png | Bin 0 -> 999 bytes .../phazon_chassis.png | Bin 0 -> 1024 bytes .../phazon_harness+o.png | Bin 0 -> 563 bytes .../phazon_harness.png | Bin 0 -> 563 bytes .../phazon_construction.rsi/phazon_head+o.png | Bin 0 -> 268 bytes .../phazon_construction.rsi/phazon_head.png | Bin 0 -> 277 bytes .../phazon_l_arm+o.png | Bin 0 -> 333 bytes .../phazon_construction.rsi/phazon_l_arm.png | Bin 0 -> 337 bytes .../phazon_l_leg+o.png | Bin 0 -> 388 bytes .../phazon_construction.rsi/phazon_l_leg.png | Bin 0 -> 395 bytes .../phazon_r_arm+o.png | Bin 0 -> 344 bytes .../phazon_construction.rsi/phazon_r_arm.png | Bin 0 -> 348 bytes .../phazon_r_leg+o.png | Bin 0 -> 378 bytes .../phazon_construction.rsi/phazon_r_leg.png | Bin 0 -> 387 bytes .../Mech/ripley.rsi/aluminizer-broken.png | Bin 0 -> 1036 bytes .../Mech/ripley.rsi/aluminizer-open.png | Bin 0 -> 1071 bytes .../Specific/Mech/ripley.rsi/aluminizer.png | Bin 0 -> 3008 bytes .../Mech/ripley.rsi/combatripley-broken.png | Bin 0 -> 1058 bytes .../Mech/ripley.rsi/combatripley-open.png | Bin 0 -> 1190 bytes .../Specific/Mech/ripley.rsi/combatripley.png | Bin 0 -> 4095 bytes .../deathripley-broken.png | Bin .../deathripley-open.png | Bin .../{mecha.rsi => ripley.rsi}/deathripley.png | Bin .../firefighter-broken.png | Bin .../firefighter-open.png | Bin .../{mecha.rsi => ripley.rsi}/firefighter.png | Bin .../hauler-broken.png | Bin .../hauler-empty.png | Bin .../{mecha.rsi => ripley.rsi}/hauler-open.png | Bin .../Mech/{mecha.rsi => ripley.rsi}/hauler.png | Bin .../Specific/Mech/ripley.rsi/meta.json | 129 +++++ .../ripley-broken-old.png | Bin .../ripley-broken.png | Bin .../ripley-empty.png | Bin .../ripley-g-full-open.png | Bin .../ripley-g-full.png | Bin .../ripley-g-open.png | Bin .../{mecha.rsi => ripley.rsi}/ripley-g.png | Bin .../{mecha.rsi => ripley.rsi}/ripley-old.png | Bin .../{mecha.rsi => ripley.rsi}/ripley-open.png | Bin .../Mech/{mecha.rsi => ripley.rsi}/ripley.png | Bin .../ripley.rsi/ripley_flames_red-broken.png | Bin 0 -> 1328 bytes .../ripley.rsi/ripley_flames_red-open.png | Bin 0 -> 1754 bytes .../Mech/ripley.rsi/ripley_flames_red.png | Bin 0 -> 4620 bytes .../Mech/ripley.rsi/ripley_zairjah-broken.png | Bin 0 -> 1150 bytes .../Mech/ripley.rsi/ripley_zairjah-open.png | Bin 0 -> 1308 bytes .../Mech/ripley.rsi/ripley_zairjah.png | Bin 0 -> 3490 bytes .../ripleymkii-broken.png | Bin .../ripleymkii-open.png | Bin .../{mecha.rsi => ripley.rsi}/ripleymkii.png | Bin .../Fun/mech_spraycans/clarke.rsi/meta.json | 23 + .../mech_spraycans/clarke.rsi/orangey-cap.png | Bin 0 -> 266 bytes .../Fun/mech_spraycans/clarke.rsi/orangey.png | Bin 0 -> 293 bytes .../clarke.rsi/spiderclarke-cap.png | Bin 0 -> 337 bytes .../clarke.rsi/spiderclarke.png | Bin 0 -> 358 bytes .../durand.rsi/dollhouse-cap.png | Bin 0 -> 413 bytes .../mech_spraycans/durand.rsi/dollhouse.png | Bin 0 -> 435 bytes .../durand.rsi/executioner-cap.png | Bin 0 -> 323 bytes .../mech_spraycans/durand.rsi/executioner.png | Bin 0 -> 358 bytes .../mech_spraycans/durand.rsi/kharn-cap.png | Bin 0 -> 385 bytes .../Fun/mech_spraycans/durand.rsi/kharn.png | Bin 0 -> 412 bytes .../Fun/mech_spraycans/durand.rsi/meta.json | 35 ++ .../mech_spraycans/durand.rsi/shire-cap.png | Bin 0 -> 317 bytes .../Fun/mech_spraycans/durand.rsi/shire.png | Bin 0 -> 341 bytes .../gygax.rsi/gygax-white-cap.png | Bin 0 -> 356 bytes .../mech_spraycans/gygax.rsi/gygax-white.png | Bin 0 -> 367 bytes .../mech_spraycans/gygax.rsi/medgax-cap.png | Bin 0 -> 377 bytes .../Fun/mech_spraycans/gygax.rsi/medgax.png | Bin 0 -> 395 bytes .../Fun/mech_spraycans/gygax.rsi/meta.json | 35 ++ .../mech_spraycans/gygax.rsi/pobeda-cap.png | Bin 0 -> 381 bytes .../Fun/mech_spraycans/gygax.rsi/pobeda.png | Bin 0 -> 404 bytes .../gygax.rsi/syndiegax-cap.png | Bin 0 -> 330 bytes .../mech_spraycans/gygax.rsi/syndiegax.png | Bin 0 -> 395 bytes .../mech_spraycans/phazon.rsi/blanco-cap.png | Bin 0 -> 383 bytes .../Fun/mech_spraycans/phazon.rsi/blanco.png | Bin 0 -> 392 bytes .../phazon.rsi/imperion-cap.png | Bin 0 -> 398 bytes .../mech_spraycans/phazon.rsi/imperion.png | Bin 0 -> 399 bytes .../mech_spraycans/phazon.rsi/janus-cap.png | Bin 0 -> 385 bytes .../Fun/mech_spraycans/phazon.rsi/janus.png | Bin 0 -> 380 bytes .../Fun/mech_spraycans/phazon.rsi/meta.json | 35 ++ .../mech_spraycans/phazon.rsi/plazmus-cap.png | Bin 0 -> 380 bytes .../Fun/mech_spraycans/phazon.rsi/plazmus.png | Bin 0 -> 398 bytes .../ripley.rsi/aluminizer-cap.png | Bin 0 -> 323 bytes .../mech_spraycans/ripley.rsi/aluminizer.png | Bin 0 -> 345 bytes .../ripley.rsi/combat-ripley-cap.png | Bin 0 -> 349 bytes .../ripley.rsi/combat-ripley.png | Bin 0 -> 363 bytes .../ripley.rsi/firestarter-cap.png | Bin 0 -> 461 bytes .../mech_spraycans/ripley.rsi/firestarter.png | Bin 0 -> 473 bytes .../mech_spraycans/ripley.rsi/hauler-cap.png | Bin 0 -> 364 bytes .../Fun/mech_spraycans/ripley.rsi/hauler.png | Bin 0 -> 358 bytes .../Fun/mech_spraycans/ripley.rsi/meta.json | 47 ++ .../mech_spraycans/ripley.rsi/reaper-cap.png | Bin 0 -> 417 bytes .../Fun/mech_spraycans/ripley.rsi/reaper.png | Bin 0 -> 440 bytes .../mech_spraycans/ripley.rsi/zairjah-cap.png | Bin 0 -> 382 bytes .../Fun/mech_spraycans/ripley.rsi/zairjah.png | Bin 0 -> 402 bytes .../Objects/Specific/Mech/mecha.rsi/meta.json | 32 -- .../Specific/Mech/sec_pod.rsi/meta.json | 15 + .../Specific/Mech/sec_pod.rsi/sec_pod.png | Bin 0 -> 5177 bytes 269 files changed, 3590 insertions(+), 503 deletions(-) create mode 100644 Content.Server/_Sunrise/Paint/MechPaintSystem.cs create mode 100644 Content.Shared/_Sunrise/Paint/MechPaintComponent.cs create mode 100644 Content.Shared/_Sunrise/Paint/SharedMechPaintSystem.cs create mode 100644 Resources/Audio/_Sunrise/Mechs/mech_alert_25.ogg create mode 100644 Resources/Audio/_Sunrise/Mechs/mech_alert_5.ogg create mode 100644 Resources/Audio/_Sunrise/Mechs/mech_alert_50.ogg create mode 100644 Resources/Audio/_Sunrise/Mechs/mech_hello.ogg create mode 100644 Resources/Audio/_Sunrise/Mechs/mech_lights_disabled.ogg create mode 100644 Resources/Audio/_Sunrise/Mechs/mech_lights_enabled.ogg create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/mechs/phazon_construction.yml create mode 100644 Resources/Prototypes/_Sunrise/Entities/Objects/Fun/mech_spray_paint.yml rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => clarke.rsi}/clarke-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => clarke.rsi}/clarke-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => clarke.rsi}/clarke.png (100%) create mode 100644 Resources/Textures/Objects/Specific/Mech/clarke.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Mech/clarke.rsi/orangey-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/clarke.rsi/orangey-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/clarke.rsi/orangey.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/darkdurand-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/darkdurand-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/darkdurand.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse.png rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => durand.rsi}/durand-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => durand.rsi}/durand-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => durand.rsi}/durand.png (100%) create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/executor-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/executor-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/executor.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/shire-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/shire-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/shire.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/unathi-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/unathi-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/durand.rsi/unathi.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/darkgygax-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/darkgygax-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/darkgygax.png rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => gygax.rsi}/gygax-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => gygax.rsi}/gygax-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => gygax.rsi}/gygax.png (100%) create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_alt-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_alt-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_alt.png rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi/darkgygax-broken.png => gygax.rsi/gygax_black-broken.png} (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi/darkgygax-open.png => gygax.rsi/gygax_black-open.png} (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi/darkgygax.png => gygax.rsi/gygax_black.png} (100%) create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_white-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_white-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_white.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/meta.json rename Resources/Textures/{_Sunrise/Objects/Specific/Mech/mecha.rsi => Objects/Specific/Mech/gygax.rsi}/molot-broken.png (100%) rename Resources/Textures/{_Sunrise/Objects/Specific/Mech/mecha.rsi => Objects/Specific/Mech/gygax.rsi}/molot-open.png (100%) rename Resources/Textures/{_Sunrise/Objects/Specific/Mech/mecha.rsi => Objects/Specific/Mech/gygax.rsi}/molot.png (100%) create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/ntgygax-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/ntgygax-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/ntgygax.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/piratgygax-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/piratgygax-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/gygax.rsi/piratgygax.png create mode 100644 Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_analyzer_anim.png create mode 100644 Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_firedart.png create mode 100644 Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_immolator.png create mode 100644 Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_solaris.png create mode 100644 Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/triphasic_scan_module.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon0.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon1.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon10.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon11.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon12.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon13.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon14.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon15.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon16.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon17.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon18.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon19.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon2.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon20.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon21.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon22.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon3.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon4.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon5.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon6.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon7.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon8.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon9.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_armor.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_chassis.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_harness+o.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_harness.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_head+o.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_head.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_arm+o.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_arm.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_leg+o.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_leg.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_arm+o.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_arm.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_leg+o.png create mode 100644 Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_leg.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/aluminizer-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/aluminizer-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/aluminizer.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/combatripley-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/combatripley-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/combatripley.png rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/deathripley-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/deathripley-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/deathripley.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/firefighter-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/firefighter-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/firefighter.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/hauler-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/hauler-empty.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/hauler-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/hauler.png (100%) create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/meta.json rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-broken-old.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-empty.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-g-full-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-g-full.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-g-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-g.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-old.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripley.png (100%) create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_flames_red-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_flames_red-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_flames_red.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_zairjah-broken.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_zairjah-open.png create mode 100644 Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_zairjah.png rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripleymkii-broken.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripleymkii-open.png (100%) rename Resources/Textures/Objects/Specific/Mech/{mecha.rsi => ripley.rsi}/ripleymkii.png (100%) create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/meta.json create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/orangey-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/orangey.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/spiderclarke-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/spiderclarke.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/dollhouse-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/dollhouse.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/executioner-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/executioner.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/kharn-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/kharn.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/meta.json create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/shire-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/shire.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/gygax-white-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/gygax-white.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/medgax-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/medgax.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/meta.json create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/pobeda-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/pobeda.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/syndiegax-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/syndiegax.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/blanco-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/blanco.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/imperion-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/imperion.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/janus-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/janus.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/meta.json create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/plazmus-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/plazmus.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/aluminizer-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/aluminizer.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/combat-ripley-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/combat-ripley.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/firestarter-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/firestarter.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/hauler-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/hauler.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/meta.json create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/reaper-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/reaper.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/zairjah-cap.png create mode 100644 Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/zairjah.png delete mode 100644 Resources/Textures/_Sunrise/Objects/Specific/Mech/mecha.rsi/meta.json create mode 100644 Resources/Textures/_Sunrise/Objects/Specific/Mech/sec_pod.rsi/meta.json create mode 100644 Resources/Textures/_Sunrise/Objects/Specific/Mech/sec_pod.rsi/sec_pod.png diff --git a/Content.Client/Mech/MechSystem.cs b/Content.Client/Mech/MechSystem.cs index ba4e29951d..6140385df5 100644 --- a/Content.Client/Mech/MechSystem.cs +++ b/Content.Client/Mech/MechSystem.cs @@ -2,6 +2,7 @@ using Content.Shared.Mech.Components; using Content.Shared.Mech.EntitySystems; using Robust.Client.GameObjects; +using Robust.Shared.GameObjects; using DrawDepth = Content.Shared.DrawDepth.DrawDepth; namespace Content.Client.Mech; @@ -17,6 +18,7 @@ public sealed class MechSystem : SharedMechSystem base.Initialize(); SubscribeLocalEvent(OnAppearanceChanged); + SubscribeLocalEvent(OnUpdateAppearanceEvent); } private void OnAppearanceChanged(EntityUid uid, MechComponent component, ref AppearanceChangeEvent args) @@ -24,23 +26,41 @@ public sealed class MechSystem : SharedMechSystem if (args.Sprite == null) return; - if (!args.Sprite.TryGetLayer((int) MechVisualLayers.Base, out var layer)) + UpdateAppearance(uid, component, args.Sprite); + } + + private void OnUpdateAppearanceEvent(EntityUid uid, MechComponent component, ref UpdateAppearanceEvent args) + { + if (!TryComp(uid, out var sprite)) + return; + + UpdateAppearance(uid, component, sprite); + } + + private void UpdateAppearance(EntityUid uid, MechComponent component, SpriteComponent sprite) + { + if (!sprite.TryGetLayer((int) MechVisualLayers.Base, out var layer)) return; var state = component.BaseState; var drawDepth = DrawDepth.Mobs; - if (component.BrokenState != null && _appearance.TryGetData(uid, MechVisuals.Broken, out var broken, args.Component) && broken) + + if (component.BrokenState != null + && _appearance.TryGetData(uid, MechVisuals.Broken, out var broken) + && broken) { state = component.BrokenState; drawDepth = DrawDepth.SmallMobs; } - else if (component.OpenState != null && _appearance.TryGetData(uid, MechVisuals.Open, out var open, args.Component) && open) + else if (component.OpenState != null + && _appearance.TryGetData(uid, MechVisuals.Open, out var open) + && open) { state = component.OpenState; drawDepth = DrawDepth.SmallMobs; } layer.SetState(state); - args.Sprite.DrawDepth = (int) drawDepth; + sprite.DrawDepth = (int) drawDepth; } } diff --git a/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs b/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs index 9b78e81aa0..eac4ece0aa 100644 --- a/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs +++ b/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs @@ -11,8 +11,12 @@ using Content.Shared.Interaction.Events; using Content.Shared.Mobs.Components; using Content.Shared.Timing; using Content.Shared.Weapons.Melee.Events; +using Content.Shared.Inventory; +using Content.Shared.Tag; +using Content.Shared.Popups; using Content.Server.Interaction; using Content.Server.Body.Components; +using Content.Server.Popups; using Robust.Shared.GameStates; using System.Diagnostics.CodeAnalysis; using System.Linq; @@ -22,6 +26,8 @@ namespace Content.Server.Chemistry.EntitySystems; public sealed class HypospraySystem : SharedHypospraySystem { + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly InventorySystem _inventorySystem = default!; [Dependency] private readonly AudioSystem _audio = default!; [Dependency] private readonly InteractionSystem _interaction = default!; @@ -84,6 +90,23 @@ public sealed class HypospraySystem : SharedHypospraySystem } string? msgFormat = null; + + if (!component.PierceArmor && _inventorySystem.TryGetSlotEntity(target, "outerClothing", out var suit)) + { + if (TryComp(suit, out var tag) && tag.Tags.Contains("Hardsuit")) + { + if (target == null) return false; + var taget = (EntityUid) target; + + _popup.PopupEntity(Loc.GetString("hypospay-component-failure-hardsuit"), target, user, PopupType.MediumCaution); + return false; + } + } + else if (!component.PierceArmor && TryComp(target, out var tag) && tag.Tags.Contains("NoInjectable")) + { + _popup.PopupEntity(Loc.GetString("hypospay-component-failure-hardsuit"), target, user, PopupType.MediumCaution); + return false; + } if (target == user) msgFormat = "hypospray-component-inject-self-message"; diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs index c5c45daa5b..fe204a8314 100644 --- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs @@ -1,5 +1,6 @@ using Content.Server.Body.Components; using Content.Server.Body.Systems; +using Content.Server.Popups; using Content.Shared.Chemistry; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.Components.SolutionManager; @@ -11,13 +12,18 @@ using Content.Shared.FixedPoint; using Content.Shared.Forensics; using Content.Shared.IdentityManagement; using Content.Shared.Interaction; +using Content.Shared.Inventory; using Content.Shared.Mobs.Components; using Content.Shared.Stacks; +using Content.Shared.Tag; +using Content.Shared.Popups; namespace Content.Server.Chemistry.EntitySystems; public sealed class InjectorSystem : SharedInjectorSystem { + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly InventorySystem _inventorySystem = default!; [Dependency] private readonly BloodstreamSystem _blood = default!; [Dependency] private readonly ReactiveSystem _reactiveSystem = default!; @@ -31,6 +37,20 @@ public sealed class InjectorSystem : SharedInjectorSystem private bool TryUseInjector(Entity injector, EntityUid target, EntityUid user) { + if (_inventorySystem.TryGetSlotEntity(target, "outerClothing", out var suit)) + { + if (TryComp(suit, out var tag) && tag.Tags.Contains("Hardsuit")) + { + _popup.PopupEntity(Loc.GetString("injector-component-failure-hardsuit"), target, user, PopupType.MediumCaution); + return false; + } + } + else if (TryComp(target, out var tag) && tag.Tags.Contains("NoInjectable")) + { + _popup.PopupEntity(Loc.GetString("injector-component-failure-hardsuit"), target, user, PopupType.MediumCaution); + return false; + } + // Handle injecting/drawing for solutions if (injector.Comp.ToggleState == InjectorToggleMode.Inject) { diff --git a/Content.Server/Mech/Systems/MechSystem.cs b/Content.Server/Mech/Systems/MechSystem.cs index 4fbe9d7429..012aab55a4 100644 --- a/Content.Server/Mech/Systems/MechSystem.cs +++ b/Content.Server/Mech/Systems/MechSystem.cs @@ -11,6 +11,9 @@ using Content.Shared.Interaction; using Content.Shared.Mech; using Content.Shared.Mech.Components; using Content.Shared.Mech.EntitySystems; +using Content.Shared.Mobs; +using Content.Shared.Mobs.Systems; +using Content.Shared.Mobs.Components; using Content.Shared.Movement.Events; using Content.Shared.Popups; using Content.Shared.Tools.Components; @@ -20,7 +23,11 @@ using Content.Server.Body.Systems; using Content.Shared.Tools.Systems; using Content.Shared.Hands.Components; using Content.Shared.Hands.EntitySystems; +using Content.Shared.NPC.Components; +using Content.Shared.NPC.Systems; using Content.Shared.Tag; +using Robust.Server.Audio; +using Robust.Shared.Audio; using Robust.Server.Containers; using Robust.Server.GameObjects; using Robust.Shared.Containers; @@ -32,6 +39,8 @@ namespace Content.Server.Mech.Systems; /// public sealed partial class MechSystem : SharedMechSystem { + [Dependency] private readonly AudioSystem _audioSystem = default!; + [Dependency] private readonly NpcFactionSystem _factionSystem = default!; [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!; [Dependency] private readonly AtmosphereSystem _atmosphere = default!; [Dependency] private readonly BatterySystem _battery = default!; @@ -44,6 +53,7 @@ public sealed partial class MechSystem : SharedMechSystem [Dependency] private readonly SharedToolSystem _toolSystem = default!; [Dependency] private readonly SharedHandsSystem _hands = default!; [Dependency] private readonly TagSystem _tag = default!; + [Dependency] private readonly MobThresholdSystem _mobThresholdSystem = default!; /// public override void Initialize() @@ -240,14 +250,11 @@ public sealed partial class MechSystem : SharedMechSystem return; } - if (!TryComp(args.Args.User, out var handsComponent)) - return; - - foreach (var hand in _hands.EnumerateHands(args.Args.User, handsComponent)) - { - _hands.DoDrop(args.Args.User, hand, true, handsComponent); - } + if (TryComp(args.Args.User, out var handsComponent)) + foreach (var hand in _hands.EnumerateHands(args.Args.User, handsComponent)) + _hands.DoDrop(args.Args.User, hand, true, handsComponent); + _factionSystem.Up(args.Args.User, uid); TryInsert(uid, args.Args.User, component); _actionBlocker.UpdateCanMove(uid); @@ -259,6 +266,7 @@ public sealed partial class MechSystem : SharedMechSystem if (args.Cancelled || args.Handled) return; + RemComp(component.Owner); TryEject(uid, component); args.Handled = true; @@ -266,17 +274,40 @@ public sealed partial class MechSystem : SharedMechSystem private void OnDamageChanged(EntityUid uid, MechComponent component, DamageChangedEvent args) { - var integrity = component.MaxIntegrity - args.Damageable.TotalDamage; - SetIntegrity(uid, integrity, component); - + /* + if (TryComp(uid, out var damage)) + { + PlayCritSound(uid, component, damage); + } + */ if (args.DamageIncreased && args.DamageDelta != null && component.PilotSlot.ContainedEntity != null) { - var damage = args.DamageDelta * component.MechToPilotDamageMultiplier; - _damageable.TryChangeDamage(component.PilotSlot.ContainedEntity, damage); + var damagetoplayer = args.DamageDelta * component.MechToPilotDamageMultiplier; + _damageable.TryChangeDamage(component.PilotSlot.ContainedEntity, damagetoplayer); } } + + private void PlayCritSound(EntityUid uid, MechComponent component, DamageableComponent damage ) + { + var total = damage.TotalDamage; + if (_mobThresholdSystem.TryGetThresholdForState(uid, MobState.Critical, out var critThreshold)) + { + var damagePercentage = (total / critThreshold) * 100; + if (component.PilotSlot.ContainedEntity != null) + { + if (damagePercentage >= 95) + _audioSystem.PlayPvs(_audioSystem.GetSound(component.Alert5), component.PilotSlot.ContainedEntity.Value); + else if (damagePercentage >= 75) + _audioSystem.PlayPvs(_audioSystem.GetSound(component.Alert25), component.PilotSlot.ContainedEntity.Value); + else if (damagePercentage >= 50) + _audioSystem.PlayPvs(_audioSystem.GetSound(component.Alert50), component.PilotSlot.ContainedEntity.Value); + Dirty(uid ,component); + } + } + } + private void ToggleMechUi(EntityUid uid, MechComponent? component = null, EntityUid? user = null) { diff --git a/Content.Server/Medical/HealingSystem.cs b/Content.Server/Medical/HealingSystem.cs index cf5869d1cb..ae4a21b610 100644 --- a/Content.Server/Medical/HealingSystem.cs +++ b/Content.Server/Medical/HealingSystem.cs @@ -127,7 +127,7 @@ public sealed class HealingSystem : EntitySystem var healingDict = healing.Damage.DamageDict; foreach (var type in healingDict) { - if (damageableDict[type.Key].Value > 0) + if (damageableDict.TryGetValue(type.Key, out var damageValue) && damageValue.Value > 0) //Sunrise-edit: fix server crashes { return true; } diff --git a/Content.Server/_Sunrise/Execution/ExecutionSystem.cs b/Content.Server/_Sunrise/Execution/ExecutionSystem.cs index 5afb305004..d777b773c4 100644 --- a/Content.Server/_Sunrise/Execution/ExecutionSystem.cs +++ b/Content.Server/_Sunrise/Execution/ExecutionSystem.cs @@ -21,6 +21,7 @@ using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Player; using Robust.Shared.Prototypes; +using Robust.Shared.Containers; namespace Content.Server._Sunrise.Execution; @@ -29,6 +30,7 @@ namespace Content.Server._Sunrise.Execution; /// public sealed class ExecutionSystem : EntitySystem { + [Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly MobStateSystem _mobStateSystem = default!; @@ -168,6 +170,15 @@ public sealed class ExecutionSystem : EntitySystem // We must be able to actually fire the gun if (!TryComp(weapon, out var gun) && _gunSystem.CanShoot(gun!)) return false; + + if (_containerSystem.TryGetContainer(weapon, "gun_chamber", out var chamberContainer)) + { + foreach (var contained in chamberContainer.ContainedEntities) + { + if (TryComp(contained, out var cartridge) && cartridge.Spent) + return false; + } + } return true; } diff --git a/Content.Server/_Sunrise/Paint/MechPaintSystem.cs b/Content.Server/_Sunrise/Paint/MechPaintSystem.cs new file mode 100644 index 0000000000..af6052f8dc --- /dev/null +++ b/Content.Server/_Sunrise/Paint/MechPaintSystem.cs @@ -0,0 +1,92 @@ +using Content.Server.Chemistry.Containers.EntitySystems; +using Content.Shared._Sunrise.Paint; +using Content.Shared.DoAfter; +using Content.Shared.Humanoid; +using Content.Shared.Interaction; +using Content.Shared.Inventory; +using Content.Shared.Nutrition.EntitySystems; +using Content.Shared.Popups; +using Content.Shared.Sprite; +using Content.Shared.SubFloor; +using Content.Shared.Verbs; +using Content.Shared.Mech.Components; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Utility; +using PaintComponent = Content.Shared._Sunrise.Paint.PaintComponent; +using PaintDoAfterEvent = Content.Shared._Sunrise.Paint.PaintDoAfterEvent; +using PaintedComponent = Content.Shared._Sunrise.Paint.PaintedComponent; + +namespace Content.Server._Sunrise.Paint; + +/// +/// Colors target and consumes reagent on each color success. +/// +public sealed class MechPaintSystem : SharedMechPaintSystem +{ + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; + [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; + [Dependency] private readonly InventorySystem _inventory = default!; + [Dependency] private readonly OpenableSystem _openable = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInteract); + SubscribeLocalEvent>(OnPaintVerb); + } + + private void OnInteract(EntityUid uid, MechPaintComponent component, AfterInteractEvent args) + { + if (!args.CanReach) + return; + + if (args.Target is not { Valid: true } target) + return; + + if (!HasComp(args.Target)) + return; + + PrepPaint(uid, component, target, args.User); + } + + private void OnPaintVerb(EntityUid uid, MechPaintComponent component, GetVerbsEvent args) + { + if (!args.CanInteract || !args.CanAccess) + return; + + if (!HasComp(args.Target)) + return; + + var paintText = Loc.GetString("paint-verb"); + + var verb = new UtilityVerb() + { + Act = () => + { + PrepPaint(uid, component, args.Target, args.User); + }, + + Text = paintText, + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/paint.svg.192dpi.png")) + }; + args.Verbs.Add(verb); + } + private void PrepPaint(EntityUid uid, MechPaintComponent component, EntityUid target, EntityUid user) + { + + var doAfterEventArgs = new DoAfterArgs(EntityManager, user, component.Delay, new PaintDoAfterEvent(), uid, target: target, used: uid) + { + BreakOnMove = true, + BreakOnDamage = true, + NeedHand = true, + BreakOnHandChange = true + }; + + if (!_doAfterSystem.TryStartDoAfter(doAfterEventArgs)) + return; + } +} diff --git a/Content.Shared/Chemistry/Components/HyposprayComponent.cs b/Content.Shared/Chemistry/Components/HyposprayComponent.cs index 05ef84bbaf..b7abe47944 100644 --- a/Content.Shared/Chemistry/Components/HyposprayComponent.cs +++ b/Content.Shared/Chemistry/Components/HyposprayComponent.cs @@ -37,4 +37,11 @@ public sealed partial class HyposprayComponent : Component /// [DataField] public bool InjectOnly = false; + + /// + /// Whether the hypospray uses a needle (i.e. medipens) + /// or sci fi bullshit that sprays into the bloodstream directly (i.e. hypos) + /// + [DataField] + public bool PierceArmor = false; } diff --git a/Content.Shared/CombatMode/SharedCombatModeSystem.cs b/Content.Shared/CombatMode/SharedCombatModeSystem.cs index 5eed8ee242..84c9aa65aa 100644 --- a/Content.Shared/CombatMode/SharedCombatModeSystem.cs +++ b/Content.Shared/CombatMode/SharedCombatModeSystem.cs @@ -1,6 +1,7 @@ using Content.Shared.Actions; using Content.Shared.Mind; using Content.Shared.MouseRotator; +using Content.Shared.Mech.Components; using Content.Shared.Movement.Components; using Content.Shared.Popups; using Robust.Shared.Network; @@ -94,11 +95,21 @@ public abstract class SharedCombatModeSystem : EntitySystem { if (value) { + if (TryComp(uid, out var mechPilot) && !HasComp(mechPilot.Mech)) + { + EnsureComp(mechPilot.Mech); + } + EnsureComp(uid); EnsureComp(uid); } else { + if (TryComp(uid, out var mechPilot) && HasComp(mechPilot.Mech)) + { + RemComp(mechPilot.Mech); + } + RemComp(uid); RemComp(uid); } diff --git a/Content.Shared/Mech/Components/MechComponent.cs b/Content.Shared/Mech/Components/MechComponent.cs index ce7026796b..deb3b494ef 100644 --- a/Content.Shared/Mech/Components/MechComponent.cs +++ b/Content.Shared/Mech/Components/MechComponent.cs @@ -1,7 +1,9 @@ using Content.Shared.FixedPoint; using Content.Shared.Whitelist; +using Robust.Shared.Audio; using Robust.Shared.Containers; using Robust.Shared.GameStates; +using Robust.Shared.Serialization; using Robust.Shared.Prototypes; namespace Content.Shared.Mech.Components; @@ -67,6 +69,12 @@ public sealed partial class MechComponent : Component /// [ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] public bool Broken = false; + + /// + /// Whether the mech has toggled lights. + /// + [ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + public bool Lights = false; /// /// The slot the pilot is stored in. @@ -119,7 +127,7 @@ public sealed partial class MechComponent : Component /// outside of the mech. You can exit instantly yourself. /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public float ExitDelay = 3; + public float ExitDelay = 6; /// /// How long it takes to pull out the battery. @@ -143,6 +151,21 @@ public sealed partial class MechComponent : Component /// [DataField] public List StartingEquipment = new(); + + #region Sounds + [DataField] + public SoundSpecifier EnableLightSound = new SoundPathSpecifier("/Audio/_Sunrise/Mechs/mech_lights_enabled.ogg"); + [DataField] + public SoundSpecifier DisableLightSound = new SoundPathSpecifier("/Audio/_Sunrise/Mechs/mech_lights_disabled.ogg"); + [DataField] + public SoundSpecifier HelloSound = new SoundPathSpecifier("/Audio/_Sunrise/Mechs/mech_hello.ogg"); + [DataField] + public SoundSpecifier Alert50 = new SoundPathSpecifier("/Audio/_Sunrise/Mechs/mech_alert_50.ogg"); + [DataField] + public SoundSpecifier Alert25 = new SoundPathSpecifier("/Audio/_Sunrise/Mechs/mech_alert_25.ogg"); + [DataField] + public SoundSpecifier Alert5 = new SoundPathSpecifier("/Audio/_Sunrise/Mechs/mech_alert_5.ogg"); + #endregion #region Action Prototypes [DataField] @@ -151,18 +174,21 @@ public sealed partial class MechComponent : Component public EntProtoId MechUiAction = "ActionMechOpenUI"; [DataField] public EntProtoId MechEjectAction = "ActionMechEject"; + [DataField] + public EntProtoId MechLightsAction = "ActionMechLights"; #endregion #region Visualizer States - [DataField] + [DataField, AutoNetworkedField] public string? BaseState; - [DataField] + [DataField, AutoNetworkedField] public string? OpenState; - [DataField] + [DataField, AutoNetworkedField] public string? BrokenState; #endregion [DataField] public EntityUid? MechCycleActionEntity; [DataField] public EntityUid? MechUiActionEntity; [DataField] public EntityUid? MechEjectActionEntity; + [DataField] public EntityUid? MechLightsActionEntity; } diff --git a/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs b/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs index 9724297315..2a280ae761 100644 --- a/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs +++ b/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs @@ -4,6 +4,7 @@ using Content.Shared.ActionBlocker; using Content.Shared.Actions; using Content.Shared.Destructible; using Content.Shared.DoAfter; +using Content.Shared.Mobs; using Content.Shared.DragDrop; using Content.Shared.Emag.Components; using Content.Shared.Emag.Systems; @@ -19,10 +20,12 @@ using Content.Shared.Popups; using Content.Shared.Weapons.Melee; using Content.Shared.Weapons.Ranged.Events; using Content.Shared.Whitelist; +using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; using Robust.Shared.Network; using Robust.Shared.Serialization; using Robust.Shared.Timing; +using DrawDepth = Content.Shared.DrawDepth.DrawDepth; namespace Content.Shared.Mech.EntitySystems; @@ -33,12 +36,14 @@ public abstract class SharedMechSystem : EntitySystem { [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly INetManager _net = default!; + [Dependency] private readonly SharedAudioSystem _audioSystem = default!; [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!; [Dependency] private readonly SharedActionsSystem _actions = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedInteractionSystem _interaction = default!; [Dependency] private readonly SharedMoverController _mover = default!; + [Dependency] private readonly SharedPointLightSystem _pointLight = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; @@ -48,9 +53,10 @@ public abstract class SharedMechSystem : EntitySystem { SubscribeLocalEvent(OnToggleEquipmentAction); SubscribeLocalEvent(OnEjectPilotEvent); + SubscribeLocalEvent(OnToggleLightsEvent); SubscribeLocalEvent(RelayInteractionEvent); SubscribeLocalEvent(OnStartup); - SubscribeLocalEvent(OnDestruction); + SubscribeLocalEvent(OnMobState); SubscribeLocalEvent(OnGetAdditionalAccess); SubscribeLocalEvent(OnDragDrop); SubscribeLocalEvent(OnCanDragDrop); @@ -76,7 +82,17 @@ public abstract class SharedMechSystem : EntitySystem args.Handled = true; TryEject(uid, component); } + + private void OnToggleLightsEvent(EntityUid uid, MechComponent component, MechToggleLightsEvent args) + { + if (args.Handled) + return; + ToggleLights(uid, component); + + args.Handled = true; + } + private void RelayInteractionEvent(EntityUid uid, MechComponent component, UserActivateInWorldEvent args) { var pilot = component.PilotSlot.ContainedEntity; @@ -101,9 +117,17 @@ public abstract class SharedMechSystem : EntitySystem UpdateAppearance(uid, component); } - private void OnDestruction(EntityUid uid, MechComponent component, DestructionEventArgs args) + private void OnMobState(EntityUid uid, MechComponent component, MobStateChangedEvent args) { - BreakMech(uid, component); + if (args.NewMobState == MobState.Critical) + { + BreakMech(uid, component); + } + if (args.NewMobState == MobState.Alive) + { + component.Broken = false; + UpdateAppearance(uid, component); + } } private void OnGetAdditionalAccess(EntityUid uid, MechComponent component, ref GetAdditionalAccessEvent args) @@ -135,6 +159,7 @@ public abstract class SharedMechSystem : EntitySystem _actions.AddAction(pilot, ref component.MechCycleActionEntity, component.MechCycleAction, mech); _actions.AddAction(pilot, ref component.MechUiActionEntity, component.MechUiAction, mech); + _actions.AddAction(pilot, ref component.MechLightsActionEntity, component.MechLightsAction, mech); _actions.AddAction(pilot, ref component.MechEjectActionEntity, component.MechEjectAction, mech); } @@ -147,6 +172,21 @@ public abstract class SharedMechSystem : EntitySystem _actions.RemoveProvidedActions(pilot, mech); } + + public void ToggleLights(EntityUid uid, MechComponent component) + { + if (_pointLight.TryGetLight(uid, out var pointLightComponent)) + { + component.Lights = !component.Lights; + _pointLight.SetEnabled(uid, component.Lights, pointLightComponent); + _actions.SetToggled(component.MechLightsActionEntity, component.Lights); + if(component.Lights) + _audioSystem.PlayPredicted(component.EnableLightSound, component.Owner, component.PilotSlot.ContainedEntity); + else + _audioSystem.PlayPredicted(component.DisableLightSound, component.Owner, component.PilotSlot.ContainedEntity); + Dirty(uid ,component); + } + } /// /// Destroys the mech, removing the user and ejecting all installed equipment. @@ -370,6 +410,7 @@ public abstract class SharedMechSystem : EntitySystem return false; SetupUser(uid, toInsert.Value); + _audioSystem.PlayPredicted(component.HelloSound, component.Owner, toInsert.Value); _container.Insert(toInsert.Value, component.PilotSlot); UpdateAppearance(uid, component); return true; @@ -389,6 +430,11 @@ public abstract class SharedMechSystem : EntitySystem if (component.PilotSlot.ContainedEntity == null) return false; + if (HasComp(uid)) + { + RemComp(uid); + } + var pilot = component.PilotSlot.ContainedEntity.Value; RemoveUser(uid, pilot); @@ -421,7 +467,7 @@ public abstract class SharedMechSystem : EntitySystem args.Cancel(); } - private void UpdateAppearance(EntityUid uid, MechComponent? component = null, + public void UpdateAppearance(EntityUid uid, MechComponent? component = null, AppearanceComponent? appearance = null) { if (!Resolve(uid, ref component, ref appearance, false)) @@ -429,6 +475,9 @@ public abstract class SharedMechSystem : EntitySystem _appearance.SetData(uid, MechVisuals.Open, IsEmpty(component), appearance); _appearance.SetData(uid, MechVisuals.Broken, component.Broken, appearance); + + var ev = new UpdateAppearanceEvent(); + RaiseLocalEvent(uid, ev); } private void OnDragDrop(EntityUid uid, MechComponent component, ref DragDropTargetEvent args) @@ -488,3 +537,8 @@ public sealed partial class MechExitEvent : SimpleDoAfterEvent public sealed partial class MechEntryEvent : SimpleDoAfterEvent { } + +[Serializable, NetSerializable] +public sealed partial class UpdateAppearanceEvent : EntityEventArgs +{ +} diff --git a/Content.Shared/Mech/SharedMech.cs b/Content.Shared/Mech/SharedMech.cs index 94af4453d4..7cbd832db5 100644 --- a/Content.Shared/Mech/SharedMech.cs +++ b/Content.Shared/Mech/SharedMech.cs @@ -60,3 +60,7 @@ public sealed partial class MechOpenUiEvent : InstantActionEvent public sealed partial class MechEjectPilotEvent : InstantActionEvent { } + +public sealed partial class MechToggleLightsEvent : InstantActionEvent +{ +} diff --git a/Content.Shared/Mobs/Systems/MobStateSystem.cs b/Content.Shared/Mobs/Systems/MobStateSystem.cs index d3e55f0d69..22e376afe4 100644 --- a/Content.Shared/Mobs/Systems/MobStateSystem.cs +++ b/Content.Shared/Mobs/Systems/MobStateSystem.cs @@ -1,6 +1,7 @@ using Content.Shared.ActionBlocker; using Content.Shared.Administration.Logs; using Content.Shared.Mobs.Components; +using Content.Shared.Mech.Components; using Content.Shared.Standing; using Robust.Shared.Physics.Systems; using Robust.Shared.Timing; @@ -38,6 +39,8 @@ public partial class MobStateSystem : EntitySystem /// If the entity is alive public bool IsAlive(EntityUid target, MobStateComponent? component = null) { + if (TryComp(target, out var mech)) + return !mech.Broken; if (!_mobStateQuery.Resolve(target, ref component, false)) return false; return component.CurrentState == MobState.Alive; diff --git a/Content.Shared/Mobs/Systems/MobThresholdSystem.cs b/Content.Shared/Mobs/Systems/MobThresholdSystem.cs index eeaecc24d8..43d78eec4d 100644 --- a/Content.Shared/Mobs/Systems/MobThresholdSystem.cs +++ b/Content.Shared/Mobs/Systems/MobThresholdSystem.cs @@ -168,7 +168,7 @@ public sealed class MobThresholdSystem : EntitySystem MobThresholdsComponent? thresholdComponent = null) { threshold = null; - if (!Resolve(target, ref thresholdComponent)) + if (!Resolve(target, ref thresholdComponent, false)) return false; return TryGetThresholdForState(target, MobState.Critical, out threshold, thresholdComponent) diff --git a/Content.Shared/MouseRotator/SharedMouseRotatorSystem.cs b/Content.Shared/MouseRotator/SharedMouseRotatorSystem.cs index 9663b3363d..836acaa518 100644 --- a/Content.Shared/MouseRotator/SharedMouseRotatorSystem.cs +++ b/Content.Shared/MouseRotator/SharedMouseRotatorSystem.cs @@ -1,4 +1,5 @@ using Content.Shared.Interaction; +using Content.Shared.Mech.Components; namespace Content.Shared.MouseRotator; @@ -9,6 +10,7 @@ namespace Content.Shared.MouseRotator; public abstract class SharedMouseRotatorSystem : EntitySystem { [Dependency] private readonly RotateToFaceSystem _rotate = default!; + public override void Initialize() { @@ -29,9 +31,17 @@ public abstract class SharedMouseRotatorSystem : EntitySystem { if (rotator.GoalRotation == null) continue; + + var target = uid; + + if (TryComp(uid, out var mechPilot)) + { + target = mechPilot.Mech; + xform = Transform(mechPilot.Mech); + } if (_rotate.TryRotateTo( - uid, + target, rotator.GoalRotation.Value, frameTime, rotator.AngleTolerance, diff --git a/Content.Shared/NPC/Systems/NpcFactionSystem.cs b/Content.Shared/NPC/Systems/NpcFactionSystem.cs index 98f14afe2a..7508bb1eb2 100644 --- a/Content.Shared/NPC/Systems/NpcFactionSystem.cs +++ b/Content.Shared/NPC/Systems/NpcFactionSystem.cs @@ -1,6 +1,7 @@ using Content.Shared.NPC.Components; using Content.Shared.NPC.Prototypes; using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.Manager; using System.Collections.Frozen; using System.Linq; @@ -13,6 +14,7 @@ public sealed partial class NpcFactionSystem : EntitySystem { [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly ISerializationManager _serialization = default!; [Dependency] private readonly SharedTransformSystem _xform = default!; /// @@ -80,6 +82,23 @@ public sealed partial class NpcFactionSystem : EntitySystem return ent.Comp.Factions.Contains(faction); } + + public void Up(EntityUid from, EntityUid to) + { + if (TryComp(from, out var fromFaction)) + { + if (TryComp(to, out var toFaction)) + { + _serialization.CopyTo(fromFaction, ref toFaction, notNullableOverride: true); + } + else + { + var newComp = new NpcFactionMemberComponent(); + _serialization.CopyTo(fromFaction, ref newComp, notNullableOverride: true); + AddComp(to, newComp); + } + } + } /// /// Adds this entity to the particular faction. diff --git a/Content.Shared/Tag/TagComponent.cs b/Content.Shared/Tag/TagComponent.cs index ad4240ba06..a2724d6743 100644 --- a/Content.Shared/Tag/TagComponent.cs +++ b/Content.Shared/Tag/TagComponent.cs @@ -6,6 +6,7 @@ namespace Content.Shared.Tag; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(TagSystem))] public sealed partial class TagComponent : Component { - [DataField, ViewVariables, AutoNetworkedField] + [DataField, AutoNetworkedField] + [Access(typeof(TagSystem), Other = AccessPermissions.ReadExecute)] public HashSet> Tags = new(); } diff --git a/Content.Shared/_Sunrise/Paint/MechPaintComponent.cs b/Content.Shared/_Sunrise/Paint/MechPaintComponent.cs new file mode 100644 index 0000000000..0fa4fee616 --- /dev/null +++ b/Content.Shared/_Sunrise/Paint/MechPaintComponent.cs @@ -0,0 +1,53 @@ +using Content.Shared.Chemistry.Reagent; +using Content.Shared.FixedPoint; +using Content.Shared.Whitelist; +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Shared._Sunrise.Paint; + +/// +/// Entity when used on another entity will paint target entity. +/// +[RegisterComponent, NetworkedComponent] +[Access(typeof(SharedMechPaintSystem))] +public sealed partial class MechPaintComponent : Component +{ + /// + /// Noise made when paint applied. + /// + [DataField] + public SoundSpecifier Spray = new SoundPathSpecifier("/Audio/Effects/spray2.ogg"); + + /// + /// This paint was used? + /// + [DataField] + public bool Used = false; + + /// + /// How long the doafter will take. + /// + [DataField] + public int Delay = 2; + + /// + /// What mech are paint? + /// + [DataField, ViewVariables(VVAccess.ReadWrite)] + public EntityWhitelist? Whitelist; + + /// + /// Paint states + /// + #region Visualizer States + [DataField] + public string BaseState; + [DataField] + public string OpenState; + [DataField] + public string BrokenState; + #endregion +} diff --git a/Content.Shared/_Sunrise/Paint/SharedMechPaintSystem.cs b/Content.Shared/_Sunrise/Paint/SharedMechPaintSystem.cs new file mode 100644 index 0000000000..94652ee897 --- /dev/null +++ b/Content.Shared/_Sunrise/Paint/SharedMechPaintSystem.cs @@ -0,0 +1,92 @@ +using Content.Shared.DoAfter; +using Content.Shared.Humanoid; +using Content.Shared.Interaction; +using Content.Shared.Inventory; +using Content.Shared.Mech.Components; +using Content.Shared.Mech.EntitySystems; +using Content.Shared.Popups; +using Content.Shared.SubFloor; +using Robust.Shared.Audio.Systems; +using Content.Shared.Nutrition.EntitySystems; +using Content.Shared.Whitelist; + +namespace Content.Shared._Sunrise.Paint; + +/// +/// Colors target and consumes reagent on each color success. +/// +public abstract class SharedMechPaintSystem : EntitySystem +{ + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly OpenableSystem _openable = default!; + [Dependency] private readonly SharedMechSystem _mechSystem = default!; + [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnPaint); + } + + private void OnPaint(Entity entity, ref PaintDoAfterEvent args) + { + if (args.Target == null || args.Used == null || !HasComp(args.Target)) + return; + + if (args.Handled || args.Cancelled) + return; + + if (args.Target is not { Valid: true } target) + return; + + if (!_openable.IsOpen(entity)) + { + _popup.PopupEntity(Loc.GetString("paint-closed", ("used", args.Used)), args.User, args.User, PopupType.Medium); + return; + } + + if (entity.Comp.Whitelist != null && !_whitelist.IsValid(entity.Comp.Whitelist, target) || HasComp(target) || HasComp(target)) + { + _popup.PopupEntity(Loc.GetString("paint-failure", ("target", args.Target)), args.User, args.User, PopupType.Medium); + return; + } + + + if (TryPaint(entity, target)) + { + EnsureComp(target, out MechComponent? mech); + EnsureComp(target, out AppearanceComponent? appearance); + + _audio.PlayPvs(entity.Comp.Spray, entity); + + _popup.PopupEntity(Loc.GetString("paint-success", ("target", args.Target)), args.User, args.User, PopupType.Medium); + mech.BaseState = entity.Comp.BaseState; + mech.OpenState = entity.Comp.OpenState; + mech.BrokenState = entity.Comp.BrokenState; + entity.Comp.Used = true; + Dirty(target, mech); + args.Handled = true; + _mechSystem.UpdateAppearance(target, mech, appearance); + return; + } + + if (!TryPaint(entity, target)) + { + _popup.PopupEntity(Loc.GetString("paint-empty", ("used", args.Used)), args.User, args.User, PopupType.Medium); + return; + } + } + + private bool TryPaint(Entity entity, EntityUid target) + { + if (HasComp(target) || HasComp(target) || entity.Comp.Used) + return false; + + if (HasComp(target)) + return true; + + return false; + } +} diff --git a/Resources/Audio/_Sunrise/Mechs/mech_alert_25.ogg b/Resources/Audio/_Sunrise/Mechs/mech_alert_25.ogg new file mode 100644 index 0000000000000000000000000000000000000000..96a0fbb7525e8c6b81171b7d3ccd1f7374104006 GIT binary patch literal 38218 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ȫanG@9F^|(VW!XLO=%jOD}+aBch0}|Z^ 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/_Sunrise/Mechs/mech_alert_5.ogg b/Resources/Audio/_Sunrise/Mechs/mech_alert_5.ogg new file mode 100644 index 0000000000000000000000000000000000000000..fb20eb6c5acdd4f4cf4bd12a0effd52a5b80dc5b GIT binary patch literal 45961 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 F{{UATboKxM literal 0 HcmV?d00001 diff --git a/Resources/Audio/_Sunrise/Mechs/mech_hello.ogg b/Resources/Audio/_Sunrise/Mechs/mech_hello.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ef5f6094b3c8a3ae039a362e7e3907e7c59cd422 GIT binary patch literal 27896 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/_Sunrise/Mechs/mech_lights_disabled.ogg b/Resources/Audio/_Sunrise/Mechs/mech_lights_disabled.ogg new file mode 100644 index 0000000000000000000000000000000000000000..02d74d07c50d55ef0afc3cbbce2ed6d0e86b0c5c GIT binary patch literal 15555 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 Q^LQF`sV`vYC_#|_2U-E#WB>pF literal 0 HcmV?d00001 diff --git a/Resources/Audio/_Sunrise/Mechs/mech_lights_enabled.ogg b/Resources/Audio/_Sunrise/Mechs/mech_lights_enabled.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0a496e1695bca7469c7c5da707a671971a643eef GIT binary patch literal 15215 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 b0!sNfq!gkUA}-W6IA9A$ZoUY!Af)_%f&DW` literal 0 HcmV?d00001 diff --git a/Resources/Locale/en-US/_strings/chemistry/components/hypospray-component.ftl b/Resources/Locale/en-US/_strings/chemistry/components/hypospray-component.ftl index 52dbf9010e..26c7367763 100644 --- a/Resources/Locale/en-US/_strings/chemistry/components/hypospray-component.ftl +++ b/Resources/Locale/en-US/_strings/chemistry/components/hypospray-component.ftl @@ -19,3 +19,6 @@ hypospray-cant-inject = Can't inject into {$target}! hypospray-verb-mode-label = Toggle Container Draw hypospray-verb-mode-inject-all = You cannot draw from containers anymore. hypospray-verb-mode-inject-mobs-only = You can now draw from containers. + +## failure +hypospay-component-failure-hardsuit = You cant get the needle to go through the thick plating! \ No newline at end of file diff --git a/Resources/Locale/en-US/_strings/chemistry/components/injector-component.ftl b/Resources/Locale/en-US/_strings/chemistry/components/injector-component.ftl index 24f524081e..99e1f1c310 100644 --- a/Resources/Locale/en-US/_strings/chemistry/components/injector-component.ftl +++ b/Resources/Locale/en-US/_strings/chemistry/components/injector-component.ftl @@ -27,3 +27,6 @@ injector-component-drawing-user = You start drawing the needle. injector-component-injecting-user = You start injecting the needle. injector-component-drawing-target = {CAPITALIZE(THE($user))} is trying to use a needle to draw from you! injector-component-injecting-target = {CAPITALIZE(THE($user))} is trying to inject a needle into you! + +## failure +injector-component-failure-hardsuit = You can't get the needle to go through the thick plating! \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/devices/handheld.ftl b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/devices/handheld.ftl index cb8b44ee55..19465b93f4 100644 --- a/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/devices/handheld.ftl +++ b/Resources/Locale/ru-RU/_prototypes/_sunrise/entities/objects/devices/handheld.ftl @@ -31,6 +31,17 @@ ent-HandheldRoboAnalyzerEmpty = { ent-HandheldRoboAnalyzer } ent-HandheldRoboAnalyzerUnpowered = { ent-BaseHandheldRoboAnalyzer } .desc = { ent-BaseHandheldRoboAnalyzer.desc } .suffix = Переносной, Не требует энергии +ent-BaseHandheldMechAnalyzer = анализатор механоидов + .desc = Портативный анализатор механоидов. +ent-HandheldMechAnalyzer = { ent-BaseHandheldMechAnalyzer } + .desc = { ent-BaseHandheldMechAnalyzer.desc } + .suffix = Переносной, Требует энергию +ent-HandheldMechAnalyzerEmpty = { ent-HandheldMechAnalyzer } + .desc = { ent-HandheldMechAnalyzer.desc } + .suffix = Переносной, Пустой +ent-HandheldMechAnalyzerUnpowered = { ent-BaseHandheldMechAnalyzer } + .desc = { ent-BaseHandheldMechAnalyzer.desc } + .suffix = Переносной, Не требует энергии ent-BaseHandheldCamera = бодикамера .desc = Оно наблюдает за вами... И пикает.. ent-HandheldCamera = { ent-BaseHandheldCamera } diff --git a/Resources/Locale/ru-RU/_prototypes/actions/mech.ftl b/Resources/Locale/ru-RU/_prototypes/actions/mech.ftl index 9047bceb15..587f850d05 100644 --- a/Resources/Locale/ru-RU/_prototypes/actions/mech.ftl +++ b/Resources/Locale/ru-RU/_prototypes/actions/mech.ftl @@ -4,3 +4,5 @@ ent-ActionMechOpenUI = Панель управления .desc = Открывает панель управления меха. ent-ActionMechEject = Покинуть .desc = Высаживает пилота из меха. +ent-ActionMechLights = Свет + .desc = Переключает освещение меха. diff --git a/Resources/Locale/ru-RU/_prototypes/catalog/fills/crates/syndicate.ftl b/Resources/Locale/ru-RU/_prototypes/catalog/fills/crates/syndicate.ftl index d5165dc959..04b08d8d5d 100644 --- a/Resources/Locale/ru-RU/_prototypes/catalog/fills/crates/syndicate.ftl +++ b/Resources/Locale/ru-RU/_prototypes/catalog/fills/crates/syndicate.ftl @@ -8,6 +8,9 @@ ent-CrateSyndicateSuperSurplusBundle = ящик суперприпасов си ent-CrateCybersunDarkGygaxBundle = набор Cybersun "Гигакс" .desc = Содержит набор легкобронированных мехов от компании Cybersun. .suffix = Заполненный +ent-CrateCybersunRoverBundle = набор Cybersun "Ровер" + .desc = Содержит набор среднебронированных мехов от компании Cybersun. + .suffix = Заполненный ent-CrateCybersunMaulerBundle = набор Cybersun "Маулер" .desc = Содержит набор тяжелых бронированных мехов от компании Cybersun. .suffix = Заполненный diff --git a/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/exosuit_components.ftl b/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/exosuit_components.ftl index 8252a4dd5b..59d89c5b97 100644 --- a/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/exosuit_components.ftl +++ b/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/exosuit_components.ftl @@ -4,9 +4,13 @@ ent-DurandArmorPlate = бронепластины Дюранда .desc = Броневые пластины из пластали для экзокостюма Дюранд. ent-GygaxArmorPlate = бронепластины Гигакса .desc = Броневые пластины из стали для экзокостюма Гигакс. +ent-PhazonArmorPlate = бронепластины Фазона + .desc = Броневые пластины из стали для экзокостюма Фазон. ent-RipleyUpgradeKit = комплект модернизации экзокостюма .desc = Этот комплект позволяет собрать экзокостюм Рипли MK-II. ent-MechAirTank = воздушный баллон экзокостюма .desc = Специальный воздушный баллон, способный вместить большое количество воздуха. ent-MechThruster = ускоритель экзокостюма .desc = Ускоритель, который позволяет экзокостюму безопасно двигаться при отсутствии гравитации. +ent-MechPhasicScanningModule = фазовый сканирующий модуль + .desc = Высокотехнологичный сканирующий модуль, позволяющий прорывать пространство и проходить сквозь твердые объекты. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/mech.ftl b/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/mech.ftl index 26095156a2..884d935c7a 100644 --- a/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/mech.ftl +++ b/Resources/Locale/ru-RU/_prototypes/entities/objects/devices/electronics/mech.ftl @@ -28,3 +28,9 @@ ent-DurandPeripheralsElectronics = модуль управления периф .desc = Система управления электрическими периферийными устройствами меха Дюранд. ent-DurandTargetingElectronics = модуль управления огнём Дюранд .desc = Электрическая система управления огнём меха Дюранд. +ent-PhazonCentralElectronics = центральный модуль управления Фазон + .desc = Центр управления электрооборудованием меха Фазон. +ent-PhazonPeripheralsElectronics = модуль управления периферией Фазон + .desc = Система управления электрическими периферийными устройствами меха Фазон. +ent-PhazonTargetingElectronics = модуль управления огнём Фазон + .desc = Электрическая система управления огнём меха Фазон. diff --git a/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mech_construction.ftl b/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mech_construction.ftl index 3e0f0e7587..aa65ee2d95 100644 --- a/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mech_construction.ftl +++ b/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mech_construction.ftl @@ -114,3 +114,17 @@ ent-VimHarness = каркас ВИМ .desc = Небольшой кронштейн для крепления частей ВИМ. ent-VimChassis = шасси ВИМ .desc = Незавершённое шасси меха ВИМ. +ent-PhazonHarness = каркас Фазона + .desc = Ядро меха Фазон. +ent-PhazonHead = голова Фазона + .desc = Голова меха Фазон. Устанавливается на шасси меха. +ent-PhazonLArm = левая рука Фазона + .desc = Левая рука меха Фазон. Устанавливается на шасси меха. +ent-PhazonLLeg = левая нога Фазона + .desc = Левая нога меха Фазон. Устанавливается на шасси меха. +ent-PhazonRLeg = правая нога Фазона + .desc = Правая нога меха Фазон. Устанавливается на шасси меха. +ent-PhazonRArm = правая рука Фазона + .desc = Правая рука меха Фазон. Устанавливается на шасси меха. +ent-PhazonChassis = шасси Фазона + .desc = Незавершённое шасси меха Фазон. diff --git a/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mechs.ftl b/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mechs.ftl index 02e1e66d87..b5fdb5df60 100644 --- a/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mechs.ftl +++ b/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/mechs.ftl @@ -51,6 +51,19 @@ ent-MechDurand = Дюранд ent-MechDurandBattery = { ent-MechDurand } .suffix = Батарея .desc = { ent-MechDurand.desc } +ent-MechPhazon = Фазон + .desc = Самый продвинутый мех на рынке, вершина технологического развития, крайне мобильная и смертоносная. +ent-MechPhazonBattery = { ent-MechPhazon } + .suffix = Батарея + .desc = { ent-MechPhazon.desc } +ent-MechNTGygax = Особый гигакс NanoTrasen + .desc = Козырь Nanotrasen при решении проблем. Высокая прочность, повышенная защита от ударов, взрывов, температуры, выстрелов: обычных, лазерных и энергетических, а также расширенные слоты под оборудование позволяют перевернуть ситуацию на станции. Ускорители потребляют колоссальное количество энергии. +ent-MechNTGygaxBattery = { ent-MechNTGygax } + .desc = { ent-MechNTGygax.desc } + .suffix = Батарея +ent-MechNTGygaxFilled = { ent-MechNTGygaxBattery } + .desc = { ent-MechNTGygaxBattery.desc } + .suffix = Батарея, Заполненный ent-MechMarauder = Мародёр .desc = Похоже, мы все спасены. ent-MechMarauderBattery = { ent-MechMarauder } @@ -75,6 +88,14 @@ ent-MechGygaxSyndieBattery = { ent-MechGygaxSyndie } ent-MechGygaxSyndieFilled = { ent-MechGygaxSyndieBattery } .suffix = Батарея, Заполненный .desc = { ent-MechGygaxSyndieBattery.desc } +ent-MechRoverSyndie = Ровер + .desc = Модифицированный Дюранд, используемый в неблаговидных целях. На задней стороне бронепластины имеется надпись "Cybersun Inc.". +ent-MechRoverSyndieBattery = { ent-MechRoverSyndie } + .suffix = Батарея + .desc = { ent-MechRoverSyndie.desc } +ent-MechRoverSyndieFilled = { ent-MechRoverSyndieBattery } + .suffix = Батарея, Заполненный + .desc = { ent-MechRoverSyndieBattery.desc } ent-MechMaulerSyndie = Маулер .desc = Модифицированный Мародёр, используемый Синдикатом, не такой маневренный, как Тёмный гигакс, но он компенсирует это броней и мощной огневой мощью. На задней стороне бронепластины имеется надпись "Cybersun Inc.". ent-MechMaulerSyndieBattery = { ent-MechMaulerSyndie } diff --git a/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/weapons/gun/combat.ftl b/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/weapons/gun/combat.ftl index 7b70ef7588..bec70f533d 100644 --- a/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/weapons/gun/combat.ftl +++ b/Resources/Locale/ru-RU/_prototypes/entities/objects/specific/mech/weapons/gun/combat.ftl @@ -24,7 +24,7 @@ ent-WeaponMechCombatShotgun = LBX AC 10 "Залп" .suffix = Оружие мехов, Стрелковое, Боевое, Дробовик ent-WeaponMechCombatShotgunIncendiary = карабин FNX-99 "Аид" .desc = Навесной карабин, стреляющий зажигательными патронами. - .suffix = Оружие мехов, Стрелковое, Боевое, Дробовик, Incendiary + .suffix = Оружие мехов, Стрелковое, Боевое, Дробовик, Зажигательный ent-WeaponMechCombatUltraRifle = AC-2 "Ультра" .desc = Навесной карабин, стреляющий зажигательными патронами. .suffix = Оружие мехов, Стрелковое, Боевое, Автомат diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/construction/steps.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/construction/steps.ftl index e53bcff011..7ae19688c8 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/construction/steps.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/construction/steps.ftl @@ -16,6 +16,7 @@ step-wallmount-generator-circuit-board-name = микросхему настен step-freezer-electronics-name = микросхему морозильника step-multitool-name = мультитул step-capacitor-name = конденсатор +step-powercage-name = любую энерго ячейку step-powercell-name = любую батарею step-powercell-small-name = маленькую батарею step-signal-trigger-name = сигнальный триггер diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl index 2eb6b7935f..eea95fec35 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/research/technologies.ftl @@ -2,4 +2,5 @@ research-technology-handcraft-nvd = Кустарные ПНВ research-technology-basic-nvd = Продвинутое ПНВ research-technology-combat-equipment = Боевое снаряжение research-technology-extended-amunitions = Расширенные магазины +research-technology-phazon = Фазон research-technology-cargo-bluespace-equipment = Блюспейс экипировка карго diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/store/categories.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/store/categories.ftl index 60472ec461..1f9dc06cef 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/store/categories.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/store/categories.ftl @@ -24,3 +24,4 @@ shop-disease-category-symptoms = Симптомы shop-disease-category-evolution = Улучшение # Uplink store-category-objectives = Цели +store-category-mechs = Мехи diff --git a/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl index 0f89fc2886..b2ea51ba44 100644 --- a/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/_strings/_sunrise/store/uplink-catalog.ftl @@ -62,3 +62,26 @@ uplink-hypo-name = Горлекс гипоспрей uplink-hypo-desc = Химический гипоспрей, произвёденный синдикатом, способный мгновенно впрыснуть до 20 ед. реагентов. Изначально пуст. uplink-polytrinic-acid-chemistry-bottle-name = Политриновая кислота uplink-polytrinic-acid-chemistry-bottle-desc = Чрезвычайно едкое химическое вещество. Сильно обжигает всех, кто вступит с ней в непосредственный контакт. + +## Mechs equipment + +uplink-mech-equipment-immolation-gun-name = пушка-испепелитель ZFI +uplink-mech-equipment-immolation-gun-desc = Оружие для боевых мехов, стреляющее высокотемпературными лучами. +uplink-mech-equipment-tesla-cannon-name = тесла-пушка P-X +uplink-mech-equipment-tesla-cannon-desc = Оружие для боевых мехов, стреляющее энергетическими шарами, основанное на принципе экспериментального двигателя Теслы. +uplink-mech-equipment-shotgun-name = LBX AC 10 "Залп" +uplink-mech-equipment-shotgun-desc = Навесной нелетальный электрошокер, позволяющий оглушить злоумышленников. +uplink-mech-equipment-shotgun-incendiary-name = карабин FNX-99 "Аид" +uplink-mech-equipment-shotgun-incendiary-desc = Навесной карабин, стреляющий зажигательными патронами. +uplink-mech-equipment-ultra-rifle-name = AC-2 "Ультра" +uplink-mech-equipment-ultra-rifle-desc = Навесной карабин, стреляющий зажигательными патронами. +uplink-mech-equipment-ion-name = ионная тяжёлая пушка М-4 +uplink-mech-equipment-ion-desc = Навесное ионное орудие, действующее по тому же принципу, что и ручной ионный карабин. Чрезвычайно эффективно против синтетиков, роботов и других мехов. +uplink-mech-equipment-amlg90-name = AMLG-90 +uplink-mech-equipment-amlg90-desc = Лазерный навесной пулемёт. +uplink-mech-equipment-vindictor-name = Устанавливаемый MG-100 Vindicator Minigun +uplink-mech-equipment-vindictor-desc = Тяжёлое оружие массового поражения. +uplink-mech-equipment-uvm31-name = UVM-31 "Дрейк" +uplink-mech-equipment-uvm31-desc = Тяжёлое оружие массового поражения разработанное Cybersun на основе минигана. теперь на прочном штативе позволяющем вести огонь прямо из МЕХа! +uplink-mech-teleporter-medium-name = Телепорт среднего меха +uplink-mech-teleporter-medium-desc = Содержит среднебронированный мех Cybersan с интегрированными цепным мечом и ракетной установкой BRM-8. diff --git a/Resources/Locale/ru-RU/_strings/chemistry/components/hypospray-component.ftl b/Resources/Locale/ru-RU/_strings/chemistry/components/hypospray-component.ftl index e28f25c4e8..2d144a7985 100644 --- a/Resources/Locale/ru-RU/_strings/chemistry/components/hypospray-component.ftl +++ b/Resources/Locale/ru-RU/_strings/chemistry/components/hypospray-component.ftl @@ -19,3 +19,7 @@ hypospray-verb-mode-label = Переключить на набор из конт hypospray-verb-mode-inject-all = Вы больше не можете набирать из контейнеров. hypospray-verb-mode-inject-mobs-only = Теперь вы можете набирать из контейнеров. hypospray-cant-inject = Нельзя сделать инъекцию в { $target }! + +## failure + +hypospay-component-failure-hardsuit = Вы не сможете провести иглу через толстое покрытие! \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_strings/chemistry/components/injector-component.ftl b/Resources/Locale/ru-RU/_strings/chemistry/components/injector-component.ftl index ebc585fa24..4c8e9cc199 100644 --- a/Resources/Locale/ru-RU/_strings/chemistry/components/injector-component.ftl +++ b/Resources/Locale/ru-RU/_strings/chemistry/components/injector-component.ftl @@ -28,3 +28,7 @@ injector-component-drawing-user = Вы начинаете набирать шп injector-component-injecting-user = Вы начинаете вводить содержимое шприца. injector-component-drawing-target = { CAPITALIZE($user) } начинает набирать шприц из вас! injector-component-injecting-target = { CAPITALIZE($user) } начинает вводить содержимое шприца в вас! + +## failure + +injector-component-failure-hardsuit = Вы не сможете провести иглу через толстое покрытие! \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_strings/lathe/lathe-categories.ftl b/Resources/Locale/ru-RU/_strings/lathe/lathe-categories.ftl index 93661fc125..718d30e45e 100644 --- a/Resources/Locale/ru-RU/_strings/lathe/lathe-categories.ftl +++ b/Resources/Locale/ru-RU/_strings/lathe/lathe-categories.ftl @@ -16,5 +16,6 @@ lathe-category-mechs-ripleymkii = Рипли MK-II lathe-category-mechs-clarke = Кларк lathe-category-mechs-gygax = Гигакс lathe-category-mechs-durand = Дюранд +lathe-category-mechs-phazon = Фазон lathe-category-mechs-equipment = Оборудование механоидов lathe-category-mechs-weapons = Вооружение механоидов diff --git a/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl index 5864314bcc..4d50bcad60 100644 --- a/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/_strings/store/uplink-catalog.ftl @@ -93,9 +93,9 @@ uplink-reinforcement-radio-nukeops-desc = Телепортирует в каче uplink-reinforcement-radio-cyborg-assault-name = Телепорт штурмового киборга Синдиката uplink-reinforcement-radio-cyborg-assault-desc = Машина для убийств с доступом к энергомечу, пулемёту, криптографическому секвенсору и пинпоинтеру. uplink-mech-teleporter-heavy-name = Телепорт тяжелого меха -uplink-mech-teleporter-heavy-desc = Содержит тяжелобронированный мех Cybersan с интегрированными цепным мечом, Ultra AC-2, LBX AC 10 "Картечь", ракетной установкой BRM-6 и пушкой P-X Tesla. +uplink-mech-teleporter-heavy-desc = Содержит тяжелобронированный мех Cybersan с интегрированными цепным мечом и ракетной установкой BRM-6. uplink-mech-teleporter-assault-name = Телепорт штурмового меха -uplink-mech-teleporter-assault-desc = Содержит легкобронированный мех Cybersan с интегрированными цепным мечом, LBX AC 10 "Картечь", легкой ракетной установкой SRM-8 и пушкой P-X Tesla. +uplink-mech-teleporter-assault-desc = Содержит легкобронированный мех Cybersan с интегрированными цепным мечом и легкой ракетной установкой SRM-8. uplink-stealth-box-name = Стелс-коробка uplink-stealth-box-desc = Ящик, оснащённый технологией невидимости, проникните везде и не двигайтесь слишком быстро! uplink-headset-name = Полноразмерная гарнитура Синдиката diff --git a/Resources/Prototypes/Actions/mech.yml b/Resources/Prototypes/Actions/mech.yml index 48092f9c5a..b812b12899 100644 --- a/Resources/Prototypes/Actions/mech.yml +++ b/Resources/Prototypes/Actions/mech.yml @@ -35,3 +35,15 @@ sprite: Interface/Actions/actions_mecha.rsi state: mech_eject event: !type:MechEjectPilotEvent + +- type: entity + id: ActionMechLights + name: Lights + description: Turns mech lights. + components: + - type: InstantAction + useDelay: 5 + itemIconStyle: NoItem + icon: { sprite: Interface/Actions/actions_mecha.rsi, state: mech_lights_off } + iconOn: { sprite: Interface/Actions/actions_mecha.rsi, state: mech_lights_on } + event: !type:MechToggleLightsEvent diff --git a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml index 31c87b4fe7..15a69fde8c 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml @@ -45,6 +45,21 @@ - id: DoubleEmergencyNitrogenTankFilled - id: ToolboxSyndicateFilled - id: PlushieNuke + +- type: entity + id: CrateCybersunRoverBundle + suffix: Filled + parent: CrateSyndicate + name: Cybersun rover bundle + description: Contains a set of Cybersan medium armored mechs. + components: + - type: StorageFill + contents: + - id: MechRoverSyndieFilled + - id: DoubleEmergencyOxygenTankFilled + - id: DoubleEmergencyNitrogenTankFilled + - id: ToolboxSyndicateFilled + - id: PlushieNuke - type: entity id: CrateCybersunMaulerBundle diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 51e3f49466..5919a8b6be 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1424,38 +1424,6 @@ - !type:ListingLimitedStockCondition stock: 1 -- type: listing - id: UplinkDarkGygax - name: uplink-mech-teleporter-assault-name - description: uplink-mech-teleporter-assault-desc - icon: { sprite: /Textures/Objects/Specific/Mech/mecha.rsi, state: darkgygax } - productEntity: CrateCybersunDarkGygaxBundle - cost: - Telecrystal: 100 - categories: - - UplinkAllies - conditions: - - !type:StoreWhitelistCondition - whitelist: - tags: - - NukeOpsUplink - -- type: listing - id: UplinkMauler - name: uplink-mech-teleporter-heavy-name - description: uplink-mech-teleporter-heavy-desc - icon: { sprite: /Textures/Objects/Specific/Mech/mecha.rsi, state: mauler } - productEntity: CrateCybersunMaulerBundle - cost: - Telecrystal: 150 - categories: - - UplinkAllies - conditions: - - !type:StoreWhitelistCondition - whitelist: - tags: - - NukeOpsUplink - # Implants - type: listing diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml index 1ab3547284..19cbf94d29 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml @@ -33,6 +33,7 @@ damageContainers: - Inorganic - Silicon + - Mech # Sunrise-edit - type: entity parent: [ClothingEyesBase, ShowMedicalIcons] diff --git a/Resources/Prototypes/Entities/Effects/dome.yml b/Resources/Prototypes/Entities/Effects/dome.yml index 3a5390f254..c58b02e62c 100644 --- a/Resources/Prototypes/Entities/Effects/dome.yml +++ b/Resources/Prototypes/Entities/Effects/dome.yml @@ -1,3 +1,5 @@ +# Basic + - type: entity id: EnergyDomeBase abstract: true @@ -32,40 +34,8 @@ tags: - HideContextMenu - IgnoreMelee - -- type: entity - id: EnergyDomeSmallPink - categories: [ HideSpawnMenu ] - parent: EnergyDomeBase - components: - - type: Sprite - sprite: Effects/EnergyDome/energydome_small.rsi - layers: - - state: small - color: "#f5166b" - - type: PointLight - enabled: true - radius: 5 - power: 2 - color: "#f5166b" - -- type: entity - id: EnergyDomeSmallBlue - categories: [ HideSpawnMenu ] - parent: EnergyDomeBase - components: - - type: Sprite - drawdepth: Effects - noRot: true - sprite: Effects/EnergyDome/energydome_small.rsi - layers: - - state: small - color: "#64b9de" - - type: PointLight - enabled: true - radius: 5 - power: 2 - color: "#64b9de" + +# Nukeops - type: entity id: EnergyDomeSmallRed @@ -84,34 +54,6 @@ radius: 5 power: 2 color: "#b00000" - -- type: entity - id: EnergyDomeMediumBlue - categories: [ HideSpawnMenu ] - parent: EnergyDomeBase - components: - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeCircle - radius: 1.8 - density: 0 - mask: - - None - layer: - - BulletImpassable - - Opaque - - type: Sprite - sprite: Effects/EnergyDome/energydome_medium.rsi - layers: - - state: medium - color: "#64b9de" - - type: PointLight - enabled: true - radius: 5 - power: 10 - color: "#64b9de" - type: entity id: EnergyDomeMediumRed @@ -141,6 +83,72 @@ power: 10 color: "#b00000" +# NanoTrasen + +- type: entity + id: EnergyDomeSmallBlue + categories: [ HideSpawnMenu ] + parent: EnergyDomeBase + components: + - type: Sprite + drawdepth: Effects + noRot: true + sprite: Effects/EnergyDome/energydome_small.rsi + layers: + - state: small + color: "#64b9de" + - type: PointLight + enabled: true + radius: 5 + power: 2 + color: "#64b9de" + +- type: entity + id: EnergyDomeMediumBlue + categories: [ HideSpawnMenu ] + parent: EnergyDomeBase + components: + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 1.8 + density: 0 + mask: + - None + layer: + - BulletImpassable + - Opaque + - type: Sprite + sprite: Effects/EnergyDome/energydome_medium.rsi + layers: + - state: medium + color: "#64b9de" + - type: PointLight + enabled: true + radius: 5 + power: 10 + color: "#64b9de" + +# Misc + +- type: entity + id: EnergyDomeSmallPink + categories: [ HideSpawnMenu ] + parent: EnergyDomeBase + components: + - type: Sprite + sprite: Effects/EnergyDome/energydome_small.rsi + layers: + - state: small + color: "#f5166b" + - type: PointLight + enabled: true + radius: 5 + power: 2 + color: "#f5166b" + - type: entity id: EnergyDomeSlowing categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mechs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mechs.yml index 699ed8903f..915df2c01b 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mechs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mechs.yml @@ -6,7 +6,7 @@ - type: Sprite layers: - state: green - - sprite: Objects/Specific/Mech/mecha.rsi + - sprite: Objects/Specific/Mech/ripley.rsi state: ripley - type: ConditionalSpawner prototypes: @@ -20,7 +20,7 @@ - type: Sprite layers: - state: green - - sprite: Objects/Specific/Mech/mecha.rsi + - sprite: Objects/Specific/Mech/ripley.rsi state: ripleymkii - type: ConditionalSpawner prototypes: @@ -63,7 +63,7 @@ - type: Sprite layers: - state: green - - sprite: Objects/Specific/Mech/mecha.rsi + - sprite: Objects/Specific/Mech/clarke.rsi state: clarke - type: ConditionalSpawner prototypes: @@ -77,7 +77,7 @@ - type: Sprite layers: - state: green - - sprite: Objects/Specific/Mech/mecha.rsi + - sprite: Objects/Specific/Mech/gygax.rsi state: gygax - type: ConditionalSpawner prototypes: @@ -91,7 +91,7 @@ - type: Sprite layers: - state: green - - sprite: Objects/Specific/Mech/mecha.rsi + - sprite: Objects/Specific/Mech/durand.rsi state: durand - type: ConditionalSpawner prototypes: @@ -163,7 +163,7 @@ - type: Sprite layers: - state: green - - sprite: Objects/Specific/Mech/mecha.rsi + - sprite: Objects/Specific/Mech/gygax.rsi state: darkgygax - type: ConditionalSpawner prototypes: @@ -178,7 +178,7 @@ - type: Sprite layers: - state: green - - sprite: Objects/Specific/Mech/mecha.rsi + - sprite: Objects/Specific/Mech/gygax.rsi state: darkgygax - type: ConditionalSpawner prototypes: diff --git a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml index 09256dd582..d8035292be 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/reptilian.yml @@ -66,6 +66,15 @@ 295: 0.6 285: 0.4 - type: Wagging +# Sunrise-start + - type: Tag + tags: + - CanPilot + - FootstepSound + - DoorBumpOpener + - AnomalyHost + - NoInjectable +#Sunrise-end - type: Inventory speciesId: reptilian femaleDisplacements: diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/exosuit_components.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/exosuit_components.yml index 16e593a1f8..4579116023 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/exosuit_components.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/exosuit_components.yml @@ -51,6 +51,24 @@ - type: GuideHelp guides: - Robotics + +- type: entity + id: PhazonArmorPlate + parent: BaseExosuitParts + name: phazon armor plates + description: Armor plates made of steel for Phazon exosuit. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: Objects/Specific/Mech/phazon_construction.rsi + state: phazon_armor + - type: Tag + tags: + - PhazonArmor + - type: GuideHelp + guides: + - Robotics - type: entity id: RipleyUpgradeKit @@ -99,6 +117,23 @@ - type: Tag tags: - MechThruster + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: MechPhasicScanningModule + parent: BaseExosuitParts + name: phasic scanning module + description: An application part used in the construction of various devices. + components: + - type: Item + storedRotation: 0 + - type: Sprite + state: triphasic_scan_module + - type: Tag + tags: + - MechPhasicScanningModule - type: GuideHelp guides: - Robotics \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml index a3c45f5f44..55e617407b 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml @@ -258,6 +258,58 @@ - type: Tag tags: - DurandTargetingControlModule + - type: GuideHelp + guides: + - Robotics + +# Phazon + +- type: entity + id: PhazonCentralElectronics + parent: BaseElectronics + name: phazon central control module + description: The electrical control center for the Phazon mech. + components: + - type: Item + storedRotation: 0 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mainboard + - type: Tag + tags: + - PhazonCentralControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: PhazonPeripheralsElectronics + parent: BaseElectronics + name: phazon peripherals control module + description: The electrical peripherals control for the Phazon mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: id_mod + - type: Tag + tags: + - PhazonPeripheralsControlModule + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: PhazonTargetingElectronics + parent: BaseElectronics + name: phazon weapon control and targeting module + description: The electrical targeting control for the Phazon mech. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: mcontroller + - type: Tag + tags: + - PhazonTargetingControlModule - type: GuideHelp guides: - Robotics \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml index 9db1a8434e..fdc29fc97b 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml @@ -30,7 +30,7 @@ components: - type: Sprite sprite: Objects/Specific/Mech/mecha_equipment.rsi - state: mecha_laser + state: mecha_immolator - type: Gun fireRate: 0.6 selectedMode: SemiAuto @@ -53,7 +53,7 @@ components: - type: Sprite sprite: Objects/Specific/Mech/mecha_equipment.rsi - state: mecha_laser + state: mecha_solaris - type: Gun fireRate: 1 selectedMode: SemiAuto @@ -76,7 +76,7 @@ components: - type: Sprite sprite: Objects/Specific/Mech/mecha_equipment.rsi - state: mecha_laser + state: mecha_firedart - type: Gun fireRate: 0.8 selectedMode: SemiAuto @@ -220,7 +220,7 @@ sprite: Objects/Specific/Mech/mecha_equipment.rsi state: mecha_uac2 - type: Gun - fireRate: 2 + fireRate: 5 shotsPerBurst: 3 burstCooldown: 1.2 selectedMode: Burst @@ -273,7 +273,7 @@ sprite: Objects/Specific/Mech/mecha_equipment.rsi state: mecha_amlg90 - type: Gun - fireRate: 2 + fireRate: 4 shotsPerBurst: 3 burstCooldown: 1.2 selectedMode: Burst @@ -285,7 +285,7 @@ path: /Audio/Weapons/Guns/Empty/empty.ogg - type: ProjectileBatteryAmmoProvider proto: BulletSyndiPlasma - fireCost: 75 + fireCost: 20 - type: Appearance - type: AmmoCounter diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml index 41c5f28ba0..3946984a39 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mech_construction.yml @@ -978,3 +978,149 @@ graph: Vim node: start defaultTarget: vim + + +# Phazon + +- type: entity + id: BasePhazonPart + parent: BaseMechPart + abstract: true + components: + - type: Sprite + drawdepth: Items + noRot: false + sprite: Objects/Specific/Mech/phazon_construction.rsi + +- type: entity + id: BasePhazonPartItem + parent: BasePhazonPart + abstract: true + components: + - type: Item + size: Ginormous + +- type: entity + parent: BasePhazonPart + id: PhazonHarness + name: phazon harness + description: The core of the Phazon. + components: + - type: Appearance + - type: ItemMapper + mapLayers: + phazon_head+o: + whitelist: + tags: + - PhazonHead + phazon_l_arm+o: + whitelist: + tags: + - PhazonLArm + phazon_r_arm+o: + whitelist: + tags: + - PhazonRArm + phazon_l_leg+o: + whitelist: + tags: + - PhazonLLeg + phazon_r_leg+o: + whitelist: + tags: + - PhazonRLeg + sprite: Objects/Specific/Mech/phazon_construction.rsi + - type: ContainerContainer + containers: + mech-assembly-container: !type:Container + - type: MechAssembly + finishedPrototype: PhazonChassis + requiredParts: + PhazonHead: false + PhazonLArm: false + PhazonRArm: false + PhazonLLeg: false + PhazonRLeg: false + - type: Sprite + state: phazon_harness+o + noRot: true + +- type: entity + parent: BasePhazonPartItem + id: PhazonHead + name: phazon head + description: The head of the Phazon. It belongs on the chassis of the mech. + components: + - type: Sprite + state: phazon_head + - type: Tag + tags: + - PhazonHead + +- type: entity + parent: BasePhazonPartItem + id: PhazonLArm + name: phazon left arm + description: The left arm of the Phazon. It belongs on the chassis of the mech. + components: + - type: Sprite + state: phazon_l_arm + - type: Tag + tags: + - PhazonLArm + +- type: entity + parent: BasePhazonPartItem + id: PhazonLLeg + name: phazon left leg + description: The left leg of the Phazon. It belongs on the chassis of the mech. + components: + - type: Sprite + state: phazon_l_leg + - type: Tag + tags: + - PhazonLLeg + +- type: entity + parent: BasePhazonPartItem + id: PhazonRLeg + name: phazon right leg + description: The right leg of the Phazon. It belongs on the chassis of the mech. + components: + - type: Sprite + state: phazon_r_leg + - type: Tag + tags: + - PhazonRLeg + +- type: entity + parent: BasePhazonPartItem + id: PhazonRArm + name: phazon right arm + description: The right arm of the Phazon. It belongs on the chassis of the mech. + components: + - type: Sprite + state: phazon_r_arm + - type: Tag + tags: + - PhazonRArm + +- type: entity + id: PhazonChassis + parent: BasePhazonPart + name: phazon chassis + description: An in-progress construction of the Phazon mech. + components: + - type: Appearance + - type: ContainerContainer + containers: + battery-container: !type:Container + - type: MechAssemblyVisuals + statePrefix: phazon + - type: Sprite + noRot: true + state: phazon0 + - type: Construction + graph: Phazon + node: start + defaultTarget: phazon \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml index 812f99580c..9afe19372a 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Mech/mechs.yml @@ -77,7 +77,12 @@ - type: DoAfter - type: Repairable fuelCost: 25 - doAfterDelay: 10 + doAfterDelay: 3 + damage: + types: + Blunt: -15 + Slash: -15 + Piercing: -15 - type: UserInterface interfaces: enum.MechUiKey.Key: @@ -118,6 +123,25 @@ - MobMask layer: - MobLayer + - type: MobState + allowedStates: + - Alive + - Critical + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 500: Critical + showOverlays: false + allowRevives: true + - type: HealthExaminable + examinableTypes: + - Blunt + - Slash + - Piercing + - Heat + - Shock + locPrefix: mech - type: Appearance - type: ContainerContainer containers: @@ -125,7 +149,7 @@ mech-equipment-container: !type:Container mech-battery-slot: !type:ContainerSlot - type: Damageable - damageContainer: Inorganic + damageContainer: Mech damageModifierSet: LightArmor - type: FootstepModifier footstepSoundCollection: @@ -137,7 +161,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 1000 + damage: 700 behaviors: - !type:PlaySoundBehavior sound: @@ -147,6 +171,14 @@ - !type:DoActsBehavior acts: ["Destruction"] - type: Prying + - type: StatusIcon + bounds: "-0.6,-0.6, 0.6, 0.6" + - type: PointLight + enabled: false + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + radius: 4 + netsync: false # Ripley MK-I - type: entity @@ -158,7 +190,7 @@ - type: Sprite drawdepth: Mobs noRot: true - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/ripley.rsi scale: 1.08, 1.08 layers: - map: [ "enum.MechVisualLayers.Base" ] @@ -184,9 +216,23 @@ baseWalkSpeed: 2.25 baseSprintSpeed: 3.6 - type: Reflect - reflectProb: 0.05 + reflectProb: 0.15 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Ripley + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 200: Critical + showOverlays: false + allowRevives: true - type: entity id: MechRipleyBattery @@ -208,7 +254,7 @@ - type: Sprite drawdepth: Mobs noRot: true - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/ripley.rsi scale: 1.08, 1.08 layers: - map: [ "enum.MechVisualLayers.Base" ] @@ -237,9 +283,18 @@ - type: Damageable damageModifierSet: MediumArmorNT - type: Reflect - reflectProb: 0.15 + reflectProb: 0.25 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 250: Critical + showOverlays: false + allowRevives: true - type: entity id: MechRipley2Battery @@ -261,7 +316,7 @@ - type: Sprite drawdepth: Mobs noRot: true - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/clarke.rsi scale: 1.08, 1.08 layers: - map: [ "enum.MechVisualLayers.Base" ] @@ -290,9 +345,29 @@ - type: CanMoveInAir - type: MovementAlwaysTouching - type: Reflect - reflectProb: 0.15 + reflectProb: 0.25 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 250: Critical + showOverlays: false + allowRevives: true + - type: PointLight + enabled: false + mask: /Textures/Effects/LightMasks/cone.png + autoRot: true + radius: 8 + netsync: false + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Clarke - type: entity id: MechClarkeBattery @@ -332,9 +407,18 @@ components: - HumanoidAppearance - type: Reflect - reflectProb: 0.05 + reflectProb: 0.15 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 150: Critical + showOverlays: false + allowRevives: true - type: entity parent: MechHonker @@ -396,10 +480,19 @@ baseWalkSpeed: 2.4 baseSprintSpeed: 3.7 - type: Reflect - reflectProb: 0.05 + reflectProb: 0.15 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy - + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 150: Critical + showOverlays: false + allowRevives: true + - type: entity parent: MechHamtr id: MechHamtrBattery @@ -467,9 +560,18 @@ tags: - Maintenance - type: Reflect - reflectProb: 0.05 + reflectProb: 0.15 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 150: Critical + showOverlays: false + allowRevives: true # TOOD: buzz / chime actions # TODO: builtin flashlight @@ -495,7 +597,7 @@ - type: Sprite drawdepth: Mobs noRot: true - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/gygax.rsi scale: 1.08, 1.08 layers: - map: [ "enum.MechVisualLayers.Base" ] @@ -523,9 +625,23 @@ baseWalkSpeed: 2 baseSprintSpeed: 2.6 - type: Reflect - reflectProb: 0.15 + reflectProb: 0.25 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 300: Critical + showOverlays: false + allowRevives: true + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Gygax - type: entity id: MechGygaxBattery @@ -547,7 +663,7 @@ - type: Sprite drawdepth: Mobs noRot: true - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/durand.rsi scale: 1.08, 1.08 layers: - map: [ "enum.MechVisualLayers.Base" ] @@ -561,7 +677,6 @@ brokenState: durand-broken mechToPilotDamageMultiplier: 0.25 airtight: true - maxIntegrity: 400 pilotWhitelist: components: - HumanoidAppearance @@ -583,9 +698,23 @@ fuelCost: 30 doAfterDelay: 15 - type: Reflect - reflectProb: 0.15 + reflectProb: 0.25 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 450: Critical + showOverlays: false + allowRevives: true + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Durand - type: entity id: MechDurandBattery @@ -596,9 +725,154 @@ containers: mech-battery-slot: - PowerCageHigh + +# Phazon + +- type: entity + id: MechPhazon + parent: [ BaseMech, CombatMech, BaseRestrictedContraband ] + name: Phazon + description: The most advanced mech on the market, the pinnacle of technological development, extremely mobile and deadly. + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/mecha.rsi + scale: 1.08, 1.08 + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: phazon + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: phazon + openState: phazon-open + brokenState: phazon-broken + mechToPilotDamageMultiplier: 0.4 + maxEquipmentAmount: 6 + airtight: true + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 20 + Structural: 130 + - type: MovementSpeedModifier + baseWalkSpeed: 3.2 + baseSprintSpeed: 4 + - type: Reflect + reflectProb: 0.65 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg + reflects: + - NonEnergy + - Energy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 200: Critical + showOverlays: false + allowRevives: true + - type: Tag + tags: + - DoorBumpOpener + - FootstepSound + - Phazon + +- type: entity + id: MechPhazonBattery + parent: MechPhazon + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCageHigh # Nanotrasen Combat Mechs +# NT Gygax +- type: entity + id: MechNTGygax + parent: [ BaseMech, CombatMech, BaseRestrictedContraband ] + name: Nanotrasen Special Gygax + description: "Nanotrasen's trump card when solving problems. High durability, increased protection against shock, explosions, temperature, shots: conventional, laser and energy, as well as expanded equipment slots allow to turn the situation on the station upside down. Gas pedals consume a colossal amount of energy." + components: + - type: Sprite + drawdepth: Mobs + noRot: true + sprite: Objects/Specific/Mech/gygax.rsi + scale: 1.08, 1.08 + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: ntgygax + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: ntgygax + openState: ntgygax-open + brokenState: ntgygax-broken + mechToPilotDamageMultiplier: 0.2 + airtight: true + maxEquipmentAmount: 4 + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 30 + Structural: 180 + - type: MovementSpeedModifier + baseWalkSpeed: 2.4 + baseSprintSpeed: 3 + - type: Reflect + reflectProb: 0.30 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg + reflects: + - NonEnergy + - type: Damageable + damageModifierSet: MediumArmorNT + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 400: Critical + showOverlays: false + allowRevives: true + +- type: entity + id: MechNTGygaxBattery + parent: MechNTGygax + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCageHigh + +- type: entity + id: MechNTGygaxFilled + parent: MechNTGygaxBattery + suffix: Battery, Filled + components: + - type: Mech + startingEquipment: + - WeaponMechChainSword + - WeaponMechCombatPulseRifle + - WeaponMechCombatXray + - WeaponMechCombatMissileRack6 + # Marauder - type: entity id: MechMarauder @@ -623,7 +897,6 @@ brokenState: marauder-broken mechToPilotDamageMultiplier: 0.1 airtight: true - maxIntegrity: 500 maxEquipmentAmount: 4 pilotWhitelist: components: @@ -646,9 +919,18 @@ fuelCost: 30 doAfterDelay: 15 - type: Reflect - reflectProb: 0.3 + reflectProb: 0.4 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 500: Critical + showOverlays: false + allowRevives: true - type: entity id: MechMarauderBattery @@ -677,7 +959,7 @@ id: MechSeraph parent: [ BaseMech, CombatMech, BaseCentcommContraband ] name: Seraph - description: That's the last thing you'll see. # Death Squad mech + description: That's the last thing you'll see. components: - type: Sprite drawdepth: Mobs @@ -696,7 +978,6 @@ brokenState: seraph-broken mechToPilotDamageMultiplier: 0.05 airtight: true - maxIntegrity: 550 maxEquipmentAmount: 5 pilotWhitelist: components: @@ -719,9 +1000,18 @@ fuelCost: 30 doAfterDelay: 20 - type: Reflect - reflectProb: 0.3 + reflectProb: 0.4 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 550: Critical + showOverlays: false + allowRevives: true - type: entity id: MechSeraphBattery @@ -758,7 +1048,7 @@ - type: Sprite drawdepth: Mobs noRot: true - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/gygax.rsi scale: 1.08, 1.08 layers: - map: [ "enum.MechVisualLayers.Base" ] @@ -770,9 +1060,8 @@ baseState: darkgygax openState: darkgygax-open brokenState: darkgygax-broken - mechToPilotDamageMultiplier: 0.15 + mechToPilotDamageMultiplier: 0.2 airtight: true - maxIntegrity: 300 maxEquipmentAmount: 4 pilotWhitelist: components: @@ -795,9 +1084,18 @@ fuelCost: 40 doAfterDelay: 20 - type: Reflect - reflectProb: 0.25 + reflectProb: 0.30 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 350: Critical + showOverlays: false + allowRevives: true - type: entity id: MechGygaxSyndieBattery @@ -817,9 +1115,86 @@ - type: Mech startingEquipment: - WeaponMechChainSword - - WeaponMechCombatShotgun - WeaponMechCombatMissileRack8 - - WeaponMechCombatTeslaCannon + +# Rover +- type: entity + id: MechRoverSyndie + parent: [ BaseMech, CombatMech, BaseSyndicateContraband ] + name: Rover + description: A modified Durand 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/durand.rsi + scale: 1.08, 1.08 + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: darkdurand + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Mech + baseState: darkdurand + openState: darkdurand-open + brokenState: darkdurand-broken + mechToPilotDamageMultiplier: 0.15 + airtight: true + maxEquipmentAmount: 5 + pilotWhitelist: + components: + - HumanoidAppearance + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 30 + Structural: 200 + - type: MovementSpeedModifier + baseWalkSpeed: 2 + baseSprintSpeed: 3 + - type: Damageable + damageModifierSet: MediumArmorSyndi + - type: CanMoveInAir + - type: MovementAlwaysTouching + - type: Repairable + fuelCost: 30 + doAfterDelay: 20 + - type: Reflect + reflectProb: 0.35 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg + reflects: + - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 450: Critical + showOverlays: false + allowRevives: true + +- type: entity + id: MechRoverSyndieBattery + parent: MechRoverSyndie + suffix: Battery + components: + - type: ContainerFill + containers: + mech-battery-slot: + - PowerCageHigh + +- type: entity + id: MechRoverSyndieFilled + parent: MechRoverSyndieBattery + suffix: Battery, Filled + components: + - type: Mech + startingEquipment: + - WeaponMechChainSword + - WeaponMechCombatMissileRack8 # Mauler - type: entity @@ -845,7 +1220,6 @@ brokenState: mauler-broken mechToPilotDamageMultiplier: 0.1 airtight: true - maxIntegrity: 500 maxEquipmentAmount: 5 pilotWhitelist: components: @@ -868,9 +1242,18 @@ fuelCost: 50 doAfterDelay: 25 - type: Reflect - reflectProb: 0.35 + reflectProb: 0.45 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 500: Critical + showOverlays: false + allowRevives: true - type: entity id: MechMaulerSyndieBattery @@ -890,7 +1273,4 @@ - type: Mech startingEquipment: - WeaponMechChainSword - - WeaponMechCombatUltraRifle - - WeaponMechCombatShotgun - - WeaponMechCombatMissileRack6 - - WeaponMechCombatTeslaCannon \ No newline at end of file + - WeaponMechCombatMissileRack6 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml index 37d572c26a..87d01c536d 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml @@ -88,6 +88,9 @@ solutions: hypospray: maxVol: 3000 + - type: Hypospray + onlyAffectsMobs: false + pierceArmor: true - type: UseDelay delay: 0.0 @@ -116,6 +119,7 @@ transferAmount: 15 onlyAffectsMobs: false injectOnly: true + pierceArmor: true - type: Appearance - type: SolutionContainerVisuals maxFillLevels: 1 diff --git a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml index 73eb283671..160a78dc2b 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml @@ -199,8 +199,9 @@ - type: Healing delay: 1 damageContainers: - - Synth + - Synth #Sunrise-edit - Silicon + - Mech #Sunrise-edit damage: types: Heat: -5 diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 7096e6293a..e8f4c1a145 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -361,6 +361,7 @@ - DeviceQuantumSpinInverter - EnergyDomeDirectionalTurtle # Sunrise-start + - MechPhasicScanningModule - HandCraftedNVD - BasicNVD - PowerCageHigh @@ -527,6 +528,9 @@ - GygaxCentralElectronics - GygaxPeripheralsElectronics - GygaxTargetingElectronics + - PhazonCentralElectronics + - PhazonPeripheralsElectronics + - PhazonTargetingElectronics - DurandCentralElectronics - DurandPeripheralsElectronics - DurandTargetingElectronics @@ -721,6 +725,13 @@ - GygaxLLeg - GygaxRArm - GygaxRLeg + - PhazonHarness + - PhazonArmor + - PhazonHead + - PhazonLArm + - PhazonLLeg + - PhazonRArm + - PhazonRLeg - MechEquipmentDrill - MechEquipmentDrillDiamond - MechEquipmentKineticAccelerator diff --git a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml index 315505b81e..b32a1a08e9 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml @@ -29,6 +29,7 @@ - type: Tag tags: - ForceableFollow + - AnomalyCore #Sunrise-edit - type: AnomalyCore timeToDecay: 600 startPrice: 10000 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/clarke_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/clarke_construction.yml index 98d2aa7aaf..86798dd850 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/clarke_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/clarke_construction.yml @@ -84,11 +84,11 @@ key: "enum.MechAssemblyVisuals.State" data: 10 - - component: PowerCell - name: power cell + - tag: PowerCage + name: power cage store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/durand_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/durand_construction.yml index 6ff9f5c1ee..db77ef6a40 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/durand_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/durand_construction.yml @@ -97,11 +97,11 @@ key: "enum.MechAssemblyVisuals.State" data: 11 - - component: PowerCell - name: step-powercell-name + - tag: PowerCage + name: step-powercage-name store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/gygax_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/gygax_construction.yml index 065c350908..117100b368 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/gygax_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/gygax_construction.yml @@ -97,11 +97,11 @@ key: "enum.MechAssemblyVisuals.State" data: 11 - - component: PowerCell - name: step-powercell-name + - tag: PowerCage + name: step-powercage-name store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml index 17c3712b5c..4124c066ce 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/hamtr_construction.yml @@ -70,11 +70,11 @@ #i omitted the steps involving inserting machine parts because #currently mechs don't support upgrading. add them back in once that's squared away. - - component: PowerCell - name: step-powercell-name + - tag: PowerCage + name: step-powercage-name store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml index 2ba065028a..befc988e2a 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/honker_construction.yml @@ -67,11 +67,11 @@ #i omitted the steps involving inserting machine parts because #currently mechs don't support upgrading. add them back in once that's squared away. - - component: PowerCell - name: step-powercell-name + - tag: PowerCage + name: step-powercage-name store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/phazon_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/phazon_construction.yml new file mode 100644 index 0000000000..3894e2220f --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/phazon_construction.yml @@ -0,0 +1,215 @@ +- type: constructionGraph + id: Phazon + start: start + graph: + - node: start + edges: + - to: phazon + 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 + amount: 4 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 3 + + - tool: Cutting + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 4 + + - tag: PhazonCentralControlModule + name: phazon 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: PhazonPeripheralsControlModule + name: phazon 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: PhazonTargetingControlModule + name: phazon weapon control and targeting module + icon: + sprite: "Objects/Misc/module.rsi" + state: mcontroller + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 9 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 10 + + - tag: MechPhasicScanningModule + name: phasic scanning module + icon: + sprite: "Objects/Specific/Mech/mecha_equipment.rsi" + state: triphasic_scan_module + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 11 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 12 + + - tag: CapacitorStockPart + name: capacitor + icon: + sprite: Objects/Misc/stock_parts.rsi + state: capacitor + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 13 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 14 + + - tag: AnomalyCore + name: any anomaly core + icon: + sprite: "Structures/Specific/Anomalies/Cores/gravity_core.rsi" + state: core + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 15 + + - tag: PowerCage + name: power cage + store: battery-container + icon: + sprite: Objects/Power/power_cages.rsi + state: small + + - material: Cable + amount: 4 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 16 + + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 17 + + - material: Plasteel + amount: 5 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 18 + + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 19 + + - tool: Welding + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 20 + + - 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: PhazonArmor + name: phazon armor plates + icon: + sprite: "Objects/Specific/Mech/phazon_construction.rsi" + state: phazon_armor + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 21 + + - tool: Anchoring + doAfter: 2 + completed: + - !type:VisualizerDataInt + key: "enum.MechAssemblyVisuals.State" + data: 22 + + - tool: Welding + doAfter: 1 + + - node: phazon + actions: + - !type:BuildMech + mechPrototype: MechPhazon \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml index 1c62ba1dcc..a4fa103571 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripley_construction.yml @@ -70,11 +70,11 @@ #i omitted the steps involving inserting machine parts because #currently mechs don't support upgrading. add them back in once that's squared away. - - component: PowerCell - name: step-powercell-name + - tag: PowerCage + name: step-powercage-name store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripleymkii_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripleymkii_construction.yml index b343b156cc..a74728f6c4 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripleymkii_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/ripleymkii_construction.yml @@ -67,11 +67,11 @@ key: "enum.MechAssemblyVisuals.State" data: 8 - - component: PowerCell - name: step-powercell-name + - tag: PowerCage + name: step-powercage-name store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small completed: - !type:VisualizerDataInt diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml index e6dabd9167..3b56f69698 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/mechs/vim_construction.yml @@ -15,11 +15,11 @@ - !type:VisualizerDataInt key: "enum.MechAssemblyVisuals.State" data: 1 - - component: PowerCell - name: step-powercell-name + - tag: PowerCage + name: step-powercage-name store: battery-container icon: - sprite: Objects/Power/power_cells.rsi + sprite: Objects/Power/power_cages.rsi state: small - tool: Screwing doAfter: 1 diff --git a/Resources/Prototypes/Recipes/Lathes/categories.yml b/Resources/Prototypes/Recipes/Lathes/categories.yml index e67111d8f7..316c962bac 100644 --- a/Resources/Prototypes/Recipes/Lathes/categories.yml +++ b/Resources/Prototypes/Recipes/Lathes/categories.yml @@ -72,6 +72,10 @@ - type: latheCategory id: Durand name: lathe-category-mechs-durand + +- type: latheCategory + id: Phazon + name: lathe-category-mechs-phazon - type: latheCategory id: MechEquipment diff --git a/Resources/Prototypes/Recipes/Lathes/electronics.yml b/Resources/Prototypes/Recipes/Lathes/electronics.yml index 4689813832..dd887f295a 100644 --- a/Resources/Prototypes/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/Recipes/Lathes/electronics.yml @@ -377,6 +377,21 @@ parent: BaseGoldCircuitboardRecipe id: GygaxTargetingElectronics result: GygaxTargetingElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: PhazonCentralElectronics + result: PhazonCentralElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: PhazonPeripheralsElectronics + result: PhazonPeripheralsElectronics + +- type: latheRecipe + parent: BaseGoldCircuitboardRecipe + id: PhazonTargetingElectronics + result: PhazonTargetingElectronics - type: latheRecipe parent: BaseSilverCircuitboardRecipe diff --git a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml index 943ce85715..01029d92cc 100644 --- a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml +++ b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml @@ -340,6 +340,72 @@ materials: Steel: 500 Glass: 200 + +#Phazon + +- type: latheRecipe + id: PhazonHarness + result: PhazonHarness + category: Phazon + completetime: 10 + materials: + Steel: 2500 + Glass: 2000 + +- type: latheRecipe + id: PhazonArmor + result: PhazonArmorPlate + category: Phazon + completetime: 10 + materials: + Steel: 3000 + Plasma: 1000 + +- type: latheRecipe + id: PhazonHead + result: PhazonHead + category: Phazon + completetime: 10 + materials: + Steel: 1500 + Glass: 250 + Plasma: 500 + +- type: latheRecipe + id: PhazonLArm + result: PhazonLArm + category: Phazon + completetime: 10 + materials: + Steel: 1100 + Plasma: 250 + +- type: latheRecipe + id: PhazonLLeg + result: PhazonLLeg + category: Phazon + completetime: 10 + materials: + Steel: 1100 + Plasma: 250 + +- type: latheRecipe + id: PhazonRLeg + result: PhazonRLeg + category: Phazon + completetime: 10 + materials: + Steel: 1100 + Plasma: 250 + +- type: latheRecipe + id: PhazonRArm + result: PhazonRArm + category: Phazon + completetime: 10 + materials: + Steel: 1100 + Plasma: 250 # Equipment @@ -409,6 +475,16 @@ Bananium: 300 # Misc +- type: latheRecipe + id: MechPhasicScanningModule + result: MechPhasicScanningModule + category: MechEquipment + completetime: 10 + materials: + Steel: 2000 + Glass: 500 + Silver: 100 + - type: latheRecipe id: MechAirTank result: MechAirTank diff --git a/Resources/Prototypes/Research/experimental.yml b/Resources/Prototypes/Research/experimental.yml index 34443e78f0..434f491a3f 100644 --- a/Resources/Prototypes/Research/experimental.yml +++ b/Resources/Prototypes/Research/experimental.yml @@ -127,6 +127,30 @@ # Tier 3 +- type: technology + id: Phazon + name: research-technology-phazon + icon: + sprite: Objects/Specific/Mech/mecha.rsi + state: phazon + discipline: Experimental + tier: 3 + cost: 20000 + recipeUnlocks: + - MechPhasicScanningModule + - PhazonHarness + - PhazonArmor + - PhazonHead + - PhazonLArm + - PhazonLLeg + - PhazonRArm + - PhazonRLeg + - PhazonCentralElectronics + - PhazonPeripheralsElectronics + - PhazonTargetingElectronics + technologyPrerequisites: + - Ripley2 + - type: technology id: GravityManipulation name: research-technology-gravity-manipulation diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml index 651e2d1f8b..5dc64117ce 100644 --- a/Resources/Prototypes/Research/industrial.yml +++ b/Resources/Prototypes/Research/industrial.yml @@ -107,7 +107,7 @@ id: RipleyAPLU name: research-technology-ripley-aplu icon: - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/ripley.rsi state: ripley discipline: Industrial tier: 1 @@ -190,7 +190,7 @@ id: Ripley2 name: research-technology-ripley-mkii icon: - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/ripley.rsi state: ripleymkii discipline: Industrial tier: 2 @@ -205,7 +205,7 @@ id: Clarke name: research-technology-clarke icon: - sprite: Objects/Specific/Mech/mecha.rsi + sprite: Objects/Specific/Mech/clarke.rsi state: clarke discipline: Industrial tier: 2 diff --git a/Resources/Prototypes/Store/categories.yml b/Resources/Prototypes/Store/categories.yml index 94be8cbab4..01e11d166e 100644 --- a/Resources/Prototypes/Store/categories.yml +++ b/Resources/Prototypes/Store/categories.yml @@ -77,22 +77,22 @@ - type: storeCategory id: UplinkAllies name: store-category-allies - priority: 8 + priority: 9 #Sunrise-mechs - type: storeCategory id: UplinkJob name: store-category-job - priority: 9 + priority: 10 #Sunrise-mechs - type: storeCategory id: UplinkPointless name: store-category-pointless - priority: 10 + priority: 11 #Sunrise-mechs - type: storeCategory id: UplinkObjectives name: store-category-objectives - priority: 11 + priority: 12 #Sunrise-mechs #revenant - type: storeCategory diff --git a/Resources/Prototypes/Store/presets.yml b/Resources/Prototypes/Store/presets.yml index 5905cb80ba..6950f7b3eb 100644 --- a/Resources/Prototypes/Store/presets.yml +++ b/Resources/Prototypes/Store/presets.yml @@ -17,6 +17,7 @@ - UplinkJob - UplinkPointless - UplinkObjectives + - UplinkMechs #Sunrise-mechs currencyWhitelist: - Telecrystal balance: diff --git a/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml b/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml index 08ce798dbc..ed2a3c575c 100644 --- a/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/_Sunrise/Catalog/uplink_catalog.yml @@ -389,4 +389,200 @@ cost: Telecrystal: 8 categories: - - UplinkChemicals \ No newline at end of file + - UplinkChemicals + +# Mechs + +- type: listing + id: UplinkDarkGygax + name: uplink-mech-teleporter-assault-name + description: uplink-mech-teleporter-assault-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha.rsi, state: darkgygax } + productEntity: CrateCybersunDarkGygaxBundle + cost: + Telecrystal: 65 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkRover + name: uplink-mech-teleporter-medium-name + description: uplink-mech-teleporter-medium-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha.rsi, state: rover } + productEntity: CrateCybersunRoverBundle + cost: + Telecrystal: 75 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMauler + name: uplink-mech-teleporter-heavy-name + description: uplink-mech-teleporter-heavy-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha.rsi, state: mauler } + productEntity: CrateCybersunMaulerBundle + cost: + Telecrystal: 90 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +# Mechs equipment + +- type: listing + id: UplinkMechImmolationGun + name: uplink-mech-equipment-immolation-gun-name + description: uplink-mech-equipment-immolation-gun-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha_equipment.rsi, state: mecha_laser } + productEntity: WeaponMechCombatImmolationGun + cost: + Telecrystal: 7 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechTeslaCannon + name: uplink-mech-equipment-tesla-cannon-name + description: uplink-mech-equipment-tesla-cannon-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha_equipment.rsi, state: mecha_wholegen } + productEntity: WeaponMechCombatTeslaCannon + cost: + Telecrystal: 15 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechShotgun + name: uplink-mech-equipment-shotgun-name + description: uplink-mech-equipment-shotgun-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha_equipment.rsi, state: mecha_scatter } + productEntity: WeaponMechCombatShotgun + cost: + Telecrystal: 7 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechShotgunIncendiary + name: uplink-mech-equipment-shotgun-incendiary-name + description: uplink-mech-equipment-shotgun-incendiary-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha_equipment.rsi, state: mecha_carbine } + productEntity: WeaponMechCombatShotgunIncendiary + cost: + Telecrystal: 12 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechUltraRifle + name: uplink-mech-equipment-ultra-rifle-name + description: uplink-mech-equipment-ultra-rifle-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha_equipment.rsi, state: mecha_uac2 } + productEntity: WeaponMechCombatUltraRifle + cost: + Telecrystal: 10 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechIon + name: uplink-mech-equipment-ion-name + description: uplink-mech-equipment-ion-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha_equipment.rsi, state: mecha_ion } + productEntity: WeaponMechCombatIon + cost: + Telecrystal: 12 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechAMLG90 + name: uplink-mech-equipment-amlg90-name + description: uplink-mech-equipment-amlg90-desc + icon: { sprite: /Textures/Objects/Specific/Mech/mecha_equipment.rsi, state: mecha_amlg90 } + productEntity: WeaponMechCombatAMLG90 + cost: + Telecrystal: 15 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechVindictor + name: uplink-mech-equipment-vindictor-name + description: uplink-mech-equipment-vindictor-desc + icon: { sprite: /Textures/_Sunrise/Objects/Specific/Mech/mecha_vindictor.rsi, state: mecha_vindictor } + productEntity: WeaponMechCombatVindictor + cost: + Telecrystal: 30 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + +- type: listing + id: UplinkMechUVM31 + name: uplink-mech-equipment-uvm31-name + description: uplink-mech-equipment-uvm31-desc + icon: { sprite: /Textures/_Sunrise/Objects/Specific/Mech/mecha_uvm31.rsi, state: mecha_uvm31 } + productEntity: WeaponMechCombatUVM31 + cost: + Telecrystal: 20 + categories: + - UplinkMechs + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink diff --git a/Resources/Prototypes/_Sunrise/Damage/containers.yml b/Resources/Prototypes/_Sunrise/Damage/containers.yml index fa1e798828..ec3ca0e8a6 100644 --- a/Resources/Prototypes/_Sunrise/Damage/containers.yml +++ b/Resources/Prototypes/_Sunrise/Damage/containers.yml @@ -6,3 +6,12 @@ - Heat - Shock - Caustic + +- type: damageContainer + id: Mech + supportedGroups: + - Brute + supportedTypes: + - Heat + - Shock + - Caustic diff --git a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml index 2d4b45e393..6dcb9bb816 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Mobs/Species/humanoid_xeno.yml @@ -126,6 +126,7 @@ - CanPilot - FootstepSound - DoorBumpOpener + - NoInjectable - type: CollectiveMind minds: - Xeno diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Devices/handheld.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Devices/handheld.yml index 280aa79334..d681ca5c23 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Devices/handheld.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Devices/handheld.yml @@ -226,6 +226,82 @@ id: HandheldRoboAnalyzerUnpowered parent: BaseHandheldRoboAnalyzer suffix: Handheld, Unpowered + +# Handheld Mech Analyzer + +- type: entity + id: BaseHandheldMechAnalyzer + parent: BaseItem + name: mech analyzer + description: A hand-held mech scaner. + abstract: true + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_analyzer + layers: + - state: mecha_analyzer + - state: mecha_analyzer_anim + shader: unshaded + visible: true + map: [ "enum.PowerDeviceVisualLayers.Powered" ] + - type: Item + storedRotation: -90 + - type: ActivatableUI + key: enum.HealthAnalyzerUiKey.Key + - type: UserInterface + interfaces: + enum.HealthAnalyzerUiKey.Key: + type: HealthAnalyzerBoundUserInterface + - type: HealthAnalyzer + scanningEndSound: + path: "/Audio/Items/Medical/healthscanner.ogg" + damageContainers: + - Mech + - type: Tag + tags: + - DiscreteHealthAnalyzer + - type: Appearance + - type: GenericVisualizer + visuals: + enum.PowerCellSlotVisuals.Enabled: + enum.PowerDeviceVisualLayers.Powered: + True: { visible: true } + False: { visible: false } + - type: GuideHelp + guides: + - Robotics + +- type: entity + id: HandheldMechAnalyzer + parent: + - BaseHandheldMechAnalyzer + - BaseHandheldComputer + suffix: HandHeld, Powered + +- type: entity + id: HandheldMechAnalyzerEmpty + parent: HandheldMechAnalyzer + suffix: HandHeld, Empty + components: + - type: Sprite + sprite: Objects/Specific/Mech/mecha_equipment.rsi + state: mecha_analyzer + layers: + - state: mecha_analyzer + - state: mecha_analyzer_anim + shader: unshaded + visible: false + map: [ "enum.PowerDeviceVisualLayers.Powered" ] + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + +- type: entity + id: HandheldMechAnalyzerUnpowered + parent: BaseHandheldMechAnalyzer + suffix: Handheld, Unpowered # Handheld Camera diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/mech_spray_paint.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/mech_spray_paint.yml new file mode 100644 index 0000000000..cf8e32c12b --- /dev/null +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/mech_spray_paint.yml @@ -0,0 +1,434 @@ +# Base Paints +- type: entity + parent: BaseItem + id: MechPaintBase + name: mech spray paint + description: A tin of mech spray paint. + categories: [ HideSpawnMenu ] + components: + - type: Appearance + - type: Sprite + sprite: Objects/Fun/spraycans.rsi + state: clown_cap + layers: + - state: clown_cap + map: ["enum.OpenableVisuals.Layer"] + - type: MechPaint + used: false + whitelist: + tags: + - Gygax + baseState: gygax + openState: gygax-open + brokenState: gygax-broken + - type: Item + sprite: Objects/Fun/spraycans.rsi + heldPrefix: spray + - type: SolutionContainerManager + solutions: + drink: + maxVol: 50 + reagents: + - ReagentId: SpaceGlue + Quantity: 50 + - type: TrashOnSolutionEmpty + solution: drink + - type: Sealable + - type: Openable + sound: + path: /Audio/Effects/pop_high.ogg + closeable: true + closeSound: + path: /Audio/Effects/pop_high.ogg + +# Paints + +# Ripley-Aluminizer +- type: entity + parent: MechPaintBase + suffix: DEBUG, Ripley, Aluminizer + id: MechPaintClarkeOrangey + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + state: aluminizer-cap + layers: + - state: aluminizer-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + heldPrefix: aluminizer + - type: MechPaint + used: false + whitelist: + tags: + - Ripley + baseState: aluminizer + openState: aluminizer-open + brokenState: aluminizer-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "aluminizer"} + False: {state: "aluminizer-cap"} + +# Ripley-Combat Ripley +- type: entity + parent: MechPaintBase + suffix: DEBUG, Ripley, Combat Ripley + id: MechPaintRipleyCombatRipley + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + state: combat-ripley-cap + layers: + - state: combat-ripley-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + heldPrefix: combat-ripley + - type: MechPaint + used: false + whitelist: + tags: + - Ripley + baseState: combatripley + openState: combatripley-open + brokenState: combatripley-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "combat-ripley"} + False: {state: "combat-ripley-cap"} + +# Ripley-Firestarter +- type: entity + parent: MechPaintBase + suffix: DEBUG, Ripley, Firestarter + id: MechPaintRipleyFirestarter + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + state: firestarter-cap + layers: + - state: firestarter-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + heldPrefix: firestarter + - type: MechPaint + used: false + whitelist: + tags: + - Ripley + baseState: ripley_flames_red + openState: ripley_flames_red-open + brokenState: ripley_flames_red-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "firestarter"} + False: {state: "firestarter-cap"} + +# Ripley-Hauler +- type: entity + parent: MechPaintBase + suffix: DEBUG, Ripley, Hauler + id: MechPaintRipleyHauler + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + state: hauler-cap + layers: + - state: hauler-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + heldPrefix: hauler + - type: MechPaint + used: false + whitelist: + tags: + - Ripley + baseState: hauler + openState: hauler-open + brokenState: hauler-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "hauler"} + False: {state: "hauler-cap"} + +# Ripley-Reaper +- type: entity + parent: MechPaintBase + suffix: DEBUG, Ripley, Reaper + id: MechPaintRipleyReaper + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + state: reaper-cap + layers: + - state: reaper-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + heldPrefix: reaper + - type: MechPaint + used: false + whitelist: + tags: + - Ripley + baseState: deathripley + openState: deathripley-open + brokenState: deathripley-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "reaper"} + False: {state: "reaper-cap"} + +# Ripley-Zairjah +- type: entity + parent: MechPaintBase + suffix: DEBUG, Ripley, Zairjah + id: MechPaintRipleyZairjah + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + state: zairjah-cap + layers: + - state: zairjah-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/ripley.rsi + heldPrefix: zairjah + - type: MechPaint + used: false + whitelist: + tags: + - Ripley + baseState: ripley_zairjah + openState: ripley_zairjah-open + brokenState: ripley_zairjah-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "zairjah"} + False: {state: "zairjah-cap"} + +# Clarke-Orangey +- type: entity + parent: MechPaintBase + suffix: DEBUG, Clarke, Orangey + id: MechPaintClarkeOrangey + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/clarke.rsi + state: orangey-cap + layers: + - state: orangey-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/clarke.rsi + heldPrefix: orangey + - type: MechPaint + used: false + whitelist: + tags: + - Clarke + baseState: orangey + openState: orangey-open + brokenState: orangey-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "orangey"} + False: {state: "orangey-cap"} + +# Gygax-Molot +- type: entity + parent: MechPaintBase + suffix: DEBUG, Gygax, Molot + id: MechPaintGygaxMolot + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/gygax.rsi + state: pobeda-cap + layers: + - state: pobeda-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/gygax.rsi + heldPrefix: pobeda + - type: MechPaint + used: false + whitelist: + tags: + - Gygax + baseState: molot + openState: molot-open + brokenState: molot-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "pobeda"} + False: {state: "pobeda-cap"} + +#Gygax-Old + +- type: entity + parent: MechPaintBase + suffix: DEBUG, Gygax, Old + id: MechPaintGygaxOld + components: + - type: Sprite + sprite: Objects/Fun/spraycans.rsi + layers: + - state: spray + map: ["Base"] + - state: spray_cap_colors + map: ["enum.OpenableVisuals.Layer"] + color: "#ed5f3b" + - type: MechPaint + used: false + whitelist: + tags: + - Gygax + baseState: gygax_alt + openState: gygax_alt-open + brokenState: gygax_alt-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "spray_colors" , color: "#ed5f3b"} + False: {state: "spray_cap_colors" , color: "#ed5f3b"} + +#Durand-Unathi + +- type: entity + parent: MechPaintBase + suffix: DEBUG, Durand, Unathi + id: MechPaintDurandUnathi + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + layers: + - state: kharn-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + heldPrefix: kharn + - type: MechPaint + used: false + whitelist: + tags: + - Durand + baseState: unathi + openState: unathi-open + brokenState: unathi-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "kharn"} + False: {state: "kharn-cap"} + +#Durand-Shire + +- type: entity + parent: MechPaintBase + suffix: DEBUG, Durand , Shire + id: MechPaintDurandShire + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + layers: + - state: shire-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + heldPrefix: shire + - type: MechPaint + used: false + whitelist: + tags: + - Durand + baseState: shire + openState: shire-open + brokenState: shire-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "shire"} + False: {state: "shire-cap"} + +#Durand-Dollhouse + +- type: entity + parent: MechPaintBase + suffix: DEBUG, Durand , Dollhouse + id: MechPaintDurandDollhouse + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + layers: + - state: dollhouse-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + heldPrefix: dollhouse + - type: MechPaint + used: false + whitelist: + tags: + - Durand + baseState: dollhouse + openState: dollhouse-open + brokenState: dollhouse-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "dollhouse"} + False: {state: "dollhouse-cap"} + +#Durand-Executor + +- type: entity + parent: MechPaintBase + suffix: DEBUG, Durand , Executor + id: MechPaintDurandExecutor + components: + - type: Sprite + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + layers: + - state: executioner-cap + map: ["enum.OpenableVisuals.Layer"] + - type: Item + sprite: _Sunrise/Objects/Fun/mech_spraycans/durand.rsi + heldPrefix: executioner + - type: MechPaint + used: false + whitelist: + tags: + - Durand + baseState: executor + openState: executor-open + brokenState: executor-broken + - type: GenericVisualizer + visuals: + enum.OpenableVisuals.Opened: + enum.OpenableVisuals.Layer: + True: {state: "executioner"} + False: {state: "executioner-cap"} \ No newline at end of file diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml index 9e651f1430..170daa2dc0 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Fun/prunks.yml @@ -122,6 +122,7 @@ solutionName: hypospray transferAmount: 10 onlyAffectsMobs: false + injectOnly: true - type: UseDelay delay: 0.5 # - type: HiddenDescription diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml index e9c20edbb7..6c4c6c3ec8 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/Weapons/Gun/combat.yml @@ -10,7 +10,7 @@ - type: Gun minAngle: -25 maxAngle: 25 - fireRate: 8 + fireRate: 6 selectedMode: FullAuto availableModes: - FullAuto @@ -18,7 +18,7 @@ path: /Audio/_Sunrise/Weapons/Guns/HMGs/minigun_shot.ogg - type: ProjectileBatteryAmmoProvider proto: CartridgeLightRifle - fireCost: 50 + fireCost: 30 - type: Appearance - type: AmmoCounter @@ -44,7 +44,7 @@ soundGunshot: path: /Audio/Weapons/Guns/Gunshots/laser.ogg - type: ProjectileBatteryAmmoProvider - proto: BulletEnergyGunLaser - fireCost: 20 + proto: BulletSyndiPlasma2 + fireCost: 25 - type: Appearance - type: AmmoCounter \ No newline at end of file diff --git a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml index 4789655e55..452aba8a0f 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Objects/Specific/Mech/mechs.yml @@ -1,27 +1,26 @@ - type: entity - id: MechMolot - parent: [ BaseMech, CombatMech ] - name: Molot M-1 - description: A heavy mech designed by the SSSP to operate in aggressive, unaccepted environments. It has 4 weapon mounts on board, oxygen maintenance in the cockpit. + id: MechSecPod + parent: [ BaseMech, CombatMech, BaseRestrictedContraband ] + name: Security Pod + 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: _Sunrise/Objects/Specific/Mech/mecha.rsi + sprite: _Sunrise/Objects/Specific/Mech/sec_pod.rsi + scale: 1.08, 1.08 layers: - map: [ "enum.MechVisualLayers.Base" ] - state: molot + state: sec_pod - type: FootstepModifier footstepSoundCollection: path: /Audio/Mecha/sound_mecha_powerloader_step.ogg - type: Mech - baseState: molot - openState: molot-open - brokenState: molot-broken - mechToPilotDamageMultiplier: 0.1 + baseState: sec_pod + openState: sec_pod + brokenState: sec_pod + mechToPilotDamageMultiplier: 0.3 airtight: true - maxIntegrity: 700 - maxEquipmentAmount: 4 pilotWhitelist: components: - HumanoidAppearance @@ -30,41 +29,22 @@ attackRate: 1 damage: types: - Blunt: 40 - Structural: 200 + Blunt: 0 + Structural: 0 - type: MovementSpeedModifier - baseWalkSpeed: 2 - baseSprintSpeed: 2.5 - - type: Damageable - damageModifierSet: HeavyArmorNT - - type: CanMoveInAir - - type: MovementAlwaysTouching - - type: Repairable - fuelCost: 30 - doAfterDelay: 15 + baseWalkSpeed: 2.5 + baseSprintSpeed: 3 - type: Reflect - reflectProb: 0.3 + reflectProb: 0.25 + spread: 180 + soundOnReflect: /Audio/Weapons/block_metal1.ogg reflects: - NonEnergy - -- type: entity - id: MechMolotBattery - parent: MechMolot - suffix: Battery - components: - - type: ContainerFill - containers: - mech-battery-slot: - - PowerCageHigh - -- type: entity - id: MechMolotFilled - parent: MechMolotBattery - suffix: Battery, Filled - components: - - type: Mech - startingEquipment: - - WeaponMechChainSword - - WeaponMechCombatPulseRifle - - WeaponMechCombatUltraRifle - - WeaponMechCombatMissileRack8 \ No newline at end of file + - type: MobThresholds + currentThresholdState : Alive + thresholds: + 0: Alive + 300: Critical + showOverlays: false + allowRevives: true + - type: Tag \ No newline at end of file diff --git a/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/glass_airlock.yml b/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/glass_airlock.yml index 085a8159f0..722147a8a0 100644 --- a/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/glass_airlock.yml +++ b/Resources/Prototypes/_Sunrise/Entities/Structures/Doors/Airlocks/Glass/glass_airlock.yml @@ -42,7 +42,6 @@ - type: Sprite sprite: _Sunrise/Structures/Doors/Airlocks/Glass/double_glass_airlock.rsi snapCardinals: false - scale: 1.5,1 offset: 0,0 - type: Fixtures fixtures: diff --git a/Resources/Prototypes/_Sunrise/Store/categories.yml b/Resources/Prototypes/_Sunrise/Store/categories.yml index 0e77a3b5db..4782ef2f79 100644 --- a/Resources/Prototypes/_Sunrise/Store/categories.yml +++ b/Resources/Prototypes/_Sunrise/Store/categories.yml @@ -113,4 +113,11 @@ - type: currency id: DiseasePoints displayName: shop-disease-currency - canWithdraw: false \ No newline at end of file + canWithdraw: false + +#uplink categoires + +- type: storeCategory + id: UplinkMechs + name: store-category-mechs + priority: 8 diff --git a/Resources/Prototypes/_Sunrise/Store/presets.yml b/Resources/Prototypes/_Sunrise/Store/presets.yml index f7d4a7569a..674bac7ff3 100644 --- a/Resources/Prototypes/_Sunrise/Store/presets.yml +++ b/Resources/Prototypes/_Sunrise/Store/presets.yml @@ -5,18 +5,19 @@ - type: Store name: store-preset-name-uplink categories: - - UplinkWeaponrySilent + - UplinkWeaponry - UplinkAmmoSilent - - UplinkExplosivesSilent + - UplinkExplosives - UplinkChemicals - UplinkDeception - - UplinkDisruptionSilent + - UplinkDisruption - UplinkImplants - UplinkAllies - - UplinkWearablesSilent + - UplinkWearables - UplinkJob - UplinkPointless - UplinkObjectives + - UplinkMechs #Sunrise-mechs currencyWhitelist: - Telecrystal balance: diff --git a/Resources/Prototypes/_Sunrise/tags.yml b/Resources/Prototypes/_Sunrise/tags.yml index b56ea9a4fb..166d6968cb 100644 --- a/Resources/Prototypes/_Sunrise/tags.yml +++ b/Resources/Prototypes/_Sunrise/tags.yml @@ -3,6 +3,9 @@ - type: Tag id: IgnoreMelee + +- type: Tag + id: NoInjectable - type: Tag id: Nanopaste @@ -33,6 +36,9 @@ - type: Tag id: SyndieAgentUplink + +- type: Tag + id: AnomalyCore # Catridges: @@ -158,3 +164,20 @@ - type: Tag id: Board + +# Mechs + +- type: Tag + id: Ripley + +- type: Tag + id: Clarke + +- type: Tag + id: Gygax + +- type: Tag + id: Durand + +- type: Tag + id: Phazon diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index d61acb713e..53da0cbe12 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -808,6 +808,33 @@ - type: Tag id: GygaxRLeg + +- type: Tag + id: PhazonArmor + +- type: Tag + id: PhazonCentralControlModule + +- type: Tag + id: PhazonPeripheralsControlModule + +- type: Tag + id: PhazonTargetingControlModule + +- type: Tag + id: PhazonHead + +- type: Tag + id: PhazonLArm + +- type: Tag + id: PhazonLLeg + +- type: Tag + id: PhazonRArm + +- type: Tag + id: PhazonRLeg - type: Tag id: HudMedical @@ -1049,6 +1076,9 @@ - type: Tag id: MechThruster + +- type: Tag + id: MechPhasicScanningModule - type: Tag id: Medal diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/clarke-broken.png b/Resources/Textures/Objects/Specific/Mech/clarke.rsi/clarke-broken.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/clarke-broken.png rename to Resources/Textures/Objects/Specific/Mech/clarke.rsi/clarke-broken.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/clarke-open.png b/Resources/Textures/Objects/Specific/Mech/clarke.rsi/clarke-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/clarke-open.png rename to Resources/Textures/Objects/Specific/Mech/clarke.rsi/clarke-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/clarke.png b/Resources/Textures/Objects/Specific/Mech/clarke.rsi/clarke.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/clarke.png rename to Resources/Textures/Objects/Specific/Mech/clarke.rsi/clarke.png diff --git a/Resources/Textures/Objects/Specific/Mech/clarke.rsi/meta.json b/Resources/Textures/Objects/Specific/Mech/clarke.rsi/meta.json new file mode 100644 index 0000000000..3e911362d2 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Mech/clarke.rsi/meta.json @@ -0,0 +1,75 @@ +{ + "copyright" : "Taken from https://github.com/tgstation/tgstation at at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a, hamtr made by brainfood1183 (github)", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "clarke", + "directions": 4, + "delays": [ + [ + 0.1, + 0.05, + 0.05 + ], + [ + 0.1, + 0.05, + 0.05 + ], + [ + 0.1, + 0.05, + 0.05 + ], + [ + 0.1, + 0.05, + 0.05 + ] + ] + }, + { + "name": "clarke-open" + }, + { + "name": "clarke-broken" + }, + { + "name": "orangey", + "directions": 4, + "delays": [ + [ + 0.1, + 0.05, + 0.05 + ], + [ + 0.1, + 0.05, + 0.05 + ], + [ + 0.1, + 0.05, + 0.05 + ], + [ + 0.1, + 0.05, + 0.05 + ] + ] + }, + { + "name": "orangey-open" + }, + { + "name": "orangey-broken" + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Mech/clarke.rsi/orangey-broken.png b/Resources/Textures/Objects/Specific/Mech/clarke.rsi/orangey-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..9a49572c0b494f2a4a92fddbaa4931d0e3d35c29 GIT binary patch literal 1444 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˛|1PdfYt+JrN)X-z8gc;8t6>*ib{uSh@emo zp)&?gnFsWRpqkp@&1hYP`e6XJvTG0|0e-!z$)(Q2b0PN!L%XH5$QbYhZzv?dnLxP! z(zI68BTHn-OUHH2hp1CVMmo{> z1InVQw++|HudfJsLEAyY3o%);O}Pae4Z%heY^gsNvS4UOAy#A zOsb>fpJ#MBp=pAy2vh;!INT%Ma|v#xK@$iEcBfp`DssY`uXT5)>xBH9-rStaBQB$> z3jx}7o~Q!4Cv7oAz4}%MPD0-$V|b;wXilMV5*45+4rq8eyd;-L2L1!Thq+SqZgSluPVkR^>qm90;hPf@hM85@nhU>k z_O7um?yzh#67S&JTM@1<&`VX|yziXMAH*yKXl5fp^LVJi5ISf_5C5?C3%WOr#I^Um ze4S2YY}a2skLEmF9r(TojN|n(ee4xSMxwsD?)$1>nfkIF>RWKCS8WA&KbYgrU(*d1 zP=N{~eP;%U%bzWBbKzEZ;M@0mUoYm^y1VJfkRLt1C8uoBlhf?wC)DxgV8$9cAldb{ zxGsA=NCB+;r3r!f;;qF&_??h$2`d_Gl-v!V2NE=q*&;gQ#5U3AJ!DR3obZvQ!1_bP z3~Do2m10`c-GYG%%$f$cr6FWwWMV+;9JqEPgeA6!RJOw+bkMNM=I8H!mn4X5?~FgE zdzWIPU!>U2&!gl>s9xC=ssI20 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/darkdurand-open.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/darkdurand-open.png new file mode 100644 index 0000000000000000000000000000000000000000..443c94ad507be96318e2101817f952f0e1274678 GIT binary patch literal 3014 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/darkdurand.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/darkdurand.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a4ca77fe34ef27c74c90992cdba481d7a9320d GIT binary patch literal 6885 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse-broken.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..9088fa935e3c57899b91de6fef21b97f69b1a0a9 GIT binary patch literal 1953 zcmV;S2VVGzP)_MM@vf?E?n?1 z_}sbO;(HWrZGF09gyr{ZSY~OEz}rRmQU%M(%5RXDw^E%t^)?1twdz@3m!8wy)~!ws zH%VgR6f9r<6!#US0XADaf5(segx(R%m=S@L6boj}vZBgagqW2M-4U~7L;(Gc7*6Nfw6vkRFp6D(k0!f!??-0llOk#hL`puu!i86GZP4?fbT?}R$Q!FQRpeRQ z?D16ThGf`-5zr$Lguu+1vp5C$`JdqWb(QPM=euQaHCA9&4Ml)NQTzc$A|gVtY+1HG zo;PpRpsq)x!~wgZ21b+AR2%B*JfmWmM@~e|n1F^e?cDF~9^iK3#G4Qv9*RwyK1Oct zDz0=YsDc8k@X8ky_}n=^r+`Ef`0l%}OpeWoD*pT)?)O6ZY%o*k6B10=u;F!_I(0& zv1`}dkikcjE^9Ypl{;Y1n2iGm8kof1z3&Irec*w4sI5JL|0+>;(#&DtPUq8lzpAPc7cVx8 zdqUKXu%TRR9j4pRpj})p*B4p}ini^?(SN2vb$_n?OmI@aLQ_*yRWd{$RWwObQlt1u z?G^`3#V}C0PDN`vKaTsQyY{d%f3%(!R)uBn??|*vMS1xFUN=i1IF<*z2}TN~gnpU? zl%HQH$lVhF&S!^6le(}6rlaFvw>7fe%vWB(*|TRcXU-hVwamtC(G&1S)^;rdKRBLN z=R+$TEyr4)yqDm1`*d!--gX8#a@4C6qy9kuHG|$7cs)YTK%T%>taiY4@LT@UmprCL zfc`w_E;H2$63+F1tMY`Ru$fFI_Sj;Xg2juI#i^$~#j2}YFzyx;=b421-TfLk>6MhY z5E)4+=)nykuj(W|+vH*5X$B^V+g#RyKXr0v^3K}E%nd~?w?TvC$5daA1Gq)5uk zYx(w+dZN5^o9XHE(A#@ekp6`uKq+{0!*>3L5uhj-$z*5eh=)WBUr04ILnj-Z38RVB zqkU8plqzc1uYZ{d5IEIA`Js=nb=x)^cC`dvMp7Prc!4+}YuHG)NM=)0wZ7&Mj|%d( zprDM$85#4%oR%7+9*LF;(n(;iA975`8E=EW9+Uvx^Y-Gehs|YWJ;ANd_mc>>!hqw) z-^g?Hz@QX39C3(`zgORroNU3)onMHD>JAcMymf!?T;^#<5DE&OCFJCXQd n`-w=$Z($(Ygi%^r!BO}ZgRP`M^L}8I00000NkvXXu0mjf$dt{T literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse-open.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse-open.png new file mode 100644 index 0000000000000000000000000000000000000000..f7757afd5d37a067c3223048a220f58774fa8e73 GIT binary patch literal 2599 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/dollhouse.png new file mode 100644 index 0000000000000000000000000000000000000000..6c886ed81fd7425de2eb562886d4804c66028916 GIT binary patch literal 5770 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/executor-open.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/executor-open.png new file mode 100644 index 0000000000000000000000000000000000000000..5a3337716cd381f724b69ad3658437e0fa9df187 GIT binary patch literal 1373 zcmV-j1)}(XWA^pf@Gx`11>6oK-`Tn zA1lF4B#?z6*|fTD2$Td}2*GRuX451SvzvlY9EvdYVO`8^r9eJr0tw>^Qc$IEAu z zy)IAgWIH_E+}u=!D0?|q)3uqUK{cpUDv8W>?qMC>fd6o zyDP;TH|4ARH&U&Bl9Q8@SW&gw@)mLn?T6PG(UM8-K^G+N-@T1FCMPGAH-o1;J3BHm zGScyX`kC6_@+AD>eevsxlABipx9hU{khDyNJ*AF4BFE=)WKe=tEcpLe{rBNtZJ~rb z_fI8|9BVBM4Grn~{{DVg+mr{_Dk`I?a6nfY2izI~LXx!3$W6GXr$@;b*N&e za!f$Yu(r6eqDFv5qY>*xR~iT08Ub4{>-e1(fnmC9J@R;BVj^BA60CWdWCYSUGy=aq zJqv}Bl~+Gpmsdd;4*}#4u4Utm;L4Sj$4S_l$(YCJSX_@BvEN|zVK&H~Nydr^kD}@= z#e{5NuzXCAA?s6MYbzlI9_&TG*H{1IJL&7|lleDgsXq%TKxk$u-_|;W39#{_`)zHQ zOo6R=8ErTDMc}sm2DtM1yb%4&)knSIfq@bYl|%uj!spztF{HZT$(>6440mSg+cSOe zDIkBqQh+Dm`R{`vhoaR^)qAXH2V_--zDLKGe_U@%0r>vsC}>AO(x-o9%}Yu)~O9GOpx1aSnMme5s}dOmH=5$PraP6k#c77xg8{l&aIhOmQ*&=|07=k=r*j}EQhJ-%})5SiF@P@<&aJVeL z5V?O>Wcfliz86?JECOao8vJ`ErvY8m$Njr44o*-tfFh#kpm4WOqx3Gns66eazi3#9fwh_475Fn!o;{2_slzy= zzvXD00?W(R)>iCQT8MpgjMyeAossM)uM6E6)K&u&2$vFG;8CGa=Gq=YQlg2=OG z_XA|<^(4@3M!*HPMu6*)8DS9s7UJan4RPVjfn#vRx-u9S0Gk__0p8Vy|S;d8RquUJdU^?awa$!`~^l*vBt27lc zhuc9fV29V!A9SrZzKcrF( z@Kf;g;*GcfAqUACutN4Sx+ma|8k*I-+Gmze1J7YKbVFT_-QPa-g^9T$ zR}Z5JSw1MAN7HG54J5mEp`6icg_!o?VMf?TD6)2GvHPQbytr?|t`YDjoIe-RuH*)r fbin5Q=j6e^-np8;JKp+500000NkvXXu0mjfZc3R_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/executor.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/executor.png new file mode 100644 index 0000000000000000000000000000000000000000..e02879deacf60d33a3c24df4e5e8471cebc2b122 GIT binary patch literal 4415 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/shire-open.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/shire-open.png new file mode 100644 index 0000000000000000000000000000000000000000..92343144c2801bd1a343690fc7583b0a92570ad4 GIT binary patch literal 1019 zcmV5P;%=@!tEgn(qKibpiNwJF@ub0zPo<2ckbL7$8TBgotbmb z_uYHWJ@>kmN=4FOVq(JU?COwD@7ELUZrm=);oe`Fo11ge_;u5g*J?H89RH6!EfLO( z)_3ngs~y-Zsus2wlSV`!;BK?zIrn^LFMY>aTPPHSX-S0Kj^QG50x!jWv zzQYzPMd7ATv~RK%ClF97mAs*mJ2EsPGCU(eE3zhyMvDXv;TQl>xqMTWmzULZxm=d* zolR-}Y6i9d#}3a#eXp*RJU{$SCIKh>;(>W6nyTi;SPAmysX z`Q=K5LO`R#gFli4ItHQb8w8rreRgKfhXlDcqqG?9zpC1$&tFrIF?o~#wPfox>j2D% zu{6p1`g((Bn+T4ztrj=~0oX3gSR^B`y0R9E>1ko+gXx!BR0+_@86R#XIx=J1?Rv7Y z@g?Y+;23UU`UM9>uudoeOe`2NMo1PL9u8bl?aq-CgaAVL{?)hN)^TR+$?38NK$Q)g zIcN0t%#qyh%F6!kfn+in_3dnjE8Ukevar_-;*Qp~BM5MU+tpu~A_fNsl{5a8Apf@@ zO&NVWE4@#qoL>$6P@ zH;%|wzX@||p>Nx6HdqfM6D+@sv6);*LJ&?*PY2r--YpgS-TSJ!Q}Cn5GUMC{@U)M=9t z@8VV=B7ilaQQwaow*(51Sv&ZSNvMxu{@6r>1aRh@sjUxTrXwb-Dq#5wiQ~<&))43y p(nvqw7OUTMNDdqQVr%Q`_zxD$l7dp%%{c%7002ovPDHLkV1g4U;|l-) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/shire.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/shire.png new file mode 100644 index 0000000000000000000000000000000000000000..acd52c2ed8aef74b502a8bf9604801ffb996bfc0 GIT binary patch literal 2731 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/unathi-open.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/unathi-open.png new file mode 100644 index 0000000000000000000000000000000000000000..f823587c9651c7064d65d368bfa2495399b1c7bd GIT binary patch literal 1966 zcmV;f2T}NmP)Px+Xh}ptRCt`tn$2$;#~H?dlu1)6m!c%=gOo^?QWeM~A}0x&3X8z3+K$!5|cN+Dd26 zPAod@UPitA>RWIN%f+;zo~5C5;H|gU`SzQgzUSUv1lTW|eHHEfUUl(18lcy>anLom zY>PtTv)R7F?5H0X02mK`yH-xv$>o6b>hLM;{Q~pj7KfMO-TVYBL`1&B%K-D^ z7VZ54uMVF&Y^4*D+=yKRkXuh#y7>e00U)yy=fBkg`(=~Gw4n+xA~DKOqs*QcIJ^wd zxe^gOlYT?AczIV41%(sGlUdStTbLJ3K!lL^?d6^9Y!R^cmFs8p!UfUYY+G60KZI# z^v5;v9}S6jf3HFM&zF30V)5ShcK6<$0$Pr8MGxF^M8NC#&psF*ihu3l9-p3A{C-G& zM+8X7*5BT$l3KM$ty*M1i}LA7cdBl6;8zJ)of6LyLb{;}yftXjRITHJ16$NO35 z0_1T`w0<;Zu6XHf=0a@6V-wP_iK|DzH3GmkPu^9R&4G;_i9%+IKn&)6@Em6BYb zY-}dk-l`Ix&GNfD1wKD>9Iq z%e6phC<{7kRrs7NXRV5B{;#9mw3~WURr>q+SSNqbY~E5+5L^s&LawdPS`}7S7wKG? z%-&f7;P_;ZP|%?GOpuR<4KCaL>wQ4AewP!i{6Qmjt>(s3u}-bta5cR5?iA)llVaYY zb7fK~ol_~DtMpVx{IBE!7?Bv;Th1MrDATkO@s#3{5ulU5Cj#Ua)O6jbNP=SioK$Ag z(F2vzIV(A*-@O~2#k7I-(ph0ZEB{!nUQsUqBF1eN(}sh1W3#)tDCR9vnMp!HgJ!cy zv)LpRG)QG8DdxMr+HE9x#JKIKaIIcJH~$!j!9dQ#gCN({0HL5k=gK4&ixG>(=vyenDC#9&l) zt;|hFVqWqOoFgSUh>+^ELtL0I*)N-p<0d;U+hW%hF+@+u-I(2pVc`{j->I-2axq~) zVjcz3{)fT~{u>)0cR#AaNaFN}Kq841oiv!35ax#mV(U2`HXOSy8NT*!GLbZ_TGbpX z8ob~i*Z`+T1oBT>*2ZQ`4L-a11^~6H86b%TA{3=F(vdfEGlarohmwENVs0+Zc-R~~ z#B1aqb9)KhZ}7D7oK8E`mtL!yf!4W+{JnT_#r(pQO7FBooHm}bv6#=(IzQG6vb{ z=64+f?&W^Xclj^X|0r-?Lw)&!%JP!`wfA#g>H~DZH~Iiw@P$4=Cw!+5@EX3+2k3%t z^Z~ly3w?l2_(mU~3)=Mop4D^!wBOHrSy?xXq!0Kh?&m$OZy$bieZbnoy^-|+Ix&(y zVA%WlQS<>nas6J4k@Nw>-p`Ms5Ae3S{m`xt_`kgW5fGGfvN3bP#%hvk`3(Er-1b(L zjm;#x|0)ol&+C48q3@EX3<2Y8A90qBfWv>#C9*8l(j07*qoM6N<$f-wNt AHvj+t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/durand.rsi/unathi.png b/Resources/Textures/Objects/Specific/Mech/durand.rsi/unathi.png new file mode 100644 index 0000000000000000000000000000000000000000..2f5c94709b7451610283a6be91bfb7d1abebc48b GIT binary patch literal 5506 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/gygax.rsi/darkgygax-open.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/darkgygax-open.png new file mode 100644 index 0000000000000000000000000000000000000000..59645ab2f86fa83bd6a46a96e49ba055d7cb7645 GIT binary patch literal 1281 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/gygax-broken.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax-broken.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/gygax-broken.png rename to Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax-broken.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/gygax-open.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/gygax-open.png rename to Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/gygax.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/gygax.png rename to Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax.png diff --git a/Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_alt-broken.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_alt-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..ed7b8c6a89a7ad71b86e7debd04061148fac6abd GIT binary patch literal 1387 zcmV-x1(f=UP)4(N4ty-y@AO_snhizql>{eU{!mO-=&9zYjT|gJNOppnyF}ljuLb^o}?dAuI z;HL5Z?tACvyqDK(5f3Ey|2e<=yXTyHpD&ZiP%RRPt}n@U|H^iXAzOi^Fj zG7iI#zdstV$4a#7*|mBt)<_*-YT33u6@WYeU}65!8oIgtnr?^BOehdU%O6-teZwij zSg<8c{*7^(jyyp>>}T?$0;9=(SgDooqPIzYF7#&a6$_MV77(NmyJ~r+il)Hy4>FT8m zs(k7FBxUv{w6h)C8ZqPOm+hIO`yK0bgt&AjNgRQD5C)>7DZ>I3BK(eR?IHi?DPs(V zA>2kpNG7m*=nAJ(x()x@bTO_O)C^$vm=FrK(yuoP^z%;z$|wW)x#`opusxqc?}K`x z)^C1S?HQ9B-2TJ5V7zVJWx8IBnK8ovjGzDFQ#E+acs+n&G1_n{lu!;s^2kP(*XuqQ zh#gmR)e*4{jwmFhV9WYaaOf0`tLT|3bX!rtSqlyZMd2b<2oxdwq6v!)4ly|n0kxBR zW2TRdn=`j<1$Di5@Mm+(5QckOy z0TD71Ju3twsl){7gd|wXoGF929xt;2K=3W=NSv3HVE|6`_I+U!1?)s@`08ZNFcJ#1 z>RitusvS1ap)V|Epg9n7FpGAuB}H!W83ju5&R@!hmdr^85B1-2uwbHKXWg_;G?Ed{=P-)j$ncA z2uis86MwuK t2Kb6~m(fux6uoY@YAjf5vsHCN{snPz9PRJ<+V=ne002ovPDHLkV1gnXl|%pl literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_alt-open.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/gygax_alt-open.png new file mode 100644 index 0000000000000000000000000000000000000000..7adda9b52837249e8c050f5163cc14428df306e7 GIT binary patch literal 1273 zcmVK2+O=ZEFhofz)maZ4-#J z=0W>&zS%o>=bpX0?mqN`<=%VF%r`%0&YZJ>iHQly2F)$I@8Q|gu+=l(`P*fFj-CAZ zp=|g9nHqimg(jN#HIig7oopt~_&P9m^w2$RKnSN^tfF9UfO1}chpt!Fd2~t^X6Vk3 z$0)Y`ABBF2u#RL4K*pXtbTr8!j{`7_=bi)aQ(JMI3;>}ve*XBN86ETx#mukX%ms}T zkQE(3^oAXN?TG6DjKgp`RE%9Pi~LqWfWffhhB@_^o%t(wbJzVLb&Ayve;bX;TJGF3T{V=w8f3DQn0Fmdi%bo`Pc;> z6XOFL9;Gln&SO7)*H3>0Ygo4N%%bB&98ymL*c>BO1ClNc$pRD1E)sQhQ$f!>7hJgW zAQj~1(npwFUuPM7&+mJcVjW|yQQ`ID=M2cc-MFco2d*tIx%<8Lr8)|op5gUmba&A# z9C3`zp1Z{FRnJtjQ~0jx`GnuaC^({q1F-GDwx0p!PSyw0v!V3F?JD?d9Gj&{f*vG!*@fV&rXPqQtYr z+0z0&myW}=;{=&>7Ra6zjNJH_&Q|WCkckEa^S5qNQNC$n-}c$6?i@IHPvktH;nQ_-WR%?9BuGe#Jz~UDKHpd0Q8-!wZNf`tp#8_kM7*n4(W; z$ZaX3E13YswX^o=CUbfh{U4GX@H@5alM;qPR>t)GPdI!}**x#3Zw+AUlD!KLAEIAgvwAcT@WNv&*6KnODdWVJ48Lw88+ye9*gsBlt?W>Nd}PWrO{ zLwa}rXZ+0Mnk|8}z4ErJ8@)JboQk;fz8SCy=mEelfUI`GgFuo45wkq+-sO`5z56xu1!yDt#z+Y zXtBshCcPdqkk`7%2K1#nLq@Y!cSf6uyj@$-YEoCu7Ufgvibivag@WjOL5+QQSIV@QiJD8w`a59 zK;dJ0PXnkK;`#+T1?nQz%>(ngZLm7FR_y2Fu#Lh2S7)JBGDN1BB}3wg;6J@NP3ydM z)>zUYqIlENOVpHJR8o|!KCYT|6F! zxaQY2t|sI8H%sBm$!zoXU@o$mmu{`)`EbBi$V!3F*1IoPkuZ;9ElONXs?zlDO|yCc zH^25kpM>~JIDK)QRTR)S|JnIej=!ep3cmGB5kMc#VS6UKd2T*^+_6w#f9CIw2t0R1 zN1~<*w|CU>&TK&CU7uZY^BI7NDNdnwi~M)B-zwVXqwK(CmaGzTp{Ki605EebymQ)475$ugsE563IljZs zJ5f}R-RIYU3s9)Qj5(#UgD2@c`H!5P{-KlRRX`%P)KrYgv(xK|sJo#dWtOIw5Y781 z(bAJk?LV{uKzfqI`2Hl8$#%L6Z7Kzz-!`yO01dqqa1WbvmsD>S5?PQwPi@XjF;w7y z>=4r;8I&|onz0^Kj6eycb1{3?6gRZY@f~NL8BOO(cWhTnB5gIrpVA-D3gdQ6&zh&2 zrXs3R+%!)SmjWFV^c}#*<4z?gzj}rZBs0Y{QULBR;0x7~>B_7IxKsjL+0n`Gv+Gh5 zt*;d+8ma%>YCVWK7R}L-2xVo$M08(Ij7lB}w*9RDIC`~89ptAdn;9~A%BGN&>nz!X zsnA&VuIjMRLEX2qpOcDR)TdY;&Ex+oUbU7Mz|!$C++Mz7ah2E4{%u3LHQ=fJU_Rf9 zZ}vq_kuLl`?6Mig{%J9SH!P6zaT269*Pt?Nx6mbyGq)V5 zp1(pt8YJ-T^-!tg1wEZZD;+2U*RU2YlC-Z#T=9m$?mhykR5w1|y3yHn=s9Im#-P?$ zqWJALv}>mJZC%9)tZQc8YZ&SjpVTD%?2HpcKnI1$u|$9vlkLZ_`npRDzv)aG5L(LLPBX8SPi8n2(O+mSCFj}E}FBv@!%C(MFARy(9cOvO)!JPZ|lN@>f z@Bj>KO6nFaHTu-m_RZ6g+p61bAkM1r?0B+gODYr$^R|rOz$~DSiarQCR$)AH3MPJc zb+m4z(epqhjKC1iH#ZRH|D^DBkjrVo0+D}xB1{K3jtl-bZJqiu2w*F`Vjdx!t;E>o6pl%2V+;)*zv6vU*XL?4 zH-MAH=Ox^iTRn;UO-El4jc`UCsXE!S$J@~J8;&vgt#tx_j%u0RR+K6a{W z@0BGH83F6nCyM?#XDVQub29yn-@ec5>BrBtb?w5%9}e8KBs{nd`2m33bBoP8us_>S zmwvOaoVVy?118UDV-69##;^6hEtP}Y#`-Gn*M=$(qRt;cECP4bK@Jl!Og5T2>wZqW zX_AdeqccGPS%kwv_+yE>CA?90P<9$I*C4BWzy-p^>({>9!<@~O6S8ar0KJ^|rVxeg z`$W)*B9evqM{8@K)T2lWKH8#|3=x9cMPEo{fczLgK(o`av7r2+v5CoAa7<^mIbRJh zej-VB8Grew5~0)1f^LaLzJ7hf=qMkNxL@cpZa2+=6YI*webxty!SW3|%ErJ~Y$eQF zgq-Y?krv1twDJgl?Qu)HQl(hvV}x~z_P-)OGNaVJ1wgcsCG*WT3(1KE|A>Ph9bL3d zr&MP-Q3%zuZYhanm(@%|Bv!{M5B!Nid4?mCr=w@D?@4*CtlA6UCm`R_f-QUZo=7NQ zm^QzrD{48{#crn~BAW*Sj|oIrq3j0!zYcc0GE!NYi<13*qbih!KW$$gILIGKFQGb) z8whB~jCWOiW3@xdHK^j#7-t>1ts-5io*`qONafX)jUDb8_lgq=KoF@C2r*mpK z%G}>wjHIz>1CoxOxbei#j0x+?+8y2G0#--^D_jL7yfc9|!7ht3Ed-Ha{bK?jus7%4 zg}AeWOq?Q%7z|}05tW3}ms+YmotL>1a;~teS4e9(iDM!_*(jYJyQR9${Int6ORfPO zIw`om{w_q*^6BES1HJ`RCGdXT&e{o)z}A|OysrloacSJB2kqG`GJ#(+wuZ$YeKZHz zWc>XZ|Jv+%^5(4rK6gTD4*o1iOXN+thCyKF{Zr;oqXI}oyX*4m;o_nKU@c+NCFTC6 zm)D{X?~GIA9`cWy@zMmOxjZ=O)#^~og z(g9uC+Rg>4{~XV3V>|s_na2zv^J9x|UswhQFW;MJkL3~AU1!${TIu3V*@bdrqu4~n zL};zsj)gb2+6>$M&tW||e^TC$5Mpv4+fFjIp`<) zgTEZgnsK~i$wAa`BQ@&?m8*UfoF3_TD!1^niE8eZkG>QJ&gJxQkH_{%)goj#lW?FG z01F;0+NX|wt{uP~s|H!w7K$MY{z5Jq|4XKtpxU8aPyJn(&pNImE8a}Fhvg8C>|u{- zY(Kv#l9n6f^!n&lA$Zgq5*1rg?v~Db6 z0z;2^YgBfMzH`S?ez~34Cg)>U;}xl>i~%*0F;`#+HLOaBPJQw@FToSdUzLQNj`sGE z``Wo+5|o{K8vdC^gmcvBT`1OnF{QECAhDRRZJyCOK zl~li$IWC70Vaawc*P2lo&jJ(K?}z=ibHH3oz+G46!K_D$f_wHIldt5#S+Q9*!>@4|G|F7kX!PMY!dQL#MMJYF2R|izd!CM z^I(;~veFHf6QtgMc~N}{RNo_8!OV#!&qQ;F&X0Zl)*mJHGj81YTIOt$`K=SqpXW?# zR7X+UFGElkV}8~ws84xpeYV!-XGpQ%Y4ijWAReA|RKGfD?JfGAyQO_O_eL>5_QtNYx*-3=`7oc{e zs;-T8g^5J{$<$;uH8<{w$xo2ju#*-t=zk83gl|azXzzOMf3qR*^Yn3je~L6;nVj^^ kz6IACEjsFsjqm=_e40hq@5bl91AoW>T`faojRrdWeZH^F819JbUf+?svcMdVg!Zzvs7itSuHJAto;d0Fbaa zYGwy#*YzQ~5#C2quIj-_AkYqT1Qd2`p8{Z$o`sp|$&d%^^e`)@KE>u*y34UcO=UX} zb!sG36;)cgjCsucm}o3s#m>a2W4|%o!h-%=-IhJEdwcf2 zF+T3|%kI0$a=WzACB9oz?-TCcXIRQAO8I3APt71MV>wKTGj=5nk$6MZqH*kU zagpZzxTA??GkYvl4~;P=28d;{HSM0uncw>i*WfFZre=xq3V9OIr4ZDZk!Uu*QL)$o z1+B(!W1Nwua5-Xnr@60@g6`^>QRB~ZW34xV(~I3vY5-)C#_K0C30b<6N8hg6`MwF0 z0Ic5Ljqce(QR0@9(`*s2?n5tIX6sIh-cq-T>$eIP$kv(8o3$pjykcE5_2)BNNUu^4 zdb%>t9LM20Ki!hB_VV?zyL-~(;WlnyX~=dt%s$)513pUQ6CQ3%Y#8?P_S!A$cEpp{*ICakLc{iMlaEH7wbmdFA2qP zIpW%ipgAT+^9hY1a4ydRxE`SAKjOS{#^T38gJ9Q8)SuRR!iEZlsil^zhN(+Ea`Ta8ZSNt* zw>?9I+KRk<^j!V)M;ZIst37Rff~`VLE%DZ>kik=D`^^$B%=&Wu&!=A%0!n2scBrT; z2PhRb;a1OfE}6jgcJRL?OiBiy%db_aODHe~qXD>~K0qGkG~ZFdNcnk>tMB-8Qc0L{ zLSb?_&3U+XLEwN4b6=_zyjrZfM^>4L_hALqx1BxHua>Urus&XI;5?|SRDS~ZtjJBU z)xp(psyTJ0m%q+C!ttTJy$y;&m5bIu#gEWxC<~9gGUn)&<>f8OoJ7@PI_j^IZBov2 z?U{VNriW3MPzVm??qz5Q0ls@^jGw-BjJksZZHS!H?DO7r6t5>GMgf3S9V(aZx$CA_ z)~Se@nyG^Zp;a5DFH&{XE4ErbW4y>@(^xAAAp4c`dZC-fnv#&6T$YzR%*$smuJ?GO z3Fy>wJ4@3ZQy3b6(P!y(v8z27N<P}BCk%|~dpgb|rJ4t2fh*o^Q)=v)&6=p4vKsZV!>i)p)8ZAk^Ua!v0<)A&L{PPi zI9gnnHmF-IhmxF4R##k+b7D2N zjf!U-ZYl&Y+X^Vk?}XtO>8Sk$9mvMnzoN>6rX?4)8^pFBl!i+8h5u6ApC4L^YL}KkJ?v6%Qw~L`1{u)(rkB{j)v<)cS7~sU>jb zAB-DtJ*&Jb2&gUozMD`^_m}F4)B}|QCB5PWPD1+={%{nxL8zrH+u4^aRcf%ECs9TjnN!`eB(B0DzZi0lRt!mA_sP>n}=`A{j?Un8-l9!3sk0MYEaZ zz5$KmT)rZsqg9^kcak*s62+9@0nLr|uaG5qYC9~=s#}mdQ_pp)Zu958M%rAh)BPCX zak~r-%XmK6f4l}pnM!dHxS-I1W~^Z;bJNUfD|gvohGiyZWA+d|M~d8d#2{?YCpxpN zSHhg~b+xn{^>`I~8|d zoz#X~cl$cNpBwNf2RF%UeE(8KOXwS!9P6hT^MN&plT!NoUk4V)kGgt7wkG=13mO_fY>3{+cDPv4UaNJBi>{ z)C>4#gqK=!Q|gest4&6IRQuexrM#r;=2~ervl?~i@F$1(eC@)G`8YYA22{NO(`a8V zEC%Lo1}_YEV-~9_a!}ocJ$hkEq$E69{EfCa$x6t-Y-FbUH>)xDVW3BcM2yNPN2t=L zuq4zyx?X`wrlk(UIgpxyQn_1; z|APxcDO@eHNh;40^0ZXko~Qw|b54>f2Ko`_&gKnO^GE5 zM3B9?=iRtgiMVvuLGw%JdFg4F@LpK_$gFTT;QX-yS&8+VvLCO8`JCV@NLEu+ybj}; zoei1z9P8)9%8(pg+14v8!1Z9mx?cem<-5rVPo4%wzLJ(yP?%G{4p8JtyVe**og82- z@M*LY`}%lHO-+&JptOa$qQAFs_x!w1q1!7l2~v+2$OW7lX=JTYpeEhaZOIr zJ@MC*-gY{BcT3yh8JORZ(Zm}qmrPYNzAU=tvT=iQb)`Y_#40_groQ{xM;*vnnuuk z@8|?p=o_SyghM>OO|9|Y-PvhWCgd}xlm*BGXbgR6$mzj~c8ZU+4NgE%&_Rl|H(>=p z+ND{R?QIXqB3Ttd-|WU-4{O;YjZ-hd$+L10*gJ8Zb%GXttzv_8`>+R8wRUvNLuc$0j@ z&l$4(7XO|~-`?FtByH=ua6VH18i`x)dDh#Ca?2m<`Ot?=wU;`W1j~i~xhLg(`Ml)e zf(BrX)rUy9+cp{)W94A{F3H{eu9(a4TL$KK#@}7EHj4|+y~TSWJ*d?ro9YwMIXKRf z0s;?U?kC?iVi|%2PU7tw&>=a*eBFYXu33!#@1mp^%B^mal240NL%vK2Z@HI9ew6Ha zXTcS_`o02)Vl6<}mV#%c-GhVe;3ETQS^2Q~zLC?10A-2f-IMaWqJTKzW-$H?dRdEY z3+SdiT#TbbjP?8D1uvIxB|k~;H&aS4x_f~`bGsL6LVdn!ph2IwOpHqDUktf)uv`LQ zQax@KU@Cm=%hS??UmY|K`98MIsedV6d;iUEFi_`k0YseA{}oO!0&)w;ETmJwh7Z@C z9Y9gv<^3GWHSLXy4|+1**6jOy&6B!%wx2rVbyTtCEY( z9|3S%@xf6a_r{~xe*8hh#u8Rn4YudVfZ8?Zx~*?*9f{7kDU8SBOw#QnHdqYZ&(z4t zdS@hSH-6K*kxeu>m-w6JXk09jn{A>Do8EW^&kdpknO#zD=9@;8wI3|9bmFjhv zZd0EsVb=5l&sGfkkuTPtYA_F{l<~pOb}^?aoj%mwzt|j$RV9A^uF3B0b}I3oZ$*4Q zDmEtiF=_V7(mEcK=i4S`n(0$_9Dni4sA{J{JYx^mbSBj(;YZ>8z-mFxY$UeEyx}w) zutvi7lP-D3lzuYq97B6gPvnr*#dzW5m9T?cjAM{@UM?ikUyS!j^}5rcs|KA7ZyfvG zv?#K(3#Rs_+g8-H6qpS2E3==6YdqfM#xe5eC2Q;1N|BcomvGVJZExxvn~uk^!=V~W zdLiqio%1`pUTtVp#pXLcK3?W>^c}U(qm?1NvD_A(RHYYH5Ze`2(L-$;V(b9b=@?Ah z0NO=vL3@6ZyLFHiau9bMvOFq|i6b+ORz#7L+%S+`OM{ZtBo?cYAwOd2c2(5MYso=w zLB9iWkTAUi5?7qIM&U}^()}+ zL|p*l%MVGbpORB^eb(tO#D%@2!$416)fjhCUr%BNj zJ`>W8wee8yXLV_RNMDss81rm(9e%iBY!d#FyLAYc4DEDmYtPx+JCsYYU@%Tb$^T`G zCXku?BjCLQfQwvQ#XbQ_oa9F3ZO}OHFSVVK+XyG%1cP&aHV+Q~SwF@-*Lm=eBD)KUVzIpAr&Tg=o^uCay0?Y9jW`@~&?Im-w{MA$wKUEp4>{SV9BgHz) zO6FtLzVpHD^HkV-+~=Jso@H5kXBeh^%h%F$7-fEZIG&-RBlA8M9nGSAP>`hK zu~YRhT-)4yG`u)hD+ETYmViS0t{pct2&}^$<)W88&n-8mmU!BZIdvf$Q&Ur= z$~9vFCf>|XsN(%gzg30?7}WOuCUCzxcfT6Dd#FVJ`y9PWWx}{`+MKgeiA|{3US!*A zG0B;*w8{})TUDhy8AkHZu7e$YDfi~D+#Arp;?}~~Dy#*({_^F^(Ipc3y7Fwl^A9o< zvE2nG7UlnV&}gpKiSd<)b@}J#<#l6I(;%gSf&wHh%_UV$!eMxQDZR>GRPyKQ@(4a}0dJnGaH9J11fTwrbC4+W#>d=J+6Aup$K`Mxqm6dgbEF*G$p5wp& zEZ2_dS9p(bexLg5GMii%-u56}GbS!Kms!PbFd?vby+7xabXQR!Wv4-!s^WDsgJ*m5 zLR1dU6}7b+rI}{qjh`wiAjy?W6B7tI>5yau?@fNgW=HJ>D=%+SA6-CvxNBhdw7HbB zfEhMu0@XV+yZZr&#T&C|0p9S|2ta7ft2Wd>Kq=xbwR{0LbO)_~h9W52pGEq3{X z!Vpd&wub~`NF>3FsU^vUChK~;tfNXhn~rBJy9j)>7*#G5xh18-#_ zBNp?j|ET%}e?yT_REe%<&+IDPg=N6U0`gMF-wRRh+IMVH=0w&T5{8bC>x=|uSU4;O z$>~_hJ2BWnFOr0I^%EGczW#$nxAw_rybh0<{dhvm$q8h;J?ukedw}4%L%gq(NWC(h zd588Gb$nLFqNd;xhok{7%&MVZ@lvwG0+_)f!TNPuy-O~pN2KE8rO*k?rs?7KYv1Bqr(<_`5d=rN?xp!Aosv`j_Afsc;>ioO;46-4?h z{o;F+M6?SK-2lJpGaS;qm0*fju*o>zBhg3$+SdzwSvEWUxY0Rcptk3x5OH{HLURR^*i-Yu5# zP!mpYQ&Ln+^RtvJ45*7yJaEU}qqIMvo8jAaYuWnqGXqm^7|-iPqn;fklTSM*lE=ff z@m_N4L6l$+7>}k4+-D*96EuLuKySZ=V8s~I*yh#6G0RP7_+77Yg1boG)ZE;- z<%9APPgvuxq`KvbdsdCWb$~1QP88-z>Q8&@?1hD0l$jL}`XFiz9qUMKdCcruM_54E_Hr-Z;mg+UU9mqQR zlsY}^Q5CykJ%RFUOxt>dgvbe%5H$EdxrNkmbtm%+`oQm3TwwLp;0-^o%vciHfBRRjIV=F}&Gptu+Be$02(U(D>x!q#bgbp`Js;z4CE; zCp*?(1S8Q?Qv)6q1B$cu`wXksN;NU1R^HCZJbL$tKA`fS3*yiu_W4?_`VR~adL_>i zneE*Srk%?|l0QGcm@|@SxVVIvhAHyFe6Xb3UQN3EfFkc5--{J>3Jw4qbQan2d zh*+MyAqbVulVDl2oJoHP8o{~%3mHR62?_kd!mM`~@d_@A-_6PhkCNe*2pXIHCySLSKZ}7MoWElo@e#3y2P}1 zg?+4W>abuR_}H{$eY!JMZPqS^@^cxrSUQsBP*di@k|{1Oj!#T13!3p-Pd&jav%y&L z8{6DQE&1!NyrlkxM5=O8AnXKn^z`J7jdO7gs>*WYP3pXJE%EPh|1>sJHa4aP$*b-9 zY@Y0Cc6S+@tKY{-0U_NTDBokesycAEMSE#r2`FDR_(S>S9h0z!KW?rs*YB)1(~RQFyy?q zsQ{PZPeA4!>|Jkab+WN$&lHdXWhS;Urb%vZ>tk-*lp_(AB$mZYWJP$zW~9r2^S~~v z%oN_%g}lsd^W-rt`3H-b#reI`r(Fj123q&u06_!ECQ-Mg`z4=Yyr}sWHA_kq980Zt zSB5Euk&4WkZztW?$5s+-^mFUbNgTBC9GPTrIxf zrX23dZ!C&2gKY%3)7o`ZxYvhmd~&@Cxz61$r4KY%l6Dv_4e*q8(E}j!;|`trWEVBT zf<>!AxmZj-u7KTk5`JKt7xXR!yhLSH)!a^S4oJh>#H&)AfHHORCr}})#+u`EDe4Q* zp6j7w53;WVc5SU#bkoLDV~dsOw^He>oK1#-H$9^1F9fZDzcS zAxSH=V>K#%q`=?&j@qBD-OasDTdgBw(+K|c#n^UORlYC`uXXN&0uK(ZQH_G2^Gi9NoSBrf2}O`xi*@JQp-()+S>AjuXb?d_)I&FTu9 zOO7iG@!#_bKo&T`E4H>~O}lb#2@1~{uZ;M-bukA!BCRF)S)oys@AfXNMTxDV zgF{7KT{#F{6v#Tq>1wRsyXKmco4}j3&(hY}iIY~9hA5Q0JO>EnXrRN2!r<3krcBEtt8Ggm&l*^p||=FVj7VbP$glyB(}Y=%;wasI{4FEoV&!#1$)Z_IYN%#ymm8e z)ga3pOVJp^r{ZS58EnF}Gij%(9IIwOK7Xe6R$mH864GgDem`K^>MlY93A`9IFRQ6h zUz*?ZW*TF48?+@DTI9UP*s>Tyyr}(rmi&N*_^z|Fvxhx42;#q@BcPf;J(Dm^AHsxS zqSA#SyY%;w>Yz{}jtZ}>?GML)_X5&1&wY1<>rTp$$O}0+oc>i(>c&srxkba(O$bo5 z)q1{->Aiz3P$aLg#tx>(>d=JM{Kv(`94twX=-Rh;fA&NMpNe|= zF@-nWs*jj~6n1-6F5Y~Ee&xrzvR~7ow&(J7sLFln8IQ6>1$lvi)c1kWkQUvggV}m3 z#i7wGz*7HC4ygIoPqrsinaQ+!`})$AnTw)*yjx8HTys_{Chjmk>(Rf(O{7Zl=PK7M z)StAV2>nn{l_}Jt6go1ZaiI}}i}$N!>>w>wGoZpT&5|%|Qv7H3uSV=-C4E?z9f=!?J{nmi<5O#Vtf zAMamMJcIn*w z27?V0$_6OO1M>wW`_9-`KvFl;V88o8%l+=?$RppvgvO8CuwJ!nVIGOx+SwWR4FhG% z2Wgrv0DKnXw8S!+ycS#@EElMc(3hK!-M9CnC$a#Nbak^Fy_IWPij+C|Ts-qOH!NWr zYI3s}mjU z*=OCs=z{d4Z`n#h&c=7jLnFWa8QA)k-J0%e*TSKPIQ%ffw<{Mwhhu-JtJCC35@+8HWwzJB~uhwK%q6Fem7SCotk z^!6jE1HtwO1qC(W{Q{5`OctB~sk+F__ia5sV(YyCxiMdH=cnBRpjxs_sqG|?$>Y;N z<}r0ye-l?pS$iD=6I} z#4N5~wFPIlgZr>BIL_k3^ub9W*w)+xsP30v0)Qj77FVy_LT59wq5@9P6}sVJ*DTgQ zyCfPvBo;^=qP4cV8CGm}B||l|-Lmgrl=(=~myu~;SZNjEv`_9YezosT`{1TC@a?@! z7u-N~ZN%-AM57XJ&DNwV6n~y&WWq|6^G=v|T4-oUvM;w>PnB z#5HW+i@IrLoP5!l*53w6xB!V}z4hD0>_{evN-~W*Jj7?Ds+tXdDY_oSh z(p7UfdMte?h)Z=kjcPPx!@>j*PVOF~8%MzXq_MIcHQ4vh z$2U?_#oLRD;`-}eWir)O`Ok=}*oTcn!u*CEo6W6N!Pg!2lF{4qVwMH?(T~QOmblWa z?V*$U{?0Z&@z0@&>BC_)C4+Nx#kH{T5~iTLm$a&y($#cNT^+$3^2wJ{aHP26yEz*Z z-h9A5?swgOa^`~pl2Ej~^SMinf0Wz%znPSt=}?r0IdB}g_cXRhhrtV_q*VkTqy%R{ z5NipD2F&rBVi##6K?0>NtP?;)=-SOYWt^a?>XWVsY|5|ib&VKNd5*zrw6~cU`gd+- zqlO#<$HD@wYJZ;?-<1Ns#iSbUb=l`)-C>}30@J80#$~465=6KVZuqEoI#gA=@i~0- zbi6Zy(jL4pRr49A%wyttW0Ng-se@NY8?D&+wSgf4GG*_lcrNGYGj62t{R+3+!{PK) zVhXH8edN=jVJE<(%^TU!VnTp|@kO77V;d6F+XGlfJvOBMurvGpdEeO-5^n#SQ2Op= z4lcg?Xa{H{)jSk5+ht^(J@UB5N6z)>2W^PS&v8kJTFWLd~~(6>2a`k)?3QP0n-koKI9X#OmqFn# zKoxy_)XOh>s5_&&DODE;p6@SM*cA1{r}cDC>>YUf`c=7vXplE>87|l{Jg&biliFQh z!W#=1$q|bE)na8VOAj$UTAIxmC+tWbUhTXS_R~5tq+?KNSt`aYkxIf)e*fbc$-GkX z$8hbXjGDfOW6lm=CtFNL39>_zEh!TqUb+$_dhRm^`) zczT*x?iNCJ_*4MaR;k?QdcCGGtwZk>|KaR#RuwQ_8n~-q^iI!bV#YKAGz|#}!Gi%t zz*~1?v+(DPRP@vnaNiBRs5(=co#|RN(;%HhwhOIQABt{yv*W-w&QY89lQ09)$UTnrvmrT z5qjYqGu~ppH+#i(2o^OxV=Bj{*XRbm+fy(|RQTZ>g%AAZ+B7A!?z6@XSh2lk`6W_E z_4Io=z8@81z(_PqSBk9~ULHu)uWk)$qK5DnmuS?DsGi6^i)Wdw#Zg z-_(r901pF87on9S_Q4JU)9LSTqbx z84aF)spWWSbw8<nh6fg|{kNdo9lM3cZa-mvdBxNx6$1mZ5)6S*Fn~mZKzr zUDF9N8!5XD^FBUn3gg^FD3273W5C{!7sUjIv-qYjLWCYq#P@o--&4M*RpEf8DjmHjqSxHgS#yD|&tNXYKlg zYf~@K?OvfXC_h?vU() z9XO*3hIDxuQ$x`9IsLQkUcMhlv9b$C#pnB9m+9waiHOLMMmh=g1v^B{LL&AM)G1^j z3@9xp$UT8j1~W_=S~Tll?UEn3W;}_67NU3G6*2}-3OFQJbAn8IoVSw^>J_xd&s*HB z_?k_D#EIF!v180~RdYkXtd}Y5-4^Om++h8WdU$CCM4A|JVmxvn9N1Pgcr|zq{Ct3I zzPMJ^CUUa&VQK~MZni;LB|Jx_#*N$3@M?E{Y*iw`uM8TejJeV(GJ8cLPTBqW6FuD@ zvHa^;%c6819Q5!pL+?qquTGbUcov&BrehX3FXsMD%Wl^B(kjd~-e4{F+D_>^J0ZbJ9a_YNeF7Nq=wI zta7lD9dxYF1k;@I0|RtN3gnRmlwb80V(;U6oGbUme3*1Qp>D?nK1Mm^M=2bA^#muVAv!I zYY^$=lr(w$Jbx2h8%JR=yv;eil{O<+N;-GjKRGYII?=T*SRo^qjcRZkFF_ghGXmPxdhxeKN?kKglpxM=f9n+k(I^q9>F`-MHaLC*@DM#(In2l zmZu_b4=ufE&+@op#(y5^Us|-@4cBfb7#&uJF|24oB4LXb9VN*m4y-OS-!IX0D#rRSl@rzLb-S?Q-I54%{!M{lolsBy@t@EeS71`% zUQTp1VorMPh7oSv9o|>(yHvLqUcLFkPJFKVwDUk`dL7+@)ya0Q@pka?{_fy4H_f5y zG<%%Y@!9k;tJoF3JnmSq!k~h#Pi({lMIG@WTFfFQ_)@QtUh!!UA`-2+^k`xP*OZO= z_||tg+kJJ&2wehIVV5EO56uXLoNytr(> z^AOsZDnL3Pc)T5gUFR^o;|D316dB3OHXFGRnyaY1*gp`)KAZ5pU4ld$$?+f($ZO(9 z<4TQnZ2jD?^vHV0{;q&A99Ock`y?tHGvAz|R2vRyU~#`{8jyPT(=#s>KA_RHMg=_) z*V63Jh69Csg){nEt_2h2lA>p1=0`M?`JP8PkJp=ttLHl^MqWA%1^D#r2jXK(&}zzV zPq!ig#K(!z(Xqx#)!$W)5!_`z#>_cyo5p`ps$xv86Z7Ewb@`F9oQUy#zJb)cg{5qT zyOfpZ$f9AY5AqgEF~assvch#|)2h0vqj^8t7b+&oR!2 zZi#m>X_5v|1i-S7-2##%?0Bi3_<0DTM^`4z)WX3;9|zL1r<_~o{e~P)>lUm!8A&I3 zp0s%wmLIVBJzTK#_bkFcW7*Q>)0Y35t-)n-{khfOcP#v?1WuERsuQ@9-}PGQwt-79 z@V)I&90N+rjjjTlXcL_QQ_B4yt~pNF6x$%Ge5?^Jrj!3&(NgH9OI_cQWh)O}5(YH# zRrmVIz_g;`WHTOe+pH@Up1uA}uA*hqBp>`uFq-eHNuEhHNTVSt&Q75)7>M2OsBHXj zk>Na7!3chRN%N8bucOSa`V3JBKu2 z_KA2Rg2>U`74Qk5=509%)J>ToaSul=kT>ne?&OG36Sn_o)NTw($p8)F!%QU_;01CV z`U0Fm_6!_fuhnfmV9gcN5Tmn~qeYAnAG5ry1m|PbE^sYZRR==Kpd&R$nOV56k z%Zmd=F8+_a+M}O`J@I3j;A*j)xVY-rKit2i;imN2Y#&mJYu6@NH{#&0aD7=Wcs)Z` z@~68D*epBL?dhDD99Jpfd&JYT#W!_Tt__Fk)ojH13?9+%xg|x!9ED>v(h!-N9Sbv0 zB=3}z1(;3s7UO+FLKq<^&jON-z;5D4wM{G_NJ0n%V!W`U3G2vJt?X<|?e54Y98>%O zC{9Yl4IS0=?ERRxl~rt?rMdz!YFgwUF?$Yk$gN#Z2=ZD_nzE<%QLLqvTW9W9W3~4s zz5|tkCWMo?oqDw>dpV!(2%&tl&TmvcLhYuq?T~>U+Y4xabnZ*U9m}#);i%s%XgWqA2Z? zna0d|@KroHP|^yDjCUL*izf%t^a9wKdvA2+;Sb=e&3rWQ*DCV8*^N~XKhl99Wg4GD zvZIz)r7kTTu(YKL1vXMqPJ+UY-D!8a4-?rn=2AO&C3JYr28SE~GYjPGy89Z&;$2dK zgH~ed6njZI7e6&-N+(Xn!_(c)?iOKO6DRVS@1YtQQa3d+8=yudk#(9~+{UKY&VPny zebG&IIut@aEh)lc!83VTrjHd>C!;Nxmn?{sik~Eh zfDgSQ<7vGHtHaiJAmHoc?E|yD2f~D&zc*)lI($J8ygWrtiBIJi;&1JRQEVEwOZE15 z2J1+HrrNd9gQNMtkM{~9eyvTPCsfj3F$4ghV~+D(wA^_t**jVLYGh~&3W5WdK$>GX zqyD7=-_c|qiMk;`>^VW@UNbnuO8~E(nc99ET!FiUE;{ z^h2%X(x{o{sjsNQUg*6>9aR$jjo1-f1CPwoe3tnj#>+d)co5Stowl6wq@d(Pabbbs zG2(IJawY`hjMKMF7;OR%wHjLThtpIr_4Uu6OCFn%DYn=O8_m3a)Rl8GI-U;oJ#U=m zyY|6^wnhfhO55qi&k&dG62QjWuCAGa%JgUK@wKqlfyVnYQW{TH`=i>RA&;WQqodT!eV#gg**H>0k5fGbjF(OzbSXPCkA; zB+fsJj%>E>IZd&yySx&YYD^MNj%(CZ#7e*dm;2i9B>s4Q!aMjmk6JZcl+<5Sygmhc!6*w!AG@xSC13Cdc0pCHMDbv2Qe zpqyiTx%dE2x<&Afh#Ew=2*DJQgG6AHDs;)4>R>MP%6XOGkc4cfY}T-6Sfb4vT9mOW zG4cw$Lg*JO1cJ%4Y00%3b_iXqmZ0(W@3ze3;b9|@@*FPt%QaVXM?ZJFt`Z3QXshEm zG7-pGUE-xL9pC9=ji3bK@dOTdtB_5TC{)Lv%3N*v$xJBfOlf(10CSufq?x-J|7D0v zpP|(okzgxqN`Jq-xA>rC^9a$j4-Ve~#htm}#=t?J$zeXag%YD5^U6sd>%T1#+ak?G zPrQw3-994s9MMlp-o7OyTo!o&9?%?^DV;m19g|}_w8{lHP0>l0Fn$Mr+-mVfbhSRD zv~^@(pv=D=y8PxC;Q3t?l@%N2tagP%;6szCR1!y7S(ei1mzeqt>$fULXWHaT`s9M8 z+zf9SAbP*knC$~I`-z){?v5E^9WFS37tjD7kwM&SkJ|kn9HL7?4crfcDKWa;q)PFglKQ?gM%Lr!4=) z)we&S&_PSjKM3xkTzag!pq$WKf*!~IV>=w20E2HBnB}(rY ztw99Rr%ZItQSB?(0S}jitc4{(%w^c1BIh4Q4D z(faG!z%V~1L>WH&V{{3wNaZ8{hwe*uDZl@Rz<+T?ZKt~V{2v`tsZ2nH-?wj-jMByq NfQf;Hev2L~=3iglTWJ6Q literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/gygax.rsi/ntgygax.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/ntgygax.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e7704a6170a197de48a1f0776cede8b055a788 GIT binary patch literal 5200 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/gygax.rsi/piratgygax-broken.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/piratgygax-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..51e93465a9ed6be770a4662cd4361920e84d5cb2 GIT binary patch literal 2336 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/gygax.rsi/piratgygax.png b/Resources/Textures/Objects/Specific/Mech/gygax.rsi/piratgygax.png new file mode 100644 index 0000000000000000000000000000000000000000..9c53e684e55294ec54bf41cec919d27411da2dba GIT binary patch literal 4550 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 Z*igT{LGh>F{x3&Cd{0+Dmvv4FO#mos1MmO< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_firedart.png b/Resources/Textures/Objects/Specific/Mech/mecha_equipment.rsi/mecha_firedart.png new file mode 100644 index 0000000000000000000000000000000000000000..c661ef82fa53029301c0ef43446ca0a0b13907ac GIT binary patch literal 748 zcmVPx%rb$FWRA_0C2yGK<0_}DYrJI@2Jg4#veq z7Xyg{(LpD}r2GY#hQyVD%GAW67)VJ;G18=|r5ur#@*^G20Xfo^DvC(rz0dOQec#=E zzPWqf_Z|oY0)apv5C{YUfj}S-2#kWMIuHtlw7u(CELJmq+!)Pou9mmEdwluM_xX4+TOA7=7 zTK!iX9V7eo@|qYN(k4I7@%40qt?eMi^-nwvUI$<_kziqAp{5iSMX5;4;fOOcQ@gJm z2BZ4*J>c26kEZbgXWqoPcdiqEZ}0wHi39*%uU8jJl7ye3$d_2KX6U@4mgAX6>_Fg80&pr?mshXVk&EVGnKF*iSt)9IvCDq*+V0S=rk zKf}m=GeE*JT=BqMCc~HQZN2|?KFg(x7XWB&X(5?P@#JcRm$@(ivMl44Bt5ZGsighR ztoRfE#KQ;!V<+c-b>}^gb2pFdHy;$-(ll=P{VZj(WXffvb{~aeQUCj=EEYy4`)S_o z;+7=xKgw|rMNu?WRrONs?(Qa;Ojfj0Q&R^fc^Ln-7bok#KYrz}_$!W~Ynz(@#!+HCq7sIDwiklJgK2FR-_AHuuKfm@b={f$Xc6fGW)n*eTy!`iz@q;6>%(O);2 zvo4qBvf1=mv0?X8-dL`=&uX<|Hdn4>>2%t(cSLJidEWDaGNFvO|))IKi(%=Dr^c8!nV<#i?W(LptV+cUw=a6#;cAQOVC~dw` z7!)1=g%>^87p>U$P6pI)kmh8lA2=MpY-;_m=I9;fLg`MvYqk^EN8VMv<@w&7I=bDP zBi+pv{CLLbatB!HVY@;ea}nfuA_@WP6uUFUQuPH<%>bL_o%{mZeXn1oSR=>+)iE-HKP8 zpZ(Ys-ZDF7?#snSQ3p&9!MRu(kudKFFoL5yhpvp9c{?*pt*>;X5d9q-Re?^FFg%{0D3FKRBx;Q`Jt_i zJ*;Bj>gB$@N9U*+h9Z3Z7l8q)9eA0L%%Z4K6C?i^IW+}}r3=)yfE49r>{I0tA+Iiv z*+}|SgSOsCsQ3^komoG&9Z*rpF=3S(m!+cG(qM+%bB4>!=nK~55-69z{U)(hA}lhr|s zaPc)Rtd)va0gSu{N{Y*9Oabl5i;wPF>1T^<67%=!D@LP_}JZTY@U0+ zs;WB*>k7|$-bvjky;Y<+{0{F+V+>U1<-wREo)on70-J*qCv=P#o zcPwm7cRVNw+~4l6O!hZ*5Kw)GmSH*6M_)p~7*Q z^F&_9AaC+bY_-;>B>4$C1<7lAH5EYb7Z6xY$l$>_Tp6OVi9~N{@(3NgluU;<5n$qb zkWhZQA_7iRTdzzzu%3*_(!{I*TD!%37@OF}U{YY4hp*kFT zc)@nq?A#Ri5q4^3?ejLFZDtt>m?(y#zWJ_f`09&C)M5*Rq~anlJ{9b!xr<->^US{K ze5^(3$e3^@tXFdXaY^|kl3Y_ZydqJLl^)oz%ofg!Br08KoK(K_#lx$4N{?H90`{iG$mgrX kczbsH8ldwJgoW$iXNbAsPMos)#xn-&t#SxZ%xV8wc53eY<-qS?cL2xG4qk2`AFT=%=NXcPef%AGalAV?Jbj= zkh!Ue2Fe-70Ei{ptp<{`#1_|TUWLPJ zu%P~T$+>k8+eEU5<@lePB@g;aD)@)W9vpI$*SAt0$^A32i>a+o&K#4Scxubbt?HF! z{v&-aY;jD}8s`4E{z$B6yk}l6rfJ0)i4S{Q=kR*@RL)qB?|`scJ4dc=S~EiqyYDkQ zS>EuUasG>VpjSQ0a4?9it*tMWgP~BPWE{*Yhh$!isR%3&g;kGa4K&ZXULs)hIa0zG z-ebQRl!Wi^bTLZEp|^N^E7Lz0#y_l@ZAeaAHg9%Y$qc0$@SeU zVxT4Es@O$`@yF%gk#!T;A$y_h!L!Bmr0nAit++1k6=ypaIh1j^u;j9+a@;ecBN36E zn;VNlp-!`JM;jYCVQOIbAV(X=`&B^IqyUA~zqK0*r#fjNck4uXeaOTa3WZFM+(ygJ z^KR}HQSQTh8NJf0wcKvMhEp!I>FLyo{>h%e1jn4gRY*Gavqn8;p-5EZY^+JbIvW#{ zuw8&W3F~N@dZrv)P@dF&SgCTkeOn6qBY+qh?T-lrcVIWe#zs%U?O!M%*E-$Srs_Nf zqfK?*R{}}d_n-$T5h#0ZfFq(XR1=csdA8zP(^Q@Q7Y|KB^EnkVEZXhnt@GcrgdC(- z@V9*98aqhX-0TjlB_qT3cSCS`=njVv?b8`0GsT=0O16WGv&HW{wFMYVMo(bwPA+&U z#%bH>{gvI2G_&Z9@D_r*Kaw+b7E9uJrNidvtsE57)88k{`(J6~@3J zra|!AcEkZO?oDI_G^?;=06-tqF*~$)D<$>LMx1eht^7Er>FhjafAPe?thKh^xfvs_ zd49o>74OmX<2PN?MSlG0@G8P~1Ddc)VPAf1c=GI!hsQiTv4%WA_an@d3LYJ1l1R4B z+cx&49oD|%Aj8NmuCC~l3VB;wTaN(ANQRk^;4z8hjf~S0w66iGs+NWbck65&5$Wma zmsqTW+Di2D+wf!}E|7>dESI$Ig1b1;i^n3-rslax}bm(28N|bQ71_!*!o*Rv1 zM4tqdtTzZHO4AdRlR3;eVu2ZN>k;cA&kkf6_)Y8?3^$qcAW~ zngh`qyf zW6`=BA19b|i&M3?ixYFsb9_U(0M?LbTJBe`#&@UpC(-`Cq@mJ4=3sjfT? z()t`|deaGx7vYZ@-vTZY_yqpZyRxC{FZ`sItTUPyFIYmSKrY3(xG`Mk&s|Uy9^qA5 zOvUH(gZXFGHJTc`b3E|)=)_$#B(HUuo(&dfwRSqrwXh=HCPx%%}GQ-RCt{2o4;!lVI0Pvl>P$;6{F3MAq@(my)1!Hr6-+QNrq@piQpo|!GepE zlYc{3mqM)#g4h&iBh?18Bp^~jGbBw~hd>6w!6D}m?#!9kyw|(tHRtnz5c1wjKHvAf zpqAQAWglly^tylO5oDZk zxy?LUnJhx#VBf1OB=2%-teoB)=){`hWhfk9DluMU<+m~ zPW(bY(L{eqoW#FS`UxR~5JCtcgb+dqA%qY@2qA=wE6fK-_S??~0Iv4O+xE-O2N?c9 zpt}zv&j+~NA8#Ak`2fRf?1MwUvwVQ8{(OM>0E2Pw&zJ3IK0vac`2fj&<^v@AZRG<7 zWdmB7thD}oBd;*d`2<_}084*7VD`vg{4go4Kfe)QaMYh~%YOp-1Y7w4OMg57Yyq7} z6o>Wx%)lu6^IMrLrd~W7X+GiGm8K@=U^EJDFXXi5szga z=Y#tXBhCS|(T6d$&EFd}BO@bioGLWs4;~yGghad5)a&)gs@Z10zjB{%aBwj4J0jrd z=*XngX-Bs6W!sHmHI?dD`-gT281robLEFISE z${7{(EmV!O(Yd-1`U*yXYC(v}0|NuLkI!1IW*sav9lU)!YDECn`9@11Y;+Ev5P}H! zVj@Wh=QNloOq#9orduI#etsSi0nj3z7xTbHV0?VsKA9|;o43sT{QO0+SnT5w-D&p23H}-r zv!+t1SlfI)Z|1gIJP@bi!2vEt0?y%!eo|Z=_L(B6lmrxs$qO5st)sfU>{ef`R^1U} zBsuT+_|%;K{o|4lKA2PRotOiK-@i;*enS`?fIv$zopW2@m>jD&(y=}g1-w~Van(^P zB}Hga(X+0$;8=~h6*~$539B31D6?GU)Z`=6Xf&*2_Q8fXVJ?@8y^`Amtgo-zz44*d zjcpLaws7r7bBl)Uc4RUcn>QhQ#qREIq!?KN{;j9bqsBHO0s-a5u=#L(%1oP&?hXjq z>ujL!F^f}0l(|~P@)PZa^+cp7!FpQm@ow+`oYn$Dd zj-UOjoARBz_P7yvyTaYCRg%u>%SHhILhk|!yq00#0an6qV`FBqS)|a1Gk^N?yBp&i zmTHX-(RLeZ*(8ywWglbkE7@zc~kwA&ElUfxQEn-svh@>w$8R z(??JMU$5wtIp9YjBpN^x_V@QkazHt|jsT%K5J%?s`8jZ<2>3a`&?ZHIZ&H2^bRB_E z%_sD&I4%NO1C%3_fUyyv2;P1?x5xuT#3$1)A%I_4ngem)jj@-JPpYqANx)X2EbA5| ueY7Uth9ME1K$~uycNCx^{JyK&`S=f;AUPXlu_}owc literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon1.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon1.png new file mode 100644 index 0000000000000000000000000000000000000000..a59b571d4f6ec411504eb494c58f5efe803f2508 GIT binary patch literal 1028 zcmV+f1pE7mP)8W4fs&v4#yKVz4ZTx}u;FcPs=^cl-v4 z-_fK$!CH~9FeZkmB>`4oSlALZfrJo{P`fEEiak@#k zH|@#k70i`t#_8x@JqT?DJwUbq#O8s40XxU%(b17LP-+`^`*h5bfLP<}9fHu&J$!-) zJm8awBq5Abp*S&VHn%q12`T62=MfSR8pj%idw`)>ny5h!K>6(KEV5AvU=61t2?&j2 z%_l$%cmVqpD@Z_vfN&kX10W?quTU4EW6~)`oFo!p7DHehE{D67gc^Zfgt zh>5z2!Z(lLVO(fF!ZGw7$`~s;jH+^tD>e zT`_u+`%X{mrvCSjOG4OSPQi9!4t#3-Gc%^{euEed06a z%lK)fBnd4lde>F=5TS_aiaiMcgw>5>lv$o~YVwI`wOZCN=b*z*I5;>M+mgEoR4Nr4 z8(*}#aSUMSPTcrqw# z>j5Es{q5Ikt(ss*^2BG^Q+Gb%~51?Js#~?Ot1Hu-m1NnTuYXbztu-0fa+#K$; z&F)LXo2jgs$=|c8lV`V1dR0nNwE9z-Xag+5g$yygdqIF(j18UZj5b4KB&HeB?&@> yvaBIU`e;q;h9MHYggX5g?@2&O_;c6Q^W{G}g*axDzvoQ=0000cf zh@u_>-dsdt#H)wBEsJ9mAr}#L*89iR99DPN$k^Kmf)&cQh6#4-5=QvcFGKP5X1LWizs7^-m$^ z5R5U0HQ=Pa%$Gf$?#dOlQd3h?fT@W_?Zu&?At!4%hfGaP1-oAR^BY-kbVj<4*9P-i z*M*lzBtqXI0wW_M5{tzGu%4GMf;H^sl@|&8!x%FB-)52D4IT51HCq>g$UuM%A5H?u zbF%wcXc3`o&4&_T4VyO0qsI^Bep6O{xjki~z^Gs@k&-}%HU>j&gudR}1Rj5$7Af=D z0uaUrPA`$xRKHYIRQNj{9ySgVsfRLl<%A^9-1Px}+a?u|mMj47o$f^z^iG1cxADoaLQkjY1n>nCPl>AR;$y0+i&s^)fa#W(I5AOf({SWW_3uKn@Wqy?d4bO5ADFe-G8)UoI^MlmT#Kp!VKHwBeH z1th_!&^e2aBs4}*0%!~fea1TlJYo-g zZ`CsCNxu+Al6D_Ij?4JOhoA`IgEa-;C2QdD?N9P=)9kl79eD=;(3cTH&J#q(#Ax4A z+($_Q+efcO+9&+{F%66aNa$A0Ia_!8=&eY*xNq4x2>^uMjbpS~?y`RU2FYf##xduh z16_o?s;a8!6<bufJK`0RiTV1*ETA-e?epAEK{WIM*A{x2BCjY@7z9 zEz}1pD=P~OARvad$;sL070$I^-M-^v4`SYF`N14F3SL*Z`*oM3bNVt7z#m<;F2S=5 zd54%*>p8m9yv(y}^P5d`OKyDPb?|rrsx8Z+>D?@(iUUb zaSgh#(K#ok{c?65Ljt+dfmhS1jkTeNCB~Rbru#zu07496+TtXDo-XOx-pv|d6i(J> zy`CSo(Q_!mcsw4e0gX8)0o#GD0m!+h^9pS2IlBg2q>B*|A;F@;*baO_4BzXJr+@cN;5xj~t81>n}_zO$dK(XJA zMK2>8R6oH=2~vf&tW!|xM{CL3&_!Y{q0ZMhpOb(lVb6W9o-O|a*11#^U{POr00000 LNkvXXu0mjf@Ub~) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon11.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon11.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f4ca4e1d8c24763e0d9819a3240de5df3826bc GIT binary patch literal 1258 zcmV26qGFLiZwd6=4L*j}8RoOH5=bI9W2qQC3UHa(VAhnJ-P zXuUtLbzOL|SS;`zATT{WEs;pX2OIwHfxm{`JoF-ge;7lip6?JjYv`D7tl7E{L*k_~0;7VtSVDXq+87MA5&C*&6X<)L z5-H2F1t5&SJ-JTW6Jt_QQIXy8)Rb`$OWc#$%f}>s`gRuZ%okE|;G$WB4um$u03k#G zQH8IMYyvDWh8-+po*{QgNu^T85gdYqah7wAH41HjVWO+jfrwnU2~gsj8)bHO))-8- zuQvdi0M@WOl7P@T)@%aAKm=f?v77|7Tsil|qy?d4bO5ADFe-G8)UoI^MjQ_D8gWPrx)(lm6H4=Dwms^Wp3t@ zX+)8$Kgh2ap2|;$LUN}&BBGoF16b?{a1LMe6Xx!aXObXO0+1w(f9@WX`#7pSJ>JY( zkpZmq$e$nA%5e7sVI*ny^5vY&&A;%A5I$H_@LjY9zQ6fOes5X+Hm4)!008~0*R&2pDbjaww0 zP8-LZgAQ~N@~Wz;f>(SVf&Tt}lN(!fcjFkq(A~V^u?$I#Nk@5kxv3kMzLt@Zkw7yt z1ngT+i#}=`BO)L$l&+E6WlgeO?)rCtOJ9GpxP1c57Yj&Vx4h9H3_nC)vv96Apl?kZ zgV;C?NL!!}R905z89+b`YYPj@&nukkY;|WHANecdotD++xKZ%B!riaCB%RZji2(lS zs&xsTWym|kv|7*6t=3x4t~1+gTH7*n^N;-Z18vx(D}OUFRaM$e%LqtR%f1~g_#0=5HP1CaCouE?{o=j*ve86hqobCY{qr(fo>!+JD0wlrPkLMP3fQaB#q`|1q z2F71lx&{jUZY+2i*`WFfR!op8v}K)wVn14o-i9s`rGz@~;=CjQO~Ri0zk0U31sAJT UnDWG$=Kufz07*qoM6N<$f}N{JTmS$7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon12.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon12.png new file mode 100644 index 0000000000000000000000000000000000000000..6c1cf4a18c901d7a7e49ef927ce96c2a38560352 GIT binary patch literal 1256 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ξJOyu^<&GKeBCPTp);L_LcEbf2+^Th(v z$1P7Z2*VH2$1I%d1?W@L#vnF!1JV}i1J%{l1qKih!`#Zs*7XYe+OKZk@rOTGc)R6U zv)w4TUE%C!6tr{tG7-Q(U9~R3wG4TOnDgCpbff!a&#upJHr+k>rRCp)`vYxwB5D=A877hi&v2imGE@T^vm^oAfvy3_SGURv zZ0s?+23(|z5+Ime0}SnjU;mU|%Z6jnLDcLTaFKQruzSAFC-*lmuv$2#dw|C1^}_G^ zbaO_4BzXF9-=Yo>k>qq3jQVU~{KC>TQ0%+0=wW1o@*Y@9kSergor3K?TDLt7T_j2g mb#~&sBmqsr9{ay~w)_Wylui2NWzoI>0000#D?Ho(x)HPV5IoVE#265F=R?Ch*I z$fX)JfJp#r*d0kg=p1V{0b(Emurslo1Wf7w?020OgpSccPFut4B)Rno?U+$HeC1ai zT1L{wC?~5DFpm?R>!OS|$T!Mi$7|jZJN|u4-i&Vu6dg&J7-b2dF(C9AbqaXIAZ!*` z2jKYOG08mZ<+J19oILWp$P22PIwU6({ZXCkuLl2-ElDq0rak^5MIZ@ZY({A(H+Z!$RCATlh{cxO_MJ+(=)eOHB% zq}{Dsb22yomtTbN!J2~aRcoN*?B8;{edSx94&?v^_pWl-T5QF~lAGkqUv5aUc!KDd z7`<&3YM`9#zTF?{o%iy`G++!zS+&dTHTBUaI^@aX&TZY@x6g!n#eK_GBmfY0H;&O} zxyzRAJ0zdaYsZ{}4s;Rny1KfuS9}S9p`jt28(Ylo#xa1QyKT*+j7WpdXEYksb>q@E zWps2j(2O(z`_?nX>~0(*A|No5Z;Z+zaRXIEiv{)XSGX~Qeoj1HybNoKZ90-3B? zP`HSsuq^11w8a>9T!Sub%$yU`emOgjA%R@!z^m!QXPN>JON=p>7#{OGA%z&kw8cr_ z#EuQB#jf;j)&QgMK}%k`hl4ie9Eva!i3DoE#H>ibc3{>3dK?hN@YrsX?Nx(c2c0PH&`G7Trb7l`PF}hXwT|eEN5g-ZPemu9R z14JY>9t5L48yJ6KnKe-EcVpSh$Oh$Ow2~lIXv<~_R{PPq>TT#EQAwzCH_j^(FiF^R d|5wkJ{{XZ7RZU-WTF(Fg002ovPDHLkV1oT$eB}TD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon17.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon17.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0b7f7d06097e9ed051eadc4678e7f6bf345741 GIT binary patch literal 1338 zcmV-A1;zS_P)`6pHRCt`7S8qt&RTzG*UYro7BT0%Ywaq1D+aNaQVw?SeGB;aM zBrDK}^ z?B2B}#W{sz&T)-6t^elXn5X;L&T^EMm8D_YM8oc4EEWr7P3M%Al@)*2d!L-fmbcf? z-&F3;+qyw`kw_%vJB7g9+#K@r^L?<c9@QI;gzPaY=QWzNu zvFRg_0P|cqJeab`P)657Nw7l)596o4%eYh*$Ft{GOcWFq&P7_`>&V7nSR0YAn=XOA zJF7r$k}Uyg{Q3uvAlf>KqN1YYj%R0$gGlRTEPVYgDnGiI1pN2~6dnJ}tWk#|8)1+T zBfzNA*AAC}3QS=q%ZO*F9ZFVLSB)b&Bnjhe-8t7JvLS|vu9Xf(Ksy^Nkbo^`KK;$4g`rb)nA3ydEogrA1fGeWOh)DR zA+&$fWkRb+x)_;cQv&vJl5@`Osd)=W^R}ZWR%_Pk^XBkQ&2fx;-{}{fNZ1$|39vCR z^h4e$&=I4kS#X_zlkF22db$7&Tg%aNrvZ;X2R!dpQ)g!b!dtscuD|HJjonSjXxaAs z%M`J==}XPXk3dC5h50+QeiRGue*n$R&55?Qwh$F*Fk0<}yD<+Rj$Fai<9QhW6BsOt zqduI2vg=pyc|!=NtC`~s=fohEdIFu(m;8jaJLXv=#8dzxN#oPqgSfV95;bGDF+E=b zTm^Q-W^oF?Vzhe+ilppr-CD%r(%*g&(uZn_zBjFbH_rcquj)3w&FSzQv|qc96Hfqp zAN;|z;tO6Y?)v!#n$}N{91EkPI!g^?lA8H5p^l|w{*(re>1fp3<>;9A(G3&wruCh> zx;69XLLCUcWwR0>h`O7`Y_r;B)&2vB$K%Ga=BPtmhPySr&j zVCwG6nZ_`-nS2%&7Mi*V(zj)Nd_1KY83OLDXN%q4G-gCdU^u=F7jvs{2$%djAV}Z- zR&o0TlrObl`?}SQMp5`F_BBiA_6F=*)5Q=rPXp7I(g%u*i_;7!B*wMn<&EbR&vml8 zla5dRnD3pI`^<5Z@O8zzUs14~%a@4&|Ff$$Ncb#c-YKTldX6qMZujiklFg>EIkC8O z!*A8H(UojRN0Rm=v)iVCY}P6$UPMT&fgMt|9Meu~)TND`b78tK=fGnqprCZ{)%5;T z__XSw_y;8Y$Bbzah{ccO~Re~zk06x2Xb3hQGGM`&;S4c07*qoM6N<$g0(f1WdHyG literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon18.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon18.png new file mode 100644 index 0000000000000000000000000000000000000000..dd69ed3e4ebf4bcb063d9dd2f2e0a1061bba05c2 GIT binary patch literal 1319 zcmV+?1=#wDP)sdlAu7xU!HqB&jGw>)X)p%bai-^;dY;Se z_g({@q~X50bx+l;s$2KHthTl``Ce?_u`LxOzkTaY=zF=cWhAs?=u=Y2Ap__HW%v&r=$4i)*Eu+A>jJ<3al(w#9B684 z_IVADLAY#biS+fqQdv*$3qcwP7{7VzhIxiAp5Y8q<>j*x7y<00rRA;~CLxTkDE&o^ zzl$xEqPiOza^O+h!*8;Fqr)|fTvgRp6NSJCY^vOxHUW?nDPS0}a~MxtJtDb#&Z(SZ z7AL?pE=Ql#$Lqwl<#XUc>wV)r&=s1m#(~MnNkdv#SSSbfA5?=dta4`znGLQ12e`ti zPx=fSuvJr2<4*w){&l79BJ6~Z5g-|Nhr&7*jX8$hU11EM7O2BDNvV|!sf{60Gkl2m$17U2>Z{!lCFr8Psb1n$spB76amcMDZ&yTma57+v z&B#Q6je}=>;etGgMx&{CJRX7~7W9;hB&+92*X8+gdT2;P4h%VC7{B;iNE*wL<0<3d z02g^-9JYAGvp{?{eojM(;zD0%^C1D9M1eLocS?O?T-FT?n1VwjN=Dzy!sZ34)Ad)U zS@-edn2e2&nAXhu12$n>BfuMx7YtkP-j>gDrD`f)dO92ft*x!n-rnxZCr=O!1K?;V zcO%RVf}ibN9f(9CMgRq3%joq`!?>G2rUB#1%1Yg(*EnUi?v~Lzp$6HOf@9!j1mFzn z#zcUgLxIkKWZl~JGCVwN#_b(XjP9zHtM&i$&Sypj9q6K%3knKM0baRB*duV$6n3xmeM#KeSnkx3sBz((y` zQypNwSU@~3bjChD_FRwEY`A+y$GZ+2gmGT$a0c~~)(7(Q^Yy=d?;k#VNW+F72nd{O zx4K=!2OeiTr{zaIZUnj|a*p58=#ezzw51WiAG>O8*u}}_p{>?2bg%knXIDV<8C z(|2RWS2B_Yy=pTRUae~i)Mr~7D~_MMPU*mdCjva!KAJO49%F;DA&?SxmBNe|Is d{%7;K{y%eRl^3jNUU&ci002ovPDHLkV1m__a^nC1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon19.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon19.png new file mode 100644 index 0000000000000000000000000000000000000000..bed380d0279a6394e73478ad7d99bd12bdf27a8b GIT binary patch literal 1261 zcmV5egrp0p z)txS+OWU+{ic58+#+5KOM!KrSg(fa)EiOz*6s4&JHx#-7#E`Tmu%HYi28dC7zx(`d z@4R_$pq^xA?%aFsch3FJx#zrBGdenIk18*pI=PiL|Lye~xktsS*$Hq6j?OEmUbRxG zWE~wHZf$aM(i$2X+*+u&9afnGYQY;5%FU0q$a zyu9qzq_-WGoG4@9^yywd1`t_TSa7HNZGP5)GS3_$Cp5<|I_S2yKke3VHq=GleeWGV zE_2}O)u9Tn@fg4Z``c`GZpO_`P2VxXAi?-I*RT2i=<*+D2vrg=OxcVDg(qMnK%L^1fr3XW4!d$1#5Wi zlAG69$%$xBj4^8i#eNHIRXBigd5^sPY+JN3rhH>#!-KZ8wAh(9&pLw`cJtAgxlpu+ z1Az7Mtr!a%nMsHoIegTef(>FoU^*R%b+OPF8IDiI7$Fy=qdhUkj0*_|(0m00X)VRlN2u=UryR7f>XZ{8xuOY^rPNXX* zLX1oYRD_hhlCY`)IQQv{P2}tCNMr~mR4bqr;}f}h`~2o#cJN%BOUbH8c(@tZQXY5) zR5*0k_v~)8LZPr#EEaRRAyb`Zo4vbi;){CwXmQa|jx0uFj9-2uXIDCj@k8TafF)dv zV@p@O2H;PMmmGy87j<35M*wn?1idmeZUdz?J3c?}6AmWYR{pR(L%W^M#INIi--8FM zwz{_LOSAe1HnHs(P)AgQQR#hs_)q(?=V829$H2(Qh>eYnRm4*_NQMzG20LShbwKb{ z&Yc7KeBMu>AUUz}b#8Dij$c@)y1TpGDU-%E7wVo^xse;RlUq0jwiv(}^2ReD&ry&w zfE<7Bd0Sdq^5e0aKYQI{N1t)Ox5t0+bLgN;GB-Cj`vm0FVgM;)V0!wltJPWv8_4G7 zX2n>2p{}mZ{SPZ>nmz(1*kXWQ;~gO0s@2NUaAVpSSzlkbq-5#C00#}brgK2?QUd9^ z$eHl^glkhlvC-+pPI4ay#JJiz&X6xpPqb!6h16cg?9-a+iB69QGx_A4+KdE5`~-mTpN9*;l25>T zen5w=$wzx&PMAqabwDjN%mIZW3rusATRyt?Vj-(7S7ji~0bQfe!8E7oBWXGCzZgj7 zfErXa2GCK{33Fh_41_l#EeBlDs=`244x}YuCIfOpIe>(DkOY&yTCO@DA{MgV8#5ot z1e*4!txzOI$*1@;ro>l!X|4K9C?~=^NWR&GqO~yo+r2SYbs%&iIhUmeJBt5KUf2Hx X7PFOX9Q+Wu00000NkvXXu0mjf%05`6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon2.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon2.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf40d445d34f0e2a12a150b86a1a12c8d368e88 GIT binary patch literal 1035 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon3.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon3.png new file mode 100644 index 0000000000000000000000000000000000000000..ae91616fa445ce0663f5923e276482ad89753fea GIT binary patch literal 1276 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon7.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon7.png new file mode 100644 index 0000000000000000000000000000000000000000..5dfb7967329998b5f5011dbf9ceb1b5edc8640ba GIT binary patch literal 1200 zcmV;h1W)^kP)SW5H(h$ZA~)^grF8e zyIM*84#QS%TK0i$`VgUr!akfxR~jxXDM(ZNNF61Zk#c&UJM+Ar_s*TsI*{G>-gBPw z+;h%7_fB|la8UkL+Am&6yXK!hc^3LttnhY#heJ`BeSAMeoz|A~GBq_NRaI4Honx$# z#J)>c)3NlL)2Sxv6M%8cxz-%z$;nBHeVLHkZ5`>GMe9<3S-1Y^u$4LG;|?38v- z_uzp;Qd?V_gQHuh=MU&C%bdy&9Dj3ILiO;X%p*qCpu*}4!!1_EsOa1ubCV zp$#w$mP!XA^3*0kiJfSWm6a7^KoXh&*04L0fY3SCYy!kU1YoDJoCLHmEeIW>10YR; zQK56Bjzy<2@<~Ag`Z&S4DX8ozAPGi=&RKLMp)v9jKx07YhrLt4BL-o!z&ZebM3XZ7 zVaB9~Bq*P=DeG&jkovVuv1xk}g&usd8Tk>YtE)5r4`+{J$?iSU)zy{m>FEhU5e8#e z@Cpwk9=5hhV)?EVUt5>R;~R4C&W!Y(sxSqq$pZse>cD_EvrivEmxJJg}qryniZfPkYiPfKe5yA&+3cd^0z?J@A@}O<=+nkQ9 z0|4mD2qEVQqGMw8p3U#0Ac5xPN1@);O#YY#Mgk;stLB`o+r0cN)GO{=c1r>PVRz#g zZI-({*>FlWHa3i7&Oryd2zhyVdEP5NhrrO#kjafLy1Q`r8cL9AAGE@lMMwbKEF+UE%K6 zU6Rh}%R~Twbk({9&obm4Vp^@|=y_+2XV;TyHl1DR#Ohc7{XiSGY8@R)&XY{HO#*4w zEGXXZ=#aF<7_#sp8H=tTmAwTdsR-2wzWe5 O00000>*E`ok)T!UOO9lo8q_VQo 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_harness+o.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_harness+o.png new file mode 100644 index 0000000000000000000000000000000000000000..2784820292a8b7d42a377a38374a07c192e796c0 GIT binary patch literal 563 zcmV-30?hr1P)0avsO7p&N^ESoC-kTV&SgsEx6rhh`(&N-d`n=_|FqE@TXB9)*8 zD-gi`!QMCDKioeq>Bd384ZU+N~Ka$hS2YrE`$~UCNx&Fbaj0xj4aC%SI_fA zJef?2G1D|f4svxN<^r&}|=E!+{d(no_ssPFg4F&@VQ7)M> z4v-Jq5;5ec@63}H0GApXjYe{nsxXGwtam~M;6_s+*c`D)0MKOXYa7)4?1;TpAt2Qp zy@Fg_X@7<=Ki|yK#d~iG0#eNK-@!3_Y!ssY1`<88O`x@LvG+dR>+oE5^!U&b`2~ zNC3DA`5xC<&yh8uYNY!dIzSYP0b+m{AO=`Czz_1wMGF=H^wa0avsO7p&N^ESoC-kTV&SgsEx6rhh`(&N-d`n=_|FqE@TXB9)*8 zD+Y)G0s-tF?0xh7!~NruZY&f47@VG*(Qr7VR4O%P2>p)fLTCYCLSr>cSJ#)q$g(VP z^*m3+lgXqQGfh+EAXgV+E&!W5ZjUNk+Y$oi?RHz_ZZs8w%@Ky!WOcAk}=5)6s^Q3xF<0H%}(?{y?zU9O7z)@)@cS-SIt4 z@bim1UWn|^2v-;Y0>WwN`@Vo-bIy&V2aXPpsnu%9 zEhsF1QIj&V>rsV#K2NuIH`;Rs0>J5}?s3!4(9=qpD)cO#5z{>Z{{>L5*JYWpVyqnI z+zT9w1b~~6?{S^=99a{pM!L_T14N-1AO=`CzzC z%Hp!p74rvs`Olx1?x@WTVaRFY?S8o8^PZh?PnOSDP&)TJH~N0f4Vi=APB(f){(Y$K zaw>M}N#@3uhc8rBI6rh%TTYhcEiIQtM_xR_jkGdWsQ4OXJxW|dFgEC zoc%Keo<8N*Q#{e1>Xgs<;Lt^Gg&(pXgyvgKh~p2O|G<%@&4I-Qj23b4VW{m5)Hpr! RwKdR744$rjF6*2UngH0dW*Pth literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_arm+o.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_arm+o.png new file mode 100644 index 0000000000000000000000000000000000000000..f6977ef6c36ad8e5e52a67aa2fabc2404de0065b GIT binary patch literal 333 zcmV-T0kZyyP)-0s&eI5B`IiVO%k(1u|JpfRkLYjwVy znjFR+Ar}*JD@!+m7f4fG`%?19pHm1jN%cHA^W1KxY|C z2yxhv+#mwb7al+yAkTB>7>NRq4ebyGfH=7UHWa@DB(AkKHL(uZ$B5pd0Jf+d|7SxF f-~l|q&jEY@CrWY}qbh;`00000NkvXXu0mjfJH>wH literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_arm.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..c07042a9c2e8e838a9b8890d5c164f6bf9a31aa0 GIT binary patch literal 337 zcmV-X0j~auP)ZHDf`l#v?u&R?926bg* zU}V!Al1r*~xfDuBdbXC(^Y#AKOOizNDNpn)2QXZK?QZkd?H~5XQRe_KpNyv>iX!bd z4unw(vMl>rhhfM*qY(gZNGX`l7S*2b`y$VCI{+l4;da0N!C3M)|U jRRFGOCjd?5035&vM%{ESC1__a00000NkvXXu0mjf*vy5O literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_leg+o.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_leg+o.png new file mode 100644 index 0000000000000000000000000000000000000000..0b35b4a27927b4cfe86f81eddb78e5f8fe3bd934 GIT binary patch literal 388 zcmV-~0ek+5P)Fy#^K_CVp)Tc6$FcwxzyeqR3t$2M z7r^`c?Syr;T=#fv1RxAUk??8qEI=Lx0r|c!;#&~f0Fdnam{L_$YLCaQ1LS!w*0LT(|2c62elH&j6O5~0000O_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_leg.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..24ecab3b5470435634b4dc66e399c50e93da0109 GIT binary patch literal 395 zcmV;60d)R}P)~FuLvMkLSpSKQ>Wtkd_qA+WG-a0@W z$Exng0?M%7tkgP6(XiZAFLFfSx_kfi~1mOyzE%Ops`50;G6H9}O0eBnc pYm&YG^(~+)=zf369DoD3mQFt@wV@oz!Pg6ZKKmCtzVvCv{R8 z85tPaGQ>P0Y}%xDMDIF4hGmQ#di z&fC72FX3`Mi*COIz(V7?uE`wlrDgstB8XQ2=>oI>m_KKZmCusS-vXf0G^G(Cw9E;B zs~;N>Ltyrj?biVS&k6t*AkTBE11|vFeo^huPz8WbL2kj=d^90!1WA(6$VaeRAHYlZ qUqH*;0%)851n{K*5C8%|0Qdsd;&Ya$06Dh+0000 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_arm.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..8272601a9342747bd5f14639e9bd3acf38932f41 GIT binary patch literal 348 zcmV-i0i*tjP)Gn>4`sD*ELVPmq>EI-A3*?G(oq-jbn6_8_jfd2znt(T8)&$pXhr*Qz7&u5E| z=Xsv1cRCPS5fnv1wj>59%aXz{q`I!v{rPfIYbz1J{nG^!gdL0>GyrS1`)Q7KA8*IF8lI uM{sLB0KNYU*f19X*fiA!XhI&q13UqJU2~S=hUahq0000Z1RKYBu%y*Y9$oD56)&p%=>nSO5!P0W5$8cz=M| z*R;U*d-c;&>!$#q;dnHmBuUD8yW3C@1VtEzA`lN9$n(5X`@T<7dI*rFX{ClE#sOe? zx6`A)^XYbG`yna&8v!_M(4apg&+{nDvfEiQfQMCbsQ@a3{!a?v Y3cWL@t>^&EjsO4v07*qoM6N<$g3F7WiU0rr literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_leg.png b/Resources/Textures/Objects/Specific/Mech/phazon_construction.rsi/phazon_r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..9aad6c4707f07b393ca222a7ad9ecd9c741f3872 GIT binary patch literal 387 zcmV-}0et?6P)ST zZ`bn7_Cq@MD*IKF=_1VDhQy3iV6`A8Jr?oBxZU0qOifF))?1{?%{8^{@e z{Y`+q0*E`GXU^hXFt`H@fz8JmfRFpnWX># literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/aluminizer-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/aluminizer-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..b3adce6e1b183e18fd42a32d0aec70d8e9c62483 GIT binary patch literal 1036 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/combatripley-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/combatripley-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..ada5a8bed65499d4978d2f23cb486a913b8ebe1b GIT binary patch literal 1058 zcmV+-1l{|IP)F@z+9{lG&(XciTut{eobaS???n?lM(E$n^gz3VMv(=DC){&~UC=Zohr<8<|D z>$|$!HVgnx?eApWAvt-xRdQJ;;3!Vc^$y6?>p2k@K-iWafB_Yofo$%T8d?21Z`KeQ zqH69Oj&&Z^CwK~M0u(`10Kg`kM+r+%bVg-n_Yvv%`CftMvR%4f4OpBQ08G{WnuF3; z#US>_pA1XKne+Nh=X%Zs=E;E32iT%hJ|DIj$N)C`tmwjml=dMDu5;*&JsOgN`>xK{ z77dV6=v@2cQ|Y-dsyamjG6VoMVHW6|%FS*aZID=39X|^VJ9f#jx};qHe!we>ugj7F zq_`kvF5c4pSQ3&nZ~#ZCR7#d+gDnS=*?QFkdixJ|%k;y31yP952><}%w0}@*$Ed9g zB>i`QOI^CB#+U#6lD8jMWo&Xt(j$)p_Lzn6EU5s1^k;m7VD`d?ZjBxX*hc7YkPg|Q z-n6@p+F}h+vV(92TCDNmv29!OJKL4O)eU0Y-rMF2}8&&0URO1#*wRL7U<;j&)E80Tbk{ZC@~pe3!-I^ zN|r+nEq|(rNc_}8-|jo;ltOieEtUY8crae(lmWmI3g<9F_T%u%%8I6)Bn1%}acil@ zyu*e)szFo)0b5J6;n+P836c*8aoN~om_$taX%Dv@*618!k814UtQ~z&*2@_nLZ%o* zvW?np$SlN3m=B(PZx3BW+qnftJ0Zah2oAE%*m@IrFO?_*FCG|oE#D<#|QDc1e9MaQ0LFArFz@z%hvA; za%()==$LfsY@N!@Uh8Osp!U|LRG`|y%G(95-0ZXsxvg3NNAbW#(vyTaN_xKz!(R~t9&AOU5&*Qs9HkO}I0J40hXe;Ot} z#Dm;AHq=p?d}GFTq`uR^={SZJ=bBZ~&JFZE z^sZXP9$Z(yzE9DLVlSUj`{wl-YIHhn9AM+<>l;xtw)Egp@)+_30$1|FR^Ty2fDOI- zqLss)@B#=&r~i<_tQCJ9bEZ@#31g4(7VxnJ=lJATm#q-59wqiW(Vuo7mvRdL7@wM3 z>}nhR=_F?k?tauu9agzWu_$1&3 zOqNFzKpY_8%r+C48^jIUAs*O$$9=Z>_A3+u!jVq$0;1gn`XtgZ;LQz?0HoGPI7)GV zz2Oq=$a-+4OeUrwFJR8BWh96j?IeKn`mCKYxkNiB6DV$P9dNA7e5mj@5RXP}j%&W$ z+5?Qo!!fl-lnkf_hF`U)+^p49M}omBfLk{PDPd(=DSLcsR_!=&fwoOvVt(8X0WW5z zt+cjGm+93sYNHGok#%Xzygh@s9RjY}9aqHw0DF$3MZ~rT`~XkDV|--i;|`^+;S&A8 z6^BI@m_k+pdwRKtm|FvR6UdA{P;jDXs z`+2Sx2iv*TSet&5p^?+7QgwPTo#ncdI@7_h`Jd1Pi^G{m;6<7qdd5S2LsJqW99tk0 zjyVa2{Z?+mOQat+3Bd8f)#wKqJV7G352eg_{-{;|05GJmbLq!la{vGU07*qoM6N<$ Ef}8O)_5c6? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/combatripley.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/combatripley.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb4d5b2d9b86dd7bfc0c43ee9ec2423c7e59ba4 GIT binary patch literal 4095 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/deathripley-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/deathripley-broken.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/deathripley-broken.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/deathripley-broken.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/deathripley-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/deathripley-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/deathripley-open.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/deathripley-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/deathripley.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/deathripley.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/deathripley.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/deathripley.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/firefighter-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/firefighter-broken.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/firefighter-broken.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/firefighter-broken.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/firefighter-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/firefighter-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/firefighter-open.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/firefighter-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/firefighter.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/firefighter.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/firefighter.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/firefighter.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler-broken.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler-broken.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler-broken.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler-empty.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler-empty.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler-empty.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler-empty.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler-open.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/hauler.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/hauler.png diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/meta.json b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/meta.json new file mode 100644 index 0000000000..e1578581e7 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/meta.json @@ -0,0 +1,129 @@ +{ + "copyright" : "Taken from https://github.com/tgstation/tgstation at at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a, hamtr made by brainfood1183 (github)", + "license" : "CC-BY-SA-3.0", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "aluminizer", + "directions": 4 + }, + { + "name": "aluminizer-open" + }, + { + "name": "aluminizer-broken" + }, + { + "name": "combatripley", + "directions": 4 + }, + { + "name": "combatripley-open" + }, + { + "name": "combatripley-broken" + }, + { + "name": "deathripley", + "directions": 4 + }, + { + "name": "deathripley-open" + }, + { + "name": "deathripley-broken" + }, + { + "name": "firefighter", + "directions": 4 + }, + { + "name": "firefighter-open" + }, + { + "name": "firefighter-broken" + }, + { + "name": "hauler", + "directions": 4 + }, + { + "name": "hauler-open" + }, + { + "name": "hauler-broken" + }, + { + "name": "hauler-empty" + }, + { + "name": "ripley", + "directions": 4 + }, + { + "name": "ripley-open" + }, + { + "name": "ripley-broken" + }, + { + "name": "ripley-empty", + "directions": 4 + }, + { + "name": "ripley-old", + "directions": 4 + }, + { + "name": "ripley-broken-old" + }, + { + "name": "ripleymkii", + "directions": 4 + }, + { + "name": "ripleymkii-open" + }, + { + "name": "ripleymkii-broken" + }, + { + "name": "ripley_flames_red", + "directions": 4 + }, + { + "name": "ripley_flames_red-broken" + }, + { + "name": "ripley_flames_red-open" + }, + { + "name": "ripley_zairjah", + "directions": 4 + }, + { + "name": "ripley_zairjah-broken" + }, + { + "name": "ripley_zairjah-open" + }, + { + "name": "ripley-g", + "directions": 4 + }, + { + "name": "ripley-g-open" + }, + { + "name": "ripley-g-full", + "directions": 4 + }, + { + "name": "ripley-g-full-open" + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-broken-old.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-broken-old.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-broken-old.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-broken-old.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-broken.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-broken.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-broken.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-empty.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-empty.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-empty.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-empty.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g-full-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g-full-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g-full-open.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g-full-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g-full.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g-full.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g-full.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g-full.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g-open.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-g.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-g.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-old.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-old.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-old.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-old.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley-open.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripley.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley.png diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_flames_red-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_flames_red-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d3a9c3e7531fc1f50a32f19ebeb0a5130b3478 GIT binary patch literal 1328 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_flames_red.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_flames_red.png new file mode 100644 index 0000000000000000000000000000000000000000..5da9e968560fe1e916f6e5df3578c456ccd4709e GIT binary patch literal 4620 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_zairjah-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_zairjah-broken.png new file mode 100644 index 0000000000000000000000000000000000000000..a89e7e618361a33da658dcfe62e00a5a5e431746 GIT binary patch literal 1150 zcmV-^1cCdBP)a%Q79B*eXA`q07WWh2HsEXrp3RD6u7cq$!adtQptiy=`Ke>)UWp79H{W0r@?IpDEH?_ z>h9{Hl2RYbL2PPj%8?lC2?-sFfTZeSdkD);jwO)DFfwQuDF-k`Uvv;yd!Ed#4!F##MMi2YTe)8&pL8| zp-~Y8CJFr{z-d`tULGNU7vQMvaV!6<(9>=mJIKVj=mIjvaI8n~1TMjiYmK&zKp?=+ z@$i_95P*@?A$Nea9{>=6KBj1BXoz)RUtGDbYCHg65ty6&kg-x0lyABM^y{10##~i;9YrzVwXVC&0#*S|if) zD+HtrXc!QXTaKgA?t3^D$dPPa>yE8JNfD^NA9WIy0lYGmYXLj;!DN$R76eZva5<7F=3wRAI}&Kd@waagI*t Q=>Px#07*qoM6N<$f@5+R;{X5v literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_zairjah-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripley_zairjah-open.png new file mode 100644 index 0000000000000000000000000000000000000000..d263e8fca40061a30505e53d9bb729f20d1e2117 GIT binary patch literal 1308 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 QivR!s07*qoM6N<$f-;?~+yDRo literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripleymkii-broken.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripleymkii-broken.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripleymkii-broken.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripleymkii-broken.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripleymkii-open.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripleymkii-open.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripleymkii-open.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripleymkii-open.png diff --git a/Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripleymkii.png b/Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripleymkii.png similarity index 100% rename from Resources/Textures/Objects/Specific/Mech/mecha.rsi/ripleymkii.png rename to Resources/Textures/Objects/Specific/Mech/ripley.rsi/ripleymkii.png diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/meta.json b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/meta.json new file mode 100644 index 0000000000..4b26ddab7b --- /dev/null +++ b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "copyright" : "SUNRISE", + "license" : "CLA", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "orangey" + }, + { + "name": "orangey-cap" + }, + { + "name": "spiderclarke" + }, + { + "name": "spiderclarke-cap" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/orangey-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/orangey-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..de23e170b7f13af02aca7d873403a268d8c51115 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJi=HlyArY-_rx|h`au9Hhck$L< zub{4V=Ac@FvP;md7o093Ygilw`~^4+dnYV7D4ii?t-UsgCD%;DaZY&MjQ#mH zb=g=R-oJQ>NAlW>k9zXocAu&}#oT6Eb>&s+tX?e!_Wvvg3@sj4>)rn9w9v@rSsg+dCJvU;JKvXh!DJDG@%GW%M{0{CDPA@YV0@egX6x NgQu&X%Q~loCIGxCXrllC literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/orangey.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/orangey.png new file mode 100644 index 0000000000000000000000000000000000000000..b337d9e1541ef3e9e4b056ce90d4682df578932c GIT binary patch literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJH=ZtzArY;~2@>KVt&}gP2`a!iOD~Fo_lET)z;M z$ie;fnA+d^+igpGmdtQ36H#F1)fL_Jb<)!Y>Fe(jI$~|BXX&s{kYUZ-zRZ}T`h@Y8 z^=&_D-adND0|LU8=M7}6f3_t`ua#wBR^8_gw6D*ArL8V00SGE~H`^4in8c>RxR_6( z^uP*cH(7&M43lIF-aMJzSnBX+?e?D8(&v*ph>5huaPmxvB2ja4Ye4BlqTJNwTx@J;zUgw{p7X&u_Xl!v{yPPeO>L(WZHqrW+==svH?*Bjba{P2rCb8w zC71y)oxBr_J%)p>DCdDxVAo_%AQ*f56$qCh{pX$*i~B$EU&R9AA*|grA^^K+Yw@`F zV(yD_9!dq`;^8s`V5JlQCziEd|GEG`#EM< z>8B>-mX6XB0J#4+)`U#SZVQs6-h$)|n3Bz72zwktlly+B0*kp{*!JwMloG#$VE8Eo jI6JRuA5)X!IXM8|PGerDvjtnN00000NkvXXu0mjfCL)y! literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/spiderclarke.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/clarke.rsi/spiderclarke.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb8ec4fe9d60a6f99ade6c7db0f50d2242e5218 GIT binary patch literal 358 zcmV-s0h#`ZP)-RPtZ+KTy*gX`T*?%O5Zp3<>D@AF9=TP)TB}NjDyyT`B9Ud{OhPsVn(xoCx$0n+o4%P)1vSTOC})$*rhWP}Kh*gSNQX|DlVUOC*aRbO}1xElW2MCux>ibf}Y4Qwli;{a$W&=d9LAl!8tZBlx191A&slwKrRX#2kRj@u(DCJZpi8IX>^n}K0Kfdl-EV5$J#hPgzf zcY4_wkh+FhLuG5*AA#Gb!^fwvmv9G0opi~l1rGp&GoM-nn%ZR7ReD3XbJ2ylXMxB4 zIYj?R!X0Q?Rb?~Q|0LAZCM~NP{F~6z{K2x1LT2+&p#Z)BB?WLh{ONsS00000NkvXX Hu0mjfBUZOE literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/dollhouse.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/dollhouse.png new file mode 100644 index 0000000000000000000000000000000000000000..9c1e2e037b9c27a2c5b799c1caae68549dd91d5d GIT binary patch literal 435 zcmV;k0ZjghP)>mKxFs80(dGs_W(&XsZ!iG?_py-(C@c(Wt?h~e99L5mT%sp94iL!?wwOAR(ie{ z?sI6Dw_*UX1pwP82@Yv>o;p4QAe4Q@P{<`-f$O*nfVlgUt&c|%W}bwZ2jDF#w?b(K zk}-WCm{dv@0Hpn`f)6u4Ftw^u9$UL0lxY%X<0|-a6gfh*p_tl-|kcbfjjB*B) zEojfcAfSH-_-nyf0on!Aepjb^)frIQhRK-D;!?K-W~~bEU*cTi6&Tj(Y^?W;7&!p+ z_k3&?MD#i2j&>{etl z)y)4#zwe&i+Zs|ndt3{+W%F=<+cd7`dE2a*f#C4c)#j2CK#&)+`*6Y6H<@j@($glT zs0pv+TVN(p#kZsC+m{1Y4~||I=gAh=cNc6v`hRP8xJMZS_erY-3-&EyJe>H1VbkS? zZ5uV4fq3UF&2omV2O6v!-k4knoqYZP5EMLnCd&o{ZC`HiY&xT8&2lPA?a<8^oRgmM zWxP4C#bEooNp*Y)2@Woddh8ePFfvQA-q4wI=Zc>_yMaM~KG%tJZ5uQeY$=lZ(A1H_ zzNh+gT7v9{2mf5%a<0DHZJsY7cW1xHZ!<+64UJceO?*yntP$y90$ImUpc5F7Bcpo^ P7&r``u6{1-oD!M?=u;DMmddFVCMU=m|JvB)93;P$D!xF z$KvzE{z6`vv{v5WbSZVPTNXDFCoxNuI>gDTDS{BA zr3m6=r!Jk_p++e&!@VSxVBYau&bbfg>t4u|>Ay>nanfte(Qo#XqeJ0%!VY?^Ia=Sy zQ`lSs;K_Rh;N`i8*J*QOT?oaT69tG{=>zaO?Y{*mJMUbbUryPA`YZOmFu=U92VnXx z2gY#-%#w&DoPky&2Y_8tu}dnZ?_&Bc03Sv^c>sX3x)up0Dyb3xT<=aUd|dv5`FxX# zlfE%5R)>*iEA?LT0If!jis6Lp#p-ajO<2DD$wb9)q?=H>2ZAOHfMg{F5LJSi0mQin z(l-SVZwZ7qp|17W@s;l>*gl=W+_A*N-U6a8l5hqFR#(|l!(T#O>oc&r$^QuhE$**Q fQOI1LDHFgLOPOb)C!`_c00000NkvXXu0mjf$V{vE literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/kharn.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/kharn.png new file mode 100644 index 0000000000000000000000000000000000000000..a78665752fdc1f70e2c674cc94bdb68de04ac412 GIT binary patch literal 412 zcmV;N0b~A&P)7Y#1!eWMd2|2LA(sOeqkw*c{OcyKZ3^G`LYTsk6wu;L9*zGJ(^%@gg!e zXA%oR@)__@cM_h58=KpG)9v@$^E{t>UhW?7<;&Lysx+VM{o^i$3?ME6z{X*LUHWfcJU9j*Rer%z_!4KJln(%q4}P%zeovuMrO>DX@M_9Sq3VIX zTx=+qRH_mHoG$eP-pzc$ygjS@crpc}NDL6q_J-cg=G@caIY22NAZ?ai=kaWByiJ(8 z{LVz$EUTMP-2+Y&IzU>f0EU%dYye(<2map_fVU-(?*p+8iw$Ei1q<7Km@9(ZB&Lx5 zk;ED3S}kLK&b|C(Vja3xOSFsthz%S~C&RxeG{JrO0{8?Fvu}CM6CiB>00002j&>{etl z)y)4#zwe&i+Zs|ndt3{+W%F=<+cd7`dE2a*f#C4c)#j2CK#&)+`*6Y6H<@j@($glT zs0pv+TVN(p#kZsC+m{1Y37#*q+qQO3U)*u^KmY%Ky}_UV|4qf4)*Co{aB2I`)%7c4v$~x_n9`SZoyP=>;~x3+ z1wL_Q1UkSua=sDRAy+pW9N(jGdd|Y>yza6FuNnf`-)JTr)7*ah8T(t=0|yvZa$h)j zbH?5$60TMO0auo1#X9U$z98eU?rDmtS7M*TGy5I&6LU7Z9X!Ft@T)WT#Et&QgTP>6 N@O1TaS?83{1OP}wgN6VA literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/shire.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/durand.rsi/shire.png new file mode 100644 index 0000000000000000000000000000000000000000..513321dc8e1499da7ba0fabd3fa20602d2d880e4 GIT binary patch literal 341 zcmV-b0jmCqP)ojP_d^a0#-?4+IAK7q}Ul890vT?!e3 zTcO+OAckP*a8JbPesCc_rJzDR_~&&_s3Y{w&_*@&t=aCz4+)!ebK ziP9|r!0p2s0CBLBNmV%q`3tIG1+0J-P@M(;p*agwU*P$EQmO^lZ<;7`nyt=3&jP)~ np1{#=L`8|>yXj5HV%hNra4LMDS$MXX00000NkvXXu0mjfP+FEU literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/gygax-white-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/gygax-white-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1be133da6af4caee02872d82693d67b90d734d GIT binary patch literal 356 zcmV-q0h|7bP){~49e}17LHjoo%06TjXwl^y& zW37j#Moz}$#k@69Y!gfrTNB0h=qo4M~UZ|GR#KhOLW+8Pr06qX`BY-?)7i#PP0000rOe?dAFiQ!7J zbQ2eGFPu|CAfn!@2E_ZO%N_6K%e@!wz+$n?fv+Onx$f(Eax6*%clP!*fC}SuT$n(& zH`D-+Pm^@6Qg4eS79=nCT!+o|H2_AFm>`-05RLv zmZUN-L8H{-mMW*O+W`2yrE7=JyEM5s$|u@^8W$gmNf0$5Ky~R3fYD0~KtTS__zuQ9 z@L8=pD}&z`0NaHBy$OGszb8=0f%6rWdOLR*6?P-aN@Sl+Z$cJJ!aL2TjTV=>$SnW> N002ovPDHLkV1jp)o!$Td literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/medgax-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/medgax-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..da98c5ec06d5c42f119ca54a0fbe39744d48c00f GIT binary patch literal 377 zcmV-<0fzpGP)WDzyS9L2^GMcE+C1UEhL#G0p0+vz0|NuYrK>j?7#J8BZd|*= zaP{nIhHV>`l4K?msScnv77kzks0qkQ129l6xRc?`t2-1qfaDO^ zpjwSnZkf&k+B;ytOTudxu28ikBny-_Pr#^*aJ3T&0kRsUFh?Ns$!U;|f>FT0z`y_i XXZ(H1mbv9300000NkvXXu0mjfCbpua literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/medgax.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/medgax.png new file mode 100644 index 0000000000000000000000000000000000000000..863ab2dbc985bfd60cee4376de994abb087f204b GIT binary patch literal 395 zcmV;60d)R}P)NWD^7dAuQPtO~zl)iiVWt zmaDH-H1oG$j(V*lqGbu_iL zwmt(S12=epU3S-Er*xa2fh-}_K!RO%;m>0u1KKk%V)mc!9{KS94QzcUjDj%JosdMU p)89CZa=Q_wO{8Ppn@~YP!V=DZilY_-@xuTB002ovPDHLkV1nJ%sw)5h literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/meta.json b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/meta.json new file mode 100644 index 0000000000..b9e24ba811 --- /dev/null +++ b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "copyright" : "SUNRISE", + "license" : "CLA", + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "gygax-white" + }, + { + "name": "gygax-white-cap" + }, + { + "name": "medgax" + }, + { + "name": "medgax-cap" + }, + { + "name": "pobeda" + }, + { + "name": "pobeda-cap" + }, + { + "name": "syndiegax" + }, + { + "name": "syndiegax-cap" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/pobeda-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/pobeda-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..7aad273f7bddcc609ed7655b869fe543180ab391 GIT binary patch literal 381 zcmV-@0fPRCP)XDd-X$<5X>IDBMdE4d&g>f%Bf{-gCHI2o>tTYeJ?-OJ{7i{Mk`b*iX1XOK0rm z)de=zmH>D#>i|4GHZdz@ZVHz|o|B>g<5uth%u4xp0j6U;u5(w8Tz~$p^;cnlDd7rW z=Wv!|{bUG?wz!uR0DyY23qbY00YI(Olky4P68dWl5Qa>UV;HKJn7 z09ivB%H5tu`~v{U$G;o80eKGaa|FHu^c&{mk+0Ls?ts)olr2IiHd7Q!c@%f}wzNtTe#$auu!FHLW-9 z>%48eN&`rj0AOyt&E?h4&P&A$0Oq3u=*fF20RZf#1kho}w+KM1KTz^#EA;MvRLOyI-yFK>12LMox{U)>m`gef8C2$qMNLY^fhr3tp z0i}bekPox9Jzj!V{|S0u(q7Yd4ov#hD|z!JhWM`DX}U( yqA37gPKp3*t_eOXkJ5fh00zY9TqU_DPXOQFp=U>tyTGIX00003M+*rwG7E zO#pZaUQxpV{a#yC^FS)FZT3$<4F}l@%sysxA3BLx{QiMI77OIW85?e|?|z8sAnrhI z@&$lXuHuxdi8JSYzIy?H*7MV^Vp7CU&?+8sxrC;@0^n^U^N5W)wjul!)zj)g?W~e2 zri1nnUd@jHP_fKk4`CW+2+a`cuz$Z{<^qc-%2r?+`c~SvyNDvDp}+f`FeZOeN-U;2 cmm3TK-xD@w+GKusVgLXD07*qoM6N<$f^CC~=l}o! literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/syndiegax.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/gygax.rsi/syndiegax.png new file mode 100644 index 0000000000000000000000000000000000000000..077b13b77181cafe8a92458c9e05232dc43a853c GIT binary patch literal 395 zcmV;60d)R}P)+jwF#2KLQ6a02#TV$txaCQH?Z*qu8>sPij6jDe1Iqz@$!Sh z9U+N}E3HT~j+gBL85(#5_Q7{?-hs)Dw^3D`wmi z=PC z1pr!&7U{Z&t5{F816KL6ub2eo4p^x$<|7;!&j8duW%3vwJK!{x>WMm#U0CibCPB1> z0DImf0Cq>F(Gt~B?!Zs8PS@4{2YLzh5)S1u8ifBRAh~dcD&RWBP^oy^6L0%Iu2WQc pi~uMnbeNr6{PqNs9Inv-yaVu{b;e(qSAqZl002ovPDHLkV1jHvq&ffq literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/blanco-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/blanco-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..65f5b5a008782e974a20d4ec3833cabc2caf270e GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFuHlVIEF;DCMQU+E>2j&>{etl z)y)4#zwe&i+Zs|ndt3{+W%F=<+cd7`dE2a*f#C4c)#j2CK#&)+`*6Y6H<@j@($glT zs0pv+TVN(p#kZsC+m{1Y4!3ViNqqb0sYcRbDTTKk|I5eGX-D&XSO|8nPvV(=-~=xH(7%R zd^e7!bqBw*NmhC*`{3JagTqFN$~+%qbGGrc{eM3B4Z|evMIcUP{&_>64cpTafS}@I zlk}qv*{da{8K@Z<80air%dDU%aO^_iXI_YBwojN;AT(RI`Qd-NN#2JRiZfk0{##<& z%<^DemJ>|p?p^%9`2YU@@_+yTt$)sZUg3tdRJQd*0fp6pT*WL#_3y(j-D+B#Aaa0# ZA@gqefmY2BePF;cc)I$ztaD0e0s!|Oq~ZVo literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/blanco.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/blanco.png new file mode 100644 index 0000000000000000000000000000000000000000..0ace054f275228de7d7776924cd414021c5e15e0 GIT binary patch literal 392 zcmV;30eAk1P)J_JfW3@kU08F{e9mbITKe zz;FJvrzUW4m=%Cpy)h)D%Dm3vPQ)g)o&0N9?yhqom3Z1mFo+YewdZOH1b%aP&ZlI5}(TY{?sPQ<2oehI+a+CHC89UwPZfkd~A)3#aZ-+|p700O^ET`GJi#v98W z7zHC>1ZGd5WV!#2y@b+}7f5u=Jn?J0>F)70&rWo!zdNF%$|yBPDueKt-l9glnTEKP|?erpPUWF`u(ryWif#G5FXEM z+B@@Yw3WzEJf3fmeXWsuZ;EP)0oJ42c3>fZx)B8iEonWrciFmWY_dR?RLG(bl2a#1a^ z-+u{vPqLP8kP7<2YB~!rX$Qo!U@;W7uV&sj+SP!;EQseDq}^qPbqvlF$y+rEm!|rADZHQY9G_<{r~^~07*qoM6N<$f_mYuX8-^I literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/imperion.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/imperion.png new file mode 100644 index 0000000000000000000000000000000000000000..7f5d12057800226ad439cb93d1a4041516577ea3 GIT binary patch literal 399 zcmV;A0dW3_P)o?zt^hb1ZiNz-_sIcLzp63uuA=Ct%sV zAK%4qJChg4#{6Wf#V>Ko?ol>F(gM@636|Z%T1}D*Jpgd?CX5^e%`*6XJB{iM?$Lc;5x-e3MM@UV0ZuPoUwHe5q(c tI71Ui1!tw3gTe&*4F7_uG}mYVUI4owhwkahoZSEb002ovPDHLkV1ht(s2j&>{etl z)y)4#zwe&i+Zs|ndt3{+W%F=<+cd7`dE2a*f#C4c)#j2CK#&)+`*6Y6H<@j@($glT zs0pv+TVN(p#kZsC+m{1Y4{jaR=E)Yo5L+{E1DGxxu@hqpn7^lT#o1BFFTj$Rh$d4F$DVnxCKM;Uq& zr3Y3pXS`;(c{IM@)Zcf?dy7C^ee|BBt+Yv&p_s*JzRYR&gBl=d a28PpVHO*_1R6hcPmci52&t;ucLK6U?xue$r literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/janus.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/phazon.rsi/janus.png new file mode 100644 index 0000000000000000000000000000000000000000..11cd77f8d00c8d3327b52cddb37929c63be41632 GIT binary patch literal 380 zcmV-?0fYXDP)1gd=+i)9Yt|!^vWjAFDyj>FEgIym;A;4UddVN%Y7x*ONM9sWbq^LLR5?0N{HbH`lgMP3bM@L{I9{xxxaz z=TWjRK8?#Dyak(ysc2@e!0xgNodzt16 a1;8uoq=yF$vlF2J0000G*5ISn1ND!wEQAF(|L8qd{$=1a#ofWiw zT7+oDtb*X+tV zL&GW~S`2_I`xb!KwSz6{RF6tho{B8MPb+u;wy66HkccEW+&k!qwco$@MIJzU2&Y0GoU-m~h^xOwJ2)s*t=mIctwG^4S8rk4i+aB6n|T$m3ik0(@UO8EtE2t$An zz;}Riqxk*Zy#4zCx|v2~tk1=bBKoc-4d7`LX39%U7-s-%K3%>UEhgDc?)=Rr6k8T* zV*`M(S{wk&SVPZh(wi`N9Z<3=V&BIO0Hh{o+|uy?@ZJG28>Lc}`;K`AXhVEFdnq0& a6u>LN&~fj|kRsXu0000iPwcZg?qqsZ46x_yt@d% z4(kBa+z!ERnG$s&zhCKrQKSGAz~lkkI{BaPwi|yBV7fM5B0HSi$zz^GgaM=`Vd8v` z6{i9~`t`nNl(fiLx$#Uw?>I}idIZ4IbrgWCbBLLW2v5Svt3WUn#yk7R3PA7oQ@C6J szANBu%_904kp}pJ7~IPwS5gA_1eeiy&Xwrnh5!Hn07*qoM6N<$f=4p62><{9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/aluminizer-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/aluminizer-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d0d0dbf7292884ec972013b1c19d9a6c3256ae GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFmidiIEF;DCMQU+E>2j&>{etl z)y)4#zwe&i+Zs|ndt3{+W%F=<+cd7`dE2a*f#C4c)#j2CK#&)+`*6Y6H<@j@($glT zs0pv+TVN(p#kZsC+m{1Y4!3ViNqqb0sYcR0FeUlUuKC~ic7#eDdJq)aqqy$c-nNJPw=19IQ_vQC zm-#x?W7oz>jX>bICd&})nkkoj*x0I`H5p4iI7=WKE{SE$tqa4>o5PyKw$y++KiinGwv)t0P(4`0tu68N4R9ooaby8e~Q-?y! z_2a+9p=gzBp?R+s#5_}Y!<#%w-jIO7U`Rk1P1H^2K_wX@B~3iYpD2K6IQ?pGOu#Q+ zDS-Z96cf@VEt%YLZ4QgxqHfjeHY}a-#7FQQ$F;?|B7tZ)jl~9Up-4dc2w=A2yZZpg zwdvHG0AzP|MG_(bU|s{K$H3xUS%tOKKob6*K&IMW+GhpNzb`QM3+$IJV)0D1jq>)i z1w=*oSh?gZY5}lSssnKCpTj0^!K-rwK)Zo$yJ{`}qZX3iKy87yv#1c6m^IgNS$300000NkvXXu0mjfxb~Uj literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/combat-ripley-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/combat-ripley-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..bc73f6e3b82fcc6ae3d4782936ac33e934424a7f GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFsgXEIEF;DCMQU+E>2j&>{etl z)y)4#zwe&i+Zs|ndt3{+W%F=<+cd7`dE2a*f#C4c)#j2CK#&)+`*6Y6H<@j@($glT zs0pv+TVN(p#kZsC+m{1Y4nB$#65l?0s*$we$NwLZb5qziOjy(0*m%%zU(>>Uix>|l z%In83?q>!W%PF#!lHia&6HZMfQOe$puYh3X;3@&h$T1?CiG_N!mI$JqJ(y1|qc zuaY{>hw~)PP@V0+iTQ+Ai|uxO<0%@?3=M$5VufFu#hV9GY;0^+&zhLmtAR!5?3~Lc zDtVT5G2ep8%xrsPHr%}8agTe~DWM4fwT+R3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/combat-ripley.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/combat-ripley.png new file mode 100644 index 0000000000000000000000000000000000000000..75427007d078999bf7fea3c4280b0e57b2f90dcf GIT binary patch literal 363 zcmV-x0hIoUP)?P3 z;!e*MKcSB6)l@D?ec*dmsz{PoU{kzWr9c z-}`-mjk}PVTTI29PKCqiZEXRgO}HC(s5x5zEV>7YSUUuAJOvjI`v6?W)whT}1y&#@ zfj_?o7EaYj?*Su9WhL^mnY0Lz2r;dQw5pfS62tGhm5{~q&MRytUp;us*LDB^002ov JPDHLkV1kp8nc)Bc literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/firestarter-cap.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/firestarter-cap.png new file mode 100644 index 0000000000000000000000000000000000000000..7a792702b1a22588ac3e8ff1b953010654f11862 GIT binary patch literal 461 zcmV;;0W$uHP))-H9L8)bTY7KTO6GHU&8zpmpWgR7?|s3+;lEQRvuJc?!OS;5KQS!4 zpYVdwnFX`1zLo~n3&5qG1mODW23&9%g*IXnL{ zRLCsqiiDUPoBARqBOxUKFg<4pIa zBMi|bypM1S`cq2)RCQQyL0|g;0L#jNaBwLB8$18@D2uSbvNAxxh;i?l1)x%Y%br3> z1oH8^oy?}DWCAtDI6(GJkfq=gDD+m8dX9IdH2^%?AkX`E034q@6(k}=t3Pa}BVP02 zyxV+VzjF+9P)<+ zK>qrse%~^Ixy5AxaHSO*gk9Q%WRT9Ww-!#0_ za#~{G2O=S$`L6s1r4j@xF{NaGB2Ww_*)>H0 z@OH<(30;nB|1V%qg(&w`6F!#80PLEg6oW~6Hr&zzNLi&DfP9xg`2OJYEjA`a2-Q#%n!onC%Qe0@I7$en}?3~IasF6V}_bOV`nOB-NOy8^h} z|KRZWGy-M|vb4M4vsnrNehSL~B-J+nzU2XsZMgAwL8|x=@iN=4Buf7Xe9I$Mgw^cY zDB*fIK7!pEXak6L;OnUr@%o*dBuaJ(0p4HV07$A3#uMet-a|BXfb`z_zjM1gEAaz> zX~TJML&-Kz6rkMm6L)7$#J5`m$~`~+KVhhgjr7>ZRI<2{5x_6z6=3IdQ_H0Q0000< KMNUMnLSTZgEtl&6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/hauler.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/hauler.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b50115b5d86d99856efa0a78ed17470865ee0e GIT binary patch literal 358 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEVFzR}`IEF;DCMQU+E=~{$VDP)Y z<8S@DTe|->4Vyb-dgB-`{+E=HkjRVK&76MuEaUd%tN)D+3=Cp+RSD~D3-Fzx<8Cl1 zdFO_9o5T6Jc5EPUZS{PKd+#bv8~}oXH&3M7enjVc8clwq;lOrC?o-NZ)zgdy^2*K0 z>h~|4X9SAy%&*cv++1J$IFe1fSa6e!Ly=U)_A77gnVFfrq!JPwTDo36n!UxJx#`z# zgCik6c}anu5*sG0dib`lou}y+4^PsnNddyw9A4~wvXps~(}TaR<~$p%)32N~?D`_m z&=|gbKFGZW8{%3m*^JW#m{$bx1u(VEWBxF;>d6$=#WxE~q$kNRJ-JpDQta?&?e?D8 z(&v*pCSR6FOi);C*24HjO~P_oe^VgHHw+AHHn~$?&sF&h3_k`>S3j3^P6#?fGcz*AMpv;hBoq@ z6PH6MmB3n04aCNQjgxW-vh76xoB*cLQu3L-MKpDQapPvz+mi>d4Gp_Ddi}DzuF@2U zo6z#QSX(KIzxKec5yz}P@iJ)u0NX8-?QOwe3asl_3JP9g0Nc>m?hN0APF#oQrpQm+ z1F@<*auKOCq0*gjXJOe-9Ats-`$435BmNUA0|XHL&nh1e6$;=JkYaRUF=HyU{U37MJiMtv70nS1Oane=nU_m;vFf$L}b#slQuD_HU2_)iFzKyz9cY6SFi(u&J=jYfDde_agt`mA15^I68h3I z@HGX#IiaCONH@QCLMtAHhq_Qc;T}*-d!!M`G@;Ppp-VO#^A>h>0Ibf>D3rfM^e`eV ipev&PUS{)v0Dw=~m4ZUT_`6yF0000HfxZIp=Mn?Z#F`cArq1YW3Kg#cl>xmPxg_XM158U3;uVM4 zlF$Cu!2nn)XVa!JUI2iF>JFFJ_W&HfKLF4h7@Mu8`* zr}YR&jX+1@4t(Y;D7|4P`bWU4*8TDh_+B|y-JBbUf9zSb*BayB2_vnnZuBjtcQ>+K c(8ws#7yBw@lkxwO;M1& literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/zairjah.png b/Resources/Textures/_Sunrise/Objects/Fun/mech_spraycans/ripley.rsi/zairjah.png new file mode 100644 index 0000000000000000000000000000000000000000..df9ab182c8d13163b2f52faf4c0fa4453c80b9ae GIT binary patch literal 402 zcmV;D0d4+?P)R zm4lpwwuWmkBRPe>XF0v!bbQD6z2Cj>-Nyri!7u^k#;bpszw;-lF{7Kfy0+y5H0tf| z=cx%Co}BprFRB?3k}|8acqD4E=_E$I_KSsVNK#L`1wV;IE$v*fK+ADy)Z2l$dM;B- zDY1aK1>szh`Q0M7nf{mOZ(IQ8PTR!NHXW+}D*&)m+GGFd3GndZT>yHSB#N@QmX-j3 zYVP!9zW#(B!M6N{KRJYxU<8bS)*u>(&L9#CgmX!}_<11Sa$I89wpc)W5ZN0S06Z*K z`eM@>L@mc9qK-!nqFPEpK~_)e5RPks4&oj7NLz5##a!2kdN07*qoM6N<$g5627y#N3J literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Sunrise/Objects/Specific/Mech/mecha.rsi/meta.json b/Resources/Textures/_Sunrise/Objects/Specific/Mech/mecha.rsi/meta.json deleted file mode 100644 index e80b83dd33..0000000000 --- a/Resources/Textures/_Sunrise/Objects/Specific/Mech/mecha.rsi/meta.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "copyright" : "SUNRISE", - "license" : "CLA", - "version": 1, - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "molot", - "directions": 4 - }, - { - "name": "molot-broken", - "directions": 4 - }, - { - "name": "molot-open", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - } - ] -} diff --git a/Resources/Textures/_Sunrise/Objects/Specific/Mech/sec_pod.rsi/meta.json b/Resources/Textures/_Sunrise/Objects/Specific/Mech/sec_pod.rsi/meta.json new file mode 100644 index 0000000000..4fee9929dd --- /dev/null +++ b/Resources/Textures/_Sunrise/Objects/Specific/Mech/sec_pod.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "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, + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "sec_pod", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Sunrise/Objects/Specific/Mech/sec_pod.rsi/sec_pod.png b/Resources/Textures/_Sunrise/Objects/Specific/Mech/sec_pod.rsi/sec_pod.png new file mode 100644 index 0000000000000000000000000000000000000000..6366d28acdfac0fc176e9c820276d1cb49b53dec GIT binary patch literal 5177 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 literal 0 HcmV?d00001