mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-10 06:34:45 +01:00
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:
@@ -1049,7 +1049,7 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, list(/obj/machinery/atmospherics/unary/ven
|
||||
if(HAS_TRAIT(src, TRAIT_EMP_IMMUNE))
|
||||
return
|
||||
if(HAS_TRAIT(src, TRAIT_EMP_RESIST))
|
||||
severity = clamp(severity, EMP_LIGHT, EMP_WEAKENED)
|
||||
severity = clamp(severity, EMP_RESIST_ORGAN, EMP_WEAKENED)
|
||||
for(var/X in internal_organs)
|
||||
var/obj/item/organ/internal/O = X
|
||||
O.emp_act(severity)
|
||||
|
||||
@@ -273,7 +273,7 @@ emp_act
|
||||
if(HAS_TRAIT(src, TRAIT_EMP_IMMUNE))
|
||||
return
|
||||
if(HAS_TRAIT(src, TRAIT_EMP_RESIST))
|
||||
severity = clamp(severity, EMP_LIGHT, EMP_WEAKENED)
|
||||
severity = clamp(severity, EMP_RESIST_BODY, EMP_WEAKENED)
|
||||
for(var/X in bodyparts)
|
||||
var/obj/item/organ/external/L = X
|
||||
L.emp_act(severity)
|
||||
|
||||
@@ -1467,6 +1467,17 @@
|
||||
build_path = /obj/item/organ/internal/cyberimp/chest/ipc_joints/sealed
|
||||
category = list("IPC Upgrades")
|
||||
|
||||
/datum/design/mistral_implant
|
||||
name = "Electromagnetic Shielding Implant"
|
||||
desc = "This implant improves the conductivity of the IPC frame, providing partial protection against EMPs."
|
||||
id = "ci-mistral_implant"
|
||||
req_tech = list("materials" = 5, "programming" = 5, "biotech" = 5, "engineering" = 5, "combat" = 5)
|
||||
build_type = MECHFAB
|
||||
construction_time = 60
|
||||
materials = list(MAT_METAL = 12500, MAT_SILVER = 12000, MAT_GOLD = 2500, MAT_PLASMA = 5000)
|
||||
build_path = /obj/item/organ/internal/cyberimp/chest/ipc_joints/emp_shield
|
||||
category = list("IPC Upgrades")
|
||||
|
||||
/datum/design/flayer_pacification
|
||||
name = "Mindflayer Pacification Implant"
|
||||
desc = "This implant acts on mindflayer swarms like smoke to bees, making them much more docile."
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user