From ec790efeaaf7986b989fd1c0d9bda801bb4b0030 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Wed, 24 Apr 2019 14:07:34 +0100 Subject: [PATCH] SSticker --- code/__DEFINES/gamemode.dm | 12 +- code/__DEFINES/misc.dm | 2 +- code/__HELPERS/_logging.dm | 2 +- code/__HELPERS/time.dm | 4 +- code/controllers/Processes/ticker.dm | 36 -- code/controllers/configuration.dm | 2 +- code/controllers/master.dm | 4 +- code/controllers/subsystem/jobs.dm | 4 +- code/controllers/subsystem/nightshift.dm | 2 +- code/controllers/subsystem/shuttles.dm | 6 +- .../subsystem/ticker.dm} | 147 ++++--- code/controllers/subsystem/vote.dm | 14 +- code/controllers/verbs.dm | 2 +- code/datums/cache/air_alarm.dm | 2 +- code/datums/hud.dm | 4 +- code/datums/mind.dm | 410 +++++++++--------- code/datums/periodic_news.dm | 2 +- code/datums/spells/chaplain.dm | 4 +- code/datums/spells/lichdom.dm | 2 +- code/datums/uplink_item.dm | 4 +- code/game/data_huds.dm | 2 +- code/game/gamemodes/blob/powers.dm | 4 +- code/game/gamemodes/cult/cult.dm | 26 +- code/game/gamemodes/cult/cult_objectives.dm | 20 +- code/game/gamemodes/cult/ritual.dm | 32 +- code/game/gamemodes/cult/runes.dm | 34 +- code/game/gamemodes/cult/talisman.dm | 2 +- code/game/gamemodes/devil/devilinfo.dm | 4 +- code/game/gamemodes/devil/objectives.dm | 2 +- code/game/gamemodes/game_mode.dm | 4 +- code/game/gamemodes/heist/heist.dm | 2 +- code/game/gamemodes/intercept_report.dm | 4 +- .../gamemodes/malfunction/Malf_Modules.dm | 2 +- .../miniantags/abduction/abduction.dm | 4 +- .../abduction/machinery/experiment.dm | 4 +- .../gamemodes/miniantags/morph/morph_event.dm | 2 +- .../gamemodes/miniantags/revenant/revenant.dm | 4 +- .../revenant/revenant_spawn_event.dm | 2 +- .../miniantags/slaughter/slaughter.dm | 4 +- code/game/gamemodes/nuclear/nuclear.dm | 12 +- .../gamemodes/nuclear/nuclear_challenge.dm | 4 +- code/game/gamemodes/nuclear/nuclearbomb.dm | 26 +- code/game/gamemodes/nuclear/pinpointer.dm | 4 +- code/game/gamemodes/objective.dm | 26 +- code/game/gamemodes/revolution/revolution.dm | 10 +- code/game/gamemodes/scoreboard.dm | 16 +- code/game/gamemodes/setupgame.dm | 8 +- code/game/gamemodes/shadowling/shadowling.dm | 6 +- .../shadowling/shadowling_abilities.dm | 22 +- .../special_shadowling_abilities.dm | 4 +- code/game/gamemodes/traitor/traitor.dm | 4 +- code/game/gamemodes/vampire/vampire.dm | 6 +- code/game/gamemodes/vampire/vampire_powers.dm | 20 +- code/game/gamemodes/wizard/artefact.dm | 8 +- code/game/gamemodes/wizard/soulstone.dm | 34 +- code/game/gamemodes/wizard/spellbook.dm | 10 +- code/game/gamemodes/wizard/wizard.dm | 6 +- code/game/jobs/job/support_chaplain.dm | 10 +- code/game/jobs/job_objective.dm | 2 +- code/game/machinery/cloning.dm | 32 +- code/game/machinery/computer/ai_core.dm | 4 +- .../game/machinery/computer/communications.dm | 6 +- code/game/machinery/cryopod.dm | 12 +- code/game/machinery/doors/windowdoor.dm | 2 +- code/game/machinery/syndicatebeacon.dm | 4 +- code/game/magic/Uristrunes.dm | 8 +- .../effects/decals/Cleanable/humans.dm | 4 +- .../effects/effect_system/effect_system.dm | 4 +- code/game/objects/items/devices/flash.dm | 6 +- code/game/objects/items/devices/flashlight.dm | 2 +- code/game/objects/items/devices/uplinks.dm | 4 +- code/game/objects/items/robot/robot_parts.dm | 2 +- .../objects/items/weapons/holy_weapons.dm | 20 +- .../weapons/implants/implant_mindshield.dm | 8 +- .../items/weapons/implants/implant_traitor.dm | 24 +- code/game/objects/items/weapons/staff.dm | 2 +- .../objects/items/weapons/storage/bible.dm | 2 +- code/game/objects/structures.dm | 6 +- code/game/sound.dm | 4 +- code/game/turfs/simulated/floor/plating.dm | 4 +- code/game/turfs/simulated/walls_misc.dm | 4 +- code/game/turfs/turf.dm | 6 +- code/game/verbs/suicide.dm | 4 +- code/game/world.dm | 17 +- code/modules/admin/admin.dm | 42 +- code/modules/admin/player_panel.dm | 98 ++--- code/modules/admin/topic.dm | 66 +-- code/modules/admin/verbs/cinematic.dm | 4 +- code/modules/admin/verbs/debug.dm | 14 +- code/modules/admin/verbs/gimmick_team.dm | 4 +- code/modules/admin/verbs/honksquad.dm | 4 +- .../admin/verbs/infiltratorteam_syndicate.dm | 4 +- code/modules/admin/verbs/one_click_antag.dm | 12 +- code/modules/admin/verbs/onlyone.dm | 8 +- code/modules/admin/verbs/onlyoneteam.dm | 2 +- code/modules/admin/verbs/pray.dm | 6 +- code/modules/admin/verbs/randomverbs.dm | 32 +- code/modules/admin/verbs/striketeam.dm | 10 +- .../admin/verbs/striketeam_syndicate.dm | 4 +- code/modules/admin/verbs/tripAI.dm | 10 +- .../antagonists/_common/antag_spawner.dm | 26 +- code/modules/awaymissions/corpse.dm | 2 +- code/modules/clothing/shoes/magboots.dm | 2 +- code/modules/events/abductor.dm | 12 +- code/modules/events/alien_infestation.dm | 4 +- code/modules/karma/karma.dm | 2 +- code/modules/library/computers/checkout.dm | 10 +- .../mining/lavaland/loot/colossus_loot.dm | 2 +- .../mob/living/carbon/alien/alien_defense.dm | 2 +- .../carbon/alien/special/alien_embryo.dm | 4 +- code/modules/mob/living/carbon/human/death.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 2 +- .../mob/living/carbon/human/human_damage.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 2 +- .../carbon/human/interactive/interactive.dm | 6 +- .../living/carbon/human/species/_species.dm | 4 +- code/modules/mob/living/carbon/superheroes.dm | 8 +- code/modules/mob/living/death.dm | 4 +- code/modules/mob/living/living.dm | 2 +- code/modules/mob/living/living_defense.dm | 2 +- .../mob/living/silicon/ai/ai_defense.dm | 2 +- .../living/silicon/ai/freelook/cameranet.dm | 2 +- .../modules/mob/living/silicon/ai/latejoin.dm | 4 +- code/modules/mob/living/silicon/login.dm | 20 +- .../modules/mob/living/silicon/pai/recruit.dm | 4 +- .../mob/living/silicon/robot/drone/drone.dm | 2 +- .../silicon/robot/drone/drone_manufacturer.dm | 4 +- .../modules/mob/living/silicon/robot/robot.dm | 6 +- .../mob/living/simple_animal/constructs.dm | 12 +- .../mob/living/simple_animal/friendly/cat.dm | 4 +- .../simple_animal/friendly/cockroach.dm | 2 +- code/modules/mob/logout.dm | 2 +- code/modules/mob/mob.dm | 4 +- code/modules/mob/new_player/new_player.dm | 34 +- code/modules/power/singularity/narsie.dm | 10 +- code/modules/power/smes.dm | 2 +- .../reagents/chemistry/reagents/food.dm | 4 +- .../reagents/chemistry/reagents/water.dm | 4 +- code/modules/response_team/ert.dm | 10 +- .../security_levels/keycard authentication.dm | 2 +- code/modules/station_goals/dna_vault.dm | 6 +- code/modules/station_goals/shield.dm | 2 +- code/modules/station_goals/station_goal.dm | 2 +- code/modules/surgery/other.dm | 2 +- paradise.dme | 3 +- 145 files changed, 896 insertions(+), 925 deletions(-) delete mode 100644 code/controllers/Processes/ticker.dm rename code/{game/gamemodes/gameticker.dm => controllers/subsystem/ticker.dm} (87%) diff --git a/code/__DEFINES/gamemode.dm b/code/__DEFINES/gamemode.dm index a1e469e3c94..a3efbab50d9 100644 --- a/code/__DEFINES/gamemode.dm +++ b/code/__DEFINES/gamemode.dm @@ -8,12 +8,12 @@ #define TARGET_INVALID_EVENT 7 //gamemode istype helpers -#define GAMEMODE_IS_BLOB (ticker && istype(ticker.mode, /datum/game_mode/blob)) -#define GAMEMODE_IS_CULT (ticker && istype(ticker.mode, /datum/game_mode/cult)) -#define GAMEMODE_IS_HEIST (ticker && istype(ticker.mode, /datum/game_mode/heist)) -#define GAMEMODE_IS_NUCLEAR (ticker && istype(ticker.mode, /datum/game_mode/nuclear)) -#define GAMEMODE_IS_REVOLUTION (ticker && istype(ticker.mode, /datum/game_mode/revolution)) -#define GAMEMODE_IS_WIZARD (ticker && istype(ticker.mode, /datum/game_mode/wizard)) +#define GAMEMODE_IS_BLOB (SSticker && istype(SSticker.mode, /datum/game_mode/blob)) +#define GAMEMODE_IS_CULT (SSticker && istype(SSticker.mode, /datum/game_mode/cult)) +#define GAMEMODE_IS_HEIST (SSticker && istype(SSticker.mode, /datum/game_mode/heist)) +#define GAMEMODE_IS_NUCLEAR (SSticker && istype(SSticker.mode, /datum/game_mode/nuclear)) +#define GAMEMODE_IS_REVOLUTION (SSticker && istype(SSticker.mode, /datum/game_mode/revolution)) +#define GAMEMODE_IS_WIZARD (SSticker && istype(SSticker.mode, /datum/game_mode/wizard)) //special roles // Distinct from the ROLE_X defines because some antags have multiple special roles but only one ban type diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index dff9426c641..0bf7e3bcafe 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -303,7 +303,7 @@ #define TRIGGER_GUARD_NORMAL 1 // Macro to get the current elapsed round time, rather than total world runtime -#define ROUND_TIME (round_start_time ? (world.time - round_start_time) : 0) +#define ROUND_TIME (SSticker.round_start_time ? (world.time - SSticker.round_start_time) : 0) // Macro that returns true if it's too early in a round to freely ghost out #define TOO_EARLY_TO_GHOST (config && (ROUND_TIME < (config.round_abandon_penalty_period))) diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index e7f5262db1f..65fc87c3b34 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -150,7 +150,7 @@ // A logging proc that only outputs after setup is done, to // help devs test initialization stuff that happens a lot /proc/log_after_setup(var/message) - if(ticker && ticker.current_state > GAME_STATE_SETTING_UP) + if(SSticker && SSticker.current_state > GAME_STATE_SETTING_UP) to_chat(world, "[message]") log_world(message) diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm index 54fd47a220d..d13bf08c58b 100644 --- a/code/__HELPERS/time.dm +++ b/code/__HELPERS/time.dm @@ -35,7 +35,7 @@ * If you want to display the canonical station "time" (aka the in-character time of the station) use station_time_timestamp */ /proc/classic_worldtime2text(time = world.time) - time = (round_start_time ? (time - round_start_time) : (time - world.time)) + time = (SSticker.round_start_time ? (time - SSticker.round_start_time) : (time - world.time)) return "[round(time / 36000)+12]:[(time / 600 % 60) < 10 ? add_zero(time / 600 % 60, 1) : time / 600 % 60]" //Returns the world time in english @@ -59,7 +59,7 @@ - You can use this, for example, to do "This will expire at [station_time_at(world.time + 500)]" to display a "station time" expiration date which is much more useful for a player)*/ /proc/station_time(time=world.time, display_only=FALSE) - return ((((time - round_start_time)) + GLOB.gametime_offset) % 864000) - (display_only ? GLOB.timezoneOffset : 0) + return ((((time - SSticker.round_start_time)) + GLOB.gametime_offset) % 864000) - (display_only ? GLOB.timezoneOffset : 0) /proc/station_time_timestamp(format = "hh:mm:ss", time=world.time) return time2text(station_time(time, TRUE), format) diff --git a/code/controllers/Processes/ticker.dm b/code/controllers/Processes/ticker.dm deleted file mode 100644 index 578c2725710..00000000000 --- a/code/controllers/Processes/ticker.dm +++ /dev/null @@ -1,36 +0,0 @@ -var/global/datum/controller/process/ticker/tickerProcess - -/datum/controller/process/ticker - var/lastTickerTimeDuration - var/lastTickerTime - -/datum/controller/process/ticker/setup() - name = "ticker" - schedule_interval = 20 // every 2 seconds - - lastTickerTime = world.timeofday - log_startup_progress("Time ticker starting up.") - - if(!ticker) - ticker = new - - spawn(0) - if(ticker) - ticker.pregame() - -DECLARE_GLOBAL_CONTROLLER(ticker, tickerProcess) - -/datum/controller/process/ticker/doWork() - var/currentTime = world.timeofday - - if(currentTime < lastTickerTime) // check for midnight rollover - lastTickerTimeDuration = (currentTime - (lastTickerTime - TICKS_IN_DAY)) / TICKS_IN_SECOND - else - lastTickerTimeDuration = (currentTime - lastTickerTime) / TICKS_IN_SECOND - - lastTickerTime = currentTime - - ticker.process_decrepit() - -/datum/controller/process/ticker/proc/getLastTickerTimeDuration() - return lastTickerTimeDuration diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 12b5b0fd1a5..bd76d0575cb 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -787,7 +787,7 @@ config.sql_enabled = 0 log_config("WARNING: DB_CONFIG DEFINITION MISMATCH!") spawn(60) - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) going = 0 spawn(600) to_chat(world, "DB_CONFIG MISMATCH, ROUND START DELAYED.
Please check database version for recent upstream changes!
") diff --git a/code/controllers/master.dm b/code/controllers/master.dm index a9c7e0dbb7b..fa2465854f3 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -194,8 +194,8 @@ GLOBAL_REAL(Master, /datum/controller/master) = new to_chat(world, "[msg]") log_world(msg) - if(config.developer_express_start & ticker.current_state == GAME_STATE_PREGAME) - ticker.current_state = GAME_STATE_SETTING_UP + if(config.developer_express_start & SSticker.current_state == GAME_STATE_PREGAME) + SSticker.current_state = GAME_STATE_SETTING_UP if(!current_runlevel) SetRunLevel(1) diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm index 02f2681b22d..48fdf269b89 100644 --- a/code/controllers/subsystem/jobs.dm +++ b/code/controllers/subsystem/jobs.dm @@ -270,9 +270,9 @@ SUBSYSTEM_DEF(jobs) SetupOccupations() //Holder for Triumvirate is stored in the ticker, this just processes it - if(ticker) + if(SSticker) for(var/datum/job/ai/A in occupations) - if(ticker.triai) + if(SSticker.triai) A.spawn_positions = 3 //Get the players who are ready diff --git a/code/controllers/subsystem/nightshift.dm b/code/controllers/subsystem/nightshift.dm index 358076c5652..4ebe1dceb0e 100644 --- a/code/controllers/subsystem/nightshift.dm +++ b/code/controllers/subsystem/nightshift.dm @@ -20,7 +20,7 @@ SUBSYSTEM_DEF(nightshift) return ..() /datum/controller/subsystem/nightshift/fire(resumed = FALSE) - if(world.time - round_start_time < nightshift_first_check) + if(world.time - SSticker.round_start_time < nightshift_first_check) return check_nightshift() diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm index 30021df4fb1..a1ca9b5fdad 100644 --- a/code/controllers/subsystem/shuttles.dm +++ b/code/controllers/subsystem/shuttles.dm @@ -106,8 +106,8 @@ SUBSYSTEM_DEF(shuttle) return emergency = backup_shuttle - if(world.time - round_start_time < config.shuttle_refuel_delay) - to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.") + if(world.time - SSticker.round_start_time < config.shuttle_refuel_delay) + to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - SSticker.round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.") return switch(emergency.mode) @@ -169,7 +169,7 @@ SUBSYSTEM_DEF(shuttle) return if(!emergency.canRecall) return - if(ticker.mode.name == "meteor") + if(SSticker.mode.name == "meteor") return if(seclevel2num(get_security_level()) >= SEC_LEVEL_RED) if(emergency.timeLeft(1) < emergencyCallTime * 0.25) diff --git a/code/game/gamemodes/gameticker.dm b/code/controllers/subsystem/ticker.dm similarity index 87% rename from code/game/gamemodes/gameticker.dm rename to code/controllers/subsystem/ticker.dm index 972075ceece..0e67479b531 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -1,55 +1,64 @@ -var/global/datum/controller/gameticker/ticker -var/round_start_time = 0 +SUBSYSTEM_DEF(ticker) + name = "Ticker" + init_order = INIT_ORDER_TICKER -/datum/controller/gameticker + priority = FIRE_PRIORITY_TICKER + flags = SS_KEEP_TIMING + runlevels = RUNLEVEL_LOBBY | RUNLEVEL_SETUP | RUNLEVEL_GAME + // Time ticker related vars + var/lastTickerTimeDuration + var/lastTickerTime + // Game ticker related vars + var/round_start_time = 0 var/const/restart_timeout = 600 var/current_state = GAME_STATE_PREGAME var/force_ending = 0 - var/hide_mode = 0 // leave here at 0 ! setup() will take care of it when needed for Secret mode -walter0o var/datum/game_mode/mode = null var/event_time = null var/event = 0 - var/login_music // music played in pregame lobby - var/list/datum/mind/minds = list()//The people in the game. Used for objective tracking. - var/Bible_icon_state // icon_state the chaplain has chosen for his bible var/Bible_item_state // item_state the chaplain has chosen for his bible var/Bible_name // name of the bible var/Bible_deity_name - var/datum/cult_info/cultdat = null //here instead of cult for adminbus purposes - var/random_players = 0 // if set to nonzero, ALL players who latejoin or declare-ready join will have random appearances/genders - 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/tipped = FALSE //Did we broadcast the tip of the day yet? var/selected_tip // What will be the tip of the day? - - var/pregame_timeleft = 0 + var/pregame_timeleft = "Initializing" var/delay_end = 0 //if set to nonzero, the round will not restart on it's own - var/triai = 0//Global holder for Triumvirate var/initialtpass = 0 //holder for inital autotransfer vote timer - var/obj/screen/cinematic = null //used for station explosion cinematic - var/round_end_announced = 0 // Spam Prevention. Announce round end only once.\ - -/datum/controller/gameticker/proc/pregame() +/datum/controller/subsystem/ticker/Initialize() + lastTickerTime = world.timeofday login_music = pick(\ 'sound/music/thunderdome.ogg',\ 'sound/music/space.ogg',\ 'sound/music/title1.ogg',\ 'sound/music/title2.ogg',\ 'sound/music/title3.ogg',) - do + ..() + + +/datum/controller/subsystem/ticker/fire() + // This code is EXTREMELY important shit for checking midnight time rollover. Dont fuck with it + var/currentTime = world.timeofday + if(currentTime < lastTickerTime) + lastTickerTimeDuration = (currentTime - (lastTickerTime - TICKS_IN_DAY)) / TICKS_IN_SECOND + else + lastTickerTimeDuration = (currentTime - lastTickerTime) / TICKS_IN_SECOND + lastTickerTime = currentTime + + // Startup loop + if(current_state == GAME_STATE_PREGAME) pregame_timeleft = config.pregame_timestart to_chat(world, "Welcome to the pre-game lobby!") to_chat(world, "Please, setup your character and select ready. Game will start in [pregame_timeleft] seconds") @@ -63,11 +72,43 @@ var/round_start_time = 0 tipped = TRUE if(pregame_timeleft <= 0) - current_state = GAME_STATE_SETTING_UP - Master.SetRunLevel(RUNLEVEL_SETUP) - while(!setup()) + if(setup()) // Try to start the round + current_state = GAME_STATE_SETTING_UP + Master.SetRunLevel(RUNLEVEL_SETUP) + else // It didnt work, lets loop again + break + + // This makes sure the game keeps going + if(current_state != GAME_STATE_PLAYING) + return 0 -/datum/controller/gameticker/proc/votetimer() + mode.process() + mode.process_job_tasks() + var/game_finished = SSshuttle.emergency.mode >= SHUTTLE_ENDGAME || mode.station_was_nuked + if(config.continuous_rounds) + mode.check_finished() // some modes contain var-changing code in here, so call even if we don't uses result + else + game_finished |= mode.check_finished() + + if((!mode.explosion_in_progress && game_finished) || force_ending) + current_state = GAME_STATE_FINISHED + Master.SetRunLevel(RUNLEVEL_POSTGAME) + auto_toggle_ooc(1) // Turn it on + spawn + declare_completion() + + spawn(50) + callHook("roundend") + + if(mode.station_was_nuked) + world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") + else + world.Reboot("Round ended.", "end_proper", "proper completion") + + return 1 + + +/datum/controller/subsystem/ticker/proc/votetimer() var/timerbuffer = 0 if(initialtpass == 0) timerbuffer = config.vote_autotransfer_initial @@ -78,7 +119,8 @@ var/round_start_time = 0 initialtpass = 1 votetimer() -/datum/controller/gameticker/proc/setup() + +/datum/controller/subsystem/ticker/proc/setup() cultdat = setupcult() //Create and announce mode if(master_mode=="secret") @@ -252,9 +294,7 @@ var/round_start_time = 0 return 1 - //Plus it provides an easy way to make cinematics for other events. Just use this as a template :) -//Plus it provides an easy way to make cinematics for other events. Just use this as a template -/datum/controller/gameticker/proc/station_explosion_cinematic(station_missed = 0, override = null) +/datum/controller/subsystem/ticker/proc/station_explosion_cinematic(station_missed = 0, override = null) if(cinematic) return //already a cinematic in progress! @@ -350,7 +390,7 @@ var/round_start_time = 0 -/datum/controller/gameticker/proc/create_characters() +/datum/controller/subsystem/ticker/proc/create_characters() for(var/mob/new_player/player in GLOB.player_list) if(player.ready && player.mind) if(player.mind.assigned_role == "AI") @@ -364,13 +404,13 @@ var/round_start_time = 0 qdel(player) -/datum/controller/gameticker/proc/collect_minds() +/datum/controller/subsystem/ticker/proc/collect_minds() for(var/mob/living/player in GLOB.player_list) if(player.mind) - ticker.minds += player.mind + SSticker.minds += player.mind -/datum/controller/gameticker/proc/equip_characters() +/datum/controller/subsystem/ticker/proc/equip_characters() var/captainless=1 for(var/mob/living/carbon/human/player in GLOB.player_list) if(player && player.mind && player.mind.assigned_role) @@ -385,7 +425,7 @@ var/round_start_time = 0 if(!istype(M,/mob/new_player)) to_chat(M, "Captainship not forced on anyone.") -/datum/controller/gameticker/proc/send_tip_of_the_round() +/datum/controller/subsystem/ticker/proc/send_tip_of_the_round() var/m if(selected_tip) m = selected_tip @@ -400,45 +440,13 @@ var/round_start_time = 0 if(m) to_chat(world, "Tip of the round: [html_encode(m)]") -/datum/controller/gameticker/proc/process_decrepit() - if(current_state != GAME_STATE_PLAYING) - return 0 - - mode.process() - mode.process_job_tasks() - - //emergency_shuttle.process() DONE THROUGH PROCESS SCHEDULER - - var/game_finished = SSshuttle.emergency.mode >= SHUTTLE_ENDGAME || mode.station_was_nuked - if(config.continuous_rounds) - mode.check_finished() // some modes contain var-changing code in here, so call even if we don't uses result - else - game_finished |= mode.check_finished() - - if((!mode.explosion_in_progress && game_finished) || force_ending) - current_state = GAME_STATE_FINISHED - Master.SetRunLevel(RUNLEVEL_POSTGAME) - auto_toggle_ooc(1) // Turn it on - spawn - declare_completion() - - spawn(50) - callHook("roundend") - - if(mode.station_was_nuked) - world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") - else - world.Reboot("Round ended.", "end_proper", "proper completion") - - return 1 - -/datum/controller/gameticker/proc/getfactionbyname(var/name) +/datum/controller/subsystem/ticker/proc/getfactionbyname(var/name) for(var/datum/faction/F in factions) if(F.name == name) return F -/datum/controller/gameticker/proc/declare_completion() +/datum/controller/subsystem/ticker/proc/declare_completion() nologevent = 1 //end of round murder and shenanigans are legal; there's no need to jam up attack logs past this point. //Round statistics report var/datum/station_state/end_state = new /datum/station_state() @@ -483,9 +491,9 @@ var/round_start_time = 0 if(dronecount) to_chat(world, "There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] this round.") - if(ticker.mode.eventmiscs.len) + if(mode.eventmiscs.len) var/emobtext = "" - for(var/datum/mind/eventmind in ticker.mode.eventmiscs) + for(var/datum/mind/eventmind in mode.eventmiscs) emobtext += printeventplayer(eventmind) emobtext += "
" emobtext += printobjectives(eventmind) @@ -516,5 +524,6 @@ var/round_start_time = 0 return 1 -/datum/controller/gameticker/proc/HasRoundStarted() +/datum/controller/subsystem/ticker/proc/HasRoundStarted() return current_state >= GAME_STATE_PLAYING + diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 4b267fe757f..27d499254a1 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -19,7 +19,7 @@ SUBSYSTEM_DEF(vote) /datum/controller/subsystem/vote/fire() if(mode) // No more change mode votes after the game has started. - if(mode == "gamemode" && ticker.current_state >= GAME_STATE_SETTING_UP) + if(mode == "gamemode" && SSticker.current_state >= GAME_STATE_SETTING_UP) to_chat(world, "Voting aborted due to game start.") reset() return @@ -125,7 +125,7 @@ SUBSYSTEM_DEF(vote) var/text if(winners.len > 0) if(winners.len > 1) - if(mode != "gamemode" || ticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes + if(mode != "gamemode" || SSticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes text = "Vote Tied Between:\n" for(var/option in winners) text += "\t[option]\n" @@ -134,7 +134,7 @@ SUBSYSTEM_DEF(vote) for(var/key in current_votes) if(choices[current_votes[key]] == .) round_voters += key // Keep track of who voted for the winning round. - if(mode == "gamemode" && (. == "extended" || ticker.hide_mode == 0)) // Announce Extended gamemode, but not other gamemodes + if(mode == "gamemode" && (. == "extended" || SSticker.hide_mode == 0)) // Announce Extended gamemode, but not other gamemodes text += "Vote Result: [.] ([choices[.]] vote\s)" else if(mode == "custom") @@ -166,7 +166,7 @@ SUBSYSTEM_DEF(vote) if("gamemode") if(master_mode != .) world.save_mode(.) - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) restart = 1 else master_mode = . @@ -208,17 +208,17 @@ SUBSYSTEM_DEF(vote) if("restart") choices.Add("Restart Round","Continue Playing") if("gamemode") - if(ticker.current_state >= 2) + if(SSticker.current_state >= 2) return 0 choices.Add(config.votable_modes) if("crew_transfer") if(check_rights(R_ADMIN|R_MOD)) - if(ticker.current_state <= 2) + if(SSticker.current_state <= 2) return 0 question = "End the shift?" choices.Add("Initiate Crew Transfer", "Continue The Round") else - if(ticker.current_state <= 2) + if(SSticker.current_state <= 2) return 0 question = "End the shift?" choices.Add("Initiate Crew Transfer", "Continue The Round") diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index eeef65bd2e2..5f009f2d6e4 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -36,7 +36,7 @@ debug_variables(Master) feedback_add_details("admin_verb","Dsmc") if("Ticker") - debug_variables(ticker) + debug_variables(SSticker) feedback_add_details("admin_verb","DTicker") if("Air") debug_variables(SSair) diff --git a/code/datums/cache/air_alarm.dm b/code/datums/cache/air_alarm.dm index a4b3ee21c56..a4d012df464 100644 --- a/code/datums/cache/air_alarm.dm +++ b/code/datums/cache/air_alarm.dm @@ -11,7 +11,7 @@ var/global/datum/repository/air_alarm/air_alarm_repository = new() if(!refresh) return cache_entry.data - if(ticker && ticker.current_state < GAME_STATE_PLAYING && istype(passed_alarm)) // Generating the list for the first time as the game hasn't started - no need to run through the machines list everything every time + if(SSticker && SSticker.current_state < GAME_STATE_PLAYING && istype(passed_alarm)) // Generating the list for the first time as the game hasn't started - no need to run through the machines list everything every time alarms = cache_entry.data // Don't deleate the list if(is_station_contact(passed_alarm.z)) // Still need sanity checks alarms[++alarms.len] = passed_alarm.get_nano_data_console() diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 2dd2d72a816..e5948a47e30 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -93,8 +93,8 @@ var/datum/atom_hud/huds = list( \ // gang_huds += G.ganghud var/serv_huds = list()//mindslaves and/or vampire thralls - if(ticker.mode) - for(var/datum/mindslaves/serv in (ticker.mode.vampires | ticker.mode.traitors)) + if(SSticker.mode) + for(var/datum/mindslaves/serv in (SSticker.mode.vampires | SSticker.mode.traitors)) serv_huds += serv.thrallhud diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 65b3940cde2..c20ded784a1 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -84,7 +84,7 @@ soulOwner = src /datum/mind/Destroy() - ticker.minds -= src + SSticker.minds -= src if(islist(antag_datums)) for(var/i in antag_datums) var/datum/antagonist/antag_datum = i @@ -163,7 +163,7 @@ /datum/mind/proc/_memory_edit_header(gamemode, list/alt) . = gamemode - if(ticker.mode.config_tag == gamemode || (LAZYLEN(alt) && (ticker.mode.config_tag in alt))) + if(SSticker.mode.config_tag == gamemode || (LAZYLEN(alt) && (SSticker.mode.config_tag in alt))) . = uppertext(.) . = "[.]: " @@ -183,7 +183,7 @@ . = _memory_edit_header("revolution") if(ismindshielded(H)) . += "NO|headrev|rev" - else if(src in ticker.mode.head_revolutionaries) + else if(src in SSticker.mode.head_revolutionaries) . += "no|HEADREV|rev" . += "
Flash: give" @@ -200,7 +200,7 @@ . += " Reequip (gives traitor uplink)." if(objectives.len==0) . += "
Objectives are empty! Set to kill all heads." - else if(src in ticker.mode.revolutionaries) + else if(src in SSticker.mode.revolutionaries) . += "no|headrev|REV" else . += "NO|headrev|rev" @@ -211,7 +211,7 @@ . = _memory_edit_header("cult") if(ismindshielded(H)) . += "NO|cultist" - else if(src in ticker.mode.cult) + else if(src in SSticker.mode.cult) . += "no|CULTIST" . += "
Give tome|equip." else @@ -221,7 +221,7 @@ /datum/mind/proc/memory_edit_wizard(mob/living/carbon/human/H) . = _memory_edit_header("wizard") - if(src in ticker.mode.wizards) + if(src in SSticker.mode.wizards) . += "WIZARD|no" . += "
To lair, undress, dress up, let choose name." if(objectives.len==0) @@ -233,7 +233,7 @@ /datum/mind/proc/memory_edit_changeling(mob/living/carbon/human/H) . = _memory_edit_header("changeling", list("traitorchan")) - if(src in ticker.mode.changelings) + if(src in SSticker.mode.changelings) . += "CHANGELING|no" if(objectives.len==0) . += "
Objectives are empty! Randomize!" @@ -246,7 +246,7 @@ /datum/mind/proc/memory_edit_vampire(mob/living/carbon/human/H) . = _memory_edit_header("vampire", list("traitorvamp")) - if(src in ticker.mode.vampires) + if(src in SSticker.mode.vampires) . += "VAMPIRE|no" if(objectives.len==0) . += "
Objectives are empty! Randomize!" @@ -256,14 +256,14 @@ . += _memory_edit_role_enabled(ROLE_VAMPIRE) /** Enthralled ***/ . += "
enthralled: " - if(src in ticker.mode.vampire_enthralled) + if(src in SSticker.mode.vampire_enthralled) . += "THRALL|no" else . += "thrall|NO" /datum/mind/proc/memory_edit_nuclear(mob/living/carbon/human/H) . = _memory_edit_header("nuclear") - if(src in ticker.mode.syndicates) + if(src in SSticker.mode.syndicates) . += "OPERATIVE|no" . += "
To shuttle, undress, dress up." var/code @@ -280,9 +280,9 @@ /datum/mind/proc/memory_edit_shadowling(mob/living/carbon/human/H) . = _memory_edit_header("shadowling") - if(src in ticker.mode.shadows) + if(src in SSticker.mode.shadows) . += "SHADOWLING|thrall|no" - else if(src in ticker.mode.shadowling_thralls) + else if(src in SSticker.mode.shadowling_thralls) . += "Shadowling|THRALL|no" else . += "shadowling|thrall|NO" @@ -291,7 +291,7 @@ /datum/mind/proc/memory_edit_abductor(mob/living/carbon/human/H) . = _memory_edit_header("abductor") - if(src in ticker.mode.abductors) + if(src in SSticker.mode.abductors) . += "ABDUCTOR|no" . += "|undress|equip" else @@ -301,14 +301,14 @@ /datum/mind/proc/memory_edit_devil(mob/living/H) . = _memory_edit_header("devil", list("devilagents")) - if(src in ticker.mode.devils) + if(src in SSticker.mode.devils) if(!devilinfo) . += "No devilinfo found! Yell at a coder!" else if(!devilinfo.ascendable) . += "DEVIL|Ascendable Devil|sintouched|no" else . += "DEVIL|ASCENDABLE DEVIL|sintouched|no" - else if(src in ticker.mode.sintouched) + else if(src in SSticker.mode.sintouched) . += "devil|Ascendable Devil|SINTOUCHED|no" else . += "devil|Ascendable Devil|sintouched|NO" @@ -317,14 +317,14 @@ /datum/mind/proc/memory_edit_eventmisc(mob/living/H) . = _memory_edit_header("event", list()) - if(src in ticker.mode.eventmiscs) + if(src in SSticker.mode.eventmiscs) . += "YES|no" else . += "Event Role|NO" /datum/mind/proc/memory_edit_traitor() . = _memory_edit_header("traitor", list("traitorchan", "traitorvamp")) - if(src in ticker.mode.traitors) + if(src in SSticker.mode.traitors) . += "TRAITOR|no" if(objectives.len==0) . += "
Objectives are empty! Randomize!" @@ -348,9 +348,9 @@ /datum/mind/proc/memory_edit_uplink() . = "" - if(ishuman(current) && ((src in ticker.mode.head_revolutionaries) || \ - (src in ticker.mode.traitors) || \ - (src in ticker.mode.syndicates))) + if(ishuman(current) && ((src in SSticker.mode.head_revolutionaries) || \ + (src in SSticker.mode.traitors) || \ + (src in SSticker.mode.syndicates))) . = "Uplink: give" var/obj/item/uplink/hidden/suplink = find_syndicate_uplink() var/crystals @@ -366,7 +366,7 @@ // ^ whoever left this comment is literally a grammar nazi. stalin better. in russia grammar correct you. /datum/mind/proc/edit_memory() - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) alert("Not before round-start!", "Alert") return @@ -419,7 +419,7 @@ This prioritizes antags relevant to the current round to make them appear at the top of the panel. Traitorchan and traitorvamp are snowflaked in because they have multiple sections. */ - if(ticker.mode.config_tag == "traitorchan") + if(SSticker.mode.config_tag == "traitorchan") if(sections["traitor"]) out += sections["traitor"] + "
" if(sections["changeling"]) @@ -427,7 +427,7 @@ sections -= "traitor" sections -= "changeling" // Elif technically unnecessary but it makes the following else look better - else if(ticker.mode.config_tag == "traitorvamp") + else if(SSticker.mode.config_tag == "traitorvamp") if(sections["traitor"]) out += sections["traitor"] + "
" if(sections["vampire"]) @@ -435,9 +435,9 @@ sections -= "traitor" sections -= "vampire" else - if(sections[ticker.mode.config_tag]) - out += sections[ticker.mode.config_tag] + "
" - sections -= ticker.mode.config_tag + if(sections[SSticker.mode.config_tag]) + out += sections[SSticker.mode.config_tag] + "
" + sections -= SSticker.mode.config_tag for(var/i in sections) if(sections[i]) @@ -512,7 +512,7 @@ var/objective_type = "[objective_type_capital][objective_type_text]"//Add them together into a text string. var/list/possible_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if((possible_target != src) && istype(possible_target.current, /mob/living/carbon/human)) possible_targets += possible_target.current @@ -612,7 +612,7 @@ if("identity theft") var/list/possible_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if((possible_target != src) && ishuman(possible_target.current)) possible_targets += possible_target possible_targets = sortAtom(possible_targets) @@ -687,19 +687,19 @@ message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield implant") to_chat(H, "You somehow have become the recepient of a mindshield transplant, and it just activated!") - if(src in ticker.mode.revolutionaries) + if(src in SSticker.mode.revolutionaries) special_role = null - ticker.mode.revolutionaries -= src + SSticker.mode.revolutionaries -= src to_chat(src, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") - if(src in ticker.mode.head_revolutionaries) + if(src in SSticker.mode.head_revolutionaries) special_role = null - ticker.mode.head_revolutionaries -=src + SSticker.mode.head_revolutionaries -=src to_chat(src, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!") - if(src in ticker.mode.cult) - ticker.mode.cult -= src - ticker.mode.update_cult_icons_removed(src) + if(src in SSticker.mode.cult) + SSticker.mode.cult -= src + SSticker.mode.update_cult_icons_removed(src) special_role = null - var/datum/game_mode/cult/cult = ticker.mode + var/datum/game_mode/cult/cult = SSticker.mode if(istype(cult)) cult.memorize_cult_objectives(src) to_chat(current, "The nanobots in the mindshield implant remove all thoughts about being in a cult. Have a productive day!") @@ -709,46 +709,46 @@ switch(href_list["revolution"]) if("clear") - if(src in ticker.mode.revolutionaries) - ticker.mode.revolutionaries -= src + if(src in SSticker.mode.revolutionaries) + SSticker.mode.revolutionaries -= src to_chat(current, "You have been brainwashed! You are no longer a revolutionary!") - ticker.mode.update_rev_icons_removed(src) + SSticker.mode.update_rev_icons_removed(src) special_role = null - if(src in ticker.mode.head_revolutionaries) - ticker.mode.head_revolutionaries -= src + if(src in SSticker.mode.head_revolutionaries) + SSticker.mode.head_revolutionaries -= src to_chat(current, "You have been brainwashed! You are no longer a head revolutionary!") - ticker.mode.update_rev_icons_removed(src) + SSticker.mode.update_rev_icons_removed(src) special_role = null log_admin("[key_name(usr)] has de-rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has de-rev'd [key_name_admin(current)]") if("rev") - if(src in ticker.mode.head_revolutionaries) - ticker.mode.head_revolutionaries -= src - ticker.mode.update_rev_icons_removed(src) + if(src in SSticker.mode.head_revolutionaries) + SSticker.mode.head_revolutionaries -= src + SSticker.mode.update_rev_icons_removed(src) to_chat(current, "Revolution has been disappointed of your leadership traits! You are a regular revolutionary now!") - else if(!(src in ticker.mode.revolutionaries)) + else if(!(src in SSticker.mode.revolutionaries)) to_chat(current, " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!") else return - ticker.mode.revolutionaries += src - ticker.mode.update_rev_icons_added(src) + SSticker.mode.revolutionaries += src + SSticker.mode.update_rev_icons_added(src) special_role = SPECIAL_ROLE_REV log_admin("[key_name(usr)] has rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has rev'd [key_name_admin(current)]") if("headrev") - if(src in ticker.mode.revolutionaries) - ticker.mode.revolutionaries -= src - ticker.mode.update_rev_icons_removed(src) + if(src in SSticker.mode.revolutionaries) + SSticker.mode.revolutionaries -= src + SSticker.mode.update_rev_icons_removed(src) to_chat(current, "You have proven your devotion to revolution! You are a head revolutionary now!") - else if(!(src in ticker.mode.head_revolutionaries)) + else if(!(src in SSticker.mode.head_revolutionaries)) to_chat(current, "You are a member of the revolutionaries' leadership now!") else return - if(ticker.mode.head_revolutionaries.len>0) + if(SSticker.mode.head_revolutionaries.len>0) // copy targets - var/datum/mind/valid_head = locate() in ticker.mode.head_revolutionaries + var/datum/mind/valid_head = locate() in SSticker.mode.head_revolutionaries if(valid_head) for(var/datum/objective/mutiny/O in valid_head.objectives) var/datum/objective/mutiny/rev_obj = new @@ -756,21 +756,21 @@ rev_obj.target = O.target rev_obj.explanation_text = "Assassinate [O.target.name], the [O.target.assigned_role]." objectives += rev_obj - ticker.mode.greet_revolutionary(src,0) - ticker.mode.head_revolutionaries += src - ticker.mode.update_rev_icons_added(src) + SSticker.mode.greet_revolutionary(src,0) + SSticker.mode.head_revolutionaries += src + SSticker.mode.update_rev_icons_added(src) special_role = SPECIAL_ROLE_HEAD_REV log_admin("[key_name(usr)] has head-rev'd [key_name(current)]") message_admins("[key_name_admin(usr)] has head-rev'd [key_name_admin(current)]") if("autoobjectives") - ticker.mode.forge_revolutionary_objectives(src) - ticker.mode.greet_revolutionary(src,0) + SSticker.mode.forge_revolutionary_objectives(src) + SSticker.mode.greet_revolutionary(src,0) log_admin("[key_name(usr)] has automatically forged revolutionary objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged revolutionary objectives for [key_name_admin(current)]") if("flash") - if(!ticker.mode.equip_revolutionary(current)) + if(!SSticker.mode.equip_revolutionary(current)) to_chat(usr, "Spawning flash failed!") log_admin("[key_name(usr)] has given [key_name(current)] a flash") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a flash") @@ -800,8 +800,8 @@ qdel(flash) take_uplink() var/fail = 0 - fail |= !ticker.mode.equip_traitor(current, 1) - fail |= !ticker.mode.equip_revolutionary(current) + fail |= !SSticker.mode.equip_traitor(current, 1) + fail |= !SSticker.mode.equip_revolutionary(current) if(fail) to_chat(usr, "Reequipping revolutionary goes wrong!") return @@ -811,17 +811,17 @@ else if(href_list["cult"]) switch(href_list["cult"]) if("clear") - if(src in ticker.mode.cult) - ticker.mode.remove_cultist(src) + if(src in SSticker.mode.cult) + SSticker.mode.remove_cultist(src) special_role = null log_admin("[key_name(usr)] has de-culted [key_name(current)]") message_admins("[key_name_admin(usr)] has de-culted [key_name_admin(current)]") if("cultist") - if(!(src in ticker.mode.cult)) - ticker.mode.add_cultist(src) + if(!(src in SSticker.mode.cult)) + SSticker.mode.add_cultist(src) special_role = SPECIAL_ROLE_CULTIST - to_chat(current, "You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].") - to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [ticker.cultdat.entity_title2] above all else. Bring It back.") + to_chat(current, "You catch a glimpse of the Realm of [SSticker.cultdat.entity_name], [SSticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [SSticker.cultdat.entity_name].") + to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [SSticker.cultdat.entity_title2] above all else. Bring It back.") log_admin("[key_name(usr)] has culted [key_name(current)]") message_admins("[key_name_admin(usr)] has culted [key_name_admin(current)]") if("tome") @@ -846,7 +846,7 @@ message_admins("[key_name_admin(usr)] has spawned a tome for [key_name_admin(current)]") if("equip") - if(!ticker.mode.equip_cultist(current)) + if(!SSticker.mode.equip_cultist(current)) to_chat(usr, "Spawning equipment failed!") log_admin("[key_name(usr)] has equipped [key_name(current)] as a cultist") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a cultist") @@ -855,21 +855,21 @@ switch(href_list["wizard"]) if("clear") - if(src in ticker.mode.wizards) - ticker.mode.wizards -= src + if(src in SSticker.mode.wizards) + SSticker.mode.wizards -= src special_role = null current.spellremove(current) current.faction = list("Station") - ticker.mode.update_wiz_icons_removed(src) + SSticker.mode.update_wiz_icons_removed(src) to_chat(current, "You have been brainwashed! You are no longer a wizard!") log_admin("[key_name(usr)] has de-wizarded [key_name(current)]") message_admins("[key_name_admin(usr)] has de-wizarded [key_name_admin(current)]") if("wizard") - if(!(src in ticker.mode.wizards)) - ticker.mode.wizards += src + if(!(src in SSticker.mode.wizards)) + SSticker.mode.wizards += src special_role = SPECIAL_ROLE_WIZARD //ticker.mode.learn_basic_spells(current) - ticker.mode.update_wiz_icons_added(src) + SSticker.mode.update_wiz_icons_added(src) SEND_SOUND(current, 'sound/ambience/antag/ragesmages.ogg') to_chat(current, "You are a Space Wizard!") current.faction = list("wizard") @@ -880,15 +880,15 @@ log_admin("[key_name(usr)] has moved [key_name(current)] to the wizard's lair") message_admins("[key_name_admin(usr)] has moved [key_name_admin(current)] to the wizard's lair") if("dressup") - ticker.mode.equip_wizard(current) + SSticker.mode.equip_wizard(current) log_admin("[key_name(usr)] has equipped [key_name(current)] as a wizard") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a wizard") if("name") - ticker.mode.name_wizard(current) + SSticker.mode.name_wizard(current) log_admin("[key_name(usr)] has allowed wizard [key_name(current)] to name themselves") message_admins("[key_name_admin(usr)] has allowed wizard [key_name_admin(current)] to name themselves") if("autoobjectives") - ticker.mode.forge_wizard_objectives(src) + SSticker.mode.forge_wizard_objectives(src) to_chat(usr, "The objectives for wizard [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged wizard objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged wizard objectives for [key_name_admin(current)]") @@ -897,20 +897,20 @@ else if(href_list["changeling"]) switch(href_list["changeling"]) if("clear") - if(src in ticker.mode.changelings) - ticker.mode.changelings -= src + if(src in SSticker.mode.changelings) + SSticker.mode.changelings -= src special_role = null current.remove_changeling_powers() - ticker.mode.update_change_icons_removed(src) + SSticker.mode.update_change_icons_removed(src) if(changeling) qdel(changeling) to_chat(current, "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!") log_admin("[key_name(usr)] has de-changelinged [key_name(current)]") message_admins("[key_name_admin(usr)] has de-changelinged [key_name_admin(current)]") if("changeling") - if(!(src in ticker.mode.changelings)) - ticker.mode.changelings += src - ticker.mode.grant_changeling_powers(current) - ticker.mode.update_change_icons_added(src) + if(!(src in SSticker.mode.changelings)) + SSticker.mode.changelings += src + SSticker.mode.grant_changeling_powers(current) + SSticker.mode.update_change_icons_added(src) special_role = SPECIAL_ROLE_CHANGELING SEND_SOUND(current, 'sound/ambience/antag/ling_aler.ogg') to_chat(current, "Your powers have awoken. A flash of memory returns to us... we are a changeling!") @@ -918,7 +918,7 @@ message_admins("[key_name_admin(usr)] has changelinged [key_name_admin(current)]") if("autoobjectives") - ticker.mode.forge_changeling_objectives(src) + SSticker.mode.forge_changeling_objectives(src) to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -937,22 +937,22 @@ else if(href_list["vampire"]) switch(href_list["vampire"]) if("clear") - if(src in ticker.mode.vampires) - ticker.mode.vampires -= src + if(src in SSticker.mode.vampires) + SSticker.mode.vampires -= src special_role = null if(vampire) vampire.remove_vampire_powers() qdel(vampire) vampire = null - ticker.mode.update_vampire_icons_removed(src) + SSticker.mode.update_vampire_icons_removed(src) to_chat(current, "You grow weak and lose your powers! You are no longer a vampire and are stuck in your current form!") log_admin("[key_name(usr)] has de-vampired [key_name(current)]") message_admins("[key_name_admin(usr)] has de-vampired [key_name_admin(current)]") if("vampire") - if(!(src in ticker.mode.vampires)) - ticker.mode.vampires += src - ticker.mode.grant_vampire_powers(current) - ticker.mode.update_vampire_icons_added(src) + if(!(src in SSticker.mode.vampires)) + SSticker.mode.vampires += src + SSticker.mode.grant_vampire_powers(current) + SSticker.mode.update_vampire_icons_added(src) var/datum/mindslaves/slaved = new() slaved.masters += src som = slaved //we MIGT want to mindslave someone @@ -963,7 +963,7 @@ message_admins("[key_name_admin(usr)] has vampired [key_name_admin(current)]") if("autoobjectives") - ticker.mode.forge_vampire_objectives(src) + SSticker.mode.forge_vampire_objectives(src) to_chat(usr, "The objectives for vampire [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -971,8 +971,8 @@ else if(href_list["vampthrall"]) switch(href_list["vampthrall"]) if("clear") - if(src in ticker.mode.vampire_enthralled) - ticker.mode.remove_vampire_mind(src) + if(src in SSticker.mode.vampire_enthralled) + SSticker.mode.remove_vampire_mind(src) log_admin("[key_name(usr)] has de-vampthralled [key_name(current)]") message_admins("[key_name_admin(usr)] has de-vampthralled [key_name_admin(current)]") @@ -981,9 +981,9 @@ switch(href_list["nuclear"]) if("clear") - if(src in ticker.mode.syndicates) - ticker.mode.syndicates -= src - ticker.mode.update_synd_icons_removed(src) + if(src in SSticker.mode.syndicates) + SSticker.mode.syndicates -= src + SSticker.mode.update_synd_icons_removed(src) special_role = null for(var/datum/objective/nuclear/O in objectives) objectives-=O @@ -992,17 +992,17 @@ log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]") message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]") if("nuclear") - if(!(src in ticker.mode.syndicates)) - ticker.mode.syndicates += src - ticker.mode.update_synd_icons_added(src) - if(ticker.mode.syndicates.len==1) - ticker.mode.prepare_syndicate_leader(src) + if(!(src in SSticker.mode.syndicates)) + SSticker.mode.syndicates += src + SSticker.mode.update_synd_icons_added(src) + if(SSticker.mode.syndicates.len==1) + SSticker.mode.prepare_syndicate_leader(src) else - current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]" + current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-1]" special_role = SPECIAL_ROLE_NUKEOPS to_chat(current, "You are a [syndicate_name()] agent!") - ticker.mode.forge_syndicate_objectives(src) - ticker.mode.greet_syndicate(src) + SSticker.mode.forge_syndicate_objectives(src) + SSticker.mode.greet_syndicate(src) log_admin("[key_name(usr)] has nuke op'd [key_name(current)]") message_admins("[key_name_admin(usr)] has nuke op'd [key_name_admin(current)]") if("lair") @@ -1022,10 +1022,10 @@ qdel(H.wear_suit) qdel(H.w_uniform) - if(!ticker.mode.equip_syndicate(current)) + if(!SSticker.mode.equip_syndicate(current)) to_chat(usr, "Equipping a syndicate failed!") return - ticker.mode.update_syndicate_id(current.mind, ticker.mode.syndicates.len == 1) + SSticker.mode.update_syndicate_id(current.mind, SSticker.mode.syndicates.len == 1) log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative") message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a nuclear operative") @@ -1046,27 +1046,27 @@ else if(href_list["eventmisc"]) switch(href_list["eventmisc"]) if("clear") - if(src in ticker.mode.eventmiscs) - ticker.mode.eventmiscs -= src - ticker.mode.update_eventmisc_icons_removed(src) + if(src in SSticker.mode.eventmiscs) + SSticker.mode.eventmiscs -= src + SSticker.mode.update_eventmisc_icons_removed(src) special_role = null message_admins("[key_name_admin(usr)] has de-eventantag'ed [current].") log_admin("[key_name(usr)] has de-eventantag'ed [current].") if("eventmisc") - ticker.mode.eventmiscs += src + SSticker.mode.eventmiscs += src special_role = SPECIAL_ROLE_EVENTMISC - ticker.mode.update_eventmisc_icons_added(src) + SSticker.mode.update_eventmisc_icons_added(src) message_admins("[key_name_admin(usr)] has eventantag'ed [current].") log_admin("[key_name(usr)] has eventantag'ed [current].") else if(href_list["devil"]) switch(href_list["devil"]) if("clear") - if(src in ticker.mode.devils) + if(src in SSticker.mode.devils) if(istype(current,/mob/living/carbon/true_devil/)) to_chat(usr,"This cannot be used on true or arch-devils.") else - ticker.mode.devils -= src - ticker.mode.update_devil_icons_removed(src) + SSticker.mode.devils -= src + SSticker.mode.update_devil_icons_removed(src) special_role = null to_chat(current,"Your infernal link has been severed! You are no longer a devil!") RemoveSpell(/obj/effect/proc_holder/spell/targeted/infernal_jaunt) @@ -1085,8 +1085,8 @@ S.laws.clear_sixsixsix_laws() devilinfo = null log_admin("[key_name(usr)] has de-devil'ed [current].") - else if(src in ticker.mode.sintouched) - ticker.mode.sintouched -= src + else if(src in SSticker.mode.sintouched) + SSticker.mode.sintouched -= src message_admins("[key_name_admin(usr)] has de-sintouch'ed [current].") log_admin("[key_name(usr)] has de-sintouch'ed [current].") if("devil") @@ -1098,12 +1098,12 @@ if(!ishuman(current) && !isrobot(current)) to_chat(usr, "This only works on humans and cyborgs!") return - ticker.mode.devils += src + SSticker.mode.devils += src special_role = "devil" - ticker.mode.update_devil_icons_added(src) - ticker.mode.finalize_devil(src, FALSE) - ticker.mode.forge_devil_objectives(src, 2) - ticker.mode.greet_devil(src) + SSticker.mode.update_devil_icons_added(src) + SSticker.mode.finalize_devil(src, FALSE) + SSticker.mode.forge_devil_objectives(src, 2) + SSticker.mode.greet_devil(src) message_admins("[key_name_admin(usr)] has devil'ed [current].") log_admin("[key_name(usr)] has devil'ed [current].") if("ascendable_devil") @@ -1115,12 +1115,12 @@ if(!ishuman(current) && !isrobot(current)) to_chat(usr, "This only works on humans and cyborgs!") return - ticker.mode.devils += src + SSticker.mode.devils += src special_role = "devil" - ticker.mode.update_devil_icons_added(src) - ticker.mode.finalize_devil(src, TRUE) - ticker.mode.forge_devil_objectives(src, 2) - ticker.mode.greet_devil(src) + SSticker.mode.update_devil_icons_added(src) + SSticker.mode.finalize_devil(src, TRUE) + SSticker.mode.forge_devil_objectives(src, 2) + SSticker.mode.greet_devil(src) message_admins("[key_name_admin(usr)] has devil'ed [current]. The devil has been marked as ascendable.") log_admin("[key_name(usr)] has devil'ed [current]. The devil has been marked as ascendable.") if("sintouched") @@ -1132,8 +1132,8 @@ else if(href_list["traitor"]) switch(href_list["traitor"]) if("clear") - if(src in ticker.mode.traitors) - ticker.mode.traitors -= src + if(src in SSticker.mode.traitors) + SSticker.mode.traitors -= src special_role = null to_chat(current, "You have been brainwashed! You are no longer a traitor!") log_admin("[key_name(usr)] has de-traitored [key_name(current)]") @@ -1145,12 +1145,12 @@ A.verbs -= /mob/living/silicon/ai/proc/choose_modules A.malf_picker.remove_verbs(A) qdel(A.malf_picker) - ticker.mode.update_traitor_icons_removed(src) + SSticker.mode.update_traitor_icons_removed(src) if("traitor") - if(!(src in ticker.mode.traitors)) - ticker.mode.traitors += src + if(!(src in SSticker.mode.traitors)) + SSticker.mode.traitors += src var/datum/mindslaves/slaved = new() slaved.masters += src som = slaved //we MIGT want to mindslave someone @@ -1160,14 +1160,14 @@ message_admins("[key_name_admin(usr)] has traitored [key_name_admin(current)]") if(isAI(current)) var/mob/living/silicon/ai/A = current - ticker.mode.add_law_zero(A) + SSticker.mode.add_law_zero(A) SEND_SOUND(current, 'sound/ambience/antag/malf.ogg') else SEND_SOUND(current, 'sound/ambience/antag/tatoralert.ogg') - ticker.mode.update_traitor_icons_added(src) + SSticker.mode.update_traitor_icons_added(src) if("autoobjectives") - ticker.mode.forge_traitor_objectives(src) + SSticker.mode.forge_traitor_objectives(src) to_chat(usr, "The objectives for traitor [key] have been generated. You can edit them and announce manually.") log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]") message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]") @@ -1175,17 +1175,17 @@ else if(href_list["shadowling"]) switch(href_list["shadowling"]) if("clear") - ticker.mode.update_shadow_icons_removed(src) - if(src in ticker.mode.shadows) - ticker.mode.shadows -= src + SSticker.mode.update_shadow_icons_removed(src) + if(src in SSticker.mode.shadows) + SSticker.mode.shadows -= src special_role = null to_chat(current, "Your powers have been quenched! You are no longer a shadowling!") message_admins("[key_name_admin(usr)] has de-shadowlinged [current].") log_admin("[key_name(usr)] has de-shadowlinged [current].") current.spellremove(current) current.remove_language("Shadowling Hivemind") - else if(src in ticker.mode.shadowling_thralls) - ticker.mode.remove_thrall(src,0) + else if(src in SSticker.mode.shadowling_thralls) + SSticker.mode.remove_thrall(src,0) message_admins("[key_name_admin(usr)] has de-thrall'ed [current].") log_admin("[key_name(usr)] has de-thralled [key_name(current)]") message_admins("[key_name_admin(usr)] has de-thralled [key_name_admin(current)]") @@ -1193,20 +1193,20 @@ if(!ishuman(current)) to_chat(usr, "This only works on humans!") return - ticker.mode.shadows += src + SSticker.mode.shadows += src special_role = SPECIAL_ROLE_SHADOWLING to_chat(current, "Something stirs deep in your mind. A red light floods your vision, and slowly you remember. Though your human disguise has served you well, the \ time is nigh to cast it off and enter your true form. You have disguised yourself amongst the humans, but you are not one of them. You are a shadowling, and you are to ascend at all costs.\ ") - ticker.mode.finalize_shadowling(src) - ticker.mode.update_shadow_icons_added(src) + SSticker.mode.finalize_shadowling(src) + SSticker.mode.update_shadow_icons_added(src) log_admin("[key_name(usr)] has shadowlinged [key_name(current)]") message_admins("[key_name_admin(usr)] has shadowlinged [key_name_admin(current)]") if("thrall") if(!ishuman(current)) to_chat(usr, "This only works on humans!") return - ticker.mode.add_thrall(src) + SSticker.mode.add_thrall(src) message_admins("[key_name_admin(usr)] has thralled [current].") log_admin("[key_name(usr)] has thralled [current].") @@ -1221,7 +1221,7 @@ return make_Abductor() log_admin("[key_name(usr)] turned [current] into abductor.") - ticker.mode.update_abductor_icons_added(src) + SSticker.mode.update_abductor_icons_added(src) if("equip") if(!ishuman(current)) to_chat(usr, "This only works on humans!") @@ -1306,7 +1306,7 @@ log_admin("[key_name(usr)] has set [key_name(current)]'s telecrystals to [crystals]") message_admins("[key_name_admin(usr)] has set [key_name_admin(current)]'s telecrystals to [crystals]") if("uplink") - if(!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors))) + if(!SSticker.mode.equip_traitor(current, !(src in SSticker.mode.traitors))) to_chat(usr, "Equipping a syndicate failed!") return log_admin("[key_name(usr)] has given [key_name(current)] an uplink") @@ -1392,27 +1392,27 @@ qdel(H) /datum/mind/proc/make_Traitor() - if(!(src in ticker.mode.traitors)) - ticker.mode.traitors += src + if(!(src in SSticker.mode.traitors)) + SSticker.mode.traitors += src special_role = SPECIAL_ROLE_TRAITOR - ticker.mode.forge_traitor_objectives(src) - ticker.mode.finalize_traitor(src) - ticker.mode.greet_traitor(src) - ticker.mode.update_traitor_icons_added(src) + SSticker.mode.forge_traitor_objectives(src) + SSticker.mode.finalize_traitor(src) + SSticker.mode.greet_traitor(src) + SSticker.mode.update_traitor_icons_added(src) /datum/mind/proc/make_Nuke() - if(!(src in ticker.mode.syndicates)) - ticker.mode.syndicates += src - ticker.mode.update_synd_icons_added(src) - if(ticker.mode.syndicates.len==1) - ticker.mode.prepare_syndicate_leader(src) + if(!(src in SSticker.mode.syndicates)) + SSticker.mode.syndicates += src + SSticker.mode.update_synd_icons_added(src) + if(SSticker.mode.syndicates.len==1) + SSticker.mode.prepare_syndicate_leader(src) else - current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]" + current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-1]" special_role = SPECIAL_ROLE_NUKEOPS assigned_role = SPECIAL_ROLE_NUKEOPS to_chat(current, "You are a [syndicate_name()] agent!") - ticker.mode.forge_syndicate_objectives(src) - ticker.mode.greet_syndicate(src) + SSticker.mode.forge_syndicate_objectives(src) + SSticker.mode.greet_syndicate(src) current.loc = get_turf(locate("landmark*Syndicate-Spawn")) @@ -1429,34 +1429,34 @@ qdel(H.wear_suit) qdel(H.w_uniform) - ticker.mode.equip_syndicate(current) + SSticker.mode.equip_syndicate(current) /datum/mind/proc/make_Vampire() - if(!(src in ticker.mode.vampires)) - ticker.mode.vampires += src - ticker.mode.grant_vampire_powers(current) + if(!(src in SSticker.mode.vampires)) + SSticker.mode.vampires += src + SSticker.mode.grant_vampire_powers(current) special_role = SPECIAL_ROLE_VAMPIRE - ticker.mode.forge_vampire_objectives(src) - ticker.mode.greet_vampire(src) - ticker.mode.update_vampire_icons_added(src) + SSticker.mode.forge_vampire_objectives(src) + SSticker.mode.greet_vampire(src) + SSticker.mode.update_vampire_icons_added(src) /datum/mind/proc/make_Changeling() - if(!(src in ticker.mode.changelings)) - ticker.mode.changelings += src - ticker.mode.grant_changeling_powers(current) + if(!(src in SSticker.mode.changelings)) + SSticker.mode.changelings += src + SSticker.mode.grant_changeling_powers(current) special_role = SPECIAL_ROLE_CHANGELING - ticker.mode.forge_changeling_objectives(src) - ticker.mode.greet_changeling(src) - ticker.mode.update_change_icons_added(src) + SSticker.mode.forge_changeling_objectives(src) + SSticker.mode.greet_changeling(src) + SSticker.mode.update_change_icons_added(src) /datum/mind/proc/make_Overmind() - if(!(src in ticker.mode.blob_overminds)) - ticker.mode.blob_overminds += src + if(!(src in SSticker.mode.blob_overminds)) + SSticker.mode.blob_overminds += src special_role = SPECIAL_ROLE_BLOB_OVERMIND /datum/mind/proc/make_Wizard() - if(!(src in ticker.mode.wizards)) - ticker.mode.wizards += src + if(!(src in SSticker.mode.wizards)) + SSticker.mode.wizards += src special_role = SPECIAL_ROLE_WIZARD assigned_role = SPECIAL_ROLE_WIZARD //ticker.mode.learn_basic_spells(current) @@ -1466,18 +1466,18 @@ else current.loc = pick(wizardstart) - ticker.mode.equip_wizard(current) + SSticker.mode.equip_wizard(current) for(var/obj/item/spellbook/S in current.contents) S.op = 0 - ticker.mode.name_wizard(current) - ticker.mode.forge_wizard_objectives(src) - ticker.mode.greet_wizard(src) - ticker.mode.update_wiz_icons_added(src) + SSticker.mode.name_wizard(current) + SSticker.mode.forge_wizard_objectives(src) + SSticker.mode.greet_wizard(src) + SSticker.mode.update_wiz_icons_added(src) /datum/mind/proc/make_Rev() - if(ticker.mode.head_revolutionaries.len>0) + if(SSticker.mode.head_revolutionaries.len>0) // copy targets - var/datum/mind/valid_head = locate() in ticker.mode.head_revolutionaries + var/datum/mind/valid_head = locate() in SSticker.mode.head_revolutionaries if(valid_head) for(var/datum/objective/mutiny/O in valid_head.objectives) var/datum/objective/mutiny/rev_obj = new @@ -1485,13 +1485,13 @@ rev_obj.target = O.target rev_obj.explanation_text = "Assassinate [O.target.current.real_name], the [O.target.assigned_role]." objectives += rev_obj - ticker.mode.greet_revolutionary(src,0) - ticker.mode.head_revolutionaries += src - ticker.mode.update_rev_icons_added(src) + SSticker.mode.greet_revolutionary(src,0) + SSticker.mode.head_revolutionaries += src + SSticker.mode.update_rev_icons_added(src) special_role = SPECIAL_ROLE_HEAD_REV - ticker.mode.forge_revolutionary_objectives(src) - ticker.mode.greet_revolutionary(src,0) + SSticker.mode.forge_revolutionary_objectives(src) + SSticker.mode.greet_revolutionary(src,0) var/list/L = current.get_contents() var/obj/item/flash/flash = locate() in L @@ -1499,7 +1499,7 @@ take_uplink() var/fail = 0 // fail |= !ticker.mode.equip_traitor(current, 1) - fail |= !ticker.mode.equip_revolutionary(current) + fail |= !SSticker.mode.equip_revolutionary(current) /datum/mind/proc/make_Abductor() var/role = alert("Abductor Role ?","Role","Agent","Scientist") @@ -1512,7 +1512,7 @@ if(!ishuman(current)) return - ticker.mode.abductors |= src + SSticker.mode.abductors |= src var/datum/objective/experiment/O = new O.owner = src @@ -1621,15 +1621,15 @@ var/list/implanters var/ref = "\ref[missionary.mind]" - if(!(missionary.mind in ticker.mode.implanter)) - ticker.mode.implanter[ref] = list() - implanters = ticker.mode.implanter[ref] + if(!(missionary.mind in SSticker.mode.implanter)) + SSticker.mode.implanter[ref] = list() + implanters = SSticker.mode.implanter[ref] implanters.Add(src) - ticker.mode.implanted.Add(src) - ticker.mode.implanted[src] = missionary.mind + SSticker.mode.implanted.Add(src) + SSticker.mode.implanted[src] = missionary.mind //ticker.mode.implanter[missionary.mind] += src - ticker.mode.implanter[ref] = implanters - ticker.mode.traitors += src + SSticker.mode.implanter[ref] = implanters + SSticker.mode.traitors += src special_role = "traitor" to_chat(current, "You're now a loyal zealot of [missionary.name]! You now must lay down your life to protect [missionary.p_them()] and assist in [missionary.p_their()] goals at any cost.") var/datum/objective/protect/mindslave/MS = new @@ -1640,8 +1640,8 @@ for(var/datum/objective/objective in objectives) to_chat(current, "Objective #1: [objective.explanation_text]") - ticker.mode.update_traitor_icons_added(missionary.mind) - ticker.mode.update_traitor_icons_added(src)//handles datahuds/observerhuds + SSticker.mode.update_traitor_icons_added(missionary.mind) + SSticker.mode.update_traitor_icons_added(src)//handles datahuds/observerhuds if(missionary.mind.som)//do not add if not a traitor..and you just picked up a robe and staff in the hall... var/datum/mindslaves/slaved = missionary.mind.som @@ -1665,7 +1665,7 @@ /datum/mind/proc/remove_zealot(obj/item/clothing/under/jumpsuit = null) if(!zealot_master) //if they aren't a zealot, we can't remove their zealot status, obviously. don't bother with the rest so we don't confuse them with the messages return - ticker.mode.remove_traitor_mind(src) + SSticker.mode.remove_traitor_mind(src) add_attack_logs(zealot_master, current, "Lost control of zealot") zealot_master = null @@ -1696,8 +1696,8 @@ mind.key = key else mind = new /datum/mind(key) - if(ticker) - ticker.minds += mind + if(SSticker) + SSticker.minds += mind else error("mind_initialize(): No ticker ready yet! Please inform Carn") if(!mind.name) diff --git a/code/datums/periodic_news.dm b/code/datums/periodic_news.dm index cdf2d5b9ad8..9a09ec4a7ec 100644 --- a/code/datums/periodic_news.dm +++ b/code/datums/periodic_news.dm @@ -118,7 +118,7 @@ var/global/list/newscaster_standard_feeds = list(/datum/news_announcement/bluespace_research, /datum/news_announcement/lotus_tree, /datum/news_announcement/random_junk, /datum/news_announcement/food_riots) proc/process_newscaster() - check_for_newscaster_updates(ticker.mode.newscaster_announcements) + check_for_newscaster_updates(SSticker.mode.newscaster_announcements) var/global/tmp/announced_news_types = list() proc/check_for_newscaster_updates(type) diff --git a/code/datums/spells/chaplain.dm b/code/datums/spells/chaplain.dm index f9c2641c50e..bdb7bb3f551 100644 --- a/code/datums/spells/chaplain.dm +++ b/code/datums/spells/chaplain.dm @@ -64,9 +64,9 @@ spawn(0) // allows cast to complete even if recipient ignores the prompt if(alert(target, "[user] wants to bless you, in the name of [user.p_their()] religion. Accept?", "Accept Blessing?", "Yes", "No") == "Yes") // prevents forced conversions - user.visible_message("[user] starts blessing [target] in the name of [ticker.Bible_deity_name].", "You start blessing [target] in the name of [ticker.Bible_deity_name].") + user.visible_message("[user] starts blessing [target] in the name of [SSticker.Bible_deity_name].", "You start blessing [target] in the name of [SSticker.Bible_deity_name].") if(do_after(user, 150, target = target)) - user.visible_message("[user] has blessed [target] in the name of [ticker.Bible_deity_name].", "You have blessed [target] in the name of [ticker.Bible_deity_name].") + user.visible_message("[user] has blessed [target] in the name of [SSticker.Bible_deity_name].", "You have blessed [target] in the name of [SSticker.Bible_deity_name].") if(!target.mind.isblessed) target.mind.isblessed = TRUE user.mind.num_blessed++ diff --git a/code/datums/spells/lichdom.dm b/code/datums/spells/lichdom.dm index f1744e22550..f37d48c0a10 100644 --- a/code/datums/spells/lichdom.dm +++ b/code/datums/spells/lichdom.dm @@ -20,7 +20,7 @@ action_icon_state = "skeleton" /obj/effect/proc_holder/spell/targeted/lichdom/Destroy() - for(var/datum/mind/M in ticker.mode.wizards) //Make sure no other bones are about + for(var/datum/mind/M in SSticker.mode.wizards) //Make sure no other bones are about for(var/obj/effect/proc_holder/spell/S in M.spell_list) if(istype(S,/obj/effect/proc_holder/spell/targeted/lichdom) && S != src) return ..() diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index a714e17d236..044276f9e41 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -12,9 +12,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) var/datum/uplink_item/I = new path if(!I.item) continue - if(I.gamemodes.len && ticker && !(ticker.mode.type in I.gamemodes)) + if(I.gamemodes.len && SSticker && !(SSticker.mode.type in I.gamemodes)) continue - if(I.excludefrom.len && ticker && (ticker.mode.type in I.excludefrom)) + if(I.excludefrom.len && SSticker && (SSticker.mode.type in I.excludefrom)) continue if(I.last) last += I diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 461de475b41..1370b64ecc7 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -218,7 +218,7 @@ /mob/living/carbon/human/proc/sec_hud_set_security_status() var/image/holder = hud_list[WANTED_HUD] var/perpname = get_visible_name(TRUE) //gets the name of the perp, works if they have an id or if their face is uncovered - if(!ticker) return //wait till the game starts or the monkeys runtime.... + if(!SSticker) return //wait till the game starts or the monkeys runtime.... if(perpname) var/datum/data/record/R = find_record("name", perpname, data_core.security) if(R) diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index 61196c9862f..5eb15759d99 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -378,8 +378,8 @@ new /obj/structure/blob/core/ (get_turf(N), 200, null, blob_core.point_rate, "offspring") qdel(N) - if(ticker && ticker.mode.name == "blob") - var/datum/game_mode/blob/BL = ticker.mode + if(SSticker && SSticker.mode.name == "blob") + var/datum/game_mode/blob/BL = SSticker.mode BL.blobwincount += initial(BL.blobwincount) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 9e45cab4292..2b860756b45 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -5,7 +5,7 @@ var/global/list/all_cults = list() var/list/datum/mind/cult = list() /proc/iscultist(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.cult) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.cult) /proc/is_convertable_to_cult(datum/mind/mind) @@ -30,8 +30,8 @@ var/global/list/all_cults = list() return 1 /proc/is_sacrifice_target(datum/mind/mind) - if(istype(ticker.mode.name, "cult")) - var/datum/game_mode/cult/cult_mode = ticker.mode + if(istype(SSticker.mode.name, "cult")) + var/datum/game_mode/cult/cult_mode = SSticker.mode if(mind == cult_mode.sacrifice_target) return 1 return 0 @@ -121,7 +121,7 @@ var/global/list/all_cults = list() var/datum/action/innate/cultcomm/C = new() C.Grant(cult_mind.current) update_cult_icons_added(cult_mind) - to_chat(cult_mind.current, "You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].") + to_chat(cult_mind.current, "You catch a glimpse of the Realm of [SSticker.cultdat.entity_name], [SSticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [SSticker.cultdat.entity_name].") first_phase() @@ -135,16 +135,16 @@ var/global/list/all_cults = list() if("survive") explanation = "Our knowledge must live on. Make sure at least [acolytes_needed] acolytes escape on the shuttle to spread their work on an another station." if("convert") - explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." + explanation = "We must increase our influence before we can summon [SSticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." if("bloodspill") - explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." + explanation = "We must prepare this place for [SSticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." if("sacrifice") if(sacrifice_target) explanation = "Sacrifice [sacrifice_target.current.real_name], the [sacrifice_target.assigned_role]. You will need the sacrifice rune and three acolytes to do so." else explanation = "Free objective." if("eldergod") - explanation = "Summon [ticker.cultdat.entity_name] by invoking the 'Tear Reality' rune.The summoning can only be accomplished in [english_list(summon_spots)] - where the veil is weak enough for the ritual to begin." + explanation = "Summon [SSticker.cultdat.entity_name] by invoking the 'Tear Reality' rune.The summoning can only be accomplished in [english_list(summon_spots)] - where the veil is weak enough for the ritual to begin." to_chat(cult_mind.current, "Objective #[obj_count]: [explanation]") cult_mind.memory += "Objective #[obj_count]: [explanation]
" @@ -179,7 +179,7 @@ var/global/list/all_cults = list() /datum/game_mode/proc/add_cultist(datum/mind/cult_mind) //BASE if(!istype(cult_mind)) return 0 - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(!(cult_mind in cult) && is_convertable_to_cult(cult_mind)) cult += cult_mind cult_mind.current.faction |= "cult" @@ -314,10 +314,10 @@ var/global/list/all_cults = list() feedback_add_details("cult_objective","cult_sacrifice|FAIL|GIBBED") if("eldergod") if(!eldergod) - explanation = "Summon [ticker.cultdat.entity_name]. Success!" + explanation = "Summon [SSticker.cultdat.entity_name]. Success!" feedback_add_details("cult_objective","cult_narsie|SUCCESS") else - explanation = "Summon [ticker.cultdat.entity_name]. Fail." + explanation = "Summon [SSticker.cultdat.entity_name]. Fail." feedback_add_details("cult_objective","cult_narsie|FAIL") if("slaughter") if(demons_summoned) @@ -345,10 +345,10 @@ var/global/list/all_cults = list() if("harvest") if(harvested > harvest_target) - explanation = "Offer [harvest_target] humans for [ticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Success!" + explanation = "Offer [harvest_target] humans for [SSticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Success!" feedback_add_details("cult_objective","cult_harvest|SUCCESS") else - explanation = "Offer [harvest_target] humans for [ticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Fail!" + explanation = "Offer [harvest_target] humans for [SSticker.cultdat.entity_name]'s first meal of the day. ([harvested] sacrificed) Fail!" feedback_add_details("cult_objective","cult_harvest|FAIL") if("hijack") @@ -375,7 +375,7 @@ var/global/list/all_cults = list() /datum/game_mode/proc/auto_declare_completion_cult() - if(cult.len || (ticker && GAMEMODE_IS_CULT)) + if(cult.len || (SSticker && GAMEMODE_IS_CULT)) var/text = "The cultists were:" for(var/datum/mind/cultist in cult) diff --git a/code/game/gamemodes/cult/cult_objectives.dm b/code/game/gamemodes/cult/cult_objectives.dm index beef75e103b..da4e190cb7f 100644 --- a/code/game/gamemodes/cult/cult_objectives.dm +++ b/code/game/gamemodes/cult/cult_objectives.dm @@ -19,10 +19,10 @@ switch(new_objective) if("convert") - explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." + explanation = "We must increase our influence before we can summon [SSticker.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." if("bloodspill") spilltarget = 100 + rand(0,GLOB.player_list.len * 3) - explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." + explanation = "We must prepare this place for [SSticker.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." if("sacrifice") explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual." @@ -59,8 +59,8 @@ message_admins("The Cult has already completed [prenarsie_objectives] objectives! Nar-Sie objective unlocked.") log_admin("The Cult has already completed [prenarsie_objectives] objectives! Nar-Sie objective unlocked.") else - message_admins("There are less than 4 cultists! [ticker.cultdat.entity_name] objective unlocked.") - log_admin("There are less than 4 cultists! [ticker.cultdat.entity_name] objective unlocked.") + message_admins("There are less than 4 cultists! [SSticker.cultdat.entity_name] objective unlocked.") + log_admin("There are less than 4 cultists! [SSticker.cultdat.entity_name] objective unlocked.") gtfo_phase() if(!sacrificed.len && (new_objective != "sacrifice")) @@ -76,10 +76,10 @@ switch(new_objective) if("convert") - explanation = "We must increase our influence before we can summon [ticker.cultdat.entity_name]. Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." + explanation = "We must increase our influence before we can summon [SSticker.cultdat.entity_name]. Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." if("bloodspill") spilltarget = 100 + rand(0,GLOB.player_list.len * 3) - explanation = "We must prepare this place for [ticker.cultdat.entity_title1]'s coming. Spread blood and gibs over [spilltarget] of the Station's floor tiles." + explanation = "We must prepare this place for [SSticker.cultdat.entity_title1]'s coming. Spread blood and gibs over [spilltarget] of the Station's floor tiles." if("sacrifice") explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for [sacrifice_target.p_their()] blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual." @@ -111,7 +111,7 @@ if(prob(40))//split the chance of this objectives += "eldergod" - explanation = "Summon [ticker.cultdat.entity_name] on the Station via the use of the Tear Reality rune. The veil is weak enough in [english_list(summon_spots)] for the ritual to begin." + explanation = "Summon [SSticker.cultdat.entity_name] on the Station via the use of the Tear Reality rune. The veil is weak enough in [english_list(summon_spots)] for the ritual to begin." else objectives += "slaughter" explanation = "Bring the Slaughter via the rune 'Bring forth the slaughter'. The veil is weak enough in [english_list(summon_spots)] for the ritual to begin." @@ -135,11 +135,11 @@ switch(last_objective) if("harvest") - explanation = "[ticker.cultdat.entity_title1] hungers for their first meal of this never-ending day. Offer them [harvest_target] humans in sacrifice." + explanation = "[SSticker.cultdat.entity_title1] hungers for their first meal of this never-ending day. Offer them [harvest_target] humans in sacrifice." if("hijack") - explanation = "[ticker.cultdat.entity_name] wishes for their troops to start the assault on Centcom immediately. Hijack the escape shuttle and don't let a single non-cultist board it." + explanation = "[SSticker.cultdat.entity_name] wishes for their troops to start the assault on Centcom immediately. Hijack the escape shuttle and don't let a single non-cultist board it." if("massacre") - explanation = "[ticker.cultdat.entity_name] wants to watch you as you massacre the remaining humans on the station (until less than [massacre_target] humans are left alive)." + explanation = "[SSticker.cultdat.entity_name] wants to watch you as you massacre the remaining humans on the station (until less than [massacre_target] humans are left alive)." for(var/datum/mind/cult_mind in cult) if(cult_mind) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index d561291c19f..fb6bb95a4a8 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -11,7 +11,7 @@ return /obj/effect/rune/proc/check_icon() - if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way + if(!SSticker.mode)//work around for maps with runes and cultdat is not loaded all the way var/bits = make_bit_triplet() icon = get_rune(bits) else @@ -39,16 +39,16 @@ canbypass = 1 /obj/item/tome/New() - if(!ticker.mode) + if(!SSticker.mode) icon_state = "tome" else - icon_state = ticker.cultdat.tome_icon + icon_state = SSticker.cultdat.tome_icon ..() /obj/item/tome/examine(mob/user) ..() if(iscultist(user) || user.stat == DEAD) - to_chat(user, "The scriptures of [ticker.cultdat.entity_title3]. Allows the scribing of runes and access to the knowledge archives of the cult of [ticker.cultdat.entity_name].") + to_chat(user, "The scriptures of [SSticker.cultdat.entity_title3]. Allows the scribing of runes and access to the knowledge archives of the cult of [SSticker.cultdat.entity_name].") to_chat(user, "Striking another cultist with it will purge holy water from them.") to_chat(user, "Striking a noncultist, however, will sear their flesh.") @@ -91,7 +91,7 @@ /obj/item/tome/proc/read_tome(mob/user) var/text = list() - text += "
Archives of [ticker.cultdat.entity_title1]



" + text += "
Archives of [SSticker.cultdat.entity_title1]



" text += "A rune's name and effects can be revealed by examining the rune.<

" text += "Rite of Binding
This rune is one of the most important runes the cult has, being the only way to create new talismans. A blank sheet of paper must be on top of the rune. After \ @@ -102,7 +102,7 @@ text += "Rite of Enlightenment
This rune is critical to the success of the cult. It will allow you to convert normal crew members into cultists. \ To do this, simply place the crew member upon the rune and invoke it. This rune requires two invokers to use. If the target to be converted is mindshielded or a certain assignment, they will \ - be unable to be converted. People [ticker.cultdat.entity_title3] wishes sacrificed will also be ineligible for conversion, and anyone with a shielding presence like the null rod will not be converted.
\ + be unable to be converted. People [SSticker.cultdat.entity_title3] wishes sacrificed will also be ineligible for conversion, and anyone with a shielding presence like the null rod will not be converted.
\ Successful conversions will produce a tome for the new cultist.

" text += "Rite of Tribute
This rune is necessary to achieve your goals. Simply place any dead creature upon the rune and invoke it (this will not \ @@ -135,12 +135,12 @@ text += "Leeching
When invoked, this rune will transfer lifeforce from the victim to the invoker.

" - text += "Rite of Spectral Manifestation
This rune allows you to summon spirits as humanoid fighters. When invoked, a spirit above the rune will be brought to life as a human, wearing nothing, that seeks only to serve you and [ticker.cultdat.entity_title3]. \ + text += "Rite of Spectral Manifestation
This rune allows you to summon spirits as humanoid fighters. When invoked, a spirit above the rune will be brought to life as a human, wearing nothing, that seeks only to serve you and [SSticker.cultdat.entity_title3]. \ However, the spirit's link to reality is fragile - you must remain on top of the rune, and you will slowly take damage. Upon stepping off the rune, all summoned spirits will dissipate, dropping their items to the ground. You may manifest \ multiple spirits with one rune, but you will rapidly take damage in doing so.

" text += "Ritual of Dimensional Rending
This rune is necessary to achieve your goals. On attempting to scribe it, it will produce shields around you and alert everyone you are attempting to scribe it; it takes a very long time to scribe, \ - and does massive damage to the one attempting to scribe it.
Invoking it requires 9 invokers and the sacrifice of a specific crewmember, and once invoked, will summon [ticker.cultdat.entity_title3], [ticker.cultdat.entity_name]. \ + and does massive damage to the one attempting to scribe it.
Invoking it requires 9 invokers and the sacrifice of a specific crewmember, and once invoked, will summon [SSticker.cultdat.entity_title3], [SSticker.cultdat.entity_name]. \ This will complete your objectives.


" text += "Talisman of Teleportation
The talisman form of the Teleport rune will transport the invoker to a selected Teleport rune once.

" @@ -201,12 +201,12 @@ return 1 /obj/item/tome/proc/finale_runes_ok(mob/living/user, obj/effect/rune/rune_to_scribe) - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode var/area/A = get_area(src) if(GAMEMODE_IS_CULT) if(!canbypass)//not an admin-tome, check things if(!cult_mode.narsie_condition_cleared) - to_chat(user, "There is still more to do before unleashing [ticker.cultdat.entity_name] power!") + to_chat(user, "There is still more to do before unleashing [SSticker.cultdat.entity_name] power!") return 0 if(!cult_mode.eldergod) to_chat(user, "\"I am already here. There is no need to try to summon me now.\"") @@ -215,19 +215,19 @@ to_chat(user, "\"We are already here. There is no need to try to summon us now.\"") return 0 if(!((CULT_ELDERGOD in cult_mode.objectives) || (CULT_SLAUGHTER in cult_mode.objectives))) - to_chat(user, "[ticker.cultdat.entity_name]'s power does not wish to be unleashed!") + to_chat(user, "[SSticker.cultdat.entity_name]'s power does not wish to be unleashed!") return 0 if(!(A in summon_spots)) - to_chat(user, "[ticker.cultdat.entity_name] can only be summoned where the veil is weak - in [english_list(summon_spots)]!") + to_chat(user, "[SSticker.cultdat.entity_name] can only be summoned where the veil is weak - in [english_list(summon_spots)]!") return 0 - var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [ticker.cultdat.entity_name]!", "No") + var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [SSticker.cultdat.entity_name]!", "No") if(confirm_final == "No" || confirm_final == null) to_chat(user, "You decide to prepare further before scribing the rune.") return 0 else return 1 else//the game mode is not cult..but we ARE a cultist...ALL ON THE ADMINBUS - var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [ticker.cultdat.entity_name]!", "No") + var/confirm_final = alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for [SSticker.cultdat.entity_name]!", "No") if(confirm_final == "No" || confirm_final == null) to_chat(user, "You decide to prepare further before scribing the rune.") return 0 @@ -296,7 +296,7 @@ var/mob/living/carbon/human/H = user var/dam_zone = pick("head", "chest", "groin", "l_arm", "l_hand", "r_arm", "r_hand", "l_leg", "l_foot", "r_leg", "r_foot") var/obj/item/organ/external/affecting = H.get_organ(ran_zone(dam_zone)) - user.visible_message("[user] cuts open [user.p_their()] [affecting] and begins writing in [user.p_their()] own blood!", "You slice open your [affecting] and begin drawing a sigil of [ticker.cultdat.entity_title3].") + user.visible_message("[user] cuts open [user.p_their()] [affecting] and begins writing in [user.p_their()] own blood!", "You slice open your [affecting] and begin drawing a sigil of [SSticker.cultdat.entity_title3].") user.apply_damage(initial(rune_to_scribe.scribe_damage), BRUTE , affecting) if(!do_after(user, initial(rune_to_scribe.scribe_delay)-scribereduct, target = get_turf(user))) for(var/V in shields) @@ -308,7 +308,7 @@ to_chat(user, "There is already a rune here.") return user.visible_message("[user] creates a strange circle in [user.p_their()] own blood.", \ - "You finish drawing the arcane markings of [ticker.cultdat.entity_title3].") + "You finish drawing the arcane markings of [SSticker.cultdat.entity_title3].") for(var/V in shields) var/obj/machinery/shield/S = V if(S && !QDELETED(S)) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 1ed5e812989..ef2a970adb3 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -197,7 +197,7 @@ structure_check() searches for nearby cultist structures required for the invoca ..() for(var/M in invokers) var/mob/living/L = M - to_chat(L, "You feel your life force draining. [ticker.cultdat.entity_title3] is displeased.") + to_chat(L, "You feel your life force draining. [SSticker.cultdat.entity_title3] is displeased.") qdel(src) /mob/proc/null_rod_check() //The null rod, if equipped, will protect the holder from the effects of most runes @@ -372,12 +372,12 @@ var/list/teleport_runes = list() new_cultist.visible_message("[new_cultist] writhes in pain as the markings below them glow a bloody red!", \ "AAAAAAAAAAAAAA-") - ticker.mode.add_cultist(new_cultist.mind, 1) + SSticker.mode.add_cultist(new_cultist.mind, 1) new /obj/item/tome(get_turf(src)) new_cultist.mind.special_role = "Cultist" to_chat(new_cultist, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ and something evil takes root.") - to_chat(new_cultist, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve [ticker.cultdat.entity_title3] above all else. Bring it back.\ + to_chat(new_cultist, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve [SSticker.cultdat.entity_title3] above all else. Bring it back.\ ") //Rite of Tribute: Sacrifices a crew member to Nar-Sie. Places them into a soul shard if they're in their body. @@ -391,7 +391,7 @@ var/list/teleport_runes = list() /obj/effect/rune/sacrifice/New() ..() - cultist_desc = "sacrifices a crew member to [ticker.cultdat.entity_title3]. May place them into a soul shard if their spirit remains in their body." + cultist_desc = "sacrifices a crew member to [SSticker.cultdat.entity_title3]. May place them into a soul shard if their spirit remains in their body." /obj/effect/rune/sacrifice/invoke(var/list/invokers) if(rune_in_use) @@ -432,7 +432,7 @@ var/list/teleport_runes = list() /obj/effect/rune/sacrifice/proc/sac(var/list/invokers, mob/living/T) var/sacrifice_fulfilled - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(T) if(istype(T, /mob/living/simple_animal/pet/corgi)) for(var/M in invokers) @@ -445,7 +445,7 @@ var/list/teleport_runes = list() if(is_sacrifice_target(T.mind)) sacrifice_fulfilled = 1 new /obj/effect/temp_visual/cult/sac(loc) - if(ticker && ticker.mode && ticker.mode.name == "cult") + if(SSticker && SSticker.mode && SSticker.mode.name == "cult") cult_mode.harvested++ for(var/M in invokers) @@ -494,8 +494,8 @@ var/list/teleport_runes = list() /obj/effect/rune/narsie/New() ..() - cultist_name = "Summon [ticker.cultdat.entity_name]" - cultist_desc = "tears apart dimensional barriers, calling forth [ticker.cultdat.entity_title3]. Requires 9 invokers." + cultist_name = "Summon [SSticker.cultdat.entity_name]" + cultist_desc = "tears apart dimensional barriers, calling forth [SSticker.cultdat.entity_title3]. Requires 9 invokers." /obj/effect/rune/narsie/check_icon() @@ -508,7 +508,7 @@ var/list/teleport_runes = list() if(used) return var/mob/living/user = invokers[1] - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(!(CULT_ELDERGOD in cult_mode.objectives)) message_admins("[key_name_admin(user)] tried to summonn an eldritch horror when the objective was wrong") burn_invokers(invokers) @@ -521,7 +521,7 @@ var/list/teleport_runes = list() return if(!cult_mode.eldergod) for(var/M in invokers) - to_chat(M, "[ticker.cultdat.entity_name] is already on this plane!") + to_chat(M, "[SSticker.cultdat.entity_name] is already on this plane!") log_game("Summon god rune failed - already summoned") return //BEGIN THE SUMMONING @@ -594,7 +594,7 @@ var/list/teleport_runes = list() if(used) return var/mob/living/user = invokers[1] - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode if(!(CULT_SLAUGHTER in cult_mode.objectives)) message_admins("[key_name_admin(user)] tried to summon demons when the objective was wrong") burn_invokers(invokers) @@ -856,10 +856,10 @@ var/list/teleport_runes = list() /obj/effect/rune/summon/invoke(var/list/invokers) var/mob/living/user = invokers[1] var/list/cultists = list() - for(var/datum/mind/M in ticker.mode.cult) + for(var/datum/mind/M in SSticker.mode.cult) if(!(M.current in invokers) && M.current && M.current.stat != DEAD) cultists |= M.current - var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of [ticker.cultdat.entity_title3]") as null|anything in cultists + var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of [SSticker.cultdat.entity_title3]") as null|anything in cultists if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated()) return if(!cultist_to_summon) @@ -868,7 +868,7 @@ var/list/teleport_runes = list() log_game("Summon Cultist rune failed - no target") return if(!iscultist(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not a follower of [ticker.cultdat.entity_title3]!") + to_chat(user, "[cultist_to_summon] is not a follower of [SSticker.cultdat.entity_title3]!") fail_invoke() log_game("Summon Cultist rune failed - no target") return @@ -977,7 +977,7 @@ var/list/teleport_runes = list() /obj/effect/rune/manifest/New(loc) ..() - cultist_desc = "manifests a spirit as a servant of [ticker.cultdat.entity_title3]. The invoker must not move from atop the rune, and will take damage for each summoned spirit." + cultist_desc = "manifests a spirit as a servant of [SSticker.cultdat.entity_title3]. The invoker must not move from atop the rune, and will take damage for each summoned spirit." notify_ghosts("Manifest rune created in [get_area(src)].", ghost_sound='sound/effects/ghost2.ogg', source = src) @@ -1033,10 +1033,10 @@ var/list/teleport_runes = list() N.health = 20 N.mouse_opacity = MOUSE_OPACITY_TRANSPARENT new_human.key = ghost_to_spawn.key - ticker.mode.add_cultist(new_human.mind, 0) + SSticker.mode.add_cultist(new_human.mind, 0) summoned_guys |= new_human ghosts++ - to_chat(new_human, "You are a servant of [ticker.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [ticker.cultdat.entity_name], and you are to serve them at all costs.") + to_chat(new_human, "You are a servant of [SSticker.cultdat.entity_title3]. You have been made semi-corporeal by the cult of [SSticker.cultdat.entity_name], and you are to serve them at all costs.") while(user in get_turf(src)) if(user.stat) diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 875e8a3d1e9..92fc09490ec 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -41,7 +41,7 @@ invocation = "Ra'sha yoka!" /obj/item/paper/talisman/malformed/invoke(mob/living/user, successfuluse = 1) - to_chat(user, "You feel a pain in your head. [ticker.cultdat.entity_title3] is displeased.") + to_chat(user, "You feel a pain in your head. [SSticker.cultdat.entity_title3] is displeased.") if(iscarbon(user)) var/mob/living/carbon/C = user C.apply_damage(10, BRUTE, "head") diff --git a/code/game/gamemodes/devil/devilinfo.dm b/code/game/gamemodes/devil/devilinfo.dm index e11d31f7d98..419034a9e1f 100644 --- a/code/game/gamemodes/devil/devilinfo.dm +++ b/code/game/gamemodes/devil/devilinfo.dm @@ -300,9 +300,9 @@ var/global/list/lawlorify = list ( to_chat(world, "SLOTH, WRATH, GLUTTONY, ACEDIA, ENVY, GREED, PRIDE! FIRES OF HELL AWAKEN!!") world << 'sound/hallucinations/veryfar_noise.ogg' sleep(50) - if(!ticker.mode.devil_ascended) + if(!SSticker.mode.devil_ascended) SSshuttle.emergency.request(null, 0.3) - ticker.mode.devil_ascended++ + SSticker.mode.devil_ascended++ /datum/devilinfo/proc/increase_arch_devil() if(!ascendable) diff --git a/code/game/gamemodes/devil/objectives.dm b/code/game/gamemodes/devil/objectives.dm index 5214ab336ec..04d0217b599 100644 --- a/code/game/gamemodes/devil/objectives.dm +++ b/code/game/gamemodes/devil/objectives.dm @@ -68,7 +68,7 @@ explanation_text = "Ensure at least [target_amount] mortals are sintouched." /datum/objective/devil/sintouch/check_completion() - return target_amount <= ticker.mode.sintouched.len + return target_amount <= SSticker.mode.sintouched.len diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 5f3ed489107..4f583abdfed 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -75,8 +75,8 @@ display_roundstart_logout_report() feedback_set_details("round_start","[time2text(world.realtime)]") - if(ticker && ticker.mode) - feedback_set_details("game_mode","[ticker.mode]") + if(SSticker && SSticker.mode) + feedback_set_details("game_mode","[SSticker.mode]") // if(revdata) // feedback_set_details("revision","[revdata.revision]") feedback_set_details("server_ip","[world.internet_address]:[world.port]") diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index e8a3ff6c981..2b4d095b327 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -312,5 +312,5 @@ datum/game_mode/proc/auto_declare_completion_heist() message_admins("[key_name_admin(user)] has pressed the vox win button.") log_admin("[key_name(user)] pressed the vox win button during a vox round.") - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode H.win_button_triggered = 1 diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm index 5e8be8b1229..d1d176f797e 100644 --- a/code/game/gamemodes/intercept_report.dm +++ b/code/game/gamemodes/intercept_report.dm @@ -113,10 +113,10 @@ if(man.client && man.client.prefs.nanotrasen_relation == "Opposed") //don't include suspects who can't possibly be the antag based on their job (no suspecting the captain of being a damned dirty tator) if(man.mind && man.mind.assigned_role) - if((man.mind.assigned_role in ticker.mode.protected_jobs) || (man.mind.assigned_role in ticker.mode.restricted_jobs)) + if((man.mind.assigned_role in SSticker.mode.protected_jobs) || (man.mind.assigned_role in SSticker.mode.restricted_jobs)) return //don't include suspects who can't possibly be the antag based on their species (no suspecting the machines of being sneaky changelings) - if(man.dna.species.name in ticker.mode.protected_species) + if(man.dna.species.name in SSticker.mode.protected_species) return dudes += man for(var/i = 0, i < max(GLOB.player_list.len/10,2), i++) diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index bfde102ca35..1c96c0e4329 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -111,7 +111,7 @@ to_chat(L, "The blast wave from [src] tears you atom from atom!") L.dust() to_chat(world, "The AI cleansed the station of life with the doomsday device!") - ticker.force_ending = 1 + SSticker.force_ending = 1 /datum/AI_Module/large/upgrade_turrets diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm index 587c2b3d476..aab75687df4 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction.dm @@ -251,14 +251,14 @@ /datum/game_mode/proc/remove_abductor(datum/mind/abductor_mind) if(abductor_mind in abductors) - ticker.mode.abductors -= abductor_mind + SSticker.mode.abductors -= abductor_mind abductor_mind.special_role = null abductor_mind.current.create_attack_log("No longer abductor") if(issilicon(abductor_mind.current)) to_chat(abductor_mind.current, "You have been turned into a robot! You are no longer an abductor.") else to_chat(abductor_mind.current, "You have been brainwashed! You are no longer an abductor.") - ticker.mode.update_abductor_icons_removed(abductor_mind) + SSticker.mode.update_abductor_icons_removed(abductor_mind) /datum/game_mode/proc/update_abductor_icons_added(datum/mind/alien_mind) var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_ABDUCTOR] diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index 53969aaf7d1..db6f07c1d24 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -140,14 +140,14 @@ to_chat(H, "You can't remember how you got here...") var/objtype = pick(subtypesof(/datum/objective/abductee/)) var/datum/objective/abductee/O = new objtype() - ticker.mode.abductees += H.mind + SSticker.mode.abductees += H.mind H.mind.objectives += O var/obj_count = 1 to_chat(H, "Your current objectives:") for(var/datum/objective/objective in H.mind.objectives) to_chat(H, "Objective #[obj_count]: [objective.explanation_text]") obj_count++ - ticker.mode.update_abductor_icons_added(H.mind) + SSticker.mode.update_abductor_icons_added(H.mind) for(var/obj/item/organ/internal/heart/gland/G in H.internal_organs) G.Start() diff --git a/code/game/gamemodes/miniantags/morph/morph_event.dm b/code/game/gamemodes/miniantags/morph/morph_event.dm index 4a1c8ebeb7e..e80374e2dca 100644 --- a/code/game/gamemodes/miniantags/morph/morph_event.dm +++ b/code/game/gamemodes/miniantags/morph/morph_event.dm @@ -21,7 +21,7 @@ player_mind.transfer_to(S) player_mind.assigned_role = SPECIAL_ROLE_MORPH player_mind.special_role = SPECIAL_ROLE_MORPH - ticker.mode.traitors |= player_mind + SSticker.mode.traitors |= player_mind to_chat(S, S.playstyle_string) S << 'sound/magic/mutate.ogg' message_admins("[key_of_morph] has been made into morph by an event.") diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm index 54b01ff38ce..7d18c1796dd 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant.dm @@ -182,7 +182,7 @@ objective2.owner = mind mind.objectives += objective2 to_chat(src, "Objective #2: [objective2.explanation_text]") - ticker.mode.traitors |= mind //Necessary for announcing + SSticker.mode.traitors |= mind //Necessary for announcing /mob/living/simple_animal/revenant/proc/giveSpells() mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision/revenant(null)) @@ -429,7 +429,7 @@ player_mind.transfer_to(R) player_mind.assigned_role = SPECIAL_ROLE_REVENANT player_mind.special_role = SPECIAL_ROLE_REVENANT - ticker.mode.traitors |= player_mind + SSticker.mode.traitors |= player_mind message_admins("[key_of_revenant] has been [client_to_revive ? "re":""]made into a revenant by reforming ectoplasm.") log_game("[key_of_revenant] was [client_to_revive ? "re":""]made as a revenant by reforming ectoplasm.") visible_message("[src] suddenly rises into the air before fading away.") diff --git a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm index 757fbe579a2..437e7637a77 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm @@ -45,7 +45,7 @@ player_mind.transfer_to(revvie) player_mind.assigned_role = SPECIAL_ROLE_REVENANT player_mind.special_role = SPECIAL_ROLE_REVENANT - ticker.mode.traitors |= player_mind + SSticker.mode.traitors |= player_mind message_admins("[key_of_revenant] has been made into a revenant by an event.") log_game("[key_of_revenant] was spawned as a revenant by an event.") return 1 diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index 7e74de27267..a43d03c153a 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -72,7 +72,7 @@ if(!(vialspawned)) var/datum/objective/slaughter/objective = new var/datum/objective/demonFluff/fluffObjective = new - ticker.mode.traitors |= mind + SSticker.mode.traitors |= mind objective.owner = mind fluffObjective.owner = mind //Paradise Port:I added the objective for one spawned like this @@ -174,7 +174,7 @@ S.mind.assigned_role = "Harbringer of the Slaughter" S.mind.special_role = "Harbringer of the Slaughter" to_chat(S, playstyle_string) - ticker.mode.add_cultist(S.mind) + SSticker.mode.add_cultist(S.mind) var/obj/effect/proc_holder/spell/targeted/sense_victims/SV = new AddSpell(SV) var/datum/objective/new_objective = new /datum/objective diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index d19d2dd7cc5..0c7f46306af 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -4,7 +4,7 @@ var/list/datum/mind/syndicates = list() proc/issyndicate(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.syndicates) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.syndicates) /datum/game_mode/nuclear name = "nuclear emergency" @@ -64,7 +64,7 @@ proc/issyndicate(mob/living/M as mob) /datum/game_mode/proc/remove_operative(datum/mind/operative_mind) if(operative_mind in syndicates) - ticker.mode.syndicates -= operative_mind + SSticker.mode.syndicates -= operative_mind operative_mind.special_role = null for(var/datum/objective/nuclear/O in operative_mind.objectives) operative_mind.objectives -= O @@ -73,7 +73,7 @@ proc/issyndicate(mob/living/M as mob) to_chat(operative_mind.current, "You have been turned into a robot! You are no longer a Syndicate operative.") else to_chat(operative_mind.current, "You have been brainwashed! You are no longer a Syndicate operative.") - ticker.mode.update_synd_icons_removed(operative_mind) + SSticker.mode.update_synd_icons_removed(operative_mind) //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// @@ -208,7 +208,7 @@ proc/issyndicate(mob/living/M as mob) P.stamp(stamp) qdel(stamp) - if(ticker.mode.config_tag=="nuclear") + if(SSticker.mode.config_tag=="nuclear") P.loc = synd_mind.current.loc else var/mob/living/carbon/human/H = synd_mind.current @@ -437,7 +437,7 @@ proc/issyndicate(mob/living/M as mob) /datum/game_mode/nuclear/set_scoreboard_gvars() var/foecount = 0 - for(var/datum/mind/M in ticker.mode.syndicates) + for(var/datum/mind/M in SSticker.mode.syndicates) foecount++ if(!M || !M.current) score_opkilled++ @@ -490,7 +490,7 @@ proc/issyndicate(mob/living/M as mob) var/diskdat = "" var/bombdat = null - for(var/datum/mind/M in ticker.mode.syndicates) + for(var/datum/mind/M in SSticker.mode.syndicates) foecount++ for(var/mob/living/C in world) diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 45711bb52fc..35c26408c5b 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -21,7 +21,7 @@ return declaring_war = TRUE - var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]. Are you sure you want to alert the enemy crew? You have [-round((world.time-round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide.", "Declare war?", "Yes", "No") + var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]. Are you sure you want to alert the enemy crew? You have [-round((world.time-SSticker.round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide.", "Declare war?", "Yes", "No") declaring_war = FALSE if(!check_allowed(user)) @@ -88,7 +88,7 @@ if(!is_admin_level(user.z)) to_chat(user, "You have to be at your base to use this.") return FALSE - if((world.time - round_start_time) > CHALLENGE_TIME_LIMIT) // Only count after the round started + if((world.time - SSticker.round_start_time) > CHALLENGE_TIME_LIMIT) // Only count after the round started to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.") return FALSE for(var/obj/machinery/computer/shuttle/syndicate/S in GLOB.machines) diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 2e36488cc8a..09de3f917bd 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -354,8 +354,8 @@ var/bomb_set if(!lighthack) icon_state = "nuclearbomb3" playsound(src,'sound/machines/alarm.ogg',100,0,5) - if(ticker && ticker.mode) - ticker.mode.explosion_in_progress = 1 + if(SSticker && SSticker.mode) + SSticker.mode.explosion_in_progress = 1 sleep(100) enter_allowed = 0 @@ -368,17 +368,17 @@ var/bomb_set else off_station = 2 - if(ticker) - if(ticker.mode && ticker.mode.name == "nuclear emergency") + if(SSticker) + if(SSticker.mode && SSticker.mode.name == "nuclear emergency") var/obj/docking_port/mobile/syndie_shuttle = SSshuttle.getShuttle("syndicate") if(syndie_shuttle) - ticker.mode:syndies_didnt_escape = is_station_level(syndie_shuttle.z) - ticker.mode:nuke_off_station = off_station - ticker.station_explosion_cinematic(off_station,null) - if(ticker.mode) - ticker.mode.explosion_in_progress = 0 - if(ticker.mode.name == "nuclear emergency") - ticker.mode:nukes_left -- + SSticker.mode:syndies_didnt_escape = is_station_level(syndie_shuttle.z) + SSticker.mode:nuke_off_station = off_station + SSticker.station_explosion_cinematic(off_station,null) + if(SSticker.mode) + SSticker.mode.explosion_in_progress = 0 + if(SSticker.mode.name == "nuclear emergency") + SSticker.mode:nukes_left -- else if(off_station == 1) to_chat(world, "A nuclear device was set off, but the explosion was out of reach of the station!") else if(off_station == 2) @@ -386,10 +386,10 @@ var/bomb_set else to_chat(world, "The station was destoyed by the nuclear blast!") - ticker.mode.station_was_nuked = (off_station<2) //offstation==1 is a draw. the station becomes irradiated and needs to be evacuated. + SSticker.mode.station_was_nuked = (off_station<2) //offstation==1 is a draw. the station becomes irradiated and needs to be evacuated. //kinda shit but I couldn't get permission to do what I wanted to do. - if(!ticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is + if(!SSticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is world.Reboot("Station destroyed by Nuclear Device.", "end_error", "nuke - unhandled ending") return return diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index 61986b34f94..d221c94d39f 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -273,7 +273,7 @@ var/mob/living/carbon/nearest_op = null /obj/item/pinpointer/operative/attack_self() - if(!usr.mind || !(usr.mind in ticker.mode.syndicates)) + if(!usr.mind || !(usr.mind in SSticker.mode.syndicates)) to_chat(usr, "AUTHENTICATION FAILURE. ACCESS DENIED.") return 0 if(!active) @@ -290,7 +290,7 @@ nearest_op = null //Resets nearest_op every time it scans var/closest_distance = 1000 for(var/mob/living/carbon/M in GLOB.mob_list) - if(M.mind && (M.mind in ticker.mode.syndicates)) + if(M.mind && (M.mind in SSticker.mode.syndicates)) if(get_dist(M, get_turf(src)) < closest_distance) //Actually points toward the nearest op, instead of a random one like it used to nearest_op = M diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 210b1bb786e..7c358ba951d 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -43,7 +43,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu /datum/objective/proc/find_target() var/list/possible_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if(is_invalid_target(possible_target)) continue @@ -263,9 +263,9 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu return 0 if(!owner.current || owner.current.stat == DEAD) return 0 - if(ticker.force_ending) //This one isn't their fault, so lets just assume good faith + if(SSticker.force_ending) //This one isn't their fault, so lets just assume good faith return 1 - if(ticker.mode.station_was_nuked) //If they escaped the blast somehow, let them win + if(SSticker.mode.station_was_nuked) //If they escaped the blast somehow, let them win return 1 if(SSshuttle.emergency.mode < SHUTTLE_ENDGAME) return 0 @@ -287,7 +287,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu /datum/objective/escape/escape_with_identity/find_target() var/list/possible_targets = list() //Copypasta because NO_DNA races, yay for snowflakes. - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if(possible_target != owner && ishuman(possible_target.current) && (possible_target.current.stat != DEAD) && possible_target.current.client) var/mob/living/carbon/human/H = possible_target.current if(!(NO_DNA in H.dna.species.species_traits)) @@ -452,19 +452,19 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu /datum/objective/absorb /datum/objective/absorb/proc/gen_amount_goal(var/lowbound = 4, var/highbound = 6) target_amount = rand (lowbound,highbound) - if(ticker) + if(SSticker) var/n_p = 1 //autowin - if(ticker.current_state == GAME_STATE_SETTING_UP) + if(SSticker.current_state == GAME_STATE_SETTING_UP) for(var/mob/new_player/P in GLOB.player_list) if(P.client && P.ready && P.mind != owner) if(P.client.prefs && (P.client.prefs.species == "Machine")) // Special check for species that can't be absorbed. No better solution. continue n_p++ - else if(ticker.current_state == GAME_STATE_PLAYING) + else if(SSticker.current_state == GAME_STATE_PLAYING) for(var/mob/living/carbon/human/P in GLOB.player_list) if(NO_DNA in P.dna.species.species_traits) continue - if(P.client && !(P.mind in ticker.mode.changelings) && P.mind!=owner) + if(P.client && !(P.mind in SSticker.mode.changelings) && P.mind!=owner) n_p++ target_amount = min(target_amount, n_p) @@ -531,7 +531,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu var/list/possible_targets = list() var/list/priority_targets = list() - for(var/datum/mind/possible_target in ticker.minds) + for(var/datum/mind/possible_target in SSticker.minds) if(possible_target != owner && ishuman(possible_target.current) && (possible_target.current.stat != DEAD) && (possible_target.assigned_role != possible_target.special_role)) possible_targets += possible_target for(var/role in roles) @@ -627,7 +627,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu if(total_amount >= target_amount) return 1 - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode for(var/datum/mind/raider in H.raiders) if(raider.current) for(var/obj/O in raider.current.get_contents()) @@ -697,7 +697,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu S = I total_amount += S.get_amount() - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode for(var/datum/mind/raider in H.raiders) if(raider.current) for(var/obj/item/O in raider.current.get_contents()) @@ -714,7 +714,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu explanation_text = "Do not leave any Vox behind, alive or dead." /datum/objective/heist/inviolate_crew/check_completion() - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode if(H.is_raider_crew_safe()) return 1 return 0 @@ -726,7 +726,7 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) - /datu var/vox_allowed_kills = 3 // The number of people the vox can accidently kill. Mostly a counter to people killing themselves if a raider touches them to force fail. var/vox_total_kills = 0 - var/datum/game_mode/heist/H = ticker.mode + var/datum/game_mode/heist/H = SSticker.mode for(var/datum/mind/raider in H.raiders) vox_total_kills += raider.kills.len // Kills are listed in the mind; uses this to calculate vox kills diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 7cab3de5aa1..9f7e14ccef2 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -87,7 +87,7 @@ if(check_counter >= 5) if(!finished) check_heads() - ticker.mode.check_win() + SSticker.mode.check_win() check_counter = 0 return FALSE @@ -369,7 +369,7 @@ /datum/game_mode/revolution/set_scoreboard_gvars() var/foecount = 0 - for(var/datum/mind/M in ticker.mode.head_revolutionaries) + for(var/datum/mind/M in SSticker.mode.head_revolutionaries) foecount++ if(!M || !M.current) score_opkilled++ @@ -408,10 +408,10 @@ var/comcount = 0 var/revcount = 0 var/loycount = 0 - for(var/datum/mind/M in ticker.mode:head_revolutionaries) + for(var/datum/mind/M in SSticker.mode:head_revolutionaries) if(M.current && M.current.stat != DEAD) foecount++ - for(var/datum/mind/M in ticker.mode:revolutionaries) + for(var/datum/mind/M in SSticker.mode:revolutionaries) if(M.current && M.current.stat != DEAD) revcount++ for(var/mob/living/carbon/human/player in world) @@ -421,7 +421,7 @@ if(player.stat != DEAD) comcount++ else - if(player.mind in ticker.mode.revolutionaries) continue + if(player.mind in SSticker.mode.revolutionaries) continue loycount++ for(var/mob/living/silicon/X in world) diff --git a/code/game/gamemodes/scoreboard.dm b/code/game/gamemodes/scoreboard.dm index bd17175eaa2..379b4fbdcd9 100644 --- a/code/game/gamemodes/scoreboard.dm +++ b/code/game/gamemodes/scoreboard.dm @@ -1,9 +1,9 @@ -/datum/controller/gameticker/proc/scoreboard() +/datum/controller/subsystem/ticker/proc/scoreboard() //Print a list of antagonists to the server log var/list/total_antagonists = list() //Look into all mobs in world, dead or alive - for(var/datum/mind/Mind in minds) + for(var/datum/mind/Mind in SSticker.minds) var/temprole = Mind.special_role if(temprole) //if they are an antagonist of some sort. if(temprole in total_antagonists) //If the role exists already, add the name to it @@ -66,8 +66,8 @@ score_dmgestjob = E.job score_dmgestkey = E.key - if(ticker && ticker.mode) - ticker.mode.set_scoreboard_gvars() + if(SSticker && SSticker.mode) + SSticker.mode.set_scoreboard_gvars() // Check station's power levels @@ -147,7 +147,7 @@ E.scorestats() // A recursive function to properly determine the wealthiest escapee -/datum/controller/gameticker/proc/get_score_container_worth(atom/C, level=0) +/datum/controller/subsystem/ticker/proc/get_score_container_worth(atom/C, level=0) if(level >= 5) // in case the containers recurse or something return 0 @@ -171,8 +171,8 @@ /mob/proc/scorestats() var/dat = "Round Statistics and Score

" - if(ticker && ticker.mode) - dat += ticker.mode.get_scoreboard_stats() + if(SSticker && SSticker.mode) + dat += SSticker.mode.get_scoreboard_stats() dat += {" General Statistics
@@ -208,7 +208,7 @@ else dat += "No-one escaped!
" - dat += ticker.mode.declare_job_completion() + dat += SSticker.mode.declare_job_completion() dat += {"

diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm index 0c16e88279b..78e6cea4987 100644 --- a/code/game/gamemodes/setupgame.dm +++ b/code/game/gamemodes/setupgame.dm @@ -142,12 +142,12 @@ qdel(F) continue else - ticker.factions.Add(F) - ticker.availablefactions.Add(F) + SSticker.factions.Add(F) + SSticker.availablefactions.Add(F) // Populate the syndicate coalition: - for(var/datum/faction/syndicate/S in ticker.factions) - ticker.syndicate_coalition.Add(S) + for(var/datum/faction/syndicate/S in SSticker.factions) + SSticker.syndicate_coalition.Add(S) /proc/setupcult() var/static/datum/cult_info/picked_cult // Only needs to get picked once diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm index 230f797626d..b580f88c0b7 100644 --- a/code/game/gamemodes/shadowling/shadowling.dm +++ b/code/game/gamemodes/shadowling/shadowling.dm @@ -56,15 +56,15 @@ Made by Xhuis var/thrall_ratio = 1 /proc/is_thrall(var/mob/living/M) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.shadowling_thralls) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.shadowling_thralls) /proc/is_shadow_or_thrall(var/mob/living/M) - return istype(M) && M.mind && ticker && ticker.mode && ((M.mind in ticker.mode.shadowling_thralls) || (M.mind in ticker.mode.shadows)) + return istype(M) && M.mind && SSticker && SSticker.mode && ((M.mind in SSticker.mode.shadowling_thralls) || (M.mind in SSticker.mode.shadows)) /proc/is_shadow(var/mob/living/M) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.shadows) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.shadows) /datum/game_mode/shadowling diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm index ea95f62af57..2515de135fa 100644 --- a/code/game/gamemodes/shadowling/shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm @@ -216,11 +216,11 @@ /obj/effect/proc_holder/spell/targeted/enthrall/cast(list/targets, mob/user = usr) var/mob/living/carbon/human/ling = user - listclearnulls(ticker.mode.shadowling_thralls) - if(!(ling.mind in ticker.mode.shadows)) + listclearnulls(SSticker.mode.shadowling_thralls) + if(!(ling.mind in SSticker.mode.shadows)) return if(!isshadowling(ling)) - if(ticker.mode.shadowling_thralls.len >= 5) + if(SSticker.mode.shadowling_thralls.len >= 5) charge_counter = charge_max return for(var/mob/living/carbon/human/target in targets) @@ -291,7 +291,7 @@ target.visible_message("[target] looks to have experienced a revelation!", \ "False faces all dark not real not real not--") target.setOxyLoss(0) //In case the shadowling was choking them out - ticker.mode.add_thrall(target.mind) + SSticker.mode.add_thrall(target.mind) target.mind.special_role = SPECIAL_ROLE_SHADOWLING_THRALL /obj/effect/proc_holder/spell/targeted/shadowling_regenarmor //Resets a shadowling's species to normal, removes genetic defects, and re-equips their armor @@ -345,7 +345,7 @@ return for(var/mob/living/target in targets) var/thralls = 0 - var/victory_threshold = ticker.mode.required_thralls + var/victory_threshold = SSticker.mode.required_thralls var/mob/M to_chat(target, "You focus your telepathic energies abound, harnessing and drawing together the strength of your thralls.") @@ -359,24 +359,24 @@ to_chat(target, "Your concentration has been broken. The mental hooks you have sent out now retract into your mind.") return - if(thralls >= CEILING(3 * ticker.mode.thrall_ratio, 1) && !screech_acquired) + if(thralls >= CEILING(3 * SSticker.mode.thrall_ratio, 1) && !screech_acquired) screech_acquired = 1 to_chat(target, "The power of your thralls has granted you the Sonic Screech ability. This ability will shatter nearby windows and deafen enemies, plus stunning silicon lifeforms.") target.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/unearthly_screech(null)) - if(thralls >= CEILING(5 * ticker.mode.thrall_ratio, 1) && !blind_smoke_acquired) + if(thralls >= CEILING(5 * SSticker.mode.thrall_ratio, 1) && !blind_smoke_acquired) blind_smoke_acquired = 1 to_chat(target, "The power of your thralls has granted you the Blinding Smoke ability. \ It will create a choking cloud that will blind any non-thralls who enter.") target.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/blindness_smoke(null)) - if(thralls >= CEILING(7 * ticker.mode.thrall_ratio, 1) && !nullChargeAcquired) + if(thralls >= CEILING(7 * SSticker.mode.thrall_ratio, 1) && !nullChargeAcquired) nullChargeAcquired = 1 to_chat(user, "The power of your thralls has granted you the Null Charge ability. This ability will drain an APC's contents to the void, preventing it from recharging \ or sending power until repaired.") target.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/null_charge(null)) - if(thralls >= CEILING(9 * ticker.mode.thrall_ratio, 1) && !reviveThrallAcquired) + if(thralls >= CEILING(9 * SSticker.mode.thrall_ratio, 1) && !reviveThrallAcquired) reviveThrallAcquired = 1 to_chat(target, "The power of your thralls has granted you the Black Recuperation ability. \ This will, after a short time, bring a dead thrall completely back to life with no bodily defects.") @@ -578,7 +578,7 @@ charge_counter = charge_max return var/empowered_thralls = 0 - for(var/datum/mind/M in ticker.mode.shadowling_thralls) + for(var/datum/mind/M in SSticker.mode.shadowling_thralls) if(!ishuman(M.current)) return var/mob/living/carbon/human/H = M.current @@ -767,7 +767,7 @@ to_chat(user, "You instantly rearrange [target]'s memories, hyptonitizing [target.p_them()] into a thrall.") to_chat(target, "An agonizing spike of pain drives into your mind, and--") - ticker.mode.add_thrall(target.mind) + SSticker.mode.add_thrall(target.mind) target.mind.special_role = SPECIAL_ROLE_SHADOWLING_THRALL target.add_language("Shadowling Hivemind") diff --git a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm index 29a2c9aadca..772947f0618 100644 --- a/code/game/gamemodes/shadowling/special_shadowling_abilities.dm +++ b/code/game/gamemodes/shadowling/special_shadowling_abilities.dm @@ -179,9 +179,9 @@ var/list/possibleShadowlingNames = list("U'ruan", "Y`shej", "Nex", "Hel-uae", "N H.invisibility = 60 //This is pretty bad, but is also necessary for the shuttle call to function properly H.loc = A sleep(50) - if(!ticker.mode.shadowling_ascended) + if(!SSticker.mode.shadowling_ascended) SSshuttle.emergency.request(null, 0.3) SSshuttle.emergency.canRecall = FALSE - ticker.mode.shadowling_ascended = 1 + SSticker.mode.shadowling_ascended = 1 A.mind.RemoveSpell(src) qdel(H) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index de7ce59eaa2..d956e6d76b6 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -348,14 +348,14 @@ /datum/game_mode/proc/remove_traitor(datum/mind/traitor_mind) if(traitor_mind in traitors) - ticker.mode.traitors -= traitor_mind + SSticker.mode.traitors -= traitor_mind traitor_mind.special_role = null traitor_mind.current.create_attack_log("De-traitored") if(issilicon(traitor_mind.current)) to_chat(traitor_mind.current, "You have been turned into a robot! You are no longer a traitor.") else to_chat(traitor_mind.current, "You have been brainwashed! You are no longer a traitor.") - ticker.mode.update_traitor_icons_removed(traitor_mind) + SSticker.mode.update_traitor_icons_removed(traitor_mind) /datum/game_mode/proc/update_traitor_icons_added(datum/mind/traitor_mind) var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR] diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm index 18d36ad57f3..9dec5b573e2 100644 --- a/code/game/gamemodes/vampire/vampire.dm +++ b/code/game/gamemodes/vampire/vampire.dm @@ -288,7 +288,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha else H.LAssailant = owner while(do_mob(owner, H, 50)) - if(!(owner.mind in ticker.mode.vampires)) + if(!(owner.mind in SSticker.mode.vampires)) to_chat(owner, "Your fangs have disappeared!") return old_bloodtotal = bloodtotal @@ -337,7 +337,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha /datum/game_mode/proc/remove_vampire(datum/mind/vampire_mind) if(vampire_mind in vampires) - ticker.mode.vampires -= vampire_mind + SSticker.mode.vampires -= vampire_mind vampire_mind.special_role = null vampire_mind.current.create_attack_log("De-vampired") if(vampire_mind.vampire) @@ -347,7 +347,7 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha to_chat(vampire_mind.current, "You have been turned into a robot! You can feel your powers fading away...") else to_chat(vampire_mind.current, "You have been brainwashed! You are no longer a vampire.") - ticker.mode.update_vampire_icons_removed(vampire_mind) + SSticker.mode.update_vampire_icons_removed(vampire_mind) //prepare for copypaste /datum/game_mode/proc/update_vampire_icons_added(datum/mind/vampire_mind) diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 5e7b8f9a237..01885b21e14 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -276,7 +276,7 @@ /proc/isvampirethrall(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.vampire_enthralled) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.vampire_enthralled) /obj/effect/proc_holder/spell/vampire/targetted/enthrall name = "Enthrall (300)" @@ -315,11 +315,11 @@ if(!C.mind) to_chat(user, "[C.name]'s mind is not there for you to enthrall.") return 0 - if(enthrall_safe || ( C.mind in ticker.mode.vampires )||( C.mind.vampire )||( C.mind in ticker.mode.vampire_enthralled )) + if(enthrall_safe || ( C.mind in SSticker.mode.vampires )||( C.mind.vampire )||( C.mind in SSticker.mode.vampire_enthralled )) C.visible_message("[C] seems to resist the takeover!", "You feel a familiar sensation in your skull that quickly dissipates.") return 0 if(!affects(C)) - C.visible_message("[C] seems to resist the takeover!", "Your faith of [ticker.Bible_deity_name] has kept your mind clear of all evil.") + C.visible_message("[C] seems to resist the takeover!", "Your faith of [SSticker.Bible_deity_name] has kept your mind clear of all evil.") return 0 if(!ishuman(C)) to_chat(user, "You can only enthrall humans!") @@ -330,21 +330,21 @@ if(!istype(H)) return 0 var/ref = "\ref[user.mind]" - if(!(ref in ticker.mode.vampire_thralls)) - ticker.mode.vampire_thralls[ref] = list(H.mind) + if(!(ref in SSticker.mode.vampire_thralls)) + SSticker.mode.vampire_thralls[ref] = list(H.mind) else - ticker.mode.vampire_thralls[ref] += H.mind + SSticker.mode.vampire_thralls[ref] += H.mind - ticker.mode.update_vampire_icons_added(H.mind) - ticker.mode.update_vampire_icons_added(user.mind) + SSticker.mode.update_vampire_icons_added(H.mind) + SSticker.mode.update_vampire_icons_added(user.mind) var/datum/mindslaves/slaved = user.mind.som H.mind.som = slaved slaved.serv += H slaved.add_serv_hud(user.mind, "vampire")//handles master servent icons slaved.add_serv_hud(H.mind, "vampthrall") - ticker.mode.vampire_enthralled.Add(H.mind) - ticker.mode.vampire_enthralled[H.mind] = user.mind + SSticker.mode.vampire_enthralled.Add(H.mind) + SSticker.mode.vampire_enthralled[H.mind] = user.mind H.mind.special_role = SPECIAL_ROLE_VAMPIRE_THRALL to_chat(H, "You have been Enthralled by [user]. Follow [user.p_their()] every command.") to_chat(user, "You have successfully Enthralled [H]. If [H.p_they()] refuse[H.p_s()] to do as you say just adminhelp.") diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 243f4e3a3fa..cb891ea6b11 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -99,9 +99,9 @@ new_objective:target = H:mind new_objective.explanation_text = "Protect [H.real_name], the wizard." M.mind.objectives += new_objective - ticker.mode.traitors += M.mind + SSticker.mode.traitors += M.mind M.mind.special_role = SPECIAL_ROLE_WIZARD_APPRENTICE - ticker.mode.update_wiz_icons_added(M.mind) + SSticker.mode.update_wiz_icons_added(M.mind) M.faction = list("wizard") else used = 0 @@ -283,7 +283,7 @@ var/global/list/multiverse = list() usr.mind.objectives += hijack_objective hijack_objective.explanation_text = "Ensure only [usr.real_name] and [usr.p_their()] copies are on the shuttle!" to_chat(usr, "Objective #[1]: [hijack_objective.explanation_text]") - ticker.mode.traitors += usr.mind + SSticker.mode.traitors += usr.mind usr.mind.special_role = "[usr.real_name] Prime" evil = TRUE else @@ -293,7 +293,7 @@ var/global/list/multiverse = list() new_objective.explanation_text = "Survive, and help defend the innocent from the mobs of multiverse clones." to_chat(usr, "Objective #[1]: [new_objective.explanation_text]") usr.mind.objectives += new_objective - ticker.mode.traitors += usr.mind + SSticker.mode.traitors += usr.mind usr.mind.special_role = "[usr.real_name] Prime" evil = FALSE else diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 3e22f3f84df..a71b51c58f0 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -273,11 +273,11 @@ Z.key = A.key Z.faction |= "\ref[U]" if(iscultist(U)) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(Z.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(Z.mind) else - ticker.mode.cult+=Z.mind - ticker.mode.update_cult_icons_added(Z.mind) + SSticker.mode.cult+=Z.mind + SSticker.mode.update_cult_icons_added(Z.mind) qdel(T) to_chat(Z, "You are a Juggernaut. Though slow, your shell can withstand extreme punishment, create shield walls and even deflect energy weapons, and rip apart enemies and walls alike.") to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.") @@ -289,11 +289,11 @@ Z.key = A.key Z.faction |= "\ref[U]" if(iscultist(U)) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(Z.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(Z.mind) else - ticker.mode.cult+=Z.mind - ticker.mode.update_cult_icons_added(Z.mind) + SSticker.mode.cult+=Z.mind + SSticker.mode.update_cult_icons_added(Z.mind) qdel(T) to_chat(Z, "You are a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.") to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.") @@ -305,11 +305,11 @@ Z.key = A.key Z.faction |= "\ref[U]" if(iscultist(U)) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(Z.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(Z.mind) else - ticker.mode.cult+=Z.mind - ticker.mode.update_cult_icons_added(Z.mind) + SSticker.mode.cult+=Z.mind + SSticker.mode.update_cult_icons_added(Z.mind) qdel(T) to_chat(Z, "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, use magic missile, repair allied constructs (by clicking on them), and most important of all create new constructs (Use your Artificer spell to summon a new construct shell and Summon Soulstone to create a new soulstone).") to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.") @@ -326,11 +326,11 @@ newstruct.faction |= "\ref[stoner]" newstruct.key = target.key if(stoner && iscultist(stoner) || cultoverride) - if(ticker.mode.name == "cult") - ticker.mode:add_cultist(newstruct.mind) + if(SSticker.mode.name == "cult") + SSticker.mode:add_cultist(newstruct.mind) else - ticker.mode.cult+=newstruct.mind - ticker.mode.update_cult_icons_added(newstruct.mind) + SSticker.mode.cult+=newstruct.mind + SSticker.mode.update_cult_icons_added(newstruct.mind) if(stoner && iswizard(stoner)) to_chat(newstruct, "You are still bound to serve your creator, follow [stoner.p_their()] orders and help [stoner.p_them()] complete [stoner.p_their()] goals at all costs.") else if(stoner && iscultist(stoner)) @@ -357,7 +357,7 @@ if(U) S.faction |= "\ref[U]" //Add the master as a faction, allowing inter-mob cooperation if(U && iscultist(U)) - ticker.mode.add_cultist(S.mind, 0) + SSticker.mode.add_cultist(S.mind, 0) S.cancel_camera() name = "soulstone: Shade of [T.real_name]" icon_state = "soulstone2" diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 0a1340d885b..29be588fe68 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -475,7 +475,7 @@ cost = 0 /datum/spellbook_entry/summon/ghosts/IsAvailible() - if(!ticker.mode) + if(!SSticker.mode) return FALSE else return TRUE @@ -495,9 +495,9 @@ log_name = "SG" /datum/spellbook_entry/summon/guns/IsAvailible() - if(!ticker.mode) // In case spellbook is placed on map + if(!SSticker.mode) // In case spellbook is placed on map return 0 - if(ticker.mode.name == "ragin' mages") + if(SSticker.mode.name == "ragin' mages") return 0 else return 1 @@ -518,9 +518,9 @@ log_name = "SU" /datum/spellbook_entry/summon/magic/IsAvailible() - if(!ticker.mode) // In case spellbook is placed on map + if(!SSticker.mode) // In case spellbook is placed on map return 0 - if(ticker.mode.name == "ragin' mages") + if(SSticker.mode.name == "ragin' mages") return 0 else return 1 diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index b249ebe8520..4a5bf190e04 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -58,7 +58,7 @@ /datum/game_mode/proc/remove_wizard(datum/mind/wizard_mind) if(wizard_mind in wizards) - ticker.mode.wizards -= wizard_mind + SSticker.mode.wizards -= wizard_mind wizard_mind.special_role = null wizard_mind.current.create_attack_log("De-wizarded") wizard_mind.current.spellremove(wizard_mind.current) @@ -67,7 +67,7 @@ to_chat(wizard_mind.current, "You have been turned into a robot! You can feel your magical powers fading away...") else to_chat(wizard_mind.current, "You have been brainwashed! You are no longer a wizard.") - ticker.mode.update_wiz_icons_removed(wizard_mind) + SSticker.mode.update_wiz_icons_removed(wizard_mind) /datum/game_mode/proc/update_wiz_icons_added(datum/mind/wiz_mind) var/datum/atom_hud/antag/wizhud = huds[ANTAG_HUD_WIZ] @@ -282,4 +282,4 @@ Made a proc so this is not repeated 14 (or more) times.*/ return 1 /proc/iswizard(mob/living/M as mob) - return istype(M) && M.mind && ticker && ticker.mode && (M.mind in ticker.mode.wizards) + return istype(M) && M.mind && SSticker && SSticker.mode && (M.mind in SSticker.mode.wizards) diff --git a/code/game/jobs/job/support_chaplain.dm b/code/game/jobs/job/support_chaplain.dm index 73ec2483af1..ac393e277a8 100644 --- a/code/game/jobs/job/support_chaplain.dm +++ b/code/game/jobs/job/support_chaplain.dm @@ -158,11 +158,11 @@ to_chat(H, "Welp, out of time, buddy. You're stuck. Next time choose faster.") accepted = 1 - if(ticker) - ticker.Bible_icon_state = B.icon_state - ticker.Bible_item_state = B.item_state - ticker.Bible_name = B.name - ticker.Bible_deity_name = B.deity_name + if(SSticker) + SSticker.Bible_icon_state = B.icon_state + SSticker.Bible_item_state = B.item_state + SSticker.Bible_name = B.name + SSticker.Bible_deity_name = B.deity_name feedback_set_details("religion_deity", "[new_deity]") feedback_set_details("religion_book", "[new_book_style]") diff --git a/code/game/jobs/job_objective.dm b/code/game/jobs/job_objective.dm index 90bac6d8383..4456bb571e5 100644 --- a/code/game/jobs/job_objective.dm +++ b/code/game/jobs/job_objective.dm @@ -44,7 +44,7 @@ /datum/game_mode/proc/declare_job_completion() var/text = "
Job Completion" - for(var/datum/mind/employee in ticker.minds) + for(var/datum/mind/employee in SSticker.minds) if(!employee.job_objectives.len)//If the employee had no objectives, don't need to process this. continue diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 7ce515365ae..80fed112c7a 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -417,24 +417,24 @@ /obj/machinery/clonepod/proc/update_clone_antag(var/mob/living/carbon/human/H) // Check to see if the clone's mind is an antagonist of any kind and handle them accordingly to make sure they get their spells, HUD/whatever else back. callHook("clone", list(H)) - if((H.mind in ticker.mode:revolutionaries) || (H.mind in ticker.mode:head_revolutionaries)) - ticker.mode.update_rev_icons_added() //So the icon actually appears - if(H.mind in ticker.mode.syndicates) - ticker.mode.update_synd_icons_added() - if(H.mind in ticker.mode.cult) - ticker.mode.add_cultist(occupant.mind) - ticker.mode.update_cult_icons_added() //So the icon actually appears - ticker.mode.update_cult_comms_added(H.mind) //So the comms actually appears - if((H.mind in ticker.mode.implanter) || (H.mind in ticker.mode.implanted)) - ticker.mode.update_traitor_icons_added(H.mind) //So the icon actually appears + if((H.mind in SSticker.mode:revolutionaries) || (H.mind in SSticker.mode:head_revolutionaries)) + SSticker.mode.update_rev_icons_added() //So the icon actually appears + if(H.mind in SSticker.mode.syndicates) + SSticker.mode.update_synd_icons_added() + if(H.mind in SSticker.mode.cult) + SSticker.mode.add_cultist(occupant.mind) + SSticker.mode.update_cult_icons_added() //So the icon actually appears + SSticker.mode.update_cult_comms_added(H.mind) //So the comms actually appears + if((H.mind in SSticker.mode.implanter) || (H.mind in SSticker.mode.implanted)) + SSticker.mode.update_traitor_icons_added(H.mind) //So the icon actually appears if(H.mind.vampire) H.mind.vampire.update_owner(H) - if((H.mind in ticker.mode.vampire_thralls) || (H.mind in ticker.mode.vampire_enthralled)) - ticker.mode.update_vampire_icons_added(H.mind) - if(H.mind in ticker.mode.changelings) - ticker.mode.update_change_icons_added(H.mind) - if((H.mind in ticker.mode.shadowling_thralls) || (H.mind in ticker.mode.shadows)) - ticker.mode.update_shadow_icons_added(H.mind) + if((H.mind in SSticker.mode.vampire_thralls) || (H.mind in SSticker.mode.vampire_enthralled)) + SSticker.mode.update_vampire_icons_added(H.mind) + if(H.mind in SSticker.mode.changelings) + SSticker.mode.update_change_icons_added(H.mind) + if((H.mind in SSticker.mode.shadowling_thralls) || (H.mind in SSticker.mode.shadows)) + SSticker.mode.update_shadow_icons_added(H.mind) //Put messages in the connected computer's temp var for display. /obj/machinery/clonepod/proc/connected_message(message) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 67f1dba85f0..38cc0b56866 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -134,8 +134,8 @@ return if(P:brainmob.mind) - ticker.mode.remove_cultist(P:brainmob.mind, 1) - ticker.mode.remove_revolutionary(P:brainmob.mind, 1) + SSticker.mode.remove_cultist(P:brainmob.mind, 1) + SSticker.mode.remove_revolutionary(P:brainmob.mind, 1) user.drop_item() P.loc = src diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index e369b203759..d064dbda743 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -439,7 +439,7 @@ to_chat(user, "The emergency shuttle may not be called while returning to Central Command.") return - if(ticker.mode.name == "blob") + if(SSticker.mode.name == "blob") to_chat(user, "Under directive 7-10, [station_name()] is quarantined until further notice.") return @@ -464,7 +464,7 @@ to_chat(user, "The shuttle is refueling. Please wait another [round((54000-world.time)/600)] minutes before trying again.") return - if(ticker.mode.name == "epidemic") + if(SSticker.mode.name == "epidemic") to_chat(user, "Under directive 7-10, [station_name()] is quarantined until further notice.") return @@ -481,7 +481,7 @@ /proc/cancel_call_proc(var/mob/user) - if(ticker.mode.name == "meteor") + if(SSticker.mode.name == "meteor") return if(SSshuttle.cancelEvac(user)) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 9674a60c7d4..0ab3d01ddf1 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -53,7 +53,7 @@ var/dat - if(!( ticker )) + if(!( SSticker )) return dat += "

[storage_name]
" @@ -364,13 +364,13 @@ // Skip past any cult sacrifice objective using this person if(GAMEMODE_IS_CULT && is_sacrifice_target(occupant.mind)) - var/datum/game_mode/cult/cult_mode = ticker.mode + var/datum/game_mode/cult/cult_mode = SSticker.mode var/list/p_s_t = cult_mode.get_possible_sac_targets() if(p_s_t.len) cult_mode.sacrifice_target = pick(p_s_t) - for(var/datum/mind/H in ticker.mode.cult) + for(var/datum/mind/H in SSticker.mode.cult) if(H.current) - to_chat(H.current, "[ticker.cultdat.entity_name] murmurs, [occupant] is beyond your reach. Sacrifice [cult_mode.sacrifice_target.current] instead...
") + to_chat(H.current, "[SSticker.cultdat.entity_name] murmurs, [occupant] is beyond your reach. Sacrifice [cult_mode.sacrifice_target.current] instead...") else cult_mode.bypass_phase() @@ -403,8 +403,8 @@ occupant.mind.objectives.Cut() occupant.mind.special_role = null else - if(ticker.mode.name == "AutoTraitor") - var/datum/game_mode/traitor/autotraitor/current_mode = ticker.mode + if(SSticker.mode.name == "AutoTraitor") + var/datum/game_mode/traitor/autotraitor/current_mode = SSticker.mode current_mode.possible_traitors.Remove(occupant) // Delete them from datacore. diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 21ff909796f..f382af5259a 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -77,7 +77,7 @@ else do_animate("deny") return - if(!ticker) + if(!SSticker) return var/mob/living/M = AM if(!M.restrained() && M.mob_size > MOB_SIZE_TINY && (!(isrobot(M) && M.stat))) diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 6422e94dc74..1a63371915b 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -57,8 +57,8 @@ return if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/N = M - ticker.mode.equip_traitor(N) - ticker.mode.traitors += N.mind + SSticker.mode.equip_traitor(N) + SSticker.mode.traitors += N.mind N.mind.special_role = SPECIAL_ROLE_TRAITOR var/objective = "Free Objective" switch(rand(1,100)) diff --git a/code/game/magic/Uristrunes.dm b/code/game/magic/Uristrunes.dm index 1a242594bfe..e0621db3d9b 100644 --- a/code/game/magic/Uristrunes.dm +++ b/code/game/magic/Uristrunes.dm @@ -1,7 +1,7 @@ /proc/get_rune_cult(word) var/animated - if(word && !(ticker.cultdat.theme == "fire" || ticker.cultdat.theme == "death")) + if(word && !(SSticker.cultdat.theme == "fire" || SSticker.cultdat.theme == "death")) animated = 1 else animated = 0 @@ -18,11 +18,11 @@ var/runetype = "rune" var/lookup = "[symbol_bits]-[animated]" - if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way + if(!SSticker.mode)//work around for maps with runes and cultdat is not loaded all the way runetype = "rune" - else if(ticker.cultdat.theme == "fire") + else if(SSticker.cultdat.theme == "fire") runetype = "fire-rune" - else if(ticker.cultdat.theme == "death") + else if(SSticker.cultdat.theme == "death") runetype = "death-rune" diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 7cfd8bbec45..45bfb37f035 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -28,7 +28,7 @@ var/global/list/image/splatter_cache = list() . = ..() update_icon() if(GAMEMODE_IS_CULT) - var/datum/game_mode/cult/mode_ticker = ticker.mode + var/datum/game_mode/cult/mode_ticker = SSticker.mode var/turf/T = get_turf(src) if(T && (is_station_level(T.z)))//F I V E T I L E S if(!(T in mode_ticker.bloody_floors)) @@ -48,7 +48,7 @@ var/global/list/image/splatter_cache = list() /obj/effect/decal/cleanable/blood/Destroy() if(GAMEMODE_IS_CULT) - var/datum/game_mode/cult/mode_ticker = ticker.mode + var/datum/game_mode/cult/mode_ticker = SSticker.mode var/turf/T = get_turf(src) if(T && (is_station_level(T.z))) mode_ticker.bloody_floors -= T diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm index 1231c8136fa..04ea1dc0841 100644 --- a/code/game/objects/effects/effect_system/effect_system.dm +++ b/code/game/objects/effects/effect_system/effect_system.dm @@ -14,11 +14,11 @@ would spawn and follow the beaker, even if it is carried or thrown. /obj/effect/particle_effect/New() ..() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) /obj/effect/particle_effect/Destroy() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) return ..() diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 2fb1aae8ff0..a618383a819 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -155,14 +155,14 @@ /obj/item/flash/proc/terrible_conversion_proc(mob/M, mob/user) if(ishuman(M) && ishuman(user) && M.stat != DEAD) - if(user.mind && (user.mind in ticker.mode.head_revolutionaries)) + if(user.mind && (user.mind in SSticker.mode.head_revolutionaries)) if(M.client) if(M.stat == CONSCIOUS) M.mind_initialize() //give them a mind datum if they don't have one. var/resisted if(!ismindshielded(M)) - if(user.mind in ticker.mode.head_revolutionaries) - if(ticker.mode.add_revolutionary(M.mind)) + if(user.mind in SSticker.mode.head_revolutionaries) + if(SSticker.mode.add_revolutionary(M.mind)) times_used -- //Flashes less likely to burn out for headrevs when used for conversion else resisted = 1 diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e65c9a683a7..b051b2f732e 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -51,7 +51,7 @@ if(((CLUMSY in user.mutations) || user.getBrainLoss() >= 60) && prob(50)) //too dumb to use flashlight properly return ..() //just hit them in the head - if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") //don't have dexterity + if(!(istype(user, /mob/living/carbon/human) || SSticker) && SSticker.mode.name != "monkey") //don't have dexterity to_chat(user, "You don't have the dexterity to do this!") return diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index e5bbeef7686..c6cfe03a151 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -31,8 +31,8 @@ var/list/world_uplinks = list() /obj/item/uplink/New() ..() - welcome = ticker.mode.uplink_welcome - uses = ticker.mode.uplink_uses + welcome = SSticker.mode.uplink_welcome + uses = SSticker.mode.uplink_uses uplink_items = get_uplink_items() world_uplinks += src diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 65f504b4ae0..5892381a993 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -245,7 +245,7 @@ to_chat(user, "Sticking a dead [M] into the frame would sort of defeat the purpose.") return - if(M.brainmob.mind in ticker.mode.head_revolutionaries) + if(M.brainmob.mind in SSticker.mode.head_revolutionaries) to_chat(user, "The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [M].") return diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index a20dd86c897..68e731b8c44 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -443,15 +443,15 @@ return ..() if(!user.mind || !user.mind.isholy) - to_chat(user, "You are not close enough with [ticker.Bible_deity_name] to use [src].") + to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].") return if(praying) to_chat(user, "You are already using [src].") return - user.visible_message("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [ticker.Bible_deity_name].", \ - "You kneel[M == user ? null : " next to [M]"] and begin a prayer to [ticker.Bible_deity_name].") + user.visible_message("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [SSticker.Bible_deity_name].", \ + "You kneel[M == user ? null : " next to [M]"] and begin a prayer to [SSticker.Bible_deity_name].") praying = 1 if(do_after(user, 150, target = M)) @@ -460,18 +460,18 @@ if(target.mind) if(iscultist(target)) - ticker.mode.remove_cultist(target.mind) // This proc will handle message generation. + SSticker.mode.remove_cultist(target.mind) // This proc will handle message generation. praying = 0 return if(target.mind.vampire && !target.mind.vampire.get_ability(/datum/vampire_passive/full)) // Getting a full prayer off on a vampire will interrupt their powers for a large duration. target.mind.vampire.nullified = max(120, target.mind.vampire.nullified + 120) - to_chat(target, "[user]'s prayer to [ticker.Bible_deity_name] has interfered with your power!") + to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has interfered with your power!") praying = 0 return if(prob(25)) - to_chat(target, "[user]'s prayer to [ticker.Bible_deity_name] has eased your pain!") + to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has eased your pain!") target.adjustToxLoss(-5) target.adjustOxyLoss(-5) target.adjustBruteLoss(-5) @@ -480,7 +480,7 @@ praying = 0 else - to_chat(user, "Your prayer to [ticker.Bible_deity_name] was interrupted.") + to_chat(user, "Your prayer to [SSticker.Bible_deity_name] was interrupted.") praying = 0 /obj/item/nullrod/rosary/process() @@ -506,13 +506,13 @@ /obj/item/nullrod/salt/attack_self(mob/user) if(!user.mind || !user.mind.isholy) - to_chat(user, "You are not close enough with [ticker.Bible_deity_name] to use [src].") + to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].") return if(!(ghostcall_CD > world.time)) ghostcall_CD = world.time + 3000 //deciseconds..5 minutes - user.visible_message("[user] kneels and begins to utter a prayer to [ticker.Bible_deity_name] while drawing a circle with salt!", \ - "You kneel and begin a prayer to [ticker.Bible_deity_name] while drawing a circle!") + user.visible_message("[user] kneels and begins to utter a prayer to [SSticker.Bible_deity_name] while drawing a circle with salt!", \ + "You kneel and begin a prayer to [SSticker.Bible_deity_name] while drawing a circle!") notify_ghosts("The Chaplain is calling ghosts to [get_area(src)] with [name]!", source = src) else to_chat(user, "You need to wait before using [src] again.") diff --git a/code/game/objects/items/weapons/implants/implant_mindshield.dm b/code/game/objects/items/weapons/implants/implant_mindshield.dm index 739fe2827e4..bc942b73d81 100644 --- a/code/game/objects/items/weapons/implants/implant_mindshield.dm +++ b/code/game/objects/items/weapons/implants/implant_mindshield.dm @@ -19,14 +19,14 @@ /obj/item/implant/mindshield/implant(mob/target) if(..()) - if(target.mind in ticker.mode.head_revolutionaries || is_shadow_or_thrall(target)) + if(target.mind in SSticker.mode.head_revolutionaries || is_shadow_or_thrall(target)) target.visible_message("[target] seems to resist the implant!", "You feel the corporate tendrils of Nanotrasen try to invade your mind!") removed(target, 1) qdel(src) return -1 - if(target.mind in ticker.mode.revolutionaries) - ticker.mode.remove_revolutionary(target.mind) - if(target.mind in ticker.mode.cult) + if(target.mind in SSticker.mode.revolutionaries) + SSticker.mode.remove_revolutionary(target.mind) + if(target.mind in SSticker.mode.cult) to_chat(target, "You feel the corporate tendrils of Nanotrasen try to invade your mind!") else to_chat(target, "Your mind feels hardened - more resistant to brainwashing.") diff --git a/code/game/objects/items/weapons/implants/implant_traitor.dm b/code/game/objects/items/weapons/implants/implant_traitor.dm index 58f78a7be4e..16d8943567d 100644 --- a/code/game/objects/items/weapons/implants/implant_traitor.dm +++ b/code/game/objects/items/weapons/implants/implant_traitor.dm @@ -45,15 +45,15 @@ return -1 H.implanting = 1 to_chat(H, "You feel completely loyal to [user.name].") - if(!(user.mind in ticker.mode.implanter)) - ticker.mode.implanter[ref] = list() - implanters = ticker.mode.implanter[ref] + if(!(user.mind in SSticker.mode.implanter)) + SSticker.mode.implanter[ref] = list() + implanters = SSticker.mode.implanter[ref] implanters.Add(H.mind) - ticker.mode.implanted.Add(H.mind) - ticker.mode.implanted[H.mind] = user.mind - //ticker.mode.implanter[user.mind] += H.mind - ticker.mode.implanter[ref] = implanters - ticker.mode.traitors += H.mind + SSticker.mode.implanted.Add(H.mind) + SSticker.mode.implanted[H.mind] = user.mind + //SSticker.mode.implanter[user.mind] += H.mind + SSticker.mode.implanter[ref] = implanters + SSticker.mode.traitors += H.mind H.mind.special_role = SPECIAL_ROLE_TRAITOR to_chat(H, "You're now completely loyal to [user.name]! You now must lay down your life to protect [user.p_them()] and assist in [user.p_their()] goals at any cost.") var/datum/objective/protect/mindslave/MS = new @@ -64,8 +64,8 @@ for(var/datum/objective/objective in H.mind.objectives) to_chat(H, "Objective #1: [objective.explanation_text]") - ticker.mode.update_traitor_icons_added(user.mind) - ticker.mode.update_traitor_icons_added(H.mind)//handles datahuds/observerhuds + SSticker.mode.update_traitor_icons_added(user.mind) + SSticker.mode.update_traitor_icons_added(H.mind)//handles datahuds/observerhuds if(user.mind.som)//do not add if not a traitor..and you just picked up an implanter in the hall... var/datum/mindslaves/slaved = user.mind.som @@ -77,12 +77,12 @@ log_admin("[key_name(user)] has mind-slaved [key_name(H)].") activated = 1 if(jobban_isbanned(M, ROLE_SYNDICATE)) - ticker.mode.replace_jobbanned_player(M, ROLE_SYNDICATE) + SSticker.mode.replace_jobbanned_player(M, ROLE_SYNDICATE) return 1 return 0 /obj/item/implant/traitor/removed(mob/target) if(..()) - ticker.mode.remove_traitor_mind(target.mind) + SSticker.mode.remove_traitor_mind(target.mind) return 1 return 0 \ No newline at end of file diff --git a/code/game/objects/items/weapons/staff.dm b/code/game/objects/items/weapons/staff.dm index 54ef5f06f85..15b0b914391 100644 --- a/code/game/objects/items/weapons/staff.dm +++ b/code/game/objects/items/weapons/staff.dm @@ -27,7 +27,7 @@ if(user) user.update_inv_l_hand() user.update_inv_r_hand() - if(user.mind in ticker.mode.wizards) + if(user.mind in SSticker.mode.wizards) user.flying = wielded ? 1 : 0 if(wielded) to_chat(user, "You hold \the [src] between your legs.") diff --git a/code/game/objects/items/weapons/storage/bible.dm b/code/game/objects/items/weapons/storage/bible.dm index dfa1bf97358..eb778b6a280 100644 --- a/code/game/objects/items/weapons/storage/bible.dm +++ b/code/game/objects/items/weapons/storage/bible.dm @@ -45,7 +45,7 @@ else M.LAssailant = user - if(!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") + if(!(istype(user, /mob/living/carbon/human) || SSticker) && SSticker.mode.name != "monkey") to_chat(user, "You don't have the dexterity to do this!") return if(!user.mind || !user.mind.isholy) diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index faf86394dba..58a2d0464fc 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -31,17 +31,17 @@ /obj/structure/New() ..() if(smooth) - if(ticker && ticker.current_state == GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state == GAME_STATE_PLAYING) queue_smooth(src) queue_smooth_neighbors(src) icon_state = "" if(climbable) verbs += /obj/structure/proc/climb_on - if(ticker) + if(SSticker) cameranet.updateVisibility(src) /obj/structure/Destroy() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) if(smooth) var/turf/T = get_turf(src) diff --git a/code/game/sound.dm b/code/game/sound.dm index 3846e2edeaa..d27239ae4e7 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -108,10 +108,10 @@ SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = chan)) /client/proc/playtitlemusic() - if(!ticker || !ticker.login_music || config.disable_lobby_music) + if(!SSticker || !SSticker.login_music || config.disable_lobby_music) return if(prefs.sound & SOUND_LOBBY) - SEND_SOUND(src, sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC)) // MAD JAMS + SEND_SOUND(src, sound(SSticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC)) // MAD JAMS /proc/get_rand_frequency() return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs. diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index f1172435b1b..069fefe8103 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -144,8 +144,8 @@ /turf/simulated/floor/engine/cult/New() ..() - if(ticker.mode)//only do this if the round is going..otherwise..fucking asteroid.. - icon_state = ticker.cultdat.cult_floor_icon_state + if(SSticker.mode)//only do this if the round is going..otherwise..fucking asteroid.. + icon_state = SSticker.cultdat.cult_floor_icon_state /turf/simulated/floor/engine/cult/narsie_act() return diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm index 18492da2d00..d738b13b07f 100644 --- a/code/game/turfs/simulated/walls_misc.dm +++ b/code/game/turfs/simulated/walls_misc.dm @@ -12,9 +12,9 @@ /turf/simulated/wall/cult/New() ..() - if(ticker.mode)//game hasn't started offically don't do shit.. + if(SSticker.mode)//game hasn't started offically don't do shit.. new /obj/effect/temp_visual/cult/turf(src) - icon_state = ticker.cultdat.cult_wall_icon_state + icon_state = SSticker.cultdat.cult_wall_icon_state /turf/simulated/wall/cult/artificer name = "runed stone wall" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 677357cf170..26a71991afd 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -38,7 +38,7 @@ ..() for(var/atom/movable/AM in src) Entered(AM) - if(smooth && ticker && ticker.current_state == GAME_STATE_PLAYING) + if(smooth && SSticker && SSticker.current_state == GAME_STATE_PLAYING) queue_smooth(src) /hook/startup/proc/smooth_world() @@ -403,7 +403,7 @@ return(2) /turf/proc/visibilityChanged() - if(ticker) + if(SSticker) cameranet.updateVisibility(src) /turf/attackby(obj/item/I, mob/user, params) @@ -456,7 +456,7 @@ blueprint_data += I /turf/proc/add_blueprints_preround(atom/movable/AM) - if(!ticker || ticker.current_state != GAME_STATE_PLAYING) + if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) add_blueprints(AM) /turf/proc/empty(turf_type=/turf/space) diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm index 46d5c4e36ba..8febe20e840 100644 --- a/code/game/verbs/suicide.dm +++ b/code/game/verbs/suicide.dm @@ -59,7 +59,7 @@ to_chat(src, "You're already dead!") return - if(!ticker) + if(!SSticker) to_chat(src, "You can't commit suicide before the game starts!") return @@ -116,7 +116,7 @@ to_chat(src, "You're already dead!") return - if(!ticker) + if(!SSticker) to_chat(src, "You can't commit suicide before the game starts!") return diff --git a/code/game/world.dm b/code/game/world.dm index 86ca6d883bd..8106aca31d3 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -32,7 +32,6 @@ var/global/list/map_transition_config = MAP_TRANSITION_CONFIG processScheduler = new spawn(1) - processScheduler.deferSetupFor(/datum/controller/process/ticker) processScheduler.setup() @@ -122,10 +121,10 @@ var/world_topic_spam_protect_time = world.timeofday s["map_name"] = map_name ? map_name : "Unknown" if(key_valid) - if(ticker && ticker.mode) - s["real_mode"] = ticker.mode.name + if(SSticker && SSticker.mode) + s["real_mode"] = SSticker.mode.name s["security_level"] = get_security_level() - s["ticker_state"] = ticker.current_state + s["ticker_state"] = SSticker.current_state if(SSshuttle && SSshuttle.emergency) // Shuttle status, see /__DEFINES/stat.dm @@ -301,8 +300,8 @@ var/world_topic_spam_protect_time = world.timeofday if(!isnull(time)) delay = max(0,time) else - delay = ticker.restart_timeout - if(ticker.delay_end) + delay = SSticker.restart_timeout + if(SSticker.delay_end) to_chat(world, "An admin has delayed the round end.") return to_chat(world, "Rebooting world in [delay/10] [delay > 10 ? "seconds" : "second"]. [reason]") @@ -311,12 +310,12 @@ var/world_topic_spam_protect_time = world.timeofday var/sound_length = GLOB.round_end_sounds[round_end_sound] if(delay > sound_length) // If there's time, play the round-end sound before rebooting spawn(delay - sound_length) - if(!ticker.delay_end) + if(!SSticker.delay_end) world << round_end_sound sleep(delay) if(blackbox) blackbox.save_all_data_to_sql() - if(ticker.delay_end) + if(SSticker.delay_end) to_chat(world, "Reboot was cancelled by an admin.") return feedback_set_details("[feedback_c]","[feedback_r]") @@ -394,7 +393,7 @@ var/world_topic_spam_protect_time = world.timeofday s += "
" var/list/features = list() - if(ticker) + if(SSticker) if(master_mode && master_mode != "secret") features += master_mode else diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 4fcf95dbfd2..74b1aa00efd 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -572,7 +572,7 @@ var/global/nologevent = 0 delay = delay * 10 message_admins("[key_name_admin(usr)] has initiated a server restart with a delay of [delay/10] seconds") log_admin("[key_name(usr)] has initiated a server restart with a delay of [delay/10] seconds") - ticker.delay_end = 0 + SSticker.delay_end = 0 feedback_add_details("admin_verb","R") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! world.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "end_error", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", delay) @@ -672,14 +672,14 @@ var/global/nologevent = 0 if(!check_rights(R_SERVER)) return - if(!ticker) + if(!SSticker) alert("Unable to start the game as it is not set up.") return - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) if(config.start_now_confirmation) if(alert(usr, "This is a live server. Are you sure you want to start now?", "Start game", "Yes", "No") != "Yes") return - ticker.current_state = GAME_STATE_SETTING_UP + SSticker.current_state = GAME_STATE_SETTING_UP log_admin("[key_name(usr)] has started the game.") message_admins("[key_name_admin(usr)] has started the game.") feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -763,10 +763,10 @@ var/global/nologevent = 0 if(!check_rights(R_SERVER)) return - if(!ticker || ticker.current_state != GAME_STATE_PREGAME) - ticker.delay_end = !ticker.delay_end - log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + if(!SSticker || SSticker.current_state != GAME_STATE_PREGAME) + SSticker.delay_end = !SSticker.delay_end + log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].") + message_admins("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) return //alert("Round end delayed", null, null, null, null, null) going = !( going ) if(!( going )) @@ -780,32 +780,32 @@ var/global/nologevent = 0 ////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS /proc/is_special_character(mob/M as mob) // returns 1 for specail characters and 2 for heroes of gamemode - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) return 0 if(!istype(M)) return 0 - if((M.mind in ticker.mode.head_revolutionaries) || (M.mind in ticker.mode.revolutionaries)) - if(ticker.mode.config_tag == "revolution") + if((M.mind in SSticker.mode.head_revolutionaries) || (M.mind in SSticker.mode.revolutionaries)) + if(SSticker.mode.config_tag == "revolution") return 2 return 1 - if(M.mind in ticker.mode.cult) - if(ticker.mode.config_tag == "cult") + if(M.mind in SSticker.mode.cult) + if(SSticker.mode.config_tag == "cult") return 2 return 1 - if(M.mind in ticker.mode.syndicates) - if(ticker.mode.config_tag == "nuclear") + if(M.mind in SSticker.mode.syndicates) + if(SSticker.mode.config_tag == "nuclear") return 2 return 1 - if(M.mind in ticker.mode.wizards) - if(ticker.mode.config_tag == "wizard") + if(M.mind in SSticker.mode.wizards) + if(SSticker.mode.config_tag == "wizard") return 2 return 1 - if(M.mind in ticker.mode.changelings) - if(ticker.mode.config_tag == "changeling") + if(M.mind in SSticker.mode.changelings) + if(SSticker.mode.config_tag == "changeling") return 2 return 1 - if(M.mind in ticker.mode.abductors) - if(ticker.mode.config_tag == "abduction") + if(M.mind in SSticker.mode.abductors) + if(SSticker.mode.config_tag == "abduction") return 2 return 1 if(isrobot(M)) diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 36c0e5cf90d..c530af2401e 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -403,9 +403,9 @@ /datum/admins/proc/check_antagonists() if(!check_rights(R_ADMIN)) return - if(ticker && ticker.current_state >= GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state >= GAME_STATE_PLAYING) var/dat = "Round Status

