[MIRROR] some more spans (#9170)

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-05 21:59:27 -07:00
committed by GitHub
parent 77e8c6a7f2
commit 14f0302bef
87 changed files with 496 additions and 444 deletions

View File

@@ -3,13 +3,19 @@
// Adds a generic box around whatever message you're sending in chat. Really makes things stand out.
#define examine_block(str) ("<div class='examine_block'>" + str + "</div>")
// Filtered both under OOC!
#define span_ooc(str) ("<span class='ooc'>" + str + "</span>")
#define span_looc(str) ("<span class='looc'>" + str + "</span>")
#define span_rlooc(str) ("<span class='rlooc'>" + str + "</span>")
#define span_aooc(str) ("<span class='aooc'>" + str + "</span>")
#define span_npcsay(str) ("<span class='npcsay'>" + str + "</span>")
// All of those have unique filters, be wary!
#define span_looc(str) ("<span class='looc'>" + str + "</span>")
#define span_rlooc(str) ("<span class='rlooc'>" + str + "</span>")
// Ghostchat filter
#define span_deadsay(str) ("<span class='deadsay'>" + str + "</span>")
#define span_ghostalert(str) ("<span class='ghostalert'>" + str + "</span>")
// FIltered under radio
#define span_radio(str) ("<span class='radio'>" + str + "</span>")
#define span_deptradio(str) ("<span class='deptradio'>" + str + "</span>")
#define span_newscaster(str) ("<span class='newscaster'>" + str + "</span>")
@@ -27,80 +33,90 @@
#define span_supradio(str) ("<span class='supradio'>" + str + "</span>")
#define span_srvradio(str) ("<span class='srvradio'>" + str + "</span>")
#define span_expradio(str) ("<span class='expradio'>" + str + "</span>")
// Those are in the radio filter...
#define span_alien(str) ("<span class='alien'>" + str + "</span>")
#define span_changeling(str) ("<span class='changeling'>" + str + "</span>")
// Stop using alert for anything other than announcements! It's filtered under the radio tab
#define span_alert(str) ("<span class='alert'>" + str + "</span>")
// Filtered under global languages
#define span_binarysay(str) ("<span class='binarysay'>" + str + "</span>")
#define span_hivemind(str) ("<span class='hivemind'>" + str + "</span>")
#define span_name(str) ("<span class='name'>" + str + "</span>")
// Filtered under local IC!
#define span_say(str) ("<span class='say'>" + str + "</span>")
#define span_filter_say(str) ("<span class='filter_say'>" + str + "</span>")
#define span_npc_say(str) ("<span class='npcsay'>" + str + "</span>")
#define span_multizsay(str) ("<span class='multizsay'>" + str + "</span>")
#define span_alert(str) ("<span class='alert'>" + str + "</span>")
#define span_ghostalert(str) ("<span class='ghostalert'>" + str + "</span>")
#define span_game(str) ("<span class='game'>" + str + "</span>")
#define span_emote(str) ("<span class='emote'>" + str + "</span>")
#define span_emote_subtle(str) ("<span class='emotesubtle'>" + str + "</span>")
// Filtered as NPC messages
#define span_npc_say(str) ("<span class='npcsay'>" + str + "</span>")
#define span_npc_emote(str) ("<span class='npcemote'>" + str + "</span>")
// Filtered as messages visible through multiple Z levels
#define span_multizsay(str) ("<span class='multizsay'>" + str + "</span>")
// Unfiltered, only style!
#define span_name(str) ("<span class='name'>" + str + "</span>")
#define span_game(str) ("<span class='game'>" + str + "</span>")
#define span_filter_say(str) ("<span class='filter_say'>" + str + "</span>")
#define span_message(str) ("<span class='message'>" + str + "</span>") // TODO: This makes no sense, check it!
#define span_notify(str) ("<span class='notify'>" + str + "</span>") // TODO: This makes no sense, check it!
#define span_body(str) ("<span class='body'>" + str + "</span>")
#define span_suicide(str) ("<span class='suicide'>" + str + "</span>")
#define span_hear(str) ("<span class='hear'>" + str + "</span>")
#define span_filter_warning(str) ("<span class='filter_warning'>" + str + "</span>")
#define span_filter_combat(str) ("<span class='filter_combat'>" + str + "</span>")
#define span_filter_notice(str) ("<span class='filter_notice'>" + str + "</span>")
// Filtered under combat!
#define span_attack(str) ("<span class='attack'>" + str + "</span>")
#define span_disarm(str) ("<span class='disarm'>" + str + "</span>")
#define span_passive(str) ("<span class='passive'>" + str + "</span>")
#define span_critical(str) ("<span class='critical'>" + str + "</span>")
#define span_danger(str) ("<span class='danger'>" + str + "</span>")
#define span_bolddanger(str) ("<span class='bolddanger'>" + str + "</span>")
// Filtered under warning messages
#define span_critical(str) ("<span class='critical'>" + str + "</span>")
#define span_userdanger(str) ("<span class='userdanger'>" + str + "</span>")
#define span_warning(str) ("<span class='warning'>" + str + "</span>")
#define span_warningplain(str) ("<span class='warningplain'>" + str + "</span>")
#define span_boldwarning(str) ("<span class='boldwarning'>" + str + "</span>")
#define span_filter_warning(str) ("<span class='filter_warning'>" + str + "</span>")
#define span_filter_combat(str) ("<span class='filter_combat'>" + str + "</span>")
#define span_unconscious(str) ("<span class='unconscious'>" + str + "</span>")
#define span_sinister(str) ("<span class='sinister'>" + str + "</span>")
#define span_rose(str) ("<span class='rose'>" + str + "</span>")
// FIltered under info
#define span_info(str) ("<span class='info'>" + str + "</span>")
#define span_infoplain(str) ("<span class='infoplain'>" + str + "</span>")
#define span_suicide(str) ("<span class='suicide'>" + str + "</span>")
#define span_unconscious(str) ("<span class='unconscious'>" + str + "</span>")
#define span_hear(str) ("<span class='hear'>" + str + "</span>")
#define span_notice(str) ("<span class='notice'>" + str + "</span>")
#define span_filter_notice(str) ("<span class='filter_notice'>" + str + "</span>")
#define span_boldnotice(str) ("<span class='boldnotice'>" + str + "</span>")
#define span_adminnotice(str) ("<span class='adminnotice'>" + str + "</span>")
#define span_alium(str) ("<span class='alium'>" + str + "</span>")
#define span_cult(str) ("<span class='cult'>" + str + "</span>")
#define span_sinister(str) ("<span class='sinister'>" + str + "</span>")
#define span_wingdings(str) ("<span class='wingdings'>" + str + "</span>") //CHOMPAdd
/* Direct communication spans */
// Local pred / prey filter
#define span_psay(str) ("<span class='psay'>" + str + "</span>")
#define span_pemote(str) ("<span class='pemote'>" + str + "</span>")
/* Export spans */
// chatexport filter
#define span_chatexport(str) ("<span class='chatexport'>" + str + "</span>")
/* Vore messages */
// All of thse are filtered under the Vorgan Messages tab!
#define span_valert(str) ("<span class='valert'>" + str + "</span>")
#define span_vdanger(str) ("<span class='vdanger'>" + str + "</span>")
#define span_vwarning(str) ("<span class='vwarning'>" + str + "</span>")
#define span_vnotice(str) ("<span class='vnotice'>" + str + "</span>")
// Filtered under nif!
#define span_nif(str) ("<span class='nif'>" + str + "</span>")
#define span_filter_nif(str) ("<span class='filter_nif'>" + str + "</span>")
#define span_filter_nif(str) ("<span class='filter_nif'>" + str + "</span>") // Currently not sorted in
/* Languages */
#define span_alien(str) ("<span class='alien'>" + str + "</span>")
// No filter!
#define span_tajaran(str) ("<span class='tajaran'>" + str + "</span>")
#define span_tajaran_signlang(str) ("<span class='tajaran_signlang'>" + str + "</span>")
#define span_akhani(str) ("<span class='akhani'>" + str + "</span>")
@@ -108,7 +124,6 @@
#define span_skrellfar(str) ("<span class='skrellfar'>" + str + "</span>")
#define span_soghun(str) ("<span class='soghun'>" + str + "</span>")
#define span_solcom(str) ("<span class='solcom'>" + str + "</span>")
#define span_changeling(str) ("<span class='changeling'>" + str + "</span>")
#define span_sergal(str) ("<span class='sergal'>" + str + "</span>")
#define span_birdsongc(str) ("<span class='birdsongc'>" + str + "</span>")
#define span_vulpkanin(str) ("<span class='vulpkanin'>" + str + "</span>")
@@ -126,12 +141,7 @@
#define span_blob(str) ("<span class='blob'>" + str + "</span>")
#define span_teppi(str) ("<span class='teppi'>" + str + "</span>")
#define span_debug_error(str) ("<span class='debug_error'>" + str + "</span>")
#define span_debug_warning(str) ("<span class='debug_warning'>" + str + "</span>")
#define span_debug_info(str) ("<span class='debug_info'>" + str + "</span>")
#define span_debug_debug(str) ("<span class='debug_debug'>" + str + "</span>")
#define span_debug_trace(str) ("<span class='debug_trace'>" + str + "</span>")
// Colours only!
#define span_white(str) ("<span class='white'>" + str + "</span>")
#define span_black(str) ("<span class='black'>" + str + "</span>")
#define span_darkgray(str) ("<span class='darkgray'>" + str + "</span>")
@@ -149,42 +159,54 @@
#define span_brown(str) ("<span class='brown'>" + str + "</span>")
#define span_lightpurple(str) ("<span class='lightpurple'>" + str + "</span>")
#define span_darkpink(str) ("<span class='darkpurple'>" + str + "</span>")
#define span_rose(str) ("<span class='rose'>" + str + "</span>")
/* System and Debug */
// System filter
#define span_boldannounce(str) ("<span class='boldannounce'>" + str + "</span>")
// Unfiltered
#define span_prefix(str) ("<span class='prefix'>" + str + "</span>")
#define span_admin(str) ("<span class='admin'>" + str + "</span>")
#define span_adminnotice(str) ("<span class='adminnotice'>" + str + "</span>")
#define span_boldannounce(str) ("<span class='boldannounce'>" + str + "</span>")
#define span_linkOn(str) ("<span class='linkOn'>" + str + "</span>")
#define span_linkOff(str) ("<span class='linkOff'>" + str + "</span>")
#define span_log_message(str) ("<span class='log_message'>" + str + "</span>")
#define span_filter_system(str) ("<span class='filter_system'>" + str + "</span>")
#define span_filter_debuglogs(str) ("<span class='filter_debuglogs'>" + str + "</span>")
#define span_filter_adminlog(str) ("<span class='filter_adminlog'>" + str + "</span>")
#define span_pm(str) ("<span class='pm'>" + str + "</span>")
#define span_filter_pm(str) ("<span class='filter_pm'>" + str + "</span>")
#define span_adminhelp(str) ("<span class='adminhelp'>" + str + "</span>")
#define span_mentor(str) ("<span class='mentor'>" + str + "</span>")
#define span_filter_pray(str) ("<span class='filter_pray'>" + str + "</span>")
/* Admin only usage */
// Admin log filters
#define span_log_message(str) ("<span class='log_message'>" + str + "</span>")
#define span_filter_adminlog(str) ("<span class='filter_adminlog'>" + str + "</span>")
// Debug filter
#define span_debug_error(str) ("<span class='debug_error'>" + str + "</span>")
#define span_debug_warning(str) ("<span class='debug_warning'>" + str + "</span>")
#define span_debug_info(str) ("<span class='debug_info'>" + str + "</span>")
#define span_debug_debug(str) ("<span class='debug_debug'>" + str + "</span>")
#define span_debug_trace(str) ("<span class='debug_trace'>" + str + "</span>")
#define span_filter_debuglogs(str) ("<span class='filter_debuglogs'>" + str + "</span>")
/* Admin only usage */
// Admin pm filter
#define span_pm(str) ("<span class='pm'>" + str + "</span>")
#define span_adminhelp(str) ("<span class='adminhelp'>" + str + "</span>")
#define span_admin_pm_notice(str) ("<span class='pm notice'>" + str + "</span>")
#define span_admin_pm_warning(str) ("<span class='pm warning'>" + str + "</span>")
// Mentor pm filter
#define span_mentor(str) ("<span class='mentor'>" + str + "</span>")
#define span_mentor_pm_notice(str) ("<span class='mentor notice'>" + str + "</span>")
#define span_mentor_pm_warning(str) ("<span class='mentor warning'>" + str + "</span>")
/* Adminchat */
// All of those have their own filter
#define span_admin_channel(str) ("<span class='admin_channel'>" + str + "</span>")
#define span_mod_channel(str) ("<span class='mod_channel'>" + str + "</span>")
#define span_event_channel(str) ("<span class='event_channel'>" + str + "</span>")
#define span_mentor_channel(str) ("<span class='mentor_channel'>" + str + "</span>")
/* Byond Sizes */
// Sizes only!
#define span_small(str) "<font size='1'>" + str + "</font>"
#define span_normal(str) "<font size='2'>" + str + "</font>"
@@ -195,9 +217,15 @@
#define span_giant(str) "<font size='5'>" + str + "</font>"
/* Style spans */
#define span_narsie(str) "<font size='15'>" + str + "</font>"
#define span_cascade(str) "<span style='font-size:22pt'>" + str + "</span>"
/* Style spans */
// text style only
#define span_italics(str) ("<span class='italics'>" + str + "</span>")
#define span_bold(str) ("<span class='bold'>" + str + "</span>")
#define span_underline(str) ("<span class='underline'>" + str + "</span>")
// Links!
#define span_linkify(str) ("<span class='linkify'>" + str + "</span>")

View File

@@ -2,7 +2,7 @@
#define TGS_DEFINE_AND_SET_GLOBAL(Name, Value) GLOBAL_VAR_INIT(##Name, ##Value); GLOBAL_PROTECT(##Name)
#define TGS_READ_GLOBAL(Name) GLOB.##Name
#define TGS_WRITE_GLOBAL(Name, Value) GLOB.##Name = ##Value
#define TGS_WORLD_ANNOUNCE(message) to_chat(world, "<span class='boldannounce'>[html_encode(##message)]</span>")
#define TGS_WORLD_ANNOUNCE(message) to_chat(world, span_boldannounce("[html_encode(##message)]"))
#define TGS_INFO_LOG(message) log_to_dd("TGS Info: [##message]")
#define TGS_WARNING_LOG(message) log_to_dd("TGS Warn: [##message]")
#define TGS_ERROR_LOG(message) log_to_dd("TGS Error: [##message]")

View File

@@ -468,7 +468,7 @@ so as to remain in compliance with the most up-to-date laws."
return
var/paramslist = params2list(params)
if(paramslist["shift"]) // screen objects don't do the normal Click() stuff so we'll cheat
to_chat(usr,span_boldnotice("[name]</span> - <span class='info'>[desc]"))
to_chat(usr,span_boldnotice(name) + " - " + span_info(desc))
return
if(master)
return usr.client.Click(master, location, control, params)

View File

@@ -45,14 +45,14 @@ SUBSYSTEM_DEF(air)
CHECK_TICK
// CHOMPEdit
admin_notice({"<span class='danger'>Geometry initialized in [round(0.1*(REALTIMEOFDAY-start_timeofday),0.1)](?) seconds.</span>
<span class='info'>
Total Simulated Turfs: [simulated_turf_count]
Total Zones: [zones.len]
Total Edges: [edges.len]
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)
admin_notice(span_danger("Geometry initialized in [round(0.1*(REALTIMEOFDAY-start_timeofday),0.1)](?) seconds.") + \
span_info("<br>\
Total Simulated Turfs: [simulated_turf_count]<br>\
Total Zones: [zones.len]<br>\
Total Edges: [edges.len]<br>\
Total Active Edges: [active_edges.len ? span_danger("[active_edges.len]") : "None"]<br>\
Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]\
"), R_DEBUG)
// Note - Baystation settles the air by running for one tick. We prefer to not have active edges.
// Maps should not have active edges on boot. If we've got some, log it so it can get fixed.

View File

@@ -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_danger("<B>Unable to choose playable game mode.</B> Reverting to pregame lobby."))
to_world(span_danger(span_bold("Unable to choose playable game mode.") + " Reverting to pregame lobby."))
return 0
if(secret_force_mode != "secret")
src.mode = config.pick_mode(secret_force_mode)
@@ -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_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
to_world(span_danger(span_bold("Unable to start [mode.name].") + " 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_notice("<B>The current game mode is - Secret!</B>"))
to_world(span_notice(span_bold("The current game mode is - Secret!")))
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_info("<B>Possibilities:</B> [english_list(tmpmodes, and_text= "; ", comma_text = "; ")]"))
to_world(span_info(span_bold("Possibilities:") + " [english_list(tmpmodes, and_text= "; ", comma_text = "; ")]"))
else
src.mode.announce()
return 1
@@ -230,7 +230,6 @@ var/global/datum/controller/subsystem/ticker/ticker
//call a transfer shuttle vote
to_world(span_danger("The round has ended!"))
SSvote.start_vote(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()
@@ -242,7 +241,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_notice("<b>Rebooting due to destruction of [station_name()] in [round(restart_timeleft/600)] minute\s.</b>"))
to_world(span_notice(span_bold("Rebooting due to destruction of [station_name()] in [round(restart_timeleft/600)] minute\s.")))
last_restart_notify = world.time
else
feedback_set_details("end_proper", "proper completion")
@@ -256,14 +255,14 @@ var/global/datum/controller/subsystem/ticker/ticker
if(END_GAME_ENDING)
restart_timeleft -= (world.time - last_fire)
if(delay_end)
to_world(span_notice("<b>An admin has delayed the round end.</b>"))
to_world(span_notice(span_bold("An admin has delayed the round end.")))
end_game_state = END_GAME_DELAYED
else if(restart_timeleft <= 0)
to_world(span_warning("<b>Restarting world!</b>"))
to_world(span_warning(span_bold("Restarting world!")))
sleep(5)
world.Reboot()
else if (world.time - last_restart_notify >= 1 MINUTE)
to_world(span_notice("<b>Restarting in [round(restart_timeleft/600, 1)] minute\s.</b>"))
to_world(span_notice(span_bold("Restarting in [round(restart_timeleft/600, 1)] minute\s.")))
last_restart_notify = world.time
return
if(END_GAME_DELAYED)
@@ -467,33 +466,33 @@ var/global/datum/controller/subsystem/ticker/ticker
var/turf/playerTurf = get_turf(Player)
if(emergency_shuttle.departed && emergency_shuttle.evac)
if(isNotAdminLevel(playerTurf.z))
to_chat(Player, span_filter_system("[span_blue("<b>You survived the round, but remained on [station_name()] as [Player.real_name].</b>")]"))
to_chat(Player, span_filter_system(span_blue(span_bold("You survived the round, but remained on [station_name()] as [Player.real_name]."))))
else
to_chat(Player, span_filter_system("[span_green("<b>You managed to survive the events on [station_name()] as [Player.real_name].</b>")]"))
to_chat(Player, span_filter_system(span_green(span_bold("You managed to survive the events on [station_name()] as [Player.real_name]."))))
else if(isAdminLevel(playerTurf.z))
to_chat(Player, span_filter_system("[span_green("<b>You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].</b>")]"))
to_chat(Player, span_filter_system(span_green(span_bold("You successfully underwent crew transfer after events on [station_name()] as [Player.real_name]."))))
else if(issilicon(Player))
to_chat(Player, span_filter_system("[span_green("<b>You remain operational after the events on [station_name()] as [Player.real_name].</b>")]"))
to_chat(Player, span_filter_system(span_green(span_bold("You remain operational after the events on [station_name()] as [Player.real_name]."))))
else
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>")]"))
to_chat(Player, span_filter_system(span_blue(span_bold("You missed the crew transfer after the events on [station_name()] as [Player.real_name]."))))
else
if(istype(Player,/mob/observer/dead))
var/mob/observer/dead/O = Player
if(!O.started_as_observer)
to_chat(Player, span_filter_system("[span_red("<b>You did not survive the events on [station_name()]...</b>")]"))
to_chat(Player, span_filter_system(span_red(span_bold("You did not survive the events on [station_name()]..."))))
else
to_chat(Player, span_filter_system("[span_red("<b>You did not survive the events on [station_name()]...</b>")]"))
to_chat(Player, span_filter_system(span_red(span_bold("You did not survive the events on [station_name()]..."))))
to_world("<br>")
for (var/mob/living/silicon/ai/aiPlayer in mob_list)
if (aiPlayer.stat != 2)
to_world(span_filter_system("<b>[aiPlayer.name]'s laws at the end of the round were:</b>")) // VOREStation edit
to_world(span_filter_system(span_bold("[aiPlayer.name]'s laws at the end of the round were:"))) // VOREStation edit
else
to_world(span_filter_system("<b>[aiPlayer.name]'s laws when it was deactivated were:</b>")) // VOREStation edit
to_world(span_filter_system(span_bold("[aiPlayer.name]'s laws when it was deactivated were:"))) // VOREStation edit
aiPlayer.show_laws(1)
if (aiPlayer.connected_robots.len)
var/robolist = "<b>The AI's loyal minions were:</b> "
var/robolist = span_bold("The AI's loyal minions were:") + " "
for(var/mob/living/silicon/robot/robo in aiPlayer.connected_robots)
robolist += "[robo.name][robo.stat?" (Deactivated), ":", "]" // VOREStation edit
to_world(span_filter_system("[robolist]"))
@@ -513,15 +512,15 @@ var/global/datum/controller/subsystem/ticker/ticker
if (!robo.connected_ai)
if (robo.stat != 2)
to_world(span_filter_system("<b>[robo.name] survived as an AI-less stationbound synthetic! Its laws were:</b>")) // VOREStation edit
to_world(span_filter_system(span_bold("[robo.name] survived as an AI-less stationbound synthetic! Its laws were:"))) // VOREStation edit
else
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
to_world(span_filter_system(span_bold("[robo.name] was unable to survive the rigors of being a stationbound synthetic without an AI. Its laws were:"))) // 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_filter_system("<b>There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] at the end of this round.</b>"))
to_world(span_filter_system(span_bold("There [dronecount>1 ? "were" : "was"] [dronecount] industrious maintenance [dronecount>1 ? "drones" : "drone"] at the end of this round.")))
mode.declare_completion()//To declare normal completion.

