* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
52 lines
2.0 KiB
Plaintext
52 lines
2.0 KiB
Plaintext
//Strained Muscles: Temporary speed boost at the cost of rapid damage
|
|
//Limited because of hardsuits and such; ideally, used for a quick getaway
|
|
|
|
/obj/effect/proc_holder/changeling/strained_muscles
|
|
name = "Strained Muscles"
|
|
desc = "We evolve the ability to reduce the acid buildup in our muscles, allowing us to move much faster."
|
|
helptext = "The strain will make us tired, and we will rapidly become fatigued. Standard weight restrictions, like hardsuits, still apply. Cannot be used in lesser form."
|
|
chemical_cost = 0
|
|
dna_cost = 1
|
|
req_human = 1
|
|
var/stacks = 0 //Increments every 5 seconds; damage increases over time
|
|
active = 0 //Whether or not you are a hedgehog
|
|
|
|
/obj/effect/proc_holder/changeling/strained_muscles/sting_action(mob/living/carbon/user)
|
|
active = !active
|
|
if(active)
|
|
to_chat(user, "<span class='notice'>Our muscles tense and strengthen.</span>")
|
|
else
|
|
user.status_flags &= ~GOTTAGOFAST
|
|
to_chat(user, "<span class='notice'>Our muscles relax.</span>")
|
|
if(stacks >= 10)
|
|
to_chat(user, "<span class='danger'>We collapse in exhaustion.</span>")
|
|
user.Weaken(3)
|
|
user.emote("gasp")
|
|
|
|
INVOKE_ASYNC(src, .proc/muscle_loop, user)
|
|
|
|
return TRUE
|
|
|
|
/obj/effect/proc_holder/changeling/strained_muscles/proc/muscle_loop(mob/living/carbon/user)
|
|
while(active)
|
|
user.status_flags |= GOTTAGOFAST
|
|
if(user.stat != CONSCIOUS || user.staminaloss >= 90)
|
|
active = !active
|
|
to_chat(user, "<span class='notice'>Our muscles relax without the energy to strengthen them.</span>")
|
|
user.Weaken(2)
|
|
user.status_flags &= ~GOTTAGOFAST
|
|
break
|
|
|
|
stacks++
|
|
//user.take_bodypart_damage(stacks * 0.03, 0)
|
|
user.staminaloss += stacks * 1.3 //At first the changeling may regenerate stamina fast enough to nullify fatigue, but it will stack
|
|
|
|
if(stacks == 11) //Warning message that the stacks are getting too high
|
|
to_chat(user, "<span class='warning'>Our legs are really starting to hurt...</span>")
|
|
|
|
sleep(40)
|
|
|
|
while(!active && stacks) //Damage stacks decrease fairly rapidly while not in sanic mode
|
|
stacks--
|
|
sleep(20)
|