Adds a double narsie summon achievement + docs some cult code (#63980)

This commit is contained in:
Seth Scherer
2022-01-11 16:02:35 -05:00
committed by GitHub
parent b09b9e4e7f
commit 8f18f9a7fc
5 changed files with 34 additions and 7 deletions
+1
View File
@@ -37,6 +37,7 @@
#define MEDAL_TRAM_SURFER "Tram Surfer"
#define MEDAL_CULT_SHUTTLE_OMFG "WHAT JUST HAPPENED"
#define MEDAL_CLICKBAIT "Clickbait"
#define MEDAL_NARSUPREME "Narsupreme"
//Skill medal hub IDs
#define MEDAL_LEGENDARY_MINER "Legendary Miner"
@@ -186,3 +186,9 @@
desc = "Where's my free smartphone?!?"
database_id = MEDAL_CLICKBAIT
icon = "bait"
/datum/award/achievement/misc/narsupreme
name = "If Nar'Sie is so good, why isn't there a..."
desc = "Even interdimensional space deitys need a friend."
database_id = MEDAL_NARSUPREME
icon = "narsupreme"
+11
View File
@@ -254,16 +254,27 @@
/datum/team/cult
name = "Cult"
///The blood mark target
var/blood_target
///Image of the blood mark target
var/image/blood_target_image
///Timer for the blood mark expiration
var/blood_target_reset_timer
///Has a vote been called for a leader?
var/cult_vote_called = FALSE
///The cult leader
var/mob/living/cult_master
///Has the mass teleport been used yet?
var/reckoning_complete = FALSE
///Has the cult risen, and gotten red eyes?
var/cult_risen = FALSE
///Has the cult asceneded, and gotten halos?
var/cult_ascendent = FALSE
///Has narsie been summoned yet?
var/narsie_summoned = FALSE
/datum/team/cult/proc/check_size()
if(cult_ascendent)
return
+16 -7
View File
@@ -500,11 +500,12 @@ structure_check() searches for nearby cultist structures required for the invoca
icon_state = "rune_large"
pixel_x = -32 //So the big ol' 96x96 sprite shows up right
pixel_y = -32
scribe_delay = 500 //how long the rune takes to create
scribe_delay = 50 SECONDS //how long the rune takes to create
scribe_damage = 40.1 //how much damage you take doing it
log_when_erased = TRUE
no_scribe_boost = TRUE
erase_time = 5 SECONDS
///Has the rune been used already?
var/used = FALSE
/obj/effect/rune/narsie/Initialize(mapload, set_keyword)
@@ -520,26 +521,34 @@ structure_check() searches for nearby cultist structures required for the invoca
if(!is_station_level(z))
return
var/mob/living/user = invokers[1]
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult, TRUE)
var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives
var/area/place = get_area(src)
if(!(place in summon_objective.summon_spots))
to_chat(user, span_cultlarge("The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!"))
return
if(locate(/obj/narsie) in SSpoints_of_interest.narsies)
for(var/M in invokers)
to_chat(M, span_warning("Nar'Sie is already on this plane!"))
for(var/invoker in invokers)
to_chat(invoker, span_warning("Nar'Sie is already on this plane!"))
log_game("Nar'Sie rune failed - already summoned")
return
//BEGIN THE SUMMONING
used = TRUE
var/datum/team/cult/cult_team = user_antag.cult_team
if (cult_team.narsie_summoned)
for (var/datum/mind/cultist_mind in cult_team.members)
var/mob/living/cultist_mob = cultist_mind.current
cultist_mob.client?.give_award(/datum/award/achievement/misc/narsupreme, cultist_mob)
cult_team.narsie_summoned = TRUE
..()
sound_to_playing_players('sound/effects/dimensional_rend.ogg')
var/turf/T = get_turf(src)
sleep(40)
var/turf/rune_turf = get_turf(src)
sleep(4 SECONDS)
if(src)
color = RUNE_COLOR_RED
new /obj/narsie(T) //Causes Nar'Sie to spawn even if the rune has been removed
new /obj/narsie(rune_turf) //Causes Nar'Sie to spawn even if the rune has been removed
//Rite of Resurrection: Requires a dead or inactive cultist. When reviving the dead, you can only perform one revival for every three sacrifices your cult has carried out.
/obj/effect/rune/raise_dead
Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 193 KiB