Defib Fixes

Fixes runtime when screwdrivering the defib to remove the powercell.
Husked people can no longer be revived.  This is because otherwise they could become alive again but remain husked.
This commit is contained in:
Neerti
2017-05-09 20:14:04 -04:00
parent 0ef887794b
commit d900b52a33

View File

@@ -75,7 +75,7 @@
if(user.r_hand && user.l_hand) if(user.r_hand && user.l_hand)
cell.forceMove(get_turf(user)) cell.forceMove(get_turf(user))
else else
cell.forceMove(user.put_in_hands(cell)) user.put_in_hands(cell)
cell = null cell = null
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
else else
@@ -141,14 +141,15 @@
sleep(15 SECONDS) sleep(15 SECONDS)
break break
if(patient.client) if(!(HUSK in patient.mutations)) // Husked people can't come back with a Defib.
patient.adjustOxyLoss(-20) //Look, blood stays oxygenated for quite some time, but I'm not recoding the entire oxy system if(patient.client)
patient.stat = CONSCIOUS //Note that if whatever killed them in the first place wasn't fixed, they're likely to die again. patient.adjustOxyLoss(-20) //Look, blood stays oxygenated for quite some time, but I'm not recoding the entire oxy system
dead_mob_list -= patient patient.stat = CONSCIOUS //Note that if whatever killed them in the first place wasn't fixed, they're likely to die again.
living_mob_list += patient dead_mob_list -= patient
patient.timeofdeath = null living_mob_list += patient
patient.visible_message("<span class='notice'>[patient]'s eyes open!</span>") patient.timeofdeath = null
log_and_message_admins("[patient] was revived.") patient.visible_message("<span class='notice'>[patient]'s eyes open!</span>")
log_and_message_admins("[patient] was revived by a defib.")
cell.charge -= charge_cost //Always charge the cost after any attempt, failed or not cell.charge -= charge_cost //Always charge the cost after any attempt, failed or not
sleep(20) //Wait 2 seconds before next attempt sleep(20) //Wait 2 seconds before next attempt
statechange(1,patient) //Back to ready statechange(1,patient) //Back to ready