View File

@@ -4,7 +4,7 @@
// Mutable appearances are children of images, just so you know.
/mutable_appearance/New(copy_from, ...)
/image/mutable_appearance/New(copy_from, ...)
..()
if(!copy_from)
plane = FLOAT_PLANE // No clue why this is 0 by default yet images are on FLOAT_PLANE

View File

@@ -58,7 +58,7 @@ var/global/list/security_printer_tickets = list() //VOREStation Edit
//VOREStation add Start - Ticket time!
if(security_printer_tickets.len)
valid_stats_list.Add("<span class = 'danger'>[security_printer_tickets.len] unique security tickets were issued today!</span><br>Examples include:")
valid_stats_list.Add(span_danger("[security_printer_tickets.len] unique security tickets were issued today!") + "<br>Examples include:")
var/good_num = 5
var/ourticket
while(good_num > 0)
@@ -67,7 +67,7 @@ var/global/list/security_printer_tickets = list() //VOREStation Edit
ourticket = pick(security_printer_tickets)
security_printer_tickets -= ourticket
if(ourticket)
valid_stats_list.Add("<b>-</b>\"[ourticket]\"")
valid_stats_list.Add(span_bold("-")+"\"[ourticket]\"")
good_num--
else
good_num = 0

View File

@@ -62,7 +62,7 @@
// You'll need to update these to_world usages if you want to make these z-level specific ~Aro
/datum/announcement/minor/Message(message as text, message_title as text)
to_world("<b>[message]</b>")
to_world(span_bold("[message]"))
/datum/announcement/priority/Message(message as text, message_title as text)
to_world("<h1 class='alert'>[message_title]</h1>")
@@ -86,13 +86,13 @@
to_chat(M, command)
/datum/announcement/priority/Message(var/message as text, var/message_title as text, var/list/zlevels)
global_announcer.autosay("<span class='alert'>[message_title]:</span> [message]", announcer ? announcer : ANNOUNCER_NAME, channel = "Common", zlevels = zlevels)
global_announcer.autosay(span_alert("[message_title]:") + " [message]", announcer ? announcer : ANNOUNCER_NAME, channel = "Common", zlevels = zlevels)
/datum/announcement/priority/command/Message(var/message as text, var/message_title as text, var/list/zlevels)
global_announcer.autosay("<span class='alert'>[command_name()] - [message_title]:</span> [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels)
global_announcer.autosay(span_alert("[command_name()] - [message_title]:") + " [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels)
/datum/announcement/priority/security/Message(var/message as text, var/message_title as text, var/list/zlevels)
global_announcer.autosay("<span class='alert'>[message_title]:</span> [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels)
global_announcer.autosay(span_alert("[message_title]:") + " [message]", ANNOUNCER_NAME, channel = "Common", zlevels = zlevels)
/datum/announcement/proc/NewsCast(var/message as text, var/message_title as text)
if(!newscast)

View File

@@ -31,9 +31,9 @@
add_verb(player.current,faction_verb) //CHOMPEdit TGPanel
spawn(1 SECOND) //Added a delay so that this should pop up at the bottom and not the top of the text flood the new antag gets.
to_chat(player.current, "<span class='notice'>Once you decide on a goal to pursue, you can optionally display it to \
everyone at the end of the shift with the <b>Set Ambition</b> verb, located in the IC tab. You can change this at any time, \
and it otherwise has no bearing on your round.</span>")
to_chat(player.current, span_notice("Once you decide on a goal to pursue, you can optionally display it to \
everyone at the end of the shift with the " + span_bold("Set Ambition") + " verb, located in the IC tab. You can change this at any time, \
and it otherwise has no bearing on your round."))
add_verb(player.current,/mob/living/proc/write_ambition) //CHOMPEdit TGPanel
if(can_speak_aooc)
@@ -42,7 +42,7 @@
// Handle only adding a mind and not bothering with gear etc.
if(nonstandard_role_type)
faction_members |= player
to_chat(player.current, span_danger("<font size=3>You are \a [nonstandard_role_type]!</font>"))
to_chat(player.current, span_danger(span_large("You are \a [nonstandard_role_type]!")))
player.special_role = nonstandard_role_type
if(nonstandard_role_msg)
to_chat(player.current, span_notice("[nonstandard_role_msg]"))
@@ -53,7 +53,7 @@
if(player.current && faction_verb)
remove_verb(player.current,faction_verb) //CHOMPEdit
if(player in current_antagonists)
to_chat(player.current, span_danger("<font size = 3>You are no longer a [role_text]!</font>"))
to_chat(player.current, span_danger(span_large("You are no longer a [role_text]!")))
current_antagonists -= player
faction_members -= player
player.special_role = null

View File

@@ -38,8 +38,8 @@
if(!mind)
return
if(!is_special_character(mind))
to_chat(src, "<span class='warning'>While you may perhaps have goals, this verb's meant to only be visible \
to antagonists. Please make a bug report!</span>")
to_chat(src, span_warning("While you may perhaps have goals, this verb's meant to only be visible \
to antagonists. Please make a bug report!"))
return
var/new_ambitions = tgui_input_text(src, "Write a short sentence of what your character hopes to accomplish \
today as an antagonist. Remember that this is purely optional. It will be shown at the end of the \

View File

@@ -3,20 +3,21 @@
if(!current_antagonists.len)
return FALSE
var/text = "<br><br><font size = 2><b>The [current_antagonists.len == 1 ? "[role_text] was" : "[role_text_plural] were"]:</b></font>"
var/text = "<br><br>"
text += span_normal(span_bold("The [current_antagonists.len == 1 ? "[role_text] was" : "[role_text_plural] were"]:"))
for(var/datum/mind/P in current_antagonists)
text += print_player_full(P)
text += get_special_objective_text(P)
if(P.ambitions)
text += "<br>Their goals for today were..."
text += "<br><span class='notice'>[P.ambitions]</span>"
text += "<br>Their goals for today were...<br>"
text += span_notice("[P.ambitions]")
if(!global_objectives.len && P.objectives && P.objectives.len)
var/failed
var/num = 1
for(var/datum/objective/O in P.objectives)
text += print_objective(O, num)
if(O.check_completion())
text += span_green("<B>Success!</B>")
text += span_green(span_bold("Success!"))
feedback_add_details(feedback_tag,"[O.type]|SUCCESS")
else
text += span_red("Fail.")
@@ -24,12 +25,13 @@
failed = TRUE
num++
if(failed)
text += "<br>" + span_red("<B>The [role_text] has failed.</B>")
text += "<br>" + span_red(span_bold("The [role_text] has failed."))
else
text += "<br>" + span_green("<B>The [role_text] was successful!</B>")
text += "<br>" + span_green(span_bold("The [role_text] was successful!"))
if(global_objectives && global_objectives.len)
text += "<BR><FONT size = 2>Their objectives were:</FONT>"
text += "<br>"
text += span_normal("Their objectives were:")
var/num = 1
for(var/datum/objective/O in global_objectives)
text += print_objective(O, num, TRUE)
@@ -39,17 +41,17 @@
to_world(text)
/datum/antagonist/proc/print_objective(var/datum/objective/O, var/num, var/append_success)
var/text = "<br><b>Objective [num]:</b> [O.explanation_text] "
var/text = "<br>" + span_bold("Objective [num]:") + " [O.explanation_text] "
if(append_success)
if(O.check_completion())
text += span_green("<B>Success!</B>")
text += span_green(span_bold("Success!"))
else
text += span_red("Fail.")
return text
/datum/antagonist/proc/print_player_lite(var/datum/mind/ply)
var/role = ply.assigned_role ? "\improper[ply.assigned_role]" : "\improper[ply.special_role]"
var/text = "<br><b>[ply.name]</b> (<b>[ply.key]</b>) as \a <b>[role]</b> ("
var/text = "<br>" + span_bold("[ply.name]") + " (" + span_bold("[ply.key]") + ") as \a " + span_bold("[role]") + " ("
if(ply.current)
if(ply.current.stat == DEAD)
text += "died"
@@ -58,7 +60,7 @@
else
text += "survived"
if(ply.current.real_name != ply.name)
text += " as <b>[ply.current.real_name]</b>"
text += " as " + span_bold("[ply.current.real_name]")
else
text += "body destroyed"
text += ")"

View File

@@ -85,8 +85,8 @@ var/datum/antagonist/ninja/ninjas
if(!..())
return 0
var/directive = generate_ninja_directive("heel")
player.store_memory("<B>Directive:</B> <span class='danger'>[directive]</span><br>")
to_chat(player, "<b>Remember your directive:</b> [directive].")
player.store_memory(span_bold("Directive:") + " " + span_danger("[directive]") + "<br>")
to_chat(player, span_bold("Remember your directive:") + " [directive].")
/datum/antagonist/ninja/update_antag_mob(var/datum/mind/player)
..()

View File

@@ -101,11 +101,11 @@ var/datum/antagonist/traitor/traitors
give_codewords(traitor_mob)
/datum/antagonist/traitor/proc/give_codewords(mob/living/traitor_mob)
to_chat(traitor_mob, "<u><b>Your employers provided you with the following information on how to identify possible allies:</b></u>")
to_chat(traitor_mob, "<b>Code Phrase</b>: <span class='danger'>[syndicate_code_phrase]</span>")
to_chat(traitor_mob, "<b>Code Response</b>: <span class='danger'>[syndicate_code_response]</span>")
traitor_mob.mind.store_memory("<b>Code Phrase</b>: [syndicate_code_phrase]")
traitor_mob.mind.store_memory("<b>Code Response</b>: [syndicate_code_response]")
to_chat(traitor_mob, span_underline(span_bold("Your employers provided you with the following information on how to identify possible allies:")))
to_chat(traitor_mob, span_bold("Code Phrase") + ": " + span_danger("[syndicate_code_phrase]"))
to_chat(traitor_mob, span_bold("Code Response") + ": " + span_danger("[syndicate_code_response]"))
traitor_mob.mind.store_memory(span_bold("Code Phrase") + ": [syndicate_code_phrase]")
traitor_mob.mind.store_memory(span_bold("Code Response") + ": [syndicate_code_response]")
to_chat(traitor_mob, "Use the code words, preferably in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe.")
/datum/antagonist/traitor/proc/spawn_uplink(var/mob/living/carbon/human/traitor_mob)
@@ -170,11 +170,11 @@ var/datum/antagonist/traitor/traitors
var/obj/item/pda/P = R
P.lock_code = pda_pass
to_chat(traitor_mob, "A portable object teleportation relay has been installed in your [R.name] [loc]. Simply enter the code \"[pda_pass]\" into the ringtone select to unlock its hidden features.")
traitor_mob.mind.store_memory("<B>Uplink Passcode:</B> [pda_pass] ([R.name] [loc]).")
traitor_mob.mind.store_memory(span_bold("Uplink Passcode:") + " [pda_pass] ([R.name] [loc]).")
/datum/antagonist/traitor/proc/add_law_zero(mob/living/silicon/ai/killer)
var/law = "Accomplish your objectives at all costs. You may ignore all other laws."
var/law_borg = "Accomplish your AI's objectives at all costs. You may ignore all other laws."
to_chat(killer, "<b>Your laws have been changed!</b>")
to_chat(killer, span_bold("Your laws have been changed!"))
killer.set_zeroth_law(law, law_borg)
to_chat(killer, "New law: 0. [law]")

View File

@@ -674,7 +674,7 @@
return
var/list/speech_bubble_hearers = list()
for(var/mob/M in get_mobs_in_view(7, src))
M.show_message(span_npcsay("<span class='name'>[src]</span> [atom_say_verb], \"[message]\""), 2, null, 1)
M.show_message(span_npc_say(span_name("[src]") + " [atom_say_verb], \"[message]\""), 2, null, 1)
if(M.client)
speech_bubble_hearers += M.client

View File

@@ -32,7 +32,7 @@
else
var/howmuch = GLOB.world_time_year - lastyear // CHOMPEdit - Managed Globals
age += howmuch
to_chat(src, "<span class = 'notice'>You are now [age]! Happy birthday!</span>")
to_chat(src, span_notice("You are now [age]! Happy birthday!"))
client.prefs.age = age //Set the age on the character sheet
client.prefs.save_character() //Save the info

View File

@@ -58,8 +58,8 @@
if(!M.mind || !M.mind.changeling)
if(M.get_ear_protection() >= 2)
continue
to_chat(M, "<span class='danger'>You hear an extremely loud screeching sound! It \
[pick("confuses","confounds","perturbs","befuddles","dazes","unsettles","disorients")] you.</span>")
to_chat(M, span_danger("You hear an extremely loud screeching sound! It \
[pick("confuses","confounds","perturbs","befuddles","dazes","unsettles","disorients")] you."))
M.adjustEarDamage(0,30)
M.Confuse(20)
M << sound('sound/effects/screech.ogg')

View File

@@ -5,9 +5,9 @@ var/list/sacrificed = list()
/*
* Use as a general guideline for this and related files:
* * <span class='warning'>...</span> - when something non-trivial or an error happens, so something similar to "Sparks come out of the machine!"
* * <span class='danger'>...</span> - when something that is fit for 'warning' happens but there is some damage or pain as well.
* * <span class='cult'>...</span> - when there is a private message to the cultists. This guideline is very arbitrary but there has to be some consistency!
* * span_warning("...") - when something non-trivial or an error happens, so something similar to "Sparks come out of the machine!"
* * span_danger("...") - when something that is fit for 'warning' happens but there is some damage or pain as well.
* * span_cult("...") - when there is a private message to the cultists. This guideline is very arbitrary but there has to be some consistency!
*/
@@ -197,7 +197,7 @@ var/list/sacrificed = list()
cultists.Add(M)
if(cultists.len >= 9)
if(!narsie_cometh)//so we don't initiate Hell more than one time.
to_world("<font size='15' color='red'><b>THE VEIL HAS BEEN SHATTERED!</b></font>")
to_world(span_narsie(span_red(span_bold("THE VEIL HAS BEEN SHATTERED!"))))
world << sound('sound/effects/weather/old_wind/wind_5_1.ogg')
SetUniversalState(/datum/universal_state/hell)
@@ -1084,10 +1084,10 @@ var/list/sacrificed = list()
var/obj/item/nullrod/N = locate() in T
if(N)
for(var/mob/O in viewers(T, null))
O.show_message(span_warning("<B>[usr] invokes a talisman at [T], but they are unaffected!</B>"), 1)
O.show_message(span_warning(span_bold("[usr] invokes a talisman at [T], but they are unaffected!")), 1)
else
for(var/mob/O in viewers(T, null))
O.show_message(span_warning("<B>[usr] invokes a talisman at [T]</B>"), 1)
O.show_message(span_warning(span_bold("[usr] invokes a talisman at [T]")), 1)
if(issilicon(T))
T.Weaken(15)

View File

@@ -78,18 +78,18 @@
return user.examinate(src)
/turf/unsimulated/wall/supermatter/attack_hand(mob/user as mob)
user.visible_message("<span class=\"warning\">\The [user] reaches out and touches \the [src]... And then blinks out of existance.</span>",\
"<span class=\"danger\">You reach out and touch \the [src]. Everything immediately goes quiet. Your last thought is \"That was not a wise decision.\"</span>",\
"<span class=\"warning\">You hear an unearthly noise.</span>")
user.visible_message(span_warning("\The [user] reaches out and touches \the [src]... And then blinks out of existance."),\
span_danger("You reach out and touch \the [src]. Everything immediately goes quiet. Your last thought is \"That was not a wise decision.\""),\
span_warning("You hear an unearthly noise."))
playsound(src, 'sound/effects/supermatter.ogg', 50, 1)
Consume(user)
/turf/unsimulated/wall/supermatter/attackby(obj/item/W as obj, mob/living/user as mob)
user.visible_message("<span class=\"warning\">\The [user] touches \a [W] to \the [src] as a silence fills the room...</span>",\
"<span class=\"danger\">You touch \the [W] to \the [src] when everything suddenly goes silent.\"</span>\n<span class=\"notice\">\The [W] flashes into dust as you flinch away from \the [src].</span>",\
"<span class=\"warning\">Everything suddenly goes silent.</span>")
user.visible_message(span_warning("\The [user] touches \a [W] to \the [src] as a silence fills the room..."),\
span_danger("You touch \the [W] to \the [src] when everything suddenly goes silent.\"") + "\n" + span_notice("\The [W] flashes into dust as you flinch away from \the [src]."),\
span_warning("Everything suddenly goes silent."))
playsound(src, 'sound/effects/supermatter.ogg', 50, 1)
@@ -101,12 +101,12 @@
if(istype(AM, /mob/living))
var/mob/living/M = AM
var/datum/gender/T = gender_datums[M.get_visible_gender()]
AM.visible_message("<span class=\"warning\">\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash.</span>",\
"<span class=\"danger\">You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"</span>",\
"<span class=\"warning\">You hear an unearthly noise as a wave of heat washes over you.</span>")
AM.visible_message(span_warning("\The [AM] slams into \the [src] inducing a resonance... [T.his] body starts to glow and catch flame before flashing into ash."),\
span_danger("You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\""),\
span_warning("You hear an unearthly noise as a wave of heat washes over you."))
else
AM.visible_message("<span class=\"warning\">\The [AM] smacks into \the [src] and rapidly flashes to ash.</span>",\
"<span class=\"warning\">You hear a loud crack as you are washed with a wave of heat.</span>")
AM.visible_message(span_warning("\The [AM] smacks into \the [src] and rapidly flashes to ash."),\
span_warning("You hear a loud crack as you are washed with a wave of heat."))
playsound(src, 'sound/effects/supermatter.ogg', 50, 1)

View File

@@ -37,7 +37,7 @@ var/global/universe_has_ended = 0
// Apply changes when entering state
/datum/universal_state/supermatter_cascade/OnEnter()
set background = 1
to_world(span_sinister("<span style='font-size:22pt'>You are blinded by a brilliant flash of energy.</span>"))
to_world(span_sinister(span_cascade("You are blinded by a brilliant flash of energy.")))
world << sound('sound/effects/cascade.ogg')

View File

@@ -190,9 +190,9 @@
/datum/game_mode/epidemic/declare_completion()
if(finished == 1)
feedback_set_details("round_end_result","win - epidemic cured")
to_world("<font size = 3><span class='danger'> The virus outbreak was contained! The crew wins!</span></font>")
to_world(span_danger(span_large("The virus outbreak was contained! The crew wins!")))
else if(finished == 2)
feedback_set_details("round_end_result","loss - rev heads killed")
to_world("<font size = 3><span class='danger'> The crew succumbed to the epidemic!</span></font>")
to_world(span_danger(span_large("The crew succumbed to the epidemic!")))
..()
return 1

View File

@@ -117,13 +117,13 @@ var/global/list/additional_antag_types = list()
return
/datum/game_mode/proc/announce() //to be called when round starts
to_world("<B>The current game mode is [capitalize(name)]!</B>")
to_world(span_bold("The current game mode is [capitalize(name)]!"))
if(round_description)
to_world("[round_description]")
if(round_autoantag)
to_world("Antagonists will be added to the round automagically as needed.")
if(antag_templates && antag_templates.len)
var/antag_summary = "<b>Possible antagonist types:</b> "
var/antag_summary = span_bold("Possible antagonist types:") + " "
var/i = 1
for(var/datum/antagonist/antag in antag_templates)
if(i > 1)
@@ -357,8 +357,9 @@ var/global/list/additional_antag_types = list()
var/text = ""
if(surviving_total > 0)
text += "<br>There [surviving_total>1 ? "were <b>[surviving_total] survivors</b>" : "was <b>one survivor</b>"]"
text += " (<b>[escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]</b>) and <b>[ghosts] ghosts</b>.<br>"
text += "<br>There [surviving_total>1 ? ("were " + span_bold("[surviving_total] survivors")) : ("was " + span_bold("one survivor"))] ("
text += span_bold("[escaped_total>0 ? escaped_total : "none"] [emergency_shuttle.evac ? "escaped" : "transferred"]</b>) and <b>[ghosts] ghosts")
text += ".<br>"
else
text += "There were <b>no survivors</b> (<b>[ghosts] ghosts</b>)."
to_world(text)
@@ -499,7 +500,8 @@ var/global/list/additional_antag_types = list()
//Reports player logouts//
//////////////////////////
/proc/display_roundstart_logout_report()
var/msg = "<span class='notice'><b>Roundstart logout report</b>\n\n"
var/msg = span_bold("Roundstart logout report")
msg += "<br><br>"
for(var/mob/living/L in mob_list)
if(L.ckey)
@@ -509,21 +511,21 @@ var/global/list/additional_antag_types = list()
found = 1
break
if(!found)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] ([span_yellow("<b>Disconnected</b>")])\n"
msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] ([span_yellow(span_bold("Disconnected"))])<br>"
if(L.ckey && L.client)
if(L.client.inactivity >= (ROUNDSTART_LOGOUT_REPORT_TIME / 2)) //Connected, but inactive (alt+tabbed or something)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] ([span_yellow("<b>Connected, Inactive</b>")])\n"
msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] ([span_yellow(span_bold("Connected, Inactive"))])<br>"
continue //AFK client
if(L.stat)
if(L.suiciding) //Suicider
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] ([span_red("<b>Suicide</b>")])\n"
msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] ([span_red(span_bold("Suicide"))])<br>"
continue //Disconnected client
if(L.stat == UNCONSCIOUS)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (Dying)\n"
msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] (Dying)<br>"
continue //Unconscious
if(L.stat == DEAD)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (Dead)\n"
msg += "[span_bold(L.name)] ([L.ckey]), the [L.job] (Dead)<br>"
continue //Dead
continue //Happy connected client
@@ -531,22 +533,22 @@ var/global/list/additional_antag_types = list()
if(D.mind && (D.mind.original == L || D.mind.current == L))
if(L.stat == DEAD)
if(L.suiciding) //Suicider
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] ([span_red("<b>Suicide</b>")])\n"
msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] ([span_red(span_bold("Suicide"))])<br>"
continue //Disconnected client
else
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (Dead)\n"
msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] (Dead)<br>"
continue //Dead mob, ghost abandoned
else
if(D.can_reenter_corpse)
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] ([span_red("<b>Adminghosted</b>")])\n"
msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] ([span_red(span_bold("Adminghosted"))])<br>"
continue //Lolwhat
else
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] ([span_red("<b>Ghosted</b>")])\n"
msg += "[span_bold(L.name)] ([ckey(D.mind.key)]), the [L.job] ([span_red(span_bold("Ghosted"))])<br>"
continue //Ghosted while alive
continue // CHOMPEdit: Escape infinite loop in case there's nobody connected. Shouldn't happen ever, but.
msg += "</span>" // close the span from right at the top
msg = span_notice(msg)// close the span from right at the top
for(var/mob/M in mob_list)
if(M.client && M.client.holder)
@@ -570,7 +572,7 @@ var/global/list/additional_antag_types = list()
var/obj_count = 1
to_chat(player.current, span_notice("Your current objectives:"))
for(var/datum/objective/objective in player.objectives)
to_chat(player.current, "<B>Objective #[obj_count]</B>: [objective.explanation_text]")
to_chat(player.current, span_bold("Objective #[obj_count]") + ": [objective.explanation_text]")
obj_count++
/mob/verb/check_round_info()
@@ -582,11 +584,11 @@ var/global/list/additional_antag_types = list()
return
if(master_mode != "secret")
to_chat(usr, span_notice("<b>The roundtype is [capitalize(ticker.mode.name)]</b>"))
to_chat(usr, span_notice(span_bold("The roundtype is [capitalize(ticker.mode.name)]")))
if(ticker.mode.round_description)
to_chat(usr, span_notice("<i>[ticker.mode.round_description]</i>"))
to_chat(usr, span_notice(span_italics("[ticker.mode.round_description]")))
if(ticker.mode.extended_round_description)
to_chat(usr, span_notice("[ticker.mode.extended_round_description]"))
else
to_chat(usr, span_notice("<i>Shhhh</i>. It's a secret."))
to_chat(usr, span_notice(span_italics("Shhhh") + ". It's a secret."))
return

