Add two new IPC implants, an EMP resist and a Defensive implant (#30911)

* add two new IPC implants

* make EMP resisted IPCs take less body damage but more organ damage

* oops
This commit is contained in:
Pooble
2025-12-03 12:38:26 -05:00
committed by GitHub
parent 101af16180
commit 2ac3fb2b3e
8 changed files with 54 additions and 4 deletions
@@ -1019,6 +1019,36 @@
owner.physiology.stamina_mod /= 1.15
return ..()
/obj/item/organ/internal/cyberimp/chest/ipc_joints/emp_shield
name = "Electromagnetic Shielding Implant"
desc = "This implant improves the conductivity of the IPC frame, providing partial protection against EMPs."
implant_color = "#301beeff"
origin_tech = "materials=4;programming=4;biotech=4;engineering=4;combat=4;"
/obj/item/organ/internal/cyberimp/chest/ipc_joints/emp_shield/insert(mob/living/carbon/M, special = FALSE)
..()
ADD_TRAIT(M, TRAIT_EMP_RESIST, "ipc[UID()]")
/obj/item/organ/internal/cyberimp/chest/ipc_joints/emp_shield/remove(mob/living/carbon/M, special = FALSE)
REMOVE_TRAIT(M, TRAIT_EMP_RESIST, "ipc[UID()]")
return ..()
/obj/item/organ/internal/cyberimp/chest/ipc_joints/sealed_and_emp
name = "Experimental Defensive Implant"
desc = "This implant deploys experimental nanobots into the IPC chassis to harden joints and provide partial protection against EMPs."
implant_color = "#065513ff"
origin_tech = "materials=5;programming=5;biotech=5;engineering=5;combat=5;"
/obj/item/organ/internal/cyberimp/chest/ipc_joints/sealed_and_emp/insert(mob/living/carbon/M, special = FALSE)
..()
ADD_TRAIT(M, TRAIT_IPC_JOINTS_SEALED, "ipc_joint[UID()]")
ADD_TRAIT(M, TRAIT_EMP_RESIST, "ipc_joint[UID()]")
/obj/item/organ/internal/cyberimp/chest/ipc_joints/sealed_and_emp/remove(mob/living/carbon/M, special = FALSE)
REMOVE_TRAIT(M, TRAIT_IPC_JOINTS_SEALED, "ipc_joint[UID()]")
REMOVE_TRAIT(M, TRAIT_EMP_RESIST, "ipc_joint[UID()]")
return ..()
/obj/item/organ/internal/cyberimp/chest/ipc_joints/flayer_pacification
name = "\improper Nanite pacifier"
desc = "This implant acts on mindflayer nanobots like smoke does to bees, rendering them significantly more docile."
@@ -376,6 +376,9 @@
if(EMP_LIGHT)
// 3.63 burn damage, 39.93 damage with 11 limbs.
receive_damage(0, 3.63)
if(EMP_RESIST_BODY)
// 1.9 burn damage, 20.9 damage with 11 limbs.
receive_damage(0, 1.9)
if(EMP_WEAKENED)
// 1.32 (2 * .66 burn mod) burn damage, 14.52 damage with 11 limbs.
receive_damage(0, 2)
@@ -178,6 +178,8 @@
switch(severity)
if(EMP_HEAVY)
receive_damage(20, 1)
if(EMP_RESIST_ORGAN)
receive_damage(12, 1)
if(EMP_LIGHT)
receive_damage(7, 1)
if(EMP_WEAKENED)