diff --git a/code/modules/response_team/ert_outfits.dm b/code/modules/response_team/ert_outfits.dm index d4b4f5fc929..029a53b64bc 100644 --- a/code/modules/response_team/ert_outfits.dm +++ b/code/modules/response_team/ert_outfits.dm @@ -75,7 +75,7 @@ mask = /obj/item/clothing/mask/gas/sechailer/swat cybernetic_implants = list( /obj/item/organ/internal/cyberimp/eyes/hud/security, - /obj/item/organ/internal/cyberimp/chest/nutriment + /obj/item/organ/internal/cyberimp/chest/nutriment/hardened ) belt = /obj/item/gun/energy/gun/blueshield/pdw9 @@ -108,7 +108,7 @@ ) cybernetic_implants = list( - /obj/item/organ/internal/cyberimp/chest/nutriment/plus, + /obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened, /obj/item/organ/internal/cyberimp/eyes/hud/security, /obj/item/organ/internal/cyberimp/brain/anti_stun/hardened, /obj/item/organ/internal/cyberimp/arm/flash @@ -160,7 +160,7 @@ cybernetic_implants = list( /obj/item/organ/internal/cyberimp/arm/flash, - /obj/item/organ/internal/cyberimp/chest/nutriment, + /obj/item/organ/internal/cyberimp/chest/nutriment/hardened, /obj/item/organ/internal/cyberimp/eyes/hud/security ) @@ -196,7 +196,7 @@ ) cybernetic_implants = list( - /obj/item/organ/internal/cyberimp/chest/nutriment/plus, + /obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened, /obj/item/organ/internal/cyberimp/eyes/hud/security, /obj/item/organ/internal/cyberimp/brain/anti_stun/hardened, /obj/item/organ/internal/cyberimp/arm/telebaton, @@ -247,7 +247,7 @@ mask = /obj/item/clothing/mask/gas cybernetic_implants = list( /obj/item/organ/internal/eyes/cybernetic/shield, - /obj/item/organ/internal/cyberimp/chest/nutriment + /obj/item/organ/internal/cyberimp/chest/nutriment/hardened ) l_pocket = /obj/item/t_scanner r_pocket = /obj/item/melee/classic_baton/telescopic @@ -280,7 +280,7 @@ ) cybernetic_implants = list( - /obj/item/organ/internal/cyberimp/chest/nutriment/plus, + /obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened, /obj/item/organ/internal/cyberimp/eyes/hud/security, /obj/item/organ/internal/cyberimp/brain/anti_stun/hardened, /obj/item/organ/internal/eyes/cybernetic/shield, @@ -338,7 +338,7 @@ suit_store = /obj/item/gun/energy/gun cybernetic_implants = list( /obj/item/organ/internal/cyberimp/arm/surgery, - /obj/item/organ/internal/cyberimp/chest/nutriment + /obj/item/organ/internal/cyberimp/chest/nutriment/hardened ) belt = /obj/item/defibrillator/compact/advanced/loaded @@ -387,7 +387,7 @@ cybernetic_implants = list( /obj/item/organ/internal/cyberimp/arm/surgery/l, /obj/item/organ/internal/cyberimp/arm/medibeam, - /obj/item/organ/internal/cyberimp/chest/nutriment/plus, + /obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened, /obj/item/organ/internal/cyberimp/eyes/hud/medical, /obj/item/organ/internal/cyberimp/brain/anti_stun/hardened ) @@ -437,7 +437,7 @@ cybernetic_implants = list( /obj/item/organ/internal/cyberimp/eyes/hud/security, - /obj/item/organ/internal/cyberimp/chest/nutriment + /obj/item/organ/internal/cyberimp/chest/nutriment/hardened ) implants = list(/obj/item/implant/mindshield, @@ -454,7 +454,7 @@ r_pocket = /obj/item/nullrod/ert cybernetic_implants = list( - /obj/item/organ/internal/cyberimp/chest/nutriment/plus, + /obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened, /obj/item/organ/internal/cyberimp/eyes/hud/security, /obj/item/organ/internal/cyberimp/brain/anti_stun/hardened ) @@ -505,7 +505,7 @@ cybernetic_implants = list( /obj/item/organ/internal/cyberimp/arm/janitorial, - /obj/item/organ/internal/cyberimp/chest/nutriment + /obj/item/organ/internal/cyberimp/chest/nutriment/hardened ) /datum/outfit/job/centcom/response_team/janitorial/gamma @@ -526,7 +526,7 @@ ) cybernetic_implants = list( - /obj/item/organ/internal/cyberimp/chest/nutriment/plus, + /obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened, /obj/item/organ/internal/cyberimp/arm/advmop, /obj/item/organ/internal/cyberimp/brain/anti_stun/hardened ) diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 815b1941601..b3d8529d5b3 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -300,14 +300,22 @@ var/hunger_threshold = NUTRITION_LEVEL_STARVING var/synthesizing = 0 var/poison_amount = 5 + var/disabled_by_emp = FALSE slot = "stomach" origin_tech = "materials=2;powerstorage=2;biotech=2" +/obj/item/organ/internal/cyberimp/chest/nutriment/examine(mob/user) + . = ..() + if(emp_proof) + . += " The implant has been hardened. It is invulnerable to EMPs." + /obj/item/organ/internal/cyberimp/chest/nutriment/on_life() if(!owner) return if(synthesizing) return + if(disabled_by_emp) + return if(owner.stat == DEAD) return if(owner.nutrition <= hunger_threshold) @@ -319,11 +327,20 @@ /obj/item/organ/internal/cyberimp/chest/nutriment/proc/synth_cool() synthesizing = FALSE +/obj/item/organ/internal/cyberimp/chest/nutriment/proc/emp_cool() + disabled_by_emp = FALSE + /obj/item/organ/internal/cyberimp/chest/nutriment/emp_act(severity) if(!owner || emp_proof) return + owner.vomit(100, FALSE, TRUE, 3, FALSE) // because when else do we ever use projectile vomiting + owner.visible_message("The contents of [owner]'s stomach erupt violently from [owner.p_their()] mouth!", + "You feel like your insides are burning as you vomit profusely!", + "You hear vomiting and a sickening splattering against the floor!") owner.reagents.add_reagent("????",poison_amount / severity) //food poisoning - to_chat(owner, "You feel like your insides are burning.") + disabled_by_emp = TRUE // Disable the implant for a little bit so this effect actually matters + synthesizing = FALSE + addtimer(CALLBACK(src, .proc/emp_cool), 60 SECONDS) /obj/item/organ/internal/cyberimp/chest/nutriment/plus name = "Nutriment pump implant PLUS" @@ -333,6 +350,13 @@ hunger_threshold = NUTRITION_LEVEL_HUNGRY poison_amount = 10 origin_tech = "materials=4;powerstorage=3;biotech=3" +/obj/item/organ/internal/cyberimp/chest/nutriment/hardened + name = "hardened nutrient pump implant" + emp_proof = TRUE + +/obj/item/organ/internal/cyberimp/chest/nutriment/plus/hardened + name = "hardened nutrient pump implant PLUS" + emp_proof = TRUE /obj/item/organ/internal/cyberimp/chest/reviver name = "Reviver implant"