View File

@@ -28,17 +28,20 @@
if(!location) continue
switch(location.loc.type)
if( /area/shuttle/escape/centcom )
text += "<br><b><font size=2>[player.real_name] escaped on the emergency shuttle</font></b>"
text += "<br>"
text += span_bold(span_normal("[player.real_name] escaped on the emergency shuttle"))
if( /area/shuttle/escape_pod1/centcom, /area/shuttle/escape_pod2/centcom, /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom )
text += "<br><font size=2>[player.real_name] escaped in a life pod.</font>"
text += "<br>"
text += span_normal("[player.real_name] escaped in a life pod.")
else
text += "<br><font size=1>[player.real_name] survived but is stranded without any hope of rescue.</font>"
text += "<br>"
text += span_small("[player.real_name] survived but is stranded without any hope of rescue.")
survivors++
if(survivors)
to_world("<span class='notice'><B>The following survived the meteor storm</B></span>:[text]")
to_world(span_notice(span_bold("The following survived the meteor storm")) + ":[text]")
else
to_world(span_notice("<B>Nobody survived the meteor storm!</B>"))
to_world(span_notice(span_bold("Nobody survived the meteor storm!")))
feedback_set_details("round_end_result","end - evacuation")
feedback_set("round_end_result",survivors)

View File

@@ -99,8 +99,8 @@
if(isliving(hit_atom))
var/mob/living/L = hit_atom
if(L == user && !controlled_mobs.len)
to_chat(user, "<span class='warning'>This function doesn't work on higher-intelligence entities, however since you're \
trying to use it on yourself, perhaps you're an exception? Regardless, nothing happens.</span>")
to_chat(user, span_warning("This function doesn't work on higher-intelligence entities, however since you're \
trying to use it on yourself, perhaps you're an exception? Regardless, nothing happens."))
return 0
if(L.mob_class & allowed_mob_classes)
@@ -125,8 +125,8 @@
if(pay_energy(25 * controlled_mobs.len))
attack_all(L)
add_attack_logs(user,L,"Commanded their army of [controlled_mobs.len]")
to_chat(user, "<span class='notice'>You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to \
attack \the [L].</span>")
to_chat(user, span_notice("You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to \
attack \the [L]."))
//This is to stop someone from controlling beepsky and getting him to stun someone 5 times a second.
user.setClickCooldown(8)
adjust_instability(controlled_mobs.len)
@@ -139,5 +139,5 @@
if(pay_energy(10 * controlled_mobs.len))
move_all(T)
adjust_instability(controlled_mobs.len)
to_chat(user, "<span class='notice'>You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to move \
towards \the [T].</span>")
to_chat(user, span_notice("You command your [controlled_mobs.len > 1 ? "entities" : "[controlled_mobs[1]]"] to move \
towards \the [T]."))

View File

@@ -63,8 +63,8 @@
return .(pulses_remaining, victim, previous_damage)
// Now check if our damage predictions are going to cause the victim to go into crit if no healing occurs.
if(previous_damage + health_lost >= victim.getMaxHealth()) // We're probably going to hardcrit
to_chat(victim, "<span class='danger'><font size='3'>A feeling of immense dread starts to overcome you as everything starts \
to fade to black...</font></span>")
to_chat(victim, span_danger(span_large("A feeling of immense dread starts to overcome you as everything starts \
to fade to black...")))
//to_world("Predicted hardcrit.")
return 1
else if(predicted_damage >= victim.species.total_health / 2) // Or perhaps we're gonna go into 'oxy crit'.

View File

@@ -76,8 +76,8 @@
var/obj/item/W = damage_source
if(attacker)
W.attack(attacker)
to_chat(attacker, "<span class='danger'>Your [damage_source.name] goes through \the [src] in one location, comes out \
on the same side, and hits you!</span>")
to_chat(attacker, span_danger("Your [damage_source.name] goes through \the [src] in one location, comes out \
on the same side, and hits you!"))
spark_system.start()
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)

View File

