[MIRROR] refactors most spans (#9139)

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

View File

@@ -25,11 +25,11 @@
if(istype(W,/obj/item/stack/nanopaste))
var/obj/item/stack/nanopaste/np = W
if((supply.get_free_space() >= efficiency) && np.use(1))
to_chat(user, "<span class='notice'>You convert some nanopaste into programmed nanites inside \the [src].</span>")
to_chat(user, span_notice("You convert some nanopaste into programmed nanites inside \the [src]."))
supply.add_reagent(id = "nifrepairnanites", amount = efficiency)
update_icon()
else if(supply.get_free_space() < efficiency)
to_chat(user, "<span class='warning'>\The [src] is too full. Empty it into a container first.</span>")
to_chat(user, span_warning("\The [src] is too full. Empty it into a container first."))
return
/obj/item/nifrepairer/update_icon()
@@ -43,15 +43,15 @@
return 0
if(!supply || !supply.total_volume)
to_chat(user, "<span class='warning'>[src] is empty. Feed it nanopaste.</span>")
to_chat(user, span_warning("[src] is empty. Feed it nanopaste."))
return 1
if(!target.reagents.get_free_space())
to_chat(user, "<span class='warning'>[target] is already full.</span>")
to_chat(user, span_warning("[target] is already full."))
return 1
var/trans = supply.trans_to(target, 15)
to_chat(user, "<span class='notice'>You transfer [trans] units of the programmed nanites to [target].</span>")
to_chat(user, span_notice("You transfer [trans] units of the programmed nanites to [target]."))
update_icon()
return 1
@@ -59,6 +59,6 @@
. = ..()
if(Adjacent(user))
if(supply.total_volume)
. += "<span class='notice'>\The [src] contains [supply.total_volume] units of programmed nanites, ready for dispensing.</span>"
. += span_notice("\The [src] contains [supply.total_volume] units of programmed nanites, ready for dispensing.")
else
. += "<span class='notice'>\The [src] is empty and ready to accept nanopaste.</span>"
. += span_notice("\The [src] is empty and ready to accept nanopaste.")

View File

@@ -94,13 +94,13 @@
if(new_state != old_state)
switch(new_state)
if(PROXIMITY_OFF_CAMERANET)
to_chat(carrier, "<span class='notice'>[icon2html(src, carrier.client)] Now outside of camera network.</span>")
to_chat(carrier, span_notice("[icon2html(src, carrier.client)] Now outside of camera network."))
carrier << 'sound/machines/defib_failed.ogg'
if(PROXIMITY_NONE)
to_chat(carrier, "<span class='notice'>[icon2html(src, carrier.client)] Now within camera network, AI and cameras unfocused.</span>")
to_chat(carrier, span_notice("[icon2html(src, carrier.client)] Now within camera network, AI and cameras unfocused."))
carrier << 'sound/machines/defib_safetyOff.ogg'
if(PROXIMITY_NEAR)
to_chat(carrier, "<span class='warning'>[icon2html(src, carrier.client)] Warning: AI focus at nearby location.</span>")
to_chat(carrier, span_warning("[icon2html(src, carrier.client)] Warning: AI focus at nearby location."))
carrier << 'sound/machines/defib_SafetyOn.ogg'
if(PROXIMITY_ON_SCREEN)
to_chat(carrier, "<font size='3'><span class='danger'>[icon2html(src, carrier.client)] Alert: AI or camera focused at current location!</span></font>")

View File

@@ -74,12 +74,12 @@
INVOKE_ASYNC(src, PROC_REF(wipe_ai))
if("radio")
carded_ai.aiRadio.disabledAi = !carded_ai.aiRadio.disabledAi
to_chat(carded_ai, "<span class='warning'>Your Subspace Transceiver has been [carded_ai.aiRadio.disabledAi ? "disabled" : "enabled"]!</span>")
to_chat(user, "<span class='notice'>You [carded_ai.aiRadio.disabledAi ? "disable" : "enable"] the AI's Subspace Transceiver.</span>")
to_chat(carded_ai, span_warning("Your Subspace Transceiver has been [carded_ai.aiRadio.disabledAi ? "disabled" : "enabled"]!"))
to_chat(user, span_notice("You [carded_ai.aiRadio.disabledAi ? "disable" : "enable"] the AI's Subspace Transceiver."))
if("wireless")
carded_ai.control_disabled = !carded_ai.control_disabled
to_chat(carded_ai, "<span class='warning'>Your wireless interface has been [carded_ai.control_disabled ? "disabled" : "enabled"]!</span>")
to_chat(user, "<span class='notice'>You [carded_ai.control_disabled ? "disable" : "enable"] the AI's wireless interface.</span>")
to_chat(carded_ai, span_warning("Your wireless interface has been [carded_ai.control_disabled ? "disabled" : "enabled"]!"))
to_chat(user, span_notice("You [carded_ai.control_disabled ? "disable" : "enable"] the AI's wireless interface."))
if(carded_ai.control_disabled && carded_ai.deployed_shell)
carded_ai.disconnect_shell("Disconnecting from remote shell due to [src] wireless access interface being disabled.")
update_icon()
@@ -153,13 +153,13 @@
/obj/item/aicard/see_emote(mob/living/M, text)
if(carded_ai && carded_ai.client)
var/rendered = "<span class='message'>[text]</span>"
var/rendered = span_message("[text]")
carded_ai.show_message(rendered, 2)
..()
/obj/item/aicard/show_message(msg, type, alt, alt_type)
if(carded_ai && carded_ai.client)
var/rendered = "<span class='message'>[msg]</span>"
var/rendered = span_message("[msg]")
carded_ai.show_message(rendered, type)
..()

View File

@@ -18,15 +18,15 @@
usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(ishuman(M) || issilicon(M)) //Allows body swapping with humans, synths, and pAI's/borgs since they all have a mind.
if(usr == M)
to_chat(user,"<span class='warning'> A message pops up on the LED display, informing you that you that the mind transfer to yourself was successful... Wait, did that even do anything?</span>")
to_chat(user,span_warning(" A message pops up on the LED display, informing you that you that the mind transfer to yourself was successful... Wait, did that even do anything?"))
return
if(!M.mind) //Do they have a mind?
to_chat(usr,"<span class='warning'>A warning pops up on the device, informing you that [M] appears braindead.</span>")
to_chat(usr,span_warning("A warning pops up on the device, informing you that [M] appears braindead."))
return
if(!M.allow_mind_transfer)
to_chat(usr,"<span class='danger'>The target's mind is too complex to be affected!</span>")
to_chat(usr,span_danger("The target's mind is too complex to be affected!"))
return
/* CHOMPRemove Start, we have a vore pref for that
@@ -38,7 +38,7 @@
*///CHOMPRemove End
if(M.stat == DEAD) //Are they dead?
to_chat(usr,"<span class='warning'>A warning pops up on the device, informing you that [M] is dead, and, as such, the mind transfer can not be done.</span>")
to_chat(usr,span_warning("A warning pops up on the device, informing you that [M] is dead, and, as such, the mind transfer can not be done."))
return
var/choice = tgui_alert(usr,"This will swap your mind with the target's mind. This will result in them controlling your body, and you controlling their body. Continue?","Confirmation",list("Continue","Cancel"))
@@ -49,11 +49,11 @@
else
log_and_message_admins("attempted to body swap with [key_name(M)].")
//CHOMPAdd End
usr.visible_message("<span class='warning'>[usr] pushes the device up their forehead and [M]'s head, the device beginning to let out a series of light beeps!</span>","<span class='notice'>You begin swap minds with [M]!</span>")
usr.visible_message(span_warning("[usr] pushes the device up their forehead and [M]'s head, the device beginning to let out a series of light beeps!"),span_notice("You begin swap minds with [M]!"))
if(do_after(usr,35 SECONDS,M))
if(usr.mind && M.mind && M.stat != DEAD && usr.stat != DEAD)
log_and_message_admins("[usr.ckey] used a Bodysnatcher to swap bodies with [M.ckey]")
to_chat(usr,"<span class='notice'>Your minds have been swapped! Have a nice day.</span>")
to_chat(usr,span_notice("Your minds have been swapped! Have a nice day."))
var/datum/mind/user_mind = user.mind
var/datum/mind/prey_mind = M.mind
var/target_ooc_notes = M.ooc_notes
@@ -103,8 +103,8 @@
M.slurring = 50
else
to_chat(user,"<span class='warning'> A warning pops up on the LED display on the side of the device, informing you that the target is not able to have their mind swapped with!</span>")
to_chat(user,span_warning(" A warning pops up on the LED display on the side of the device, informing you that the target is not able to have their mind swapped with!"))
/obj/item/bodysnatcher/attack_self(mob/living/user)
to_chat(user,"<span class='warning'> A message pops up on the LED display, informing you that you that the mind transfer to yourself was successful... Wait, did that even do anything?</span>")
to_chat(user,span_warning(" A message pops up on the LED display, informing you that you that the mind transfer to yourself was successful... Wait, did that even do anything?"))
return

View File

@@ -33,7 +33,7 @@
if(!active_dummy)
if(istype(target,/obj/item) && !istype(target, /obj/item/disk/nuclear))
playsound(src, 'sound/weapons/flash.ogg', 100, 1, -6)
to_chat(user, "<span class='notice'>Scanned [target].</span>")
to_chat(user, span_notice("Scanned [target]."))
saved_item = target.type
saved_icon = target.icon
saved_icon_state = target.icon_state
@@ -46,7 +46,7 @@
playsound(src, 'sound/effects/pop.ogg', 100, 1, -6)
qdel(active_dummy)
active_dummy = null
to_chat(usr, "<span class='notice'>You deactivate the [src].</span>")
to_chat(usr, span_notice("You deactivate the [src]."))
var/obj/effect/overlay/T = new /obj/effect/overlay(get_turf(src))
T.icon = 'icons/effects/effects.dmi'
flick("emppulse",T)
@@ -58,7 +58,7 @@
var/obj/effect/dummy/chameleon/C = new /obj/effect/dummy/chameleon(usr.loc)
C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, src)
qdel(O)
to_chat(usr, "<span class='notice'>You activate the [src].</span>")
to_chat(usr, span_notice("You activate the [src]."))
var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src))
T.icon = 'icons/effects/effects.dmi'
flick("emppulse",T)
@@ -105,22 +105,22 @@
/obj/effect/dummy/chameleon/attackby()
for(var/mob/M in src)
to_chat(M, "<span class='warning'>Your chameleon-projector deactivates.</span>")
to_chat(M, span_warning("Your chameleon-projector deactivates."))
master.disrupt()
/obj/effect/dummy/chameleon/attack_hand()
for(var/mob/M in src)
to_chat(M, "<span class='warning'>Your chameleon-projector deactivates.</span>")
to_chat(M, span_warning("Your chameleon-projector deactivates."))
master.disrupt()
/obj/effect/dummy/chameleon/ex_act()
for(var/mob/M in src)
to_chat(M, "<span class='warning'>Your chameleon-projector deactivates.</span>")
to_chat(M, span_warning("Your chameleon-projector deactivates."))
master.disrupt()
/obj/effect/dummy/chameleon/bullet_act()
for(var/mob/M in src)
to_chat(M, "<span class='warning'>Your chameleon-projector deactivates.</span>")
to_chat(M, span_warning("Your chameleon-projector deactivates."))
..()
master.disrupt()

View File

@@ -360,7 +360,7 @@
if("dial")
if(!get_connection_to_tcomms())
to_chat(usr, "<span class='danger'>Error: Cannot connect to Exonet node.</span>")
to_chat(usr, span_danger("Error: Cannot connect to Exonet node."))
return FALSE
var/their_address = params["dial"]
exonet.send_message(their_address, "voice")
@@ -373,7 +373,7 @@
if("message")
if(!get_connection_to_tcomms())
to_chat(usr, "<span class='danger'>Error: Cannot connect to Exonet node.</span>")
to_chat(usr, span_danger("Error: Cannot connect to Exonet node."))
return FALSE
var/their_address = params["message"]
var/text = sanitizeSafe(tgui_input_text(usr,"Enter your message.","Text Message"))
@@ -382,7 +382,7 @@
im_list += list(list("address" = exonet.address, "to_address" = their_address, "im" = text))
log_pda("(COMM: [src]) sent \"[text]\" to [exonet.get_atom_from_address(their_address)]", usr)
var/obj/item/communicator/comm = exonet.get_atom_from_address(their_address)
to_chat(usr, "<span class='notice'>[icon2html(src, usr.client)] Sent message to [istype(comm, /obj/item/communicator) ? comm.owner : comm.name], <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)</span>")
to_chat(usr, span_notice("[icon2html(src, usr.client)] Sent message to [istype(comm, /obj/item/communicator) ? comm.owner : comm.name], <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)"))
for(var/mob/M in player_list)
if(M.stat == DEAD && M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears))
if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat)

View File

@@ -229,19 +229,19 @@ var/global/list/obj/item/communicator/all_communicators = list()
. = ..()
for(var/mob/living/voice/voice in contents)
. += "<span class='notice'>On the screen, you can see a image feed of [voice].</span>"
. += span_notice("On the screen, you can see a image feed of [voice].")
if(voice && voice.key)
switch(voice.stat)
if(CONSCIOUS)
if(!voice.client)
. += "<span class='warning'>[voice] appears to be asleep.</span>" //afk
. += span_warning("[voice] appears to be asleep.") //afk
if(UNCONSCIOUS)
. += "<span class='warning'>[voice] doesn't appear to be conscious.</span>"
. += span_warning("[voice] doesn't appear to be conscious.")
if(DEAD)
. += "<span class='deadsay'>[voice] appears to have died...</span>" //Hopefully this never has to be used.
. += span_deadsay("[voice] appears to have died...") //Hopefully this never has to be used.
else
. += "<span class='notice'>The device doesn't appear to be transmitting any data.</span>"
. += span_notice("The device doesn't appear to be transmitting any data.")
// Proc: emp_act()
// Parameters: None
@@ -307,16 +307,16 @@ var/global/list/obj/item/communicator/all_communicators = list()
if(istype(C, /obj/item/card/id))
var/obj/item/card/id/idcard = C
if(!idcard.registered_name || !idcard.assignment)
to_chat(user, "<span class='notice'>\The [src] rejects the ID.</span>")
to_chat(user, span_notice("\The [src] rejects the ID."))
else if(!owner)
to_chat(user, "<span class='notice'>\The [src] rejects the ID.</span>")
to_chat(user, span_notice("\The [src] rejects the ID."))
else if(owner == idcard.registered_name && occupation != idcard.assignment) //CHMPEDIT only edit assigment if different
occupation = idcard.assignment
to_chat(user, "<span class='notice'>Occupation updated.</span>")
to_chat(user, span_notice(">Occupation updated."))
//CHOMPADDITION START Communicator ID slotting if we have an ID thats also already scanned
else if(((src in user.contents) && (C in user.contents)) || (istype(loc, /turf) && in_range(src, user) && (C in user.contents)) )
if(id_check(user, 2))
to_chat(user, "<span class='notice'>You put the ID into \the [src]'s slot.</span>")
to_chat(user, span_notice("You put the ID into \the [src]'s slot."))
add_overlay("pda-id")
updateSelfDialog()//Update self dialog on success.
return //Return in case of failed check or when successful.
@@ -402,7 +402,7 @@ var/global/list/obj/item/communicator/all_communicators = list()
//CHOMPADDITION END
for(var/mob/living/voice/voice in contents)
voice_mobs.Remove(voice)
to_chat(voice, "<span class='danger'>[icon2html(src, voice.client)] Connection timed out with remote host.</span>")
to_chat(voice, span_danger("[icon2html(src, voice.client)] Connection timed out with remote host."))
qdel(voice)
close_connection(reason = "Connection timed out")

View File

@@ -44,7 +44,7 @@
random = random / 10
exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms")
if(message == "text")
to_chat(src, "<span class='notice'>[icon2html(origin_atom,src.client)] Received text message from [origin_atom]: <b>\"[text]\"</b></span>")
to_chat(src, span_notice("[icon2html(origin_atom,src.client)] Received text message from [origin_atom]: <b>\"[text]\"</b>"))
src << 'sound/machines/defib_safetyOff.ogg'
exonet_messages.Add("<b>From [origin_atom]:</b><br>[text]")
return
@@ -95,7 +95,7 @@
L = loc
if(L)
to_chat(L, "<span class='notice'>[icon2html(src,L.client)] Message from [who]: <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[candidate]'>Reply</a>)</span>")
to_chat(L, span_notice("[icon2html(src,L.client)] Message from [who]: <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[candidate]'>Reply</a>)"))
// This is the only Topic the communicators really uses
/obj/item/communicator/Topic(href, href_list)
@@ -108,7 +108,7 @@
exonet.send_message(comm.exonet.address, "text", message)
im_list += list(list("address" = exonet.address, "to_address" = comm.exonet.address, "im" = message))
log_pda("(COMM: [src]) sent \"[message]\" to [exonet.get_atom_from_address(comm.exonet.address)]", usr)
to_chat(usr, "<span class='notice'>[icon2html(src,usr.client)] Sent message to [istype(comm, /obj/item/communicator) ? comm.owner : comm.name], <b>\"[message]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)</span>")
to_chat(usr, span_notice("[icon2html(src,usr.client)] Sent message to [istype(comm, /obj/item/communicator) ? comm.owner : comm.name], <b>\"[message]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)"))
// Verb: text_communicator()
// Parameters: None
@@ -119,7 +119,7 @@
set desc = "If there is a communicator available, send a text message to it."
if(ticker.current_state < GAME_STATE_PLAYING)
to_chat(src, "<span class='danger'>The game hasn't started yet!</span>")
to_chat(src, span_danger("The game hasn't started yet!"))
return
if (!src.stat)
@@ -130,7 +130,7 @@
for(var/mob/living/L in mob_list) //Simple check so you don't have dead people calling.
if(src.client.prefs.real_name == L.real_name)
to_chat(src, "<span class='danger'>Your identity is already present in the game world. Please load in a different character first.</span>")
to_chat(src, span_danger("Your identity is already present in the game world. Please load in a different character first."))
return
var/obj/machinery/exonet_node/E = get_exonet_node()
@@ -146,7 +146,7 @@
choices.Add(comm)
if(!choices.len)
to_chat(src, "<span class='danger'>There are no available communicators, sorry.</span>")
to_chat(src, span_danger("There are no available communicators, sorry."))
return
var/choice = tgui_input_list(src,"Send a text message to whom?", "Recipient Choice", choices)
@@ -157,7 +157,7 @@
if(text_message && O.exonet)
O.exonet.send_message(chosen_communicator.exonet.address, "text", text_message)
to_chat(src, "<span class='notice'>You have sent '[text_message]' to [chosen_communicator].</span>")
to_chat(src, span_notice("You have sent '[text_message]' to [chosen_communicator]."))
exonet_messages.Add("<b>To [chosen_communicator]:</b><br>[text_message]")
log_pda("(DCOMM: [src]) sent \"[text_message]\" to [chosen_communicator]", src)
for(var/mob/M in player_list)

View File

