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,6 +141,7 @@
sleep(15 SECONDS) sleep(15 SECONDS)
break break
if(!(HUSK in patient.mutations)) // Husked people can't come back with a Defib.
if(patient.client) if(patient.client)
patient.adjustOxyLoss(-20) //Look, blood stays oxygenated for quite some time, but I'm not recoding the entire oxy system patient.adjustOxyLoss(-20) //Look, blood stays oxygenated for quite some time, but I'm not recoding the entire oxy system
patient.stat = CONSCIOUS //Note that if whatever killed them in the first place wasn't fixed, they're likely to die again. patient.stat = CONSCIOUS //Note that if whatever killed them in the first place wasn't fixed, they're likely to die again.
@@ -148,7 +149,7 @@
living_mob_list += patient living_mob_list += patient
patient.timeofdeath = null patient.timeofdeath = null
patient.visible_message("<span class='notice'>[patient]'s eyes open!</span>") patient.visible_message("<span class='notice'>[patient]'s eyes open!</span>")
log_and_message_admins("[patient] was revived.") 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