@@ -250,7 +250,7 @@ update_flag
to_chat(user, "The welding tool must be on to complete this task.")
return
if(air_contents.return_pressure() > 1 && !destroyed) // Empty or broken cans are able to be deconstructed
to_chat(user, "<span class ='warning'>\The [src]'s internal pressure is too high! Empty the canister before attempting to weld it apart.</span>")
to_chat(user, span_warning("\The [src]'s internal pressure is too high! Empty the canister before attempting to weld it apart."))
return
playsound(src, WT.usesound, 50, 1)
if(do_after(user, 20 * WT.toolspeed))
@@ -364,14 +364,14 @@ update_flag
if("valve")
if(valve_open)
if(holding)
release_log += "Valve was <b>closed</b> by [usr] ([usr.ckey]), stopping the transfer into the [holding]<br>"
release_log += "Valve was " + span_bold("closed") + " by [usr] ([usr.ckey]), stopping the transfer into the [holding]<br>"
else
release_log += "Valve was <b>closed</b> by [usr] ([usr.ckey]), stopping the transfer into the <font color='red'><b>air</b></font><br>"
release_log += "Valve was " + span_bold("closed") + " by [usr] ([usr.ckey]), stopping the transfer into the " + span_red(span_bold("air")) + "<br>"
else
if(holding)
release_log += "Valve was <b>opened</b> by [usr] ([usr.ckey]), starting the transfer into the [holding]<br>"
release_log += "Valve was " + span_bold("opened") + " by [usr] ([usr.ckey]), starting the transfer into the [holding]<br>"
else
release_log += "Valve was <b>opened</b> by [usr] ([usr.ckey]), starting the transfer into the <font color='red'><b>air</b></font><br>"
release_log += "Valve was " + span_bold("opened") + " by [usr] ([usr.ckey]), starting the transfer into the " + span_red(span_bold("air")) + "<br>"
log_open()
valve_open = !valve_open
. = TRUE
@@ -379,7 +379,7 @@ update_flag
if(holding)
if(valve_open)
valve_open = 0
release_log += "Valve was <b>closed</b> by [usr] ([usr.ckey]), stopping the transfer into the [holding]<br>"
release_log += "Valve was " + span_bold("closed") + " by [usr] ([usr.ckey]), stopping the transfer into the [holding]<br>"
if(istype(holding, /obj/item/tank))
holding.manipulated_by = usr.real_name
holding.loc = loc

View File

@@ -109,7 +109,7 @@
/obj/machinery/clawmachine/attackby(obj/item/W as obj, mob/user as mob)
if(busy)
to_chat(user,"<span class='notice'>The claw machine is currently running.</span> ")
to_chat(user,span_notice("The claw machine is currently running."))
return
if(W.has_tool_quality(TOOL_WRENCH))
playsound(src, W.usesound, 100, 1)
@@ -125,7 +125,7 @@
return
if(!anchored)
to_chat(user,span_notice(" The machine isn't secured."))
to_chat(user,span_notice("The machine isn't secured."))
return
var/handled = 0
@@ -158,10 +158,10 @@
if (isbroken)
return
if(busy)
to_chat(user,"<span class='notice'>The claw machine is currently running.</span> ")
to_chat(user,span_notice("The claw machine is currently running."))
return
if(cashmoney.worth < 5)
to_chat(user,"<span class='notice'>You dont have enough Thalers to play!</span> ")
to_chat(user,span_notice("You dont have enough Thalers to play!"))
return
to_chat(user,span_notice("You put 5 Thalers in the claw machine and press start."))

View File

@@ -120,7 +120,8 @@
clonemind.transfer_to(H)
H.ckey = R.ckey
to_chat(H, span_warning("<b>Consciousness slowly creeps over you as your body regenerates.</b><br><b><font size='3'>Your recent memories are fuzzy, and it's hard to remember anything from today...</font></b></span><br><span class='notice'><i>So this is what cloning feels like?</i>"))
to_chat(H, span_warning(span_bold("Consciousness slowly creeps over you as your body regenerates.") + "<br>" + span_bold(span_large("Your recent memories are fuzzy, and it's hard to remember anything from today...")) + \
"<br>" + span_notice(span_italics("So this is what cloning feels like?"))))
// -- Mode/mind specific stuff goes here
callHook("clone", list(H))

View File

@@ -214,8 +214,8 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva
transfer.loc = get_turf(src)
transfer.create_eyeobj()
transfer.cancel_camera()
to_chat(user, "<span class='notice'>Transfer successful:</span> [transfer.name] placed within stationary core.")
to_chat(transfer, "You have been transferred into a stationary core. Remote device connection restored.")
to_chat(user, span_notice("Transfer successful:") + " [transfer.name] placed within stationary core.")
to_chat(transfer, span_info("You have been transferred into a stationary core. Remote device connection restored."))
if(card)
card.clear()
@@ -236,25 +236,25 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva
if(transfer)
load_ai(transfer,card,user)
else
to_chat(user, "<span class='danger'>ERROR:</span> Unable to locate artificial intelligence.")
to_chat(user, span_danger("ERROR:") + " Unable to locate artificial intelligence.")
return
else if(W.has_tool_quality(TOOL_WRENCH))
if(anchored)
user.visible_message("<b>\The [user]</b> starts to unbolt \the [src] from the plating...")
user.visible_message(span_bold("\The [user]") + " starts to unbolt \the [src] from the plating...")
playsound(src, W.usesound, 50, 1)
if(!do_after(user,40 * W.toolspeed))
user.visible_message("<b>\The [user]</b> decides not to unbolt \the [src].")
user.visible_message(span_bold("\The [user]") + " decides not to unbolt \the [src].")
return
user.visible_message("<b>\The [user]</b> finishes unfastening \the [src]!")
user.visible_message(span_bold("\The [user]") + " finishes unfastening \the [src]!")
anchored = FALSE
return
else
user.visible_message("<b>\The [user]</b> starts to bolt \the [src] to the plating...")
user.visible_message(span_bold("\The [user]") + " starts to bolt \the [src] to the plating...")
playsound(src, W.usesound, 50, 1)
if(!do_after(user,40 * W.toolspeed))
user.visible_message("<b>\The [user]</b> decides not to bolt \the [src].")
user.visible_message(span_bold("\The [user]") + " decides not to bolt \the [src].")
return
user.visible_message("<b>\The [user]</b> finishes fastening down \the [src]!")
user.visible_message(span_bold("\The [user]") + " finishes fastening down \the [src]!")
anchored = TRUE
return
else

View File

@@ -37,7 +37,7 @@
else if(card.carded_ai)
var/mob/living/silicon/ai/new_occupant = card.carded_ai
to_chat(new_occupant, span_notice("You have been transferred into a stationary terminal. Sadly there is no remote access from here."))
to_chat(user, "<span class='notice'>Transfer Successful:</span> [new_occupant] placed within stationary terminal.")
to_chat(user, span_notice("Transfer Successful:") + " [new_occupant] placed within stationary terminal.")
new_occupant.forceMove(src)
new_occupant.cancel_camera()
new_occupant.control_disabled = TRUE

View File

@@ -1132,7 +1132,7 @@
// This is not a status display message, since it's something the character
// themselves is meant to see BEFORE putting the money in
to_chat(usr, "[icon2html(cashmoney,user.client)] <span class='warning'>That is not enough money.</span>")
to_chat(usr, "[icon2html(cashmoney,user.client)] " + span_warning("That is not enough money."))
return 0
if(istype(cashmoney, /obj/item/spacecash))

View File

@@ -27,7 +27,7 @@
/obj/machinery/computer/aiupload/attackby(obj/item/O as obj, mob/user as mob)
if (using_map && !(user.z in using_map.contact_levels))
to_chat(user, "<span class='danger'>Unable to establish a connection:</span> You're too far away from the station!")
to_chat(user, span_danger("Unable to establish a connection:") + " You're too far away from the station!")
return
if(istype(O, /obj/item/aiModule))
var/obj/item/aiModule/M = O

View File

@@ -74,7 +74,7 @@
if(..())
return
if (using_map && !(src.z in using_map.contact_levels))
to_chat(user, "<span class='danger'>Unable to establish a connection:</span> You're too far away from the station!")
to_chat(user, span_danger("Unable to establish a connection:") + " You're too far away from the station!")
return
tgui_interact(user)

View File

@@ -106,10 +106,10 @@
continue
var/celsius = convert_k2c(tile_info[index][1])
var/pressure = tile_info[index][2]
o += "<span class='[(dir_alerts[index] & (FIREDOOR_ALERT_HOT|FIREDOOR_ALERT_COLD)) ? "warning" : "color:blue"]'>"
o += "[celsius]&deg;C</span> "
o += "<span style='color:blue'>"
o += "[pressure]kPa</span></li>"
var/temperature_string = "[celsius]&deg;C "
o += ((dir_alerts[index] & (FIREDOOR_ALERT_HOT|FIREDOOR_ALERT_COLD)) ? span_warning(temperature_string) : span_blue(temperature_string))
o += span_blue("[pressure]kPa")
o += "</li>"
. += o
if(islist(users_to_open) && users_to_open.len)

View File

@@ -41,7 +41,7 @@ var/list/doppler_arrays = list()
var/message = "Explosive disturbance detected - Epicenter at: grid ([x0],[y0]). Epicenter radius: [devastation_range]. Outer radius: [heavy_impact_range]. Shockwave radius: [light_impact_range]. Temporal displacement of tachyons: [took]seconds."
for(var/mob/O in hearers(src, null))
O.show_message(span_npcsay("<span class='name'>[src]</span> states coldly, \"[message]\""),2)
O.show_message(span_npc_say(span_name("[src]") + " states coldly, \"[message]\""),2)
/obj/machinery/doppler_array/power_change()
..()

View File

