mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
IPC balance changes
This commit is contained in:
@@ -54,7 +54,7 @@
|
||||
var/obj/item/organ/external/BP = X
|
||||
var/brutedamage = BP.brute_dam
|
||||
|
||||
if(BP.is_robotic() && !isSynthetic())
|
||||
if(BP.is_robotic())
|
||||
continue
|
||||
|
||||
//We want an accurate reading of .len
|
||||
|
||||
@@ -253,35 +253,6 @@
|
||||
status &= ~ORGAN_SPLINTED
|
||||
status |= ORGAN_ROBOT
|
||||
|
||||
/obj/item/organ/external/emp_act(severity)
|
||||
if(!is_robotic() || emp_proof)
|
||||
return
|
||||
if(tough)
|
||||
switch(severity)
|
||||
if(1)
|
||||
receive_damage(0, 5.5)
|
||||
if(owner)
|
||||
owner.Stun(10)
|
||||
if(2)
|
||||
receive_damage(0, 2.8)
|
||||
if(owner)
|
||||
owner.Stun(5)
|
||||
else
|
||||
switch(severity)
|
||||
if(1)
|
||||
receive_damage(0, 20)
|
||||
if(2)
|
||||
receive_damage(0, 7)
|
||||
|
||||
/obj/item/organ/internal/emp_act(severity)
|
||||
if(!is_robotic() || emp_proof)
|
||||
return
|
||||
switch(severity)
|
||||
if(1)
|
||||
receive_damage(20, 1)
|
||||
if(2)
|
||||
receive_damage(7, 1)
|
||||
|
||||
/obj/item/organ/proc/shock_organ(intensity)
|
||||
return
|
||||
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
var/list/obj/item/organ/external/children
|
||||
var/list/convertable_children = list()
|
||||
|
||||
// Does the organ take reduce damage from EMPs? IPC limbs get this by default
|
||||
var/emp_resistant = FALSE
|
||||
|
||||
// Internal organs of this body part
|
||||
var/list/internal_organs = list()
|
||||
|
||||
@@ -256,6 +259,34 @@
|
||||
|
||||
return update_icon()
|
||||
|
||||
/obj/item/organ/external/emp_act(severity)
|
||||
if(!is_robotic() || emp_proof)
|
||||
return
|
||||
if(tough) // Augmented limbs
|
||||
switch(severity)
|
||||
if(1)
|
||||
receive_damage(0, 5.5)
|
||||
if(owner)
|
||||
owner.Stun(10)
|
||||
if(2)
|
||||
receive_damage(0, 2.8)
|
||||
if(owner)
|
||||
owner.Stun(5)
|
||||
else if(emp_resistant) // IPC limbs
|
||||
switch(severity)
|
||||
if(1)
|
||||
// 5.28 (9 * 0.66 burn_mod) burn damage, 65.34 damage with 11 limbs.
|
||||
receive_damage(0, 9)
|
||||
if(2)
|
||||
// 3.63 (5 * 0.66 burn_mod) burn damage, 39.93 damage with 11 limbs.
|
||||
receive_damage(0, 5.5)
|
||||
else // Basic prosthetic limbs
|
||||
switch(severity)
|
||||
if(1)
|
||||
receive_damage(0, 20)
|
||||
if(2)
|
||||
receive_damage(0, 7)
|
||||
|
||||
/*
|
||||
This function completely restores a damaged organ to perfect condition.
|
||||
*/
|
||||
|
||||
@@ -73,6 +73,15 @@
|
||||
A.Remove(M)
|
||||
return src
|
||||
|
||||
/obj/item/organ/internal/emp_act(severity)
|
||||
if(!is_robotic() || emp_proof)
|
||||
return
|
||||
switch(severity)
|
||||
if(1)
|
||||
receive_damage(20, 1)
|
||||
if(2)
|
||||
receive_damage(7, 1)
|
||||
|
||||
/obj/item/organ/internal/replaced(var/mob/living/carbon/human/target)
|
||||
insert(target)
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
min_broken_damage = 30
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/head/ipc/New(mob/living/carbon/holder, datum/species/species_override = null)
|
||||
..(holder, /datum/species/machine) // IPC heads need to be explicitly set to this since you can print them
|
||||
@@ -13,6 +14,7 @@
|
||||
/obj/item/organ/external/chest/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/chest/ipc/New()
|
||||
..()
|
||||
@@ -21,6 +23,7 @@
|
||||
/obj/item/organ/external/groin/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/groin/ipc/New()
|
||||
..()
|
||||
@@ -29,6 +32,7 @@
|
||||
/obj/item/organ/external/arm/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/arm/ipc/New()
|
||||
..()
|
||||
@@ -37,6 +41,7 @@
|
||||
/obj/item/organ/external/arm/right/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/arm/right/ipc/New()
|
||||
..()
|
||||
@@ -45,6 +50,7 @@
|
||||
/obj/item/organ/external/leg/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/leg/ipc/New()
|
||||
..()
|
||||
@@ -53,6 +59,7 @@
|
||||
/obj/item/organ/external/leg/right/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/leg/right/ipc/New()
|
||||
..()
|
||||
@@ -61,6 +68,7 @@
|
||||
/obj/item/organ/external/foot/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/foot/ipc/New()
|
||||
..()
|
||||
@@ -69,6 +77,7 @@
|
||||
/obj/item/organ/external/foot/right/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/foot/right/ipc/New()
|
||||
..()
|
||||
@@ -77,6 +86,7 @@
|
||||
/obj/item/organ/external/hand/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/hand/ipc/New()
|
||||
..()
|
||||
@@ -85,6 +95,7 @@
|
||||
/obj/item/organ/external/hand/right/ipc
|
||||
encased = null
|
||||
status = ORGAN_ROBOT
|
||||
emp_resistant = TRUE
|
||||
|
||||
/obj/item/organ/external/hand/right/ipc/New()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user