@@ -39,15 +39,15 @@
comm.voice_requests.Remove(src)
if(user)
comm.visible_message("<span class='notice'>[icon2html(src,viewers(src))] Connecting to [src].</span>")
to_chat(user, "<span class='notice'>[icon2html(src,user.client)] Attempting to call [comm].</span>")
comm.visible_message(span_notice("[icon2html(src,viewers(src))] Connecting to [src]."))
to_chat(user, span_notice("[icon2html(src,user.client)] Attempting to call [comm]."))
sleep(10)
to_chat(user, "<span class='notice'>[icon2html(src,user.client)] Dialing internally from [station_name()], [system_name()].</span>")
to_chat(user, span_notice("[icon2html(src,user.client)] Dialing internally from [station_name()], [system_name()]."))
sleep(20) //If they don't have an exonet something is very wrong and we want a runtime.
to_chat(user, "<span class='notice'>[icon2html(src,user.client)] Connection re-routed to [comm] at [comm.exonet.address].</span>")
to_chat(user, span_notice("[icon2html(src,user.client)] Connection re-routed to [comm] at [comm.exonet.address]."))
sleep(40)
to_chat(user, "<span class='notice'>[icon2html(src,user.client)] Connection to [comm] at [comm.exonet.address] established.</span>")
comm.visible_message("<span class='notice'>[icon2html(src,viewers(src))] Connection to [src] at [exonet.address] established.</span>")
to_chat(user, span_notice("[icon2html(src,user.client)] Connection to [comm] at [comm.exonet.address] established."))
comm.visible_message(span_notice("[icon2html(src,viewers(src))] Connection to [src] at [exonet.address] established."))
sleep(20)
src.add_communicating(comm)
@@ -86,28 +86,28 @@
//Now for some connection fluff.
if(user)
to_chat(user, "<span class='notice'>[icon2html(src,user.client)] Connecting to [candidate].</span>")
to_chat(new_voice, "<span class='notice'>[icon2html(src,new_voice.client)] Attempting to call [src].</span>")
to_chat(user, span_notice("[icon2html(src,user.client)] Connecting to [candidate]."))
to_chat(new_voice, span_notice("[icon2html(src,new_voice.client)] Attempting to call [src]."))
sleep(10)
to_chat(new_voice, "<span class='notice'>[icon2html(src,new_voice.client)] Dialing to [station_name()], Kara Subsystem, [system_name()].</span>")
to_chat(new_voice, span_notice("[icon2html(src,new_voice.client)] Dialing to [station_name()], Kara Subsystem, [system_name()]."))
sleep(20)
to_chat(new_voice, "<span class='notice'>[icon2html(src,new_voice.client)] Connecting to [station_name()] telecommunications array.</span>")
to_chat(new_voice, span_notice("[icon2html(src,new_voice.client)] Connecting to [station_name()] telecommunications array."))
sleep(40)
to_chat(new_voice, "<span class='notice'>[icon2html(src,new_voice.client)] Connection to [station_name()] telecommunications array established. Redirecting signal to [src].</span>")
to_chat(new_voice, span_notice("[icon2html(src,new_voice.client)] Connection to [station_name()] telecommunications array established. Redirecting signal to [src]."))
sleep(20)
//We're connected, no need to hide everything.
new_voice.client.screen.Remove(blackness)
qdel(blackness)
to_chat(new_voice, "<span class='notice'>[icon2html(src,new_voice.client)] Connection to [src] established.</span>")
to_chat(new_voice, span_notice("[icon2html(src,new_voice.client)] Connection to [src] established."))
to_chat(new_voice, "<b>To talk to the person on the other end of the call, just talk normally.</b>")
to_chat(new_voice, "<b>If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time.</b>")
to_chat(new_voice, "<b>Remember, your character does not know anything you've learned from observing!</b>")
if(new_voice.mind)
new_voice.mind.assigned_role = JOB_DISEMBODIED_VOICE
if(user)
to_chat(user, "<span class='notice'>[icon2html(src,new_voice.client)] Your communicator is now connected to [candidate]'s communicator.</span>")
to_chat(user, span_notice("[icon2html(src,new_voice.client)] Your communicator is now connected to [candidate]'s communicator."))
// Proc: close_connection()
// Parameters: 3 (user - the user who initiated the disconnect, target - the mob or device being disconnected, reason - string shown when disconnected)
@@ -120,8 +120,8 @@
for(var/mob/living/voice/voice in voice_mobs) //Handle ghost-callers
if(target && voice != target) //If no target is inputted, it deletes all of them.
continue
to_chat(voice, "<span class='danger'>[icon2html(src,voice.client)] [reason].</span>")
visible_message("<span class='danger'>[icon2html(src,viewers(src))] [reason].</span>")
to_chat(voice, span_danger("[icon2html(src,voice.client)] [reason]."))
visible_message(span_danger("[icon2html(src,viewers(src))] [reason]."))
voice_mobs.Remove(voice)
qdel(voice)
update_icon()
@@ -131,8 +131,8 @@
continue
src.del_communicating(comm)
comm.del_communicating(src)
comm.visible_message("<span class='danger'>[icon2html(src,viewers(src))] [reason].</span>")
visible_message("<span class='danger'>[icon2html(src,viewers(src))] [reason].</span>")
comm.visible_message(span_danger("[icon2html(src,viewers(src))] [reason]."))
visible_message(span_danger("[icon2html(src,viewers(src))] [reason]."))
if(comm.camera && video_source == comm.camera) //We hung up on the person on video
end_video()
if(camera && comm.video_source == camera) //We hung up on them while they were watching us
@@ -174,7 +174,7 @@
L = loc
if(L)
to_chat(L, "<span class='notice'>[icon2html(src,L.client)] Communications request from [who].</span>")
to_chat(L, span_notice("[icon2html(src,L.client)] Communications request from [who]."))
// Proc: del_request()
// Parameters: 1 (candidate - the ghost or communicator to be declined)
@@ -184,7 +184,7 @@
return
if(isobserver(candidate))
to_chat(candidate, "<span class='warning'>Your communicator call request was declined.</span>")
to_chat(candidate, span_warning("Your communicator call request was declined."))
else if(istype(candidate, /obj/item/communicator))
var/obj/item/communicator/comm = candidate
comm.voice_invites -= src
@@ -197,7 +197,7 @@
us = loc
if(us)
to_chat(us, "<span class='notice'>[icon2html(src,us.client)] Declined request.</span>")
to_chat(us, span_notice("[icon2html(src,us.client)] Declined request."))
// Proc: see_emote()
// Parameters: 2 (M - the mob the emote originated from, text - the emote's contents)
@@ -250,7 +250,7 @@
var/message = combined["formatted"]
var/name_used = M.GetVoice()
var/rendered = null
rendered = "<span class='game say'>[icon2html(src,mobs_to_relay)] <span class='name'>[name_used]</span> [message]</span>"
rendered = span_game(span_say("[icon2html(src,mobs_to_relay)] [span_name(name_used)] [message]"))
mob.show_message(rendered, 2)
// Proc: show_message()
@@ -277,7 +277,7 @@
set desc = "If there is a communicator available, send a request to speak through it. This will reset your respawn timer, if someone picks up."
if(ticker.current_state < GAME_STATE_PLAYING)
to_chat(src, "<span class='danger'>The game hasn't started yet!</span>")
to_chat(src, span_danger("The game hasn't started yet!"))
return
if (!src.stat)
@@ -291,12 +291,12 @@
return
if(CONFIG_GET(flag/antag_hud_restricted) && has_enabled_antagHUD == 1) // CHOMPEdit
to_chat(src, "<span class='danger'>You have used the antagHUD and cannot respawn or use communicators!</span>")
to_chat(src, span_danger("You have used the antagHUD and cannot respawn or use communicators!"))
return
for(var/mob/living/L in mob_list) //Simple check so you don't have dead people calling.
if(src.client.prefs.real_name == L.real_name)
to_chat(src, "<span class='danger'>Your identity is already present in the game world. Please load in a different character first.</span>")
to_chat(src, span_danger("Your identity is already present in the game world. Please load in a different character first."))
return
var/obj/machinery/exonet_node/E = get_exonet_node()
@@ -312,7 +312,7 @@
choices.Add(comm)
if(!choices.len)
to_chat(src , "<span class='danger'>There are no available communicators, sorry.</span>")
to_chat(src , span_danger("There are no available communicators, sorry."))
return
var/choice = tgui_input_list(src,"Send a voice request to whom?", "Recipient Choice", choices)
@@ -331,23 +331,23 @@
if((!user) || (!comm) || user.stat) return //KO or dead, or already in a video
if(video_source) //Already in a video
to_chat(user, "<span class='danger'>You are already connected to a video call!</span>")
to_chat(user, span_danger("You are already connected to a video call!"))
return
if(user.blinded) //User is blinded
to_chat(user, "<span class='danger'>You cannot see well enough to do that!</span>")
to_chat(user, span_danger("You cannot see well enough to do that!"))
return
if(!(src in comm.communicating) || !comm.camera) //You called someone with a broken communicator or one that's fake or yourself or something
to_chat(user, "<span class='danger'>[icon2html(src, user.client)]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning.</span>")
to_chat(user, span_danger("[icon2html(src, user.client)]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning."))
return
to_chat(user, "<span class='notice'>[icon2html(src, user.client)] Attempting to start video over existing call.</span>")
to_chat(user, span_notice("[icon2html(src, user.client)] Attempting to start video over existing call."))
sleep(30)
to_chat(user, "<span class='notice'>[icon2html(src, user.client)] Please wait...</span>")
to_chat(user, span_notice("[icon2html(src, user.client)] Please wait..."))
video_source = comm.camera
comm.visible_message("<span class='danger'>[icon2html(src,viewers(src))] New video connection from [comm].</span>")
comm.visible_message(span_danger("[icon2html(src,viewers(src))] New video connection from [comm]."))
update_active_camera_screen()
RegisterSignal(video_source, COMSIG_OBSERVER_MOVED, PROC_REF(update_active_camera_screen))
video_source.AddComponent(/datum/component/recursive_move)
@@ -361,7 +361,7 @@
show_static()
video_source = null
. = "<span class='danger'>[bicon(src)] [reason ? reason : "Video session ended"].</span>"
. = span_danger("[bicon(src)] [reason ? reason : "Video session ended"].")
visible_message(.)
update_icon()

View File

@@ -25,21 +25,21 @@
if(istype(O, /obj/machinery/power/apc))
var/obj/machinery/power/apc/A = O
if(A.emagged || A.hacker)
to_chat(user, "<span class='warning'>There is a software error with the device.</span>")
to_chat(user, span_warning("There is a software error with the device."))
else
to_chat(user, "<span class='notice'>The device's software appears to be fine.</span>")
to_chat(user, span_notice("The device's software appears to be fine."))
return 1
if(istype(O, /obj/machinery/door))
var/obj/machinery/door/D = O
if(D.operating == -1)
to_chat(user, "<span class='warning'>There is a software error with the device.</span>")
to_chat(user, span_warning("There is a software error with the device."))
else
to_chat(user, "<span class='notice'>The device's software appears to be fine.</span>")
to_chat(user, span_notice("The device's software appears to be fine."))
return 1
else if(istype(O, /obj/machinery))
var/obj/machinery/A = O
if(A.emagged)
to_chat(user, "<span class='warning'>There is a software error with the device.</span>")
to_chat(user, span_warning("There is a software error with the device."))
else
to_chat(user, "<span class='notice'>The device's software appears to be fine.</span>")
to_chat(user, span_notice("The device's software appears to be fine."))
return 1

View File

@@ -87,13 +87,13 @@
reattach_paddles(user)
else if(istype(W, /obj/item/cell))
if(bcell)
to_chat(user, "<span class='notice'>\The [src] already has a cell.</span>")
to_chat(user, span_notice("\The [src] already has a cell."))
else
if(!user.unEquip(W))
return
W.forceMove(src)
bcell = W
to_chat(user, "<span class='notice'>You install a cell in \the [src].</span>")
to_chat(user, span_notice("You install a cell in \the [src]."))
update_icon()
else if(W.has_tool_quality(TOOL_SCREWDRIVER))
@@ -101,7 +101,7 @@
bcell.update_icon()
bcell.forceMove(get_turf(src.loc))
bcell = null
to_chat(user, "<span class='notice'>You remove the cell from \the [src].</span>")
to_chat(user, span_notice("You remove the cell from \the [src]."))
update_icon()
else
return ..()
@@ -120,7 +120,7 @@
var/mob/living/carbon/human/user = usr
if(!paddles)
to_chat(user, "<span class='warning'>The paddles are missing!</span>")
to_chat(user, span_warning("The paddles are missing!"))
return
if(paddles.loc != src)
@@ -128,10 +128,10 @@
return
if(!slot_check())
to_chat(user, "<span class='warning'>You need to equip [src] before taking out [paddles].</span>")
to_chat(user, span_warning("You need to equip [src] before taking out [paddles]."))
else
if(!usr.put_in_hands(paddles)) //Detach the paddles into the user's hands
to_chat(user, "<span class='warning'>You need a free hand to hold the paddles!</span>")
to_chat(user, span_warning("You need a free hand to hold the paddles!"))
update_icon() //success
//checks that the base unit is in the correct slot to be used
@@ -163,7 +163,7 @@
if(ismob(paddles.loc))
var/mob/M = paddles.loc
if(M.drop_from_inventory(paddles, src))
to_chat(user, "<span class='notice'>\The [paddles] snap back into the main unit.</span>")
to_chat(user, span_notice("\The [paddles] snap back into the main unit."))
else
paddles.forceMove(src)
@@ -258,13 +258,13 @@
if(busy)
return 0
if(!check_charge(chargecost))
to_chat(user, "<span class='warning'>\The [src] doesn't have enough charge left to do that.</span>")
to_chat(user, span_warning("\The [src] doesn't have enough charge left to do that."))
return 0
if(!wielded && !isrobot(user))
to_chat(user, "<span class='warning'>You need to wield the paddles with both hands before you can use them on someone!</span>")
to_chat(user, span_warning("You need to wield the paddles with both hands before you can use them on someone!"))
return 0
if(cooldown)
to_chat(user, "<span class='warning'>\The [src] are re-energizing!</span>")
to_chat(user, span_warning("\The [src] are re-energizing!"))
return 0
return 1
@@ -394,10 +394,10 @@
ghost.notify_revive("Someone is trying to resuscitate you. Re-enter your body if you want to be revived!", 'sound/effects/genetics.ogg', source = src)
//beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
user.visible_message("<span class='warning'>\The [user] begins to place [src] on [H]'s chest.</span>", "<span class='warning'>You begin to place [src] on [H]'s chest...</span>")
user.visible_message(span_warning("\The [user] begins to place [src] on [H]'s chest."), span_warning("You begin to place [src] on [H]'s chest..."))
if(!do_after(user, 30, H))
return
user.visible_message("<b>\The [user]</b> places [src] on [H]'s chest.", "<span class='warning'>You place [src] on [H]'s chest.</span>")
user.visible_message("<b>\The [user]</b> places [src] on [H]'s chest.", span_warning("You place [src] on [H]'s chest."))
playsound(src, 'sound/machines/defib_charge.ogg', 50, 0)
var/error = can_defib(H)
@@ -419,7 +419,7 @@
playsound(src, 'sound/machines/defib_failed.ogg', 50, 0)
return
H.visible_message("<span class='warning'>\The [H]'s body convulses a bit.</span>")
H.visible_message(span_warning("\The [H]'s body convulses a bit."))
playsound(src, "bodyfall", 50, 1)
playsound(src, 'sound/machines/defib_zap.ogg', 50, 1, -1)
set_cooldown(cooldowntime)
@@ -451,19 +451,19 @@
/obj/item/shockpaddles/proc/do_electrocute(mob/living/carbon/human/H, mob/user, var/target_zone)
var/obj/item/organ/external/affecting = H.get_organ(target_zone)
if(!affecting)
to_chat(user, "<span class='warning'>They are missing that body part!</span>")
to_chat(user, span_warning("They are missing that body part!"))
return
//no need to spend time carefully placing the paddles, we're just trying to shock them
user.visible_message("<span class='danger'>\The [user] slaps [src] onto [H]'s [affecting.name].</span>", "<span class='danger'>You overcharge [src] and slap them onto [H]'s [affecting.name].</span>")
user.visible_message(span_danger("\The [user] slaps [src] onto [H]'s [affecting.name]."), span_danger("You overcharge [src] and slap them onto [H]'s [affecting.name]."))
//Just stop at awkwardly slapping electrodes on people if the safety is enabled
if(safety)
to_chat(user, "<span class='warning'>You can't do that while the safety is enabled.</span>")
to_chat(user, span_warning("You can't do that while the safety is enabled."))
return
playsound(src, 'sound/machines/defib_charge.ogg', 50, 0)
audible_message("<span class='warning'>\The [src] lets out a steadily rising hum...</span>", runemessage = "whines")
audible_message(span_warning("\The [src] lets out a steadily rising hum..."), runemessage = "whines")
if(!do_after(user, chargetime, H))
return
@@ -474,7 +474,7 @@
playsound(src, 'sound/machines/defib_failed.ogg', 50, 0)
return
user.visible_message("<span class='danger'><i>\The [user] shocks [H] with \the [src]!</i></span>", "<span class='warning'>You shock [H] with \the [src]!</span>")
user.visible_message(span_danger("<i>\The [user] shocks [H] with \the [src]!</i>"), span_warning("You shock [H] with \the [src]!"))
playsound(src, 'sound/machines/defib_zap.ogg', 100, 1, -1)
playsound(src, 'sound/weapons/Egloves.ogg', 100, 1, -1)
set_cooldown(cooldowntime)
@@ -541,12 +541,12 @@
/obj/item/shockpaddles/emag_act(mob/user)
if(safety)
safety = 0
to_chat(user, "<span class='warning'>You silently disable \the [src]'s safety protocols with the cryptographic sequencer.</span>")
to_chat(user, span_warning("You silently disable \the [src]'s safety protocols with the cryptographic sequencer."))
update_icon()
return 1
else
safety = 1
to_chat(user, "<span class='notice'>You silently enable \the [src]'s safety protocols with the cryptographic sequencer.</span>")
to_chat(user, span_notice("You silently enable \the [src]'s safety protocols with the cryptographic sequencer."))
update_icon()
return 1
@@ -658,7 +658,7 @@
if(2)
new_fail = max(fail_counter, 8)
if(ismob(loc))
to_chat(loc, "<span class='warning'>\The [src] feel pleasantly warm.</span>")
to_chat(loc, span_warning("\The [src] feel pleasantly warm."))
if(new_fail && !fail_counter)
START_PROCESSING(SSobj, src)

View File