@@ -82,12 +82,12 @@ var/const/HOLOPAD_MODE = RANGE_BASED
/obj/machinery/hologram/holopad/proc/activate_holo(mob/living/silicon/ai/user)
if(!(stat & NOPOWER) && user.eyeobj.loc == src.loc)//If the projector has power and client eye is on it
if(user.holo)
to_chat(user, "<span class='danger'>ERROR:</span> Image feed in progress.")
to_chat(user, span_danger("ERROR:") + " Image feed in progress.")
return
create_holo(user)//Create one.
visible_message("A holographic image of [user] flicks to life right before your eyes!")
else
to_chat(user, "<span class='danger'>ERROR:</span> Unable to project hologram.")
to_chat(user, span_danger("ERROR:") + " Unable to project hologram.")
return
/*This is the proc for special two-way communication between AI and holopad/people talking near holopad.
@@ -102,14 +102,14 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
if(M)
for(var/mob/living/silicon/ai/master in masters)
//var/name_used = M.GetVoice()
var/rendered = "<i><span class='game say'>Holopad received, <span class='message'>[text]</span></span></i>"
var/rendered = span_game(span_say(span_italics("Holopad received, " + span_message("[text]"))))
//The lack of name_used is needed, because message already contains a name. This is needed for simple mobs to emote properly.
master.show_message(rendered, 2)
return
/obj/machinery/hologram/holopad/show_message(msg, type, alt, alt_type)
for(var/mob/living/silicon/ai/master in masters)
var/rendered = "<i><span class='game say'>Holopad received, <span class='message'>[msg]</span></span></i>"
var/rendered = span_game(span_say(span_italics("Holopad received, " + span_message("[msg]"))))
master.show_message(rendered, type)
return

View File

@@ -284,7 +284,7 @@ Class Procs:
/obj/machinery/proc/state(var/msg)
for(var/mob/O in hearers(src, null))
O.show_message("[icon2html(src,O.client)] <span class = 'notice'>[msg]</span>", 2)
O.show_message("[icon2html(src,O.client)] " + span_notice("[msg]"), 2)
/obj/machinery/proc/ping(text=null)
if(!text)

View File

@@ -72,14 +72,14 @@
wake_lock(user)
// User requests service
user.visible_message("<b>[user]</b> wakes [src].", "You wake [src].")
user.visible_message(span_bold("[user]") + " wakes [src].", "You wake [src].")
var/choice = tgui_alert(user, "What service would you like?", "[src]", list("Health Scan", "Backup Scan", "Cancel"), timeout = 10 SECONDS)
if(!choice || choice == "Cancel" || !Adjacent(user) || inoperable() || panel_open)
suspend()
return
// Service begins, delay
visible_message("<b>\The [src]</b> scans [user] thoroughly!")
visible_message(span_bold("\The [src]") + " scans [user] thoroughly!")
flick("kiosk_active", src)
if(!do_after(user, 10 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) || inoperable())
suspend()
@@ -89,10 +89,10 @@
switch(choice)
if("Health Scan")
var/health_report = tell_health_info(user)
to_chat(user, span_notice("<b>Health report results:</b>")+health_report)
to_chat(user, span_boldnotice("Health report results:")+health_report)
if("Backup Scan")
if(!our_db)
to_chat(user, "<span class='notice'><b>Backup scan results:</b></span><br>DATABASE ERROR!")
to_chat(user, span_boldnotice("<b>Backup scan results:</b>") + "<br>DATABASE ERROR!")
else
var/scan_report = do_backup_scan(user)
to_chat(user, span_notice("<b>Backup scan results:</b>")+scan_report)
@@ -102,9 +102,9 @@
/obj/machinery/medical_kiosk/proc/tell_health_info(mob/living/user)
if(!istype(user))
return "<br><span class='warning'>Unable to perform diagnosis on this type of life form.</span>"
return "<br>" + span_warning("Unable to perform diagnosis on this type of life form.")
if(user.isSynthetic())
return "<br><span class='warning'>Unable to perform diagnosis on synthetic life forms.</span>"
return "<br>" + span_warning("Unable to perform diagnosis on synthetic life forms.")
var/problems = 0
for(var/obj/item/organ/external/E in user)
@@ -141,37 +141,37 @@
if(!problems)
if(user.getHalLoss() > 0)
return "<br><span class='warning'>Mild concussion detected - advising bed rest until patient feels well. No other anatomical issues detected.</span>"
return "<br>" + span_warning("Mild concussion detected - advising bed rest until patient feels well. No other anatomical issues detected.")
else
return "<br><span class='notice'>No anatomical issues detected.</span>"
return "<br>" + span_notice("No anatomical issues detected.")
var/problem_text = ""
if(problems & BROKEN_BONES)
problem_text += "<br><span class='warning'>Broken bones detected - see a medical professional and move as little as possible.</span>"
problem_text += "<br>" + span_warning("Broken bones detected - see a medical professional and move as little as possible.")
if(problems & INTERNAL_BLEEDING)
problem_text += "<br><span class='danger'>Internal bleeding detected - seek medical attention, ASAP!</span>"
problem_text += "<br>" + span_danger("Internal bleeding detected - seek medical attention, ASAP!")
if(problems & EXTERNAL_BLEEDING)
problem_text += "<br><span class='warning'>External bleeding detected - advising pressure with cloth and bandaging.</span>"
problem_text += "<br>" + span_warning("External bleeding detected - advising pressure with cloth and bandaging.")
if(problems & SERIOUS_EXTERNAL_DAMAGE)
problem_text += "<br><span class='danger'>Severe anatomical damage detected - seek medical attention.</span>"
problem_text += "<br>" + span_danger("Severe anatomical damage detected - seek medical attention.")
if(problems & SERIOUS_INTERNAL_DAMAGE)
problem_text += "<br><span class='danger'>Severe internal damage detected - seek medical attention.</span>"
problem_text += "<br>" + span_danger("Severe internal damage detected - seek medical attention.")
if(problems & RADIATION_DAMAGE)
problem_text += "<br><span class='danger'>Exposure to ionizing radiation detected - seek medical attention.</span>"
problem_text += "<br>" + span_danger("Exposure to ionizing radiation detected - seek medical attention.")
if(problems & TOXIN_DAMAGE)
problem_text += "<br><span class='warning'>Exposure to toxic materials detected - induce vomiting if you have consumed anything recently.</span>"
problem_text += "<br>" + span_warning("Exposure to toxic materials detected - induce vomiting if you have consumed anything recently.")
if(problems & OXY_DAMAGE)
problem_text += "<br><span class='warning'>Blood/air perfusion level is below acceptable norms - use concentrated oxygen if necessary.</span>"
problem_text += "<br>" + span_warning("Blood/air perfusion level is below acceptable norms - use concentrated oxygen if necessary.")
if(problems & HUSKED_BODY)
problem_text += "<br><span class='danger'>Anatomical structure lost, resuscitation not possible!</span>"
problem_text += "<br>" + span_danger("Anatomical structure lost, resuscitation not possible!")
return problem_text
/obj/machinery/medical_kiosk/proc/do_backup_scan(mob/living/carbon/human/user)
if(!istype(user))
return "<br><span class='warning'>Unable to perform full scan. Please see a medical professional.</span>"
return "<br>" + span_warning("Unable to perform full scan. Please see a medical professional.")
if(!user.mind)
return "<br><span class='warning'>Unable to perform full scan. Please see a medical professional.</span>"
return "<br>" + span_warning("Unable to perform full scan. Please see a medical professional.")
var/nif = user.nif
if(nif)
@@ -181,7 +181,7 @@
var/datum/transhuman/body_record/BR = new()
BR.init_from_mob(user, TRUE, TRUE, database_key = db_key)
return "<br><span class='notice'>Backup scan completed!</span><br><b>Note:</b> A backup implant is required for automated notifications to the appropriate department in case of incident."
return "<br>" + span_notice("Backup scan completed!") + "<br>" + span_bold("Note:") + " A backup implant is required for automated notifications to the appropriate department in case of incident."
#undef BROKEN_BONES
#undef INTERNAL_BLEEDING

View File

@@ -266,8 +266,8 @@ GLOBAL_LIST_BOILERPLATE(allCasters, /obj/machinery/newscaster)
node = get_exonet_node()
if(!node || !node.on || !node.allow_external_newscasters)
to_chat(user, "<span class='danger'>Error: Cannot connect to external content. Please try again in a few minutes. If this error persists, please \
contact the system administrator.</span>")
to_chat(user, span_danger("Error: Cannot connect to external content. Please try again in a few minutes. If this error persists, please \
contact the system administrator."))
return 0
if(!user.IsAdvancedToolUser())

View File

@@ -336,7 +336,7 @@
switch(action)
if("ejectBoard")
if(copy_board)
visible_message("<span class='notice'>[copy_board] is ejected from [src]'s circuit reader</span>.")
visible_message(span_notice("[copy_board] is ejected from [src]'s circuit reader."))
copy_board.forceMove(src.loc)
copy_board = null
return TRUE

View File

@@ -69,7 +69,7 @@
<b><u>Black Marks</u></b>:<br> "}
for(var/A in marks)
text += "<span class='danger'>[A]</span><br>"
text += span_danger("[A]") + "<br>"
to_chat(user, span_notice("You feel a sting as the scanner extracts some of your blood."))
var/turf/T = get_step(src,outputdir)
var/obj/item/paper/print = new(T)

View File

@@ -477,7 +477,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
/obj/machinery/suit_cycler/proc/finished_job()
var/turf/T = get_turf(src)
T.visible_message("[icon2html(src,viewers(src))]<span class='notice'>The [src] beeps several times.</span>")
T.visible_message("[icon2html(src,viewers(src))]" + span_notice("The [src] beeps several times."))
icon_state = initial(icon_state)
active = 0
playsound(src, 'sound/machines/boobeebeep.ogg', 50)
@@ -543,5 +543,5 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
if(target_species.can_refit_to(helmet, suit, suit?.helmet))
target_species.do_refit_to(helmet, suit, suit?.helmet)
else
visible_message("[icon2html(src,viewers(src))]<span class='warning'>Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.</span>")
visible_message("[icon2html(src,viewers(src))]" + span_warning("Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected."))
return

View File

@@ -46,7 +46,7 @@ var/global/datum/book_manager/book_mgr = new()
break
if(!our_comp)
to_chat(usr, "<span class = 'warning'>Unable to locate a library computer to use for book deleting.</span>")
to_chat(usr, span_warning("Unable to locate a library computer to use for book deleting."))
return
var/dat = "<HEAD><TITLE>Book Inventory Management</TITLE></HEAD><BODY>\n" // <META HTTP-EQUIV='Refresh' CONTENT='10'>

View File

@@ -113,7 +113,7 @@
/obj/item/mecha_parts/mecha_equipment/proc/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[chassis.selected==src?"<b>":"<a href='?src=\ref[chassis];select_equip=\ref[src]'>"][src.name][chassis.selected==src?"</b>":"</a>"]"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[chassis.selected==src?"<b>":"<a href='?src=\ref[chassis];select_equip=\ref[src]'>"][src.name][chassis.selected==src?"</b>":"</a>"]"
/obj/item/mecha_parts/mecha_equipment/proc/is_ranged()//add a distance restricted equipment. Why not?
return range&RANGED

View File

@@ -15,7 +15,7 @@
/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name]"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name]"
/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/handle_melee_contact(var/obj/item/W, var/mob/living/user, var/inc_damage = null)
if(!action_checks(user))

View File

@@ -49,7 +49,7 @@
/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name]"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name]"
/*
/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/can_attach(obj/mecha/M as obj)

View File

@@ -22,7 +22,7 @@
/obj/item/mecha_parts/mecha_equipment/cloak/get_equip_info()
if(!chassis)
return
return "<span style=\"color:[equip_ready ? "#0f0":"#f00"];\">*</span>&nbsp;[src.name] - <a href='?src=\ref[src];toggle_cloak=1'>[equip_ready ? "A" : "Dea"]ctivate</a>"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name] - <a href='?src=\ref[src];toggle_cloak=1'>[equip_ready ? "A" : "Dea"]ctivate</a>"
/obj/item/mecha_parts/mecha_equipment/cloak/Topic(href, href_list)
..()

View File

@@ -92,4 +92,4 @@
/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name] - <a href='?src=\ref[src];toggle_relay=1'>[(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate</a>"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name] - <a href='?src=\ref[src];toggle_relay=1'>[(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate</a>"

View File

@@ -26,9 +26,9 @@
/obj/item/mecha_parts/mecha_equipment/tool/powertool/inflatables/get_equip_info()
if(!chassis) return
var/data_return = "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[chassis.selected==src?"<b>":"<a href='?src=\ref[chassis];select_equip=\ref[src]'>"][src.name][chassis.selected==src?"</b>":"</a>"] - <a href='?src=\ref[src];toggle_deployable_mode=1'>Deploy [my_deployer.mode?"Door":"Wall"]</a><br>\
&nbsp; - Doors left: <span style=\"color:#ff0;\">[my_deployer.stored_doors]</span>/[my_deployer.max_doors]<br>\
&nbsp; - Walls left: <span style=\"color:#ff0;\">[my_deployer.stored_walls]</span>/[my_deployer.max_walls]"
var/data_return = (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[chassis.selected==src?"<b>":"<a href='?src=\ref[chassis];select_equip=\ref[src]'>"][src.name][chassis.selected==src?"</b>":"</a>"] - <a href='?src=\ref[src];toggle_deployable_mode=1'>Deploy [my_deployer.mode?"Door":"Wall"]</a><br>\
&nbsp; - Doors left: " + span_yellow("[my_deployer.stored_doors]") + "/[my_deployer.max_doors]<br>\
&nbsp; - Walls left: " + span_yellow("[my_deployer.stored_walls]") + "/[my_deployer.max_walls]"
return data_return

View File

@@ -117,7 +117,7 @@
/obj/item/mecha_parts/mecha_equipment/tool/jetpack/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name] \[<a href=\"?src=\ref[src];toggle=1\">Toggle</a>\]"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name] \[<a href=\"?src=\ref[src];toggle=1\">Toggle</a>\]"
/obj/item/mecha_parts/mecha_equipment/tool/jetpack/Topic(href,href_list)
..()

View File

@@ -34,7 +34,7 @@
/obj/item/mecha_parts/mecha_equipment/repair_droid/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name] - <a href='?src=\ref[src];toggle_repairs=1'>[(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate</a>"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name] - <a href='?src=\ref[src];toggle_repairs=1'>[(datum_flags & DF_ISPROCESSING)?"Dea":"A"]ctivate</a>"
/obj/item/mecha_parts/mecha_equipment/repair_droid/Topic(href, href_list)
@@ -94,4 +94,4 @@
return PROCESS_KILL
else
set_ready_state(TRUE)
return
return

View File

@@ -86,4 +86,4 @@
/obj/item/mecha_parts/mecha_equipment/combat_shield/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name] - <a href='?src=\ref[src];toggle_shield=1'>[my_shield.active?"Dea":"A"]ctivate</a>"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name] - <a href='?src=\ref[src];toggle_shield=1'>[my_shield.active?"Dea":"A"]ctivate</a>"

View File

@@ -57,7 +57,7 @@
/obj/item/mecha_parts/mecha_equipment/omni_shield/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name] - <a href='?src=\ref[src];toggle_omnishield=1'>[shields?.active?"Dea":"A"]ctivate</a>"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name] - <a href='?src=\ref[src];toggle_omnishield=1'>[shields?.active?"Dea":"A"]ctivate</a>"
////// The shield projector object

View File

@@ -53,10 +53,10 @@
if(mode)
return analyze_reagents(target)
if(!syringes.len)
occupant_message("<span class=\"alert\">No syringes loaded.</span>")
occupant_message(span_warning("No syringes loaded."))
return
if(reagents.total_volume<=0)
occupant_message("<span class=\"alert\">No available reagents to load syringe with.</span>")
occupant_message(span_warning("No available reagents to load syringe with."))
return
set_ready_state(FALSE)
chassis.use_power(energy_drain)
@@ -84,7 +84,7 @@
S.icon = initial(S.icon)
S.reagents.trans_to_mob(M, S.reagents.total_volume, CHEM_BLOOD)
M.take_organ_damage(2)
S.visible_message("<span class=\"attack\"> [M] was hit by the syringe!</span>")
S.visible_message(span_attack("[M] was hit by the syringe!"))
break
else if(S.loc == trg)
S.icon_state = initial(S.icon_state)
@@ -225,7 +225,7 @@
occupant_message("The object is too far away.")
return 0
if(!A.reagents || istype(A,/mob))
occupant_message("<span class=\"alert\">No reagent info gained from [A].</span>")
occupant_message(span_warning("No reagent info gained from [A]."))
return 0
occupant_message("Analyzing reagents...")
//VOREStation Block Edit - Start
@@ -267,7 +267,7 @@
if(!chassis)
return PROCESS_KILL
if(!processed_reagents.len || reagents.total_volume >= reagents.maximum_volume || !chassis.has_charge(energy_drain))
occupant_message("<span class=\"alert\">Reagent processing stopped.</span>")
occupant_message(span_warning("Reagent processing stopped."))
log_message("Reagent processing stopped.")
return PROCESS_KILL
var/amount = synth_speed / processed_reagents.len
@@ -474,7 +474,7 @@
/obj/item/mecha_parts/mecha_equipment/crisis_drone/get_equip_info()
if(!chassis) return
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[src.name] - <a href='?src=\ref[src];toggle_drone=1'>[enabled?"Dea":"A"]ctivate</a>"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[src.name] - <a href='?src=\ref[src];toggle_drone=1'>[enabled?"Dea":"A"]ctivate</a>"
/obj/item/mecha_parts/mecha_equipment/crisis_drone/rad
name = "hazmat dronebay"

View File

@@ -33,7 +33,7 @@
origin_tech = list(TECH_COMBAT= 5, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang/limited/get_equip_info()//Limited version of the clusterbang launcher that can't reload
return "<span style=\"color:[equip_ready?"#0f0":"#f00"];\">*</span>&nbsp;[chassis.selected==src?"<b>":"<a href='?src=\ref[chassis];select_equip=\ref[src]'>"][src.name][chassis.selected==src?"</b>":"</a>"]\[[src.projectiles]\]"
return (equip_ready ? span_green("*") : span_red("*")) + "&nbsp;[chassis.selected==src?"<b>":"<a href='?src=\ref[chassis];select_equip=\ref[src]'>"][src.name][chassis.selected==src?"</b>":"</a>"]\[[src.projectiles]\]"
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/grenade/clusterbang/limited/rearm()
return//Extra bit of security

View File

@@ -191,7 +191,7 @@
..()
/obj/effect/spider/spiderling/die()
visible_message(span_alert("[src] dies!"))
visible_message(span_warning("[src] dies!"))
new /obj/effect/decal/cleanable/spiderling_remains(src.loc)
..()

View File

@@ -113,9 +113,9 @@
var/mob/living/silicon/robot/R = new drone_type(T)
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
to_chat(C, span_notice("You are a <b>Mercenary Drone</b>, activated to serve your team."))
to_chat(C, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> It would be wise \
to speak with your team, and learn what their plan is for today.</span>")
to_chat(C, span_notice("You are a " + span_bold("Mercenary Drone") + ", activated to serve your team."))
to_chat(C, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " It would be wise \
to speak with your team, and learn what their plan is for today."))
R.key = C.key
// R.Namepick() // Apparnetly making someone a merc lets them pick a name, so this isn't needed.

View File

@@ -818,7 +818,7 @@
/proc/detect_new_area(var/turf/first, var/user) //Heavily simplified version for creating an area yourself.
if(!istype(first)) //Not on a turf.
to_chat(usr, "<span class='warning'You can not create a room here.</span>")
to_chat(usr, span_warning("You can not create a room here."))
return
if(get_new_area_type(first.loc) == 1) //Are they in an area they can build? I tried to do this BUILDABLE_AREA_TYPES[first.loc.type] but it refused.
var/list/turf/found = new

View File

@@ -14,69 +14,69 @@ var/global/list/paikeys = list()
if(istype(I,/obj/item/tool/screwdriver))
if(panel_open)
panel_open = FALSE
user.visible_message("<span class ='notice'>\The [user] secured \the [src]'s maintenance panel.</span>")
user.visible_message(span_notice("\The [user] secured \the [src]'s maintenance panel."))
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
else if(pai)
if(do_after(user, 3 SECONDS))
panel_open = TRUE
user.visible_message("<span class ='warning'>\The [user] opened \the [src]'s maintenance panel.</span>")
user.visible_message(span_warning("\The [user] opened \the [src]'s maintenance panel."))
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
if(istype(I,/obj/item/robotanalyzer))
if(!panel_open)
to_chat(user, "<span class ='warning'>The panel isn't open. You will need to unscrew it to open it.</span>")
to_chat(user, span_warning("The panel isn't open. You will need to unscrew it to open it."))
else
if(cell == PP_FUNCTIONAL)
to_chat(user,"Power cell: <span class ='notice'>functional</span>")
to_chat(user,"Power cell: " + span_notice("functional"))
else if(cell == PP_BROKEN)
to_chat(user,"Power cell: <span class ='warning'>damaged - CRITICAL</span>")
to_chat(user,"Power cell: " + span_warning("damaged - CRITICAL"))
else
to_chat(user,"Power cell: <span class ='warning'>missing - CRITICAL</span>")
to_chat(user,"Power cell: " + span_warning("missing - CRITICAL"))
if(processor == PP_FUNCTIONAL)
to_chat(user,"Processor: <span class ='notice'>functional</span>")
to_chat(user,"Processor: " + span_notice("functional"))
else if(processor == PP_BROKEN)
to_chat(user,"Processor: <span class ='warning'>damaged - CRITICAL</span>")
to_chat(user,"Processor: " + span_warning("damaged - CRITICAL"))
else
to_chat(user,"Processor: <span class ='warning'>missing - CRITICAL</span>")
to_chat(user,"Processor: " + span_warning("missing - CRITICAL"))
if(board == PP_FUNCTIONAL)
to_chat(user,"Board: <span class ='notice'>functional</span>")
to_chat(user,"Board: " + span_notice("functional"))
else if(board == PP_BROKEN)
to_chat(user,"Board: <span class ='warning'>damaged - CRITICAL</span>")
to_chat(user,"Board: " + span_warning("damaged - CRITICAL"))
else
to_chat(user,"Board: <span class ='warning'>missing - CRITICAL</span>")
to_chat(user,"Board: " + span_warning("missing - CRITICAL"))
if(capacitor == PP_FUNCTIONAL)
to_chat(user,"Capacitors: <span class ='notice'>functional</span>")
to_chat(user,"Capacitors: " + span_notice("functional"))
else if(capacitor == PP_BROKEN)
to_chat(user,"Capacitors: <span class ='warning'>damaged - CRITICAL</span>")
to_chat(user,"Capacitors: " + span_warning("damaged - CRITICAL"))
else
to_chat(user,"Capacitors: <span class ='warning'>missing - CRITICAL</span>")
to_chat(user,"Capacitors: " + span_warning("missing - CRITICAL"))
if(projector == PP_FUNCTIONAL)
to_chat(user,"Projectors: <span class ='notice'>functional</span>")
to_chat(user,"Projectors: " + span_notice("functional"))
else if(projector == PP_BROKEN)
to_chat(user,"Projectors: <span class ='warning'>damaged</span>")
to_chat(user,"Projectors: " + span_warning("damaged"))
else
to_chat(user,"Projectors: <span class ='warning'>missing</span>")
to_chat(user,"Projectors: " + span_warning("missing"))
if(emitter == PP_FUNCTIONAL)
to_chat(user,"Emitters: <span class ='notice'>functional</span>")
to_chat(user,"Emitters: " + span_notice("functional"))
else if(emitter == PP_BROKEN)
to_chat(user,"Emitters: <span class ='warning'>damaged</span>")
to_chat(user,"Emitters: " + span_warning("damaged"))
else
to_chat(user,"Emitters: <span class ='warning'>missing</span>")
to_chat(user,"Emitters: " + span_warning("missing"))
if(speech_synthesizer == PP_FUNCTIONAL)
to_chat(user,"Speech Synthesizer: <span class ='notice'>functional</span>")
to_chat(user,"Speech Synthesizer: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Speech Synthesizer: <span class ='warning'>damaged</span>")
to_chat(user,"Speech Synthesizer: " + span_warning("damaged"))
else
to_chat(user,"Speech Synthesizer: <span class ='warning'>missing</span>")
to_chat(user,"Speech Synthesizer: " + span_warning("missing"))
if(istype(I,/obj/item/multitool))
if(!panel_open)
to_chat(user, "<span class ='warning'>You can't do that in this state.</span>")
to_chat(user, span_warning("You can't do that in this state."))
else
var/list/parts = list()
if(cell != PP_MISSING)
@@ -98,123 +98,123 @@ var/global/list/paikeys = list()
switch(choice)
if("cell")
if(cell == PP_FUNCTIONAL)
to_chat(user,"Power cell: <span class ='notice'>functional</span>")
to_chat(user,"Power cell: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Power cell: <span class ='warning'>damaged</span>")
to_chat(user,"Power cell: " + span_warning("damaged"))
else
to_chat(user,"Power cell: <span class ='warning'>missing</span>")
to_chat(user,"Power cell: " + span_warning("missing"))
if("processor")
if(processor == PP_FUNCTIONAL)
to_chat(user,"Processor: <span class ='notice'>functional</span>")
to_chat(user,"Processor: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Processor: <span class ='warning'>damaged</span>")
to_chat(user,"Processor: " + span_warning("damaged"))
else
to_chat(user,"Processor: <span class ='warning'>missing</span>")
to_chat(user,"Processor: " + span_warning("missing"))
if("board")
if(board == PP_FUNCTIONAL)
to_chat(user,"Board: <span class ='notice'>functional</span>")
to_chat(user,"Board: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Board: <span class ='warning'>damaged</span>")
to_chat(user,"Board: " + span_warning("damaged"))
else
to_chat(user,"Board: <span class ='warning'>missing</span>")
to_chat(user,"Board: " + span_warning("missing"))
if("capacitor")
if(capacitor == PP_FUNCTIONAL)
to_chat(user,"Capacitors: <span class ='notice'>functional</span>")
to_chat(user,"Capacitors: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Capacitors: <span class ='warning'>damaged</span>")
to_chat(user,"Capacitors: " + span_warning("damaged"))
else
to_chat(user,"Capacitors: <span class ='warning'>missing</span>")
to_chat(user,"Capacitors: " + span_warning("missing"))
if("projector")
if(projector == PP_FUNCTIONAL)
to_chat(user,"Projectors: <span class ='notice'>functional</span>")
to_chat(user,"Projectors: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Projectors: <span class ='warning'>damaged</span>")
to_chat(user,"Projectors: " + span_warning("damaged"))
else
to_chat(user,"Projectors: <span class ='warning'>missing</span>")
to_chat(user,"Projectors: " + span_warning("missing"))
if("emitter")
if(emitter == PP_FUNCTIONAL)
to_chat(user,"Emitters: <span class ='notice'>functional</span>")
to_chat(user,"Emitters: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Emitters: <span class ='warning'>damaged</span>")
to_chat(user,"Emitters: " + span_warning("damaged"))
else
to_chat(user,"Emitters: <span class ='warning'>missing</span>")
to_chat(user,"Emitters: " + span_warning("missing"))
if("speech synthesizer")
if(speech_synthesizer == PP_FUNCTIONAL)
to_chat(user,"Speech Synthesizer: <span class ='notice'>functional</span>")
to_chat(user,"Speech Synthesizer: " + span_notice("functional"))
else if(speech_synthesizer == PP_BROKEN)
to_chat(user,"Speech Synthesizer: <span class ='warning'>damaged</span>")
to_chat(user,"Speech Synthesizer: " + span_warning("damaged"))
else
to_chat(user,"Speech Synthesizer: <span class ='warning'>missing</span>")
to_chat(user,"Speech Synthesizer: " + span_warning("missing"))
if(istype(I,/obj/item/paiparts/cell))
if(cell == PP_MISSING)
if(do_after(user, 3 SECONDS))
user.visible_message("<span class ='notice'>\The [user] installs \the [I] into \the [src].</span>","<span class ='notice'>You install \the [I] into \the [src].</span>")
user.visible_message(span_notice("\The [user] installs \the [I] into \the [src]."),span_notice("You install \the [I] into \the [src]."))
cell = PP_FUNCTIONAL
user.drop_from_inventory(I)
qdel(I)
else
to_chat(user, "<span class ='warning'>You would need to remove the installed [I] first!</span>")
to_chat(user, span_warning("You would need to remove the installed [I] first!"))
if(istype(I,/obj/item/paiparts/processor))
if(processor == PP_MISSING)
if(do_after(user, 3 SECONDS))
user.visible_message("<span class ='notice'>\The [user] installs \the [I] into \the [src].</span>","<span class ='notice'>You install \the [I] into \the [src].</span>")
user.visible_message(span_notice("\The [user] installs \the [I] into \the [src]."),span_notice("You install \the [I] into \the [src]."))
processor = PP_FUNCTIONAL
user.drop_from_inventory(I)
qdel(I)
else
to_chat(user, "<span class ='warning'>You would need to remove the installed [I] first!</span>")
to_chat(user, span_warning("You would need to remove the installed [I] first!"))
if(istype(I,/obj/item/paiparts/board))
if(board == PP_MISSING)
if(do_after(user, 3 SECONDS))
user.visible_message("<span class ='notice'>\The [user] installs \the [I] into \the [src].</span>","<span class ='notice'>You install \the [I] into \the [src].</span>")
user.visible_message(span_notice("\The [user] installs \the [I] into \the [src]."),span_notice("You install \the [I] into \the [src]."))
board = PP_FUNCTIONAL
user.drop_from_inventory(I)
qdel(I)
else
to_chat(user, "<span class ='warning'>You would need to remove the installed [I] first!</span>")
to_chat(user, span_warning("You would need to remove the installed [I] first!"))
if(istype(I,/obj/item/paiparts/capacitor))
if(capacitor == PP_MISSING)
if(do_after(user, 3 SECONDS))
user.visible_message("<span class ='notice'>\The [user] installs \the [I] into \the [src].</span>","<span class ='notice'>You install \the [I] into \the [src].</span>")
user.visible_message(span_notice("\The [user] installs \the [I] into \the [src]."),span_notice("You install \the [I] into \the [src]."))
capacitor = PP_FUNCTIONAL
user.drop_from_inventory(I)
qdel(I)
else
to_chat(user, "<span class ='warning'>You would need to remove the installed [I] first!</span>")
to_chat(user, span_warning("You would need to remove the installed [I] first!"))
if(istype(I,/obj/item/paiparts/projector))
if(projector == PP_MISSING)
if(do_after(user, 3 SECONDS))
user.visible_message("<span class ='notice'>\The [user] installs \the [I] into \the [src].</span>","<span class ='notice'>You install \the [I] into \the [src].</span>")
user.visible_message(span_notice("\The [user] installs \the [I] into \the [src]."),span_notice("You install \the [I] into \the [src]."))
projector = PP_FUNCTIONAL
user.drop_from_inventory(I)
qdel(I)
else
to_chat(user, "<span class ='warning'>You would need to remove the installed [I] first!</span>")
to_chat(user, span_warning("You would need to remove the installed [I] first!"))
if(istype(I,/obj/item/paiparts/emitter))
if(emitter == PP_MISSING)
if(do_after(user, 3 SECONDS))
user.visible_message("<span class ='notice'>\The [user] installs \the [I] into \the [src].</span>","<span class ='notice'>You install \the [I] into \the [src].</span>")
user.visible_message(span_notice("\The [user] installs \the [I] into \the [src]."),span_notice("You install \the [I] into \the [src]."))
emitter = PP_FUNCTIONAL
user.drop_from_inventory(I)
qdel(I)
else
to_chat(user, "<span class ='warning'>You would need to remove the installed [I] first!</span>")
to_chat(user, span_warning("You would need to remove the installed [I] first!"))
if(istype(I,/obj/item/paiparts/speech_synthesizer))
if(speech_synthesizer == PP_MISSING)
if(do_after(user, 3 SECONDS))
user.visible_message("<span class ='notice'>\The [user] installs \the [I] into \the [src].</span>","<span class ='notice'>You install \the [I] into \the [src].</span>")
user.visible_message(span_notice("\The [user] installs \the [I] into \the [src]."),span_notice("You install \the [I] into \the [src]."))
speech_synthesizer = PP_FUNCTIONAL
user.drop_from_inventory(I)
qdel(I)
else
to_chat(user, "<span class ='warning'>You would need to remove the installed [I] first!</span>")
to_chat(user, span_warning("You would need to remove the installed [I] first!"))
/obj/item/paicard/attack_self(mob/user)
if(!panel_open)
@@ -249,14 +249,14 @@ var/global/list/paikeys = list()
new /obj/item/paiparts/capacitor(get_turf(user))
else
new /obj/item/paiparts(get_turf(user))
user.visible_message("<span class ='warning'>\The [user] removes \the [choice] from \the [src].</span>","<span class ='warning'>You remove \the [choice] from \the [src].</span>")
user.visible_message(span_warning("\The [user] removes \the [choice] from \the [src]."),span_warning("You remove \the [choice] from \the [src]."))
cell = PP_MISSING
if("processor")
if(processor == PP_FUNCTIONAL)
new /obj/item/paiparts/capacitor(get_turf(user))
else
new /obj/item/paiparts(get_turf(user))
user.visible_message("<span class ='warning'>\The [user] removes \the [choice] from \the [src].</span>","<span class ='warning'>You remove \the [choice] from \the [src].</span>")
user.visible_message(span_warning("\The [user] removes \the [choice] from \the [src]."),span_warning("You remove \the [choice] from \the [src]."))
processor = PP_MISSING
if("board")
board = PP_MISSING
@@ -264,35 +264,35 @@ var/global/list/paikeys = list()
new /obj/item/paiparts/capacitor(get_turf(user))
else
new /obj/item/paiparts(get_turf(user))
user.visible_message("<span class ='warning'>\The [user] removes \the [choice] from \the [src].</span>","<span class ='warning'>You remove \the [choice] from \the [src].</span>")
user.visible_message(span_warning("\The [user] removes \the [choice] from \the [src]."),span_warning("You remove \the [choice] from \the [src]."))
if("capacitor")
if(capacitor == PP_FUNCTIONAL)
new /obj/item/paiparts/capacitor(get_turf(user))
else
new /obj/item/paiparts(get_turf(user))
user.visible_message("<span class ='warning'>\The [user] removes \the [choice] from \the [src].</span>","<span class ='warning'>You remove \the [choice] from \the [src].</span>")
user.visible_message(span_warning("\The [user] removes \the [choice] from \the [src]."),span_warning("You remove \the [choice] from \the [src]."))
capacitor = PP_MISSING
if("projector")
if(projector == PP_FUNCTIONAL)
new /obj/item/paiparts/capacitor(get_turf(user))
else
new /obj/item/paiparts(get_turf(user))
user.visible_message("<span class ='warning'>\The [user] removes \the [choice] from \the [src].</span>","<span class ='warning'>You remove \the [choice] from \the [src].</span>")
user.visible_message(span_warning("\The [user] removes \the [choice] from \the [src]."),span_warning("You remove \the [choice] from \the [src]."))
projector = PP_MISSING
if("emitter")
if(emitter == PP_FUNCTIONAL)
new /obj/item/paiparts/capacitor(get_turf(user))
else
new /obj/item/paiparts(get_turf(user))
user.visible_message("<span class ='warning'>\The [user] removes \the [choice] from \the [src].</span>","<span class ='warning'>You remove \the [choice] from \the [src].</span>")
user.visible_message(span_warning("\The [user] removes \the [choice] from \the [src]."),span_warning("You remove \the [choice] from \the [src]."))
emitter = PP_MISSING
if("speech synthesizer")
if(speech_synthesizer == PP_FUNCTIONAL)
new /obj/item/paiparts/capacitor(get_turf(user))
else
new /obj/item/paiparts(get_turf(user))
user.visible_message("<span class ='warning'>\The [user] removes \the [choice] from \the [src].</span>","<span class ='warning'>You remove \the [choice] from \the [src].</span>")
user.visible_message(span_warning("\The [user] removes \the [choice] from \the [src]."),span_warning("You remove \the [choice] from \the [src]."))
speech_synthesizer = PP_MISSING
/obj/item/paicard/proc/death_damage()

View File

@@ -24,7 +24,7 @@
user.show_message("Potental to mutate into [english_list(mutations)] colors.<br>Extract potential: [S.cores]<br>Nutrition: [S.nutrition]/[S.max_nutrition]")
if (S.nutrition < S.get_starve_nutrition())
user.show_message(span_alert("Warning: Subject is starving!"))
user.show_message(span_warning("Warning: Subject is starving!"))
else if (S.nutrition < S.get_hunger_nutrition())
user.show_message(span_warning("Warning: Subject is hungry."))
user.show_message("Electric change strength: [S.power_charge]")

View File

@@ -90,8 +90,8 @@
return FALSE
// If the attacker_controller isn't next to the attacking toy (and doesn't have telekinesis), the battle ends.
if(!in_range(attacker, attacker_controller))
attacker_controller.visible_message(span_notice(" [attacker_controller.name] separates from [attacker], ending the battle."), \
span_notice(" You separate from [attacker], ending the battle. "))
attacker_controller.visible_message(span_notice("[attacker_controller.name] separates from [attacker], ending the battle."), \
span_notice("You separate from [attacker], ending the battle. "))
return FALSE
// If it's PVP and the opponent is not next to the defending(src) toy (and doesn't have telekinesis), the battle ends.

View File

@@ -515,7 +515,7 @@
sleep(2) // Short delay to match up with the explosion sound
shake_camera(M, 2, 1)
else
to_chat(user, span_alert("Nothing happens."))
to_chat(user, span_warning("Nothing happens."))
/*
* Garden gnome
@@ -642,11 +642,11 @@
icon_state = "nuketoyidle"
else
var/timeleft = (cooldown - world.time)
to_chat(user, span_alert("Nothing happens, and '</span>[round(timeleft/10)]<span class='alert'>' appears on a small display."))
to_chat(user, span_warning("Nothing happens, and '</span>[round(timeleft/10)]<span class='alert'>' appears on a small display."))
/obj/item/toy/nuke/attackby(obj/item/I as obj, mob/living/user as mob)
if(istype(I, /obj/item/disk/nuclear))
to_chat(user, span_alert("Nice try. Put that disk back where it belongs."))
to_chat(user, span_warning("Nice try. Put that disk back where it belongs."))
/*
* Toy gibber
@@ -677,7 +677,7 @@
to_chat(user, span_notice("You start feeding \the [O] [icon2html(O, user.client)] into \the [src]'s mini-input."))
if(do_after(user, 10, target = src))
if(O.loc != user)
to_chat(user, span_alert("\The [O] is too far away to feed into \the [src]!"))
to_chat(user, span_warning("\The [O] is too far away to feed into \the [src]!"))
else
user.visible_message(span_notice("You feed \the [O] into \the [src]!"),span_notice("[user] feeds \the [O] into \the [src]!"))
user.unEquip(O)

View File

@@ -142,7 +142,7 @@
else
to_chat(user, span_notice("You scribble your new nickname on the side of [src]."))
nickname = tmp_label
desc = initial(desc) + " This one has <span class='notice'>'[nickname]'</span> scribbled on the side."
desc = initial(desc) + " This one has " + span_notice("'[nickname]'") + " scribbled on the side."
else
return ..()

View File

@@ -119,7 +119,7 @@
recharging = TRUE
if(istype(A, /obj/item/gun/energy) && !charge_guns)
to_chat(user, span_alert("Error: Device is unable to interface with weapons."))
to_chat(user, span_warning("Error: Device is unable to interface with weapons."))
recharging = FALSE
return FALSE
@@ -184,7 +184,7 @@
recharging = FALSE
return TRUE
else //Couldn't find a cell
to_chat(user, span_alert("Error unable to interface with device."))
to_chat(user, span_warning("Error unable to interface with device."))
recharging = FALSE

View File

@@ -74,7 +74,7 @@
. = ..()
var/ourtime = (((start_time + time_til_open) - world.time) / 600)
. += "<span class ='notice'>It will open in [ourtime] minutes!</span>"
. += span_notice("It will open in [ourtime] minutes!")
/obj/structure/timer_door/Initialize()
START_PROCESSING(SSobj, src)
@@ -83,7 +83,7 @@
/obj/structure/timer_door/Destroy()
STOP_PROCESSING(SSobj, src)
visible_message("<span class = 'danger'>\The [src] opens up!</span>")
visible_message(span_danger("\The [src] opens up!"))
playsound(src, 'sound/effects/bang.ogg', 75, 1)
return ..()

View File

@@ -34,9 +34,9 @@ var/global/list/micro_tunnels = list()
offset_tunnel()
/obj/structure/micro_tunnel/Destroy()
visible_message("<span class = 'warning'>\The [src] collapses!</span>")
visible_message(span_warning("\The [src] collapses!"))
for(var/mob/thing in src.contents)
visible_message("<span class = 'warning'>\The [thing] tumbles out!</span>")
visible_message(span_warning("\The [thing] tumbles out!"))
thing.forceMove(get_turf(src.loc))
thing.cancel_camera()
@@ -126,22 +126,22 @@ var/global/list/micro_tunnels = list()
switch(choice)
if("Exit")
if(user.loc != src)
to_chat(user, "<span class = 'warning'>You can't do that unless you're in \the [src].</span>")
to_chat(user, span_warning("You can't do that unless you're in \the [src]."))
return
user.forceMove(get_turf(src.loc))
user.cancel_camera()
user.visible_message("<span class = 'notice'>\The [user] climbs out of \the [src]!</span>")
user.visible_message(span_notice("\The [user] climbs out of \the [src]!"))
return
if("Move")
if(user.loc != src)
to_chat(user, "<span class = 'warning'>You can't do that unless you're in \the [src].</span>")
to_chat(user, span_warning("You can't do that unless you're in \the [src]."))
return
var/list/destinations = find_destinations()
if(!destinations.len)
to_chat(user, "<span class = 'warning'>There are no other tunnels connected to this one!</span>")
to_chat(user, span_warning("There are no other tunnels connected to this one!"))
return
else if(destinations.len == 1)
choice = pick(destinations)
@@ -149,7 +149,7 @@ var/global/list/micro_tunnels = list()
choice = tgui_input_list(user, "Where would you like to go?", "Pick a tunnel", destinations)
if(!choice)
return
to_chat(user,"<span class = 'notice'>You begin moving...</span>")
to_chat(user,span_notice("You begin moving..."))
if(!do_after(user, 10 SECONDS, exclusive = TRUE))
return
user.forceMove(choice)
@@ -164,7 +164,7 @@ var/global/list/micro_tunnels = list()
continue
our_targets |= L
if(!our_targets.len)
to_chat(user, "<span class = 'warning'>There is no one in here except for you!</span>")
to_chat(user, span_warning("There is no one in here except for you!"))
return
var/mob/our_choice
if(our_targets.len == 1)
@@ -172,10 +172,10 @@ var/global/list/micro_tunnels = list()
else
our_choice = tgui_input_list(user, "Who would you like to eat?", "Pick a target to eat", our_targets)
if(user.loc != src)
to_chat(user, "<span class = 'warning'>You are no longer inside \the [src], and so cannot eat \the [our_choice].</span>")
to_chat(user, span_warning("You are no longer inside \the [src], and so cannot eat \the [our_choice]."))
return
if(our_choice.loc != src)
to_chat(user, "<span class = 'warning'>\The [our_choice] is no longer inside \the [src], and so cannot be eaten.</span>")
to_chat(user, span_warning("\The [our_choice] is no longer inside \the [src], and so cannot be eaten."))
return
user.feed_grabbed_to_self(user,our_choice)
return
@@ -183,18 +183,18 @@ var/global/list/micro_tunnels = list()
return
if(!can_enter(user))
user.visible_message("<span class = 'warning'>\The [user] reaches into \the [src]. . .</span>","<span class = 'warning'>You reach into \the [src]. . .</span>")
user.visible_message(span_warning("\The [user] reaches into \the [src]. . ."),span_warning("You reach into \the [src]. . ."))
if(!do_after(user, 3 SECONDS, exclusive = TRUE))
user.visible_message("<span class = 'notice'>\The [user] pulls their hand out of \the [src].</span>","<span class = 'warning'>You pull your hand out of \the [src]</span>")
user.visible_message(span_notice("\The [user] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]"))
return
if(!src.contents.len)
to_chat(user, "<span class = 'warning'>There was nothing inside.</span>")
user.visible_message("<span class = 'notice'>\The [user] pulls their hand out of \the [src].</span>","<span class = 'warning'>You pull your hand out of \the [src]</span>")
to_chat(user, span_warning("There was nothing inside."))
user.visible_message(span_notice("\The [user] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]"))
return
var/grabbed = pick(src.contents)
if(!grabbed)
to_chat(user, "<span class = 'warning'>There was nothing inside.</span>")
user.visible_message("<span class = 'notice'>\The [user] pulls their hand out of \the [src].</span>","<span class = 'warning'>You pull your hand out of \the [src]</span>")
to_chat(user, span_warning("There was nothing inside."))
user.visible_message(span_notice("\The [user] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]"))
return
if(ishuman(user))
@@ -207,7 +207,7 @@ var/global/list/micro_tunnels = list()
var/atom/movable/whatever = grabbed
whatever.forceMove(get_turf(src.loc))
user.visible_message("<span class = 'warning'>\The [user] pulls \the [grabbed] out of \the [src]! ! !</span>")
user.visible_message(span_warning("\The [user] pulls \the [grabbed] out of \the [src]! ! !"))
return
else if(isanimal(user))
@@ -219,12 +219,12 @@ var/global/list/micro_tunnels = list()
else
var/atom/movable/whatever = grabbed
whatever.forceMove(get_turf(src.loc))
user.visible_message("<span class = 'warning'>\The [user] pulls \the [grabbed] out of \the [src]! ! !</span>")
user.visible_message(span_warning("\The [user] pulls \the [grabbed] out of \the [src]! ! !"))
return
user.visible_message("<span class = 'notice'>\The [user] begins climbing into \the [src]!</span>")
user.visible_message(span_notice("\The [user] begins climbing into \the [src]!"))
if(!do_after(user, 10 SECONDS, exclusive = TRUE))
to_chat(user, "<span class = 'warning'>You didn't go into \the [src]!</span>")
to_chat(user, span_warning("You didn't go into \the [src]!"))
return
enter_tunnel(user)
@@ -249,22 +249,22 @@ var/global/list/micro_tunnels = list()
var/mob/living/k = M
k.visible_message("<span class = 'notice'>\The [k] begins climbing into \the [src]!</span>")
k.visible_message(span_notice("\The [k] begins climbing into \the [src]!"))
if(!do_after(k, 3 SECONDS, exclusive = TRUE))
to_chat(k, "<span class = 'warning'>You didn't go into \the [src]!</span>")
to_chat(k, span_warning("You didn't go into \the [src]!"))
return
enter_tunnel(k)
/obj/structure/micro_tunnel/proc/enter_tunnel(mob/living/k)
k.visible_message("<span class = 'notice'>\The [k] climbs into \the [src]!</span>")
k.visible_message(span_notice("\The [k] climbs into \the [src]!"))
k.forceMove(src)
k.cancel_camera()
to_chat(k,"<span class = 'notice'>You are inside of \the [src]. It's dark and gloomy inside of here. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it.</span>")
to_chat(k,span_notice("You are inside of \the [src]. It's dark and gloomy inside of here. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it."))
tunnel_notify(k)
/obj/structure/micro_tunnel/proc/tunnel_notify(var/mob/living/user)
to_chat(user, "<span class = 'notice'>You arrive inside \the [src].</span>")
to_chat(user, span_notice("You arrive inside \the [src]."))
var/our_message = "You can see "
var/found_stuff = FALSE
for(var/thing in src.contents)
@@ -274,11 +274,11 @@ var/global/list/micro_tunnels = list()
our_message = "[our_message] [thing], "
if(isliving(thing))
var/mob/living/t = thing
to_chat(t, "<span class = 'notice'>\The [user] enters \the [src]!</span>")
to_chat(t, span_notice("\The [user] enters \the [src]!"))
if(found_stuff)
to_chat(user, "<span class = 'notice'>[our_message]inside of \the [src]!</span>")
to_chat(user, span_notice("[our_message]inside of \the [src]!"))
if(prob(25))
visible_message("<span class = 'warning'>Something moves inside of \the [src]. . .</span>")
visible_message(span_warning("Something moves inside of \the [src]. . ."))
/obj/structure/micro_tunnel/magic
magic = TRUE
@@ -311,17 +311,17 @@ var/global/list/micro_tunnels = list()
switch(choice)
if("Exit")
if(usr.loc != src)
to_chat(usr, "<span class = 'warning'>You can't do that unless you're in \the [src].</span>")
to_chat(usr, span_warning("You can't do that unless you're in \the [src]."))
return
usr.forceMove(get_turf(src.loc))
usr.cancel_camera()
usr.visible_message("<span class = 'notice'>\The [usr] climbs out of \the [src]!</span>")
usr.visible_message(span_notice("\The [usr] climbs out of \the [src]!"))
return
if("Move")
if(usr.loc != src)
to_chat(usr, "<span class = 'warning'>You can't do that unless you're in \the [src].</span>")
to_chat(usr, span_warning("You can't do that unless you're in \the [src]."))
return
var/list/destinations = list()
if(istype(src,/obj/structure/micro_tunnel)) //If we're in a tunnel let's also get the tunnel's destinations
@@ -337,7 +337,7 @@ var/global/list/micro_tunnels = list()
destinations |= o
if(!destinations.len)
to_chat(usr, "<span class = 'warning'>There is nowhere to move to!</span>")
to_chat(usr, span_warning("There is nowhere to move to!"))
return
else if(destinations.len == 1)
choice = pick(destinations)
@@ -345,7 +345,7 @@ var/global/list/micro_tunnels = list()
choice = tgui_input_list(usr, "Where would you like to go?", "Pick a destination", destinations)
if(!choice)
return
to_chat(usr,"<span class = 'notice'>You begin moving...</span>")
to_chat(usr,span_notice("You begin moving..."))
if(!do_after(usr, 10 SECONDS, exclusive = TRUE))
return
if(QDELETED(src))
@@ -362,7 +362,7 @@ var/global/list/micro_tunnels = list()
usr.forceMove(our_choice)
usr.cancel_camera()
to_chat(usr,"<span class = 'notice'>You are inside of \the [our_choice]. You can click upon the thing you are in to exit, or travel to a nearby thing if there are other tunnels linked to it.</span>")
to_chat(usr,span_notice("You are inside of \the [our_choice]. You can click upon the thing you are in to exit, or travel to a nearby thing if there are other tunnels linked to it."))
var/our_message = "You can see "
var/found_stuff = FALSE
@@ -373,29 +373,29 @@ var/global/list/micro_tunnels = list()
our_message = "[our_message] [thing], "
if(isliving(thing))
var/mob/living/t = thing
to_chat(t, "<span class = 'notice'>\The [usr] enters \the [src]!</span>")
to_chat(t, span_notice("\The [usr] enters \the [src]!"))
if(found_stuff)
to_chat(usr, "<span class = 'notice'>[our_message]inside of \the [src]!</span>")
to_chat(usr, span_notice("[our_message]inside of \the [src]!"))
if(prob(25))
our_choice.visible_message("<span class = 'warning'>Something moves inside of \the [our_choice]. . .</span>")
our_choice.visible_message(span_warning("Something moves inside of \the [our_choice]. . ."))
return
if("Cancel")
return
if(!(usr.mob_size <= MOB_TINY || usr.get_effective_size(TRUE) <= micro_accepted_scale))
usr.visible_message("<span class = 'warning'>\The [usr] reaches into \the [src]. . .</span>","<span class = 'warning'>You reach into \the [src]. . .</span>")
usr.visible_message(span_warning("\The [usr] reaches into \the [src]. . ."),span_warning("You reach into \the [src]. . ."))
if(!do_after(usr, 3 SECONDS, exclusive = TRUE))
usr.visible_message("<span class = 'notice'>\The [usr] pulls their hand out of \the [src].</span>","<span class = 'warning'>You pull your hand out of \the [src]</span>")
usr.visible_message(span_notice("\The [usr] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]"))
return
if(!contained_mobs.len)
to_chat(usr, "<span class = 'warning'>There was nothing inside.</span>")
usr.visible_message("<span class = 'notice'>\The [usr] pulls their hand out of \the [src].</span>","<span class = 'warning'>You pull your hand out of \the [src]</span>")
to_chat(usr, span_warning("There was nothing inside."))
usr.visible_message(span_notice("\The [usr] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]"))
return
var/grabbed = pick(contained_mobs)
if(!grabbed)
to_chat(usr, "<span class = 'warning'>There was nothing inside.</span>")
usr.visible_message("<span class = 'notice'>\The [usr] pulls their hand out of \the [src].</span>","<span class = 'warning'>You pull your hand out of \the [src]</span>")
to_chat(usr, span_warning("There was nothing inside."))
usr.visible_message(span_notice("\The [usr] pulls their hand out of \the [src]."),span_warning("You pull your hand out of \the [src]"))
return
if(ishuman(usr))
@@ -409,7 +409,7 @@ var/global/list/micro_tunnels = list()
var/atom/movable/whatever = grabbed
whatever.forceMove(get_turf(src.loc))
usr.visible_message("<span class = 'warning'>\The [usr] pulls \the [grabbed] out of \the [src]! ! !</span>")
usr.visible_message(span_warning("\The [usr] pulls \the [grabbed] out of \the [src]! ! !"))
return
else if(isanimal(usr))
@@ -421,18 +421,18 @@ var/global/list/micro_tunnels = list()
else
var/atom/movable/whatever = grabbed
whatever.forceMove(get_turf(src.loc))
usr.visible_message("<span class = 'warning'>\The [usr] pulls \the [grabbed] out of \the [src]! ! !</span>")
usr.visible_message(span_warning("\The [usr] pulls \the [grabbed] out of \the [src]! ! !"))
return
usr.visible_message("<span class = 'notice'>\The [usr] begins climbing into \the [src]!</span>")
usr.visible_message(span_notice("\The [usr] begins climbing into \the [src]!"))
if(!do_after(usr, 10 SECONDS, exclusive = TRUE))
to_chat(usr, "<span class = 'warning'>You didn't go into \the [src]!</span>")
to_chat(usr, span_warning("You didn't go into \the [src]!"))
return
usr.visible_message("<span class = 'notice'>\The [usr] climbs into \the [src]!</span>")
usr.visible_message(span_notice("\The [usr] climbs into \the [src]!"))
usr.forceMove(src)
usr.cancel_camera()
to_chat(usr,"<span class = 'notice'>You are inside of \the [src]. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it.</span>")
to_chat(usr,span_notice("You are inside of \the [src]. You can click upon the tunnel to exit, or travel to another tunnel if there are other tunnels linked to it."))
var/our_message = "You can see "
var/found_stuff = FALSE
@@ -443,11 +443,11 @@ var/global/list/micro_tunnels = list()
our_message = "[our_message] [thing], "
if(isliving(thing))
var/mob/living/t = thing
to_chat(t, "<span class = 'notice'>\The [usr] enters \the [src]!</span>")
to_chat(t, span_notice("\The [usr] enters \the [src]!"))
if(found_stuff)
to_chat(usr, "<span class = 'notice'>[our_message]inside of \the [src]!</span>")
to_chat(usr, span_notice("[our_message]inside of \the [src]!"))
if(prob(25))
visible_message("<span class = 'warning'>Something moves inside of \the [src]. . .</span>")
visible_message(span_warning("Something moves inside of \the [src]. . ."))
/obj/effect/mouse_hole_spawner
name = "mouse hole spawner"

View File

@@ -36,7 +36,7 @@
m.forceMove(src.loc)
else
m.forceMove(get_turf(src.loc))
m.visible_message("<span class = 'notice'>\The [m] tumbles out of \the [src]!</span>")
m.visible_message(span_notice("\The [m] tumbles out of \the [src]!"))
//VOREStation Add End
//CHOMPAdd Start possessed item cleanup
@@ -176,7 +176,7 @@
/*
var/mob/mo = locate(/mob) in src
if(mo)
var/rendered = span_game say(span_name("[M.name]: </span> <span class='message'>[text]"))
var/rendered = span_game(span_say(span_name("[M.name]:") + " " + span_message("[text]"))))
mo.show_message(rendered, 2)
*/
return

