From 8440ba64f1e2cbd21eaa5d6ceee469b5dd4f314f Mon Sep 17 00:00:00 2001 From: DGamerL <108773801+DGamerL@users.noreply.github.com> Date: Thu, 30 May 2024 17:26:19 +0200 Subject: [PATCH] Adds RSG immune back to MODsuits that lost it (#25669) * Adds RSG immune to Dsquad MODsuits * Updates string * Adds trait to Gamma MODsuits for Sec and Medical --- code/__HELPERS/trait_helpers.dm | 2 +- code/modules/clothing/spacesuits/ert_hardsuits.dm | 4 ++-- code/modules/clothing/spacesuits/hardsuit.dm | 2 +- code/modules/clothing/spacesuits/misc_spacesuits.dm | 2 +- code/modules/mob/living/carbon/human/human_mob.dm | 7 ++++++- code/modules/mod/mod_types.dm | 13 ++++++++++++- 6 files changed, 23 insertions(+), 7 deletions(-) diff --git a/code/__HELPERS/trait_helpers.dm b/code/__HELPERS/trait_helpers.dm index 112661491d7..a02ff6a254b 100644 --- a/code/__HELPERS/trait_helpers.dm +++ b/code/__HELPERS/trait_helpers.dm @@ -181,7 +181,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FLASH_PROTECTION "flash_protection" #define TRAIT_NIGHT_VISION "night_vision" #define TRAIT_EMOTE_MUTE "emote_mute" -#define TRAIT_PUNCTURE_IMMUNE "punctureimmune" //prevents RSG syringes from piercing your clothing +#define TRAIT_RSG_IMMUNE "rsgimmune" //prevents RSG syringes from piercing your clothing #define TRAIT_NO_BONES "no_bones" #define TRAIT_STURDY_LIMBS "sturdy_limbs" diff --git a/code/modules/clothing/spacesuits/ert_hardsuits.dm b/code/modules/clothing/spacesuits/ert_hardsuits.dm index 53de001ed8d..0bcd42feb60 100644 --- a/code/modules/clothing/spacesuits/ert_hardsuits.dm +++ b/code/modules/clothing/spacesuits/ert_hardsuits.dm @@ -106,7 +106,7 @@ /obj/item/clothing/suit/space/hardsuit/ert/security/Initialize(mapload) . = ..() - ADD_TRAIT(src, TRAIT_PUNCTURE_IMMUNE, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) //Engineer /obj/item/clothing/head/helmet/space/hardsuit/ert/engineer @@ -155,7 +155,7 @@ /obj/item/clothing/suit/space/hardsuit/ert/medical/Initialize(mapload) . = ..() - ADD_TRAIT(src, TRAIT_PUNCTURE_IMMUNE, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) //Janitor /obj/item/clothing/head/helmet/space/hardsuit/ert/janitor diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index a430ed04f40..185f31f23ff 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -388,7 +388,7 @@ /obj/item/clothing/suit/space/hardsuit/syndi/elite/sst/Initialize(mapload) . = ..() - ADD_TRAIT(src, TRAIT_PUNCTURE_IMMUNE, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) /obj/item/clothing/suit/space/hardsuit/syndi/freedom name = "eagle suit" diff --git a/code/modules/clothing/spacesuits/misc_spacesuits.dm b/code/modules/clothing/spacesuits/misc_spacesuits.dm index 5d2cbeda67f..b411f216e08 100644 --- a/code/modules/clothing/spacesuits/misc_spacesuits.dm +++ b/code/modules/clothing/spacesuits/misc_spacesuits.dm @@ -65,7 +65,7 @@ /obj/item/clothing/suit/space/deathsquad/Initialize(mapload) . = ..() - ADD_TRAIT(src, TRAIT_PUNCTURE_IMMUNE, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) /obj/item/clothing/head/helmet/space/deathsquad/beret name = "officer beret" diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm index dc78288d967..972abdd6c2c 100644 --- a/code/modules/mob/living/carbon/human/human_mob.dm +++ b/code/modules/mob/living/carbon/human/human_mob.dm @@ -823,6 +823,9 @@ if(HAS_TRAIT(src, TRAIT_PIERCEIMMUNE)) . = FALSE + if(wear_suit && HAS_TRAIT(wear_suit, TRAIT_RSG_IMMUNE)) + return FALSE + var/obj/item/organ/external/affecting = get_organ(target_zone) var/fail_msg if(!affecting) @@ -831,8 +834,10 @@ else if(affecting.is_robotic()) . = FALSE fail_msg = "That limb is robotic." - if(wear_suit && !HAS_TRAIT(wear_suit, TRAIT_PUNCTURE_IMMUNE) && piercing) + + if(piercing) return TRUE + if(target_zone == "head") if((head?.flags & THICKMATERIAL) && !penetrate_thick) . = FALSE diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index d3a1ffa188e..bce20baab94 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -358,6 +358,10 @@ insignia_type = /obj/item/mod/module/insignia/security additional_module = /obj/item/mod/module/anomaly_locked/firewall/prebuilt //Defence and flaming hot offence. Good for reflective blob, xenos, antagonists with guns +/obj/item/mod/control/pre_equipped/responsory/security/Initialize(mapload, new_theme, new_skin, new_core, new_access) + . = ..() + ADD_TRAIT(chestplate, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) + /obj/item/mod/control/pre_equipped/responsory/engineer insignia_type = /obj/item/mod/module/insignia/engineer additional_module = list(/obj/item/mod/module/anomaly_locked/kinesis/prebuilt, /obj/item/mod/module/firefighting_tank) //This can only end well. @@ -366,6 +370,10 @@ insignia_type = /obj/item/mod/module/insignia/medic additional_module = /obj/item/mod/module/defibrillator +/obj/item/mod/control/pre_equipped/responsory/medic/Initialize(mapload, new_theme, new_skin, new_core, new_access) + . = ..() + ADD_TRAIT(chestplate, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) + /obj/item/mod/control/pre_equipped/responsory/janitor insignia_type = /obj/item/mod/module/insignia/janitor additional_module = list(/obj/item/mod/module/clamp, /obj/item/mod/module/boot_heating) @@ -415,6 +423,10 @@ /obj/item/mod/module/magboot/advanced, ) +/obj/item/mod/control/pre_equipped/apocryphal/Initialize(mapload, new_theme, new_skin, new_core, new_access) + . = ..() + ADD_TRAIT(chestplate, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) + /obj/item/mod/control/pre_equipped/apocryphal/officer applied_modules = list( /obj/item/mod/module/storage/bluespace, @@ -431,7 +443,6 @@ /obj/item/mod/module/power_kick, //If you are not drop kicking a xenomorph, what are you doing as an DS commander? ) - /obj/item/mod/control/pre_equipped/corporate theme = /datum/mod_theme/corporate applied_core = /obj/item/mod/core/infinite