mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-29 03:21:42 +00:00
Merge pull request #8518 from Spookerton/spkrtn/sys/ssalarm
improved fire loop behavior of SSalarm
This commit is contained in:
@@ -1,19 +1,41 @@
|
||||
/datum/controller
|
||||
var/name
|
||||
// The object used for the clickable stat() button.
|
||||
var/obj/effect/statclick/statclick
|
||||
/// The display name of this controller.
|
||||
/datum/controller/var/name
|
||||
|
||||
/// The atom used to provide a clickable stat line in the MC tab for this controller.
|
||||
/datum/controller/var/obj/effect/statclick/statclick
|
||||
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// Called to set up this controller.
|
||||
/datum/controller/proc/Initialize()
|
||||
return
|
||||
|
||||
//cleanup actions
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// Called to clean up / finalize this controller.
|
||||
/datum/controller/proc/Shutdown()
|
||||
return
|
||||
|
||||
//when we enter dmm_suite.load_map
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// Called when dmm_suite begins loading a map.
|
||||
/datum/controller/proc/StartLoadingMap()
|
||||
return
|
||||
|
||||
//when we exit dmm_suite.load_map
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// Called when dmm_suite finishes loading a map.
|
||||
/datum/controller/proc/StopLoadingMap()
|
||||
return
|
||||
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// To be called on the OLD instance if the controller fails in some way that requires it to be replaced.
|
||||
/datum/controller/proc/Recover()
|
||||
return
|
||||
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// Called when an update to the stat line in the MC tab is requested.
|
||||
/datum/controller/proc/stat_entry()
|
||||
return
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
|
||||
//THIS IS THE INIT ORDER
|
||||
//Master -> SSPreInit -> GLOB -> world -> config -> SSInit -> Failsafe
|
||||
//Master -> SSOnNew -> GLOB -> world -> config -> SSInit -> Failsafe
|
||||
//GOT IT MEMORIZED?
|
||||
|
||||
/datum/controller/master
|
||||
@@ -176,7 +176,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
for (var/datum/controller/subsystem/SS in subsystems)
|
||||
if (SS.flags & SS_NO_INIT)
|
||||
continue
|
||||
SS.Initialize(REALTIMEOFDAY)
|
||||
SS.DoInitialize(REALTIMEOFDAY)
|
||||
CHECK_TICK
|
||||
current_ticklimit = TICK_LIMIT_RUNNING
|
||||
var/time = (REALTIMEOFDAY - start_timeofday) / 10
|
||||
|
||||
@@ -41,18 +41,32 @@
|
||||
return ..()
|
||||
|
||||
|
||||
/// Initializes the subsystem AFTER map load. The preferred initialization proc.
|
||||
/datum/controller/subsystem/Initialize(start_timeofday)
|
||||
/// Wrapper for non-implementation initialization behaviors.
|
||||
/datum/controller/subsystem/proc/DoInitialize(timeofday)
|
||||
Initialize(timeofday)
|
||||
subsystem_initialized = TRUE
|
||||
var/time = (REALTIMEOFDAY - start_timeofday) / 10
|
||||
var/time = (REALTIMEOFDAY - timeofday) / 10
|
||||
var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!"
|
||||
to_chat(world, "<span class='boldannounce'>[msg]</span>")
|
||||
log_world(msg)
|
||||
return time
|
||||
|
||||
|
||||
/// Initializes the subsystem BEFORE map load. Called after recover, if recover is called.
|
||||
/datum/controller/subsystem/proc/PreInit()
|
||||
// Do not implement any base behaviors here.
|
||||
/// Initializes the subsystem exactly once, AFTER map load, run by the MC and passed REALTIMEOFDAY. The preferred initialization proc.
|
||||
/datum/controller/subsystem/Initialize(timeofday)
|
||||
return
|
||||
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// Called in subsystem/New if there is an existing instance of the subsystem, on the existing instance, before it is deleted.
|
||||
/datum/controller/subsystem/Recover()
|
||||
return
|
||||
|
||||
|
||||
// Do not implement any base behaviors here.
|
||||
/// Called in subsystem/New - happens BEFORE map load, and ALSO every time the subsystem is Recovered, AFTER being Recovered.
|
||||
/datum/controller/subsystem/proc/OnNew()
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ SUBSYSTEM_DEF(air)
|
||||
// This is used to tell CI WHERE the edges are.
|
||||
var/list/startup_active_edge_log = list()
|
||||
|
||||
/datum/controller/subsystem/air/PreInit()
|
||||
/datum/controller/subsystem/air/OnNew()
|
||||
air_master = src
|
||||
|
||||
/datum/controller/subsystem/air/Initialize(timeofday)
|
||||
@@ -63,7 +63,6 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
||||
log_debug("Active Edges on ZAS Startup\n" + edge_log.Join("\n"))
|
||||
startup_active_edge_log = edge_log.Copy()
|
||||
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/air/fire(resumed, no_mc_tick)
|
||||
var/timer
|
||||
|
||||
@@ -1,45 +1,56 @@
|
||||
|
||||
// We manually initialize the alarm handlers instead of looping over all existing types
|
||||
// to make it possible to write: camera_alarm.triggerAlarm() rather than SSalarm.managers[datum/alarm_handler/camera].triggerAlarm() or a variant thereof.
|
||||
/var/global/datum/alarm_handler/atmosphere/atmosphere_alarm = new()
|
||||
/var/global/datum/alarm_handler/camera/camera_alarm = new()
|
||||
/var/global/datum/alarm_handler/fire/fire_alarm = new()
|
||||
/var/global/datum/alarm_handler/motion/motion_alarm = new()
|
||||
/var/global/datum/alarm_handler/power/power_alarm = new()
|
||||
|
||||
SUBSYSTEM_DEF(alarm)
|
||||
name = "Alarm"
|
||||
wait = 2 SECONDS
|
||||
priority = FIRE_PRIORITY_ALARM
|
||||
init_order = INIT_ORDER_ALARM
|
||||
var/list/datum/alarm/all_handlers
|
||||
var/tmp/list/currentrun = null
|
||||
var/static/list/active_alarm_cache = list()
|
||||
|
||||
/datum/controller/subsystem/alarm/Initialize()
|
||||
all_handlers = list(atmosphere_alarm, camera_alarm, fire_alarm, motion_alarm, power_alarm)
|
||||
. = ..()
|
||||
/// The list of alarm handlers this subsystem processes
|
||||
var/static/tmp/list/datum/alarm_handler/handlers
|
||||
|
||||
/// The list of alarm handlers currently being processed
|
||||
var/static/tmp/list/current = list()
|
||||
|
||||
/// The list of active alarms
|
||||
var/static/tmp/list/active = list()
|
||||
|
||||
|
||||
/datum/controller/subsystem/alarm/Initialize(timeofday)
|
||||
handlers = list(
|
||||
GLOB.atmosphere_alarm,
|
||||
GLOB.camera_alarm,
|
||||
GLOB.fire_alarm,
|
||||
GLOB.motion_alarm,
|
||||
GLOB.power_alarm
|
||||
)
|
||||
|
||||
|
||||
/datum/controller/subsystem/alarm/stat_entry(msg)
|
||||
..("[active.len] alarm\s")
|
||||
|
||||
|
||||
/datum/controller/subsystem/alarm/fire(resumed, no_mc_tick)
|
||||
if(!resumed)
|
||||
src.currentrun = all_handlers.Copy()
|
||||
active_alarm_cache.Cut()
|
||||
|
||||
var/list/currentrun = src.currentrun // Cache for sanic speed
|
||||
while (currentrun.len)
|
||||
var/datum/alarm_handler/AH = currentrun[currentrun.len]
|
||||
currentrun.len--
|
||||
AH.process()
|
||||
active_alarm_cache += AH.alarms
|
||||
|
||||
if (MC_TICK_CHECK)
|
||||
if (!resumed)
|
||||
current = handlers.Copy()
|
||||
active.Cut()
|
||||
var/datum/alarm_handler/A
|
||||
for (var/i = current.len to 1 step -1)
|
||||
A = current[i]
|
||||
A.process()
|
||||
active += A.alarms
|
||||
if (no_mc_tick)
|
||||
CHECK_TICK
|
||||
else if (MC_TICK_CHECK)
|
||||
current.Cut(i)
|
||||
return
|
||||
current.Cut()
|
||||
|
||||
/datum/controller/subsystem/alarm/proc/active_alarms()
|
||||
return active_alarm_cache.Copy()
|
||||
|
||||
/datum/controller/subsystem/alarm/proc/number_of_active_alarms()
|
||||
return active_alarm_cache.len
|
||||
GLOBAL_DATUM_INIT(atmosphere_alarm, /datum/alarm_handler/atmosphere, new)
|
||||
|
||||
/datum/controller/subsystem/alarm/stat_entry()
|
||||
..("[number_of_active_alarms()] alarm\s")
|
||||
GLOBAL_DATUM_INIT(camera_alarm, /datum/alarm_handler/camera, new)
|
||||
|
||||
GLOBAL_DATUM_INIT(fire_alarm, /datum/alarm_handler/fire, new)
|
||||
|
||||
GLOBAL_DATUM_INIT(motion_alarm, /datum/alarm_handler/motion, new)
|
||||
|
||||
GLOBAL_DATUM_INIT(power_alarm, /datum/alarm_handler/power, new)
|
||||
|
||||
@@ -22,10 +22,7 @@ SUBSYSTEM_DEF(antags)
|
||||
var/list/antag_datums = list()
|
||||
var/list/antag_spawnpoints = list()
|
||||
|
||||
/datum/controller/subsystem/antags/Initialize()
|
||||
. = ..()
|
||||
|
||||
// Set up antagonists.
|
||||
/datum/controller/subsystem/antags/Initialize(timeofday)
|
||||
for(var/antag_type in subtypesof(/datum/antagonist))
|
||||
var/datum/antagonist/A = new antag_type
|
||||
antag_datums[A.id] = A
|
||||
|
||||
@@ -16,4 +16,3 @@ SUBSYSTEM_DEF(assets)
|
||||
|
||||
for(var/client/C in GLOB.clients)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/getFilesSlow, C, preload, FALSE), 10)
|
||||
return ..()
|
||||
@@ -24,7 +24,6 @@ SUBSYSTEM_DEF(atoms)
|
||||
setupgenetics() //to set the mutations' place in structural enzymes, so initializers know where to put mutations.
|
||||
atom_init_stage = INITIALIZATION_INNEW_MAPLOAD
|
||||
InitializeAtoms()
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/atoms/proc/InitializeAtoms(var/list/supplied_atoms)
|
||||
|
||||
|
||||
@@ -11,18 +11,7 @@ SUBSYSTEM_DEF(character_setup)
|
||||
var/list/newplayers_requiring_init = list()
|
||||
|
||||
var/list/save_queue = list()
|
||||
/*
|
||||
/datum/controller/subsystem/character_setup/Initialize()
|
||||
while(prefs_awaiting_setup.len)
|
||||
var/datum/preferences/prefs = prefs_awaiting_setup[prefs_awaiting_setup.len]
|
||||
prefs_awaiting_setup.len--
|
||||
prefs.setup()
|
||||
while(newplayers_requiring_init.len)
|
||||
var/mob/new_player/new_player = newplayers_requiring_init[newplayers_requiring_init.len]
|
||||
newplayers_requiring_init.len--
|
||||
new_player.deferred_login()
|
||||
. = ..()
|
||||
*/ //Might be useful if we ever switch to Bay prefs.
|
||||
|
||||
/datum/controller/subsystem/character_setup/fire(resumed, no_mc_tick)
|
||||
while(save_queue.len)
|
||||
var/datum/preferences/prefs = save_queue[save_queue.len]
|
||||
|
||||
@@ -9,7 +9,6 @@ SUBSYSTEM_DEF(chat)
|
||||
|
||||
/datum/controller/subsystem/chat/Initialize(timeofday)
|
||||
init_vchat()
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/chat/fire(resumed, no_mc_tick)
|
||||
var/list/msg_queue = src.msg_queue // Local variable for sanic speed.
|
||||
|
||||
@@ -15,10 +15,9 @@ SUBSYSTEM_DEF(chemistry)
|
||||
chemical_reactions = SSchemistry.chemical_reactions
|
||||
chemical_reagents = SSchemistry.chemical_reagents
|
||||
|
||||
/datum/controller/subsystem/chemistry/Initialize()
|
||||
/datum/controller/subsystem/chemistry/Initialize(timeofday)
|
||||
initialize_chemical_reagents()
|
||||
initialize_chemical_reactions()
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/chemistry/stat_entry()
|
||||
..("C: [chemical_reagents.len] | R: [chemical_reactions.len]")
|
||||
|
||||
@@ -14,12 +14,8 @@ SUBSYSTEM_DEF(circuit)
|
||||
var/list/circuit_fabricator_recipe_list = list() // Associative list of [category_name]:[list_of_circuit_paths] pairs
|
||||
// var/cost_multiplier = MINERAL_MATERIAL_AMOUNT / 10 // Each circuit cost unit is 200cm3
|
||||
|
||||
/datum/controller/subsystem/circuit/Recover()
|
||||
flags |= SS_NO_INIT // Make extra sure we don't initialize twice.
|
||||
|
||||
/datum/controller/subsystem/circuit/Initialize(timeofday)
|
||||
circuits_init()
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/circuit/proc/circuits_init()
|
||||
//Cached lists for free performance
|
||||
|
||||
@@ -12,7 +12,7 @@ SUBSYSTEM_DEF(events)
|
||||
|
||||
var/datum/event_meta/new_event = new
|
||||
|
||||
/datum/controller/subsystem/events/Initialize()
|
||||
/datum/controller/subsystem/events/Initialize(timeofday)
|
||||
allEvents = typesof(/datum/event) - /datum/event
|
||||
event_containers = list(
|
||||
EVENT_LEVEL_MUNDANE = new/datum/event_container/mundane,
|
||||
@@ -21,7 +21,6 @@ SUBSYSTEM_DEF(events)
|
||||
)
|
||||
if(global.using_map.use_overmap)
|
||||
GLOB.overmap_event_handler.create_events(global.using_map.overmap_z, global.using_map.overmap_size, global.using_map.overmap_event_areas)
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/events/fire(resumed, no_mc_tick)
|
||||
if (!resumed)
|
||||
|
||||
@@ -23,7 +23,7 @@ SUBSYSTEM_DEF(game_master)
|
||||
|
||||
var/debug_messages = FALSE // If true, debug information is written to `log_debug()`.
|
||||
|
||||
/datum/controller/subsystem/game_master/Initialize()
|
||||
/datum/controller/subsystem/game_master/Initialize(timeofday)
|
||||
var/list/subtypes = subtypesof(/datum/event2/meta)
|
||||
for(var/T in subtypes)
|
||||
var/datum/event2/meta/M = new T()
|
||||
@@ -36,8 +36,6 @@ SUBSYSTEM_DEF(game_master)
|
||||
if(config && !config.enable_game_master)
|
||||
can_fire = FALSE
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/game_master/fire(resumed, no_mc_tick)
|
||||
adjust_staleness(1)
|
||||
adjust_danger(-1)
|
||||
|
||||
@@ -30,7 +30,7 @@ SUBSYSTEM_DEF(garbage)
|
||||
var/list/queues
|
||||
|
||||
|
||||
/datum/controller/subsystem/garbage/PreInit()
|
||||
/datum/controller/subsystem/garbage/OnNew()
|
||||
queues = new(GC_QUEUE_COUNT)
|
||||
pass_counts = new(GC_QUEUE_COUNT)
|
||||
fail_counts = new(GC_QUEUE_COUNT)
|
||||
|
||||
@@ -11,12 +11,8 @@ SUBSYSTEM_DEF(holomaps)
|
||||
var/static/list/extraMiniMaps = list()
|
||||
var/static/list/station_holomaps = list()
|
||||
|
||||
/datum/controller/subsystem/holomaps/Recover()
|
||||
flags |= SS_NO_INIT // Make extra sure we don't initialize twice.
|
||||
|
||||
/datum/controller/subsystem/holomaps/Initialize(timeofday)
|
||||
generateHoloMinimaps()
|
||||
. = ..()
|
||||
|
||||
/datum/controller/subsystem/holomaps/stat_entry(msg)
|
||||
if (!Debug2)
|
||||
|
||||
@@ -16,7 +16,6 @@ SUBSYSTEM_DEF(job)
|
||||
setup_departments()
|
||||
if(!occupations.len)
|
||||
setup_occupations()
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/job/proc/setup_occupations(faction = "Station")
|
||||
occupations = list()
|
||||
|
||||
@@ -40,7 +40,6 @@ SUBSYSTEM_DEF(lighting)
|
||||
internal_process_lights(FALSE, TRUE)
|
||||
internal_process_corners(FALSE, TRUE)
|
||||
internal_process_overlays(FALSE, TRUE)
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/lighting/fire(resumed, no_mc_tick)
|
||||
var/timer
|
||||
|
||||
@@ -37,7 +37,6 @@ SUBSYSTEM_DEF(machines)
|
||||
admin_notice("<span class='danger'>Initializing atmos machinery.</span>", R_DEBUG)
|
||||
setup_atmos_machinery(global.machines)
|
||||
fire()
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/machines/fire(resumed, no_mc_tick)
|
||||
var/timer = TICK_USAGE
|
||||
@@ -162,16 +161,6 @@ SUBSYSTEM_DEF(machines)
|
||||
if(MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
/datum/controller/subsystem/machines/Recover()
|
||||
// TODO - PHASE 2
|
||||
// if (istype(SSmachines.pipenets))
|
||||
// pipenets = SSmachines.pipenets
|
||||
// if (istype(SSmachines.machinery))
|
||||
// machinery = SSmachines.machinery
|
||||
// if (istype(SSmachines.powernets))
|
||||
// powernets = SSmachines.powernets
|
||||
// if (istype(SSmachines.power_objects))
|
||||
// power_objects = SSmachines.power_objects
|
||||
|
||||
#undef SSMACHINES_PIPENETS
|
||||
#undef SSMACHINES_MACHINERY
|
||||
|
||||
@@ -16,7 +16,6 @@ SUBSYSTEM_DEF(mapping)
|
||||
var/list/engine_submap_landmarks = list()
|
||||
|
||||
/datum/controller/subsystem/mapping/Recover()
|
||||
flags |= SS_NO_INIT // Make extra sure we don't initialize twice.
|
||||
shelter_templates = SSmapping.shelter_templates
|
||||
|
||||
/datum/controller/subsystem/mapping/Initialize(timeofday)
|
||||
@@ -46,7 +45,6 @@ SUBSYSTEM_DEF(mapping)
|
||||
// Lateload Code related to Expedition areas.
|
||||
// if(using_map)
|
||||
// loadLateMaps()
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/mapping/proc/log_mapload(msg)
|
||||
to_world_log(" [name]: [msg]")
|
||||
|
||||
@@ -10,14 +10,9 @@ SUBSYSTEM_DEF(nightshift)
|
||||
|
||||
var/high_security_mode = FALSE
|
||||
|
||||
/datum/controller/subsystem/nightshift/Initialize()
|
||||
/datum/controller/subsystem/nightshift/Initialize(timeofday)
|
||||
if(!config.enable_night_shifts)
|
||||
can_fire = FALSE
|
||||
/*
|
||||
if(config.randomize_shift_time)
|
||||
GLOB.gametime_offset = rand(0, 23) HOURS
|
||||
*/
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/nightshift/fire(resumed, no_mc_tick)
|
||||
if(round_duration_in_ds < nightshift_first_check)
|
||||
|
||||
@@ -20,11 +20,6 @@ SUBSYSTEM_DEF(open_space)
|
||||
initialize_open_space()
|
||||
// Pre-process open space turfs once before the round starts.
|
||||
fire(FALSE, TRUE)
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/open_space/Recover()
|
||||
flags |= SS_NO_INIT // Make extra sure we don't initialize twice.
|
||||
. = ..()
|
||||
|
||||
/datum/controller/subsystem/open_space/fire(resumed, no_mc_tick)
|
||||
// We use a different list so any additions to the update lists during a delay from MC_TICK_CHECK
|
||||
|
||||
@@ -14,15 +14,14 @@ var/global/image/stringbro = new() // Temporarily super-global because of BYOND
|
||||
var/global/image/iconbro = new() // Temporarily super-global because of BYOND init order dumbness.
|
||||
var/global/image/appearance_bro = new() // Temporarily super-global because of BYOND init order dumbness.
|
||||
|
||||
/datum/controller/subsystem/overlays/PreInit()
|
||||
/datum/controller/subsystem/overlays/OnNew()
|
||||
overlay_icon_state_caches = list()
|
||||
overlay_icon_cache = list()
|
||||
queue = list()
|
||||
stats = list()
|
||||
|
||||
/datum/controller/subsystem/overlays/Initialize()
|
||||
/datum/controller/subsystem/overlays/Initialize(timeofday)
|
||||
fire(FALSE, TRUE)
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/overlays/stat_entry()
|
||||
..("Ov:[length(queue)]")
|
||||
|
||||
@@ -5,8 +5,7 @@ SUBSYSTEM_DEF(persistence)
|
||||
var/list/tracking_values = list()
|
||||
var/list/persistence_datums = list()
|
||||
|
||||
/datum/controller/subsystem/persistence/Initialize()
|
||||
. = ..()
|
||||
/datum/controller/subsystem/persistence/Initialize(timeofday)
|
||||
for(var/thing in subtypesof(/datum/persistent))
|
||||
var/datum/persistent/P = thing
|
||||
if(initial(P.name))
|
||||
|
||||
@@ -17,7 +17,6 @@ SUBSYSTEM_DEF(planets)
|
||||
/datum/controller/subsystem/planets/Initialize(timeofday)
|
||||
admin_notice("<span class='danger'>Initializing planetary weather.</span>", R_DEBUG)
|
||||
createPlanets()
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/planets/proc/createPlanets()
|
||||
var/list/planet_datums = using_map.planet_datums_to_make
|
||||
|
||||
@@ -35,7 +35,7 @@ SUBSYSTEM_DEF(shuttles)
|
||||
|
||||
var/tmp/list/current_run // Shuttles remaining to process this fire() tick
|
||||
|
||||
/datum/controller/subsystem/shuttles/PreInit()
|
||||
/datum/controller/subsystem/shuttles/OnNew()
|
||||
global.shuttle_controller = src // TODO - Remove this! Change everything to point at SSshuttles intead
|
||||
|
||||
/datum/controller/subsystem/shuttles/Initialize(timeofday)
|
||||
@@ -49,7 +49,6 @@ SUBSYSTEM_DEF(shuttles)
|
||||
LAZYDISTINCTADD(shuttles_to_initialize, shuttle_type)
|
||||
block_init_queue = FALSE
|
||||
process_init_queues()
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/shuttles/fire(resumed, no_mc_tick)
|
||||
if (!resumed)
|
||||
|
||||
@@ -12,7 +12,7 @@ SUBSYSTEM_DEF(skybox)
|
||||
var/static/list/phase_shift_by_x = list()
|
||||
var/static/list/phase_shift_by_y = list()
|
||||
|
||||
/datum/controller/subsystem/skybox/PreInit()
|
||||
/datum/controller/subsystem/skybox/OnNew()
|
||||
//Static
|
||||
for (var/i in 0 to 25)
|
||||
var/image/im = image('icons/turf/space_dust.dmi', "[i]")
|
||||
@@ -60,10 +60,6 @@ SUBSYSTEM_DEF(skybox)
|
||||
phase_shift_by_x = get_cross_shift_list(15)
|
||||
phase_shift_by_y = get_cross_shift_list(15)
|
||||
|
||||
. = ..()
|
||||
|
||||
/datum/controller/subsystem/skybox/Initialize()
|
||||
. = ..()
|
||||
|
||||
/datum/controller/subsystem/skybox/proc/get_skybox(z)
|
||||
if(!skybox_cache["[z]"])
|
||||
|
||||
@@ -4,7 +4,6 @@ SUBSYSTEM_DEF(supply)
|
||||
name = "Supply"
|
||||
wait = 20 SECONDS
|
||||
priority = FIRE_PRIORITY_SUPPLY
|
||||
//Initializes at default time
|
||||
flags = SS_NO_TICK_CHECK
|
||||
|
||||
//supply points
|
||||
@@ -24,7 +23,7 @@ SUBSYSTEM_DEF(supply)
|
||||
var/movetime = 1200
|
||||
var/datum/shuttle/autodock/ferry/supply/shuttle
|
||||
|
||||
/datum/controller/subsystem/supply/Initialize()
|
||||
/datum/controller/subsystem/supply/Initialize(timeofday)
|
||||
ordernum = rand(1,9000)
|
||||
|
||||
// build master supply list
|
||||
@@ -35,8 +34,6 @@ SUBSYSTEM_DEF(supply)
|
||||
else
|
||||
qdel(P)
|
||||
|
||||
. = ..()
|
||||
|
||||
// Supply shuttle ticker - handles supply point regeneration. Just add points over time.
|
||||
/datum/controller/subsystem/supply/fire(resumed, no_mc_tick)
|
||||
points += points_per_process
|
||||
|
||||
@@ -22,7 +22,7 @@ SUBSYSTEM_DEF(tgui)
|
||||
current.Cut()
|
||||
|
||||
|
||||
/datum/controller/subsystem/tgui/PreInit()
|
||||
/datum/controller/subsystem/tgui/OnNew()
|
||||
base_html = file2text('tgui/packages/tgui/public/tgui.html')
|
||||
|
||||
|
||||
|
||||
@@ -47,10 +47,10 @@ SUBSYSTEM_DEF(ticker)
|
||||
|
||||
// This global variable exists for legacy support so we don't have to rename every 'ticker' to 'SSticker' yet.
|
||||
var/global/datum/controller/subsystem/ticker/ticker
|
||||
/datum/controller/subsystem/ticker/PreInit()
|
||||
/datum/controller/subsystem/ticker/OnNew()
|
||||
global.ticker = src // TODO - Remove this! Change everything to point at SSticker intead
|
||||
|
||||
/datum/controller/subsystem/ticker/Initialize()
|
||||
/datum/controller/subsystem/ticker/Initialize(timeofday)
|
||||
pregame_timeleft = config.pregame_time
|
||||
send2mainirc("Server lobby is loaded and open at byond://[config.serverurl ? config.serverurl : (config.server ? config.server : "[world.address]:[world.port]")]")
|
||||
SSwebhooks.send(
|
||||
@@ -61,7 +61,6 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
)
|
||||
)
|
||||
GLOB.autospeaker = new (null, null, null, 1) //Set up Global Announcer
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/ticker/fire(resumed, no_mc_tick)
|
||||
switch(current_state)
|
||||
|
||||
@@ -28,7 +28,7 @@ SUBSYSTEM_DEF(timer)
|
||||
var/static/last_invoke_warning = 0
|
||||
var/static/bucket_auto_reset = TRUE
|
||||
|
||||
/datum/controller/subsystem/timer/PreInit()
|
||||
/datum/controller/subsystem/timer/OnNew()
|
||||
bucket_list.len = BUCKET_LEN
|
||||
head_offset = world.time
|
||||
bucket_resolution = world.tick_lag
|
||||
|
||||
@@ -4,9 +4,8 @@ SUBSYSTEM_DEF(webhooks)
|
||||
flags = SS_NO_FIRE
|
||||
var/list/webhook_decls = list()
|
||||
|
||||
/datum/controller/subsystem/webhooks/Initialize()
|
||||
/datum/controller/subsystem/webhooks/Initialize(timeofday)
|
||||
load_webhooks()
|
||||
. = ..()
|
||||
|
||||
/datum/controller/subsystem/webhooks/proc/load_webhooks()
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ SUBSYSTEM_DEF(xenoarch)
|
||||
|
||||
/datum/controller/subsystem/xenoarch/Initialize(timeofday)
|
||||
SetupXenoarch()
|
||||
..()
|
||||
|
||||
/datum/controller/subsystem/xenoarch/Recover()
|
||||
if (istype(SSxenoarch.artifact_spawning_turfs))
|
||||
|
||||
Reference in New Issue
Block a user