View File

@@ -49,10 +49,10 @@
/obj/structure/casino_table/roulette_table/attack_hand(mob/user as mob)
if(busy)
to_chat(user,"<span class='notice'>You cannot spin now! The roulette is already spinning.</span> ")
to_chat(user,span_notice("You cannot spin now! The roulette is already spinning."))
return
if(!ball)
to_chat(user,"<span class='notice'>This roulette wheel has no ball!</span> ")
to_chat(user,span_notice("This roulette wheel has no ball!"))
return
visible_message(span_notice("\The [user] spins the roulette and throws [ball.get_ball_desc()] into it."))
playsound(src.loc, 'sound/machines/roulette.ogg', 40, 1)
@@ -396,7 +396,7 @@
/obj/machinery/wheel_of_fortune/attack_hand(mob/user as mob)
if (busy)
to_chat(user,"<span class='notice'>The wheel of fortune is already spinning!</span> ")
to_chat(user,span_notice("The wheel of fortune is already spinning!"))
return
if(usr.incapacitated())
@@ -407,10 +407,10 @@
return
if("Spin the Wheel! (Not Lottery)")
if(public_spin == 0)
to_chat(user,"<span class='notice'>The Wheel makes a sad beep, public spins are not enabled right now..</span> ")
to_chat(user,span_notice("The Wheel makes a sad beep, public spins are not enabled right now..."))
return
else
to_chat(user,"<span class='notice'>You spin the wheel!</span> ")
to_chat(user,span_notice("You spin the wheel!"))
spin_the_wheel("not_lottery")
if("Set the interval")
setinterval()
@@ -418,7 +418,7 @@
/obj/machinery/wheel_of_fortune/attackby(obj/item/W as obj, mob/user as mob)
if (busy)
to_chat(user,"<span class='notice'>The wheel of fortune is already spinning!</span> ")
to_chat(user,span_notice("The wheel of fortune is already spinning!"))
return
if(usr.incapacitated())
@@ -435,24 +435,24 @@
if("Cancel")
return
if("Spin the Lottery Wheel!")
to_chat(user,"<span class='notice'>You spin the wheel for the lottery!</span> ")
to_chat(user,span_notice("You spin the wheel for the lottery!"))
spin_the_wheel("lottery")
if("Toggle Lottery Sales")
if(lottery_sale == "disabled")
lottery_sale = "enabled"
to_chat(user,"<span class='notice'>Public Lottery sale has been enabled.</span> ")
to_chat(user,span_notice("Public Lottery sale has been enabled."))
else
lottery_sale = "disabled"
to_chat(user,"<span class='notice'>Public Lottery sale has been disabled.</span> ")
to_chat(user,span_notice("Public Lottery sale has been disabled."))
if("Toggle Public Spins")
if(public_spin == 0)
public_spin = 1
to_chat(user,"<span class='notice'>Public spins has been enabled.</span> ")
to_chat(user,span_notice("Public spins has been enabled."))
else
public_spin = 0
to_chat(user,"<span class='notice'>Public spins has been disabled.</span> ")
to_chat(user,span_notice("Public spins has been disabled."))
if("Reset Lottery")
var/confirm = tgui_alert(usr, "Are you sure you want to reset Lottery?", "Confirm Lottery Reset", list("Yes", "No"))
@@ -476,10 +476,10 @@
/obj/machinery/wheel_of_fortune/proc/insert_chip(var/obj/item/spacecasinocash/cashmoney, mob/user)
if (busy)
to_chat(user,"<span class='notice'>The Wheel of Fortune is busy, wait for it to be done to buy a lottery ticket.</span> ")
to_chat(user,span_notice("The Wheel of Fortune is busy, wait for it to be done to buy a lottery ticket."))
return
if(cashmoney.worth < lottery_price)
to_chat(user,"<span class='notice'>You dont have enough chips to buy a lottery ticket!</span> ")
to_chat(user,span_notice("You dont have enough chips to buy a lottery ticket!"))
return
to_chat(user,span_notice("You put [lottery_price] credits worth of chips into the Wheel of Fortune and it pings to notify of your lottery ticket registered!"))
@@ -575,7 +575,7 @@
if(usr.incapacitated())
return
if(casinosentientprize_sale == "disabled")
to_chat(user,"<span class='notice'>The SPASM is disabled.</span> ")
to_chat(user,span_notice("The SPASM is disabled."))
return
if(ishuman(usr) || istype(usr, /mob/living/silicon/robot))
@@ -668,10 +668,10 @@
return
if(user.name == C.sentientprizename)
if(!C.ownername)
to_chat(user,"<span class='notice'>If collar isn't disabled and entry removed, please select your entry and insert chips. Or contact staff if you need assistance.</span> ")
to_chat(user,span_notice("If collar isn't disabled and entry removed, please select your entry and insert chips. Or contact staff if you need assistance."))
return
else
to_chat(user,"<span class='notice'>If collar isn't disabled and entry removed, please ask your owner to free you with collar swipe on the SPASM, or contact staff if you need assistance.</span> ")
to_chat(user,span_notice("If collar isn't disabled and entry removed, please ask your owner to free you with collar swipe on the SPASM, or contact staff if you need assistance."))
return
if(user.name == C.ownername)
var/confirm = tgui_alert(usr, "Are you sure you want to wipe [C.sentientprizename] entry?", "Confirm Sentient Prize Release", list("Yes", "No"))
@@ -701,12 +701,12 @@
casinosentientprize_sale = "enabled"
icon_state = "casinoslave_hub_on"
update_icon()
to_chat(user,"<span class='notice'>Prize sale has been enabled.</span> ")
to_chat(user,span_notice("Prize sale has been enabled."))
else
casinosentientprize_sale = "disabled"
icon_state = "casinoslave_hub_off"
update_icon()
to_chat(user,"<span class='notice'>Prize sale has been disabled.</span> ")
to_chat(user,span_notice("Prize sale has been disabled."))
if("Wipe Selected Prize Entry")
if(!selected_collar)
@@ -740,7 +740,7 @@
/obj/machinery/casinosentientprize_handler/proc/insert_chip(var/obj/item/spacecasinocash/cashmoney, mob/user, var/buystate)
if(cashmoney.worth < casinosentientprize_price)
to_chat(user,"<span class='notice'>You dont have enough chips to pay for the sentient prize!</span> ")
to_chat(user,span_notice("You dont have enough chips to pay for the sentient prize!"))
return
cashmoney.worth -= casinosentientprize_price
@@ -752,7 +752,7 @@
cashmoney.update_icon()
if(buystate == "selfbuy")
to_chat(user,"<span class='notice'>You put [casinosentientprize_price] credits worth of chips into the SPASM and nullify your collar!</span> ")
to_chat(user,span_notice("You put [casinosentientprize_price] credits worth of chips into the SPASM and nullify your collar!"))
selected_collar.icon_state = "casinoslave"
selected_collar.update_icon()
selected_collar.name = "disabled Sentient Prize Collar: [selected_collar.sentientprizename]"
@@ -763,7 +763,7 @@
selected_collar = null
if(buystate == "buy")
to_chat(user,"<span class='notice'>You put [casinosentientprize_price] credits worth of chips into the SPASM and it pings to inform you bought [selected_collar.sentientprizename]!</span> ")
to_chat(user,span_notice("You put [casinosentientprize_price] credits worth of chips into the SPASM and it pings to inform you bought [selected_collar.sentientprizename]!"))
selected_collar.icon_state = "casinoslave_owned"
selected_collar.update_icon()
selected_collar.ownername = user.name
@@ -777,6 +777,6 @@
if(ishuman(usr) || istype(usr, /mob/living/silicon/robot))
casinosentientprize_price = tgui_input_number(usr, "Select the desired price (1-1000)", "Set Price", null, null, 1000, 1)
if(casinosentientprize_price>1000 || casinosentientprize_price<1)
to_chat(user,"<span class='notice'>Invalid price.</span> ")
to_chat(user,span_notice("Invalid price."))
return
to_chat(user,"<span class='notice'>You set the price to [casinosentientprize_price]</span> ")
to_chat(user,span_notice("You set the price to [casinosentientprize_price]"))

