Moved nullified to own proc and reduced stacking effect of nullrod/prayer beads (#15809)

* Moved nullified to own proc and reduced stacking

* Fixed minor error.
This commit is contained in:
Dennis
2021-04-06 13:58:36 +01:00
committed by GitHub
parent b58fb29ec9
commit 1ae84f79f2
3 changed files with 12 additions and 8 deletions
+4
View File
@@ -220,6 +220,10 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
/obj/effect/proc_holder/spell/vampire/targetted/enthrall = 300,
/datum/vampire_passive/full = 500)
/datum/vampire/proc/adjust_nullification(base, extra)
// First hit should give full nullification, while subsequent hits increase the value slower
nullified = max(nullified + extra, base)
/datum/vampire/New(gend = FEMALE)
gender = gend
@@ -39,7 +39,7 @@
if(ishuman(M) && M.mind?.vampire)
if(!M.mind.vampire.get_ability(/datum/vampire_passive/full))
to_chat(M, "<span class='warning'>The nullrod's power interferes with your own!</span>")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
M.mind.vampire.adjust_nullification(5, 2)
/obj/item/nullrod/pickup(mob/living/user)
. = ..()
@@ -476,7 +476,7 @@
return
if(target.mind.vampire && !target.mind.vampire.get_ability(/datum/vampire_passive/full)) // Getting a full prayer off on a vampire will interrupt their powers for a large duration.
target.mind.vampire.nullified = max(120, target.mind.vampire.nullified + 120)
target.mind.vampire.adjust_nullification(120, 50)
to_chat(target, "<span class='userdanger'>[user]'s prayer to [SSticker.Bible_deity_name] has interfered with your power!</span>")
praying = FALSE
return
@@ -500,7 +500,7 @@
if(holder.l_hand == src || holder.r_hand == src) // Holding this in your hand will
for(var/mob/living/carbon/human/H in range(5, loc))
if(H.mind && H.mind.vampire && !H.mind.vampire.get_ability(/datum/vampire_passive/full))
H.mind.vampire.nullified = max(5, H.mind.vampire.nullified + 2)
H.mind.vampire.adjust_nullification(5, 2)
if(prob(10))
to_chat(H, "<span class='userdanger'>Being in the presence of [holder]'s [src] is interfering with your powers!</span>")
@@ -284,7 +284,7 @@
update_flags |= M.adjustStaminaLoss(5, FALSE)
if(prob(20))
M.emote("scream")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
M.mind.vampire.adjust_nullification(5, 2)
M.mind.vampire.bloodusable = max(M.mind.vampire.bloodusable - 3,0)
if(M.mind.vampire.bloodusable)
V.vomit(0,1)
@@ -296,7 +296,7 @@
switch(current_cycle)
if(1 to 4)
to_chat(M, "<span class = 'warning'>Something sizzles in your veins!</span>")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
M.mind.vampire.adjust_nullification(5, 2)
if(5 to 12)
to_chat(M, "<span class = 'danger'>You feel an intense burning inside of you!</span>")
update_flags |= M.adjustFireLoss(1, FALSE)
@@ -304,7 +304,7 @@
M.Jitter(20)
if(prob(20))
M.emote("scream")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
M.mind.vampire.adjust_nullification(5, 2)
if(13 to INFINITY)
to_chat(M, "<span class = 'danger'>You suddenly ignite in a holy fire!</span>")
for(var/mob/O in viewers(M, null))
@@ -316,7 +316,7 @@
M.Jitter(30)
if(prob(40))
M.emote("scream")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
M.mind.vampire.adjust_nullification(5, 2)
return ..() | update_flags
@@ -333,7 +333,7 @@
return
else
to_chat(M, "<span class='warning'>Something holy interferes with your powers!</span>")
M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2)
M.mind.vampire.adjust_nullification(5, 2)
/datum/reagent/holywater/reaction_turf(turf/simulated/T, volume)