diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 8570905fb37..aeb5ab87ce0 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -330,11 +330,13 @@ user.visible_message("[defib] pings: Resuscitation successful.") playsound(get_turf(src), 'sound/machines/ping.ogg', 50, 0) H.stat = 1 - dead_mob_list -= H - living_mob_list |= list(H) + if(H in dead_mob_list) + dead_mob_list -= H + living_mob_list += H H.emote("gasp") if(tplus > tloss) H.setBrainLoss( max(0, min(99, ((tlimit - tplus) / tlimit * 100)))) + H.updatehealth() defib.deductcharge(revivecost) add_logs(user, M, "revived", object="defibrillator") else diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index b6fd17159bd..8fe6358a05d 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -18,10 +18,13 @@ if (!H.amputated) if ((health >= (config.health_threshold_dead/100*75)) && stat == DEAD) //need to get them 25% away from death point before reviving them dead_mob_list -= src - respawnable_list -= src living_mob_list += src stat = CONSCIOUS ear_deaf = 0 + if (stat == CONSCIOUS && (src in dead_mob_list)) //Defib fix + dead_mob_list -= src + living_mob_list += src + ear_deaf = 0 return /mob/living/carbon/human/getBrainLoss()