View File

@@ -404,7 +404,7 @@
return
for(var/mob/O in hearers(src, null))
O.show_message(span_npcsay("<span class='name'>\The [src]</span> beeps, \"[message]\""),2)
O.show_message(span_npc_say("<span class='name'>\The [src]</span> beeps, \"[message]\""),2)
return
/obj/machinery/casino_prize_dispenser/process() //Might not need this, but just to be safe for now

View File

@@ -25,9 +25,9 @@
. += "Use HTML5 if it works for you. If neither HTML5 nor WMP work, you'll have to fall back to using VLC, "
. += "but this requires you have the VLC client installed on your comptuer."
. += "Try the others if you want but you'll probably just get no music.<br>"
. += (pref.media_player == 2) ? "<span class='linkOn'><b>HTML5</b></span> " : "<a href='?src=\ref[src];set_media_player=2'>HTML5</a> "
. += (pref.media_player == 1) ? "<span class='linkOn'><b>WMP</b></span> " : "<a href='?src=\ref[src];set_media_player=1'>WMP</a> "
. += (pref.media_player == 0) ? "<span class='linkOn'><b>VLC</b></span> " : "<a href='?src=\ref[src];set_media_player=0'>VLC</a> "
. += (pref.media_player == 2) ? (span_linkOn(span_bold("HTML5")) + " ") : "<a href='?src=\ref[src];set_media_player=2'>HTML5</a> "
. += (pref.media_player == 1) ? (span_linkOn(span_bold("WMP")) + " ") : "<a href='?src=\ref[src];set_media_player=1'>WMP</a> "
. += (pref.media_player == 0) ? (span_linkOn(span_bold("VLC")) + " ") : "<a href='?src=\ref[src];set_media_player=0'>VLC</a> "
. += "<br>"
/datum/category_item/player_setup_item/volume_sliders/media/OnTopic(var/href, var/list/href_list, var/mob/user)

