From 3b545d6a3d63945a50dc4a0efeb94de5643631d1 Mon Sep 17 00:00:00 2001 From: TheColorCyan Date: Tue, 18 Mar 2025 01:15:37 +0500 Subject: [PATCH 1/4] chill changes --- .../heretic/knowledge/void_lore.dm | 5 ++++- .../heretic/status_effects/void_chill.dm | 20 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm index 9d79d4b41529..800637cbc6d4 100644 --- a/code/modules/antagonists/heretic/knowledge/void_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm @@ -268,7 +268,10 @@ close_carbon.adjust_silence_up_to(2 SECONDS, 20 SECONDS) close_carbon.apply_status_effect(/datum/status_effect/void_chill, 1) close_carbon.adjust_eye_blur(rand(0 SECONDS, 2 SECONDS)) - close_carbon.adjust_bodytemperature(-30 * TEMPERATURE_DAMAGE_COEFFICIENT) + if(close_carbon.has_reagent(/datum/reagent/water/holywater)) + close_carbon.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT) + else + close_carbon.adjust_bodytemperature(-30 * TEMPERATURE_DAMAGE_COEFFICIENT) else if(istype(thing_in_range, /obj/machinery/door) || istype(thing_in_range, /obj/structure/door_assembly)) var/obj/affected_door = thing_in_range diff --git a/code/modules/antagonists/heretic/status_effects/void_chill.dm b/code/modules/antagonists/heretic/status_effects/void_chill.dm index 7d2770af5e3e..0b71642f5c2b 100644 --- a/code/modules/antagonists/heretic/status_effects/void_chill.dm +++ b/code/modules/antagonists/heretic/status_effects/void_chill.dm @@ -15,6 +15,7 @@ var/stack_limit = 5 ///icon for the overlay var/mutable_appearance/stacks_overlay + COOLDOWN_DECLARE(chill_purge) /datum/status_effect/void_chill/on_creation(mob/living/new_owner, new_stacks, ...) . = ..() @@ -41,7 +42,18 @@ owner.update_icon(UPDATE_OVERLAYS) /datum/status_effect/void_chill/tick(seconds_per_ticks) - owner.adjust_bodytemperature(-12 KELVIN * stacks * seconds_per_ticks) + if (stacks == 0) + owner.remove_status_effect(/datum/status_effect/void_chill) + if(owner.has_reagent(/datum/reagent/water/holywater)) + //void chill is less effective + owner.adjust_bodytemperature(-3 KELVIN * stacks * seconds_per_ticks) + if(!COOLDOWN_FINISHED(src, chill_purge)) + return FALSE + COOLDOWN_START(src, chill_purge, 2 SECONDS) + to_chat(owner, span_notice("You feel holy water warming you up.")) + adjust_stacks(-1) + else + owner.adjust_bodytemperature(-12 KELVIN * stacks * seconds_per_ticks) /datum/status_effect/void_chill/refresh(mob/living/new_owner, new_stacks, forced = FALSE) . = ..() @@ -84,7 +96,7 @@ ///Updates the movespeed of owner based on the amount of stacks of the debuff /datum/status_effect/void_chill/proc/update_movespeed(stacks) owner.add_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE) - owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE, multiplicative_slowdown = (0.5 * stacks)) + owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/void_chill, update = TRUE, multiplicative_slowdown = (0.3 * stacks)) linked_alert.maptext = MAPTEXT_TINY_UNICODE("[stacks]") /datum/status_effect/void_chill/lasting @@ -108,6 +120,8 @@ var/datum/status_effect/void_chill/chill_effect = attached_effect if(chill_effect.stacks >= 5) icon_state = "void_chill_oh_fuck" + else if (icon_state != initial(icon_state)) + icon_state = initial(icon_state) /atom/movable/screen/alert/status_effect/void_chill/update_desc(updates) . = ..() @@ -116,3 +130,5 @@ var/datum/status_effect/void_chill/chill_effect = attached_effect if(chill_effect.stacks >= 5) desc = "You had your chance to run, now it's too late. You may never feel warmth again..." + else if (desc != initial(desc)) + desc = initial(desc) From 7a70f544f1fbf1a87f644f4ec9bf4c6f5af3cf06 Mon Sep 17 00:00:00 2001 From: TheColorCyan Date: Tue, 18 Mar 2025 03:01:53 +0500 Subject: [PATCH 2/4] ascension tweak + chill stuff --- code/modules/antagonists/heretic/heretic_knowledge.dm | 2 +- .../antagonists/heretic/status_effects/void_chill.dm | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index aca3c69d929c..d77e62da74b8 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -737,7 +737,7 @@ * Checks if the passed human is a valid sacrifice for our ritual. */ /datum/heretic_knowledge/ultimate/proc/is_valid_sacrifice(mob/living/carbon/human/sacrifice) - return (sacrifice.stat == DEAD) && !ismonkey(sacrifice) + return ((sacrifice.stat == DEAD) && !ismonkey(sacrifice) && sacrifice.last_mind) /datum/heretic_knowledge/ultimate/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) diff --git a/code/modules/antagonists/heretic/status_effects/void_chill.dm b/code/modules/antagonists/heretic/status_effects/void_chill.dm index 0b71642f5c2b..6a06483a916d 100644 --- a/code/modules/antagonists/heretic/status_effects/void_chill.dm +++ b/code/modules/antagonists/heretic/status_effects/void_chill.dm @@ -49,7 +49,7 @@ owner.adjust_bodytemperature(-3 KELVIN * stacks * seconds_per_ticks) if(!COOLDOWN_FINISHED(src, chill_purge)) return FALSE - COOLDOWN_START(src, chill_purge, 2 SECONDS) + COOLDOWN_START(src, chill_purge, 3 SECONDS) to_chat(owner, span_notice("You feel holy water warming you up.")) adjust_stacks(-1) else @@ -120,8 +120,6 @@ var/datum/status_effect/void_chill/chill_effect = attached_effect if(chill_effect.stacks >= 5) icon_state = "void_chill_oh_fuck" - else if (icon_state != initial(icon_state)) - icon_state = initial(icon_state) /atom/movable/screen/alert/status_effect/void_chill/update_desc(updates) . = ..() @@ -130,5 +128,3 @@ var/datum/status_effect/void_chill/chill_effect = attached_effect if(chill_effect.stacks >= 5) desc = "You had your chance to run, now it's too late. You may never feel warmth again..." - else if (desc != initial(desc)) - desc = initial(desc) From 360152eee9a9ccabe2494f6e648db59c4829b5da Mon Sep 17 00:00:00 2001 From: TheColorCyan Date: Tue, 18 Mar 2025 03:26:34 +0500 Subject: [PATCH 3/4] fuck it make it 2 seconds --- .../antagonists/heretic/status_effects/void_chill.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/heretic/status_effects/void_chill.dm b/code/modules/antagonists/heretic/status_effects/void_chill.dm index 6a06483a916d..eaa658f78909 100644 --- a/code/modules/antagonists/heretic/status_effects/void_chill.dm +++ b/code/modules/antagonists/heretic/status_effects/void_chill.dm @@ -42,18 +42,18 @@ owner.update_icon(UPDATE_OVERLAYS) /datum/status_effect/void_chill/tick(seconds_per_ticks) - if (stacks == 0) - owner.remove_status_effect(/datum/status_effect/void_chill) if(owner.has_reagent(/datum/reagent/water/holywater)) //void chill is less effective owner.adjust_bodytemperature(-3 KELVIN * stacks * seconds_per_ticks) if(!COOLDOWN_FINISHED(src, chill_purge)) return FALSE - COOLDOWN_START(src, chill_purge, 3 SECONDS) + COOLDOWN_START(src, chill_purge, 2 SECONDS) to_chat(owner, span_notice("You feel holy water warming you up.")) adjust_stacks(-1) else owner.adjust_bodytemperature(-12 KELVIN * stacks * seconds_per_ticks) + if (stacks == 0) + owner.remove_status_effect(/datum/status_effect/void_chill) /datum/status_effect/void_chill/refresh(mob/living/new_owner, new_stacks, forced = FALSE) . = ..() From acb4745baac1ca60a2007942b8ba65e6a458f73c Mon Sep 17 00:00:00 2001 From: TheColorCyan Date: Tue, 18 Mar 2025 03:56:59 +0500 Subject: [PATCH 4/4] requested change --- code/modules/antagonists/heretic/heretic_knowledge.dm | 2 +- code/modules/antagonists/heretic/transmutation_rune.dm | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index d77e62da74b8..915fc772a80a 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -737,7 +737,7 @@ * Checks if the passed human is a valid sacrifice for our ritual. */ /datum/heretic_knowledge/ultimate/proc/is_valid_sacrifice(mob/living/carbon/human/sacrifice) - return ((sacrifice.stat == DEAD) && !ismonkey(sacrifice) && sacrifice.last_mind) + return ((sacrifice.stat == DEAD) && sacrifice.last_mind) /datum/heretic_knowledge/ultimate/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) diff --git a/code/modules/antagonists/heretic/transmutation_rune.dm b/code/modules/antagonists/heretic/transmutation_rune.dm index 35c8a7a9f434..d3e14d31d62c 100644 --- a/code/modules/antagonists/heretic/transmutation_rune.dm +++ b/code/modules/antagonists/heretic/transmutation_rune.dm @@ -159,6 +159,8 @@ loc.balloon_alert(user, "ritual failed, missing components!") // Then let them know what they're missing to_chat(user, span_hierophant_warning("You are missing [english_list(what_are_we_missing)] in order to complete the ritual \"[ritual.name]\".")) + if (istype(ritual, /datum/heretic_knowledge/ultimate)) + to_chat(user, span_hierophant_warning("Reminder, that sacrifices need to have a soul in order to complete the ritual.")) return FALSE // If we made it here, the ritual had all necessary components, and we can try to cast it.