From b3b16ffec70844738f31a44e98ec1fdf8ab66c91 Mon Sep 17 00:00:00 2001 From: Daniela <43686351+Day-OS@users.noreply.github.com> Date: Fri, 28 Jun 2024 15:48:19 -0300 Subject: [PATCH] Complete IPC overhaul (#31) --- .../Commands/SetOutfitCommand.cs | 3 +- Content.Server/Bed/BedSystem.cs | 3 +- .../Electrocution/ElectrocutionSystem.cs | 12 +- Content.Server/Mobs/DeathgaspComponent.cs | 6 + Content.Server/Mobs/DeathgaspSystem.cs | 4 +- .../IPC/InternalEncryptionKeySpawner.cs | 39 + .../Components/BatteryDrinkerComponent.cs | 31 + .../RandomBatteryChargeComponent.cs | 26 + .../SiliconEmitSoundOnDrainedComponent.cs | 24 + .../Power/Systems/BatteryDrinkerSystem.cs | 144 ++ .../Systems/BatteryElectrocuteChargeSystem.cs | 38 + .../SiliconEmitSoundOnDrainedSystem.cs | 40 + .../Radio/IntrinsicRadioKeySystem.cs | 32 + .../BatteryDrinkerSourceComponent.cs | 27 + .../Components/SiliconDownOnDeadComponent.cs | 34 + .../Systems/SiliconChargeDeathSystem.cs | 154 ++ .../Charge/Systems/SiliconChargeSystem.cs | 211 +++ .../Silicon/Systems/SiliconMiscSystem.cs | 20 + .../Station/Systems/StationSpawningSystem.cs | 2 + .../BatterySlotRequiresLockComponent.cs | 8 + .../BatterySlotRequiresLockSystem.cs | 26 + .../BlindHealing/BlindHealingComponent.cs | 28 + .../BlindHealing/BlindHealingSystem.cs | 155 ++ .../DeadStartupButtonSystem.cs | 95 ++ .../EmitBuzzWhileDamagedSystem.cs | 63 + .../EncryptionHolderRequiresLockComponent.cs | 6 + .../EncryptionHolderRequiresLockSystem.cs | 28 + .../WeldingHealableComponent.cs | 11 + .../WeldingHealable/WeldingHealableSystem.cs | 143 ++ .../WeldingHealing/WeldingHealingComponent.cs | 46 + Content.Shared/Alert/AlertType.cs | 3 +- Content.Shared/CCVar/CCVars.cs | 8 + .../Electrocution/ElectrocutionEvents.cs | 4 +- Content.Shared/Humanoid/NamingSystem.cs | 3 + .../Humanoid/Prototypes/SpeciesPrototype.cs | 1 + Content.Shared/Lock/LockComponent.cs | 10 + Content.Shared/Lock/LockSystem.cs | 3 + .../EncryptionKeyHolderComponent.cs | 9 + .../EntitySystems/EncryptionKeySystem.cs | 8 + .../Silicon/BatteryDrinkerEvent.cs | 12 + .../Silicon/Components/SiliconComponent.cs | 99 ++ .../Silicon/Systems/SharedSiliconSystem.cs | 96 ++ .../Station/SharedStationSpawningSystem.cs | 1 + .../BlindHealing/SharedBlindHealingSystem.cs | 13 + .../DeadStartupButtonComponent.cs | 28 + .../SharedDeadStartupButtonSystem.cs | 68 + .../EmitBuzzWhileDamagedComponent.cs | 26 + .../SharedWeldingHealableSystem.cs | 14 + .../EstacaoPirata/Effects/Buzzes/buzz1.ogg | Bin 0 -> 19629 bytes .../EstacaoPirata/Effects/Buzzes/buzz2.ogg | Bin 0 -> 18281 bytes .../EstacaoPirata/Effects/Buzzes/buzz3.ogg | Bin 0 -> 24238 bytes .../EstacaoPirata/Effects/Buzzes/buzz4.ogg | Bin 0 -> 23064 bytes .../EstacaoPirata/Effects/Buzzes/buzz5.ogg | Bin 0 -> 53158 bytes .../EstacaoPirata/Effects/Buzzes/buzz6.ogg | Bin 0 -> 25454 bytes .../EstacaoPirata/Effects/Buzzes/buzz7.ogg | Bin 0 -> 38681 bytes .../EstacaoPirata/Effects/Buzzes/buzz8.ogg | Bin 0 -> 14429 bytes .../EstacaoPirata/Effects/Buzzes/buzz9.ogg | Bin 0 -> 38426 bytes .../EstacaoPirata/Effects/Silicon/startup.ogg | Bin 0 -> 17524 bytes .../EstacaoPirata/Voice/IPC/cry_robot_1.ogg | Bin 0 -> 18999 bytes .../EstacaoPirata/Voice/IPC/robot-laugh_3.ogg | Bin 0 -> 23638 bytes .../EstacaoPirata/Voice/IPC/robot-scream.ogg | Bin 0 -> 15211 bytes .../Content/Power/batteries.ftl | 1 + .../Content/Power/batteryDrinker.ftl | 2 + .../Content/Silicons/siliconChargers.ftl | 5 + .../Content/Silicons/silicons.ftl | 6 + .../Mobs/Customization/ipcAntenna.ftl | 10 + .../Mobs/Customization/ipcScreens.ftl | 39 + .../Locale/en-US/body/behavior/behavior.ftl | 3 +- Resources/Locale/en-US/emotes/emotes.ftl | 1 + .../Locale/en-US/power/batteryDrinker.ftl | 2 + .../Locale/en-US/silicons/cyberlimbs.ftl | 77 + Resources/Locale/en-US/silicons/silicons.ftl | 9 + Resources/Locale/en-US/species/namepreset.ftl | 1 + Resources/Locale/en-US/species/species.ftl | 1 + Resources/Prototypes/Body/Organs/ipc.yml | 68 - Resources/Prototypes/Body/Parts/ipc.yml | 177 --- .../Chemistry/metabolizer_types.yml | 4 - Resources/Prototypes/Damage/modifier_sets.yml | 19 +- .../Entities/Clothing/Masks/masks.yml | 14 + .../Entities/Clothing/Masks/specific.yml | 3 + .../Prototypes/Entities/Mobs/Player/ipc.yml | 26 - .../Prototypes/Entities/Mobs/Species/ipc.yml | 150 -- .../Objects/Materials/Sheets/glass.yml | 6 + .../Objects/Specific/Robotics/mmi.yml | 1 + .../Entities/Objects/Tools/cable_coils.yml | 11 + .../Entities/Objects/Tools/welders.yml | 9 + .../Entities/Structures/Power/apc.yml | 10 + .../Entities/Structures/Power/chargers.yml | 1 + .../Mobs/Customization/cyberlimbs/bishop.yml | 110 ++ .../Customization/cyberlimbs/hesphiastos.yml | 115 ++ .../Customization/cyberlimbs/morpheus.yml | 144 ++ .../Customization/cyberlimbs/shellguard.yml | 114 ++ .../cyberlimbs/wardtakahashi.yml | 94 ++ .../Mobs/Customization/cyberlimbs/xion.yml | 116 ++ .../EstacaoPirata/SoundCollections/buzzes.yml | 12 + Resources/Prototypes/Guidebook/science.yml | 1 + Resources/Prototypes/Guidebook/species.yml | 6 + .../human_inventory_template.yml | 1 + .../SimpleStation14/Alerts/alerts.yml | 19 + .../SimpleStation14/Body/Organs/ipc.yml | 72 + .../SimpleStation14/Body/Parts/ipc.yml | 186 +++ .../Body/Prototypes/ipc.yml | 30 +- .../SimpleStation14/Damage/modifier_sets.yml | 18 + .../Datasets/Names/ipc_names.yml | 1107 +++++++++++++ .../Entities/Mobs/Customization/antenna.yml | 89 ++ .../Entities/Mobs/Customization/screens.yml | 391 +++++ .../Entities/Mobs/Player/ipc.yml | 114 ++ .../Entities/Mobs/Player/silicon_base.yml | 306 ++++ .../ipc_inventory_template.yml | 59 +- .../SimpleStation14/Species/ipc.yml | 233 +++ Resources/Prototypes/Species/ipc.yml | 139 -- .../Prototypes/Voice/speech_emote_sounds.yml | 98 +- Resources/Prototypes/Voice/speech_emotes.yml | 6 + Resources/ServerInfo/Guidebook/Mobs/IPCs.xml | 52 + .../ServerInfo/Guidebook/Mobs/Species.xml | 1 + .../bishop/bishop_alt1.rsi/head.png | Bin 0 -> 1059 bytes .../bishop/bishop_alt1.rsi/meta.json | 15 + .../bishop/bishop_main.rsi/head.png | Bin 0 -> 645 bytes .../bishop/bishop_main.rsi/l_arm-primary.png | Bin 0 -> 456 bytes .../bishop_main.rsi/l_arm-secondary.png | Bin 0 -> 348 bytes .../bishop/bishop_main.rsi/l_arm-tertiary.png | Bin 0 -> 217 bytes .../bishop/bishop_main.rsi/l_foot.png | Bin 0 -> 325 bytes .../bishop/bishop_main.rsi/l_hand.png | Bin 0 -> 385 bytes .../bishop/bishop_main.rsi/l_leg-primary.png | Bin 0 -> 620 bytes .../bishop_main.rsi/l_leg-secondary.png | Bin 0 -> 478 bytes .../bishop/bishop_main.rsi/meta.json | 79 + .../bishop/bishop_main.rsi/r_arm-primary.png | Bin 0 -> 473 bytes .../bishop_main.rsi/r_arm-secondary.png | Bin 0 -> 353 bytes .../bishop/bishop_main.rsi/r_arm-tertiary.png | Bin 0 -> 219 bytes .../bishop/bishop_main.rsi/r_foot.png | Bin 0 -> 328 bytes .../bishop/bishop_main.rsi/r_hand.png | Bin 0 -> 380 bytes .../bishop/bishop_main.rsi/r_leg-primary.png | Bin 0 -> 611 bytes .../bishop_main.rsi/r_leg-secondary.png | Bin 0 -> 319 bytes .../bishop/bishop_main.rsi/torso-primary.png | Bin 0 -> 1281 bytes .../bishop_main.rsi/torso-secondary.png | Bin 0 -> 481 bytes .../bishop/bishop_monitor.rsi/head-2.png | Bin 0 -> 371 bytes .../bishop/bishop_monitor.rsi/head.png | Bin 0 -> 630 bytes .../bishop/bishop_monitor.rsi/meta.json | 19 + .../hesphiastos/hesphiastos_alt1.rsi/head.png | Bin 0 -> 994 bytes .../hesphiastos_alt1.rsi/meta.json | 15 + .../hesphiastos_main.rsi/l_arm-1.png | Bin 0 -> 487 bytes .../hesphiastos_main.rsi/l_arm-2.png | Bin 0 -> 258 bytes .../hesphiastos_main.rsi/l_foot-1.png | Bin 0 -> 390 bytes .../hesphiastos_main.rsi/l_foot-2.png | Bin 0 -> 392 bytes .../hesphiastos_main.rsi/l_hand-1.png | Bin 0 -> 379 bytes .../hesphiastos_main.rsi/l_hand-2.png | Bin 0 -> 380 bytes .../hesphiastos_main.rsi/l_leg-1.png | Bin 0 -> 535 bytes .../hesphiastos_main.rsi/l_leg-2.png | Bin 0 -> 538 bytes .../hesphiastos_main.rsi/meta.json | 83 + .../hesphiastos_main.rsi/r_arm-1.png | Bin 0 -> 491 bytes .../hesphiastos_main.rsi/r_arm-2.png | Bin 0 -> 248 bytes .../hesphiastos_main.rsi/r_foot-1.png | Bin 0 -> 390 bytes .../hesphiastos_main.rsi/r_foot-2.png | Bin 0 -> 391 bytes .../hesphiastos_main.rsi/r_hand-1.png | Bin 0 -> 382 bytes .../hesphiastos_main.rsi/r_hand-2.png | Bin 0 -> 381 bytes .../hesphiastos_main.rsi/r_leg-1.png | Bin 0 -> 536 bytes .../hesphiastos_main.rsi/r_leg-2.png | Bin 0 -> 538 bytes .../hesphiastos_main.rsi/torso-1.png | Bin 0 -> 813 bytes .../hesphiastos_main.rsi/torso-2.png | Bin 0 -> 807 bytes .../hesphiastos_monitor.rsi/head-1.png | Bin 0 -> 330 bytes .../hesphiastos_monitor.rsi/head-2.png | Bin 0 -> 565 bytes .../hesphiastos_monitor.rsi/meta.json | 19 + .../morpheus/morpheus_alt1.rsi/head.png | Bin 0 -> 871 bytes .../morpheus/morpheus_alt1.rsi/meta.json | 15 + .../morpheus/morpheus_main.rsi/head.png | Bin 0 -> 679 bytes .../morpheus/morpheus_main.rsi/l_arm.png | Bin 0 -> 594 bytes .../morpheus/morpheus_main.rsi/l_foot.png | Bin 0 -> 383 bytes .../morpheus/morpheus_main.rsi/l_hand.png | Bin 0 -> 444 bytes .../morpheus/morpheus_main.rsi/l_leg.png | Bin 0 -> 612 bytes .../morpheus/morpheus_main.rsi/meta.json | 51 + .../morpheus/morpheus_main.rsi/r_arm.png | Bin 0 -> 557 bytes .../morpheus/morpheus_main.rsi/r_foot.png | Bin 0 -> 387 bytes .../morpheus/morpheus_main.rsi/r_hand.png | Bin 0 -> 444 bytes .../morpheus/morpheus_main.rsi/r_leg.png | Bin 0 -> 611 bytes .../morpheus/morpheus_main.rsi/torso.png | Bin 0 -> 758 bytes .../shellguard/shellguard_alt1.rsi/head.png | Bin 0 -> 627 bytes .../shellguard/shellguard_alt1.rsi/meta.json | 15 + .../shellguard_main.rsi/l_arm-1.png | Bin 0 -> 453 bytes .../shellguard_main.rsi/l_arm-2.png | Bin 0 -> 455 bytes .../shellguard_main.rsi/l_foot-1.png | Bin 0 -> 359 bytes .../shellguard_main.rsi/l_foot-2.png | Bin 0 -> 359 bytes .../shellguard_main.rsi/l_hand-1.png | Bin 0 -> 365 bytes .../shellguard_main.rsi/l_hand-2.png | Bin 0 -> 363 bytes .../shellguard_main.rsi/l_leg-1.png | Bin 0 -> 475 bytes .../shellguard_main.rsi/l_leg-2.png | Bin 0 -> 459 bytes .../shellguard/shellguard_main.rsi/meta.json | 83 + .../shellguard_main.rsi/r_arm-1.png | Bin 0 -> 455 bytes .../shellguard_main.rsi/r_arm-2.png | Bin 0 -> 452 bytes .../shellguard_main.rsi/r_foot-1.png | Bin 0 -> 359 bytes .../shellguard_main.rsi/r_foot-2.png | Bin 0 -> 359 bytes .../shellguard_main.rsi/r_hand-1.png | Bin 0 -> 367 bytes .../shellguard_main.rsi/r_hand-2.png | Bin 0 -> 368 bytes .../shellguard_main.rsi/r_leg-1.png | Bin 0 -> 461 bytes .../shellguard_main.rsi/r_leg-2.png | Bin 0 -> 449 bytes .../shellguard_main.rsi/torso-1.png | Bin 0 -> 707 bytes .../shellguard_main.rsi/torso-2.png | Bin 0 -> 708 bytes .../shellguard_monitor.rsi/head-1.png | Bin 0 -> 466 bytes .../shellguard_monitor.rsi/head-2.png | Bin 0 -> 500 bytes .../shellguard_monitor.rsi/meta.json | 19 + .../wardtakahashi_alt1.rsi/head.png | Bin 0 -> 762 bytes .../wardtakahashi_alt1.rsi/meta.json | 15 + .../wardtakahashi_main.rsi/head.png | Bin 0 -> 629 bytes .../wardtakahashi_main.rsi/l_arm.png | Bin 0 -> 505 bytes .../wardtakahashi_main.rsi/l_foot.png | Bin 0 -> 340 bytes .../wardtakahashi_main.rsi/l_hand.png | Bin 0 -> 372 bytes .../wardtakahashi_main.rsi/l_leg.png | Bin 0 -> 572 bytes .../wardtakahashi_main.rsi/meta.json | 51 + .../wardtakahashi_main.rsi/r_arm.png | Bin 0 -> 507 bytes .../wardtakahashi_main.rsi/r_foot.png | Bin 0 -> 337 bytes .../wardtakahashi_main.rsi/r_hand.png | Bin 0 -> 378 bytes .../wardtakahashi_main.rsi/r_leg.png | Bin 0 -> 553 bytes .../wardtakahashi_main.rsi/torso.png | Bin 0 -> 961 bytes .../wardtakahashi_monitor.rsi/head.png | Bin 0 -> 773 bytes .../wardtakahashi_monitor.rsi/meta.json | 15 + .../cyberlimbs/xion/xion_alt1.rsi/head.png | Bin 0 -> 1014 bytes .../cyberlimbs/xion/xion_alt1.rsi/meta.json | 15 + .../cyberlimbs/xion/xion_main.rsi/l_arm-1.png | Bin 0 -> 474 bytes .../cyberlimbs/xion/xion_main.rsi/l_arm-2.png | Bin 0 -> 467 bytes .../xion/xion_main.rsi/l_foot-1.png | Bin 0 -> 370 bytes .../xion/xion_main.rsi/l_foot-2.png | Bin 0 -> 370 bytes .../xion/xion_main.rsi/l_hand-1.png | Bin 0 -> 391 bytes .../xion/xion_main.rsi/l_hand-2.png | Bin 0 -> 388 bytes .../cyberlimbs/xion/xion_main.rsi/l_leg-1.png | Bin 0 -> 537 bytes .../cyberlimbs/xion/xion_main.rsi/l_leg-2.png | Bin 0 -> 535 bytes .../cyberlimbs/xion/xion_main.rsi/meta.json | 82 + .../cyberlimbs/xion/xion_main.rsi/r_arm-1.png | Bin 0 -> 466 bytes .../cyberlimbs/xion/xion_main.rsi/r_arm-2.png | Bin 0 -> 460 bytes .../xion/xion_main.rsi/r_foot-1.png | Bin 0 -> 368 bytes .../xion/xion_main.rsi/r_foot-2.png | Bin 0 -> 367 bytes .../xion/xion_main.rsi/r_hand-1.png | Bin 0 -> 388 bytes .../xion/xion_main.rsi/r_hand-2.png | Bin 0 -> 387 bytes .../cyberlimbs/xion/xion_main.rsi/r_leg-1.png | Bin 0 -> 536 bytes .../cyberlimbs/xion/xion_main.rsi/r_leg-2.png | Bin 0 -> 533 bytes .../cyberlimbs/xion/xion_main.rsi/torso-1.png | Bin 0 -> 843 bytes .../cyberlimbs/xion/xion_main.rsi/torso-2.png | Bin 0 -> 841 bytes .../xion/xion_monitor.rsi/head-1.png | Bin 0 -> 639 bytes .../xion/xion_monitor.rsi/head-2.png | Bin 0 -> 637 bytes .../xion/xion_monitor.rsi/meta.json | 19 + .../zenghu/zenghu_main.rsi/groin.png | Bin 0 -> 395 bytes .../zenghu/zenghu_main.rsi/head.png | Bin 0 -> 805 bytes .../zenghu/zenghu_main.rsi/l_arm.png | Bin 0 -> 530 bytes .../zenghu/zenghu_main.rsi/l_foot.png | Bin 0 -> 375 bytes .../zenghu/zenghu_main.rsi/l_hand.png | Bin 0 -> 438 bytes .../zenghu/zenghu_main.rsi/l_leg.png | Bin 0 -> 480 bytes .../zenghu/zenghu_main.rsi}/meta.json | 33 +- .../zenghu/zenghu_main.rsi/r_arm.png | Bin 0 -> 535 bytes .../zenghu/zenghu_main.rsi/r_foot.png | Bin 0 -> 384 bytes .../zenghu/zenghu_main.rsi/r_hand.png | Bin 0 -> 445 bytes .../zenghu/zenghu_main.rsi/r_leg.png | Bin 0 -> 478 bytes .../zenghu/zenghu_main.rsi/torso.png | Bin 0 -> 918 bytes .../Mobs/Species/IPCs/organs.rsi/meta.json | 38 - .../Species/IPCs/organs.rsi/posibrain.png | Bin 2294 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/chest.png | Bin 659 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/full.png | Bin 553 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/head.png | Bin 529 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/l_arm.png | Bin 412 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/l_foot.png | Bin 262 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/l_hand.png | Bin 377 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/l_leg.png | Bin 287 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/r_arm.png | Bin 427 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/r_foot.png | Bin 274 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/r_hand.png | Bin 372 -> 0 bytes .../Mobs/Species/IPCs/parts.rsi/r_leg.png | Bin 285 -> 0 bytes .../Alerts/charge.rsi/charge-empty.png | Bin 0 -> 386 bytes .../Interface/Alerts/charge.rsi/charge0.png | Bin 0 -> 525 bytes .../Interface/Alerts/charge.rsi/charge1.png | Bin 0 -> 641 bytes .../Interface/Alerts/charge.rsi/charge2.png | Bin 0 -> 585 bytes .../Interface/Alerts/charge.rsi/charge3.png | Bin 0 -> 2826 bytes .../Interface/Alerts/charge.rsi/charge4.png | Bin 0 -> 603 bytes .../Interface/Alerts/charge.rsi/meta.json | 35 + .../ipc_antenna.rsi/ipc_antenna_antlers.png | Bin 0 -> 323 bytes .../ipc_antenna.rsi/ipc_antenna_crowned.png | Bin 0 -> 324 bytes .../ipc_antenna.rsi/ipc_antenna_cyberhead.png | Bin 0 -> 422 bytes .../ipc_antenna.rsi/ipc_antenna_droneeyes.png | Bin 0 -> 422 bytes .../ipc_antenna.rsi/ipc_antenna_light.png | Bin 0 -> 323 bytes .../ipc_antenna.rsi/ipc_antenna_lightb.png | Bin 0 -> 733 bytes .../ipc_antenna_sidelights.png | Bin 0 -> 420 bytes .../ipc_antenna.rsi/ipc_antenna_tesla.png | Bin 0 -> 1174 bytes .../ipc_antenna.rsi/ipc_antenna_towers.png | Bin 0 -> 353 bytes .../ipc_antenna.rsi/ipc_antenna_tv.png | Bin 0 -> 18025 bytes .../Customization/ipc_antenna.rsi/meta.json | 107 ++ .../ipc_screens.rsi/ipc_screen_blank.png | Bin 0 -> 189 bytes .../ipc_screens.rsi/ipc_screen_blue.png | Bin 0 -> 689 bytes .../ipc_screens.rsi/ipc_screen_breakout.png | Bin 0 -> 572 bytes .../ipc_screens.rsi/ipc_screen_bsod.png | Bin 0 -> 677 bytes .../ipc_screens.rsi/ipc_screen_console.png | Bin 0 -> 307 bytes .../ipc_screens.rsi/ipc_screen_ecgwave.png | Bin 0 -> 1036 bytes .../ipc_screens.rsi/ipc_screen_eight.png | Bin 0 -> 313 bytes .../ipc_screens.rsi/ipc_screen_exclaim.png | Bin 0 -> 231 bytes .../ipc_screens.rsi/ipc_screen_eyes.png | Bin 0 -> 298 bytes .../ipc_screens.rsi/ipc_screen_eyesangry.png | Bin 0 -> 317 bytes .../ipc_screens.rsi/ipc_screen_eyestall.png | Bin 0 -> 303 bytes .../ipc_screens.rsi/ipc_screen_frown.png | Bin 0 -> 208 bytes .../ipc_screens.rsi/ipc_screen_glider.png | Bin 0 -> 345 bytes .../ipc_screens.rsi/ipc_screen_goggles.png | Bin 0 -> 385 bytes .../ipc_screens.rsi/ipc_screen_heart.png | Bin 0 -> 250 bytes .../ipc_screens.rsi/ipc_screen_l.png | Bin 0 -> 190 bytes .../ipc_screens.rsi/ipc_screen_loading.png | Bin 0 -> 440 bytes .../ipc_screens.rsi/ipc_screen_monoeye.png | Bin 0 -> 288 bytes .../ipc_screens.rsi/ipc_screen_nature.png | Bin 0 -> 607 bytes .../ipc_screens.rsi/ipc_screen_orange.png | Bin 0 -> 530 bytes .../ipc_screens.rsi/ipc_screen_pink.png | Bin 0 -> 361 bytes .../ipc_screens.rsi/ipc_screen_question.png | Bin 0 -> 271 bytes .../ipc_screen_rainbowdiag.png | Bin 0 -> 573 bytes .../ipc_screen_rainbowhoriz.png | Bin 0 -> 411 bytes .../ipc_screens.rsi/ipc_screen_redtext.png | Bin 0 -> 520 bytes .../ipc_screens.rsi/ipc_screen_rgb.png | Bin 0 -> 313 bytes .../ipc_screens.rsi/ipc_screen_ring.png | Bin 0 -> 210 bytes .../ipc_screens.rsi/ipc_screen_scroll.png | Bin 0 -> 460 bytes .../ipc_screens.rsi/ipc_screen_shower.png | Bin 0 -> 743 bytes .../ipc_screens.rsi/ipc_screen_sinewave.png | Bin 0 -> 859 bytes .../ipc_screens.rsi/ipc_screen_smile.png | Bin 0 -> 204 bytes .../ipc_screens.rsi/ipc_screen_squarewave.png | Bin 0 -> 677 bytes .../ipc_screens.rsi/ipc_screen_stars.png | Bin 0 -> 786 bytes .../ipc_screens.rsi/ipc_screen_static.png | Bin 0 -> 355 bytes .../ipc_screens.rsi/ipc_screen_tetris.png | Bin 0 -> 1137 bytes .../ipc_screens.rsi/ipc_screen_textdrop.png | Bin 0 -> 962 bytes .../ipc_screens.rsi/ipc_screen_tv.png | Bin 0 -> 458 bytes .../ipc_screens.rsi/ipc_screen_windowsxp.png | Bin 0 -> 688 bytes .../ipc_screens.rsi/ipc_screen_yellow.png | Bin 0 -> 330 bytes .../Customization/ipc_screens.rsi/meta.json | 1363 +++++++++++++++++ .../Mobs/Species/IPC/organs.rsi/ears.png | Bin 0 -> 418 bytes .../Mobs/Species/IPC/organs.rsi/eyeball-l.png | Bin 0 -> 4215 bytes .../Mobs/Species/IPC/organs.rsi/eyeball-r.png | Bin 0 -> 4202 bytes .../Mobs/Species/IPC/organs.rsi/heart-off.png | Bin 0 -> 260 bytes .../Mobs/Species/IPC/organs.rsi/heart-on.png | Bin 0 -> 491 bytes .../Mobs/Species/IPC/organs.rsi/meta.json | 47 + .../Mobs/Species/IPC/organs.rsi/microcell.png | Bin 0 -> 334 bytes .../Mobs/Species/IPC/organs.rsi/tongue.png | Bin 0 -> 516 bytes .../Mobs/Species/IPC/parts.rsi/full.png | Bin 0 -> 2437 bytes .../Mobs/Species/IPC/parts.rsi/head_f.png | Bin 0 -> 885 bytes .../Mobs/Species/IPC/parts.rsi/head_m.png | Bin 0 -> 885 bytes .../Mobs/Species/IPC/parts.rsi/l_arm.png | Bin 0 -> 657 bytes .../Mobs/Species/IPC/parts.rsi/l_foot.png | Bin 0 -> 572 bytes .../Mobs/Species/IPC/parts.rsi/l_hand.png | Bin 0 -> 679 bytes .../Mobs/Species/IPC/parts.rsi/l_leg.png | Bin 0 -> 628 bytes .../Mobs/Species/IPC/parts.rsi/meta.json | 62 + .../Mobs/Species/IPC/parts.rsi/r_arm.png | Bin 0 -> 737 bytes .../Mobs/Species/IPC/parts.rsi/r_foot.png | Bin 0 -> 562 bytes .../Mobs/Species/IPC/parts.rsi/r_hand.png | Bin 0 -> 780 bytes .../Mobs/Species/IPC/parts.rsi/r_leg.png | Bin 0 -> 636 bytes .../Mobs/Species/IPC/parts.rsi/torso_f.png | Bin 0 -> 1306 bytes .../Mobs/Species/IPC/parts.rsi/torso_m.png | Bin 0 -> 1232 bytes 343 files changed, 7714 insertions(+), 735 deletions(-) create mode 100644 Content.Server/Silicons/IPC/InternalEncryptionKeySpawner.cs create mode 100644 Content.Server/SimpleStation14/Power/Components/BatteryDrinkerComponent.cs create mode 100644 Content.Server/SimpleStation14/Power/Components/RandomBatteryChargeComponent.cs create mode 100644 Content.Server/SimpleStation14/Power/Components/SiliconEmitSoundOnDrainedComponent.cs create mode 100644 Content.Server/SimpleStation14/Power/Systems/BatteryDrinkerSystem.cs create mode 100644 Content.Server/SimpleStation14/Power/Systems/BatteryElectrocuteChargeSystem.cs create mode 100644 Content.Server/SimpleStation14/Power/Systems/SiliconEmitSoundOnDrainedSystem.cs create mode 100644 Content.Server/SimpleStation14/Radio/IntrinsicRadioKeySystem.cs create mode 100644 Content.Server/SimpleStation14/Silicon/Charge/Components/BatteryDrinkerSourceComponent.cs create mode 100644 Content.Server/SimpleStation14/Silicon/Charge/Components/SiliconDownOnDeadComponent.cs create mode 100644 Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeDeathSystem.cs create mode 100644 Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeSystem.cs create mode 100644 Content.Server/SimpleStation14/Silicon/Systems/SiliconMiscSystem.cs create mode 100644 Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockComponent.cs create mode 100644 Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockSystem.cs create mode 100644 Content.Server/_EstacaoPirata/BlindHealing/BlindHealingComponent.cs create mode 100644 Content.Server/_EstacaoPirata/BlindHealing/BlindHealingSystem.cs create mode 100644 Content.Server/_EstacaoPirata/DeadStartupButtonSystem/DeadStartupButtonSystem.cs create mode 100644 Content.Server/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedSystem.cs create mode 100644 Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockComponent.cs create mode 100644 Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockSystem.cs create mode 100644 Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableComponent.cs create mode 100644 Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableSystem.cs create mode 100644 Content.Server/_EstacaoPirata/WeldingHealing/WeldingHealingComponent.cs create mode 100644 Content.Shared/SimpleStation14/Silicon/BatteryDrinkerEvent.cs create mode 100644 Content.Shared/SimpleStation14/Silicon/Components/SiliconComponent.cs create mode 100644 Content.Shared/SimpleStation14/Silicon/Systems/SharedSiliconSystem.cs create mode 100644 Content.Shared/_EstacaoPirata/BlindHealing/SharedBlindHealingSystem.cs create mode 100644 Content.Shared/_EstacaoPirata/DeadStartupButton/DeadStartupButtonComponent.cs create mode 100644 Content.Shared/_EstacaoPirata/DeadStartupButton/SharedDeadStartupButtonSystem.cs create mode 100644 Content.Shared/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedComponent.cs create mode 100644 Content.Shared/_EstacaoPirata/SIliconRepairable/SharedWeldingHealableSystem.cs create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz1.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz2.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz3.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz4.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz5.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz6.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz7.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz8.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz9.ogg create mode 100644 Resources/Audio/EstacaoPirata/Effects/Silicon/startup.ogg create mode 100644 Resources/Audio/EstacaoPirata/Voice/IPC/cry_robot_1.ogg create mode 100644 Resources/Audio/EstacaoPirata/Voice/IPC/robot-laugh_3.ogg create mode 100644 Resources/Audio/EstacaoPirata/Voice/IPC/robot-scream.ogg create mode 100644 Resources/Locale/en-US/SimpleStation14/Content/Power/batteries.ftl create mode 100644 Resources/Locale/en-US/SimpleStation14/Content/Power/batteryDrinker.ftl create mode 100644 Resources/Locale/en-US/SimpleStation14/Content/Silicons/siliconChargers.ftl create mode 100644 Resources/Locale/en-US/SimpleStation14/Content/Silicons/silicons.ftl create mode 100644 Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcAntenna.ftl create mode 100644 Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcScreens.ftl create mode 100644 Resources/Locale/en-US/power/batteryDrinker.ftl create mode 100644 Resources/Locale/en-US/silicons/cyberlimbs.ftl create mode 100644 Resources/Locale/en-US/silicons/silicons.ftl delete mode 100644 Resources/Prototypes/Body/Organs/ipc.yml delete mode 100644 Resources/Prototypes/Body/Parts/ipc.yml delete mode 100644 Resources/Prototypes/Entities/Mobs/Player/ipc.yml delete mode 100644 Resources/Prototypes/Entities/Mobs/Species/ipc.yml create mode 100644 Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/bishop.yml create mode 100644 Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/hesphiastos.yml create mode 100644 Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/morpheus.yml create mode 100644 Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/shellguard.yml create mode 100644 Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/wardtakahashi.yml create mode 100644 Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/xion.yml create mode 100644 Resources/Prototypes/EstacaoPirata/SoundCollections/buzzes.yml create mode 100644 Resources/Prototypes/SimpleStation14/Alerts/alerts.yml create mode 100644 Resources/Prototypes/SimpleStation14/Body/Organs/ipc.yml create mode 100644 Resources/Prototypes/SimpleStation14/Body/Parts/ipc.yml rename Resources/Prototypes/{ => SimpleStation14}/Body/Prototypes/ipc.yml (65%) create mode 100644 Resources/Prototypes/SimpleStation14/Damage/modifier_sets.yml create mode 100644 Resources/Prototypes/SimpleStation14/Datasets/Names/ipc_names.yml create mode 100644 Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/antenna.yml create mode 100644 Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/screens.yml create mode 100644 Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/ipc.yml create mode 100644 Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/silicon_base.yml rename Resources/Prototypes/{ => SimpleStation14}/InventoryTemplates/ipc_inventory_template.yml (74%) create mode 100644 Resources/Prototypes/SimpleStation14/Species/ipc.yml delete mode 100644 Resources/Prototypes/Species/ipc.yml create mode 100644 Resources/ServerInfo/Guidebook/Mobs/IPCs.xml create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_arm-primary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_arm-secondary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_arm-tertiary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_leg-primary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_leg-secondary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_arm-primary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_arm-secondary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_arm-tertiary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_leg-primary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_leg-secondary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/torso-primary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/torso-secondary.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/head-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_alt1.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_alt1.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_arm-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_arm-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_foot-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_foot-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_hand-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_hand-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_leg-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_leg-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_arm-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_arm-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_foot-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_foot-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_hand-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_hand-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_leg-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_leg-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/torso-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/torso-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_monitor.rsi/head-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_monitor.rsi/head-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_monitor.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_alt1.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_alt1.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_arm.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_leg.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_arm.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_leg.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/torso.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_alt1.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_alt1.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_arm-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_arm-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_foot-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_foot-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_hand-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_hand-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_leg-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_leg-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_arm-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_arm-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_foot-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_foot-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_hand-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_hand-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_leg-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_leg-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/torso-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/torso-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi/head-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi/head-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_alt1.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_alt1.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/l_arm.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/l_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/l_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/l_leg.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_arm.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_leg.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/torso.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_monitor.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_monitor.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_arm-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_arm-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_foot-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_foot-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_hand-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_hand-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_leg-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_leg-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_arm-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_arm-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_foot-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_foot-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_hand-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_hand-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_leg-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_leg-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/torso-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/torso-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/head-1.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/head-2.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/meta.json create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/groin.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/head.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_arm.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_leg.png rename Resources/Textures/{Mobs/Species/IPCs/parts.rsi => EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi}/meta.json (53%) create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_arm.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_foot.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_hand.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_leg.png create mode 100644 Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/torso.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/organs.rsi/meta.json delete mode 100644 Resources/Textures/Mobs/Species/IPCs/organs.rsi/posibrain.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/chest.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/full.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/head.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_arm.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_foot.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_hand.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_leg.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_arm.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_foot.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_hand.png delete mode 100644 Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_leg.png create mode 100644 Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge-empty.png create mode 100644 Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge0.png create mode 100644 Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge1.png create mode 100644 Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge2.png create mode 100644 Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge3.png create mode 100644 Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge4.png create mode 100644 Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/meta.json create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_antlers.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_crowned.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_cyberhead.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_droneeyes.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_light.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_lightb.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_sidelights.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_tesla.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_towers.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_tv.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/meta.json create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_blank.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_blue.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_breakout.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_bsod.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_console.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_ecgwave.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eight.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_exclaim.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eyes.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eyesangry.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eyestall.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_frown.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_glider.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_goggles.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_heart.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_l.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_loading.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_monoeye.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_nature.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_orange.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_pink.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_question.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_rainbowdiag.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_rainbowhoriz.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_redtext.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_rgb.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_ring.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_scroll.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_shower.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_sinewave.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_smile.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_squarewave.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_stars.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_static.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_tetris.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_textdrop.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_tv.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_windowsxp.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_yellow.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/meta.json create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/ears.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/eyeball-l.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/eyeball-r.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/heart-off.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/heart-on.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/meta.json create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/microcell.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/tongue.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/full.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/head_f.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/head_m.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_arm.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_foot.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_hand.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_leg.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/meta.json create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_arm.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_foot.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_hand.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_leg.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/torso_f.png create mode 100644 Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/torso_m.png diff --git a/Content.Server/Administration/Commands/SetOutfitCommand.cs b/Content.Server/Administration/Commands/SetOutfitCommand.cs index 79e73ce3d9..f479f83564 100644 --- a/Content.Server/Administration/Commands/SetOutfitCommand.cs +++ b/Content.Server/Administration/Commands/SetOutfitCommand.cs @@ -12,6 +12,7 @@ using Robust.Shared.Console; using Robust.Shared.Player; using Robust.Shared.Prototypes; +using Content.Server.Silicons.IPC; namespace Content.Server.Administration.Commands { @@ -126,7 +127,7 @@ public static bool SetOutfit(EntityUid target, string gear, IEntityManager entit handsSystem.TryPickup(target, inhandEntity, checkActionBlocker: false, handsComp: handsComponent); } } - + InternalEncryptionKeySpawner.TryInsertEncryptionKey(target, startingGear, entityManager, profile); // Parkstation - IPC return true; } } diff --git a/Content.Server/Bed/BedSystem.cs b/Content.Server/Bed/BedSystem.cs index 131bd4b182..9e622ba6b8 100644 --- a/Content.Server/Bed/BedSystem.cs +++ b/Content.Server/Bed/BedSystem.cs @@ -12,6 +12,7 @@ using Content.Shared.Emag.Systems; using Content.Shared.Mobs.Systems; using Robust.Shared.Timing; +using Content.Shared.SimpleStation14.Silicon.Components; // Parkstation-IPCs // I shouldn't have to modify this. namespace Content.Server.Bed { @@ -65,7 +66,7 @@ public override void Update(float frameTime) foreach (var healedEntity in strapComponent.BuckledEntities) { - if (_mobStateSystem.IsDead(healedEntity)) + if (_mobStateSystem.IsDead(healedEntity) || HasComp(healedEntity)) // Parkstation-IPCs // I shouldn't have to modify this. continue; var damage = bedComponent.Damage; diff --git a/Content.Server/Electrocution/ElectrocutionSystem.cs b/Content.Server/Electrocution/ElectrocutionSystem.cs index f71f8b6974..d410c7af96 100644 --- a/Content.Server/Electrocution/ElectrocutionSystem.cs +++ b/Content.Server/Electrocution/ElectrocutionSystem.cs @@ -62,7 +62,9 @@ public sealed class ElectrocutionSystem : SharedElectrocutionSystem [ValidatePrototypeId] private const string DamageType = "Shock"; - // Multiply and shift the log scale for shock damage. + // Yes, this is absurdly small for a reason. + public const float ElectrifiedDamagePerWatt = 0.0015f; // Parkstation-IPC // This information is allowed to be public, and was needed in BatteryElectrocuteChargeSystem.cs + private const float RecursiveDamageMultiplier = 0.75f; private const float RecursiveTimeMultiplier = 0.8f; @@ -322,9 +324,9 @@ public override bool TryDoElectrocution( || !DoCommonElectrocution(uid, sourceUid, shockDamage, time, refresh, siemensCoefficient, statusEffects)) return false; - RaiseLocalEvent(uid, new ElectrocutedEvent(uid, sourceUid, siemensCoefficient), true); - return true; - } + RaiseLocalEvent(uid, new ElectrocutedEvent(uid, sourceUid, siemensCoefficient, shockDamage), true); // Parkstation-IPC + return true; + } private bool TryDoElectrocutionPowered( EntityUid uid, @@ -372,7 +374,7 @@ private bool TryDoElectrocutionPowered( electrocutionComponent.Electrocuting = uid; electrocutionComponent.Source = sourceUid; - RaiseLocalEvent(uid, new ElectrocutedEvent(uid, sourceUid, siemensCoefficient), true); + RaiseLocalEvent(uid, new ElectrocutedEvent(uid, sourceUid, siemensCoefficient, shockDamage), true); // Parkstation-IPC return true; } diff --git a/Content.Server/Mobs/DeathgaspComponent.cs b/Content.Server/Mobs/DeathgaspComponent.cs index cb1f02f0d9..554108c21b 100644 --- a/Content.Server/Mobs/DeathgaspComponent.cs +++ b/Content.Server/Mobs/DeathgaspComponent.cs @@ -15,4 +15,10 @@ public sealed partial class DeathgaspComponent : Component /// [DataField("prototype", customTypeSerializer:typeof(PrototypeIdSerializer))] public string Prototype = "DefaultDeathgasp"; + + /// + /// Makes sure that the deathgasp is only displayed if the entity went critical before dying + /// + [DataField("needsCritical")] + public bool NeedsCritical = true; } diff --git a/Content.Server/Mobs/DeathgaspSystem.cs b/Content.Server/Mobs/DeathgaspSystem.cs index c531784ea6..1591bfc860 100644 --- a/Content.Server/Mobs/DeathgaspSystem.cs +++ b/Content.Server/Mobs/DeathgaspSystem.cs @@ -21,7 +21,9 @@ public override void Initialize() private void OnMobStateChanged(EntityUid uid, DeathgaspComponent component, MobStateChangedEvent args) { // don't deathgasp if they arent going straight from crit to dead - if (args.NewMobState != MobState.Dead || args.OldMobState != MobState.Critical) + if (component.NeedsCritical && args.OldMobState != MobState.Critical) + return; + if (args.NewMobState != MobState.Dead) return; Deathgasp(uid, component); diff --git a/Content.Server/Silicons/IPC/InternalEncryptionKeySpawner.cs b/Content.Server/Silicons/IPC/InternalEncryptionKeySpawner.cs new file mode 100644 index 0000000000..4793bf8547 --- /dev/null +++ b/Content.Server/Silicons/IPC/InternalEncryptionKeySpawner.cs @@ -0,0 +1,39 @@ +using Content.Shared.Preferences; +using Content.Shared.Roles; +using Content.Shared.Radio.Components; // Parkstation-IPC +using Content.Shared.Containers; // Parkstation-IPC +using Robust.Shared.Containers; // Parkstation-IPC + + // Pretty much copied from StationSpawningSystem.SpawnStartingGear +namespace Content.Server.Silicons.IPC; +public static class InternalEncryptionKeySpawner +{ + public static void TryInsertEncryptionKey(EntityUid target, StartingGearPrototype startingGear, IEntityManager entityManager, HumanoidCharacterProfile? profile) + { + if (entityManager.TryGetComponent(target, out var keyHolderComp)) + { + var earEquipString = startingGear.GetGear("ears", profile); + var containerMan = entityManager.System(); + + if (!string.IsNullOrEmpty(earEquipString)) + { + var earEntity = entityManager.SpawnEntity(earEquipString, entityManager.GetComponent(target).Coordinates); + + if (entityManager.TryGetComponent(earEntity, out _) && // I had initially wanted this to spawn the headset, and simply move all the keys over, but the headset didn't seem to have any keys in it when spawned... + entityManager.TryGetComponent(earEntity, out var fillComp) && + fillComp.Containers.TryGetValue(EncryptionKeyHolderComponent.KeyContainerName, out var defaultKeys)) + { + containerMan.CleanContainer(keyHolderComp.KeyContainer); + + foreach (var key in defaultKeys) + { + var keyEntity = entityManager.SpawnEntity(key, entityManager.GetComponent(target).Coordinates); + containerMan.Insert(keyEntity, keyHolderComp.KeyContainer, force: true); + } + } + + entityManager.QueueDeleteEntity(earEntity); + } + } + } +} diff --git a/Content.Server/SimpleStation14/Power/Components/BatteryDrinkerComponent.cs b/Content.Server/SimpleStation14/Power/Components/BatteryDrinkerComponent.cs new file mode 100644 index 0000000000..db758ddf63 --- /dev/null +++ b/Content.Server/SimpleStation14/Power/Components/BatteryDrinkerComponent.cs @@ -0,0 +1,31 @@ +namespace Content.Server.SimpleStation14.Power; + +[RegisterComponent] +public sealed partial class BatteryDrinkerComponent : Component +{ + /// + /// Is this drinker allowed to drink batteries not tagged as ? + /// + [DataField("drinkAll"), ViewVariables(VVAccess.ReadWrite)] + public bool DrinkAll = false; + + /// + /// How long it takes to drink from a battery, in seconds. + /// Is multiplied by the source. + /// + [DataField("drinkSpeed"), ViewVariables(VVAccess.ReadWrite)] + public float DrinkSpeed = 1.5f; + + /// + /// The multiplier for the amount of power to attempt to drink. + /// Default amount is 1000 + /// + [DataField("drinkMultiplier"), ViewVariables(VVAccess.ReadWrite)] + public float DrinkMultiplier = 5f; + + /// + /// The multiplier for how long it takes to drink a non-source battery, if is true. + /// + [DataField("drinkAllMultiplier"), ViewVariables(VVAccess.ReadWrite)] + public float DrinkAllMultiplier = 2.5f; +} diff --git a/Content.Server/SimpleStation14/Power/Components/RandomBatteryChargeComponent.cs b/Content.Server/SimpleStation14/Power/Components/RandomBatteryChargeComponent.cs new file mode 100644 index 0000000000..0066dbdfe9 --- /dev/null +++ b/Content.Server/SimpleStation14/Power/Components/RandomBatteryChargeComponent.cs @@ -0,0 +1,26 @@ +using System.Numerics; + +namespace Content.Server.SimpleStation14.Power.Components; + +[RegisterComponent] +public sealed partial class RandomBatteryChargeComponent : Component +{ + /// + /// The minimum and maximum max charge the battery can have. + /// + [DataField("batteryMaxMinMax")] + public Vector2 BatteryMaxMinMax = new(0.85f, 1.15f); + + /// + /// The minimum and maximum current charge the battery can have. + /// + [DataField("batteryChargeMinMax")] + public Vector2 BatteryChargeMinMax = new(1f, 1f); + + /// + /// False if the randomized charge of the battery should be a multiple of the preexisting current charge of the battery. + /// True if the randomized charge of the battery should be a multiple of the max charge of the battery post max charge randomization. + /// + [DataField("basedOnMaxCharge")] + public bool BasedOnMaxCharge = true; +} diff --git a/Content.Server/SimpleStation14/Power/Components/SiliconEmitSoundOnDrainedComponent.cs b/Content.Server/SimpleStation14/Power/Components/SiliconEmitSoundOnDrainedComponent.cs new file mode 100644 index 0000000000..1a10a981b5 --- /dev/null +++ b/Content.Server/SimpleStation14/Power/Components/SiliconEmitSoundOnDrainedComponent.cs @@ -0,0 +1,24 @@ +using System.ComponentModel.DataAnnotations; +using Robust.Shared.Audio; +using Content.Server.Sound.Components; + +namespace Content.Server.SimpleStation14.Silicon; + +/// +/// Applies a to a Silicon when its battery is drained, and removes it when it's not. +/// +[RegisterComponent] +public sealed partial class SiliconEmitSoundOnDrainedComponent : Component +{ + [DataField("sound"), Required] + public SoundSpecifier Sound = default!; + + [DataField("interval")] + public float Interval = 8f; + + [DataField("playChance")] + public float PlayChance = 1f; + + [DataField("popUp")] + public string? PopUp; +} diff --git a/Content.Server/SimpleStation14/Power/Systems/BatteryDrinkerSystem.cs b/Content.Server/SimpleStation14/Power/Systems/BatteryDrinkerSystem.cs new file mode 100644 index 0000000000..3757b19055 --- /dev/null +++ b/Content.Server/SimpleStation14/Power/Systems/BatteryDrinkerSystem.cs @@ -0,0 +1,144 @@ +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using Content.Server.Power.Components; +using Content.Shared.Containers.ItemSlots; +using Content.Shared.DoAfter; +using Content.Shared.PowerCell.Components; +using Content.Shared.SimpleStation14.Silicon; +using Content.Shared.Verbs; +using Robust.Shared.Utility; +using Content.Server.SimpleStation14.Silicon.Charge; +using Content.Server.Power.EntitySystems; +using Content.Server.Popups; +using Content.Server.PowerCell; +using Content.Shared.Popups; +using Content.Shared.SimpleStation14.Silicon.Components; +using FastAccessors; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Containers; + +namespace Content.Server.SimpleStation14.Power; + +public sealed class BatteryDrinkerSystem : EntitySystem +{ + [Dependency] private readonly ItemSlotsSystem _slots = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly BatterySystem _battery = default!; + [Dependency] private readonly SiliconChargeSystem _silicon = default!; + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly PowerCellSystem _powerCell = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(AddAltVerb); + + SubscribeLocalEvent(OnDoAfter); + } + + private void AddAltVerb(EntityUid uid, BatteryComponent batteryComponent, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract) + return; + + if (!TryComp(args.User, out var drinkerComp) || + !TestDrinkableBattery(uid, drinkerComp) || + !_silicon.TryGetSiliconBattery(args.User, out var drinkerBattery)) + return; + + AlternativeVerb verb = new() + { + Act = () => DrinkBattery(uid, args.User, drinkerComp), + Text = Loc.GetString("battery-drinker-verb-drink"), + Icon = new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")), + }; + + args.Verbs.Add(verb); + } + + private bool TestDrinkableBattery(EntityUid target, BatteryDrinkerComponent drinkerComp) + { + if (!drinkerComp.DrinkAll && !HasComp(target)) + return false; + + return true; + } + + private void DrinkBattery(EntityUid target, EntityUid user, BatteryDrinkerComponent drinkerComp) + { + var doAfterTime = drinkerComp.DrinkSpeed; + + if (TryComp(target, out var sourceComp)) + doAfterTime *= sourceComp.DrinkSpeedMulti; + else + doAfterTime *= drinkerComp.DrinkAllMultiplier; + + var args = new DoAfterArgs(EntityManager, user, doAfterTime, new BatteryDrinkerDoAfterEvent(), user, target) // TODO: Make this doafter loop, once we merge Upstream. + { + BreakOnDamage = true, + BreakOnTargetMove = true, + Broadcast = false, + DistanceThreshold = 1.35f, + RequireCanInteract = true, + CancelDuplicate = false + }; + + _doAfter.TryStartDoAfter(args); + } + + private void OnDoAfter(EntityUid uid, BatteryDrinkerComponent drinkerComp, DoAfterEvent args) + { + if (args.Cancelled || args.Target == null) + return; + + var source = args.Target.Value; + var drinker = uid; + var sourceBattery = Comp(source); + + _silicon.TryGetSiliconBattery(drinker, out var drinkerBatteryComponent); + + if (!TryComp(uid, out PowerCellSlotComponent? batterySlot)) + return; + + var container = _container.GetContainer(uid, batterySlot.CellSlotId); + var drinkerBattery = container.ContainedEntities.First(); + + TryComp(source, out var sourceComp); + + DebugTools.AssertNotNull(drinkerBattery); + + if (drinkerBattery == null) + return; + + var amountToDrink = drinkerComp.DrinkMultiplier * 1000; + + amountToDrink = MathF.Min(amountToDrink, sourceBattery.CurrentCharge); + amountToDrink = MathF.Min(amountToDrink, drinkerBatteryComponent!.MaxCharge - drinkerBatteryComponent.CurrentCharge); + + if (sourceComp != null && sourceComp.MaxAmount > 0) + amountToDrink = MathF.Min(amountToDrink, (float) sourceComp.MaxAmount); + + if (amountToDrink <= 0) + { + _popup.PopupEntity(Loc.GetString("battery-drinker-empty", ("target", source)), drinker, drinker); + return; + } + + if (_battery.TryUseCharge(source, amountToDrink)) + _battery.SetCharge(drinkerBattery, drinkerBatteryComponent.CurrentCharge + amountToDrink, drinkerBatteryComponent); + else + { + _battery.SetCharge(drinkerBattery, sourceBattery.CurrentCharge + drinkerBatteryComponent.CurrentCharge, drinkerBatteryComponent); + _battery.SetCharge(source, 0); + } + + if (sourceComp != null && sourceComp.DrinkSound != null){ + _popup.PopupEntity(Loc.GetString("ipc-recharge-tip"), drinker, drinker, PopupType.SmallCaution); + _audio.PlayPvs(sourceComp.DrinkSound, source); + Spawn("EffectSparks", Transform(source).Coordinates); + } + } +} diff --git a/Content.Server/SimpleStation14/Power/Systems/BatteryElectrocuteChargeSystem.cs b/Content.Server/SimpleStation14/Power/Systems/BatteryElectrocuteChargeSystem.cs new file mode 100644 index 0000000000..86238aab6c --- /dev/null +++ b/Content.Server/SimpleStation14/Power/Systems/BatteryElectrocuteChargeSystem.cs @@ -0,0 +1,38 @@ +using Content.Server.Electrocution; +using Content.Server.Popups; +using Content.Server.Power.Components; +using Content.Server.Power.EntitySystems; +using Content.Shared.Electrocution; +using Robust.Shared.Random; +using Robust.Shared.Timing; + +namespace Content.Server.SimpleStation14.Power.Systems; + +public sealed class BatteryElectrocuteChargeSystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly BatterySystem _battery = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnElectrocuted); + } + + private void OnElectrocuted(EntityUid uid, BatteryComponent battery, ElectrocutedEvent args) + { + if (args.ShockDamage == null || args.ShockDamage <= 0) + return; + + var damagePerWatt = ElectrocutionSystem.ElectrifiedDamagePerWatt * 2; + + var damage = args.ShockDamage.Value * args.SiemensCoefficient; + var charge = Math.Min(damage / damagePerWatt, battery.MaxCharge * 0.25f) * _random.NextFloat(0.75f, 1.25f); + + _battery.SetCharge(uid, battery.CurrentCharge + charge); + + _popup.PopupEntity(Loc.GetString("battery-electrocute-charge"), uid, uid); + } +} diff --git a/Content.Server/SimpleStation14/Power/Systems/SiliconEmitSoundOnDrainedSystem.cs b/Content.Server/SimpleStation14/Power/Systems/SiliconEmitSoundOnDrainedSystem.cs new file mode 100644 index 0000000000..a9a29fed37 --- /dev/null +++ b/Content.Server/SimpleStation14/Power/Systems/SiliconEmitSoundOnDrainedSystem.cs @@ -0,0 +1,40 @@ +using Content.Server.SimpleStation14.Silicon.Death; +using Content.Server.Sound.Components; +using Content.Shared.Mobs; +using Content.Shared.SimpleStation14.Silicon.Systems; + +namespace Content.Server.SimpleStation14.Silicon; + +public sealed class EmitSoundOnCritSystem : EntitySystem +{ + public override void Initialize() + { + SubscribeLocalEvent(OnDeath); + SubscribeLocalEvent(OnAlive); + SubscribeLocalEvent(OnStateChange); + } + + private void OnDeath(EntityUid uid, SiliconEmitSoundOnDrainedComponent component, SiliconChargeDeathEvent args) + { + var spamComp = EnsureComp(uid); + + spamComp.Accumulator = 0f; + spamComp.RollInterval = component.Interval; + spamComp.PlayChance = component.PlayChance; + spamComp.PopUp = component.PopUp; + spamComp.Enabled = true; + spamComp.Sound = component.Sound; + } + + private void OnAlive(EntityUid uid, SiliconEmitSoundOnDrainedComponent component, SiliconChargeAliveEvent args) + { + RemComp(uid); // This component is bad and I don't feel like making a janky work around because of it. + // If you give something the SiliconEmitSoundOnDrainedComponent, know that it can't have the SpamEmitSoundComponent, and any other systems that play with it will just be broken. + } + + public void OnStateChange(EntityUid uid, SiliconEmitSoundOnDrainedComponent component, MobStateChangedEvent args) + { + if (args.NewMobState == MobState.Dead) + RemComp(uid); + } +} diff --git a/Content.Server/SimpleStation14/Radio/IntrinsicRadioKeySystem.cs b/Content.Server/SimpleStation14/Radio/IntrinsicRadioKeySystem.cs new file mode 100644 index 0000000000..32dad9f078 --- /dev/null +++ b/Content.Server/SimpleStation14/Radio/IntrinsicRadioKeySystem.cs @@ -0,0 +1,32 @@ +using Content.Server.Radio.Components; +using Content.Shared.Radio; +using Content.Shared.Radio.Components; + +namespace Content.Server.SimpleStation14.Radio; + +public sealed class IntrinsicRadioKeySystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTransmitterChannelsChanged); + SubscribeLocalEvent(OnReceiverChannelsChanged); + } + + private void OnTransmitterChannelsChanged(EntityUid uid, IntrinsicRadioTransmitterComponent component, EncryptionChannelsChangedEvent args) + { + UpdateChannels(uid, args.Component, ref component.Channels); + } + + private void OnReceiverChannelsChanged(EntityUid uid, ActiveRadioComponent component, EncryptionChannelsChangedEvent args) + { + UpdateChannels(uid, args.Component, ref component.Channels); + } + + private void UpdateChannels(EntityUid _, EncryptionKeyHolderComponent keyHolderComp, ref HashSet channels) + { + channels.Clear(); + channels.UnionWith(keyHolderComp.Channels); + } +} diff --git a/Content.Server/SimpleStation14/Silicon/Charge/Components/BatteryDrinkerSourceComponent.cs b/Content.Server/SimpleStation14/Silicon/Charge/Components/BatteryDrinkerSourceComponent.cs new file mode 100644 index 0000000000..912d869c01 --- /dev/null +++ b/Content.Server/SimpleStation14/Silicon/Charge/Components/BatteryDrinkerSourceComponent.cs @@ -0,0 +1,27 @@ +using Robust.Shared.Audio; + +namespace Content.Server.SimpleStation14.Silicon.Charge; + +[RegisterComponent] +public sealed partial class BatteryDrinkerSourceComponent : Component +{ + /// + /// The max amount of power this source can provide in one sip. + /// No limit if null. + /// + [DataField("maxAmount"), ViewVariables(VVAccess.ReadWrite)] + public int? MaxAmount = null; + + /// + /// The multiplier for the drink speed. + /// + [DataField("drinkSpeedMulti"), ViewVariables(VVAccess.ReadWrite)] + public float DrinkSpeedMulti = 1f; + + /// + /// The sound to play when the battery gets drunk from. + /// Can be null. + /// + [DataField("drinkSound")] + public SoundSpecifier? DrinkSound = new SoundCollectionSpecifier("sparks"); +} diff --git a/Content.Server/SimpleStation14/Silicon/Charge/Components/SiliconDownOnDeadComponent.cs b/Content.Server/SimpleStation14/Silicon/Charge/Components/SiliconDownOnDeadComponent.cs new file mode 100644 index 0000000000..a3a7c3842e --- /dev/null +++ b/Content.Server/SimpleStation14/Silicon/Charge/Components/SiliconDownOnDeadComponent.cs @@ -0,0 +1,34 @@ +using System.Threading; + +namespace Content.Server.SimpleStation14.Silicon.Death; + +/// +/// Marks a Silicon as becoming incapacitated when they run out of battery charge. +/// +/// +/// Uses the Silicon System's charge states to do so, so make sure they're a battery powered Silicon. +/// +[RegisterComponent] +public sealed partial class SiliconDownOnDeadComponent : Component +{ + /// + /// Cancellation token for the silicon's wake timer. + /// + public CancellationTokenSource? WakeToken { get; set; } + + /// + /// The time it will take for a Silicon to "wake up" after leaving the Dead state, in seconds. + /// + /// + /// If not zero, the Silicon will not actually come back to life until after this much time has passed. + /// This can prevent 'flickering' between the two states. + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("deadBuffer")] + public float DeadBuffer { get; set; } = 2.5f; + + /// + /// Is this Silicon currently dead? + /// + public bool Dead { get; set; } = false; +} diff --git a/Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeDeathSystem.cs b/Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeDeathSystem.cs new file mode 100644 index 0000000000..ed183fd3ec --- /dev/null +++ b/Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeDeathSystem.cs @@ -0,0 +1,154 @@ +using Content.Server.Power.Components; +using Content.Shared.SimpleStation14.Silicon.Systems; +using Content.Server.Bed.Sleep; +using Content.Shared.Bed.Sleep; +using Content.Server.Sound.Components; +using Content.Server.SimpleStation14.Silicon.Charge; +using System.Threading; +using Content.Server.Humanoid; +using Content.Shared.Humanoid; +using Content.Shared.Humanoid.Markings; +using Robust.Shared.Utility; +using Timer = Robust.Shared.Timing.Timer; + +namespace Content.Server.SimpleStation14.Silicon.Death; + +public sealed class SiliconDeathSystem : EntitySystem +{ + [Dependency] private readonly SleepingSystem _sleep = default!; + [Dependency] private readonly SiliconChargeSystem _silicon = default!; + [Dependency] private readonly HumanoidAppearanceSystem _humanoidAppearanceSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnSiliconChargeStateUpdate); + } + + private void OnSiliconChargeStateUpdate(EntityUid uid, SiliconDownOnDeadComponent siliconDeadComp, SiliconChargeStateUpdateEvent args) + { + if (!_silicon.TryGetSiliconBattery(uid, out var batteryComp)) + { + SiliconDead(uid, siliconDeadComp, batteryComp, uid); + return; + } + + + if (args.ChargeState == ChargeState.Dead && siliconDeadComp.Dead) + { + siliconDeadComp.WakeToken?.Cancel(); + return; + } + + if (args.ChargeState == ChargeState.Dead && !siliconDeadComp.Dead) + SiliconDead(uid, siliconDeadComp, batteryComp, uid); + else if (args.ChargeState != ChargeState.Dead && siliconDeadComp.Dead) + { + if (siliconDeadComp.DeadBuffer > 0) + { + siliconDeadComp.WakeToken?.Cancel(); // This should never matter, but better safe than loose timers. + + var wakeToken = new CancellationTokenSource(); + siliconDeadComp.WakeToken = wakeToken; + + // If battery is dead, wait the dead buffer time and then wake it up. + Timer.Spawn(TimeSpan.FromSeconds(siliconDeadComp.DeadBuffer), () => + { + if (wakeToken.IsCancellationRequested) + return; + + SiliconUnDead(uid, siliconDeadComp, batteryComp, uid); + }, wakeToken.Token); + } + else + SiliconUnDead(uid, siliconDeadComp, batteryComp, uid); + } + } + + private void SiliconDead(EntityUid uid, SiliconDownOnDeadComponent siliconDeadComp, BatteryComponent? batteryComp, EntityUid batteryUid) + { + var deadEvent = new SiliconChargeDyingEvent(uid, batteryComp, batteryUid); + RaiseLocalEvent(uid, deadEvent); + + if (deadEvent.Cancelled) + return; + + EntityManager.EnsureComponent(uid); + EntityManager.EnsureComponent(uid); + + if (TryComp(uid, out HumanoidAppearanceComponent? humanoidAppearanceComponent)) + { + var layers = HumanoidVisualLayersExtension.Sublayers(HumanoidVisualLayers.HeadSide); + _humanoidAppearanceSystem.SetLayersVisibility(uid, layers, false, true, humanoidAppearanceComponent); + } + + siliconDeadComp.Dead = true; + + RaiseLocalEvent(uid, new SiliconChargeDeathEvent(uid, batteryComp, batteryUid)); + } + + private void SiliconUnDead(EntityUid uid, SiliconDownOnDeadComponent siliconDeadComp, BatteryComponent? batteryComp, EntityUid batteryUid) + { + _sleep.TryWaking(uid, null, true); + + siliconDeadComp.Dead = false; + + RaiseLocalEvent(uid, new SiliconChargeAliveEvent(uid, batteryComp, batteryUid)); + } +} + +/// +/// A cancellable event raised when a Silicon is about to go down due to charge. +/// +/// +/// This probably shouldn't be modified unless you intend to fill the Silicon's battery, +/// as otherwise it'll just be triggered again next frame. +/// +public sealed class SiliconChargeDyingEvent : CancellableEntityEventArgs +{ + public EntityUid SiliconUid { get; } + public BatteryComponent? BatteryComp { get; } + public EntityUid BatteryUid { get; } + + public SiliconChargeDyingEvent(EntityUid siliconUid, BatteryComponent? batteryComp, EntityUid batteryUid) + { + SiliconUid = siliconUid; + BatteryComp = batteryComp; + BatteryUid = batteryUid; + } +} + +/// +/// An event raised after a Silicon has gone down due to charge. +/// +public sealed class SiliconChargeDeathEvent : EntityEventArgs +{ + public EntityUid SiliconUid { get; } + public BatteryComponent? BatteryComp { get; } + public EntityUid BatteryUid { get; } + + public SiliconChargeDeathEvent(EntityUid siliconUid, BatteryComponent? batteryComp, EntityUid batteryUid) + { + SiliconUid = siliconUid; + BatteryComp = batteryComp; + BatteryUid = batteryUid; + } +} + +/// +/// An event raised after a Silicon has reawoken due to an increase in charge. +/// +public sealed class SiliconChargeAliveEvent : EntityEventArgs +{ + public EntityUid SiliconUid { get; } + public BatteryComponent? BatteryComp { get; } + public EntityUid BatteryUid { get; } + + public SiliconChargeAliveEvent(EntityUid siliconUid, BatteryComponent? batteryComp, EntityUid batteryUid) + { + SiliconUid = siliconUid; + BatteryComp = batteryComp; + BatteryUid = batteryUid; + } +} diff --git a/Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeSystem.cs b/Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeSystem.cs new file mode 100644 index 0000000000..b2d2a18477 --- /dev/null +++ b/Content.Server/SimpleStation14/Silicon/Charge/Systems/SiliconChargeSystem.cs @@ -0,0 +1,211 @@ +using Robust.Shared.Random; +using Content.Shared.SimpleStation14.Silicon.Components; +using Content.Server.Power.Components; +using Content.Shared.Mobs.Systems; +using Content.Server.Temperature.Components; +using Content.Server.Atmos.Components; +using Content.Server.Atmos.EntitySystems; +using Content.Server.Popups; +using Content.Shared.Popups; +using Content.Shared.SimpleStation14.Silicon.Systems; +using Content.Shared.Movement.Systems; +using Content.Server.Body.Components; +using Content.Server.Power.EntitySystems; +using Robust.Shared.Containers; +using System.Diagnostics.CodeAnalysis; +using Content.Server.PowerCell; +using Robust.Shared.Timing; +using Robust.Shared.Configuration; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Utility; +using Content.Shared.CCVar; +using Content.Shared.PowerCell.Components; + +namespace Content.Server.SimpleStation14.Silicon.Charge; + +public sealed class SiliconChargeSystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly MobStateSystem _mobState = default!; + [Dependency] private readonly FlammableSystem _flammable = default!; + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly MovementSpeedModifierSystem _moveMod = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly IConfigurationManager _config = default!; + [Dependency] private readonly PowerCellSystem _powerCell = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnSiliconStartup); + } + + public bool TryGetSiliconBattery(EntityUid silicon, [NotNullWhen(true)] out BatteryComponent? batteryComp) + { + batteryComp = null; + if (!TryComp(silicon, out SiliconComponent? siliconComp)){ + //DebugTools.Assert("Entity does not contain SiliconComponent"); + return false; + } + + + // try get a battery directly on the inserted entity + if (TryComp(silicon, out batteryComp)) + return true; + + if (_powerCell.TryGetBatteryFromSlot(silicon, out batteryComp)) + return true; + + + //DebugTools.Assert("SiliconComponent does not contain Battery"); + return false; + } + + private void OnSiliconStartup(EntityUid uid, SiliconComponent component, ComponentStartup args) + { + if (!TryComp(uid, out PowerCellSlotComponent? batterySlot)) + return; + + var container = _container.GetContainer(uid, batterySlot.CellSlotId); + + if (component.EntityType.GetType() != typeof(SiliconType)) + DebugTools.Assert("SiliconComponent.EntityType is not a SiliconType enum."); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + // For each siliconComp entity with a battery component, drain their charge. + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var silicon, out var siliconComp)) + { + if (!siliconComp.BatteryPowered) + continue; + + // Check if the Silicon is an NPC, and if so, follow the delay as specified in the CVAR. + if (siliconComp.EntityType.Equals(SiliconType.Npc)) + { + var updateTime = _config.GetCVar(CCVars.SiliconNpcUpdateTime); + if (_timing.CurTime - siliconComp.LastDrainTime < TimeSpan.FromSeconds(updateTime)) + continue; + + siliconComp.LastDrainTime = _timing.CurTime; + } + + // If you can't find a battery, set the indicator and skip it. + if (!TryGetSiliconBattery(silicon, out var batteryComp)) + { + UpdateChargeState(silicon, ChargeState.Invalid, siliconComp); + continue; + } + + // If the silicon is dead, skip it. + if (_mobState.IsDead(silicon)) + continue; + + var drainRate = siliconComp.DrainPerSecond; + + // All multipliers will be subtracted by 1, and then added together, and then multiplied by the drain rate. This is then added to the base drain rate. + // This is to stop exponential increases, while still allowing for less-than-one multipliers. + var drainRateFinalAddi = 0f; + + // TODO: Devise a method of adding multis where other systems can alter the drain rate. + // Maybe use something similar to refreshmovespeedmodifiers, where it's stored in the component. + // Maybe it doesn't matter, and stuff should just use static drain? + if (!siliconComp.EntityType.Equals(SiliconType.Npc)) // Don't bother checking heat if it's an NPC. It's a waste of time, and it'd be delayed due to the update time. + drainRateFinalAddi += SiliconHeatEffects(silicon, frameTime) - 1; // This will need to be changed at some point if we allow external batteries, since the heat of the Silicon might not be applicable. + + // Ensures that the drain rate is at least 10% of normal, + // and would allow at least 4 minutes of life with a max charge, to prevent cheese. + drainRate += Math.Clamp(drainRateFinalAddi, drainRate * -0.9f, batteryComp.MaxCharge / 240); + + // Drain the battery. + _powerCell.TryUseCharge(silicon, frameTime * drainRate); + + // Figure out the current state of the Silicon. + var chargePercent = batteryComp.CurrentCharge / batteryComp.MaxCharge; + + var currentState = chargePercent switch + { + _ when chargePercent > siliconComp.ChargeThresholdMid => ChargeState.Full, + _ when chargePercent > siliconComp.ChargeThresholdLow => ChargeState.Mid, + _ when chargePercent > siliconComp.ChargeThresholdCritical => ChargeState.Low, + > 0.01f => ChargeState.Critical, + _ => ChargeState.Dead, + }; + + UpdateChargeState(silicon, currentState, siliconComp); + } + } + + /// + /// Checks if anything needs to be updated, and updates it. + /// + public void UpdateChargeState(EntityUid uid, ChargeState state, SiliconComponent component) + { + if (component.ChargeState == state) + return; + + component.ChargeState = state; + + RaiseLocalEvent(uid, new SiliconChargeStateUpdateEvent(state)); + + _moveMod.RefreshMovementSpeedModifiers(uid); + } + + private float SiliconHeatEffects(EntityUid silicon, float frameTime) + { + if (!EntityManager.TryGetComponent(silicon, out var temperComp) || + !EntityManager.TryGetComponent(silicon, out var thermalComp)) + { + return 0; + } + + var siliconComp = EntityManager.GetComponent(silicon); + + // If the Silicon is hot, drain the battery faster, if it's cold, drain it slower, capped. + var upperThresh = thermalComp.NormalBodyTemperature + thermalComp.ThermalRegulationTemperatureThreshold; + var upperThreshHalf = thermalComp.NormalBodyTemperature + thermalComp.ThermalRegulationTemperatureThreshold * 0.5f; + + // Check if the silicon is in a hot environment. + if (temperComp.CurrentTemperature > upperThreshHalf) + { + // Divide the current temp by the max comfortable temp capped to 4, then add that to the multiplier. + var hotTempMulti = Math.Min(temperComp.CurrentTemperature / upperThreshHalf, 4); + + // If the silicon is hot enough, it has a chance to catch fire. + + siliconComp.OverheatAccumulator += frameTime; + if (!(siliconComp.OverheatAccumulator >= 5)) + return hotTempMulti; + + siliconComp.OverheatAccumulator -= 5; + + if (!EntityManager.TryGetComponent(silicon, out var flamComp) + || flamComp is { OnFire: true } + || !(temperComp.CurrentTemperature > temperComp.HeatDamageThreshold)) + return hotTempMulti; + + _popup.PopupEntity(Loc.GetString("silicon-overheating"), silicon, silicon, PopupType.MediumCaution); + if (_random.Prob(Math.Clamp(temperComp.CurrentTemperature / (upperThresh * 5), 0.001f, 0.9f))) + { + //MaximumFireStacks and MinimumFireStacks doesn't exists on EE + _flammable.AdjustFireStacks(silicon, Math.Clamp(siliconComp.FireStackMultiplier, -10, 10), flamComp); + _flammable.Ignite(silicon, silicon, flamComp); + } + return hotTempMulti; + } + + // Check if the silicon is in a cold environment. + if (temperComp.CurrentTemperature < thermalComp.NormalBodyTemperature) + { + var coldTempMulti = 0.5f + temperComp.CurrentTemperature / thermalComp.NormalBodyTemperature * 0.5f; + + return coldTempMulti; + } + + return 0; + } +} diff --git a/Content.Server/SimpleStation14/Silicon/Systems/SiliconMiscSystem.cs b/Content.Server/SimpleStation14/Silicon/Systems/SiliconMiscSystem.cs new file mode 100644 index 0000000000..d331d8908e --- /dev/null +++ b/Content.Server/SimpleStation14/Silicon/Systems/SiliconMiscSystem.cs @@ -0,0 +1,20 @@ +using Content.Shared.SimpleStation14.Silicon.Components; +using Content.Shared.Bed.Sleep; + +namespace Content.Server.SimpleStation14.Silicon.Misc; + +// This entire thing is fucking stupid and I hate it. +public sealed class SiliconMiscSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnTryingToSleep); + } + + private void OnTryingToSleep(EntityUid uid, SiliconComponent component, ref TryingToSleepEvent args) + { + args.Cancelled = true; + } +} diff --git a/Content.Server/Station/Systems/StationSpawningSystem.cs b/Content.Server/Station/Systems/StationSpawningSystem.cs index b7b7192f40..ae29909f92 100644 --- a/Content.Server/Station/Systems/StationSpawningSystem.cs +++ b/Content.Server/Station/Systems/StationSpawningSystem.cs @@ -5,6 +5,7 @@ using Content.Server.Mind.Commands; using Content.Server.PDA; using Content.Server.Shuttles.Systems; +using Content.Server.Silicons.IPC; using Content.Server.Spawners.EntitySystems; using Content.Server.Spawners.Components; using Content.Server.Station.Components; @@ -182,6 +183,7 @@ public EntityUid SpawnPlayerMob( EquipStartingGear(entity.Value, startingGear, profile); if (profile != null) EquipIdCard(entity.Value, profile.Name, prototype, station); + InternalEncryptionKeySpawner.TryInsertEncryptionKey(entity.Value, startingGear, EntityManager, profile); // Parkstation - IPC } if (profile != null) diff --git a/Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockComponent.cs b/Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockComponent.cs new file mode 100644 index 0000000000..5610a9a3a1 --- /dev/null +++ b/Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockComponent.cs @@ -0,0 +1,8 @@ +namespace Content.Server.SimpleStation14.BatteryLocking; + +[RegisterComponent] +public sealed partial class BatterySlotRequiresLockComponent : Component +{ + [DataField("cellSlotId"), ViewVariables(VVAccess.ReadWrite)] + public string ItemSlot = string.Empty; +} diff --git a/Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockSystem.cs b/Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockSystem.cs new file mode 100644 index 0000000000..510ed39b4b --- /dev/null +++ b/Content.Server/_EstacaoPirata/BatteryLocking/BatterySlotRequiresLockSystem.cs @@ -0,0 +1,26 @@ +using Content.Shared.Containers.ItemSlots; +using Content.Shared.Lock; + +namespace Content.Server.SimpleStation14.BatteryLocking; + +public sealed class BatterySlotRequiresLockSystem : EntitySystem + +{ + [Dependency] private readonly ItemSlotsSystem _itemSlotsSystem = default!; + + /// + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(LockToggled); + + } + private void LockToggled(EntityUid uid, BatterySlotRequiresLockComponent component, LockToggledEvent args) + { + if (!TryComp(uid, out var lockComp) || !TryComp(uid, out var itemslots)) + return; + if (!_itemSlotsSystem.TryGetSlot(uid, component.ItemSlot, out var slot, itemslots)) + return; + _itemSlotsSystem.SetLock(uid, slot, lockComp.Locked, itemslots); + } +} diff --git a/Content.Server/_EstacaoPirata/BlindHealing/BlindHealingComponent.cs b/Content.Server/_EstacaoPirata/BlindHealing/BlindHealingComponent.cs new file mode 100644 index 0000000000..8df2dc72da --- /dev/null +++ b/Content.Server/_EstacaoPirata/BlindHealing/BlindHealingComponent.cs @@ -0,0 +1,28 @@ +using Content.Shared.Damage; +using Content.Shared.Tools; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Server._EstacaoPirata.BlindHealing +{ + [RegisterComponent] + public sealed partial class BlindHealingComponent : Component + { + [ViewVariables(VVAccess.ReadWrite)] [DataField("delay")] + public int DoAfterDelay = 3; + + /// + /// A multiplier that will be applied to the above if an entity is repairing themselves. + /// + [ViewVariables(VVAccess.ReadWrite)] [DataField("selfHealPenalty")] + public float SelfHealPenalty = 3f; + + /// + /// Whether or not an entity is allowed to repair itself. + /// + [DataField("allowSelfHeal")] + public bool AllowSelfHeal = true; + + [DataField("damageContainers", required: true)] + public List DamageContainers; + } +} diff --git a/Content.Server/_EstacaoPirata/BlindHealing/BlindHealingSystem.cs b/Content.Server/_EstacaoPirata/BlindHealing/BlindHealingSystem.cs new file mode 100644 index 0000000000..ca83b3b6e2 --- /dev/null +++ b/Content.Server/_EstacaoPirata/BlindHealing/BlindHealingSystem.cs @@ -0,0 +1,155 @@ +using Content.Server.Administration.Logs; +using Content.Server.Cargo.Components; +using Content.Server.Stack; +using Content.Shared._EstacaoPirata.BlindHealing; +using Content.Shared.Damage; +using Content.Shared.Database; +using Content.Shared.DoAfter; +using Content.Shared.Eye.Blinding.Components; +using Content.Shared.Eye.Blinding.Systems; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Events; +using Content.Shared.Popups; +using Content.Shared.Stacks; + +namespace Content.Server._EstacaoPirata.BlindHealing +{ + public sealed class BlindHealingSystem : SharedBlindHealingSystem + { + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly IAdminLogManager _adminLogger= default!; + [Dependency] private readonly BlindableSystem _blindableSystem = default!; + [Dependency] private readonly StackSystem _stackSystem = default!; + [Dependency] private readonly DamageableSystem _damageableSystem = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + + public override void Initialize() + { + SubscribeLocalEvent(OnUse); + SubscribeLocalEvent(OnInteract); + SubscribeLocalEvent(OnHealingFinished); + } + + private void OnHealingFinished(EntityUid uid, BlindHealingComponent component, HealingDoAfterEvent args) + { + Log.Info("event started!"); + + if (args.Cancelled) + return; + + if (args.Target == null) + return; + + EntityUid target = (EntityUid) args.Target; + + if(!EntityManager.TryGetComponent(target, out BlindableComponent? blindcomp)) + return; + + if (blindcomp is { EyeDamage: 0 }) + return; + + if(EntityManager.TryGetComponent(uid, out StackComponent? stackComponent)) + { + double price = 1; + if(EntityManager.TryGetComponent(uid, out StackPriceComponent? stackPrice)) + { + price = stackPrice.Price; + } + _stackSystem.SetCount(uid, (int) (_stackSystem.GetCount(uid, stackComponent) - price), stackComponent); + + } + + _blindableSystem.AdjustEyeDamage((target, blindcomp), -blindcomp!.EyeDamage); + + _adminLogger.Add(LogType.Healed, $"{ToPrettyString(args.User):user} repaired {ToPrettyString(uid):target}'s vision"); + + var str = Loc.GetString("comp-repairable-repair", + ("target", uid), + ("tool", args.Used!)); + _popup.PopupEntity(str, uid, args.User); + + } + + private bool TryHealBlindness(EntityUid uid, EntityUid user, EntityUid target, float delay) + { + var doAfterEventArgs = + new DoAfterArgs(EntityManager, user, delay, new HealingDoAfterEvent(), uid, target: target, used: uid) + { + NeedHand = true, + BreakOnUserMove = true, + BreakOnWeightlessMove = false, + }; + + _doAfter.TryStartDoAfter(doAfterEventArgs); + return true; + } + + private void OnInteract(EntityUid uid, BlindHealingComponent component, ref AfterInteractEvent args) + { + + if (args.Handled) + return; + + if(!TryComp(args.User, out DamageableComponent? damageable)) + return; + + if (damageable.DamageContainerID != null) + { + if (!component.DamageContainers.Contains(damageable.DamageContainerID)) + { + return; + } + } + + + if(!TryComp(args.User, out BlindableComponent? blindcomp)) + return; + + if (blindcomp is { EyeDamage: 0 }) + return; + + float delay = component.DoAfterDelay; + + if (args.User == args.Target) + { + if (!component.AllowSelfHeal) + return; + delay *= component.SelfHealPenalty; + } + + TryHealBlindness(uid, args.User, args.User, delay); + } + + private void OnUse(EntityUid uid, BlindHealingComponent component, ref UseInHandEvent args) + { + if (args.Handled) + return; + + if(!TryComp(args.User, out DamageableComponent? damageable)) + return; + + if (damageable.DamageContainerID != null) + { + if (!component.DamageContainers.Contains(damageable.DamageContainerID)) + { + return; + } + } + + if(!TryComp(args.User, out BlindableComponent? blindcomp)) + return; + + if (blindcomp is { EyeDamage: 0 }) + return; + + if (!component.AllowSelfHeal) + return; + + float delay = component.DoAfterDelay; + delay *= component.SelfHealPenalty; + + TryHealBlindness(uid, args.User, args.User, delay); + + } + } +} diff --git a/Content.Server/_EstacaoPirata/DeadStartupButtonSystem/DeadStartupButtonSystem.cs b/Content.Server/_EstacaoPirata/DeadStartupButtonSystem/DeadStartupButtonSystem.cs new file mode 100644 index 0000000000..67bf30db71 --- /dev/null +++ b/Content.Server/_EstacaoPirata/DeadStartupButtonSystem/DeadStartupButtonSystem.cs @@ -0,0 +1,95 @@ +using Content.Server.Chat.Systems; +using Content.Server.Lightning; +using Content.Server.Popups; +using Content.Server.PowerCell; +using Content.Server.SimpleStation14.Silicon.Charge; +using Content.Shared._EstacaoPirata.DeadStartupButton; +using Content.Shared.Audio; +using Content.Shared.Damage; +using Content.Shared.Electrocution; +using Content.Shared.Mobs; +using Content.Shared.Mobs.Components; +using Content.Shared.Mobs.Systems; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Random; + +namespace Content.Server._EstacaoPirata.DeadStartupButtonSystem; + +/// +/// This handles... +/// +public sealed class DeadStartupButtonSystem : SharedDeadStartupButtonSystem +{ + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly MobStateSystem _mobState = default!; + [Dependency] private readonly MobThresholdSystem _mobThreshold = default!; + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly IRobustRandom _robustRandom = default!; + [Dependency] private readonly LightningSystem _lightning = default!; + [Dependency] private readonly SiliconChargeSystem _siliconChargeSystem = default!; + [Dependency] private readonly PowerCellSystem _powerCell = default!; + [Dependency] private readonly ChatSystem _chatSystem = default!; + + + + + + /// + public override void Initialize() + { + SubscribeLocalEvent(OnDoAfter); + SubscribeLocalEvent(OnElectrocuted); + SubscribeLocalEvent(OnMobStateChanged); + + } + + private void OnDoAfter(EntityUid uid, DeadStartupButtonComponent comp, OnDoAfterButtonPressedEvent args) + { + if (args.Handled || args.Cancelled) + return; + + if (!TryComp(uid, out MobStateComponent? mobStateComponent) || !_mobState.IsDead(uid, mobStateComponent)) + return; + if (!TryComp(uid, out MobThresholdsComponent? mobThresholdsComponent) || !TryComp(uid, out DamageableComponent? damageable)) + return; + + var criticalThreshold = _mobThreshold.GetThresholdForState(uid, MobState.Critical, mobThresholdsComponent); + + if (damageable.TotalDamage < criticalThreshold) + { + _mobState.ChangeMobState(uid, MobState.Alive, mobStateComponent); + } + else + { + _audio.PlayPvs(comp.BuzzSound, uid, AudioHelpers.WithVariation(0.05f, _robustRandom)); + _popup.PopupEntity(Loc.GetString("dead-startup-system-reboot-failed", ("target", MetaData(uid).EntityName)), uid); + Spawn("EffectSparks", Transform(uid).Coordinates); + } + } + + //Haha funny easteregg + private void OnElectrocuted(EntityUid uid, DeadStartupButtonComponent comp, ElectrocutedEvent args) + { + if (!TryComp(uid, out MobStateComponent? mobStateComponent) || !_mobState.IsDead(uid, mobStateComponent)) + return; + + if (!_siliconChargeSystem.TryGetSiliconBattery(uid, out var bateria) || bateria.CurrentCharge <= 0) + return; + + _lightning.ShootRandomLightnings(uid, 2, 4); + _powerCell.TryUseCharge(uid, bateria.CurrentCharge); + + } + + private void OnMobStateChanged(EntityUid uid, DeadStartupButtonComponent comp, MobStateChangedEvent args) + { + + if (args.NewMobState == MobState.Alive) + { + _popup.PopupEntity(Loc.GetString("dead-startup-system-reboot-success", ("target", MetaData(uid).EntityName)), uid); + _audio.PlayPvs(comp.Sound, uid); + } + + } + +} diff --git a/Content.Server/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedSystem.cs b/Content.Server/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedSystem.cs new file mode 100644 index 0000000000..8de887f4cb --- /dev/null +++ b/Content.Server/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedSystem.cs @@ -0,0 +1,63 @@ +using Content.Server.Popups; +using Content.Shared._EstacaoPirata.EmitBuzzWhileDamaged; +using Content.Shared.Audio; +using Content.Shared.Body.Components; +using Content.Shared.Damage; +using Content.Shared.Mobs; +using Content.Shared.Mobs.Systems; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Random; +using Robust.Shared.Timing; + +namespace Content.Server._EstacaoPirata.EmitBuzzOnCrit; + +/// +/// This handles the buzzing popup and sound of a silicon based race when it is pretty damaged. +/// +public sealed class EmitBuzzWhileDamagedSystem : EntitySystem +{ + [Dependency] private readonly MobStateSystem _mobState = default!; + [Dependency] private readonly MobThresholdSystem _mobThreshold = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; + [Dependency] private readonly PopupSystem _popupSystem = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly IRobustRandom _robustRandom = default!; + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + + while (query.MoveNext(out var uid, out var emitBuzzOnCritComponent, out var body)) + { + + if (_mobState.IsDead(uid)) + continue; + if (!_mobThreshold.TryGetThresholdForState(uid, MobState.Critical, out var threshold) || + !TryComp(uid, out DamageableComponent? damageableComponent)) + continue; + + if (damageableComponent.TotalDamage < (threshold/2)) + continue; + + + emitBuzzOnCritComponent.AccumulatedFrametime += frameTime; + + if (emitBuzzOnCritComponent.AccumulatedFrametime < emitBuzzOnCritComponent.CycleDelay) + continue; + emitBuzzOnCritComponent.AccumulatedFrametime -= emitBuzzOnCritComponent.CycleDelay; + + + // start buzzing + if (_gameTiming.CurTime >= emitBuzzOnCritComponent.LastBuzzPopupTime + emitBuzzOnCritComponent.BuzzPopupCooldown) + { + emitBuzzOnCritComponent.LastBuzzPopupTime = _gameTiming.CurTime; + _popupSystem.PopupEntity(Loc.GetString("silicon-behavior-buzz"), uid); + Spawn("EffectSparks", Transform(uid).Coordinates); + _audio.PlayPvs(emitBuzzOnCritComponent.Sound, uid, AudioHelpers.WithVariation(0.05f, _robustRandom)); + } + } + } + +} diff --git a/Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockComponent.cs b/Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockComponent.cs new file mode 100644 index 0000000000..033077f133 --- /dev/null +++ b/Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockComponent.cs @@ -0,0 +1,6 @@ +namespace Content.Server.SimpleStation14.EncryptionHolderRequiresLock; + +[RegisterComponent] +public sealed partial class EncryptionHolderRequiresLockComponent : Component +{ +} diff --git a/Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockSystem.cs b/Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockSystem.cs new file mode 100644 index 0000000000..47c476c8fd --- /dev/null +++ b/Content.Server/_EstacaoPirata/EncryptionHolderRequiresLock/EncryptionHolderRequiresLockSystem.cs @@ -0,0 +1,28 @@ +using Content.Shared.Containers.ItemSlots; +using Content.Shared.Lock; +using Content.Shared.Radio.Components; +using Content.Shared.Radio.EntitySystems; + +namespace Content.Server.SimpleStation14.EncryptionHolderRequiresLock; + +public sealed class EncryptionHolderRequiresLockSystem : EntitySystem + +{ + [Dependency] private readonly ItemSlotsSystem _itemSlotsSystem = default!; + [Dependency] private readonly EncryptionKeySystem _encryptionKeySystem = default!; + + /// + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(LockToggled); + + } + private void LockToggled(EntityUid uid, EncryptionHolderRequiresLockComponent component, LockToggledEvent args) + { + if (!TryComp(uid, out var lockComp) || !TryComp(uid, out var keyHolder)) + return; + keyHolder.KeysUnlocked = !lockComp.Locked; + _encryptionKeySystem.UpdateChannels(uid, keyHolder); + } +} diff --git a/Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableComponent.cs b/Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableComponent.cs new file mode 100644 index 0000000000..93b67c0464 --- /dev/null +++ b/Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableComponent.cs @@ -0,0 +1,11 @@ +using Content.Shared.Damage; +using Content.Shared.Tools; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Server._EstacaoPirata.WeldingHealable +{ + [RegisterComponent] + public sealed partial class WeldingHealableComponent : Component + { + } +} diff --git a/Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableSystem.cs b/Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableSystem.cs new file mode 100644 index 0000000000..6f84709550 --- /dev/null +++ b/Content.Server/_EstacaoPirata/WeldingHealable/WeldingHealableSystem.cs @@ -0,0 +1,143 @@ +using System.Diagnostics; +using Content.Server._EstacaoPirata.WeldingHealing; +using Content.Server.Administration.Logs; +using Content.Server.Stack; +using Content.Server.Tools.Components; +using Content.Shared._EstacaoPirata.WeldingHealing; +using Content.Shared.Chemistry.Components; +using Content.Shared.Chemistry.Components.SolutionManager; +using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.Damage; +using Content.Shared.Database; +using Content.Shared.Eye.Blinding.Components; +using Content.Shared.Eye.Blinding.Systems; +using Content.Shared.FixedPoint; +using Content.Shared.Interaction; +using Content.Shared.Popups; +using Content.Shared.Tools; +using Content.Shared.Stacks; +using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem; + +namespace Content.Server._EstacaoPirata.WeldingHealable +{ + public sealed class WeldingHealableSystem : SharedWeldingHealableSystem + { + [Dependency] private readonly SharedToolSystem _toolSystem = default!; + [Dependency] private readonly DamageableSystem _damageableSystem = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly IAdminLogManager _adminLogger= default!; + [Dependency] private readonly SharedSolutionContainerSystem _solutionContainer= default!; + + public override void Initialize() + { + SubscribeLocalEvent(Repair); + SubscribeLocalEvent(OnRepairFinished); + } + + private void OnRepairFinished(EntityUid uid, WeldingHealableComponent healableComponentcomponent, SiliconRepairFinishedEvent args) + { + if (args.Cancelled) + return; + + if (args.Used == null) + return; + + if(!EntityManager.TryGetComponent(args.Target, out DamageableComponent? damageable)) + return; + + if(!EntityManager.TryGetComponent(args.Used, out WeldingHealingComponent? component)) + return; + + if (damageable.DamageContainerID != null) + { + if (!component.DamageContainers.Contains(damageable.DamageContainerID)) + return; + } + + var damageChanged = _damageableSystem.TryChangeDamage(uid, component.Damage, true, false, origin: args.User); + + + if (!HasDamage(damageable, component)) + return; + + if (TryComp(args.Used, out WelderComponent? welder) && + TryComp(args.Used, out SolutionContainerManagerComponent? solutionContainer)) + { + if (!_solutionContainer.ResolveSolution(((EntityUid) args.Used, solutionContainer), welder.FuelSolutionName, ref welder.FuelSolution, out var solution)) + return; + _solutionContainer.RemoveReagent(welder.FuelSolution.Value, welder.FuelReagent, component.FuelCost); + } + + var str = Loc.GetString("comp-repairable-repair", + ("target", uid), + ("tool", args.Used!)); + _popup.PopupEntity(str, uid, args.User); + + + if (args.Used.HasValue) + { + args.Handled = _toolSystem.UseTool(args.Used.Value, args.User, uid, args.Delay, component.QualityNeeded, new SiliconRepairFinishedEvent + { + Delay = args.Delay + }); + } + } + + + + private async void Repair(EntityUid uid, WeldingHealableComponent healableComponent, InteractUsingEvent args) + { + if (args.Handled) + return; + + if(!EntityManager.TryGetComponent(args.Used, out WeldingHealingComponent? component)) + return; + + if(!EntityManager.TryGetComponent(args.Target, out DamageableComponent? damageable)) + return; + + if (damageable.DamageContainerID != null) + { + if (!component.DamageContainers.Contains(damageable.DamageContainerID)) + return; + } + if (!HasDamage(damageable, component)) + return; + + if (!_toolSystem.HasQuality(args.Used, component.QualityNeeded)) + return; + + float delay = component.DoAfterDelay; + + // Add a penalty to how long it takes if the user is repairing itself + if (args.User == args.Target) + { + if (!component.AllowSelfHeal) + return; + + delay *= component.SelfHealPenalty; + } + + // Run the repairing doafter + args.Handled = _toolSystem.UseTool(args.Used, args.User, args.Target, delay, component.QualityNeeded, new SiliconRepairFinishedEvent + { + Delay = delay, + }); + + } + private bool HasDamage(DamageableComponent component, WeldingHealingComponent healable) + { + var damageableDict = component.Damage.DamageDict; + var healingDict = healable.Damage.DamageDict; + foreach (var type in healingDict) + { + if (damageableDict[type.Key].Value > 0) + { + return true; + } + } + + return false; + } + } +} diff --git a/Content.Server/_EstacaoPirata/WeldingHealing/WeldingHealingComponent.cs b/Content.Server/_EstacaoPirata/WeldingHealing/WeldingHealingComponent.cs new file mode 100644 index 0000000000..4ba298a3ff --- /dev/null +++ b/Content.Server/_EstacaoPirata/WeldingHealing/WeldingHealingComponent.cs @@ -0,0 +1,46 @@ +using Content.Shared.Damage; +using Content.Shared.Tools; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Server._EstacaoPirata.WeldingHealing +{ + [RegisterComponent] + public sealed partial class WeldingHealingComponent : Component + { + /// + /// All the damage to change information is stored in this . + /// + /// + /// If this data-field is specified, it will change damage by this amount instead of setting all damage to 0. + /// in order to heal/repair the damage values have to be negative. + /// + + [ViewVariables(VVAccess.ReadWrite)] [DataField("damage", required: true)] + public DamageSpecifier Damage; + + [ViewVariables(VVAccess.ReadWrite)] [DataField("qualityNeeded", customTypeSerializer:typeof(PrototypeIdSerializer))] + public string QualityNeeded = "Welding"; + + // The fuel amount needed to repair physical related damage + [ViewVariables(VVAccess.ReadWrite)] [DataField("fuelCost")] + public int FuelCost = 5; + + [ViewVariables(VVAccess.ReadWrite)] [DataField("delay")] + public int DoAfterDelay = 3; + + /// + /// A multiplier that will be applied to the above if an entity is repairing themselves. + /// + [ViewVariables(VVAccess.ReadWrite)] [DataField("selfHealPenalty")] + public float SelfHealPenalty = 3f; + + /// + /// Whether or not an entity is allowed to repair itself. + /// + [DataField("allowSelfHeal")] + public bool AllowSelfHeal = true; + + [DataField("damageContainers", required: true)] + public List DamageContainers; + } +} diff --git a/Content.Shared/Alert/AlertType.cs b/Content.Shared/Alert/AlertType.cs index b917dd692d..c92dced43a 100644 --- a/Content.Shared/Alert/AlertType.cs +++ b/Content.Shared/Alert/AlertType.cs @@ -52,7 +52,8 @@ public enum AlertType : byte SuitPower, BorgHealth, BorgCrit, - BorgDead + BorgDead, + Charge } } diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index de56c8be3a..6cf65f335c 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -2111,6 +2111,14 @@ public static readonly CVarDef public static readonly CVarDef ReplayAutoRecordTempDir = CVarDef.Create("replay.auto_record_temp_dir", "", CVar.SERVERONLY); + + /// + /// The amount of time between NPC Silicons draining their battery in seconds. + /// + public static readonly CVarDef SiliconNpcUpdateTime = + CVarDef.Create("silicon.npcupdatetime", 1.5f, CVar.SERVERONLY); + + /* * Miscellaneous */ diff --git a/Content.Shared/Electrocution/ElectrocutionEvents.cs b/Content.Shared/Electrocution/ElectrocutionEvents.cs index fe5753c7fb..8f87f7149b 100644 --- a/Content.Shared/Electrocution/ElectrocutionEvents.cs +++ b/Content.Shared/Electrocution/ElectrocutionEvents.cs @@ -24,12 +24,14 @@ public sealed class ElectrocutedEvent : EntityEventArgs public readonly EntityUid TargetUid; public readonly EntityUid? SourceUid; public readonly float SiemensCoefficient; + public readonly float? ShockDamage = null; // Parkstation-IPC - public ElectrocutedEvent(EntityUid targetUid, EntityUid? sourceUid, float siemensCoefficient) + public ElectrocutedEvent(EntityUid targetUid, EntityUid? sourceUid, float siemensCoefficient, float shockDamage) // Parkstation-IPC { TargetUid = targetUid; SourceUid = sourceUid; SiemensCoefficient = siemensCoefficient; + ShockDamage = shockDamage; // Parkstation-IPC } } } diff --git a/Content.Shared/Humanoid/NamingSystem.cs b/Content.Shared/Humanoid/NamingSystem.cs index d4cca026ef..c1e861c0d6 100644 --- a/Content.Shared/Humanoid/NamingSystem.cs +++ b/Content.Shared/Humanoid/NamingSystem.cs @@ -40,6 +40,9 @@ public string GetName(string species, Gender? gender = null) case SpeciesNaming.FirstDashFirst: return Loc.GetString("namepreset-firstdashfirst", ("first1", GetFirstName(speciesProto, gender)), ("first2", GetFirstName(speciesProto, gender))); + case SpeciesNaming.FirstDashLast: + return Loc.GetString("namepreset-firstdashlast", + ("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto))); case SpeciesNaming.FirstLast: default: return Loc.GetString("namepreset-firstlast", diff --git a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs index 8268d0d7c7..b215fd46c5 100644 --- a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs +++ b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs @@ -185,4 +185,5 @@ public enum SpeciesNaming : byte LastNoFirst, //End of Nyano - Summary: for Oni naming TheFirstofLast, + FirstDashLast, } diff --git a/Content.Shared/Lock/LockComponent.cs b/Content.Shared/Lock/LockComponent.cs index 5587fc2698..9ac017ba92 100644 --- a/Content.Shared/Lock/LockComponent.cs +++ b/Content.Shared/Lock/LockComponent.cs @@ -27,6 +27,14 @@ public sealed partial class LockComponent : Component [AutoNetworkedField] public bool LockOnClick; + /// + /// Whether or not the lock is toggled by simply clicking. + /// + [DataField("unlockOnClick"), ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] + public bool UnlockOnClick = true; + + /// /// The sound played when unlocked. /// @@ -52,6 +60,8 @@ public sealed partial class LockComponent : Component [AutoNetworkedField] public bool BreakOnEmag = true; + + /// /// Amount of do-after time needed to lock the entity. /// diff --git a/Content.Shared/Lock/LockSystem.cs b/Content.Shared/Lock/LockSystem.cs index 53c199e410..6926381d06 100644 --- a/Content.Shared/Lock/LockSystem.cs +++ b/Content.Shared/Lock/LockSystem.cs @@ -49,12 +49,15 @@ private void OnStartup(EntityUid uid, LockComponent lockComp, ComponentStartup a private void OnActivated(EntityUid uid, LockComponent lockComp, ActivateInWorldEvent args) { + if (args.Handled) return; // Only attempt an unlock by default on Activate if (lockComp.Locked) { + if (!lockComp.UnlockOnClick) + return; TryUnlock(uid, args.User, lockComp); args.Handled = true; } diff --git a/Content.Shared/Radio/Components/EncryptionKeyHolderComponent.cs b/Content.Shared/Radio/Components/EncryptionKeyHolderComponent.cs index bd49acf909..6197d4f999 100644 --- a/Content.Shared/Radio/Components/EncryptionKeyHolderComponent.cs +++ b/Content.Shared/Radio/Components/EncryptionKeyHolderComponent.cs @@ -42,6 +42,15 @@ public sealed partial class EncryptionKeyHolderComponent : Component public Container KeyContainer = default!; public const string KeyContainerName = "key_slots"; + // IPC-Start + /// + /// Whether or not the headset can be examined to see the encryption keys while the keys aren't accessible. + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("examineWhileLocked")] + public bool ExamineWhileLocked = true; + // IPC-End + /// /// Combined set of radio channels provided by all contained keys. /// diff --git a/Content.Shared/Radio/EntitySystems/EncryptionKeySystem.cs b/Content.Shared/Radio/EntitySystems/EncryptionKeySystem.cs index 746147eb5b..dd7f08972b 100644 --- a/Content.Shared/Radio/EntitySystems/EncryptionKeySystem.cs +++ b/Content.Shared/Radio/EntitySystems/EncryptionKeySystem.cs @@ -178,6 +178,14 @@ private void OnHolderExamined(EntityUid uid, EncryptionKeyHolderComponent compon if (!args.IsInDetailsRange) return; + // IPC-Start + if (!component.ExamineWhileLocked && !component.KeysUnlocked) + return; + + if (!component.ExamineWhileLocked && TryComp(uid, out var panel) && !panel.Open) + return; + // IPC-End + if (component.KeyContainer.ContainedEntities.Count == 0) { args.PushMarkup(Loc.GetString("encryption-keys-no-keys")); diff --git a/Content.Shared/SimpleStation14/Silicon/BatteryDrinkerEvent.cs b/Content.Shared/SimpleStation14/Silicon/BatteryDrinkerEvent.cs new file mode 100644 index 0000000000..438e6ec502 --- /dev/null +++ b/Content.Shared/SimpleStation14/Silicon/BatteryDrinkerEvent.cs @@ -0,0 +1,12 @@ +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Shared.SimpleStation14.Silicon; + +[Serializable, NetSerializable] +public sealed partial class BatteryDrinkerDoAfterEvent : SimpleDoAfterEvent +{ + public BatteryDrinkerDoAfterEvent() + { + } +} diff --git a/Content.Shared/SimpleStation14/Silicon/Components/SiliconComponent.cs b/Content.Shared/SimpleStation14/Silicon/Components/SiliconComponent.cs new file mode 100644 index 0000000000..c35c33b633 --- /dev/null +++ b/Content.Shared/SimpleStation14/Silicon/Components/SiliconComponent.cs @@ -0,0 +1,99 @@ +using Robust.Shared.GameStates; +using Content.Shared.SimpleStation14.Silicon.Systems; +using Robust.Shared.Serialization.TypeSerializers.Implementations; +using Robust.Shared.Containers; + +namespace Content.Shared.SimpleStation14.Silicon.Components; + +/// +/// Component for defining a mob as a robot. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class SiliconComponent : Component +{ + [ViewVariables(VVAccess.ReadOnly)] + public ChargeState ChargeState = ChargeState.Full; + + [ViewVariables(VVAccess.ReadOnly)] + public float OverheatAccumulator = 0.0f; + + /// + /// The last time the Silicon was drained. + /// Used for NPC Silicons to avoid over updating. + /// + /// + /// Time between drains can be specified in + /// + /// + public TimeSpan LastDrainTime = TimeSpan.Zero; + + /// + /// The Silicon's battery slot, if it has one. + /// + + /// + /// Is the Silicon currently dead? + /// + public bool Dead = false; + + // BatterySystem took issue with how this was used, so I'm coming back to it at a later date, when more foundational Silicon stuff is implemented. + // /// + // /// The entity to get the battery from. + // /// + // public EntityUid BatteryOverride? = EntityUid.Invalid; + + + /// + /// The type of silicon this is. + /// + /// + /// Any new types of Silicons should be added to the enum. + /// + [DataField("entityType", customTypeSerializer: typeof(EnumSerializer))] + public Enum EntityType = SiliconType.Npc; + + /// + /// Is this silicon battery powered? + /// + /// + /// If true, should go along with a battery component. One will not be added automatically. + /// + [DataField("batteryPowered"), ViewVariables(VVAccess.ReadWrite)] + public bool BatteryPowered = false; + + /// + /// How much power is drained by this Silicon every second by default. + /// + [DataField("drainPerSecond"), ViewVariables(VVAccess.ReadWrite)] + public float DrainPerSecond = 50f; + + + /// + /// The percentages at which the silicon will enter each state. + /// + /// + /// The Silicon will always be Full at 100%. + /// Setting a value to null will disable that state. + /// Setting Critical to 0 will cause the Silicon to never enter the dead state. + /// + [DataField("chargeThresholdMid"), ViewVariables(VVAccess.ReadWrite)] + public float? ChargeThresholdMid = 0.5f; + + /// + [DataField("chargeThresholdLow"), ViewVariables(VVAccess.ReadWrite)] + public float? ChargeThresholdLow = 0.25f; + + /// + [DataField("chargeThresholdCritical"), ViewVariables(VVAccess.ReadWrite)] + public float? ChargeThresholdCritical = 0.1f; + + + /// + /// The amount the Silicon will be slowed at each charge state. + /// + [DataField("speedModifierThresholds", required: true)] + public Dictionary SpeedModifierThresholds = default!; + + [DataField("fireStackMultiplier"), ViewVariables(VVAccess.ReadWrite)] + public float FireStackMultiplier = 1f; +} diff --git a/Content.Shared/SimpleStation14/Silicon/Systems/SharedSiliconSystem.cs b/Content.Shared/SimpleStation14/Silicon/Systems/SharedSiliconSystem.cs new file mode 100644 index 0000000000..8ddce7550b --- /dev/null +++ b/Content.Shared/SimpleStation14/Silicon/Systems/SharedSiliconSystem.cs @@ -0,0 +1,96 @@ +using Content.Shared.SimpleStation14.Silicon.Components; +using Content.Shared.Alert; +using Robust.Shared.Serialization; +using Content.Shared.Movement.Systems; + +namespace Content.Shared.SimpleStation14.Silicon.Systems; + + +public sealed class SharedSiliconChargeSystem : EntitySystem +{ + [Dependency] private readonly AlertsSystem _alertsSystem = default!; + + // Dictionary of ChargeState to Alert severity. + private static readonly Dictionary ChargeStateAlert = new() + { + {ChargeState.Full, 4}, + {ChargeState.Mid, 3}, + {ChargeState.Low, 2}, + {ChargeState.Critical, 1}, + {ChargeState.Dead, 0}, + {ChargeState.Invalid, -1}, + }; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnSiliconInit); + SubscribeLocalEvent(OnSiliconChargeStateUpdate); + SubscribeLocalEvent(OnRefreshMovespeed); + } + + private void OnSiliconInit(EntityUid uid, SiliconComponent component, ComponentInit args) + { + if (component.BatteryPowered) + _alertsSystem.ShowAlert(uid, AlertType.Charge, (short) component.ChargeState); + } + + private void OnSiliconChargeStateUpdate(EntityUid uid, SiliconComponent component, SiliconChargeStateUpdateEvent ev) + { + _alertsSystem.ShowAlert(uid, AlertType.Charge, (short) ev.ChargeState); + } + + private void OnRefreshMovespeed(EntityUid uid, SiliconComponent component, RefreshMovementSpeedModifiersEvent args) + { + if (!component.BatteryPowered) + return; + + var speedModThresholds = component.SpeedModifierThresholds; + + var closest = 0f; + + foreach (var state in speedModThresholds) + { + if (component.ChargeState >= state.Key && (float) state.Key > closest) + closest = (float) state.Key; + } + + var speedMod = speedModThresholds[(ChargeState) closest]; + + args.ModifySpeed(speedMod, speedMod); + } +} + + +public enum SiliconType +{ + Player, + GhostRole, + Npc, +} + +public enum ChargeState +{ + Invalid = -1, + Dead, + Critical, + Low, + Mid, + Full, +} + + +/// +/// Event raised when a Silicon's charge state needs to be updated. +/// +[Serializable, NetSerializable] +public sealed class SiliconChargeStateUpdateEvent : EntityEventArgs +{ + public ChargeState ChargeState { get; } + + public SiliconChargeStateUpdateEvent(ChargeState chargeState) + { + ChargeState = chargeState; + } +} diff --git a/Content.Shared/Station/SharedStationSpawningSystem.cs b/Content.Shared/Station/SharedStationSpawningSystem.cs index 8cdcff883b..8b540fef67 100644 --- a/Content.Shared/Station/SharedStationSpawningSystem.cs +++ b/Content.Shared/Station/SharedStationSpawningSystem.cs @@ -30,6 +30,7 @@ public void EquipStartingGear(EntityUid entity, StartingGearPrototype startingGe InventorySystem.TryEquip(entity, equipmentEntity, slot.Name, true, force:true); } } + } if (!TryComp(entity, out HandsComponent? handsComponent)) diff --git a/Content.Shared/_EstacaoPirata/BlindHealing/SharedBlindHealingSystem.cs b/Content.Shared/_EstacaoPirata/BlindHealing/SharedBlindHealingSystem.cs new file mode 100644 index 0000000000..fd3630493c --- /dev/null +++ b/Content.Shared/_EstacaoPirata/BlindHealing/SharedBlindHealingSystem.cs @@ -0,0 +1,13 @@ +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Shared._EstacaoPirata.BlindHealing; + +public abstract partial class SharedBlindHealingSystem : EntitySystem +{ + [Serializable, NetSerializable] + protected sealed partial class HealingDoAfterEvent : SimpleDoAfterEvent + { + } +} + diff --git a/Content.Shared/_EstacaoPirata/DeadStartupButton/DeadStartupButtonComponent.cs b/Content.Shared/_EstacaoPirata/DeadStartupButton/DeadStartupButtonComponent.cs new file mode 100644 index 0000000000..40c5457e59 --- /dev/null +++ b/Content.Shared/_EstacaoPirata/DeadStartupButton/DeadStartupButtonComponent.cs @@ -0,0 +1,28 @@ +using Robust.Shared.Audio; + +namespace Content.Shared._EstacaoPirata.DeadStartupButton; + +/// +/// This is used for... +/// +[RegisterComponent] +public sealed partial class DeadStartupButtonComponent : Component +{ + [DataField("verbText")] + public string VerbText = "dead-startup-button-verb"; + + [DataField("sound")] + public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Effects/Arcade/newgame.ogg"); + + [DataField("buttonSound")] + public SoundSpecifier ButtonSound = new SoundPathSpecifier("/Audio/Machines/button.ogg"); + + [DataField("doAfterInterval"), ViewVariables(VVAccess.ReadWrite)] + public float DoAfterInterval = 1f; + + [DataField("buzzSound")] + public SoundSpecifier BuzzSound = new SoundCollectionSpecifier("buzzes"); + + [DataField("verbPriority"), ViewVariables(VVAccess.ReadWrite)] + public int VerbPriority = 1; +} diff --git a/Content.Shared/_EstacaoPirata/DeadStartupButton/SharedDeadStartupButtonSystem.cs b/Content.Shared/_EstacaoPirata/DeadStartupButton/SharedDeadStartupButtonSystem.cs new file mode 100644 index 0000000000..6c9532507c --- /dev/null +++ b/Content.Shared/_EstacaoPirata/DeadStartupButton/SharedDeadStartupButtonSystem.cs @@ -0,0 +1,68 @@ +using Content.Shared.DoAfter; +using Content.Shared.Mobs.Components; +using Content.Shared.Mobs.Systems; +using Content.Shared.Verbs; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Network; +using Robust.Shared.Serialization; +using Robust.Shared.Utility; + +namespace Content.Shared._EstacaoPirata.DeadStartupButton; + +/// +/// This creates a Button that can be activated after an entity, usually a silicon or an IPC, died. +/// This will activate a doAfter and then revive the entity, playing a custom afterward sound. +/// +public partial class SharedDeadStartupButtonSystem : EntitySystem +{ + [Dependency] private readonly MobStateSystem _mobState = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; + [Dependency] private readonly INetManager _net = default!; + + + + + /// + public override void Initialize() + { + SubscribeLocalEvent>(AddTurnOnVerb); + } + + private void AddTurnOnVerb(EntityUid uid, DeadStartupButtonComponent component, GetVerbsEvent args) + { + if (!args.CanAccess || !args.CanInteract || args.Hands == null) + return; + + if (!TryComp(uid, out MobStateComponent? mobStateComponent) || !_mobState.IsDead(uid, mobStateComponent)) + return; + + args.Verbs.Add(new AlternativeVerb() + { + Act = () => TryStartup(args.User, uid, component), + Text = Loc.GetString(component.VerbText), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/Spare/poweronoff.svg.192dpi.png")), + Priority = component.VerbPriority + }); + } + + private void TryStartup(EntityUid user, EntityUid target, DeadStartupButtonComponent comp) + { + if (!_net.IsServer) + return; + _audio.PlayPvs(comp.ButtonSound, target); + var args = new DoAfterArgs(EntityManager, user, comp.DoAfterInterval, new OnDoAfterButtonPressedEvent(), target, target:target) + { + BreakOnDamage = true, + BreakOnUserMove = true, + }; + _doAfterSystem.TryStartDoAfter(args); + } + + [Serializable, NetSerializable] + public sealed partial class OnDoAfterButtonPressedEvent : SimpleDoAfterEvent + { + } + + +} diff --git a/Content.Shared/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedComponent.cs b/Content.Shared/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedComponent.cs new file mode 100644 index 0000000000..6e896f772c --- /dev/null +++ b/Content.Shared/_EstacaoPirata/EmitBuzzWhileDamaged/EmitBuzzWhileDamagedComponent.cs @@ -0,0 +1,26 @@ +using System.ComponentModel.DataAnnotations; +using Robust.Shared.Audio; + +namespace Content.Shared._EstacaoPirata.EmitBuzzWhileDamaged; + +/// +/// This is used for controlling the cadence of the buzzing emitted by EmitBuzzOnCritSystem. +/// This component is used by mechanical species that can get to critical health. +/// +[RegisterComponent] +public sealed partial class EmitBuzzWhileDamagedComponent : Component +{ + [DataField("buzzPopupCooldown")] + public TimeSpan BuzzPopupCooldown { get; private set; } = TimeSpan.FromSeconds(8); + + [ViewVariables] + public TimeSpan LastBuzzPopupTime; + + [DataField("cycleDelay")] + public float CycleDelay = 2.0f; + + public float AccumulatedFrametime; + + [DataField("sound")] + public SoundSpecifier Sound = new SoundCollectionSpecifier("buzzes"); +} diff --git a/Content.Shared/_EstacaoPirata/SIliconRepairable/SharedWeldingHealableSystem.cs b/Content.Shared/_EstacaoPirata/SIliconRepairable/SharedWeldingHealableSystem.cs new file mode 100644 index 0000000000..4678be365b --- /dev/null +++ b/Content.Shared/_EstacaoPirata/SIliconRepairable/SharedWeldingHealableSystem.cs @@ -0,0 +1,14 @@ +using Content.Shared.DoAfter; +using Robust.Shared.Serialization; + +namespace Content.Shared._EstacaoPirata.WeldingHealing; + +public abstract partial class SharedWeldingHealableSystem : EntitySystem +{ + [Serializable, NetSerializable] + protected sealed partial class SiliconRepairFinishedEvent : SimpleDoAfterEvent + { + public float Delay; + } +} + diff --git a/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz1.ogg b/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aa21acee3ca65e4bb10ed8798fdecc4ae27a1078 GIT binary patch literal 19629 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

fX*fH@~1Z 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz4.ogg b/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8c400abe858e5f0fe871008ee1eadbf8ca8ed61e GIT binary patch literal 23064 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.!wHYiHLzH$H0n46?e7ghV( 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

dTh!Qvki0;V43fmLN3Hgzo==;mp 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz6.ogg b/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz6.ogg new file mode 100644 index 0000000000000000000000000000000000000000..81b206c6ed6a346771216f2885d5811628ac7a07 GIT binary patch literal 25454 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 literal 0 HcmV?d00001 diff --git a/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz7.ogg b/Resources/Audio/EstacaoPirata/Effects/Buzzes/buzz7.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f58bfaa2eaaf2e150d40a7a7188a76584b075a24 GIT binary patch literal 38681 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 Ax&QzG literal 0 HcmV?d00001 diff --git a/Resources/Audio/EstacaoPirata/Effects/Silicon/startup.ogg b/Resources/Audio/EstacaoPirata/Effects/Silicon/startup.ogg new file mode 100644 index 0000000000000000000000000000000000000000..33d90e78454dd16fd43779b00cfac3f6ea589d89 GIT binary patch literal 17524 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

em|O)T%UvV+P7ay^W6SH4pWvrjy+ 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 x%W&gJ;{y&~~%nJYj literal 0 HcmV?d00001 diff --git a/Resources/Audio/EstacaoPirata/Voice/IPC/cry_robot_1.ogg b/Resources/Audio/EstacaoPirata/Voice/IPC/cry_robot_1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..78a27496a593c6b425d694335ecf0225a945f77d GIT binary patch literal 18999 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�oY_z+ssB($`OLIT;p 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 literal 0 HcmV?d00001 diff --git a/Resources/Locale/en-US/SimpleStation14/Content/Power/batteries.ftl b/Resources/Locale/en-US/SimpleStation14/Content/Power/batteries.ftl new file mode 100644 index 0000000000..15ebafae77 --- /dev/null +++ b/Resources/Locale/en-US/SimpleStation14/Content/Power/batteries.ftl @@ -0,0 +1 @@ +battery-electrocute-charge = The battery surges with energy! diff --git a/Resources/Locale/en-US/SimpleStation14/Content/Power/batteryDrinker.ftl b/Resources/Locale/en-US/SimpleStation14/Content/Power/batteryDrinker.ftl new file mode 100644 index 0000000000..950b321d40 --- /dev/null +++ b/Resources/Locale/en-US/SimpleStation14/Content/Power/batteryDrinker.ftl @@ -0,0 +1,2 @@ +battery-drinker-verb-drink = Drain +battery-drinker-empty = {CAPATALIZE(THE($target))} is already empty! diff --git a/Resources/Locale/en-US/SimpleStation14/Content/Silicons/siliconChargers.ftl b/Resources/Locale/en-US/SimpleStation14/Content/Silicons/siliconChargers.ftl new file mode 100644 index 0000000000..df6c66346c --- /dev/null +++ b/Resources/Locale/en-US/SimpleStation14/Content/Silicons/siliconChargers.ftl @@ -0,0 +1,5 @@ +silicon-charger-overheatwarning = You feel like you're in a microwave! +silicon-charger-chargerate-string = Charge rate +silicon-charger-efficiency-string = Efficiency + +silicon-charger-list-full = {CAPITALIZE(THE($charger))} can only accommodate so many targets! diff --git a/Resources/Locale/en-US/SimpleStation14/Content/Silicons/silicons.ftl b/Resources/Locale/en-US/SimpleStation14/Content/Silicons/silicons.ftl new file mode 100644 index 0000000000..4e4d1eea8f --- /dev/null +++ b/Resources/Locale/en-US/SimpleStation14/Content/Silicons/silicons.ftl @@ -0,0 +1,6 @@ +silicon-overheating = You feel your circuits overheating! +silicon-crit = Structural integrity critical! +silicon-power-low = Power low! + +alerts-charge-name = Charge +alerts-charge-desc = Your current battery level. diff --git a/Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcAntenna.ftl b/Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcAntenna.ftl new file mode 100644 index 0000000000..ec3efd9f55 --- /dev/null +++ b/Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcAntenna.ftl @@ -0,0 +1,10 @@ +marking-RobotAntennaTv = Tv +marking-RobotAntennaTesla = Tesla +marking-RobotAntennaLightb = Light (alt) +marking-RobotAntennaLight = Light +marking-RobotAntennaCyberhead = Cyberhead +marking-RobotAntennaSidelights = Sidelights +marking-RobotAntennaAntlers = Antlers +marking-RobotAntennaDroneeyes = Drone Eyes +marking-RobotAntennaCrowned = Crowned +marking-RobotAntennaTowers = Towers diff --git a/Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcScreens.ftl b/Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcScreens.ftl new file mode 100644 index 0000000000..3f53f2d3f9 --- /dev/null +++ b/Resources/Locale/en-US/SimpleStation14/Prototypes/Entities/Mobs/Customization/ipcScreens.ftl @@ -0,0 +1,39 @@ +marking-ScreenStatic = Static +marking-ScreenBlue = Blue +marking-ScreenBreakout = Breakout +marking-ScreenEight = Eight +marking-ScreenGoggles = Goggles +marking-ScreenExclaim = Exclaim +marking-ScreenHeart = Heart +marking-ScreenMonoeye = Cyclops +marking-ScreenNature = Naturalist +marking-ScreenOrange = Orange +marking-ScreenPink = Pink +marking-ScreenQuestion = Question +marking-ScreenShower = Shower +marking-ScreenYellow = Yellow +marking-ScreenScroll = Scroll +marking-ScreenConsole = Console +marking-ScreenRgb = RGB +marking-ScreenGlider = Glider +marking-ScreenRainbowhoriz = Horizontal Rainbow +marking-ScreenBsod = BSOD +marking-ScreenRedtext = Red Text +marking-ScreenSinewave = Sinewave +marking-ScreenSquarewave = Squarewave +marking-ScreenEcgwave = ECG wave +marking-ScreenEyes = Eyes +marking-ScreenEyestall = Tall Eyes +marking-ScreenEyesangry = Angry Eyes +marking-ScreenLoading = Loading... +marking-ScreenWindowsxp = Experience +marking-ScreenTetris = NT Block Game +marking-ScreenTv = Tv +marking-ScreenTextdrop = Textdrop +marking-ScreenStars = Stars +marking-ScreenRainbowdiag = Diagonal Rainbow +marking-ScreenBlank = Dead Pixel +marking-ScreenSmile = Smiley +marking-ScreenFrown = Frowny +marking-ScreenRing = Ring +marking-ScreenL = L diff --git a/Resources/Locale/en-US/body/behavior/behavior.ftl b/Resources/Locale/en-US/body/behavior/behavior.ftl index 6870fdb894..27297172f9 100644 --- a/Resources/Locale/en-US/body/behavior/behavior.ftl +++ b/Resources/Locale/en-US/body/behavior/behavior.ftl @@ -1 +1,2 @@ -lung-behavior-gasp = Gasp \ No newline at end of file +lung-behavior-gasp = Gasp +silicon-behavior-buzz = Bzzzzt... diff --git a/Resources/Locale/en-US/emotes/emotes.ftl b/Resources/Locale/en-US/emotes/emotes.ftl index 53c12312e5..16e384b58c 100644 --- a/Resources/Locale/en-US/emotes/emotes.ftl +++ b/Resources/Locale/en-US/emotes/emotes.ftl @@ -1 +1,2 @@ emote-deathgasp = seizes up and falls limp, {POSS-ADJ($entity)} eyes dead and lifeless... +silicon-emote-deathgasp =seizes up and falls limp... diff --git a/Resources/Locale/en-US/power/batteryDrinker.ftl b/Resources/Locale/en-US/power/batteryDrinker.ftl new file mode 100644 index 0000000000..35c76f8825 --- /dev/null +++ b/Resources/Locale/en-US/power/batteryDrinker.ftl @@ -0,0 +1,2 @@ +battery-drinker-verb-drink = Drain +battery-drinker-empty = {CAPATALIZE(THE($target))} is already charged! diff --git a/Resources/Locale/en-US/silicons/cyberlimbs.ftl b/Resources/Locale/en-US/silicons/cyberlimbs.ftl new file mode 100644 index 0000000000..b7686b0a2d --- /dev/null +++ b/Resources/Locale/en-US/silicons/cyberlimbs.ftl @@ -0,0 +1,77 @@ +marking-MobIPCHeadDefault = Standard Operational Monitor +marking-MobIPCTorsoDefault = Standard Robotic Chassis +marking-MobIPCTorsoFemaleDefault = Standard Robotic Chassis +marking-MobIPCLArmDefault = Standard Left Robotic Arm +marking-MobIPCLHandDefault = Standard Left Robotic Hand +marking-MobIPCLLegDefault = Standard Left Robotic Leg +marking-MobIPCLFootDefault = Standard Left Robotic Foot +marking-MobIPCRArmDefault = Standard Right Robotic Arm +marking-MobIPCRHandDefault = Standard Right Robotic Hand +marking-MobIPCRLegDefault = Standard Right Robotic Leg +marking-MobIPCRFootDefault = Standard Right Robotic Foot + +marking-CyberLimbsMarkingBishopHead = Operational Monitor from Bishop Cybernetics +marking-CyberLimbsMarkingBishopChest = Robotic Chassis from Bishop Cybernetics +marking-CyberLimbsMarkingBishopLArm = Left Robotic Arm from Bishop Cybernetics +marking-CyberLimbsMarkingBishopLHand = Left Robotic Hand from Bishop Cybernetics +marking-CyberLimbsMarkingBishopLLeg = Left Robotic Leg from Bishop Cybernetics +marking-CyberLimbsMarkingBishopLFoot = Left Robotic Foot from Bishop Cybernetics +marking-CyberLimbsMarkingBishopRArm = Right Robotic Arm from Bishop Cybernetics +marking-CyberLimbsMarkingBishopRHand = Right Robotic Hand from Bishop Cybernetics +marking-CyberLimbsMarkingBishopRLeg = Right Robotic Leg from Bishop Cybernetics +marking-CyberLimbsMarkingBishopRFoot = Right Robotic Foot from Bishop Cybernetics + +marking-CyberLimbsMarkingHesphiastosHead = Operational Monitor from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosChest = Robotic Chassis from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosLArm = Left Robotic Arm from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosLHand = Left Robotic Hand from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosLLeg = Left Robotic Leg from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosLFoot = Left Robotic Foot from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosRArm = Right Robotic Arm from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosRHand = Right Robotic Hand from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosRLeg = Right Robotic Leg from Hesphiastos Industries +marking-CyberLimbsMarkingHesphiastosRFoot = Right Robotic Foot from Hesphiastos Industries + +marking-CyberLimbsMarkingWardtakahashiHead = Operational Monitor from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiChest = Robotic Chassis from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiLArm = Left Robotic Arm from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiLHand = Left Robotic Hand from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiLLeg = Left Robotic Leg from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiLFoot = Left Robotic Foot from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiRArm = Right Robotic Arm from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiRHand = Right Robotic Hand from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiRLeg = Right Robotic Leg from Ward-Takahashi +marking-CyberLimbsMarkingWardtakahashiRFoot = Right Robotic Foot from Ward-Takahashi + +marking-CyberLimbsMarkingXionHead = Operational Monitor from Xion Manufacturing Group +marking-CyberLimbsMarkingXionChest = Robotic Chassis from Xion Manufacturing Group +marking-CyberLimbsMarkingXionLArm = Left Robotic Arm from Xion Manufacturing Group +marking-CyberLimbsMarkingXionLHand = Left Robotic Hand from Xion Manufacturing Group +marking-CyberLimbsMarkingXionLLeg = Left Robotic Leg from Xion Manufacturing Group +marking-CyberLimbsMarkingXionLFoot = Left Robotic Foot from Xion Manufacturing Group +marking-CyberLimbsMarkingXionRArm = Right Robotic Arm from Xion Manufacturing Group +marking-CyberLimbsMarkingXionRHand = Right Robotic Hand from Xion Manufacturing Group +marking-CyberLimbsMarkingXionRLeg = Right Robotic Leg from Xion Manufacturing Group +marking-CyberLimbsMarkingXionRFoot = Right Robotic Foot from Xion Manufacturing Group + +marking-CyberLimbsMarkingShellguardHead = Operational Monitor from Shellguard Munitions +marking-CyberLimbsMarkingShellguardChest = Robotic Chassis from Shellguard Munitions +marking-CyberLimbsMarkingShellguardLArm = Left Robotic Arm from Shellguard Munitions +marking-CyberLimbsMarkingShellguardLHand = Left Robotic Hand from Shellguard Munitions +marking-CyberLimbsMarkingShellguardLLeg = Left Robotic Leg from Shellguard Munitions +marking-CyberLimbsMarkingShellguardLFoot = Left Robotic Foot from Shellguard Munitions +marking-CyberLimbsMarkingShellguardRArm = Right Robotic Arm from Shellguard Munitions +marking-CyberLimbsMarkingShellguardRHand = Right Robotic Hand from Shellguard Munitions +marking-CyberLimbsMarkingShellguardRLeg = Right Robotic Leg from Shellguard Munitions +marking-CyberLimbsMarkingShellguardRFoot = Right Robotic Foot from Shellguard Munitions + +marking-CyberLimbsMarkingMorpheusHead = Operational Monitor from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusChest = Robotic Chassis from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusLArm = Left Robotic Arm from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusLHand = Left Robotic Hand from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusLLeg = Left Robotic Leg from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusLFoot = Left Robotic Foot from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusRArm = Right Robotic Arm from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusRHand = Right Robotic Hand from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusRLeg = Right Robotic Leg from Morpheus Cyberkinetics +marking-CyberLimbsMarkingMorpheusRFoot = Right Robotic Foot from Morpheus Cyberkinetics diff --git a/Resources/Locale/en-US/silicons/silicons.ftl b/Resources/Locale/en-US/silicons/silicons.ftl new file mode 100644 index 0000000000..f52a9bc355 --- /dev/null +++ b/Resources/Locale/en-US/silicons/silicons.ftl @@ -0,0 +1,9 @@ +silicon-overheating = You can feel your circuits burn! +silicon-crit = Integrated structure in critical state! +silicon-power-low = Low battery! +alerts-charge-name = Charge +alerts-charge-desc = Your current battery level. +ipc-recharge-tip = You charged a litte of your battery. +dead-startup-button-verb = Reboot +dead-startup-system-reboot-success = {$target}'s system was rebooted. +dead-startup-system-reboot-failed = {$target}'s chassis is way too damaged. diff --git a/Resources/Locale/en-US/species/namepreset.ftl b/Resources/Locale/en-US/species/namepreset.ftl index 5a42c87b78..9bf7991445 100644 --- a/Resources/Locale/en-US/species/namepreset.ftl +++ b/Resources/Locale/en-US/species/namepreset.ftl @@ -2,3 +2,4 @@ namepreset-first = {$first} namepreset-firstlast = {$first} {$last} namepreset-firstdashfirst = {$first1}-{$first2} namepreset-thefirstoflast = The {$first} of {$last} +namepreset-firstdashlast = {$first}-{$last} diff --git a/Resources/Locale/en-US/species/species.ftl b/Resources/Locale/en-US/species/species.ftl index 63cde37974..ad7c81f01b 100644 --- a/Resources/Locale/en-US/species/species.ftl +++ b/Resources/Locale/en-US/species/species.ftl @@ -10,3 +10,4 @@ species-name-arachne = Arachne species-name-moth = Nian species-name-skeleton = Skeleton species-name-vox = Vox +species-name-ipc = IPC diff --git a/Resources/Prototypes/Body/Organs/ipc.yml b/Resources/Prototypes/Body/Organs/ipc.yml deleted file mode 100644 index 1b59197460..0000000000 --- a/Resources/Prototypes/Body/Organs/ipc.yml +++ /dev/null @@ -1,68 +0,0 @@ -- type: entity - id: BaseIPCOrgan - parent: BaseItem - abstract: true - components: - - type: Sprite - netsync: false - sprite: Mobs/Species/IPCs/organs.rsi - - type: Organ - - type: Extractable - grindableSolutionName: organ - - type: SolutionContainerManager - solutions: - organ: - maxVol: 10 - reagents: - - ReagentId: Oil - Quantity: 10 - -- type: entity - id: OrganIPCCPU - parent: BaseIPCOrgan - name: integrated posibrain - description: It seems to be a machine of sorts? - noSpawn: true - components: - - type: Sprite - state: posibrain - - type: Organ - - type: Metabolizer - updateFrequency: 1.5 - maxReagents: 2 - metabolizerTypes: [IPC] - removeEmpty: true - -- type: entity - id: OrganIPCGPU - parent: BaseIPCOrgan - name: ipc gpu - description: A low-tech GPU. Albeit, it looks super expensive. It is used to render images to the posibrain. - components: - - type: Sprite - state: posibrain - - type: Organ - -- type: entity - id: OrganIPCFan - parent: BaseIPCOrgan - name: ipc fan - description: A low-tech fan that circulates air to cool down the IPC. - components: - - type: Sprite - state: posibrain - - type: Organ - - type: Lung - - type: Metabolizer - removeEmpty: true - solutionOnBody: false - solution: "Lung" - metabolizerTypes: [ Animal ] - groups: - - id: Gas - rateModifier: 100.0 - - type: SolutionContainerManager - solutions: - Lung: - maxVol: 100.0 - canReact: false diff --git a/Resources/Prototypes/Body/Parts/ipc.yml b/Resources/Prototypes/Body/Parts/ipc.yml deleted file mode 100644 index 4dd1dc2d0f..0000000000 --- a/Resources/Prototypes/Body/Parts/ipc.yml +++ /dev/null @@ -1,177 +0,0 @@ -- type: entity - id: PartIPC - parent: BaseItem - name: ipc body part - abstract: true - components: - - type: Sprite - sprite: Mobs/Species/IPCs/parts.rsi - - type: Damageable - damageContainer: Biological - - type: BodyPart - - type: ContainerContainer - containers: - bodypart: !type:Container - ents: [] - -- type: entity - id: HeadIPC - name: ipc head - parent: PartIPC - components: - - type: Sprite - state: "head" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "head" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Head - vital: true - - type: Input - context: "ghost" - sprite: Mobs/Species/IPCs/parts.rsi - - type: MovementSpeedModifier - baseWalkSpeed: 0 - baseSprintSpeed: 0 - - type: InputMover - - type: GhostOnMove - - type: Tag - tags: - - Head - -- type: entity - id: TorsoIPC - name: ipc torso - parent: PartIPC - components: - - type: Sprite - state: "chest" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "chest" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Torso - -- type: entity - id: LeftArmIPC - name: left ipc arm - parent: PartIPC - components: - - type: Sprite - state: "l_arm" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "l_arm" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Arm - symmetry: Left - -- type: entity - id: RightArmIPC - name: right ipc arm - parent: PartIPC - components: - - type: Sprite - state: "r_arm" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "r_arm" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Arm - symmetry: Right - -- type: entity - id: LeftHandIPC - name: left ipc hand - parent: PartIPC - components: - - type: Sprite - state: "l_hand" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "l_hand" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Hand - symmetry: Left - -- type: entity - id: RightHandIPC - name: right ipc hand - parent: PartIPC - components: - - type: Sprite - state: "r_hand" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "r_hand" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Hand - symmetry: Right - -- type: entity - id: LeftLegIPC - name: left ipc leg - parent: PartIPC - components: - - type: Sprite - state: "l_leg" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "l_leg" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Leg - symmetry: Left - - type: MovementBodyPart - -- type: entity - id: RightLegIPC - name: right ipc leg - parent: PartIPC - components: - - type: Sprite - state: "r_leg" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "r_leg" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Leg - symmetry: Right - - type: MovementBodyPart - -- type: entity - id: LeftFootIPC - name: left ipc foot - parent: PartIPC - components: - - type: Sprite - state: "l_foot" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "l_foot" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Foot - symmetry: Left - -- type: entity - id: RightFootIPC - name: right ipc foot - parent: PartIPC - components: - - type: Sprite - state: "r_foot" - sprite: Mobs/Species/IPCs/parts.rsi - - type: Icon - state: "r_foot" - sprite: Mobs/Species/IPCs/parts.rsi - - type: BodyPart - partType: Foot - symmetry: Right diff --git a/Resources/Prototypes/Chemistry/metabolizer_types.yml b/Resources/Prototypes/Chemistry/metabolizer_types.yml index 4987bd89c6..4d48dab992 100644 --- a/Resources/Prototypes/Chemistry/metabolizer_types.yml +++ b/Resources/Prototypes/Chemistry/metabolizer_types.yml @@ -45,10 +45,6 @@ id: Arachnid name: arachnid -- type: metabolizerType - id: IPC - name: ipc - - type: metabolizerType id: Vampiric name: vampiric diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index e1b882815c..0f4bf9a6d7 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -233,24 +233,7 @@ Asphyxiation: 0.0 Bloodloss: 0.0 Cellular: 0.0 - -# IPC -- type: damageModifierSet - id: Robotic - coefficients: - Blunt: 1.0 - Slash: 0.4 - Piercing: 1.5 - Cold: 0.0 - Heat: 2.5 - Shock: 3.0 - Poison: 0.0 - Radiation: 0.0 - Asphyxiation: 0.0 - Bloodloss: 0.0 - Cellular: 0.0 - flatReductions: - Blunt: 5 + # Represents which damage types should be modified # in relation to how they cause bleed rate. diff --git a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml index bd1f44ea6c..e380fae63c 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml @@ -196,6 +196,7 @@ - ClownMask - WhitelistChameleon - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskClownBase @@ -236,6 +237,7 @@ - type: Tag tags: - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskBase @@ -254,6 +256,7 @@ - HamsterWearable - WhitelistChameleon - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskPullableBase @@ -397,6 +400,7 @@ - type: BreathMask - type: Tag tags: + - IPCMaskWearable - HamsterWearable - WhitelistChameleon - HidesNose @@ -417,6 +421,7 @@ - type: Tag tags: - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskBase @@ -433,6 +438,7 @@ - type: Tag tags: - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskBase @@ -449,6 +455,7 @@ - type: Tag tags: - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskBase @@ -465,6 +472,7 @@ - type: Tag tags: - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskBase @@ -481,6 +489,7 @@ - type: Tag tags: - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskBase @@ -497,6 +506,7 @@ - type: Tag tags: - HidesNose + - IPCMaskWearable - type: entity parent: ClothingMaskBase @@ -513,6 +523,7 @@ - type: Tag tags: - WhitelistChameleon + - IPCMaskWearable - type: entity parent: ClothingMaskNeckGaiter @@ -599,3 +610,6 @@ - type: EyeProtection - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - IPCMaskWearable diff --git a/Resources/Prototypes/Entities/Clothing/Masks/specific.yml b/Resources/Prototypes/Entities/Clothing/Masks/specific.yml index 1e85073da9..cf797e1bd5 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/specific.yml @@ -29,3 +29,6 @@ components: - type: VoiceMasker default: ClothingMaskGas + - type: Tag + tags: + - IPCMaskWearable diff --git a/Resources/Prototypes/Entities/Mobs/Player/ipc.yml b/Resources/Prototypes/Entities/Mobs/Player/ipc.yml deleted file mode 100644 index 027932491b..0000000000 --- a/Resources/Prototypes/Entities/Mobs/Player/ipc.yml +++ /dev/null @@ -1,26 +0,0 @@ -- type: entity - save: false - name: Urist McIPC - parent: BaseMobIPC - id: MobIPC - components: - - type: CombatMode - canDisarm: true - - type: InteractionPopup - successChance: 1 - interactSuccessString: hugging-success-generic - interactSuccessSound: /Audio/Effects/thudswoosh.ogg - messagePerceivedByOthers: hugging-success-generic-others - - type: Input - context: "human" - - type: MobMover - - type: InputMover - - type: Alerts - - type: Actions - - type: Eye - - type: CameraRecoil - - type: Examiner - - type: CanHostGuardian - - type: NpcFactionMember - factions: - - NanoTrasen diff --git a/Resources/Prototypes/Entities/Mobs/Species/ipc.yml b/Resources/Prototypes/Entities/Mobs/Species/ipc.yml deleted file mode 100644 index cbb29ce3d8..0000000000 --- a/Resources/Prototypes/Entities/Mobs/Species/ipc.yml +++ /dev/null @@ -1,150 +0,0 @@ -- type: entity - save: false - name: Urist McIPC - parent: # we technically require multiple parents due to reimplementing BaseMobSpeciesOrganic but without the organics - - MobBloodstream - - MobRespirator - - MobAtmosStandard - - MobFlammable - - BaseMobSpecies - id: BaseMobIPC - abstract: true - components: - # beginregion Organic - - type: Flashable - - type: PassiveDamage # Slight passive regen. Assuming one damage type, comes out to about 4 damage a minute. - allowedStates: - - Alive - damageCap: 20 - damage: - types: - Heat: -0.07 - groups: - Brute: -0.07 - - type: StatusEffects - allowed: - - Stun - - KnockedDown - - SlowedDown - - Stutter - - SeeingRainbows - - Electrocution - - ForcedSleep - - TemporaryBlindness - - Drunk - - SlurredSpeech - - RatvarianLanguage - - PressureImmunity - - Muted - - Pacified - - StaminaModifier -# - type: NightVision - - type: ThermalRegulator - metabolismHeat: 0 - radiatedHeat: 100 - implicitHeatRegulation: 500 - sweatHeatRegulation: 2000 - shiveringHeatRegulation: 2000 - normalBodyTemperature: 313.15 - thermalRegulationTemperatureThreshold: 25 - - type: FireVisuals - alternateState: Standing - - type: DamageVisuals - damageOverlayGroups: - Brute: - sprite: Mobs/Effects/brute_damage.rsi - color: "#a76b1c" - # endregion Organic - # The important nessessities - - type: MovementSpeedModifier - - type: Body - prototype: IPC - requiredLegs: 2 - - type: HumanoidAppearance - species: IPC - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Robotic - - type: Icon - sprite: Mobs/Species/IPCs/parts.rsi - state: full - # Damage and speed - - type: Bloodstream - bloodReagent: Oil - bloodlossDamage: - types: - Heat: 0.25 - - type: Temperature - heatDamageThreshold: 452.875 # melting point of iron 1/4th, cause fuck physics you know - coldDamageThreshold: 283.15 # 10c aka "cold" causes condensation/freezing and as such shorting - currentTemperature: 313.15 - specificHeat: 46 - coldDamage: - types: - Cold: 1 - Heat: -2 - heatDamage: - types: - Heat: 2 - Cold: -1 - - type: Respirator - damage: - types: - Heat: 0.25 # no air to cool - Asphyxiation: -1 # TODO FIX DEATHGASPS - damageRecovery: - types: - Heat: -0.25 - Asphyxiation: -1 - - type: Repairable - fuelcost: 5 # cause most of the fuel is used how long its turned on for - doAfterDelay: 7 - damage: - types: - Blunt: -25 # you can't heal group damage. it doesn't work. wh y. - Slash: -25 - Piercing: -25 - Cold: -60 # you're warming them up... - Heat: 30 # another 2 minutes of downtime due to slight overheating - Asphyxiation: -200 # TODO FIX DEATHGASPS - - type: Barotrauma - damage: - types: - Heat: 0.25 # IPCs can't radiate well, they rely on air cooling - - type: SlowOnDamage - speedModifierThresholds: - 70: 0.6 - 90: 0.4 - # Misc - - type: Speech - speechSounds: IPC - - type: Vocal - sounds: - Male: UnisexIPC - Female: UnisexIPC - Unsexed: UnisexIPC - wilhelm: - path: /Audio/Voice/IPC/wilhelm.ogg - wilhelmProbability: 0.001 - - type: Inventory - templateId: ipc - - type: ZombieImmune - - type: LanguageSpeaker - speaks: - - GalacticCommon - - RobotTalk - understands: - - GalacticCommon - - RobotTalk - -- type: entity - name: Urist McIPC - parent: MobHumanDummy - id: MobIPCDummy - noSpawn: true - save: false - components: - - type: Inventory - templateId: ipc - - type: HumanoidAppearance - species: IPC diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml index 2e0eec7a65..7f78e62c0d 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml @@ -49,6 +49,12 @@ solutions: glass: canReact: false + # IPC Healing + - type: BlindHealing + damageContainers: + - Silicon + - type: StackPrice + price: 2 - type: entity parent: SheetGlassBase diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/mmi.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/mmi.yml index 308c013da4..4ad2862747 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/mmi.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/mmi.yml @@ -123,3 +123,4 @@ - type: GuideHelp guides: - Cyborgs + - type: Organ diff --git a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml index 8f9fb382f5..db602d928c 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml @@ -26,6 +26,17 @@ price: 0 - type: StackPrice price: 1 + #Same as Ointment but divided by 5 and 3 because StackPrice needs to be 1 + #1 Ointment = -50 damage of those types + #1 Cable ~= -50 (-49.8) damage of those types + - type: Healing + delay: 0.6 + damageContainers: + - Silicon + damage: + types: # these are all split across multiple types + Heat: -1.66 + Shock: -1.66 - type: entity id: CableHVStack diff --git a/Resources/Prototypes/Entities/Objects/Tools/welders.yml b/Resources/Prototypes/Entities/Objects/Tools/welders.yml index e141f35cae..8251be4433 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/welders.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/welders.yml @@ -106,6 +106,15 @@ price: 40 - type: IgnitionSource temperature: 700 + - type: WeldingHealing # Same as Brutepack + damageContainers: + - Silicon + fuelcost: 5 + damage: + types: + Blunt: -15 + Piercing: -15 + Slash: -15 - type: entity name: industrial welding tool diff --git a/Resources/Prototypes/Entities/Structures/Power/apc.yml b/Resources/Prototypes/Entities/Structures/Power/apc.yml index 7efa53e254..723237e344 100644 --- a/Resources/Prototypes/Entities/Structures/Power/apc.yml +++ b/Resources/Prototypes/Entities/Structures/Power/apc.yml @@ -141,6 +141,8 @@ priority: 1 - type: StaticPrice price: 500 + - type: BatteryDrinkerSource + maxAmount: 10000 # APC under construction - type: entity @@ -207,6 +209,8 @@ - type: Battery maxCharge: 50000 startingCharge: 50000 + - type: BatteryDrinkerSource + maxAmount: 5000 - type: entity parent: BaseAPC @@ -216,6 +220,8 @@ - type: Battery maxCharge: 100000 startingCharge: 100000 + - type: BatteryDrinkerSource + maxAmount: 12000 - type: entity parent: BaseAPC @@ -225,6 +231,8 @@ - type: Battery maxCharge: 150000 startingCharge: 150000 + - type: BatteryDrinkerSource + maxAmount: 18000 - type: entity parent: BaseAPC @@ -234,3 +242,5 @@ - type: Battery maxCharge: 200000 startingCharge: 200000 + - type: BatteryDrinkerSource + maxAmount: 26000 diff --git a/Resources/Prototypes/Entities/Structures/Power/chargers.yml b/Resources/Prototypes/Entities/Structures/Power/chargers.yml index 388cc3c987..0add130f46 100644 --- a/Resources/Prototypes/Entities/Structures/Power/chargers.yml +++ b/Resources/Prototypes/Entities/Structures/Power/chargers.yml @@ -245,6 +245,7 @@ whitelist: components: - BorgChassis + - Silicon - type: Construction containers: - machine_parts diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/bishop.yml b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/bishop.yml new file mode 100644 index 0000000000..f931d176b9 --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/bishop.yml @@ -0,0 +1,110 @@ +- type: marking + id: CyberLimbsMarkingBishopHead + bodyPart: Head + markingCategory: Head + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi + state: head + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi + state: head-2 + +- type: marking + id: CyberLimbsMarkingBishopChest + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: torso-primary + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: torso-secondary + +- type: marking + id: CyberLimbsMarkingBishopLArm + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: l_arm-primary + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: l_arm-secondary + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: l_arm-tertiary + +- type: marking + id: CyberLimbsMarkingBishopLHand + bodyPart: LHand + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: l_hand + +- type: marking + id: CyberLimbsMarkingBishopLLeg + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: l_leg-primary + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: l_leg-secondary + + +- type: marking + id: CyberLimbsMarkingBishopLFoot + bodyPart: LFoot + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: l_foot + + + +- type: marking + id: CyberLimbsMarkingBishopRArm + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: r_arm-primary + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: r_arm-secondary + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: r_arm-tertiary + + +- type: marking + id: CyberLimbsMarkingBishopRHand + bodyPart: RHand + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: r_hand + +- type: marking + id: CyberLimbsMarkingBishopRLeg + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: r_leg-primary + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: r_leg-secondary + + +- type: marking + id: CyberLimbsMarkingBishopRFoot + bodyPart: RFoot + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi + state: r_foot \ No newline at end of file diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/hesphiastos.yml b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/hesphiastos.yml new file mode 100644 index 0000000000..f1b6730c36 --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/hesphiastos.yml @@ -0,0 +1,115 @@ +- type: marking + id: CyberLimbsMarkingHesphiastosHead + bodyPart: Head + markingCategory: Head + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_monitor.rsi + state: head-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_monitor.rsi + state: head-2 + +- type: marking + id: CyberLimbsMarkingHesphiastosChest + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: torso-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: torso-2 + +- type: marking + id: CyberLimbsMarkingHesphiastosLArm + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_arm-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_arm-2 + +- type: marking + id: CyberLimbsMarkingHesphiastosLHand + bodyPart: LHand + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_hand-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_hand-2 + +- type: marking + id: CyberLimbsMarkingHesphiastosLLeg + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_leg-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_leg-2 + + +- type: marking + id: CyberLimbsMarkingHesphiastosLFoot + bodyPart: LFoot + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_foot-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: l_foot-2 + + + +- type: marking + id: CyberLimbsMarkingHesphiastosRArm + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_arm-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_arm-2 + + +- type: marking + id: CyberLimbsMarkingHesphiastosRHand + bodyPart: RHand + markingCategory: Arms + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_hand-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_hand-2 + + +- type: marking + id: CyberLimbsMarkingHesphiastosRLeg + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_leg-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_leg-2 + + +- type: marking + id: CyberLimbsMarkingHesphiastosRFoot + bodyPart: RFoot + markingCategory: Legs + speciesRestriction: [IPC, Moth, Dwarf, Human, Arachnid, Felinid, Oni, Vulpkanin, HumanoidFoxes, Reptilian] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_foot-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi + state: r_foot-2 \ No newline at end of file diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/morpheus.yml b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/morpheus.yml new file mode 100644 index 0000000000..e1b3be95b1 --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/morpheus.yml @@ -0,0 +1,144 @@ +- type: marking + id: CyberLimbsMarkingMorpheusHead + bodyPart: Head + markingCategory: Head + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: head + +- type: marking + id: CyberLimbsMarkingMorpheusChest + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: torso + +- type: marking + id: CyberLimbsMarkingMorpheusLArm + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: l_arm + +- type: marking + id: CyberLimbsMarkingMorpheusLHand + bodyPart: LHand + markingCategory: Arms + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: l_hand + +- type: marking + id: CyberLimbsMarkingMorpheusLLeg + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: l_leg + + +- type: marking + id: CyberLimbsMarkingMorpheusLFoot + bodyPart: LFoot + markingCategory: Legs + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: l_foot + + + +- type: marking + id: CyberLimbsMarkingMorpheusRArm + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: r_arm + + +- type: marking + id: CyberLimbsMarkingMorpheusRHand + bodyPart: RHand + markingCategory: Arms + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: r_hand + +- type: marking + id: CyberLimbsMarkingMorpheusRLeg + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: r_leg + + +- type: marking + id: CyberLimbsMarkingMorpheusRFoot + bodyPart: RFoot + markingCategory: Legs + speciesRestriction: [IPC] + coloring: + default: + type: + !type:SimpleColoring + color: "#FFFFFF" + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi + state: r_foot \ No newline at end of file diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/shellguard.yml b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/shellguard.yml new file mode 100644 index 0000000000..fdae2435c0 --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/shellguard.yml @@ -0,0 +1,114 @@ +- type: marking + id: CyberLimbsMarkingShellguardHead + bodyPart: Head + markingCategory: Head + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi + state: head-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi + state: head-2 + +- type: marking + id: CyberLimbsMarkingShellguardChest + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: torso-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: torso-2 + +- type: marking + id: CyberLimbsMarkingShellguardLArm + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_arm-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_arm-2 + +- type: marking + id: CyberLimbsMarkingShellguardLHand + bodyPart: LHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_hand-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_hand-2 + +- type: marking + id: CyberLimbsMarkingShellguardLLeg + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_leg-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_leg-2 + + +- type: marking + id: CyberLimbsMarkingShellguardLFoot + bodyPart: LFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_foot-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: l_foot-2 + + + +- type: marking + id: CyberLimbsMarkingShellguardRArm + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_arm-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_arm-2 + + +- type: marking + id: CyberLimbsMarkingShellguardRHand + bodyPart: RHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_hand-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_hand-2 + +- type: marking + id: CyberLimbsMarkingShellguardRLeg + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_leg-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_leg-2 + + +- type: marking + id: CyberLimbsMarkingShellguardRFoot + bodyPart: RFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_foot-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi + state: r_foot-2 \ No newline at end of file diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/wardtakahashi.yml b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/wardtakahashi.yml new file mode 100644 index 0000000000..51fe1676fc --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/wardtakahashi.yml @@ -0,0 +1,94 @@ +- type: marking + id: CyberLimbsMarkingWardtakahashiHead + bodyPart: Head + markingCategory: Head + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_monitor.rsi + state: head + +- type: marking + id: CyberLimbsMarkingWardtakahashiChest + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: torso + +- type: marking + id: CyberLimbsMarkingWardtakahashiLArm + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: l_arm + +- type: marking + id: CyberLimbsMarkingWardtakahashiLHand + bodyPart: LHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: l_hand + +- type: marking + id: CyberLimbsMarkingWardtakahashiLLeg + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: l_leg + + +- type: marking + id: CyberLimbsMarkingWardtakahashiLFoot + bodyPart: LFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: l_foot + + + +- type: marking + id: CyberLimbsMarkingWardtakahashiRArm + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: r_arm + + +- type: marking + id: CyberLimbsMarkingWardtakahashiRHand + bodyPart: RHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: r_hand + +- type: marking + id: CyberLimbsMarkingWardtakahashiRLeg + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: r_leg + + +- type: marking + id: CyberLimbsMarkingWardtakahashiRFoot + bodyPart: RFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi + state: r_foot \ No newline at end of file diff --git a/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/xion.yml b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/xion.yml new file mode 100644 index 0000000000..c2608106b1 --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/Entities/Mobs/Customization/cyberlimbs/xion.yml @@ -0,0 +1,116 @@ +# Not looking good atm +#- type: marking +# id: CyberLimbsMarkingXionHead +# bodyPart: Head +# markingCategory: Head +# speciesRestriction: [IPC] +# sprites: +# - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi +# state: head-1 +# - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi +# state: head-2 + +- type: marking + id: CyberLimbsMarkingXionChest + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: torso-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: torso-2 + +- type: marking + id: CyberLimbsMarkingXionLArm + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_arm-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_arm-2 + +- type: marking + id: CyberLimbsMarkingXionLHand + bodyPart: LHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_hand-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_hand-2 + +- type: marking + id: CyberLimbsMarkingXionLLeg + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_leg-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_leg-2 + + +- type: marking + id: CyberLimbsMarkingXionLFoot + bodyPart: LFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_foot-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: l_foot-2 + + + +- type: marking + id: CyberLimbsMarkingXionRArm + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_arm-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_arm-2 + + + +- type: marking + id: CyberLimbsMarkingXionRHand + bodyPart: RHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_hand-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_hand-2 + +- type: marking + id: CyberLimbsMarkingXionRLeg + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_leg-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_leg-2 + + +- type: marking + id: CyberLimbsMarkingXionRFoot + bodyPart: RFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_foot-1 + - sprite: EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi + state: r_foot-2 \ No newline at end of file diff --git a/Resources/Prototypes/EstacaoPirata/SoundCollections/buzzes.yml b/Resources/Prototypes/EstacaoPirata/SoundCollections/buzzes.yml new file mode 100644 index 0000000000..97b50bca0c --- /dev/null +++ b/Resources/Prototypes/EstacaoPirata/SoundCollections/buzzes.yml @@ -0,0 +1,12 @@ +- type: soundCollection + id: buzzes + files: + - /Audio/EstacaoPirata/Effects/Buzzes/buzz1.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz2.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz3.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz4.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz5.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz6.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz7.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz8.ogg + - /Audio/EstacaoPirata/Effects/Buzzes/buzz9.ogg diff --git a/Resources/Prototypes/Guidebook/science.yml b/Resources/Prototypes/Guidebook/science.yml index a21be1678c..261cc2bdb9 100644 --- a/Resources/Prototypes/Guidebook/science.yml +++ b/Resources/Prototypes/Guidebook/science.yml @@ -64,3 +64,4 @@ id: Cyborgs name: guide-entry-cyborgs text: "/ServerInfo/Guidebook/Science/Cyborgs.xml" + diff --git a/Resources/Prototypes/Guidebook/species.yml b/Resources/Prototypes/Guidebook/species.yml index 5b9efd0366..9ccd6510b9 100644 --- a/Resources/Prototypes/Guidebook/species.yml +++ b/Resources/Prototypes/Guidebook/species.yml @@ -10,6 +10,7 @@ - Moth - Reptilian - SlimePerson + - IPCs - type: guideEntry id: Arachnid @@ -45,3 +46,8 @@ id: SlimePerson name: species-name-slime text: "/ServerInfo/Guidebook/Mobs/SlimePerson.xml" + +- type: guideEntry + id: IPCs + name: guide-entry-IPCs + text: "/ServerInfo/Guidebook/Mobs/IPCs.xml" diff --git a/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml index 574ecca35f..f7ea108979 100644 --- a/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml +++ b/Resources/Prototypes/InventoryTemplates/human_inventory_template.yml @@ -114,3 +114,4 @@ uiWindowPos: 3,0 strippingWindowPos: 0,5 displayName: Back + diff --git a/Resources/Prototypes/SimpleStation14/Alerts/alerts.yml b/Resources/Prototypes/SimpleStation14/Alerts/alerts.yml new file mode 100644 index 0000000000..24515f1e88 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Alerts/alerts.yml @@ -0,0 +1,19 @@ +- type: alert + id: Charge + icons: + - sprite: /Textures/SimpleStation14/Interface/Alerts/charge.rsi + state: charge-empty + - sprite: /Textures/SimpleStation14/Interface/Alerts/charge.rsi + state: charge0 + - sprite: /Textures/SimpleStation14/Interface/Alerts/charge.rsi + state: charge1 + - sprite: /Textures/SimpleStation14/Interface/Alerts/charge.rsi + state: charge2 + - sprite: /Textures/SimpleStation14/Interface/Alerts/charge.rsi + state: charge3 + - sprite: /Textures/SimpleStation14/Interface/Alerts/charge.rsi + state: charge4 + name: alerts-charge-name + description: alerts-charge-desc + minSeverity: -1 + maxSeverity: 4 diff --git a/Resources/Prototypes/SimpleStation14/Body/Organs/ipc.yml b/Resources/Prototypes/SimpleStation14/Body/Organs/ipc.yml new file mode 100644 index 0000000000..14f0f9abd2 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Body/Organs/ipc.yml @@ -0,0 +1,72 @@ +- type: entity + id: BaseIPCOrgan + parent: BaseItem + abstract: true + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/organs.rsi + - type: Organ + # - type: Food + # - type: Extractable + # grindableSolutionName: organ + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Oil + Quantity: 10 + +- type: entity + id: OrganIPCEyes + parent: BaseIPCOrgan + name: robotic eyes + description: "01001001 00100000 01110011 01100101 01100101 00100000 01111001 01101111 01110101 00100001" + components: + - type: Sprite + layers: + - state: eyeball-l + - state: eyeball-r + - type: Organ + +- type: entity + id: OrganIPCTongue + parent: BaseIPCOrgan + name: vocal modulator + description: "A vocal modulator, used to produce speech." + components: + - type: Sprite + state: tongue + - type: Organ + +- type: entity + id: OrganIPCEars + parent: BaseIPCOrgan + name: "sonic receptors" + description: + components: + - type: Sprite + state: ears + - type: Organ + +- type: entity + id: OrganIPCPump + parent: BaseIPCOrgan + name: micro pump + description: "A micro pump, used to circulate coolant." + components: + - type: Sprite + state: heart-on + - type: Organ + # The heart 'metabolizes' medicines and poisons that aren't filtered out by other organs. + # This is done because these chemicals need to have some effect even if they aren't being filtered out of your body. + # You're technically 'immune to poison' without a heart, but.. uhh, you'll have bigger problems on your hands. + + # This is fine? + # - type: Metabolizer + # maxReagents: 2 + # metabolizerTypes: [Human] + # groups: + # - id: Medicine + # - id: Poison + # - id: Narcotic diff --git a/Resources/Prototypes/SimpleStation14/Body/Parts/ipc.yml b/Resources/Prototypes/SimpleStation14/Body/Parts/ipc.yml new file mode 100644 index 0000000000..2fbfa0a0b9 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Body/Parts/ipc.yml @@ -0,0 +1,186 @@ +- type: entity + id: PartIPC + parent: BaseItem + name: "ipc body part" + abstract: true + components: + - type: Damageable + damageContainer: Inorganic + - type: BodyPart + - type: ContainerContainer + containers: + bodypart: !type:Container + ents: [] + - type: StaticPrice + price: 100 + +- type: entity + id: TorsoIPC + name: "ipc torso" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "torso_m" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "torso_m" + - type: BodyPart + partType: Torso + +- type: entity + id: HeadIPC + name: "ipc head" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "head_m" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "head_m" + - type: BodyPart + partType: Head + vital: true + - type: Input + context: "ghost" + - type: MovementSpeedModifier + baseWalkSpeed: 0 + baseSprintSpeed: 0 + - type: InputMover + - type: GhostOnMove + - type: Tag + tags: + - Head + +- type: entity + id: LeftArmIPC + name: "left ipc arm" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_arm" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_arm" + - type: BodyPart + partType: Arm + symmetry: Left + +- type: entity + id: RightArmIPC + name: "right ipc arm" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_arm" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_arm" + - type: BodyPart + partType: Arm + symmetry: Right + +- type: entity + id: LeftHandIPC + name: "left ipc hand" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_hand" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_hand" + - type: BodyPart + partType: Hand + symmetry: Left + +- type: entity + id: RightHandIPC + name: "right ipc hand" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_hand" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_hand" + - type: BodyPart + partType: Hand + symmetry: Right + +- type: entity + id: LeftLegIPC + name: "left ipc leg" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_leg" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_leg" + - type: BodyPart + partType: Leg + symmetry: Left + - type: MovementBodyPart + +- type: entity + id: RightLegIPC + name: "right ipc leg" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_leg" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_leg" + - type: BodyPart + partType: Leg + symmetry: Right + - type: MovementBodyPart + +- type: entity + id: LeftFootIPC + name: "left ipc foot" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_foot" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "l_foot" + - type: BodyPart + partType: Foot + symmetry: Left + +- type: entity + id: RightFootIPC + name: "right ipc foot" + parent: PartIPC + components: + - type: Sprite + netsync: false + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_foot" + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: "r_foot" + - type: BodyPart + partType: Foot + symmetry: Right diff --git a/Resources/Prototypes/Body/Prototypes/ipc.yml b/Resources/Prototypes/SimpleStation14/Body/Prototypes/ipc.yml similarity index 65% rename from Resources/Prototypes/Body/Prototypes/ipc.yml rename to Resources/Prototypes/SimpleStation14/Body/Prototypes/ipc.yml index a8cc989c5a..8c42c35138 100644 --- a/Resources/Prototypes/Body/Prototypes/ipc.yml +++ b/Resources/Prototypes/SimpleStation14/Body/Prototypes/ipc.yml @@ -1,32 +1,32 @@ -- type: body +- type: body id: IPC - name: "IPC" + name: "ipc" root: torso slots: head: part: HeadIPC connections: - - torso + - torso organs: - brain: OrganIPCCPU - eyes: OrganIPCGPU + eyes: OrganIPCEyes torso: part: TorsoIPC - organs: - lungs: OrganIPCFan connections: - - left arm - - right arm - - left leg - - right leg + - left arm + - right arm + - left leg + - right leg + organs: + brain: PositronicBrain + heart: OrganIPCPump right arm: part: RightArmIPC connections: - - right hand + - right hand left arm: part: LeftArmIPC connections: - - left hand + - left hand right hand: part: RightHandIPC left hand: @@ -34,11 +34,11 @@ right leg: part: RightLegIPC connections: - - right foot + - right foot left leg: part: LeftLegIPC connections: - - left foot + - left foot right foot: part: RightFootIPC left foot: diff --git a/Resources/Prototypes/SimpleStation14/Damage/modifier_sets.yml b/Resources/Prototypes/SimpleStation14/Damage/modifier_sets.yml new file mode 100644 index 0000000000..500d55549e --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Damage/modifier_sets.yml @@ -0,0 +1,18 @@ +- type: damageModifierSet + id: BloodlossIPC + coefficients: + Blunt: 1 + Slash: 0.6 + Piercing: 1.85 + Shock: 0.0 + Cold: 0.0 + Heat: 0 # heat damage doesn't cauterize metal! + Poison: 0.0 + Radiation: 0.0 + Asphyxiation: 0.0 + Bloodloss: 0.0 # no double dipping + Cellular: 0.0 + flatReductions: # Gotta crack a few borgs to get some coolant... + Blunt: 15 + Slash: 15 + Piercing: 15 diff --git a/Resources/Prototypes/SimpleStation14/Datasets/Names/ipc_names.yml b/Resources/Prototypes/SimpleStation14/Datasets/Names/ipc_names.yml new file mode 100644 index 0000000000..76a963dc51 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Datasets/Names/ipc_names.yml @@ -0,0 +1,1107 @@ +- type: dataset + id: IpcFirst + values: + - ABEX + - ANCL + - ANTR + - ARMA + - AURA + - BGB + - CBOS + - CDB + - CHOC + - CHRI + - COI + - CRUX + - CYBR + - DRSD + - DUNC + - EBIX + - EXOS + - FIRC + - FIZZ + - FRE + - FXMC + - GIGA + - GOOF + - GRIN + - GUN + - HBL + - HG + - HIU + - HOG + - INC + - JADE + - JJR + - JLLO + - JNLG + - JRD + - JUNO + - KALE + - KANO + - KAZA + - KENT + - KIV + - KOR + - KORA + - KOS + - LUMA + - LUNA + - LYNX + - MET + - MIW + - MNOS + - MRPR + - MSO + - NANO + - NEST + - NEXO + - NOVA + - ORNG + - OSI + - PBU + - PHL + - PKP + - PKR + - PLEX + - PLEXO + - PLIX + - QUES + - QUIN + - QWER + - RIFT + - RR + - RYNO + - RZH + - SINA + - SLI + - STLP + - TKRG + - TRIX + - VERA + - VEXA + - VITA + - VIVE + - VOLT + - WAVE + - WISP + - WJ + - WREN + - XAL + - XENA + - XIS + - XSI + - XYLO + - YAGO + - YPT + - ZACK + - ZARG + - ZEON + - ZOLT + - ZUMA + - ZYLO + - ZYVA + +- type: dataset + id: IpcLast + values: + - 000 + - 001 + - 002 + - 003 + - 004 + - 005 + - 006 + - 007 + - 008 + - 009 + - 010 + - 011 + - 012 + - 013 + - 014 + - 015 + - 016 + - 017 + - 018 + - 019 + - 020 + - 021 + - 022 + - 023 + - 024 + - 025 + - 026 + - 027 + - 028 + - 029 + - 030 + - 031 + - 032 + - 033 + - 034 + - 035 + - 036 + - 037 + - 038 + - 039 + - 040 + - 041 + - 042 + - 043 + - 044 + - 045 + - 046 + - 047 + - 048 + - 049 + - 050 + - 051 + - 052 + - 053 + - 054 + - 055 + - 056 + - 057 + - 058 + - 059 + - 060 + - 061 + - 062 + - 063 + - 064 + - 065 + - 066 + - 067 + - 068 + - 069 + - 070 + - 071 + - 072 + - 073 + - 074 + - 075 + - 076 + - 077 + - 078 + - 079 + - 080 + - 081 + - 082 + - 083 + - 084 + - 085 + - 086 + - 087 + - 088 + - 089 + - 090 + - 091 + - 092 + - 093 + - 094 + - 095 + - 096 + - 097 + - 098 + - 099 + - 100 + - 101 + - 102 + - 103 + - 104 + - 105 + - 106 + - 107 + - 108 + - 109 + - 110 + - 111 + - 112 + - 113 + - 114 + - 115 + - 116 + - 117 + - 118 + - 119 + - 120 + - 121 + - 122 + - 123 + - 124 + - 125 + - 126 + - 127 + - 128 + - 129 + - 130 + - 131 + - 132 + - 133 + - 134 + - 135 + - 136 + - 137 + - 138 + - 139 + - 140 + - 141 + - 142 + - 143 + - 144 + - 145 + - 146 + - 147 + - 148 + - 149 + - 150 + - 151 + - 152 + - 153 + - 154 + - 155 + - 156 + - 157 + - 158 + - 159 + - 160 + - 161 + - 162 + - 163 + - 164 + - 165 + - 166 + - 167 + - 168 + - 169 + - 170 + - 171 + - 172 + - 173 + - 174 + - 175 + - 176 + - 177 + - 178 + - 179 + - 180 + - 181 + - 182 + - 183 + - 184 + - 185 + - 186 + - 187 + - 188 + - 189 + - 190 + - 191 + - 192 + - 193 + - 194 + - 195 + - 196 + - 197 + - 198 + - 199 + - 200 + - 201 + - 202 + - 203 + - 204 + - 205 + - 206 + - 207 + - 208 + - 209 + - 210 + - 211 + - 212 + - 213 + - 214 + - 215 + - 216 + - 217 + - 218 + - 219 + - 220 + - 221 + - 222 + - 223 + - 224 + - 225 + - 226 + - 227 + - 228 + - 229 + - 230 + - 231 + - 232 + - 233 + - 234 + - 235 + - 236 + - 237 + - 238 + - 239 + - 240 + - 241 + - 242 + - 243 + - 244 + - 245 + - 246 + - 247 + - 248 + - 249 + - 250 + - 251 + - 252 + - 253 + - 254 + - 255 + - 256 + - 257 + - 258 + - 259 + - 260 + - 261 + - 262 + - 263 + - 264 + - 265 + - 266 + - 267 + - 268 + - 269 + - 270 + - 271 + - 272 + - 273 + - 274 + - 275 + - 276 + - 277 + - 278 + - 279 + - 280 + - 281 + - 282 + - 283 + - 284 + - 285 + - 286 + - 287 + - 288 + - 289 + - 290 + - 291 + - 292 + - 293 + - 294 + - 295 + - 296 + - 297 + - 298 + - 299 + - 300 + - 301 + - 302 + - 303 + - 304 + - 305 + - 306 + - 307 + - 308 + - 309 + - 310 + - 311 + - 312 + - 313 + - 314 + - 315 + - 316 + - 317 + - 318 + - 319 + - 320 + - 321 + - 322 + - 323 + - 324 + - 325 + - 326 + - 327 + - 328 + - 329 + - 330 + - 331 + - 332 + - 333 + - 334 + - 335 + - 336 + - 337 + - 338 + - 339 + - 340 + - 341 + - 342 + - 343 + - 344 + - 345 + - 346 + - 347 + - 348 + - 349 + - 350 + - 351 + - 352 + - 353 + - 354 + - 355 + - 356 + - 357 + - 358 + - 359 + - 360 + - 361 + - 362 + - 363 + - 364 + - 365 + - 366 + - 367 + - 368 + - 369 + - 370 + - 371 + - 372 + - 373 + - 374 + - 375 + - 376 + - 377 + - 378 + - 379 + - 380 + - 381 + - 382 + - 383 + - 384 + - 385 + - 386 + - 387 + - 388 + - 389 + - 390 + - 391 + - 392 + - 393 + - 394 + - 395 + - 396 + - 397 + - 398 + - 399 + - 400 + - 401 + - 402 + - 403 + - 404 + - 405 + - 406 + - 407 + - 408 + - 409 + - 410 + - 411 + - 412 + - 413 + - 414 + - 415 + - 416 + - 417 + - 418 + - 419 + - 420 + - 421 + - 422 + - 423 + - 424 + - 425 + - 426 + - 427 + - 428 + - 429 + - 430 + - 431 + - 432 + - 433 + - 434 + - 435 + - 436 + - 437 + - 438 + - 439 + - 440 + - 441 + - 442 + - 443 + - 444 + - 445 + - 446 + - 447 + - 448 + - 449 + - 450 + - 451 + - 452 + - 453 + - 454 + - 455 + - 456 + - 457 + - 458 + - 459 + - 460 + - 461 + - 462 + - 463 + - 464 + - 465 + - 466 + - 467 + - 468 + - 469 + - 470 + - 471 + - 472 + - 473 + - 474 + - 475 + - 476 + - 477 + - 478 + - 479 + - 480 + - 481 + - 482 + - 483 + - 484 + - 485 + - 486 + - 487 + - 488 + - 489 + - 490 + - 491 + - 492 + - 493 + - 494 + - 495 + - 496 + - 497 + - 498 + - 499 + - 500 + - 501 + - 502 + - 503 + - 504 + - 505 + - 506 + - 507 + - 508 + - 509 + - 510 + - 511 + - 512 + - 513 + - 514 + - 515 + - 516 + - 517 + - 518 + - 519 + - 520 + - 521 + - 522 + - 523 + - 524 + - 525 + - 526 + - 527 + - 528 + - 529 + - 530 + - 531 + - 532 + - 533 + - 534 + - 535 + - 536 + - 537 + - 538 + - 539 + - 540 + - 541 + - 542 + - 543 + - 544 + - 545 + - 546 + - 547 + - 548 + - 549 + - 550 + - 551 + - 552 + - 553 + - 554 + - 555 + - 556 + - 557 + - 558 + - 559 + - 560 + - 561 + - 562 + - 563 + - 564 + - 565 + - 566 + - 567 + - 568 + - 569 + - 570 + - 571 + - 572 + - 573 + - 574 + - 575 + - 576 + - 577 + - 578 + - 579 + - 580 + - 581 + - 582 + - 583 + - 584 + - 585 + - 586 + - 587 + - 588 + - 589 + - 590 + - 591 + - 592 + - 593 + - 594 + - 595 + - 596 + - 597 + - 598 + - 599 + - 600 + - 601 + - 602 + - 603 + - 604 + - 605 + - 606 + - 607 + - 608 + - 609 + - 610 + - 611 + - 612 + - 613 + - 614 + - 615 + - 616 + - 617 + - 618 + - 619 + - 620 + - 621 + - 622 + - 623 + - 624 + - 625 + - 626 + - 627 + - 628 + - 629 + - 630 + - 631 + - 632 + - 633 + - 634 + - 635 + - 636 + - 637 + - 638 + - 639 + - 640 + - 641 + - 642 + - 643 + - 644 + - 645 + - 646 + - 647 + - 648 + - 649 + - 650 + - 651 + - 652 + - 653 + - 654 + - 655 + - 656 + - 657 + - 658 + - 659 + - 660 + - 661 + - 662 + - 663 + - 664 + - 665 + - 666 + - 667 + - 668 + - 669 + - 670 + - 671 + - 672 + - 673 + - 674 + - 675 + - 676 + - 677 + - 678 + - 679 + - 680 + - 681 + - 682 + - 683 + - 684 + - 685 + - 686 + - 687 + - 688 + - 689 + - 690 + - 691 + - 692 + - 693 + - 694 + - 695 + - 696 + - 697 + - 698 + - 699 + - 700 + - 701 + - 702 + - 703 + - 704 + - 705 + - 706 + - 707 + - 708 + - 709 + - 710 + - 711 + - 712 + - 713 + - 714 + - 715 + - 716 + - 717 + - 718 + - 719 + - 720 + - 721 + - 722 + - 723 + - 724 + - 725 + - 726 + - 727 + - 728 + - 729 + - 730 + - 731 + - 732 + - 733 + - 734 + - 735 + - 736 + - 737 + - 738 + - 739 + - 740 + - 741 + - 742 + - 743 + - 744 + - 745 + - 746 + - 747 + - 748 + - 749 + - 750 + - 751 + - 752 + - 753 + - 754 + - 755 + - 756 + - 757 + - 758 + - 759 + - 760 + - 761 + - 762 + - 763 + - 764 + - 765 + - 766 + - 767 + - 768 + - 769 + - 770 + - 771 + - 772 + - 773 + - 774 + - 775 + - 776 + - 777 + - 778 + - 779 + - 780 + - 781 + - 782 + - 783 + - 784 + - 785 + - 786 + - 787 + - 788 + - 789 + - 790 + - 791 + - 792 + - 793 + - 794 + - 795 + - 796 + - 797 + - 798 + - 799 + - 800 + - 801 + - 802 + - 803 + - 804 + - 805 + - 806 + - 807 + - 808 + - 809 + - 810 + - 811 + - 812 + - 813 + - 814 + - 815 + - 816 + - 817 + - 818 + - 819 + - 820 + - 821 + - 822 + - 823 + - 824 + - 825 + - 826 + - 827 + - 828 + - 829 + - 830 + - 831 + - 832 + - 833 + - 834 + - 835 + - 836 + - 837 + - 838 + - 839 + - 840 + - 841 + - 842 + - 843 + - 844 + - 845 + - 846 + - 847 + - 848 + - 849 + - 850 + - 851 + - 852 + - 853 + - 854 + - 855 + - 856 + - 857 + - 858 + - 859 + - 860 + - 861 + - 862 + - 863 + - 864 + - 865 + - 866 + - 867 + - 868 + - 869 + - 870 + - 871 + - 872 + - 873 + - 874 + - 875 + - 876 + - 877 + - 878 + - 879 + - 880 + - 881 + - 882 + - 883 + - 884 + - 885 + - 886 + - 887 + - 888 + - 889 + - 890 + - 891 + - 892 + - 893 + - 894 + - 895 + - 896 + - 897 + - 898 + - 899 + - 900 + - 901 + - 902 + - 903 + - 904 + - 905 + - 906 + - 907 + - 908 + - 909 + - 910 + - 911 + - 912 + - 913 + - 914 + - 915 + - 916 + - 917 + - 918 + - 919 + - 920 + - 921 + - 922 + - 923 + - 924 + - 925 + - 926 + - 927 + - 928 + - 929 + - 930 + - 931 + - 932 + - 933 + - 934 + - 935 + - 936 + - 937 + - 938 + - 939 + - 940 + - 941 + - 942 + - 943 + - 944 + - 945 + - 946 + - 947 + - 948 + - 949 + - 950 + - 951 + - 952 + - 953 + - 954 + - 955 + - 956 + - 957 + - 958 + - 959 + - 960 + - 961 + - 962 + - 963 + - 964 + - 965 + - 966 + - 967 + - 968 + - 969 + - 970 + - 971 + - 972 + - 973 + - 974 + - 975 + - 976 + - 977 + - 978 + - 979 + - 980 + - 981 + - 982 + - 983 + - 984 + - 985 + - 986 + - 987 + - 988 + - 989 + - 990 + - 991 + - 992 + - 993 + - 994 + - 995 + - 996 + - 997 + - 998 + - 999 diff --git a/Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/antenna.yml b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/antenna.yml new file mode 100644 index 0000000000..f9aff70885 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/antenna.yml @@ -0,0 +1,89 @@ +- type: marking + speciesRestriction: [IPC] + id: RobotAntennaTv + bodyPart: HeadTop + markingCategory: HeadTop + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi + state: ipc_antenna_tv + +- type: marking + speciesRestriction: [IPC] + id: RobotAntennaTesla + bodyPart: HeadTop + markingCategory: HeadTop + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi + state: ipc_antenna_tesla + +# - type: marking +# speciesRestriction: [IPC] +# id: RobotAntennaLightb +# bodyPart: HeadTop +# markingCategory: HeadTop +# sprites: +# - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi +# state: ipc_antenna_lightb + +# - type: marking +# speciesRestriction: [IPC] +# id: RobotAntennaLight +# bodyPart: HeadTop +# markingCategory: HeadTop +# sprites: +# - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi +# state: ipc_antenna_light + +- type: marking + speciesRestriction: [IPC] + id: RobotAntennaCyberhead + bodyPart: HeadTop + markingCategory: HeadTop + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi + state: ipc_antenna_cyberhead + +# - type: marking +# speciesRestriction: [IPC] +# id: RobotAntennaSidelights +# bodyPart: HeadTop +# markingCategory: HeadTop +# sprites: +# - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi +# state: ipc_antenna_sidelights + +- type: marking + speciesRestriction: [IPC] + id: RobotAntennaAntlers + bodyPart: HeadTop + markingCategory: HeadTop + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi + state: ipc_antenna_antlers + +- type: marking + speciesRestriction: [IPC] + id: RobotAntennaDroneeyes + bodyPart: HeadTop + markingCategory: HeadTop + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi + state: ipc_antenna_droneeyes + +- type: marking + speciesRestriction: [IPC] + id: RobotAntennaCrowned + bodyPart: HeadTop + markingCategory: HeadTop + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi + state: ipc_antenna_crowned + +- type: marking + speciesRestriction: [IPC] + id: RobotAntennaTowers + bodyPart: HeadTop + markingCategory: HeadTop + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_antenna.rsi + state: ipc_antenna_towers diff --git a/Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/screens.yml b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/screens.yml new file mode 100644 index 0000000000..eed944cbd3 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Customization/screens.yml @@ -0,0 +1,391 @@ +## CANT SET THESE SCREENS TO "shader: unshaded" +## RobustToolbox/Robust.Shared/Utility/SpriteSpecifier.cs + +- type: marking + speciesRestriction: [IPC] + id: ScreenStatic + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_static + + +- type: marking + speciesRestriction: [IPC] + id: ScreenBlue + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_blue + + +- type: marking + speciesRestriction: [IPC] + id: ScreenBreakout + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_breakout + + +- type: marking + speciesRestriction: [IPC] + id: ScreenEight + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_eight + + +- type: marking + speciesRestriction: [IPC] + id: ScreenGoggles + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_goggles + + +- type: marking + speciesRestriction: [IPC] + id: ScreenExclaim + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_exclaim + + +- type: marking + speciesRestriction: [IPC] + id: ScreenHeart + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_heart + + +- type: marking + speciesRestriction: [IPC] + id: ScreenMonoeye + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_monoeye + + +- type: marking + speciesRestriction: [IPC] + id: ScreenNature + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_nature + + +- type: marking + speciesRestriction: [IPC] + id: ScreenOrange + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_orange + + +- type: marking + speciesRestriction: [IPC] + id: ScreenPink + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_pink + + +- type: marking + speciesRestriction: [IPC] + id: ScreenQuestion + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_question + + +- type: marking + speciesRestriction: [IPC] + id: ScreenShower + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_shower + + +- type: marking + speciesRestriction: [IPC] + id: ScreenYellow + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_yellow + + +- type: marking + speciesRestriction: [IPC] + id: ScreenScroll + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_scroll + + +- type: marking + speciesRestriction: [IPC] + id: ScreenConsole + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_console + + +- type: marking + speciesRestriction: [IPC] + id: ScreenRgb + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_rgb + + +- type: marking + speciesRestriction: [IPC] + id: ScreenGlider + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_glider + + +- type: marking + speciesRestriction: [IPC] + id: ScreenRainbowhoriz + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_rainbowhoriz + + +- type: marking + speciesRestriction: [IPC] + id: ScreenBsod + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_bsod + + +- type: marking + speciesRestriction: [IPC] + id: ScreenRedtext + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_redtext + + +- type: marking + speciesRestriction: [IPC] + id: ScreenSinewave + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_sinewave + + +- type: marking + speciesRestriction: [IPC] + id: ScreenSquarewave + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_squarewave + + +- type: marking + speciesRestriction: [IPC] + id: ScreenEcgwave + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_ecgwave + + +- type: marking + speciesRestriction: [IPC] + id: ScreenEyes + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_eyes + + +- type: marking + speciesRestriction: [IPC] + id: ScreenEyestall + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_eyestall + + +- type: marking + speciesRestriction: [IPC] + id: ScreenEyesangry + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_eyesangry + + +- type: marking + speciesRestriction: [IPC] + id: ScreenLoading + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_loading + + +- type: marking + speciesRestriction: [IPC] + id: ScreenWindowsxp + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_windowsxp + + +- type: marking + speciesRestriction: [IPC] + id: ScreenTetris + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_tetris + + +- type: marking + speciesRestriction: [IPC] + id: ScreenTv + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_tv + + +- type: marking + speciesRestriction: [IPC] + id: ScreenTextdrop + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_textdrop + + +- type: marking + speciesRestriction: [IPC] + id: ScreenStars + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_stars + + +- type: marking + speciesRestriction: [IPC] + id: ScreenRainbowdiag + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_rainbowdiag + + +- type: marking + speciesRestriction: [IPC] + id: ScreenBlank + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_blank + + +- type: marking + speciesRestriction: [IPC] + id: ScreenSmile + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_smile + +- type: marking + speciesRestriction: [IPC] + id: ScreenFrown + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_frown + + +- type: marking + speciesRestriction: [IPC] + id: ScreenRing + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_ring + + +- type: marking + speciesRestriction: [IPC] + id: ScreenL + bodyPart: HeadSide + markingCategory: HeadSide + sprites: + - sprite: SimpleStation14/Mobs/Customization/ipc_screens.rsi + state: ipc_screen_l + diff --git a/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/ipc.yml b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/ipc.yml new file mode 100644 index 0000000000..f854a05627 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/ipc.yml @@ -0,0 +1,114 @@ +- type: entity + id: MobIPC + parent: PlayerSiliconHumanoidBase + name: Urist McPositronic + description: A positronic brain in a metal body. + components: + - type: PowerCellSlot + cellSlotId: cell_slot + fitsInCharger: true + - type: ItemSlots + slots: + cell_slot: + locked: true + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellMedium + - type: BatterySlotRequiresLock + cellSlotId: cell_slot + - type: EncryptionHolderRequiresLock + - type: SiliconEmitSoundOnDrained + sound: "/Audio/Weapons/Guns/EmptyAlarm/smg_empty_alarm.ogg" + minInterval: 15 + maxInterval: 30 + popUp: "silicon-power-low" + - type: Lock + locked: true + lockOnClick: false + unlockOnClick: false + # Por algum motivo esse componente é bem bugado, então o "LockTime" é quem diz o tempo de tudo enquanto o unlock só está servindo como um bool (???) + lockTime: 5 + unlockTime: 5 + - type: InteractionPopup + successChance: 1 + interactSuccessString: hugging-success-generic + interactSuccessSound: /Audio/Effects/thudswoosh.ogg + messagePerceivedByOthers: hugging-success-generic-others + - type: NpcFactionMember + factions: + - NanoTrasen + - type: StandingState + - type: MobState + allowedStates: + - Alive + - Critical + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 119.999: Critical # TO make it almost impossible + 120: Dead + - type: TypingIndicator + proto: robot + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Blunt + damage: 400 + behaviors: + - !type:GibBehavior { } + - type: SlowOnDamage + speedModifierThresholds: + 60: 0.7 + 90: 0.5 + 120: 0.3 + - type: SiliconDownOnDead + - type: Inventory + templateId: ipc + - type: GuideHelp + guides: + - IPCs + - type: Silicon + entityType: enum.SiliconType.Player + batteryPowered: true + drainPerSecond: 1.5 + chargeThresholdMid: 0.80 + chargeThresholdLow: 0.35 + chargeThresholdCritical: 0.10 + speedModifierThresholds: + 4: 1 + 3: 1 + 2: 0.80 + 1: 0.45 + 0: 0.00 + - type: BatteryDrinker + - type: EncryptionKeyHolder + keySlots: 4 + examineWhileLocked: false + keysExtractionMethod: Cutting + keysUnlocked: false + - type: ActiveRadio + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + - type: DeadStartupButton + sound: + path: /Audio/EstacaoPirata/Effects/Silicon/startup.ogg +# Erro de linter +# - type: Wires +# layoutId: IPC + - type: EmitBuzzWhileDamaged + - type: CanHostGuardian + + +- type: entity + save: false + name: Urist McPositronic + parent: MobHumanDummy + id: MobIPCDummy + noSpawn: true + description: A dummy IPC meant to be used in character setup. + components: + - type: HumanoidAppearance + species: IPC + - type: Inventory + templateId: ipc diff --git a/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/silicon_base.yml b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/silicon_base.yml new file mode 100644 index 0000000000..88ce4cc65c --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/silicon_base.yml @@ -0,0 +1,306 @@ +- type: entity + save: false + id: PlayerSiliconHumanoidBase + parent: [BaseMob, MobDamageable, MobCombat, MobAtmosExposed, MobFlammable] + abstract: true + components: + - type: ContentEye + - type: CameraRecoil + - type: Reactive + groups: + Flammable: [Touch] + Extinguish: [Touch] + Acidic: [Touch] + reactions: + - reagents: [Water, SpaceCleaner] + methods: [Touch] + effects: + - !type:WashCreamPieReaction + - type: DamageOnHighSpeedImpact + damage: + types: + Blunt: 10 + soundHit: + path: /Audio/Effects/hit_kick.ogg + - type: Damageable + damageContainer: Silicon + damageModifierSet: IPC + - type: InteractionOutline + - type: MovementSpeedModifier + baseWalkSpeed: 4 + baseSprintSpeed: 3 + - type: ZombieImmune + - type: DoAfter + - type: RotationVisuals + horizontalRotation: 90 + - type: Examiner + # - type: Recyclable + # safe: false + # - type: EyeProtection # You'll want this if your robot can't wear glasses, like an IPC. + # protectionTime: 12 + - type: Silicon + entityType: enum.SiliconType.Player + batteryPowered: false # Needs to also have a battery! + chargeThresholdMid: 0.60 + chargeThresholdLow: 0.30 + chargeThresholdCritical: 0 + speedModifierThresholds: + 4: 1 + 3: 1 + 2: 0.80 + 1: 0.45 + 0: 0.00 + + - type: Temperature + heatDamageThreshold: 325 + coldDamageThreshold: 260 + currentTemperature: 310.15 + specificHeat: 42 + coldDamage: + types: + Cold: 0.1 #per second, scales with temperature & other constants + heatDamage: + types: + Heat: 3 #per second, scales with temperature & other constants + atmosTemperatureTransferEfficiency: 0.05 + - type: Deathgasp + prototype: SiliconDeathgasp + needsCritical: false + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 165: Dead + - type: Destructible + thresholds: + - trigger: !type:DamageTrigger + damage: 500 + behaviors: + - !type:GibBehavior {} + - type: Icon + sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: full + - type: Sprite + noRot: true + drawdepth: Mobs + layers: + - map: ["enum.HumanoidVisualLayers.Chest"] + - map: ["enum.HumanoidVisualLayers.Head"] + - map: ["enum.HumanoidVisualLayers.Snout"] + - map: ["enum.HumanoidVisualLayers.Eyes"] + - map: ["enum.HumanoidVisualLayers.RArm"] + - map: ["enum.HumanoidVisualLayers.LArm"] + - map: ["enum.HumanoidVisualLayers.RLeg"] + - map: ["enum.HumanoidVisualLayers.LLeg"] + - shader: StencilClear + sprite: Mobs/Species/Human/parts.rsi + state: l_leg + - shader: StencilMask + map: ["enum.HumanoidVisualLayers.StencilMask"] + sprite: Mobs/Customization/masking_helpers.rsi + state: female_full + visible: false + - map: ["enum.HumanoidVisualLayers.LFoot"] + - map: ["enum.HumanoidVisualLayers.RFoot"] + - map: ["socks"] + - map: ["underpants"] + - map: ["undershirt"] + - map: ["jumpsuit"] + - map: ["enum.HumanoidVisualLayers.LHand"] + - map: ["enum.HumanoidVisualLayers.RHand"] + - map: ["enum.HumanoidVisualLayers.Handcuffs"] + color: "#ffffff" + sprite: Objects/Misc/handcuffs.rsi + state: body-overlay-2 + visible: false + - map: ["id"] + - map: ["gloves"] + - map: ["shoes"] + - map: ["ears"] + - map: ["outerClothing"] + - map: ["eyes"] + - map: ["belt"] + - map: ["neck"] + - map: ["back"] + - map: ["enum.HumanoidVisualLayers.FacialHair"] + - map: ["enum.HumanoidVisualLayers.Hair"] + - map: ["enum.HumanoidVisualLayers.HeadSide"] + - map: ["enum.HumanoidVisualLayers.HeadTop"] + - map: ["mask"] + - map: ["head"] + - map: ["pocket1"] + - map: ["pocket2"] + - map: ["enum.HumanoidVisualLayers.Tail"] + - map: ["clownedon"] # Dynamically generated + sprite: "Effects/creampie.rsi" + state: "creampie_human" + visible: false + + #- type: Bloodstream This is left commented out because it's not necessary for a robot, but you may want it. + # damageBleedModifiers: BloodlossIPC + # bloodReagent: Oil + # bleedReductionAmount: 0 + # bloodMaxVolume: 500 + # chemicalMaxVolume: 0 + # bleedPuddleThreshold: 3 + # bleedRefreshAmount: 0 + # bloodLossThreshold: 0 + # maxBleedAmount: 14 + # bloodlossDamage: + # types: + # Burn: 1.5 + # bloodlossHealDamage: + # types: + # Burn: 0 + - type: Flashable + - type: Flammable + fireSpread: true + canResistFire: true + damage: + types: + Heat: 0.75 #per second, scales with number of fire 'stacks' + # - type: Barotrauma # Not particularly modifiable. In the future, some response to pressure changes would be nice. + # damage: + # types: + # Blunt: 0.28 #per second, scales with pressure and other constants. + atmosTemperatureTransferEfficiency: 0.4 + - type: Identity + # soundHit: + # path: /Audio/Effects/metalbreak.ogg + - type: RangedDamageSound + soundGroups: + Brute: + collection: MetalBulletImpact + soundTypes: + Heat: + collection: MetalLaserImpact + - type: Tag + tags: + - CanPilot + - FootstepSound + - DoorBumpOpener + - type: Hands + - type: Inventory + templateId: human + - type: InventorySlots + - type: Appearance + - type: GenericVisualizer + visuals: + enum.CreamPiedVisuals.Creamed: + clownedon: # Not 'creampied' bc I can already see Skyrat complaining about conflicts. + True: { visible: true } + False: { visible: false } + - type: Cuffable + - type: AnimationPlayer + - type: Buckle + - type: CreamPied + - type: Stripping + - type: Strippable + - type: UserInterface + interfaces: + - key: enum.VoiceMaskUIKey.Key + type: VoiceMaskBoundUserInterface + - key: enum.HumanoidMarkingModifierKey.Key + type: HumanoidMarkingModifierBoundUserInterface + - key: enum.StrippingUiKey.Key + type: StrippableBoundUserInterface + - type: Emoting + - type: Grammar + attributes: + proper: true + - type: Climbing + - type: StandingState + - type: MindContainer + showExamineInfo: true + - type: SSDIndicator + - type: CanEscapeInventory + - type: HumanoidAppearance + species: IPC + - type: Body + prototype: IPC + requiredLegs: 2 + - type: Ensnareable + sprite: Objects/Misc/ensnare.rsi + - type: Speech + speechSounds: Pai + - type: Vocal + sounds: + Male: UnisexIPC + Female: UnisexIPC + Unsexed: UnisexIPC + - type: MeleeWeapon + hidden: true + soundHit: + collection: Punch + angle: 30 + animation: WeaponArcFist + attackRate: 1 + damage: + types: + Blunt: 6 # It's tough. + - type: MobPrice + price: 1500 # Kidnapping a living person and selling them for cred is a good move. + deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less. + - type: Pullable + - type: Puller + + - type: BodyEmotes + soundsId: GeneralBodyEmotes + - type: DamageVisuals + thresholds: [ 10, 20, 30, 50, 70, 100 ] + targetLayers: + - "enum.HumanoidVisualLayers.Chest" + - "enum.HumanoidVisualLayers.Head" + - "enum.HumanoidVisualLayers.LArm" + - "enum.HumanoidVisualLayers.LLeg" + - "enum.HumanoidVisualLayers.RArm" + - "enum.HumanoidVisualLayers.RLeg" + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#DD8822" + # Organs + - type: IdExaminable + - type: HealthExaminable + examinableTypes: + - Blunt + - Slash + - Piercing + - Heat + - Shock + - type: StatusEffects + allowed: + - Stun + - KnockedDown + - SlowedDown + - Stutter + - SeeingRainbows + - Electrocution + # - Drunk + - SlurredSpeech + - PressureImmunity + - Muted + # - ForcedSleep + - TemporaryBlindness + - Pacified + # - PsionicsDisabled + # - PsionicallyInsulated + - type: Blindable + - type: FireVisuals + alternateState: Standing + - type: LightningTarget + priority: 1 + lightningExplode: false + + +- type: damageModifierSet + id: IPC + coefficients: + Poison: 0 + Cold: 0.2 + Heat: 2 + Shock: 2.5 + diff --git a/Resources/Prototypes/InventoryTemplates/ipc_inventory_template.yml b/Resources/Prototypes/SimpleStation14/InventoryTemplates/ipc_inventory_template.yml similarity index 74% rename from Resources/Prototypes/InventoryTemplates/ipc_inventory_template.yml rename to Resources/Prototypes/SimpleStation14/InventoryTemplates/ipc_inventory_template.yml index d36ef8acc3..14a62510f2 100644 --- a/Resources/Prototypes/InventoryTemplates/ipc_inventory_template.yml +++ b/Resources/Prototypes/SimpleStation14/InventoryTemplates/ipc_inventory_template.yml @@ -5,42 +5,68 @@ slotTexture: shoes slotFlags: FEET stripTime: 3 - uiWindowPos: 1,3 + uiWindowPos: 1,0 strippingWindowPos: 1,3 displayName: Shoes - name: jumpsuit slotTexture: uniform slotFlags: INNERCLOTHING stripTime: 6 - uiWindowPos: 0,2 + uiWindowPos: 0,1 strippingWindowPos: 0,2 displayName: Jumpsuit - name: outerClothing slotTexture: suit slotFlags: OUTERCLOTHING - slotGroup: MainHotbar stripTime: 6 - uiWindowPos: 1,2 + uiWindowPos: 1,1 strippingWindowPos: 1,2 displayName: Suit + # Underwear + # - name: undershirt + # slotTexture: undershirt + # slotFlags: UNDERSHIRT + # stripTime: 8 + # uiWindowPos: 4,1 + # strippingWindowPos: 3,1 + # displayName: Undershirt + # - name: underpants + # slotTexture: underpants + # slotFlags: UNDERPANTS + # stripTime: 12 + # uiWindowPos: 4,0 + # strippingWindowPos: 3,2 + # displayName: Underpants + # - name: socks + # slotTexture: socks + # slotFlags: SOCKS + # stripTime: 8 + # uiWindowPos: 4,2 + # strippingWindowPos: 3,3 + # displayName: Socks - name: gloves slotTexture: gloves slotFlags: GLOVES - uiWindowPos: 2,2 - strippingWindowPos: 2,2 + uiWindowPos: 2,1 + strippingWindowPos: 2,0 displayName: Gloves - name: neck slotTexture: neck slotFlags: NECK - uiWindowPos: 0,1 + uiWindowPos: 0,2 strippingWindowPos: 0,1 displayName: Neck - name: mask + uiWindowPos: 1,2 slotTexture: mask slotFlags: MASK - uiWindowPos: 1,1 strippingWindowPos: 1,1 displayName: Mask + whitelist: + components: + - IdentityBlocker + tags: + - IPCMaskWearable - name: eyes slotTexture: glasses slotFlags: EYES @@ -48,17 +74,17 @@ uiWindowPos: 0,0 strippingWindowPos: 0,0 displayName: Eyes - - name: ears - slotTexture: ears - slotFlags: EARS - stripTime: 3 - uiWindowPos: 2,0 - strippingWindowPos: 2,0 - displayName: Ears + # - name: ears + # slotTexture: ears + # slotFlags: EARS + # stripTime: 3 + # uiWindowPos: 2,0 + # strippingWindowPos: 2,0 + # displayName: Ears - name: head slotTexture: head slotFlags: HEAD - uiWindowPos: 1,0 + uiWindowPos: 1,3 strippingWindowPos: 1,0 displayName: Head - name: pocket1 @@ -84,6 +110,7 @@ - name: suitstorage slotTexture: suit_storage slotFlags: SUITSTORAGE + slotGroup: MainHotbar stripTime: 3 uiWindowPos: 2,0 strippingWindowPos: 2,5 diff --git a/Resources/Prototypes/SimpleStation14/Species/ipc.yml b/Resources/Prototypes/SimpleStation14/Species/ipc.yml new file mode 100644 index 0000000000..621dc22ba8 --- /dev/null +++ b/Resources/Prototypes/SimpleStation14/Species/ipc.yml @@ -0,0 +1,233 @@ +- type: species + id: IPC + name: species-name-ipc + roundStart: true + prototype: MobIPC + sprites: MobIPCSprites + markingLimits: MobIPCMarkingLimits + dollPrototype: MobIPCDummy + skinColoration: TintedHues + minAge: 1 + maxAge: 240 + oldAge: 50 + youngAge: 50 + maleFirstNames: IpcFirst + femaleFirstNames: IpcFirst + lastNames: IpcLast + naming: FirstDashLast + sexes: + - Unsexed + +# The lack of a layer means that +# this person cannot have round-start anything +# applied to that layer. It has to instead +# be defined as a 'custom base layer' +# in either the mob's starting marking prototype, +# or it has to be added in C#. +- type: speciesBaseSprites + id: MobIPCSprites + sprites: + Head: MobIPCHead + HeadTop: MobHumanoidAnyMarking + HeadSide: MobHumanoidAnyMarking + Tail: MobHumanoidAnyMarking + Hair: MobHumanoidMarkingMatchSkin + Chest: MobIPCTorso + LArm: MobIPCLArm + RArm: MobIPCRArm + LHand: MobIPCLHand + RHand: MobIPCRHand + LLeg: MobIPCLLeg + RLeg: MobIPCRLeg + LFoot: MobIPCLFoot + RFoot: MobIPCRFoot + +- type: markingPoints + id: MobIPCMarkingLimits + points: + Head: + points: 1 + required: true + defaultMarkings: [ MobIPCHeadDefault ] + Chest: + points: 1 + required: true + defaultMarkings: [ MobIPCTorsoDefault ] + Legs: + points: 4 + required: true + defaultMarkings: [ MobIPCLLegDefault, MobIPCLFootDefault, MobIPCRLegDefault, MobIPCRFootDefault ] + Arms: + points: 4 + required: true + defaultMarkings: [ MobIPCLArmDefault, MobIPCLHandDefault, MobIPCRArmDefault, MobIPCRHandDefault ] + HeadSide: + points: 1 + required: false + +- type: humanoidBaseSprite + id: MobIPCScreen + +# Head + +- type: humanoidBaseSprite + id: MobIPCHead + +- type: humanoidBaseSprite + id: MobIPCHeadMale + +- type: humanoidBaseSprite + id: MobIPCHeadFemale + +- type: marking + id: MobIPCHeadDefault + bodyPart: Head + markingCategory: Head + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: head_m + +# Torso + +- type: humanoidBaseSprite + id: MobIPCTorso + +- type: humanoidBaseSprite + id: MobIPCTorsoMale + +- type: humanoidBaseSprite + id: MobIPCTorsoFemale + +- type: marking + id: MobIPCTorsoDefault + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: torso_m + +- type: marking + id: MobIPCTorsoFemaleDefault + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: torso_f + +# Left Leg + +- type: humanoidBaseSprite + id: MobIPCLLeg + +- type: marking + id: MobIPCLLegDefault + bodyPart: LLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: l_leg + +# Left Arm + +- type: humanoidBaseSprite + id: MobIPCLArm + +- type: marking + id: MobIPCLArmDefault + bodyPart: LArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: l_arm + +#LHand + +- type: humanoidBaseSprite + id: MobIPCLHand + +- type: marking + id: MobIPCLHandDefault + bodyPart: LHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: l_hand + +#LFoot + +- type: humanoidBaseSprite + id: MobIPCLFoot + +- type: marking + id: MobIPCLFootDefault + bodyPart: LFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: l_foot + +#RLeg + +- type: humanoidBaseSprite + id: MobIPCRLeg + +- type: marking + id: MobIPCRLegDefault + bodyPart: RLeg + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: r_leg + +#RArm + +- type: humanoidBaseSprite + id: MobIPCRArm + +- type: marking + id: MobIPCRArmDefault + bodyPart: RArm + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: r_arm + +#RHand + +- type: humanoidBaseSprite + id: MobIPCRHand + +- type: marking + id: MobIPCRHandDefault + bodyPart: RHand + markingCategory: Arms + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: r_hand + +#RFoot + +- type: humanoidBaseSprite + id: MobIPCRFoot + +- type: marking + id: MobIPCRFootDefault + bodyPart: RFoot + markingCategory: Legs + speciesRestriction: [IPC] + sprites: + - sprite: SimpleStation14/Mobs/Species/IPC/parts.rsi + state: r_foot + +- type: Tag + id: IPCMaskWearable diff --git a/Resources/Prototypes/Species/ipc.yml b/Resources/Prototypes/Species/ipc.yml deleted file mode 100644 index 2df809fc50..0000000000 --- a/Resources/Prototypes/Species/ipc.yml +++ /dev/null @@ -1,139 +0,0 @@ -- type: species - id: IPC - name: species-name-ipc - roundStart: true - prototype: MobIPC - sprites: MobIPCSprites - defaultSkinTone: "#ffffff" - markingLimits: MobIPCMarkingLimits - dollPrototype: MobIPCDummy - skinColoration: Hues - maleFirstNames: names_ai - femaleFirstNames: names_ai - lastNames: names_ai - sexes: - - Unsexed - -- type: speciesBaseSprites - id: MobIPCSprites - sprites: - Head: MobIPCHead - Snout: MobHumanoidAnyMarking - Chest: MobIPCTorso - HeadTop: MobHumanoidAnyMarking - HeadSide: MobHumanoidAnyMarking - LArm: MobIPCLArm - RArm: MobIPCRArm - LHand: MobIPCLHand - RHand: MobIPCRHand - LLeg: MobIPCLLeg - RLeg: MobIPCRLeg - LFoot: MobIPCLFoot - RFoot: MobIPCRFoot - -- type: markingPoints - id: MobIPCMarkingLimits - onlyWhitelisted: true - points: - Hair: - points: 0 - required: false - FacialHair: - points: 0 - required: false - HeadTop: - points: 1 - required: false - HeadSide: - points: 1 - required: false - Head: - points: 1 - required: false - Chest: - points: 1 - required: false - -- type: humanoidBaseSprite - id: MobIPCHead - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: head - -- type: humanoidBaseSprite - id: MobIPCHeadMale - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: head - -- type: humanoidBaseSprite - id: MobIPCHeadFemale - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: head - -- type: humanoidBaseSprite - id: MobIPCTorso - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: chest - -- type: humanoidBaseSprite - id: MobIPCTorsoMale - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: chest - -- type: humanoidBaseSprite - id: MobIPCTorsoFemale - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: chest - -- type: humanoidBaseSprite - id: MobIPCLLeg - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: l_leg - -- type: humanoidBaseSprite - id: MobIPCLHand - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: l_hand - -- type: humanoidBaseSprite - id: MobIPCLArm - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: l_arm - -- type: humanoidBaseSprite - id: MobIPCLFoot - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: l_foot - -- type: humanoidBaseSprite - id: MobIPCRLeg - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: r_leg - -- type: humanoidBaseSprite - id: MobIPCRHand - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: r_hand - -- type: humanoidBaseSprite - id: MobIPCRArm - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: r_arm - -- type: humanoidBaseSprite - id: MobIPCRFoot - baseSprite: - sprite: Mobs/Species/IPCs/parts.rsi - state: r_foot diff --git a/Resources/Prototypes/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Voice/speech_emote_sounds.yml index fcc5d4de35..97ba622ab5 100644 --- a/Resources/Prototypes/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Voice/speech_emote_sounds.yml @@ -32,8 +32,6 @@ collection: MaleCry Whistle: collection: Whistles - Weh: - collection: Weh - type: emoteSounds id: FemaleHuman @@ -68,8 +66,6 @@ collection: FemaleCry Whistle: collection: Whistles - Weh: - collection: Weh - type: emoteSounds id: UnisexReptilian @@ -86,8 +82,6 @@ collection: Whistles Crying: collection: MaleCry - Weh: - collection: Weh - type: emoteSounds id: MaleSlime @@ -95,9 +89,9 @@ Squish: collection: Squishes Scream: - collection: SlimeMaleScreams + collection: MaleScreams Laugh: - collection: SlimeMaleLaughs + collection: MaleLaugh Sneeze: collection: MaleSneezes Cough: @@ -122,8 +116,6 @@ collection: MaleCry Whistle: collection: Whistles - Weh: - collection: Weh params: variation: 0.125 @@ -133,9 +125,9 @@ Squish: collection: Squishes Scream: - collection: SlimeFemaleScreams + collection: FemaleScreams Laugh: - collection: SlimeFemaleLaughs + collection: FemaleLaugh Sneeze: collection: FemaleSneezes Cough: @@ -160,21 +152,15 @@ collection: FemaleCry Whistle: collection: Whistles - Weh: - collection: Weh params: variation: 0.125 - type: emoteSounds id: UnisexVox - sounds: - Scream: - path: /Audio/Voice/Vox/shriek1.ogg - Laugh: - path: /Audio/Voice/Vox/vox_laugh.ogg - params: - variation: 0.125 - # We need vox sounds for the other emotes + sound: + path: /Audio/Voice/Vox/shriek1.ogg + params: + variation: 0.125 - type: emoteSounds id: UnisexDiona @@ -185,11 +171,10 @@ collection: DionaLaugh Honk: collection: BikeHorn - Weh: - collection: Weh params: variation: 0.125 + - type: emoteSounds id: UnisexArachnid params: @@ -203,8 +188,6 @@ path: /Audio/Voice/Arachnid/arachnid_chitter.ogg Click: path: /Audio/Voice/Arachnid/arachnid_click.ogg - Weh: - collection: Weh - type: emoteSounds id: UnisexDwarf @@ -237,8 +220,6 @@ collection: MaleCry Whistle: collection: Whistles - Weh: - collection: Weh params: variation: 0.125 pitch: 0.75 @@ -274,8 +255,6 @@ collection: FemaleCry Whistle: collection: Whistles - Weh: - collection: Weh params: variation: 0.125 pitch: 0.75 @@ -295,33 +274,6 @@ path: /Audio/Voice/Moth/moth_chitter.ogg Squeak: path: /Audio/Voice/Moth/moth_squeak.ogg - -# IPC -- type: emoteSounds - id: UnisexIPC - sounds: - Scream: - path: /Audio/Effects/beep1.ogg - params: - variation: 0.125 - Laugh: - path: /Audio/Effects/sparks1.ogg - params: - variation: 0.125 - IPCPing: - path: /Audio/Effects/beep1.ogg - params: - variation: 0.125 - HarpyBeep: - collection: HarpyBeeps - IPCBoop: - collection: IPCBoops - IPCWhirr: - collection: IPCWhirrs - Honk: - collection: BikeHorn - params: - variation: 0.125 # body emotes - type: emoteSounds @@ -402,6 +354,8 @@ - type: emoteSounds id: Nymph + params: + variation: 0.125 sounds: Chirp: path: /Audio/Animals/nymph_chirp.ogg @@ -412,3 +366,33 @@ path: /Audio/Animals/parrot_raught.ogg params: variation: 0.125 + +- type: emoteSounds + id: UnisexIPC + params: + variation: 0.125 + sounds: + Buzz: + path: /Audio/Effects/Cargo/buzz_sigh.ogg + Scream: + path: /Audio/EstacaoPirata/Voice/IPC/robot-scream.ogg + Laugh: + path: /Audio/EstacaoPirata/Voice/IPC/robot-laugh_3.ogg + Chitter: + path: /Audio/Voice/Talk/pai.ogg + Squeak: + path: /Audio/Voice/Talk/pai.ogg + CatMeow: + collection: CatMeows + CatHisses: + collection: CatHisses + MonkeyScreeches: + collection: MonkeyScreeches + RobotBeep: + path: /Audio/Effects/Cargo/buzz_two.ogg + Sigh: + path: /Audio/Voice/Talk/pai.ogg + Crying: + path: /Audio/EstacaoPirata/Voice/IPC/cry_robot_1.ogg + Whistle: + path: /Audio/Voice/Talk/pai.ogg diff --git a/Resources/Prototypes/Voice/speech_emotes.yml b/Resources/Prototypes/Voice/speech_emotes.yml index 5f59677c22..c414049189 100644 --- a/Resources/Prototypes/Voice/speech_emotes.yml +++ b/Resources/Prototypes/Voice/speech_emotes.yml @@ -234,6 +234,12 @@ chatTriggers: - deathgasp +- type: emote + id: SiliconDeathgasp + chatMessages: ["silicon-emote-deathgasp"] + chatTriggers: + - sdeathgasp + - type: emote id: Buzz category: Vocal diff --git a/Resources/ServerInfo/Guidebook/Mobs/IPCs.xml b/Resources/ServerInfo/Guidebook/Mobs/IPCs.xml new file mode 100644 index 0000000000..7aa9b7b779 --- /dev/null +++ b/Resources/ServerInfo/Guidebook/Mobs/IPCs.xml @@ -0,0 +1,52 @@ + + # I.P.C. + + An IPC (short for Integrated Positronic Chassis) is a type of sentient robot and is considered an [color=yellow]independent individual[/color], meaning [color=red]they are not guided by any laws of robotics[/color]. IPCs cannot be hacked by Emags because they do not have to follow any predefined directives in their system. [color=red]IPCs are silicon-based beings, so doctors do not have the skills to repair them.[/color] + + + + + Like borgs, IPCs have a positronic brain as their processing source. However, unlike them, IPCs can't be assembled. "It's cheaper to create a shell that obeys you than one that doesn't! *wink*" + ## Recharging an IPC + + + + + + IPCs can be recharged in three different ways: + + APC Terminal: IPCs can use APC terminals to recharge. Press [color=yellow]Alt + left click[/color] on a terminal as many times as needed to fully recharge. + + Borg Rechargers: IPCs can use borg rechargers to recharge. Always prioritize the ones outside of the Sci area to avoid headaches. + + Power Cell: IPCs have an internal power cell that serves as their battery. They can simply swap it out by opening the hatch and manually replacing it. + + ## Integrated Radio + + + + + IPCs do [bold]not[/bold] use external radios because they already have one built in. They only need to get an encryption key from a radio. By clicking on an IPC with a [color=yellow]wire cutter[/color], you can remove their keys. + You can find new keys around the station or remove one from a sector radio using a [color=yellow]screwdriver[/color]. + + ## Repairing + + + Welders can be used to repair [color=yellow]Brute[/color] damage. + + + + Cables can be used to repair [color=yellow]Burns[/color]. + + + + Glass Sheets can be used to repair [color=yellow]Blindness[/color]. + + + In the event an IPC dies, after being fully repaired, it should be restarted using the [color=yellow]"Restart"[/color] button (located by right-clicking). + + [color=red]NEVER ELECTROCUTE AN IPC with a defibrillator or in any other way while it is dead, as this will cause the battery to discharge energy rays outward![/color] + + + + diff --git a/Resources/ServerInfo/Guidebook/Mobs/Species.xml b/Resources/ServerInfo/Guidebook/Mobs/Species.xml index 5fb4ca741e..b1b0e3c594 100644 --- a/Resources/ServerInfo/Guidebook/Mobs/Species.xml +++ b/Resources/ServerInfo/Guidebook/Mobs/Species.xml @@ -13,6 +13,7 @@ + diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi/head.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..81c98564b9a008c820c16e2a9b673872975c4d36 GIT binary patch literal 1059 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|WC_ zPZ!6KiaBp*S$e2AinRT|`1PDkfXzoSLjhMoW#;!D29kpP4k9j&HVy}UdRYY31bEo` z9h`k-)(5zV96jP7BBK9+MU?-;in-r!#POKjc(w8Pf>-Sevo%)yzj}TBYUz8wS&uGd zbSRw3_Mm9zkw=e|PMtm-7#Nt?Jl*wQaB%R7_3OW%xG&PMcCD_UoLt|WIWji(_Q}P? z!B3t)ujXa?>FVN=P*O7Gujafxdu)RLU1CsES3mmkqv5%8=N>$M+*PetuzH-M{Pq|Nfo(I4dJ#!nf&61~xW2mo8ua_~S>%jvW?XzJE_HC=gh_ zeEEqJCm#HqH&5=gg2i0FiIXNBk}k85;o#$Y#`EIs+f<3on>QcI+wT3-oAJiYn~oV7 z8jl`7{%Jo``qu5+k1MseZrapz-fG%1h8G0ns?;Omo1w0FO3^~?zGS6 z;N)~nPgiGSV=E{xPyhLB|F7Npi+1mxZSGgt)7v}qoB3C<1tI6po_+f9@87*oSN_+Z zsK508)2B<_U(aAlNMY>VzJ2@NvhQGBTegUtK7Cs5=j?w1Mt;9rTUr0KWL$nX|M=?{ z{)rlTybN95%ngq&F)Y|&!hnlw#JXVFGPi)tI|8C^dt#-3tdm&6IAP=6yyr}sp{aIu zb^!qa4#9__1vJ{OT?@0Zu{m)4y7w4fTX*c}QP%$+AuG?GI`v74 zrK@qziRq_4IdRCy%6^nNswUkm((vX@&a$^9R{y`Tm6VhyXlQWEoH;WiFV8J8abZS& z{&tq8!w&^~eSIUMqm$1sS)%ez$S~>U>(`GZQnlPJ^)r|%m6Vo#+_7{itE#GMM0|Yv z{Q2_bT{~j*B2=SxuU*@_7Z@uye?NWN`dmY;%Qq~Dp{%@IP*jxlmC!)P;Ns%q zX?6TN_@kuvvaVXS>IbhwI%DeH{x9qk_N{jNKY8A-U?GM<@W#p literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi/meta.json new file mode 100644 index 0000000000..9f87381cd8 --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_alt1.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "copyright": "Sprites from Paradise Station (https://github.com/ParadiseSS13/Paradise)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "head", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/head.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..a89de820f47b7fe179103b15e1ac71035fec8be0 GIT binary patch literal 645 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|S$} zr;B4q#hkaZ_Ioiq3LLXPsKu4Z${l}z-9uPcWYP5uxIdq4^6XE=oWo~Ne*U>&ySeE}OY;9Gp6}anM1_s6| zPZ!6KinzD8Hu|+V2ps#kv%7QZ->W8JYHE9$`WyNei0V5(GLG<8XkP`zVi+}@^;BHj$bnBjTUvgj3+3K~gt9l;a z5OMr$a(z#vd}HOj{?y1>iZ7m-`WM%JsZNxgwQS{^GV9AXbWShHjlO)w`NlQ(tUwW? zxpVCNmM{A{YjI`z)-4}r|K0MvU3~k#)qo%2hk1Hs5<-SQ&f$qyf+IJ-;5ye*W2TR8~UtPq|*AX}rT_6Cu}& zN$0LIusAAwzy12`<>z-7&3y2h&c7bNSOdGZB+D74ul|1cjbd>_d85Ak%Jzu- Tua+NyQN!Tr>gTe~DWM4fe1XGS literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_arm-secondary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_arm-secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..de40773897f6704157d83b8086179c8cbe353e66 GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_nkx zPZ!6KinzD44hl9Ih_Eh>b;!QrD0;=wScFNmz^#Z~{q+ff{ilCU{Ik9Oc=wVg%8Z;I z4opH58dy{mpv(jN1uJ4gD{jv(lnK87UH-ly&*5vOv01mp=5EySE?k>lD8zQXv^8Jm z`2Ny!Hw`*;GOw8McJ4oW?(-a74ZHPR%%3h?HWB5o6*=?%@~1C{<{LCjTXl%R>Pzg; z({(KGwOrndGN_8_u4lYx=Jh*+Y-U(--GAlM)AvOtNIFXveBI8%vL+JUCo5(i;AUet Vn8)VO1`I6*22WQ%mvv4FO#qHZe9r&? literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_arm-tertiary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_arm-tertiary.png new file mode 100644 index 0000000000000000000000000000000000000000..7b83ecf161b3b2c235fb638276713a2982e673c1 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anMpkTMB zi(^Pd+}m3lc@HS?xH^_4E%%u{m&a?W+SGc-CB^3_mu`_eETG`fz`)4F!hv99a9=T9 zEnCTYY44M~`D=HXA6g@Kr0#zS52`9meF`5=|8D%U-SwT|CGVGl2>F6F2bfL@i3hAZ SbF>HOECx?kKbLh*2~7Y(8$VV6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_foot.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..534085a97c31ddaa896b6e69d1efdcdeac7bfa07 GIT binary patch literal 325 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1H8_ zi(^Q|oVT|&@-{mNuwLAl63DSu;37Ath?5JWiIaASgNIAf;nrz$e|+=!S1%-_vPNQV z$G1)kc85943g;LFo-=e5GaRvGcqGG6$k%`=yotFa_PdpSTcXGL(pY2P%gqVb=aj}? z{%g^9y=Q`@qI$yp@?ZO&TlAI8jhiUAu0MZP+qT@5tF+E`3kfC6OZSSNw)8~xX67jt z@5;}8@E5>p1%}PPtq;UjGwx4wf6J9Jx8YJX<9(O+Tq&$S?r`7O)_ZB4?V9cuxQT literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_hand.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..771cd025a865b938f010cfe3539816c6bbad58e4 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TS6 zr;B4q#hkad6xTI7h_pVu9N=%Trjd04$LRwbxUL;y+aMvNqwTPffrXRX;ep|v51*ng zZdr8ZjPRV#KkrSm-|l$kj-wx=0}hnKf97+I|0I?`5k(HBBZW2A*4YwmwXxwnk306g z54`^MW#oK|n+>_Q=h@$KxnBCA_J8?2Z9k?npL=vp8~9GXI43o7!ZOWS%Nn(>G0S8} zi5$JRP50C$lc<~f&%dAd+%oci^JHFw+Jf-S_bx^=JP{!V9r$+Oab3ge<}?2HzwhV| z2)%l}eZ}+}4aaL+jMuPp92WS0_K987SB7={o8xERbKh|!{(#CaRi+sM3=@K3=r^O~ XwOIMn{ZWO$FlF#`^>bP0l+XkKAAy`p literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_leg-primary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_leg-primary.png new file mode 100644 index 0000000000000000000000000000000000000000..05f568654e6829574e3315245bdc121ee767f18c GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_mZM zPZ!6KinzD4Y`d5o1zJz18j2bx=P&GB`9k%~)e|8+N0c+(iSmdXJmKPKbHGK|->j2u z)|YqE+YU~>`tn_7`t+xwCQ4V%zh0lcNJ~(Pa{>cy)L`4Fz!9?kdhoZ2&je5OTRjte zIWPaE-b=aJXWi!dEiZBBms`TVj~)%8yHfJOj>8k1THpy1#q<{r9IcOeQ@onz_eq;e?-o z^X{z;TYa)_|MaY_uUZ?Y^Bq|IB=z~{$aU9OZ!fyW@Zr#Qb}zQ(#x1vVTOa%0Y<4;R zI8ds$ZM)GmhPqWf{s}g6)!C=hw;z7G{q|aO1|JtD6$b){pEE)0clgI08Jp$$9(~fd z^0sVggpSwFm}x(2=JgzJKm0ITeR2E~^~s%wI%I+$S@cbge3)ZaTqUl4kRf3G^~sjD zdVTj_mb{vB+Vg9=z&6*C+&@V+?>Ff`xWXuKH^)r)?F{aJZHeNH?8crF3{R47@H6~9 z{BXeq&L8#Fak`K8$(cBCo7{b`HzT8P9$&nk_{n1Z2NzQpFh<3km1?-h;CS)&UWUEK z544V$_+7vFo8!U)#vM7!BbYBZUCgU|$9jkPP#4d>`iz3i+TaIYlpE{)9x%7Rxx!n> SU|9xCJ`A3&elF{r5}E)b{|Q|H literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_leg-secondary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/l_leg-secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..a96f9eb3854571d6e9017bc38ff670b71213b2b3 GIT binary patch literal 478 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_s6n zo-U3d6>)E88RoSZ2)MRu#4sM@&B(~KU}rtP;DO8?#?G#623B2O^975RFrDlS@7xll z8TFn=@x)J$kk{{L{(n|2?cBo7;=n)v{o`bGf3-O`TB@z_lTCPOY;d5+Bis5{D>J3M zCbdiny7Jw2X{Og_n{J&womb+M?tjmWy{^2?=vMOm^2McU-S>ROY@;WqN={AvnLT;` z`u(}mJJ)?M^1LVk7Wc1*Zao+J&$#BCzLM1w zj+i6dt9cm`5;uFautb>nOcPaUXg#YWD3ox~ATn$MgP2*ji${a&;gm>6ridFlLW+!H zypvN|Ingyt{E_4mA5s?Uo+uF{;<|i+anM1_s7% zPZ!6KinzD8HhLWn5IOeovXaHl^mmU`IBHqt7uq?^{ba;C|KLp@wntAUXihRMc`-*d z<>jN2vw~cUX3SfbIZOLL_uQ&?C(G-7mlwN6a40k|FhPk6Y8#@~&f#}bKPlO^P`m38 zH^bSLmDRsDZi$?hs^>ZB->h%b-jyo@#ny6&Ptz%s@s6A}?b7D!E`chJ0yBzzZfk{Z z{OK`k*|WA}jVpU*-To!^XKv+B9rNt#&WjTxzdV=~J?qc!u-DQHW}h~nxN6n6uaZ~4 z&k8S&4*MPd;M3K;clPaGzWVEtOF25GK+$&Je~*pM&fSqy7t?S2_TQ+utErRc?Bn~X!%_R1I z@8yT{eZ{(4bIhc@^Yyd%m@5A4n0?28z53>xXSxqZI?1st;H}-GpU`M<{f(aQPImj_ m&z?00b-;rP&t;ucLK6UM!Ovp= literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_arm-secondary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_arm-secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf2346bd8402df7b3ab688de95085780abd5250 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_nl9 zPZ!6KinzBoH}W<+2)JC_yqm!>^@3ooL#o1x28rJ~ik1%L&B_w>L1s59t(6p6ALfnjS_SvNM_)EssB`+s9np)=D(|%=a^&7tE3bbxE&jTxdC|%5ukLxyU8G_6 z@ZPMAtkZd_wp{tX@AM{>?|w`@k0n;E+7C_w( z+=^!g^S;=X*Zu$QTn9hKBM)BHm#eF6QfOdc;y@5PIQKB@Hq+NHzT0XJ3^N8#S3j3^ HP6anMpkS}3 zi(^Pd+}m3lc@HS?xH^_4E%%u{cMgZ9C@b&8AD0Xde%@)awvvTIK*6DbfsqNpP;1;( zrMmIW>$jn$>Ae4Svr6{=_3Xavg{lZc+i}h}yAR5n-%`@}ao#~{YaEh+|AZ?TTm;1f UB*It>fevHvboFyt=akR{0JRA`w*UYD literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_foot.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..a8fbe8635ea509fb178f489345fd83302fa00872 GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1F+h zi(^Q|oVT|Oxta|a+#ZH&$Q@a2Q7JBN+cBB_gHqg4VGFCB5sxD@mUM18^uJ!wxUGU+O!vKl=;dwhGw=-dq!^)#_VUztdKE-!RAcXH59La1Xu@b!z){xc3V^+x2SS aA#M|$=*+@9%C^8zVDNPHb6Mw<&;$VKczSFA literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_hand.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..db11be34056caa261ef3119fdf034b840280accd GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TR; zr;B4q#hkad7VE z{r7)!G|OxDHa&Q!u$%!GTE~C9@XqwqgC@QbZH&3M?|pdQwdlrX9cP*29ESxmXIVXe z!xM1b^i9g`Z3orO;(uSfR%&Z=O;VvtNyW2i-RlRFE9XsoZux7UJy38#rc|_DwE#<; zPJQy{HLJ3=ch{f0|MG*{k8_^?&d#)at;tZtMGPwV#{KQzUY*n4-*|4^xG(p9v1o$$ z``hyx!~NKI6rFGA{hPa-Ic8`21M&5*?0<3p*pdD~)Rxu3j}eOc><%z*F$miebYuTK QU~n>cy85}Sb4q9e0O5I)y8r+H literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_leg-primary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_leg-primary.png new file mode 100644 index 0000000000000000000000000000000000000000..d6288eedc3cbc85f196685e9b996b034b9b64a9b GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_mZk zPZ!6KinzD4_GU2!3bY;<$T{lg@!WdJg=1mYrf=|Ce0STX)*lR-TQ+{;Wa-vvnyR_w zBjcJJrvz)>jD@Y{^H?1_T8$&?yNnfX-bT&*Z@Y8nA`hGM#fcKjw*2&*-`;mHL1Aai zxsWJR#_pp|YLh!dR)+>}&Q^8wSDS1&HJp(n{$5c0d-;_L94hnA&z4e~%OZREWe8Vm z)5Va&s233hSg@To%{wtS@yn%hYrE_$M8Jn56cI(wU5)oYCUYeYB_KNeS5&=f%t;9-HJ*tx3dCM4TGnvpUXO@ GgeCyqUi{|( literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_leg-secondary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/r_leg-secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..7a406c931877e43e809f8b57ded0ca46a6918e63 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anMpx{SO z7srr_xVN`9@*XzeaS2q7_E?>%vVP&sC7dDJ1v5)n8b34sTzOXJZ^g?XE_oIK2L?tQ z!~=hpxQX9olIPs3&RpC2OiA)$`t_)b6W2e#fAQts@{%LJeqK<`UR$QGoZm3lp=jX; ze}$Rp=6nrzJ&$l-WH8(jE5p0Ny0b!2N`Y;A_hQB}bwPa><|7Zv3QZ2YQ+d>y(I9b0 zuaE7pJvq?ljRCr$PnoVe&MHt7QH?b*1F^A9)Fev21Ui4VZCH0^XOu-bP zXdp)wmjnZW-U=a*TOgPch#z;?B1j@6OQ0v?A<|<#1UCuPMpzPZh-jc_eBIyBXFFK} z`#!VX6?F!dcjuj%=l_5H^ZCw4zO};LRu(7dG!2$F}%jM+ohgB(FEL!k0=LH|UGV-|rMB&U@0yXCaU^FLvA7+MJW;1>Tcx#W$0k zoSaOT9=(|?zVg5gMzn;fA766fSi!S8@8<)*wYAlC!TfXYCS$+dN$G;8r>AD;v75OC z_#|+i+TY#Xb*+GSh%@z+!D)5A9y_KMfcgUi1J3DdD}N-HUKCVoM>wk@G z1>l!TrHa2pLqoE;xmk&KcXyldgIa(hG7bF`0mtX&=G=75lXz$_3qYUm>+5rPItml_ zXN6EQS<0Q9oVZ$7Jf6gP9}>(0=oCc1zxDg=RQrGR+#EtCOBryebplIZ0`X9MvjBk3 z&dydA9Lxm7l}r{V>dEu8@iQ-klr#g~`1rV6juL2s6B83sC=}}P%T#t|X66h&tH5S; z!3xolkr6lb>C@yvotgRY(vLF#f1PGy@u)ylASw_Qhzdjnq5@HYs6bR8Di9Tj3Pc5> z0{;&MOy>ef^6RHpTHgEi(y1@c`ue)r&eM>$dN=B;w+~yN|LERd7TaOOKUk5GUp{w7 zW9-dyM$fKnKA#V>XJK5<%Ql!|vPsH*AjjnL#dV`45%Z>~l%0R|=BNx89ynkrzD`FMFwk`hH`S%OAQ@x_Xlf%)6pR6U#*dPT1EHHfzaH3+UAWJZ} z08WFn*;g(jY~4xo^OBU_SxcnB!@<2W#$ov=o`X?6i=Y+2sr2l}7T;Z7TMKw>o+hZx z&quuS&9#P~5?5nr*Hcbb1xx}k@NpWfHLv#r0Bz;h5nhO&#jgnO*aWJ z|MJgg22CH3Gy2dI+N@;B2ZnzipxWtbjT>>cJ(b17`XQ+I4$F+*jUf*f>AP5FnV1f+? zLZ}F)E>IqUF8~gx0#h407h69>thGgc#n8nM@01VR;ApXH{&+d>YY@O@e-WOy><;-F rw1^e+Mg^h*QGuvHR3Iww-%{XjDa=i7S5~3G00000NkvXXu0mjfnxA9f literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/torso-secondary.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_main.rsi/torso-secondary.png new file mode 100644 index 0000000000000000000000000000000000000000..4e61c144a95ad7eedfc9f805a421bce36392ee5e GIT binary patch literal 481 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_s8- zo-U3d6>)E8IrcRh@VH*S_{M_qjiu=G2O@KtZNDe-t0$a&;q96wsbNv*aktJav~%PB z`ExfIocpN6D5L;GKm3@?J#SUc^FFiq_P1L5>8U^U+Y4pmG{h8M0d-+V{G|NA2 z9>R8-r@L`>*+^b#3>SkZB=Kp_tTj}@G z&eKn}DKP}>cBlyHI~70o&mv`$buYIci2EJ$N$kMO?rZ$Et-%KnWt2Rf& zG0izr3g;WHh-yRabRCcE{4qOT@fHZw!Cd{}wUn$Nk$w9}fQan-6%55>MpW_)T?VA`M( zFLLy<4deIk$DSE(a$8fn>B19cM;qCDv)JDDo=sNypC$6%c%@M3fk3C|`>$nem1D2> zDa!RO{OXkc>C%$(xAbqRJpQn+l&9JB!F?o;OXk;vd$@? F2>{%v%)9^q literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/head-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/head-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3cb6e9e36d48f65477bec2129e69b4c19b861b GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_nk| zPZ!6KinzD84)Qe_@H9M3+9NQp;d}e>2gi07JYl--yZT_yQSZot!+*Se=Db|+`eskE@XZFv)`#T0TmH>U zUh;+g&RS0X!wRLb-j_|HCSElvy>@ENJSVTx8+Q~8eSWbkzLb6Mw<&;$UMYm{LC literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/head.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..a175f4dfcec5179babaf11fdfc901aa32596ec42 GIT binary patch literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_mY# zPZ!6KinzD4^j9-EiX1(De6`!`t4lm*U-eJeberYic_j|B-6#DMt|;ALIjCkfS>no; z{PTxmul=7l(e>fn#?=_{0wtdkLN<@7-yeUq0==+HSUG zl3|4XR|$n(F?!86bHtu}{`td6{_*w$8#wJ|@&E5Ws?=mZ*Kcw9or}je_y5xueo(i+ ze8;P=yKd*0ZPfg=_@YMD^t9&xck{$OW%$}RTOX_aQh%etfB9wK$<>e7{7?U^`%$Ik z^z(GPN$*$cCv1({8MLxQoZ;T`yVqWCmF_?8xHhc&yUZ8Ecb7F7)C^?!Vi#ZR_LFLzgxDuG;!^O zPrqM17r3U}9HaLHK5Ws^5b7}d{By^hF@52`10PO0_pQ+}NZ9a3h_%hZjKFw? zy5y@_Ur*V;`n*HpVfnLrmz{Io*f}sdTv&6!x^vSuyN#9kVc+e(Z#mCV<25~&=d3s$ fZ#J%1`M{p*A$^ClQ8f~nkQh8&{an^LB{Ts5mMjqA literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/meta.json new file mode 100644 index 0000000000..ea5456fea1 --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/bishop/bishop_monitor.rsi/meta.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "copyright": "Sprites originally from Paradise Station (https://github.com/ParadiseSS13/Paradise). Monochromatic version made by: DayOS (https://github.com/Day-OS)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "head", + "directions": 4 + }, + { + "name": "head-2", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_alt1.rsi/head.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_alt1.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..b6446e6a6d2a237fac4840a78eeeec583fce393d GIT binary patch literal 994 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|WCE zPZ!6KiaBp*`Fc!olsP8vTP*0yZ7)>fd|lLK;|dk~11&EUM4o6`<-~fO^>%SdVQEZ} zzhs)dx#^q0+&2mp9SY33NBf&arPoQWo4B-gh4iLrJI~f{E03Pu^z7=!!)N&K{H!RQ z_ut0Y`km2#3ynUr183x?UY){nxoGmk_p{wTtt+XidECA`+k!2-WnumXq1r@dk3Y8r zrDNi_ZDzQYO%qLD&1AvKa{Um?rTbxlM_%U&D_hJ9K9KalH~5zmo5Z>BC%+?3cd31Q zwSm22_OF*aeS|aqq@Vq`=9t>O&;#oJTdwvnn10k~-?483qshs0uWdC-^V8QBew*AP z9De-g=Ej9`Z?f04_;}R+m;Dec&N=gA*(9-pN;b<@8Yd)VaQyGqew}W3xGdIW<@~h5 zXVG0BDxBCZEPTG=E_3+tQ#z9zHn=d*twOoZ#^gDm{! z>;0ngE8p&Nkp)jn1oLcWG_Ow8o)s0J)bKStO@E>ECxyS?;-6i z`;vP;W1{elvg|D0uOFvQwE5{#n_zOMY<+=EaC^d+l+?WHn=kqg1<2$wh`38L9KFcq zP`HH=7dJAn&Os%6rt*eazm|Pseo=Q%u+%X#+vjkj=?OuFzwK*xR{T{ei`=hWlC1N+ z>W)Vr1Cxzo(~bb^^WIz?@7|rgbFuryWH@@01V>Ll$)qx?$lM9>eR<#N4y^Uow6SjxOZk{- zeElRoSopIo>ZQu&+DvB&B~s#@k4h=<-LkFZ|n!U&l-EUUm#1baTRx|Cqt^stPXSExJffXpmup$N{sG|9=rQ> z?z5gRclA-voG%+G?y=zcxruh0qYRGM&2!+7F)sef#Cc#^c3JL3=0Bezl4i?PW|$jq z-v5?$VWIom4_6IqfWB2Nag8WRNi0dVN-jzTQVd20MkcxjX1a#PA%><_CPr4qCfWuD zRt5&T&cRhE8glbfGSez?YlxA1eGI5U18ze}W^QV6Nn&mRLXSy^p{13vk(D9T685l} QnLs@Zp00i_>zopr0DEVu6aWAK literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_arm-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_arm-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a529d9ebb60d80e91cb18c0ed73aaa3086c603 GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;iT< zi(^Pd+}oRuTrCDXtQQ_l-E;ZQ7VG>guE)5VcC7Z3)YezH;p+UU?&-G-^;;peROa89>-v9iUUC7j+S?YFrG4H>#&8X@)mYx^4=eSJ$TglU12KWD` zZ@240=!F}C#87Y4p7>|AK(z8ty^lXuySPWB^MBZ*OcAY&H;Zx%mE!?gb{l zkQH6Z2SZo17e7i=Xf!r*{uIAv@6Nz7?nx@1lT_}$Dg2^P!PweaUiHEwk?Gmvk24c{ z7YG?H6BeAhV50Av{|CYss|iotw&dT&Mv!_>@!OUU&YLht&$T_cOS0l$O$PtPyTWT` zHyU$4scPcic+*`qMQrw0pkq`^Tq8nXaL6h@q*KiIJ7D ziMD}(m4Sh-b8r=khTQy=%(P0}8e-&L9|LO8fZI@#nVVW%l9*e7&|?x}XlZ3^WMv4o UggtC#CQuK9r>mdKI;Vst07Qy^6951J literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_foot-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_foot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6be2024018bd9bac40ed11789decda14a2c67b6f GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op=M7P$B>MBZ*OemZ8i{bz34t&bQ4pi z#FfJrTQv6^_7zsi=xJ2yD(R2juYdY(eW!}&Bo$A4Gnv?i@JX7*(+=-mJyElGQhD1u zpX3Nuu9PL_j$8pReYeyiPajJf~v>~E8A+aBB| zx#LsAzIhLrqt^z@2LGG%0_Yso64!{5l*E!$tK_0oAjM#0U}U0eV5Vzm9Aao{WnyGy zY@%&oU}a#S>l|E#q9HdwB{QuOw}u$G*T;YwG~hOrWag$8mn7yEAoQ4o7+P8x8(A4b VEnyFvnF-Xx;OXk;vd$@?2>|UKe>4C9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_hand-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_hand-1.png new file mode 100644 index 0000000000000000000000000000000000000000..87466284b3b0e5d79be803608eff7b55ea7f64bd GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op)yYw$B>MBZ*LsrZBP(!xp=W?1FN%T z&}7?7ha(y}SbTc^&sE>eJtu;bf#HGmp$9R=zjaRQEzi+5@7-|CeQ}Vhmgc!#jn3aL z-)wr5d{6m`$U1LEps5W1QZK}B+fr3#<2pS0pyXF5jM7H$OUuhhf1RriHxX z&L2LqfE=Y-;u=wsl30>zm0Xkxq!^40j7)S5%ybQnLkvx=OpL6IO|%URtPBivor9}T zH00)|WTsW()(|82`WR4y2Hb{{%-q!ClEmBsgdUR+LrW`TBP&CwCG24{Gl6;-JYD@< J);T3K0RTI?cYFW< literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_hand-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_hand-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b871a17933379e4aa2af10587051df8f69f64522 GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op>j_b$B>MBZ*N@WZBXE8dHBj=M^mB9 zjFYlAAKqbzYLa^V-!|UsviUh428IXLlb$_0bUxg3?@gnXTAL2N>X!?XS($WPmwm$$ zoznBORZcJDZVCIq^KB{6Tn2{!MlaV}SS`D*&GM@;@NL|~M%FUx>2J^KTlX?DY>EAK zL0jL0+2j~dp=yb1L`h0wNvc(HQ7VvPFfuSQ(KRsBH8c(}G_^7@vNAT&HZZUk0qV`&?3Gy&$!I?Y*q|QWwcv8k3Xw#^VH4t2dB;Qi2ha^rDS^hP_Pmh)R%lu zKVUff{>}3>cWl?3^l@usRK9ss^5BjMXC(F{S3SSO`)A*wT<;61S(`Q|J~#&hEO|a*?TL5nHM<*6exG*WF5~^Yghjds zy?-!esQVpFUF%l?3^3Ia*NBpo#FA92AvZrIGp!Q0h8Vfm$AB6%;5L+G=B5^xB<2<%^q7PgT3Q(!Ss6ktVGo;` Q3Dm>j>FVdQ&MBb@00)}KG5`Po literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_leg-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/l_leg-2.png new file mode 100644 index 0000000000000000000000000000000000000000..90b10eb4be5ca5fe2ca3551817781542555569e8 GIT binary patch literal 538 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS@v42+_lE{-7?_uk$xEIQ=C!+K%AWLicM zpLq1!fafZH&JPzpQL$q(J-*-pOWrrJWyi1jJ2p*bstjM4_-ucaP*ks`ih~OfJP~zy z7cqTfvd)SsDiV*UrO6g`=`b!vyU`?m8L4~|SLF>%;t zW1G%&(XuhZr15Id0k-!y6a+)%AE~p~EI3$bSoAS|gKKlkx*{f7A*meg%^*8mT>ib- ze|=TNeu;Y@_sM_f&z6`S_{77gox4VNg7_1MzIm%lgr@SAhHwqt&XLHXepW3}tG zPt@8w(^ZU*sFDdCZ&VYd2Oi?Yn)z zC%kF;2Ub1*in&iuSkDKBnQDn^L`h0wNvc(HQ7VvPFfuSQ(KRsBH8c(}G_^7@vNAT& zHZZUBQ;SOya|;l9OhODTt&EMV455~= Tht13c>S6G7^>bP0l+XkKhFZZt literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/meta.json new file mode 100644 index 0000000000..9f4ca1ee51 --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/meta.json @@ -0,0 +1,83 @@ +{ + "version": 1, + "copyright": "Sprites originally from Paradise Station (https://github.com/ParadiseSS13/Paradise). Monochromatic version made by: DayOS (https://github.com/Day-OS)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "l_foot-1", + "directions": 4 + }, + { + "name": "l_foot-2", + "directions": 4 + }, + { + "name": "r_foot-1", + "directions": 4 + }, + { + "name": "r_foot-2", + "directions": 4 + }, + { + "name": "l_leg-1", + "directions": 4 + }, + { + "name": "l_leg-2", + "directions": 4 + }, + { + "name": "r_leg-1", + "directions": 4 + }, + { + "name": "r_leg-2", + "directions": 4 + }, + { + "name": "torso-1", + "directions": 4 + }, + { + "name": "torso-2", + "directions": 4 + }, + { + "name": "l_arm-1", + "directions": 4 + }, + { + "name": "l_arm-2", + "directions": 4 + }, + { + "name": "r_arm-1", + "directions": 4 + }, + { + "name": "r_arm-2", + "directions": 4 + }, + { + "name": "l_hand-1", + "directions": 4 + }, + { + "name": "l_hand-2", + "directions": 4 + }, + { + "name": "r_hand-1", + "directions": 4 + }, + { + "name": "r_hand-2", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_arm-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_arm-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5e770056ed95b2be02fcbb0d7613006849cc9abc GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op=X{hjv*QM-d^9hu_-{H^`ZPRz71ST z$BRq~-$_VEvZ+eUxY4$r`LK8d^Ru+$A*?kv?XJzAQ+3Lx-QBCgotE~k*Q?efePy-- zWBAtT6YSZw&fehpUu$+|#V?bv*DGddTdc}EXOmtU~I|)5%V+OjnqP zOq#WF{wqQ8gC?(MevZ#_yeQ%DSp81$5uS#ozxUfGH9g~R@R<1W>=_`)Nk~1>b;~4^ zf4bKk$Nh@lQT$WIx}t;MKYja9IJ?fG_d?e3j-x>a>C$zqmDjtOKMVe<4?NI%RfDx8 z=)wMplMU VOW4C^W&-svc)I$ztaD0e0syVctYug4O8oM+kA+`2PDW_93>(~krd92yuHnOHak zpo}_}V-iz&imd<7F_u~|x&Cd;4!dZPBgK{5SKZn?Z9iYtGrLdad^v3>df=KNjK=!L z+oi=;8O!thZf^|jU#|N#>)z@zzqM!MkAAd7wkwEb->pM>-Q`-hB7v@E@O1TaS?83{ F1OQqJQR4sr literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_foot-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_foot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8994994011cfefe211374497fa902ea729f1135b GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op+-*^$B>MBZ*OemJ!Bx_dhxVGB$jClkZcu{rMWZkA0Gg=OmTCH*?=_Fxbq{|M#`?A=w#`72oVM zRi<9h5dX8`0>{)P)lo|)ZvV(?H(Bay(|Zq)jxWsdTn)k}>ykI5N2vdPSr9Pa=#KH4 z$$w|E{;FydZ;NwxH$Kk#8R!_*64!{5l*E!$tK_0oAjM#0U}U0eV5Vzm9Aao{WnyGy zY@%&oU}a#S>l|E#q9HdwB{QuOw}u$G*T;YwG~hOrWag$8mn7yEAoQ4o7+P8x8(A4b VEnyFvnF-Xx;OXk;vd$@?2>`20frkJ9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_foot-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_foot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca884025fd3c36feb1979700a5936c746cf279f GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op(alk$B>MBZ*OemJ!HV(a`Cf7f?}09~V6;u=wsl30>zm0Xkxq!^40j7)S5%ybQnLkvx=OpL6I zO|%URtPBivor9}TH00)|WTsW()(|82`WR4y2Hb{{%-q!ClEmBsgdUR+LrW`TBP&Cw VCG24{Gl6;-JYD@<);T3K0RWh)f^Pr- literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_hand-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_hand-1.png new file mode 100644 index 0000000000000000000000000000000000000000..13a46c2e09224bbaf474425dc80ec05ae3bd87a6 GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op-N8|$B>MBZ*LsrZBXE8eYm_(D(0X; z-$&yv*fY=NQH3Mt7E4?cvRM!1&vSp{I~p zdZGB~ZH29lK&7fBt`Q|Ei6yC4$wjF^iowXh$VAt`OxMsj#L(2r#K_9nMBBi?%D_O^ zIk*Z%LvDUbW?Cg~4KZ@Bj{!Akz-=hW%uOvWNz5%k=rIW~w6rodvND8P!X7p=6R3y5 M)78&qol`;+0O1UHCjbBd literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_hand-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_hand-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d203e571fca443a39a9168e1ff8fdccc6294f559 GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS^Op$bnI$B>MBZ*LsrZBXE8edslZE!?1o z*?4FF;|+&DuRAzlMpOHL>q`M%mZHWC3=RJ~XUzy#3$2_Y5UOe`-2U5Xo>zOmq#*bPbI|3{9;}jI4}Jv<(cb3=DLg zgR4+9|rxAfqED` MUHx3vIVCg!0F;z@p8x;= literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_leg-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_leg-1.png new file mode 100644 index 0000000000000000000000000000000000000000..bb762db0c49173c4d6e14939e3a4a896dde6ceec GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS@v42;5_E{-7?_uk$x%xg9fIrh^*Nle8*WvS``a4U;=S;E(m) zKP7ACua$q3zVBUA_Nfog`xp=3wl!=jJU-iSN#D=dS2_P*bKKv~6Pw~Id3(XLV<9Sc z^3Uw?J=$xvOHFFQ(=&EI|1eaa<8ID0InX*UGq|C1o_EPny|9>BZ>QVjNlvofP`d4W z`Dq3JFRW*t`yI`WxRVYHG1U^+h?11Vl2ohYqEsNoU}RuqqHAELYiJx|Xli9*WMyok zZD3$!V4&+9T!o?`H$NpatrE9}7`fNSfEqO5Hk4%MrWThZ<`y9In1mQwS{WNz8A2^# T51W|@)WhKE>gTe~DWM4fT3*sB literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_leg-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/r_leg-2.png new file mode 100644 index 0000000000000000000000000000000000000000..16f0ee16471f110c804c23e9fd2a66de7521f018 GIT binary patch literal 538 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVFf-@hNS@v42+_lE{-7?_uk&HUDxCw!ur7Y*pXwU z0Y0W1>$D%5inUytx`8Eodg4Q_j5P5Z&ZRnkI$L=j8mZ}5KG*)aQzmc04siiNAow{u ztLoY6XOaD3(Y5 z!t&y!ap?hd>ka>EeoWV`3wW@_;s9Ut8-b3A{Dn{SR|o_o?BBz9W3hw7)P<8eK;Vz{ z+2mQD+77o>|%>D8VHrA6a#wK<<#0kpYj6D9Q?bywKZ$;llx2XjtPSp}9IGAuV z-^RuKL(_ykYLW{MF-pI_%*Y@uqsDeQr9nB0r<;i!C8<`)MX5lF!N|bKMAyJf*U&h`(A3Jr$jaD6 z+rYrez(ChIxC%u>ZhlH;S|x4`F>9ZF$poWv@$lbGK5;f T9yT)*sE5JR)z4*}Q$iB}rB=o3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/torso-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/hesphiastos/hesphiastos_main.rsi/torso-1.png new file mode 100644 index 0000000000000000000000000000000000000000..45fb93052e45ded9eb7fd6f376db6c0cd0306672 GIT binary patch literal 813 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 F1OPHk_Sygd literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_foot.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..468d4f38989f23dee11211ac4e86d1baf6529a0d GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TR> zr;B4q#hkaZ4sx~_2)ORw#O^KNy@5x1Lzwgi9&dqzN@>EL4&S!THmv^fzwyPL57pTQi!2Qh2e<@1BOH#la39qmf`u$x~CsaI`7=j`?w?b zc9!Rcb+6ZLcek4^df|JmNJHkVoY?EfRhIm)IDc7pS$o4X3qJ0nielfVwAlQZq5fp| zr>Y~Rk&KDok`1qic^us-{P@`q&H3DU%Nx=IO&`COV8LxYs=HYKNBxs%WBk1@JbS{4 zC(@6lXm#Pz41hx~;DcCpSf_@Q$!Yi&#QdWVw_l=FCna&OyRlm2jW fZ#YA1uTVb2zJdsb`BuQdV_@)f^>bP0l+XkKvgVHW literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_hand.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/l_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..05df57f392f65c0bc4a3ee49cfc12139662f24dc GIT binary patch literal 444 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R58 zr;B4q#hkaZ47*w#c-sEA>aJn6&OUfaxPIow$~jyoH;7u;R+*q(>^-7}rq|8v=bmN&#Y2(Wlu7RkN6NknH- zz_g{ycL;6Zw&>HWUixg(PhtNZY_5ikcwC1p6~^cq_+#DcBfBhwHgGLC8f+Y#G~pp{ z`sXjNY?!LKjuh&co%tXg8mh>1*!wfb8>U4XhvJ>P_gnRU=y>&eSN})ScsLr@q_c8T+9?Mu9%AhJp}=mc>j8GNKF*S1@q6vpQI4F(9OZ zWj05x-4M4v+N0-ea*o`tl#@pl59mzy7MbkD_jF;+?YGw&9GTi1#C(^nU|6zj%JXck z1Amo{KNgIfHuLq@Sw+$_f><}OqzF1pKKWVZ_g}e{kvd{8O004|-nhqf{<*Mk!T$Rf z-$tc0EuTEoM@>(E-xI}-y8ZmthFbocZ@-=7sqyIX$BGR{ zQ!2S{Y%{a~<;T%rxm#>MmThnN`!&-jPg`Via{HrSKV0p^ZpbywnVe;`@1HmU zFSZD49|(CjS-wBKI6d-Np3`}iWR@8>bK0)IZaw|f>ASDqz30Y@FP@k$$|ifpEwmy2 zPl3f3A*rMDg)U2YO=q(_I-czx0-p+ z)t2ciMjS{ma9DpmdyW1BdyW4kR;7zYgMR-$$dtEz_HTi(wvE?&!x`sFh}Uu+bO~kP z{P0-)!||t2H|iZ^dNE^{(m|2rPhJ||xk9SgvV?UW{H@!4tfOrA+eyDSa-Q1Dw9%G% Z|F00XiyyiDIDyHA!PC{xWt~$(69BkT1;zjX literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/meta.json new file mode 100644 index 0000000000..118c3f613c --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/meta.json @@ -0,0 +1,51 @@ +{ + "version": 1, + "copyright": "Sprites from Paradise Station (https://github.com/ParadiseSS13/Paradise)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "l_foot", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "torso", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "head", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_arm.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..27ba8e0d26357c9cd54b49afee0af39e0b6bd72d GIT binary patch literal 557 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VoI zPZ!6KiaBp*ZOl7lAkbF7c*`R}iG-C}Y}@uQCcQay;@ZUJFK#SPcynyVQfWc|g8~az z1zqRrYJ%^9LI|G&QcQsi!)c+d8p z-P^dbSf_N0D%-qUYvwU&$qja`kJlarF{Yoq{NwINV-7+8xi8G8)%5*-EWTW=|9WIo zFzcD;#cQr-|K3pRsBv<#O=9re;1iGE^6p5~7vo-T8e`@-SwHQw`oWv5&PzJdTDH$K{0O}|=HYUj4; z4Z-sd)a^gMU}^ItwaM!DL=QaSZ)d)>=;V{m?F?%3RXCSB&KKVGNVUON$mibkKei=% zST?Y>uGM(6hhwFGLyS~E&;WVAt%iysdcDWDGj(-OnJe+1saCKF(>ae=YnTh=_FPHv ST=p3l{|uh4elF{r5}E*Bx9Y|K literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_foot.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b3dd55b59026035583a8bfd48f79ac1ea367ef GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TR} zr;B4q#hkaZF0O1b5OHy@l%J+BEkV*OVXaw$L57pTQi!2Qg#le+P7tG5AKO%e^P6=~2TfV-($M?3 zBlmXJ#Dv)EM+I3c^EhWLJ9(|t_5OD~hOGtj(q)48MGNV1pE%ksc)ajO2=D6mCW`%) z>!!S))^eI@PsaUUc5PSJFa6e3O5SdG87$0w+qn0){Gsr>mdKI;Vst0C~`p2><{9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_hand.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/r_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..716f604b4f387a9b358ce1ac595529e3a544b54f GIT binary patch literal 444 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R58 zr;B4q#hkaZ4A;3jh_wBmzQ;-T;!07jPT3A#jkjm{RHURg@U*(FD19fhb5eNh;n~L@ z+s7*{o*{Gm`3%ixHO(@j3`HRfCjuE2+*uotIS*!@dG>45%pVqvfg)!kr!8EirOheN z>R}++o;aaea_yS9&L^{$y_~c@@!qM*%}hs@u}pof=W}_B$BNfg#qX9i6v|BBsN=o5 zA$;>Q$>STZ{^@7B_teWH|?R?qKPlpzAO_!%62~}Zf3pnzWm6s#~%-TtxBCM zt+GI)>&U({DMpUdQZL?NS;>@RQ}X9-JY#fP+o?78-~Z-Z{Ge?2&W%0qt-mwOx2e5; zs;E2hYv++;$$xAWLJr+#(#X`Rm3sT?_@q6HdyfD3;ZzarkmGs%;j!iaS#fv_?&l4x z0rMvuTcq*FeSb|xR@VEQ#hY0IK4s3@H7!K*!FB(hyU8CuR=oMubo}weyGxV88C3mc zA8oTbI;Cdb^Sm6U=m!6PHFk@6b3S$Y-kZ>(wt;oa%st1$9fUb^7^l?i3}3Ld?_!SG z;ky0#CA`xb9u{=Ot-t;&j&WAK)!bbli*{~UcTgzcZs);F&-$i=2?>77gCD=%z!DO5 zaZRq~{D!bQUKNs-8(0Fkcc~rx{(OHN=ax@jpX|Jy%rUK@%6{JE>Cc@$msri6{_$tc crlbFv%PuooIrTjj1g07WPgg&ebxsLQ0P@TVYXATM literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/torso.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/morpheus/morpheus_main.rsi/torso.png new file mode 100644 index 0000000000000000000000000000000000000000..49afe13d65a365fe22ea3cf4c557e16fb93ced6f GIT binary patch literal 758 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|V0v zPZ!6KinzD4e6x%k1=>zOI5bybN3re;rw?q8SnqJ$JK$W&e6Uyi1J^r|lGlC$M|yYv ze6}{f>V=PxN4UBzXQi~$ZKJQ>LrVLXM71=tcr?J!gM6WkKi4+={#*B~#(u8fGmBY* z3|{O-vT5u+-!@;&2P$ zqj~93v(7H_SsrXT|NJgD*CkSVAJ%UW=UT8aZvEz?Ns2$$eB*C#u6X@GXbTG?!&Tjc zi^9sx92(z?`U2A?oSk-h>8^wOiC>v?cUA)l`R*pFWA+!MwwZm zU-I=7=9%(*?OF21*G{@k%&dR^^7#}|gV|@}ZmwT5dE<)90bd_|_6A=0F6Rp=_e(gM>eeJq-u|9r zr%S}`&&wuXj-7Z=o8xe`@{BK%2`}FBPOpr)?pf!{F0kebFJryNr{F(7PR&@+4NFQ5 eERzI&uwOXuwqf-uCP!dGX7F_Nb6Mw<&;$UDQd#N% literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_alt1.rsi/head.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_alt1.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..891c07166aac5ef924037cddf16a22a531756dc1 GIT binary patch literal 627 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|S$) zr;B4q#hkaZ4E>lA1zP8Ksv}#R!M1#ot>sdc7<&IA}U{!vW?OAtdU0zM)!gcW;4y&)8O1>UjYhJK_ z^1=D)o<$~{LG}A07F~az{CA_%-it>{j2LJ6hSq*HexRzW(Nfsc8eG`c1bVCYp5p zj&9(&e8Zc0dDHfWB@W&z?ORr5IB;K{;I{vZbGYt;RcxmM)P6awWC^)=VCBdEtO+vW z3?RQ9XFXt{$8fBW(V&mJp)iJ_=P?sh>Mi@>pEjL)l>Sjv*QM-d^9x+iW1fdf~ms)O(Lk z)G;Xf&*hffw%(zwmF?NOfDJK;=UmqLPvl}SSh{v5?~96=>Yv{UarRrMhKWmD(BHHE zxqyzqr6d+55Gd;Sy>tI7bE(~8zc)?anCw`d*4Wha=kb?Y`wmQzn|e8H_MhYCGrDC8 zuZN#M^~d@3ScwaHO8U0s$uV~sf;=yqe@mKi|5sFt`!l%yn~>+L*o!bQ!5iAD`OLF0|P4q16}9fDijU5`6-!cmAEy;$h|%W)Sv;kp(HamwYVfP jw*aBXB*f6t%Gkonz!+kQWTp8ApdJQKS3j3^P6v%V8m z_cU~$nOGRJtf*{5wf;obD~7GJO(vF1VpU{_*Jg5$yecUmIPw36Lo%6%Z*6v3{Ben* z!CW4b3GLwq5^B#xXJo8nKfO+1#<~sZHjn-1aWQNNP1iDb%voe~bXv2~{d4m^^cWWI zpICgD|H6Mx7Z6x-MY*Uf)Bazdcpk&Oz3=iR1T4Nt?brX-c)7p#<*j`O+R~p~`B=Z; zne-diU7c&+toynrq-t%xkM{14jw3Y;-WkrF$_u9%0DYrc;u=wsl30>zm0Xkxq!^40 zj7)S5%ybQnLkvx=OpL6IO|%URtPBivor9}TH00)|WTsW()(|82`WR4y2Hb{{%-q!C llEmBsgdUR+LrW`T3o8StC3o&|+5z=2c)I$ztaD0e0svMBpm_iQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_foot-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_foot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee57febec2d28c0e8f13b90d9bbc3537c230e8e GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLP?%3jv*QM-ri8;JD|YBdLgd)xAeP1 ztp#&$up}`VZSvhSU7=q1)h}hB(g**&rqyVdE>2B5EoJ*FWs!S-)zfW%_CNjkDrFJh zOkHcBk_La<{h#E0Bi^&QNmn&}%}X%3E-bVEtb1i&=XndDylRPSL`h0wNvc(HQ7VvP zFfuSQ(KRsBH8c(}G_^7@vNAT&HZZUB nQ;SOya|;l9OhODTt&AgTe~DWM4fwZd?_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_foot-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_foot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..fcdf5bf6504450677c875fc392fc0fe47a0e3dac GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLP?%3jv*QM-rm^AdBA|jC2;M-ztV3P zwO)zsVtJ(0+T*+7p?yK+A+6FhpjrloH|ryR>wZ=A;VNDlwADrH>8@h$Z~f0JKQgZ~ zX9me1`1x%8pOu`C?>gi=`WxKi{gP#SkX1~?xL4gZpbaRmTH+c}l9E`GYL#4+3Zxi} z42(>44a{^6jYAAgtxSxpj7_u+46FPv9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_hand-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_hand-1.png new file mode 100644 index 0000000000000000000000000000000000000000..381573480ff6d90351ae0af543bddb3e9fce2159 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLK&Vejv*QM-riU!c))jzs4e5DN?Po4sDLDOO!(2OYkJ}dm73XaG{Nc;&Oicye z@M+QBj6hWkA672C8~gB;ocy$R_Ww_B-R-2U$HuVXJ3~R5A$OnR5l u8Z_WGlw{_n7MCRE79jMPgcw>{8CzHxKrOj*kJApQhr!d;&t;ucLK6UTb#hMt literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_hand-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_hand-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c502e77a18f8d3cbdda261fb671b01f55e2a062d GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLTR2Zjv*QM-ri6YI-nrnd~wTmhwFt! z?>31aTDnN?nvUuJmuGSu+?arNMP2{!#mdG$vz)X#+BNi zckUDcn#RE3?z_IMb@#8D$zNjZ_t|gPo|0t9(6Cj!ZJM%FrasGipbFIz*NBpo#FA92 zAvZrIGp!Q0h8Vfm$AB6% s;5L+G=B5^xB<2<%^q7PgT3Q)fSQ$VqxpR-x4ycF0)78&qol`;+05H#TLI3~& literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_leg-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/l_leg-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a4bee8acb480870cfb33dffe1e0a276e229de035 GIT binary patch literal 475 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLf1T9978hhy`AC6b=ZK1<*A+f|Ci-W z^MzmdPnz?4+LJA|Q=FJGQ#>_IHWYt6s=c;VUt7?LL$O7`X&u7{>$7L~1sQf(>1w#G zWW2q5smSIpdfZ)cX@M2F^_tIe_irmW#UoJFx#+F9$)85e44YNAD?Lk?ba%CJ>MYg% zXMbVp(k*vP^lPK+XPQWTlB+4u#rnI|pt=&%b6IImA0u zAFpM7P#196<9K??A5Xc99a49BE3zbnJKnHud%M=w(Q?}U^A)F_&pYspb;8qv=}v`a z*MUA%Epd$~Nl7e8wMs5Z1yT$~21X{j24=d3#vz8LRwhPP#wOYZ237_Jy3WB>C>nC} zQ!>*kachW?dwmS3K?80>NoHtS|DP}`=-#~3Jpa%=2hVj6*!X;om>c{I{F3r* zR@~zEQ@IT^K?Vx`^nJLya+!38={FW1^9j$StDClc{K#eU?z~0p!P+N}vy0CrMcm%@ zzK}UQJ>?hUGHH+F&#RgqTKzln|LJP=6V(h8qx}7>8q$9QeWY6A8c~vxSdwa$T$Bo= z7>o>zOmq#*bPbI|3{9;}jI4}Jv<(cb3=DLggR4+9AvZrIGp!Q0h8Vfm$AB6%;5L+G=B5^x kB<2<%^q7PgT3Q)fSQ$VqxpR-x4ycF0)78&qol`;+0KkVsn>+iN=5ER_0bU0?`BcAM=|3X@Pm?QtQ zc{nfAc33obr-690;zdCPW5dm5zf}(f?T&eWDw*K}AIF1rzUQs~o(TOddcA&o+5W#W zmaJ?u4C?kbKl4{m0)f@;r=PVkwpH(DU^Z%h<@}4Y(=x+H|8Aezybh_$+jsqadg4Dz z-o)l#tL$%e$XmdKI;Vst0H{ct4FCWD literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_foot-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_foot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..da79cffbc9ba45c8d060d1bc1ce9cde58b8df52e GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLP?%3jv*QM-rg|eI$*%#92l$oJ-$Xf z{={sn7N_F@?aL0=Pq?Tgr^^Xc%FwW1O3rRdh*s;Rvb-OM&Tvl6DpfI=GcW)6zw)pz zK#PFjN6dcZ4Anh5-pHG6;n{n-Zfoie2KEs5%A<_CPr4qCfWuDRt5&T&cRhE8glbfGSez?YlxA1eGI5U18ze}W^QV6 lNn&mRLXSy^p{13vg_Qx+k~{Y}?SOh1JYD@<);T3K0RVN%Z65#t literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_foot-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_foot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..90b5deb87c4f8e2843cc28b6ee6204d88595d703 GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLP?%3jv*QM-rm^AdqhEizv z_i8miP)P&-&G#JJgyM3(@v}#@?LAw!HT4Ih=K|y2O?O$Y0_9apTq8nXaL6h@q*KiIJ7DiMD}(m4Sh-b8r=khTQy=%(P0}8e-&L9|LO8fZI@# onVVW%l9*e7&|?x}XlZ3^VPycdn|8N9+vRX0k5zQm+Yg%@ZuBi;DldDq z=+(RhT9QCD3?G7nJ5Bc={8(2KwMycZXQ@4F=9@}}AIDfDxD2@yytjfJqFUk_QIe8a zl4_M)lnSI6j0}uSbPddO4UIz#O|49ftc*>x4GgRd40N4?t57uL=BH$)RpQnVBlr3k vP=f~ChLX(O)Z&uF+yaCilMq8oD`N{Q1E?i;?s3`y^)Pt4`njxgN@xNAZ##1j literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_hand-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_hand-2.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cc6b71a6792ccfb7e68aa9b429132e47a62c4a GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLfM`!jv*QM-ri6YYB1n&x!4*V^0?~L zJyr2l(JWjCO_~&D{Le|BG&d|)6{z@*5C8W?H)9W9KFy%GTXaqSCTAeSIz;%vthqZ@ z>{4GbiwCHP;m69CF0<! zC8<`)MX5lF!N|bKMAyJf*U&h`(A3Jr$jaD6+rYrez(ChIxC%u>ZhlH;S|x4`F>9ZF$poWv@*7^GJslg=N_jWP!EHrtDnm{r-UW|!~b$? literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_leg-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_leg-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1bc5a60daabe0bfa7b3e84e9e99e45e4e6efad GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLMJ?3978hhy`8a<_pkvEi)Qa(Mc&@W zk#DZdJi5-VRq%kT%T1MuOMYatc>H+Y9N^p~;KZTWBJgQF!~Kt|=C2oBy=4gp@9Gz} z`bTwUYvi4>itF-C%Wvsn==;=e@LK%9o0PZqwneY1YehVMF|Xs(Shi{U9KJWHT7Nm_ zD&-$EmQgz22{ll9k#beQ{S7V0jE^=suslzxzr? z;)Xzv?HRrslmAZr^jOz<w7FGsOOYYp`v;*p4@O1TaS?83{1OV-er8xiq literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_leg-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_main.rsi/r_leg-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b85c3213d4cba71eed8143258bd0d9d531c8a2 GIT binary patch literal 449 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVKtWK{?{jfLVG-2978hhy`5pm*J8lK;yZ7$`y!k6 z?Fw1}jvZqKrTt3_rp{+N)9{m$Dock5t{?8~^3PpRllx zr;1)IIwz>aR&XT#(2Dp4X*H|tbA!(?_|3mF!{(Iw)s)Ti47n!+rzN+Xs@m6No4_3C z2QrJnpv@@k{f;;FFLEU3O#kb9|EAHGqxanlF4xO%k8Vq`bu(d+l@sK3ynXmiL+wrb z&iw5>lU4VBi2qi??Eiz|w}9VjIe%?epgF1~t`Q|Ei6yC4$wjF^iowXh$VAt`OxMsj z#L(2r#K_9nMBBi?%D_O^Ik*Z%LvDUbW?Cg~4KZ@Bj{!Akz-=hW%uOvWNz5%k=rIW~ cw6rp|urh#Ja_1hW9Z(O0r>mdKI;Vst0N#FOrqfn|5uv{(tw5I?Kh&3|XtW zq=F~2ipm=${65R3dV$F_Kqgmuh6DGLEnBucnfzy>dGggyg}b(gxn=Mln8x(tt;Btw zof^Cc+*sP)|71S&Gs2R0f5NZ3e~$iGD|4T@vf_*Thr5LpD%#?KjWcWPckgScn^r%q z|Eiy;tgNi)?hck`AJ50QT-vzm!=EnAe@`UL(pDbRS$w?UoP@dx6g()uGlTi3>Ku{X zGyeSg{CnxCQ>(f^U3hp?FHir&k$*Yz(;Mz{Een>2J-_|Qo1Z2O+7C=E_JoT)@U^V& znz;C927g8Ak;Q$h9BPkVzAO6T`)|i(75qH$vTvi}=5faP>V5yMHR0^byYAXN-!)?V zzZ!(gS2VOI?(gU1mlfS^dnd!G;nJF>_6zD8Y`A4EwoH2RWXTErMA!54Uo~EQf8Zd` zt2EiE2cC(Pc%{zK@tI$~W{<)2`4c95u>ZjNczgXq?WdW?fsw0P;u=wsl30>zm0Xkx zq!^40j7)S5%ybQnLkumfOpUFK4YdsntPBjqq*uhEXvob^$xN%nts&h_;2}_h2Hb{{ q%-q!ClEmBsgdUR+LrW`T3o8Q?h$VOKaoPd(FnGH9xvXSy!*yulGG4sLOu2 zDCGRD6xN2Vjen2MdU`Hb|?yCT;7UYgl&foZQc z?zwdG^y$@?vm2RDe=!zrEz+6Ww9otAqLW58S;>93M5aHSWV9|s3+Vcwl?Q&r?G|z0 zwK*;}_vQEb_9mfX-TJR`|5!+KgmG=R-+OzyrNFMHE!-Es)%Y)Nt`t9@Trl5q(TB$^ zjB-AUn=_TyKf5Tyae1OcyikLu>GqOR7QerLD}6rBk!;Mf*|xmUX7b%xHSgZVjp)`RBWH8Q^Q)h&D{nT8)mNLniMcehEFuksrthySQw$|anM1_s6! zPZ!6KinzD89P^qD1RMgFuM#=O6#Z`c0ndm@Yj&`EtCZboo_jiER@aik(>(!~yzWmD zm9#PbX8h_HZ(|z+lUQTrJm*!>pDLbvz1{czaTTxCw`X@`mb>2G#v3`!^{vsh^4XIu z)v|hbY%x7h^~Phjt&7>J+3|}Ol{H={zrFcpx>m_6?g`(oeM{r5`1)tvYp2L*=BFoY zwE1o#>=1js=+((@x2w-H$sZMQ6>LlFIR4o1)cT&iXIU1w&RS-vGk@T6|;Crm3sLqA4J@4FtERe!kd*wsBRr_AWVWpBfQ`@%mM ZLe@V!_)Bk(1u&8rJYD@<);T3K0RU%m%I5$8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi/head-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/shellguard/shellguard_monitor.rsi/head-2.png new file mode 100644 index 0000000000000000000000000000000000000000..0d5ffd6c10e8c2025bcab45baf913d4a4d4be840 GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_s7u zo-U3d6>)E88TPdp@VFk%QnldTBGdM{K*;OG4t7-`+3yRIk1MB6mGqr)BWjwaoRE{+ zw*7xQE=fG!p}@e%+n9U%+l{p+lfR0-&72hz(Y$@F<>beEGVXt`4iq_eKk4_@Cn;?1 z>o?wCC*Y7FeQ8;{$KriI4ZIwFZ2gi`<B6^oag&d%8e8YOIsd|6s!!{bW&ygI!-0WG zpn(AkQ{KhFR&vslV-KeZ?&NZ~k#pH(dEVE>{KZSZ{q+~n^kbWxIPv_pwDio{ zB!(O#v#R3+VsX`YPU2GCq64a#DvFKX!ge*SGHNRzdd5h>f`+JLfKaaeeZ0O>%|4}q&#h!@5BKPBezHPWIcmBE3s_Wd&xb8r7> zWHpiEU2-|o$DdJLFZNh(c6j}3{@L2b*L@#KyGq|k`~T(2(F2cJ#SHcrOyAC6R9&V# z)$8G(ot{_joBP&J+3><`^Uco|jjTJSCBK_m&ehs9@xY_gPmR)@RI(ey>oZbzX9gd- zHU0dxk88yo*@}e=%-;Py(e=L1pYv|+?Tu^xvt`cR+z|dh{(}C?YfLj5wln-Y|6;NN z*ten#4_7d7xU)J~XfYfLWEAM*YA6U{KuFz|uZq4R_p!p}(%prA%OAhz(Y>>~Ut{}m z&hL*689%RUc$u;Nwx80(4i~26!st0Y&x`B)I+CjYoVn?l{&^asjGXNw^#|wJY^vj2 z*M=2ux|y>=NTPY;4(l`B2W~t`{mNSRFQPo}>{+(1d{gF#nzH|KSHi-4nS4~VVh;Y> z8E#XoIQ6J{<8f}CgzM*I)dZURdgTrUmEQDkY0+J5Etbf)Hth71BX^pFA{;hG^i1_q zeg5o?OwrF|Hy5LsCie{|Zun^|r{4fHhTCf1Row@kAC}#@*4SdXukN#0;^zksm1S%; zoS#!4pZ`6?=H*Yz2X|j}S=Rmd!RaWjApN6_Lp*8r%YWu;SZ_$ZXa6g**1riOaL~f7 aj#1Z`S7L@y!4hC%X7F_Nb6Mw<&;$UjSWt2R literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_alt1.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_alt1.rsi/meta.json new file mode 100644 index 0000000000..9f87381cd8 --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_alt1.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "copyright": "Sprites from Paradise Station (https://github.com/ParadiseSS13/Paradise)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "head", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/head.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..08b60b4ab26605e7c0756e3af9ee12fabf55c0c7 GIT binary patch literal 629 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|S$~ zr;B4q#hkaZ4D*-_1zhceR4f>TSY=sxw?AMqxx*BAp@<<$ORq7*f^pFU4ik|Q5f2## zt}P$88)>V1O_YsTKBKaCZ{L)UHn(?sJm!};&U(Nii*feZWfT5Y*yJe~|E=5KQ*Sl* z%EwTqu+^c450<@hXozAnfcqLiw>sj z{50jl+p@=e7lJ$)-pchK-@&b+_~r2_3^S6mVb{oe{bG?^t-&1K_7QRVGKjhW2OWdafZh` z7{I>MV>njGh%B|WVT;}V2%Syh-Vt+Woqztcc-tq7#7{x<;`F9JZ7K4cAY{Ax(&n2! zZLjtFC!72f@zZE;x&Kam!g|Z6n*H9n^HQ@Kzq3?`6e*Mob%b$^Q&X)n;n)ld+^(6X3GK}M9};R*(h`nqEurTst~D zbCy8c!r}?*YtK)zIjGdow`P+L|MAS*VxE&O=$;nz*zlLbR*t{wce|MH`SqbGWt=)2 zI2LR#UGinWrPfFNFX0l00vR!V;m+z{p~ZlZ(ql3Wc#(D6eMc9Avu@=pw}~9moZ*5E z*I&2VoL~D~Xq}Qm#_h7(Oxq@__%Y2|X1F@@+Pt~Uvst9hY*@*p&S>(d!0nO6v-?a} ze!u@Mm)?9WRD^Zas!dX-3RW?!OKe@d-D^wV%d!2BEiQCEwm6slzb0o=u&#pLzo^Lj?LE7ecHAkR_uN|f+P?Q6 z*I6w-DZfGI^xj7ax3^uKb;r24>BOmBZCQ-h726gqV^4K^trOqWk<3UG3RZm(U(D#A za@%It@%d6K?guD8I5Vwc{musUQ2ceJ+57?Zau}t%H43KlqRqT1v;#&W|CvSbuy?rcO&*;P_p)WCS zcCCvvtGl?L;e;kJsNwkr0VkQ`hNmt6&AsxQV;$qPRL96^H_v^t_uSk6Kdh(*I3k3$k>7rvQVI!PC{xWt~$( F697Rp}uaMJo=P_%3{39k;6Ef`C9$(91_Pc8gUm**$jUWaJVuVKL}D@FXed=&AV| zYQqjV-#NR&r}6U3mctJNQh66-9J}n~dcfwqr^8y!0~Jv#I3CQo^ZvVr<*z51Tq_oA z;`r3PIJk;y!{<#8^a}qURXQ=zGc=%zYr^TLi*C(36}#Z|u9Ez|{eN0!EU6OR5Gz@G z>|)o#AV!}y&P7bK=Bj7)A5wMO>-PI!ItNytAUt_ajnVh=67z%GZ~OkueH*W{{{Bqn zX)>FV(zz3!w&7xzu3Y3%Y-?8HB))miB) su&b%e->G=dQ~xthZ+UjyT#$1XFgY-Iy85}Sb4q9e0Q9H#)&Kwi literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/meta.json new file mode 100644 index 0000000000..118c3f613c --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/meta.json @@ -0,0 +1,51 @@ +{ + "version": 1, + "copyright": "Sprites from Paradise Station (https://github.com/ParadiseSS13/Paradise)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "l_foot", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "torso", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "head", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_arm.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..24e15d419add82acb47ad75991fcaa480bb302a6 GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vn) zPZ!6KiaBp*9qc`1AmD0$X`2K0#7Rag7+v%=6?zN09yl?3gdEUxIb~`7;^6E3QQp-z zN^Ra8O?wvmh>TtB^Y3 zPQq5bvo#0$4uKu)!!RY8X@QI|1EycVQcGkHxq5bfXWg$TBrr+7tx@L7X;1lK=`(hMoDWuW+f8$5JNf%miJe(tj1r?y-R7GQigqfP_Z@%i z{dYHd=ZnkUv*vBT?d|__Nq54w_pCE2DkKygYxqu7{;yxE^;U%g%`H`o^WR>c Wf9zw^$#1~eWbkzLb6Mw<&;$VP)YIVr literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_foot.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..f04c2fd7a6452ea43d42a3d9ec057485521fcc10 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|O(o zr;B4q#hkadE^;;-h`2oreqm(Qrft#oc}HKih2Jf0UY7ZjZnPixUmu{e?@1L){3P>7 zG7N=$4HoPUbC?y*F$z3q=qP45V#$ChoXu4*FTLw^p-j&0Z%H!OWA6W)v211Lx>XE6 z4_+_rWlz8V{l`*Ar6rZ~*6&Q(XOo@Vv5Mj2F=w4g%sonJn$J&dzP5_1p#Jj48ycr> zRz3UVEQGMo&SLJUPJ3{N~5PE2H&pv(xAxE9BEIN{em_i3pdO$?7M z>?zZ+5)ib#{)q_5(fc|4*j3>c0@dVlj3XRofTbG){Q` z@ARfE8~wX?MmL_tfiVFY$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_leg.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..653101e63afc2dba2c588d7a13c3c68741ed8d73 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vo2 zPZ!6KiaBp*8TK_B2)No`l53XglxbEHe;^?;r?shhiSI$frX#5l`%;ysaPhO~oZXZ3 zQS8kbn;iAiKlo1>G6wW; z6R$4*BIj`W{dZ~2gEjNcKY#zd!Qg1zdhwv9p8*F{y&I}6bRF8;I(OO2Pv%D-n*Nx?T*LS1h7zOBzTD{RTI&Dy z97x^pqfqAVjI*=Wy-r)nGLb>-|Iw@K&s?8ok!W`*Z)yeShnL>FHl_srD@l22Q7rzL8a89xytY%_^&H1~gIZfq)%j`ctTs{$K4BOh*w_@L0S#7sn zUGP)RVaMxDvbEQZEMBi^@@V+~=y6lA%(Ck220-~Rp8 V{3{I=8-Q`o;OXk;vd$@?2>>Xg?}`8b literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/torso.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_main.rsi/torso.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1bd42ca6cf6a01b57ef981fb9b2d359ff22b4d GIT binary patch literal 961 zcmV;y13vtTP)n>3aA3A zfGY5xD)38UcP5i@a=Dy|#bV}kI+^8iX*QdUXslQ8sqZWJEYdK%)9ILOHfze|@`d|k zGBK;w%Cy_1S#QeSkF;?c9sjYfk#9@hg1KdhewU%UsvXgat?ywd)bkrLy-vin9JRKYKlX1gSm(bX7IK(Y{u4aQjGVtDg3XarjHQNkPDmOaB9+FL(Vsph} z(Sjus2{RgvOr*&P0kbGkqFSw9LglmB%(mi&$V386r&9~o?RGCB;72lfsn_eyVzIdDE_oD-_5dVF`b&_A)F@6rU%3N zU-f$SdFP)A<)5;xzFzZx`&)kJgdW-B&u@JT+r8ladv-le>FdY-U$1GHwtD~O345;R z+?VdZ7-G%P@^%{c6i(^>hngjvWwK=l?*5kk`Q`7e`R#Vc%F9zjVnrFmw}h?sTzv6^ z>4kb;2EPlAH{QDY{`hJ0HQ0Fm`F6VuwaJ}U^R89g`n4}!;^5@}6BKicX8pX7Yc_l3 zOKzT!)mOjpL_}pCynmZ@*6w3FIfZ_F3%z1rB{appH^9>&;J<)X@0FKLEFKLwkb+uc z#MC((j7+lH_r~dmomug(`{<&RX`34__t)7Su%45^yFejv^4GZU;m7XW{$;byP;R-K zylLf;vRfBgwta3athoGY^*_;LvUyvh_T8U1}1VMC4ZH4}aHP ze;xPY^YY#O*)x9J-P5V@^Hb)9qRwRT1Kd)3GUq#LF$fegy}nwe{-EK|*XeH?TcLo$`cfc@K0wH@nPR_D!zGB>PKdmi+JRb3arHPO(g~ rm@%QGZutw%mok$5SVBff=>vychiBo!m>X|_>6*dQ)z4*}Q$iB}Lg8x6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_monitor.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_monitor.rsi/meta.json new file mode 100644 index 0000000000..9f87381cd8 --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/wardtakahashi/wardtakahashi_monitor.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "copyright": "Sprites from Paradise Station (https://github.com/ParadiseSS13/Paradise)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "head", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi/head.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi/head.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f1925c189058ca802a0cd44938cab84a3c2fa9 GIT binary patch literal 1014 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|WC4 zPZ!6KiaBp*`Fn^2${gRHv?Al5XR>dU_0amf79sGr?7OJJ>MHs@12?a z{qNrQXZBS7_$}M`M1xtuvQTtE#e6ns{R0m&Zm5W|d8| z8P0CF#Byo9$3;U%@fQ}Wj;`0wX}JE{)axrl{`T5S7wWv8@9!*HFUY~-W8SFdU-eLS z!NIM~D-|x}UB39|a^9M?YdK$YOFB%RKXcwOo;iR1WJne0i{v)PF0V88&B)6#3Y#|l z;|q7Y2`oJO(#0niF)~}k&uDuc8hY&TJUPW$MdqO8Oh3f7DJv^K-oJ0{THSm3YMqm9 zS8QeEo_+E2EFpHbc>NFCntgwtUGigw6I)MS_6z+BAG1tv_31W!k&Dww@INu>*gvoK z$R`zlUP#pSX>%w&oh3i@um6RB_s73&;Fp!w3#nem^x1BqVJpvq)?=r|Y_iO+Tu;nA zaJ;`(XTn9*8UIW(GQX-`keYBvO*ZM4@^sl3$?isKhmsc5T{LVJcbuiddU1wr+wz$X zy4K$qr`2+KwoB$+c;cRGnxVm5FQoIE>qwKv+fvEM$UK{Ocem8YJ5)`5<5@CiuIv3r z`met;x)?}osrkHFdX~xWx79LRMccr!a*DyD&xm2tVx9&ZT)#Un3+w;gulM{NwsyUs z#R`cQUWG)j_Pa0Nxzz`9NLxER=;2%6YRV+SoH^;+#*_thX6(J@m0f-oY>CVnpQiM@ zDKU5`Uio28^z-YQ3yMB}TJ+x`YRUptwr8I&yo@{Eo+$4>W!sinGh~+j`G4U8N4BM* z7+a2Cf{c2_{U72BE^t1+duPr{f5(NFGw-BEdGyQ+=J|g3qQrqD;kAJRMh$G+ZofSi z_m$Bl?Vjfh-=c4YHSz!Vq|0B`=n%``*w3_b<;op_&mF&c%dh9{n7UdZaXb6MtD={$ zF~vzg(R+ByrL1U+Px~v8L(~7*`09Jbyey2$c~P4!|NSEaN0hXNL2P^GdWKA6-sJBo zFWG8zy5~iI6767hQaf``i*4TCzrqZ=-3>N7wJcc9x5sD+-}0NhI|5>Rw&``hX66vm zd9_HUmR0Oq-~xeuJ=vFR6Uw5mKYDnD{YaB#hs@u^tkr7`RNN&QP6o0$6is2AAd|{~ e!L4GhV_tP*cC32opH0Aw%;4$j=d#Wzp$PzO55s-{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi/meta.json new file mode 100644 index 0000000000..9f87381cd8 --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_alt1.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "copyright": "Sprites from Paradise Station (https://github.com/ParadiseSS13/Paradise)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "head", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_arm-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_arm-1.png new file mode 100644 index 0000000000000000000000000000000000000000..48cf08df0799c71f1214d1c90ad4b07416d46be2 GIT binary patch literal 474 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRf@0=Wb4*&{aMBZ*OemZFb;cy-*+6wWc6@ zNgA)%f&@ORt{$iPoGYB>Pis2G-SiS+xT@(wO8|5zo1t2c`Iz37?$ z*22|iL26oV#=^9;*E1R-pEce4@Ngb?(Gf1KGZDd=Y^K*u78l99$A{GB8wK-apl$`nP=o>+gwwC$OE`Xg5P?cSpyYpA1tvyf!$7J@^Ck zplXS0L`h0wNvc(HQ7VvPFfuSQ(KRsBH8c(}G_^7@vNAT&HZZUBQ;SOya|;l9OhODTt&AR$B>MBZ*MFVY<3W6eK_C8C2EJ+ zqReJCfh OGIo$7icJmISTLSPEZp5HX~ARX65{Qjj8$mHV!T>|6F_Qwx$WM-MA_B z(+mga1x8mwS)}^en7rTcl*)SZaGu{A!R?)PZHIYtm+84FoV+n>TW!BTI=Lg*)TwZ> ze}+P5>h9RQ1G7_i2j@3bvNN!~n)`nB;|CTEf7}(6K)`)#W&D2D-#wLy+~4LaMF*K! zr*VJl&tYb;y1ZZ1{pROK+fURT;)_VyyZH@Bhy7btM<_CPr4qCfWuDRt5&T&cRhE8glbfGSez?YlxA1eGI5U s18ze}W^QV6Nn&mRLXSy^p{13vrIjhvlIlM>peSJQboFyt=akR{09yQ;Gynhq literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_foot-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_foot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..38b28406ac520501b1c3712c4707cce715612492 GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRf@0=Wb4*P_CzoV@Srmw>LKOHYkX+JnW7(kTBk$ zA?h7qaN=fG5>rQD_y5(E;-7Yv3jtL#F#H#n`E%_`YC!NDKJLCeshPKa`LEhEsmt~U z=WYwl)pnb}iWv57t9z=idgnFUInKTF7F^~(Q^xF`YoqBUCI zZ#;h&8tM9WCNEgkhmBvg>op(7nHTs;d}V2_OV}oD(e;(Z`b&lE&ckJU?*SF5mbgZg zq$HN4S|t~y0x1R~10xe%12bJi;}AnrD-$CtV-sxy11kdqUFYB`6b-rgDVb@NxHZJc yy*>uipaHj`Br`X)xFj*R0HMbu#L&{p*wV_>6k^HU?(_>Fr+d2kxvX~=c< literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_hand-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_hand-1.png new file mode 100644 index 0000000000000000000000000000000000000000..72a1d92d83f62f96c802c53ff862a40f432eb554 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$LQS47jv*QM-rm?K*r34E`tX5Rk^=?1-dG!hJs+FnQy&)5GvZQV_ zRx?a=?b~9uF7B;|cLjH&tj$y=plXIc-h1^6{`VcvYX5!jfbD^MKeyb{+Zv~Mf&a^= zFI?*v88S5N5}v$Hh3`dJK_gJPYKdz^NlIc#s#S7PDv)9@GB7gHH89gPG!8K|wK6fX zGB(jRFt9Q(&~*;3LeY?$pOTqYiCaUA-0NdN4H|G8N-}d(i%Sx73lMrtLJTdfj4iE9 XO(B-t?M}Y{)WhKE>gTe~DWM4fZ%%_o literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_hand-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_hand-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d61d58b478abf8b0d8400a4873add0d512ed9bfe GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$LiL_5jv*QM-rm^F+hD-c@{l{af;BCH z-|f^4O^JqSdOQsVl@pjg*5~?dda9?+$iPr@{7=!klhc0RTfgkmf|DXs<$^o|)ucBz zY~>+L*o!bQ!5iAD`OLF z0|P4q16}9fDijU5`6-!cmAEy;$h|%W)Sv;kp(HamwYVfPw*aBXB*f6t%GlD%)D&XL T-R|@YKs^keu6{1-oD!MB&B{Au*P1vvJ8|DRcq${)JuxxS+5giE&pi!JM+NJm6<@vCaNcF||JC>RoH=(+ z%($Tg2u{>H{EIu&`u}8;^pXUwPHCM@Nm2jSzx&WO@2Jp=o6Pek?kIU|q!n=cz_x>2 zIhGr&v@^Fe9k9-SIRD9wO9wJ_o>W(s-;BA_d1Tf_v7RHTUmQ}CyZ1M34E6nbpk=Oc z+(BjjjRJxo@N;unEAzDN>IG_x1+TvlUov68`j4RbxoY=B=G6Bou9i=CS(;&zt*B;N&Yt#WLH6p+ z!WZTp_|ACgb}HK$p>?XjAX6=IjVMV;EJ?LWE=mPb3`Pb?4J45&c^ZbM0CZfbE!Vr~IKk4cE3rIoRzm8mJj VlDpmM7l3*gJYD@<);T3K0RZ?Y%`5-_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_leg-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/l_leg-2.png new file mode 100644 index 0000000000000000000000000000000000000000..89106d6420b51af0765861f1f4035871a3081924 GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-Lj7#M{-T^vI)?!CRSFptSmfbBuOM{Tpx zcNX7wmhS{3+H-yRFSFc!XT5;KLuL_E>xi4S{F}9EKOEOhn8H#t_oNUbcX8_RduuK==1uBj zH#54h>Y~3vKEscxh0Xew+Za-&NCa!gS-x}02yD_UA}^B2io^3Sl?EbGT(4%U!E-I zjbf(7=66nt#P_k>DQ>zXTqAJ1UF=88au&vFzl19e{`0SX=UQXg7|8to($UF_xh&K- zyk!(v?;3^aix%nxXX_dG&#K^rq2GpPdx1l66H?_DVF}DDr$0Wqi(#qJ<%G4BM$=&Ys Q3qU;#p00i_>zopr0ABRJX#fBK literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/meta.json new file mode 100644 index 0000000000..35c1cad74b --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/meta.json @@ -0,0 +1,82 @@ +{ + "version": 1, + "copyright": "Sprites originally from Paradise Station (https://github.com/ParadiseSS13/Paradise). Monochromatic version made by: DayOS (https://github.com/Day-OS)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "l_foot-1", + "directions": 4 + },{ + "name": "l_foot-2", + "directions": 4 + }, + { + "name": "r_foot-1", + "directions": 4 + }, + { + "name": "r_foot-2", + "directions": 4 + }, + { + "name": "l_leg-1", + "directions": 4 + }, + { + "name": "l_leg-2", + "directions": 4 + }, + { + "name": "r_leg-1", + "directions": 4 + }, + { + "name": "r_leg-2", + "directions": 4 + }, + { + "name": "torso-1", + "directions": 4 + }, + { + "name": "torso-2", + "directions": 4 + }, + { + "name": "l_arm-1", + "directions": 4 + }, + { + "name": "l_arm-2", + "directions": 4 + }, + { + "name": "r_arm-1", + "directions": 4 + }, + { + "name": "r_arm-2", + "directions": 4 + }, + { + "name": "l_hand-1", + "directions": 4 + }, + { + "name": "l_hand-2", + "directions": 4 + }, + { + "name": "r_hand-1", + "directions": 4 + }, + { + "name": "r_hand-2", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_arm-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_arm-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0409bb02fe10e39a0aa15711986a2ec0eee3c974 GIT binary patch literal 466 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$LT5c)978hhy}iCrwAn#`<$`6LOVkdt zMVXJK90J(+CI)>7Y2dOGa}?gu$tMsoaj(mna+y7;`S0gSIJmg{6P&p|ZDVYfg;h?L zOY-foq?ES?jk6}64BGy*=fwqwCp~4$-@W1xnr^W0&%ghHNr!~C8SmI*&&RO-#i8%g zFAnwk^E{WYy3?@u*6ip9h0J|f>!nuQur|A}*lK?MJ7obuAehK}%;IhHm#&v?{8dN4 zY)z{F$+vz+-n1M4tUR8279D*aKF{&)g@*h9^S~Kmf)j1xc3<||V9B9S0`!<_iEBhj zN@7W>RdP`(kYX@0Ff!3KFw-?O4ly*fGBL6;HqkaPure^vbq=mV(U6;;l9^VCTSJW8 y>tjF-8gLs*GILXlOA>Pn5PD2P3@xpUEv-yVA(q_jPQL)u!{F)a=d#Wzp$P!}wWVkP literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_arm-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_arm-2.png new file mode 100644 index 0000000000000000000000000000000000000000..061988dbcd42c494755607ae168b8f38b53a7e1f GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$LdQK_978hhy}iDXx7k31<-%dFiK2Vl zvaTgCay=_>pBVUJX2U7wB})@Hcg+`SosiJt*EgkF_SmnQ+dC{ATwLlVMqZo6IB~;@ zjtOQPo7|l<7Bsp~HQIPIW!{B`<0)^C?TB7qzfDkeVWW_8TJ`4oU50>RnrA?0dGY{r#31 z^VT?3?>k|6bFz%_3jI6F#qTVbrvg%aVtxfv^i%V#jb2_8fnHKAag8WRNi0dVN-jzT zQVd20MkcxjX1a#PA%><_CPr4qCfWuDRt5&T&cRhE8glbfGSez?YlxA1eGI5U18ze} qW^QV6Nn&mRLXSy^p{13vrIo2E#FD$+=@)={7(8A5T-G@yGywoH4X7~y literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_foot-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_foot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8b2b141aac76424ec9435115ceb6125ca20be5 GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$LfM`!jv*QM-rhLKc|bwH<>EoTZ3fvJ z0{t@&HMjb3ajaONV)>^$L}J?Bw;n*%3=DrlE&e11S?qp&gyZ2l8wo|*`EO3UhQ2++ zbR{ITF*LO@F|sl?(Kax!GBD6}4z5Dckei>9nO2EgLyX+( xV?YfWa2rZ8b5n~;5_1a>dQ3tLEv<|#txQcJmfY=5zW~(3;OXk;vd$@?2>@94a>@Vz literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_foot-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_foot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..74d17c3c7344fc756198dfaaa2b12d86523f883f GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$LRp?Jjv*QM-rhLK$)L#Na`B*E&~5ElOQ!uU3^o9^dI$_ZJ^?)(s3$_G@UTH+c}l9E`G zYL#4+3Zxi}42(>44a{^6jYAAgtxSxpj7_u+46Fe2^izS~{XWBt6gTv}t&)>D^jx2^L(@F~ck zvsRAbULix8r3#-szY@@y45}rr5hW>!C8<`)MX5lF!N|bKMAyJf*U&h`(A3Jr$jaD6 z+rYrez(ChIxC%u>ZhlH;S|x4`F>9ZF$poWv@*7|GBt%* Ua<@DE0#FZwr>mdKI;Vst0ByB;-2eap literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_hand-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_hand-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4e6c3e1674f9c6d2b59c2ae1c7e55ae35c3caa GIT binary patch literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$LUo=ljv*QM-rm^A+n^xO`j9<(LzD3a zc4b4gR^}U*5?2ceEwbGDV?UoqU-{FyK-)gppPpWNJ?(Z({Qdd;u91!hAG}_$V9lkw z@k}b=(I&6#R&9H-Y|^a_t9gKCGi*rSs%i0QaeMmgrk^hkGq^_Hep^{qEq9uipaHj`Br`X)xFj*R0HMbu#L&{p*wV_>6k^HU S?(_>lJq(_%elF{r5}E*5c7D46 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_leg-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/r_leg-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef9033cc0f5c4d42fda7abc5c1240c5d5f000b4 GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-Lj7#M{;T^vI)?!CQXnC0Xs!1h40Qrtsz zp2G*3_Z&CRT|0Gy^}m=xd+8`kPd_FPz11R8xyhk5701)no1%k(K+iMg8Z5Kr{bmEPN8# z;jw?hmnYl)`OY#;tDI*?3@xsg}4#l%yn~>+L*o!bQ!5iAD`OLF z0|P4q16}9fDijU5`6-!cmAEy;$h|%W)Sv;kp(HamwYVfPw*aBXB*f6t%GlD%)D&XL T-R|@YKs^keu6{1-oD!MtS57qP zHi_D#qsH+>Xt%QpIhN%w_5SXMZuS)mhni>0Dh;`S$R( z|F5OLOL`~gNSaCjgG;ru)Tkvdue;C`~+T;#>Q8V&P|AsUC_LN{buQH@tYGH_MN_5zk&C*y=S13E0-1! z)QKEFYp?S6Ls@{5_>*!y@c z7u)?mao~WC@@3}f`N}7Ho4dDUaXK7W_bHt9xW>P^FZUkho}07Mze-`%cdoeYlRdc_ zU$iR8EEkZf*sVPOuGIgAz{Szp8S@ua3veIcT)#{~koA!W%K??;ik7VP3@=hE^$xB- zYd?w2=EPz)H>Uny0UN|EJ__Go9sTfqu>8C$o#FfjPruki%=qD_v+qo!+etr1?l{v= z@!hH+Q1C}sWwq&3gHWT?<;;S`wx!diOh^fo;+$(?*t+(l;9|d|=qQ7>ovZuj*4=#Z ze&Po2iPe(JpA{{cUL*W&>I9wB$*%W3-+b^g5ZVxtS^93{CY}t@IU+K;e^j3@-oK;s ziPD>;!t3Mxt-P+dYt|M?tPW;q%&52O39>ltc<^M6$HcddH?Bt~X~=E*TQI}vLfxck zi3cLZjHPt+s#PsEn#>QG|M}ME=BDrs5q>*&*%us2>YNm0cV{irk%lkkL8gLs*GILXlOA>Pn5PD2P3@xpU aEv-yVA(q_jPQL)u!{F)a=d#Wzp$PyB@m2-^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/torso-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_main.rsi/torso-2.png new file mode 100644 index 0000000000000000000000000000000000000000..70271b0c3a2c5679cfb028d25a26a8aa94f9f7be GIT binary patch literal 841 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVRds=m)-M$np`|x978hhy`6D3_pyP1+kFW=m0hP& z4IH!**sBA?&y_7?y~C(2AP_f2>d9)}B@=EkYyMYQmLhZ_ZW{jv6^}n{&V21^oKwA) zep>vdbZyHL`>heC6?0^|wemM|t$CrU+7@U1u;_g8BGxrlK>E`5o?lBJT4j0f_}5eS z`$wtzUcO&y49)Xih&fHYbX%f+_lo;Ab$7GX)!E*fhTLDzx9t6|>he!tw)EUGdKGur zR-IvU-TK9SR<}>QX;l8Md*W=f@>~g<2Zr6hj^1d~`8QYcf42UYU17DG*qy%m9XRs@-6uGJB&0(+8IS%ik2*Y!u#LB_EXX-QmV{X(z3BCsM_OFWiYZ zU68P=aPh%}&F)R1&c(rBr)W$sNMN^MY<@W5?ys55Y{I%re-&&_S#Z5=*^e1VlQS|R z&MjtTugbOHu9&kY{rREY79S5pPK)*EV^mj4|9OGAZPLydhQp2gw%r|*GZ)@*{-Tz( z^nd&Hm*)1p+EY*cKOFC4p|s@evz?s4B&J&88c~vxSdwa$T$Bo=7>o>zOmq#*bPbI| z3@xloO{@&fwG9lc3=FOsH728I$jwj5OsmALVM)H_eV_&nxD6$lxv9k^iMa&`JtiTB dmR81=R;H#9OYU~3UjXW1@O1TaS?83{1OTF{Uqt`_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/head-1.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/head-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a78c1a633029a6eda87a7d759110e2d56de09d06 GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5he4R}c>anM1_mZW zPZ!6KinzD4Z2Jxwh_sx|;^uQW$+?4(mG}BX0S9(lnWkxz+L$==9K0EYc-a>?d`jE2 z=frH@i+*LFmET5e>WG&)zej(gX3p~vmk05}85?i*AAdZ(-)DJnnZ+*qFY1#!`?DV1 zy|whU^Pd{K-GA%e-+H@kdzaax%7Pa@#&QRK+^Y`Zw~eu{7t~tv|Cq$?yLlTQ6j*%u z{`+pEt90QV{mlt~PCpg$cHqDM!}VaPU@aFzi(J2ZTHpFd^}J6?tW=$&K5?`Zx_zGe za?jno+AH?OcO%w@>AkmGJo)vt z-C^cHZHA1yFs;d=Wd zCAazZxi>{Sbxe0&%n<3n|FUG?%a9^F2DS~ht#fZ~NNSe*Xmp+!DU++ zzLO??)xS9lxE!kLW_Lc=;fGLW>)78&qol`;+01k{082|tP literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/head-2.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/head-2.png new file mode 100644 index 0000000000000000000000000000000000000000..451ccee410871e97af7600a8143e938ba11c4987 GIT binary patch literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;rX+877l!}s{b%+Ad7K3vk;M!Q ze1}1p@p%4<6rdn`iKnkC`wKQcVGZ^c*6Dv37#J%&T^vI)?!BF1n0LrQ!1aEVh>U`& z`Ul>aB@eCaTITkBDd^aunW>?3kT)ZEjjEJvUCEsF(z=z4~bH&*k! z4|#h}XFh%6Z#m4Lp-t@KGnYpLSO78IUw^0q4 z6v%8Wd}?7r;wA>QbN{n%7%bFowJtZaFV<+w-ZF2d|M@GrS9K@eiCTMS_W#%UHV(^O zKyI1B{*1k~rl;VF|FoIFXi+V3jVMV;EJ?LWE=mPb3`Pb9nO2Eg!|K~CF+dF(a2rZ8b5n~;5_1a>dQ3o;m;jA8hgfp` SmfIDe9tKZWKbLh*2~7ZhhxnKP literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/meta.json new file mode 100644 index 0000000000..9d2654d15c --- /dev/null +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/xion/xion_monitor.rsi/meta.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "copyright": "Sprites originally from Paradise Station (https://github.com/ParadiseSS13/Paradise). Monochromatic version made by: DayOS (https://github.com/Day-OS)", + "license": "CC-BY-SA-3.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "head-1", + "directions": 4 + }, + { + "name": "head-2", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/groin.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/groin.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f554ee30a73af8d60afd03bf6be94c83cfb2a0 GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TS2 zr;B4q#hkaZ4E+u}h`7jes7z_=>S}6wqLTSyr=wKg0m-5klYNY~zJ8OIcudq1^=)Zs zxhNiW+TrQen;Nq!uim=$?z_$H+cohDeXMv;$=nUImYU3|$6KS3j3^P6q#5IJUlWzhzO03}0_(nh|>OTDU+lX5O}axLZdc^4oSApYXk)({Uy zv8a_Zxts%+`nBqwyPzXGVUnuoLY@_OWf~)-97}%u+|goxId;SJ?{(e(T|Pbk{d2DD z%eyKwl$j35q%$rJ@?>>v@KIyF|NXpTqQ?C<{gdCTJV<%FXO>oYK;0jF zI`w_0r@_z7-TD`A?XnNsx3wW@qePp&%Wsp4q*XDz=ijezTP(P{<^Jc)509Tkb6$8> z`XjT}lFKZ*zE<&0{;?=dwfi=e!HtW(Hk{wSu3^D%&iLT_29-}UOa3U|k*m*p81!Fh zQp2b3VV|q)YuE)#e4fW{5OOH%KI*)6cL}rb$}o!$oJ)e4d45eVOn)rU>$c}T<0<>d z>ScTW+I*YFc5$cv-R~dF>>hlL5!Sn!9?NKQ{#UVY>Gxd5XWAcLU2}ZXY@WgCYr22s z<7ei(&o!&h*~escMqc)}$CUpw_3K*>$Otk#>tHZ&XKAohVmKqnn9#?;Q0&404k3ip zIi{kWa~7==aGbkP<@RG1Q?HfQt^w_CYo@P#od5!?$tY@TVe=eg{csRDPe4vrF7o zw{Ok*Ox=dC6kR4Qj!ho#|6Bf0S$6RLRd=DPy*frSm6u;l@)LEKZ~N$3nOPO*OjjY# z8rCmNowKy|Yw%1zv1j-7i~E0myDpvF$Z}C`ZZSvs)A_7I+V8GUs&B#`W{BXdV|rl} WydtRP%_LyDXYh3Ob6Mw<&;$U!*=VQ$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_arm.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..6600540aea7db71796da3e9db65c4cb154da0245 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vm` zPZ!6KiaBp*ZS+3uAktpX&UMxBsOIVmIzQRDE``d-?9yxsm=nAE*2Pd4fh7tZnS}aQo0|^oE{*c?);AJ{oZ`9Hk*63-`^E|$YVVt$e7T_!BFhNFhiN? zfQ%r+GYjzv%T`{ETK!+>`pyQ8t`9}KvL63izBxtn-oIKF`HD!U&u8Q2eYw!dB4u-w znWyGK%z?M(l%IKQsGa;Ie^;4JS8;jJv0nFrzGB8H1)D8TPR?6wXu5UPf;oT9s?yma zpSiurpToVNca?{XZn|Oj&GH?~{~S3j=MXC3s^-6^PG|mR{|Z5adzUhDCv=FE3aL-* ze#bFca>1XT`~3{1jH$e9tllr`WB7Zk_3q^W&OKA?AHG$IP_tbj{v>xn2-Er#ffAS= z>R>Q%XKAohVn9eSEx7#h#?#_ysVj;mDseC#e!Qvr)7O7JUuQbr`Tu*nBS(f$`_ZL6 zi(mJj>b;`CqO<#Aczd>u_JfB9L_{6D7ic+hM1(OMEaH4|RN`BZZ3 rNR`}lTVL0!z{6-NfF7&ag?zySwAIkoqwueuAy^=TEbUwdEhv`Zp zv%ZC}h>M@E-&Awo*z-W~r0Fd@Kj#ZRXXq$qIAY20NQR-1ufc-dVGgsxIYt3=;S;e7 z*1cZ1YSsVywf8TZoE2`Jazoqtz`wmuvp*h7`FHAc;rH?sD;@Lu4+Z^hzhuyTes$LT z^ZaSCr;8@<&wHUf!B5XJw|t@CrK9oJ`^1D2uE{P~yyEm-QGIKN&fB$TZ2ySiuohML zz~cHnf5YZana8WK_5WeUyyr|x`>*%!tv>;@;E_#y`+3$o#dF1Hu&kLXn$WYep?c9X b);h*N?D4v%kNx)mh9rZhtDnm{r-UW|dZ(Cn literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_hand.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..7872f09287c816f28ac690063afbca74927765da GIT binary patch literal 438 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4* zr;B4q#hkad7Wy4_kU9QQeu+27%v~vMkw<)Fxq=N_A2U|4y_uJ&e=ys?IIz_*u-VmT zVoXychlzEWswvBns&d|!@4tI)JM-oK?Q(DJD#;U?4A_w>=Y;1wjgKwRIlcHoq-&r> zw(hD`T=Txpe!*yVdgAJ{5?g0JycH$BsX+eIyRx=3c5maA&0}la`UPwqa`iS?&ot?d zyK9rY>xJEE`S{y~#^=wo$_Ye&VVGHaK$G^ue3k^y{@kF?rm& z)-&JV4}Z~Zf4}g+N1$c#3;qAqM4z#ipPy3CQ1xYRd&1pH{(}m7O^O%U1r=JD8s@;z a9r4OD8PD@37(@djg2B_(&t;ucLK6VTudT5F literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_leg.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..688eb5e34d65e04fee98e385c9db8f68ca7e993f GIT binary patch literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnE zPZ!6KiaBp*?e#hmAkf;sXn~p2fh=z6Zj;J35wmO8nl?n-{>8JeS%<@}rPp9cf!^Pn+1|Sc z`!woJVaaFw7Ls?ae47j;qgf56n9yt>)2tly~E;J*;!?JUy}L=c5&lx1V*N zm)iIu+4S_|fQ^UNG&Cp2+&L#WJCXlKP3@t3r|lydnKjK0N~~b1(HHov-$j(j-^gW(n|>CI~(>>J>(~B7&H*$v0VO=tZ r`-d(2exnkx2}ODeX?#`O4RiEU)K*3t{8q07Mj3;rtDnm{r-UW|+7r2x literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/meta.json b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/meta.json similarity index 53% rename from Resources/Textures/Mobs/Species/IPCs/parts.rsi/meta.json rename to Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/meta.json index 47eb8c2e70..15c48b402d 100644 --- a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/meta.json +++ b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/meta.json @@ -1,49 +1,50 @@ { "version": 1, + "copyright": "Sprites from Paradise Station (https://github.com/ParadiseSS13/Paradise)", "license": "CC-BY-SA-3.0", - "copyright": "Obtained from https://github.com/yogstation13/Yogstation/blob/59f8cbb1a573c6c977cb4344615e9030310e5ad7/icons/obj/assemblies.dmi and modified by Just-a-Unity-Dev. Full by peptide", "size": { "x": 32, "y": 32 }, "states": [ { - "name": "full" + "name": "l_foot", + "directions": 4 }, { - "name": "r_arm", + "name": "r_foot", "directions": 4 }, { - "name": "l_arm", + "name": "l_leg", "directions": 4 }, { - "name": "r_hand", + "name": "r_leg", "directions": 4 }, { - "name": "l_hand", + "name": "groin", "directions": 4 }, { - "name": "r_leg", - "directions": 4 + "name": "torso", + "directions": 4 }, { - "name": "l_leg", - "directions": 4 + "name": "l_arm", + "directions": 4 }, { - "name": "r_foot", - "directions": 4 + "name": "r_arm", + "directions": 4 }, { - "name": "l_foot", - "directions": 4 + "name": "l_hand", + "directions": 4 }, { - "name": "chest", + "name": "r_hand", "directions": 4 }, { @@ -51,4 +52,4 @@ "directions": 4 } ] -} +} \ No newline at end of file diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_arm.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..d1af4939d74106cc204fa4a875231af90e5d3394 GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vnp zPZ!6KiaBp*>H0G}3OL*s@+eT5zCcSrz~ZvKL(?G!ra*Sb#`Q;=jxaffG0sxp_{Q>w z;hfBpZ4yB$@{T%pwM#GD6?2?Eb9vR-G~?fCW$!25ENofKB+$p@V4=nEa0LU1 z(+}Ky#k;Wj)%rsAgqaqX7JQ6jyxq=v{(ND|e)siU=dS-r{>@b&y!X1%yZHx>Y_5AZ ztw?NH?4Qt@&ez%s^=lH%i+sF9p58w^Cn2ZN^tfrAYQwjEhKbRcPhP0y-naI%ZxuxG z6jn}yBiruN?CbvDQ$D?Eg_PQT!wC(q*EUUmnR;wl+NtL^b(-pSwl}hr%o=>Xir!?Z<=VpP1UNlTTJivO*p}&v3~y9=xlx7w7X^hI{&E}91*K9 mh}Zr6L;U>(enpHhKBvCLzd5!fkKG0s(+r-jelF{r5}E+oDBqg^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_foot.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..03be6887e69783b610b4735edfd3b7305f7a1c81 GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TRx zr;B4q#hkadHf9|PkZ60jJ!s($4#wp?vAdpW?dkQq*K+-VZ-s2^o-Q59T^1IsOnOQp zv&_~uJw9pa$bA31pOV`@8yA^#|9dLf9Bh~s<}nJKXXr?0IAYB3NRr_rPXoHJ!+d^m z*NbV9-@fn4lsdJk=F!2W=R|l4Zums6u-L!$huyoGS4Dr$YXAN*t}sex=9&1)pLhQ4 zGtT||HQc~Sz@hx}-QNDauY20hnn@`B;QVo2Hhpsyd+D96jtsSOE32nl&Hm3yzyT0< z2^3$9_{P#ULz(NrH=lo-v@hKI&9K#alfCYz+megEiB76#y36qV=c?;7YqGA_ww`3T lFUmWiNX_2G`K|UJ2In=2Z7UxaOaulggQu&X%Q~loCICc^oFo7M literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_hand.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..90d2c7792c1c4ca5381e6bb8a65da28d9500b9a5 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R5e zr;B4q#hkaZHhLWnkZA3{H@C%o))o{m_BAzpIESA}ap#@?Pfqhn{mN*%z2&GJx^H;OXk;vd$@? F2>`DGw_yMP literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_leg.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..afaaab27fd249d30542b8e660e57c700fcb8e8d5 GIT binary patch literal 478 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vm( zPZ!6KiaBp*ZS*=EAko^tC}B4T<8nSd*-cL*jdoaAb2}B5eU+?X*W{?>n9f((rXv|6 zGlxq&W{rYGHE&~3%)9wZIOl!leaN@-%a_OhwzvMbXR;JxC{kf~;=yoYBEtk_Mg?~! zhd!1D8BPYM1PiCfq$NFzI3lOXCL}D$jIw$@;dy1iHU-A>*IDhB8=q+?@(}tneg6HU z7L_xTi{!Um4`J#zSB}}aglFqr)_)W{zwy8btLDLi?qc<0w{le0_e zn=l-Q#nlIyUMY6Q>Kx__yLCoD=Ro~|+lLDy%~fnegFj{G$1b*Neji*_v%Y9g)GVVF zEIPBdNl%(*C$;o;?=3Y+AEsCH{=B_hwSMb=@vCbNU5aVy^*UfR;|g2uSuGR2#(mFN pZp{ic;FLHt$01tsi#9`19m5)yWq!={D?sta;OXk;vd$@?2>`$uzeE54 literal 0 HcmV?d00001 diff --git a/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/torso.png b/Resources/Textures/EstacaoPirata/Mobs/Customization/cyberlimbs/zenghu/zenghu_main.rsi/torso.png new file mode 100644 index 0000000000000000000000000000000000000000..2c372c8fc47f038c87802afbb1f460d5e6335719 GIT binary patch literal 918 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|T>% zr;B4q#hkZMhS}1FB6WJYOC*yFQa)W+sC(y;{ez>3 z2^ze2ql{SfCHJJfeDQR_+X)9JAH2Y~a^Z#7wL$Y%%VoZHEuOBgI=6f>; zEN1!nQ7$XAv_2|td9Ll%v|x^B`SV=9{JXjS_YS$zB*Fi8m}acHuXR88X}|vT&A+}l zM#uJBJ@4cd^r_?7cU5+2YH66?=~9rg4XLluPu2a*36y*Ixy_;(NbJGV+_)grtR&70&#IG+u?_Tb??QP=j{J*gW*!E|z-l_kys%7!Z6rrW-)R$%5zS|ve@y{dO1?kB% zrfm^v`2YI!)|AHyh9ARkvE|6rL{vOoyM@73fx}^*G7g-a%KGC*wwjE>L2;#*#V$-H zQoSsWf^3V-o(M?Tc=fqHkbZb;`8*91eIW);L5|R5HitdM%UBClS=?J2U7L+|vaYzA zb@FOjsawyUhR1uo{}x_4_}%ft?B?f_CY!8L^)RqxTA;;dam`ck4kL?huB!VCgT;<% z8TYD6BrIwt_37^1>06rOqun0El(XM+#s1Z=wPK%EvBj{uCDsV`xR%UPzP#7@uG-v& zJ7x;A)sKAr);&XD#fFJ;lUw^du7}qCe(@-(!{f`E7^XWSy{6U+Vg)0c%l7V9PoE=~ zsklT~p{Tiv^HpOpdkkZw0z;49foOr%PLDc^I1MCtynZkFo>-<9bA$0Rhcm}zZp|GV z7*DrkwrnnV#Ku@GpT@f|*SuqL+GiK}mWr3fn!eM|>M~eed^PEni=ga;53_G3{nCgN zuU5DyW^nmQ+H%A8b_Lr9fl-I`y<8=C)JnUUxdpCYEObCZ{HxAJ!IFtWkD0WevgRO1 c#AEe|O7mu%x%Z_En9&$KUHx3vIVCg!04Sf87ytkO literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/IPCs/organs.rsi/meta.json b/Resources/Textures/Mobs/Species/IPCs/organs.rsi/meta.json deleted file mode 100644 index 38fa72a17e..0000000000 --- a/Resources/Textures/Mobs/Species/IPCs/organs.rsi/meta.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "https://github.com/yogstation13/Yogstation/blob/59f8cbb1a573c6c977cb4344615e9030310e5ad7/icons/obj/assemblies.dmi", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "posibrain", - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - } - ] -} \ No newline at end of file diff --git a/Resources/Textures/Mobs/Species/IPCs/organs.rsi/posibrain.png b/Resources/Textures/Mobs/Species/IPCs/organs.rsi/posibrain.png deleted file mode 100644 index c4ea2b81775e604c05633e362323a535c9816503..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2294 zcmai0doC7nC+{Phy8ikpP4Ca^_b1_GK-`82Kv)1|k*zexYT6^vF?&p2>UT>LD+`wx{Fj2zONuK> zZ3N@vxRFemGp^Y;q@%OPtW?Y^`|?U1WOh63ssCkn9Y554sjTvr&!pSZ-DsS;>g8%p z-J+BuNjHMer;F|_aiTXBqH6D(X_4Bb?W{BzLJeQ@8d!L+Uz5_@`;>*phivOOrw@P|)TXrO$P7~EY~E~tkZC6-qUU*^A? z7(5y4DF(v^6lfuH15u7O=sGo0SrvN1Q+aRd&v(Nb4Q{ng1=sn|x@=RW&d4yCLo zXn?X3YD{Oi7bfSF>{D;bHcsSY^pT3hFepA8MWF}zT6(Nrg!Xz&Uo}8Cg!&mIbGfFn zOsQUcO4#_FeP|jj(9mk<6Rl+dorr+u6-myBPTiRQfw1VVi^`+~I zpRDSVqa=vRAJ0b3F*<>8vF)j}3|@fz+aU$v5OcI*y9eH)ySI18y&hFLCcD5%ihmdu z`f4UCx_gOJ55qz`DKou(7v4`Y*j%DPQ$SRk{ZHCpUYPk(sZdbW@YqTFeYlsBshdVT zLcCHA6*oK?{3{3dds^>`2mb^wF&}LQQ^NCf2fssROP} zgJ2d`QxJu8SS)aU5~ht^AwT9pWpX_DfTzsT+u#F{w%&9E+n)`8p*a-suK{KPA6q3nKLfM z#j?Pg4~Be$o8uxG)Fcp{s+OFOm3MVEOE?#@X`n*X$VXC~o)p7kR~sh`%6K5mM^n~T zz<`L4huGU_<2ctWZ1Q#P;t;|23n@Mj8#(nUxpFsw9KkDfTFo%VZbY#_&&~u{6rYm0y^M<-6O)>IrX@bM6tWq zOgm=gb?tWg{SyQ8(5Ak&l_nB>ab|kl*Dhq393(^ycLgBOj{I?iS<($MnciK?j=eR$ zlDntAn~eDNnLP{Cwj?p=z@vF+xz^VJ_btf9IsNZ72m+vUbsp-}8-zfIn=!;){@yV^ zES!IU9|{z5A(v(b-oSDhmGCASdl(1Tp?V?Et&D07geR%W59gG|r{e*ew+^5TA$jHfR37y_LeSt+#^ zd?q)7HKPL$y&h_3#Bt+7UK+ZLOpW)2&z|`NMN`I$hB!3}pEaKJ!xnX6Th+R<5GO1J zqU(7x5-QzD-!lW~^h;zianziPx-)_n!quVMTb#fAsx!lkg->j@jB5 z!zd3$?hybo-Sp-hqe2r*dT61M_D}WzI?VMr0KFL0X}VBYksJQ*P`E3w*iQe8+QqnWigNa#xnzm5b zrzvzqL&QE0r8NYK1Qu*;_hW(fvx^@WlqCf*8*gBA@2#-L`2Ko2S#9k z9s%x;Fz=yFKVyFH`JGJp{~iAS68K$XUsooP;nr zw|AXp5tRdCd068-(L!qDhT`X+$B()Jr%6cDT5_ck+|Dk+A; zlAkLU^iHp`etTc7pq!|ExEzTxfw<7B7|;eNp-BEbn1kg00iQTAYNJJC7MH+_Hq*1N zi0!~0n&1&j1J9^`dzyIolSKGkLGdFTdxI60c)M)e;%%L(7GyMS+K zXvTvap#>dRu4r8OHk@CH`^NlLk?bGFagLm^^FZB)M;_euj|^aIecbBt5ua;+0iRNH A3jhEB diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/chest.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/chest.png deleted file mode 100644 index 60957449bbf3b24a5857d0afb27a9d7645f1d20f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 659 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|S$* zr;B4q#hkaZe7%?*1zNQq7;fT?l#(DTlD2*=Y`#_jxMVI ztnhrgx~$={Df@0QbgbtOe|>*5V~1(;#e#)bC*?5At*`#Sg4e;iZf01RcH=J-`P}`> zult)dJepy#F^1D*{;u-(g?8Wz8+-p^TTT2(!e*YrN@g=dPErt2TKmWJ! zm#;irvXje1MY>?a?wdPz)vj6g*i*K4ON}0z$ydS3H-BYnuZlHD@G0-gGyS>EF5IDS z-zf$chKuv(ABc@{ow}5BM$Km_m-uRCRp|pKi(f80%GvW=Ol`~8jiL+I^Ez!}yi?sU z`MB4EhJUjz{aU5lpv@6@VAE{g1y1)TP5O0`ZOivt8Mz5n4AZXluXluc|A=K`gM~Ve z!1ESH)Ua7lTX^#;#s9j66!}=IfWPof)jM zP;bJI{0!!WS`#wn9XPPbV^Qn^#u>V1J6SncW~*kI9AwHed}Mjc^%aZvyi@xbj~To2 z&HBo;Qe-EaVdZJAi94_Tu{xuAnnA|qti8)=hiEzX5VjgwGtoNz&tV5nJ^p9@SL}qK kj_XQY@%e|5{d7)!UUmNKFVdQ&MBb@05NYF0RR91 diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/full.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/full.png deleted file mode 100644 index 45266f0291dac2de365083ab28aaaeb09ab7d3cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 553 zcmV+^0@nSBP)Px$<4Ht8R9J=WS3z#VFc2K7K7%Xbm`HB&iB{rBtG16oJfPwM6^{T!IU>#7!LYJZJEhowGk5#XYF({qc~MZ$-T~BepdxP5xuuG zoy^3U9|YeSOVX7dlajo*QxfXEr9?%DQ+05{k}JyUKrT)d5*4);s~`dls}07FBP1%S z%_l0t_;D1Jgx?b2ug^?gn`brns>n<(ib7`@7G;Ik`AaWO74g`=v)zwS8#-^n^TS<_ z??qW1!fmxdQC2m3XYXAI6lI0XJ96h;8Tz(k z&zwT1EpW^1V!fl`ppVUJi_GNMthN{q`e0{Pn?}O6p*0EJ+Rx?JYJ;cyTL8djwLQpk zv)b0yg`N!!OeeEiD0$2><1KJ=#2^1Cc#oNsKb9i6A8=*(r*Om1@RcBeC<3kmT=+_m zK-3Wp2Yn16Gv4ohzs9vbp({QB4!WJOCUY1900000NkvXXu0mjfAsX`( diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/head.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/head.png deleted file mode 100644 index 2197cae2176f852e55138f68125b8470f1223dfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vn> zPZ!6KiaBp*`Fb%s3bfvDI9{NwC;De+OOv2N0>X>JA`7nJ_=oQi0O)cZy4mP z)nhx^p>&y&^WJ=8pQz`h^_MeSSMjp6GYQCSZuoe7ON>d`j{VUGX0H3}%cSxrA)np# z;u+1;o20%^S@84yWd9SP7k|&GncT4c{e1g_xsT^%)LHfadLC9)&UWJVy7*fBt=W)brbBAEsrGJw@-e?O~Ms?lND$*h5_Rw!Qj&l?VSGhVjiPGLSJn z_N4dBvAYwV-;cS!^`Gd3qtBnr-p_QeJEpu&|9peqLI$woxEu;J7!Km%C_JCeb~rF} zZl?C+%I_RozOrY8{&@B0#&)A6+~RuY`=lOk=34uwXL^g4z3#=+e;W=&$ljA?CG;J$5kA*P0KOXoqYQCiumiEv(_#x zd~KO|44$rjF6*2UngBsB4xP7f+do7s`^jvX^d>Y zmgThTRrAejUur(@N`J6d@5n}mj$}rG<4g*DtPV2V4HhAc=l$1TEipV;apQf%nTM}K z_U7Av*jBeNEtvJoapoSjy=fbLI46qlygyz0MgZ#^K6jmT{u8cGHZPpdIRCiuR<2vy z<#$>x;Oh7rnctjtFlW)9o4@TBgdfQIcO&xLDlK$(-BUiW-zmQTXq$r;rY-0A YBUmzJvy20O0fU>t)78&qol`;+0FV%+DF6Tf diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_foot.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_foot.png deleted file mode 100644 index dc3e436a77b92792cf5af4d9a4a450c0715b9b57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}z78f=yUcTl3|Np1XTmXu>7TlT&q*zOW{DOgk{~3O7;|m4~a29w( z7BevL9RXp+soH$fK*4-Z7srqY_qWq5`3@LxuH?d?m!GTQydx*xqjLG<$@Q;~Je0cd!b4fl?6`er$l=FVfL1ejy85}Sb4q9e028BL Aa{vGU diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_hand.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_hand.png deleted file mode 100644 index a38d496a04927b5f35b1414467d36f8511f828a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TSB zr;B4q#hkad4852gCE6Z_e~{RA@RCEv^neXME_+=(qo15Ck8j) z+`TK|>&9g+4;eCNE?YWVt-jp;RMe*U|LcXaI-kzh`XtmdCr9s*|4(fkwxS9*oH)4Z zyw}^u`P$!k95oz{O#6|4+O}VS&7eLy>`(IUN9~M0$1eZc{-x~O_gTg)yYE@^JXkMp k^XlF|E`)a`v)^F2EgaE)f5DYcz_4WSboFyt=akR{0Pqx;RsaA1 diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_leg.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/l_leg.png deleted file mode 100644 index a8647524e0e3009fca89d30920a457267c4745d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}zE?&On|NsBRg^j1qTmXux1V5h+q*zOW{DOhv{~3O7;|m4~a29w( z7BevL9RXp+soH$fK*0`A7srqY_qW#^`5F{>TrOTJ`fog2NNA(30L$aFf2T5PwWOEq zkz`)_F_!M zx(o~^V6;X2Kymw426yX%*>@M|8vJt9yxEv~AaBEQ#$`99W-zk9(R)->&ukg*ByF#G U;o;k>KsPaXy85}Sb4q9e04o<{2LJ#7 diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_arm.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_arm.png deleted file mode 100644 index b7312ffee147ea7e328e49d10910f0af6aa7e71e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 427 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R5M zr;B4q#hkaZ9KDR6sa&g@nASHkzvAPu?>GBrXT&REhm?* z?s4kx-90h);}Q!l7N?hRZfM{Cru^g9n@Yxe9p$H8{#2#f(s!V0r&F5F{S+IXzsmw0 z?*9FLRsB}O)1HvV-Arr#7|*Xi{ON7q!SijEh1@gl^#s}194+!YwzT59IoFEb^Hw?E zxD0fb%QEL5&J(#XZSMLTYH#h{ef_1(f^d&Aqk=n=Lmx{6xk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}zo;q{k|NsAsmv1R9Yy^r;-TQbxkYX(f@(Tuv|7ZBUjV~A|z**oC zSKeBBC*Wg%)7?xeR5r5jQ40i@)hbhRe6v1p19zWoc?EtC)`(vS241R zFmP!why*Zbyl7hZTfgo4Z|-|6i{3H^8LWTDny1lUe|U9n-8t^%d+p1$w<{gTe~DWM4fxgB2= diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_hand.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_hand.png deleted file mode 100644 index 109ed3195e158c8024a5f3ffd4fd21ea421b72e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TR) zr;B4q#hkad{JEMO7+OE7m-KAAXr{5p#qo64E1`?K7L?ZW1qQIM@D6F3dqT>yAhpkD z=AQ4-oKubK`gUYwDJ*Beg(BtO^*_%rdUNb}`(@V4f#(m;-#oW?ooE5K9LIXbRY`Wy ziF;$8{K`vXD86{s&DJjOXKu*RggfVJFB>uElzDHiQ7Zlz8u71f=JHCOGe`G7pa1f) z@`UFq|BpROd#TG%#6=8B_}y&uoku0PT7TWS$O_ge8`Bm3mhaWR#<=lVD)e2mmBLus#s3lF@8{$vzOJuj}eOc><$P=N(4n$r!;i~gOS10)z4*} HQ$iB}_}YsJ diff --git a/Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_leg.png b/Resources/Textures/Mobs/Species/IPCs/parts.rsi/r_leg.png deleted file mode 100644 index da3666e324ffee21a0fd1a6ce78d8df05c876f98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}zE?&On|NsBRg^j1qTmXux1V5h+q*zOW{DOhv{~3O7;|m4~a29w( z7BevL9RXp+soH$fK*2Uo7srqY_qW#$@*NNmaJ^{w=fC-N6|uSMJqunwyE}E+oDSX~ zK4pgkNgb#Ng@b=d#Wzp$Pz0#b(O@ diff --git a/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge-empty.png b/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge-empty.png new file mode 100644 index 0000000000000000000000000000000000000000..13a8ca907018494f1a0b9ea8402022df78295bab GIT binary patch literal 386 zcmV-|0e$|7P);#Re>#06loH# zc*p=_Y;Sx^@C{pb5wjGHO103E9dFT)=hB-omop zfXqOBVrn#|cqb0-d1ogu2M-w_blii~%n|Fr*JPk+n&$#zRx=w=fQYXXZ8O5n#c`ac z?IFZIpq^(c&`W?leR16J-WAX~PsOsP;a}kA1kyAmaU64T)UF3X0A*Qz{?F)ELbh@B g!{U<&pv2I`I}~;%Hxn1XiV03m zPA;-An;0556BiTH2?j#!o%d!Bgz-yM&4`UF3$#{jTxJEnZG zSiopBQf>x-=DMy+V}rpUCWxy7WSOH9a}MzsHSntdVyG?!3P=Qqlfo$N8Uz80^Z7g` z2z=!7bT}L&0A{{gt)Qw5!;m1pQmO{l>osh*Tb4h!+kE`hwt23#_d(ON z!oVp2G_Tcau-RF)9J8?<|H)Fnz+~N2@pp$ z8jWfIqA3Z@@wQ|MAxO*R63R#dz#<$DhkRusNS^50X0r*7;}qV7`)Wj315p%Rv~m(& zOWXf#H6Rw3c%Ma45n{pO_V0E(D5F#jv|23*0P`#eG8g6he)Sr_hJw#DnTU~u#{2!A z<+SqIY*wfdd7hUIfRmJIC}p~!2%sdtPNc(#4i{BbGxIzp=K!0pC;*3m>f+{f;#~?L zefd_puSWC_@aF)g)2U*bW}HN6yxZ-9>$=zfXCy*kPTh~pZvsFNd7pg(6R*Wf7-m`I P00000NkvXXu0mjfry1u! literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge1.png b/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge1.png new file mode 100644 index 0000000000000000000000000000000000000000..46d304d7767898d5fc66965d23211e647a1f2a02 GIT binary patch literal 641 zcmV-{0)G98P)$`WU8}p3gCMy0uLw$q zOinJz;w*^8E#M+ZCo_oH$;qvx_Yz-v*CcI|GivL72k+(blzJyjKr>+&BkpF z!*B=!U%4pl_j>`rHJ{JtAgg-4E8x?841v zlY{V7C=}!XcvBLZKR;Ta)xB*tLI5^EOZOm1)9DnFNC3bj>~_2Uoe>C`yD=MPi#vyo zEf$L~9*<)`g=704nrk3?K@mPBNC(8joxp16YUvd!5 zDG4!Q@$s)#D@dY14wOnI0RUq@+4z3`Z9&<#EuRB8q2N1BCVWdmiRDD3z2ULAP)dx_jJ^=Cx)CYbGAe?+IUELRv0{CA5sy@I& bMD6%6)i*h=h zGJ?P*m!#9_6aoM^?EJh$9i4XzuLBpTklUYHa|w9?DcwJ z7)EN~2mqSvx(=(=3f=Fn!APz@ElY){O95WAA+=4EFg!9ey*f^c)g3mO@|zkdPQwpy*i zY&J_h3fVRy2d<__4tSmyngXF0-eF2`ngZRw#kMs3Nxf%Zwl_^#ps^#MCYP9J3*?Xs z>E|TGgvH_CY&MWZksPSiY9RoO)nrra)zyO9?RNQd05=p|(`2HSBs4xAk0Pd?PbQO8 z8_{;VjR(M&WZ6)%?1CzQ#=lNNhY=kv<#IVTP7*%{#QW4b?ZT;`j(~uG{E~Kb;<2O# z5S@ZlXZbbs>%NHo0SeKj#3~eEJRWPEPKWU_RNrhi!Ev18{~4(e7}M@Y<~IQ#h@@wq XJGRppbVd-t00000NkvXXu0mjf-=hPS literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge3.png b/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/charge3.png new file mode 100644 index 0000000000000000000000000000000000000000..0745be8ff2251ab57dfd5cf1477666dfedc2f6e9 GIT binary patch literal 2826 zcmV+l3-$DgP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+Qpb_lIyq)h5vIES%UZkxg0*LvV&QEK2Vac?e?8a z_e?5wwMkJF37!KSKyBt9|6b-_eEe|)6Qbl)QabpA5{j#I@^OCZ{&*Nygiql9by{I<}wkyne>+C1BFpCq4uMt|Bp8n4N3*FivUME3E{O>h0dulMdW!0VqkzS8mhIv<#L z_(4lX?&wd^^?`#EkP4RCar$_s7+}QY;l@0yV&LLkt z_d1^D>22nCLtp>a8hPzAbBY=gP^arq_fd9_d5tY}>ufMB9l~E^3EAJmH?vR26~@tz z#<$yI9ds=l?6B1?J9pb{$Hd^KaYDzr?))CiUR-e<_N)*3wabYwe)tTpebXMid)Q+4 zw&mz%@0QtlSf)D5VwOj~{WafxU@Z*=YmfZE3cH+BurWiK(_f~+h+P+`aRYpR-#^N$ zhry^QYlswpZRZj#+FwfGH_@Jnk@k#1E8|)Kh}b$}jP)=8Ys7<1_7La9T7b+DR54v+ zron)X(G84r!TSU^+3D6iB6d%8(J^coN6cU%`s4*}im#9rLd1V0WPGSbA47~WMTt3< zSd&j7#gvjH6~!uEf{`dmM6wjA+2@dBPFZr!CD-DLM>JzeMM^HE)XJWfl`BtICe+$o z^DVS!T58gAE3J0ir-vSU>e6#By$(10KtDzrGV&;+PCId>8D^Ym%FMIOx^T7S%?c~7 zv}EN~R(-H`(fZ~44c6?%n%hk2M0v2rsK~v9RXK^u8H70#ER2g%fI~aw?8r6*r_3p5 zM?wC4bQl?xvtgAn7!1?8xa`fHaVMk7+~4BONOYwT^#!T4;PZ_Kb-nIbGrGGjT6K&{vCeRYEk zN0~`h?NO}=vym1SB~BT-ch~1Sc7`rlE$c~zFi=mgIAe?Kr>#NLu^rXQWw*znJ-<7ED zD`JR4Afw_FRqZ%*ia(i2o0$SLiEPkDjSDT#w^uycbd3JuAm;QCbwC`V4pK#(>2w#J zN81wyblFofV!LdwUoXsJK2t||@Wi(!A7$*erdlN+KND??9m(8usBFm5NjV#mn1Y+Me!N=Zn9LzfmgFLXgD=;l#rdxm`;gr z{vO4JV%fq@W?hA_FKQ$A4o_n5mhD=dL6_}*IvyLx3WjQ8k;46UVjQsS7N?bgyV=-$ z;AKmwwAnz@Z7DcyT0^}>DqdXFi!Ba0aB~;6#qYJZk{#-#cSnfT)f;HalC;Sf)hR)0h-zjQYZG<_-IEi!_;$01p!luhB3It zv>9WUA=D3D-y{br6RXE|*$7(D`Dg;B^id5|+V0eM2u9$tD!weP;Ll^Z7 zV9Re`mXIYXaZw2F7KMz9JwRMK(t~Ct_{14f_X)aasbun9BIKines>Iv+urgI0ag#N#P^+>ZhZL&-6tD2tR8~Y( zJ#TJRLu3+rJk`cPJ_wvS{EM#0EiAs4u!}%`2K4%5~sqXJ_=Z zBaQlVX+A+6!Ytjdcq@v{v#O#PzPeV=wkikOxb(Hj4U;@CRJ-BvpIA z-d*F2ZPHP)OGqTZw&6Zos#VPxQPZP(rF;opZf94oh6LI1#9t-M&s+2P#&coCF|-#b zSRn0cDdDs{S!C;$=g}8ID_b53CTGiwxUd5?G0N`6Zmq)gkQ?(z z!mlI`)%5$&DtT?^Gu=FWh-Z7{&Yt z7IGzO6fm=^00006VoOIv0IC3|0GQ!7Y})_;010qNS#tmY4#WTe4#WYKD-Ig~000Mc zNliru=K~lC4-#%@(lP)50sBcrK~z}7?N`5Q<1iflbae6q9GDDQ9Xe_YUd}X5H;}007Q; zVMN4n+`0a6I5Y$lj4=oy25;YW-G+$1CP12|$g&Io@b&h#n*SL^RsY-XyQ;tX^9TU& zeIJz4t0X^KhP@|G2*|PwmSsUoiC-nD)*8_IOo~U?wq1@+-_>e`Fbsz|;e0*^07xmT zIj!~8AA6ox6LG?HIvpGZ=N*>_!w@M=froM;0gwU+Pa+I9o6Yb%AcTNrS+H%pxw{8| z9?M1n)J$#GI*x-p&)?<*o<-7c`91031IOdBVFCcacOa!L6If?+nd9&Bfua=!ggkQs z_2c(E4+u+A1MBRBQc5_E1EtjPR4jzRY&L5Mux-2HZ1wqiv;aV!=e;B0q8RzU53O~> z493w++wb=kxl#&BDXiD)Uc}q&_PPlurLRgTU0Lv@CLlo&G>VZaE|baRYQGDd^NWf| zUJ?bIbK<)0o0el!@rozv^-aBsjde@@ypnzBJK?|k{OZDTxx9FkEEbDmRB@$LxBVk1$e$O zQnPNiTUL(8V~<2&%EjSuI7k8*`FuWytY|bEk_d(ib8_YZ$8lh}T(bDFTIKC;mc?WJ zTdkHLB0#BB$|gW0B_O$@IRMXLgYEwud=ZEs%w{u414#gyu-EJH zk#QkDx#otQw17W&0PkBamtiuQB%XzI89tK^mNSpi-$w0x%ZMCbo;&g4k>}**$<8 z3g$GCh$R7u_xnAIY2>5PD0U-?!g{@q7Jwf~v!Ns*7eN9P|8^oBMs&Coi^a$|4*og7 zz9+URS7red0olRn=)}8lAv#-vL}&R=;LqKN{srWMOUBAoz;HNJn$4!?mr{GZUI*K@ p^Z#cgiolq5KO(=001^@R?hEs2)`4R%$4vkL002ovPDHLkV1gvI1@iy^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/meta.json b/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/meta.json new file mode 100644 index 0000000000..ee07837524 --- /dev/null +++ b/Resources/Textures/SimpleStation14/Interface/Alerts/charge.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Yogstation at https://github.com/yogstation13/Yogstation/commit/aaaed39293dd0b9edace6e2fe2017203e7352ef2", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "charge0" + }, + { + "name": "charge1", + "delays": [ + [ + 0.5, + 0.5 + ] + ] + }, + { + "name": "charge2" + }, + { + "name": "charge3" + }, + { + "name": "charge4" + }, + { + "name": "charge-empty" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_antlers.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_antlers.png new file mode 100644 index 0000000000000000000000000000000000000000..125f9cf913e43b01e0e95be18a1f507b2c19a769 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1Gj# zi(^Q|oVT+M@-{p0u&`_Lept@RwJ7-40@i<197^tMFwQ;5xY64G%-p4ks&e1Dxt3){ z?OwMy_x7{R+jLG_oj0z%Z>}=&;(jlOoqJ4ft(xrN_Wu>jo2#3J3(D%%7d(5KR3USG z{nk%^pJ?`jqsL2d^b!l*;$)~w6%2PfWbnb5FT^R1{$`=*C1 z1;&deXR0d{Wn}x+v$~fFAL4xACUevGL%u+v4g+CyZ_o7FrInw(+kpYV;OXk;vd$@? F2>`glakKyc literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_crowned.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_crowned.png new file mode 100644 index 0000000000000000000000000000000000000000..2fd0cdd06d215e0f8a6fb5027388f25321c17b4b GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1F|l zi(^Q|oVT+K`3@@xuv`z?_vo1a!~cs4AJ12ry41o;UHhyZA(k*OcsB>$+(u=|M2m`J!|KGjP#Lh?%DaRSDHdj!dE-O&^vr| vTRp+8&cmV1|3J^52@P-NHAoU=>~qGWC+fbQu{qWU3;_mDS3j3^P6%} literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_cyberhead.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_cyberhead.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d1111199e759bfc52c24a8ca1d8a623dc59def GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4( zr;B4q#hkaZtovFF1YEc?^&LFie4NgR?qF1Z!WPpwqh&_V1mz8{ChDyHrhaY9#x0@x z8z+1WdF^{!xaYpW$wHau``)iu#g!TrJmKVgDnp^59i> z*{7;~-@}8R#)}n{&R=T9AM`YvyFrGN!BU8!NQL2v2g8Yp3=@{-2alh& zyq`D!z-qSK#v84dP39(U5p!X)$=Y$1u}nGpw%L;>dAt{y&Q$zhD@w9&EVud)#{ML$ k_I!GDqAvnQ;L8$!!N3B#}!vV#MF^$X%Hn6m(1*xbgm$A-H z68`pox{t)HfT?w{4KJ!1WjGlug+APte!c77`TvS7`ZiNeGu_&DcY3O0ph(9ej@#RA zevmtEcxqG4oDOfMoU5C4oUfNk92d--CFg$l*xO&1S3N9Zz0s1pb$O;$UEAFGO7o7X zGH%=TeDnXEm(0@oT`L~!eo(|(V}A0$7ok7-9tx5^iKkbKA9OvCe*b{Y z`5oQH+tT%$qFL9xuKL2sbGTvmh8xok7gat~da!&SWBxfCwL{wd(X4+$`y0yTYS|p| d*bR16zL`v|lS3VMAu!+>JYD@<);T3K0RTv*r_KNX literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_light.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_light.png new file mode 100644 index 0000000000000000000000000000000000000000..91f5fd25e788fac30350718430f857fc698cd878 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1Gj# zi(^Q|oVT|&@*Xk}alI(5$$EJM3u}*4<8A}il0=CK34&@19k|R+F&V14?J1w-(YHuG zR`qWFNfVyw%;#O*e_NQHtvY|k>+F0P1-`hWr_*Hob{*SX@>(YT$+78E=gt4i`ltIO zW6;xm@7M2sYjm}K{#?KBdMyU0^8>2tu89k@n<@tQp8WZbRp2>8M=`?@ONK`>4266R z7VHjlm=(@3q6&XFdDyg^Wz}2up2Mr(a#Ywa*sz8HC{UMVuds5b@`Jw(O?WgT%>2$& Ycc<#%9N(fcU;r?9y85}Sb4q9e08CGJy8r+H literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_lightb.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_lightb.png new file mode 100644 index 0000000000000000000000000000000000000000..bc1133d8d3c535e8e1605a3f656117d963ec6042 GIT binary patch literal 733 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#S9F5M?jcysy3fA0|QgP zr;B4q#hkZy4861iB^(}FFZgihNOs)BW4sa^{2MPEvg7tho_tC|E+RV9ytj91XxV}l z5i?Y8EGc1ZTH0E$cj9!N2Yo$fY@ahr9ut{tU);3p#C}1k75dvB|9G*J%U=*9;6rO&3TYQVjk2outKk{}u{V&T;x945r{&?ZqXN}Z< zZy1&>kACYT^F+)V{|Gi7+-()Kabb2nTau9k&$Z9Te+aE!(wklX{ZAz0n!Im+3TowUO=>hLtLA?exoV1_x22P7#X?x>5qK4U45%ijr1uMD29elF{r5}E)yp%`8O literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_sidelights.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_sidelights.png new file mode 100644 index 0000000000000000000000000000000000000000..7a1c31e45e47bf6616d5cf219991ff2877442b31 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R52 zr;B4q#hkaZ6oZZ$2(;Cw8CdXraPei?>+Zvven9z@s0Cxl0)sh>ftRblbk5@7YjB=+ z(`e?wJ=YC9(`Nkqe|}5S?7KCadr!tS$#61Q3NaK-Vmb49Pn*ED@9SRc`5ox3+c1mpr>K zn$Vr&`h#J+@as8;FWNqSy*P&b$REv()9!2BV%*pPbna*ebSg|4nJ@ErkR#;MwT(hLkN z9-c0aAr*7p&NcLtc9d{q*9`J1=9pf_YQEsJ=88*&T{4Y*UBNd**RI~7wA6an+Jcv- zJ~mvFo6!2`?#G^s)$19}g8to|xt;m!_n+=B4!(Z<`q`&XpOiut&E0>qXyejrf8y)S zX1BjC`h5HO*^U3^vR2g9-P;2MwX*%kUB&-r?S9a2|G%xQZsl2j*WW+>q(1HbUXby3 z{kHGhEsAulxCPp;Suu*;-kvLSYQDqDjP0)jE2P#rtrgx7`~PXehTYp8VoY54I~PltLGL_zS-?B`J?zHyN0cKy4`;6TzSWfbqyt-AM@T({rTt8 zUxtaZ{<6&f{L@ftpGJg$p!xp`pUX8*z4)T7aPNTgjs1<$@@CgtrLD5Q3D3FwXZF*5 z@(&h;**h4|e*15&OYG?@bxn8w+nWdC*V+`6-MO&ULwFP*=T{=0i>{$jj!elve-M)M-o%RAev*v~DMUvU0^;S`2U zr|-#j`*Q3Z_Ov_y{Ig}hg89p5?hoHjs;PTf*Wj_Pt_kQ%;a%V)bnPX3$CjUez)46W zBt+1Ecl(BV=H&Q;r4J|d#QbHM`j?XRDCetcikG@(+<6Lk&mjrP05 z_Wfm;#7lCrL5c-fs7UzL|EkDep@{1!jMtoifuzA<~4QJf=y cUi-;@`~TB!j(0-$fdvhNr>mdKI;Vst0JzBfCIA2c literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_towers.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_antenna.rsi/ipc_antenna_towers.png new file mode 100644 index 0000000000000000000000000000000000000000..f971130b8e4ed051fb749a51113fab026750f83c GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TS5 zr;B4q#hkaZ4)V4b@UV!#rQA{Z7 zc{|IT)_7U{r+qbR85P`_9Qs%qWH=ctg&2xd7@l}AoS4WkK^aA&;Hyi%?fkFLst#m# zZ#k*Yy+Qh$j^gu&y%)3}2z_gO!LT}Y)-p4Dj~y)BZycNK_goj-YnLtf<@$q6&bY(t zxBa!>RL=PRxV3jKR~@&t;uc GLK6Vlqh7N9_6{oe?&nh*r(p=92=dT3ysc~I#^Z=_u(Ywe!E^hL;|-o0?lzVX zDc1GE@QReFFWd>@UZ_8eAlj-ta6f)6U-!hXS2~a8EV%k#?*XJE3J_?W8ad>>v z(q`{h+>z8l9o6R|HwhUy!+U!g@x;_Wt_|x>Z9S78b}h8(qWpC$X$Jx14AW+>LptV+ z_j)q(tfn6qzwwFBHHqfkaOrfZHQSK~v72#L}G|8^DmR-kt^*BrFaWC}L zaA}E$cE|+?&I3=ytlJJx(TW1qruEsls#E7P~^*^## zd2@jGva~T! zWuAF?x|y(HUV-ZLNPprh3S5}xUGuU*#^SdgxV$13>l6kJq`YB$Ozh&)99-;J09!bw zk;awb{D25Ce)(LCU!?W%Ck3#oq43z{X0-N+8^Kj+hGz?T1=jL3^K&a&<>XjM zj=c9L3*LLMJXRy~upmYo98}<&2Jgl)xrop!S=Xtmzh);fV|oYhPAJ4Lw3Il$ct7e( z^~jP-(SC$z^6m7jnxKTdlMJu$x*6&%NqR9!g_f5?G>!DMI|)yfvR~98SdgXG$jq24 zS)x&od#)A57~9%*yx}P|b0hlqNx6K;(wHr^MOCg!jLPyIWxq2km>wo!^GR_#?#|rl z!nPOV{z5s=|2CDGO(;vK?Zw?gFtt3sLNG2bbnX1|&fBlZJzqHydHso7pU6`WCWZ^i z!OrkH!3?T~UZk(WLuc3MIL7nNZEtiUwx!E!?#vG$1RR{4dz0697C zRX&9|j)s*rA;U_mWeD z@}*LpykvBkKIi+EhY{*hV$oDrWohgCs*;IvWTOqIPlkx$6licJjfvSol&L#-3gI>h zaR&!Rw?U?8RTe3iK)l5l$b18H=6;X$y70WrmS@moF;>T}@(oFrSh8E^G+BqQHEpdV zGgUf2s^XlDU#ln@dqqBO%SZXo7vs}hP+CMW5gXaEU(d^c@fI6h+^OAv zX1KYAiXvpX_l}M%O4^N3JE|HvLl9m4-U0i&5Z%waLCV`|no5*2a1IzXqkfac8U*n` zYKoWi-C-~}x$5fO4DkA9f$r|^oj*!GX#9_^{g$zV=09lsTWTDbv$VAIy9oQm51jBn zOxUl^e({5*CqF3R-^c0c>0x`)oSdA$4NXi;Kzs4u0{_D=hg~1qPkO)j_qN!t&VKRl zT_4N`1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_01yBIKmZ5;0U!Vb{%itPJJ}gu z_X7Ocdi%fYXK!Khhpf#XAh*}Up)HagHo~F)_^&tS(DZj3_#U5t000AHX1b_e#00KY&2mk>f00e*l5C8%|00;m9AOHk_01yBIKmZ8*2mvRL ixBRbP0l+XkKP4plk literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_breakout.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_breakout.png new file mode 100644 index 0000000000000000000000000000000000000000..54a282bd95c240b1472f8df8c12a4343be6bac9d GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{PV*h_{G6MtSNlzEYkcwMx?>gokG7w-5uzuvx zq5L$!PUw-}J1uFcl}fzxR6gI^6!hcR$BuRTycro78dP3QYmeLe{rmpA*=rYz)h_u{ zz4qzV>Ra#Yzx}yAtv%|)6}_KpuNnQn*PZxt=@g^yb~X0*KHu80xqRn$``oxA4}9Z= z3xD)$6v-={KPY#<+UoK2{H<;L3ru4k%j8u5`uWGUs{iqk{zb+3(pS zsy>R({Poh)j^Xnu#++pSg!=Wz^4J=9ml^Bb+RO0f>9_m*9dDM$Z{lTf{?B@epC8>2 z5WhetyWCvHvi{Sl8^P9*`xq5WnGbBOYm5U7K1_lo%*yr$l&!00tcfI$&R-6C-|1!D1F3;BexWOQ> z?CPu<_LB3b&(Fc;LII6hdz1FcKA<8nUl>yTkM@t1qTKKXffz8uDIT>N)tgWJEV T0bP0l+XkK(_hHC literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_bsod.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_bsod.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7a8efb62e5f8761424e20f781cf3c9a46407b9 GIT binary patch literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{P>hYuZD+2?Qk*AAeNX4zUch~zVJIb(s$UK-3 zpmIa)#MBQA9Y;U1MX2-_f70@N$N0+O0|QH`y637{YqFeXE%^2wS}jfVOl**mJ>w7id9mP1 z4c8xQTe*_042J_J%d4-?zkgnj-|Bq-y#0T^K6$_1s-s_eL$=_|__Ov|GM}zb-k;C> zt@s~^af$Inx96{)k5!gVx%BmH@$<>&yFIOJ`=kHtnbBhR=jku^HGj9+{7<7g%^C`Hp=^rmmmDzNg`kxzrW?E!9v48kdJCZRN3;sxYbU-`S_Ts}uMA-8=u* zO!MjMD|g@g$Gl*EeeutCaWkrzE0`;`Mf=+SfA;I;-Mt3a{_81~W@fY1Tsc^TA|*=izrJp7wD`7<7lT8`@q@)nA8lSYBi^_CNx(VFEiYdD zG1jnr{%O{cPpL}p=geQE{^9deZ||SWcQW6rXFY7NgBfTK6s*XSIew|AZpXg&r>B0h zzVD;MyI|L)3OkrI!vX(gnOt|P=RE&eRz1Bw*Ioa#P}G}kxhr3?Env(wPl&yKA?bVV fbwjB72JZ?c-ffPT?^Vkl1_^n(`njxgN@xNAr$upC literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_ecgwave.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_ecgwave.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2c405734deab48b03eb0b4930e07d235e4eae5 GIT binary patch literal 1036 zcmeAS@N?(olHy`uVBq!ia0vp^4;UC2893O0tW|PV*MSsUlDE4HLmUWBnYeWhP=vF< zBeIx*K~EWk87r3BmjMOYOFVsD*`KqC@#%|Q{CLNofq{9Zr;B4q#jUq@4;C&8U^xD8 zyWcvq2~1lUqzqV>Fa$Gb9+HX$s1e)C-|2_Lud)Vqw^MBhsM*bIsaVc`2B6U8MD+xTm|>q z=hQ#1itzav5IOB4e^thvck|seLqbJQZMt%9$=&$>#g#Lvn0xY@X81q&$O+W)i`5|K zc%1}qe0|pgPl|6B7`t$pb3{r`eyZQjpO6aDUY zi{>_^_e*VGnm?$JUaNDuz(#KI+=fEymL0!a_U`-p>({I`bCcxr@91?Yy*gjN!~ceS z^_ltqcl@3EZ;AAW0*f#8-7QzMME#ZrU*UdGVpW@UyiRsk-1_;quD>?Ts=wj)QESGg zyYcm!@r}P<%VYBz`CG{C@M&chB{{*B*OvJ^tPAocHhF zM}9Bg9ee3t+UAY?9N7JL;OwTq)5`CEd-UgacYKuluB~skR=<|#YhO}(yZiI^{49Bc zuU|r5z0`eo{?W9&hAX$TT?12U|7;T%K3)6U|Ngf{%ds2Fz+ivUZvMW1d-iSVn^HCZ ztlh$Yd%uEA+j{3aXYl#WsqZUn$}GRj%gb9okGG$BH*fkE?i@4e-!;E(egkD6H1O=Z YbgQA~q=~^tE`Ve_UHx3vIVCg!0A-`MAOHXW literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eight.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eight.png new file mode 100644 index 0000000000000000000000000000000000000000..8421ae30bd99d6c956055c9f95f577b09dd0acc5 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{PzU>p*K&0WJcmb<= zVWWu5f!*bES29b+~O zo%vfZ@7nS_@y8LT?Bfo+I(vD)+^@r5uk#+aDE)ias*5R2SE23kTi5H_3GbMa6j_h3 zv-&70J^xd=cIN9le*SA`G6G!!0SB12&J{LYK5O2q> hIol=-ECCa*yTiJ=tw8tczK{GMAx~F7mvv4FO#qV6Z%_aL literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_exclaim.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_exclaim.png new file mode 100644 index 0000000000000000000000000000000000000000..e280615e504522098068ef02622796a883654002 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{PVdnYK11MDD>EaktaqI1^jl2wsJS>jCf4~2^ zkG&;@(b&==LSYdXgT%$|*P9C0KmF;sYPb5c{LhxnOdJJoe&5tRuta5@0MG;oIB>V< zQqBF#?VJh?Fd-nlN3;L@{d3P_7+DbP0l+XkKaFaw$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eyes.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..42ee79361b1e930044f20fb9abb7b5aa1552ab81 GIT binary patch literal 298 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{PVdnYK11PlJ)5S5Q;?~={hFpgYcvvr}d=a}> z{Qq;xcg{C^=LTD;s6}k8%r|7|VUahA%!p)Y5Xe5gwDvv_^gWKKHkFP2@40@O_tt9{ zmMwm5pP9XPMzP)85B`Ti9D&E3Y}Ham8PUc<#_ zqRY4wwp6yhWHQ(dQ^mkga5f|Vy?epy!gYHY4>H~m6_9C&1u`nC`JrkKn96T_Wuq`_ R&Yd=ph^MQc%Q~loCIHj`W5)mh literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eyesangry.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_eyesangry.png new file mode 100644 index 0000000000000000000000000000000000000000..8a7e45c7e8fe430edf6e4c6476e79c9d59df1851 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{P>F9Ux9#H6%r;B4q#jUru9l4qf1Xu%tcU@(! zU?~3o_(=8(yI9d%kK8mlJKyKJDEd5d4>vx{zz`z1PA6)b>VLcF>!wp~mAw7+|I40D z8cR)%NbG;-tWo~2_WtglOmg93M)TuPJ>;dmf>==s#9{R?hw%bhF(v=IUh@XDO! zyR)*c)bjZ%{e*eXgTKn}Wi{{(4*vaCuc1%|=#aNJ88>solruPJf4LWaE$V$Ow_mCI n_G{JmV;Sz)Fzo#fQ?RyzG2yH6;{Boboj^jKu6{1-oD!MH z-v9q{<@*)hm1VVGQsh1A{QI5~%M+F5e&sWS7zC1b8fD)9{_UUc^F3dpN=p93?~0!p zlI^>6%9h;Q*>6@}vpUPUVCj$8)}I9MEb|Nfu; zc45Gat72XSY)*b$7kya{B-~uHn!oyQRw?)DSB2gOmT_9#Q&Uh ob3j0LYw&y1+Gw@}Fpt6D80TA4@qZ06`kWvEPgg&ebxsLQ0EZ4eM*si- literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_glider.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_glider.png new file mode 100644 index 0000000000000000000000000000000000000000..afd5349ee6bf8f84a59a7368e330809c103e9918 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{Pz20HLC!o+XPZ!6Kid%2*I`TCc2(SiZSj6(5 zS-9&l%dSHbkDYQ3i~PEG>Byg#Px94$gn`!0{QvXvu66zA?-!l>9O-;IfBO6^wv(3a zrse1R<|rEN56xSZlXQbgX>+y4y?_61Sx#H6_n=l#S$xB{zo)N?-M`E;@u%$@d7!m8 zK|^uP?`?bk)O`+q&A2U>TX(^qgYvxhcmFXXlZElw@+o-}#RbHnYPlfLJ4tU#`woM=8IY?_3Psl_x}xF85sG?+?^8Ely%gKRW+h|8k}mfetxyYPl+8 zt9G~m4TFOEX;VL~UB2G#ugvRsMhQolFayJvDQ7=V*WNnEdRO&&h8_iTm`p>P-iB?W UoEPt(n+Ou}boFyt=akR{01J#t=Kufz literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_l.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_l.png new file mode 100644 index 0000000000000000000000000000000000000000..902845f11fc18ed2968f51f4d27b28d3ab88cd6e GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ{P>!!?l94O@N>EaktaqI0(MXm!5JS+#6{{R1Z z-inpF%bn5`%#xV1Coz18zHN50+^uR`d=LZE4(+Brp+IdQpmW7@cWpbX0+_>a;}Jvm V8v#bwS0&6K0Z&&ymvv4FO#qzNH3$Fz literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_loading.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_loading.png new file mode 100644 index 0000000000000000000000000000000000000000..9a1f705a0d7c64ae39d39cf3b8969cdb4c30300f GIT binary patch literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^4M4nrgAGU?nUwMuNU{XE)7O>#Ihz=tzO0)v>v0AKMpsW4$B>F!Z|`mtZ88vGxNw3` zavJ9gBOY%99_Nfy#q&-k1(W{VKUrPjY4Kndwm3CfbxV{S2ShI}msJS+z!?tY$Z zKKoP2E%MSr_{In{94B~Ss98V%k8^x>FaxUts>+7#Mc@CW{?uz1 iTh74Mz=UMPhLyr)25P_8-+FrjBKZge>! zB>3ysuln+;CksB;{QFjQ?+3p_{Qjx`KAdoz-ceDtQ~uY_vi~2?A2!JO%J|~-_Dl9t znP;{CDc-TKz4*q-tv3!^=2WrkT>kO<)c(4h?}jg4f4{>HvH=q;sQmWui}7#Wjr=R> zchq^mVSXjQ?*3od56jQgZaY)<%q~8y`djenz09}TFZ;h`#?((xq_dEByovq#G{mFj9zJK-mm)AOEc%8ldlBPujSkIH&(o2Sfj=N;N8#ohQRO-EB*H|{_6N~V)gw} z!HazM9w43f+2y}50=73D$E2;>}S2D*ObuDY8dnkW7+mIba_7r$K)$_-*Z!g+DbM~5AySP8`e=WaVE71w!RQSx5@b>e^ed#sZ-u%L_>b=*^E4IJ$ zk8Nh3uhKB}{J+^B-yGCAwpp=(dHrKris@V4W!Zk@&5 zq>KOV3M`%SUVE3~H`9iWj=YY{*iHW}`aahD7rA`v)#g2upN9z>_#WiqoU!lkZf^&> zn4oi(Py4U0uiBwgb@}hdIazC8{`xm5Ywb$=c}tmq&Vqo1=4o*v|JF`1TK)gqwafDB zR&T4Xesg&r`+;Dydel;w1_p)cIUPrr@;oe~#p`od*edy85}Sb4q9e0C1_1tpET3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_question.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_question.png new file mode 100644 index 0000000000000000000000000000000000000000..f90dcc94abb29520a724a6485c3a89c9160718e5 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)Am{CQ4Jb6n)5S5Q;?~<+hI|bQJgfmIw zvez-TV{)_Olm+iq`S`j%1n(}1WN1*lcI>&4Qs3;LQ*+Br*WNGG|J>QJrhS5GPt8x^ zPfvb@vtCgMIdFo3P3}NC(~Z1;T_u4)Q6yvq~PiE^dax5tRo9-3L50hYEn9;QJ r^tqnp+zt%aU*CVTS5AQmD%T+Sru(l>R@$uG0Fa2MtDnm{r-UW|0-;!+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_rainbowdiag.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_rainbowdiag.png new file mode 100644 index 0000000000000000000000000000000000000000..37274191d374e4030edcd0dafe98055cbc0fdae6 GIT binary patch literal 573 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)nCVmLz`($G%G1R$q~g}wyBjAS3gB@KboBn> zlAPB*CyC=8n>6EQW0ikKtBbiD(%x9lc(NMgh99>dm-wxlx+G|2%%nAQ=I?s?RVwV< z{_sy_yxh4{_rx8(rLIu9w{7a>`uW?RXGi@0dSC9}Rz{A1hPjN_ULW4C%jeL*l*9Mo z=fnN$!AzbH4DS<|L=xf~fM#QWwR6titTIzSE7NydTH&uf<6-lbFKiyh+EufdmrUnX zJgZ%Wp#_gX#z%{}mo4o}v**^Y@0k~W_OpKGzkfT!SS-r_nb{ohs$!lYm+<}1yZ8mn zEH`8hd|c{wcP);T~C&H|6f zVg?31We{epSZZGe6l5>)^mS!_&L+mEuk^uH;}-)1qlTx8V@SoVw|5TmHaqaJIB4r$ zy!_S0|N7+5j*1_=S<)ShdDk>P-7N^zeSNxQ?Wr>-awbYnRK7g@#93bD&(FVZv^VFe z{Vlk2e`3Zzp*=ev`s>>ZPZbehbzx)#YC!=zcD|22P^z4_KyK&$gW)^XAG>HMaB*;P zpeO=y<~-cK*6p#&lpqJ7K`iLf4-Vey|6SldyZf{8BD4LX&(m+PKe5AZW5uSrdvB)PFRHZZT Q9RP`Yy85}Sb4q9e05tq|zW@LL literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_redtext.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_redtext.png new file mode 100644 index 0000000000000000000000000000000000000000..c180b8e674e6683ef2db9097c7b4354fa3d940c5 GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^4M4nrgAGU?nUwMuNU{XE)7O>#Ihz=tzS0L*jb985j8i>b978H@y}i3JuPH!;?Sc2> zCe6ji-Y$Fp;9mOsJM9@IMujaczE)RF{JbV8f2fsK`%%3^J@5GhAqIx-;4eEhpWpeL zV|M*@|7S~CzV@Uw@^g#d<=IPH+wc0f@KbngUe;~1w|&PqtjoP^Huu%9s=cdMUHrWG zwY*mS)$hknFn64)S^BH}RJ>(F<~93}y7g=sv(#$0zWw@ZvyQv&zRX!);za)2OW4|9 zy8l`J_fBS@58&W~klIf9hKD{y_6!GkCj|YeFgwWm;DY!ahX3E0X9Tjt)qxnx-fX&G zKJlmJ^K+UkxAL|xWG~S4=H2jwxg*cvKf^!9X>WIHIPoX!jmt*S#ULkSD{ue&&x>2{ zgluK4pa1dfsdMjFKX3V8^8R15FXHc3X>DPAK1V+GcI=|(mlr?(Jb$KqtTc)dmxcf4 zRqbYP`p&HL_v#Dp^YMRHUwl5}|Ao4S;MjJv1$UVb{$^a1{{OAq26-fXJHB$Sow0%C S+z;WaAW=_OKbLh*2~7az;n7q8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_rgb.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_rgb.png new file mode 100644 index 0000000000000000000000000000000000000000..36f48e75d7aa4d22b95be713ec917c1fb66ba610 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^2|(Py!3HG1+{xJmq}YsKyb>$t#g1PoCO|{ z#S9F3${@^GvDCf{D9B#o>Fdh=oK1{RU%A~$A_pjR%+tj&q~g}wJBD1%4k9cUOk)+k zdnA57DE-9XWzk6otJYi#V3dUJ1Ki+DFdqp&}b~6q50MByi;fP@0DBm^Qqm_XZHH4-x+H2>TcKl zJN5nhmlQ6GD8~2M(|@}<=l!#ocUKE;M1pwE|J?uOTmQx%vay}X^ev>}?f$p+Q0W6k Y@vE-tZh11_^BzdV)78&qol`;+0KIZ;DF6Tf literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_ring.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..e54542216022e08115a7064be899395b92a7fb1f GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)BB|DU9w-#=>EaktaqI0ZL#_h~Jgfna|GuB2 zxAfB0Yl=^73%)cvZBj{QFcF*m-N-oHKm$PF#^kA+ r>gV&#j}f()m}~EF)a*SYSiGc&ao-M^AJ=nio`LwDu6{1-oD!M<-MT|3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_scroll.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf936810a18574a45b884a3b05ee770f3068258 GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^4M4nrgAGU?nUwMuNU{XE)7O>#Ihz=tzKWz;?|B9W#z;>W$B>F!Z|`he+ms-}`r!5K zqplmaZz*6bD-ab=VD^q|VeH^!Wfe2qGi}eS%m(`(_3{3FYV5m;fd-#A_il3gsZBE7 zi#j?wcCA~SIcvxL_q(^&m4t>qHmTl!|M=IcSkwAhu_CT>&Og8U>GUR<;AMrNqdhB*@BY2dOGx3*9(TEu z@BBG|rZ=RXlJ7hI_=Dl;>H7a)%Psq}^8N1`yZQF}-+%wT!ia@P{qAAEe&y(8xLq%Bo)d0XG* z2miZL8tbLG^s?U4{{C{)C;xwZo#D6J+oSHvt@b}Fw)Q`lPn{!QD0l4V#OI7ar(gjM zRWI8o%g>A#{@d`W`}B6kua{q{%bfjp@2Ba^JN!GQ)a_YOw@cAHi_d#TeTjJjuiAI! zSI2)VubQ8CqIZV#mp?d6#bOa$sG;cToXvlVK85Su+!eDv{3q+v+YNWFeA{5ga_j2% z+C0nuzdyfUbnQK7#LRWCXPvWut9K8s6^*fCR-MJqPyg?pJstVw@X6`&I~b#v%O3yZ zy!D>{a{2RroaZ;J{eJo7@#xw1Xc}SMGa2XV%k^@S*2(Y=5{oL8J50?l(2c=vFPgg&e IbxsLQ04zu%d;kCd literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_sinewave.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_sinewave.png new file mode 100644 index 0000000000000000000000000000000000000000..c976f421791d7dca109c2f65ee5d0a4d0001a73d GIT binary patch literal 859 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)_Fd!6V+IDM7oIMTAr-gY-aS~jC_v`G!|gNo zUUJ}SV9Gf##j%K=b%xOaYu*V=K@Cw1yb%sk4ZEw0+Gp&2G2?sK&wY~omM`?1Z5mJi zZv~poVEpm*B=cOe+0OUBKm5U^*z&jTzxFlz*y~>tZ}r{PKmExd_xQW#m31@z-QAX3 zQB~!2DgU-vi@>BW{crcZKYaW4ZP&l;-uJ$I`Xtn~=*MrV`TW&Pi>H*Wpn@5|pV($M?2roDi@Z$Hb*Tg$_nZ@d-xn`vG4f7aXk)Awy$wMt+8 z-t*__TbK)O_2q7iP>KCe{Qm#znvP#Q6H;$(uRien`SXnL4afg|k=u|tYsKHp-S2;I zxSO~5>+W^dKDTS{wRr{rlZ# zpWSgYXW!XlJ(lz5|1P{(^5SvMH=ws(zs~;h^Uw0Pg))ch_J7YU+SdJz-NRJ;-xhvP zu>&EYp(mdmmB0P}_MWPDcZzn}q(pvuD!RG;mfgA2ph(34Ggd#o$Gh@MX|A8nOB*{o zHCsk|JG*nQ?0=kMc=v>>An(3t!)mFv#A{gHJLS|SA1fKt^TmH9zn{N5|G}%nh24uh zb}=?nw^#$FrCwqN#==)&d_I`-wWjXf`N+eC^+|TWb-&L1 z$EaktaqI16L#_h`9IO{+{Jwv) zXQ}K`fg|6i`EXr)AH~q@x>2wGP3hHjVrkD_Pi^qz{E@e}m}^lTlz{Mi3K<^riZES?ld}K`c)I$ztaD0e0sv;sKK1|r literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_squarewave.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_squarewave.png new file mode 100644 index 0000000000000000000000000000000000000000..04211f366e8ff189a5b4bc9b0134925e42638e1d GIT binary patch literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)-k^V{l!1ZC$kW9!q~g}wy9d`kG7xbH{J(x> z6Vn}b)_?|2=_!I6mosrKXgI;Tgz=U_bz19`lQ{~9x3@o$>EsRC;c;?u!e<#Kps{O? zT%XguYu#@D`?vG9$1mOYWy}5VwH7jbp}%VHx9@v@_-BpYz4|S`_wiqUy)~o$j@?{8 z*Z1|ew|y`C9Y1gXdrNWN!vaO;9#+`2Ez3M)z~j2S?3Ui$`P;m|FMoUKZ|3eY`{y>l zH}7L!GlMbVYTenLFUofR{i>CDtIsg(^>GR39>W;D>5u-pTQ3#)_Ph4tza6o^{`uct z`Wxsj43KY>y}ZinrQN-=a!xltGbZ(XFWg-+|LKgaGUa<_|1At~^t@d5((ZJktrZ)? zAC{`O_6Ov5-}HW;o_~AWtDh_w#(@O>&tCWX-TW)tWoK=dYFn6P|6GQLL4v`6K_u+= z8n$#-YM)Tji72RNEc+Sh2>c!S`~=+w1rG*Z+^YUzQPemLY-R zUgq2153|1~_k{k|T)OJ-wp?FREJkkdD7#;O?cMLCcmL0Sv44xq^>>wjXBC}W_=@4c zB?$(e1DoIMi~s)a_tyD)v1n!pxGePj@Zrm4yJN4i7i_*M!Eohi~syH!u^Qk0|l&7no%Q~loCIHej4}t&y literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_stars.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_stars.png new file mode 100644 index 0000000000000000000000000000000000000000..8feda85c428c33e4e40ee1c6137b8535d9139d51 GIT binary patch literal 786 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)Au!?K69xvR`JOJ0Ar-gY-aS~j+CzZt!N&JR z3|tJw;umM^?&M^5kWy)2K9G3e&dtdoo995M*)U(xO1iGZT zV%M_;t5$9MeEzb@(&^KuFAq|$ojE_qD?UE{=%?d_cXqAgJ{>GL_=&$j3O*4TYjaE*10o=PhP?dwb{qyX@@jg1j_k`PwghuBfl)KW(?p@&5OtoB7)hXYww~ zhX29e6 zS%3d;oAV2QE`41e_x;45&#w)7 zxFi0+LV4ek(>MR*-j4D-WqRPJ&94r_tAd|jTx3v>z22JVbJ65%rdiz=Hpx5NR(}iq zb=&4!X>9jfLD9MV=+=PvAL@gv)_2T*W*==-7yNRsQr)cej1?JD3=g*R92WS+V{m@+ z-$z*VHME=dCBMiymKvFtWw-aw?^FK2|JF^`{~z|L*Zq0;*IM~m_P)WF7+PNL(lgng zIqL>n#C6jx44a_qe+=H?aK> lzgEg?d-FvNy8R1U>KW2H64qqBJf01b^K|udS?83{1OO8VN<9Do literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_static.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_static.png new file mode 100644 index 0000000000000000000000000000000000000000..08e96db150839062238928d2960906dc59a1c990 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)nLhnv5m4xZr;B4q#jUq@H}W1f;9+r4?#>W> zx1Xy$K}$+&vYX4C-D*$WKg}*m{;`XJ;eoJVU}&gdpkQG3TC17+ukG6WyWVHr{#AX? zzwb+b_VH`H?5+L6(ihY|SN~m}-*C%k&Hq;qwq83SJ7Z>fURqyFLoJt&c)=Qm-x4-+ z?~B(ZF@L*gZP>K>Row3rf*aVsi_EZKUe0ClmuHK7qwsHjpxbbQ1Cf{SZ=Cu+_Mdm^ z|Jh6$44|+<0ydM%-_M`^{^^)5S5Q;?~<6XL}zx2s8xt zyK>bQ1gOcoJJ_jd@QJp3H}c4ENct(*8vEWe=EA!gle;0tmrH?W0l|Urh&&s+d;J|> z{vFNM*#7U$-}U#--}(Rf=6Rd{_4k^+e!pi9_{;nu{Vm&u&++fL10JzHU<;%?C;a^Py59Z&RmMM`53zrUwfBy%5B+E+_xi-KFaPpC2Xv-Ktk^`+xt+|GVt9&)+BR-g=K=?bb`{6*tQY#&6|6my|2G z@s{n4wY483{}vlBuD`i@$G_9u3dszw+J6JYf1T&K|K{ss^9J1)yz+my zem%&F-vLnBJrACr{J(wA$Ml!4U%#GyrJ9?e=*_hsi=J2RtIFGdfBMZWnX}f-vzFmY zy=LF{_-gU-#~aW5YERrz^{&KfX4*bR<^%?2qU@oSq7R(i|EhlN{meDtFaw)G10zoY zaW?(Czi9pX_3<0!1^K^Le`h`5W>dwyqwy;cbpPXe!0_VrYv}`e47ET&jCl!j#Xw5` z{{B^dUHOnG%LK!Q&8hJWzkW?U`#GlS?`4yxd=IY8%H{>e*>7PMVoYQRIJ0Pde(tYd z-@m@&ZjhNRec-Xhw0jp4CFW!SeF;QF88UA(&?B#3?{|Oi$9N)6Wu;U3G433a~u*H|AgoiI6H{PL^+<&dhsk1ejr0YmG6 zc|r_vh6fy8#Q#BV?{8bh;hVLJ0gt5KfE0SV`njxgN@xNA DM&3y9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_textdrop.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_textdrop.png new file mode 100644 index 0000000000000000000000000000000000000000..c71ba6d24e9d958fcf91958819ef2b0325fa3f75 GIT binary patch literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^4?viM4M5yS6ATQ@{+=$5Ar-gY-aVN6*g$|aKq++z z!!CwU<&_Mkia3Zq)H}Jd$bh50qiD`#S|_BEyflMdx0d z_`bI2%RX0`d%JAyT>HMqx3;~t^1VE(I8J%q{xyrs{(Zf7{hWUF{NlLNaaYdV-}n6! zpVGPb$ix2U{@>R9zeUIU)o(jlzV_4pzNa_E6rHxpdOqK8`Dv+XsVis2&)fON`R$*# z#na0Jtp9)hY^-~_DAM`J=kK-uAOD%nwjp!YlpwFe21}M@>eXN0a<=b;{?1g{t#i*m z|FHM|yw;Ar`t#cpSIqnW_3PK`HX-r{PVg2m?qHbrkZDIIL-D!HdC#X5`yGF5c=mJ5 zZ|jU%&wp-eTld=O)9!WNmOzo*xF#53z2BzXrLF{I;KDi^Og9k}c@Y0}PWaElWtmZP4~c*K_ix{+ z`Z<5h-M{TL@l6(%>tHl#&|_deA-kXXB)`e|&CVRy4Lq>!SRv2a_N?1s_Hhed)a`M% zt}oY5x0K;qD1Kn|bN$mov+jT2`(56$;jlqV-htKEi}zO9-dH?$zq$SaU~+qO?*3hN zgI)5vR{LM?x={1C;TIz#c6%!Fs=r-+`R}r=#LWHf-yb-CWq$Q9I?n39-{ldi!d9Ms>)2+bayO{uMLY%-+raVBX(~UH?n|yI%Usj@{e?_r837`Mmqg{l)Y3 zZ`DuT{NnlL^WRUsx36KiTD9Dv{eE7a>at>&UZLfe7G2e>dbZu_XjR+1pW99K z(_hToU-NFeWYx3v-|ORb=7`VtdG=nf zPj6c{d;h$LFZT=U%QTe#omTS`Xg&%!Af57^*@*9JjzzsVs*fw6Tb3jo6;@rr| z+v)0iGq!j6CAm}K=iRi}1=xh$&+Y%_`iMc!OdehRj>T?y<|j(}uKe-;#{6#W@BGVk zJB^m?Gq7QDoBV5LN5{n1Crkd<{&tqKiT{qF`9uG^{dc~me`l^s@sHJ(ak$~}{r<+! i{eRikY^`ENwaHUYMdt9MkmyNWAaPGuKbLh*2~7aITBCdb literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_windowsxp.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_windowsxp.png new file mode 100644 index 0000000000000000000000000000000000000000..595ab8444b213be7d18bf6dba2ad44b8df08b381 GIT binary patch literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)-8pkY90LQBt*47)NX4zUcQ)o-4iI5`Fqx}! zYNKMGh^Dko;`)%bFT4^7>efE74;W7cEPKXyBk=+6iwic6D??_iyy7QXEN&b!?M}zi zWBbIf-#1sCHs}AZUr+k#Sr`}`oEEE@Pfd*sn?HZwe<49Zd;2|7OQXL0d9cIg=Izd3 zQbEt%U9Ma=km{ZE{QC6?+W&vOQmT8iKWEPU7t4-5Jj=9i@6O5}cduIY-Lv!G#yI=u z%6NyV@$t^5{%q1YefR3GYg?!Mj+b@#YHD(}{=$=GHxvzP6|>x+v!Ix05)ke#0X`H8e* z{f(c%@Ie6v4F9k2|9JD*YTbH0C8b<@h41c*ix#aCf0vT4uI4H@dC`W+ORO2=>;H%5 z#r-y!Z^h_Y%=GNt^5h51E9Ci5OagKm>{jj)E}khb^Ifa{^ocF2U-_MR`tk6K(0zy>HvTGG6JQZoWT1O5Wjb#oedz^UiLzi+)#w z?z9K*+v4_4v)(WMx2Al{)#XRut-IEIZoY^sPZh)a;_vfn)D@UZmNUv!+0U)BL(wa- Y$zD_czopr0B3|Gng9R* literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_yellow.png b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/ipc_screen_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf4c92cb32597b0358929249b8678b9e74b484b GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdQ|)BmS55FHq>Zr;B4q#jUq@PxBr!;9&^Zu5*AZ z=YWLIfeAhr3~w}uMliH;%P;)KAlmi2^8KW^sOZ93aY?333?3JIcCL)^U;2H)+l?!y zmX!U`)OcE?asFdrto{${XW4UJyKGZde~|1G%_@9yaTTMI(yUnVv+GXZwO60ue9HVm z*}MIpX4i(?Zr=Qu8R!ZK2sj?_{=lq9{)^aF9;|;eHACF|xAAMy4Ca5CE6NjmKQhA9 zG3%V$}M(fhEnbw_s^5TgH<>?=vuXy85}Sb4q9e E0FbwKjsO4v literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/meta.json b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/meta.json new file mode 100644 index 0000000000..b6314cde9c --- /dev/null +++ b/Resources/Textures/SimpleStation14/Mobs/Customization/ipc_screens.rsi/meta.json @@ -0,0 +1,1363 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Yogstation at https://github.com/yogstation13/Yogstation/commit/9c046aa5327c71f9e93e45a34283b3a4aff58bd1", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ipc_screen_static", + "directions": 4, + "delays": [ + [ + 0.15, + 0.15, + 0.15, + 0.15 + ], + [ + 0.15, + 0.15, + 0.15, + 0.15 + ], + [ + 0.15, + 0.15, + 0.15, + 0.15 + ], + [ + 0.15, + 0.15, + 0.15, + 0.15 + ] + ] + }, + { + "name": "ipc_screen_blue", + "directions": 4, + "delays": [ + [ + 2.4, + 2.4, + 2.4, + 2.4, + 2.4, + 2.4 + ], + [ + 2.4, + 2.4, + 2.4, + 2.4, + 2.4, + 2.4 + ], + [ + 2.4, + 2.4, + 2.4, + 2.4, + 2.4, + 2.4 + ], + [ + 2.4, + 2.4, + 2.4, + 2.4, + 2.4, + 2.4 + ] + ] + }, + { + "name": "ipc_screen_breakout", + "directions": 4, + "delays": [ + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ] + ] + }, + { + "name": "ipc_screen_eight", + "directions": 4, + "delays": [ + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ] + ] + }, + { + "name": "ipc_screen_goggles", + "directions": 4, + "delays": [ + [ + 0.2, + 4 + ], + [ + 0.2, + 4 + ], + [ + 0.2, + 4 + ], + [ + 0.2, + 4 + ] + ] + }, + { + "name": "ipc_screen_exclaim", + "directions": 4, + "delays": [ + [ + 0.6, + 0.6 + ], + [ + 0.6, + 0.6 + ], + [ + 0.6, + 0.6 + ], + [ + 0.6, + 0.6 + ] + ] + }, + { + "name": "ipc_screen_heart", + "directions": 4, + "delays": [ + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ] + ] + }, + { + "name": "ipc_screen_monoeye", + "directions": 4, + "delays": [ + [ + 4, + 0.1, + 0.1, + 0.1 + ], + [ + 4, + 0.1, + 0.1, + 0.1 + ], + [ + 4, + 0.1, + 0.1, + 0.1 + ], + [ + 4, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_nature", + "directions": 4, + "delays": [ + [ + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 10, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_orange", + "directions": 4, + "delays": [ + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ] + ] + }, + { + "name": "ipc_screen_pink", + "directions": 4, + "delays": [ + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ] + ] + }, + { + "name": "ipc_screen_question", + "directions": 4, + "delays": [ + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ], + [ + 0.8, + 0.8 + ] + ] + }, + { + "name": "ipc_screen_shower", + "directions": 4, + "delays": [ + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ], + [ + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8, + 0.8 + ] + ] + }, + { + "name": "ipc_screen_yellow", + "directions": 4, + "delays": [ + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ] + }, + { + "name": "ipc_screen_scroll", + "directions": 4, + "delays": [ + [ + 0.125, + 0.125, + 0.125, + 0.125, + 0.125 + ], + [ + 0.125, + 0.125, + 0.125, + 0.125, + 0.125 + ], + [ + 0.125, + 0.125, + 0.125, + 0.125, + 0.125 + ], + [ + 0.125, + 0.125, + 0.125, + 0.125, + 0.125 + ] + ] + }, + { + "name": "ipc_screen_console", + "directions": 4, + "delays": [ + [ + 1, + 1 + ], + [ + 1, + 1 + ], + [ + 1, + 1 + ], + [ + 1, + 1 + ] + ] + }, + { + "name": "ipc_screen_rgb", + "directions": 4, + "delays": [ + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ], + [ + 2, + 2, + 2 + ] + ] + }, + { + "name": "ipc_screen_glider", + "directions": 4, + "delays": [ + [ + 0.3, + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3, + 0.3 + ], + [ + 0.3, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "ipc_screen_rainbowhoriz", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_bsod", + "directions": 4, + "delays": [ + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1, + 0.4, + 0.1, + 0.1, + 0.1 + ], + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1, + 0.4, + 0.1, + 0.1, + 0.1 + ], + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1, + 0.4, + 0.1, + 0.1, + 0.1 + ], + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1, + 0.4, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_redtext", + "directions": 4, + "delays": [ + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.4, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_sinewave", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_squarewave", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_ecgwave", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_eyes", + "directions": 4, + "delays": [ + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ] + ] + }, + { + "name": "ipc_screen_eyestall", + "directions": 4, + "delays": [ + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ] + ] + }, + { + "name": "ipc_screen_eyesangry", + "directions": 4, + "delays": [ + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ], + [ + 3, + 0.5 + ] + ] + }, + { + "name": "ipc_screen_loading", + "directions": 4, + "delays": [ + [ + 0.2, + 0.1, + 0.2, + 0.1, + 0.2 + ], + [ + 0.2, + 0.1, + 0.2, + 0.1, + 0.2 + ], + [ + 0.2, + 0.1, + 0.2, + 0.1, + 0.2 + ], + [ + 0.2, + 0.1, + 0.2, + 0.1, + 0.2 + ] + ] + }, + { + "name": "ipc_screen_windowsxp", + "directions": 4, + "delays": [ + [ + 0.25, + 0.19, + 0.120000005, + 0.1, + 0.16, + 0.22 + ], + [ + 0.25, + 0.19, + 0.120000005, + 0.1, + 0.16, + 0.22 + ], + [ + 0.25, + 0.19, + 0.120000005, + 0.1, + 0.16, + 0.22 + ], + [ + 0.25, + 0.19, + 0.120000005, + 0.1, + 0.16, + 0.22 + ] + ] + }, + { + "name": "ipc_screen_tetris", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.2 + ] + ] + }, + { + "name": "ipc_screen_tv", + "directions": 4, + "delays": [ + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1 + ], + [ + 0.2, + 0.2, + 0.2, + 0.2, + 0.2, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_textdrop", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_stars", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_rainbowdiag", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "ipc_screen_blank", + "directions": 4 + }, + { + "name": "ipc_screen_smile", + "directions": 4 + }, + { + "name": "ipc_screen_frown", + "directions": 4 + }, + { + "name": "ipc_screen_ring", + "directions": 4 + }, + { + "name": "ipc_screen_l", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/ears.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/ears.png new file mode 100644 index 0000000000000000000000000000000000000000..9966cc2ac2d83ac43d9d69f6ed1be7e72a3eef05 GIT binary patch literal 418 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 A^#A|> literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/heart-off.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/heart-off.png new file mode 100644 index 0000000000000000000000000000000000000000..7dda0d3a8e66c7e94d84a3704387bc84f3e9997e GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5D7ekj z#WAE}&f6;+c@HZHuwKa5w03!UDR|kEG^Sr$^!6|)Z)j>yV9GkB^MKWe?P8>1*r_|N z5fk63l&EvvXZ~Gt=-@&IRt*P6E&;|MFVkZk0!(|pJC{3XvQGb8diG8N^NTO}Y-_e| z(RwZx!H|{L6Zu*<|Mz_*m-PzI?_@ofc`f*9^=OaTt;{f*s|NA>;1wS&I&Ri$J70|#WQeg3b_0?ki_J51FaR7b5;OXk;vd$@? F2>>CHVJ83p literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/heart-on.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/heart-on.png new file mode 100644 index 0000000000000000000000000000000000000000..676a641989a8a0792243f9bd7d4cb4f8f1e87af0 GIT binary patch literal 491 zcmeAS@N?(olHy`uVBq!ia0vp^4nUm1!3HGP9xZtRq&N#aB8wRq_>O=u<5X=vX$A(y zxt=bLAr*7p&f3^{*g&E+{y~|=rP!&*QpG$TbKY6*JCW6Tb2X1ZQ*Qxpp1)KXwj%EDbW843Mb*KOeJAm^)$r?cD2zrt#|?Pal2$Sx~j}=d`QSRTOee z3dR4`%1M4W;~&SEedC|iW+I*=EHq`3H_$|1#*Wdc$6kRK=n<{r&enU)nE)d=Y~x*d+hJ6QtnPJ9di& hz5<}2gBx^?o5$$Oi@w&$wB}C literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/meta.json b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/meta.json new file mode 100644 index 0000000000..d6b1b51038 --- /dev/null +++ b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Yogstation", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "heart-off" + }, + { + "name": "heart-on", + "delays": [ + [ + 0.6, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "eyeball-r" + }, + { + "name": "tongue" + }, + { + "name": "eyeball-l" + }, + { + "name": "microcell", + "delays": [ + [ + 0.5, + 0.5 + ] + ] + }, + { + "name": "ears" + } + ] +} diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/microcell.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/microcell.png new file mode 100644 index 0000000000000000000000000000000000000000..18b692a5a99ea63a4f475dc30e5f69cdcb14608d GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!3HF&`%2dVDb50q$YKTtz9S&aI8~cZnt_3l z!PCVtq+-t78;abA0z_CJDBs9YGu)*V;d_cDmu=%rmd}$ezKSnE^UCZQe??y`+w-=&#}D1!9$V2I++HB)z`)2N5RiMoVgA0!?`|!RTG{aDVE1Ru z-G)K!8ug5qZ5Zmd$<1y^)S3D%kj>>H?>#l2>&4m2cJ*2*^gZ5kK5F&*uaR~NE1&IZ zbidu&wvOk)&g$Cxwk>I#4C}6QTfI2hf1r_7R#?)(sA)^dSKEJfU9Rp0^1ljxIVp26 zy}#anymn_peVtt^LzfN{he87bh-k=SKJvM7?cAr#(Xm?cC$1;h9jIye$?%!+8S@!- e4uu7W8u)vkl=0_xPqGCD5QC?ypUXO@geCyzPKN^k literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/tongue.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/organs.rsi/tongue.png new file mode 100644 index 0000000000000000000000000000000000000000..dee2ed3b99fc35705f70b30b6541e506e72e896d GIT binary patch literal 516 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 D;qYS* literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/head_f.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/head_f.png new file mode 100644 index 0000000000000000000000000000000000000000..31d77176c96e36ee043c1f9e40a214715586ed4d GIT binary patch literal 885 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCdO}M*cF=3&%nUUfm60Gox(|3&`j79aH=3ESH?Dlzw&^|ETlFI!lyRPUUTiJZ>vfR% zz{iRs6*g`%$Hf@FR@rJSjpC2dOqG|HXJl~VSdz)5$ind8;X}s!{QNQli3`V%x6fA6 zXlZ!=du#H(_s$#>{a0{j9}ZV$$eeZP^PXFV=RZ$aw(|3W^UsaDSS1*m6b}5XDcjG| zBEWLMPi?Y&mP6tl&tLI93^!g?>2Eoy*e&A48$KAZ?+r_(C85T?~cDNY0k)u?! z=9xD4uigLNf0!Q?ePBJ?g{vE<+qX$DFefnZG%y-4upMAP;Y4k7Gj}@u^wawJxxcga zbmpIHU@N=2^~e6abL)>z4H9$kR6nD#`5`c2oZ1!8vE`bX=cJ%`$5qRhc`w~)#lx`p z;))d@|#6i7+1Nj;11o96*}K@Qi6em0tZvkEJlVC62VdJtFLkeothN$?A3!!H**x0 z9?9COb#?w}A(iEl0UQ&03{NTIxU7}UyNSj+NF>9Ca~81^gsCbKV#_Y@4p!u z&YwRoZ~0-%!~fBre)zNATUP&1CJlRNfrHLGZ9il5I>V@c6JnYefWXt$&t;ucLK6TW CC5b!$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/head_m.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/head_m.png new file mode 100644 index 0000000000000000000000000000000000000000..53d6069a283d5bfde9f07ec578d7e67338ea8dbf GIT binary patch literal 885 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCMF=NbU38qCj$dBlc$SgNX4zUvo>bEHV|q1U#uy3 zR=VQ#gR>_m#qtYqJmKWxP2n(9&7Zh;ipEW&lGAfmu0Gx*KGE0NY`^2d$?t@uZ(nbH zeWmEV>hqjQJnqjwU!1t+{+BObTB5hb?Sh)GgV$*o{_KD&wFkep8q^y*~-rg&ObNqVwGTMQaJFlrffe; zivY_3KefsBSq_PJJb%UaFx+@mrN8B*W`l|E$4{S}UVpu1XK#O4g8BaU&1)9u87Xur zO$xd-Yms}nU~ZAfz4za5hPB+y3)gb$KFYLi`+-AY9e4AlZx`=oWmqt|*x_Q}MvhX^ znrGVFzjpt7|6zVq^nvwk7p`ucZr>)sz?{Iq)4*uJz;=KEg%h>S&D`nq(@*Q?=l;&x z)0uy+fvxQ7)*t)x&aFQ>HAu|CQ~iv}=7+$9acWmU$Chhmo|A&&9ak-1=Dl>I6%WJW ziz`-eJQZ`DSX`^nwJ1vSjzqIX-`g5HcBvIE;a3~7K6p-2@DyrE$Dh_eKC58YnMLao4{K4)BoV#|BRupzyD@v zIDh`Uyyb^25C2Dh`r*%dZ(036nKbO71r9p%wEc|H>kOm*O^9h?00K`}KbLh*2~7Yy CJ&HU4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_arm.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..4f042bf40e07391d9df13e6f861429a604924578 GIT binary patch literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCMF=Nyd~HppMil%&eO#)q~g}wS=Q@b83?r1D?jOr ztza$5Y2o8k(JEiLsVziMB-nM)dACbT7nMxxW8G0a`L>L*#yRDkd}b+bPD_40{rN0a zUF`Q?x#DfCX?Z*ij0OyB2N)z6m=hQ_Z%y^s`1$9ZdfTq6S*&YKJ2X1BZT;r?TisfQ zuh2;0e6fiyGsE7kW;51p-IhO#t#aP-Sf+E93_F}Px|C*oj?)a$z43Zap_LdFDbv!)Vw;wWOXnA*S^Vx=# zj%xf39SgSpGwxV;VA^|ut%~YiN?qkrGP_^&zh*R?D?h8&hE4K7`^^iVqL&1;8|MDh z>+@e~`&&-I>7KyO7(GvmsYl#8_??U8n>XL%DrN(Q+=ow^22YlrOkw!Lw5;HtIeTYD z$m3Wa(VrKB6IQLs}Y^zMIhV((r+H(FdU!M!)W7 zn)^PUdpvKuaG)qe*l%-dmPdiXv@K^l@P>gxr~`2t%s19^?fjweGSq240}yz+`njxgN@xNABcvKo literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_foot.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..bb9bede218091d867ae80afbc6e6e8263dcb0c30 GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCc!Vo)}JLjlYxQpq^FBxNX4zUw>GY8G7w>Vus`cY zO?RK)-3rEZH8UaKm=Z&~HeqSuPG;%g^tgi)r*407ZE1Ov#=R$MF{k#n{Pzi3v~>P* zTN4GocIIg^+B!BI4h&2J4Gb&_42-y#4XsDgPE5b{+Vqo+duS-bgDuxKTvO^xW)S%O z_ulEFaeCtEYh49cawnhIw8pyLMsE4Z2AlKo{HVAhGwG&A1nTx z7OmanI^jDb#7hnG?{81%Hkf{}f2;V9j_a~g*TMenW||Sq`hm${IoAPAPzWS^tY*|_ zu+u(xW5*n(LoZe;6~%YEhW2I&=NhcdVP;FJvLt zfBj~7n&+e^%nbrfsW(5_^#8pi`*=?J!OeH`rt`CIiPC*mDHpti=~~`)Nt2mH4BK)K zm)@N&v|}q{UCEl<+dn0mKmU}OeDX>7!Spl5!{Q&E2z2!qh5%dEqGHn(#s#taxZ|08o(e0Se){PhLw&u3q=;3zGPAxTk^B?X5ZsIfp^MwUtQi{(I4u?N9+$t&Wtyzg`2M%W{PX$-TeKe-&*W`)))C__i(R~G zb3N~$pVelw&!$XLc~Q1IXK&p96XuJzAInhpK*VK3(=Flu@|UZX+E({70D-5gpUXO@ GgeCyxA{#yc literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_leg.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/l_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..788f2769d430d38fc166ad9d96c98c19ff51b141 GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCc!Vo{v%hJpMimi(bL5-q~g}w*@}}68Hlv~fAi*m zWPz=N=(_C=4`(#aDu3opblh=+D|JZ1oLQg{=0y*cpa65F9~^;{ZH zF6y7GuAdZcIM?rD>TieRy$l=;IM9ORZ#SPDfBp5>r>gC@B^i=--&OJrPOrD{oHYCG z`LxZ?nHU-@`p#C^xQV#lc>n!ewU1ZkBa3bMuG3Q2&t~$R6jPt#w)o=O?B42qI^L6? z?<_ZTkl|xza1e1l*S2@-B8@+tjN7iOPv+cmjic#+=lk21@zYcp5-enx8Unn2PG;>p z{&;)f10{i55{sua1)Zvx%J$ZzK=NcF*ID0dT!O&eva$D9>=xijn{q!O~3F{$6)?>-|Gw= r3LJWp2c|v$vs2K{##i-5?r)})t~FUclSNB_>4U-3)z4*}Q$iB}Ez1U! literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/meta.json b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/meta.json new file mode 100644 index 0000000000..1463c57a06 --- /dev/null +++ b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 2, + "license": "CC-BY-SA-3.0", + "copyright": "Original drawn by @robustyanka on Discord, modified by @pspritechologist", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "head_m", + "directions": 4 + }, + { + "name": "head_f", + "directions": 4 + }, + { + "name": "torso_m", + "directions": 4 + }, + { + "name": "torso_f", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "l_foot", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_arm.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..6c1ff1ec9cf0b2332d27d4af863375b326ddeddd GIT binary patch literal 737 zcmV<70v`Q|P)-7SF9KwFTuLpoJmXC!Ha2%)C0BqZa5Tdy`Ac`V*o(IQqvgjLK zKwyj^ilQ=~zRT%!%E#;Vy4D;pD95!t45_rCCcf9U{;vR{C<0@w zF^8&j0TunKc3NePQ0e(i!%}U9D*8=bMs?j1%j!3~RNnQ{SsQ?^MI`{VCphNlYXi_# z%d8^SP@GcL-)R>Zl32QGYbdSN>`Tg07x-%chO#?E89)I3=mJLz0F}*&wqX_R(z+jz zO>Xa$R5756gTL8TW#X+g2YgbN8QF9f=*>b%N|_cuZ;c$%s!??gNaHw0k|f!o(k~+P z^})$fytg5Q$X-LibUJNy0i@&J$|b-#$Mt$e7=}oa#29+3RLX$c?S}1kn@7G-3azDf z(^;Te0tmw}e`nxuIKcP)LH;V7*EIcOgq{Tm00AHX1b_e#00KY&2mk>f03(!tpGFp( TMrgpu00000NkvXXu0mjfoE1Db literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_foot.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..2389c30aea5458ae633b88839ed9f2b51163d25a GIT binary patch literal 562 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCc!Vok#Wgx9s>j8eoq(2kcwMxZyDw_8;Gzy_#ZlT z`yCZwY4Harn5I3et1Fd$_$2enNk;{l)IFsq)Mu>Fr2u4ZuP23Z_9p9^4xy>>MtI)4?CGB zsT}-T^)}}3#O?p*KV14=TFEuABc8vu^KWL}b!&>+IU9)6moXKbzdW7O zVERe^N$h{7E&Rv>^4f>@48P{QE8fLy!*k(z$^6T*4T>P&CVV{4=jxpJ%;ZpYYv)d~RE zD@RiZfyH8>eBTEE*tU&+zt3U=IG0+jmW!00&*uPuN~Mxa4XD@aux&fafR`63Wuirp z0l;W9LakO~ap&bT#WYPOr9`=0hUag}?yXlh0TheH zf8R%=5nR{RGF}Mr(5fMX(1zf;uGTd8GXsjnB8I~ulv0^hcFy_TAUNk*fnv8_j9m5s z_x1#lv03#D=lVOHPCA|7U(RLSFx{*FD@)~RM*pMt0y+Vp-QXujKQ#c)?*3BS4!@F9 zy81I+1>WXBB#-O*%M`)9)B#!s^Omxd0R$jJ0C{R~QURcIIPq*)=XUAn)}8`Ual57@ zjsbBT{LQX7g*R3WxTP$u)1X{5LXnYq>Kfm26-c!PWZ3}SJ9e|#Onx&20E@-q>itHe z@q>PrQ{Xon-y#FjSY5O-;5^djMqRs~w1i=Z-EN043}G0?O&fJ=`qDLGGMT6#2viUR zs?}<#%jeN2Y3BhzN~yZtu8OYD^~Kd~=o+(JF41T-P%4#RSr+#D{r|xXBee`L3qdWnx62PKP{3oldVtE9vM1 zfa5sq@_rbGSg+RrfNHg>U5FX|YmCkV2mk>f00e*l5C8)3q4EucqAv)4nq?LM0000< KMNUMnLSTY>1XA_@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_leg.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..f424b2efbcae1ef1e98d9baaaa55659971fecbdd GIT binary patch literal 636 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Y)RhkE(~!XIA!A2IY1H40*}aI z1_nK45N51cYF`EvWH0gbb!C6fCc!Vok#Wgx9s>gtr>Bc!NX4zUv-kI{au7MTzj(8x zmi&Qphc0!UJ9N!`f$_zbLl**n^6X=n%Go-1>Q;S+#3WZwM{|A$)w4N@ulIg5<9^4X zcYmdVV&mu8pPwi5ohaJrGXE`qRUV5211@B{x!+3scwx`wmnjS@Yajovd(9VqKCx?&fotFm-^Py>Is2+}1z6S>{Hxn@|2^Y@2-bkLcAIpX zpI2U5dcptll{#LA2AlI6BXk7X7BVX2uKDNus`K@(Wtt7QVjZ&ozO70;UAFt~{^ie# zb}}$bQrXC_aC+0Zmc2o*UZ$^}%`|D*O3uR{_Rrp*^;O=wKZq+evQ9M9a{l=;z*Q)>k1gA+v zK~#9!?VB%e+e{e1e>Y7r>IX2hw6HEDETA+rL1vXUDZq9?6qJ301Vsi-4JH*<8nS6< zCK)xPF|#H!e*hz!+zVD)?KV|&mdmua_efFdv(>x%-Sg*s&lBpaEzA8o;ZSw{0H2y}iZrJjUa(jG~CLEHMm&(P#u9hQr~r=RMD3y!00MFGHKu>hbbidqYl%X~g>CJ&J3Ia!u5pU;`k z=W0y=AWc&M27^J<7RPbZu3D<9YR0kO?|J|JJ*H_k?aG~?=XoMcQ{p&oK53fbd7d~w zKY#Y@vF#tgwr%n}XTRSAu;1^=^Bmi@PXl1RUXvsVX__{lBuTisx;lvl42MJU==7RZ z55th*a43{V0f5WPOIh1s6h(|iBQ7p3uq;agLN$QRX2Wv1WHy^M5LT-dMN!c2_tk4a z9LEGffN7cln5Ib(1jKO+z{A6XQUHU&K>q0L9(>5AZZ;dW8cF{eRTaMP*9&mEt#GaK_4fL5K{1_9MO9UVVMrXu zA`HWNPy!H7wct;~;4c6Q+qOkL*)Lzdh$qoN9O8rz)c{ddl>iuz$Kvt&=&St#Kv7kd zux-2P|0FL%yf;~XJ^1tlAzJGUjr*0nr@cHxS-%?){JHg-W|F541sG7V! z5YYfM01ZF`IHI%)gKf69iVj1y1{_;Nn+lQJ+uMI)Qf-dKm1%$~mDMJo0sJEX^t-@c zlD5b5+64YjQDD7Z(>6JKQ~)Y-0zU%%RbPidfBOfvChPiu^Ye2qE-u8=K^)r&uGj14 zf4i>BcDt295HvLk*Vor#GMThKEqZgv#3z%9bR36%zfW0~>~=ePy`BW5>$*xKfa|)l z*XzmMZbw;`^!t4r$6+#=NW(Csat&B47Gzn5@B2+IuFlP!N{XUjwOTQo%}A1j-EPNp zI^~e8RBH{WCvO-=)AmwwM3vNi)+XTl{y~|kwz)xqAZV_WBmuq`E1U{Kp6AaBGM+9( z5Cp9?v9$&`j`LF@B1saWD8jNVrRniU-y)(YYT(ym7zSloindzNIx(`@Y-GRRr`zoU z-_zrkWigx0$g)g%jeu#IvMfthtJSkwp)^hDcDpjqbD`7;0wPHgnIs8iSvF4a(GJCQ zI#qs#QG0ve_n(n+Ki*gA1ncs=+62CR`-TwWpfR)pU|E)M97k@qTkh}g zxxc>$zE^J5B{Qdxdg67G6lgX?Z5^@DzZ%o8!y14FpaEzA8h{3%0lZTA52ABh6?@6+ Q5C8xG07*qoM6N<$g75NHga7~l literal 0 HcmV?d00001 diff --git a/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/torso_m.png b/Resources/Textures/SimpleStation14/Mobs/Species/IPC/parts.rsi/torso_m.png new file mode 100644 index 0000000000000000000000000000000000000000..df2588b562d64e65b33bceb18ea7dd26889339b2 GIT binary patch literal 1232 zcmV;>1TXuEP)>ya1YJo) zK~#9!?VGV`<4h38|NC)BTp$miP7rmr8+R_;x|J(+fdo=mP9a=5k6>3ug=H0ilmS=T zXK+A8aGF?M21G2WaX8oJlnc3Y5xwyE%SC;?q#YF?q z05kv%Km*VKGyo0Y%gVQXzwrJ0cl7&xPANrMmM~2duImB->GgW=K06!^5k=8aCp;Vu z0f6`WeL0pS2>_5Nig0;(sTKesg!g(qbUGc}+}vO?nc(#F6xY|+oKi~W^SM%sO{Y^1 z0C}E+F$T-BFr7{TfEPtUlzV{dx+sbQ05F+M002c%z;#_vN|n3pcsz#h`(TU#fP7sn z7WFKFmzNg+K&R7@V`-Yoan({)m7K?Bvq7`jgk@QBTseSU2p^vtjmEq2W3PVz@H`KU zF>E#)0KjImf#W#vJP*s|vK9a&%QC(@kYyPFkdFXVh_Jly2E#CrBng_$W<4I@I1cZ2 zyI_ogQVQ2~v3=$Mh-v_i zzK>Vep0m^ zJq;R$0mCrhd7gZKXc{~y22@prBuS8_DM^w;(7G|JTn0>c|NCKtu!305kv%;16Z*H2Ayat)jzF?Ey#MS{_mf{>!p&C8*2; zYB(3rOF#qAdjahM8o)mb;BRDsLzdl90X#oHqb{Jo(sc;*Z--9k`uduS{(wfKfo``; zb|-P{AQ(lF{M)|oW3^iGIF4nH!hAj_wVVl_oSg8oED;0&R;v}Bo}K{wIHuZKg|u2N zWnSR>K5w;J@?5apZll}nA`C;Arir(=H==Y2OePZqK_D(8006VuO!f@aAw^M$`#@w_ zhA<2f1cB^VPzoT=b4gpsXO|J_1_OB!u?vDy3fs1o-VkpCE1{H1_(Dw6L|K;VdxRKcyxnd?Tt!=!1>3eU z8jX