/mob/living/carbon/resist_fire()
adjust_fire_stacks(-1.2)
Weaken(3)
spin(32,2)
visible_message(
"[src] rolls on the floor, trying to put themselves out!",
"You stop, drop, and roll!"
)
sleep(30)
if(fire_stacks <= 0)
visible_message(
"[src] has successfully extinguished themselves!",
"You extinguish yourself."
)
ExtinguishMob()
return TRUE
/mob/living/carbon/resist_restraints()
var/obj/item/I = null
if(handcuffed)
I = handcuffed
else if(legcuffed)
I = legcuffed
if(I)
setClickCooldown(100)
cuff_resist(I, cuff_break = can_break_cuffs())
/mob/living/carbon/proc/reduce_cuff_time()
return FALSE
/mob/living/carbon/proc/cuff_resist(obj/item/weapon/handcuffs/I, breakouttime = 1200, cuff_break = 0)
if(istype(I))
breakouttime = I.breakouttime
var/displaytime = breakouttime / 10
var/reduceCuffTime = reduce_cuff_time()
if(reduceCuffTime)
breakouttime /= reduceCuffTime
displaytime /= reduceCuffTime
if(cuff_break)
visible_message("[src] is trying to break [I]!",
"You attempt to break your [I]. (This will take around 5 seconds and you need to stand still)")
if(do_after(src, 5 SECONDS, target = src, incapacitation_flags = INCAPACITATION_DEFAULT & ~INCAPACITATION_RESTRAINED))
if(!I || buckled)
return
visible_message("[src] manages to break [I]!",
"You successfully break your [I].")
say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
if(I == handcuffed)
handcuffed = null
update_handcuffed()
else if(I == legcuffed)
legcuffed = null
update_inv_legcuffed()
if(buckled && buckled.buckle_require_restraints)
buckled.unbuckle_mob()
qdel(I)
else
to_chat(src, "You fail to break [I].")
return
visible_message("[src] attempts to remove [I]!",
"You attempt to remove [I]. (This will take around [displaytime] seconds and you need to stand still)")
if(do_after(src, breakouttime, target = src, incapacitation_flags = INCAPACITATION_DISABLED & INCAPACITATION_KNOCKDOWN))
visible_message("[src] manages to remove [I]!",
"You successfully remove [I].")
drop_from_inventory(I)
/mob/living/carbon/resist_buckle()
if(!buckled)
return
if(!restrained())
return ..()
setClickCooldown(100)
visible_message(
"[src] attempts to unbuckle themself!",
"You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)"
)
if(do_after(src, 2 MINUTES, incapacitation_flags = INCAPACITATION_DEFAULT & ~(INCAPACITATION_RESTRAINED | INCAPACITATION_BUCKLED_FULLY)))
if(!buckled)
return
visible_message("[src] manages to unbuckle themself!",
"You successfully unbuckle yourself.")
buckled.user_unbuckle_mob(src, src)
/mob/living/carbon/proc/can_break_cuffs()
if(HULK in mutations)
return 1