Round Status

" - dat += "Current Game Mode: [ticker.mode.name]
" + dat += "Current Game Mode: [SSticker.mode.name]
" dat += "Round Duration: [round(ROUND_TIME / 36000)]:[add_zero(num2text(ROUND_TIME / 600 % 60), 2)]:[add_zero(num2text(ROUND_TIME / 10 % 60), 2)]
" dat += "Emergency shuttle
" if(SSshuttle.emergency.mode < SHUTTLE_CALL) @@ -418,10 +418,10 @@ else dat += "ETA: [(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]
" - dat += "[ticker.delay_end ? "End Round Normally" : "Delay Round End"]
" - if(ticker.mode.syndicates.len) + dat += "[SSticker.delay_end ? "End Round Normally" : "Delay Round End"]
" + if(SSticker.mode.syndicates.len) dat += "
" - for(var/datum/mind/N in ticker.mode.syndicates) + for(var/datum/mind/N in SSticker.mode.syndicates) var/mob/M = N.current if(M) dat += check_antagonists_line(M) @@ -442,20 +442,20 @@ dat += "in [disk_loc.loc] at ([disk_loc.x], [disk_loc.y], [disk_loc.z])" dat += "
Syndicates
" - if(ticker.mode.head_revolutionaries.len || ticker.mode.revolutionaries.len) + if(SSticker.mode.head_revolutionaries.len || SSticker.mode.revolutionaries.len) dat += "
" - for(var/datum/mind/N in ticker.mode.head_revolutionaries) + for(var/datum/mind/N in SSticker.mode.head_revolutionaries) var/mob/M = N.current if(!M) dat += "" else dat += check_antagonists_line(M, "(leader)") - for(var/datum/mind/N in ticker.mode.revolutionaries) + for(var/datum/mind/N in SSticker.mode.revolutionaries) var/mob/M = N.current if(M) dat += check_antagonists_line(M) dat += "
Revolutionaries
Head Revolutionary not found!
" - for(var/datum/mind/N in ticker.mode.get_living_heads()) + for(var/datum/mind/N in SSticker.mode.get_living_heads()) var/mob/M = N.current if(M) dat += check_antagonists_line(M) @@ -466,7 +466,7 @@ dat += "
Target(s)Location
" if(GAMEMODE_IS_BLOB) - var/datum/game_mode/blob/mode = ticker.mode + var/datum/game_mode/blob/mode = SSticker.mode dat += "
" dat += "" @@ -479,67 +479,67 @@ dat += "" dat += "
Blob
Progress: [blobs.len]/[mode.blobwincount]
Blob not found!
" - if(ticker.mode.blob_overminds.len) - dat += check_role_table("Blob Overminds", ticker.mode.blob_overminds) + if(SSticker.mode.blob_overminds.len) + dat += check_role_table("Blob Overminds", SSticker.mode.blob_overminds) - if(ticker.mode.changelings.len) - dat += check_role_table("Changelings", ticker.mode.changelings) + if(SSticker.mode.changelings.len) + dat += check_role_table("Changelings", SSticker.mode.changelings) - if(ticker.mode.wizards.len) - dat += check_role_table("Wizards", ticker.mode.wizards) + if(SSticker.mode.wizards.len) + dat += check_role_table("Wizards", SSticker.mode.wizards) - if(ticker.mode.raiders.len) - dat += check_role_table("Raiders", ticker.mode.raiders) + if(SSticker.mode.raiders.len) + dat += check_role_table("Raiders", SSticker.mode.raiders) /*if(ticker.mode.ninjas.len) dat += check_role_table("Ninjas", ticker.mode.ninjas)*/ - if(ticker.mode.cult.len) - dat += check_role_table("Cultists", ticker.mode.cult, 0) + if(SSticker.mode.cult.len) + dat += check_role_table("Cultists", SSticker.mode.cult, 0) dat += "
use Cult Mindspeak" if(GAMEMODE_IS_CULT) - var/datum/game_mode/cult/cult_round = ticker.mode + var/datum/game_mode/cult/cult_round = SSticker.mode if(!cult_round.narsie_condition_cleared) dat += "
complete objective (debug)" - if(ticker.mode.traitors.len) - dat += check_role_table("Traitors", ticker.mode.traitors) + if(SSticker.mode.traitors.len) + dat += check_role_table("Traitors", SSticker.mode.traitors) - if(ticker.mode.shadows.len) - dat += check_role_table("Shadowlings", ticker.mode.shadows) + if(SSticker.mode.shadows.len) + dat += check_role_table("Shadowlings", SSticker.mode.shadows) - if(ticker.mode.shadowling_thralls.len) - dat += check_role_table("Shadowling Thralls", ticker.mode.shadowling_thralls) + if(SSticker.mode.shadowling_thralls.len) + dat += check_role_table("Shadowling Thralls", SSticker.mode.shadowling_thralls) - if(ticker.mode.abductors.len) - dat += check_role_table("Abductors", ticker.mode.abductors) + if(SSticker.mode.abductors.len) + dat += check_role_table("Abductors", SSticker.mode.abductors) - if(ticker.mode.abductees.len) - dat += check_role_table("Abductees", ticker.mode.abductees) + if(SSticker.mode.abductees.len) + dat += check_role_table("Abductees", SSticker.mode.abductees) - if(ticker.mode.vampires.len) - dat += check_role_table("Vampires", ticker.mode.vampires) + if(SSticker.mode.vampires.len) + dat += check_role_table("Vampires", SSticker.mode.vampires) - if(ticker.mode.vampire_enthralled.len) - dat += check_role_table("Vampire Thralls", ticker.mode.vampire_enthralled) + if(SSticker.mode.vampire_enthralled.len) + dat += check_role_table("Vampire Thralls", SSticker.mode.vampire_enthralled) - if(ticker.mode.devils.len) - dat += check_role_table("Devils", ticker.mode.devils) + if(SSticker.mode.devils.len) + dat += check_role_table("Devils", SSticker.mode.devils) - if(ticker.mode.xenos.len) - dat += check_role_table("Xenos", ticker.mode.xenos) + if(SSticker.mode.xenos.len) + dat += check_role_table("Xenos", SSticker.mode.xenos) - if(ticker.mode.superheroes.len) - dat += check_role_table("Superheroes", ticker.mode.superheroes) + if(SSticker.mode.superheroes.len) + dat += check_role_table("Superheroes", SSticker.mode.superheroes) - if(ticker.mode.supervillains.len) - dat += check_role_table("Supervillains", ticker.mode.supervillains) + if(SSticker.mode.supervillains.len) + dat += check_role_table("Supervillains", SSticker.mode.supervillains) - if(ticker.mode.greyshirts.len) - dat += check_role_table("Greyshirts", ticker.mode.greyshirts) + if(SSticker.mode.greyshirts.len) + dat += check_role_table("Greyshirts", SSticker.mode.greyshirts) - if(ticker.mode.eventmiscs.len) - dat += check_role_table("Event Roles", ticker.mode.eventmiscs) + if(SSticker.mode.eventmiscs.len) + dat += check_role_table("Event Roles", SSticker.mode.eventmiscs) if(ts_spiderlist.len) var/list/spider_minds = list() @@ -559,8 +559,8 @@ count_spiderlings += 1 dat += "
Growing TS on-station: [count_eggs] egg[count_eggs != 1 ? "s" : ""], [count_spiderlings] spiderling[count_spiderlings != 1 ? "s" : ""].
" - if(ticker.mode.ert.len) - dat += check_role_table("ERT", ticker.mode.ert) + if(SSticker.mode.ert.len) + dat += check_role_table("ERT", SSticker.mode.ert) dat += "" usr << browse(dat, "window=roundstatus;size=400x500") diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 88d10abde98..f2be4898209 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -6,7 +6,7 @@ message_admins("[key_name_admin(usr)] has attempted to override the admin panel!") return - if(ticker.mode && ticker.mode.check_antagonists_topic(href, href_list)) + if(SSticker.mode && SSticker.mode.check_antagonists_topic(href, href_list)) check_antagonists() return @@ -315,9 +315,9 @@ else if(href_list["delay_round_end"]) if(!check_rights(R_SERVER)) return - ticker.delay_end = !ticker.delay_end - log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("[key_name_admin(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + SSticker.delay_end = !SSticker.delay_end + log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].") + message_admins("[key_name_admin(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) href_list["secretsadmin"] = "check_antagonist" else if(href_list["simplemake"]) @@ -1085,7 +1085,7 @@ else if(href_list["c_mode"]) if(!check_rights(R_ADMIN)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) var/dat = {"What mode do you wish to play?
"} for(var/mode in config.modes) @@ -1098,7 +1098,7 @@ else if(href_list["f_secret"]) if(!check_rights(R_ADMIN)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) if(master_mode != "secret") return alert(usr, "The game mode has to be secret!", null, null, null, null) @@ -1112,7 +1112,7 @@ else if(href_list["c_mode2"]) if(!check_rights(R_ADMIN|R_SERVER)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [master_mode].") @@ -1125,7 +1125,7 @@ else if(href_list["f_secret2"]) if(!check_rights(R_ADMIN|R_SERVER)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) if(master_mode != "secret") return alert(usr, "The game mode has to be secret!", null, null, null, null) @@ -1559,25 +1559,25 @@ alert("Couldn't locate cult mode datum! This shouldn't ever happen, tell a coder!") return - var/datum/game_mode/cult/cult_round = ticker.mode + var/datum/game_mode/cult/cult_round = SSticker.mode cult_round.bypass_phase() message_admins("Admin [key_name_admin(usr)] has unlocked the Cult's next objective.") log_admin("Admin [key_name_admin(usr)] has unlocked the Cult's next objective.") else if(href_list["cult_mindspeak"]) - var/input = stripped_input(usr, "Communicate to all the cultists with the voice of [ticker.cultdat.entity_name]", "Voice of [ticker.cultdat.entity_name]", "") + var/input = stripped_input(usr, "Communicate to all the cultists with the voice of [SSticker.cultdat.entity_name]", "Voice of [SSticker.cultdat.entity_name]", "") if(!input) return - for(var/datum/mind/H in ticker.mode.cult) + for(var/datum/mind/H in SSticker.mode.cult) if (H.current) - to_chat(H.current, "[ticker.cultdat.entity_name] murmurs, [input]") + to_chat(H.current, "[SSticker.cultdat.entity_name] murmurs, [input]") for(var/mob/dead/observer/O in GLOB.player_list) - to_chat(O, "[ticker.cultdat.entity_name] murmurs, [input]") + to_chat(O, "[SSticker.cultdat.entity_name] murmurs, [input]") - message_admins("Admin [key_name_admin(usr)] has talked with the Voice of [ticker.cultdat.entity_name].") - log_admin("[key_name(usr)] Voice of [ticker.cultdat.entity_name]: [input]") + message_admins("Admin [key_name_admin(usr)] has talked with the Voice of [SSticker.cultdat.entity_name].") + log_admin("[key_name(usr)] Voice of [SSticker.cultdat.entity_name]: [input]") else if(href_list["adminplayerobservecoodjump"]) if(!check_rights(R_ADMIN)) return @@ -1958,8 +1958,8 @@ kill_objective.target = H.mind kill_objective.explanation_text = "Assassinate [H.real_name], the [H.mind.assigned_role]." newtraitormind.objectives += kill_objective - ticker.mode.equip_traitor(newtraitor) - ticker.mode.traitors |= newtraitor.mind + SSticker.mode.equip_traitor(newtraitor) + SSticker.mode.traitors |= newtraitor.mind to_chat(newtraitor, "ATTENTION: It is time to pay your debt to the Syndicate...") to_chat(newtraitor, "You are now a traitor.") to_chat(newtraitor, "Goal: KILL [H.real_name], currently in [get_area(H.loc)]"); @@ -2341,7 +2341,7 @@ else if(href_list["traitor"]) if(!check_rights(R_ADMIN|R_MOD)) return - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) alert("The game hasn't started yet!") return @@ -2484,7 +2484,7 @@ else if(href_list["kick_all_from_lobby"]) if(!check_rights(R_ADMIN)) return - if(ticker && ticker.current_state == GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state == GAME_STATE_PLAYING) var/afkonly = text2num(href_list["afkonly"]) if(alert("Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby?","Confirmation","Yes","Cancel") != "Yes") return @@ -2573,7 +2573,7 @@ feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","TriAI") if("gravity") - if(!(ticker && ticker.mode)) + if(!(SSticker && SSticker.mode)) to_chat(usr, "Please wait until the game starts! Not sure how it will work otherwise.") return gravity_is_on = !gravity_is_on @@ -2609,7 +2609,7 @@ message_admins("[key_name_admin(usr)] made all SMESs powered", 1) power_restore_quick() if("prisonwarp") - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!", null, null, null, null, null) return feedback_inc("admin_secrets_fun_used",1) @@ -2651,7 +2651,7 @@ H.loc = pick(prisonsecuritywarp) prisonwarped += H if("traitor_all") - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return var/objective = sanitize(copytext(input("Enter an objective"),1,MAX_MESSAGE_LEN)) @@ -2663,24 +2663,24 @@ if(H.stat == 2 || !H.client || !H.mind) continue if(is_special_character(H)) continue //traitorize(H, objective, 0) - ticker.mode.traitors += H.mind + SSticker.mode.traitors += H.mind H.mind.special_role = SPECIAL_ROLE_TRAITOR var/datum/objective/new_objective = new new_objective.owner = H new_objective.explanation_text = objective H.mind.objectives += new_objective - ticker.mode.greet_traitor(H.mind) + SSticker.mode.greet_traitor(H.mind) //ticker.mode.forge_traitor_objectives(H.mind) - ticker.mode.finalize_traitor(H.mind) + SSticker.mode.finalize_traitor(H.mind) for(var/mob/living/silicon/A in GLOB.player_list) - ticker.mode.traitors += A.mind + SSticker.mode.traitors += A.mind A.mind.special_role = SPECIAL_ROLE_TRAITOR var/datum/objective/new_objective = new new_objective.owner = A new_objective.explanation_text = objective A.mind.objectives += new_objective - ticker.mode.greet_traitor(A.mind) - ticker.mode.finalize_traitor(A.mind) + SSticker.mode.greet_traitor(A.mind) + SSticker.mode.finalize_traitor(A.mind) message_admins("[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]", 1) log_admin("[key_name(usr)] used everyone is a traitor secret. Objective is [objective]") @@ -2946,10 +2946,10 @@ if("showailaws") output_ai_laws() if("showgm") - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") - else if(ticker.mode) - alert("The game mode is [ticker.mode.name]") + else if(SSticker.mode) + alert("The game mode is [SSticker.mode.name]") else alert("For some reason there's a ticker, but not a game mode") if("manifest") var/dat = "Showing Crew Manifest.
" @@ -3284,7 +3284,7 @@ return G.report_message = description message_admins("[key_name_admin(usr)] created \"[G.name]\" station goal.") - ticker.mode.station_goals += G + SSticker.mode.station_goals += G modify_goals() else if(href_list["showdetails"]) @@ -3408,7 +3408,7 @@ protect_objective.target = H.mind protect_objective.explanation_text = "Protect [H.real_name], the [H.mind.assigned_role]." hunter_mind.objectives += protect_objective - ticker.mode.traitors |= hunter_mob.mind + SSticker.mode.traitors |= hunter_mob.mind to_chat(hunter_mob, "ATTENTION: You are now on a mission!") to_chat(hunter_mob, "Goal: [killthem ? "MURDER" : "PROTECT"] [H.real_name], currently in [get_area(H.loc)]. "); if(killthem) diff --git a/code/modules/admin/verbs/cinematic.dm b/code/modules/admin/verbs/cinematic.dm index 3449350e11f..63ebd52d09b 100644 --- a/code/modules/admin/verbs/cinematic.dm +++ b/code/modules/admin/verbs/cinematic.dm @@ -3,7 +3,7 @@ set category = "Debug" set desc = "Shows a cinematic." // Intended for testing but I thought it might be nice for events on the rare occasion Feel free to comment it out if it's not wanted. set hidden = 1 - if(!ticker) + if(!SSticker) return switch(cinematic) if("explosion") @@ -14,4 +14,4 @@ override = input(src, "mode = ?","Enter Parameter", null) as anything in list("nuclear emergency", "fake", "no override") if(0) override = input(src, "mode = ?","Enter Parameter", null) as anything in list("blob", "nuclear emergency", "AI malfunction", "no override") - ticker.station_explosion_cinematic(parameter, override) \ No newline at end of file + SSticker.station_explosion_cinematic(parameter, override) \ No newline at end of file diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 3492061f1f6..2aabeba57e9 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -215,7 +215,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon/human)) @@ -233,7 +233,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return @@ -293,7 +293,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(ishuman(M)) @@ -313,7 +313,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(ishuman(M)) @@ -333,7 +333,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(ishuman(M)) @@ -405,7 +405,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_EVENT)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon/human)) @@ -818,7 +818,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!check_rights(R_SPAWN)) return - if(!ticker) + if(!SSticker) alert("Wait until the game starts") return if(istype(M, /mob/living/carbon)) diff --git a/code/modules/admin/verbs/gimmick_team.dm b/code/modules/admin/verbs/gimmick_team.dm index 081c820aaee..cad93e8b880 100644 --- a/code/modules/admin/verbs/gimmick_team.dm +++ b/code/modules/admin/verbs/gimmick_team.dm @@ -7,7 +7,7 @@ set desc = "Spawns a group of players in the specified outfit." if(!check_rights(R_EVENT)) return - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return if(alert("Do you want to spawn a Gimmick Team at YOUR CURRENT LOCATION?",,"Yes","No")=="No") @@ -82,7 +82,7 @@ H.mind.store_memory("[themission]