@@ -44,7 +44,7 @@
if(!ghostjoin)
return ..()
if(jobban_isbanned(user, JOB_GHOSTROLES))
to_chat(user, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
to_chat(user, span_warning("You cannot inhabit this creature because you are banned from playing ghost roles."))
return
if(!evaluate_ghost_join(user))
return ..()
@@ -77,11 +77,11 @@
ghostjoin = FALSE
ghostjoin_icon()
if(capture_caught)
to_chat(src, "<span class='notice'>You are bound to [revivedby], follow their commands within reason and to the best of your abilities, and avoid betraying or abandoning them.</span><span class= warning> You are allied with [revivedby]. Do not attack anyone for no reason. Of course, you may do scenes as you like, but you must still respect preferences.</span>")
to_chat(src, span_notice("You are bound to [revivedby], follow their commands within reason and to the best of your abilities, and avoid betraying or abandoning them.</span><span class= warning> You are allied with [revivedby]. Do not attack anyone for no reason. Of course, you may do scenes as you like, but you must still respect preferences."))
visible_message("[src]'s eyes flicker with a curious intelligence.", runemessage = "looks around")
return
if(revivedby != "no one")
to_chat(src, "<span class='notice'>Where once your life had been rough and scary, you have been assisted by [revivedby]. They seem to be the reason you are on your feet again... so perhaps you should help them out.</span> <span class= warning> Being as you were revived, you are allied with the station. Do not attack anyone unless they are threatening the one who revived you. And try to listen to the one who revived you within reason. Of course, you may do scenes as you like, but you must still respect preferences.</span>")
to_chat(src, span_notice("Where once your life had been rough and scary, you have been assisted by [revivedby]. They seem to be the reason you are on your feet again... so perhaps you should help them out.</span> <span class= warning> Being as you were revived, you are allied with the station. Do not attack anyone unless they are threatening the one who revived you. And try to listen to the one who revived you within reason. Of course, you may do scenes as you like, but you must still respect preferences."))
visible_message("[src]'s eyes flicker with a curious intelligence.", runemessage = "looks around")
/// Evaluate someone for being allowed to join as this mob from being a ghost
@@ -92,15 +92,15 @@
// At this point we can at least send them messages as to why they can't join, since they are a mob with a client
if(!ghostjoin)
to_chat(D, "<span class='notice'>Sorry, [src] is no longer ghost-joinable.</span>")
to_chat(D, span_notice("Sorry, [src] is no longer ghost-joinable."))
return FALSE
if(ckey)
to_chat(D, "<span class='notice'>Sorry, someone else has already inhabited [src].</span>")
to_chat(D, span_notice("Sorry, someone else has already inhabited [src]."))
return FALSE
if(capture_caught && !D.client.prefs.capture_crystal)
to_chat(D, "<span class='notice'>Sorry, [src] is participating in capture mechanics, and your preferences do not allow for that.</span>")
to_chat(D, span_notice("Sorry, [src] is participating in capture mechanics, and your preferences do not allow for that."))
return FALSE
// Insert whatever ban checks you want here if we ever add simplemob bans
@@ -124,9 +124,9 @@
var/cooldowntime = round((cooldown - (world.time - last_used)) * 0.1)
if(Adjacent(user))
if(cooldowntime <= 0)
. += "<span class='notice'>The screen indicates that this device is ready to be used, and that it has enough energy for [charges] uses.</span>"
. += span_notice("The screen indicates that this device is ready to be used, and that it has enough energy for [charges] uses.")
else
. += "<span class='notice'>The screen indicates that this device can be used again in [cooldowntime] seconds, and that it has enough energy for [charges] uses.</span>"
. += span_notice("The screen indicates that this device can be used again in [cooldowntime] seconds, and that it has enough energy for [charges] uses.")
/obj/item/denecrotizer/proc/check_target(mob/living/simple_mob/target, mob/living/user)
if(!target.Adjacent(user))
@@ -135,23 +135,23 @@
user.visible_message("[user] bonks [target] with [src].", runemessage = "bonks [target]")
return FALSE
if(!istype(target))
to_chat(user, "<span class='notice'>[target] seems to be too complicated for [src] to interface with.</span>")
to_chat(user, span_notice("[target] seems to be too complicated for [src] to interface with."))
return FALSE
if(!(world.time - last_used > cooldown))
to_chat(user, "<span class='notice'>[src] doesn't seem to be ready yet.</span>")
to_chat(user, span_notice("[src] doesn't seem to be ready yet."))
return FALSE
if(!charges)
to_chat(user, "<span class='notice'>[src] doesn't seem to be active anymore.</span>")
to_chat(user, span_notice("[src] doesn't seem to be active anymore."))
return FALSE
if(!target.ic_revivable)
to_chat(user, "<span class='notice'>[src] doesn't seem to interface with [target].</span>")
to_chat(user, span_notice("[src] doesn't seem to interface with [target]."))
return FALSE
if(target.stat != DEAD)
if(!advanced)
to_chat(user, "<span class='notice'>[src] doesn't seem to work on that.</span>")
to_chat(user, span_notice("[src] doesn't seem to work on that."))
return FALSE
if(target.ai_holder.retaliate || target.ai_holder.hostile) // You can be friends with still living mobs if they are passive I GUESS
to_chat(user, "<span class='notice'>[src] doesn't seem to work on that.</span>")
to_chat(user, span_notice("[src] doesn't seem to work on that."))
return FALSE
if(!target.mind)
user.visible_message("[user] gently presses [src] to [target]...", runemessage = "presses [src] to [target]")
@@ -170,7 +170,7 @@
update_icon()
return FALSE
else
to_chat(user, "<span class='notice'>[src] doesn't seem to work on that.</span>")
to_chat(user, span_notice("[src] doesn't seem to work on that."))
return FALSE
return TRUE

View File

@@ -17,17 +17,17 @@
var/T = user.loc
if(!beacon_active)
if(!isturf(T))
to_chat(user,"<span class='warning'>You cannot activate the beacon when you are not on a turf!</span>")
to_chat(user,span_warning("You cannot activate the beacon when you are not on a turf!"))
return
else if(isnonsolidturf(T))
to_chat(user,"<span class='warning'>You cannot activate the beacon when you are not on sufficiently solid ground!</span>")
to_chat(user,span_warning("You cannot activate the beacon when you are not on sufficiently solid ground!"))
return
else
var/answer = tgui_alert(user, "Would you like to activate this personal emergency beacon?","\The [src]", list("Yes", "No"))
if(answer != "Yes")
return
else if(do_after(user, (3 SECONDS))) //short delay, so they can still abort if they want to
user.visible_message("<span class='warning'>[user] activates \the [src]!</span>","<span class='warning'>You activate \the [src], spiking it into the ground!</span>")
user.visible_message(span_warning("[user] activates \the [src]!"),span_warning("You activate \the [src], spiking it into the ground!"))
beacon_active = TRUE
icon_state = "e_beacon_active"
user.drop_item()
@@ -48,7 +48,7 @@
/obj/item/emergency_beacon/attack_hand(mob/user)
if(beacon_active)
to_chat(user,"<span class='warning'>The beacon is already active and cannot be moved!</span>")
to_chat(user,span_warning("The beacon is already active and cannot be moved!"))
return
. = ..()

View File

@@ -40,13 +40,13 @@
/obj/item/flash/attackby(var/obj/item/W, var/mob/user)
if(W.has_tool_quality(TOOL_SCREWDRIVER) && broken)
if(repairing)
to_chat(user, "<span class='notice'>\The [src] is already being repaired!</span>")
to_chat(user, span_notice("\The [src] is already being repaired!"))
return
user.visible_message("<b>\The [user]</b> starts trying to repair \the [src]'s bulb.")
repairing = TRUE
if(do_after(user, (40 SECONDS + rand(0, 20 SECONDS)) * W.toolspeed) && can_repair)
if(prob(30))
user.visible_message("<span class='notice'>\The [user] successfully repairs \the [src]!</span>")
user.visible_message(span_notice("\The [user] successfully repairs \the [src]!"))
broken = FALSE
update_icon()
playsound(src, W.usesound, 50, 1)
@@ -87,7 +87,7 @@
/obj/item/flash/proc/clown_check(var/mob/user)
if(user && (CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>\The [src] slips out of your hand.</span>")
to_chat(user, span_warning("\The [src] slips out of your hand."))
user.drop_item()
return 0
return 1
@@ -128,7 +128,7 @@
if(prob( max(0, times_used - safe_flashes) * 2 + (times_used >= safe_flashes)) && can_break) //if you use it 10 times in a minute it has a 30% chance to break.
broken = TRUE
if(user)
to_chat(user, "<span class='warning'>The bulb has burnt out!</span>")
to_chat(user, span_warning("The bulb has burnt out!"))
update_icon()
return FALSE
else
@@ -138,7 +138,7 @@
else if(!charge_only) //can only use it 10 times a minute, unless it runs purely on charge.
if(user)
update_icon()
to_chat(user, "<span class='warning'><i>click</i></span>")
to_chat(user, span_warning("<i>click</i>"))
playsound(src, 'sound/weapons/empty.ogg', 80, 1)
return FALSE
else if(battery && battery.checked_use(charge_cost + (round(charge_cost / 4) * max(0, times_used - max_flashes)))) // Using over your maximum flashes starts taking more charge per added flash.
@@ -157,7 +157,7 @@
if(!clown_check(user)) return
if(broken)
to_chat(user, "<span class='warning'>\The [src] is broken.</span>")
to_chat(user, span_warning("\The [src] is broken."))
return
flash_recharge()
@@ -226,14 +226,14 @@
flick("flash2", src)
if(!issilicon(M))
user.visible_message("<span class='disarm'>[user] blinds [M] with the flash!</span>")
user.visible_message(span_disarm("[user] blinds [M] with the flash!"))
else
user.visible_message("<span class='notice'>[user] overloads [M]'s sensors with the flash!</span>")
user.visible_message(span_notice("[user] overloads [M]'s sensors with the flash!"))
M.Weaken(rand(5,10))
else
user.visible_message("<span class='notice'>[user] fails to blind [M] with the flash!</span>")
user.visible_message(span_notice("[user] fails to blind [M] with the flash!"))
return
@@ -246,7 +246,7 @@
user.setClickCooldown(user.get_attack_speed(src))
if(broken)
user.show_message("<span class='warning'>The [src.name] is broken</span>", 2)
user.show_message(span_warning("The [src.name] is broken"), 2)
return
flash_recharge()
@@ -289,7 +289,7 @@
//C.Weaken(10)
C.flash_eyes()
for(var/mob/M in viewers(C, null))
M.show_message("<span class='disarm'>[C] is blinded by the flash!</span>")
M.show_message(span_disarm("[C] is blinded by the flash!"))
..()
/obj/item/flash/synthetic
@@ -305,14 +305,14 @@
..()
if(!broken)
broken = 1
to_chat(user, "<span class='warning'>The bulb has burnt out!</span>")
to_chat(user, span_warning("The bulb has burnt out!"))
update_icon()
/obj/item/flash/synthetic/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
..()
if(!broken)
broken = 1
to_chat(user, "<span class='warning'>The bulb has burnt out!</span>")
to_chat(user, span_warning("The bulb has burnt out!"))
update_icon()
/obj/item/flash/robot

View File

@@ -56,7 +56,7 @@
if(power_usage)
if(cell.use(power_usage) != power_usage) // we weren't able to use our full power_usage amount!
visible_message("<span class='warning'>\The [src] flickers before going dull.</span>")
visible_message(span_warning("\The [src] flickers before going dull."))
playsound(src, 'sound/effects/sparks3.ogg', 10, 1, -3) //Small cue that your light went dull in your pocket. //VOREStation Edit
on = 0
update_brightness()
@@ -119,7 +119,7 @@
if(istype(H))
for(var/obj/item/clothing/C in list(H.head,H.wear_mask,H.glasses))
if(istype(C) && (C.body_parts_covered & EYES))
to_chat(user, "<span class='warning'>You're going to need to remove [C.name] first.</span>")
to_chat(user, span_warning("You're going to need to remove [C.name] first."))
return
var/obj/item/organ/vision
@@ -127,34 +127,34 @@
vision = H.internal_organs_by_name[H.species.vision_organ]
if(!vision)
user.visible_message("<b>\The [user]</b> directs [src] at [M]'s face.", \
"<span class='notice'>You direct [src] at [M]'s face.</span>")
to_chat(user, "<span class='warning'>You can't find any [H.species.vision_organ ? H.species.vision_organ : "eyes"] on [H]!</span>")
span_notice("You direct [src] at [M]'s face."))
to_chat(user, span_warning("You can't find any [H.species.vision_organ ? H.species.vision_organ : "eyes"] on [H]!"))
user.setClickCooldown(user.get_attack_speed(src))
return
user.visible_message("<b>\The [user]</b> directs [src] to [M]'s eyes.", \
"<span class='notice'>You direct [src] to [M]'s eyes.</span>")
span_notice("You direct [src] to [M]'s eyes."))
if(H != user) //can't look into your own eyes buster
if(M.stat == DEAD || M.blinded) //mob is dead or fully blind
to_chat(user, "<span class='warning'>\The [M]'s pupils do not react to the light!</span>")
to_chat(user, span_warning("\The [M]'s pupils do not react to the light!"))
return
if(XRAY in M.mutations)
to_chat(user, "<span class='notice'>\The [M] pupils give an eerie glow!</span>")
to_chat(user, span_notice("\The [M] pupils give an eerie glow!"))
if(vision.is_bruised())
to_chat(user, "<span class='warning'>There's visible damage to [M]'s [vision.name]!</span>")
to_chat(user, span_warning("There's visible damage to [M]'s [vision.name]!"))
else if(M.eye_blurry)
to_chat(user, "<span class='notice'>\The [M]'s pupils react slower than normally.</span>")
to_chat(user, span_notice("\The [M]'s pupils react slower than normally."))
if(M.getBrainLoss() > 15)
to_chat(user, "<span class='notice'>There's visible lag between left and right pupils' reactions.</span>")
to_chat(user, span_notice("There's visible lag between left and right pupils' reactions."))
var/list/pinpoint = list("oxycodone"=1,"tramadol"=5)
var/list/dilating = list("bliss"=5,"ambrosia_extract"=5,"mindbreaker"=1)
if(M.reagents.has_any_reagent(pinpoint) || H.ingested.has_any_reagent(pinpoint))
to_chat(user, "<span class='notice'>\The [M]'s pupils are already pinpoint and cannot narrow any more.</span>")
to_chat(user, span_notice("\The [M]'s pupils are already pinpoint and cannot narrow any more."))
else if(M.reagents.has_any_reagent(dilating) || H.ingested.has_any_reagent(dilating))
to_chat(user, "<span class='notice'>\The [M]'s pupils narrow slightly, but are still very dilated.</span>")
to_chat(user, span_notice("\The [M]'s pupils narrow slightly, but are still very dilated."))
else
to_chat(user, "<span class='notice'>\The [M]'s pupils narrow.</span>")
to_chat(user, span_notice("\The [M]'s pupils narrow."))
user.setClickCooldown(user.get_attack_speed(src)) //can be used offensively
M.flash_eyes()
@@ -167,7 +167,7 @@
cell.update_icon()
user.put_in_hands(cell)
cell = null
to_chat(user, "<span class='notice'>You remove the cell from the [src].</span>")
to_chat(user, span_notice("You remove the cell from the [src]."))
playsound(src, 'sound/machines/button.ogg', 30, 1, 0)
on = 0
update_brightness()
@@ -216,13 +216,13 @@
user.drop_item()
W.loc = src
cell = W
to_chat(user, "<span class='notice'>You install a cell in \the [src].</span>")
to_chat(user, span_notice("You install a cell in \the [src]."))
playsound(src, 'sound/machines/button.ogg', 30, 1, 0)
update_brightness()
else
to_chat(user, "<span class='notice'>\The [src] already has a cell.</span>")
to_chat(user, span_notice("\The [src] already has a cell."))
else
to_chat(user, "<span class='notice'>\The [src] cannot use that type of cell.</span>")
to_chat(user, span_notice("\The [src] cannot use that type of cell."))
else
..()
@@ -390,7 +390,7 @@
// Usual checks
if(!fuel)
to_chat(user, "<span class='notice'>It's out of fuel.</span>")
to_chat(user, span_notice("It's out of fuel."))
return
if(on)
return
@@ -398,7 +398,7 @@
. = ..()
// All good, turn it on.
if(.)
user.visible_message("<span class='notice'>[user] activates the flare.</span>", "<span class='notice'>You pull the cord on the flare, activating it!</span>")
user.visible_message(span_notice("[user] activates the flare."), span_notice("You pull the cord on the flare, activating it!"))
src.force = on_damage
src.damtype = "fire"
START_PROCESSING(SSobj, src)
@@ -447,14 +447,14 @@
/obj/item/flashlight/glowstick/attack_self(mob/user)
if(!fuel)
to_chat(user, "<span class='notice'>The glowstick has already been turned on.</span>")
to_chat(user, span_notice("The glowstick has already been turned on."))
return
if(on)
return
. = ..()
if(.)
user.visible_message("<span class='notice'>[user] cracks and shakes \the [name].</span>", "<span class='notice'>You crack and shake \the [src], turning it on!</span>")
user.visible_message(span_notice("[user] cracks and shakes \the [name]."), span_notice("You crack and shake \the [src], turning it on!"))
START_PROCESSING(SSobj, src)
/obj/item/flashlight/glowstick/red

View File

@@ -49,11 +49,11 @@
var/turf/simulated/floor/F = A
if(!istype(F))
to_chat(user, "<span class='warning'>\The [src] can only be used on station flooring.</span>")
to_chat(user, span_warning("\The [src] can only be used on station flooring."))
return
if(!F.flooring || !F.flooring.can_paint || F.broken || F.burnt)
to_chat(user, "<span class='warning'>\The [src] cannot paint broken or missing tiles.</span>")
to_chat(user, span_warning("\The [src] cannot paint broken or missing tiles."))
return
var/list/decal_data = decals[decal]
@@ -67,11 +67,11 @@
config_error = 1
if(config_error)
to_chat(user, "<span class='warning'>\The [src] flashes an error light. You might need to reconfigure it.</span>")
to_chat(user, span_warning("\The [src] flashes an error light. You might need to reconfigure it."))
return
if(F.decals && F.decals.len > 5 && painting_decal != /obj/effect/floor_decal/reset)
to_chat(user, "<span class='warning'>\The [F] has been painted too much; you need to clear it off.</span>")
to_chat(user, span_warning("\The [F] has been painted too much; you need to clear it off."))
return
var/painting_dir = 0
@@ -130,7 +130,7 @@
var/new_colour = input(usr, "Choose a colour.", name, paint_colour) as color|null
if(new_colour && new_colour != paint_colour)
paint_colour = new_colour
to_chat(usr, "<span class='notice'>You set \the [src] to paint with <font color='[paint_colour]'>a new colour</font>.</span>")
to_chat(usr, span_notice("You set \the [src] to paint with <font color='[paint_colour]'>a new colour</font>."))
/obj/item/floor_painter/verb/choose_decal()
set name = "Choose Decal"
@@ -144,7 +144,7 @@
var/new_decal = tgui_input_list(usr, "Select a decal:", "Decal Choice", decals)
if(new_decal && !isnull(decals[new_decal]))
decal = new_decal
to_chat(usr, "<span class='notice'>You set \the [src] decal to '[decal]'.</span>")
to_chat(usr, span_notice("You set \the [src] decal to '[decal]'."))
/obj/item/floor_painter/verb/choose_direction()
set name = "Choose Direction"
@@ -158,4 +158,4 @@
var/new_dir = tgui_input_list(usr, "Select a direction:", "Direction Choice", paint_dirs)
if(new_dir && !isnull(paint_dirs[new_dir]))
paint_dir = new_dir
to_chat(usr, "<span class='notice'>You set \the [src] direction to '[paint_dir]'.</span>")
to_chat(usr, span_notice("You set \the [src] direction to '[paint_dir]'."))

View File

@@ -35,7 +35,7 @@
/obj/item/geiger/examine(mob/user)
. = ..()
get_radiation()
. += "<span class='warning'>[scanning ? "Ambient" : "Stored"] radiation level: [radiation_count ? radiation_count : "0"]Bq.</span>"
. += span_warning("[scanning ? "Ambient" : "Stored"] radiation level: [radiation_count ? radiation_count : "0"]Bq.")
/obj/item/geiger/rad_act(amount)
if(!amount || !scanning)
@@ -66,7 +66,7 @@
STOP_PROCESSING(SSobj, src)
update_icon()
update_sound()
to_chat(user, "<span class='notice'>[icon2html(src, user.client)] You switch [scanning ? "on" : "off"] \the [src].</span>")
to_chat(user, span_notice("[icon2html(src, user.client)] You switch [scanning ? "on" : "off"] \the [src]."))
/obj/item/geiger/update_icon()
if(!scanning)
@@ -121,7 +121,7 @@
scanning = !scanning
update_icon()
update_sound()
to_chat(user, "<span class='notice'>[icon2html(src, user.client)] You switch [scanning ? "on" : "off"] \the [src].</span>")
to_chat(user, span_notice("[icon2html(src, user.client)] You switch [scanning ? "on" : "off"] \the [src]."))
/obj/item/geiger/wall/update_icon()
if(!scanning)

View File

@@ -52,23 +52,23 @@
if(istype(A, /obj/machinery/door/airlock))
var/obj/machinery/door/airlock/D = A
if(!D.arePowerSystemsOn())
to_chat(user, "<span class='warning'>No response from remote, check door power.</span>")
to_chat(user, span_warning("No response from remote, check door power."))
else if(D.locked == TRUE && full_override == FALSE)
to_chat(user, "<span class='warning'>Unable to override door bolts!</span>")
to_chat(user, span_warning("Unable to override door bolts!"))
else if(D.locked == TRUE && full_override == TRUE && D.arePowerSystemsOn())
to_chat(user, "<span class='notice'>Door bolts overridden.</span>")
to_chat(user, span_notice("Door bolts overridden."))
D.unlock()
else if(D.density == TRUE && D.locked == FALSE)
to_chat(user, "<span class='notice'>Overriding access. Door opening.</span>")
to_chat(user, span_notice("Overriding access. Door opening."))
D.open()
else if(D.density == FALSE && D.locked == FALSE)
to_chat(user, "<span class='notice'>Overriding access. Door closing.</span>")
to_chat(user, span_notice("Overriding access. Door closing."))
D.close()
return 1
/obj/item/multitool/hacktool/proc/attempt_hack(var/mob/user, var/atom/target)
if(is_hacking)
to_chat(user, "<span class='warning'>You are already hacking!</span>")
to_chat(user, span_warning("You are already hacking!"))
return 0
if(!is_type_in_list(target, supported_types))
to_chat(user, "[icon2html(src, user.client)] <span class='warning'>Unable to hack this target, invalid target type.</span>")
@@ -77,9 +77,9 @@
if(istype(target, /obj/structure/closet/crate/secure))
var/obj/structure/closet/crate/secure/A = target
if(A.locked)
to_chat(user, "<span class='notice'>Overriding access. Stand by.</span>")
to_chat(user, span_notice("Overriding access. Stand by."))
if(do_after(user, (((5 SECONDS + rand(0, 5 SECONDS) + rand(0, 5 SECONDS))*hackspeed))))
to_chat(user, "<span class='notice'>Override successful!</span>")
to_chat(user, span_notice("Override successful!"))
A.locked = FALSE
A.update_icon()
playsound(A, 'sound/machines/click.ogg', 15, 1, -3)
@@ -89,9 +89,9 @@
if(istype(target, /obj/structure/closet/secure_closet))
var/obj/structure/closet/secure_closet/A = target
if(A.locked)
to_chat(user, "<span class='notice'>Overriding access. Stand by.</span>")
to_chat(user, span_notice("Overriding access. Stand by."))
if(do_after(user, (((5 SECONDS + rand(0, 5 SECONDS) + rand(0, 5 SECONDS))*hackspeed))))
to_chat(user, "<span class='notice'>Override successful!</span>")
to_chat(user, span_notice("Override successful!"))
A.locked = FALSE
A.update_icon()
playsound(A, 'sound/machines/click.ogg', 15, 1, -3)
@@ -108,7 +108,7 @@
if(found)
known_targets.Swap(1, found) // Move the last hacked item first
return 1
to_chat(user, "<span class='notice'>You begin hacking \the [D]...</span>")
to_chat(user, span_notice("You begin hacking \the [D]..."))
is_hacking = 1
// On average hackin takes ~15 seconds. Fairly small random span to discourage people from simply aborting and trying again
// Reduced hack duration to compensate for the reduced functionality, multiplied by door sec level
@@ -116,10 +116,10 @@
is_hacking = 0
if(hack_result && in_hack_mode)
to_chat(user, "<span class='notice'>Your hacking attempt was succesful!</span>")
to_chat(user, span_notice("Your hacking attempt was succesful!"))
user.playsound_local(get_turf(src), 'sound/instruments/piano/An6.ogg', 50)
else
to_chat(user, "<span class='warning'>Your hacking attempt failed!</span>")
to_chat(user, span_warning("Your hacking attempt failed!"))
return 0
known_targets.Insert(1, D) // Insert the newly hacked target first,

View File

@@ -18,7 +18,7 @@
if(in_range(user, src) || istype(user, /mob/observer/dead))
show_content(user) //Opens a browse window, not chatbox related
else
. += "<span class='notice'>You have to go closer if you want to read it.</span>"
. += span_notice("You have to go closer if you want to read it.")
//hit yourself with it
/obj/item/holowarrant/attack_self(mob/living/user as mob)
@@ -28,7 +28,7 @@
for(var/datum/data/record/warrant/W in data_core.warrants)
warrants += W.fields["namewarrant"]
if(warrants.len == 0)
to_chat(user,"<span class='notice'>There are no warrants available</span>")
to_chat(user,span_notice("There are no warrants available"))
return
var/temp
temp = tgui_input_list(user, "Which warrant would you like to load?", "Warrant Selection", warrants)
@@ -44,17 +44,17 @@
var/choice = tgui_alert(user, "Would you like to authorize this warrant?","Warrant authorization",list("Yes","No"))
if(choice == "Yes")
active.fields["auth"] = "[I.registered_name] - [I.assignment ? I.assignment : "(Unknown)"]"
user.visible_message("<span class='notice'>You swipe \the [I] through the [src].</span>", \
"<span class='notice'>[user] swipes \the [I] through the [src].</span>")
user.visible_message(span_notice("You swipe \the [I] through the [src]."), \
span_notice("[user] swipes \the [I] through the [src]."))
return 1
to_chat(user, "<span class='warning'>You don't have the access to do this!</span>") // VOREStation edit
to_chat(user, span_warning("You don't have the access to do this!")) // VOREStation edit
return 1
..()
//hit other people with it
/obj/item/holowarrant/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
user.visible_message("<span class='notice'>You show the warrant to [M].</span>", \
"<span class='notice'>[user] holds up a warrant projector and shows the contents to [M].</span>")
user.visible_message(span_notice("You show the warrant to [M]."), \
span_notice("[user] holds up a warrant projector and shows the contents to [M]."))
M.examinate(src)
/obj/item/holowarrant/update_icon()

View File

@@ -50,13 +50,13 @@
user.drop_item()
W.loc = src
diode = W
to_chat(user, "<span class='notice'>You install a [diode.name] in [src].</span>")
to_chat(user, span_notice("You install a [diode.name] in [src]."))
else
to_chat(user, "<span class='notice'>[src] already has a diode.</span>")
to_chat(user, span_notice("[src] already has a diode."))
else if(W.has_tool_quality(TOOL_SCREWDRIVER))
if(diode)
to_chat(user, "<span class='notice'>You remove the [diode.name] from the [src].</span>")
to_chat(user, span_notice("You remove the [diode.name] from the [src]."))
diode.loc = get_turf(src.loc)
diode = null
return
@@ -76,17 +76,17 @@
if(!(world.time - last_used_time >= cooldown))
return
if (!diode)
to_chat(user, "<span class='notice'>You point [src] at [target], but nothing happens!</span>")
to_chat(user, span_notice("You point [src] at [target], but nothing happens!"))
return
if (!user.IsAdvancedToolUser())
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
to_chat(user, span_warning("You don't have the dexterity to do this!"))
return
add_fingerprint(user)
//nothing happens if the battery is drained
if(recharge_locked)
to_chat(user, "<span class='notice'>You point [src] at [target], but it's still charging.</span>")
to_chat(user, span_notice("You point [src] at [target], but it's still charging."))
return
var/outmsg
@@ -110,38 +110,38 @@
var/mob/living/carbon/human/H = C
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES]
if(!E)
outmsg = "<span class='notice'>You shine [src] at [C], but they don't seem to have eyes.</span>"
outmsg = span_notice("You shine [src] at [C], but they don't seem to have eyes.")
return
outmsg = "<span class='notice'>You shine [src] into [C]'s eyes.</span>"
outmsg = span_notice("You shine [src] into [C]'s eyes.")
switch(severity)
if(0)
//rank 1 diode with basic eye protection (like sunglasses), or rank 2 with industrial protection (like welding goggles)
to_chat(C, "<span class='info'>A small, bright dot appears in your vision.</span>")
to_chat(C, span_info("A small, bright dot appears in your vision."))
if(1)
//rank 1 with no protection, rank 2 with basic protection, or rank 3 with industrial protection
to_chat(C, "<span class='notice'>Something bright flashes in the corner of your vision.</span>")
to_chat(C, span_notice("Something bright flashes in the corner of your vision."))
if(2)
//rank 1 or 2 with no protection, rank 2 or 3 with basic protection, or rank 3 with industrial protection
//alternatively, rank 1 with minor vulnerability (like night vision goggles)
flick("flash", C.flash_eyes())
to_chat(C, "<span class='danger'>A bright light shines across your eyes!</span>")
to_chat(C, span_danger("A bright light shines across your eyes!"))
if(3)
//rank 1 with minor vulnerability, rank 2 or 3 with no protection, or rank 3 with basic protection
if(prob(3 * diode.rating))
C.Weaken(1)
flick("flash", C.flash_eyes())
E.damage += 1
to_chat(C, "<span class='danger'>A bright light briefly blinds you!</span>")
to_chat(C, span_danger("A bright light briefly blinds you!"))
if(4)
//rank 3 with no protection, or rank 2 with minor vulnerability
if(prob(5 * diode.rating))
C.Weaken(1)
flick("e_flash", C.flash_eyes())
E.damage += 2
to_chat(C, "<span class='danger'>A blinding light burns your eyes!</span>")
to_chat(C, span_danger("A blinding light burns your eyes!"))
else
outmsg = "<span class='notice'>You shine the [src] at [C], but miss their eyes.</span>"
outmsg = span_notice("You shine the [src] at [C], but miss their eyes.")
//robots and AI
else if(issilicon(target))
@@ -151,34 +151,34 @@
flick("flash", S.flash_eyes(affect_silicon = TRUE))
if (prob(3 * diode.rating))
S.Weaken(1)
to_chat(S, "<span class='warning'>Your sensors were blinded by a laser!</span>")
outmsg = "<span class='notice'>You blind [S] by shining [src] at their sensors.</span>"
to_chat(S, span_warning("Your sensors were blinded by a laser!"))
outmsg = span_notice("You blind [S] by shining [src] at their sensors.")
add_attack_logs(user,S,"Tried disabling using [src]")
else
outmsg = "<span class='notice'>You shine the [src] at [S], but miss their sensors.</span>"
outmsg = span_notice("You shine the [src] at [S], but miss their sensors.")
//cameras
else if(istype(target, /obj/machinery/camera))
var/obj/machinery/camera/C = target
if(prob(effectchance * diode.rating))
C.emp_act(4 - diode.rating)
outmsg = "<span class='notice'>You shine the [src] into the lens of [C].</span>"
outmsg = span_notice("You shine the [src] into the lens of [C].")
add_attack_logs(user,C.name,"Tried disabling using [src]")
else
outmsg = "<span class='info'>You missed the lens of [C] with [src].</span>"
outmsg = span_info("You missed the lens of [C] with [src].")
//cats!
for(var/mob/living/simple_mob/animal/passive/cat/C in viewers(1,targloc))
if (!(C.stat || C.buckled))
if(prob(50) && !(C.client))
C.visible_message("<span class='warning'>[C] pounces on the light!</span>", "<span class='warning'>You pounce on the light!</span>")
C.visible_message(span_warning("[C] pounces on the light!"), span_warning("You pounce on the light!"))
step_towards(C, targloc)
C.lay_down()
spawn(10)
C.lay_down()
else
C.set_dir(get_dir(C,targloc))
C.visible_message("<span class='notice'>[C] watches the light.</span>", "<span class='notice'>Your attention is drawn to the mysterious glowing dot.</span>")
C.visible_message(span_notice("[C] watches the light."), span_notice("Your attention is drawn to the mysterious glowing dot."))
//laser pointer image
@@ -193,9 +193,9 @@
I.pixel_y = target.pixel_y + rand(-5,5)
if(outmsg)
user.visible_message("<span class='info'>[user] points [src] at [target].</span>", outmsg)
user.visible_message(span_info("[user] points [src] at [target]."), outmsg)
else
user.visible_message("<span class='info'>[user] points [src] at [target].</span>", "<span class='info'>You point [src] at [target].</span>")
user.visible_message(span_info("[user] points [src] at [target]."), span_info("You point [src] at [target]."))
last_used_time = world.time
energy -= 1
@@ -204,7 +204,7 @@
recharging = 1
START_PROCESSING(SSobj, src)
if(energy <= 0)
to_chat(user, "<span class='warning'>You've overused the battery of [src], now it needs time to recharge!</span>")
to_chat(user, span_warning("You've overused the battery of [src], now it needs time to recharge!"))
recharge_locked = 1
flick_overlay(I, showto, cooldown)
@@ -218,4 +218,4 @@
energy = max_energy
recharging = 0
recharge_locked = 0
..()
..()

