* bicon regex run

* Remove all \black

* Goonchat from /vg/ / Goon

Whoo!
Special thanks to @Tastyfish for the macro2html thing so all of our
horrible color macros keep working and don't fail horribly <3

* Fixes and changes n stuff

- Made ping sane again (the fuck PJ)
- Updated chat CSS
- Fixed like one problem with a color macro

* whoops

* Restore /vg/'s pingloop stuff (used to avoid fucking up is_afk)

* Strip problematic tags from tcomm scripts

- <audio>
- <video>
- <iframe>
- <script>

* Fix human examine icon

* Name hotkey elements

* Removed old stylesheet
This commit is contained in:
tigercat2000
2016-06-23 13:56:15 -07:00
committed by Fox McCloud
parent b8c1418b57
commit 732c3b4ae5
127 changed files with 13215 additions and 762 deletions
+5 -2
View File
@@ -120,8 +120,11 @@ including addons and modifications you have made.
See [this](https://www.gnu.org/licenses/why-affero-gpl.html) for more information. See [this](https://www.gnu.org/licenses/why-affero-gpl.html) for more information.
Any files located in the `Paradise/icons/goonstation` and `Paradise/sound/goonstation` Any files located in the
folders, and any of their subdirectories, are licensed under the `Paradise/goon`,
`Paradise/icons/goonstation`, or
`Paradise/sound/goonstation`
directories, or any subdirectories of mentioned directories are licensed under the
Creative Commons 3.0 BY-NC-SA license Creative Commons 3.0 BY-NC-SA license
(https://creativecommons.org/licenses/by-nc-sa/3.0) (https://creativecommons.org/licenses/by-nc-sa/3.0)
+3 -1
View File
@@ -1 +1,3 @@
#define ismovableatom(A) istype(A, /atom/movable) #define isatom(A) istype(A, /atom)
#define ismovableatom(A) istype(A, /atom/movable)
#define isclient(A) istype(A, /client)
+1 -1
View File
@@ -167,7 +167,7 @@ mob
Output_Icon() Output_Icon()
set name = "2. Output Icon" set name = "2. Output Icon"
to_chat(src, "Icon is: \icon[getFlatIcon(src)]") to_chat(src, "Icon is: [bicon(getFlatIcon(src))]")
Label_Icon() Label_Icon()
set name = "3. Label Icon" set name = "3. Label Icon"
+1 -1
View File
@@ -239,7 +239,7 @@ var/syndicate_code_response//Code response for traitors.
set name = "Generate Code Phrase" set name = "Generate Code Phrase"
set category = "Debug" set category = "Debug"
to_chat(world, "\red Code Phrase is: \black [generate_code_phrase()]") to_chat(world, "<span class='warning'>Code Phrase is:</span> [generate_code_phrase()]")
return return
+19 -1
View File
@@ -371,4 +371,22 @@ proc/checkhtml(var/t)
//If you have a problem with sanitize() in chat, when quotes and >, < are displayed as html entites - //If you have a problem with sanitize() in chat, when quotes and >, < are displayed as html entites -
//this is a problem of double-encode(when & becomes &amp;), use sanitize() with encode=0, but not the sanitizeSafe()! //this is a problem of double-encode(when & becomes &amp;), use sanitize() with encode=0, but not the sanitizeSafe()!
/proc/sanitizeSafe(var/input, var/max_length = MAX_MESSAGE_LEN, var/encode = 1, var/trim = 1, var/extra = 1) /proc/sanitizeSafe(var/input, var/max_length = MAX_MESSAGE_LEN, var/encode = 1, var/trim = 1, var/extra = 1)
return sanitize(replace_characters(input, list(">"=" ","<"=" ", "\""="'")), max_length, encode, trim, extra) return sanitize(replace_characters(input, list(">"=" ","<"=" ", "\""="'")), max_length, encode, trim, extra)
//Replaces \red \blue \green \b etc with span classes for to_chat
/proc/replace_text_macro(match, code, rest)
var/regex/text_macro = new("(\\xFF.)(.*)$")
switch(code)
if("\red")
return "<span class='warning'>[text_macro.Replace(rest, /proc/replace_text_macro)]</span>"
if("\blue", "\green")
return "<span class='notice'>[text_macro.Replace(rest, /proc/replace_text_macro)]</span>"
if("\b")
return "<b>[text_macro.Replace(rest, /proc/replace_text_macro)]</b>"
else
return text_macro.Replace(rest, /proc/replace_text_macro)
/proc/macro2html(text)
var/static/regex/text_macro = new("(\\xFF.)(.*)$")
return text_macro.Replace(text, /proc/replace_text_macro)
+1 -5
View File
@@ -248,7 +248,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/pressure = air_contents.return_pressure() var/pressure = air_contents.return_pressure()
var/total_moles = air_contents.total_moles() var/total_moles = air_contents.total_moles()
to_chat(user, "<span class='notice'>Results of analysis of \icon[icon] [target].</span>") to_chat(user, "<span class='notice'>Results of analysis of [bicon(icon)] [target].</span>")
if(total_moles>0) if(total_moles>0)
var/o2_concentration = air_contents.oxygen/total_moles var/o2_concentration = air_contents.oxygen/total_moles
var/n2_concentration = air_contents.nitrogen/total_moles var/n2_concentration = air_contents.nitrogen/total_moles
@@ -1733,10 +1733,6 @@ var/global/list/g_fancy_list_of_types = null
matches[key] = value matches[key] = value
return matches return matches
// Use this to send to a client's chat, no exceptions (except this proc itself).
/proc/to_chat(var/thing, var/output)
thing << output
//Key thing that stops lag. Cornerstone of performance in ss13, Just sitting here, in unsorted.dm. //Key thing that stops lag. Cornerstone of performance in ss13, Just sitting here, in unsorted.dm.
/proc/stoplag() /proc/stoplag()
. = 1 . = 1
+4 -4
View File
@@ -101,9 +101,9 @@ var/list/uplink_items = list()
if(istype(I,/obj/item/weapon/storage/box/) && I.contents.len>0) if(istype(I,/obj/item/weapon/storage/box/) && I.contents.len>0)
for(var/atom/o in I) for(var/atom/o in I)
U.purchase_log += "<BIG>\icon[o]</BIG>" U.purchase_log += "<BIG>[bicon(o)]</BIG>"
else else
U.purchase_log += "<BIG>\icon[I]</BIG>" U.purchase_log += "<BIG>[bicon(I)]</BIG>"
//U.interact(user) //U.interact(user)
return 1 return 1
@@ -1220,7 +1220,7 @@ var/list/uplink_items = list()
bought_items += I.item bought_items += I.item
remaining_TC -= I.cost remaining_TC -= I.cost
U.purchase_log += "<BIG>\icon[C]</BIG>" U.purchase_log += "<BIG>[bicon(C)]</BIG>"
for(var/item in bought_items) for(var/item in bought_items)
new item(C) new item(C)
U.purchase_log += "<BIG>\icon[item]</BIG>" U.purchase_log += "<BIG>[bicon(item)]</BIG>"
+1 -1
View File
@@ -66,7 +66,7 @@ var/const/CAMERA_WIRE_NOTHING2 = 32
C.light_disabled = !C.light_disabled C.light_disabled = !C.light_disabled
if(CAMERA_WIRE_ALARM) if(CAMERA_WIRE_ALARM)
C.visible_message("\icon[C] *beep*", "\icon[C] *beep*") C.visible_message("[bicon(C)] *beep*", "[bicon(C)] *beep*")
return return
/datum/wires/camera/proc/CanDeconstruct() /datum/wires/camera/proc/CanDeconstruct()
+5 -5
View File
@@ -28,15 +28,15 @@ var/const/WIRE_BEACON_RX = 256 // beacon ping recv
/datum/wires/mulebot/UpdatePulsed(var/index) /datum/wires/mulebot/UpdatePulsed(var/index)
switch(index) switch(index)
if(WIRE_POWER1, WIRE_POWER2) if(WIRE_POWER1, WIRE_POWER2)
holder.visible_message("\blue \icon[holder] The charge light flickers.") holder.visible_message("\blue [bicon(holder)] The charge light flickers.")
if(WIRE_AVOIDANCE) if(WIRE_AVOIDANCE)
holder.visible_message("\blue \icon[holder] The external warning lights flash briefly.") holder.visible_message("\blue [bicon(holder)] The external warning lights flash briefly.")
if(WIRE_LOADCHECK) if(WIRE_LOADCHECK)
holder.visible_message("\blue \icon[holder] The load platform clunks.") holder.visible_message("\blue [bicon(holder)] The load platform clunks.")
if(WIRE_MOTOR1, WIRE_MOTOR2) if(WIRE_MOTOR1, WIRE_MOTOR2)
holder.visible_message("\blue \icon[holder] The drive motor whines briefly.") holder.visible_message("\blue [bicon(holder)] The drive motor whines briefly.")
else else
holder.visible_message("\blue \icon[holder] You hear a radio crackle.") holder.visible_message("\blue [bicon(holder)] You hear a radio crackle.")
// HELPER PROCS // HELPER PROCS
+1 -1
View File
@@ -28,7 +28,7 @@ var/const/PARTICLE_LIMIT_POWER_WIRE = 8 // Determines how strong the PA can be.
C.interface_control = !C.interface_control C.interface_control = !C.interface_control
if(PARTICLE_LIMIT_POWER_WIRE) if(PARTICLE_LIMIT_POWER_WIRE)
C.visible_message("\icon[C]<b>[C]</b> makes a large whirring noise.") C.visible_message("[bicon(C)]<b>[C]</b> makes a large whirring noise.")
/datum/wires/particle_acc/control_box/UpdateCut(var/index, var/mended) /datum/wires/particle_acc/control_box/UpdateCut(var/index, var/mended)
var/obj/machinery/particle_accelerator/control_box/C = holder var/obj/machinery/particle_accelerator/control_box/C = holder
+10 -10
View File
@@ -21,17 +21,17 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
switch(index) switch(index)
if(WIRE_BOOM) if(WIRE_BOOM)
if (P.active) if (P.active)
P.loc.visible_message("<span class='danger'>\icon[holder] An alarm sounds! It's go-</span>") P.loc.visible_message("<span class='danger'>[bicon(holder)] An alarm sounds! It's go-</span>")
P.timer = 0 P.timer = 0
if(WIRE_UNBOLT) if(WIRE_UNBOLT)
P.loc.visible_message("<span class='notice'>\icon[holder] The bolts spin in place for a moment.</span>") P.loc.visible_message("<span class='notice'>[bicon(holder)] The bolts spin in place for a moment.</span>")
if(WIRE_DELAY) if(WIRE_DELAY)
playsound(P.loc, 'sound/machines/chime.ogg', 30, 1) playsound(P.loc, 'sound/machines/chime.ogg', 30, 1)
P.loc.visible_message("<span class='notice'>\icon[holder] The bomb chirps.</span>") P.loc.visible_message("<span class='notice'>[bicon(holder)] The bomb chirps.</span>")
P.timer += 10 P.timer += 10
if(WIRE_PROCEED) if(WIRE_PROCEED)
playsound(P.loc, 'sound/machines/buzz-sigh.ogg', 30, 1) playsound(P.loc, 'sound/machines/buzz-sigh.ogg', 30, 1)
P.loc.visible_message("<span class='danger'>\icon[holder] The bomb buzzes ominously!</span>") P.loc.visible_message("<span class='danger'>[bicon(holder)] The bomb buzzes ominously!</span>")
if (P.timer >= 61) //Long fuse bombs can suddenly become more dangerous if you tinker with them if (P.timer >= 61) //Long fuse bombs can suddenly become more dangerous if you tinker with them
P.timer = 60 P.timer = 60
if (P.timer >= 21) if (P.timer >= 21)
@@ -41,11 +41,11 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
if(WIRE_ACTIVATE) if(WIRE_ACTIVATE)
if(!P.active && !P.defused) if(!P.active && !P.defused)
playsound(P.loc, 'sound/machines/click.ogg', 30, 1) playsound(P.loc, 'sound/machines/click.ogg', 30, 1)
P.loc.visible_message("<span class='danger'>\icon[holder] You hear the bomb start ticking!</span>") P.loc.visible_message("<span class='danger'>[bicon(holder)] You hear the bomb start ticking!</span>")
P.active = 1 P.active = 1
P.icon_state = "[initial(P.icon_state)]-active[P.open_panel ? "-wires" : ""]" P.icon_state = "[initial(P.icon_state)]-active[P.open_panel ? "-wires" : ""]"
else else
P.loc.visible_message("<span class='notice'>\icon[holder] The bomb seems to hesitate for a moment.</span>") P.loc.visible_message("<span class='notice'>[bicon(holder)] The bomb seems to hesitate for a moment.</span>")
P.timer += 5 P.timer += 5
/datum/wires/syndicatebomb/UpdateCut(var/index, var/mended) /datum/wires/syndicatebomb/UpdateCut(var/index, var/mended)
@@ -54,7 +54,7 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
if(WIRE_EXPLODE) if(WIRE_EXPLODE)
if(!mended) if(!mended)
if(P.active) if(P.active)
P.loc.visible_message("<span class='danger'>\icon[holder] An alarm sounds! It's go-</span>") P.loc.visible_message("<span class='danger'>[bicon(holder)] An alarm sounds! It's go-</span>")
P.timer = 0 P.timer = 0
else else
P.defused = 1 P.defused = 1
@@ -63,15 +63,15 @@ var/const/WIRE_ACTIVATE = 16 // Will start a bombs timer if pulsed, will hint if
if(WIRE_UNBOLT) if(WIRE_UNBOLT)
if (!mended && P.anchored) if (!mended && P.anchored)
playsound(P.loc, 'sound/effects/stealthoff.ogg', 30, 1) playsound(P.loc, 'sound/effects/stealthoff.ogg', 30, 1)
P.loc.visible_message("<span class='notice'>\icon[holder] The bolts lift out of the ground!</span>") P.loc.visible_message("<span class='notice'>[bicon(holder)] The bolts lift out of the ground!</span>")
P.anchored = 0 P.anchored = 0
if(WIRE_PROCEED) if(WIRE_PROCEED)
if(!mended && P.active) if(!mended && P.active)
P.loc.visible_message("<span class='danger'>\icon[holder] An alarm sounds! It's go-</span>") P.loc.visible_message("<span class='danger'>[bicon(holder)] An alarm sounds! It's go-</span>")
P.timer = 0 P.timer = 0
if(WIRE_ACTIVATE) if(WIRE_ACTIVATE)
if (!mended && P.active) if (!mended && P.active)
P.loc.visible_message("<span class='notice'>\icon[holder] The timer stops! The bomb has been defused!</span>") P.loc.visible_message("<span class='notice'>[bicon(holder)] The timer stops! The bomb has been defused!</span>")
P.icon_state = "[initial(P.icon_state)]-inactive[P.open_panel ? "-wires" : ""]" P.icon_state = "[initial(P.icon_state)]-inactive[P.open_panel ? "-wires" : ""]"
P.active = 0 P.active = 0
P.defused = 1 P.defused = 1
+1 -1
View File
@@ -187,7 +187,7 @@
else else
f_name += "oil-stained [name][infix]." f_name += "oil-stained [name][infix]."
to_chat(user, "\icon[src] That's [f_name] [suffix]") to_chat(user, "[bicon(src)] That's [f_name] [suffix]")
to_chat(user, desc) to_chat(user, desc)
if(reagents && is_open_container()) //is_open_container() isn't really the right proc for this, but w/e if(reagents && is_open_container()) //is_open_container() isn't really the right proc for this, but w/e
@@ -133,7 +133,7 @@
equip_traitor(newtraitor) equip_traitor(newtraitor)
traitors += newtraitor.mind traitors += newtraitor.mind
to_chat(newtraitor, "\red <B>ATTENTION:</B> \black It is time to pay your debt to the Syndicate...") to_chat(newtraitor, "<span class='danger'>ATTENTION:</span> It is time to pay your debt to the Syndicate...")
to_chat(newtraitor, "<B>You are now a traitor.</B>") to_chat(newtraitor, "<B>You are now a traitor.</B>")
newtraitor.mind.special_role = "traitor" newtraitor.mind.special_role = "traitor"
var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR] var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR]
+1 -1
View File
@@ -334,7 +334,7 @@
//Reports player logouts// //Reports player logouts//
////////////////////////// //////////////////////////
proc/display_roundstart_logout_report() proc/display_roundstart_logout_report()
var/msg = "\blue <b>Roundstart logout report\n\n" var/msg = "<span class='notice'>Roundstart logout report</span>\n\n"
for(var/mob/living/L in mob_list) for(var/mob/living/L in mob_list)
if(L.ckey) if(L.ckey)
+1 -1
View File
@@ -174,7 +174,7 @@
/datum/game_mode/proc/greet_vampire(var/datum/mind/vampire, var/you_are=1) /datum/game_mode/proc/greet_vampire(var/datum/mind/vampire, var/you_are=1)
var/dat var/dat
if (you_are) if (you_are)
dat = "<B>\red You are a Vampire! \black</br></B>" dat = "<span class='danger'>You are a Vampire!</span><br>"
dat += {"To bite someone, target the head and use harm intent with an empty hand. Drink blood to gain new powers. dat += {"To bite someone, target the head and use harm intent with an empty hand. Drink blood to gain new powers.
You are weak to holy things and starlight. Don't go into space and avoid the Chaplain, the chapel and especially Holy Water."} You are weak to holy things and starlight. Don't go into space and avoid the Chaplain, the chapel and especially Holy Water."}
to_chat(vampire.current, dat) to_chat(vampire.current, dat)
+1 -1
View File
@@ -14,7 +14,7 @@
/datum/game_mode/wizard/raginmages/announce() /datum/game_mode/wizard/raginmages/announce()
to_chat(world, "<B>The current game mode is - Ragin' Mages!</B>") to_chat(world, "<B>The current game mode is - Ragin' Mages!</B>")
to_chat(world, "<B>The \red Space Wizard Federation\black is pissed, help defeat all the space wizards!</B>") to_chat(world, "<B>The <font color='red'>Space Wizard Federation</font> is pissed, help defeat all the space wizards!</B>")
/datum/game_mode/wizard/raginmages/greet_wizard(var/datum/mind/wizard, var/you_are=1) /datum/game_mode/wizard/raginmages/greet_wizard(var/datum/mind/wizard, var/you_are=1)
+10 -10
View File
@@ -108,16 +108,16 @@
var/mob/living/carbon/human/T = target var/mob/living/carbon/human/T = target
var/obj/item/device/soulstone/C = src var/obj/item/device/soulstone/C = src
if(C.imprinted != "empty") if(C.imprinted != "empty")
to_chat(U, "\red <b>Capture failed!</b>: \black The soul stone has already been imprinted with [C.imprinted]'s mind!") to_chat(U, "<span class='danger'>Capture failed!</span>: The soul stone has already been imprinted with [C.imprinted]'s mind!")
else else
if (T.stat == 0) if (T.stat == 0)
to_chat(U, "\red <b>Capture failed!</b>: \black Kill or maim the victim first!") to_chat(U, "<span class='danger'>Capture failed!</span>: Kill or maim the victim first!")
else else
if(T.client == null) if(T.client == null)
to_chat(U, "\red <b>Capture failed!</b>: \black The soul has already fled it's mortal frame.") to_chat(U, "<span class='danger'>Capture failed!</span>: The soul has already fled it's mortal frame.")
else else
if(C.contents.len) if(C.contents.len)
to_chat(U, "\red <b>Capture failed!</b>: \black The soul stone is full! Use or free an existing soul to make room.") to_chat(U, "<span class='danger'>Capture failed!</span>: The soul stone is full! Use or free an existing soul to make room.")
else else
for(var/obj/item/W in T) for(var/obj/item/W in T)
T.unEquip(W) T.unEquip(W)
@@ -142,7 +142,7 @@
C.icon_state = "soulstone2" C.icon_state = "soulstone2"
C.name = "Soul Stone: [S.real_name]" C.name = "Soul Stone: [S.real_name]"
to_chat(S, "Your soul has been captured! You are now bound to [U.name]'s will, help them suceed in their goals at all costs.") to_chat(S, "Your soul has been captured! You are now bound to [U.name]'s will, help them suceed in their goals at all costs.")
to_chat(U, "\blue <b>Capture successful!</b>: \black [T.real_name]'s soul has been ripped from their body and stored within the soul stone.") to_chat(U, "<span class='notice'>Capture successful!</span>: [T.real_name]'s soul has been ripped from their body and stored within the soul stone.")
to_chat(U, "The soulstone has been imprinted with [S.real_name]'s mind, it will no longer react to other souls.") to_chat(U, "The soulstone has been imprinted with [S.real_name]'s mind, it will no longer react to other souls.")
C.imprinted = "[S.name]" C.imprinted = "[S.name]"
qdel(T) qdel(T)
@@ -150,13 +150,13 @@
var/mob/living/simple_animal/shade/T = target var/mob/living/simple_animal/shade/T = target
var/obj/item/device/soulstone/C = src var/obj/item/device/soulstone/C = src
if (T.stat == DEAD) if (T.stat == DEAD)
to_chat(U, "\red <b>Capture failed!</b>: \black The shade has already been banished!") to_chat(U, "<span class='danger'>Capture failed!</span>: The shade has already been banished!")
else else
if(C.contents.len) if(C.contents.len)
to_chat(U, "\red <b>Capture failed!</b>: \black The soul stone is full! Use or free an existing soul to make room.") to_chat(U, "<span class='danger'>Capture failed!</span>: The soul stone is full! Use or free an existing soul to make room.")
else else
if(T.name != C.imprinted) if(T.name != C.imprinted)
to_chat(U, "\red <b>Capture failed!</b>: \black The soul stone has already been imprinted with [C.imprinted]'s mind!") to_chat(U, "<span class='danger'>Capture failed!</span>: The soul stone has already been imprinted with [C.imprinted]'s mind!")
else else
T.loc = C //put shade in stone T.loc = C //put shade in stone
T.status_flags |= GODMODE T.status_flags |= GODMODE
@@ -165,7 +165,7 @@
T.faction |= "\ref[U]" T.faction |= "\ref[U]"
C.icon_state = "soulstone2" C.icon_state = "soulstone2"
to_chat(T, "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form") to_chat(T, "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form")
to_chat(U, "\blue <b>Capture successful!</b>: \black [T.name]'s has been recaptured and stored within the soul stone.") to_chat(U, "<span class='notice'>Capture successful!</span>: [T.name]'s has been recaptured and stored within the soul stone.")
if("CONSTRUCT") if("CONSTRUCT")
var/obj/structure/constructshell/T = target var/obj/structure/constructshell/T = target
var/obj/item/device/soulstone/C = src var/obj/item/device/soulstone/C = src
@@ -221,7 +221,7 @@
Z.cancel_camera() Z.cancel_camera()
qdel(C) qdel(C)
else else
to_chat(U, "\red <b>Creation failed!</b>: \black The soul stone is empty! Go kill someone!") to_chat(U, "<span class='danger'>Creation failed!</span>: The soul stone is empty! Go kill someone!")
return return
/proc/makeNewConstruct(var/mob/living/simple_animal/construct/ctype, var/mob/target, var/mob/stoner = null, cultoverride = 0) /proc/makeNewConstruct(var/mob/living/simple_animal/construct/ctype, var/mob/target, var/mob/stoner = null, cultoverride = 0)
+1 -1
View File
@@ -14,7 +14,7 @@
/datum/game_mode/wizard/announce() /datum/game_mode/wizard/announce()
to_chat(world, "<B>The current game mode is - Wizard!</B>") to_chat(world, "<B>The current game mode is - Wizard!</B>")
to_chat(world, "<B>There is a \red SPACE WIZARD\black on the station. You can't let him achieve his objective!</B>") to_chat(world, "<B>There is a <font color='red'>SPACE WIZARD</font> on the station. You can't let him achieve his objective!</B>")
/datum/game_mode/wizard/can_start()//This could be better, will likely have to recode it later /datum/game_mode/wizard/can_start()//This could be better, will likely have to recode it later
+2 -2
View File
@@ -382,7 +382,7 @@
being_built = new /list() being_built = new /list()
return 0 return 0
if(!can_build(D,multiplier)) if(!can_build(D,multiplier))
visible_message("\icon[src] <b>\The [src]</b> beeps, \"Not enough resources. Queue processing terminated.\"") visible_message("[bicon(src)] <b>\The [src]</b> beeps, \"Not enough resources. Queue processing terminated.\"")
queue = list() queue = list()
being_built = new /list() being_built = new /list()
return 0 return 0
@@ -392,7 +392,7 @@
D = listgetindex(listgetindex(queue, 1),1) D = listgetindex(listgetindex(queue, 1),1)
multiplier = listgetindex(listgetindex(queue,1),2) multiplier = listgetindex(listgetindex(queue,1),2)
being_built = new /list() being_built = new /list()
//visible_message("\icon[src] <b>\The [src]</b> beeps, \"Queue processing finished successfully.\"") //visible_message("[bicon(src)] <b>\The [src]</b> beeps, \"Queue processing finished successfully.\"")
/obj/machinery/autolathe/proc/main_win(mob/user) /obj/machinery/autolathe/proc/main_win(mob/user)
var/dat = "<table style='width:100%'><tr>" var/dat = "<table style='width:100%'><tr>"
+2 -2
View File
@@ -21,7 +21,7 @@
if(..()) if(..())
return 1 return 1
if (!(src.z in config.station_levels)) if (!(src.z in config.station_levels))
to_chat(usr, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(usr, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
usr.set_machine(src) usr.set_machine(src)
@@ -69,7 +69,7 @@
if(..()) if(..())
return return
if (src.z > 6) if (src.z > 6)
to_chat(user, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(user, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
user.set_machine(src) user.set_machine(src)
+1 -1
View File
@@ -30,7 +30,7 @@
attackby(obj/item/weapon/O as obj, mob/user as mob, params) attackby(obj/item/weapon/O as obj, mob/user as mob, params)
if (user.z > 6) if (user.z > 6)
to_chat(user, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(user, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
if(istype(O, /obj/item/weapon/aiModule)) if(istype(O, /obj/item/weapon/aiModule))
var/datum/game_mode/nations/mode = get_nations_mode() var/datum/game_mode/nations/mode = get_nations_mode()
+1 -1
View File
@@ -42,7 +42,7 @@
if(..()) if(..())
return return
if (src.z > 6) if (src.z > 6)
to_chat(user, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(user, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
var/dat var/dat
+1 -1
View File
@@ -41,7 +41,7 @@
if(..()) if(..())
return return
if (src.z > 6) if (src.z > 6)
to_chat(user, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(user, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
var/dat var/dat
+3 -3
View File
@@ -100,9 +100,9 @@ var/const/HOLOPAD_MODE = 0
create_holo(user)//Create one. create_holo(user)//Create one.
src.visible_message("A holographic image of [user] flicks to life right before your eyes!") src.visible_message("A holographic image of [user] flicks to life right before your eyes!")
else else
to_chat(user, "\red ERROR: \black Image feed in progress.") to_chat(user, "<font color='red'>ERROR:</font> Image feed in progress.")
else else
to_chat(user, "\red ERROR: \black Unable to project hologram.") to_chat(user, "<font color='red'>ERROR:</font> Unable to project hologram.")
return return
/*This is the proc for special two-way communication between AI and holopad/people talking near holopad. /*This is the proc for special two-way communication between AI and holopad/people talking near holopad.
@@ -123,7 +123,7 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
rendered = "<i><span class='game say'>Holopad received, <span class='name'>[name_used]</span> [verb], <span class='message'>\"[text]\"</span></span></i>" rendered = "<i><span class='game say'>Holopad received, <span class='name'>[name_used]</span> [verb], <span class='message'>\"[text]\"</span></span></i>"
master.show_message(rendered, 2) master.show_message(rendered, 2)
return return
/obj/machinery/hologram/holopad/hear_message(mob/living/M, text) /obj/machinery/hologram/holopad/hear_message(mob/living/M, text)
if(M&&hologram&&master)//Master is mostly a safety in case lag hits or something. if(M&&hologram&&master)//Master is mostly a safety in case lag hits or something.
var/name_used = M.GetVoice() var/name_used = M.GetVoice()
+1 -1
View File
@@ -97,7 +97,7 @@ var/list/ingredients_source = list(
if(ingredients[ICECREAM_VANILLA] > 0) if(ingredients[ICECREAM_VANILLA] > 0)
var/flavour_name = get_icecream_flavour_string(dispense_flavour) var/flavour_name = get_icecream_flavour_string(dispense_flavour)
if(dispense_flavour < 11 && ingredients[dispense_flavour] > 0) if(dispense_flavour < 11 && ingredients[dispense_flavour] > 0)
src.visible_message("\icon[src] <span class='info'>[user] scoops delicious [flavour_name] flavoured icecream into [I].</span>") src.visible_message("[bicon(src)] <span class='info'>[user] scoops delicious [flavour_name] flavoured icecream into [I].</span>")
ingredients[dispense_flavour] -= 1 ingredients[dispense_flavour] -= 1
ingredients[ICECREAM_VANILLA] -= 1 ingredients[ICECREAM_VANILLA] -= 1
+2 -2
View File
@@ -420,7 +420,7 @@ Class Procs:
/obj/machinery/proc/state(var/msg) /obj/machinery/proc/state(var/msg)
for(var/mob/O in hearers(src, null)) for(var/mob/O in hearers(src, null))
O.show_message("\icon[src] <span class = 'notice'>[msg]</span>", 2) O.show_message("[bicon(src)] <span class = 'notice'>[msg]</span>", 2)
/obj/machinery/proc/ping(text=null) /obj/machinery/proc/ping(text=null)
if (!text) if (!text)
@@ -465,7 +465,7 @@ Class Procs:
/obj/machinery/proc/display_parts(mob/user) /obj/machinery/proc/display_parts(mob/user)
to_chat(user, "<span class='notice'>Following parts detected in the machine:</span>") to_chat(user, "<span class='notice'>Following parts detected in the machine:</span>")
for(var/obj/item/C in component_parts) for(var/obj/item/C in component_parts)
to_chat(user, "<span class='notice'>\icon[C] [C.name]</span>") to_chat(user, "<span class='notice'>[bicon(C)] [C.name]</span>")
/obj/machinery/examine(mob/user) /obj/machinery/examine(mob/user)
..(user) ..(user)
+4 -4
View File
@@ -151,7 +151,7 @@
var/icon/I2 = imap[2+(ix + icx*iy)*2] var/icon/I2 = imap[2+(ix + icx*iy)*2]
// to_chat(world, "icon: \icon[I]") // to_chat(world, "icon: [bicon(I)]")
I.DrawBox(colour, rx, ry, rx+1, ry+1) I.DrawBox(colour, rx, ry, rx+1, ry+1)
@@ -168,7 +168,7 @@
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]" H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
// to_chat(world, "\icon[I] at [H.screen_loc]") // to_chat(world, "[bicon(I)] at [H.screen_loc]")
H.name = (i==0)?"maprefresh":"map" H.name = (i==0)?"maprefresh":"map"
@@ -285,7 +285,7 @@
var/icon/I = imap[1+(ix + icx*iy)] var/icon/I = imap[1+(ix + icx*iy)]
// to_chat(world, "icon: \icon[I]") // to_chat(world, "icon: [bicon(I)]")
I.DrawBox(colour, rx, ry, rx, ry) I.DrawBox(colour, rx, ry, rx, ry)
@@ -300,7 +300,7 @@
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]" H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
// to_chat(world, "\icon[I] at [H.screen_loc]") // to_chat(world, "[bicon(I)] at [H.screen_loc]")
H.name = (i==0)?"maprefresh":"map" H.name = (i==0)?"maprefresh":"map"
+1 -1
View File
@@ -180,7 +180,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
screen = RCS_SENTPASS screen = RCS_SENTPASS
message_log += "<B>Message sent to [recipient]</B><BR>[message]" message_log += "<B>Message sent to [recipient]</B><BR>[message]"
else else
audible_message(text("\icon[src] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4) audible_message(text("[bicon(src)] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4)
//Handle screen switching //Handle screen switching
if(href_list["setScreen"]) if(href_list["setScreen"])
+4 -4
View File
@@ -215,14 +215,14 @@
return return
if (src.active) if (src.active)
user.visible_message("\blue \icon[src] [user] deactivated the shield generator.", \ user.visible_message("\blue [bicon(src)] [user] deactivated the shield generator.", \
"\blue \icon[src] You deactivate the shield generator.", \ "\blue [bicon(src)] You deactivate the shield generator.", \
"You hear heavy droning fade out.") "You hear heavy droning fade out.")
src.shields_down() src.shields_down()
else else
if(anchored) if(anchored)
user.visible_message("\blue \icon[src] [user] activated the shield generator.", \ user.visible_message("\blue [bicon(src)] [user] activated the shield generator.", \
"\blue \icon[src] You activate the shield generator.", \ "\blue [bicon(src)] You activate the shield generator.", \
"You hear heavy droning.") "You hear heavy droning.")
src.shields_up() src.shields_up()
else else
+5 -5
View File
@@ -126,14 +126,14 @@
newtime = Clamp(newtime, 120, 60000) newtime = Clamp(newtime, 120, 60000)
if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station
timer = newtime timer = newtime
src.loc.visible_message("<span class='notice'>\icon[src] timer set for [timer] seconds.</span>") src.loc.visible_message("<span class='notice'>[bicon(src)] timer set for [timer] seconds.</span>")
if(alert(user,"Would you like to start the countdown now?",,"Yes","No") == "Yes" && in_range(src, user) && isliving(user)) if(alert(user,"Would you like to start the countdown now?",,"Yes","No") == "Yes" && in_range(src, user) && isliving(user))
if(defused || active) if(defused || active)
if(defused) if(defused)
src.loc.visible_message("<span class='notice'>\icon[src] Device error: User intervention required.</span>") src.loc.visible_message("<span class='notice'>[bicon(src)] Device error: User intervention required.</span>")
return return
else else
src.loc.visible_message("<span class='danger'>\icon[src] [timer] seconds until detonation, please clear the area.</span>") src.loc.visible_message("<span class='danger'>[bicon(src)] [timer] seconds until detonation, please clear the area.</span>")
playsound(loc, 'sound/machines/click.ogg', 30, 1) playsound(loc, 'sound/machines/click.ogg', 30, 1)
active = 1 active = 1
update_icon() update_icon()
@@ -223,7 +223,7 @@
var/obj/machinery/syndicatebomb/holder = src.loc var/obj/machinery/syndicatebomb/holder = src.loc
if(istype(holder)) if(istype(holder))
attempts++ attempts++
holder.loc.visible_message("<span class='danger'>\icon[holder] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires...</span>") holder.loc.visible_message("<span class='danger'>[bicon(holder)] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires...</span>")
reset() reset()
else else
qdel(src) qdel(src)
@@ -233,7 +233,7 @@
if(istype(holder)) if(istype(holder))
attempts++ attempts++
defusals++ defusals++
holder.loc.visible_message("<span class='notice'>\icon[holder] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds...</span>") holder.loc.visible_message("<span class='notice'>[bicon(holder)] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds...</span>")
sleep(50) //Just in case someone is trying to remove the bomb core this gives them a little window to crowbar it out sleep(50) //Just in case someone is trying to remove the bomb core this gives them a little window to crowbar it out
if(istype(holder)) if(istype(holder))
reset() reset()
+2 -2
View File
@@ -333,7 +333,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
var/part_b_extra = "" var/part_b_extra = ""
if(data == 3) // intercepted radio message if(data == 3) // intercepted radio message
part_b_extra = " <i>(Intercepted)</i>" part_b_extra = " <i>(Intercepted)</i>"
var/part_a = "<span class='[frequency_span_class(display_freq)]'>\icon[radio]<b>\[[freq_text]\][part_b_extra]</b> <span class='name'>" // goes in the actual output var/part_a = "<span class='[frequency_span_class(display_freq)]'>[bicon(radio)]<b>\[[freq_text]\][part_b_extra]</b> <span class='name'>" // goes in the actual output
// --- Some more pre-message formatting --- // --- Some more pre-message formatting ---
var/part_b = "</span> <span class='message'>" // Tweaked for security headsets -- TLE var/part_b = "</span> <span class='message'>" // Tweaked for security headsets -- TLE
@@ -528,7 +528,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
// Create a radio headset for the sole purpose of using its icon // Create a radio headset for the sole purpose of using its icon
var/obj/item/device/radio/headset/radio = new var/obj/item/device/radio/headset/radio = new
var/part_b = "</span><b> \icon[radio]\[[freq_text]\][part_b_extra]</b> <span class='message'>" // Tweaked for security headsets -- TLE var/part_b = "</span><b> [bicon(radio)]\[[freq_text]\][part_b_extra]</b> <span class='message'>" // Tweaked for security headsets -- TLE
var/part_blackbox_b = "</span><b> \[[freq_text]\]</b> <span class='message'>" var/part_blackbox_b = "</span><b> \[[freq_text]\]</b> <span class='message'>"
var/part_c = "</span></span>" var/part_c = "</span></span>"
+1 -1
View File
@@ -296,7 +296,7 @@
if(currently_vending.price > cashmoney.get_total()) if(currently_vending.price > cashmoney.get_total())
// This is not a status display message, since it's something the character // This is not a status display message, since it's something the character
// themselves is meant to see BEFORE putting the money in // themselves is meant to see BEFORE putting the money in
to_chat(usr, "\icon[cashmoney] <span class='warning'>That is not enough money.</span>") to_chat(usr, "[bicon(cashmoney)] <span class='warning'>That is not enough money.</span>")
return 0 return 0
// Bills (banknotes) cannot really have worth different than face value, // Bills (banknotes) cannot really have worth different than face value,
+1 -1
View File
@@ -133,7 +133,7 @@
/obj/item/mecha_parts/mecha_equipment/proc/occupant_message(message) /obj/item/mecha_parts/mecha_equipment/proc/occupant_message(message)
if(chassis) if(chassis)
chassis.occupant_message("\icon[src] [message]") chassis.occupant_message("[bicon(src)] [message]")
return return
/obj/item/mecha_parts/mecha_equipment/proc/log_message(message) /obj/item/mecha_parts/mecha_equipment/proc/log_message(message)
+5 -5
View File
@@ -153,7 +153,7 @@
I.loc = get_step(src,SOUTH) I.loc = get_step(src,SOUTH)
I.materials[MAT_METAL] = get_resource_cost_w_coeff(D,MAT_METAL) I.materials[MAT_METAL] = get_resource_cost_w_coeff(D,MAT_METAL)
I.materials[MAT_GLASS] = get_resource_cost_w_coeff(D,MAT_GLASS) I.materials[MAT_GLASS] = get_resource_cost_w_coeff(D,MAT_GLASS)
visible_message("\icon[src] <b>\The [src]</b> beeps, \"\The [I] is complete.\"") visible_message("[bicon(src)] <b>\The [src]</b> beeps, \"\The [I] is complete.\"")
being_built = null being_built = null
updateUsrDialog() updateUsrDialog()
@@ -196,14 +196,14 @@
if(stat&(NOPOWER|BROKEN)) if(stat&(NOPOWER|BROKEN))
return 0 return 0
if(!check_resources(D)) if(!check_resources(D))
visible_message("\icon[src] <b>\The [src]</b> beeps, \"Not enough resources. Queue processing stopped.\"") visible_message("[bicon(src)] <b>\The [src]</b> beeps, \"Not enough resources. Queue processing stopped.\"")
temp = {"<span class='alert'>Not enough resources to build next part.</span><br> temp = {"<span class='alert'>Not enough resources to build next part.</span><br>
<a href='?src=\ref[src];process_queue=1'>Try again</a> | <a href='?src=\ref[src];clear_temp=1'>Return</a><a>"} <a href='?src=\ref[src];process_queue=1'>Try again</a> | <a href='?src=\ref[src];clear_temp=1'>Return</a><a>"}
return 0 return 0
remove_from_queue(1) remove_from_queue(1)
build_part(D) build_part(D)
D = listgetindex(queue, 1) D = listgetindex(queue, 1)
visible_message("\icon[src] <b>\The [src]</b> beeps, \"Queue processing finished successfully.\"") visible_message("[bicon(src)] <b>\The [src]</b> beeps, \"Queue processing finished successfully.\"")
/obj/machinery/mecha_part_fabricator/proc/list_queue() /obj/machinery/mecha_part_fabricator/proc/list_queue()
var/output = "<b>Queue contains:</b>" var/output = "<b>Queue contains:</b>"
@@ -240,7 +240,7 @@
temp += "<a href='?src=\ref[src];clear_temp=1'>Return</a>" temp += "<a href='?src=\ref[src];clear_temp=1'>Return</a>"
updateUsrDialog() updateUsrDialog()
visible_message("\icon[src] <b>\The [src]</b> beeps, \"Successfully synchronized with R&D server.\"") visible_message("[bicon(src)] <b>\The [src]</b> beeps, \"Successfully synchronized with R&D server.\"")
return return
temp = "Unable to connect to local R&D Database.<br>Please check your connections and try again.<br><a href='?src=\ref[src];clear_temp=1'>Return</a>" temp = "Unable to connect to local R&D Database.<br>Please check your connections and try again.<br><a href='?src=\ref[src];clear_temp=1'>Return</a>"
@@ -271,7 +271,7 @@
user.set_machine(src) user.set_machine(src)
var/turf/exit = get_step(src,SOUTH) var/turf/exit = get_step(src,SOUTH)
if(exit.density) if(exit.density)
visible_message("\icon[src] <b>\The [src]</b> beeps, \"Error! Part outlet is obstructed.\"") visible_message("[bicon(src)] <b>\The [src]</b> beeps, \"Error! Part outlet is obstructed.\"")
return return
if(temp) if(temp)
left_part = temp left_part = temp
+2 -2
View File
@@ -181,7 +181,7 @@
if(equipment && equipment.len) if(equipment && equipment.len)
to_chat(user, "It's equipped with:") to_chat(user, "It's equipped with:")
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment) for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
to_chat(user, "\icon[ME] [ME]") to_chat(user, "[bicon(ME)] [ME]")
return return
@@ -1643,7 +1643,7 @@
/obj/mecha/proc/occupant_message(message as text) /obj/mecha/proc/occupant_message(message as text)
if(message) if(message)
if(src.occupant && src.occupant.client) if(src.occupant && src.occupant.client)
to_chat(src.occupant, "\icon[src] [message]") to_chat(src.occupant, "[bicon(src)] [message]")
return return
/obj/mecha/proc/log_message(message as text,red=null) /obj/mecha/proc/log_message(message as text,red=null)
+1 -1
View File
@@ -21,7 +21,7 @@
if(istype(M, /mob/living/carbon/human)) if(istype(M, /mob/living/carbon/human))
for(var/mob/O in viewers(world.view, src.loc)) for(var/mob/O in viewers(world.view, src.loc))
to_chat(O, "<font color='red'>[M] triggered the \icon[src] [src]</font>") to_chat(O, "<font color='red'>[M] triggered the [bicon(src)] [src]</font>")
triggered = 1 triggered = 1
call(src,triggerproc)(M) call(src,triggerproc)(M)
@@ -40,7 +40,7 @@
name = "pizza bomb" name = "pizza bomb"
desc = "OH GOD THAT'S NOT A PIZZA" desc = "OH GOD THAT'S NOT A PIZZA"
icon_state = "pizzabox_bomb" icon_state = "pizzabox_bomb"
audible_message("<span class='warning'>\icon[src] *beep* *beep*</span>") audible_message("<span class='warning'>[bicon(src)] *beep* *beep*</span>")
to_chat(user, "<span class='danger'>That's no pizza! That's a bomb!</span>") to_chat(user, "<span class='danger'>That's no pizza! That's a bomb!</span>")
message_admins("[key_name_admin(usr)] has triggered a pizza bomb armed by [armer] at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[loc.x];Y=[loc.y];Z=[loc.z]'>(JMP)</a>.") message_admins("[key_name_admin(usr)] has triggered a pizza bomb armed by [armer] at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[loc.x];Y=[loc.y];Z=[loc.z]'>(JMP)</a>.")
log_game("[key_name(usr)] has triggered a pizza bomb armed by [armer] ([loc.x],[loc.y],[loc.z]).") log_game("[key_name(usr)] has triggered a pizza bomb armed by [armer] ([loc.x],[loc.y],[loc.z]).")
@@ -50,9 +50,9 @@
/obj/item/device/pizza_bomb/proc/go_boom() /obj/item/device/pizza_bomb/proc/go_boom()
if(disarmed) if(disarmed)
visible_message("<span class='danger'>\icon[src] Sparks briefly jump out of the [correct_wire] wire on \the [src], but it's disarmed!") visible_message("<span class='danger'>[bicon(src)] Sparks briefly jump out of the [correct_wire] wire on \the [src], but it's disarmed!")
return return
src.audible_message("\icon[src] <b>[src]</b> beeps, \"Enjoy the pizza!\"") src.audible_message("[bicon(src)] <b>[src]</b> beeps, \"Enjoy the pizza!\"")
src.visible_message("<span class='userdanger'>\The [src] violently explodes!</span>") src.visible_message("<span class='userdanger'>\The [src] violently explodes!</span>")
explosion(src.loc,1,2,4,flame_range = 2) //Identical to a minibomb explosion(src.loc,1,2,4,flame_range = 2) //Identical to a minibomb
qdel(src) qdel(src)
@@ -67,7 +67,7 @@
user.visible_message("<span class='warning'>[user] cuts the [chosen_wire] wire!</span>", "<span class='danger'>You cut the [chosen_wire] wire!</span>") user.visible_message("<span class='warning'>[user] cuts the [chosen_wire] wire!</span>", "<span class='danger'>You cut the [chosen_wire] wire!</span>")
sleep(5) sleep(5)
if(chosen_wire == correct_wire) if(chosen_wire == correct_wire)
src.audible_message("<span class='warning'>\icon[src] \The [src] suddenly stops beeping and seems lifeless.</span>") src.audible_message("<span class='warning'>[bicon(src)] \The [src] suddenly stops beeping and seems lifeless.</span>")
to_chat(user, "<span class='notice'>You did it!</span>") to_chat(user, "<span class='notice'>You did it!</span>")
icon_state = "pizzabox_bomb_[correct_wire]" icon_state = "pizzabox_bomb_[correct_wire]"
name = "pizza bomb" name = "pizza bomb"
+8 -8
View File
@@ -1130,7 +1130,7 @@ obj/item/toy/cards/deck/syndicate/black
var/message = generate_ion_law() var/message = generate_ion_law()
to_chat(user, "<span class='notice'>You press the button on [src].</span>") to_chat(user, "<span class='notice'>You press the button on [src].</span>")
playsound(user, 'sound/machines/click.ogg', 20, 1) playsound(user, 'sound/machines/click.ogg', 20, 1)
visible_message("<span class='danger'>\icon[src] [message]</span>") visible_message("<span class='danger'>[bicon(src)] [message]</span>")
cooldown = 1 cooldown = 1
spawn(30) cooldown = 0 spawn(30) cooldown = 0
return return
@@ -1149,7 +1149,7 @@ obj/item/toy/cards/deck/syndicate/black
var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!") var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!")
to_chat(user, "<span class='notice'>You pull the string on the [src].</span>") to_chat(user, "<span class='notice'>You pull the string on the [src].</span>")
playsound(user, 'sound/misc/hoot.ogg', 25, 1) playsound(user, 'sound/misc/hoot.ogg', 25, 1)
visible_message("<span class='danger'>\icon[src] [message]</span>") visible_message("<span class='danger'>[bicon(src)] [message]</span>")
cooldown = 1 cooldown = 1
spawn(30) cooldown = 0 spawn(30) cooldown = 0
return return
@@ -1168,7 +1168,7 @@ obj/item/toy/cards/deck/syndicate/black
var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!") var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!")
to_chat(user, "<span class='notice'>You pull the string on the [src].</span>") to_chat(user, "<span class='notice'>You pull the string on the [src].</span>")
playsound(user, 'sound/misc/caw.ogg', 25, 1) playsound(user, 'sound/misc/caw.ogg', 25, 1)
visible_message("<span class='danger'>\icon[src] [message]</span>") visible_message("<span class='danger'>[bicon(src)] [message]</span>")
cooldown = 1 cooldown = 1
spawn(30) cooldown = 0 spawn(30) cooldown = 0
return return
@@ -1274,12 +1274,12 @@ obj/item/toy/cards/deck/syndicate/black
/obj/item/toy/minigibber/attackby(var/obj/O, var/mob/user, params) /obj/item/toy/minigibber/attackby(var/obj/O, var/mob/user, params)
if(istype(O,/obj/item/toy/character) && O.loc == user) if(istype(O,/obj/item/toy/character) && O.loc == user)
to_chat(user, "<span class='notice'>You start feeding \the [O] \icon[O] into \the [src]'s mini-input.</span>") to_chat(user, "<span class='notice'>You start feeding \the [O] [bicon(O)] into \the [src]'s mini-input.</span>")
if(do_after(user,10, target = src)) if(do_after(user,10, target = src))
if(O.loc != user) if(O.loc != user)
to_chat(user, "<span class='alert'>\The [O] is too far away to feed into \the [src]!</span>") to_chat(user, "<span class='alert'>\The [O] is too far away to feed into \the [src]!</span>")
else else
to_chat(user, "<span class='notice'>You feed \the [O] \icon[O] into \the [src]!</span>") to_chat(user, "<span class='notice'>You feed \the [O] [bicon(O)] into \the [src]!</span>")
user.unEquip(O) user.unEquip(O)
O.forceMove(src) O.forceMove(src)
stored_minature = O stored_minature = O
@@ -1305,7 +1305,7 @@ obj/item/toy/cards/deck/syndicate/black
user.visible_message("<span class='notice'>[user] pulls back the string on [src].</span>") user.visible_message("<span class='notice'>[user] pulls back the string on [src].</span>")
icon_state = "[initial(icon_state)]_used" icon_state = "[initial(icon_state)]_used"
sleep(5) sleep(5)
audible_message("<span class='danger'>\icon[src] Hiss!</span>") audible_message("<span class='danger'>[bicon(src)] Hiss!</span>")
var/list/possible_sounds = list('sound/voice/hiss1.ogg', 'sound/voice/hiss2.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss4.ogg') var/list/possible_sounds = list('sound/voice/hiss1.ogg', 'sound/voice/hiss2.ogg', 'sound/voice/hiss3.ogg', 'sound/voice/hiss4.ogg')
playsound(get_turf(src), pick(possible_sounds), 50, 1) playsound(get_turf(src), pick(possible_sounds), 50, 1)
spawn(45) spawn(45)
@@ -1431,7 +1431,7 @@ obj/item/toy/cards/deck/syndicate/black
/obj/item/toy/figure/attack_self(mob/user as mob) /obj/item/toy/figure/attack_self(mob/user as mob)
if(cooldown < world.time) if(cooldown < world.time)
cooldown = (world.time + 30) //3 second cooldown cooldown = (world.time + 30) //3 second cooldown
user.visible_message("<span class='notice'>\icon[src] The [src] says \"[toysay]\".</span>") user.visible_message("<span class='notice'>[bicon(src)] The [src] says \"[toysay]\".</span>")
playsound(user, 'sound/machines/click.ogg', 20, 1) playsound(user, 'sound/machines/click.ogg', 20, 1)
/obj/item/toy/figure/cmo /obj/item/toy/figure/cmo
@@ -1632,7 +1632,7 @@ obj/item/toy/cards/deck/syndicate/black
if(!cooldown) if(!cooldown)
var/answer = pick(possible_answers) var/answer = pick(possible_answers)
user.visible_message("<span class='notice'>[user] focuses on their question and [use_action]...</span>") user.visible_message("<span class='notice'>[user] focuses on their question and [use_action]...</span>")
user.visible_message("<span class='notice'>\icon[src] The [src] says \"[answer]\"</span>") user.visible_message("<span class='notice'>[bicon(src)] The [src] says \"[answer]\"</span>")
spawn(30) spawn(30)
cooldown = 0 cooldown = 0
return return
@@ -397,4 +397,4 @@ AI MODULES
laws[1] = generate_ion_law() laws[1] = generate_ion_law()
to_chat(user, "<span class='notice'>You press the button on [src].</span>") to_chat(user, "<span class='notice'>You press the button on [src].</span>")
playsound(user, 'sound/machines/click.ogg', 20, 1) playsound(user, 'sound/machines/click.ogg', 20, 1)
src.loc.visible_message("<span class='warning'>\icon[src] [laws[1]]</span>") src.loc.visible_message("<span class='warning'>[bicon(src)] [laws[1]]</span>")
+2 -2
View File
@@ -150,8 +150,8 @@
return return
/obj/item/weapon/card/id/attack_self(mob/user as mob) /obj/item/weapon/card/id/attack_self(mob/user as mob)
user.visible_message("[user] shows you: \icon[src] [src.name]. The assignment on the card: [src.assignment]",\ user.visible_message("[user] shows you: [bicon(src)] [src.name]. The assignment on the card: [src.assignment]",\
"You flash your ID card: \icon[src] [src.name]. The assignment on the card: [src.assignment]") "You flash your ID card: [bicon(src)] [src.name]. The assignment on the card: [src.assignment]")
if(mining_points) if(mining_points)
to_chat(user, "There's [mining_points] mining equipment redemption points loaded onto this card.") to_chat(user, "There's [mining_points] mining equipment redemption points loaded onto this card.")
src.add_fingerprint(user) src.add_fingerprint(user)
+2 -2
View File
@@ -37,9 +37,9 @@ var/global/list/moneytypes=list(
/obj/item/weapon/spacecash/examine(mob/user) /obj/item/weapon/spacecash/examine(mob/user)
if(amount>1) if(amount>1)
to_chat(user, "\icon[src] This is a stack of [amount] [src]s.") to_chat(user, "[bicon(src)] This is a stack of [amount] [src]s.")
else else
to_chat(user, "\icon[src] This is \a [src]s.") to_chat(user, "[bicon(src)] This is \a [src]s.")
to_chat(user, "It's worth [worth*amount] credits.") to_chat(user, "It's worth [worth*amount] credits.")
/obj/item/weapon/spacecash/update_icon() /obj/item/weapon/spacecash/update_icon()
@@ -37,7 +37,7 @@
/obj/item/weapon/extinguisher/examine(mob/user) /obj/item/weapon/extinguisher/examine(mob/user)
if(..(user, 0)) if(..(user, 0))
to_chat(usr, "\icon[src] [src.name] contains:") to_chat(usr, "[bicon(src)] [src.name] contains:")
if(reagents && reagents.reagent_list.len) if(reagents && reagents.reagent_list.len)
for(var/datum/reagent/R in reagents.reagent_list) for(var/datum/reagent/R in reagents.reagent_list)
to_chat(user, "\blue [R.volume] units of [R.name]") to_chat(user, "\blue [R.volume] units of [R.name]")
@@ -24,9 +24,9 @@
return return
for(var/obj/item/I in loadedItems) for(var/obj/item/I in loadedItems)
spawn(0) spawn(0)
to_chat(user, "<span class='info'>\icon [I] It has \the [I] loaded.</span>") to_chat(user, "<span class='info'>[bicon(I)] It has \the [I] loaded.</span>")
if(tank) if(tank)
to_chat(user, "<span class='notice'>\icon [tank] It has \the [tank] mounted onto it.</span>") to_chat(user, "<span class='notice'>[bicon(tank)] It has \the [tank] mounted onto it.</span>")
/obj/item/weapon/pneumatic_cannon/attackby(obj/item/weapon/W, mob/user, params) /obj/item/weapon/pneumatic_cannon/attackby(obj/item/weapon/W, mob/user, params)
@@ -45,7 +45,7 @@
icon = src.loc icon = src.loc
if (!in_range(src, user)) if (!in_range(src, user))
if (icon == src) if (icon == src)
to_chat(user, "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer.") to_chat(user, "\blue It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer.")
return return
var/celsius_temperature = src.air_contents.temperature-T0C var/celsius_temperature = src.air_contents.temperature-T0C
@@ -64,7 +64,7 @@
else else
descriptive = "furiously hot" descriptive = "furiously hot"
to_chat(user, "\blue \The \icon[icon][src] feels [descriptive]") to_chat(user, "\blue \The [bicon(icon)][src] feels [descriptive]")
return return
+4 -4
View File
@@ -128,7 +128,7 @@ var/global/list/captain_display_cases = list()
..(user) ..(user)
to_chat(user, "<span class='notice'>Peering through the glass, you see that it contains:</span>") to_chat(user, "<span class='notice'>Peering through the glass, you see that it contains:</span>")
if(occupant) if(occupant)
to_chat(user, "\icon[occupant] <span class='notice'>\A [occupant].</span>") to_chat(user, "[bicon(occupant)] <span class='notice'>\A [occupant].</span>")
else else
to_chat(user, "Nothing.") to_chat(user, "Nothing.")
@@ -217,9 +217,9 @@ var/global/list/captain_display_cases = list()
return return
locked = !locked locked = !locked
if(!locked) if(!locked)
to_chat(user, "\icon[src] <span class='notice'>\The [src] clicks as locks release, and it slowly opens for you.</span>") to_chat(user, "[bicon(src)] <span class='notice'>\The [src] clicks as locks release, and it slowly opens for you.</span>")
else else
to_chat(user, "\icon[src] <span class='notice'>You close \the [src] and swipe your card, locking it.</span>") to_chat(user, "[bicon(src)] <span class='notice'>You close \the [src] and swipe your card, locking it.</span>")
update_icon() update_icon()
return return
if(istype(W,/obj/item/weapon/crowbar) && (!locked || destroyed)) if(istype(W,/obj/item/weapon/crowbar) && (!locked || destroyed))
@@ -305,7 +305,7 @@ var/global/list/captain_display_cases = list()
dump() dump()
update_icon() update_icon()
else else
to_chat(src, "\icon[src] <span class='warning'>\The [src] is empty!</span>") to_chat(src, "[bicon(src)] <span class='warning'>\The [src] is empty!</span>")
else else
user.visible_message("[user.name] gently runs his hands over \the [src] in appreciation of its contents.", \ user.visible_message("[user.name] gently runs his hands over \the [src] in appreciation of its contents.", \
"You gently run your hands over \the [src] in appreciation of its contents.", \ "You gently run your hands over \the [src] in appreciation of its contents.", \
+1 -1
View File
@@ -23,7 +23,7 @@
/obj/structure/mopbucket/examine(mob/user) /obj/structure/mopbucket/examine(mob/user)
if(..(user, 1)) if(..(user, 1))
to_chat(usr, text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume)) to_chat(usr, "[bicon(src)] [src] contains [reagents.total_volume] units of water left!")
/obj/structure/mopbucket/attackby(obj/item/weapon/W as obj, mob/user as mob, params) /obj/structure/mopbucket/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/mop)) if (istype(W, /obj/item/weapon/mop))
+1 -1
View File
@@ -72,7 +72,7 @@
else if(isicon(var_value)) else if(isicon(var_value))
to_chat(usr, "Variable appears to be <b>ICON</b>.") to_chat(usr, "Variable appears to be <b>ICON</b>.")
var_value = "\icon[var_value]" var_value = "[bicon(var_value)]"
default = "icon" default = "icon"
else if(istype(var_value,/atom) || istype(var_value,/datum)) else if(istype(var_value,/atom) || istype(var_value,/datum))
+2 -2
View File
@@ -328,7 +328,7 @@ var/list/forbidden_varedit_object_types = list(
if(default == "num") if(default == "num")
dir = 1 dir = 1
else if(default == "icon") else if(default == "icon")
var_value = "\icon[var_value]" var_value = "[bicon(var_value)]"
to_chat(usr, "Variable contains: [var_value]") to_chat(usr, "Variable contains: [var_value]")
if(dir) if(dir)
@@ -465,7 +465,7 @@ var/list/forbidden_varedit_object_types = list(
else if(isicon(variable)) else if(isicon(variable))
to_chat(usr, "Variable appears to be <b>ICON</b>.") to_chat(usr, "Variable appears to be <b>ICON</b>.")
variable = "\icon[variable]" variable = "[bicon(variable)]"
class = "icon" class = "icon"
else if(istype(variable,/matrix)) else if(istype(variable,/matrix))
+1 -1
View File
@@ -13,7 +13,7 @@
return return
var/image/cross = image('icons/obj/storage.dmi',"bible") var/image/cross = image('icons/obj/storage.dmi',"bible")
msg = "\blue \icon[cross] <b><font color=purple>PRAY: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[src]'>SM</A>) ([admin_jump_link(src, "holder")]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>):</b> [msg]" msg = "\blue [bicon(cross)] <b><font color=purple>PRAY: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[src]'>SM</A>) ([admin_jump_link(src, "holder")]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>):</b> [msg]"
for(var/client/X in admins) for(var/client/X in admins)
if(check_rights(R_EVENT,0,X.mob)) if(check_rights(R_EVENT,0,X.mob))
+1 -1
View File
@@ -84,7 +84,7 @@
/obj/machinery/arcade/proc/pay_with_cash(var/obj/item/weapon/spacecash/cashmoney, var/mob/user) /obj/machinery/arcade/proc/pay_with_cash(var/obj/item/weapon/spacecash/cashmoney, var/mob/user)
if(cashmoney.get_total() < token_price) if(cashmoney.get_total() < token_price)
to_chat(user, "\icon[cashmoney] <span class='warning'>That is not enough money.</span>") to_chat(user, "[bicon(cashmoney)] <span class='warning'>That is not enough money.</span>")
return 0 return 0
visible_message("<span class='info'>[usr] inserts a credit chip into [src].</span>") visible_message("<span class='info'>[usr] inserts a credit chip into [src].</span>")
var/left = cashmoney.get_total() - token_price var/left = cashmoney.get_total() - token_price
+1 -1
View File
@@ -61,7 +61,7 @@
return return
/obj/item/device/onetankbomb/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here. /obj/item/device/onetankbomb/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here.
visible_message("\icon[src] *beep* *beep*", "*beep* *beep*") visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
sleep(10) sleep(10)
if(!src) if(!src)
return return
+1 -1
View File
@@ -55,7 +55,7 @@
health_scan = M.health health_scan = M.health
if(health_scan <= alarm_health) if(health_scan <= alarm_health)
pulse() pulse()
audible_message("\icon[src] *beep* *beep*", "*beep* *beep*") audible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
toggle_scan() toggle_scan()
return return
return return
+1 -1
View File
@@ -124,7 +124,7 @@
if(!secured || !on || cooldown > 0) if(!secured || !on || cooldown > 0)
return 0 return 0
pulse(0) pulse(0)
audible_message("\icon[src] *beep* *beep*", null, 3) audible_message("[bicon(src)] *beep* *beep*", null, 3)
cooldown = 2 cooldown = 2
spawn(10) spawn(10)
process_cooldown() process_cooldown()
+1 -1
View File
@@ -50,7 +50,7 @@
sense() sense()
if((!secured)||(!scanning)||(cooldown > 0)) return 0 if((!secured)||(!scanning)||(cooldown > 0)) return 0
pulse(0) pulse(0)
visible_message("\icon[src] *beep* *beep*", "*beep* *beep*") visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
cooldown = 2 cooldown = 2
spawn(10) spawn(10)
process_cooldown() process_cooldown()
+1 -1
View File
@@ -150,7 +150,7 @@
pulse(1) pulse(1)
for(var/mob/O in hearers(1, src.loc)) for(var/mob/O in hearers(1, src.loc))
O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2)
return return
/obj/item/device/assembly/signaler/proc/set_frequency(new_frequency) /obj/item/device/assembly/signaler/proc/set_frequency(new_frequency)
+1 -1
View File
@@ -44,7 +44,7 @@
if((!secured)||(cooldown > 0)) return 0 if((!secured)||(cooldown > 0)) return 0
pulse(0) pulse(0)
if(loc) if(loc)
loc.visible_message("\icon[src] *beep* *beep*", "*beep* *beep*") loc.visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
cooldown = 2 cooldown = 2
spawn(10) spawn(10)
process_cooldown() process_cooldown()
+3 -3
View File
@@ -30,12 +30,12 @@
recorded_type = type recorded_type = type
listening = 0 listening = 0
var/turf/T = get_turf(src) //otherwise it won't work in hand var/turf/T = get_turf(src) //otherwise it won't work in hand
T.visible_message("\icon[src] beeps, \"Activation message is [type ? "the sound when one [recorded]" : "'[recorded]'."]\"") T.visible_message("[bicon(src)] beeps, \"Activation message is [type ? "the sound when one [recorded]" : "'[recorded]'."]\"")
else else
if(findtext(msg, recorded) && type == recorded_type) if(findtext(msg, recorded) && type == recorded_type)
pulse(0) pulse(0)
var/turf/T = get_turf(src) //otherwise it won't work in hand var/turf/T = get_turf(src) //otherwise it won't work in hand
T.visible_message("\icon[src] \red beeps!") T.visible_message("[bicon(src)] \red beeps!")
activate() activate()
return // previously this toggled listning when not in a holder, that's a little silly. It was only called in attack_self that way. return // previously this toggled listning when not in a holder, that's a little silly. It was only called in attack_self that way.
@@ -46,7 +46,7 @@
listening = !listening listening = !listening
var/turf/T = get_turf(src) var/turf/T = get_turf(src)
T.visible_message("\icon[src] beeps, \"[listening ? "Now" : "No longer"] recording input.\"") T.visible_message("[bicon(src)] beeps, \"[listening ? "Now" : "No longer"] recording input.\"")
return 1 return 1
+1 -1
View File
@@ -149,7 +149,7 @@ obj/machinery/gateway/centerstation/process()
/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob, params) /obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob, params)
if(istype(W,/obj/item/device/multitool)) if(istype(W,/obj/item/device/multitool))
to_chat(user, "\black The gate is already calibrated, there is no work for you to do here.") to_chat(user, "The gate is already calibrated, there is no work for you to do here.")
return return
/////////////////////////////////////Away//////////////////////// /////////////////////////////////////Away////////////////////////
@@ -172,7 +172,7 @@
if(istype(M, /mob/living/carbon/human)) if(istype(M, /mob/living/carbon/human))
for(var/mob/O in viewers(world.view, src.loc)) for(var/mob/O in viewers(world.view, src.loc))
to_chat(O, "<font color='red'>[M] triggered the \icon[src] [src]</font>") to_chat(O, "<font color='red'>[M] triggered the [bicon(src)] [src]</font>")
triggered = 1 triggered = 1
call(src,triggerproc)(M) call(src,triggerproc)(M)
+5 -1
View File
@@ -84,4 +84,8 @@
var/datum/click_intercept/click_intercept = null var/datum/click_intercept/click_intercept = null
//datum that controls the displaying and hiding of tooltips //datum that controls the displaying and hiding of tooltips
var/datum/tooltip/tooltips var/datum/tooltip/tooltips
// Their chat window, sort of important.
// See /goon/code/datums/browserOutput.dm
var/datum/chatOutput/chatOutput
+10
View File
@@ -43,6 +43,9 @@
completed_asset_jobs += job completed_asset_jobs += job
return return
if(href_list["_src_"] == "chat")
return chatOutput.Topic(href, href_list)
//Reduces spamming of links by dropping calls that happen during the delay period //Reduces spamming of links by dropping calls that happen during the delay period
if(next_allowed_topic_time > world.time) if(next_allowed_topic_time > world.time)
return return
@@ -203,6 +206,11 @@
if("prefs") return prefs.process_link(usr,href_list) if("prefs") return prefs.process_link(usr,href_list)
if("vars") return view_var_Topic(href,href_list,hsrc) if("vars") return view_var_Topic(href,href_list,hsrc)
switch(href_list["action"])
if ("openLink")
src << link(href_list["link"])
..() //redirect to hsrc.Topic() ..() //redirect to hsrc.Topic()
/client/proc/is_content_unlocked() /client/proc/is_content_unlocked()
@@ -245,6 +253,7 @@
//CONNECT// //CONNECT//
/////////// ///////////
/client/New(TopicData) /client/New(TopicData)
chatOutput = new /datum/chatOutput(src) // Right off the bat.
TopicData = null //Prevent calls to client.Topic from connect TopicData = null //Prevent calls to client.Topic from connect
if(connection != "seeker") //Invalid connection type. if(connection != "seeker") //Invalid connection type.
@@ -283,6 +292,7 @@
prefs.last_id = computer_id //these are gonna be used for banning prefs.last_id = computer_id //these are gonna be used for banning
. = ..() //calls mob.Login() . = ..() //calls mob.Login()
chatOutput.start()
if(custom_event_msg && custom_event_msg != "") if(custom_event_msg && custom_event_msg != "")
to_chat(src, "<h1 class='alert'>Custom Event</h1>") to_chat(src, "<h1 class='alert'>Custom Event</h1>")
+2 -2
View File
@@ -82,13 +82,13 @@
var/datum/effect/system/spark_spread/spark_system var/datum/effect/system/spark_spread/spark_system
/obj/item/weapon/rig/examine() /obj/item/weapon/rig/examine()
to_chat(usr, "This is \icon[src][src.name].") to_chat(usr, "This is [bicon(src)][src.name].")
to_chat(usr, "[src.desc]") to_chat(usr, "[src.desc]")
if(wearer) if(wearer)
for(var/obj/item/piece in list(helmet,gloves,chest,boots)) for(var/obj/item/piece in list(helmet,gloves,chest,boots))
if(!piece || piece.loc != wearer) if(!piece || piece.loc != wearer)
continue continue
to_chat(usr, "\icon[piece] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed.") to_chat(usr, "[bicon(piece)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed.")
if(src.loc == usr) if(src.loc == usr)
to_chat(usr, "The maintenance panel is [open ? "open" : "closed"].") to_chat(usr, "The maintenance panel is [open ? "open" : "closed"].")
@@ -389,7 +389,7 @@
/obj/item/clothing/accessory/petcollar/examine(mob/user) /obj/item/clothing/accessory/petcollar/examine(mob/user)
..() ..()
if(access_id) if(access_id)
to_chat(user, "There is \icon[access_id] \a [access_id] clipped onto it.") to_chat(user, "There is [bicon(access_id)] \a [access_id] clipped onto it.")
/obj/item/clothing/accessory/petcollar/equipped(mob/living/simple_animal/user) /obj/item/clothing/accessory/petcollar/equipped(mob/living/simple_animal/user)
if(istype(user)) if(istype(user))
+1 -1
View File
@@ -61,7 +61,7 @@
dat += {" dat += {"
<td> <td>
<a href='?src=\ref[src];[peripheralop]=\ref[C]'> <a href='?src=\ref[src];[peripheralop]=\ref[C]'>
\icon[C]<br> [bicon(C)]<br>
<span>[C.name]</span> <span>[C.name]</span>
</a> </a>
</td>"} </td>"}
@@ -60,7 +60,7 @@
if(!interactable() || !computer.radio || ..(href,href_list) ) if(!interactable() || !computer.radio || ..(href,href_list) )
return return
if (!(computer.z in config.station_levels)) if (!(computer.z in config.station_levels))
to_chat(usr, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(usr, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
if("main" in href_list) if("main" in href_list)
+1 -1
View File
@@ -25,7 +25,7 @@
attackby(obj/item/weapon/aiModule/module as obj, mob/user as mob, params) attackby(obj/item/weapon/aiModule/module as obj, mob/user as mob, params)
if (user.z > 6) if (user.z > 6)
to_chat(user, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(user, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
if(istype(module, /obj/item/weapon/aiModule)) if(istype(module, /obj/item/weapon/aiModule))
module.install(src) module.install(src)
+1 -1
View File
@@ -50,7 +50,7 @@
if(!interactable()) if(!interactable())
return return
if (computer.z > 6) if (computer.z > 6)
to_chat(usr, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(usr, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
var/dat var/dat
+4 -4
View File
@@ -411,10 +411,10 @@
if (!customrecepient.silent) if (!customrecepient.silent)
playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1)
for (var/mob/O in hearers(3, customrecepient.loc)) for (var/mob/O in hearers(3, customrecepient.loc))
O.show_message(text("\icon[customrecepient] *[customrecepient.ttone]*")) O.show_message(text("[bicon(customrecepient)] *[customrecepient.ttone]*"))
if( customrecepient.loc && ishuman(customrecepient.loc) ) if( customrecepient.loc && ishuman(customrecepient.loc) )
var/mob/living/carbon/human/H = customrecepient.loc var/mob/living/carbon/human/H = customrecepient.loc
to_chat(H, "\icon[customrecepient] <b>Message from [customsender] ([customjob]), </b>\"[custommessage]\" (<a href='byond:)//?src=\ref[src];choice=Message;skiprefresh=1;target=\ref[src]'>Reply</a>)" to_chat(H, "[bicon(customrecepient)] <b>Message from [customsender] ([customjob]), </b>\"[custommessage]\" (<a href='byond:)//?src=\ref[src];choice=Message;skiprefresh=1;target=\ref[src]'>Reply</a>)"
log_pda("[usr] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]") log_pda("[usr] (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]")
customrecepient.overlays.Cut() customrecepient.overlays.Cut()
@@ -426,10 +426,10 @@
if (!customrecepient.silent) if (!customrecepient.silent)
playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1) playsound(customrecepient.loc, 'sound/machines/twobeep.ogg', 50, 1)
for (var/mob/O in hearers(3, customrecepient.loc)) for (var/mob/O in hearers(3, customrecepient.loc))
O.show_message(text("\icon[customrecepient] *[customrecepient.ttone]*")) O.show_message(text("[bicon(customrecepient)] *[customrecepient.ttone]*"))
if( customrecepient.loc && ishuman(customrecepient.loc) ) if( customrecepient.loc && ishuman(customrecepient.loc) )
var/mob/living/carbon/human/H = customrecepient.loc var/mob/living/carbon/human/H = customrecepient.loc
to_chat(H, "\icon[customrecepient] <b>Message from [PDARec.owner] ([customjob]), </b>\"[custommessage]\" (<a href='byond:)//?src=\ref[customrecepient];choice=Message;skiprefresh=1;target=\ref[PDARec]'>Reply</a>)" to_chat(H, "[bicon(customrecepient)] <b>Message from [PDARec.owner] ([customjob]), </b>\"[custommessage]\" (<a href='byond:)//?src=\ref[customrecepient];choice=Message;skiprefresh=1;target=\ref[PDARec]'>Reply</a>)"
log_pda("[usr] (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]") log_pda("[usr] (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]")
customrecepient.overlays.Cut() customrecepient.overlays.Cut()
+1 -1
View File
@@ -58,7 +58,7 @@
return return
if (computer.z > 6) if (computer.z > 6)
to_chat(usr, "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!") to_chat(usr, "<span class='danger'>Unable to establish a connection</span>: You're too far away from the station!")
return return
var/dat var/dat
+5 -5
View File
@@ -262,11 +262,11 @@
network = 0 network = 0
power = 0 power = 0
else else
to_chat(usr, "\icon[src]<span class='warning'>You don't have that much money!</span>") to_chat(usr, "[bicon(src)]<span class='warning'>You don't have that much money!</span>")
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to access account. Check security settings and try again.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to access vendor account. Please record the machine ID and call CentComm Support.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to access vendor account. Please record the machine ID and call CentComm Support.</span>")
/obj/machinery/lapvend/proc/total() /obj/machinery/lapvend/proc/total()
var/total = 0 var/total = 0
@@ -405,6 +405,6 @@
power = 0 power = 0
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to access account. Check security settings and try again.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to access vendor account. Please record the machine ID and call CentComm Support.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to access vendor account. Please record the machine ID and call CentComm Support.</span>")
+9 -9
View File
@@ -49,7 +49,7 @@ log transactions
if(linked_db && ( (linked_db.stat & NOPOWER) || !linked_db.activated ) ) if(linked_db && ( (linked_db.stat & NOPOWER) || !linked_db.activated ) )
linked_db = null linked_db = null
authenticated_account = null authenticated_account = null
src.visible_message("\red \icon[src] [src] buzzes rudely, \"Connection to remote database lost.\"") src.visible_message("\red [bicon(src)] [src] buzzes rudely, \"Connection to remote database lost.\"")
updateDialog() updateDialog()
if(ticks_left_timeout > 0) if(ticks_left_timeout > 0)
@@ -225,7 +225,7 @@ log transactions
var/target_account_number = text2num(href_list["target_acc_number"]) var/target_account_number = text2num(href_list["target_acc_number"])
var/transfer_purpose = href_list["purpose"] var/transfer_purpose = href_list["purpose"]
if(linked_db.charge_to_account(target_account_number, authenticated_account.owner_name, transfer_purpose, machine_id, transfer_amount)) if(linked_db.charge_to_account(target_account_number, authenticated_account.owner_name, transfer_purpose, machine_id, transfer_amount))
to_chat(usr, "\icon[src]<span class='info'>Funds transfer successful.</span>") to_chat(usr, "[bicon(src)]<span class='info'>Funds transfer successful.</span>")
authenticated_account.money -= transfer_amount authenticated_account.money -= transfer_amount
//create an entry in the account transaction log //create an entry in the account transaction log
@@ -238,10 +238,10 @@ log transactions
T.amount = "([transfer_amount])" T.amount = "([transfer_amount])"
authenticated_account.transaction_log.Add(T) authenticated_account.transaction_log.Add(T)
else else
to_chat(usr, "\icon[src]<span class='warning'>Funds transfer failed.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Funds transfer failed.</span>")
else else
to_chat(usr, "\icon[src]<span class='warning'>You don't have enough funds to do that!</span>") to_chat(usr, "[bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
if("view_screen") if("view_screen")
view_screen = text2num(href_list["view_screen"]) view_screen = text2num(href_list["view_screen"])
if("change_security_level") if("change_security_level")
@@ -275,11 +275,11 @@ log transactions
T.time = worldtime2text() T.time = worldtime2text()
failed_account.transaction_log.Add(T) failed_account.transaction_log.Add(T)
else else
to_chat(usr, "\red \icon[src] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.") to_chat(usr, "\red [bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.")
previous_account_number = tried_account_num previous_account_number = tried_account_num
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1)
else else
to_chat(usr, "\red \icon[src] incorrect pin/account combination entered.") to_chat(usr, "\red [bicon(src)] incorrect pin/account combination entered.")
number_incorrect_tries = 0 number_incorrect_tries = 0
else else
playsound(src, 'sound/machines/twobeep.ogg', 50, 1) playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
@@ -295,7 +295,7 @@ log transactions
T.time = worldtime2text() T.time = worldtime2text()
authenticated_account.transaction_log.Add(T) authenticated_account.transaction_log.Add(T)
to_chat(usr, "\blue \icon[src] Access granted. Welcome user '[authenticated_account.owner_name].'") to_chat(usr, "\blue [bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].'")
previous_account_number = tried_account_num previous_account_number = tried_account_num
if("withdrawal") if("withdrawal")
@@ -323,7 +323,7 @@ log transactions
T.time = worldtime2text() T.time = worldtime2text()
authenticated_account.transaction_log.Add(T) authenticated_account.transaction_log.Add(T)
else else
to_chat(usr, "\icon[src]<span class='warning'>You don't have enough funds to do that!</span>") to_chat(usr, "[bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
if("balance_statement") if("balance_statement")
if(authenticated_account) if(authenticated_account)
if(world.timeofday < lastprint + PRINT_DELAY) if(world.timeofday < lastprint + PRINT_DELAY)
@@ -391,7 +391,7 @@ log transactions
if(I) if(I)
authenticated_account = attempt_account_access(I.associated_account_number) authenticated_account = attempt_account_access(I.associated_account_number)
if(authenticated_account) if(authenticated_account)
to_chat(human_user, "\blue \icon[src] Access granted. Welcome user '[authenticated_account.owner_name].'") to_chat(human_user, "\blue [bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].'")
//create a transaction log entry //create a transaction log entry
var/datum/transaction/T = new() var/datum/transaction/T = new()
+13 -13
View File
@@ -111,9 +111,9 @@
var/obj/item/weapon/card/I = O var/obj/item/weapon/card/I = O
scan_card(I) scan_card(I)
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to connect to linked account.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to connect to accounts database.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to connect to accounts database.</span>")
else else
..() ..()
@@ -130,7 +130,7 @@
alert("That is not a valid code!") alert("That is not a valid code!")
print_reference() print_reference()
else else
to_chat(usr, "\icon[src]<span class='warning'>Incorrect code entered.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Incorrect code entered.</span>")
if("change_id") if("change_id")
var/attempt_code = text2num(input("Re-enter the current EFTPOS access code", "Confirm EFTPOS code")) var/attempt_code = text2num(input("Re-enter the current EFTPOS access code", "Confirm EFTPOS code"))
if(attempt_code == access_code) if(attempt_code == access_code)
@@ -139,7 +139,7 @@
eftpos_name = name + " EFTPOS scanner" eftpos_name = name + " EFTPOS scanner"
print_reference() print_reference()
else else
to_chat(usr, "\icon[src]<span class='warning'>Incorrect code entered.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Incorrect code entered.</span>")
if("link_account") if("link_account")
if(!linked_db) if(!linked_db)
reconnect_database() reconnect_database()
@@ -148,7 +148,7 @@
var/attempt_pin = input("Enter pin code", "Account pin") as num var/attempt_pin = input("Enter pin code", "Account pin") as num
linked_account = attempt_account_access(attempt_account_num, attempt_pin, 1) linked_account = attempt_account_access(attempt_account_num, attempt_pin, 1)
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to connect to accounts database.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to connect to accounts database.</span>")
if("trans_purpose") if("trans_purpose")
var/purpose = input("Enter reason for EFTPOS transaction", "Transaction purpose") as text|null var/purpose = input("Enter reason for EFTPOS transaction", "Transaction purpose") as text|null
if(purpose) if(purpose)
@@ -168,7 +168,7 @@
else if(linked_account) else if(linked_account)
transaction_locked = 1 transaction_locked = 1
else else
to_chat(usr, "\icon[src] <span class='warning'>No account connected to send transactions to.</span>") to_chat(usr, "[bicon(src)] <span class='warning'>No account connected to send transactions to.</span>")
if("scan_card") if("scan_card")
//attempt to connect to a new db, and if that doesn't work then fail //attempt to connect to a new db, and if that doesn't work then fail
if(!linked_db) if(!linked_db)
@@ -178,7 +178,7 @@
if (istype(I, /obj/item/weapon/card)) if (istype(I, /obj/item/weapon/card))
scan_card(I) scan_card(I)
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to link accounts.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to link accounts.</span>")
if("reset") if("reset")
//reset the access code - requires HoP/captain access //reset the access code - requires HoP/captain access
var/obj/item/I = usr.get_active_hand() var/obj/item/I = usr.get_active_hand()
@@ -186,10 +186,10 @@
var/obj/item/weapon/card/id/C = I var/obj/item/weapon/card/id/C = I
if(access_cent_commander in C.access || access_hop in C.access || access_captain in C.access) if(access_cent_commander in C.access || access_hop in C.access || access_captain in C.access)
access_code = 0 access_code = 0
to_chat(usr, "\icon[src]<span class='info'>Access code reset to 0.</span>") to_chat(usr, "[bicon(src)]<span class='info'>Access code reset to 0.</span>")
else if (istype(I, /obj/item/weapon/card/emag)) else if (istype(I, /obj/item/weapon/card/emag))
access_code = 0 access_code = 0
to_chat(usr, "\icon[src]<span class='info'>Access code reset to 0.</span>") to_chat(usr, "[bicon(src)]<span class='info'>Access code reset to 0.</span>")
src.attack_self(usr) src.attack_self(usr)
@@ -204,7 +204,7 @@
if(D) if(D)
if(transaction_amount <= D.money) if(transaction_amount <= D.money)
playsound(src, 'sound/machines/chime.ogg', 50, 1) playsound(src, 'sound/machines/chime.ogg', 50, 1)
src.visible_message("\icon[src] The [src] chimes.") src.visible_message("[bicon(src)] The [src] chimes.")
transaction_paid = 1 transaction_paid = 1
//transfer the money //transfer the money
@@ -233,11 +233,11 @@
T.time = worldtime2text() T.time = worldtime2text()
linked_account.transaction_log.Add(T) linked_account.transaction_log.Add(T)
else else
to_chat(usr, "\icon[src]<span class='warning'>You don't have that much money!</span>") to_chat(usr, "[bicon(src)]<span class='warning'>You don't have that much money!</span>")
else else
to_chat(usr, "\icon[src]<span class='warning'>Unable to access account. Check security settings and try again.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
else else
to_chat(usr, "\icon[src]<span class='warning'>EFTPOS is not connected to an account.</span>") to_chat(usr, "[bicon(src)]<span class='warning'>EFTPOS is not connected to an account.</span>")
else else
..() ..()
+1 -1
View File
@@ -391,7 +391,7 @@ var/const/POS_HEADER = {"<html>
return return
/obj/machinery/pos/proc/say(var/text) /obj/machinery/pos/proc/say(var/text)
src.visible_message("\icon[src] <span class=\"notice\"><b>[name]</b> states, \"[text]\"</span>") src.visible_message("[bicon(src)] <span class=\"notice\"><b>[name]</b> states, \"[text]\"</span>")
/obj/machinery/pos/Topic(var/href, var/list/href_list) /obj/machinery/pos/Topic(var/href, var/list/href_list)
if(..(href,href_list)) return if(..(href,href_list)) return
+1 -1
View File
@@ -46,7 +46,7 @@
description_holders["antag"] = (update_antag_info)? A.get_description_antag() : "" description_holders["antag"] = (update_antag_info)? A.get_description_antag() : ""
description_holders["name"] = "[A.name]" description_holders["name"] = "[A.name]"
description_holders["icon"] = "\icon[A]" description_holders["icon"] = "[bicon(A)]"
description_holders["desc"] = A.desc description_holders["desc"] = A.desc
/client/Stat() /client/Stat()
+1 -1
View File
@@ -80,7 +80,7 @@
/obj/item/weapon/grown/nettle/death /obj/item/weapon/grown/nettle/death
name = "deathnettle" name = "deathnettle"
desc = "The <span class='danger'>glowing</span> \black nettle incites <span class='boldannounce'>rage</span>\black in you just from looking at it!" desc = "The <span class='danger'>glowing</span> nettle incites <span class='boldannounce'>rage</span> in you just from looking at it!"
icon_state = "deathnettle" icon_state = "deathnettle"
force = 30 force = 30
throwforce = 15 throwforce = 15
+5 -5
View File
@@ -68,15 +68,15 @@
active = 0 active = 0
if(failed_task) if(failed_task)
failed_task = 0 failed_task = 0
visible_message("\icon[src] [src] pings unhappily, flashing a red warning light.") visible_message("[bicon(src)] [src] pings unhappily, flashing a red warning light.")
else else
visible_message("\icon[src] [src] pings happily.") visible_message("[bicon(src)] [src] pings happily.")
if(eject_disk) if(eject_disk)
eject_disk = 0 eject_disk = 0
if(loaded_disk) if(loaded_disk)
loaded_disk.loc = get_turf(src) loaded_disk.loc = get_turf(src)
visible_message("\icon[src] [src] beeps and spits out [loaded_disk].") visible_message("[bicon(src)] [src] beeps and spits out [loaded_disk].")
loaded_disk = null loaded_disk = null
/obj/machinery/botany/attackby(obj/item/weapon/W as obj, mob/user as mob) /obj/machinery/botany/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -212,14 +212,14 @@
plant_controller.seeds[seed.seed.name] = seed.seed plant_controller.seeds[seed.seed.name] = seed.seed
seed.update_seed() seed.update_seed()
visible_message("\icon[src] [src] beeps and spits out [seed].") visible_message("[bicon(src)] [src] beeps and spits out [seed].")
seed = null seed = null
if(href_list["eject_disk"]) if(href_list["eject_disk"])
if(!loaded_disk) return if(!loaded_disk) return
loaded_disk.loc = get_turf(src) loaded_disk.loc = get_turf(src)
visible_message("\icon[src] [src] beeps and spits out [loaded_disk].") visible_message("[bicon(src)] [src] beeps and spits out [loaded_disk].")
loaded_disk = null loaded_disk = null
usr.set_machine(src) usr.set_machine(src)
+5 -5
View File
@@ -218,7 +218,7 @@ var/global/loopModeNames=list(
if(response) if(response)
var/json = file2text(response["CONTENT"]) var/json = file2text(response["CONTENT"])
if("/>" in json) if("/>" in json)
visible_message("<span class='warning'>\icon[src] \The [src] buzzes, unable to update its playlist.</span>","<em>You hear a buzz.</em>") visible_message("<span class='warning'>[bicon(src)] \The [src] buzzes, unable to update its playlist.</span>","<em>You hear a buzz.</em>")
stat &= BROKEN stat &= BROKEN
update_icon() update_icon()
return return
@@ -226,11 +226,11 @@ var/global/loopModeNames=list(
for(var/list/record in songdata) for(var/list/record in songdata)
playlist += new /datum/song_info(record) playlist += new /datum/song_info(record)
if(playlist.len==0) if(playlist.len==0)
visible_message("<span class='warning'>\icon[src] \The [src] buzzes, unable to update its playlist.</span>","<em>You hear a buzz.</em>") visible_message("<span class='warning'>[bicon(src)] \The [src] buzzes, unable to update its playlist.</span>","<em>You hear a buzz.</em>")
stat &= BROKEN stat &= BROKEN
update_icon() update_icon()
return return
visible_message("<span class='notice'>\icon[src] \The [src] beeps, and the menu on its front fills with [playlist.len] items.</span>","<em>You hear a beep.</em>") visible_message("<span class='notice'>[bicon(src)] \The [src] beeps, and the menu on its front fills with [playlist.len] items.</span>","<em>You hear a beep.</em>")
if(autoplay) if(autoplay)
playing=1 playing=1
autoplay=0 autoplay=0
@@ -261,8 +261,8 @@ var/global/loopModeNames=list(
var/datum/song_info/song = playlist[current_song] var/datum/song_info/song = playlist[current_song]
media_url = song.url media_url = song.url
media_start_time = world.time media_start_time = world.time
visible_message("<span class='notice'>\icon[src] \The [src] begins to play [song.display()].</span>","<em>You hear music.</em>") visible_message("<span class='notice'>[bicon(src)] \The [src] begins to play [song.display()].</span>","<em>You hear music.</em>")
//visible_message("<span class='notice'>\icon[src] \The [src] warbles: [song.length/10]s @ [song.url]</notice>") //visible_message("<span class='notice'>[bicon(src)] \The [src] warbles: [song.length/10]s @ [song.url]</notice>")
else else
media_url="" media_url=""
media_start_time = 0 media_start_time = 0
@@ -147,7 +147,7 @@
if(!..(user)) if(!..(user))
return return
var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n[desc]\n" var/msg = "<span class='info'>*---------*\nThis is [bicon(src)] \a <EM>[src]</EM>!\n[desc]\n"
msg += "<span class='warning'>" msg += "<span class='warning'>"
if(src.brainmob && src.brainmob.key) if(src.brainmob && src.brainmob.key)
+32 -32
View File
@@ -41,7 +41,7 @@
t_is = "are" t_is = "are"
else else
if(icon) if(icon)
msg += "\icon[icon] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated msg += "[bicon(icon(icon, dir=SOUTH))] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
switch(gender) switch(gender)
if(MALE) if(MALE)
t_He = "He" t_He = "He"
@@ -80,83 +80,83 @@
tie_msg += " with [english_accessory_list(U)]" tie_msg += " with [english_accessory_list(U)]"
if(w_uniform.blood_DNA) if(w_uniform.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[w_uniform] [w_uniform.gender==PLURAL?"some":"a"] [w_uniform.blood_color != "#030303" ? "blood-stained":"oil-stained"] [w_uniform.name][tie_msg]!</span>\n" msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [w_uniform.blood_color != "#030303" ? "blood-stained":"oil-stained"] [w_uniform.name][tie_msg]!</span>\n"
else else
msg += "[t_He] [t_is] wearing \icon[w_uniform] \a [w_uniform][tie_msg].\n" msg += "[t_He] [t_is] wearing [bicon(w_uniform)] \a [w_uniform][tie_msg].\n"
//head //head
if(head && !(head.flags & ABSTRACT)) if(head && !(head.flags & ABSTRACT))
if(head.blood_DNA) if(head.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[head] [head.gender==PLURAL?"some":"a"] [head.blood_color != "#030303" ? "blood-stained":"oil-stained"] [head.name] on [t_his] head!</span>\n" msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [head.blood_color != "#030303" ? "blood-stained":"oil-stained"] [head.name] on [t_his] head!</span>\n"
else else
msg += "[t_He] [t_is] wearing \icon[head] \a [head] on [t_his] head.\n" msg += "[t_He] [t_is] wearing [bicon(head)] \a [head] on [t_his] head.\n"
//suit/armour //suit/armour
if(wear_suit && !(wear_suit.flags & ABSTRACT)) if(wear_suit && !(wear_suit.flags & ABSTRACT))
if(wear_suit.blood_DNA) if(wear_suit.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[wear_suit] [wear_suit.gender==PLURAL?"some":"a"] [wear_suit.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_suit.name]!</span>\n" msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [wear_suit.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_suit.name]!</span>\n"
else else
msg += "[t_He] [t_is] wearing \icon[wear_suit] \a [wear_suit].\n" msg += "[t_He] [t_is] wearing [bicon(wear_suit)] \a [wear_suit].\n"
//suit/armour storage //suit/armour storage
if(s_store && !skipsuitstorage) if(s_store && !skipsuitstorage)
if(s_store.blood_DNA) if(s_store.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] carrying \icon[s_store] [s_store.gender==PLURAL?"some":"a"] [s_store.blood_color != "#030303" ? "blood-stained":"oil-stained"] [s_store.name] on [t_his] [wear_suit.name]!</span>\n" msg += "<span class='warning'>[t_He] [t_is] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [s_store.blood_color != "#030303" ? "blood-stained":"oil-stained"] [s_store.name] on [t_his] [wear_suit.name]!</span>\n"
else else
msg += "[t_He] [t_is] carrying \icon[s_store] \a [s_store] on [t_his] [wear_suit.name].\n" msg += "[t_He] [t_is] carrying [bicon(s_store)] \a [s_store] on [t_his] [wear_suit.name].\n"
//back //back
if(back && !(back.flags & ABSTRACT)) if(back && !(back.flags & ABSTRACT))
if(back.blood_DNA) if(back.blood_DNA)
msg += "<span class='warning'>[t_He] [t_has] \icon[back] [back.gender==PLURAL?"some":"a"] [back.blood_color != "#030303" ? "blood-stained":"oil-stained"] [back] on [t_his] back.</span>\n" msg += "<span class='warning'>[t_He] [t_has] [bicon(back)] [back.gender==PLURAL?"some":"a"] [back.blood_color != "#030303" ? "blood-stained":"oil-stained"] [back] on [t_his] back.</span>\n"
else else
msg += "[t_He] [t_has] \icon[back] \a [back] on [t_his] back.\n" msg += "[t_He] [t_has] [bicon(back)] \a [back] on [t_his] back.\n"
//left hand //left hand
if(l_hand && !(l_hand.flags & ABSTRACT)) if(l_hand && !(l_hand.flags & ABSTRACT))
if(l_hand.blood_DNA) if(l_hand.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] holding \icon[l_hand] [l_hand.gender==PLURAL?"some":"a"] [l_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [l_hand.name] in [t_his] left hand!</span>\n" msg += "<span class='warning'>[t_He] [t_is] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [l_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [l_hand.name] in [t_his] left hand!</span>\n"
else else
msg += "[t_He] [t_is] holding \icon[l_hand] \a [l_hand] in [t_his] left hand.\n" msg += "[t_He] [t_is] holding [bicon(l_hand)] \a [l_hand] in [t_his] left hand.\n"
//right hand //right hand
if(r_hand && !(r_hand.flags & ABSTRACT)) if(r_hand && !(r_hand.flags & ABSTRACT))
if(r_hand.blood_DNA) if(r_hand.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] holding \icon[r_hand] [r_hand.gender==PLURAL?"some":"a"] [r_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [r_hand.name] in [t_his] right hand!</span>\n" msg += "<span class='warning'>[t_He] [t_is] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [r_hand.blood_color != "#030303" ? "blood-stained":"oil-stained"] [r_hand.name] in [t_his] right hand!</span>\n"
else else
msg += "[t_He] [t_is] holding \icon[r_hand] \a [r_hand] in [t_his] right hand.\n" msg += "[t_He] [t_is] holding [bicon(r_hand)] \a [r_hand] in [t_his] right hand.\n"
//gloves //gloves
if(gloves && !skipgloves && !(gloves.flags & ABSTRACT)) if(gloves && !skipgloves && !(gloves.flags & ABSTRACT))
if(gloves.blood_DNA) if(gloves.blood_DNA)
msg += "<span class='warning'>[t_He] [t_has] \icon[gloves] [gloves.gender==PLURAL?"some":"a"] [gloves.blood_color != "#030303" ? "blood-stained":"oil-stained"] [gloves.name] on [t_his] hands!</span>\n" msg += "<span class='warning'>[t_He] [t_has] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [gloves.blood_color != "#030303" ? "blood-stained":"oil-stained"] [gloves.name] on [t_his] hands!</span>\n"
else else
msg += "[t_He] [t_has] \icon[gloves] \a [gloves] on [t_his] hands.\n" msg += "[t_He] [t_has] [bicon(gloves)] \a [gloves] on [t_his] hands.\n"
else if(blood_DNA) else if(blood_DNA)
msg += "<span class='warning'>[t_He] [t_has] [hand_blood_color != "#030303" ? "blood-stained":"oil-stained"] hands!</span>\n" msg += "<span class='warning'>[t_He] [t_has] [hand_blood_color != "#030303" ? "blood-stained":"oil-stained"] hands!</span>\n"
//handcuffed? //handcuffed?
if(handcuffed) if(handcuffed)
if(istype(handcuffed, /obj/item/weapon/restraints/handcuffs/cable/zipties)) if(istype(handcuffed, /obj/item/weapon/restraints/handcuffs/cable/zipties))
msg += "<span class='warning'>[t_He] [t_is] \icon[handcuffed] restrained with zipties!</span>\n" msg += "<span class='warning'>[t_He] [t_is] [bicon(handcuffed)] restrained with zipties!</span>\n"
else if(istype(handcuffed, /obj/item/weapon/restraints/handcuffs/cable)) else if(istype(handcuffed, /obj/item/weapon/restraints/handcuffs/cable))
msg += "<span class='warning'>[t_He] [t_is] \icon[handcuffed] restrained with cable!</span>\n" msg += "<span class='warning'>[t_He] [t_is] [bicon(handcuffed)] restrained with cable!</span>\n"
else else
msg += "<span class='warning'>[t_He] [t_is] \icon[handcuffed] handcuffed!</span>\n" msg += "<span class='warning'>[t_He] [t_is] [bicon(handcuffed)] handcuffed!</span>\n"
//belt //belt
if(belt) if(belt)
if(belt.blood_DNA) if(belt.blood_DNA)
msg += "<span class='warning'>[t_He] [t_has] \icon[belt] [belt.gender==PLURAL?"some":"a"] [belt.blood_color != "#030303" ? "blood-stained":"oil-stained"] [belt.name] about [t_his] waist!</span>\n" msg += "<span class='warning'>[t_He] [t_has] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [belt.blood_color != "#030303" ? "blood-stained":"oil-stained"] [belt.name] about [t_his] waist!</span>\n"
else else
msg += "[t_He] [t_has] \icon[belt] \a [belt] about [t_his] waist.\n" msg += "[t_He] [t_has] [bicon(belt)] \a [belt] about [t_his] waist.\n"
//shoes //shoes
if(shoes && !skipshoes && !(shoes.flags & ABSTRACT)) if(shoes && !skipshoes && !(shoes.flags & ABSTRACT))
if(shoes.blood_DNA) if(shoes.blood_DNA)
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[shoes] [shoes.gender==PLURAL?"some":"a"] [shoes.blood_color != "#030303" ? "blood-stained":"oil-stained"] [shoes.name] on [t_his] feet!</span>\n" msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [shoes.blood_color != "#030303" ? "blood-stained":"oil-stained"] [shoes.name] on [t_his] feet!</span>\n"
else else
msg += "[t_He] [t_is] wearing \icon[shoes] \a [shoes] on [t_his] feet.\n" msg += "[t_He] [t_is] wearing [bicon(shoes)] \a [shoes] on [t_his] feet.\n"
else if (blood_DNA) else if (blood_DNA)
msg += "<span class='warning'>[t_He] [t_has] [feet_blood_color != "#030303" ? "blood-stained":"oil-stained"] feet!</span>\n" msg += "<span class='warning'>[t_He] [t_has] [feet_blood_color != "#030303" ? "blood-stained":"oil-stained"] feet!</span>\n"
@@ -164,24 +164,24 @@
//mask //mask
if(wear_mask && !skipmask && !(wear_mask.flags & ABSTRACT)) if(wear_mask && !skipmask && !(wear_mask.flags & ABSTRACT))
if(wear_mask.blood_DNA) if(wear_mask.blood_DNA)
msg += "<span class='warning'>[t_He] [t_has] \icon[wear_mask] [wear_mask.gender==PLURAL?"some":"a"] [wear_mask.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_mask.name] on [t_his] face!</span>\n" msg += "<span class='warning'>[t_He] [t_has] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [wear_mask.blood_color != "#030303" ? "blood-stained":"oil-stained"] [wear_mask.name] on [t_his] face!</span>\n"
else else
msg += "[t_He] [t_has] \icon[wear_mask] \a [wear_mask] on [t_his] face.\n" msg += "[t_He] [t_has] [bicon(wear_mask)] \a [wear_mask] on [t_his] face.\n"
//eyes //eyes
if(glasses && !skipeyes && !(glasses.flags & ABSTRACT)) if(glasses && !skipeyes && !(glasses.flags & ABSTRACT))
if(glasses.blood_DNA) if(glasses.blood_DNA)
msg += "<span class='warning'>[t_He] [t_has] \icon[glasses] [glasses.gender==PLURAL?"some":"a"] [glasses.blood_color != "#030303" ? "blood-stained":"oil-stained"] [glasses] covering [t_his] eyes!</span>\n" msg += "<span class='warning'>[t_He] [t_has] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [glasses.blood_color != "#030303" ? "blood-stained":"oil-stained"] [glasses] covering [t_his] eyes!</span>\n"
else else
msg += "[t_He] [t_has] \icon[glasses] \a [glasses] covering [t_his] eyes.\n" msg += "[t_He] [t_has] [bicon(glasses)] \a [glasses] covering [t_his] eyes.\n"
//left ear //left ear
if(l_ear && !skipears) if(l_ear && !skipears)
msg += "[t_He] [t_has] \icon[l_ear] \a [l_ear] on [t_his] left ear.\n" msg += "[t_He] [t_has] [bicon(l_ear)] \a [l_ear] on [t_his] left ear.\n"
//right ear //right ear
if(r_ear && !skipears) if(r_ear && !skipears)
msg += "[t_He] [t_has] \icon[r_ear] \a [r_ear] on [t_his] right ear.\n" msg += "[t_He] [t_has] [bicon(r_ear)] \a [r_ear] on [t_his] right ear.\n"
//ID //ID
if(wear_id) if(wear_id)
@@ -193,9 +193,9 @@
var/obj/item/weapon/card/id/idcard = wear_id var/obj/item/weapon/card/id/idcard = wear_id
id = idcard.registered_name id = idcard.registered_name
if(id && (id != real_name) && (get_dist(src, user) <= 1) && prob(10)) if(id && (id != real_name) && (get_dist(src, user) <= 1) && prob(10))
msg += "<span class='warning'>[t_He] [t_is] wearing \icon[wear_id] \a [wear_id] yet something doesn't seem right...</span>\n" msg += "<span class='warning'>[t_He] [t_is] wearing [bicon(wear_id)] \a [wear_id] yet something doesn't seem right...</span>\n"
else*/ else*/
msg += "[t_He] [t_is] wearing \icon[wear_id] \a [wear_id].\n" msg += "[t_He] [t_is] wearing [bicon(wear_id)] \a [wear_id].\n"
//Jitters //Jitters
switch(jitteriness) switch(jitteriness)
@@ -670,7 +670,7 @@
if(href_list["send"]) if(href_list["send"])
P.sradio.send_signal("ACTIVATE") P.sradio.send_signal("ACTIVATE")
for(var/mob/O in hearers(1, P.loc)) for(var/mob/O in hearers(1, P.loc))
O.show_message(text("\icon[] *beep* *beep*", P), 3, "*beep* *beep*", 2) O.show_message("[bicon(P)] *beep* *beep*", 3, "*beep* *beep*", 2)
return 1 return 1
else if(href_list["freq"]) else if(href_list["freq"])
@@ -4,7 +4,7 @@
var/msg = "" var/msg = ""
var/obj/act_module = get_active_hand() var/obj/act_module = get_active_hand()
if(act_module) if(act_module)
msg += "It is holding \icon[act_module] \a [act_module].\n" msg += "It is holding [bicon(act_module)] \a [act_module].\n"
msg += "<span class='warning'>" msg += "<span class='warning'>"
if (src.getBruteLoss()) if (src.getBruteLoss())
if (src.getBruteLoss() < 75) if (src.getBruteLoss() < 75)
@@ -507,7 +507,7 @@ Pass a positive integer as an argument to override a bot's default speed.
turn_on() //Saves the AI the hassle of having to activate a bot manually. turn_on() //Saves the AI the hassle of having to activate a bot manually.
access_card = all_access //Give the bot all-access while under the AI's command. access_card = all_access //Give the bot all-access while under the AI's command.
if(message) if(message)
to_chat(calling_ai, "<span class='notice'>\icon[src] [name] called to [end_area.name]. [path.len-1] meters to destination.</span>") to_chat(calling_ai, "<span class='notice'>[bicon(src)] [name] called to [end_area.name]. [path.len-1] meters to destination.</span>")
pathset = 1 pathset = 1
mode = BOT_RESPONDING mode = BOT_RESPONDING
tries = 0 tries = 0
@@ -522,7 +522,7 @@ Pass a positive integer as an argument to override a bot's default speed.
var/success = bot_move(ai_waypoint, 3) var/success = bot_move(ai_waypoint, 3)
if(!success) if(!success)
if(calling_ai) if(calling_ai)
to_chat(calling_ai, "\icon[src] [get_turf(src) == ai_waypoint ? "<span class='notice'>[src] successfully arrived to waypoint.</span>" : "<span class='danger'>[src] failed to reach waypoint.</span>"]") to_chat(calling_ai, "[bicon(src)] [get_turf(src) == ai_waypoint ? "<span class='notice'>[src] successfully arrived to waypoint.</span>" : "<span class='danger'>[src] failed to reach waypoint.</span>"]")
calling_ai = null calling_ai = null
bot_reset() bot_reset()
@@ -639,7 +639,7 @@
if(pathset) //The AI called us here, so notify it of our arrival. if(pathset) //The AI called us here, so notify it of our arrival.
loaddir = dir //The MULE will attempt to load a crate in whatever direction the MULE is "facing". loaddir = dir //The MULE will attempt to load a crate in whatever direction the MULE is "facing".
if(calling_ai) if(calling_ai)
to_chat(calling_ai, "<span class='notice'>\icon[src] [src] wirelessly plays a chiming sound!</span>") to_chat(calling_ai, "<span class='notice'>[bicon(src)] [src] wirelessly plays a chiming sound!</span>")
playsound(calling_ai, 'sound/machines/chime.ogg',40, 0) playsound(calling_ai, 'sound/machines/chime.ogg',40, 0)
calling_ai = null calling_ai = null
radio_channel = "AI Private" //Report on AI Private instead if the AI is controlling us. radio_channel = "AI Private" //Report on AI Private instead if the AI is controlling us.
@@ -112,7 +112,7 @@
if( ishuman(AM) ) if( ishuman(AM) )
if(!stat) if(!stat)
var/mob/M = AM var/mob/M = AM
to_chat(M, "\blue \icon[src] Squeek!") to_chat(M, "\blue [bicon(src)] Squeek!")
M << 'sound/effects/mousesqueek.ogg' M << 'sound/effects/mousesqueek.ogg'
..() ..()
@@ -285,4 +285,4 @@
/mob/living/simple_animal/spiderbot/examine(mob/user) /mob/living/simple_animal/spiderbot/examine(mob/user)
..(user) ..(user)
if(src.held_item) if(src.held_item)
to_chat(user, "It is carrying \a [src.held_item] \icon[src.held_item].") to_chat(user, "It is carrying \a [src.held_item] [bicon(src.held_item)].")
@@ -77,7 +77,7 @@
//repair a bit of damage //repair a bit of damage
if(prob(1)) if(prob(1))
src.visible_message("\red \icon[src] [src] shudders and shakes as some of it's damaged systems come back online.") src.visible_message("\red [bicon(src)] [src] shudders and shakes as some of it's damaged systems come back online.")
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src) s.set_up(3, 1, src)
s.start() s.start()
@@ -92,10 +92,10 @@
//sometimes our targetting sensors malfunction, and we attack anyone nearby //sometimes our targetting sensors malfunction, and we attack anyone nearby
if(prob(disabled ? 0 : 1)) if(prob(disabled ? 0 : 1))
if(hostile_drone) if(hostile_drone)
src.visible_message("\blue \icon[src] [src] retracts several targetting vanes, and dulls it's running lights.") src.visible_message("\blue [bicon(src)] [src] retracts several targetting vanes, and dulls it's running lights.")
hostile_drone = 0 hostile_drone = 0
else else
src.visible_message("\red \icon[src] [src] suddenly lights up, and additional targetting vanes slide into place.") src.visible_message("\red [bicon(src)] [src] suddenly lights up, and additional targetting vanes slide into place.")
hostile_drone = 1 hostile_drone = 1
if(health / maxHealth > 0.9) if(health / maxHealth > 0.9)
@@ -116,17 +116,17 @@
exploding = 0 exploding = 0
if(!disabled) if(!disabled)
if(prob(50)) if(prob(50))
src.visible_message("\blue \icon[src] [src] suddenly shuts down!") src.visible_message("\blue [bicon(src)] [src] suddenly shuts down!")
else else
src.visible_message("\blue \icon[src] [src] suddenly lies still and quiet.") src.visible_message("\blue [bicon(src)] [src] suddenly lies still and quiet.")
disabled = rand(150, 600) disabled = rand(150, 600)
walk(src,0) walk(src,0)
if(exploding && prob(20)) if(exploding && prob(20))
if(prob(50)) if(prob(50))
src.visible_message("\red \icon[src] [src] begins to spark and shake violenty!") src.visible_message("\red [bicon(src)] [src] begins to spark and shake violenty!")
else else
src.visible_message("\red \icon[src] [src] sparks and shakes like it's about to explode!") src.visible_message("\red [bicon(src)] [src] sparks and shakes like it's about to explode!")
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src) s.set_up(3, 1, src)
s.start() s.start()
@@ -151,7 +151,7 @@
/mob/living/simple_animal/hostile/retaliate/malf_drone/death() /mob/living/simple_animal/hostile/retaliate/malf_drone/death()
..() ..()
visible_message("\blue \icon[src] [src] suddenly breaks apart.") visible_message("\blue [bicon(src)] [src] suddenly breaks apart.")
qdel(src) qdel(src)
/mob/living/simple_animal/hostile/retaliate/malf_drone/Destroy() //Seriously, what the actual hell. /mob/living/simple_animal/hostile/retaliate/malf_drone/Destroy() //Seriously, what the actual hell.
+1 -1
View File
@@ -468,7 +468,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
S = 'sound/machines/twobeep.ogg' S = 'sound/machines/twobeep.ogg'
playsound(loc, S, 50, 1) playsound(loc, S, 50, 1)
for(var/mob/O in hearers(3, loc)) for(var/mob/O in hearers(3, loc))
O.show_message(text("\icon[src] *[ttone]*")) O.show_message(text("[bicon(src)] *[ttone]*"))
/obj/item/device/pda/proc/set_ringtone() /obj/item/device/pda/proc/set_ringtone()
var/t = input("Please enter new ringtone", name, ttone) as text var/t = input("Please enter new ringtone", name, ttone) as text
+1 -1
View File
@@ -24,7 +24,7 @@
L = get(pda, /mob/living/silicon) L = get(pda, /mob/living/silicon)
if(L) if(L)
to_chat(L, "\icon[pda] [message]") to_chat(L, "[bicon(pda)] [message]")
nanomanager.update_user_uis(L, pda) // Update the receiving user's PDA UI so that they can see the new message nanomanager.update_user_uis(L, pda) // Update the receiving user's PDA UI so that they can see the new message
if(!notify_silent) if(!notify_silent)
@@ -405,7 +405,7 @@
f_name = "a " f_name = "a "
f_name += "<span class='danger'>blood-stained</span> [name]!" f_name += "<span class='danger'>blood-stained</span> [name]!"
to_chat(user, "\icon[src] That's [f_name]") to_chat(user, "[bicon(src)] That's [f_name]")
if(desc) if(desc)
to_chat(user, desc) to_chat(user, desc)
+2 -2
View File
@@ -302,14 +302,14 @@ var/const/INGEST = 2
var/list/seen = viewers(4, get_turf(my_atom)) var/list/seen = viewers(4, get_turf(my_atom))
for(var/mob/M in seen) for(var/mob/M in seen)
if(!C.no_message) if(!C.no_message)
to_chat(M, "\blue \icon[my_atom] [C.mix_message]") to_chat(M, "\blue [bicon(my_atom)] [C.mix_message]")
if(istype(my_atom, /obj/item/slime_extract)) if(istype(my_atom, /obj/item/slime_extract))
var/obj/item/slime_extract/ME2 = my_atom var/obj/item/slime_extract/ME2 = my_atom
ME2.Uses-- ME2.Uses--
if(ME2.Uses <= 0) // give the notification that the slime core is dead if(ME2.Uses <= 0) // give the notification that the slime core is dead
for(var/mob/M in seen) for(var/mob/M in seen)
to_chat(M, "\blue \icon[my_atom] The [my_atom]'s power is consumed in the reaction.") to_chat(M, "\blue [bicon(my_atom)] The [my_atom]'s power is consumed in the reaction.")
ME2.name = "used slime extract" ME2.name = "used slime extract"
ME2.desc = "This extract has been used up." ME2.desc = "This extract has been used up."
@@ -87,7 +87,7 @@
if(reagents.has_reagent(bad_reagent)) if(reagents.has_reagent(bad_reagent))
badshit += reagents_to_log[bad_reagent] badshit += reagents_to_log[bad_reagent]
if(badshit.len) if(badshit.len)
var/hl="\red <b>([english_list(badshit)])</b> \black" var/hl = "<span class='danger'>([english_list(badshit)])</span>"
message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]")
log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
@@ -55,7 +55,7 @@
if(reagents.has_reagent(bad_reagent)) if(reagents.has_reagent(bad_reagent))
badshit += reagents_to_log[bad_reagent] badshit += reagents_to_log[bad_reagent]
if(badshit.len) if(badshit.len)
var/hl="\red <b>([english_list(badshit)])</b> \black" var/hl = "<span class='danger'>([english_list(badshit)])</span>"
message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]")
log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
@@ -121,7 +121,7 @@
if(reagents.has_reagent(bad_reagent)) if(reagents.has_reagent(bad_reagent))
badshit += reagents_to_log[bad_reagent] badshit += reagents_to_log[bad_reagent]
if(badshit.len) if(badshit.len)
var/hl="\red <b>([english_list(badshit)])</b> \black" var/hl = "<span class='danger'>([english_list(badshit)])</span>"
message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]") message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl]")
log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
@@ -43,7 +43,7 @@
if(reagents.has_reagent(bad_reagent)) if(reagents.has_reagent(bad_reagent))
badshit += reagents_to_log[bad_reagent] badshit += reagents_to_log[bad_reagent]
if(badshit.len) if(badshit.len)
var/hl="\red <b>([english_list(badshit)])</b> \black" var/hl = "<span class='danger'>([english_list(badshit)])</span>"
message_admins("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)") message_admins("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
log_game("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].") log_game("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
@@ -219,7 +219,7 @@
if(reagents.has_reagent(bad_reagent)) if(reagents.has_reagent(bad_reagent))
badshit += reagents_to_log[bad_reagent] badshit += reagents_to_log[bad_reagent]
if(badshit.len) if(badshit.len)
var/hl="\red <b>([english_list(badshit)])</b> \black" var/hl = "<span class='danger'>([english_list(badshit)])</span>"
message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl] ") message_admins("[key_name_admin(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl] ")
log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].") log_game("[key_name(user)] added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
+2 -2
View File
@@ -103,12 +103,12 @@ var/global/list/obj/machinery/message_server/message_servers = list()
if(2) if(2)
if(!Console.silent) if(!Console.silent)
playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1) playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1)
Console.audible_message(text("\icon[Console] *The Requests Console beeps: 'PRIORITY Alert in [sender]'"),,5) Console.audible_message(text("[bicon(Console)] *The Requests Console beeps: 'PRIORITY Alert in [sender]'"),,5)
Console.message_log += "<B><FONT color='red'>High Priority message from <A href='?src=\ref[Console];write=[sender]'>[sender]</A></FONT></B><BR>[authmsg]" Console.message_log += "<B><FONT color='red'>High Priority message from <A href='?src=\ref[Console];write=[sender]'>[sender]</A></FONT></B><BR>[authmsg]"
else else
if(!Console.silent) if(!Console.silent)
playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1) playsound(Console.loc, 'sound/machines/twobeep.ogg', 50, 1)
Console.audible_message(text("\icon[Console] *The Requests Console beeps: 'Message from [sender]'"),,4) Console.audible_message(text("[bicon(Console)] *The Requests Console beeps: 'Message from [sender]'"),,4)
Console.message_log += "<B>Message from <A href='?src=\ref[Console];write=[sender]'>[sender]</A></B><BR>[authmsg]" Console.message_log += "<B>Message from <A href='?src=\ref[Console];write=[sender]'>[sender]</A></B><BR>[authmsg]"
Console.set_light(2) Console.set_light(2)
@@ -81,7 +81,7 @@
var/obj/item/device/measuring_tape/P = W var/obj/item/device/measuring_tape/P = W
user.visible_message("\blue[user] extends [P] towards [src].","\blue You extend [P] towards [src].") user.visible_message("\blue[user] extends [P] towards [src].","\blue You extend [P] towards [src].")
if(do_after(user,40, target = src)) if(do_after(user,40, target = src))
to_chat(user, "\blue \icon[P] [src] has been excavated to a depth of [2*src.excavation_level]cm.") to_chat(user, "\blue [bicon(P)] [src] has been excavated to a depth of [2*src.excavation_level]cm.")
return return
if (istype(W, /obj/item/weapon/pickaxe)) if (istype(W, /obj/item/weapon/pickaxe))
@@ -50,17 +50,17 @@
if(!previous_power_state) if(!previous_power_state)
previous_power_state = 1 previous_power_state = 1
icon_state = "cellold1" icon_state = "cellold1"
src.visible_message("\blue \icon[src] [src] suddenly comes to life!") src.visible_message("\blue [bicon(src)] [src] suddenly comes to life!")
//slowly grow a mob //slowly grow a mob
if(prob(5)) if(prob(5))
src.visible_message("\blue \icon[src] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].") src.visible_message("\blue [bicon(src)] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].")
//if we've finished growing... //if we've finished growing...
if(time_spent_spawning >= time_per_spawn) if(time_spent_spawning >= time_per_spawn)
time_spent_spawning = 0 time_spent_spawning = 0
use_power = 1 use_power = 1
src.visible_message("\blue \icon[src] [src] pings!") src.visible_message("\blue [bicon(src)] [src] pings!")
icon_state = "cellold1" icon_state = "cellold1"
desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow." desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow."
if(spawn_type) if(spawn_type)
@@ -81,7 +81,7 @@
if(previous_power_state) if(previous_power_state)
previous_power_state = 0 previous_power_state = 0
icon_state = "cellold0" icon_state = "cellold0"
src.visible_message("\blue \icon[src] [src] suddenly shuts down.") src.visible_message("\blue [bicon(src)] [src] suddenly shuts down.")
//cloned mob slowly breaks down //cloned mob slowly breaks down
time_spent_spawning = max(time_spent_spawning + last_process - world.time, 0) time_spent_spawning = max(time_spent_spawning + last_process - world.time, 0)
@@ -78,7 +78,7 @@
viables.Remove(type) viables.Remove(type)
construction[button_desc] = type construction[button_desc] = type
fail_message = "\blue \icon[src] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \ fail_message = "\blue [bicon(src)] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \
[pick("horn","beep","bing","bleep","blat","honk","hrumph","ding")] sounds and a \ [pick("horn","beep","bing","bleep","blat","honk","hrumph","ding")] sounds and a \
[pick("yellow","purple","green","blue","red","orange","white")] \ [pick("yellow","purple","green","blue","red","orange","white")] \
[pick("light","dial","meter","window","protrusion","knob","antenna","swirly thing")] \ [pick("light","dial","meter","window","protrusion","knob","antenna","swirly thing")] \
@@ -90,7 +90,7 @@
if(spawning_types.len && powered()) if(spawning_types.len && powered())
spawn_progress_time += world.time - last_process_time spawn_progress_time += world.time - last_process_time
if(spawn_progress_time > max_spawn_time) if(spawn_progress_time > max_spawn_time)
src.visible_message("\blue \icon[src] [src] pings!") src.visible_message("\blue [bicon(src)] [src] pings!")
var/obj/source_material = pop(stored_materials) var/obj/source_material = pop(stored_materials)
var/spawn_type = pop(spawning_types) var/spawn_type = pop(spawning_types)
@@ -113,7 +113,7 @@
icon_state = "borgcharger0(old)" icon_state = "borgcharger0(old)"
else if(prob(5)) else if(prob(5))
src.visible_message("\blue \icon[src] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].") src.visible_message("\blue [bicon(src)] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].")
last_process_time = world.time last_process_time = world.time
@@ -141,9 +141,9 @@
if(index > 0 && index <= construction.len) if(index > 0 && index <= construction.len)
if(stored_materials.len > spawning_types.len) if(stored_materials.len > spawning_types.len)
if(spawning_types.len) if(spawning_types.len)
src.visible_message("\blue \icon[src] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].") src.visible_message("\blue [bicon(src)] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].")
else else
src.visible_message("\blue \icon[src] [src]'s front compartment slides shut.") src.visible_message("\blue [bicon(src)] [src]'s front compartment slides shut.")
spawning_types.Add(construction[construction[index]]) spawning_types.Add(construction[construction[index]])
spawn_progress_time = 0 spawn_progress_time = 0
@@ -64,7 +64,7 @@
var/atom/toplevelholder = holder var/atom/toplevelholder = holder
while(!istype(toplevelholder.loc, /turf)) while(!istype(toplevelholder.loc, /turf))
toplevelholder = toplevelholder.loc toplevelholder = toplevelholder.loc
toplevelholder.visible_message("\red \icon[toplevelholder] [toplevelholder] [display_msg]") toplevelholder.visible_message("\red [bicon(toplevelholder)] [toplevelholder] [display_msg]")
/datum/artifact_effect/proc/DoEffectTouch(var/mob/user) /datum/artifact_effect/proc/DoEffectTouch(var/mob/user)
/datum/artifact_effect/proc/DoEffectAura(var/atom/holder) /datum/artifact_effect/proc/DoEffectAura(var/atom/holder)

Some files were not shown because too many files have changed in this diff Show More