mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
update heretic (#22105)
This commit is contained in:
@@ -1,3 +1,15 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* Simple helper to generate a string of
|
||||||
|
* garbled symbols up to [length] characters.
|
||||||
|
*
|
||||||
|
* Used in creating spooky-text for heretic ascension announcements.
|
||||||
|
*/
|
||||||
|
/proc/generate_heretic_text(length = 25)
|
||||||
|
. = ""
|
||||||
|
for(var/i in 1 to length)
|
||||||
|
. += pick("!", "$", "^", "@", "&", "#", "*", "(", ")", "?")
|
||||||
|
|
||||||
/datum/antagonist/heretic
|
/datum/antagonist/heretic
|
||||||
name = "Heretic"
|
name = "Heretic"
|
||||||
roundend_category = "Heretics"
|
roundend_category = "Heretics"
|
||||||
@@ -108,7 +120,7 @@
|
|||||||
log_admin("[key_name(admin)] has heresized [key_name(new_owner)].")
|
log_admin("[key_name(admin)] has heresized [key_name(new_owner)].")
|
||||||
|
|
||||||
/datum/antagonist/heretic/greet()
|
/datum/antagonist/heretic/greet()
|
||||||
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ecult_op.ogg', 100, FALSE, pressure_affected = FALSE)//subject to change
|
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/heretic/heretic_gain.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) // no longer subject to change
|
||||||
to_chat(owner, span_userdanger("You are the Heretic."))
|
to_chat(owner, span_userdanger("You are the Heretic."))
|
||||||
owner.announce_objectives()
|
owner.announce_objectives()
|
||||||
to_chat(owner, "<span class='cult'>The text whispers, and forbidden knowledge licks at your mind!<br>\
|
to_chat(owner, "<span class='cult'>The text whispers, and forbidden knowledge licks at your mind!<br>\
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
log_admin("[key_name(admin)] has heresized [key_name(new_owner)].")
|
log_admin("[key_name(admin)] has heresized [key_name(new_owner)].")
|
||||||
|
|
||||||
/datum/antagonist/heretic_monster/greet()
|
/datum/antagonist/heretic_monster/greet()
|
||||||
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ecult_op.ogg', 100, FALSE, pressure_affected = FALSE)//subject to change
|
owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/heretic/heretic_gain.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)
|
||||||
to_chat(owner, span_boldannounce("You became an Eldritch Horror!"))
|
to_chat(owner, span_boldannounce("You became an Eldritch Horror!"))
|
||||||
|
|
||||||
/datum/antagonist/heretic_monster/on_gain()
|
/datum/antagonist/heretic_monster/on_gain()
|
||||||
|
|||||||
@@ -69,7 +69,12 @@
|
|||||||
required_shit_list = "Three dead bodies."
|
required_shit_list = "Three dead bodies."
|
||||||
|
|
||||||
/datum/eldritch_transmutation/final/ash_final/on_finished_recipe(mob/living/user, list/atoms, loc)
|
/datum/eldritch_transmutation/final/ash_final/on_finished_recipe(mob/living/user, list/atoms, loc)
|
||||||
priority_announce("Immense destabilization of the bluespace veil has been observed. Our scanners report a fiery entity of unknown power is quickly escalating the station temperature to unhabitable levels. Immediate evacuation is advised.", "Anomaly Alert", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] Fear the blaze, for the Ashlord, [user.real_name] has ascended! The flames shall consume all! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_ash.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
|
|
||||||
var/datum/action/cooldown/spell/fire_sworn/circle_spell = new(user.mind)
|
var/datum/action/cooldown/spell/fire_sworn/circle_spell = new(user.mind)
|
||||||
circle_spell.Grant(user)
|
circle_spell.Grant(user)
|
||||||
|
|||||||
@@ -23,7 +23,12 @@
|
|||||||
required_shit_list = "Three dead bodies."
|
required_shit_list = "Three dead bodies."
|
||||||
|
|
||||||
/datum/eldritch_transmutation/final/blade_final/on_finished_recipe(mob/living/user, list/atoms, loc)
|
/datum/eldritch_transmutation/final/blade_final/on_finished_recipe(mob/living/user, list/atoms, loc)
|
||||||
priority_announce("Master of blades, the Torn Champion's disciple, [user.real_name] has ascended! Their steel is that which will cut reality in a maelstom of silver!", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] Master of blades, the Torn Champion's disciple, [user.real_name] has ascended! Their steel is that which will cut reality in a maelstom of silver! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_blade.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
|
|
||||||
var/mob/living/carbon/human/H = user
|
var/mob/living/carbon/human/H = user
|
||||||
user.apply_status_effect(/datum/status_effect/protective_blades/recharging, null, 8, 30, 0.25 SECONDS, 1 MINUTES)
|
user.apply_status_effect(/datum/status_effect/protective_blades/recharging, null, 8, 30, 0.25 SECONDS, 1 MINUTES)
|
||||||
|
|||||||
@@ -32,7 +32,12 @@
|
|||||||
ADD_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT)
|
ADD_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT)
|
||||||
ADD_TRAIT(user, TRAIT_NOBREATH, MAGIC_TRAIT)
|
ADD_TRAIT(user, TRAIT_NOBREATH, MAGIC_TRAIT)
|
||||||
var/mob/dead/observer/ghost_candidate = pick(candidates)
|
var/mob/dead/observer/ghost_candidate = pick(candidates)
|
||||||
priority_announce("Immense destabilization of the bluespace veil has been observed. Our scanners report two entitites of immeasurable power. Beginning sector purge. Immediate evacuation is advised.", "Anomaly Alert", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] A Star Gazer has arrived into the station, [user.real_name] has ascended! This station is the domain of the Cosmos! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_cosmic.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
|
|
||||||
log_game("[key_name_admin(ghost_candidate)] has taken control of ([key_name_admin(summoned)]).")
|
log_game("[key_name_admin(ghost_candidate)] has taken control of ([key_name_admin(summoned)]).")
|
||||||
summoned.ghostize(FALSE)
|
summoned.ghostize(FALSE)
|
||||||
@@ -50,7 +55,12 @@
|
|||||||
if(istype(spells, /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash)) //I dont want big mobs to be able to use ash jaunt
|
if(istype(spells, /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash)) //I dont want big mobs to be able to use ash jaunt
|
||||||
spells.Remove(user)
|
spells.Remove(user)
|
||||||
qdel(spells)
|
qdel(spells)
|
||||||
priority_announce("$^@&#*$^@(#&$(@&#^$&#^@# Fear the cosmos, for The Creator has ascended! Unmake all of reality! $^@&#*$^@(#&$(@&#^$&#^@#","#$^@&#*$^@(#&$(@&#^$&#^@#", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] Fear the cosmos, for The Creator, [user.real_name] Unmake all of reality! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_cosmic.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
var/atom/movable/gravity_lens/shockwave = new(get_turf(user))
|
var/atom/movable/gravity_lens/shockwave = new(get_turf(user))
|
||||||
SSsecurity_level.set_level(SEC_LEVEL_GAMMA)
|
SSsecurity_level.set_level(SEC_LEVEL_GAMMA)
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,12 @@
|
|||||||
var/datum/eldritch_transmutation/voiceless_dead/ghoul2 = heretic.get_transmutation(/datum/eldritch_transmutation/voiceless_dead)
|
var/datum/eldritch_transmutation/voiceless_dead/ghoul2 = heretic.get_transmutation(/datum/eldritch_transmutation/voiceless_dead)
|
||||||
ghoul2.max_amt *= 3
|
ghoul2.max_amt *= 3
|
||||||
var/mob/dead/observer/ghost_candidate = pick(candidates)
|
var/mob/dead/observer/ghost_candidate = pick(candidates)
|
||||||
priority_announce("Immense destabilization of the bluespace veil has been observed. Our scanners report two entitites of immeasurable power, one of which is of a considerable volume of organic mass. Immediate evacuation is advised.", "Anomaly Alert", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] Ever coiling vortex. Reality unfolded. ARMS OUTREACHED, THE LORD OF THE NIGHT, [user.real_name] has ascended! Fear the ever twisting hand! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_flesh.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
|
|
||||||
log_game("[key_name_admin(ghost_candidate)] has taken control of ([key_name_admin(summoned)]).")
|
log_game("[key_name_admin(ghost_candidate)] has taken control of ([key_name_admin(summoned)]).")
|
||||||
summoned.ghostize(FALSE)
|
summoned.ghostize(FALSE)
|
||||||
@@ -133,7 +138,12 @@
|
|||||||
if(istype(spells, /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash)) //vitally important since ashen passage breaks the shit out of armsy
|
if(istype(spells, /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash)) //vitally important since ashen passage breaks the shit out of armsy
|
||||||
spells.Remove(user)
|
spells.Remove(user)
|
||||||
qdel(spells)
|
qdel(spells)
|
||||||
priority_announce("$^@&#*$^@(#&$(@&#^$&#^@# Fear the dark, for King of Arms has ascended! Our Lord of the Night has come! $^@&#*$^@(#&$(@&#^$&#^@#","#$^@&#*$^@(#&$(@&#^$&#^@#", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] Fear the dark, for King of Arms, [user.real_name] has ascended! Our Lord of the Night has come! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_flesh.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
SSsecurity_level.set_level(SEC_LEVEL_GAMMA)
|
SSsecurity_level.set_level(SEC_LEVEL_GAMMA)
|
||||||
var/atom/movable/gravity_lens/shockwave = new(get_turf(user))
|
var/atom/movable/gravity_lens/shockwave = new(get_turf(user))
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,12 @@
|
|||||||
required_shit_list = "Three dead bodies."
|
required_shit_list = "Three dead bodies."
|
||||||
|
|
||||||
/datum/eldritch_transmutation/final/knock_final/on_finished_recipe(mob/living/user, list/atoms, loc)
|
/datum/eldritch_transmutation/final/knock_final/on_finished_recipe(mob/living/user, list/atoms, loc)
|
||||||
priority_announce("Immense destabilization of the bluespace veil has been observed. Our scanners report a fiery entity of unknown power is quickly escalating the station temperature to unhabitable levels. Immediate evacuation is advised.", "Anomaly Alert", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "Delta-class dimensional anomaly detec[generate_heretic_text()] Reality rended, torn. Gates open, doors open, [user.real_name] has ascended! Fear the rising tide! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_knock.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
|
|
||||||
new /obj/structure/knock_tear(loc, user.mind)
|
new /obj/structure/knock_tear(loc, user.mind)
|
||||||
var/mob/living/carbon/human/H = user
|
var/mob/living/carbon/human/H = user
|
||||||
|
|||||||
@@ -33,7 +33,12 @@
|
|||||||
H.physiology.burn_mod *= 0.5
|
H.physiology.burn_mod *= 0.5
|
||||||
H.physiology.stamina_mod = 0
|
H.physiology.stamina_mod = 0
|
||||||
H.physiology.stun_mod = 0
|
H.physiology.stun_mod = 0
|
||||||
priority_announce("Immense destabilization of the bluespace veil has been observed. Our scanners report significant and rapid decay of the station's infrastructure with a single entity as its source. Immediate evacuation is advised.", "Anomaly Alert", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] Fear the decay, for the Rustbringer, [user.real_name] has ascended! None shall escape the corrosion! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_rust.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
|
|
||||||
new /datum/rust_spread(loc)
|
new /datum/rust_spread(loc)
|
||||||
var/datum/antagonist/heretic/ascension = H.mind.has_antag_datum(/datum/antagonist/heretic)
|
var/datum/antagonist/heretic/ascension = H.mind.has_antag_datum(/datum/antagonist/heretic)
|
||||||
|
|||||||
@@ -91,7 +91,12 @@
|
|||||||
storm.impacted_areas = list(source_area)
|
storm.impacted_areas = list(source_area)
|
||||||
storm.update_areas()
|
storm.update_areas()
|
||||||
|
|
||||||
priority_announce("Immense destabilization of the bluespace veil has been observed. @&#^$&#^@# The nobleman of void [user.real_name] has arrived, stepping along the Waltz that ends worlds! $&#^@#@&#^ Immediate evacuation is advised.", "Anomaly Alert", ANNOUNCER_SPANOMALIES)
|
priority_announce(
|
||||||
|
text = "[generate_heretic_text()] The nobleman of void [user.real_name] has arrived, stepping along the Waltz that ends worlds! [generate_heretic_text()]",
|
||||||
|
title = "[generate_heretic_text()]",
|
||||||
|
sound = 'sound/ambience/antag/heretic/ascend_void.ogg',
|
||||||
|
color_override = "pink",
|
||||||
|
)
|
||||||
var/datum/antagonist/heretic/ascension = H.mind.has_antag_datum(/datum/antagonist/heretic)
|
var/datum/antagonist/heretic/ascension = H.mind.has_antag_datum(/datum/antagonist/heretic)
|
||||||
ascension.ascended = TRUE
|
ascension.ascended = TRUE
|
||||||
|
|
||||||
|
|||||||
BIN
sound/ambience/antag/heretic/ascend_ash.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_ash.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/ascend_blade.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_blade.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/ascend_cosmic.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_cosmic.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/ascend_flesh.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_flesh.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/ascend_knock.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_knock.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/ascend_moon.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_moon.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/ascend_rust.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_rust.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/ascend_void.ogg
Normal file
BIN
sound/ambience/antag/heretic/ascend_void.ogg
Normal file
Binary file not shown.
BIN
sound/ambience/antag/heretic/heretic_gain.ogg
Normal file
BIN
sound/ambience/antag/heretic/heretic_gain.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user