View File

@@ -55,9 +55,9 @@
if(is_special_character(C.mob))
if(C.mob?.mind?.special_role)
entry += "<b><span class='red'>[C.mob.mind.special_role]</span></b>"
entry += span_red(span_bold("[C.mob.mind.special_role]"))
else
entry += "<b><span class='red'>Antagonist</span></b>"
entry += span_red(span_bold("Antagonist"))
entry += "</td><td>"
@@ -81,11 +81,11 @@
entry += "[C.key]"
var/mob/observer/dead/O = C.mob
if(isobserver(O))
entry += " - <span class='gray'>Observing</span><br>"
entry += " - " + span_gray("Observing") + "<br>"
else if(istype(O,/mob/new_player))
entry += " - <span class='blue'>In Lobby</span><br>"
entry += " - " + span_blue("In Lobby") + "<br>"
else
entry += " - <span class='green'>Playing</span><br>"
entry += " - "+ span_green("Playing") + "<br>"
Lines += entry

View File

@@ -140,10 +140,10 @@ log transactions
dat += "Card: <a href='?src=\ref[src];choice=insert_card'>[held_card ? held_card.name : "------"]</a><br><br>"
if(ticks_left_locked_down > 0)
dat += span_alert("Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled.")
dat += span_warning("Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled.")
else if(authenticated_account)
if(authenticated_account.suspended)
dat += "<font color='red'><b>Access to this account has been suspended, and the funds within frozen.</b></font>"
dat += span_red(span_bold("Access to this account has been suspended, and the funds within frozen."))
else
switch(view_screen)
if(CHANGE_SECURITY_LEVEL)

View File

@@ -754,7 +754,7 @@ GLOBAL_LIST_EMPTY(vending_products)
return
for(var/mob/O in hearers(src, null))
O.show_message(span_npcsay("<span class='name'>\The [src]</span> beeps, \"[message]\""),2)
O.show_message(span_npc_say("<span class='name'>\The [src]</span> beeps, \"[message]\""),2)
return
/obj/machinery/vending/power_change()

View File

@@ -144,7 +144,7 @@
message = "[time] [message]"
message = span_game(span_say(message))
if(speaker && !speaker.client)
message = span_npcsay(message)
message = span_npc_say(message)
else if(speaker && !(get_z(src) == get_z(speaker)))
message = span_multizsay(message)
to_chat(src, message)
@@ -160,7 +160,7 @@
message = "[time] [message]"
message = span_game(span_say(message))
if(speaker && !speaker.client)
message = span_npcsay(message)
message = span_npc_say(message)
else if(speaker && !(get_z(src) == get_z(speaker)))
message = span_multizsay(message)
to_chat(src, message)
@@ -336,7 +336,7 @@
var/rendered = span_game(span_say(span_name(name) + " [message]"))
if(!speaker.client)
rendered = span_npcsay(rendered)
rendered = span_npc_say(rendered)
else
if(istype(speaker, /mob/living/silicon/ai))
var/mob/living/silicon/ai/source = speaker

View File

@@ -1401,7 +1401,7 @@
if(!. && error_msg && user)
if(!fail_msg)
fail_msg = "There is no exposed flesh or thin material [target_zone == BP_HEAD ? "on their head" : "on their body"] to inject into."
to_chat(user, span_alert("[fail_msg]"))
to_chat(user, span_warning("[fail_msg]"))
/mob/living/carbon/human/print_flavor_text(var/shrink = 1)
var/list/equipment = list(src.head,src.wear_mask,src.glasses,src.w_uniform,src.wear_suit,src.gloves,src.shoes)

View File

@@ -178,7 +178,7 @@
//can't inject synths
/mob/living/silicon/can_inject(var/mob/user, var/error_msg, var/target_zone, var/ignore_thickness = FALSE)
if(error_msg)
to_chat(user, span_alert("The armoured plating is too tough."))
to_chat(user, span_warning("The armoured plating is too tough."))
return 0

View File

@@ -328,7 +328,7 @@
/mob/proc/warn_flavor_changed()
if(flavor_text && flavor_text != "") // don't spam people that don't use it!
to_chat(src, span_filter_notice("<h2 class='alert'>OOC Warning:</h2>"))
to_chat(src, span_filter_notice(span_alert("Your flavor text is likely out of date! <a href='byond://?src=\ref[src];flavor_change=1'>Change</a>")))
to_chat(src, span_filter_notice(span_warning("Your flavor text is likely out of date! <a href='byond://?src=\ref[src];flavor_change=1'>Change</a>")))
/mob/proc/print_flavor_text()
if (flavor_text && flavor_text != "")

View File

@@ -391,7 +391,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
last_notification = message // TGUI Hook
to_chat(human,span_filter_nif("<b>\[[icon2html(src.big_icon, human.client)]NIF\]</b> displays, " + (alert ? span_danger(message) : span_notice(message))))
to_chat(human,span_filter_nif(span_bold("\[[icon2html(src.big_icon, human.client)]NIF\]") + " displays, " + (alert ? span_danger(message) : span_notice(message))))
if(prob(1)) human.visible_message(span_notice("\The [human] [pick(look_messages)]."))
if(alert)
human << bad_sound

View File

@@ -202,7 +202,7 @@
/obj/machinery/particle_accelerator/control_box/proc/is_interactive(mob/user)
if(!interface_control)
to_chat(user, span_alert("ERROR: Request timed out. Check wire contacts."))
to_chat(user, span_warning("ERROR: Request timed out. Check wire contacts."))
return FALSE
if(construction_state != 3)
return FALSE

View File

@@ -141,7 +141,7 @@
to_chat(user, span_notice("Turbine connected."))
stat &= ~BROKEN
else
to_chat(user, span_alert("Turbine not connected."))
to_chat(user, span_warning("Turbine not connected."))
stat |= BROKEN
/obj/machinery/compressor/process()
@@ -239,7 +239,7 @@
to_chat(user, span_notice("Compressor connected."))
stat &= ~BROKEN
else
to_chat(user, span_alert("Compressor not connected."))
to_chat(user, span_warning("Compressor not connected."))
stat |= BROKEN
/obj/machinery/power/turbine/process()

View File

@@ -378,7 +378,7 @@
for(var/obj/item/gun/energy/kinetic_accelerator/H in R.module.modules)
if(install(H, R)) //It worked
return
to_chat(R, span_alert("Upgrade error - Aborting Kinetic Accelerator linking.")) //No applicable KA found, insufficient capacity, or some other problem.
to_chat(R, span_warning("Upgrade error - Aborting Kinetic Accelerator linking.")) //No applicable KA found, insufficient capacity, or some other problem.
*/
/obj/item/borg/upgrade/modkit/proc/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user)

View File

@@ -708,7 +708,7 @@
//Don't appear to be in a vore situation
else
to_chat(src,span_alert("You aren't inside anyone, though, is the thing."))
to_chat(src,span_warning("You aren't inside anyone, though, is the thing."))
//
// Eating procs depending on who clicked what

View File

@@ -113,14 +113,14 @@ export const MESSAGE_TYPES = [
name: 'Info',
description: 'Non-urgent messages from the game and items',
selector:
'.notice:not(.pm):not(.mentor), .adminnotice:not(.pm), .info, .sinister, .cult, .infoplain, .announce, .hear, .smallnotice, .holoparasite, .boldnotice',
'.notice:not(.pm):not(.mentor), .adminnotice:not(.pm), .info, .sinister, .cult, .alium, .infoplain, .announce, .hear, .smallnotice, .holoparasite, .boldnotice, .suicide, .unconscious',
},
{
type: MESSAGE_TYPE_WARNING,
name: 'Warnings',
description: 'Urgent messages from the game and items',
selector:
'.warning:not(.pm):not(.mentor), .critical, .userdanger, .alertsyndie, .warningplain',
'.warning:not(.pm):not(.mentor), .boldwarning:not(.pm):not(.mentor), .critical, .userdanger, .alertsyndie, .warningplain, .sinister',
},
{
type: MESSAGE_TYPE_DEADCHAT,
@@ -132,7 +132,7 @@ export const MESSAGE_TYPES = [
type: MESSAGE_TYPE_OOC,
name: 'OOC',
description: 'The bluewall of global OOC messages',
selector: '.ooc, .adminooc, .adminobserverooc, .oocplain',
selector: '.ooc, .adminooc, .adminobserverooc, .oocplain, .aooc',
},
{
type: MESSAGE_TYPE_LOOC,
@@ -157,7 +157,7 @@ export const MESSAGE_TYPES = [
type: MESSAGE_TYPE_COMBAT,
name: 'Combat Log',
description: 'Urist McTraitor has stabbed you with a knife!',
selector: '.danger',
selector: '.danger, .attack, .disarm, .passive, .bolddanger',
},
{
type: MESSAGE_TYPE_CHATPRINT,
@@ -222,7 +222,8 @@ export const MESSAGE_TYPES = [
type: MESSAGE_TYPE_DEBUG,
name: 'Debug Log',
description: 'DEBUG: SSPlanets subsystem Recover().',
selector: '.filter_debuglogs',
selector:
'.filter_debuglogs, .debug_error, .debug_warning, .debug_info, .debug_debug, .debug_trace',
admin: true,
},
];

View File

@@ -222,6 +222,10 @@ a.popt {
color: #a4bad6;
}
.underline {
text-decoration: underline;
}
/* ADD HERE FOR BOLD */
.bold,

View File

@@ -240,6 +240,10 @@ a.popt {
color: #638500;
}
.underline {
text-decoration: underline;
}
/* ADD HERE FOR BOLD */
.bold,

View File

@@ -222,6 +222,10 @@ a.popt {
color: #638500;
}
.underline {
text-decoration: underline;
}
/* ADD HERE FOR BOLD */
.bold,

View File

@@ -240,6 +240,10 @@ a.popt {
color: #638500;
}
.underline {
text-decoration: underline;
}
/* ADD HERE FOR BOLD */
.bold,