[MIRROR] refactors most spans (#9139)

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
This commit is contained in:
CHOMPStation2
2024-10-04 06:00:17 -07:00
committed by GitHub
parent 43ee646816
commit ab154b48b2
1511 changed files with 12497 additions and 12357 deletions

View File

@@ -72,7 +72,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
@@ -532,7 +532,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

View File

@@ -57,23 +57,23 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) // CHOMPEdit - Managed Globals
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 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) // CHOMPEdit - Managed Globals
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

View File

@@ -169,7 +169,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))
@@ -180,7 +180,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)
@@ -198,7 +198,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))
@@ -217,7 +217,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)
@@ -706,9 +706,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)
@@ -720,7 +720,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()

View File

@@ -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.

View File

@@ -50,7 +50,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)

View File

@@ -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)

View File

@@ -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 SS_INIT_SUCCESS // CHOMPEdit

View File

@@ -16,7 +16,7 @@ SUBSYSTEM_DEF(inactivity)
var/client/C = client_list[client_list.len]
client_list.len--
if(C.is_afk(CONFIG_GET(number/kick_inactive) MINUTES) && can_kick(C)) // CHOMPEdit
to_chat_immediate(C, world.time, "<span class='warning'>You have been inactive for more than [CONFIG_GET(number/kick_inactive)] minute\s and have been disconnected.</span>") // CHOMPEdit
to_chat_immediate(C, world.time, span_warning("You have been inactive for more than [CONFIG_GET(number/kick_inactive)] minute\s and have been disconnected.")) // CHOMPEdit
var/information
if(C.mob)

View File

@@ -32,7 +32,7 @@ SUBSYSTEM_DEF(machines)
/datum/controller/subsystem/machines/Initialize() // CHOMPEdit
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()
return SS_INIT_SUCCESS // CHOMPEdit

View File

@@ -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()

View File

@@ -114,11 +114,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"], songdata["casino"]) //ChompEDIT, included 'casino'
all_tracks += T
@@ -200,7 +200,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))

View File

@@ -23,7 +23,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)

View File

@@ -15,7 +15,7 @@ SUBSYSTEM_DEF(planets)
var/static/list/needs_temp_update = list()
/datum/controller/subsystem/planets/Initialize() // CHOMPEdit
admin_notice("<span class='danger'>Initializing planetary weather.</span>", R_DEBUG)
admin_notice(span_danger("Initializing planetary weather."), R_DEBUG)
createPlanets()
return SS_INIT_SUCCESS // CHOMPEdit
@@ -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

View File

@@ -203,7 +203,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

View File

@@ -76,8 +76,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)
@@ -126,7 +126,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)
@@ -139,7 +139,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()
@@ -148,21 +148,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_GET(keyed_list/player_requirements)[mode.config_tag]] players needed. Reverting to pregame lobby.</span>") // CHOMPEdit
to_world(span_danger("<B>Unable to start [mode.name].</B> Not enough players readied, [CONFIG_GET(keyed_list/player_requirements)[mode.config_tag]] players needed. Reverting to pregame lobby.")) // CHOMPEdit
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
@@ -184,8 +184,8 @@ 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>")
world << sound('sound/AI/welcome.ogg') //CHOMPEdit: Reverted to default welcome from Yawn edit
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()
@@ -228,8 +228,9 @@ 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!"))
new /datum/vote/crew_transfer
to_world("<span class='danger'>The round has ended!</span>")
// Called during GAME_STATE_FINISHED (RUNLEVEL_POSTGAME)
/datum/controller/subsystem/ticker/proc/post_game_tick()
@@ -241,7 +242,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")
@@ -255,14 +256,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)
@@ -455,47 +456,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
@@ -512,15 +513,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.