diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index a3cad2d69531..c6fca66645dc 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -422,9 +422,9 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." if(C && C.clock_team) textlist += "[C.clock_team.eminence ? "There is an Eminence." : "There is no Eminence! Get one ASAP!"]
" textlist += "There are currently [servants] servant[servants > 1 ? "s" : ""] of Ratvar.
" - for(var/i in SSticker.scripture_states) + for(var/i in GLOB.scripture_states) if(i != SCRIPTURE_DRIVER) //ignore the always-unlocked stuff - textlist += "[i] Scripture: [SSticker.scripture_states[i] ? "UNLOCKED":"LOCKED"]
" + textlist += "[i] Scripture: [GLOB.scripture_states[i] ? "UNLOCKED":"LOCKED"]
" var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar if(G) var/time_info = G.get_arrival_time(FALSE) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 1d0c8d8cb8b3..5e6717441d31 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -16,8 +16,6 @@ SUBSYSTEM_DEF(ticker) var/hide_mode = 0 var/datum/game_mode/mode = null - var/event_time = null - var/event = 0 var/login_music //music played in pregame lobby var/round_end_sound //music/jingle played when the world reboots @@ -25,13 +23,6 @@ SUBSYSTEM_DEF(ticker) var/list/datum/mind/minds = list() //The characters in the game. Used for objective tracking. - var/list/syndicate_coalition = list() //list of traitor-compatible factions - var/list/factions = list() //list of all factions - var/list/availablefactions = list() //list of factions with openings - var/list/scripture_states = list(SCRIPTURE_DRIVER = TRUE, \ - SCRIPTURE_SCRIPT = FALSE, \ - SCRIPTURE_APPLICATION = FALSE) //list of clockcult scripture states for announcements - var/delay_end = 0 //if set true, the round will not restart on it's own var/admin_delay_notice = "" //a message to display to anyone who tries to restart the world after a delay var/ready_for_reboot = FALSE //all roundend preparation done with, all that's left is reboot @@ -190,7 +181,6 @@ SUBSYSTEM_DEF(ticker) mode.process(wait * 0.1) check_queue() check_maprotate() - scripture_states = scripture_unlock_alert(scripture_states) if(!roundend_check_paused && mode.check_finished(force_ending) || force_ending) current_state = GAME_STATE_FINISHED @@ -454,18 +444,12 @@ SUBSYSTEM_DEF(ticker) force_ending = SSticker.force_ending hide_mode = SSticker.hide_mode mode = SSticker.mode - event_time = SSticker.event_time - event = SSticker.event login_music = SSticker.login_music round_end_sound = SSticker.round_end_sound minds = SSticker.minds - syndicate_coalition = SSticker.syndicate_coalition - factions = SSticker.factions - availablefactions = SSticker.availablefactions - delay_end = SSticker.delay_end triai = SSticker.triai diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 1b9f395b0886..865a4d895950 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -58,12 +58,6 @@ return TRUE return ..() -/datum/game_mode/proc/are_operatives_dead() - for(var/datum/mind/operative_mind in get_antag_minds(/datum/antagonist/nukeop)) - if(ishuman(operative_mind.current) && (operative_mind.current.stat != DEAD)) - return FALSE - return TRUE - /datum/game_mode/nuclear/check_finished() //Keep the round going if ops are dead but bomb is ticking. if(nuke_team.operatives_dead()) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 1cdc05a07a91..e6f36cb16223 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -187,7 +187,7 @@ return FALSE var/initial_tier = initial(scripture.tier) if(initial_tier != SCRIPTURE_PERIPHERAL) - if(!GLOB.ratvar_awakens && !no_cost && !SSticker.scripture_states[initial_tier]) + if(!GLOB.ratvar_awakens && !no_cost && !GLOB.scripture_states[initial_tier]) to_chat(user, "That scripture is not unlocked, and cannot be recited!") return FALSE var/datum/clockwork_scripture/scripture_to_recite = new scripture @@ -411,12 +411,12 @@ if(SCRIPTURE_DRIVER) data["tier_info"] = "These scriptures are permanently unlocked." if(SCRIPTURE_SCRIPT) - if(SSticker.scripture_states[SCRIPTURE_SCRIPT]) + if(GLOB.scripture_states[SCRIPTURE_SCRIPT]) data["tier_info"] = "These scriptures are permanently unlocked." else data["tier_info"] = "These scriptures will automatically unlock when the Ark is halfway ready or if [DisplayPower(SCRIPT_UNLOCK_THRESHOLD)] of power is reached." if(SCRIPTURE_APPLICATION) - if(SSticker.scripture_states[SCRIPTURE_APPLICATION]) + if(GLOB.scripture_states[SCRIPTURE_APPLICATION]) data["tier_info"] = "These scriptures are permanently unlocked." else data["tier_info"] = "Unlock these optional scriptures by converting another servant or if [DisplayPower(APPLICATION_UNLOCK_THRESHOLD)] of power is reached.." diff --git a/code/modules/antagonists/clockcult/clock_scripture.dm b/code/modules/antagonists/clockcult/clock_scripture.dm index 753de786dcde..3ed2aba80ace 100644 --- a/code/modules/antagonists/clockcult/clock_scripture.dm +++ b/code/modules/antagonists/clockcult/clock_scripture.dm @@ -7,6 +7,11 @@ Scripts: 5 servants and a cache Applications: 8 servants, 3 caches, and 100 CV */ +GLOBAL_LIST_INIT(scripture_states,scripture_states_init_value()) //list of clockcult scripture states for announcements + +/proc/scripture_states_init_value() + return list(SCRIPTURE_DRIVER = TRUE, SCRIPTURE_SCRIPT = FALSE, SCRIPTURE_APPLICATION = FALSE) + /datum/clockwork_scripture var/descname = "useless" //a simple name for the scripture's effect var/name = "scripture" diff --git a/code/modules/antagonists/clockcult/clockcult.dm b/code/modules/antagonists/clockcult/clockcult.dm index d68e9b594db6..da1b59abcc07 100644 --- a/code/modules/antagonists/clockcult/clockcult.dm +++ b/code/modules/antagonists/clockcult/clockcult.dm @@ -193,6 +193,17 @@ var/list/objective var/datum/mind/eminence +/datum/team/clockcult/New(starting_members) + . = ..() + START_PROCESSING(SSobj,src) + +/datum/team/clockcult/process() + GLOB.scripture_states = scripture_unlock_alert(GLOB.scripture_states) + +/datum/team/clockcult/Destroy(force, ...) + STOP_PROCESSING(SSobj,src) + . = ..() + /datum/team/clockcult/proc/check_clockwork_victory() if(GLOB.clockwork_gateway_activated) return TRUE @@ -208,9 +219,9 @@ parts += " " parts += "The servants' objective was: [CLOCKCULT_OBJECTIVE]." parts += "Construction Value(CV) was: [GLOB.clockwork_construction_value]" - for(var/i in SSticker.scripture_states) + for(var/i in GLOB.scripture_states) if(i != SCRIPTURE_DRIVER) - parts += "[i] scripture was: [SSticker.scripture_states[i] ? "UN":""]LOCKED" + parts += "[i] scripture was: [GLOB.scripture_states[i] ? "UN":""]LOCKED" if(eminence) parts += "The Eminence was: [printplayer(eminence)]" if(members.len)