Feast of Owls Heretic Ritual : Forsake your ascension (#83769)

## About The Pull Request
This adds a simple ritual that let's a heretic forsake their ascension
for immediate power - 5 knowledge points.

## Why It's Good For The Game
Heretic suffers from lack of gimmicks and it's not really because of
lack of tools that could support them, but rather due to heretics going
straight for ascension (who can blame them), this ritual allows a
heretic to restrict themself from ascending and in exchange gain a
sizeable amount of research points. Not only that, but this will also
help with people learning heretic, as it allows a new player to jump
immediately into heretic without the struggle of early game (the
struggle of early-game justifies late-game power, by rejecting late-game
power heretic gets a jump-start with points.)

## Changelog
🆑
add: Adds Feast of Owls ritual to heretic which allows one to forsake
their ascension in exchange for immediate power.
/🆑

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
This commit is contained in:
Djiq
2024-06-20 19:13:13 +01:00
committed by GitHub
co-authored by carlarctg
parent 92d1623c32
commit 8a8fac1d07
2 changed files with 31 additions and 1 deletions
@@ -56,6 +56,8 @@
var/static/list/blacklisted_rune_turfs = typecacheof(list(/turf/open/space, /turf/open/openspace, /turf/open/lava, /turf/open/chasm))
/// Controls what types of turf we can spread rust to, increases as we unlock more powerful rust abilites
var/rust_strength = 0
/// Wether we are allowed to ascend
var/feast_of_owls = FALSE
/// Static list of what each path converts to in the UI (colors are TGUI colors)
var/static/list/path_to_ui_color = list(
PATH_START = "grey",
@@ -478,7 +480,8 @@
succeeded = FALSE
parts += "<b>Objective #[count]</b>: [objective.explanation_text] [objective.get_roundend_success_suffix()]"
count++
if(feast_of_owls)
parts += span_greentext("Ascension Forsaken")
if(ascended)
parts += span_greentext(span_big("THE HERETIC ASCENDED!"))
@@ -695,6 +698,8 @@
/datum/antagonist/heretic/proc/can_ascend()
if(!can_assign_self_objectives)
return FALSE // We spurned the offer of the Mansus :(
if(feast_of_owls)
return FALSE // We sold our ambition for immediate power :/
for(var/datum/objective/must_be_done as anything in objectives)
if(!must_be_done.check_completion())
return FALSE
@@ -293,3 +293,28 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge())
body.do_jitter_animation()
body.visible_message(span_danger("An awful ripping sound is heard as [ripped_thing]'s [exterior_text] is ripped straight out, wrapping around [le_book || "the book"], turning into an eldritch shade of blue!"))
return ..()
/datum/heretic_knowledge/feast_of_owls
name = "Feast of Owls"
desc = "Allows you to undergo a ritual that gives you 5 knowledge points but locks you out of ascension. This can only be done once and cannot be reverted."
gain_text = "Under the soft glow of unreason there is a beast that stalks the night. I shall bring it forth and let it enter my presence. It will feast upon my amibitions and leave knowledge in its wake."
route = PATH_START
required_atoms = list()
/datum/heretic_knowledge/feast_of_owls/can_be_invoked(datum/antagonist/heretic/invoker)
return !invoker.feast_of_owls
/datum/heretic_knowledge/feast_of_owls/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc)
var/alert = tgui_alert(user,"Do you really want to forsake your ascension? This action cannot be reverted.", "Feast of Owls", list("Yes I'm sure", "No"), 30 SECONDS)
if( alert != "Yes I'm sure")
return FALSE
user.set_temp_blindness(5 SECONDS)
user.AdjustParalyzed(5 SECONDS)
var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user)
for(var/i in 0 to 4)
user.emote("scream")
playsound(loc, 'sound/items/eatfood.ogg', 100, TRUE)
heretic_datum.knowledge_points++
sleep(1 SECONDS)
to_chat(user,span_danger("You feel different..."))
heretic_datum.feast_of_owls = TRUE