mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-25 04:57:47 +01:00
Fixes in-chat icons being broken
This commit is contained in:
@@ -53,7 +53,7 @@
|
||||
// atoms/items/objects can be pretty and whatnot
|
||||
var/atom/A = item
|
||||
if(output_icons && isicon(A.icon) && !ismob(A)) // mobs tend to have unusable icons
|
||||
item_str += "[bicon(A)] "
|
||||
item_str += "\icon[A][bicon(A)] "
|
||||
switch(determiners)
|
||||
if(DET_NONE) item_str += A.name
|
||||
if(DET_DEFINITE) item_str += "\the [A]"
|
||||
|
||||
@@ -343,8 +343,15 @@
|
||||
if(!text_tag_cache[tagname])
|
||||
var/icon/tag = icon(text_tag_icons, tagname)
|
||||
text_tag_cache[tagname] = bicon(tag, TRUE, "text_tag")
|
||||
if(C.chatOutput.broken)
|
||||
return "<IMG src='\ref[text_tag_icons]' class='text_tag' iconstate='[tagname]'" + (tagdesc ? " alt='[tagdesc]'" : "") + ">"
|
||||
return text_tag_cache[tagname]
|
||||
|
||||
/proc/create_text_tag_old(var/tagname, var/tagdesc = tagname, var/client/C = null)
|
||||
if(!(C && C.is_preference_enabled(/datum/client_preference/chat_tags)))
|
||||
return tagdesc
|
||||
return "<IMG src='\ref[text_tag_icons]' class='text_tag' iconstate='[tagname]'" + (tagdesc ? " alt='[tagdesc]'" : "") + ">"
|
||||
|
||||
/proc/contains_az09(var/input)
|
||||
for(var/i=1, i<=length(input), i++)
|
||||
var/ascii_char = text2ascii(input,i)
|
||||
|
||||
@@ -91,4 +91,4 @@
|
||||
var/obj/structure/largecrate/C = /obj/structure/largecrate
|
||||
icon = image(initial(C.icon), initial(C.icon_state))
|
||||
|
||||
return "[bicon(icon)]"
|
||||
return "\icon[icon][bicon(icon)]"
|
||||
@@ -130,7 +130,7 @@ var/datum/uplink/uplink = new()
|
||||
|
||||
/datum/uplink_item/item/log_icon()
|
||||
var/obj/I = path
|
||||
return "[bicon(I)]"
|
||||
return "\icon[I][bicon(I)]"
|
||||
|
||||
/********************************
|
||||
* *
|
||||
@@ -144,7 +144,7 @@ var/datum/uplink/uplink = new()
|
||||
if(!default_abstract_uplink_icon)
|
||||
default_abstract_uplink_icon = image('icons/obj/pda.dmi', "pda-syn")
|
||||
|
||||
return "[bicon(default_abstract_uplink_icon)]"
|
||||
return "\icon[default_abstract_uplink_icon][bicon(default_abstract_uplink_icon)]"
|
||||
|
||||
/*
|
||||
* Crated goods.
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
C.light_disabled = !C.light_disabled
|
||||
|
||||
if(WIRE_CAM_ALARM)
|
||||
C.visible_message("[bicon(C)] *beep*", "[bicon(C)] *beep*")
|
||||
C.visible_message("\icon[C][bicon(C)] *beep*", "\icon[C][bicon(C)] *beep*")
|
||||
..()
|
||||
|
||||
/datum/wires/camera/proc/CanDeconstruct()
|
||||
|
||||
@@ -31,16 +31,16 @@
|
||||
var/obj/machinery/media/jukebox/A = holder
|
||||
switch(wire)
|
||||
if(WIRE_MAIN_POWER1)
|
||||
holder.visible_message("<span class='notice'>[bicon(holder)] The power light flickers.</span>")
|
||||
holder.visible_message("<span class='notice'>\icon[holder][bicon(holder)] The power light flickers.</span>")
|
||||
A.shock(usr, 90)
|
||||
if(WIRE_JUKEBOX_HACK)
|
||||
holder.visible_message("<span class='notice'>[bicon(holder)] The parental guidance light flickers.</span>")
|
||||
holder.visible_message("<span class='notice'>\icon[holder][bicon(holder)] The parental guidance light flickers.</span>")
|
||||
if(WIRE_REVERSE)
|
||||
holder.visible_message("<span class='notice'>[bicon(holder)] The data light blinks ominously.</span>")
|
||||
holder.visible_message("<span class='notice'>\icon[holder][bicon(holder)] The data light blinks ominously.</span>")
|
||||
if(WIRE_SPEEDUP)
|
||||
holder.visible_message("<span class='notice'>[bicon(holder)] The speakers squeaks.</span>")
|
||||
holder.visible_message("<span class='notice'>\icon[holder][bicon(holder)] The speakers squeaks.</span>")
|
||||
if(WIRE_SPEEDDOWN)
|
||||
holder.visible_message("<span class='notice'>[bicon(holder)] The speakers rumble.</span>")
|
||||
holder.visible_message("<span class='notice'>\icon[holder][bicon(holder)] The speakers rumble.</span>")
|
||||
if(WIRE_START)
|
||||
A.StartPlaying()
|
||||
if(WIRE_STOP)
|
||||
|
||||
+11
-11
@@ -21,15 +21,15 @@
|
||||
|
||||
switch(wire)
|
||||
if(WIRE_EXPLODE)
|
||||
C.visible_message("[bicon(C)] *BEEE-*", "[bicon(C)] *BEEE-*")
|
||||
C.visible_message("\icon[C][bicon(C)] *BEEE-*", "\icon[C][bicon(C)] *BEEE-*")
|
||||
C.explode()
|
||||
|
||||
if(WIRE_EXPLODE_DELAY)
|
||||
C.visible_message("[bicon(C)] *BEEE-*", "[bicon(C)] *BEEE-*")
|
||||
C.visible_message("\icon[C][bicon(C)] *BEEE-*", "\icon[C][bicon(C)] *BEEE-*")
|
||||
C.explode()
|
||||
|
||||
if(WIRE_DISARM)
|
||||
C.visible_message("[bicon(C)] *click!*", "[bicon(C)] *click!*")
|
||||
C.visible_message("\icon[C][bicon(C)] *click!*", "\icon[C][bicon(C)] *click!*")
|
||||
var/obj/effect/mine/MI = new C.mineitemtype(get_turf(C))
|
||||
|
||||
if(C.trap)
|
||||
@@ -41,15 +41,15 @@
|
||||
qdel(C)
|
||||
|
||||
if(WIRE_BADDISARM)
|
||||
C.visible_message("[bicon(C)] *BEEPBEEPBEEP*", "[bicon(C)] *BEEPBEEPBEEP*")
|
||||
C.visible_message("\icon[C][bicon(C)] *BEEPBEEPBEEP*", "\icon[C][bicon(C)] *BEEPBEEPBEEP*")
|
||||
spawn(20)
|
||||
C.explode()
|
||||
|
||||
if(WIRE_TRAP)
|
||||
C.visible_message("[bicon(C)] *click!*", "[bicon(C)] *click!*")
|
||||
C.visible_message("\icon[C][bicon(C)] *click!*", "\icon[C][bicon(C)] *click!*")
|
||||
|
||||
if(mend)
|
||||
C.visible_message("[bicon(C)] - The mine recalibrates[C.camo_net ? ", revealing \the [C.trap] inside." : "."]")
|
||||
C.visible_message("\icon[C][bicon(C)] - The mine recalibrates[C.camo_net ? ", revealing \the [C.trap] inside." : "."]")
|
||||
|
||||
C.alpha = 255
|
||||
|
||||
@@ -61,21 +61,21 @@
|
||||
return
|
||||
switch(wire)
|
||||
if(WIRE_EXPLODE)
|
||||
C.visible_message("[bicon(C)] *beep*", "[bicon(C)] *beep*")
|
||||
C.visible_message("\icon[C][bicon(C)] *beep*", "\icon[C][bicon(C)] *beep*")
|
||||
|
||||
if(WIRE_EXPLODE_DELAY)
|
||||
C.visible_message("[bicon(C)] *BEEPBEEPBEEP*", "[bicon(C)] *BEEPBEEPBEEP*")
|
||||
C.visible_message("\icon[C][bicon(C)] *BEEPBEEPBEEP*", "\icon[C][bicon(C)] *BEEPBEEPBEEP*")
|
||||
spawn(20)
|
||||
C.explode()
|
||||
|
||||
if(WIRE_DISARM)
|
||||
C.visible_message("[bicon(C)] *ping*", "[bicon(C)] *ping*")
|
||||
C.visible_message("\icon[C][bicon(C)] *ping*", "\icon[C][bicon(C)] *ping*")
|
||||
|
||||
if(WIRE_BADDISARM)
|
||||
C.visible_message("[bicon(C)] *ping*", "[bicon(C)] *ping*")
|
||||
C.visible_message("\icon[C][bicon(C)] *ping*", "\icon[C][bicon(C)] *ping*")
|
||||
|
||||
if(WIRE_TRAP)
|
||||
C.visible_message("[bicon(C)] *ping*", "[bicon(C)] *ping*")
|
||||
C.visible_message("\icon[C][bicon(C)] *ping*", "\icon[C][bicon(C)] *ping*")
|
||||
|
||||
..()
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
C.interface_control = !C.interface_control
|
||||
|
||||
if(WIRE_PARTICLE_POWER_LIMIT)
|
||||
C.visible_message("[bicon(C)]<b>[C]</b> makes a large whirring noise.")
|
||||
C.visible_message("\icon[C][bicon(C)]<b>[C]</b> makes a large whirring noise.")
|
||||
|
||||
/datum/wires/particle_acc/control_box/on_cut(wire, mend)
|
||||
var/obj/machinery/particle_accelerator/control_box/C = holder
|
||||
|
||||
+1
-1
@@ -225,7 +225,7 @@
|
||||
else
|
||||
f_name += "oil-stained [name][infix]."
|
||||
|
||||
var/list/output = list("[bicon(src)] That's [f_name] [suffix]", desc)
|
||||
var/list/output = list("\icon[src.examine_icon()][bicon(src)] That's [f_name] [suffix]", desc)
|
||||
|
||||
if(user.client?.prefs.examine_text_mode == EXAMINE_MODE_INCLUDE_USAGE)
|
||||
output += description_info
|
||||
|
||||
@@ -1125,7 +1125,7 @@
|
||||
|
||||
// This is not a status display message, since it's something the character
|
||||
// themselves is meant to see BEFORE putting the money in
|
||||
to_chat(usr, "[bicon(cashmoney)] <span class='warning'>That is not enough money.</span>")
|
||||
to_chat(usr, "\icon[cashmoney][bicon(cashmoney)] <span class='warning'>That is not enough money.</span>")
|
||||
return 0
|
||||
|
||||
if(istype(cashmoney, /obj/item/weapon/spacecash))
|
||||
|
||||
@@ -111,7 +111,7 @@ Class Procs:
|
||||
var/clickvol = 40 // volume
|
||||
var/interact_offline = 0 // Can the machine be interacted with while de-powered.
|
||||
var/obj/item/weapon/circuitboard/circuit = null
|
||||
|
||||
|
||||
// 0.0 - 1.0 multipler for prob() based on bullet structure damage
|
||||
// So if this is 1.0 then a 100 damage bullet will always break this structure
|
||||
// If this is 0.5 then a 50 damage bullet will break this structure 25% of the time
|
||||
@@ -284,7 +284,7 @@ Class Procs:
|
||||
|
||||
/obj/machinery/proc/state(var/msg)
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("[bicon(src)] <span class = 'notice'>[msg]</span>", 2)
|
||||
O.show_message("\icon[src][bicon(src)] <span class = 'notice'>[msg]</span>", 2)
|
||||
|
||||
/obj/machinery/proc/ping(text=null)
|
||||
if(!text)
|
||||
@@ -439,7 +439,7 @@ Class Procs:
|
||||
for(var/obj/I in contents)
|
||||
if(istype(I,/obj/item/weapon/card/id))
|
||||
I.forceMove(src.loc)
|
||||
|
||||
|
||||
if(!circuit)
|
||||
return 0
|
||||
var/obj/structure/frame/A = new /obj/structure/frame(src.loc)
|
||||
@@ -499,7 +499,7 @@ Class Procs:
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.attach(src)
|
||||
|
||||
|
||||
var/atom/droploc = drop_location()
|
||||
if(!droploc || !contents.len) // not even a circuit?
|
||||
playsound(src, 'sound/machines/machine_die_short.ogg')
|
||||
@@ -513,17 +513,17 @@ Class Procs:
|
||||
if(severity != 1)
|
||||
for(var/obj/item/weapon/card/id/I in contents)
|
||||
surviving_parts |= I
|
||||
|
||||
|
||||
// May populate some items to throw around
|
||||
if(!LAZYLEN(component_parts) && circuit)
|
||||
circuit.apply_default_parts(src)
|
||||
|
||||
|
||||
var/survivability
|
||||
switch(severity)
|
||||
// No survivors
|
||||
if(1)
|
||||
survivability = 0
|
||||
|
||||
|
||||
// 1 part survives
|
||||
if(2)
|
||||
survivability = 0
|
||||
@@ -534,15 +534,15 @@ Class Procs:
|
||||
// 50% of parts destroyed on average
|
||||
if(3)
|
||||
survivability = 50
|
||||
|
||||
|
||||
// No parts destroyed, but you lose the frame
|
||||
else
|
||||
survivability = 100
|
||||
|
||||
|
||||
for(var/atom/movable/P in contents)
|
||||
if(prob(survivability))
|
||||
surviving_parts |= P
|
||||
|
||||
|
||||
if(circuit && severity >= 2)
|
||||
var/datum/frame/frame_types/FT = circuit.board_type
|
||||
if(istype(FT))
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
var/icon/I = imap[1+(ix + icx*iy)*2]
|
||||
var/icon/I2 = imap[2+(ix + icx*iy)*2]
|
||||
|
||||
//to_world("icon: [bicon(I)]")
|
||||
//to_world("icon: \icon[I][bicon(I)]")
|
||||
|
||||
I.DrawBox(colour, rx, ry, rx+1, ry+1)
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
|
||||
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
|
||||
|
||||
//to_world("[bicon(I)] at [H.screen_loc]")
|
||||
//to_world("\icon[I][bicon(I)] at [H.screen_loc]")
|
||||
|
||||
H.name = (i==0)?"maprefresh":"map"
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
//to_world("trying [ix],[iy] : [ix+icx*iy]")
|
||||
var/icon/I = imap[1+(ix + icx*iy)]
|
||||
|
||||
//to_world("icon: [bicon(I)]")
|
||||
//to_world("icon: \icon[I][bicon(I)]")
|
||||
|
||||
I.DrawBox(colour, rx, ry, rx, ry)
|
||||
|
||||
@@ -279,7 +279,7 @@
|
||||
|
||||
H.screen_loc = "[5 + i%icx],[6+ round(i/icx)]"
|
||||
|
||||
//to_world("[bicon(I)] at [H.screen_loc]")
|
||||
//to_world("\icon[I][bicon(I)] at [H.screen_loc]")
|
||||
|
||||
H.name = (i==0)?"maprefresh":"map"
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
|
||||
/obj/machinery/requests_console/update_icon()
|
||||
cut_overlays()
|
||||
|
||||
|
||||
if(stat & NOPOWER)
|
||||
set_light(0)
|
||||
set_light_on(FALSE)
|
||||
@@ -145,9 +145,9 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
/obj/machinery/requests_console/tgui_act(action, list/params)
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
|
||||
add_fingerprint(usr)
|
||||
|
||||
|
||||
switch(action)
|
||||
if("write")
|
||||
if(reject_bad_text(params["write"]))
|
||||
@@ -198,7 +198,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
screen = RCS_SENTPASS
|
||||
message_log += list(list("Message sent to [recipient]", "[message]"))
|
||||
else
|
||||
audible_message(text("[bicon(src)] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4)
|
||||
audible_message(text("\icon[src][bicon(src)] *The Requests Console beeps: 'NOTICE: No server detected!'"),,4)
|
||||
. = TRUE
|
||||
|
||||
//Handle printing
|
||||
|
||||
@@ -520,7 +520,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
/datum/suit_cycler_choice/department/sec/riot,
|
||||
/datum/suit_cycler_choice/department/sec/eva
|
||||
)
|
||||
|
||||
|
||||
/// Species that the cycler can refit suits for. Null assumes all except specially excluded ones.
|
||||
var/list/limit_species
|
||||
|
||||
@@ -544,13 +544,13 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
species = load_species()
|
||||
emagged_departments = load_emagged()
|
||||
limit_departments = null // just for mem
|
||||
|
||||
|
||||
target_department = departments["No Change"]
|
||||
target_species = species["No Change"]
|
||||
|
||||
if(!target_department || !target_species)
|
||||
stat |= BROKEN
|
||||
|
||||
|
||||
wires = new(src)
|
||||
|
||||
/obj/machinery/suit_cycler/Destroy()
|
||||
@@ -704,7 +704,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
/obj/machinery/suit_cycler/vintage/rugged
|
||||
name = "Vintage Ruggedized suit cycler"
|
||||
model_text = "Vintage Ruggedized"
|
||||
|
||||
|
||||
limit_departments = list(
|
||||
/datum/suit_cycler_choice/department/vintage/eng,
|
||||
/datum/suit_cycler_choice/department/vintage/marine,
|
||||
@@ -925,17 +925,17 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
|
||||
/obj/machinery/suit_cycler/tgui_static_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
|
||||
// tgui gets angy if you pass values too
|
||||
var/list/department_keys = list()
|
||||
for(var/key in departments)
|
||||
department_keys += key
|
||||
|
||||
|
||||
// emagged at the bottom
|
||||
if(emagged)
|
||||
for(var/key in emagged_departments)
|
||||
department_keys += key
|
||||
|
||||
|
||||
var/list/species_keys = list()
|
||||
for(var/key in species)
|
||||
species_keys += key
|
||||
@@ -943,7 +943,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
data["departments"] = department_keys
|
||||
data["species"] = species_keys
|
||||
|
||||
return data
|
||||
return data
|
||||
|
||||
/obj/machinery/suit_cycler/tgui_act(action, params)
|
||||
if(..())
|
||||
@@ -1063,7 +1063,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
|
||||
/obj/machinery/suit_cycler/proc/finished_job()
|
||||
var/turf/T = get_turf(src)
|
||||
T.visible_message("[bicon(src)]<span class='notice'>The [src] beeps several times.</span>")
|
||||
T.visible_message("\icon[src][bicon(src)]<span class='notice'>The [src] beeps several times.</span>")
|
||||
icon_state = initial(icon_state)
|
||||
active = 0
|
||||
playsound(src, 'sound/machines/boobeebeep.ogg', 50)
|
||||
@@ -1114,7 +1114,7 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
/obj/machinery/suit_cycler/proc/apply_paintjob()
|
||||
if(!target_species || !target_department)
|
||||
return
|
||||
|
||||
|
||||
// Helmet to new paint
|
||||
if(target_department.can_refit_helmet(helmet))
|
||||
target_department.do_refit_helmet(helmet)
|
||||
@@ -1129,6 +1129,5 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
if(target_species.can_refit_to(helmet, suit, suit?.helmet))
|
||||
target_species.do_refit_to(helmet, suit, suit?.helmet)
|
||||
else
|
||||
visible_message("[bicon(src)]<span class='warning'>Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.</span>")
|
||||
visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.</span>")
|
||||
return
|
||||
|
||||
@@ -454,7 +454,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
var/part_b_extra = ""
|
||||
if(data == DATA_ANTAG) // intercepted radio message
|
||||
part_b_extra = " <i>(Intercepted)</i>"
|
||||
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
|
||||
var/part_a = "<span class='[frequency_span_class(display_freq)]'>\icon[radio][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
|
||||
@@ -656,7 +656,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> [bicon(radio)]\[[freq_text]\][part_b_extra]</b> <span class='message'>" // Tweaked for security headsets -- TLE
|
||||
var/part_b = "</span><b>\icon[radio][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'>" // Tweaked for security headsets -- TLE
|
||||
var/part_c = "</span></span>"
|
||||
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/proc/occupant_message(message)
|
||||
if(chassis)
|
||||
chassis.occupant_message("[bicon(src)] [message]")
|
||||
chassis.occupant_message("\icon[src][bicon(src)] [message]")
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/proc/log_message(message)
|
||||
|
||||
@@ -653,20 +653,20 @@
|
||||
switch(emagged)
|
||||
if(0)
|
||||
emagged = 0.5
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"DB error \[Code 0x00F1\]\"")
|
||||
visible_message("\icon[src][bicon(src)] <b>[src]</b> beeps: \"DB error \[Code 0x00F1\]\"")
|
||||
sleep(10)
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"Attempting auto-repair\"")
|
||||
visible_message("\icon[src][bicon(src)] <b>[src]</b> beeps: \"Attempting auto-repair\"")
|
||||
sleep(15)
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"")
|
||||
visible_message("\icon[src][bicon(src)] <b>[src]</b> beeps: \"User DB corrupted \[Code 0x00FA\]. Truncating data structure...\"")
|
||||
sleep(30)
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"User DB truncated. Please contact your [using_map.company_name] system operator for future assistance.\"")
|
||||
visible_message("\icon[src][bicon(src)] <b>[src]</b> beeps: \"User DB truncated. Please contact your [using_map.company_name] system operator for future assistance.\"")
|
||||
req_access = null
|
||||
emagged = 1
|
||||
return 1
|
||||
if(0.5)
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"")
|
||||
visible_message("\icon[src][bicon(src)] <b>[src]</b> beeps: \"DB not responding \[Code 0x0003\]...\"")
|
||||
if(1)
|
||||
visible_message("[bicon(src)] <b>[src]</b> beeps: \"No records in User DB\"")
|
||||
visible_message("\icon[src][bicon(src)] <b>[src]</b> beeps: \"No records in User DB\"")
|
||||
|
||||
/obj/machinery/mecha_part_fabricator/proc/eject_materials(var/material, var/amount) // 0 amount = 0 means ejecting a full stack; -1 means eject everything
|
||||
var/recursive = amount == -1 ? TRUE : FALSE
|
||||
|
||||
@@ -549,7 +549,7 @@
|
||||
if(equipment?.len)
|
||||
. += "It's equipped with:"
|
||||
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
|
||||
. += "[bicon(ME)] [ME]"
|
||||
. += "\icon[ME][bicon(ME)] [ME]"
|
||||
|
||||
/obj/mecha/proc/drop_item()//Derpfix, but may be useful in future for engineering exosuits.
|
||||
return
|
||||
@@ -2449,7 +2449,7 @@
|
||||
/obj/mecha/proc/occupant_message(message as text)
|
||||
if(message)
|
||||
if(src.occupant && src.occupant.client)
|
||||
to_chat(src.occupant, "[bicon(src)] [message]")
|
||||
to_chat(src.occupant, "\icon[src][bicon(src)] [message]")
|
||||
return
|
||||
|
||||
/obj/mecha/proc/log_message(message as text,red=null)
|
||||
|
||||
@@ -94,22 +94,22 @@
|
||||
if(new_state != old_state)
|
||||
switch(new_state)
|
||||
if(PROXIMITY_OFF_CAMERANET)
|
||||
to_chat(carrier, "<span class='notice'>[bicon(src)] Now outside of camera network.</span>")
|
||||
to_chat(carrier, "<span class='notice'>\icon[src][bicon(src)] Now outside of camera network.</span>")
|
||||
carrier << 'sound/machines/defib_failed.ogg'
|
||||
if(PROXIMITY_NONE)
|
||||
to_chat(carrier, "<span class='notice'>[bicon(src)] Now within camera network, AI and cameras unfocused.</span>")
|
||||
to_chat(carrier, "<span class='notice'>\icon[src][bicon(src)] Now within camera network, AI and cameras unfocused.</span>")
|
||||
carrier << 'sound/machines/defib_safetyOff.ogg'
|
||||
if(PROXIMITY_NEAR)
|
||||
to_chat(carrier, "<span class='warning'>[bicon(src)] Warning: AI focus at nearby location.</span>")
|
||||
to_chat(carrier, "<span class='warning'>\icon[src][bicon(src)] Warning: AI focus at nearby location.</span>")
|
||||
carrier << 'sound/machines/defib_SafetyOn.ogg'
|
||||
if(PROXIMITY_ON_SCREEN)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[bicon(src)] Alert: AI or camera focused at current location!</span></font>")
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>\icon[src][bicon(src)] Alert: AI or camera focused at current location!</span></font>")
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
if(PROXIMITY_TRACKING)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[bicon(src)] Danger: AI is actively tracking you!</span></font>")
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>\icon[src][bicon(src)] Danger: AI is actively tracking you!</span></font>")
|
||||
carrier << 'sound/machines/defib_success.ogg'
|
||||
if(PROXIMITY_TRACKING_FAIL)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[bicon(src)] Danger: AI is attempting to actively track you, but you are outside of the camera network!</span></font>")
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>\icon[src][bicon(src)] Danger: AI is attempting to actively track you, but you are outside of the camera network!</span></font>")
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
|
||||
|
||||
|
||||
@@ -382,7 +382,7 @@
|
||||
im_list += list(list("address" = exonet.address, "to_address" = their_address, "im" = text))
|
||||
log_pda("(COMM: [src]) sent \"[text]\" to [exonet.get_atom_from_address(their_address)]", usr)
|
||||
var/obj/item/device/communicator/comm = exonet.get_atom_from_address(their_address)
|
||||
to_chat(usr, "<span class='notice'>[bicon(src)] Sent message to [comm.owner], <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)</span>")
|
||||
to_chat(usr, "<span class='notice'>\icon[src][bicon(src)] Sent message to [comm.owner], <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)</span>")
|
||||
for(var/mob/M in player_list)
|
||||
if(M.stat == DEAD && M.is_preference_enabled(/datum/client_preference/ghost_ears))
|
||||
if(istype(M, /mob/new_player) || M.forbid_seeing_deadchat)
|
||||
|
||||
@@ -142,10 +142,10 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
|
||||
// Description: Shows all the voice mobs inside the device, and their status.
|
||||
/obj/item/device/communicator/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
|
||||
for(var/mob/living/voice/voice in contents)
|
||||
. += "<span class='notice'>On the screen, you can see a image feed of [voice].</span>"
|
||||
|
||||
|
||||
if(voice && voice.key)
|
||||
switch(voice.stat)
|
||||
if(CONSCIOUS)
|
||||
@@ -302,7 +302,7 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
|
||||
/obj/item/device/communicator/Destroy()
|
||||
for(var/mob/living/voice/voice in contents)
|
||||
voice_mobs.Remove(voice)
|
||||
to_chat(voice, "<span class='danger'>[bicon(src)] Connection timed out with remote host.</span>")
|
||||
to_chat(voice, "<span class='danger'>\icon[src][bicon(src)] Connection timed out with remote host.</span>")
|
||||
qdel(voice)
|
||||
close_connection(reason = "Connection timed out")
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
if(src in comm.voice_invites)
|
||||
comm.open_connection(src)
|
||||
return
|
||||
to_chat(src, "<span class='notice'>[bicon(origin_atom)] Receiving communicator request from [origin_atom]. To answer, use the <b>Call Communicator</b> \
|
||||
to_chat(src, "<span class='notice'>\icon[origin_atom][bicon(origin_atom)] Receiving communicator request from [origin_atom]. To answer, use the <b>Call Communicator</b> \
|
||||
verb, and select that name to answer the call.</span>")
|
||||
src << 'sound/machines/defib_SafetyOn.ogg'
|
||||
comm.voice_invites |= src
|
||||
@@ -44,7 +44,7 @@
|
||||
random = random / 10
|
||||
exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms")
|
||||
if(message == "text")
|
||||
to_chat(src, "<span class='notice'>[bicon(origin_atom)] Received text message from [origin_atom]: <b>\"[text]\"</b></span>")
|
||||
to_chat(src, "<span class='notice'>\icon[origin_atom][bicon(origin_atom)] Received text message from [origin_atom]: <b>\"[text]\"</b></span>")
|
||||
src << 'sound/machines/defib_safetyOff.ogg'
|
||||
exonet_messages.Add("<b>From [origin_atom]:</b><br>[text]")
|
||||
return
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
playsound(src, S, 50, 1)
|
||||
for (var/mob/O in hearers(2, loc))
|
||||
O.show_message(text("[bicon(src)] *[ttone]*"))
|
||||
O.show_message(text("\icon[src][bicon(src)] *[ttone]*"))
|
||||
|
||||
alert_called = 1
|
||||
update_icon()
|
||||
@@ -95,7 +95,7 @@
|
||||
L = loc
|
||||
|
||||
if(L)
|
||||
to_chat(L, "<span class='notice'>[bicon(src)] Message from [who]: <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[candidate]'>Reply</a>)</span>")
|
||||
to_chat(L, "<span class='notice'>\icon[src][bicon(src)] Message from [who]: <b>\"[text]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[candidate]'>Reply</a>)</span>")
|
||||
|
||||
// This is the only Topic the communicators really uses
|
||||
/obj/item/device/communicator/Topic(href, href_list)
|
||||
@@ -108,7 +108,7 @@
|
||||
exonet.send_message(comm.exonet.address, "text", message)
|
||||
im_list += list(list("address" = exonet.address, "to_address" = comm.exonet.address, "im" = message))
|
||||
log_pda("(COMM: [src]) sent \"[message]\" to [exonet.get_atom_from_address(comm.exonet.address)]", usr)
|
||||
to_chat(usr, "<span class='notice'>[bicon(src)] Sent message to [comm.owner], <b>\"[message]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)</span>")
|
||||
to_chat(usr, "<span class='notice'>\icon[src][bicon(src)] Sent message to [comm.owner], <b>\"[message]\"</b> (<a href='?src=\ref[src];action=Reply;target=\ref[exonet.get_atom_from_address(comm.exonet.address)]'>Reply</a>)</span>")
|
||||
|
||||
// Verb: text_communicator()
|
||||
// Parameters: None
|
||||
|
||||
@@ -39,15 +39,15 @@
|
||||
comm.voice_requests.Remove(src)
|
||||
|
||||
if(user)
|
||||
comm.visible_message("<span class='notice'>[bicon(src)] Connecting to [src].</span>")
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Attempting to call [comm].</span>")
|
||||
comm.visible_message("<span class='notice'>\icon[src][bicon(src)] Connecting to [src].</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Attempting to call [comm].</span>")
|
||||
sleep(10)
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Dialing internally from [station_name()], [system_name()].</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Dialing internally from [station_name()], [system_name()].</span>")
|
||||
sleep(20) //If they don't have an exonet something is very wrong and we want a runtime.
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Connection re-routed to [comm] at [comm.exonet.address].</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Connection re-routed to [comm] at [comm.exonet.address].</span>")
|
||||
sleep(40)
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Connection to [comm] at [comm.exonet.address] established.</span>")
|
||||
comm.visible_message("<span class='notice'>[bicon(src)] Connection to [src] at [exonet.address] established.</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Connection to [comm] at [comm.exonet.address] established.</span>")
|
||||
comm.visible_message("<span class='notice'>\icon[src][bicon(src)] Connection to [src] at [exonet.address] established.</span>")
|
||||
sleep(20)
|
||||
|
||||
src.add_communicating(comm)
|
||||
@@ -86,28 +86,28 @@
|
||||
|
||||
//Now for some connection fluff.
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Connecting to [candidate].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Attempting to call [src].</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Connecting to [candidate].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src][bicon(src)] Attempting to call [src].</span>")
|
||||
sleep(10)
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Dialing to [station_name()], Kara Subsystem, [system_name()].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src][bicon(src)] Dialing to [station_name()], Kara Subsystem, [system_name()].</span>")
|
||||
sleep(20)
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Connecting to [station_name()] telecommunications array.</span>")
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src][bicon(src)] Connecting to [station_name()] telecommunications array.</span>")
|
||||
sleep(40)
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Connection to [station_name()] telecommunications array established. Redirecting signal to [src].</span>")
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src][bicon(src)] Connection to [station_name()] telecommunications array established. Redirecting signal to [src].</span>")
|
||||
sleep(20)
|
||||
|
||||
//We're connected, no need to hide everything.
|
||||
new_voice.client.screen.Remove(blackness)
|
||||
qdel(blackness)
|
||||
|
||||
to_chat(new_voice, "<span class='notice'>[bicon(src)] Connection to [src] established.</span>")
|
||||
to_chat(new_voice, "<span class='notice'>\icon[src][bicon(src)] Connection to [src] established.</span>")
|
||||
to_chat(new_voice, "<b>To talk to the person on the other end of the call, just talk normally.</b>")
|
||||
to_chat(new_voice, "<b>If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time.</b>")
|
||||
to_chat(new_voice, "<b>Remember, your character does not know anything you've learned from observing!</b>")
|
||||
if(new_voice.mind)
|
||||
new_voice.mind.assigned_role = "Disembodied Voice"
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Your communicator is now connected to [candidate]'s communicator.</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Your communicator is now connected to [candidate]'s communicator.</span>")
|
||||
|
||||
// Proc: close_connection()
|
||||
// Parameters: 3 (user - the user who initiated the disconnect, target - the mob or device being disconnected, reason - string shown when disconnected)
|
||||
@@ -120,8 +120,8 @@
|
||||
for(var/mob/living/voice/voice in voice_mobs) //Handle ghost-callers
|
||||
if(target && voice != target) //If no target is inputted, it deletes all of them.
|
||||
continue
|
||||
to_chat(voice, "<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
visible_message("<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
to_chat(voice, "<span class='danger'>\icon[src][bicon(src)] [reason].</span>")
|
||||
visible_message("<span class='danger'>\icon[src][bicon(src)] [reason].</span>")
|
||||
voice_mobs.Remove(voice)
|
||||
qdel(voice)
|
||||
update_icon()
|
||||
@@ -131,8 +131,8 @@
|
||||
continue
|
||||
src.del_communicating(comm)
|
||||
comm.del_communicating(src)
|
||||
comm.visible_message("<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
visible_message("<span class='danger'>[bicon(src)] [reason].</span>")
|
||||
comm.visible_message("<span class='danger'>\icon[src][bicon(src)] [reason].</span>")
|
||||
visible_message("<span class='danger'>\icon[src][bicon(src)] [reason].</span>")
|
||||
if(comm.camera && video_source == comm.camera) //We hung up on the person on video
|
||||
end_video()
|
||||
if(camera && comm.video_source == camera) //We hung up on them while they were watching us
|
||||
@@ -163,7 +163,7 @@
|
||||
if(ringer)
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
for (var/mob/O in hearers(2, loc))
|
||||
O.show_message(text("[bicon(src)] *beep*"))
|
||||
O.show_message(text("\icon[src][bicon(src)] *beep*"))
|
||||
|
||||
alert_called = 1
|
||||
update_icon()
|
||||
@@ -174,7 +174,7 @@
|
||||
L = loc
|
||||
|
||||
if(L)
|
||||
to_chat(L, "<span class='notice'>[bicon(src)] Communications request from [who].</span>")
|
||||
to_chat(L, "<span class='notice'>\icon[src][bicon(src)] Communications request from [who].</span>")
|
||||
|
||||
// Proc: del_request()
|
||||
// Parameters: 1 (candidate - the ghost or communicator to be declined)
|
||||
@@ -197,13 +197,13 @@
|
||||
us = loc
|
||||
|
||||
if(us)
|
||||
to_chat(us, "<span class='notice'>[bicon(src)] Declined request.</span>")
|
||||
to_chat(us, "<span class='notice'>\icon[src][bicon(src)] Declined request.</span>")
|
||||
|
||||
// Proc: see_emote()
|
||||
// Parameters: 2 (M - the mob the emote originated from, text - the emote's contents)
|
||||
// Description: Relays the emote to all linked communicators.
|
||||
/obj/item/device/communicator/see_emote(mob/living/M, text)
|
||||
var/rendered = "[bicon(src)] <span class='message'>[text]</span>"
|
||||
var/rendered = "\icon[src][bicon(src)] <span class='message'>[text]</span>"
|
||||
for(var/obj/item/device/communicator/comm in communicating)
|
||||
var/turf/T = get_turf(comm)
|
||||
if(!T) return
|
||||
@@ -250,14 +250,14 @@
|
||||
var/message = combined["formatted"]
|
||||
var/name_used = M.GetVoice()
|
||||
var/rendered = null
|
||||
rendered = "<span class='game say'>[bicon(src)] <span class='name'>[name_used]</span> [message]</span>"
|
||||
rendered = "<span class='game say'>\icon[src][bicon(src)] <span class='name'>[name_used]</span> [message]</span>"
|
||||
mob.show_message(rendered, 2)
|
||||
|
||||
// Proc: show_message()
|
||||
// Parameters: 4 (msg - the message, type - number to determine if message is visible or audible, alt - unknown, alt_type - unknown)
|
||||
// Description: Relays the message to all linked communicators.
|
||||
/obj/item/device/communicator/show_message(msg, type, alt, alt_type)
|
||||
var/rendered = "[bicon(src)] <span class='message'>[msg]</span>"
|
||||
var/rendered = "\icon[src][bicon(src)] <span class='message'>[msg]</span>"
|
||||
for(var/obj/item/device/communicator/comm in communicating)
|
||||
var/turf/T = get_turf(comm)
|
||||
if(!T) return
|
||||
@@ -339,15 +339,15 @@
|
||||
return
|
||||
|
||||
if(!(src in comm.communicating) || !comm.camera) //You called someone with a broken communicator or one that's fake or yourself or something
|
||||
to_chat(user, "<span class='danger'>[bicon(src)]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning.</span>")
|
||||
to_chat(user, "<span class='danger'>\icon[src][bicon(src)]ERROR: Video failed. Either bandwidth is too low, or the other communicator is malfunctioning.</span>")
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Attempting to start video over existing call.</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Attempting to start video over existing call.</span>")
|
||||
sleep(30)
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] Please wait...</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] Please wait...</span>")
|
||||
|
||||
video_source = comm.camera
|
||||
comm.visible_message("<span class='danger'>[bicon(src)] New video connection from [comm].</span>")
|
||||
comm.visible_message("<span class='danger'>\icon[src][bicon(src)] New video connection from [comm].</span>")
|
||||
update_active_camera_screen()
|
||||
GLOB.moved_event.register(video_source, src, .proc/update_active_camera_screen)
|
||||
update_icon()
|
||||
@@ -360,7 +360,7 @@
|
||||
show_static()
|
||||
video_source = null
|
||||
|
||||
. = "<span class='danger'>[bicon(src)] [reason ? reason : "Video session ended"].</span>"
|
||||
. = "<span class='danger'>\icon[src][bicon(src)] [reason ? reason : "Video session ended"].</span>"
|
||||
|
||||
visible_message(.)
|
||||
update_icon()
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
update_icon()
|
||||
update_sound()
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] You switch [scanning ? "on" : "off"] \the [src].</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] You switch [scanning ? "on" : "off"] \the [src].</span>")
|
||||
|
||||
/obj/item/device/geiger/update_icon()
|
||||
if(!scanning)
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
to_chat(user, "<span class='warning'>You are already hacking!</span>")
|
||||
return 0
|
||||
if(!is_type_in_list(target, supported_types))
|
||||
to_chat(user, "[bicon(src)] <span class='warning'>Unable to hack this target!</span>")
|
||||
to_chat(user, "\icon[src][bicon(src)] <span class='warning'>Unable to hack this target!</span>")
|
||||
return 0
|
||||
var/found = known_targets.Find(target)
|
||||
if(found)
|
||||
|
||||
@@ -491,7 +491,7 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
|
||||
var/list/jamming = is_jammed(src)
|
||||
if(jamming)
|
||||
var/distance = jamming["distance"]
|
||||
to_chat(M, "<span class='danger'>[bicon(src)] You hear the [distance <= 2 ? "loud hiss" : "soft hiss"] of static.</span>")
|
||||
to_chat(M, "<span class='danger'>\icon[src][bicon(src)] You hear the [distance <= 2 ? "loud hiss" : "soft hiss"] of static.</span>")
|
||||
return FALSE
|
||||
|
||||
// First, we want to generate a new radio signal
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
var/message = sanitize(tgui_input_text(user,"Choose a message to relay to those around you."))
|
||||
if(message)
|
||||
audible_message("[bicon(src)] \The [src.name] states, \"[message]\"", runemessage = "synthesized speech")
|
||||
audible_message("\icon[src][bicon(src)] \The [src.name] states, \"[message]\"", runemessage = "synthesized speech")
|
||||
if(ismob(loc))
|
||||
loc.audible_message("", runemessage = "\[TTS Voice\] [message]")
|
||||
|
||||
|
||||
@@ -613,7 +613,7 @@
|
||||
|
||||
/obj/item/toy/minigibber/attackby(obj/O, mob/user, params)
|
||||
if(istype(O,/obj/item/toy/figure) || istype(O,/obj/item/toy/character) && O.loc == user)
|
||||
to_chat(user, "<span class='notice'>You start feeding \the [O] [bicon(O)] into \the [src]'s mini-input.</span>")
|
||||
to_chat(user, "<span class='notice'>You start feeding \the [O] \icon[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>")
|
||||
|
||||
@@ -90,8 +90,8 @@
|
||||
return data
|
||||
|
||||
/obj/item/weapon/card/id/attack_self(mob/user as mob)
|
||||
user.visible_message("\The [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]")
|
||||
user.visible_message("\The [user] shows you: \icon[src][bicon(src)] [src.name]. The assignment on the card: [src.assignment]",\
|
||||
"You flash your ID card: \icon[src][bicon(src)] [src.name]. The assignment on the card: [src.assignment]")
|
||||
|
||||
src.add_fingerprint(user)
|
||||
return
|
||||
@@ -107,7 +107,7 @@
|
||||
set category = "Object"
|
||||
set src in usr
|
||||
|
||||
to_chat(usr, "[bicon(src)] [src.name]: The current assignment on the card is [src.assignment].")
|
||||
to_chat(usr, "\icon[src][bicon(src)] [src.name]: The current assignment on the card is [src.assignment].")
|
||||
to_chat(usr, "The blood type on the card is [blood_type].")
|
||||
to_chat(usr, "The DNA hash on the card is [dna_hash].")
|
||||
to_chat(usr, "The fingerprint hash on the card is [fingerprint_hash].")
|
||||
@@ -167,7 +167,7 @@
|
||||
assignment = "Synthetic"
|
||||
access = list(
|
||||
access_synth, access_mining, access_mining_station, access_mining_office, access_research,
|
||||
access_xenoarch, access_xenobiology, access_external_airlocks, access_robotics, access_tox,
|
||||
access_xenoarch, access_xenobiology, access_external_airlocks, access_robotics, access_tox,
|
||||
access_tox_storage, access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot
|
||||
)
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
icon_state = "c-4[size]_1"
|
||||
playsound(src, 'sound/weapons/armbomb.ogg', 75, 1)
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("[bicon(src)] <span class = 'warning'> The [src.name] beeps! </span>")
|
||||
O.show_message("\icon[src][bicon(src)] <span class = 'warning'> The [src.name] beeps! </span>")
|
||||
sleep(50)
|
||||
explosion(get_turf(src), devastate, heavy_impact, light_impact, flash_range)
|
||||
for(var/dirn in cardinal) //This is to guarantee that C4 at least breaks down all immediately adjacent walls and doors.
|
||||
|
||||
@@ -455,7 +455,7 @@ var/list/global/tank_gauge_cache = list()
|
||||
return
|
||||
T.assume_air(air_contents)
|
||||
playsound(src, 'sound/weapons/Gunshot_shotgun.ogg', 20, 1)
|
||||
visible_message("[bicon(src)] <span class='danger'>\The [src] flies apart!</span>", "<span class='warning'>You hear a bang!</span>")
|
||||
visible_message("\icon[src][bicon(src)] <span class='danger'>\The [src] flies apart!</span>", "<span class='warning'>You hear a bang!</span>")
|
||||
T.hotspot_expose(air_contents.temperature, 70, 1)
|
||||
|
||||
|
||||
@@ -500,7 +500,7 @@ var/list/global/tank_gauge_cache = list()
|
||||
|
||||
T.assume_air(leaked_gas)
|
||||
if(!leaking)
|
||||
visible_message("[bicon(src)] <span class='warning'>\The [src] relief valve flips open with a hiss!</span>", "You hear hissing.")
|
||||
visible_message("\icon[src][bicon(src)] <span class='warning'>\The [src] relief valve flips open with a hiss!</span>", "You hear hissing.")
|
||||
playsound(src, 'sound/effects/spray.ogg', 10, 1, -3)
|
||||
leaking = 1
|
||||
#ifdef FIREDBG
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
if(loc == user && tools.len)
|
||||
. += "It has the following fittings:"
|
||||
for(var/obj/item/tool in tools)
|
||||
. += "[bicon(tool)] - [tool.name][tools[current_tool]==tool?" (selected)":""]")
|
||||
. += "\icon[tool][bicon(tool)] - [tool.name][tools[current_tool]==tool?" (selected)":""]")
|
||||
|
||||
/obj/item/weapon/combitool/New()
|
||||
..()
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
/obj/CanUseTopic(var/mob/user, var/datum/tgui_state/state = GLOB.tgui_default_state)
|
||||
if(user.CanUseObjTopic(src))
|
||||
return ..()
|
||||
to_chat(user, "<span class='danger'>[bicon(src)]Access Denied!</span>")
|
||||
to_chat(user, "<span class='danger'>\icon[src][bicon(src)]Access Denied!</span>")
|
||||
return STATUS_CLOSE
|
||||
|
||||
/mob/living/silicon/CanUseObjTopic(var/obj/O)
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
/obj/structure/flora/proc/spawn_harvest(var/path = null, var/mob/user = null)
|
||||
if(!ispath(path))
|
||||
return 0
|
||||
|
||||
|
||||
var/atom/movable/AM = new path()
|
||||
if(user)
|
||||
user.put_in_hands(AM)
|
||||
@@ -96,7 +96,7 @@
|
||||
name = "bush"
|
||||
icon = 'icons/obj/flora/snowflora.dmi'
|
||||
icon_state = "snowbush1"
|
||||
|
||||
|
||||
destroy_on_harvest = TRUE
|
||||
harvest_tool = /obj/item/weapon/material/knife
|
||||
randomize_harvest_count = FALSE
|
||||
@@ -121,13 +121,13 @@
|
||||
name = "bush"
|
||||
icon = 'icons/obj/flora/ausflora.dmi'
|
||||
icon_state = "firstbush_1"
|
||||
|
||||
|
||||
destroy_on_harvest = TRUE
|
||||
harvest_tool = /obj/item/weapon/material/knife
|
||||
randomize_harvest_count = TRUE
|
||||
harvest_loot = list(/obj/item/stack/material/fiber = 1)
|
||||
min_harvests = 1
|
||||
max_harvests = 3
|
||||
max_harvests = 3
|
||||
|
||||
/obj/structure/flora/ausbushes/spawn_harvest(var/path = null, var/mob/user = null)
|
||||
. = ..()
|
||||
@@ -300,7 +300,7 @@
|
||||
user.drop_from_inventory(I, src)
|
||||
I.forceMove(src)
|
||||
stored_item = I
|
||||
src.visible_message("[bicon(src)] [bicon(I)] [user] places [I] into [src].")
|
||||
src.visible_message("\icon[src][bicon(src)] \icon[I][bicon(I)] [user] places [I] into [src].")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You refrain from putting things into the plant pot.</span>")
|
||||
@@ -311,7 +311,7 @@
|
||||
to_chat(user, "<span class='filter_notice'><b>You see nothing of interest in [src]...</b></span>")
|
||||
else
|
||||
if(do_after(user, 10))
|
||||
to_chat(user, "<span class='filter_notice'>You find [bicon(stored_item)] [stored_item] in [src]!</span>")
|
||||
to_chat(user, "<span class='filter_notice'>You find \icon[stored_item][bicon(stored_item)] [stored_item] in [src]!</span>")
|
||||
stored_item.forceMove(get_turf(src))
|
||||
stored_item = null
|
||||
..()
|
||||
|
||||
@@ -118,9 +118,9 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
. = ..(user)
|
||||
if(istype(mybucket))
|
||||
var/contains = mybucket.reagents.total_volume
|
||||
. += "[bicon(src)] The bucket contains [contains] unit\s of liquid!"
|
||||
. += "\icon[src][bicon(src)] The bucket contains [contains] unit\s of liquid!"
|
||||
else
|
||||
. += "[bicon(src)] There is no bucket mounted on it!"
|
||||
. += "\icon[src][bicon(src)] There is no bucket mounted on it!"
|
||||
|
||||
/obj/structure/janitorialcart/MouseDrop_T(atom/movable/O as mob|obj, mob/living/user as mob)
|
||||
if (istype(O, /obj/structure/mopbucket) && !mybucket)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
return
|
||||
|
||||
var/image/cross = image('icons/obj/storage.dmi',"bible")
|
||||
msg = "<font color='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, src)]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>) (<A HREF='?_src_=holder;adminsmite=\ref[src]'>SMITE</a>):</b> [msg]</font>"
|
||||
msg = "<font color='blue'>\icon[cross][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, src)]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>) (<A HREF='?_src_=holder;adminsmite=\ref[src]'>SMITE</a>):</b> [msg]</font>"
|
||||
|
||||
for(var/client/C in GLOB.admins)
|
||||
if(R_ADMIN|R_EVENT & C.holder.rights)
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
/obj/item/device/assembly_holder/proc/attach(var/obj/item/device/assembly/D, var/obj/item/device/assembly/D2, var/mob/user)
|
||||
if(!D || !D2)
|
||||
return FALSE
|
||||
|
||||
|
||||
if(!istype(D) || !istype(D2))
|
||||
return FALSE
|
||||
|
||||
if(D.secured || D2.secured)
|
||||
return FALSE
|
||||
|
||||
|
||||
if(user)
|
||||
user.remove_from_mob(D)
|
||||
user.remove_from_mob(D2)
|
||||
@@ -151,7 +151,7 @@
|
||||
if(!D)
|
||||
return 0
|
||||
if(!secured)
|
||||
visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
|
||||
visible_message("\icon[src][bicon(src)] *beep* *beep*", "*beep* *beep*")
|
||||
if((normal) && (a_right) && (a_left))
|
||||
if(a_right != D)
|
||||
a_right.pulsed(0)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
pulse(0)
|
||||
QDEL_LIST_NULL(i_beams) //They will get recreated next process() if the situation is still appropriate
|
||||
if(!holder)
|
||||
visible_message("[bicon(src)] *beep* *beep*")
|
||||
visible_message("\icon[src][bicon(src)] *beep* *beep*")
|
||||
|
||||
/obj/item/device/assembly/infra/tgui_interact(mob/user, datum/tgui/ui)
|
||||
if(!secured)
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
var/turf/mainloc = get_turf(src)
|
||||
pulse(0)
|
||||
if(!holder)
|
||||
mainloc.visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
|
||||
mainloc.visible_message("\icon[src][bicon(src)] *beep* *beep*", "*beep* *beep*")
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/process()
|
||||
if(scanning)
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
if(!holder)
|
||||
for(var/mob/O in hearers(1, src.loc))
|
||||
O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2)
|
||||
O.show_message("\icon[src][bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2)
|
||||
|
||||
/obj/item/device/assembly/signaler/proc/set_frequency(new_frequency)
|
||||
if(!frequency)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
return 0
|
||||
pulse(0)
|
||||
if(!holder)
|
||||
visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
|
||||
visible_message("\icon[src][bicon(src)] *beep* *beep*", "*beep* *beep*")
|
||||
|
||||
/obj/item/device/assembly/timer/process()
|
||||
if(timing && time-- <= 0)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
recorded = msg
|
||||
listening = 0
|
||||
var/turf/T = get_turf(src) //otherwise it won't work in hand
|
||||
T.visible_message("[bicon(src)] beeps, \"Activation message is '[recorded]'.\"")
|
||||
T.visible_message("\icon[src][bicon(src)] beeps, \"Activation message is '[recorded]'.\"")
|
||||
else
|
||||
if(findtext(msg, recorded))
|
||||
pulse(0)
|
||||
@@ -23,7 +23,7 @@
|
||||
if(!holder)
|
||||
listening = !listening
|
||||
var/turf/T = get_turf(src)
|
||||
T.visible_message("[bicon(src)] beeps, \"[listening ? "Now" : "No longer"] recording input.\"")
|
||||
T.visible_message("\icon[src][bicon(src)] beeps, \"[listening ? "Now" : "No longer"] recording input.\"")
|
||||
|
||||
|
||||
/obj/item/device/assembly/voice/attack_self(mob/user)
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
for(var/obj/item/piece in list(helmet,gloves,chest,boots))
|
||||
if(!piece || piece.loc != wearer)
|
||||
continue
|
||||
. += "[bicon(piece)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed."
|
||||
. += "\icon[piece][bicon(piece)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed."
|
||||
|
||||
if(src.loc == usr)
|
||||
. += "The access panel is [locked? "locked" : "unlocked"]."
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
last_process_worldtime = world.time
|
||||
|
||||
/obj/machinery/dnaforensics/proc/complete_scan()
|
||||
visible_message("<span class='notice'>[bicon(src)] makes an insistent chime.</span>", 2)
|
||||
visible_message("<span class='notice'>\icon[src][bicon(src)] makes an insistent chime.</span>", 2)
|
||||
update_icon()
|
||||
if(bloodsamp)
|
||||
var/obj/item/weapon/paper/P = new(src)
|
||||
|
||||
+11
-11
@@ -76,7 +76,7 @@ log transactions
|
||||
|
||||
//display a message to the user
|
||||
var/response = pick("Initiating withdraw. Have a nice day!", "CRITICAL ERROR: Activating cash chamber panic siphon.","PIN Code accepted! Emptying account balance.", "Jackpot!")
|
||||
to_chat(user, "<span class='warning'>[bicon(src)] The [src] beeps: \"[response]\"</span>")
|
||||
to_chat(user, "<span class='warning'>\icon[src][bicon(src)] The [src] beeps: \"[response]\"</span>")
|
||||
return 1
|
||||
|
||||
/obj/machinery/atm/attackby(obj/item/I as obj, mob/user as mob)
|
||||
@@ -85,7 +85,7 @@ log transactions
|
||||
if(istype(I, /obj/item/weapon/card))
|
||||
if(emagged > 0)
|
||||
//prevent inserting id into an emagged ATM
|
||||
to_chat(user, "<font color='red'>[bicon(src)] CARD READER ERROR. This system has been compromised!</font>")
|
||||
to_chat(user, "<font color='red'>\icon[src][bicon(src)] CARD READER ERROR. This system has been compromised!</font>")
|
||||
return
|
||||
else if(istype(I,/obj/item/weapon/card/emag))
|
||||
I.resolve_attackby(src, user)
|
||||
@@ -234,7 +234,7 @@ log transactions
|
||||
var/target_account_number = text2num(href_list["target_acc_number"])
|
||||
var/transfer_purpose = href_list["purpose"]
|
||||
if(charge_to_account(target_account_number, authenticated_account.owner_name, transfer_purpose, machine_id, transfer_amount))
|
||||
to_chat(usr, "[bicon(src)]<span class='info'>Funds transfer successful.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='info'>Funds transfer successful.</span>")
|
||||
authenticated_account.money -= transfer_amount
|
||||
|
||||
//create an entry in the account transaction log
|
||||
@@ -247,10 +247,10 @@ log transactions
|
||||
T.amount = "([transfer_amount])"
|
||||
authenticated_account.transaction_log.Add(T)
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Funds transfer failed.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Funds transfer failed.</span>")
|
||||
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
|
||||
if("view_screen")
|
||||
view_screen = text2num(href_list["view_screen"])
|
||||
if("change_security_level")
|
||||
@@ -288,11 +288,11 @@ log transactions
|
||||
T.time = stationtime2text()
|
||||
failed_account.transaction_log.Add(T)
|
||||
else
|
||||
to_chat(usr, "<font color='red'>[bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.</font>")
|
||||
to_chat(usr, "<font color='red'>\icon[src][bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.</font>")
|
||||
previous_account_number = tried_account_num
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1)
|
||||
else
|
||||
to_chat(usr, "<font color='red'>[bicon(src)] incorrect pin/account combination entered.</font>")
|
||||
to_chat(usr, "<font color='red'>\icon[src][bicon(src)] incorrect pin/account combination entered.</font>")
|
||||
number_incorrect_tries = 0
|
||||
else
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
@@ -308,7 +308,7 @@ log transactions
|
||||
T.time = stationtime2text()
|
||||
authenticated_account.transaction_log.Add(T)
|
||||
|
||||
to_chat(usr, "<font color='blue'>[bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].</font>'")
|
||||
to_chat(usr, "<font color='blue'>\icon[src][bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].</font>'")
|
||||
|
||||
previous_account_number = tried_account_num
|
||||
if("e_withdrawal")
|
||||
@@ -336,7 +336,7 @@ log transactions
|
||||
T.time = stationtime2text()
|
||||
authenticated_account.transaction_log.Add(T)
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
|
||||
if("withdrawal")
|
||||
var/amount = max(text2num(href_list["funds_amount"]),0)
|
||||
amount = round(amount, 0.01)
|
||||
@@ -361,7 +361,7 @@ log transactions
|
||||
T.time = stationtime2text()
|
||||
authenticated_account.transaction_log.Add(T)
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>You don't have enough funds to do that!</span>")
|
||||
if("balance_statement")
|
||||
if(authenticated_account)
|
||||
var/obj/item/weapon/paper/R = new(src.loc)
|
||||
@@ -433,7 +433,7 @@ log transactions
|
||||
if(!held_card)
|
||||
//this might happen if the user had the browser window open when somebody emagged it
|
||||
if(emagged > 0)
|
||||
to_chat(usr, "<font color='red'>[bicon(src)] The ATM card reader rejected your ID because this machine has been sabotaged!</font>")
|
||||
to_chat(usr, "<font color='red'>\icon[src][bicon(src)] The ATM card reader rejected your ID because this machine has been sabotaged!</font>")
|
||||
else
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
if (istype(I, /obj/item/weapon/card/id))
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
if(linked_account)
|
||||
scan_card(I, O)
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
else if (istype(O, /obj/item/weapon/spacecash/ewallet))
|
||||
var/obj/item/weapon/spacecash/ewallet/E = O
|
||||
if (linked_account)
|
||||
@@ -115,7 +115,7 @@
|
||||
if(transaction_locked && !transaction_paid)
|
||||
if(transaction_amount <= E.worth)
|
||||
playsound(src, 'sound/machines/chime.ogg', 50, 1)
|
||||
src.visible_message("[bicon(src)] \The [src] chimes.")
|
||||
src.visible_message("\icon[src][bicon(src)] \The [src] chimes.")
|
||||
transaction_paid = 1
|
||||
|
||||
//transfer the money
|
||||
@@ -132,11 +132,11 @@
|
||||
T.time = stationtime2text()
|
||||
linked_account.transaction_log.Add(T)
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>\The [O] doesn't have that much money!</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>\The [O] doesn't have that much money!</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>EFTPOS is not connected to an account.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>EFTPOS is not connected to an account.</span>")
|
||||
|
||||
else
|
||||
..()
|
||||
@@ -154,14 +154,14 @@
|
||||
tgui_alert_async(usr, "That is not a valid code!")
|
||||
print_reference()
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Incorrect code entered.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Incorrect code entered.</span>")
|
||||
if("change_id")
|
||||
var/attempt_code = text2num(input(usr, "Re-enter the current EFTPOS access code", "Confirm EFTPOS code"))
|
||||
if(attempt_code == access_code)
|
||||
eftpos_name = sanitize(input(usr, "Enter a new terminal ID for this device", "Enter new EFTPOS ID"), MAX_NAME_LEN) + " EFTPOS scanner"
|
||||
print_reference()
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Incorrect code entered.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Incorrect code entered.</span>")
|
||||
if("link_account")
|
||||
var/attempt_account_num = tgui_input_number(usr, "Enter account number to pay EFTPOS charges into", "New account number")
|
||||
var/attempt_pin = tgui_input_number(usr, "Enter pin code", "Account pin")
|
||||
@@ -169,9 +169,9 @@
|
||||
if(linked_account)
|
||||
if(linked_account.suspended)
|
||||
linked_account = null
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Account has been suspended.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Account has been suspended.</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Account not found.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Account not found.</span>")
|
||||
if("trans_purpose")
|
||||
var/choice = sanitize(input(usr, "Enter reason for EFTPOS transaction", "Transaction purpose"))
|
||||
if(choice) transaction_purpose = choice
|
||||
@@ -194,14 +194,14 @@
|
||||
else if(linked_account)
|
||||
transaction_locked = 1
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>No account connected to send transactions to.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>No account connected to send transactions to.</span>")
|
||||
if("scan_card")
|
||||
if(linked_account)
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
if (istype(I, /obj/item/weapon/card))
|
||||
scan_card(I)
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Unable to link accounts.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Unable to link accounts.</span>")
|
||||
if("reset")
|
||||
//reset the access code - requires HoP/captain access
|
||||
var/obj/item/I = usr.get_active_hand()
|
||||
@@ -209,10 +209,10 @@
|
||||
var/obj/item/weapon/card/id/C = I
|
||||
if((access_cent_captain in C.access) || (access_hop in C.access) || (access_captain in C.access))
|
||||
access_code = 0
|
||||
to_chat(usr, "[bicon(src)]<span class='info'>Access code reset to 0.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='info'>Access code reset to 0.</span>")
|
||||
else if (istype(I, /obj/item/weapon/card/emag))
|
||||
access_code = 0
|
||||
to_chat(usr, "[bicon(src)]<span class='info'>Access code reset to 0.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='info'>Access code reset to 0.</span>")
|
||||
|
||||
src.attack_self(usr)
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
if(!D.suspended)
|
||||
if(transaction_amount <= D.money)
|
||||
playsound(src, 'sound/machines/chime.ogg', 50, 1)
|
||||
src.visible_message("[bicon(src)] \The [src] chimes.")
|
||||
src.visible_message("\icon[src][bicon(src)] \The [src] chimes.")
|
||||
transaction_paid = 1
|
||||
|
||||
//transfer the money
|
||||
@@ -265,25 +265,25 @@
|
||||
T.time = stationtime2text()
|
||||
linked_account.transaction_log.Add(T)
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>You don't have that much money!</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>You don't have that much money!</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Your account has been suspended.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Your account has been suspended.</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>EFTPOS is not connected to an account.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>EFTPOS is not connected to an account.</span>")
|
||||
else if (istype(I, /obj/item/weapon/card/emag))
|
||||
if(transaction_locked)
|
||||
if(transaction_paid)
|
||||
to_chat(usr, "[bicon(src)]<span class='info'>You stealthily swipe \the [I] through \the [src].</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='info'>You stealthily swipe \the [I] through \the [src].</span>")
|
||||
transaction_locked = 0
|
||||
transaction_paid = 0
|
||||
else
|
||||
usr.visible_message("<span class='info'>\The [usr] swipes a card through \the [src].</span>")
|
||||
playsound(src, 'sound/machines/chime.ogg', 50, 1)
|
||||
src.visible_message("[bicon(src)] \The [src] chimes.")
|
||||
src.visible_message("\icon[src][bicon(src)] \The [src] chimes.")
|
||||
transaction_paid = 1
|
||||
|
||||
//emag?
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
if(allowed(usr))
|
||||
locked = !locked
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Insufficient access.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Insufficient access.</span>")
|
||||
if("toggle_cash_lock")
|
||||
cash_locked = !cash_locked
|
||||
if("link_account")
|
||||
@@ -113,9 +113,9 @@
|
||||
if(linked_account)
|
||||
if(linked_account.suspended)
|
||||
linked_account = null
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Account has been suspended.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Account has been suspended.</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Account not found.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Account not found.</span>")
|
||||
if("custom_order")
|
||||
var/t_purpose = sanitize(tgui_input_text(usr, "Enter purpose", "New purpose"))
|
||||
if (!t_purpose || !Adjacent(usr)) return
|
||||
@@ -126,7 +126,7 @@
|
||||
transaction_amount += t_amount
|
||||
price_list += t_amount
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 25)
|
||||
src.visible_message("[bicon(src)][transaction_purpose]: [t_amount] Thaler\s.")
|
||||
src.visible_message("\icon[src][bicon(src)][transaction_purpose]: [t_amount] Thaler\s.")
|
||||
if("set_amount")
|
||||
var/item_name = locate(href_list["item"])
|
||||
var/n_amount = round(tgui_input_number(usr, "Enter amount", "New amount"))
|
||||
@@ -163,7 +163,7 @@
|
||||
price_list.Cut()
|
||||
if("reset_log")
|
||||
transaction_logs.Cut()
|
||||
to_chat(usr, "[bicon(src)]<span class='notice'>Transaction log reset.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='notice'>Transaction log reset.</span>")
|
||||
updateDialog()
|
||||
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
return 1
|
||||
else
|
||||
confirm_item = I
|
||||
src.visible_message("[bicon(src)]<b>Total price:</b> [transaction_amount] Thaler\s. Swipe again to confirm.")
|
||||
src.visible_message("\icon[src][bicon(src)]<b>Total price:</b> [transaction_amount] Thaler\s. Swipe again to confirm.")
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 25)
|
||||
return 0
|
||||
|
||||
@@ -219,14 +219,14 @@
|
||||
|
||||
if (cash_open)
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 25)
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
return
|
||||
|
||||
if((item_list.len > 1 || item_list[item_list[1]] > 1) && !confirm(I))
|
||||
return
|
||||
|
||||
if (!linked_account)
|
||||
usr.visible_message("[bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
usr.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
return
|
||||
|
||||
// Access account for transaction
|
||||
@@ -239,13 +239,13 @@
|
||||
D = attempt_account_access(I.associated_account_number, attempt_pin, 2)
|
||||
|
||||
if(!D)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
|
||||
else
|
||||
if(D.suspended)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Your account has been suspended.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Your account has been suspended.</span>")
|
||||
else
|
||||
if(transaction_amount > D.money)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
else
|
||||
// Transfer the money
|
||||
D.money -= transaction_amount
|
||||
@@ -284,7 +284,7 @@
|
||||
|
||||
if (cash_open)
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 25)
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
return
|
||||
|
||||
if((item_list.len > 1 || item_list[item_list[1]] > 1) && !confirm(E))
|
||||
@@ -293,7 +293,7 @@
|
||||
// Access account for transaction
|
||||
if(check_account())
|
||||
if(transaction_amount > E.worth)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
else
|
||||
// Transfer the money
|
||||
E.worth -= transaction_amount
|
||||
@@ -322,14 +322,14 @@
|
||||
|
||||
if (cash_open)
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 25)
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
return
|
||||
|
||||
if((item_list.len > 1 || item_list[item_list[1]] > 1) && !confirm(SC))
|
||||
return
|
||||
|
||||
if(transaction_amount > SC.worth)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Not enough money.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Not enough money.</span>")
|
||||
else
|
||||
// Insert cash into magical slot
|
||||
SC.worth -= transaction_amount
|
||||
@@ -351,20 +351,20 @@
|
||||
/obj/machinery/cash_register/proc/scan_item_price(obj/O)
|
||||
if(!istype(O)) return
|
||||
if(item_list.len > 10)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Only up to ten different items allowed per purchase.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Only up to ten different items allowed per purchase.</span>")
|
||||
return
|
||||
if (cash_open)
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 25)
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>The cash box is open.</span>")
|
||||
return
|
||||
|
||||
// First check if item has a valid price
|
||||
var/price = O.get_item_cost()
|
||||
if(isnull(price))
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Unable to find item in database.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to find item in database.</span>")
|
||||
return
|
||||
// Call out item cost
|
||||
src.visible_message("[bicon(src)]\A [O]: [price ? "[price] Thaler\s" : "free of charge"].")
|
||||
src.visible_message("\icon[src][bicon(src)]\A [O]: [price ? "[price] Thaler\s" : "free of charge"].")
|
||||
// Note the transaction purpose for later use
|
||||
if(transaction_purpose)
|
||||
transaction_purpose += "<br>"
|
||||
@@ -432,11 +432,11 @@
|
||||
|
||||
/obj/machinery/cash_register/proc/check_account()
|
||||
if (!linked_account)
|
||||
usr.visible_message("[bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
usr.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
return 0
|
||||
|
||||
if(linked_account.suspended)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -444,7 +444,7 @@
|
||||
/obj/machinery/cash_register/proc/transaction_complete()
|
||||
/// Visible confirmation
|
||||
playsound(src, 'sound/machines/chime.ogg', 25)
|
||||
src.visible_message("[bicon(src)]<span class='notice'>Transaction complete.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='notice'>Transaction complete.</span>")
|
||||
flick("register_approve", src)
|
||||
reset_memory()
|
||||
updateDialog()
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
if(allowed(usr))
|
||||
locked = !locked
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Insufficient access.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Insufficient access.</span>")
|
||||
if("link_account")
|
||||
var/attempt_account_num = tgui_input_number(usr, "Enter account number", "New account number")
|
||||
var/attempt_pin = tgui_input_number(usr, "Enter PIN", "Account PIN")
|
||||
@@ -107,9 +107,9 @@
|
||||
if(linked_account)
|
||||
if(linked_account.suspended)
|
||||
linked_account = null
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Account has been suspended.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Account has been suspended.</span>")
|
||||
else
|
||||
to_chat(usr, "[bicon(src)]<span class='warning'>Account not found.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='warning'>Account not found.</span>")
|
||||
if("custom_order")
|
||||
var/t_purpose = sanitize(tgui_input_text(usr, "Enter purpose", "New purpose"))
|
||||
if (!t_purpose || !Adjacent(usr)) return
|
||||
@@ -120,7 +120,7 @@
|
||||
transaction_amount += t_amount
|
||||
price_list += t_amount
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 25)
|
||||
src.visible_message("[bicon(src)][transaction_purpose]: [t_amount] Thaler\s.")
|
||||
src.visible_message("\icon[src][bicon(src)][transaction_purpose]: [t_amount] Thaler\s.")
|
||||
if("set_amount")
|
||||
var/item_name = locate(href_list["item"])
|
||||
var/n_amount = round(tgui_input_number(usr, "Enter amount", "New amount"))
|
||||
@@ -157,7 +157,7 @@
|
||||
price_list.Cut()
|
||||
if("reset_log")
|
||||
transaction_logs.Cut()
|
||||
to_chat(usr, "[bicon(src)]<span class='notice'>Transaction log reset.</span>")
|
||||
to_chat(usr, "\icon[src][bicon(src)]<span class='notice'>Transaction log reset.</span>")
|
||||
updateDialog()
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
return 1
|
||||
else
|
||||
confirm_item = I
|
||||
src.visible_message("[bicon(src)]<b>Total price:</b> [transaction_amount] Thaler\s. Swipe again to confirm.")
|
||||
src.visible_message("\icon[src][bicon(src)]<b>Total price:</b> [transaction_amount] Thaler\s. Swipe again to confirm.")
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 25)
|
||||
return 0
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
return
|
||||
|
||||
if (!linked_account)
|
||||
usr.visible_message("[bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
usr.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
return
|
||||
|
||||
// Access account for transaction
|
||||
@@ -216,13 +216,13 @@
|
||||
D = attempt_account_access(I.associated_account_number, attempt_pin, 2)
|
||||
|
||||
if(!D)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to access account. Check security settings and try again.</span>")
|
||||
else
|
||||
if(D.suspended)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Your account has been suspended.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Your account has been suspended.</span>")
|
||||
else
|
||||
if(transaction_amount > D.money)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
else
|
||||
// Transfer the money
|
||||
D.money -= transaction_amount
|
||||
@@ -265,7 +265,7 @@
|
||||
// Access account for transaction
|
||||
if(check_account())
|
||||
if(transaction_amount > E.worth)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Not enough funds.</span>")
|
||||
else
|
||||
// Transfer the money
|
||||
E.worth -= transaction_amount
|
||||
@@ -291,16 +291,16 @@
|
||||
/obj/item/device/retail_scanner/proc/scan_item_price(var/obj/O)
|
||||
if(!istype(O)) return
|
||||
if(item_list.len > 10)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Only up to ten different items allowed per purchase.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Only up to ten different items allowed per purchase.</span>")
|
||||
return
|
||||
|
||||
// First check if item has a valid price
|
||||
var/price = O.get_item_cost()
|
||||
if(isnull(price))
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Unable to find item in database.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to find item in database.</span>")
|
||||
return
|
||||
// Call out item cost
|
||||
src.visible_message("[bicon(src)]\A [O]: [price ? "[price] Thaler\s" : "free of charge"].")
|
||||
src.visible_message("\icon[src][bicon(src)]\A [O]: [price ? "[price] Thaler\s" : "free of charge"].")
|
||||
// Note the transaction purpose for later use
|
||||
if(transaction_purpose)
|
||||
transaction_purpose += "<br>"
|
||||
@@ -368,11 +368,11 @@
|
||||
|
||||
/obj/item/device/retail_scanner/proc/check_account()
|
||||
if (!linked_account)
|
||||
usr.visible_message("[bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
usr.visible_message("\icon[src][bicon(src)]<span class='warning'>Unable to connect to linked account.</span>")
|
||||
return 0
|
||||
|
||||
if(linked_account.suspended)
|
||||
src.visible_message("[bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='warning'>Connected account has been suspended.</span>")
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -380,7 +380,7 @@
|
||||
/obj/item/device/retail_scanner/proc/transaction_complete()
|
||||
/// Visible confirmation
|
||||
playsound(src, 'sound/machines/chime.ogg', 25)
|
||||
src.visible_message("[bicon(src)]<span class='notice'>Transaction complete.</span>")
|
||||
src.visible_message("\icon[src][bicon(src)]<span class='notice'>Transaction complete.</span>")
|
||||
flick("retail_approve", src)
|
||||
reset_memory()
|
||||
updateDialog()
|
||||
|
||||
@@ -270,7 +270,7 @@ GLOBAL_LIST_EMPTY(vending_products)
|
||||
|
||||
// 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, "[bicon(cashmoney)] <span class='warning'>That is not enough money.</span>")
|
||||
to_chat(usr, "\icon[cashmoney][bicon(cashmoney)] <span class='warning'>That is not enough money.</span>")
|
||||
return 0
|
||||
|
||||
if(istype(cashmoney, /obj/item/weapon/spacecash))
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/icecream/I = O
|
||||
if(!I.ice_creamed)
|
||||
if(product_types[dispense_flavour] > 0)
|
||||
src.visible_message("[bicon(src)] <span class='info'>[user] scoops delicious [flavour_name] icecream into [I].</span>")
|
||||
src.visible_message("\icon[src][bicon(src)] <span class='info'>[user] scoops delicious [flavour_name] icecream into [I].</span>")
|
||||
product_types[dispense_flavour] -= 1
|
||||
I.add_ice_cream(flavour_name)
|
||||
// if(beaker)
|
||||
|
||||
@@ -68,15 +68,15 @@
|
||||
active = 0
|
||||
if(failed_task)
|
||||
failed_task = 0
|
||||
visible_message("[bicon(src)] [src] pings unhappily, flashing a red warning light.")
|
||||
visible_message("\icon[src][bicon(src)] [src] pings unhappily, flashing a red warning light.")
|
||||
else
|
||||
visible_message("[bicon(src)] [src] pings happily.")
|
||||
visible_message("\icon[src][bicon(src)] [src] pings happily.")
|
||||
|
||||
if(eject_disk)
|
||||
eject_disk = 0
|
||||
if(loaded_disk)
|
||||
loaded_disk.loc = get_turf(src)
|
||||
visible_message("[bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
visible_message("\icon[src][bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
loaded_disk = null
|
||||
|
||||
/obj/machinery/botany/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
@@ -190,7 +190,7 @@
|
||||
SSplants.seeds[seed.seed.name] = seed.seed
|
||||
|
||||
seed.update_seed()
|
||||
visible_message("[bicon(src)] [src] beeps and spits out [seed].")
|
||||
visible_message("\icon[src][bicon(src)] [src] beeps and spits out [seed].")
|
||||
|
||||
seed = null
|
||||
return TRUE
|
||||
@@ -199,7 +199,7 @@
|
||||
if(!loaded_disk)
|
||||
return
|
||||
loaded_disk.forceMove(get_turf(src))
|
||||
visible_message("[bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
visible_message("\icon[src][bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
loaded_disk = null
|
||||
return TRUE
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
|
||||
/obj/machinery/botany/editor/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state)
|
||||
var/list/data = ..()
|
||||
|
||||
|
||||
data["activity"] = active
|
||||
|
||||
if(seed)
|
||||
|
||||
@@ -414,7 +414,7 @@
|
||||
|
||||
if(loc)
|
||||
for(var/mob/O in hearers(1, get_turf(src)))
|
||||
O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2)
|
||||
O.show_message("\icon[src][bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2)
|
||||
|
||||
/obj/item/integrated_circuit/input/EPv2
|
||||
name = "\improper EPv2 circuit"
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
var/list/nearby_things = range(0, get_turf(src))
|
||||
for(var/mob/M in nearby_things)
|
||||
var/obj/O = assembly ? assembly : src
|
||||
to_chat(M, "<span class='notice'>[bicon(O)] [stuff_to_display]</span>")
|
||||
to_chat(M, "<span class='notice'>\icon[O][bicon(O)] [stuff_to_display]</span>")
|
||||
|
||||
/obj/item/integrated_circuit/output/screen/large
|
||||
name = "large screen"
|
||||
@@ -56,7 +56,7 @@
|
||||
/obj/item/integrated_circuit/output/screen/large/do_work()
|
||||
..()
|
||||
var/obj/O = assembly ? loc : assembly
|
||||
O.visible_message("<span class='notice'>[bicon(O)] [stuff_to_display]</span>")
|
||||
O.visible_message("<span class='notice'>\icon[O][bicon(O)] [stuff_to_display]</span>")
|
||||
|
||||
/obj/item/integrated_circuit/output/light
|
||||
name = "light"
|
||||
@@ -134,7 +134,7 @@
|
||||
text = get_pin_data(IC_INPUT, 1)
|
||||
if(!isnull(text))
|
||||
var/obj/O = assembly ? loc : assembly
|
||||
audible_message("[bicon(O)] \The [O.name] states, \"[text]\"", runemessage = text)
|
||||
audible_message("\icon[O][bicon(O)] \The [O.name] states, \"[text]\"", runemessage = text)
|
||||
|
||||
/obj/item/integrated_circuit/output/text_to_speech/advanced
|
||||
name = "advanced text-to-speech circuit"
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
if(ore_type) metals[ore_type] += T.resources[metal]
|
||||
|
||||
var/message = "[bicon(src)] <span class='notice'>The scanner beeps and displays a readout.</span>"
|
||||
var/message = "\icon[src][bicon(src)] <span class='notice'>The scanner beeps and displays a readout.</span>"
|
||||
|
||||
for(var/ore_type in metals)
|
||||
var/result = "no sign"
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
else if(species.name != "Human")
|
||||
name_ender = ", <b><font color='[species.get_flesh_colour(src)]'>\a [species.get_examine_name()]!</font></b>[species.get_additional_examine_text(src)]"
|
||||
|
||||
var/list/msg = list("<span class='info'>*---------*","This is [bicon(src)] <EM>[src.name]</EM>[name_ender]")
|
||||
var/list/msg = list("<span class='info'>*---------*","This is \icon[src.examine_icon()][bicon(src)] <EM>[src.name]</EM>[name_ender]")
|
||||
|
||||
//uniform
|
||||
if(w_uniform && !(skip_gear & EXAMINE_SKIPJUMPSUIT) && w_uniform.show_examine)
|
||||
@@ -136,16 +136,16 @@
|
||||
tie_msg += " Near the waist it has [english_list(pocket_msg)]."
|
||||
|
||||
if(w_uniform.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[w_uniform][bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(w_uniform)] \a [w_uniform].[tie_msg]"
|
||||
msg += "[T.He] [T.is] wearing \icon[w_uniform][bicon(w_uniform)] \a [w_uniform].[tie_msg]"
|
||||
|
||||
//head
|
||||
if(head && !(skip_gear & EXAMINE_SKIPHELMET) && head.show_examine)
|
||||
if(head.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [head.name] on [T.his] head!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[head][bicon(head)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [head.name] on [T.his] head!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(head)] \a [head] on [T.his] head."
|
||||
msg += "[T.He] [T.is] wearing \icon[head][bicon(head)] \a [head] on [T.his] head."
|
||||
|
||||
//suit/armour
|
||||
if(wear_suit)
|
||||
@@ -156,71 +156,71 @@
|
||||
tie_msg += " Attached to it is [english_list(U.accessories)]."
|
||||
|
||||
if(wear_suit.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_suit.name][tie_msg]!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[wear_suit][bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_suit.name][tie_msg]!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(wear_suit)] \a [wear_suit].[tie_msg]"
|
||||
msg += "[T.He] [T.is] wearing \icon[wear_suit][bicon(wear_suit)] \a [wear_suit].[tie_msg]"
|
||||
|
||||
//suit/armour storage
|
||||
if(s_store && !(skip_gear & EXAMINE_SKIPSUITSTORAGE) && s_store.show_examine)
|
||||
if(s_store.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying \icon[s_store][bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] carrying [bicon(s_store)] \a [s_store] on [T.his] [wear_suit.name]."
|
||||
msg += "[T.He] [T.is] carrying \icon[s_store][bicon(s_store)] \a [s_store] on [T.his] [wear_suit.name]."
|
||||
|
||||
//back
|
||||
if(back && !(skip_gear & EXAMINE_SKIPBACKPACK) && back.show_examine)
|
||||
if(back.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(back)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [back] on [T.his] back.</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[back][bicon(back)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [back] on [T.his] back.</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(back)] \a [back] on [T.his] back."
|
||||
msg += "[T.He] [T.has] \icon[back][bicon(back)] \a [back] on [T.his] back."
|
||||
|
||||
//left hand
|
||||
if(l_hand && l_hand.show_examine)
|
||||
if(l_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding \icon[l_hand][bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding [bicon(l_hand)] \a [l_hand] in [T.his] left hand."
|
||||
msg += "[T.He] [T.is] holding \icon[l_hand][bicon(l_hand)] \a [l_hand] in [T.his] left hand."
|
||||
|
||||
//right hand
|
||||
if(r_hand && r_hand.show_examine)
|
||||
if(r_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding \icon[r_hand][bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding [bicon(r_hand)] \a [r_hand] in [T.his] right hand."
|
||||
msg += "[T.He] [T.is] holding \icon[r_hand][bicon(r_hand)] \a [r_hand] in [T.his] right hand."
|
||||
|
||||
//gloves
|
||||
if(gloves && !(skip_gear & EXAMINE_SKIPGLOVES) && gloves.show_examine)
|
||||
if(gloves.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[gloves][bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(gloves)] \a [gloves] on [T.his] hands."
|
||||
msg += "[T.He] [T.has] \icon[gloves][bicon(gloves)] \a [gloves] on [T.his] hands."
|
||||
else if(blood_DNA && !(skip_body & EXAMINE_SKIPHANDS))
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!</span>"
|
||||
|
||||
//handcuffed?
|
||||
if(handcuffed && handcuffed.show_examine)
|
||||
if(istype(handcuffed, /obj/item/weapon/handcuffs/cable))
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(handcuffed)] restrained with cable!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[handcuffed][bicon(handcuffed)] restrained with cable!</span>"
|
||||
else
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(handcuffed)] handcuffed!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[handcuffed][bicon(handcuffed)] handcuffed!</span>"
|
||||
|
||||
//buckled
|
||||
if(buckled)
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(buckled)] buckled to [buckled]!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] \icon[buckled][bicon(buckled)] buckled to [buckled]!</span>"
|
||||
|
||||
//belt
|
||||
if(belt && !(skip_gear & EXAMINE_SKIPBELT) && belt.show_examine)
|
||||
if(belt.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[belt][bicon(belt)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(belt)] \a [belt] about [T.his] waist."
|
||||
msg += "[T.He] [T.has] \icon[belt][bicon(belt)] \a [belt] about [T.his] waist."
|
||||
|
||||
//shoes
|
||||
if(shoes && !(skip_gear & EXAMINE_SKIPSHOES) && shoes.show_examine)
|
||||
if(shoes.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[shoes][bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(shoes)] \a [shoes] on [T.his] feet."
|
||||
msg += "[T.He] [T.is] wearing \icon[shoes][bicon(shoes)] \a [shoes] on [T.his] feet."
|
||||
else if(feet_blood_DNA && !(skip_body & EXAMINE_SKIPHANDS))
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!</span>"
|
||||
|
||||
@@ -231,24 +231,24 @@
|
||||
descriptor = "in [T.his] mouth"
|
||||
|
||||
if(wear_mask.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[wear_mask][bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(wear_mask)] \a [wear_mask] [descriptor]."
|
||||
msg += "[T.He] [T.has] \icon[wear_mask][bicon(wear_mask)] \a [wear_mask] [descriptor]."
|
||||
|
||||
//eyes
|
||||
if(glasses && !(skip_gear & EXAMINE_SKIPEYEWEAR) && glasses.show_examine)
|
||||
if(glasses.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] \icon[glasses][bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(glasses)] \a [glasses] covering [T.his] eyes."
|
||||
msg += "[T.He] [T.has] \icon[glasses][bicon(glasses)] \a [glasses] covering [T.his] eyes."
|
||||
|
||||
//left ear
|
||||
if(l_ear && !(skip_gear & EXAMINE_SKIPEARS) && l_ear.show_examine)
|
||||
msg += "[T.He] [T.has] [bicon(l_ear)] \a [l_ear] on [T.his] left ear."
|
||||
msg += "[T.He] [T.has] \icon[l_ear][bicon(l_ear)] \a [l_ear] on [T.his] left ear."
|
||||
|
||||
//right ear
|
||||
if(r_ear && !(skip_gear & EXAMINE_SKIPEARS) && r_ear.show_examine)
|
||||
msg += "[T.He] [T.has] [bicon(r_ear)] \a [r_ear] on [T.his] right ear."
|
||||
msg += "[T.He] [T.has] \icon[r_ear][bicon(r_ear)] \a [r_ear] on [T.his] right ear."
|
||||
|
||||
//ID
|
||||
if(wear_id && wear_id.show_examine)
|
||||
@@ -260,9 +260,9 @@
|
||||
var/obj/item/weapon/card/id/idcard = wear_id
|
||||
id = idcard.registered_name
|
||||
if(id && (id != real_name) && (get_dist(src, usr) <= 1) && prob(10))
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id] yet something doesn't seem right...</span>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing \icon[wear_id][bicon(wear_id)] \a [wear_id] yet something doesn't seem right...</span>"
|
||||
else*/
|
||||
msg += "[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id]."
|
||||
msg += "[T.He] [T.is] wearing \icon[wear_id][bicon(wear_id)] \a [wear_id]."
|
||||
|
||||
//Jitters
|
||||
if(is_jittery)
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
|
||||
/datum/pai_software/med_records/tgui_data(mob/living/silicon/pai/user, datum/tgui/ui, datum/tgui_state/state)
|
||||
var/list/data = ..()
|
||||
|
||||
|
||||
var/list/records = list()
|
||||
for(var/datum/data/record/general in sortRecord(data_core.general))
|
||||
var/list/record = list()
|
||||
@@ -196,7 +196,7 @@
|
||||
|
||||
/datum/pai_software/sec_records/tgui_data(mob/living/silicon/pai/user, datum/tgui/ui, datum/tgui_state/state)
|
||||
var/list/data = ..()
|
||||
|
||||
|
||||
var/list/records = list()
|
||||
for(var/datum/data/record/general in sortRecord(data_core.general))
|
||||
var/list/record = list()
|
||||
@@ -486,7 +486,7 @@
|
||||
|
||||
/datum/pai_software/signaller/tgui_data(mob/living/silicon/pai/user, datum/tgui/ui, datum/tgui_state/state)
|
||||
var/list/data = ..()
|
||||
|
||||
|
||||
var/obj/item/radio/integrated/signal/R = user.sradio
|
||||
|
||||
data["frequency"] = R.frequency
|
||||
@@ -509,7 +509,7 @@
|
||||
spawn(0)
|
||||
R.send_signal("ACTIVATE")
|
||||
for(var/mob/O in hearers(1, R.loc))
|
||||
O.show_message("[bicon(R)] *beep* *beep*", 3, "*beep* *beep*", 2)
|
||||
O.show_message("\icon[R][bicon(R)] *beep* *beep*", 3, "*beep* *beep*", 2)
|
||||
if("freq")
|
||||
var/frequency = unformat_frequency(params["freq"])
|
||||
frequency = sanitize_frequency(frequency, RADIO_LOW_FREQ, RADIO_HIGH_FREQ)
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
if( ishuman(AM) )
|
||||
if(!stat)
|
||||
var/mob/M = AM
|
||||
M.visible_message("<font color='blue'>[bicon(src)] Squeek!</font>")
|
||||
M.visible_message("<font color='blue'>\icon[src][bicon(src)] Squeek!</font>")
|
||||
playsound(src, 'sound/effects/mouse_squeak.ogg', 35, 1)
|
||||
..()
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
var/new_name = sanitizeSafe(tgui_input_text(src, "Who would you like to be now?", "Communicator", src.client.prefs.real_name, MAX_NAME_LEN), MAX_NAME_LEN)
|
||||
if(new_name)
|
||||
if(comm)
|
||||
comm.visible_message("<span class='notice'>[bicon(comm)] [src.name] has left, and now you see [new_name].</span>")
|
||||
comm.visible_message("<span class='notice'>\icon[comm][bicon(comm)] [src.name] has left, and now you see [new_name].</span>")
|
||||
//Do a bit of logging in-case anyone tries to impersonate other characters for whatever reason.
|
||||
var/msg = "[src.client.key] ([src]) has changed their communicator identity's name to [new_name]."
|
||||
message_admins(msg)
|
||||
|
||||
@@ -377,7 +377,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
|
||||
|
||||
last_notification = message // TGUI Hook
|
||||
|
||||
to_chat(human,"<b>\[[bicon(src.big_icon)]NIF\]</b> displays, \"<span class='[alert ? "danger" : "notice"]'>[message]</span>\"")
|
||||
to_chat(human,"<b>\[\icon[src.big_icon][bicon(src.big_icon)]NIF\]</b> displays, \"<span class='[alert ? "danger" : "notice"]'>[message]</span>\"")
|
||||
if(prob(1)) human.visible_message("<span class='notice'>\The [human] [pick(look_messages)].</span>")
|
||||
if(alert)
|
||||
human << bad_sound
|
||||
|
||||
@@ -72,11 +72,11 @@
|
||||
/datum/nifsoft/soulcatcher/proc/notify_into(var/message)
|
||||
var/sound = nif.good_sound
|
||||
|
||||
to_chat(nif.human,"<b>\[[bicon(nif.big_icon)]NIF\]</b> <b>Soulcatcher</b> displays, \"<span class='notice nif'>[message]</span>\"")
|
||||
to_chat(nif.human,"<b>\[\icon[nif.big_icon][bicon(nif.big_icon)]NIF\]</b> <b>Soulcatcher</b> displays, \"<span class='notice nif'>[message]</span>\"")
|
||||
nif.human << sound
|
||||
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,"<b>\[[bicon(nif.big_icon)]NIF\]</b> <b>Soulcatcher</b> displays, \"<span class='notice nif'>[message]</span>\"")
|
||||
to_chat(CS,"<b>\[\icon[nif.big_icon][bicon(nif.big_icon)]NIF\]</b> <b>Soulcatcher</b> displays, \"<span class='notice nif'>[message]</span>\"")
|
||||
CS << sound
|
||||
|
||||
/datum/nifsoft/soulcatcher/proc/say_into(var/message, var/mob/living/sender, var/mob/eyeobj)
|
||||
@@ -88,9 +88,9 @@
|
||||
|
||||
//Not AR Projecting
|
||||
else
|
||||
to_chat(nif.human,"<span class='game say nif'><b>\[[bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> speaks, \"[message]\"</span>")
|
||||
to_chat(nif.human,"<span class='game say nif'><b>\[\icon[nif.big_icon][bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> speaks, \"[message]\"</span>")
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,"<span class='game say nif'><b>\[[bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> speaks, \"[message]\"</span>")
|
||||
to_chat(CS,"<span class='game say nif'><b>\[\icon[nif.big_icon][bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> speaks, \"[message]\"</span>")
|
||||
|
||||
log_nsay(message,nif.human.real_name,sender)
|
||||
|
||||
@@ -103,9 +103,9 @@
|
||||
|
||||
//Not AR Projecting
|
||||
else
|
||||
to_chat(nif.human,"<span class='emote nif'><b>\[[bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> [message]</span>")
|
||||
to_chat(nif.human,"<span class='emote nif'><b>\[\icon[nif.big_icon][bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> [message]</span>")
|
||||
for(var/mob/living/carbon/brain/caught_soul/CS as anything in brainmobs)
|
||||
to_chat(CS,"<span class='emote nif'><b>\[[bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> [message]</span>")
|
||||
to_chat(CS,"<span class='emote nif'><b>\[\icon[nif.big_icon][bicon(nif.big_icon)]NIF\]</b> <b>[sender_name]</b> [message]</span>")
|
||||
|
||||
log_nme(message,nif.human.real_name,sender)
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
var/message = combined["formatted"]
|
||||
var/name_used = M.GetVoice()
|
||||
var/rendered = null
|
||||
rendered = "<span class='game say'>[bicon(icon_object)] <span class='name'>[name_used]</span> [message]</span>"
|
||||
rendered = "<span class='game say'>\icon[icon_object][bicon(icon_object)] <span class='name'>[name_used]</span> [message]</span>"
|
||||
mob.show_message(rendered, 2)
|
||||
|
||||
//Not supported by the internal one
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
L = get(pda, /mob/living/silicon)
|
||||
|
||||
if(L)
|
||||
to_chat(L, "[bicon(pda)] [message]")
|
||||
to_chat(L, "\icon[pda][bicon(pda)] [message]")
|
||||
SStgui.update_user_uis(L, pda) // Update the receiving user's PDA UI so that they can see the new message
|
||||
|
||||
if(!notify_silent)
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
create_message(usr, P)
|
||||
if(href_list["target"] in conversations) // Need to make sure the message went through, if not welp.
|
||||
active_conversation = href_list["target"]
|
||||
|
||||
|
||||
|
||||
/datum/data/pda/app/messenger/proc/create_message(var/mob/living/U, var/obj/item/device/pda/P)
|
||||
var/t = tgui_input_text(U, "Please enter message", name, null)
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
SStgui.update_user_uis(U, P) // Update the sending user's PDA UI so that they can see the new message
|
||||
log_pda("(PDA: [src.name]) sent \"[t]\" to [P.name]", usr)
|
||||
to_chat(U, "[bicon(pda)] <b>Sent message to [P.owner] ([P.ownjob]), </b>\"[t]\"")
|
||||
to_chat(U, "\icon[pda][bicon(pda)] <b>Sent message to [P.owner] ([P.ownjob]), </b>\"[t]\"")
|
||||
else
|
||||
to_chat(U, "<span class='notice'>ERROR: Messaging server is not responding.</span>")
|
||||
|
||||
@@ -224,7 +224,7 @@
|
||||
/datum/data/pda/app/messenger/multicast
|
||||
/datum/data/pda/app/messenger/multicast/receive_message(list/data, ref)
|
||||
. = ..()
|
||||
|
||||
|
||||
var/obj/item/device/pda/multicaster/M = pda
|
||||
if(!istype(M))
|
||||
return
|
||||
|
||||
@@ -99,7 +99,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
S = 'sound/machines/twobeep.ogg'
|
||||
playsound(loc, S, 50, 1)
|
||||
for(var/mob/O in hearers(3, loc))
|
||||
O.show_message(text("[bicon(src)] *[ttone]*"))
|
||||
O.show_message(text("\icon[src][bicon(src)] *[ttone]*"))
|
||||
|
||||
/obj/item/device/pda/proc/set_ringtone()
|
||||
var/t = tgui_input_text(usr, "Please enter new ringtone", name, ttone)
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
var/list/seen = viewers(4, T)
|
||||
for(var/mob/M in seen)
|
||||
if(M.client)
|
||||
M.show_message("<span class='notice'>[bicon(container)] [mix_message]</span>", 1)
|
||||
M.show_message("<span class='notice'>\icon[container][bicon(container)] [mix_message]</span>", 1)
|
||||
playsound(T, reaction_sound, 80, 1)
|
||||
|
||||
//obtains any special data that will be provided to the reaction products
|
||||
|
||||
@@ -84,7 +84,7 @@ var/global/list/obj/machinery/message_server/message_servers = list()
|
||||
|
||||
/obj/machinery/message_server/examine(mob/user, distance, infix, suffix)
|
||||
. = ..()
|
||||
. += "It appears to be [active ? "online" : "offline"]."
|
||||
. += "It appears to be [active ? "online" : "offline"]."
|
||||
|
||||
/obj/machinery/message_server/proc/GenerateKey()
|
||||
//Feel free to move to Helpers.
|
||||
@@ -131,12 +131,12 @@ var/global/list/obj/machinery/message_server/message_servers = list()
|
||||
if(2)
|
||||
if(!Console.silent)
|
||||
playsound(Console, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
Console.audible_message(text("[bicon(Console)] *The Requests Console beeps: 'PRIORITY Alert in [sender]'"),,5, runemessage = "beep! beep!")
|
||||
Console.audible_message(text("\icon[Console][bicon(Console)] *The Requests Console beeps: 'PRIORITY Alert in [sender]'"),,5, runemessage = "beep! beep!")
|
||||
Console.message_log += list(list("High Priority message from [sender]", "[authmsg]"))
|
||||
else
|
||||
if(!Console.silent)
|
||||
playsound(Console, 'sound/machines/twobeep.ogg', 50, 1)
|
||||
Console.audible_message(text("[bicon(Console)] *The Requests Console beeps: 'Message from [sender]'"),,4, runemessage = "beep beep")
|
||||
Console.audible_message(text("\icon[Console][bicon(Console)] *The Requests Console beeps: 'Message from [sender]'"),,4, runemessage = "beep beep")
|
||||
Console.message_log += list(list("Message from [sender]", "[authmsg]"))
|
||||
Console.set_light(2)
|
||||
|
||||
|
||||
@@ -259,14 +259,14 @@
|
||||
return
|
||||
|
||||
if (src.active)
|
||||
user.visible_message("<font color='blue'>[bicon(src)] [user] deactivated the shield generator.</font>", \
|
||||
"<font color='blue'>[bicon(src)] You deactivate the shield generator.</font>", \
|
||||
user.visible_message("<font color='blue'>\icon[src][bicon(src)] [user] deactivated the shield generator.</font>", \
|
||||
"<font color='blue'>\icon[src][bicon(src)] You deactivate the shield generator.</font>", \
|
||||
"You hear heavy droning fade out.")
|
||||
src.shields_down()
|
||||
else
|
||||
if(anchored)
|
||||
user.visible_message("<font color='blue'>[bicon(src)] [user] activated the shield generator.</font>", \
|
||||
"<font color='blue'>[bicon(src)] You activate the shield generator.</font>", \
|
||||
user.visible_message("<font color='blue'>\icon[src][bicon(src)] [user] activated the shield generator.</font>", \
|
||||
"<font color='blue'>\icon[src][bicon(src)] You activate the shield generator.</font>", \
|
||||
"You hear heavy droning.")
|
||||
src.shields_up()
|
||||
else
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
else if(W.is_wrench())
|
||||
src.anchored = !src.anchored
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
src.visible_message("<font color='blue'>[bicon(src)] [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].</font>")
|
||||
src.visible_message("<font color='blue'>\icon[src][bicon(src)] [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].</font>")
|
||||
|
||||
if(anchored)
|
||||
spawn(0)
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
else if(W.is_wrench())
|
||||
src.anchored = !src.anchored
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
src.visible_message("<font color='blue'>[bicon(src)] [src] has been [anchored?"bolted to the floor":"unbolted from the floor"] by [user].</font>")
|
||||
src.visible_message("<font color='blue'>\icon[src][bicon(src)] [src] has been [anchored?"bolted to the floor":"unbolted from the floor"] by [user].</font>")
|
||||
|
||||
if(active)
|
||||
toggle()
|
||||
@@ -122,7 +122,7 @@
|
||||
"failing" = (C.time_since_fail <= 2),
|
||||
)))
|
||||
lockedData["capacitors"] = caps
|
||||
|
||||
|
||||
lockedData["active"] = active
|
||||
lockedData["failing"] = (time_since_fail <= 2)
|
||||
lockedData["radius"] = field_radius
|
||||
@@ -242,7 +242,7 @@
|
||||
covered_turfs = null
|
||||
|
||||
for(var/mob/M in view(5,src))
|
||||
to_chat(M, "[bicon(src)] You hear heavy droning start up.")
|
||||
to_chat(M, "\icon[src][bicon(src)] You hear heavy droning start up.")
|
||||
for(var/obj/effect/energy_field/E in field) // Update the icons here to ensure all the shields have been made already.
|
||||
E.update_icon()
|
||||
else
|
||||
@@ -252,7 +252,7 @@
|
||||
qdel(D)
|
||||
|
||||
for(var/mob/M in view(5,src))
|
||||
to_chat(M, "[bicon(src)] You hear heavy droning fade out.")
|
||||
to_chat(M, "\icon[src][bicon(src)] You hear heavy droning fade out.")
|
||||
|
||||
/obj/machinery/shield_gen/update_icon()
|
||||
if(stat & BROKEN)
|
||||
|
||||
@@ -316,7 +316,7 @@ GLOBAL_LIST_EMPTY(bicon_cache) // Cache of the <img> tag results, not the icons
|
||||
if(use_class)
|
||||
class = "class='icon [A.icon_state] [custom_classes]'"
|
||||
|
||||
return "<img [class] src='data:image/png;base64,[base64]'>"
|
||||
return "<IMG [class] src='data:image/png;base64,[base64]'>"
|
||||
|
||||
//Checks if the message content is a valid to_chat message
|
||||
/proc/is_valid_tochat_message(message)
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
I.loc = src.loc
|
||||
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("[bicon(src)] <font color='blue'>The [src.name] beeps.</font>", 2)
|
||||
O.show_message("\icon[src][bicon(src)] <font color='blue'>The [src.name] beeps.</font>", 2)
|
||||
@@ -31,7 +31,7 @@
|
||||
report("Antibodies detected: [antigens2string(C.antibodies)]", user)
|
||||
|
||||
/obj/item/device/antibody_scanner/proc/report(var/text, mob/user as mob)
|
||||
to_chat(user, "<font color='blue'>[bicon(src)] \The [src] beeps,</font> \"<font color='blue'>[text]</font>\"")
|
||||
to_chat(user, "<font color='blue'>\icon[src][bicon(src)] \The [src] beeps,</font> \"<font color='blue'>[text]</font>\"")
|
||||
|
||||
///////////////VIRUS DISH///////////////
|
||||
|
||||
|
||||
@@ -2096,14 +2096,14 @@ Departamental Swimsuits, for general use
|
||||
translocator_unequip(translocator, user)
|
||||
T.forceMove(src)
|
||||
translocator = T
|
||||
user.show_message("[bicon(src)]*click!*")
|
||||
user.show_message("\icon[src][bicon(src)]*click!*")
|
||||
playsound(src, 'sound/machines/click.ogg', 30, 1)
|
||||
|
||||
/obj/item/clothing/head/fluff/nikki/proc/translocator_unequip(var/obj/item/device/perfect_tele/T, var/mob/living/carbon/human/user)
|
||||
if (translocator)
|
||||
if (user)
|
||||
user.put_in_hands(T)
|
||||
user.show_message("[bicon(src)]*click!*")
|
||||
user.show_message("\icon[src][bicon(src)]*click!*")
|
||||
else
|
||||
translocator.forceMove(get_turf(src))
|
||||
translocator = null
|
||||
@@ -2501,4 +2501,4 @@ Departamental Swimsuits, for general use
|
||||
|
||||
icon_override = 'icons/vore/custom_clothes_vr.dmi'
|
||||
item_state = "foxflightsuit_mob"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
|
||||
@@ -46,17 +46,17 @@
|
||||
if(!previous_power_state)
|
||||
previous_power_state = 1
|
||||
icon_state = "cellold1"
|
||||
src.visible_message("<span class='notice'>[bicon(src)] [src] suddenly comes to life!</span>")
|
||||
src.visible_message("<span class='notice'>\icon[src][bicon(src)] [src] suddenly comes to life!</span>")
|
||||
|
||||
//slowly grow a mob
|
||||
if(prob(5))
|
||||
src.visible_message("<span class='notice'>[bicon(src)] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].</span>")
|
||||
src.visible_message("<span class='notice'>\icon[src][bicon(src)] [src] [pick("gloops","glugs","whirrs","whooshes","hisses","purrs","hums","gushes")].</span>")
|
||||
|
||||
//if we've finished growing...
|
||||
if(time_spent_spawning >= time_per_spawn)
|
||||
time_spent_spawning = 0
|
||||
update_use_power(USE_POWER_IDLE)
|
||||
src.visible_message("<span class='notice'>[bicon(src)] [src] pings!</span>")
|
||||
src.visible_message("<span class='notice'>\icon[src][bicon(src)] [src] pings!</span>")
|
||||
icon_state = "cellold1"
|
||||
desc = "It's full of a bubbling viscous liquid, and is lit by a mysterious glow."
|
||||
if(spawn_type)
|
||||
@@ -77,7 +77,7 @@
|
||||
if(previous_power_state)
|
||||
previous_power_state = 0
|
||||
icon_state = "cellold0"
|
||||
src.visible_message("<span class='notice'>[bicon(src)] [src] suddenly shuts down.</span>")
|
||||
src.visible_message("<span class='notice'>\icon[src][bicon(src)] [src] suddenly shuts down.</span>")
|
||||
|
||||
//cloned mob slowly breaks down
|
||||
time_spent_spawning = max(time_spent_spawning + last_process - world.time, 0)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
"foreground" = colors[color],
|
||||
)))
|
||||
|
||||
fail_message = "<font color='blue'>[bicon(src)] a [pick("loud","soft","sinister","eery","triumphant","depressing","cheerful","angry")] \
|
||||
fail_message = "<font color='blue'>\icon[src][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("yellow","purple","green","blue","red","orange","white")] \
|
||||
[pick("light","dial","meter","window","protrusion","knob","antenna","swirly thing")] \
|
||||
@@ -110,7 +110,7 @@
|
||||
if(spawning_types.len && powered())
|
||||
spawn_progress_time += world.time - last_process_time
|
||||
if(spawn_progress_time > max_spawn_time)
|
||||
src.visible_message("<span class='notice'>[bicon(src)] [src] pings!</span>")
|
||||
src.visible_message("<span class='notice'>\icon[src][bicon(src)] [src] pings!</span>")
|
||||
|
||||
var/obj/source_material = pop(stored_materials)
|
||||
var/spawn_type = pop(spawning_types)
|
||||
@@ -133,7 +133,7 @@
|
||||
icon_state = "borgcharger0(old)"
|
||||
|
||||
else if(prob(5))
|
||||
src.visible_message("<span class='notice'>[bicon(src)] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].</span>")
|
||||
src.visible_message("<span class='notice'>\icon[src][bicon(src)] [src] [pick("clicks","whizzes","whirrs","whooshes","clanks","clongs","clonks","bangs")].</span>")
|
||||
|
||||
last_process_time = world.time
|
||||
|
||||
@@ -161,9 +161,9 @@
|
||||
if(key in construction)
|
||||
if(LAZYLEN(stored_materials) > LAZYLEN(spawning_types))
|
||||
if(LAZYLEN(spawning_types))
|
||||
visible_message("<span class='notice'>[bicon(src)] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].</span>")
|
||||
visible_message("<span class='notice'>\icon[src][bicon(src)] a [pick("light","dial","display","meter","pad")] on [src]'s front [pick("blinks","flashes")] [pick("red","yellow","blue","orange","purple","green","white")].</span>")
|
||||
else
|
||||
visible_message("<span class='notice'>[bicon(src)] [src]'s front compartment slides shut.</span>")
|
||||
visible_message("<span class='notice'>\icon[src][bicon(src)] [src]'s front compartment slides shut.</span>")
|
||||
spawning_types.Add(construction[key])
|
||||
spawn_progress_time = 0
|
||||
update_use_power(USE_POWER_ACTIVE)
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
var/atom/toplevelholder = target
|
||||
while(!istype(toplevelholder.loc, /turf))
|
||||
toplevelholder = toplevelholder.loc
|
||||
toplevelholder.visible_message("<font color='red'>[bicon(toplevelholder)] [toplevelholder] [display_msg]</font>")
|
||||
toplevelholder.visible_message("<font color='red'>\icon[toplevelholder][bicon(toplevelholder)] [toplevelholder] [display_msg]</font>")
|
||||
|
||||
/datum/artifact_effect/proc/DoEffectTouch(var/mob/user)
|
||||
/datum/artifact_effect/proc/DoEffectAura(var/atom/holder)
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
..()
|
||||
else if(istype(W,/obj/item/weapon/pen))
|
||||
plaque_contents = sanitize(tgui_input_text(usr, "What would you like to write on the plaque:","Skeleton plaque",""))
|
||||
user.visible_message("[user] writes something on the base of [src].","You relabel the plaque on the base of [bicon(src)] [src].")
|
||||
user.visible_message("[user] writes something on the base of [src].","You relabel the plaque on the base of \icon[src][bicon(src)] [src].")
|
||||
if(src.contents.Find(/obj/item/weapon/fossil/skull/horned))
|
||||
src.desc = "A creature made of [src.contents.len-1] assorted bones and a horned skull. The plaque reads \'[plaque_contents]\'."
|
||||
else
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
|
||||
if(charges >= 0.1)
|
||||
if(prob(5))
|
||||
src.visible_message("<font color='red'>[bicon(src)] [src]'s eyes glow ruby red for a moment!</font>")
|
||||
src.visible_message("<font color='red'>\icon[src][bicon(src)] [src]'s eyes glow ruby red for a moment!</font>")
|
||||
charges -= 0.1
|
||||
|
||||
//check on our shadow wights
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
var/list/options = list("[holder_atom] seems to be listening intently to [source]...",\
|
||||
"[holder_atom] seems to be focusing on [source]...",\
|
||||
"[holder_atom] seems to turn it's attention to [source]...")
|
||||
holder_atom.loc.visible_message("<font color='blue'>[bicon(holder_atom)] [pick(options)]</font>")
|
||||
holder_atom.loc.visible_message("<font color='blue'>\icon[holder_atom][bicon(holder_atom)] [pick(options)]</font>")
|
||||
|
||||
if(prob(20))
|
||||
spawn(2)
|
||||
@@ -118,5 +118,5 @@
|
||||
listening|=M
|
||||
|
||||
for(var/mob/M in listening)
|
||||
to_chat(M, "[bicon(holder_atom)] <b>[holder_atom]</b> reverberates, \"<font color='blue'>[msg]</font>\"")
|
||||
to_chat(M, "\icon[holder_atom][bicon(holder_atom)] <b>[holder_atom]</b> reverberates, \"<font color='blue'>[msg]</font>\"")
|
||||
last_talk_time = world.time
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
/obj/item/weapon/anodevice/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state)
|
||||
var/list/data = ..()
|
||||
|
||||
|
||||
data["inserted_battery"] = inserted_battery
|
||||
data["anomaly"] = null
|
||||
data["charge"] = null
|
||||
@@ -103,7 +103,7 @@
|
||||
if("startup")
|
||||
if(inserted_battery && inserted_battery.battery_effect && (inserted_battery.stored_charge > 0))
|
||||
activated = TRUE
|
||||
visible_message("<font color='blue'>[bicon(src)] [src] whirrs.</font>", "[bicon(src)]<font color='blue'>You hear something whirr.</font>")
|
||||
visible_message("<font color='blue'>\icon[src][bicon(src)] [src] whirrs.</font>", "\icon[src][bicon(src)]<font color='blue'>You hear something whirr.</font>")
|
||||
if(!inserted_battery.battery_effect.activated)
|
||||
inserted_battery.battery_effect.ToggleActivate(1)
|
||||
time_end = world.time + duration
|
||||
@@ -146,9 +146,9 @@
|
||||
if(interval > 0)
|
||||
//apply the touch effect to the holder
|
||||
if(holder)
|
||||
to_chat(holder, "the [bicon(src)] [src] held by [holder] shudders in your grasp.")
|
||||
to_chat(holder, "the \icon[src][bicon(src)] [src] held by [holder] shudders in your grasp.")
|
||||
else
|
||||
src.loc.visible_message("the [bicon(src)] [src] shudders.")
|
||||
src.loc.visible_message("the \icon[src][bicon(src)] [src] shudders.")
|
||||
|
||||
//consume power
|
||||
inserted_battery.use_power(energy_consumed_on_touch)
|
||||
@@ -175,13 +175,13 @@
|
||||
|
||||
//work out if we need to shutdown
|
||||
if(inserted_battery.stored_charge <= 0)
|
||||
src.loc.visible_message("<font color='blue'>[bicon(src)] [src] buzzes.</font>", "<font color='blue'>[bicon(src)] You hear something buzz.</font>")
|
||||
src.loc.visible_message("<font color='blue'>\icon[src][bicon(src)] [src] buzzes.</font>", "<font color='blue'>\icon[src][bicon(src)] You hear something buzz.</font>")
|
||||
shutdown_emission()
|
||||
else if(world.time > time_end)
|
||||
src.loc.visible_message("<font color='blue'>[bicon(src)] [src] chimes.</font>", "<font color='blue'>[bicon(src)] You hear something chime.</font>")
|
||||
src.loc.visible_message("<font color='blue'>\icon[src][bicon(src)] [src] chimes.</font>", "<font color='blue'>\icon[src][bicon(src)] You hear something chime.</font>")
|
||||
shutdown_emission()
|
||||
else
|
||||
src.visible_message("<font color='blue'>[bicon(src)] [src] buzzes.</font>", "<font color='blue'>[bicon(src)] You hear something buzz.</font>")
|
||||
src.visible_message("<font color='blue'>\icon[src][bicon(src)] [src] buzzes.</font>", "<font color='blue'>\icon[src][bicon(src)] You hear something buzz.</font>")
|
||||
shutdown_emission()
|
||||
last_process = world.time
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
P.name = "[src] report #[++report_num]"
|
||||
P.info = "<b>[src] analysis report #[report_num]</b><br>"
|
||||
P.info += "<br>"
|
||||
P.info += "[bicon(scanned_object)] [results]"
|
||||
P.info += "\icon[scanned_object][bicon(scanned_object)] [results]"
|
||||
P.stamped = list(/obj/item/weapon/stamp)
|
||||
P.add_overlay("paper_stamped")
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
/obj/machinery/radiocarbon_spectrometer/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state)
|
||||
var/list/data = ..()
|
||||
|
||||
|
||||
// this is the data which will be sent to the ui
|
||||
data["scanned_item"] = (scanned_item ? scanned_item.name : "")
|
||||
data["scanned_item_desc"] = (scanned_item ? (scanned_item.desc ? scanned_item.desc : "No information on record.") : "")
|
||||
@@ -268,16 +268,16 @@
|
||||
//emergency stop if seal integrity reaches 0
|
||||
if(scanner_seal_integrity <= 0 || (scanner_temperature >= 1273 && !rad_shield))
|
||||
stop_scanning()
|
||||
src.visible_message("<font color='blue'>[bicon(src)] buzzes unhappily. It has failed mid-scan!</font>", 2)
|
||||
src.visible_message("<font color='blue'>\icon[src][bicon(src)] buzzes unhappily. It has failed mid-scan!</font>", 2)
|
||||
|
||||
if(prob(5))
|
||||
src.visible_message("<font color='blue'>[bicon(src)] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")].</font>", 2)
|
||||
src.visible_message("<font color='blue'>\icon[src][bicon(src)] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")].</font>", 2)
|
||||
else
|
||||
//gradually cool down over time
|
||||
if(scanner_temperature > 0)
|
||||
scanner_temperature = max(scanner_temperature - 5 - 10 * rand(), 0)
|
||||
if(prob(0.75))
|
||||
src.visible_message("<font color='blue'>[bicon(src)] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].</font>", 2)
|
||||
src.visible_message("<font color='blue'>\icon[src][bicon(src)] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].</font>", 2)
|
||||
playsound(src, 'sound/effects/ding.ogg', 25)
|
||||
last_process_worldtime = world.time
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
used_coolant = 0
|
||||
|
||||
/obj/machinery/radiocarbon_spectrometer/proc/complete_scan()
|
||||
src.visible_message("<font color='blue'>[bicon(src)] makes an insistent chime.</font>", 2)
|
||||
src.visible_message("<font color='blue'>\icon[src][bicon(src)] makes an insistent chime.</font>", 2)
|
||||
|
||||
if(scanned_item)
|
||||
//create report
|
||||
|
||||
@@ -147,10 +147,10 @@
|
||||
|
||||
for(var/mob/living/M in T)
|
||||
M.Weaken(5)
|
||||
M.visible_message("<span class='notice'>[bicon(M)] [M] begins to float in the air!</span>","You feel tingly and light, but it is difficult to move.")
|
||||
M.visible_message("<span class='notice'>\icon[M][bicon(M)] [M] begins to float in the air!</span>","You feel tingly and light, but it is difficult to move.")
|
||||
|
||||
suspension_field = new(T)
|
||||
visible_message("<span class='notice'>[bicon(src)] [src] activates with a low hum.</span>")
|
||||
visible_message("<span class='notice'>\icon[src][bicon(src)] [src] activates with a low hum.</span>")
|
||||
icon_state = "suspension3"
|
||||
|
||||
for(var/obj/item/I in T)
|
||||
@@ -160,7 +160,7 @@
|
||||
if(collected)
|
||||
suspension_field.icon_state = "energynet"
|
||||
suspension_field.add_overlay("shield2")
|
||||
visible_message("<span class='notice'>[bicon(suspension_field)] [suspension_field] gently absconds [collected > 1 ? "something" : "several things"].</span>")
|
||||
visible_message("<span class='notice'>\icon[suspension_field][bicon(suspension_field)] [suspension_field] gently absconds [collected > 1 ? "something" : "several things"].</span>")
|
||||
else
|
||||
if(istype(T,/turf/simulated/mineral) || istype(T,/turf/simulated/wall))
|
||||
suspension_field.icon_state = "shieldsparkles"
|
||||
@@ -175,7 +175,7 @@
|
||||
to_chat(M, "<span class='notice'>You no longer feel like floating.</span>")
|
||||
M.Weaken(3)
|
||||
|
||||
visible_message("<span class='notice'>[bicon(src)] [src] deactivates with a gentle shudder.</span>")
|
||||
visible_message("<span class='notice'>\icon[src][bicon(src)] [src] deactivates with a gentle shudder.</span>")
|
||||
qdel(suspension_field)
|
||||
suspension_field = null
|
||||
icon_state = "suspension2"
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
positive_locations.Add(D)
|
||||
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] [src] pings.</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] [src] pings.</span>")
|
||||
|
||||
else if(istype(A, /obj/structure/boulder))
|
||||
var/obj/structure/boulder/B = A
|
||||
@@ -149,7 +149,7 @@
|
||||
|
||||
positive_locations.Add(D)
|
||||
|
||||
to_chat(user, "<span class='notice'>[bicon(src)] [src] pings [pick("madly","wildly","excitedly","crazily")]!</span>")
|
||||
to_chat(user, "<span class='notice'>\icon[src][bicon(src)] [src] pings [pick("madly","wildly","excitedly","crazily")]!</span>")
|
||||
|
||||
/obj/item/device/depth_scanner/attack_self(var/mob/living/user)
|
||||
tgui_interact(user)
|
||||
@@ -197,7 +197,7 @@
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
switch(action)
|
||||
switch(action)
|
||||
if("select")
|
||||
var/index = text2num(params["select"])
|
||||
if(index && index <= LAZYLEN(positive_locations))
|
||||
@@ -269,9 +269,9 @@
|
||||
scan_ticks = 0
|
||||
var/turf/T = get_turf(src)
|
||||
if(target_radio)
|
||||
T.visible_message("[bicon(src)] [src] [pick("chirps","chirrups","cheeps")] happily.")
|
||||
T.visible_message("\icon[src][bicon(src)] [src] [pick("chirps","chirrups","cheeps")] happily.")
|
||||
else
|
||||
T.visible_message("[bicon(src)] [src] [pick("chirps","chirrups","cheeps")] sadly.")
|
||||
T.visible_message("\icon[src][bicon(src)] [src] [pick("chirps","chirrups","cheeps")] sadly.")
|
||||
else
|
||||
icon_state = "pinoff"
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
var/obj/item/slime_extract/T = holder.my_atom
|
||||
T.uses--
|
||||
if(T.uses <= 0)
|
||||
T.visible_message("[bicon(T)]<b>\The [T]</b> goes inert.")
|
||||
T.visible_message("\icon[T][bicon(T)]<b>\The [T]</b> goes inert.")
|
||||
T.name = "inert [initial(T.name)]"
|
||||
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
var/obj/item/slime_extract/T = holder.my_atom
|
||||
T.uses--
|
||||
if(T.uses <= 0)
|
||||
T.visible_message("[bicon(T)]<b>\The [T]</b> goes inert.")
|
||||
T.visible_message("\icon[T][bicon(T)]<b>\The [T]</b> goes inert.")
|
||||
T.name = "inert [initial(T.name)]"
|
||||
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
/obj/machinery/slime/extractor/proc/extract_cores()
|
||||
if(!src.occupant)
|
||||
src.visible_message("[bicon(src)] [src] pings unhappily.")
|
||||
src.visible_message("\icon[src][bicon(src)] [src] pings unhappily.")
|
||||
else if(inuse)
|
||||
return
|
||||
|
||||
|
||||
@@ -102,15 +102,15 @@
|
||||
in_use = 0
|
||||
if(failed_task)
|
||||
failed_task = 0
|
||||
visible_message("[bicon(src)] [src] pings unhappily, flashing a red warning light.")
|
||||
visible_message("\icon[src][bicon(src)] [src] pings unhappily, flashing a red warning light.")
|
||||
else
|
||||
visible_message("[bicon(src)] [src] pings happily.")
|
||||
visible_message("\icon[src][bicon(src)] [src] pings happily.")
|
||||
|
||||
if(eject_disk)
|
||||
eject_disk = 0
|
||||
if(loaded_disk)
|
||||
loaded_disk.forceMove(get_turf(src))
|
||||
visible_message("[bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
visible_message("\icon[src][bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
loaded_disk = null
|
||||
|
||||
/obj/machinery/xenobio/extractor
|
||||
@@ -126,7 +126,7 @@
|
||||
/obj/machinery/xenobio/extractor/Initialize()
|
||||
. = ..()
|
||||
default_apply_parts()
|
||||
|
||||
|
||||
/obj/machinery/xenobio/extractor/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W,/obj/item/xenoproduct))
|
||||
if(product)
|
||||
@@ -183,7 +183,7 @@
|
||||
/obj/machinery/xenobio/proc/eject_disk()
|
||||
if(!loaded_disk) return
|
||||
loaded_disk.forceMove(loc)
|
||||
visible_message("[bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
visible_message("\icon[src][bicon(src)] [src] beeps and spits out [loaded_disk].")
|
||||
loaded_disk = null
|
||||
|
||||
/obj/machinery/xenobio/extractor/Topic(href, href_list)
|
||||
@@ -195,7 +195,7 @@
|
||||
if(!product) return
|
||||
|
||||
product.forceMove(get_turf(src))
|
||||
visible_message("[bicon(src)] [src] beeps and spits out [product].")
|
||||
visible_message("\icon[src][bicon(src)] [src] beeps and spits out [product].")
|
||||
product = null
|
||||
|
||||
if(href_list["eject_disk"])
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
/obj/machinery/slime/replicator/proc/replicate_slime()
|
||||
if(!src.core)
|
||||
src.visible_message("[bicon(src)] [src] pings unhappily.")
|
||||
src.visible_message("\icon[src][bicon(src)] [src] pings unhappily.")
|
||||
else if(inuse)
|
||||
return
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
"du" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor/holofloor/wood,/area/awaymission/snowfield/outside)
|
||||
"dv" = (/obj/machinery/door/airlock/maintenance{locked = 1; name = "Storage Access"},/turf/simulated/floor/tiled/neutral,/area/awaymission/snowfield/outside)
|
||||
"dw" = (/obj/structure/closet/l3closet/security,/turf/simulated/floor/tiled/dark,/area/awaymission/snowfield/outside)
|
||||
"dx" = (/obj/structure/closet/fireaxecabinet{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/awaymission/snowfield/outside)
|
||||
"dx" = (/obj/structure/fireaxecabinet{pixel_y = 32},/turf/simulated/floor/tiled/dark,/area/awaymission/snowfield/outside)
|
||||
"dy" = (/obj/machinery/space_heater,/turf/simulated/floor/tiled/dark,/area/awaymission/snowfield/outside)
|
||||
"dz" = (/obj/structure/bed/chair{dir = 1},/turf/simulated/floor/tiled/dark,/area/awaymission/snowfield/outside)
|
||||
"dA" = (/obj/structure/table/steel_reinforced,/turf/simulated/floor/tiled/dark,/area/awaymission/snowfield/outside)
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))
|
||||
for(var/mob/O in viewers(world.view, src.loc))
|
||||
to_chat(O, "<font color='red'>[M] triggered the [bicon(src)] [src]</font>")
|
||||
to_chat(O, "<font color='red'>[M] triggered the \icon[src][bicon(src)] [src]</font>")
|
||||
triggered = 1
|
||||
call(src,triggerproc)(M)
|
||||
|
||||
|
||||
@@ -1188,7 +1188,7 @@
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/awaymission/snowfield/base)
|
||||
"ds" = (
|
||||
/obj/structure/closet/fireaxecabinet{
|
||||
/obj/structure/fireaxecabinet{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))
|
||||
for(var/mob/O in viewers(world.view, src.loc))
|
||||
to_chat(O, "<font color='red'>[M] triggered the [bicon(src)] [src]</font>")
|
||||
to_chat(O, "<font color='red'>[M] triggered the \icon[src][bicon(src)] [src]</font>")
|
||||
triggered = 1
|
||||
call(src,triggerproc)(M)
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
in_space = 1
|
||||
unknown_state = "field"
|
||||
known = FALSE
|
||||
|
||||
|
||||
skybox_icon = 'icons/skybox/anomaly.dmi'
|
||||
skybox_icon_state = "shimmer_r"
|
||||
skybox_pixel_x = 0
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
/obj/machinery/vending/wallmed2
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
/obj/structure/closet/fireaxecabinet
|
||||
/obj/structure/fireaxecabinet
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
/obj/structure/extinguisher_cabinet
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
|
||||
@@ -101,18 +101,18 @@
|
||||
|
||||
#define MOVE_PER(x) move_time*(x/100) SECONDS
|
||||
|
||||
computer.visible_message("[bicon(computer)] <span class='notice'>Beginning flight and telemetry monitoring.</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='notice'>Beginning flight and telemetry monitoring.</span>")
|
||||
sleep(MOVE_PER(5))
|
||||
|
||||
if(failures >= 1)
|
||||
computer.visible_message("[bicon(computer)] <span class='warning'>Single engine failure, continuing flight.</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='warning'>Single engine failure, continuing flight.</span>")
|
||||
sleep(MOVE_PER(10))
|
||||
|
||||
if(failures >= 2)
|
||||
computer.visible_message("[bicon(computer)] <span class='warning'>Second engine failure, unable to complete flight.</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='warning'>Second engine failure, unable to complete flight.</span>")
|
||||
playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0)
|
||||
sleep(MOVE_PER(10))
|
||||
computer.visible_message("[bicon(computer)] <span class='warning'>Commencing RTLS abort mode.</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='warning'>Commencing RTLS abort mode.</span>")
|
||||
sleep(MOVE_PER(20))
|
||||
if(failures < 3)
|
||||
move(area_transition,origin)
|
||||
@@ -120,18 +120,18 @@
|
||||
return 1
|
||||
|
||||
if(failures >= 3)
|
||||
computer.visible_message("[bicon(computer)] <span class='danger'>Total engine failure, unable to complete abort mode.</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='danger'>Total engine failure, unable to complete abort mode.</span>")
|
||||
playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0)
|
||||
sleep(MOVE_PER(5))
|
||||
computer.visible_message("[bicon(computer)] <span class='danger'>Distress signal broadcast.</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='danger'>Distress signal broadcast.</span>")
|
||||
playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0)
|
||||
sleep(MOVE_PER(5))
|
||||
computer.visible_message("[bicon(computer)] <span class='danger'>Stall. Stall. Stall. Stall.</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='danger'>Stall. Stall. Stall. Stall.</span>")
|
||||
playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0)
|
||||
sleep(MOVE_PER(5))
|
||||
playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0)
|
||||
sleep(MOVE_PER(5))
|
||||
computer.visible_message("[bicon(computer)] <span class='danger'>Terrain! Pull up! Terrain! Pull up!</span>")
|
||||
computer.visible_message("\icon[computer][bicon(computer)] <span class='danger'>Terrain! Pull up! Terrain! Pull up!</span>")
|
||||
playsound(computer,'sound/mecha/internaldmgalarm.ogg',100,0)
|
||||
playsound(computer,'sound/misc/bloblarm.ogg',100,0)
|
||||
sleep(MOVE_PER(10))
|
||||
|
||||
@@ -330,7 +330,7 @@
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
/obj/machinery/vending/wallmed2
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
/obj/structure/closet/fireaxecabinet
|
||||
/obj/structure/fireaxecabinet
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
/obj/structure/extinguisher_cabinet
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
|
||||
Reference in New Issue
Block a user