Merge pull request #11230 from Fox-McCloud/tweaks-crit

Newcrit Death Tweak
This commit is contained in:
variableundefined
2019-04-10 10:47:02 +08:00
committed by GitHub
4 changed files with 23 additions and 14 deletions
@@ -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)