mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 13:07:46 +01:00
Updates Holy Water to be Less Annoying and More Flavourful (#30154)
* Update water.dm * Update code/modules/reagents/chemistry/reagents/water.dm Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> --------- Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
co-authored by
PollardTheDragon
parent
a3fcb03a7a
commit
3216ab1c00
@@ -283,7 +283,7 @@
|
||||
/datum/reagent/holywater
|
||||
name = "Water"
|
||||
id = "holywater"
|
||||
description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen."
|
||||
description = "A ubiquitous chemical substance that is composed of hydrogen, oxygen, and faith." // Subtle tell if anyone bothers to use a chem master to identify it. How many people know this can be done?
|
||||
reagent_state = LIQUID
|
||||
color = "#0064C8" // rgb: 0, 100, 200
|
||||
process_flags = ORGANIC | SYNTHETIC
|
||||
@@ -294,17 +294,27 @@
|
||||
|
||||
/datum/reagent/holywater/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
M.AdjustJitter(-10 SECONDS)
|
||||
if(current_cycle >= 30) // 12 units, 60 seconds @ metabolism 0.4 units & tick rate 2.0 sec
|
||||
M.AdjustStuttering(8 SECONDS, bound_lower = 0, bound_upper = 40 SECONDS)
|
||||
M.Dizzy(10 SECONDS)
|
||||
// Feel the blessing within you. Unless you're an unholy being, of course.
|
||||
if(prob(5) && !IS_CULTIST(M) && !M.mind?.has_antag_datum(/datum/antagonist/vampire) && !isvampirethrall(M))
|
||||
M.AdjustJitter(-10 SECONDS)
|
||||
var/holy_message = pick(
|
||||
"You feel a little more peaceful inside.",
|
||||
"You feel a higher power looking down on you.",
|
||||
"You feel as though your spirit is a little safer",
|
||||
"You feel as though you are blessed.",
|
||||
)
|
||||
to_chat(M, "<span class='notice'>[holy_message]</span>")
|
||||
|
||||
// 12 units, 60 seconds @ metabolism 0.4 units & tick rate 2.0 sec
|
||||
if(current_cycle >= 30)
|
||||
if(IS_CULTIST(M))
|
||||
for(var/datum/action/innate/cult/blood_magic/BM in M.actions)
|
||||
for(var/datum/action/innate/cult/blood_spell/BS in BM.spells)
|
||||
to_chat(M, "<span class='cultlarge'>Your blood rites falter as holy water scours your body!</span>")
|
||||
qdel(BS)
|
||||
if(prob(5))
|
||||
M.AdjustCultSlur(10 SECONDS)//5 seems like a good number...
|
||||
if(prob(5)) // 5 seems like a good number...
|
||||
M.AdjustCultSlur(10 SECONDS)
|
||||
M.Jitter(10 SECONDS)
|
||||
M.say(pick("Av'te Nar'sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","Egkau'haom'nai en Chaous","Ho Diak'nos tou Ap'iron","R'ge Na'sie","Diabo us Vo'iscum","Si gn'um Co'nu"))
|
||||
if(isvampirethrall(M))
|
||||
if(prob(10))
|
||||
@@ -312,17 +322,14 @@
|
||||
if(prob(5)) //Same as cult, for the real big tell
|
||||
M.visible_message("<span class='warning'>A fog lifts from [M]'s eyes for a moment, but soon returns.</span>")
|
||||
|
||||
if(current_cycle >= 75 && prob(33)) // 30 units, 150 seconds
|
||||
M.AdjustConfused(6 SECONDS)
|
||||
// 30 units, 150 seconds
|
||||
if(current_cycle >= 75 && prob(33))
|
||||
if(isvampirethrall(M))
|
||||
M.mind.remove_antag_datum(/datum/antagonist/mindslave/thrall)
|
||||
|
||||
holder.remove_reagent(id, volume)
|
||||
M.visible_message("<span class='biggerdanger'>[M] recoils, their skin flushes with colour, regaining their sense of control!</span>")
|
||||
M.SetJitter(0)
|
||||
M.SetStuttering(0)
|
||||
M.SetConfused(0)
|
||||
return
|
||||
|
||||
if(IS_CULTIST(M))
|
||||
var/datum/antagonist/cultist/cultist = IS_CULTIST(M)
|
||||
cultist.remove_gear_on_removal = TRUE
|
||||
@@ -330,12 +337,15 @@
|
||||
|
||||
holder.remove_reagent(id, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better??
|
||||
M.SetJitter(0)
|
||||
M.SetStuttering(0)
|
||||
M.SetConfused(0)
|
||||
return
|
||||
|
||||
var/datum/antagonist/vampire/vamp = M.mind?.has_antag_datum(/datum/antagonist/vampire)
|
||||
if(ishuman(M) && vamp && !vamp.get_ability(/datum/vampire_passive/full) && prob(80))
|
||||
var/mob/living/carbon/V = M
|
||||
// Has never fed, do not pass GO.
|
||||
if(!vamp.bloodtotal)
|
||||
return ..() | update_flags
|
||||
|
||||
if(vamp.bloodusable)
|
||||
M.Stuttering(2 SECONDS)
|
||||
M.Jitter(60 SECONDS)
|
||||
@@ -344,39 +354,41 @@
|
||||
M.emote("scream")
|
||||
vamp.adjust_nullification(20, 4)
|
||||
vamp.bloodusable = max(vamp.bloodusable - 3,0)
|
||||
if(vamp.bloodusable)
|
||||
V.vomit(0, TRUE, FALSE)
|
||||
V.adjustBruteLoss(3)
|
||||
else
|
||||
if(!vamp.bloodusable)
|
||||
holder.remove_reagent(id, volume)
|
||||
V.vomit(0, FALSE, FALSE)
|
||||
return
|
||||
else
|
||||
if(!vamp.bloodtotal)
|
||||
return ..() | update_flags
|
||||
switch(current_cycle)
|
||||
if(1 to 4)
|
||||
to_chat(M, "<span class = 'warning'>Something sizzles in your veins!</span>")
|
||||
vamp.adjust_nullification(20, 4)
|
||||
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)
|
||||
M.Stuttering(2 SECONDS)
|
||||
M.Jitter(40 SECONDS)
|
||||
if(prob(20))
|
||||
M.emote("scream")
|
||||
vamp.adjust_nullification(20, 4)
|
||||
if(13 to INFINITY)
|
||||
M.visible_message("<span class='danger'>[M] suddenly bursts into flames!</span>",
|
||||
"<span class='danger'>You suddenly ignite in a holy fire!</span>")
|
||||
M.fire_stacks = min(5, M.fire_stacks + 3)
|
||||
M.IgniteMob()
|
||||
update_flags |= M.adjustFireLoss(3, FALSE)
|
||||
M.Stuttering(2 SECONDS)
|
||||
M.Jitter(60 SECONDS)
|
||||
if(prob(40))
|
||||
M.emote("scream")
|
||||
vamp.adjust_nullification(20, 4)
|
||||
|
||||
V.vomit(0, TRUE, FALSE)
|
||||
V.adjustBruteLoss(3)
|
||||
return ..() | update_flags
|
||||
|
||||
switch(current_cycle)
|
||||
if(1 to 4)
|
||||
to_chat(M, "<span class='warning'>Something sizzles in your veins!</span>")
|
||||
vamp.adjust_nullification(20, 4)
|
||||
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)
|
||||
M.Stuttering(2 SECONDS)
|
||||
M.Jitter(40 SECONDS)
|
||||
if(prob(20))
|
||||
M.emote("scream")
|
||||
vamp.adjust_nullification(20, 4)
|
||||
if(13 to INFINITY)
|
||||
M.visible_message(
|
||||
"<span class='danger'>[M] suddenly bursts into flames!</span>",
|
||||
"<span class='userdanger'>You suddenly ignite in a holy fire!</span>",
|
||||
"<span class='danger'>You hear something suddenly bursting into flames!</span>"
|
||||
)
|
||||
M.fire_stacks = min(5, M.fire_stacks + 3)
|
||||
M.IgniteMob()
|
||||
update_flags |= M.adjustFireLoss(3, FALSE)
|
||||
M.Stuttering(2 SECONDS)
|
||||
M.Jitter(60 SECONDS)
|
||||
if(prob(40))
|
||||
M.emote("scream")
|
||||
vamp.adjust_nullification(20, 4)
|
||||
return ..() | update_flags
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user