mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-05-21 06:07:16 +01:00
a1322afa05
* Port /datum/status_effect system * Port fire stacks to status_effects * Fixes and adjustments to wetness * One last little thing * Fixes these compile errors A few things on the backend got updated...Adjusts them here. --------- Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com>
100 lines
2.9 KiB
Plaintext
100 lines
2.9 KiB
Plaintext
/mob/living/carbon/resist_fire()
|
|
adjust_fire_stacks(-1.2)
|
|
Weaken(3)
|
|
spin(32,2)
|
|
visible_message(
|
|
span_danger("[src] rolls on the floor, trying to put themselves out!"),
|
|
span_notice("You stop, drop, and roll!")
|
|
)
|
|
sleep(30)
|
|
if(fire_stacks <= 0)
|
|
visible_message(
|
|
span_danger("[src] has successfully extinguished themselves!"),
|
|
span_notice("You extinguish yourself.")
|
|
)
|
|
extinguish_mob()
|
|
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/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(span_danger("[src] is trying to break [I]!"),
|
|
span_warning("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, timed_action_flags = IGNORE_INCAPACITATED))
|
|
if(!I || buckled)
|
|
return
|
|
visible_message(span_danger("[src] manages to break [I]!"),
|
|
span_warning("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, span_warning("You fail to break [I]."))
|
|
return
|
|
|
|
visible_message(span_danger("[src] attempts to remove [I]!"),
|
|
span_warning("You attempt to remove [I]. (This will take around [displaytime] seconds and you need to stand still)"))
|
|
if(do_after(src, breakouttime, target = src, timed_action_flags = IGNORE_INCAPACITATED))
|
|
visible_message(span_danger("[src] manages to remove [I]!"),
|
|
span_notice("You successfully remove [I]."))
|
|
drop_from_inventory(I)
|
|
|
|
/mob/living/carbon/resist_buckle()
|
|
if(!buckled)
|
|
return
|
|
|
|
if(!restrained())
|
|
return ..()
|
|
|
|
setClickCooldown(100)
|
|
visible_message(
|
|
span_danger("[src] attempts to unbuckle themself!"),
|
|
span_warning("You attempt to unbuckle yourself. (This will take around 2 minutes and you need to stand still)")
|
|
)
|
|
|
|
if(do_after(src, 2 MINUTES, target = src, timed_action_flags = IGNORE_INCAPACITATED))
|
|
if(!buckled)
|
|
return
|
|
visible_message(span_danger("[src] manages to unbuckle themself!"),
|
|
span_notice("You successfully unbuckle yourself."))
|
|
buckled.user_unbuckle_mob(src, src)
|
|
|
|
/mob/living/carbon/proc/can_break_cuffs()
|
|
if(HULK in mutations)
|
|
return 1
|