Files
Bubberstation/code/datums/status_effects/limited_effect.dm
MrMelbert 61e45109cc Auto-docs + code improvements + splits up status_effect.dm (#66362)
* Code improvements for status effects in general

* Does this for now

* Throws in a qdeleted check

* A return

* comment tweak

* Missed some ref()s

* Wrong var

* Comment clarifications

* Some more comment clarifications
2022-04-21 15:59:46 -07:00

21 lines
579 B
Plaintext

/// These effects reapply their on_apply() effect when refreshed while stacks < max_stacks.
/datum/status_effect/limited_buff
id = "limited_buff"
duration = -1
status_type = STATUS_EFFECT_REFRESH
///How many stacks we currently have
var/stacks = 1
///How many stacks we can have maximum
var/max_stacks = 3
/datum/status_effect/limited_buff/refresh(effect)
if(stacks < max_stacks)
on_apply()
stacks++
else
maxed_out()
/// Called whenever the buff is refreshed when there are more stacks than max_stacks.
/datum/status_effect/limited_buff/proc/maxed_out()
return