View File

@@ -67,14 +67,14 @@
if(istype(W, /obj/item/stack/material) && W.get_material_name() == "glass" || istype(W, /obj/item/stack/material/cyborg/glass))
var/obj/item/stack/G = W
if(uses >= max_uses)
to_chat(user, "<span class='warning'>[src.name] is full.</span>")
to_chat(user, span_warning("[src.name] is full."))
return
else if(G.use(1))
add_uses(16) //Autolathe converts 1 sheet into 16 lights.
to_chat(user, "<span class='notice'>You insert a piece of glass into \the [src.name]. You have [uses] light\s remaining.</span>")
to_chat(user, span_notice("You insert a piece of glass into \the [src.name]. You have [uses] light\s remaining."))
return
else
to_chat(user, "<span class='warning'>You need one sheet of glass to replace lights.</span>")
to_chat(user, span_warning("You need one sheet of glass to replace lights."))
if(istype(W, /obj/item/light))
var/new_bulbs = 0
@@ -117,14 +117,14 @@
qdel(L)
if(!found_lightbulbs)
to_chat(user, "<span class='warning'>\The [S] contains no bulbs.</span>")
to_chat(user, span_warning("\The [S] contains no bulbs."))
return
if(!replaced_something && src.uses == max_uses)
to_chat(user, "<span class='warning'>\The [src] is full!</span>")
to_chat(user, span_warning("\The [src] is full!"))
return
to_chat(user, "<span class='notice'>You fill \the [src] with lights from \the [S].</span>")
to_chat(user, span_notice("You fill \the [src] with lights from \the [S]."))
/obj/item/lightreplacer/attack_self(mob/user)
/* // This would probably be a bit OP. If you want it though, uncomment the code.
@@ -175,12 +175,12 @@
if(target.status != LIGHT_OK)
if(CanUse(U))
if(!Use(U)) return
to_chat(U, "<span class='notice'>You replace the [target.get_fitting_name()] with the [src].</span>")
to_chat(U, span_notice("You replace the [target.get_fitting_name()] with the [src]."))
if(target.status != LIGHT_EMPTY)
var/new_bulbs = AddShards(1)
if(new_bulbs != 0)
to_chat(U, "<span class='notice'>\The [src] has fabricated a new bulb from the broken bulbs it has stored. It now has [uses] uses.</span>")
to_chat(U, span_notice("\The [src] has fabricated a new bulb from the broken bulbs it has stored. It now has [uses] uses."))
playsound(src, 'sound/machines/ding.ogg', 50, 1)
target.status = LIGHT_EMPTY
target.installed_light = null //Remove the light!

View File

@@ -81,7 +81,7 @@
if(istype(A,ctype))
non_closet = 1
if(non_closet)
to_chat(user, "<span class='warning'>\The [src] can only be used on closets.</span>")
to_chat(user, span_warning("\The [src] can only be used on closets."))
return
var/config_error
@@ -89,7 +89,7 @@
if(istype(A,/obj/structure/closet/secure_closet))
var/obj/structure/closet/secure_closet/F = A
if(F.broken)
to_chat(user, "<span class='warning'>\The [src] cannot paint broken closets.</span>")
to_chat(user, span_warning("\The [src] cannot paint broken closets."))
return
var/list/colour_data = colours_secure[colour_secure]
@@ -114,7 +114,7 @@
F.update_icon()
if(config_error)
to_chat(user, "<span class='warning'>\The [src] flashes an error light. You might need to reconfigure it.</span>")
to_chat(user, span_warning("\The [src] flashes an error light. You might need to reconfigure it."))
return
/obj/item/closet_painter/attack_self(var/mob/user)
@@ -140,7 +140,7 @@
var/new_colour = tgui_input_list(usr, "Select a color:", "Color Selection", colours)
if(new_colour && !isnull(colours[new_colour]))
colour = new_colour
to_chat(usr, "<span class='notice'>You set \the [src] regular closet colour to '[colour]'.</span>")
to_chat(usr, span_notice("You set \the [src] regular closet colour to '[colour]'."))
/obj/item/closet_painter/verb/choose_colour_secure()
set name = "Choose Secure Colour"
@@ -154,4 +154,4 @@
var/new_colour_secure = tgui_input_list(usr, "Select a color:", "Color Selection", colours_secure)
if(new_colour_secure && !isnull(colours_secure[new_colour_secure]))
colour_secure = new_colour_secure
to_chat(usr, "<span class='notice'>You set \the [src] secure closet colour to '[colour_secure]'.</span>")
to_chat(usr, span_notice("You set \the [src] secure closet colour to '[colour_secure]'."))

View File

@@ -13,15 +13,15 @@
/obj/item/megaphone/proc/can_broadcast(var/mob/living/user)
if(user.client)
if(user.client.prefs.muted & MUTE_IC)
to_chat(user, "<span class='warning'>You cannot speak in IC (muted).</span>")
to_chat(user, span_warning("You cannot speak in IC (muted)."))
return FALSE
if(!(ishuman(user) || user.isSynthetic()))
to_chat(user, "<span class='warning'>You don't know how to use this!</span>")
to_chat(user, span_warning("You don't know how to use this!"))
return FALSE
if(user.silent)
return FALSE
if(spamcheck > world.time)
to_chat(user, "<span class='warning'>[src] needs to recharge!</span>")
to_chat(user, span_warning("[src] needs to recharge!"))
return FALSE
if(loc != user)
return FALSE
@@ -36,7 +36,7 @@
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[insult]\"</FONT>", runemessage = insult)
insults--
else
to_chat(user, "<span class='warning'>*BZZZZzzzzzt*</span>")
to_chat(user, span_warning("*BZZZZzzzzzt*"))
else
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[message]\"</FONT>", runemessage = message)
@@ -54,7 +54,7 @@
/obj/item/megaphone/emag_act(var/remaining_charges, var/mob/user)
if(!emagged)
to_chat(user, "<span class='warning'>You overload [src]'s voice synthesizer.</span>")
to_chat(user, span_warning("You overload [src]'s voice synthesizer."))
emagged = TRUE
insults = rand(1, 3)//to prevent caps spam.
return TRUE
@@ -82,13 +82,13 @@
if(!("comic sans ms" in font_options))
font_options = list("comic sans ms")
broadcast_font = "comic sans ms"
to_chat(user, "<span class='notice'>\The [src] emits a <font face='comic sans ms' color='#ff69b4'>silly</font> sound.</span>")
to_chat(user, span_notice("\The [src] emits a <font face='comic sans ms' color='#ff69b4'>silly</font> sound."))
if(!("#ff69b4" in color_options))
color_options = list("#ff69b4")
broadcast_color = "#ff69b4"
if(insults <= 0)
insults = rand(1,3)
to_chat(user, "<span class='warning'>You re-scramble \the [src]'s voice synthesizer.</span>")
to_chat(user, span_warning("You re-scramble \the [src]'s voice synthesizer."))
return 1
/obj/item/megaphone/super/verb/turn_volume_dial()
@@ -153,12 +153,12 @@
M.make_jittery(50)
insults--
else
user.audible_message("<span class='critical'>*BZZZZzzzzzt*</span>")
user.audible_message(span_critical("*BZZZZzzzzzt*"))
if(prob(40) && insults <= 0)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(2, 1, get_turf(user))
s.start()
user.visible_message("<span class='warning'>\The [src] sparks violently!</span>")
user.visible_message(span_warning("\The [src] sparks violently!"))
spawn(30)
explosion(get_turf(src), -1, -1, 1, 3, adminlog = 1)
qdel(src)

View File

@@ -23,7 +23,7 @@
return //it shouldn't be null, okay?
if(!parts)
to_chat(user, "<span class='warning'>This kit has no parts for this modification left.</span>")
to_chat(user, span_warning("This kit has no parts for this modification left."))
user.drop_from_inventory(src)
qdel(src)
return
@@ -35,22 +35,22 @@
var/obj/item/clothing/I = O
if (!istype(I) || !allowed)
to_chat(user, "<span class='notice'>[src] is unable to modify that.</span>")
to_chat(user, span_notice("[src] is unable to modify that."))
return
var/excluding = ("exclude" in I.species_restricted)
var/in_list = (target_species in I.species_restricted)
if (excluding ^ in_list)
to_chat(user, "<span class='notice'>[I] is already modified.</span>")
to_chat(user, span_notice("[I] is already modified."))
return
if(!isturf(O.loc))
to_chat(user, "<span class='warning'>[O] must be safely placed on the ground for modification.</span>")
to_chat(user, span_warning("[O] must be safely placed on the ground for modification."))
return
playsound(src, O.usesound, 100, 1)
user.visible_message("<b>\The [user]</b> opens \the [src] and modifies \the [O].","<span class='notice'>You open \the [src] and modify \the [O].</span>")
user.visible_message("<b>\The [user]</b> opens \the [src] and modifies \the [O].",span_notice("You open \the [src] and modify \the [O]."))
I.refit_for_species(target_species)

View File

@@ -36,7 +36,7 @@
var/choice = tgui_alert(usr, "What do you want to do with \the [src]?", "Multitool Menu", list("Switch Mode", "Clear Buffers", "Cancel"))
switch(choice)
if("Clear Buffers")
to_chat(user,"<span class='notice'>You clear \the [src]'s memory.</span>")
to_chat(user,span_notice("You clear \the [src]'s memory."))
buffer = null
connecting = null
connectable = null
@@ -47,7 +47,7 @@
if("Switch Mode")
mode_switch(user)
else
to_chat(user,"<span class='notice'>You lower \the [src].</span>")
to_chat(user,span_notice("You lower \the [src]."))
return
update_icon()
@@ -61,7 +61,7 @@
mode_index += 1
toolmode = modes[mode_index]
to_chat(user,"<span class='notice'>\The [src] is now set to [toolmode].</span>")
to_chat(user,span_notice("\The [src] is now set to [toolmode]."))
accepting_refs = (toolmode == MULTITOOL_MODE_INTCIRCUITS)

View File

@@ -60,21 +60,21 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
if(pai != null) //Have a person in them already?
return ..()
if(is_damage_critical())
to_chat(usr, "<span class='warning'>That card is too damaged to activate!</span>")
to_chat(usr, span_warning("That card is too damaged to activate!"))
return
var/time_till_respawn = user.time_till_respawn()
if(time_till_respawn == -1) // Special case, never allowed to respawn
to_chat(usr, "<span class='warning'>Respawning is not allowed!</span>")
to_chat(usr, span_warning("Respawning is not allowed!"))
else if(time_till_respawn) // Nonzero time to respawn
to_chat(usr, "<span class='warning'>You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes.</span>")
to_chat(usr, span_warning("You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes."))
return
if(jobban_isbanned(usr, JOB_PAI))
to_chat(usr,"<span class='warning'>You cannot join a pAI card when you are banned from playing as a pAI.</span>")
to_chat(usr,span_warning("You cannot join a pAI card when you are banned from playing as a pAI."))
return
for(var/ourkey in paikeys)
if(ourkey == user.ckey)
to_chat(usr, "<span class='warning'>You can't just rejoin any old pAI card!!! Your card still exists.</span>")
to_chat(usr, span_warning("You can't just rejoin any old pAI card!!! Your card still exists."))
return
var/choice = tgui_alert(user, "You sure you want to inhabit this PAI, or submit yourself to being recruited?", "Confirmation", list("Inhabit", "Recruit", "Cancel"))
@@ -139,7 +139,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
/obj/item/paicard/proc/access_screen(mob/user)
if(is_damage_critical())
to_chat(user, "<span class='warning'>WARNING: CRITICAL HARDWARE FAILURE, SERVICE DEVICE IMMEDIATELY</span>")
to_chat(user, span_warning("WARNING: CRITICAL HARDWARE FAILURE, SERVICE DEVICE IMMEDIATELY"))
return
if (!in_range(src, user))
return
@@ -433,7 +433,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
if(pai)
return
if(last_notify == 0 || (5 MINUTES <= world.time - last_notify))
audible_message("<span class='notice'>\The [src] flashes a message across its screen, \"Additional personalities available for download.\"</span>", hearing_distance = world.view, runemessage = "bleeps!")
audible_message(span_notice("\The [src] flashes a message across its screen, \"Additional personalities available for download.\""), hearing_distance = world.view, runemessage = "bleeps!")
last_notify = world.time
/obj/item/paicard/emp_act(severity)
@@ -448,13 +448,13 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
/obj/item/paicard/see_emote(mob/living/M, text)
if(pai && pai.client && !pai.canmove)
var/rendered = "<span class='message'>[text]</span>"
var/rendered = span_message("[text]")
pai.show_message(rendered, 2)
..()
/obj/item/paicard/show_message(msg, type, alt, alt_type)
if(pai && pai.client)
var/rendered = "<span class='message'>[msg]</span>"
var/rendered = span_message("[msg]")
pai.show_message(rendered, type)
..()

View File

@@ -166,9 +166,9 @@
reattach_gun(user)
else if(istype(W, /obj/item/cell))
if(bcell)
to_chat(user, "<span class='notice'>\The [src] already has a cell.</span>")
to_chat(user, span_notice("\The [src] already has a cell."))
else if(!istype(W, /obj/item/cell/device/weapon)) //Weapon cells only!
to_chat(user, "<span class='notice'>This cell will not fit in the device.</span>")
to_chat(user, span_notice("This cell will not fit in the device."))
else
if(!user.unEquip(W))
return
@@ -176,7 +176,7 @@
bcell = W
if(active_weapon)
active_weapon.power_supply = bcell
to_chat(user, "<span class='notice'>You install a cell in \the [src].</span>")
to_chat(user, span_notice("You install a cell in \the [src]."))
update_icon()
else if(W.has_tool_quality(TOOL_SCREWDRIVER))
@@ -196,7 +196,7 @@
if(active_weapon)
reattach_gun() //Put the gun back if it's out. No shooting if we don't have a cell!
active_weapon.power_supply = null //No power cell anymore!
to_chat(user, "<span class='notice'>You remove the cell from \the [src], destroying the battery.</span>")
to_chat(user, span_notice("You remove the cell from \the [src], destroying the battery."))
update_icon()
return
else
@@ -208,7 +208,7 @@
if(active_weapon)
reattach_gun() //Put the gun back if it's out. No shooting if we don't have a cell!
active_weapon.power_supply = null //No power cell anymore!
to_chat(user, "<span class='notice'>You remove the cell from \the [src].</span>")
to_chat(user, span_notice("You remove the cell from \the [src]."))
update_icon()
else if(istype(W,/obj/item/multitool))
var/new_color = input(usr, "Choose a color to set the shield to!", "", effect_color) as color|null
@@ -246,22 +246,22 @@
user.last_special = world.time + 10 //No spamming!
if(!bcell || !bcell.check_charge(generator_hit_cost) || !bcell.check_charge(generator_active_cost))
to_chat(user, "<span class='warning'>You require a charged cell to do this!</span>")
to_chat(user, span_warning("You require a charged cell to do this!"))
return
if(!slot_check())
to_chat(user, "<span class='warning'>You need to equip [src] before starting the shield up!</span>")
to_chat(user, span_warning("You need to equip [src] before starting the shield up!"))
return
else
if(shield_active)
shield_active = !shield_active //Deactivate the shield!
to_chat(user, "<span class='warning'>You deactive the shield!</span>")
to_chat(user, span_warning("You deactive the shield!"))
user.remove_modifiers_of_type(/datum/modifier/shield_projection)
STOP_PROCESSING(SSobj, src)
playsound(src, 'sound/weapons/saberoff.ogg', 50, 1) //Shield turning off! PLACEHOLDER
else
shield_active = !shield_active
to_chat(user, "<span class='warning'>You activate the shield!</span>")
to_chat(user, span_warning("You activate the shield!"))
user.remove_modifiers_of_type(/datum/modifier/shield_projection) //Just to make sure they aren't using two at once!
user.add_modifier(modifier_type)
user.update_modifier_visuals() //Forces coloration to WORK.
@@ -280,11 +280,11 @@
user.last_special = world.time + 10 //No spamming!
if(!active_weapon)
to_chat(user, "<span class='warning'>The gun is missing!</span>")
to_chat(user, span_warning("The gun is missing!"))
return
if(!bcell)
to_chat(user, "<span class='warning'>The gun requires a power supply!</span>")
to_chat(user, span_warning("The gun requires a power supply!"))
return
if(active_weapon.loc != src)
@@ -292,17 +292,17 @@
return
if(!slot_check())
to_chat(user, "<span class='warning'>You need to equip [src] before taking out [active_weapon].</span>")
to_chat(user, span_warning("You need to equip [src] before taking out [active_weapon]."))
else
if(!usr.put_in_hands(active_weapon)) //Detach the gun into the user's hands
to_chat(user, "<span class='warning'>You need a free hand to hold the gun!</span>")
to_chat(user, span_warning("You need a free hand to hold the gun!"))
update_icon() //success
/obj/item/personal_shield_generator/process()
if(!bcell) //They removed the battery midway.
if(istype(loc, /mob/living/carbon/human)) //We on someone? Tell them it turned off.
var/mob/living/carbon/human/user = loc
to_chat(user, "<span class='warning'>The shield deactivates! An error message pops up on screen: 'Cell missing. Cell replacement required.'</span>")
to_chat(user, span_warning("The shield deactivates! An error message pops up on screen: 'Cell missing. Cell replacement required.'"))
user.remove_modifiers_of_type(/datum/modifier/shield_projection)
shield_active = 0
STOP_PROCESSING(SSobj, src)
@@ -314,7 +314,7 @@
if(bcell.rigged) //They turned it back on after it was rigged to go boom.
if(istype(loc, /mob/living/carbon/human)) //Deactivate the shield, first. You're not getting reduced damage...
var/mob/living/carbon/human/user = loc
to_chat(user, "<span class='warning'>The shield deactivates, an error message popping up on screen: 'Cell Reactor Critically damaged. Cell replacement required.'</span>")
to_chat(user, span_warning("The shield deactivates, an error message popping up on screen: 'Cell Reactor Critically damaged. Cell replacement required.'"))
user.remove_modifiers_of_type(/datum/modifier/shield_projection)
if(active_weapon) //Retract the gun. There's about to be no cell anymore.
@@ -335,7 +335,7 @@
shield_active = 0
if(istype(loc, /mob/living/carbon/human)) //We on someone? Tell them it turned off.
var/mob/living/carbon/human/user = loc
to_chat(user, "<span class='warning'>The shield deactivates, an error message popping up on screen: 'Cell out of charge.'</span>")
to_chat(user, span_warning("The shield deactivates, an error message popping up on screen: 'Cell out of charge.'"))
user.remove_modifiers_of_type(/datum/modifier/shield_projection)
STOP_PROCESSING(SSobj, src)
update_icon()
@@ -372,7 +372,7 @@
if(ismob(active_weapon.loc))
var/mob/M = active_weapon.loc
if(M.drop_from_inventory(active_weapon, src))
to_chat(user, "<span class='notice'>\The [active_weapon] snaps back into the main unit.</span>")
to_chat(user, span_notice("\The [active_weapon] snaps back into the main unit."))
else
active_weapon.forceMove(src)
@@ -424,13 +424,13 @@
if(busy)
return 0
if(!check_charge(charge_cost))
to_chat(user, "<span class='warning'>\The [src] doesn't have enough charge left to do that.</span>")
to_chat(user, span_warning("\The [src] doesn't have enough charge left to do that."))
return 0
if(!wielded && !isrobot(user))
to_chat(user, "<span class='warning'>You need to wield the gun with both hands before you can use it on someone!</span>")
to_chat(user, span_warning("You need to wield the gun with both hands before you can use it on someone!"))
return 0
if(cooldown)
to_chat(user, "<span class='warning'>\The [src] are re-energizing!</span>")
to_chat(user, span_warning("\The [src] are re-energizing!"))
return 0
return 1
@@ -512,11 +512,11 @@
/obj/item/personal_shield_generator/belt/mining/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/borg/upgrade/shield_upgrade))
if(modifier_type == /datum/modifier/shield_projection/mining/strong)
to_chat(user, "<span class='warning'>This shield generator is already upgraded!</span>")
to_chat(user, span_warning("This shield generator is already upgraded!"))
return
modifier_type = /datum/modifier/shield_projection/mining/strong
upgraded = 1
to_chat(user, "<span class='notice'>You upgrade the [src] with the [W]!</span>")
to_chat(user, span_notice("You upgrade the [src] with the [W]!"))
user.drop_from_inventory(W)
qdel(W)
else

View File

@@ -41,7 +41,7 @@
else
anchored = TRUE
mode = 1
src.visible_message("<span class='notice'>[user] attaches [src] to the cable!</span>")
src.visible_message(span_notice("[user] attaches [src] to the cable!"))
playsound(src, I.usesound, 50, 1)
return
else
@@ -53,7 +53,7 @@
STOP_PROCESSING_POWER_OBJECT(src)
anchored = FALSE
mode = 0
src.visible_message("<span class='notice'>[user] detaches [src] from the cable!</span>")
src.visible_message(span_notice("[user] detaches [src] from the cable!"))
set_light(0)
playsound(src, I.usesound, 50, 1)
icon_state = "powersink0"
@@ -70,14 +70,14 @@
if(0)
..()
if(1)
src.visible_message("<span class='notice'>[user] activates [src]!</span>")
src.visible_message(span_notice("[user] activates [src]!"))
mode = 2
icon_state = "powersink1"
START_PROCESSING(SSobj, src)
datum_flags &= ~DF_ISPROCESSING // Have to reset this flag so that PROCESSING_POWER_OBJECT can re-add it. It fails if the flag is already present. - Ater
START_PROCESSING_POWER_OBJECT(src)
if(2) //This switch option wasn't originally included. It exists now. --NeoFite
src.visible_message("<span class='notice'>[user] deactivates [src]!</span>")
src.visible_message(span_notice("[user] deactivates [src]!"))
mode = 1
set_light(0)
icon_state = "powersink0"

View File

@@ -37,7 +37,7 @@ GLOBAL_LIST_BOILERPLATE(all_beacons, /obj/item/radio/beacon)
/obj/item/radio/beacon/syndicate/attack_self(mob/user as mob)
if(user)
to_chat(user, "<span class='notice'>Locked In</span>")
to_chat(user, span_notice("Locked In"))
new /obj/machinery/power/singularity_beacon/syndicate( user.loc )
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
qdel(src)

View File

@@ -17,7 +17,7 @@
/obj/item/radio/electropack/attack_hand(mob/living/user as mob)
if(src == user.back)
to_chat(user, "<span class='notice'>You need help taking this off!</span>")
to_chat(user, span_notice("You need help taking this off!"))
return
..()
@@ -25,7 +25,7 @@
..()
if(istype(W, /obj/item/clothing/head/helmet))
if(!b_stat)
to_chat(user, "<span class='notice'>[src] is not ready to be attached!</span>")
to_chat(user, span_notice("[src] is not ready to be attached!"))
return
var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit( user )
A.icon = 'icons/obj/assemblies.dmi'
@@ -95,7 +95,7 @@
sleep(50)
if(M)
M.moved_recently = 0
to_chat(M, "<span class='danger'>You feel a sharp shock!</span>")
to_chat(M, span_danger("You feel a sharp shock!"))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, M)
s.start()

View File

@@ -146,7 +146,7 @@
playsound(src, W.usesound, 50, 1)
update_icon()
else if(wiresexposed && W.has_tool_quality(TOOL_WIRECUTTER))
user.visible_message("<span class='warning'>[user] has cut the wires inside \the [src]!</span>", "You have cut the wires inside \the [src].")
user.visible_message(span_warning("[user] has cut the wires inside \the [src]!"), "You have cut the wires inside \the [src].")
playsound(src, W.usesound, 50, 1)
new/obj/item/stack/cable_coil(get_turf(src), 5)
var/obj/structure/frame/A = new /obj/structure/frame(src.loc)
@@ -207,15 +207,15 @@
//VOREStation Add Start
/obj/item/radio/intercom/AICtrlClick(var/mob/user)
ToggleBroadcast()
to_chat(user, "<span class='notice'>\The [src]'s microphone is now <b>[broadcasting ? "enabled" : "disabled"]</b>.</span>")
to_chat(user, span_notice("\The [src]'s microphone is now <b>[broadcasting ? "enabled" : "disabled"]</b>."))
/obj/item/radio/intercom/AIAltClick(var/mob/user)
if(frequency == AI_FREQ)
set_frequency(initial(frequency))
to_chat(user, "<span class='notice'>\The [src]'s frequency is now set to [span_green("<b>Default</b>")].</span>")
to_chat(user, span_notice("\The [src]'s frequency is now set to [span_green("<b>Default</b>")]."))
else
set_frequency(AI_FREQ)
to_chat(user, "<span class='notice'>\The [src]'s frequency is now set to [span_pink("<b>AI Private</b>")].</span>")
to_chat(user, span_notice("\The [src]'s frequency is now set to [span_pink("<b>AI Private</b>")]."))
//VOREStation Add End
/obj/item/radio/intercom/locked
var/locked_frequency

View File

@@ -47,7 +47,7 @@ var/global/list/active_radio_jammers = list()
/obj/item/radio_jammer/proc/turn_off(mob/user)
if(user)
to_chat(user,"<span class='warning'>\The [src] deactivates.</span>")
to_chat(user,span_warning("\The [src] deactivates."))
STOP_PROCESSING(SSobj, src)
active_radio_jammers -= src
on = FALSE
@@ -55,7 +55,7 @@ var/global/list/active_radio_jammers = list()
/obj/item/radio_jammer/proc/turn_on(mob/user)
if(user)
to_chat(user,"<span class='notice'>\The [src] is now active.</span>")
to_chat(user,span_notice("\The [src] is now active."))
START_PROCESSING(SSobj, src)
active_radio_jammers += src
on = TRUE
@@ -74,7 +74,7 @@ var/global/list/active_radio_jammers = list()
/obj/item/radio_jammer/attack_hand(mob/user)
if(user.get_inactive_hand() == src && power_source)
to_chat(user,"<span class='notice'>You eject \the [power_source] from \the [src].</span>")
to_chat(user,span_notice("You eject \the [power_source] from \the [src]."))
user.put_in_hands(power_source)
power_source = null
turn_off()
@@ -88,7 +88,7 @@ var/global/list/active_radio_jammers = list()
if(power_source)
turn_on(user)
else
to_chat(user,"<span class='warning'>\The [src] has no power source!</span>")
to_chat(user,span_warning("\The [src] has no power source!"))
/obj/item/radio_jammer/attackby(obj/W, mob/user)
if(istype(W,/obj/item/cell/device/weapon) && !power_source)
@@ -97,7 +97,7 @@ var/global/list/active_radio_jammers = list()
user.unEquip(power_source)
power_source.forceMove(src)
update_icon()
to_chat(user,"<span class='notice'>You insert \the [power_source] into \the [src].</span>")
to_chat(user,span_notice("You insert \the [power_source] into \the [src]."))
/obj/item/radio_jammer/update_icon()
if(on)

View File

@@ -279,10 +279,10 @@ var/global/list/default_medbay_channels = list(
subspace_transmission = !subspace_transmission
if(!subspace_transmission)
channels = list()
to_chat(usr, "<span class='notice'>Subspace Transmission is disabled</span>")
to_chat(usr, span_notice("Subspace Transmission is disabled"))
else
recalculateChannels()
to_chat(usr, "<span class='notice'>Subspace Transmission is enabled</span>")
to_chat(usr, span_notice("Subspace Transmission is enabled"))
. = TRUE
if("toggleLoudspeaker")
if(!subspace_switchable)
@@ -290,9 +290,9 @@ var/global/list/default_medbay_channels = list(
loudspeaker = !loudspeaker
if(loudspeaker)
to_chat(usr, "<span class='notice'>Loadspeaker enabled.</span>")
to_chat(usr, span_notice("Loadspeaker enabled."))
else
to_chat(usr, "<span class='notice'>Loadspeaker disabled.</span>")
to_chat(usr, span_notice("Loadspeaker disabled."))
. = TRUE
if(. && iscarbon(usr))
@@ -474,14 +474,14 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
if(bluespace_radio)
//Nothing to transmit to
if(!bs_tx_weakref)
to_chat(loc, "<span class='warning'>\The [src] buzzes to inform you of the lack of a functioning connection.</span>")
to_chat(loc, span_warning("\The [src] buzzes to inform you of the lack of a functioning connection."))
return FALSE
var/obj/machinery/telecomms/tx_to = bs_tx_weakref.resolve()
//Was linked, now destroyed or something
if(!tx_to)
bs_tx_weakref = null
to_chat(loc, "<span class='warning'>\The [src] buzzes to inform you of the lack of a functioning connection.</span>")
to_chat(loc, span_warning("\The [src] buzzes to inform you of the lack of a functioning connection."))
return FALSE
//Transmitted in the blind. If we get a message back, cool. If not, oh well.
@@ -498,7 +498,7 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
distance = 99
else
distance = jamming["distance"]
to_chat(M, "<span class='danger'>[icon2html(src, M.client)] You hear the [distance <= 2 ? "loud hiss" : "soft hiss"] of static.</span>")
to_chat(M, span_danger("[icon2html(src, M.client)] You hear the [distance <= 2 ? "loud hiss" : "soft hiss"] of static."))
return FALSE
// First, we want to generate a new radio signal
@@ -517,7 +517,7 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
return TRUE //Huzzah, sent via subspace
else if(adhoc_fallback) //Less huzzah, we have to fallback
to_chat(loc, "<span class='warning'>\The [src] pings as it falls back to local radio transmission.</span>")
to_chat(loc, span_warning("\The [src] pings as it falls back to local radio transmission."))
subspace_transmission = FALSE
else //Oh well
@@ -545,7 +545,7 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
if(signal.data["done"] && (pos_z in signal.data["level"]))
if(adhoc_fallback)
to_chat(loc, "<span class='notice'>\The [src] pings as it reestablishes subspace communications.</span>")
to_chat(loc, span_notice("\The [src] pings as it reestablishes subspace communications."))
subspace_transmission = TRUE
// we're done here.
return TRUE
@@ -609,9 +609,9 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
if((in_range(src, user) || loc == user))
if(b_stat)
. += "<span class='notice'>\The [src] can be attached and modified!</span>"
. += span_notice("\The [src] can be attached and modified!")
else
. += "<span class='notice'>\The [src] can not be modified or attached!</span>"
. += span_notice("\The [src] can not be modified or attached!")
/obj/item/radio/attackby(obj/item/W as obj, mob/user as mob)
..()
@@ -621,9 +621,9 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
b_stat = !( b_stat )
if(!istype(src, /obj/item/radio/beacon))
if (b_stat)
user.show_message("<span class='notice'>\The [src] can now be attached and modified!</span>")
user.show_message(span_notice("\The [src] can now be attached and modified!"))
else
user.show_message("<span class='notice'>\The [src] can no longer be modified or attached!</span>")
user.show_message(span_notice("\The [src] can no longer be modified or attached!"))
updateDialog()
//Foreach goto(83)
add_fingerprint(user)

View File

@@ -54,7 +54,7 @@
var/mob/living/carbon/human/user = usr
if(!handset)
to_chat(user, "<span class='warning'>The handset is missing!</span>")
to_chat(user, span_warning("The handset is missing!"))
return
if(handset.loc != src)
@@ -62,10 +62,10 @@
return
if(!slot_check())
to_chat(user, "<span class='warning'>You need to equip [src] before taking out [handset].</span>")
to_chat(user, span_warning("You need to equip [src] before taking out [handset]."))
else
if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands
to_chat(user, "<span class='warning'>You need a free hand to hold the handset!</span>")
to_chat(user, span_warning("You need a free hand to hold the handset!"))
update_icon() //success
//checks that the base unit is in the correct slot to be used
@@ -91,7 +91,7 @@
if(ismob(handset.loc))
var/mob/M = handset.loc
if(M.drop_from_inventory(handset, src))
to_chat(user, "<span class='notice'>\The [handset] snaps back into the main unit.</span>")
to_chat(user, span_notice("\The [handset] snaps back into the main unit."))
else
handset.forceMove(src)
@@ -138,7 +138,7 @@
return -1
if(!freq)
return -1
//Only listen on main freq
if(freq == frequency)
return canhear_range

View File

@@ -25,7 +25,7 @@
if (user.stat)
return
if (!user.IsAdvancedToolUser())
to_chat(usr, "<span class='warning'>You don't have the dexterity to do this!</span>")
to_chat(usr, span_warning("You don't have the dexterity to do this!"))
return
analyze_gases(src, user)

View File

@@ -3,7 +3,7 @@
set desc = "Toggles whether or not \the [src] will provide guidance and instruction in addition to scanning."
set category = "Object"
guide = !guide
to_chat(usr, "<span class='notice'>You toggle \the [src]'s guidance system [guide ? "on" : "off"].</span>")
to_chat(usr, span_notice("You toggle \the [src]'s guidance system [guide ? "on" : "off"]."))
/obj/item/healthanalyzer/guide
@@ -109,9 +109,10 @@
var/peeb
if(dat)
peeb +="<span class='notice'><b>GUIDANCE SYSTEM BEGIN</b></span><br>"
peeb += span_notice("<b>GUIDANCE SYSTEM BEGIN</b>")
peeb += "<br>"
peeb += dat
peeb += "<span class='notice'>For more detailed information on the patient's condition, utilize a body scanner at the closest medical bay.</span>"
peeb += span_notice("For more detailed information on the patient's condition, utilize a body scanner at the closest medical bay.")
user.show_message(peeb, 1)
//CHOMPedit end.

View File

@@ -11,11 +11,11 @@
/obj/item/halogen_counter/attack(mob/living/M as mob, mob/living/user as mob)
if(!iscarbon(M))
to_chat(user, "<span class='warning'>This device can only scan organic beings!</span>")
to_chat(user, span_warning("This device can only scan organic beings!"))
return
user.visible_message("<span class='warning'>\The [user] has analyzed [M]'s radiation levels!</span>", "<span class='notice'>Analyzing Results for [M]:</span>")
user.visible_message(span_warning("\The [user] has analyzed [M]'s radiation levels!"), span_notice("Analyzing Results for [M]:"))
if(M.radiation)
to_chat(user, "<span class='notice'>Radiation Level: [M.radiation]</span>")
to_chat(user, span_notice("Radiation Level: [M.radiation]"))
else
to_chat(user, "<span class='notice'>No radiation detected.</span>")
to_chat(user, span_notice("No radiation detected."))
return

View File

@@ -26,9 +26,9 @@
/obj/item/healthanalyzer/examine(mob/user)
. = ..()
if(guide)
. += "<span class='notice'>Guidance is currently enabled.</span>"
. += span_notice("Guidance is currently enabled.")
else
. += "<span class='notice'>Guidance is currently disabled.</span>"
. += span_notice("Guidance is currently disabled.")
/obj/item/healthanalyzer/do_surgery(mob/living/M, mob/living/user)
if(user.a_intent != I_HELP) //in case it is ever used as a surgery tool
@@ -42,20 +42,20 @@
/obj/item/healthanalyzer/proc/scan_mob(mob/living/M, mob/living/user)
var/dat = ""
if ((CLUMSY in user.mutations) && prob(50))
user.visible_message("<span class='warning'>\The [user] has analyzed the floor's vitals!</span>", "<span class='warning'>You try to analyze the floor's vitals!</span>")
user.visible_message(span_warning("\The [user] has analyzed the floor's vitals!"), span_warning("You try to analyze the floor's vitals!"))
dat += "Analyzing Results for the floor:<br>"
dat += "Overall Status: Healthy<br>"
dat += "\tDamage Specifics: 0-0-0-0<br>"
dat += "Key: Suffocation/Toxin/Burns/Brute<br>"
dat += "Body Temperature: ???"
user.show_message("<span class='notice'>[dat]</span>", 1)
user.show_message(span_notice("[dat]"), 1)
return
if (!user.IsAdvancedToolUser())
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
to_chat(user, span_warning("You don't have the dexterity to do this!"))
return
flick("[icon_state]-scan", src) //makes it so that it plays the scan animation on a succesful scan
user.visible_message("<span class='notice'>[user] has analyzed [M]'s vitals.</span>","<span class='notice'>You have analyzed [M]'s vitals.</span>")
user.visible_message(span_notice("[user] has analyzed [M]'s vitals."),span_notice("You have analyzed [M]'s vitals."))
if (!ishuman(M) || M.isSynthetic())
//these sensors are designed for organic life
@@ -63,8 +63,8 @@
dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
dat += "\tDamage Specifics: [span_cyan("?")] - [span_green("?")] - [span_orange("?")] - [span_red("?")]<br>"
dat += "Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)</span><br>"
dat += "<span class='warning'>Warning: Blood Level ERROR: --% --cl.</span> <span class='notice'>Type: ERROR</span><br>"
dat += "<span class='notice'>Subject's pulse: [span_red("-- bpm.")]</span>"
dat += "[span_warning("Warning: Blood Level ERROR: --% --cl.")] [span_notice("Type: ERROR")]<br>"
dat += span_notice("Subject's pulse: [span_red("-- bpm.")]")
user.show_message(dat, 1)
return
@@ -75,8 +75,10 @@
var/BR = M.getBruteLoss() > 50 ? "<b>[M.getBruteLoss()]</b>" : M.getBruteLoss()
if(M.status_flags & FAKEDEATH)
OX = fake_oxy > 50 ? "<b>[fake_oxy]</b>" : fake_oxy
dat += "<span class='notice'>Analyzing Results for [M]:</span><br>"
dat += "<span class='notice'>Overall Status: dead</span><br>"
dat += span_notice("Analyzing Results for [M]:")
dat += "<br>"
dat += span_notice("Overall Status: dead")
dat += "<br>"
else
dat += "<span class='notice'>Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[round((M.health/M.getMaxHealth())*100) ]% healthy"]<br>"
dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
@@ -84,32 +86,36 @@
dat += "Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)</span><br>"
//VOREStation edit/addition starts
if(M.timeofdeath && (M.stat == DEAD || (M.status_flags & FAKEDEATH)))
dat += "<span class='notice'>Time of Death: [worldtime2stationtime(M.timeofdeath)]</span><br>"
dat += span_notice("Time of Death: [worldtime2stationtime(M.timeofdeath)]")
dat += "<br>"
var/tdelta = round(world.time - M.timeofdeath)
if(tdelta < (DEFIB_TIME_LIMIT * 10))
dat += "<span class='notice'><b>Subject died [DisplayTimeText(tdelta)] ago - resuscitation may be possible!</b></span><br>"
dat += span_notice("<b>Subject died [DisplayTimeText(tdelta)] ago - resuscitation may be possible!</b>")
dat += "<br>"
//VOREStation edit/addition ends
if(istype(M, /mob/living/carbon/human) && mode == 1)
var/mob/living/carbon/human/H = M
var/list/damaged = H.get_damaged_organs(1,1)
dat += "<span class='notice'>Localized Damage, Brute/Burn:</span><br>"
dat += span_notice("Localized Damage, Brute/Burn:")
dat += "<br>"
if(length(damaged)>0)
for(var/obj/item/organ/external/org in damaged)
if(org.robotic >= ORGAN_ROBOT)
continue
else
dat += "<span class='notice'> [capitalize(org.name)]: [(org.brute_dam > 0) ? "<span class='warning'>[org.brute_dam]</span>" : 0]"
dat += "[(org.status & ORGAN_BLEEDING)?"<span class='danger'>\[Bleeding\]</span>":""] - "
dat += "<span class='notice'> [capitalize(org.name)]: [(org.brute_dam > 0) ? span_warning("[org.brute_dam]") : 0]"
dat += "[(org.status & ORGAN_BLEEDING)?span_danger("\[Bleeding\]"):""] - "
dat += "[(org.burn_dam > 0) ? "[span_orange("[org.burn_dam]")]" : 0]</span><br>"
else
dat += "<span class='notice'> Limbs are OK.</span><br>"
dat += span_notice(" Limbs are OK.")
dat += "<br>"
OX = M.getOxyLoss() > 50 ? "[span_cyan("<b>Severe oxygen deprivation detected</b>")]" : "Subject bloodstream oxygen level normal"
TX = M.getToxLoss() > 50 ? "[span_green("<b>Dangerous amount of toxins detected</b>")]" : "Subject bloodstream toxin level minimal"
BU = M.getFireLoss() > 50 ? "[span_orange("<b>Severe burn damage detected</b>")]" : "Subject burn injury status O.K"
BR = M.getBruteLoss() > 50 ? "[span_red("<b>Severe anatomical damage detected</b>")]" : "Subject brute-force injury status O.K"
if(M.status_flags & FAKEDEATH)
OX = fake_oxy > 50 ? "<span class='warning'>Severe oxygen deprivation detected</span>" : "Subject bloodstream oxygen level normal"
OX = fake_oxy > 50 ? span_warning("Severe oxygen deprivation detected") : "Subject bloodstream oxygen level normal"
dat += "[OX] | [TX] | [BU] | [BR]<br>"
if(M.radiation)
if(advscan >= 2 && showadvscan == 1)
@@ -124,9 +130,11 @@
severity = "Moderate"
else if(M.radiation >= 100)
severity = "Low"
dat += "<span class='warning'>[severity] levels of acute radiation sickness detected. [round(M.radiation/50)]Gy. [(severity == "Critical" || severity == "Lethal") ? " Immediate treatment advised." : ""]</span><br>"
dat += span_warning("[severity] levels of acute radiation sickness detected. [round(M.radiation/50)]Gy. [(severity == "Critical" || severity == "Lethal") ? " Immediate treatment advised." : ""]")
dat += "<br>"
else
dat += "<span class='warning'>Acute radiation sickness detected.</span><br>"
dat += span_warning("Acute radiation sickness detected.")
dat += "<br>"
if(M.accumulated_rads)
if(advscan >= 2 && showadvscan == 1)
var/severity = ""
@@ -140,9 +148,11 @@
severity = "Mild"
else if(M.accumulated_rads >= 100)
severity = "Low"
dat += "<span class='warning'>[severity] levels of chronic radiation sickness detected. [round(M.accumulated_rads/50)]Gy.</span><br>"
dat += span_warning("[severity] levels of chronic radiation sickness detected. [round(M.accumulated_rads/50)]Gy.")
dat += "<br>"
else
dat += "<span class='warning'>Chronic radiation sickness detected.</span><br>"
dat += span_warning("Chronic radiation sickness detected.")
dat += "<br>"
if(iscarbon(M))
var/mob/living/carbon/C = M
if(C.reagents.total_volume)
@@ -151,88 +161,113 @@
var/unknownreagents[0]
for(var/datum/reagent/R as anything in C.reagents.reagent_list)
if(R.scannable)
reagentdata["[R.id]"] = "<span class='notice'>\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - <span class='danger'>Overdose</span>" : ""]</span><br>"
reagentdata["[R.id]"] = span_notice("\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
reagentdata["[R.id]"] += "<br>"
else
unknown++
unknownreagents["[R.id]"] = "<span class='notice'>\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - <span class='danger'>Overdose</span>" : ""]</span><br>"
unknownreagents["[R.id]"] = span_notice("\t[round(C.reagents.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
unknownreagents["[R.id]"] += "<br>"
if(reagentdata.len)
dat += "<span class='notice'>Beneficial reagents detected in subject's blood:</span><br>"
dat += span_notice("Beneficial reagents detected in subject's blood:")
dat += "<br>"
for(var/d in reagentdata)
dat += reagentdata[d]
if(unknown)
if(advscan >= 3 && showadvscan == 1)
dat += "<span class='warning'>Warning: Non-medical reagent[(unknown>1)?"s":""] detected in subject's blood:</span><br>"
dat += span_warning("Warning: Non-medical reagent[(unknown>1)?"s":""] detected in subject's blood:")
dat += "<br>"
for(var/d in unknownreagents)
dat += unknownreagents[d]
else
dat += "<span class='warning'>Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.</span><br>"
dat += span_warning("Warning: Unknown substance[(unknown>1)?"s":""] detected in subject's blood.")
dat += "<br>"
if(C.ingested && C.ingested.total_volume)
var/unknown = 0
var/stomachreagentdata[0]
var/stomachunknownreagents[0]
for(var/datum/reagent/R as anything in C.ingested.reagent_list)
if(R.scannable)
stomachreagentdata["[R.id]"] = "<span class='notice'>\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - <span class='danger'>Overdose</span>" : ""]</span><br>"
stomachreagentdata["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
stomachreagentdata["[R.id]"] += "<br>"
if (advscan == 0 || showadvscan == 0)
dat += "<span class='notice'>[R.name] found in subject's stomach.</span><br>"
dat += span_notice("[R.name] found in subject's stomach.")
dat += "<br>"
else
++unknown
stomachunknownreagents["[R.id]"] = "<span class='notice'>\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - <span class='danger'>Overdose</span>" : ""]</span><br>"
stomachunknownreagents["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
stomachunknownreagents["[R.id]"] += "<br>"
if(advscan >= 1 && showadvscan == 1)
dat += "<span class='notice'>Beneficial reagents detected in subject's stomach:</span><br>"
dat += span_notice("Beneficial reagents detected in subject's stomach:")
dat += "<br>"
for(var/d in stomachreagentdata)
dat += stomachreagentdata[d]
if(unknown)
if(advscan >= 3 && showadvscan == 1)
dat += "<span class='warning'>Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's stomach:</span><br>"
dat += span_warning("Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's stomach:")
dat += "<br>"
for(var/d in stomachunknownreagents)
dat += stomachunknownreagents[d]
else
dat += "<span class='warning'>Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.</span><br>"
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's stomach.")
dat += "<br>"
if(C.touching && C.touching.total_volume)
var/unknown = 0
var/touchreagentdata[0]
var/touchunknownreagents[0]
for(var/datum/reagent/R as anything in C.touching.reagent_list)
if(R.scannable)
touchreagentdata["[R.id]"] = "<span class='notice'>\t[round(C.touching.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - <span class='danger'>Overdose</span>" : ""]</span><br>"
touchreagentdata["[R.id]"] = span_notice("\t[round(C.touching.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
touchreagentdata["[R.id]"] += "<br>"
if (advscan == 0 || showadvscan == 0)
dat += "<span class='notice'>[R.name] found in subject's dermis.</span><br>"
dat += span_notice("[R.name] found in subject's dermis.")
dat += "<br>"
else
++unknown
touchunknownreagents["[R.id]"] = "<span class='notice'>\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - <span class='danger'>Overdose</span>" : ""]</span><br>"
touchunknownreagents["[R.id]"] = span_notice("\t[round(C.ingested.get_reagent_amount(R.id), 1)]u [R.name][(R.overdose && R.can_overdose_touch && R.volume > R.overdose) ? " - [span_danger("Overdose")]" : ""]")
touchunknownreagents["[R.id]"] += "<br>"
if(advscan >= 1 && showadvscan == 1)
dat += "<span class='notice'>Beneficial reagents detected in subject's dermis:</span><br>"
dat += span_notice("Beneficial reagents detected in subject's dermis:")
dat += "<br>"
for(var/d in touchreagentdata)
dat += touchreagentdata[d]
if(unknown)
if(advscan >= 3 && showadvscan == 1)
dat += "<span class='warning'>Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's dermis:</span><br>"
dat += span_warning("Warning: Non-medical reagent[(unknown > 1)?"s":""] found in subject's dermis:")
dat += "<br>"
for(var/d in touchunknownreagents)
dat += touchunknownreagents[d]
else
dat += "<span class='warning'>Unknown substance[(unknown > 1)?"s":""] found in subject's dermis.</span><br>"
dat += span_warning("Unknown substance[(unknown > 1)?"s":""] found in subject's dermis.")
dat += "<br>"
if(C.virus2.len)
for (var/ID in C.virus2)
if (ID in virusDB)
var/datum/data/record/V = virusDB[ID]
dat += "<span class='warning'>Warning: Pathogen [V.fields["name"]] detected in subject's blood. Known antigen : [V.fields["antigen"]]</span><br>"
dat += span_warning("Warning: Pathogen [V.fields["name"]] detected in subject's blood. Known antigen : [V.fields["antigen"]]")
dat += "<br>"
else
dat += "<span class='warning'>Warning: Unknown pathogen detected in subject's blood.</span><br>"
dat += span_warning("Warning: Unknown pathogen detected in subject's blood.")
dat += "<br>"
if (M.getCloneLoss())
dat += "<span class='warning'>Subject appears to have been imperfectly cloned.</span><br>"
dat += span_warning("Subject appears to have been imperfectly cloned.")
dat += "<br>"
// if (M.reagents && M.reagents.get_reagent_amount("inaprovaline"))
// user.show_message("<span class='notice'>Bloodstream Analysis located [M.reagents:get_reagent_amount("inaprovaline")] units of rejuvenation chemicals.</span>")
// user.show_message(span_notice("Bloodstream Analysis located [M.reagents:get_reagent_amount("inaprovaline")] units of rejuvenation chemicals."))
if (M.has_brain_worms())
dat += "<span class='warning'>Subject suffering from aberrant brain activity. Recommend further scanning.</span><br>"
dat += span_warning("Subject suffering from aberrant brain activity. Recommend further scanning.")
dat += "<br>"
else if (M.getBrainLoss() >= 60 || !M.has_brain())
dat += "<span class='warning'>Subject is brain dead.</span><br>"
dat += span_warning("Subject is brain dead.")
dat += "<br>"
else if (M.getBrainLoss() >= 25)
dat += "<span class='warning'>Severe brain damage detected. Subject likely to have a traumatic brain injury.</span><br>"
dat += span_warning("Severe brain damage detected. Subject likely to have a traumatic brain injury.")
dat += "<br>"
else if (M.getBrainLoss() >= 10)
dat += "<span class='warning'>Significant brain damage detected. Subject may have had a concussion.</span><br>"
dat += span_warning("Significant brain damage detected. Subject may have had a concussion.")
dat += "<br>"
else if (M.getBrainLoss() >= 1)
dat += "<span class='warning'>Minor brain damage detected.</span><br>"
dat += span_warning("Minor brain damage detected.")
dat += "<br>"
if(ishuman(M))
var/mob/living/carbon/human/H = M
for(var/obj/item/organ/internal/appendix/a in H.internal_organs)
@@ -244,9 +279,11 @@
else if(a.inflamed >= 1)
severity = "Mild"
if(severity)
dat += "<span class='warning'>[severity] inflammation detected in subject [a.name].</span><br>"
dat += span_warning("[severity] inflammation detected in subject [a.name].")
dat += "<br>"
if(HUSK in H.mutations)
dat += "<span class='danger'>Anatomical structure lost, resuscitation not possible!</span><br>"
dat += span_danger("Anatomical structure lost, resuscitation not possible!")
dat += "<br>"
// Infections, fractures, and IB
var/basic_fracture = 0 // If it's a basic scanner
var/basic_ib = 0 // If it's a basic scanner
@@ -268,36 +305,45 @@
dam_adj = "Moderate"
else
dam_adj = "Mild"
dat += "<span class='warning'>[dam_adj] damage detected to subject's [i.name].</span><br>"
dat += span_warning("[dam_adj] damage detected to subject's [i.name].")
dat += "<br>"
else
dat += "<span class='warning'>Damage detected to subject's [i.name].</span><br>"
dat += span_warning("Damage detected to subject's [i.name].")
dat += "<br>"
if(int_damage_acc >= 1 && (advscan < 2 || !showadvscan))
dat += "<span class='warning'>Damage detected to subject's internal organs.</span><br>"
dat += span_warning("Damage detected to subject's internal organs.")
dat += "<br>"
for(var/obj/item/organ/external/e in H.organs)
if(!e)
continue
// Broken limbs
if(e.status & ORGAN_BROKEN)
if((e.name in list(BP_L_ARM, BP_R_ARM, BP_L_LEG, BP_R_LEG, BP_HEAD, BP_TORSO, BP_GROIN)) && (!e.splinted))
fracture_dat += "<span class='warning'>Unsecured fracture in subject [e.name]. Splinting recommended for transport.</span><br>"
fracture_dat += span_warning("Unsecured fracture in subject [e.name]. Splinting recommended for transport.")
fracture_dat += "<br>"
else if(advscan >= 1 && showadvscan == 1)
fracture_dat += "<span class='warning'>Bone fractures detected in subject [e.name].</span><br>"
fracture_dat += span_warning("Bone fractures detected in subject [e.name].")
fracture_dat += "<br>"
else
basic_fracture = 1
// Infections
if(e.has_infected_wound())
dat += "<span class='warning'>Infected wound detected in subject [e.name]. Disinfection recommended.</span><br>"
dat += span_warning("Infected wound detected in subject [e.name]. Disinfection recommended.")
dat += "<br>"
// IB
for(var/datum/wound/W in e.wounds)
if(W.internal)
if(advscan >= 1 && showadvscan == 1)
ib_dat += "<span class='warning'>Internal bleeding detected in subject [e.name].</span><br>"
ib_dat += span_warning("Internal bleeding detected in subject [e.name].")
ib_dat += "<br>"
else
basic_ib = 1
if(basic_fracture)
fracture_dat += "<span class='warning'>Bone fractures detected. Advanced scanner required for location.</span><br>"
fracture_dat += span_warning("Bone fractures detected. Advanced scanner required for location.")
fracture_dat += "<br>"
if(basic_ib)
ib_dat += "<span class='warning'>Internal bleeding detected. Advanced scanner required for location.</span><br>"
ib_dat += span_warning("Internal bleeding detected. Advanced scanner required for location.")
ib_dat += "<br>"
dat += fracture_dat
dat += infection_dat
dat += ib_dat
@@ -309,25 +355,30 @@
var/blood_type = H.dna.b_type
var/blood_reagent = H.species.blood_reagents
if(blood_volume <= H.species.blood_volume*H.species.blood_level_danger)
dat += "<span class='danger'><i>Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</i></span><br>"
dat += span_danger("<i>Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</i>")
dat += "<br>"
else if(blood_volume <= H.species.blood_volume*H.species.blood_level_warning)
dat += "<span class='danger'><i>Warning: Blood Level VERY LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</i></span><br>"
dat += span_danger("<i>Warning: Blood Level VERY LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</i>")
dat += "<br>"
else if(blood_volume <= H.species.blood_volume*H.species.blood_level_safe)
dat += "<span class='danger'>Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</span><br>"
dat += span_danger("Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].")
dat += "<br>"
else
dat += "<span class='notice'>Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</span><br>"
dat += "<span class='notice'>Subject's pulse: <font color='[H.pulse == PULSE_THREADY || H.pulse == PULSE_NONE ? "red" : "blue"]'>[H.get_pulse(GETPULSE_TOOL)] bpm.</font></span><br>" // VORE Edit: Missed a linebreak here.
dat += span_notice("Blood Level Normal: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].")
dat += "<br>"
dat += span_notice("Subject's pulse: [H.pulse == PULSE_THREADY || H.pulse == PULSE_NONE ? span_red(H.get_pulse(GETPULSE_TOOL) + " bpm") : span_blue(H.get_pulse(GETPULSE_TOOL) + " bpm")].") // VORE Edit: Missed a linebreak here.
dat += "<br>"
if(istype(H.species, /datum/species/xenochimera)) // VOREStation Edit Start: Visible feedback for medmains on Xenochimera.
if(H.stat == DEAD && H.revive_ready == REVIVING_READY && !H.hasnutriment())
dat += "<span class='danger'>WARNING: Protein levels low. Subject incapable of reconstitution.</span>"
dat += span_danger("WARNING: Protein levels low. Subject incapable of reconstitution.")
else if(H.revive_ready == REVIVING_NOW)
dat += "<span class='warning'>Subject is undergoing form reconstruction. Estimated time to finish is in: [round((H.revive_finished - world.time) / 10)] seconds.</span>"
dat += span_warning("Subject is undergoing form reconstruction. Estimated time to finish is in: [round((H.revive_finished - world.time) / 10)] seconds.")
else if(H.revive_ready == REVIVING_DONE)
dat += "<span class='notice'>Subject is ready to hatch. Transfer to dark room for holding with food available.</span>"
dat += span_notice("Subject is ready to hatch. Transfer to dark room for holding with food available.")
else if(H.stat == DEAD)
dat+= "<span class='danger'>WARNING: Defib will cause extreme pain and set subject feral. Sedation recommended prior to defibrillation.</span>"
dat+= span_danger("WARNING: Defib will cause extreme pain and set subject feral. Sedation recommended prior to defibrillation.")
else // If they bop them and they're not dead or reviving, give 'em a little notice.
dat += "<span class='notice'>Subject is a Xenochimera. Treat accordingly.</span>"
dat += span_notice("Subject is a Xenochimera. Treat accordingly.")
// VOREStation Edit End
user.show_message(dat, 1)
if(guide)

View File

@@ -32,14 +32,14 @@
if (user.stat)
return
if (!user.IsAdvancedToolUser())
to_chat(user, "<span class='warning'>You don't have the dexterity to do this!</span>")
to_chat(user, span_warning("You don't have the dexterity to do this!"))
return
if(reagents.total_volume)
var/list/blood_traces = list()
for(var/datum/reagent/R in reagents.reagent_list)
if(R.id != "blood")
reagents.clear_reagents()
to_chat(user, "<span class='warning'>The sample was contaminated! Please insert another sample</span>")
to_chat(user, span_warning("The sample was contaminated! Please insert another sample"))
return
else
blood_traces = params2list(R.data["trace_chem"])

View File

@@ -100,11 +100,11 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
if(ishuman(M))
scan_mob(M, user)
else
to_chat(user,"<span class='warning'>Not a compatible subject to work with!</span>")
to_chat(user,span_warning("Not a compatible subject to work with!"))
/obj/item/sleevemate/attack_self(mob/living/user)
if(!stored_mind)
to_chat(user,"<span class='warning'>No stored mind in \the [src].</span>")
to_chat(user,span_warning("No stored mind in \the [src]."))
return
var/choice = tgui_alert(user,"What would you like to do?","Stored: [stored_mind.name]",list("Delete","Backup","Cancel"))
@@ -112,10 +112,10 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
return
switch(choice)
if("Delete")
to_chat(user,"<span class='notice'>Internal copy of [stored_mind.name] deleted.</span>")
to_chat(user,span_notice("Internal copy of [stored_mind.name] deleted."))
clear_mind()
if("Backup")
to_chat(user,"<span class='notice'>Internal copy of [stored_mind.name] backed up to database.</span>")
to_chat(user,span_notice("Internal copy of [stored_mind.name] backed up to database."))
our_db.m_backup(stored_mind,null,one_time = TRUE)
if("Cancel")
return
@@ -183,7 +183,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
output += "<br>"
output += "<b>Soulcatcher detected ([SC.brainmobs.len] minds)</b><br>"
for(var/mob/living/carbon/brain/caught_soul/mind in SC.brainmobs)
output += "<i>[mind.name]: </i> [mind.transient == FALSE ? "\[<a href='?src=\ref[src];target=\ref[H];mindrelease=[mind.name]'>Load</a>\]" : "<span class='warning'>Incompatible</span>"]<br>"
output += "<i>[mind.name]: </i> [mind.transient == FALSE ? "\[<a href='?src=\ref[src];target=\ref[H];mindrelease=[mind.name]'>Load</a>\]" : span_warning("Incompatible")]<br>"
if(stored_mind)
output += "<b>Store in Soulcatcher: </b>\[<a href='?src=\ref[src];target=\ref[H];mindput=1'>Perform</a>\]<br>"
@@ -195,23 +195,23 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
//Sanity checking/href-hacking checking
if(usr.get_active_hand() != src)
to_chat(usr,"<span class='warning'>You're not holding \the [src].</span>")
to_chat(usr,span_warning("You're not holding \the [src]."))
return
var/target_ref = href_list["target"]
var/mob/living/target = locate(target_ref) in mob_list
if(!target)
to_chat(usr,"<span class='warning'>Unable to operate on that target.</span>")
to_chat(usr,span_warning("Unable to operate on that target."))
return
if(!usr.Adjacent(target))
to_chat(usr,"<span class='warning'>You are too far from that target.</span>")
to_chat(usr,span_warning("You are too far from that target."))
return
//The actual options
if(href_list["mindscan"])
if(!target.mind || (target.mind.name in prevent_respawns))
to_chat(usr,"<span class='warning'>Target seems totally braindead.</span>")
to_chat(usr,span_warning("Target seems totally braindead."))
return
var/nif
@@ -220,55 +220,55 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
nif = H.nif
persist_nif_data(H)
usr.visible_message("[usr] begins scanning [target]'s mind.","<span class='notice'>You begin scanning [target]'s mind.</span>")
usr.visible_message("[usr] begins scanning [target]'s mind.",span_notice("You begin scanning [target]'s mind."))
if(do_after(usr,8 SECONDS,target))
our_db.m_backup(target.mind,nif,one_time = TRUE)
to_chat(usr,"<span class='notice'>Mind backed up!</span>")
to_chat(usr,span_notice("Mind backed up!"))
else
to_chat(usr,"<span class='warning'>You must remain close to your target!</span>")
to_chat(usr,span_warning("You must remain close to your target!"))
return
if(href_list["bodyscan"])
if(!ishuman(target))
to_chat(usr,"<span class='warning'>Target is not of an acceeptable body type.</span>")
to_chat(usr,span_warning("Target is not of an acceeptable body type."))
return
var/mob/living/carbon/human/H = target
usr.visible_message("[usr] begins scanning [target]'s body.","<span class='notice'>You begin scanning [target]'s body.</span>")
usr.visible_message("[usr] begins scanning [target]'s body.",span_notice("You begin scanning [target]'s body."))
if(do_after(usr,8 SECONDS,target))
var/datum/transhuman/body_record/BR = new()
BR.init_from_mob(H, TRUE, TRUE, database_key = db_key)
to_chat(usr,"<span class='notice'>Body scanned!</span>")
to_chat(usr,span_notice("Body scanned!"))
else
to_chat(usr,"<span class='warning'>You must remain close to your target!</span>")
to_chat(usr,span_warning("You must remain close to your target!"))
return
if(href_list["mindsteal"])
if(!target.mind || (target.mind.name in prevent_respawns))
to_chat(usr,"<span class='warning'>Target seems totally braindead.</span>")
to_chat(usr,span_warning("Target seems totally braindead."))
return
if(stored_mind)
to_chat(usr,"<span class='warning'>There is already someone's mind stored inside</span>")
to_chat(usr,span_warning("There is already someone's mind stored inside"))
return
var/choice = tgui_alert(usr,"This will remove the target's mind from their body (and from the game as long as they're in the sleevemate). You can put them into a (mindless) body, a NIF, or back them up for normal resleeving, but you should probably have a plan in advance so you don't leave them unable to interact for too long. Continue?","Confirmation",list("Continue","Cancel"))
if(choice == "Continue" && usr.get_active_hand() == src && usr.Adjacent(target))
usr.visible_message("<span class='warning'>[usr] begins downloading [target]'s mind!</span>","<span class='notice'>You begin downloading [target]'s mind!</span>")
usr.visible_message(span_warning("[usr] begins downloading [target]'s mind!"),span_notice("You begin downloading [target]'s mind!"))
if(do_after(usr,35 SECONDS,target)) //This is powerful, yo.
if(!stored_mind && target.mind)
get_mind(target)
to_chat(usr,"<span class='notice'>Mind downloaded!</span>")
to_chat(usr,span_notice("Mind downloaded!"))
return
if(href_list["mindput"])
if(!stored_mind)
to_chat(usr,"<span class='warning'>\The [src] no longer has a stored mind.</span>")
to_chat(usr,span_warning("\The [src] no longer has a stored mind."))
return
var/mob/living/carbon/human/H = target
@@ -289,11 +289,11 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
put_mind(sleevemate_mob)
SC.catch_mob(sleevemate_mob)
to_chat(usr,"<span class='notice'>Mind transferred into Soulcatcher!</span>")
to_chat(usr,span_notice("Mind transferred into Soulcatcher!"))
if(href_list["mindupload"])
if(!stored_mind)
to_chat(usr,"<span class='warning'>\The [src] no longer has a stored mind.</span>")
to_chat(usr,span_warning("\The [src] no longer has a stored mind."))
return
if(!istype(target))
@@ -302,20 +302,20 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
if(istype(target, /mob/living/carbon/human))
var/mob/living/carbon/human/H = target
if(H.resleeve_lock && stored_mind.loaded_from_ckey != H.resleeve_lock)
to_chat(usr,"<span class='warning'>\The [H] is protected from impersonation!</span>")
to_chat(usr,span_warning("\The [H] is protected from impersonation!"))
return
usr.visible_message("<span class='warning'>[usr] begins uploading someone's mind into [target]!</span>","<span class='notice'>You begin uploading a mind into [target]!</span>")
usr.visible_message(span_warning("[usr] begins uploading someone's mind into [target]!"),span_notice("You begin uploading a mind into [target]!"))
if(do_after(usr,35 SECONDS,target))
if(!stored_mind)
to_chat(usr,"<span class='warning'>\The [src] no longer has a stored mind.</span>")
to_chat(usr,span_warning("\The [src] no longer has a stored mind."))
return
put_mind(target)
to_chat(usr,"<span class='notice'>Mind transferred into [target]!</span>")
to_chat(usr,span_notice("Mind transferred into [target]!"))
if(href_list["mindrelease"])
if(stored_mind)
to_chat(usr,"<span class='warning'>There is already someone's mind stored inside</span>")
to_chat(usr,span_warning("There is already someone's mind stored inside"))
return
var/mob/living/carbon/human/H = target
var/datum/nifsoft/soulcatcher/SC = H.nif.imp_check(NIF_SOULCATCHER)
@@ -325,9 +325,9 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
if(soul.name == href_list["mindrelease"])
get_mind(soul)
qdel(soul)
to_chat(usr,"<span class='notice'>Mind downloaded!</span>")
to_chat(usr,span_notice("Mind downloaded!"))
return
to_chat(usr,"<span class='notice'>Unable to find that mind in Soulcatcher!</span>")
to_chat(usr,span_notice("Unable to find that mind in Soulcatcher!"))
/obj/item/sleevemate/update_icon()
if(stored_mind)
@@ -341,7 +341,7 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
var/choice = tgui_input_list(user, "How would you like to modify the [src]?", "", choices)
if(!choice || !(choice in choices)) return
//CHOMPEdit End
to_chat(user,"<span class='danger'>You hack [src]!</span>")
to_chat(user,span_danger("You hack [src]!"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, src.loc)
spark_system.start()

View File

@@ -24,17 +24,17 @@
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 class='alert'>Warning: Subject is starving!</span>")
user.show_message(span_alert("Warning: Subject is starving!"))
else if (S.nutrition < S.get_hunger_nutrition())
user.show_message("<span class='warning'>Warning: Subject is hungry.</span>")
user.show_message(span_warning("Warning: Subject is hungry."))
user.show_message("Electric change strength: [S.power_charge]")
if(S.has_AI())
var/datum/ai_holder/simple_mob/xenobio_slime/AI = S.ai_holder
if(AI.resentment)
user.show_message("<span class='warning'>Warning: Subject is harboring resentment.</span>")
user.show_message(span_warning("Warning: Subject is harboring resentment."))
if(AI.rabid)
user.show_message("<span class='danger'>Subject is enraged and extremely dangerous!</span>")
user.show_message(span_danger("Subject is enraged and extremely dangerous!"))
if(S.harmless)
user.show_message("Subject has been pacified.")
if(S.unity)

View File

@@ -24,7 +24,7 @@
/obj/item/camerabug/attack_self(mob/user)
if(user.a_intent == I_HURT)
to_chat(user, "<span class='notice'>You crush the [src] under your foot, breaking it.</span>")
to_chat(user, span_notice("You crush the [src] under your foot, breaking it."))
visible_message("[user.name] crushes the [src] under their foot, breaking it!</span>")
new brokentype(get_turf(src))
spawn(0)
@@ -100,11 +100,11 @@
if(istype(W, /obj/item/bug_monitor))
var/obj/item/bug_monitor/SM = W
if(!linkedmonitor)
to_chat(user, "<span class='notice'>\The [src] has been paired with \the [SM].</span>")
to_chat(user, span_notice("\The [src] has been paired with \the [SM]."))
SM.pair(src)
linkedmonitor = SM
else if (linkedmonitor == SM)
to_chat(user, "<span class='notice'>\The [src] has been unpaired from \the [SM].</span>")
to_chat(user, span_notice("\The [src] has been unpaired from \the [SM]."))
linkedmonitor.unpair(src)
linkedmonitor = null
else
@@ -114,7 +114,7 @@
if(isturf(loc))
anchored = !anchored
to_chat(user, "<span class='notice'>You [anchored ? "" : "un"]secure \the [src].</span>")
to_chat(user, span_notice("You [anchored ? "" : "un"]secure \the [src]."))
update_icon()
return
@@ -202,7 +202,7 @@
if(!T || !is_on_same_plane_or_station(T.z, user.z) || !selected_camera.can_use())
user.unset_machine()
user.reset_view(null)
to_chat(user, "<span class='notice'>Link to [selected_camera] has been lost.</span>")
to_chat(user, span_notice("Link to [selected_camera] has been lost."))
src.unpair(selected_camera.loc)
sleep(90)
else
@@ -217,8 +217,8 @@
return
if(!cameras.len)
to_chat(user, "<span class='warning'>No paired cameras detected!</span>")
to_chat(user, "<span class='warning'>Bring a camera in contact with this device to pair the camera.</span>")
to_chat(user, span_warning("No paired cameras detected!"))
to_chat(user, span_warning("Bring a camera in contact with this device to pair the camera."))
return
return 1

View File

@@ -143,7 +143,7 @@
turn_off()
else
turn_on()
to_chat(user, "<span class='notice'>You switch \the [src] [on ? "on" : "off"].</span>")
to_chat(user, span_notice("You switch \the [src] [on ? "on" : "off"]."))
/obj/item/suit_cooling_unit/attackby(obj/item/W as obj, mob/user as mob)
if (W.has_tool_quality(TOOL_SCREWDRIVER))
@@ -238,7 +238,7 @@
/obj/item/suit_cooling_unit/emergency/attackby(obj/item/W as obj, mob/user as mob)
if (W.has_tool_quality(TOOL_SCREWDRIVER))
to_chat(user, "<span class='warning'>This cooler's cell is permanently installed!</span>")
to_chat(user, span_warning("This cooler's cell is permanently installed!"))
return
return ..()

View File

@@ -40,13 +40,13 @@
/obj/item/taperecorder/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/rectape))
if(mytape)
to_chat(user, "<span class='notice'>There's already a tape inside.</span>")
to_chat(user, span_notice("There's already a tape inside."))
return
if(!user.unEquip(I))
return
I.forceMove(src)
mytape = I
to_chat(user, "<span class='notice'>You insert [I] into [src].</span>")
to_chat(user, span_notice("You insert [I] into [src]."))
update_icon()
return
..()
@@ -73,15 +73,15 @@
if(usr.incapacitated())
return
if(!mytape)
to_chat(usr, "<span class='notice'>There's no tape in \the [src].</span>")
to_chat(usr, span_notice("There's no tape in \the [src]."))
return
if(emagged)
to_chat(usr, "<span class='notice'>The tape seems to be stuck inside.</span>")
to_chat(usr, span_notice("The tape seems to be stuck inside."))
return
if(playing || recording)
stop()
to_chat(usr, "<span class='notice'>You remove [mytape] from [src].</span>")
to_chat(usr, span_notice("You remove [mytape] from [src]."))
usr.put_in_hands(mytape)
mytape = null
update_icon()
@@ -125,17 +125,17 @@
if(emagged == 0)
emagged = 1
recording = 0
to_chat(user, "<span class='warning'>PZZTTPFFFT</span>")
to_chat(user, span_warning("PZZTTPFFFT"))
update_icon()
return 1
else
to_chat(user, "<span class='warning'>It is already emagged!</span>")
to_chat(user, span_warning("It is already emagged!"))
/obj/item/taperecorder/proc/explode()
var/turf/T = get_turf(loc)
if(ismob(loc))
var/mob/M = loc
to_chat(M, "<span class='danger'>\The [src] explodes!</span>")
to_chat(M, span_danger("\The [src] explodes!"))
if(T)
T.hotspot_expose(700,125)
explosion(T, -1, -1, 0, 4)
@@ -149,22 +149,22 @@
if(usr.incapacitated())
return
if(!mytape)
to_chat(usr, "<span class='notice'>There's no tape!</span>")
to_chat(usr, span_notice("There's no tape!"))
return
if(mytape.ruined)
to_chat(usr, "<span class='warning'>The tape recorder makes a scratchy noise.</span>")
to_chat(usr, span_warning("The tape recorder makes a scratchy noise."))
return
if(recording)
to_chat(usr, "<span class='notice'>You're already recording!</span>")
to_chat(usr, span_notice("You're already recording!"))
return
if(playing)
to_chat(usr, "<span class='notice'>You can't record when playing!</span>")
to_chat(usr, span_notice("You can't record when playing!"))
return
if(emagged)
to_chat(usr, "<span class='warning'>The tape recorder makes a scratchy noise.</span>")
to_chat(usr, span_warning("The tape recorder makes a scratchy noise."))
return
if(mytape.used_capacity < mytape.max_capacity)
to_chat(usr, "<span class='notice'>Recording started.</span>")
to_chat(usr, span_notice("Recording started."))
recording = 1
update_icon()
@@ -177,14 +177,14 @@
if(mytape.used_capacity >= mytape.max_capacity)
if(ismob(loc))
var/mob/M = loc
to_chat(M, "<span class='notice'>The tape is full.</span>")
to_chat(M, span_notice("The tape is full."))
stop_recording()
update_icon()
return
else
to_chat(usr, "<span class='notice'>The tape is full.</span>")
to_chat(usr, span_notice("The tape is full."))
/obj/item/taperecorder/proc/stop_recording()
@@ -194,7 +194,7 @@
mytape.record_speech("Recording stopped.")
if(ismob(loc))
var/mob/M = loc
to_chat(M, "<span class='notice'>Recording stopped.</span>")
to_chat(M, span_notice("Recording stopped."))
/obj/item/taperecorder/verb/stop()
@@ -209,10 +209,10 @@
else if(playing)
playing = 0
update_icon()
to_chat(usr, "<span class='notice'>Playback stopped.</span>")
to_chat(usr, span_notice("Playback stopped."))
return
else
to_chat(usr, "<span class='notice'>Stop what?</span>")
to_chat(usr, span_notice("Stop what?"))
/obj/item/taperecorder/verb/wipe_tape()
@@ -222,19 +222,19 @@
if(usr.incapacitated())
return
if(emagged)
to_chat(usr, "<span class='warning'>The tape recorder makes a scratchy noise.</span>")
to_chat(usr, span_warning("The tape recorder makes a scratchy noise."))
return
if(mytape.ruined)
to_chat(usr, "<span class='warning'>The tape recorder makes a scratchy noise.</span>")
to_chat(usr, span_warning("The tape recorder makes a scratchy noise."))
return
if(recording || playing)
to_chat(usr, "<span class='notice'>You can't wipe the tape while playing or recording!</span>")
to_chat(usr, span_notice("You can't wipe the tape while playing or recording!"))
return
else
if(mytape.storedinfo) mytape.storedinfo.Cut()
if(mytape.timestamp) mytape.timestamp.Cut()
mytape.used_capacity = 0
to_chat(usr, "<span class='notice'>You wipe the tape.</span>")
to_chat(usr, span_notice("You wipe the tape."))
return
@@ -245,20 +245,20 @@
if(usr.incapacitated())
return
if(!mytape)
to_chat(usr, "<span class='notice'>There's no tape!</span>")
to_chat(usr, span_notice("There's no tape!"))
return
if(mytape.ruined)
to_chat(usr, "<span class='warning'>The tape recorder makes a scratchy noise.</span>")
to_chat(usr, span_warning("The tape recorder makes a scratchy noise."))
return
if(recording)
to_chat(usr, "<span class='notice'>You can't playback when recording!</span>")
to_chat(usr, span_notice("You can't playback when recording!"))
return
if(playing)
to_chat(usr, "<span class='notice'>You're already playing!</span>")
to_chat(usr, span_notice("You're already playing!"))
return
playing = 1
update_icon()
to_chat(usr, "<span class='notice'>Playing started.</span>")
to_chat(usr, span_notice("Playing started."))
for(var/i=1 , i < mytape.max_capacity , i++)
if(!mytape || !playing)
break
@@ -317,22 +317,22 @@
if(usr.incapacitated())
return
if(!mytape)
to_chat(usr, "<span class='notice'>There's no tape!</span>")
to_chat(usr, span_notice("There's no tape!"))
return
if(mytape.ruined)
to_chat(usr, "<span class='warning'>The tape recorder makes a scratchy noise.</span>")
to_chat(usr, span_warning("The tape recorder makes a scratchy noise."))
return
if(emagged)
to_chat(usr, "<span class='warning'>The tape recorder makes a scratchy noise.</span>")
to_chat(usr, span_warning("The tape recorder makes a scratchy noise."))
return
if(!canprint)
to_chat(usr, "<span class='notice'>The recorder can't print that fast!</span>")
to_chat(usr, span_notice("The recorder can't print that fast!"))
return
if(recording || playing)
to_chat(usr, "<span class='notice'>You can't print the transcript while playing or recording!</span>")
to_chat(usr, span_notice("You can't print the transcript while playing or recording!"))
return
to_chat(usr, "<span class='notice'>Transcript printed.</span>")
to_chat(usr, span_notice("Transcript printed."))
var/obj/item/paper/P = new /obj/item/paper(get_turf(src))
var/t1 = "<B>Transcript:</B><BR><BR>"
for(var/i=1,mytape.storedinfo.len >= i,i++)
@@ -394,7 +394,7 @@
/obj/item/rectape/attack_self(mob/user)
if(!ruined)
to_chat(user, "<span class='notice'>You pull out all the tape!</span>")
to_chat(user, span_notice("You pull out all the tape!"))
ruin()
@@ -421,10 +421,10 @@
/obj/item/rectape/attackby(obj/item/I, mob/user, params)
if(ruined && I.has_tool_quality(TOOL_SCREWDRIVER))
to_chat(user, "<span class='notice'>You start winding the tape back in...</span>")
to_chat(user, span_notice("You start winding the tape back in..."))
playsound(src, I.usesound, 50, 1)
if(do_after(user, 120 * I.toolspeed, target = src))
to_chat(user, "<span class='notice'>You wound the tape back in.</span>")
to_chat(user, span_notice("You wound the tape back in."))
fix()
return
else if(istype(I, /obj/item/pen))
@@ -434,10 +434,10 @@
new_name = sanitizeSafe(new_name)
if(new_name)
name = "tape - '[new_name]'"
to_chat(user, "<span class='notice'>You label the tape '[new_name]'.</span>")
to_chat(user, span_notice("You label the tape '[new_name]'."))
else
name = "tape"
to_chat(user, "<span class='notice'>You scratch off the label.</span>")
to_chat(user, span_notice("You scratch off the label."))
return
..()

View File

@@ -32,7 +32,7 @@ effective or pretty fucking useless.
/obj/item/batterer/attack_self(mob/living/carbon/user as mob, flag = 0, emp = 0)
if(!user) return
if(times_used >= max_uses)
to_chat(user, "<span class='warning'>The mind batterer has been burnt out!</span>")
to_chat(user, span_warning("The mind batterer has been burnt out!"))
return
var/list/affected = list()
@@ -44,15 +44,15 @@ effective or pretty fucking useless.
M.Weaken(rand(10,20))
if(prob(25))
M.Stun(rand(5,10))
to_chat(M, "<span class='danger'>You feel a tremendous, paralyzing wave flood your mind.</span>")
to_chat(M, span_danger("You feel a tremendous, paralyzing wave flood your mind."))
else
to_chat(M, "<span class='danger'>You feel a sudden, electric jolt travel through your head.</span>")
to_chat(M, span_danger("You feel a sudden, electric jolt travel through your head."))
add_attack_logs(user,affected,"Used a [name]")
playsound(src, 'sound/misc/interference.ogg', 50, 1)
to_chat(user, "<span class='notice'>You trigger [src].</span>")
to_chat(user, span_notice("You trigger [src]."))
times_used += 1
if(times_used >= max_uses)
icon_state = "battererburnt"

View File

@@ -14,19 +14,19 @@
var/turf/location = get_turf(src) // For admin logs
if(istype(item, /obj/item/tank))
if(tank_one && tank_two)
to_chat(user, "<span class='warning'>There are already two tanks attached, remove one first.</span>")
to_chat(user, span_warning("There are already two tanks attached, remove one first."))
return
if(!tank_one)
tank_one = item
user.drop_item()
item.forceMove(src)
to_chat(user, "<span class='notice'>You attach the tank to the transfer valve.</span>")
to_chat(user, span_notice("You attach the tank to the transfer valve."))
else if(!tank_two)
tank_two = item
user.drop_item()
item.forceMove(src)
to_chat(user, "<span class='notice'>You attach the tank to the transfer valve.</span>")
to_chat(user, span_notice("You attach the tank to the transfer valve."))
message_admins("[key_name_admin(user)] attached both tanks to a transfer valve. [ADMIN_JMP(location)]")
log_game("[key_name_admin(user)] attached both tanks to a transfer valve.")
@@ -36,15 +36,15 @@
else if(isassembly(item))
var/obj/item/assembly/A = item
if(A.secured)
to_chat(user, "<span class='notice'>The device is secured.</span>")
to_chat(user, span_notice("The device is secured."))
return
if(attached_device)
to_chat(user, "<span class='warning'>There is already an device attached to the valve, remove it first.</span>")
to_chat(user, span_warning("There is already an device attached to the valve, remove it first."))
return
user.remove_from_mob(item)
attached_device = A
A.forceMove(src)
to_chat(user, "<span class='notice'>You attach the [item] to the valve controls and secure it.</span>")
to_chat(user, span_notice("You attach the [item] to the valve controls and secure it."))
A.holder = src
A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb).

View File

@@ -18,20 +18,20 @@
if(langset)
if(langset && ((langset.flags & NONVERBAL) || (langset.flags & HIVEMIND) || (!langset.machine_understands)))
//Nonverbal means no spoken words to translate, so I didn't see the need to remove it.
to_chat(user, "<span class='warning'>\The [src] cannot output that language.</span>")
to_chat(user, span_warning("\The [src] cannot output that language."))
return
else
listening = 1
listening_objects |= src
if(mult_icons)
icon_state = "[initial(icon_state)]1"
to_chat(user, "<span class='notice'>You enable \the [src], translating into [langset.name].</span>")
to_chat(user, span_notice("You enable \the [src], translating into [langset.name]."))
else //Turning OFF
listening = 0
listening_objects -= src
langset = null
icon_state = "[initial(icon_state)]"
to_chat(user, "<span class='notice'>You disable \the [src].</span>")
to_chat(user, span_notice("You disable \the [src]."))
/obj/item/universal_translator/hear_talk(mob/M, list/message_pieces, verb)
if(!listening || !istype(M))
@@ -71,7 +71,7 @@
if(!L.say_understands(null, langset))
new_message = langset.scramble(new_message)
to_chat(L, "<span class='filter_say'><i><b>[src]</b> translates, </i>\"<span class='[langset.colour]'>[new_message]</span>\"</span>")
to_chat(L, span_filter_say("<i><b>[src]</b> translates, </i>\"<span class='[langset.colour]'>[new_message]</span>\""))
/obj/item/universal_translator/proc/user_understands(mob/M, mob/living/L, list/message_pieces)
for(var/datum/multilingual_say_piece/S in message_pieces)
@@ -87,4 +87,4 @@
w_class = ITEMSIZE_TINY
slot_flags = SLOT_EARS
visual = 0
audio = 1
audio = 1

View File

@@ -94,15 +94,15 @@
/obj/item/perfect_tele/proc/unload_ammo(mob/user, var/ignore_inactive_hand_check = 0)
if(battery_lock)
to_chat(user,"<span class='notice'>[src] does not have a battery port.</span>")
to_chat(user,span_notice("[src] does not have a battery port."))
return
if((user.get_inactive_hand() == src || ignore_inactive_hand_check) && power_source)
to_chat(user,"<span class='notice'>You eject \the [power_source] from \the [src].</span>")
to_chat(user,span_notice("You eject \the [power_source] from \the [src]."))
user.put_in_hands(power_source)
power_source = null
update_icon()
else
to_chat(user,"<span class='notice'>[src] does not have a power cell.</span>")
to_chat(user,span_notice("[src] does not have a power cell."))
/obj/item/perfect_tele/proc/check_menu(var/mob/living/user)
if(!istype(user))
@@ -132,7 +132,7 @@ This device records all warnings given and teleport events for admin review in c
else if(choice == "New Beacon")
if(beacons_left <= 0)
to_chat(user, "<span class='warning'>The translocator can't support any more beacons!</span>")
to_chat(user, span_warning("The translocator can't support any more beacons!"))
return
var/new_name = html_encode(tgui_input_text(user,"New beacon's name (2-20 char):","[src]",null,20))
@@ -140,11 +140,11 @@ This device records all warnings given and teleport events for admin review in c
return
if(length(new_name) > 20 || length(new_name) < 2)
to_chat(user, "<span class='warning'>Entered name length invalid (must be longer than 2, no more than than 20).</span>")
to_chat(user, span_warning("Entered name length invalid (must be longer than 2, no more than than 20)."))
return
if(new_name in beacons)
to_chat(user, "<span class='warning'>No duplicate names, please. '[new_name]' exists already.</span>")
to_chat(user, span_warning("No duplicate names, please. '[new_name]' exists already."))
return
var/obj/item/perfect_tele_beacon/nb = new(get_turf(src))
@@ -168,19 +168,19 @@ This device records all warnings given and teleport events for admin review in c
power_source.update_icon() //Why doesn't a cell do this already? :|
user.unEquip(power_source)
power_source.forceMove(src)
to_chat(user,"<span class='notice'>You insert \the [power_source] into \the [src].</span>")
to_chat(user,span_notice("You insert \the [power_source] into \the [src]."))
update_icon()
else if(istype(W,/obj/item/perfect_tele_beacon))
var/obj/item/perfect_tele_beacon/tb = W
if(tb.tele_name in beacons)
to_chat(user,"<span class='notice'>You re-insert \the [tb] into \the [src].</span>")
to_chat(user,span_notice("You re-insert \the [tb] into \the [src]."))
beacons -= tb.tele_name
user.unEquip(tb)
qdel(tb)
beacons_left++
else
to_chat(user,"<span class='notice'>\The [tb] doesn't belong to \the [src].</span>")
to_chat(user,span_notice("\The [tb] doesn't belong to \the [src]."))
return
else
..()
@@ -188,12 +188,12 @@ This device records all warnings given and teleport events for admin review in c
/obj/item/perfect_tele/proc/teleport_checks(mob/living/target,mob/living/user)
//Uhhuh, need that power source
if(!power_source)
to_chat(user,"<span class='warning'>\The [src] has no power source!</span>")
to_chat(user,span_warning("\The [src] has no power source!"))
return FALSE
//Check for charge
if((!power_source.check_charge(charge_cost)) && (!power_source.fully_charged()))
to_chat(user,"<span class='warning'>\The [src] does not have enough power left!</span>")
to_chat(user,span_warning("\The [src] does not have enough power left!"))
return FALSE
//Only mob/living need apply.
@@ -202,24 +202,24 @@ This device records all warnings given and teleport events for admin review in c
//No, you can't teleport buckled people.
if(target.buckled)
to_chat(user,"<span class='warning'>The target appears to be attached to something...</span>")
to_chat(user,span_warning("The target appears to be attached to something..."))
return FALSE
//No, you can't teleport if it's not ready yet.
if(!ready)
to_chat(user,"<span class='warning'>\The [src] is still recharging!</span>")
to_chat(user,span_warning("\The [src] is still recharging!"))
return FALSE
//No, you can't teleport if there's no destination.
if(!destination)
to_chat(user,"<span class='warning'>\The [src] doesn't have a current valid destination set!</span>")
to_chat(user,span_warning("\The [src] doesn't have a current valid destination set!"))
return FALSE
//No, you can't teleport if there's a jammer.
if(is_jammed(src) || is_jammed(destination))
var/area/our_area = get_area(src)
if(!our_area.no_comms) //I don't actually want this to block teleporters, just comms
to_chat(user,"<span class='warning'>\The [src] refuses to teleport you, due to strong interference!</span>")
to_chat(user,span_warning("\The [src] refuses to teleport you, due to strong interference!"))
return FALSE
//No, you can't port to or from away missions. Stupidly complicated check.
@@ -233,12 +233,12 @@ This device records all warnings given and teleport events for admin review in c
if(!longrange)
if( (uT.z != dT.z) && (!(dT.z in dat["z_level_detection"])) )
to_chat(user,"<span class='warning'>\The [src] can't teleport you that far!</span>")
to_chat(user,span_warning("\The [src] can't teleport you that far!"))
return FALSE
if(!abductor)
if(uT.block_tele || dT.block_tele)
to_chat(user,"<span class='warning'>Something is interfering with \the [src]!</span>")
to_chat(user,span_warning("Something is interfering with \the [src]!"))
return FALSE
//Seems okay to me!
@@ -257,8 +257,8 @@ This device records all warnings given and teleport events for admin review in c
if(!L.stat)
if(L != user)
if(L.a_intent != I_HELP || L.has_AI())
to_chat(user, "<span class='notice'>[L] is resisting your attempt to teleport them with \the [src].</span>")
to_chat(L, "<span class='danger'> [user] is trying to teleport you with \the [src]!</span>")
to_chat(user, span_notice("[L] is resisting your attempt to teleport them with \the [src]."))
to_chat(L, span_danger(" [user] is trying to teleport you with \the [src]!"))
if(!do_after(user, 30, L))
return
@@ -280,7 +280,7 @@ This device records all warnings given and teleport events for admin review in c
var/list/wrong_choices = beacons - destination.tele_name
var/wrong_name = pick(wrong_choices)
destination = beacons[wrong_name]
to_chat(user,"<span class='warning'>\The [src] malfunctions and sends you to the wrong beacon!</span>")
to_chat(user,span_warning("\The [src] malfunctions and sends you to the wrong beacon!"))
//Destination beacon vore checking
var/turf/dT = get_turf(destination)
@@ -303,9 +303,9 @@ This device records all warnings given and teleport events for admin review in c
// CHOMPEdit Start - Making pref checks work properly
if(target.devourable && target.can_be_drop_prey && B.owner != target)
televored = TRUE
to_chat(target,"<span class='vwarning'>\The [src] teleports you right into \a [lowertext(real_dest.name)]!</span>")
to_chat(target,span_vwarning("\The [src] teleports you right into \a [lowertext(real_dest.name)]!"))
else
to_chat(target,"<span class='vwarning'>\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!</span>")
to_chat(target,span_vwarning("\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!"))
real_dest = dT //Nevermind!
// CHOMPEdit End
//Phase-out effect
@@ -327,7 +327,7 @@ This device records all warnings given and teleport events for admin review in c
//Move them, and televore if necessary
G.affecting.forceMove(real_dest)
if(televored)
to_chat(target,"<span class='warning'>\The [src] teleports you right into \a [lowertext(real_dest.name)]!</span>")
to_chat(target,span_warning("\The [src] teleports you right into \a [lowertext(real_dest.name)]!"))
//Phase-in effect for grabbed person
phase_in(G.affecting,get_turf(G.affecting))
@@ -412,11 +412,11 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/perfect_tele_beacon/stat
if(confirm == "Eat it!")
var/obj/belly/bellychoice = tgui_input_list(usr, "Which belly?","Select A Belly", L.vore_organs)
if(bellychoice)
user.visible_message("<span class='warning'>[user] is trying to stuff \the [src] into [user.gender == MALE ? "his" : user.gender == FEMALE ? "her" : "their"] [bellychoice.name]!</span>","<span class='notice'>You begin putting \the [src] into your [bellychoice.name]!</span>")
user.visible_message(span_warning("[user] is trying to stuff \the [src] into [user.gender == MALE ? "his" : user.gender == FEMALE ? "her" : "their"] [bellychoice.name]!"),span_notice("You begin putting \the [src] into your [bellychoice.name]!"))
if(do_after(user,5 SECONDS,src))
user.unEquip(src)
forceMove(bellychoice)
user.visible_message("<span class='warning'>[user] eats a telebeacon!</span>","You eat the the beacon!")
user.visible_message(span_warning("[user] eats a telebeacon!"),"You eat the the beacon!")
// A single-beacon variant for use by miners (or whatever)
/obj/item/perfect_tele/one_beacon
@@ -431,7 +431,7 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/perfect_tele_beacon/stat
/obj/item/perfect_tele/one_beacon/teleport_checks(mob/living/target,mob/living/user)
var/turf/T = get_turf(destination)
if(T && user.z != T.z)
to_chat(user,"<span class='warning'>\The [src] is too far away from the beacon. Try getting closer first!</span>")
to_chat(user,span_warning("\The [src] is too far away from the beacon. Try getting closer first!"))
return FALSE
return ..()
*/
@@ -476,8 +476,8 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/perfect_tele_beacon/stat
return
recharging = 1
update_icon()
user.visible_message("<span class='notice'>[user] opens \the [src] and starts pumping the handle.</span>", \
"<span class='notice'>You open \the [src] and start pumping the handle.</span>")
user.visible_message(span_notice("[user] opens \the [src] and starts pumping the handle."), \
span_notice("You open \the [src] and start pumping the handle."))
while(recharging)
if(!do_after(user, 10, src))
break

