mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Merge pull request #11230 from Fox-McCloud/tweaks-crit
Newcrit Death Tweak
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/obj/item/organ/internal/brain
|
||||
name = "brain"
|
||||
health = 400 //They need to live awhile longer than other organs.
|
||||
max_damage = 200
|
||||
max_damage = 120
|
||||
icon_state = "brain2"
|
||||
force = 1.0
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
@@ -100,6 +100,19 @@
|
||||
log_debug("Multibrain shenanigans at ([target.x],[target.y],[target.z]), mob '[target]'")
|
||||
..(target, special = special)
|
||||
|
||||
/obj/item/organ/internal/brain/receive_damage(amount, silent = 0) //brains are special; if they receive damage by other means, we really just want the damage to be passed ot the owner and back onto the brain.
|
||||
if(owner)
|
||||
owner.adjustBrainLoss(amount)
|
||||
|
||||
/obj/item/organ/internal/brain/necrotize(update_sprite = TRUE) //Brain also has special handling for when it necrotizes
|
||||
damage = max_damage
|
||||
status |= ORGAN_DEAD
|
||||
processing_objects -= src
|
||||
if(dead_icon && !is_robotic())
|
||||
icon_state = dead_icon
|
||||
if(owner && vital)
|
||||
owner.setBrainLoss(120)
|
||||
|
||||
/obj/item/organ/internal/brain/prepare_eat()
|
||||
return // Too important to eat.
|
||||
|
||||
|
||||
@@ -31,7 +31,10 @@
|
||||
if(sponge)
|
||||
if(dna.species && amount > 0)
|
||||
amount = amount * dna.species.brain_mod
|
||||
sponge.receive_damage(amount, 1)
|
||||
sponge.damage = Clamp(sponge.damage + amount, 0, 120)
|
||||
if(sponge.damage >= 120)
|
||||
visible_message("<span class='alert'><B>[src]</B> goes limp, [p_their()] facial expression utterly blank.</span>")
|
||||
death()
|
||||
if(updating)
|
||||
update_stat("adjustBrainLoss")
|
||||
return STATUS_UPDATE_STAT
|
||||
@@ -45,7 +48,10 @@
|
||||
if(sponge)
|
||||
if(dna.species && amount > 0)
|
||||
amount = amount * dna.species.brain_mod
|
||||
sponge.damage = min(max(amount, 0), (maxHealth*2))
|
||||
sponge.damage = Clamp(amount, 0, 120)
|
||||
if(sponge.damage >= 120)
|
||||
visible_message("<span class='alert'><B>[src]</B> goes limp, [p_their()] facial expression utterly blank.</span>")
|
||||
death()
|
||||
if(updating)
|
||||
update_stat("setBrainLoss")
|
||||
return STATUS_UPDATE_STAT
|
||||
|
||||
@@ -790,7 +790,6 @@
|
||||
handle_organs()
|
||||
|
||||
if(getBrainLoss() >= 120 || (health + (getOxyLoss() / 2)) <= -500)
|
||||
visible_message("<span class='alert'><B>[src]</B> goes limp, their facial expression utterly blank.</span>")
|
||||
death()
|
||||
return
|
||||
|
||||
|
||||
@@ -2,16 +2,7 @@
|
||||
if(status_flags & GODMODE)
|
||||
return
|
||||
..(reason)
|
||||
if(stat != DEAD)
|
||||
switch(getBrainLoss())
|
||||
if(100 to 120)
|
||||
Weaken(20)
|
||||
create_debug_log("collapsed from brain damage, trigger reason: [reason]")
|
||||
if(120 to INFINITY)
|
||||
visible_message("<span class='alert'><B>[src]</B> goes limp, [p_their()] facial expression utterly blank.</span>")
|
||||
death()
|
||||
create_debug_log("died of brain damage, trigger reason: [reason]")
|
||||
else
|
||||
if(stat == DEAD)
|
||||
if(dna.species && dna.species.can_revive_by_healing)
|
||||
var/obj/item/organ/internal/brain/B = get_int_organ(/obj/item/organ/internal/brain)
|
||||
if(B)
|
||||
|
||||
Reference in New Issue
Block a user