mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 22:47:59 +01:00
Merge pull request #12628 from SteelSlayer/IPC-buffs
IPC balance changes
This commit is contained in:
@@ -301,14 +301,13 @@
|
||||
else if(nutrition >= NUTRITION_LEVEL_FAT)
|
||||
msg += "[p_they(TRUE)] [p_are()] quite chubby.\n"
|
||||
|
||||
if(!ismachineperson(src) && blood_volume < BLOOD_VOLUME_SAFE)
|
||||
if(blood_volume < BLOOD_VOLUME_SAFE)
|
||||
msg += "[p_they(TRUE)] [p_have()] pale skin.\n"
|
||||
|
||||
if(bleedsuppress)
|
||||
msg += "[p_they(TRUE)] [p_are()] bandaged with something.\n"
|
||||
else if(bleed_rate)
|
||||
var/bleed_message = !ismachineperson(src) ? "bleeding" : "leaking"
|
||||
msg += "<B>[p_they(TRUE)] [p_are()] [bleed_message]!</B>\n"
|
||||
msg += "<B>[p_they(TRUE)] [p_are()] bleeding!</B>\n"
|
||||
|
||||
if(reagents.has_reagent("teslium"))
|
||||
msg += "[p_they(TRUE)] [p_are()] emitting a gentle blue glow!\n"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
death_message = "gives a short series of shrill beeps, their chassis shuddering before falling limp, nonfunctional."
|
||||
death_sounds = list('sound/voice/borg_deathsound.ogg') //I've made this a list in the event we add more sounds for dead robots.
|
||||
|
||||
species_traits = list(IS_WHITELISTED, NO_BREATHE, NO_SCAN, NO_INTORGANS, NO_PAIN, NO_DNA, RADIMMUNE, VIRUSIMMUNE, NO_GERMS, NO_DECAY, NOTRANSSTING) //Computers that don't decay? What a lie!
|
||||
species_traits = list(IS_WHITELISTED, NO_BREATHE, NO_BLOOD, NO_SCAN, NO_INTORGANS, NO_PAIN, NO_DNA, RADIMMUNE, VIRUSIMMUNE, NO_GERMS, NO_DECAY, NOTRANSSTING) //Computers that don't decay? What a lie!
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
|
||||
bodyflags = HAS_SKIN_COLOR | HAS_HEAD_MARKINGS | HAS_HEAD_ACCESSORY | ALL_RPARTS
|
||||
dietflags = 0 //IPCs can't eat, so no diet
|
||||
@@ -30,10 +30,6 @@
|
||||
blood_color = "#1F181F"
|
||||
flesh_color = "#AAAAAA"
|
||||
|
||||
blood_color = "#3C3C3C"
|
||||
exotic_blood = "oil"
|
||||
blood_damage_type = STAMINA
|
||||
|
||||
//Default styles for created mobs.
|
||||
default_hair = "Blue IPC Screen"
|
||||
dies_at_threshold = TRUE
|
||||
|
||||
@@ -312,8 +312,3 @@ proc/robot_healthscan(mob/user, mob/living/M)
|
||||
to_chat(user, "[capitalize(O.name)]: <font color='red'>[O.damage]</font>")
|
||||
if(!organ_found)
|
||||
to_chat(user, "<span class='warning'>No prosthetics located.</span>")
|
||||
|
||||
if(ismachineperson(H))
|
||||
to_chat(user, "<span class='notice'>Internal Fluid Level:[H.blood_volume]/[H.max_blood]</span>")
|
||||
if(H.bleed_rate)
|
||||
to_chat(user, "<span class='warning'>Warning:External component leak detected!</span>")
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
var/obj/item/organ/external/BP = X
|
||||
var/brutedamage = BP.brute_dam
|
||||
|
||||
if(BP.is_robotic() && !ismachineperson(src))
|
||||
if(BP.is_robotic())
|
||||
continue
|
||||
|
||||
//We want an accurate reading of .len
|
||||
|
||||
@@ -236,35 +236,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