View File

@@ -71,14 +71,14 @@
if(nc)
channel = nc
camera.c_tag = channel
to_chat(usr, "<span class='notice'>New channel name - '[channel]' is set</span>")
to_chat(usr, span_notice("New channel name - '[channel]' is set"))
if(href_list["video"])
camera.set_status(!camera.status)
if(camera.status)
to_chat(usr,"<span class='notice'>Video streaming activated. Broadcasting on channel '[channel]'</span>")
to_chat(usr,span_notice("Video streaming activated. Broadcasting on channel '[channel]'"))
show_tvs(loc)
else
to_chat(usr,"<span class='notice'>Video streaming deactivated.</span>")
to_chat(usr,span_notice("Video streaming deactivated."))
hide_tvs()
for(var/obj/machinery/computer/security/telescreen/entertainment/ES as anything in GLOB.entertainment_screens)
ES.stop_showing()
@@ -86,9 +86,9 @@
if(href_list["sound"])
radio.ToggleBroadcast()
if(radio.broadcasting)
to_chat(usr,"<span class='notice'>Audio streaming activated. Broadcasting on frequency [format_frequency(radio.frequency)].</span>")
to_chat(usr,span_notice("Audio streaming activated. Broadcasting on frequency [format_frequency(radio.frequency)]."))
else
to_chat(usr,"<span class='notice'>Audio streaming deactivated.</span>")
to_chat(usr,span_notice("Audio streaming deactivated."))
if(!href_list["close"])
attack_self(usr)
@@ -330,7 +330,7 @@
var/obj/item/TVAssembly/A = new(user)
qdel(S)
user.put_in_hands(A)
to_chat(user, "<span class='notice'>You add the infrared sensor to the robot head.</span>")
to_chat(user, span_notice("You add the infrared sensor to the robot head."))
user.drop_from_inventory(src)
qdel(src)
@@ -349,7 +349,7 @@
if(0)
if(istype(W, /obj/item/robot_parts/robot_component/camera))
var/obj/item/robot_parts/robot_component/camera/CA = W
to_chat(user, "<span class='notice'>You add the camera module to [src]</span>")
to_chat(user, span_notice("You add the camera module to [src]"))
user.drop_item()
qdel(CA)
desc = "This TV camera assembly has a camera module."
@@ -360,22 +360,22 @@
user.drop_item()
qdel(T)
buildstep++
to_chat(user, "<span class='notice'>You add the tape recorder to [src]</span>")
to_chat(user, span_notice("You add the tape recorder to [src]"))
if(2)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
if(!C.use(3))
to_chat(user, "<span class='notice'>You need six cable coils to wire the devices.</span>")
to_chat(user, span_notice("You need six cable coils to wire the devices."))
..()
return
C.use(3)
buildstep++
to_chat(user, "<span class='notice'>You wire the assembly</span>")
to_chat(user, span_notice("You wire the assembly"))
desc = "This TV camera assembly has wires sticking out"
return
if(3)
if(istype(W, /obj/item/tool/wirecutters))
to_chat(user, "<span class='notice'> You trim the wires.</span>")
to_chat(user, span_notice(" You trim the wires."))
buildstep++
desc = "This TV camera assembly needs casing."
return
@@ -384,7 +384,7 @@
var/obj/item/stack/material/steel/S = W
buildstep++
S.use(1)
to_chat(user, "<span class='notice'>You encase the assembly in a Ward-Takeshi casing.</span>")
to_chat(user, span_notice("You encase the assembly in a Ward-Takeshi casing."))
var/turf/T = get_turf(src)
new /obj/item/tvcamera(T)
user.drop_from_inventory(src)

