Stacking Status Effects (#44964)

* magic numbers in saw_bleed moved to class definition

* more saw bleed abstraction

refactors p2

various stacking effect refactors

saw bleed refactors again

moves stacking status class to status_effect.dm

misc stacking changes and documentation

reverts saw_bleed functionality to original

better var names, var name fix

removes extra proc

more sane handling of application

removes unused define

changes saw bleed back to original form

* another proc that can be ovverriden for falling stacks

* fixes path

* simpifies some checks

* feedback fixes

* spelling
This commit is contained in:
py01
2019-07-13 03:03:38 -07:00
committed by Rob Bailey
parent 440e1b19d2
commit cb03a28a4b
4 changed files with 127 additions and 72 deletions
@@ -661,6 +661,7 @@
nemesis_factions = list("mining", "boss")
var/transform_cooldown
var/swiping = FALSE
var/bleed_stacks_per_hit = 3
/obj/item/melee/transforming/cleaving_saw/examine(mob/user)
. = ..()
@@ -701,12 +702,11 @@
user.changeNext_move(CLICK_CD_MELEE * 0.5) //when closed, it attacks very rapidly
/obj/item/melee/transforming/cleaving_saw/nemesis_effects(mob/living/user, mob/living/target)
var/datum/status_effect/saw_bleed/B = target.has_status_effect(STATUS_EFFECT_SAWBLEED)
var/datum/status_effect/stacking/saw_bleed/B = target.has_status_effect(STATUS_EFFECT_SAWBLEED)
if(!B)
if(!active) //This isn't in the above if-check so that the else doesn't care about active
target.apply_status_effect(STATUS_EFFECT_SAWBLEED)
target.apply_status_effect(STATUS_EFFECT_SAWBLEED,bleed_stacks_per_hit)
else
B.add_bleed(B.bleed_buildup)
B.add_stacks(bleed_stacks_per_hit)
/obj/item/melee/transforming/cleaving_saw/attack(mob/living/target, mob/living/carbon/human/user)
if(!active || swiping || !target.density || get_turf(target) == get_turf(user))