") if(is_syndicate) - ticker.mode.traitors |= H.mind //Adds them to extra antag list + SSticker.mode.traitors |= H.mind //Adds them to extra antag list players_spawned++ if(players_spawned >= teamsize) diff --git a/code/modules/admin/verbs/honksquad.dm b/code/modules/admin/verbs/honksquad.dm index b4c0e6a05eb..f4013edbe1e 100644 --- a/code/modules/admin/verbs/honksquad.dm +++ b/code/modules/admin/verbs/honksquad.dm @@ -4,7 +4,7 @@ var/const/honksquad_possible = 6 //if more Commandos are needed in the future var/global/sent_honksquad = 0 /client/proc/honksquad() - if(!ticker) + if(!SSticker) to_chat(usr, "The game hasn't started yet!") return if(world.time < 6000) @@ -95,7 +95,7 @@ var/global/sent_honksquad = 0 new_honksquad.mind.special_role = SPECIAL_ROLE_HONKSQUAD new_honksquad.mind.offstation_role = TRUE new_honksquad.add_language("Clownish") - ticker.mode.traitors |= new_honksquad.mind//Adds them to current traitor list. Which is really the extra antagonist list. + SSticker.mode.traitors |= new_honksquad.mind//Adds them to current traitor list. Which is really the extra antagonist list. new_honksquad.equip_honksquad(honk_leader_selected) return new_honksquad diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm index 551076be62a..dad253eed3d 100644 --- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm +++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm @@ -10,7 +10,7 @@ var/global/sent_syndicate_infiltration_team = 0 if(!check_rights(R_ADMIN)) to_chat(src, "Only administrators may use this command.") return - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return if(alert("Do you want to send in the Syndicate Infiltration Team?",,"Yes","No")=="No") @@ -132,7 +132,7 @@ var/global/sent_syndicate_infiltration_team = 0 new_syndicate_infiltrator.mind.assigned_role = "Syndicate Infiltrator" new_syndicate_infiltrator.mind.special_role = "Syndicate Infiltrator" new_syndicate_infiltrator.mind.offstation_role = TRUE //they can flee to z2 so make them inelligible as antag targets - ticker.mode.traitors |= new_syndicate_infiltrator.mind //Adds them to extra antag list + SSticker.mode.traitors |= new_syndicate_infiltrator.mind //Adds them to extra antag list new_syndicate_infiltrator.equip_syndicate_infiltrator(syndicate_leader_selected, uplink_tc, is_mgmt) return new_syndicate_infiltrator diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 4b3905f37e2..ab7a8ab75e8 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -175,7 +175,7 @@ client/proc/one_click_antag() for(var/i = 0, iYou are a Vox Primalis, fresh out of the Shoal. Your ship has arrived at the Tau Ceti system hosting the NSV Exodus... or was it the Luna? NSS? Utopia? Nobody is really sure, but everyong is raring to start pillaging! Your current goal is: [input]") to_chat(new_vox, "Don't forget to turn on your nitrogen internals!") diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm index c2260a051eb..3db8f102320 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -1,5 +1,5 @@ /client/proc/only_one() - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return @@ -14,7 +14,7 @@ var/datum/preferences/A = new() // Randomize appearance A.copy_to(H) - ticker.mode.traitors += H.mind + SSticker.mode.traitors += H.mind H.mind.special_role = SPECIAL_ROLE_TRAITOR var/datum/objective/hijack/hijack_objective = new @@ -58,7 +58,7 @@ world << sound('sound/music/thunderdome.ogg') /client/proc/only_me() - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return @@ -66,7 +66,7 @@ if(H.stat == 2 || !(H.client)) continue if(is_special_character(H)) continue - ticker.mode.traitors += H.mind + SSticker.mode.traitors += H.mind H.mind.special_role = "[H.real_name] Prime" var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone diff --git a/code/modules/admin/verbs/onlyoneteam.dm b/code/modules/admin/verbs/onlyoneteam.dm index d2490cdf9c3..846a77c508a 100644 --- a/code/modules/admin/verbs/onlyoneteam.dm +++ b/code/modules/admin/verbs/onlyoneteam.dm @@ -1,5 +1,5 @@ /client/proc/only_one_team() - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index 1c75421f4b7..b6986f4960f 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -18,8 +18,8 @@ var/prayer_type = "PRAYER" var/deity if(usr.job == "Chaplain") - if(ticker && ticker.Bible_deity_name) - deity = ticker.Bible_deity_name + if(SSticker && SSticker.Bible_deity_name) + deity = SSticker.Bible_deity_name cross = image('icons/obj/storage.dmi',"kingyellow") font_color = "blue" prayer_type = "CHAPLAIN PRAYER" @@ -27,7 +27,7 @@ cross = image('icons/obj/storage.dmi',"tome") font_color = "red" prayer_type = "CULTIST PRAYER" - deity = ticker.cultdat.entity_name + deity = SSticker.cultdat.entity_name log_say("(PRAYER) [msg]", usr) msg = "[bicon(cross)][prayer_type][deity ? " (to [deity])" : ""][mind && mind.isholy ? " (blessings: [mind.num_blessed])" : ""]: [key_name(src, 1)] ([ADMIN_QUE(src,"?")]) ([ADMIN_PP(src,"PP")]) ([ADMIN_VV(src,"VV")]) ([ADMIN_SM(src,"SM")]) ([admin_jump_link(src)]) (CA) ([ADMIN_SC(src,"SC")]) (BLESS) (SMITE): [msg]" diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 15ee321656c..65ea0b17dbc 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -437,11 +437,11 @@ Traitors and the like can also be revived with the previous role mostly intact. if("traitor") SSjobs.AssignRank(new_character, new_character.mind.assigned_role, 0) SSjobs.EquipRank(new_character, new_character.mind.assigned_role, 1) - ticker.mode.equip_traitor(new_character) + SSticker.mode.equip_traitor(new_character) if("Wizard") new_character.loc = pick(wizardstart) //ticker.mode.learn_basic_spells(new_character) - ticker.mode.equip_wizard(new_character) + SSticker.mode.equip_wizard(new_character) if("Syndicate") var/obj/effect/landmark/synd_spawn = locate("landmark*Syndicate-Spawn") if(synd_spawn) @@ -858,7 +858,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Admin" set name = "Toggle Deny Shuttle" - if(!ticker) + if(!SSticker) return if(!check_rights(R_ADMIN)) @@ -891,12 +891,12 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_SERVER|R_EVENT)) return - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) to_chat(usr, "Nope you can't do this, the game's already started. This only works before rounds!") return - if(ticker.random_players) - ticker.random_players = 0 + if(SSticker.random_players) + SSticker.random_players = 0 message_admins("Admin [key_name_admin(usr)] has disabled \"Everyone is Special\" mode.", 1) to_chat(usr, "Disabled.") return @@ -914,7 +914,7 @@ Traitors and the like can also be revived with the previous role mostly intact. to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") - ticker.random_players = 1 + SSticker.random_players = 1 feedback_add_details("admin_verb","MER") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_random_events() @@ -1009,13 +1009,13 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_EVENT)) return - if(ticker.mode.ert_disabled) - ticker.mode.ert_disabled = 0 + if(SSticker.mode.ert_disabled) + SSticker.mode.ert_disabled = 0 to_chat(usr, "ERT has been Enabled.") log_admin("Admin [key_name(src)] has enabled ERT calling.") message_admins("Admin [key_name_admin(usr)] has enabled ERT calling.", 1) else - ticker.mode.ert_disabled = 1 + SSticker.mode.ert_disabled = 1 to_chat(usr, "ERT has been Disabled.") log_admin("Admin [key_name(src)] has disabled ERT calling.") message_admins("Admin [key_name_admin(usr)] has disabled ERT calling.", 1) @@ -1033,14 +1033,14 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!input) return - if(!ticker) + if(!SSticker) return - ticker.selected_tip = input + SSticker.selected_tip = input // If we've already tipped, then send it straight away. - if(ticker.tipped) - ticker.send_tip_of_the_round() + if(SSticker.tipped) + SSticker.send_tip_of_the_round() message_admins("[key_name_admin(usr)] sent a Tip of the round.") log_admin("[key_name(usr)] sent \"[input]\" as the Tip of the Round.") @@ -1055,12 +1055,12 @@ Traitors and the like can also be revived with the previous role mostly intact. holder.modify_goals() /datum/admins/proc/modify_goals() - if(!ticker || !ticker.mode) + if(!SSticker || !SSticker.mode) to_chat(usr, "This verb can only be used if the round has started.") return var/dat = "" - for(var/datum/station_goal/S in ticker.mode.station_goals) + for(var/datum/station_goal/S in SSticker.mode.station_goals) dat += "[S.name] - Announce | Remove
" dat += "
Add New Goal" usr << browse(dat, "window=goals;size=400x400") diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index a23e6eea69c..4b555bc724a 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -4,7 +4,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future var/global/sent_strike_team = 0 /client/proc/strike_team() - if(!ticker) + if(!SSticker) to_chat(usr, "The game hasn't started yet!") return if(sent_strike_team == 1) @@ -86,9 +86,9 @@ var/global/sent_strike_team = 0 R.mind.assigned_role = SPECIAL_ROLE_DEATHSQUAD R.mind.special_role = SPECIAL_ROLE_DEATHSQUAD R.mind.offstation_role = TRUE - if(!(R.mind in ticker.minds)) - ticker.minds += R.mind - ticker.mode.traitors += R.mind + if(!(R.mind in SSticker.minds)) + SSticker.minds += R.mind + SSticker.mode.traitors += R.mind R.key = ghost_mob.key if(nuke_code) R.mind.store_memory("Nuke Code: [nuke_code].") @@ -150,7 +150,7 @@ var/global/sent_strike_team = 0 new_commando.mind_initialize() new_commando.mind.assigned_role = SPECIAL_ROLE_DEATHSQUAD new_commando.mind.special_role = SPECIAL_ROLE_DEATHSQUAD - ticker.mode.traitors |= new_commando.mind//Adds them to current traitor list. Which is really the extra antagonist list. + SSticker.mode.traitors |= new_commando.mind//Adds them to current traitor list. Which is really the extra antagonist list. new_commando.equip_death_commando(is_leader) return new_commando diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm index bf20d2b5503..7e77fe17df7 100644 --- a/code/modules/admin/verbs/striketeam_syndicate.dm +++ b/code/modules/admin/verbs/striketeam_syndicate.dm @@ -9,7 +9,7 @@ var/global/sent_syndicate_strike_team = 0 if(!src.holder) to_chat(src, "Only administrators may use this command.") return - if(!ticker) + if(!SSticker) alert("The game hasn't started yet!") return if(sent_syndicate_strike_team == 1) @@ -117,7 +117,7 @@ var/global/sent_syndicate_strike_team = 0 new_syndicate_commando.mind.assigned_role = SPECIAL_ROLE_SYNDICATE_DEATHSQUAD new_syndicate_commando.mind.special_role = SPECIAL_ROLE_SYNDICATE_DEATHSQUAD new_syndicate_commando.mind.offstation_role = TRUE - ticker.mode.traitors |= new_syndicate_commando.mind //Adds them to current traitor list. Which is really the extra antagonist list. + SSticker.mode.traitors |= new_syndicate_commando.mind //Adds them to current traitor list. Which is really the extra antagonist list. new_syndicate_commando.equip_syndicate_commando(is_leader) qdel(spawn_location) return new_syndicate_commando diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm index 10ad3f07020..98a4bf82e98 100644 --- a/code/modules/admin/verbs/tripAI.dm +++ b/code/modules/admin/verbs/tripAI.dm @@ -2,21 +2,21 @@ set category = "Event" set name = "Create AI Triumvirate" - if(ticker.current_state > GAME_STATE_PREGAME) + if(SSticker.current_state > GAME_STATE_PREGAME) to_chat(usr, "This option is currently only usable during pregame. This may change at a later date.") return - if(SSjobs && ticker) + if(SSjobs && SSticker) var/datum/job/job = SSjobs.GetJob("AI") if(!job) to_chat(usr, "Unable to locate the AI job") return - if(ticker.triai) - ticker.triai = 0 + if(SSticker.triai) + SSticker.triai = 0 to_chat(usr, "Only one AI will be spawned at round start.") message_admins("[key_name_admin(usr)] has toggled off triple AIs at round start.", 1) else - ticker.triai = 1 + SSticker.triai = 1 to_chat(usr, "There will be an AI Triumvirate at round start.") message_admins("[key_name_admin(usr)] has toggled on triple AIs at round start.", 1) return diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index 5e434887ee0..6faef9a4df5 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -26,7 +26,7 @@ if(used) to_chat(user, "[src] is out of power!") return FALSE - if(!(user.mind in ticker.mode.syndicates)) + if(!(user.mind in SSticker.mode.syndicates)) to_chat(user, "AUTHENTICATION FAILURE. ACCESS DENIED.") return FALSE if(checking) @@ -62,27 +62,27 @@ /obj/item/antag_spawner/nuke_ops/spawn_antag(client/C, turf/T, kind, datum/mind/user) var/mob/living/carbon/human/M = new/mob/living/carbon/human(T) - var/agent_number = LAZYLEN(ticker.mode.syndicates) + var/agent_number = LAZYLEN(SSticker.mode.syndicates) M.real_name = "[syndicate_name()] Operative #[agent_number]" set_syndicate_values(C, M) - ticker.mode.create_syndicate(M.mind) - ticker.mode.equip_syndicate(M, 0) - ticker.mode.update_syndicate_id(M.mind, FALSE) + SSticker.mode.create_syndicate(M.mind) + SSticker.mode.equip_syndicate(M, 0) + SSticker.mode.update_syndicate_id(M.mind, FALSE) /obj/item/antag_spawner/nuke_ops/proc/set_syndicate_values(client/C, mob/living/M) M.key = C.key - ticker.mode.syndicates += M.mind - ticker.mode.update_synd_icons_added(M.mind) + SSticker.mode.syndicates += M.mind + SSticker.mode.update_synd_icons_added(M.mind) M.mind.assigned_role = SPECIAL_ROLE_NUKEOPS M.mind.special_role = SPECIAL_ROLE_NUKEOPS M.mind.offstation_role = TRUE M.faction = list("syndicate") - ticker.mode.forge_syndicate_objectives(M.mind) - ticker.mode.greet_syndicate(M.mind) + SSticker.mode.forge_syndicate_objectives(M.mind) + SSticker.mode.greet_syndicate(M.mind) //////SYNDICATE BORG /obj/item/antag_spawner/nuke_ops/borg_tele @@ -115,7 +115,7 @@ return TRUE /obj/item/antag_spawner/nuke_ops/borg_tele/spawn_antag(client/C, turf/T, datum/mind/user) - if(!(user in ticker.mode.syndicates)) + if(!(user in SSticker.mode.syndicates)) used = FALSE return @@ -147,7 +147,7 @@ set_syndicate_values(user.current.client, R) L.key = C.key - ticker.mode.greet_syndicate(L.mind) + SSticker.mode.greet_syndicate(L.mind) ///////////SLAUGHTER DEMON @@ -195,7 +195,7 @@ S.key = C.key S.mind.assigned_role = S.name S.mind.special_role = S.name - ticker.mode.traitors += S.mind + SSticker.mode.traitors += S.mind var/datum/objective/assassinate/KillDaWiz = new /datum/objective/assassinate KillDaWiz.owner = S.mind KillDaWiz.target = user.mind @@ -264,7 +264,7 @@ M.mind.assigned_role = SPECIAL_ROLE_MORPH M.mind.special_role = SPECIAL_ROLE_MORPH to_chat(M, M.playstyle_string) - ticker.mode.traitors += M.mind + SSticker.mode.traitors += M.mind var/datum/objective/assassinate/KillDaWiz = new /datum/objective/assassinate KillDaWiz.owner = M.mind KillDaWiz.target = user.mind diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 33e12abe788..e213843df8c 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -34,7 +34,7 @@ /obj/effect/mob_spawn/attack_ghost(mob/user) var/mob/dead/observer/O = user - if(ticker.current_state != GAME_STATE_PLAYING || !loc || !ghost_usable) + if(SSticker.current_state != GAME_STATE_PLAYING || !loc || !ghost_usable) return if(!uses) to_chat(user, "This spawner is out of charges!") diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index ed4471d7b7c..1805d911caa 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -83,7 +83,7 @@ obj/item/clothing/shoes/magboots/syndie/advance //For the Syndicate Strike Team /obj/item/clothing/shoes/magboots/wizard/attack_self(mob/user) if(user) - if(user.mind in ticker.mode.wizards) + if(user.mind in SSticker.mode.wizards) if(magpulse) //faint blue light when shoes are turned on gives a reason to turn them off when not needed in maint set_light(0) else diff --git a/code/modules/events/abductor.dm b/code/modules/events/abductor.dm index 18d75f3ef30..3c7dcc6496b 100644 --- a/code/modules/events/abductor.dm +++ b/code/modules/events/abductor.dm @@ -13,11 +13,11 @@ if(candidates.len >= 2) //Oh god why we can't have static functions - var/number = ticker.mode.abductor_teams + 1 + var/number = SSticker.mode.abductor_teams + 1 var/datum/game_mode/abduction/temp - if(ticker.mode.config_tag == "abduction") - temp = ticker.mode + if(SSticker.mode.config_tag == "abduction") + temp = SSticker.mode else temp = new @@ -42,10 +42,10 @@ temp.make_abductor_team(number,preset_scientist=scientist_mind,preset_agent=agent_mind) temp.post_setup_team(number) - ticker.mode.abductor_teams++ + SSticker.mode.abductor_teams++ - if(ticker.mode.config_tag != "abduction") - ticker.mode.abductors |= temp.abductors + if(SSticker.mode.config_tag != "abduction") + SSticker.mode.abductors |= temp.abductors processing = 1 //So it will get gc'd return 1 else diff --git a/code/modules/events/alien_infestation.dm b/code/modules/events/alien_infestation.dm index 7e4473cb0d2..590ff374ad6 100644 --- a/code/modules/events/alien_infestation.dm +++ b/code/modules/events/alien_infestation.dm @@ -27,8 +27,8 @@ GLOB.respawnable_list -= C.client var/mob/living/carbon/alien/larva/new_xeno = new(vent.loc) new_xeno.key = C.key - if(ticker && ticker.mode) - ticker.mode.xenos += new_xeno.mind + if(SSticker && SSticker.mode) + SSticker.mode.xenos += new_xeno.mind spawncount-- successSpawn = 1 diff --git a/code/modules/karma/karma.dm b/code/modules/karma/karma.dm index 107ec3c4f3f..57063b0d743 100644 --- a/code/modules/karma/karma.dm +++ b/code/modules/karma/karma.dm @@ -59,7 +59,7 @@ var/list/karma_spenders = list() if(config.disable_karma) to_chat(src, "Karma is disabled.") return FALSE - if(!ticker || !GLOB.player_list.len || (ticker.current_state == GAME_STATE_PREGAME)) + if(!SSticker || !GLOB.player_list.len || (SSticker.current_state == GAME_STATE_PREGAME)) to_chat(src, "You can't award karma until the game has started.") return FALSE if(client.karma_spent || (ckey in karma_spenders)) diff --git a/code/modules/library/computers/checkout.dm b/code/modules/library/computers/checkout.dm index 10e747b4e31..638aaeee7c3 100644 --- a/code/modules/library/computers/checkout.dm +++ b/code/modules/library/computers/checkout.dm @@ -320,11 +320,11 @@ if(!bibledelay) var/obj/item/storage/bible/B = new /obj/item/storage/bible(src.loc) - if(ticker && ( ticker.Bible_icon_state && ticker.Bible_item_state) ) - B.icon_state = ticker.Bible_icon_state - B.item_state = ticker.Bible_item_state - B.name = ticker.Bible_name - B.deity_name = ticker.Bible_deity_name + if(SSticker && ( SSticker.Bible_icon_state && SSticker.Bible_item_state) ) + B.icon_state = SSticker.Bible_icon_state + B.item_state = SSticker.Bible_item_state + B.name = SSticker.Bible_name + B.deity_name = SSticker.Bible_deity_name bibledelay = 1 spawn(60) diff --git a/code/modules/mining/lavaland/loot/colossus_loot.dm b/code/modules/mining/lavaland/loot/colossus_loot.dm index d7c6232121f..5bfd1104fb6 100644 --- a/code/modules/mining/lavaland/loot/colossus_loot.dm +++ b/code/modules/mining/lavaland/loot/colossus_loot.dm @@ -38,7 +38,7 @@ /obj/machinery/smartfridge/black_box/process() ..() - if(!memory_saved && ticker.current_state == GAME_STATE_FINISHED) + if(!memory_saved && SSticker.current_state == GAME_STATE_FINISHED) WriteMemory() /obj/machinery/smartfridge/black_box/proc/WriteMemory() diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index ec2d96ed880..5eb8f5766e4 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -6,7 +6,7 @@ As such, they can either help or harm other aliens. Help works like the human he In all, this is a lot like the monkey code. /N */ /mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M) - if(!ticker) + if(!SSticker) to_chat(M, "You cannot attack people before the game has started.") return diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index 3a752e61619..0addea8d4b6 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -93,8 +93,8 @@ spawn(6) var/mob/living/carbon/alien/larva/new_xeno = new(owner.drop_location()) new_xeno.key = C.key - if(ticker && ticker.mode) - ticker.mode.xenos += new_xeno.mind + if(SSticker && SSticker.mode) + SSticker.mode.xenos += new_xeno.mind new_xeno.mind.name = new_xeno.name new_xeno.mind.assigned_role = SPECIAL_ROLE_XENOMORPH new_xeno.mind.special_role = SPECIAL_ROLE_XENOMORPH diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 6d245674fd1..64d06dac4db 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -112,7 +112,7 @@ if(H.mind) H.mind.kills += "[key_name(src)]" - if(ticker && ticker.mode) + if(SSticker && SSticker.mode) // log_world("k") sql_report_death(src) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index bd5817e8867..079f886d055 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1961,7 +1961,7 @@ Eyes need to have significantly high darksight to shine unless the mob has the X if(7) // Pride log_game("[src] was influenced by the sin of pride.") O = new /datum/objective/sintouched/pride - ticker.mode.sintouched += src.mind + SSticker.mode.sintouched += src.mind src.mind.objectives += O var/obj_count = 1 to_chat(src, "They have no blood!") return - if(target.mind && target.mind.vampire && (target.mind in ticker.mode.vampires)) + if(target.mind && target.mind.vampire && (target.mind in SSticker.mode.vampires)) to_chat(user, "Your fangs fail to pierce [target.name]'s cold flesh") return if(SKELETON in target.mutations) diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index 4e04090b649..62935713a80 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -50,11 +50,11 @@ if(class == "Superhero") W.assignment = "Superhero" W.rank = "Superhero" - ticker.mode.superheroes += H.mind + SSticker.mode.superheroes += H.mind else if(class == "Supervillain") W.assignment = "Supervillain" W.rank = "Supervillain" - ticker.mode.supervillains += H.mind + SSticker.mode.supervillains += H.mind W.icon_state = "lifetimeid" W.SetOwnerInfo(H) W.UpdateName() @@ -157,7 +157,7 @@ /obj/effect/proc_holder/spell/targeted/recruit/cast(list/targets,mob/living/user = usr) for(var/mob/living/carbon/human/target in targets) var/obj/item/organ/external/head/head_organ = target.get_organ("head") - if(ticker.mode.greyshirts.len >= 3) + if(SSticker.mode.greyshirts.len >= 3) to_chat(user, "You have already recruited the maximum number of henchmen.") if(!in_range(user, target)) to_chat(user, "You need to be closer to enthrall [target].") @@ -218,7 +218,7 @@ to_chat(target, "You have decided to enroll as a henchman for [user]. You are now part of the feared 'Greyshirts'.") to_chat(target, "You must follow the orders of [user], and help [user.p_them()] succeed in [user.p_their()] dastardly schemes.") to_chat(target, "You may not harm other Greyshirt or [user]. However, you do not need to obey other Greyshirts.") - ticker.mode.greyshirts += target.mind + SSticker.mode.greyshirts += target.mind target.set_species(/datum/species/human) head_organ.h_style = "Bald" head_organ.f_style = "Shaved" diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 37077881350..fe762e423fc 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -89,8 +89,8 @@ mind.store_memory("Time of death: [station_time_timestamp("hh:mm:ss", timeofdeath)]", 0) GLOB.respawnable_list += src - if(ticker && ticker.mode) - ticker.mode.check_win() + if(SSticker && SSticker.mode) + SSticker.mode.check_win() if(mind && mind.devilinfo) // Expand this into a general-purpose death-response system when appropriate mind.devilinfo.beginResurrectionCheck(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 52fde3d0d9e..77831689662 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -691,7 +691,7 @@ return name /mob/living/update_gravity(has_gravity) - if(!ticker) + if(!SSticker) return if(has_gravity) clear_alert("weightless") diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 88b17124451..e9df2f0edad 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -279,7 +279,7 @@ return G /mob/living/attack_slime(mob/living/carbon/slime/M) - if(!ticker) + if(!SSticker) to_chat(M, "You cannot attack people before the game has started.") return diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm index 6d32c24bb0a..c8ffebc6647 100644 --- a/code/modules/mob/living/silicon/ai/ai_defense.dm +++ b/code/modules/mob/living/silicon/ai/ai_defense.dm @@ -1,5 +1,5 @@ /mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M) - if(!ticker) + if(!SSticker) to_chat(M, "You cannot attack people before the game has started.") return ..() diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index 2771725a96d..6d12559ee9b 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -101,7 +101,7 @@ var/datum/cameranet/cameranet = new() /datum/cameranet/proc/updateVisibility(atom/A, opacity_check = 1) - if(!ticker || (opacity_check && !A.opacity)) + if(!SSticker || (opacity_check && !A.opacity)) return majorChunkChange(A, 2) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 69136e07a99..513b26ee558 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -33,8 +33,8 @@ var/global/list/empty_playable_ai_cores = list() mind.objectives.Cut() mind.special_role = null else - if(ticker.mode.name == "AutoTraitor") - var/datum/game_mode/traitor/autotraitor/current_mode = ticker.mode + if(SSticker.mode.name == "AutoTraitor") + var/datum/game_mode/traitor/autotraitor/current_mode = SSticker.mode current_mode.possible_traitors.Remove(src) // Ghost the current player and disallow them to return to the body diff --git a/code/modules/mob/living/silicon/login.dm b/code/modules/mob/living/silicon/login.dm index 01240adf942..4892441b804 100644 --- a/code/modules/mob/living/silicon/login.dm +++ b/code/modules/mob/living/silicon/login.dm @@ -1,12 +1,12 @@ /mob/living/silicon/Login() SetSleeping(0) - if(mind && ticker && ticker.mode) - ticker.mode.remove_revolutionary(mind, 1) - ticker.mode.remove_cultist(mind, 1) - ticker.mode.remove_wizard(mind) - ticker.mode.remove_changeling(mind) - ticker.mode.remove_vampire(mind) - ticker.mode.remove_thrall(mind, 0) - ticker.mode.remove_shadowling(mind) - ticker.mode.remove_abductor(mind) - ..() + if(mind && SSticker && SSticker.mode) + SSticker.mode.remove_revolutionary(mind, 1) + SSticker.mode.remove_cultist(mind, 1) + SSticker.mode.remove_wizard(mind) + SSticker.mode.remove_changeling(mind) + SSticker.mode.remove_vampire(mind) + SSticker.mode.remove_thrall(mind, 0) + SSticker.mode.remove_shadowling(mind) + SSticker.mode.remove_abductor(mind) + ..() diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm index ff859853ea5..b2828070ad3 100644 --- a/code/modules/mob/living/silicon/pai/recruit.dm +++ b/code/modules/mob/living/silicon/pai/recruit.dm @@ -50,8 +50,8 @@ var/datum/paiController/paiController // Global handler for pAI candidates card.setPersonality(pai) card.looking_for_personality = 0 - ticker.mode.update_cult_icons_removed(card.pai.mind) - ticker.mode.update_rev_icons_removed(card.pai.mind) + SSticker.mode.update_cult_icons_removed(card.pai.mind) + SSticker.mode.update_rev_icons_removed(card.pai.mind) pai_candidates -= candidate usr << browse(null, "window=findPai") diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index e94f9e072b4..3985bfce50e 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -182,7 +182,7 @@ to_chat(user, "You swipe the sequencer across [src]'s interface and watch its eyes flicker.") if(jobban_isbanned(src, ROLE_SYNDICATE)) - ticker.mode.replace_jobbanned_player(src, ROLE_SYNDICATE) + SSticker.mode.replace_jobbanned_player(src, ROLE_SYNDICATE) to_chat(src, "You feel a sudden burst of malware loaded into your execute-as-root buffer. Your tiny brain methodically parses, loads and executes the script. You sense you have five minutes before the drone server detects this and automatically shuts you down.") diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index 9bf388fe5fe..35bbad68b6a 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -27,7 +27,7 @@ /obj/machinery/drone_fabricator/process() - if(ticker.current_state < GAME_STATE_PLAYING) + if(SSticker.current_state < GAME_STATE_PLAYING) return if(stat & NOPOWER || !produce_drones) @@ -98,7 +98,7 @@ to_chat(usr, "You are banned from playing drones and cannot spawn as a drone.") return - if(!ticker || ticker.current_state < 3) + if(!SSticker || SSticker.current_state < 3) to_chat(src, "You can't join as a drone before the game starts!") return diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ae6a832f6ac..9fe06a3fe4a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1340,9 +1340,9 @@ var/list/robot_verbs_default = list( mind.special_role = SPECIAL_ROLE_ERT if(cyborg_unlock) crisis = 1 - if(!(mind in ticker.minds)) - ticker.minds += mind - ticker.mode.ert += mind + if(!(mind in SSticker.minds)) + SSticker.minds += mind + SSticker.mode.ert += mind /mob/living/silicon/robot/ert/gamma crisis = 1 diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 2b3d11357d1..c63856fcb0a 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -29,21 +29,21 @@ /mob/living/simple_animal/hostile/construct/New() ..() - if(!ticker.mode)//work around for maps with runes and cultdat is not loaded all the way + if(!SSticker.mode)//work around for maps with runes and cultdat is not loaded all the way name = "[const_type] ([rand(1, 1000)])" real_name = const_type icon_living = const_type icon_state = const_type else - name = "[ticker.cultdat.get_name(const_type)] ([rand(1, 1000)])" - real_name = ticker.cultdat.get_name(const_type) - icon_living = ticker.cultdat.get_icon(const_type) - icon_state = ticker.cultdat.get_icon(const_type) + name = "[SSticker.cultdat.get_name(const_type)] ([rand(1, 1000)])" + real_name = SSticker.cultdat.get_name(const_type) + icon_living = SSticker.cultdat.get_icon(const_type) + icon_state = SSticker.cultdat.get_icon(const_type) for(var/spell in construct_spells) AddSpell(new spell(null)) - if(ticker.cultdat.theme == "blood") + if(SSticker.cultdat.theme == "blood") updateglow() /mob/living/simple_animal/hostile/construct/examine(mob/user) diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 38787198a5f..b5ce4622052 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -48,9 +48,9 @@ ..() /mob/living/simple_animal/pet/cat/Runtime/Life(seconds, times_fired) - if(!cats_deployed && ticker.current_state >= GAME_STATE_SETTING_UP) + if(!cats_deployed && SSticker.current_state >= GAME_STATE_SETTING_UP) Deploy_The_Cats() - if(!stat && ticker.current_state == GAME_STATE_FINISHED && !memory_saved) + if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved) Write_Memory() ..() diff --git a/code/modules/mob/living/simple_animal/friendly/cockroach.dm b/code/modules/mob/living/simple_animal/friendly/cockroach.dm index e92174bd6c2..1e7b3a61d0c 100644 --- a/code/modules/mob/living/simple_animal/friendly/cockroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/cockroach.dm @@ -22,7 +22,7 @@ del_on_death = 1 /mob/living/simple_animal/cockroach/can_die() - return ..() && !ticker.cinematic //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. + return ..() && !SSticker.cinematic //If the nuke is going off, then cockroaches are invincible. Keeps the nuke from killing them, cause cockroaches are immune to nukes. /mob/living/simple_animal/cockroach/Crossed(var/atom/movable/AM) if(isliving(AM)) diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index f409d184340..40eb94a9ef3 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -6,7 +6,7 @@ create_attack_log("Logged out at [atom_loc_line(get_turf(src))]") // `holder` is nil'd out by now, so we check the `admin_datums` array directly //Only report this stuff if we are currently playing. - if(admin_datums[ckey] && ticker && ticker.current_state == GAME_STATE_PLAYING) + if(admin_datums[ckey] && SSticker && SSticker.current_state == GAME_STATE_PLAYING) var/datum/admins/temp_admin = admin_datums[ckey] // Triggers on people with banhammer power only - no mentors tripping the alarm if(temp_admin.rights & R_BAN) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 482bf85491d..e83b60d402f 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -745,7 +745,7 @@ var/list/slot_equipment_priority = list( \ to_chat(usr, "Respawning is disabled.") return - if(stat != DEAD || !ticker) + if(stat != DEAD || !SSticker) to_chat(usr, "You must be dead to use this!") return @@ -1100,7 +1100,7 @@ var/list/slot_equipment_priority = list( \ to_chat(usr, "You are banned from playing as sentient animals.") return - if(!ticker || ticker.current_state < 3) + if(!SSticker || SSticker.current_state < 3) to_chat(src, "You can't respawn as an NPC before the game starts!") return diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index a46b9a94fc7..faaf8631ec1 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -59,7 +59,7 @@ real_name = "Random Character Slot" var/output = "

