diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm
index 73efffe121..8b048a035e 100644
--- a/code/game/objects/items/devices/defib.dm
+++ b/code/game/objects/items/devices/defib.dm
@@ -75,7 +75,7 @@
if(user.r_hand && user.l_hand)
cell.forceMove(get_turf(user))
else
- cell.forceMove(user.put_in_hands(cell))
+ user.put_in_hands(cell)
cell = null
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
else
@@ -141,14 +141,15 @@
sleep(15 SECONDS)
break
- if(patient.client)
- 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.
- dead_mob_list -= patient
- living_mob_list += patient
- patient.timeofdeath = null
- patient.visible_message("[patient]'s eyes open!")
- log_and_message_admins("[patient] was revived.")
+ if(!(HUSK in patient.mutations)) // Husked people can't come back with a Defib.
+ if(patient.client)
+ 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.
+ dead_mob_list -= patient
+ living_mob_list += patient
+ patient.timeofdeath = null
+ patient.visible_message("[patient]'s eyes open!")
+ log_and_message_admins("[patient] was revived by a defib.")
cell.charge -= charge_cost //Always charge the cost after any attempt, failed or not
sleep(20) //Wait 2 seconds before next attempt
statechange(1,patient) //Back to ready