* 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

View File

@@ -187,7 +187,7 @@
else
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)
if(reagents && is_open_container()) //is_open_container() isn't really the right proc for this, but w/e

View File

@@ -133,7 +133,7 @@
equip_traitor(newtraitor)
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>")
newtraitor.mind.special_role = "traitor"
var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR]

View File

@@ -334,7 +334,7 @@
//Reports player logouts//
//////////////////////////
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)
if(L.ckey)

View File

@@ -174,7 +174,7 @@
/datum/game_mode/proc/greet_vampire(var/datum/mind/vampire, var/you_are=1)
var/dat
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.
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)

View File

@@ -14,7 +14,7 @@
/datum/game_mode/wizard/raginmages/announce()
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)

View File

@@ -108,16 +108,16 @@
var/mob/living/carbon/human/T = target
var/obj/item/device/soulstone/C = src
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
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
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
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
for(var/obj/item/W in T)
T.unEquip(W)
@@ -142,7 +142,7 @@
C.icon_state = "soulstone2"
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(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.")
C.imprinted = "[S.name]"
qdel(T)
@@ -150,13 +150,13 @@
var/mob/living/simple_animal/shade/T = target
var/obj/item/device/soulstone/C = src
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
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
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
T.loc = C //put shade in stone
T.status_flags |= GODMODE
@@ -165,7 +165,7 @@
T.faction |= "\ref[U]"
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(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")
var/obj/structure/constructshell/T = target
var/obj/item/device/soulstone/C = src
@@ -221,7 +221,7 @@
Z.cancel_camera()
qdel(C)
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
/proc/makeNewConstruct(var/mob/living/simple_animal/construct/ctype, var/mob/target, var/mob/stoner = null, cultoverride = 0)

View File

@@ -14,7 +14,7 @@
/datum/game_mode/wizard/announce()
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

View File

@@ -382,7 +382,7 @@
being_built = new /list()
return 0
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()
being_built = new /list()
return 0
@@ -392,7 +392,7 @@
D = listgetindex(listgetindex(queue, 1),1)
multiplier = listgetindex(listgetindex(queue,1),2)
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)
var/dat = "<table style='width:100%'><tr>"

View File

@@ -21,7 +21,7 @@
if(..())
return 1
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
usr.set_machine(src)
@@ -69,7 +69,7 @@
if(..())
return
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
user.set_machine(src)

View File

@@ -30,7 +30,7 @@
attackby(obj/item/weapon/O as obj, mob/user as mob, params)
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
if(istype(O, /obj/item/weapon/aiModule))
var/datum/game_mode/nations/mode = get_nations_mode()

View File

@@ -42,7 +42,7 @@
if(..())
return
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
var/dat

View File

@@ -41,7 +41,7 @@
if(..())
return
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
var/dat

View File

@@ -100,9 +100,9 @@ var/const/HOLOPAD_MODE = 0
create_holo(user)//Create one.
src.visible_message("A holographic image of [user] flicks to life right before your eyes!")
else
to_chat(user, "\red ERROR: \black Image feed in progress.")
to_chat(user, "<font color='red'>ERROR:</font> Image feed in progress.")
else
to_chat(user, "\red ERROR: \black Unable to project hologram.")
to_chat(user, "<font color='red'>ERROR:</font> Unable to project hologram.")
return
/*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>"
master.show_message(rendered, 2)
return
/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.
var/name_used = M.GetVoice()

View File

@@ -97,7 +97,7 @@ var/list/ingredients_source = list(
if(ingredients[ICECREAM_VANILLA] > 0)
var/flavour_name = get_icecream_flavour_string(dispense_flavour)
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[ICECREAM_VANILLA] -= 1

View File

@@ -420,7 +420,7 @@ Class Procs:
/obj/machinery/proc/state(var/msg)
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)
if (!text)
@@ -465,7 +465,7 @@ Class Procs:
/obj/machinery/proc/display_parts(mob/user)
to_chat(user, "<span class='notice'>Following parts detected in the machine:</span>")
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)
..(user)

View File

@@ -151,7 +151,7 @@
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)
@@ -168,7 +168,7 @@
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"
@@ -285,7 +285,7 @@
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)
@@ -300,7 +300,7 @@
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"

View File

@@ -180,7 +180,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
screen = RCS_SENTPASS
message_log += "<B>Message sent to [recipient]</B><BR>[message]"
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
if(href_list["setScreen"])

View File

@@ -215,14 +215,14 @@
return
if (src.active)
user.visible_message("\blue \icon[src] [user] deactivated the shield generator.", \
"\blue \icon[src] You deactivate the shield generator.", \
user.visible_message("\blue [bicon(src)] [user] deactivated the shield generator.", \
"\blue [bicon(src)] You deactivate the shield generator.", \
"You hear heavy droning fade out.")
src.shields_down()
else
if(anchored)
user.visible_message("\blue \icon[src] [user] activated the shield generator.", \
"\blue \icon[src] You activate the shield generator.", \
user.visible_message("\blue [bicon(src)] [user] activated the shield generator.", \
"\blue [bicon(src)] You activate the shield generator.", \
"You hear heavy droning.")
src.shields_up()
else

View File

@@ -126,14 +126,14 @@
newtime = Clamp(newtime, 120, 60000)
if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station
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(defused || active)
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
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)
active = 1
update_icon()
@@ -223,7 +223,7 @@
var/obj/machinery/syndicatebomb/holder = src.loc
if(istype(holder))
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()
else
qdel(src)
@@ -233,7 +233,7 @@
if(istype(holder))
attempts++
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
if(istype(holder))
reset()

View File

@@ -333,7 +333,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
var/part_b_extra = ""
if(data == 3) // intercepted radio message
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 ---
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
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_c = "</span></span>"

View File

@@ -296,7 +296,7 @@
if(currently_vending.price > cashmoney.get_total())
// This is not a status display message, since it's something the character
// themselves is meant to see BEFORE putting the money in
to_chat(usr, "\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
// Bills (banknotes) cannot really have worth different than face value,

View File

@@ -133,7 +133,7 @@
/obj/item/mecha_parts/mecha_equipment/proc/occupant_message(message)
if(chassis)
chassis.occupant_message("\icon[src] [message]")
chassis.occupant_message("[bicon(src)] [message]")
return
/obj/item/mecha_parts/mecha_equipment/proc/log_message(message)

View File

@@ -153,7 +153,7 @@
I.loc = get_step(src,SOUTH)
I.materials[MAT_METAL] = get_resource_cost_w_coeff(D,MAT_METAL)
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
updateUsrDialog()
@@ -196,14 +196,14 @@
if(stat&(NOPOWER|BROKEN))
return 0
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>
<a href='?src=\ref[src];process_queue=1'>Try again</a> | <a href='?src=\ref[src];clear_temp=1'>Return</a><a>"}
return 0
remove_from_queue(1)
build_part(D)
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()
var/output = "<b>Queue contains:</b>"
@@ -240,7 +240,7 @@
temp += "<a href='?src=\ref[src];clear_temp=1'>Return</a>"
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
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)
var/turf/exit = get_step(src,SOUTH)
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
if(temp)
left_part = temp

View File

@@ -181,7 +181,7 @@
if(equipment && equipment.len)
to_chat(user, "It's equipped with:")
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
to_chat(user, "\icon[ME] [ME]")
to_chat(user, "[bicon(ME)] [ME]")
return
@@ -1643,7 +1643,7 @@
/obj/mecha/proc/occupant_message(message as text)
if(message)
if(src.occupant && src.occupant.client)
to_chat(src.occupant, "\icon[src] [message]")
to_chat(src.occupant, "[bicon(src)] [message]")
return
/obj/mecha/proc/log_message(message as text,red=null)

View File

@@ -21,7 +21,7 @@
if(istype(M, /mob/living/carbon/human))
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
call(src,triggerproc)(M)

View File

@@ -40,7 +40,7 @@
name = "pizza bomb"
desc = "OH GOD THAT'S NOT A PIZZA"
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>")
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]).")
@@ -50,9 +50,9 @@
/obj/item/device/pizza_bomb/proc/go_boom()
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
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>")
explosion(src.loc,1,2,4,flame_range = 2) //Identical to a minibomb
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>")
sleep(5)
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>")
icon_state = "pizzabox_bomb_[correct_wire]"
name = "pizza bomb"

View File

@@ -1130,7 +1130,7 @@ obj/item/toy/cards/deck/syndicate/black
var/message = generate_ion_law()
to_chat(user, "<span class='notice'>You press the button on [src].</span>")
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
spawn(30) cooldown = 0
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!")
to_chat(user, "<span class='notice'>You pull the string on the [src].</span>")
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
spawn(30) cooldown = 0
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!")
to_chat(user, "<span class='notice'>You pull the string on the [src].</span>")
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
spawn(30) cooldown = 0
return
@@ -1274,12 +1274,12 @@ obj/item/toy/cards/deck/syndicate/black
/obj/item/toy/minigibber/attackby(var/obj/O, var/mob/user, params)
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(O.loc != user)
to_chat(user, "<span class='alert'>\The [O] is too far away to feed into \the [src]!</span>")
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)
O.forceMove(src)
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>")
icon_state = "[initial(icon_state)]_used"
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')
playsound(get_turf(src), pick(possible_sounds), 50, 1)
spawn(45)
@@ -1431,7 +1431,7 @@ obj/item/toy/cards/deck/syndicate/black
/obj/item/toy/figure/attack_self(mob/user as mob)
if(cooldown < world.time)
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)
/obj/item/toy/figure/cmo
@@ -1632,7 +1632,7 @@ obj/item/toy/cards/deck/syndicate/black
if(!cooldown)
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'>\icon[src] The [src] says \"[answer]\"</span>")
user.visible_message("<span class='notice'>[bicon(src)] The [src] says \"[answer]\"</span>")
spawn(30)
cooldown = 0
return

View File

@@ -397,4 +397,4 @@ AI MODULES
laws[1] = generate_ion_law()
to_chat(user, "<span class='notice'>You press the button on [src].</span>")
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>")

View File

@@ -150,8 +150,8 @@
return
/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]",\
"You flash your ID card: \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: [bicon(src)] [src.name]. The assignment on the card: [src.assignment]")
if(mining_points)
to_chat(user, "There's [mining_points] mining equipment redemption points loaded onto this card.")
src.add_fingerprint(user)

View File

@@ -37,9 +37,9 @@ var/global/list/moneytypes=list(
/obj/item/weapon/spacecash/examine(mob/user)
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
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.")
/obj/item/weapon/spacecash/update_icon()

View File

@@ -37,7 +37,7 @@
/obj/item/weapon/extinguisher/examine(mob/user)
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)
for(var/datum/reagent/R in reagents.reagent_list)
to_chat(user, "\blue [R.volume] units of [R.name]")

View File

@@ -24,9 +24,9 @@
return
for(var/obj/item/I in loadedItems)
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)
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)

View File

@@ -45,7 +45,7 @@
icon = src.loc
if (!in_range(src, user))
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
var/celsius_temperature = src.air_contents.temperature-T0C
@@ -64,7 +64,7 @@
else
descriptive = "furiously hot"
to_chat(user, "\blue \The \icon[icon][src] feels [descriptive]")
to_chat(user, "\blue \The [bicon(icon)][src] feels [descriptive]")
return

View File

@@ -128,7 +128,7 @@ var/global/list/captain_display_cases = list()
..(user)
to_chat(user, "<span class='notice'>Peering through the glass, you see that it contains:</span>")
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
to_chat(user, "Nothing.")
@@ -217,9 +217,9 @@ var/global/list/captain_display_cases = list()
return
locked = !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
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()
return
if(istype(W,/obj/item/weapon/crowbar) && (!locked || destroyed))
@@ -305,7 +305,7 @@ var/global/list/captain_display_cases = list()
dump()
update_icon()
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
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.", \

View File

@@ -23,7 +23,7 @@
/obj/structure/mopbucket/examine(mob/user)
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)
if (istype(W, /obj/item/weapon/mop))