View File

@@ -33,15 +33,15 @@
if(isnull(insults))
playsound(src, 'sound/voice/halt.ogg', 100, 1, vary = 0)
user.audible_message("<span class='warning'>[user]'s [name] rasps, \"[use_message]\"</span>", "<span class='warning'>\The [user] holds up \the [name].</span>", runemessage = "\[TTS Voice\] [use_message]")
user.audible_message(span_warning("[user]'s [name] rasps, \"[use_message]\""), span_warning("\The [user] holds up \the [name]."), runemessage = "\[TTS Voice\] [use_message]")
else
if(insults > 0)
playsound(src, 'sound/voice/binsult.ogg', 100, 1, vary = 0)
// Yes, it used to show the transcription of the sound clip. That was a) inaccurate b) immature as shit.
user.audible_message("<span class='warning'>[user]'s [name] gurgles something indecipherable and deeply offensive.</span>", "<span class='warning'>\The [user] holds up \the [name].</span>", runemessage = "\[TTS Voice\] #&@&^%(*")
user.audible_message(span_warning("[user]'s [name] gurgles something indecipherable and deeply offensive."), span_warning("\The [user] holds up \the [name]."), runemessage = "\[TTS Voice\] #&@&^%(*")
insults--
else
to_chat(user, "<span class='danger'>*BZZZZZZZZT*</span>")
to_chat(user, span_danger("*BZZZZZZZZT*"))
spamcheck = 1
spawn(20)
@@ -49,7 +49,7 @@
/obj/item/hailer/emag_act(var/remaining_charges, var/mob/user)
if(isnull(insults))
to_chat(user, "<span class='danger'>You overload \the [src]'s voice synthesizer.</span>")
to_chat(user, span_danger("You overload \the [src]'s voice synthesizer."))
insults = rand(1, 3)//to prevent dickflooding
return 1
else