Setup Character
[real_name]

" - if(!ticker || ticker.current_state <= GAME_STATE_PREGAME) + if(!SSticker || SSticker.current_state <= GAME_STATE_PREGAME) if(!ready) output += "

Declare Ready

" else output += "

You are ready (Cancel)

" else @@ -106,21 +106,21 @@ /mob/new_player/Stat() statpanel("Lobby") - if(client.statpanel=="Lobby" && ticker) - if(ticker.hide_mode) + if(client.statpanel=="Lobby" && SSticker) + if(SSticker.hide_mode) stat("Game Mode:", "Secret") else - if(ticker.hide_mode == 0) + if(SSticker.hide_mode == 0) stat("Game Mode:", "[master_mode]") // Old setting for showing the game mode else stat("Game Mode: ", "Secret") - if((ticker.current_state == GAME_STATE_PREGAME) && going) - stat("Time To Start:", ticker.pregame_timeleft) - if((ticker.current_state == GAME_STATE_PREGAME) && !going) + if((SSticker.current_state == GAME_STATE_PREGAME) && going) + stat("Time To Start:", SSticker.pregame_timeleft) + if((SSticker.current_state == GAME_STATE_PREGAME) && !going) stat("Time To Start:", "DELAYED") - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) stat("Players:", "[totalPlayers]") if(check_rights(R_ADMIN, 0, src)) stat("Players Ready:", "[totalPlayersReady]") @@ -136,7 +136,7 @@ ..() statpanel("Status") - if(client.statpanel == "Status" && ticker) + if(client.statpanel == "Status" && SSticker) show_stat_station_time() @@ -217,7 +217,7 @@ if(!tos_consent) to_chat(usr, "You must consent to the terms of service before you can join!") return 0 - if(!ticker || ticker.current_state != GAME_STATE_PLAYING) + if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) to_chat(usr, "The round is either not ready, or has already finished...") return @@ -303,7 +303,7 @@ /mob/new_player/proc/AttemptLateSpawn(rank,var/spawning_at) if(src != usr) return 0 - if(!ticker || ticker.current_state != GAME_STATE_PLAYING) + if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING) to_chat(usr, "The round is either not ready, or has already finished...") return 0 if(!enter_allowed) @@ -330,7 +330,7 @@ ai_character.moveToEmptyCore() AnnounceCyborg(ai_character, rank, "has been downloaded to the empty core in \the [get_area(ai_character)]") - ticker.mode.latespawn(ai_character) + SSticker.mode.latespawn(ai_character) qdel(src) return @@ -370,7 +370,7 @@ character = SSjobs.EquipRank(character, rank, 1) //equips the human EquipCustomItems(character) - ticker.mode.latespawn(character) + SSticker.mode.latespawn(character) if(character.mind.assigned_role == "Cyborg") AnnounceCyborg(character, rank, join_message) @@ -379,7 +379,7 @@ callHook("latespawn", list(character)) else data_core.manifest_inject(character) - ticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn + SSticker.minds += character.mind//Cyborgs and AIs handle this in the transform proc. //TODO!!!!! ~Carn AnnounceArrival(character, rank, join_message) callHook("latespawn", list(character)) AddEmploymentContract(character) @@ -390,7 +390,7 @@ /mob/new_player/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message) - if(ticker.current_state == GAME_STATE_PLAYING) + if(SSticker.current_state == GAME_STATE_PLAYING) var/ailist[] = list() for(var/mob/living/silicon/ai/A in GLOB.living_mob_list) ailist += A @@ -422,7 +422,7 @@ employmentCabinet.addFile(employee) /mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message) - if(ticker.current_state == GAME_STATE_PLAYING) + if(SSticker.current_state == GAME_STATE_PLAYING) var/ailist[] = list() for(var/mob/living/silicon/ai/A in GLOB.living_mob_list) ailist += A @@ -536,7 +536,7 @@ var/mob/living/carbon/human/new_character = new(loc) new_character.lastarea = get_area(loc) - if(ticker.random_players || appearance_isbanned(new_character)) + if(SSticker.random_players || appearance_isbanned(new_character)) client.prefs.random_character() client.prefs.real_name = random_name(client.prefs.gender) client.prefs.copy_to(new_character) diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm index e15c727accb..53ab45c58dc 100644 --- a/code/modules/power/singularity/narsie.dm +++ b/code/modules/power/singularity/narsie.dm @@ -25,8 +25,8 @@ /obj/singularity/narsie/large/New() ..() - icon_state = ticker.cultdat.entity_icon_state - name = ticker.cultdat.entity_name + icon_state = SSticker.cultdat.entity_icon_state + name = SSticker.cultdat.entity_name to_chat(world, " [name] HAS RISEN") world << pick(sound('sound/hallucinations/im_here1.ogg'), sound('sound/hallucinations/im_here2.ogg')) @@ -127,12 +127,12 @@ /obj/singularity/narsie/proc/acquire(var/mob/food) if(food == target) return - to_chat(target, "[uppertext(ticker.cultdat.entity_name)] HAS LOST INTEREST IN YOU") + to_chat(target, "[uppertext(SSticker.cultdat.entity_name)] HAS LOST INTEREST IN YOU") target = food if(ishuman(target)) - to_chat(target, "[uppertext(ticker.cultdat.entity_name)] HUNGERS FOR YOUR SOUL") + to_chat(target, "[uppertext(SSticker.cultdat.entity_name)] HUNGERS FOR YOUR SOUL") else - to_chat(target, "[uppertext(ticker.cultdat.entity_name)] HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL") + to_chat(target, "[uppertext(SSticker.cultdat.entity_name)] HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL") //Wizard narsie /obj/singularity/narsie/wizard diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 6c9ecb55afc..7ebc4f4471a 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -198,7 +198,7 @@ return 0 /obj/machinery/power/smes/Destroy() - if(ticker && ticker.current_state == GAME_STATE_PLAYING) + if(SSticker && SSticker.current_state == GAME_STATE_PLAYING) var/area/area = get_area(src) if(area) message_admins("SMES deleted at ([area.name])") diff --git a/code/modules/reagents/chemistry/reagents/food.dm b/code/modules/reagents/chemistry/reagents/food.dm index bf2417a192e..a67f681973d 100644 --- a/code/modules/reagents/chemistry/reagents/food.dm +++ b/code/modules/reagents/chemistry/reagents/food.dm @@ -9,7 +9,7 @@ var/diet_flags = DIET_OMNI | DIET_HERB | DIET_CARN /datum/reagent/consumable/on_mob_life(mob/living/M) - if(!(M.mind in ticker.mode.vampires)) + if(!(M.mind in SSticker.mode.vampires)) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.can_eat(diet_flags)) //Make sure the species has it's dietflag set, otherwise it can't digest any nutrients @@ -27,7 +27,7 @@ /datum/reagent/consumable/nutriment/on_mob_life(mob/living/M) var/update_flags = STATUS_UPDATE_NONE - if(!(M.mind in ticker.mode.vampires)) + if(!(M.mind in SSticker.mode.vampires)) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.can_eat(diet_flags)) //Make sure the species has it's dietflag set, otherwise it can't digest any nutrients diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index dcd21f639d1..4816c1f3e50 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -326,14 +326,14 @@ if(current_cycle >= 75 && prob(33)) // 30 units, 150 seconds M.AdjustConfused(3) if(isvampirethrall(M)) - ticker.mode.remove_vampire_mind(M.mind) + SSticker.mode.remove_vampire_mind(M.mind) holder.remove_reagent(id, volume) M.SetJitter(0) M.SetStuttering(0) M.SetConfused(0) return if(iscultist(M)) - ticker.mode.remove_cultist(M.mind) + SSticker.mode.remove_cultist(M.mind) holder.remove_reagent(id, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better?? M.SetJitter(0) M.SetStuttering(0) diff --git a/code/modules/response_team/ert.dm b/code/modules/response_team/ert.dm index 0bac5824780..2a86d4a4a54 100644 --- a/code/modules/response_team/ert.dm +++ b/code/modules/response_team/ert.dm @@ -21,11 +21,11 @@ var/ert_request_answered = FALSE if(!check_rights(R_EVENT)) return - if(!ticker) + if(!SSticker) to_chat(usr, "The game hasn't started yet!") return - if(ticker.current_state == GAME_STATE_PREGAME) + if(SSticker.current_state == GAME_STATE_PREGAME) to_chat(usr, "The round hasn't started yet!") return @@ -164,9 +164,9 @@ var/ert_request_answered = FALSE M.mind.original = M M.mind.assigned_role = SPECIAL_ROLE_ERT M.mind.special_role = SPECIAL_ROLE_ERT - if(!(M.mind in ticker.minds)) - ticker.minds += M.mind //Adds them to regular mind list. - ticker.mode.ert += M.mind + if(!(M.mind in SSticker.minds)) + SSticker.minds += M.mind //Adds them to regular mind list. + SSticker.mode.ert += M.mind M.forceMove(spawn_location) SSjobs.CreateMoneyAccount(M, class, null) diff --git a/code/modules/security_levels/keycard authentication.dm b/code/modules/security_levels/keycard authentication.dm index 3f074c1246c..834d3ddc907 100644 --- a/code/modules/security_levels/keycard authentication.dm +++ b/code/modules/security_levels/keycard authentication.dm @@ -183,7 +183,7 @@ trigger_armed_response_team(new /datum/response_team/amber) // No admins? No problem. Automatically send a code amber ERT. /obj/machinery/keycard_auth/proc/is_ert_blocked() - return ticker.mode && ticker.mode.ert_disabled + return SSticker.mode && SSticker.mode.ert_disabled var/global/maint_all_access = 0 var/global/station_all_access = 0 diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 0efe2043ab0..4c945921389 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -13,7 +13,7 @@ /datum/station_goal/dna_vault/New() ..() animal_count = rand(15, 20) //might be too few given ~15 roundstart stationside ones - human_count = rand(round(0.75 * ticker.mode.num_players_started()), ticker.mode.num_players_started()) // 75%+ roundstart population. + human_count = rand(round(0.75 * SSticker.mode.num_players_started()), SSticker.mode.num_players_started()) // 75%+ roundstart population. var/non_standard_plants = non_standard_plants_count() plant_count = rand(round(0.5 * non_standard_plants),round(0.7 * non_standard_plants)) @@ -166,8 +166,8 @@ var/list/non_simple_animals = typecacheof(list(/mob/living/carbon/human/monkey,/ F.parent = src fillers += F - if(ticker.mode) - for(var/datum/station_goal/dna_vault/G in ticker.mode.station_goals) + if(SSticker.mode) + for(var/datum/station_goal/dna_vault/G in SSticker.mode.station_goals) animals_max = G.animal_count plants_max = G.plant_count dna_max = G.human_count diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 09ccb3ce36b..68977b5e14d 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -83,7 +83,7 @@ )) data["notice"] = notice - var/datum/station_goal/station_shield/G = locate() in ticker.mode.station_goals + var/datum/station_goal/station_shield/G = locate() in SSticker.mode.station_goals if(G) data["meteor_shield"] = 1 data["meteor_shield_coverage"] = G.get_coverage() diff --git a/code/modules/station_goals/station_goal.dm b/code/modules/station_goals/station_goal.dm index 754e09b4185..90d4defa26c 100644 --- a/code/modules/station_goals/station_goal.dm +++ b/code/modules/station_goals/station_goal.dm @@ -33,7 +33,7 @@ to_chat(world, "Station Goal : [name] : Failed!") /datum/station_goal/Destroy() - ticker.mode.station_goals -= src + SSticker.mode.station_goals -= src . = ..() /datum/station_goal/Topic(href, href_list) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index f959732427a..ebe824f0bbc 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -328,7 +328,7 @@ if(target.vision_type) //Turns off their darksight if it's still active. to_chat(target, "Your eyes are suddenly wrought with immense pain as your darksight is forcibly dismissed!") target.vision_type = null - ticker.mode.remove_thrall(target.mind, 0) + SSticker.mode.remove_thrall(target.mind, 0) target.visible_message("A strange black mass falls from [target]'s [E]!") var/obj/item/organ/thing = new /obj/item/organ/internal/shadowtumor(get_turf(target)) thing.set_dna(target.dna) diff --git a/paradise.dme b/paradise.dme index 1b7a691c820..0d9cc3045fa 100644 --- a/paradise.dme +++ b/paradise.dme @@ -200,7 +200,6 @@ #include "code\controllers\verbs.dm" #include "code\controllers\Processes\lighting.dm" #include "code\controllers\Processes\npcai.dm" -#include "code\controllers\Processes\ticker.dm" #include "code\controllers\ProcessScheduler\core\process.dm" #include "code\controllers\ProcessScheduler\core\processScheduler.dm" #include "code\controllers\subsystem\air.dm" @@ -227,6 +226,7 @@ #include "code\controllers\subsystem\spacedrift.dm" #include "code\controllers\subsystem\sun.dm" #include "code\controllers\subsystem\throwing.dm" +#include "code\controllers\subsystem\ticker.dm" #include "code\controllers\subsystem\timer.dm" #include "code\controllers\subsystem\vote.dm" #include "code\controllers\subsystem\weather.dm" @@ -443,7 +443,6 @@ #include "code\game\dna\genes\vg_powers.dm" #include "code\game\gamemodes\factions.dm" #include "code\game\gamemodes\game_mode.dm" -#include "code\game\gamemodes\gameticker.dm" #include "code\game\gamemodes\intercept_report.dm" #include "code\game\gamemodes\objective.dm" #include "code\game\gamemodes\scoreboard.dm"