mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 18:46:24 +01:00
refactors most spans
This commit is contained in:
@@ -71,7 +71,7 @@ var/list/gamemode_cache = list()
|
||||
|
||||
var/static/respawn = 1
|
||||
var/static/respawn_time = 3000 // time before a dead player is allowed to respawn (in ds, though the config file asks for minutes, and it's converted below)
|
||||
var/static/respawn_message = "<span class='notice'><B>Make sure to play a different character, and please roleplay correctly!</B></span>"
|
||||
var/static/respawn_message = span_notice("<B>Make sure to play a different character, and please roleplay correctly!</B>")
|
||||
|
||||
var/static/guest_jobban = 1
|
||||
var/static/usewhitelist = 0
|
||||
@@ -529,7 +529,7 @@ var/list/gamemode_cache = list()
|
||||
config.respawn_time = raw_minutes MINUTES
|
||||
|
||||
if ("respawn_message")
|
||||
config.respawn_message = "<span class='notice'><B>[value]</B></span>"
|
||||
config.respawn_message = span_notice("<B>[value]</B>")
|
||||
|
||||
if ("servername")
|
||||
config.server_name = value
|
||||
|
||||
@@ -57,23 +57,23 @@ var/datum/controller/failsafe/Failsafe
|
||||
if(4,5)
|
||||
--defcon
|
||||
if(3)
|
||||
log_and_message_admins("<span class='adminnotice'>SSfailsafe Notice: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has not fired in the last [(5-defcon) * processing_interval] ticks.</span>")
|
||||
log_and_message_admins(span_adminnotice("SSfailsafe Notice: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has not fired in the last [(5-defcon) * processing_interval] ticks."))
|
||||
--defcon
|
||||
if(2)
|
||||
log_and_message_admins("<span class='boldannounce'>SSfailsafe Warning: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.</span>")
|
||||
log_and_message_admins(span_boldannounce("SSfailsafe Warning: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks."))
|
||||
--defcon
|
||||
if(1)
|
||||
|
||||
log_and_message_admins("<span class='boldannounce'>SSfailsafe Warning: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...</span>")
|
||||
log_and_message_admins(span_boldannounce("SSfailsafe Warning: DEFCON [defcon_pretty()]. The Master Controller (\ref[Master]) has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting..."))
|
||||
--defcon
|
||||
var/rtn = Recreate_MC()
|
||||
if(rtn > 0)
|
||||
defcon = 4
|
||||
master_iteration = 0
|
||||
log_and_message_admins("<span class='adminnotice'>SSfailsafe Notice: MC (New:\ref[Master]) restarted successfully</span>")
|
||||
log_and_message_admins(span_adminnotice("SSfailsafe Notice: MC (New:\ref[Master]) restarted successfully"))
|
||||
else if(rtn < 0)
|
||||
log_game("SSfailsafe Notice: Could not restart MC (\ref[Master]), runtime encountered. Entering defcon 0")
|
||||
log_and_message_admins("<span class='boldannounce'>SSFAILSAFE ERROR: DEFCON [defcon_pretty()]. Could not restart MC (\ref[Master]), runtime encountered. I will silently keep retrying.</span>")
|
||||
log_and_message_admins(span_boldannounce("SSFAILSAFE ERROR: DEFCON [defcon_pretty()]. Could not restart MC (\ref[Master]), runtime encountered. I will silently keep retrying."))
|
||||
//if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again
|
||||
//no need to handle that specially when defcon 0 can handle it
|
||||
if(0) //DEFCON 0! (mc failed to restart)
|
||||
@@ -81,7 +81,7 @@ var/datum/controller/failsafe/Failsafe
|
||||
if(rtn > 0)
|
||||
defcon = 4
|
||||
master_iteration = 0
|
||||
log_and_message_admins("<span class='adminnotice'>SSfailsafe Notice: MC (New:\ref[Master]) restarted successfully</span>")
|
||||
log_and_message_admins(span_adminnotice("SSfailsafe Notice: MC (New:\ref[Master]) restarted successfully"))
|
||||
else
|
||||
defcon = min(defcon + 1,5)
|
||||
master_iteration = Master.iteration
|
||||
|
||||
@@ -141,7 +141,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
BadBoy.critfail()
|
||||
if(msg)
|
||||
log_game(msg)
|
||||
message_admins("<span class='boldannounce'>[msg]</span>")
|
||||
message_admins(span_boldannounce("[msg]"))
|
||||
log_world(msg)
|
||||
|
||||
if (istype(Master.subsystems))
|
||||
@@ -152,7 +152,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
current_runlevel = Master.current_runlevel
|
||||
StartProcessing(10)
|
||||
else
|
||||
to_world("<span class='boldannounce'>The Master Controller is having some issues, we will need to re-initialize EVERYTHING</span>")
|
||||
to_world(span_boldannounce("The Master Controller is having some issues, we will need to re-initialize EVERYTHING"))
|
||||
Initialize(20, TRUE)
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
if(init_sss)
|
||||
init_subtypes(/datum/controller/subsystem, subsystems)
|
||||
|
||||
to_chat(world, "<span class='boldannounce'>MC: Initializing subsystems...</span>")
|
||||
to_chat(world, span_boldannounce("MC: Initializing subsystems..."))
|
||||
|
||||
// Sort subsystems by init_order, so they initialize in the correct order.
|
||||
sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_init))
|
||||
@@ -187,7 +187,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
var/time = (REALTIMEOFDAY - start_timeofday) / 10
|
||||
|
||||
var/msg = "MC: Initializations complete within [time] second[time == 1 ? "" : "s"]!"
|
||||
to_chat(world, "<span class='boldannounce'>[msg]</span>")
|
||||
to_chat(world, span_boldannounce("[msg]"))
|
||||
log_world(msg)
|
||||
|
||||
if (!current_runlevel)
|
||||
@@ -591,9 +591,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
|
||||
/datum/controller/master/StartLoadingMap(var/quiet = TRUE)
|
||||
if(map_loading)
|
||||
admin_notice("<span class='danger'>Another map is attempting to be loaded before first map released lock. Delaying.</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Another map is attempting to be loaded before first map released lock. Delaying."), R_DEBUG)
|
||||
else if(!quiet)
|
||||
admin_notice("<span class='danger'>Map is now being built. Locking.</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Map is now being built. Locking."), R_DEBUG)
|
||||
|
||||
//disallow more than one map to load at once, multithreading it will just cause race conditions
|
||||
while(map_loading)
|
||||
@@ -605,7 +605,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
|
||||
/datum/controller/master/StopLoadingMap(var/quiet = TRUE)
|
||||
if(!quiet)
|
||||
admin_notice("<span class='danger'>Map is finished. Unlocking.</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Map is finished. Unlocking."), R_DEBUG)
|
||||
map_loading = FALSE
|
||||
for(var/datum/controller/subsystem/SS as anything in subsystems)
|
||||
SS.StopLoadingMap()
|
||||
|
||||
@@ -28,7 +28,7 @@ var/global/pipe_processing_killed = 0
|
||||
job_master = new /datum/controller/occupations()
|
||||
job_master.SetupOccupations()
|
||||
job_master.LoadJobs("config/jobs.txt")
|
||||
admin_notice("<span class='danger'>Job setup complete</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Job setup complete"), R_DEBUG)
|
||||
|
||||
if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase()
|
||||
if(!syndicate_code_response) syndicate_code_response = generate_code_phrase()
|
||||
@@ -40,7 +40,7 @@ var/global/pipe_processing_killed = 0
|
||||
// SetupXenoarch() - Moved to SSxenoarch
|
||||
|
||||
transfer_controller = new
|
||||
admin_notice("<span class='danger'>Initializations complete.</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Initializations complete."), R_DEBUG)
|
||||
|
||||
// #if UNIT_TEST
|
||||
// # define CHECK_SLEEP_MASTER // For unit tests we don't care about a smooth lobby screen experience. We care about speed.
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
subsystem_initialized = TRUE
|
||||
var/time = (REALTIMEOFDAY - start_timeofday) / 10
|
||||
var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!"
|
||||
to_chat(world, "<span class='boldannounce'>[msg]</span>")
|
||||
to_chat(world, span_boldannounce("[msg]"))
|
||||
log_world(msg)
|
||||
return time
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
can_fire = FALSE
|
||||
// Safely sleep in a loop until the subsystem is idle, (or its been un-suspended somehow)
|
||||
while(can_fire <= 0 && state != SS_IDLE)
|
||||
stoplag() // Safely sleep in a loop until
|
||||
stoplag() // Safely sleep in a loop until
|
||||
|
||||
// Wakes a suspended subsystem.
|
||||
/datum/controller/subsystem/proc/wake()
|
||||
|
||||
@@ -48,7 +48,7 @@ SUBSYSTEM_DEF(air)
|
||||
Total Simulated Turfs: [simulated_turf_count]
|
||||
Total Zones: [zones.len]
|
||||
Total Edges: [edges.len]
|
||||
Total Active Edges: [active_edges.len ? "<span class='danger'>[active_edges.len]</span>" : "None"]
|
||||
Total Active Edges: [active_edges.len ? span_danger("[active_edges.len]") : "None"]
|
||||
Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]
|
||||
</span>"}, R_DEBUG)
|
||||
|
||||
@@ -57,19 +57,19 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
||||
if(active_edges.len)
|
||||
var/list/edge_log = list()
|
||||
for(var/connection_edge/E in active_edges)
|
||||
|
||||
|
||||
var/a_temp = E.A.air.temperature
|
||||
var/a_moles = E.A.air.total_moles
|
||||
var/a_vol = E.A.air.volume
|
||||
var/a_gas = ""
|
||||
for(var/gas in E.A.air.gas)
|
||||
a_gas += "[gas]=[E.A.air.gas[gas]]"
|
||||
|
||||
|
||||
var/b_temp
|
||||
var/b_moles
|
||||
var/b_vol
|
||||
var/b_gas = ""
|
||||
|
||||
|
||||
// Two zones mixing
|
||||
if(istype(E, /connection_edge/zone))
|
||||
var/connection_edge/zone/Z = E
|
||||
@@ -87,14 +87,14 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
|
||||
b_vol = "Unsim"
|
||||
for(var/gas in U.air.gas)
|
||||
b_gas += "[gas]=[U.air.gas[gas]]"
|
||||
|
||||
|
||||
edge_log += "Active Edge [E] ([E.type])"
|
||||
edge_log += "Edge side A: T:[a_temp], Mol:[a_moles], Vol:[a_vol], Gas:[a_gas]"
|
||||
edge_log += "Edge side B: T:[b_temp], Mol:[b_moles], Vol:[b_vol], Gas:[b_gas]"
|
||||
|
||||
|
||||
for(var/turf/T in E.connecting_turfs)
|
||||
edge_log += "+--- Connecting Turf [T] ([T.type]) @ [T.x], [T.y], [T.z] ([T.loc])"
|
||||
|
||||
|
||||
log_debug("Active Edges on ZAS Startup\n" + edge_log.Join("\n"))
|
||||
startup_active_edge_log = edge_log.Copy()
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ SUBSYSTEM_DEF(airflow)
|
||||
return FALSE
|
||||
|
||||
if (ismob(src))
|
||||
to_chat(src,"<span class='danger'>You are pushed away by airflow!</span>")
|
||||
to_chat(src,span_danger("You are pushed away by airflow!"))
|
||||
|
||||
last_airflow = world.time
|
||||
var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2)
|
||||
|
||||
@@ -21,7 +21,7 @@ SUBSYSTEM_DEF(atoms)
|
||||
setupgenetics() //to set the mutations' place in structural enzymes, so initializers know where to put mutations.
|
||||
initialized = INITIALIZATION_INNEW_MAPLOAD
|
||||
to_world_log("Initializing objects")
|
||||
admin_notice("<span class='danger'>Initializing objects</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Initializing objects"), R_DEBUG)
|
||||
InitializeAtoms()
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ SUBSYSTEM_DEF(inactivity)
|
||||
var/client/C = client_list[client_list.len]
|
||||
client_list.len--
|
||||
if(C.is_afk(config.kick_inactive MINUTES) && can_kick(C))
|
||||
to_chat_immediate(C, world.time, "<span class='warning'>You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.</span>")
|
||||
to_chat_immediate(C, world.time, span_warning("You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected."))
|
||||
|
||||
var/information
|
||||
if(C.mob)
|
||||
|
||||
@@ -32,7 +32,7 @@ SUBSYSTEM_DEF(machines)
|
||||
|
||||
/datum/controller/subsystem/machines/Initialize(timeofday)
|
||||
makepowernets()
|
||||
admin_notice("<span class='danger'>Initializing atmos machinery.</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Initializing atmos machinery."), R_DEBUG)
|
||||
setup_atmos_machinery(all_machines)
|
||||
fire()
|
||||
..()
|
||||
@@ -63,7 +63,7 @@ SUBSYSTEM_DEF(machines)
|
||||
|
||||
/datum/controller/subsystem/machines/proc/setup_atmos_machinery(list/atmos_machines)
|
||||
var/list/actual_atmos_machines = list()
|
||||
|
||||
|
||||
for(var/obj/machinery/atmospherics/machine in atmos_machines)
|
||||
machine.atmos_init()
|
||||
actual_atmos_machines += machine
|
||||
|
||||
@@ -65,7 +65,7 @@ SUBSYSTEM_DEF(mapping)
|
||||
engine_types += MT
|
||||
chosen_type = pick(engine_types)
|
||||
to_world_log("Chose Engine Map: [chosen_type.name]")
|
||||
admin_notice("<span class='danger'>Chose Engine Map: [chosen_type.name]</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Chose Engine Map: [chosen_type.name]"), R_DEBUG)
|
||||
|
||||
// Annihilate movable atoms
|
||||
engine_loader.annihilate_bounds()
|
||||
|
||||
@@ -99,11 +99,11 @@ SUBSYSTEM_DEF(media_tracks)
|
||||
if(islist(json))
|
||||
for(var/song in json)
|
||||
if(!islist(song))
|
||||
to_chat(C, "<span class='warning'>Song appears to be malformed.</span>")
|
||||
to_chat(C, span_warning("Song appears to be malformed."))
|
||||
continue
|
||||
var/list/songdata = song
|
||||
if(!songdata["url"] || !songdata["title"] || !songdata["duration"])
|
||||
to_chat(C, "<span class='warning'>URL, Title, or Duration was missing from a song. Skipping.</span>")
|
||||
to_chat(C, span_warning("URL, Title, or Duration was missing from a song. Skipping."))
|
||||
continue
|
||||
var/datum/track/T = new(songdata["url"], songdata["title"], songdata["duration"], songdata["artist"], songdata["genre"], songdata["secret"], songdata["lobby"])
|
||||
all_tracks += T
|
||||
@@ -172,7 +172,7 @@ SUBSYSTEM_DEF(media_tracks)
|
||||
sort_tracks()
|
||||
return
|
||||
|
||||
to_chat(C, "<span class='warning'>Couldn't find a track matching the specified parameters.</span>")
|
||||
to_chat(C, span_warning("Couldn't find a track matching the specified parameters."))
|
||||
|
||||
/datum/controller/subsystem/media_tracks/proc/add_track(var/mob/user, var/new_url, var/new_title, var/new_duration, var/new_artist, var/new_genre, var/new_secret, var/new_lobby)
|
||||
if(!check_rights(R_DEBUG|R_FUN))
|
||||
|
||||
@@ -26,7 +26,7 @@ if we end up with multiple renamable lateload overmap objects.*/
|
||||
if(V.visitable_renamed) //could just if(D.modify_descriptors()), but having a var recording renaming is useful for debugging and stuff!
|
||||
if(V.known)
|
||||
to_world_log("##Overmap Renamer: Renamed Debris Field as: [V.name]")
|
||||
admin_notice("<span class='danger'>Debris Field name chosen as [V.name]</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Debris Field name chosen as [V.name]"), R_DEBUG)
|
||||
else
|
||||
to_world_log("##Overmap Renamer: Renamed Debris Field as: [V.real_name]")
|
||||
admin_notice("<span class='danger'>Debris Field name chosen as [V.real_name]</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Debris Field name chosen as [V.real_name]"), R_DEBUG)
|
||||
|
||||
@@ -15,7 +15,7 @@ SUBSYSTEM_DEF(planets)
|
||||
var/static/list/needs_temp_update = list()
|
||||
|
||||
/datum/controller/subsystem/planets/Initialize(timeofday)
|
||||
admin_notice("<span class='danger'>Initializing planetary weather.</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Initializing planetary weather."), R_DEBUG)
|
||||
createPlanets()
|
||||
..()
|
||||
|
||||
@@ -28,7 +28,7 @@ SUBSYSTEM_DEF(planets)
|
||||
if(Z > z_to_planet.len)
|
||||
z_to_planet.len = Z
|
||||
if(z_to_planet[Z])
|
||||
admin_notice("<span class='danger'>Z[Z] is shared by more than one planet!</span>", R_DEBUG)
|
||||
admin_notice(span_danger("Z[Z] is shared by more than one planet!"), R_DEBUG)
|
||||
continue
|
||||
z_to_planet[Z] = NP
|
||||
|
||||
@@ -40,7 +40,7 @@ SUBSYSTEM_DEF(planets)
|
||||
var/datum/planet/P = z_to_planet[T.z]
|
||||
if(!istype(P))
|
||||
return
|
||||
if(istype(T, /turf/unsimulated/wall/planetary))
|
||||
if(istype(T, /turf/unsimulated/wall/planetary))
|
||||
P.planet_walls += T
|
||||
else if(istype(T, /turf/simulated) && T.is_outdoors())
|
||||
P.planet_floors += T
|
||||
@@ -71,7 +71,7 @@ SUBSYSTEM_DEF(planets)
|
||||
updateSunlight(P)
|
||||
if(MC_TICK_CHECK)
|
||||
return
|
||||
|
||||
|
||||
#ifndef UNIT_TEST // Don't be updating temperatures and such during unit tests
|
||||
var/list/needs_temp_update = src.needs_temp_update
|
||||
while(needs_temp_update.len)
|
||||
@@ -105,7 +105,7 @@ SUBSYSTEM_DEF(planets)
|
||||
/datum/controller/subsystem/planets/proc/updateSunlight(var/datum/planet/P)
|
||||
var/new_brightness = P.sun["brightness"]
|
||||
P.sun_holder.update_brightness(new_brightness, P.planet_floors)
|
||||
|
||||
|
||||
var/new_color = P.sun["color"]
|
||||
P.sun_holder.update_color(new_color)
|
||||
|
||||
|
||||
@@ -200,7 +200,7 @@ SUBSYSTEM_DEF(supply)
|
||||
A.req_access = L.Copy()
|
||||
LAZYCLEARLIST(A.req_one_access)
|
||||
else
|
||||
log_debug("<span class='danger'>Supply pack with invalid access restriction [SP.access] encountered!</span>")
|
||||
log_debug(span_danger("Supply pack with invalid access restriction [SP.access] encountered!"))
|
||||
|
||||
//supply manifest generation begin
|
||||
var/obj/item/paper/manifest/slip
|
||||
|
||||
@@ -74,8 +74,8 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
post_game_tick()
|
||||
|
||||
/datum/controller/subsystem/ticker/proc/pregame_welcome()
|
||||
to_world("<span class='boldannounce notice'><em>Welcome to the pregame lobby!</em></span>")
|
||||
to_world("<span class='boldannounce notice'>Please set up your character and select ready. The round will start in [pregame_timeleft] seconds.</span>")
|
||||
to_world(span_boldannounce(span_notice("<em>Welcome to the pregame lobby!</em>")))
|
||||
to_world(span_boldannounce(span_notice("Please set up your character and select ready. The round will start in [pregame_timeleft] seconds.")))
|
||||
world << sound('sound/misc/server-ready.ogg', volume = 100)
|
||||
|
||||
// Called during GAME_STATE_PREGAME (RUNLEVEL_LOBBY)
|
||||
@@ -123,7 +123,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
var/list/runnable_modes = config.get_runnable_modes()
|
||||
if((master_mode == "random") || (master_mode == "secret"))
|
||||
if(!runnable_modes.len)
|
||||
to_world("<span class='danger'><B>Unable to choose playable game mode.</B> Reverting to pregame lobby.</span>")
|
||||
to_world(span_danger("<B>Unable to choose playable game mode.</B> Reverting to pregame lobby."))
|
||||
return 0
|
||||
if(secret_force_mode != "secret")
|
||||
src.mode = config.pick_mode(secret_force_mode)
|
||||
@@ -136,7 +136,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
src.mode = config.pick_mode(master_mode)
|
||||
|
||||
if(!src.mode)
|
||||
to_world("<span class='danger'>Serious error in mode setup! Reverting to pregame lobby.</span>") //Uses setup instead of set up due to computational context.
|
||||
to_world(span_danger("Serious error in mode setup! Reverting to pregame lobby.")) //Uses setup instead of set up due to computational context.
|
||||
return 0
|
||||
|
||||
job_master.ResetOccupations()
|
||||
@@ -145,21 +145,21 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
job_master.DivideOccupations() // Apparently important for new antagonist system to register specific job antags properly.
|
||||
|
||||
if(!src.mode.can_start())
|
||||
to_world("<span class='danger'><B>Unable to start [mode.name].</B> Not enough players readied, [config.player_requirements[mode.config_tag]] players needed. Reverting to pregame lobby.</span>")
|
||||
to_world(span_danger("<B>Unable to start [mode.name].</B> Not enough players readied, [config.player_requirements[mode.config_tag]] players needed. Reverting to pregame lobby."))
|
||||
mode.fail_setup()
|
||||
mode = null
|
||||
job_master.ResetOccupations()
|
||||
return 0
|
||||
|
||||
if(hide_mode)
|
||||
to_world("<span class='notice'><B>The current game mode is - Secret!</B></span>")
|
||||
to_world(span_notice("<B>The current game mode is - Secret!</B>"))
|
||||
if(runnable_modes.len)
|
||||
var/list/tmpmodes = new
|
||||
for (var/datum/game_mode/M in runnable_modes)
|
||||
tmpmodes+=M.name
|
||||
tmpmodes = sortList(tmpmodes)
|
||||
if(tmpmodes.len)
|
||||
to_world("<span class='info'><B>Possibilities:</B> [english_list(tmpmodes, and_text= "; ", comma_text = "; ")]</span>")
|
||||
to_world(span_info("<B>Possibilities:</B> [english_list(tmpmodes, and_text= "; ", comma_text = "; ")]"))
|
||||
else
|
||||
src.mode.announce()
|
||||
return 1
|
||||
@@ -181,7 +181,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
//Deleting Startpoints but we need the ai point to AI-ize people later
|
||||
if (S.name != "AI")
|
||||
qdel(S)
|
||||
to_world("<span class='boldannounce notice'><em>Enjoy the game!</em></span>")
|
||||
to_world(span_boldannounce(span_notice("<em>Enjoy the game!</em>")))
|
||||
world << sound('sound/AI/welcome.ogg') // Skie
|
||||
//Holiday Round-start stuff ~Carn
|
||||
Holiday_Game_Start()
|
||||
@@ -225,7 +225,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
end_game_state = END_GAME_MODE_FINISHED // Only do this cleanup once!
|
||||
mode.cleanup()
|
||||
//call a transfer shuttle vote
|
||||
to_world("<span class='danger'>The round has ended!</span>")
|
||||
to_world(span_danger("The round has ended!"))
|
||||
SSvote.autotransfer()
|
||||
|
||||
// Called during GAME_STATE_FINISHED (RUNLEVEL_POSTGAME)
|
||||
@@ -238,7 +238,7 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
feedback_set_details("end_proper", "nuke")
|
||||
restart_timeleft = 1 MINUTE // No point waiting five minutes if everyone's dead.
|
||||
if(!delay_end)
|
||||
to_world("<span class='notice'><b>Rebooting due to destruction of [station_name()] in [round(restart_timeleft/600)] minute\s.</b></span>")
|
||||
to_world(span_notice("<b>Rebooting due to destruction of [station_name()] in [round(restart_timeleft/600)] minute\s.</b>"))
|
||||
last_restart_notify = world.time
|
||||
else
|
||||
feedback_set_details("end_proper", "proper completion")
|
||||
@@ -252,14 +252,14 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
if(END_GAME_ENDING)
|
||||
restart_timeleft -= (world.time - last_fire)
|
||||
if(delay_end)
|
||||
to_world("<span class='notice'><b>An admin has delayed the round end.</b></span>")
|
||||
to_world(span_notice("<b>An admin has delayed the round end.</b>"))
|
||||
end_game_state = END_GAME_DELAYED
|
||||
else if(restart_timeleft <= 0)
|
||||
to_world("<span class='warning'><b>Restarting world!</b></span>")
|
||||
to_world(span_warning("<b>Restarting world!</b>"))
|
||||
sleep(5)
|
||||
world.Reboot()
|
||||
else if (world.time - last_restart_notify >= 1 MINUTE)
|
||||
to_world("<span class='notice'><b>Restarting in [round(restart_timeleft/600, 1)] minute\s.</b></span>")
|
||||
to_world(span_notice("<b>Restarting in [round(restart_timeleft/600, 1)] minute\s.</b>"))
|
||||
last_restart_notify = world.time
|
||||
return
|
||||
if(END_GAME_DELAYED)
|
||||
@@ -451,47 +451,47 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
if(captainless)
|
||||
for(var/mob/M in player_list)
|
||||
if(!istype(M,/mob/new_player))
|
||||
to_chat(M, "<span class='notice'>Site Management is not forced on anyone.</span>")
|
||||
to_chat(M, span_notice("Site Management is not forced on anyone."))
|
||||
|
||||
|
||||
/datum/controller/subsystem/ticker/proc/declare_completion()
|
||||
to_world("<span class='filter_system'><br><br><br><H1>A round of [mode.name] has ended!</H1></span>")
|
||||
to_world(span_filter_system("<br><br><br><H1>A round of [mode.name] has ended!</H1>"))
|
||||
for(var/mob/Player in player_list)
|
||||
if(Player.mind && !isnewplayer(Player))
|
||||
if(Player.stat != DEAD)
|
||||
var/turf/playerTurf = get_turf(Player)
|
||||
if(emergency_shuttle.departed && emergency_shuttle.evac)
|
||||
if(isNotAdminLevel(playerTurf.z))
|
||||
to_chat(Player, "<span class='filter_system'>[span_blue("<b>You survived the round, but remained on [station_name()] as [Player.real_name].</b>")]</span>")
|
||||
to_chat(Player, span_filter_system("[span_blue("<b>You survived the round, but remained on [station_name()] as [Player.real_name].</b>")]"))
|
||||
else
|
||||
to_chat(Player, "<span class='filter_system'>[span_green("<b>You managed to survive the events on [station_name()] as [Player.real_name].</b>")]</span>")
|
||||
to_chat(Player, span_filter_system("[span_green("<b>You managed to survive the events on [station_name()] as [Player.real_name].</b>")]"))
|
||||
else if(isAdminLevel(playerTurf.z))
|
||||
to_chat(Player, "<span class='filter_system'>[span_green("<b>You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].</b>")]</span>")
|
||||
to_chat(Player, span_filter_system("[span_green("<b>You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].</b>")]"))
|
||||
else if(issilicon(Player))
|
||||
to_chat(Player, "<span class='filter_system'>[span_green("<b>You remain operational after the events on [station_name()] as [Player.real_name].</b>")]</span>")
|
||||
to_chat(Player, span_filter_system("[span_green("<b>You remain operational after the events on [station_name()] as [Player.real_name].</b>")]"))
|
||||
else
|
||||
to_chat(Player, "<span class='filter_system'>[span_blue("<b>You missed the crew transfer after the events on [station_name()] as [Player.real_name].</b>")]</span>")
|
||||
to_chat(Player, span_filter_system("[span_blue("<b>You missed the crew transfer after the events on [station_name()] as [Player.real_name].</b>")]"))
|
||||
else
|
||||
if(istype(Player,/mob/observer/dead))
|
||||
var/mob/observer/dead/O = Player
|
||||
if(!O.started_as_observer)
|
||||
to_chat(Player, "<span class='filter_system'>[span_red("<b>You did not survive the events on [station_name()]...</b>")]</span>")
|
||||
to_chat(Player, span_filter_system("[span_red("<b>You did not survive the events on [station_name()]...</b>")]"))
|
||||
else
|
||||
to_chat(Player, "<span class='filter_system'>[span_red("<b>You did not survive the events on [station_name()]...</b>")]</span>")
|
||||
to_chat(Player, span_filter_system("[span_red("<b>You did not survive the events on [station_name()]...</b>")]"))
|
||||
to_world("<br>")
|
||||
|
||||
for (var/mob/living/silicon/ai/aiPlayer in mob_list)
|
||||
if (aiPlayer.stat != 2)
|
||||
to_world("<span class='filter_system'><b>[aiPlayer.name]'s laws at the end of the round were:</b></span>") // VOREStation edit
|
||||
to_world(span_filter_system("<b>[aiPlayer.name]'s laws at the end of the round were:</b>")) // VOREStation edit
|
||||
else
|
||||
to_world("<span class='filter_system'><b>[aiPlayer.name]'s laws when it was deactivated were:</b></span>") // VOREStation edit
|
||||
to_world(span_filter_system("<b>[aiPlayer.name]'s laws when it was deactivated were:</b>")) // VOREStation edit
|
||||
aiPlayer.show_laws(1)
|
||||
|
||||
if (aiPlayer.connected_robots.len)
|
||||
var/robolist = "<b>The AI's loyal minions were:</b> "
|
||||
for(var/mob/living/silicon/robot/robo in aiPlayer.connected_robots)
|
||||
robolist += "[robo.name][robo.stat?" (Deactivated), ":", "]" // VOREStation edit
|
||||
to_world("<span class='filter_system'>[robolist]</span>")
|
||||
to_world(span_filter_system("[robolist]"))
|
||||
|
||||
var/dronecount = 0
|
||||
|
||||
@@ -508,15 +508,15 @@ var/global/datum/controller/subsystem/ticker/ticker
|
||||
|
||||
if (!robo.connected_ai)
|
||||
if (robo.stat != 2)
|
||||
to_world("<span class='filter_system'><b>[robo.name] survived as an AI-less stationbound synthetic! Its laws were:</b></span>") // VOREStation edit
|
||||
to_world(span_filter_system("<b>[robo.name] survived as an AI-less stationbound synthetic! Its laws were:</b>")) // VOREStation edit
|
||||
else
|
||||
to_world("<span class='filter_system'><b>[robo.name] was unable to survive the rigors of being a stationbound synthetic without an AI. Its laws were:</b></span>") // VOREStation edit
|
||||
to_world(span_filter_system("<b>[robo.name] was unable to survive the rigors of being a stationbound synthetic without an AI. Its laws were:</b>")) // VOREStation edit
|
||||
|
||||
if(robo) //How the hell do we lose robo between here and the world messages directly above this?
|
||||
robo.laws.show_laws(world)
|
||||
|
||||
if(dronecount)
|
||||
to_world("<span class='filter_system'><b>There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] at the end of this round.</b></span>")
|
||||
to_world(span_filter_system("<b>There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] at the end of this round.</b>"))
|
||||
|
||||
mode.declare_completion()//To declare normal completion.
|
||||
|
||||
|
||||
@@ -367,7 +367,7 @@ SUBSYSTEM_DEF(vote)
|
||||
if(tgui_alert(usr, "Are you sure you want to start a RESTART VOTE? You should only do this if the server is dying and no staff are around to investigate.", "RESTART VOTE", list("No", "Yes I want to start a RESTART VOTE")) == "Yes I want to start a RESTART VOTE")
|
||||
initiate_vote(VOTE_RESTART, usr.key)
|
||||
else
|
||||
to_chat(usr, "<span class = 'warning'>You can't start a RESTART VOTE while there are staff around. If you are having an issue with the round, please ahelp it.</span>")
|
||||
to_chat(usr, span_warning("You can't start a RESTART VOTE while there are staff around. If you are having an issue with the round, please ahelp it."))
|
||||
if(VOTE_GAMEMODE)
|
||||
if(config.allow_vote_mode || usr.client.holder)
|
||||
initiate_vote(VOTE_GAMEMODE, usr.key)
|
||||
|
||||
Reference in New Issue
Block a user