diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm
index 858800754bd..fe1aeac6087 100644
--- a/code/__DEFINES/admin.dm
+++ b/code/__DEFINES/admin.dm
@@ -1,5 +1,5 @@
//A set of constants used to determine which type of mute an admin wishes to apply:
-//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (MUTE_IC << 1)
+//Please read and understand the muting/automuting stuff before changing these. MUTE_IC_AUTO etc = (to_chat(MUTE_IC, 1))
//Therefore there needs to be a gap between the flags for the automute flags
#define MUTE_IC 1
#define MUTE_OOC 2
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 83e4d4e5505..313455c0a74 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -325,8 +325,8 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
#define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects"
//debug printing macros
-#define debug_world(msg) if (Debug2) world << "DEBUG: [msg]"
-#define debug_admins(msg) if (Debug2) admins << "DEBUG: [msg]"
+#define debug_world(msg) if (Debug2) to_chat(world, "DEBUG: [msg]")
+#define debug_admins(msg) if (Debug2) to_chat(admins, "DEBUG: [msg]")
#define debug_world_log(msg) if (Debug2) log_world("DEBUG: [msg]")
#define COORD(A) "([A.x],[A.y],[A.z])"
diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm
index 3c573f644ef..cceea91f64e 100644
--- a/code/__HELPERS/_logging.dm
+++ b/code/__HELPERS/_logging.dm
@@ -12,7 +12,7 @@
//print a testing-mode debug message to world.log and world
#ifdef TESTING
-#define testing(msg) log_world("## TESTING: [msg]"); world << "## TESTING: [msg]"
+#define testing(msg) log_world("## TESTING: [msg]"); to_chat(world, "## TESTING: [msg]")
#else
#define testing(msg)
#endif
diff --git a/code/__HELPERS/files.dm b/code/__HELPERS/files.dm
index b1b557b6451..386f0eac129 100644
--- a/code/__HELPERS/files.dm
+++ b/code/__HELPERS/files.dm
@@ -39,7 +39,7 @@
var/extension = copytext(path,-4,0)
if( !fexists(path) || !(extension in valid_extensions) )
- src << "Error: browse_files(): File not found/Invalid file([path])."
+ to_chat(src, "Error: browse_files(): File not found/Invalid file([path]).")
return
return path
@@ -53,7 +53,7 @@
/client/proc/file_spam_check()
var/time_to_wait = fileaccess_timer - world.time
if(time_to_wait > 0)
- src << "Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds."
+ to_chat(src, "Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.")
return 1
fileaccess_timer = world.time + FTPDELAY
return 0
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 167c04f9021..5743e4065ed 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -422,20 +422,20 @@
window_flash(G.client)
switch(ignore_category ? askuser(G,Question,"Please answer in [poll_time/10] seconds!","Yes","No","Never for this round", StealFocus=0, Timeout=poll_time) : askuser(G,Question,"Please answer in [poll_time/10] seconds!","Yes","No", StealFocus=0, Timeout=poll_time))
if(1)
- G << "Choice registered: Yes."
+ to_chat(G, "Choice registered: Yes.")
if((world.time-time_passed)>poll_time)
- G << "Sorry, you were too late for the consideration!"
+ to_chat(G, "Sorry, you were too late for the consideration!")
G << 'sound/machines/buzz-sigh.ogg'
else
candidates += G
if(2)
- G << "Choice registered: No."
+ to_chat(G, "Choice registered: No.")
if(3)
var/list/L = poll_ignore[ignore_category]
if(!L)
poll_ignore[ignore_category] = list()
poll_ignore[ignore_category] += G.ckey
- G << "Choice registered: Never for this round."
+ to_chat(G, "Choice registered: Never for this round.")
/proc/pollCandidates(var/Question, var/jobbanType, var/datum/game_mode/gametypeCheck, var/be_special_flag = 0, var/poll_time = 300, var/ignore_category = null, flashwindow = TRUE)
var/list/mob/dead/observer/candidates = list()
@@ -498,10 +498,10 @@
return new_character
-/proc/send_to_playing_players(thing) //sends a whatever to all playing players; use instead of world << where needed
+/proc/send_to_playing_players(thing) //sends a whatever to all playing players; use instead of to_chat(world, where needed)
for(var/M in player_list)
if(M && !isnewplayer(M))
- M << thing
+ to_chat(M, thing)
/proc/window_flash(client/C, ignorepref = FALSE)
if(ismob(C))
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 536a07ee9be..baf931f2a33 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -68,7 +68,7 @@
var/list/L = chemical_reactions_list[reaction]
for(var/t in L)
. += " has: [t]\n"
- world << .
+ to_chat(world, .)
*/
//creates every subtype of prototype (excluding prototype) and adds it to list L.
diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm
index 108c2f1c54b..5359b100bee 100644
--- a/code/__HELPERS/icon_smoothing.dm
+++ b/code/__HELPERS/icon_smoothing.dm
@@ -71,9 +71,9 @@
AM = find_type_in_direction(A, direction)
if(AM == NULLTURF_BORDER)
if((A.smooth & SMOOTH_BORDER))
- adjacencies |= 1 << direction
+ adjacencies |= to_chat(1, direction)
else if( (AM && !istype(AM)) || (istype(AM) && AM.anchored) )
- adjacencies |= 1 << direction
+ adjacencies |= to_chat(1, direction)
if(adjacencies & N_NORTH)
if(adjacencies & N_WEST)
@@ -259,7 +259,7 @@
A.cut_overlay(A.bottom_left_corner)
A.bottom_left_corner = se
LAZYADD(New, se)
-
+
if(New)
A.add_overlay(New)
diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm
index 2daf9450389..93881c5cb94 100644
--- a/code/__HELPERS/icons.dm
+++ b/code/__HELPERS/icons.dm
@@ -333,26 +333,26 @@ world
--digits
switch(which)
if(0)
- r = (r << 4) | ch
+ r = (to_chat(r, 4) | ch)
if(single)
- r |= r << 4
+ r |= to_chat(r, 4)
++which
else if(!(digits & 1)) ++which
if(1)
- g = (g << 4) | ch
+ g = (to_chat(g, 4) | ch)
if(single)
- g |= g << 4
+ g |= to_chat(g, 4)
++which
else if(!(digits & 1)) ++which
if(2)
- b = (b << 4) | ch
+ b = (to_chat(b, 4) | ch)
if(single)
- b |= b << 4
+ b |= to_chat(b, 4)
++which
else if(!(digits & 1)) ++which
if(3)
- alpha = (alpha << 4) | ch
- if(single) alpha |= alpha << 4
+ alpha = (to_chat(alpha, 4) | ch)
+ if(single) alpha |= to_chat(alpha, 4)
. = list(r, g, b)
if(usealpha) . += alpha
@@ -382,16 +382,16 @@ world
--digits
switch(which)
if(0)
- hue = (hue << 4) | ch
+ hue = (to_chat(hue, 4) | ch)
if(digits == (usealpha ? 6 : 4)) ++which
if(1)
- sat = (sat << 4) | ch
+ sat = (to_chat(sat, 4) | ch)
if(digits == (usealpha ? 4 : 2)) ++which
if(2)
- val = (val << 4) | ch
+ val = (to_chat(val, 4) | ch)
if(digits == (usealpha ? 2 : 0)) ++which
if(3)
- alpha = (alpha << 4) | ch
+ alpha = (to_chat(alpha, 4) | ch)
. = list(hue, sat, val)
if(usealpha) . += alpha
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 74c45ff06f4..a460ad06737 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -405,4 +405,4 @@ Proc for attack log creation, because really why not
else if(turf_target)
var/turf_link = TURF_LINK(M, turf_target)
message = "[turf_link] [message]"
- M << "[message]"
+ to_chat(M, "[message]")
diff --git a/code/__HELPERS/sorts/__main.dm b/code/__HELPERS/sorts/__main.dm
index e2c008389e4..d70025aaea2 100644
--- a/code/__HELPERS/sorts/__main.dm
+++ b/code/__HELPERS/sorts/__main.dm
@@ -266,7 +266,7 @@ var/datum/sortInstance/sortInstance = new()
var/maxOffset = len - hint
while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint+offset)) > 0)
lastOffset = offset
- offset = (offset << 1) + 1
+ offset = (to_chat(offset, 1) + 1)
if(offset > maxOffset)
offset = maxOffset
@@ -278,7 +278,7 @@ var/datum/sortInstance/sortInstance = new()
var/maxOffset = hint + 1
while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint-offset)) <= 0)
lastOffset = offset
- offset = (offset << 1) + 1
+ offset = (to_chat(offset, 1) + 1)
if(offset > maxOffset)
offset = maxOffset
@@ -325,7 +325,7 @@ var/datum/sortInstance/sortInstance = new()
var/maxOffset = hint + 1 //therefore we want to insert somewhere in the range [base,base+hint] = [base+,base+(hint+1))
while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint-offset)) < 0) //we are iterating backwards
lastOffset = offset
- offset = (offset << 1) + 1 //1 3 7 15
+ offset = (to_chat(offset, 1) + 1 )
//if(offset <= 0) //int overflow, not an issue here since we are using floats
// offset = maxOffset
@@ -340,7 +340,7 @@ var/datum/sortInstance/sortInstance = new()
var/maxOffset = len - hint //therefore we want to insert somewhere in the range (base+hint,base+len) = [base+hint+1, base+hint+(len-hint))
while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint+offset)) >= 0)
lastOffset = offset
- offset = (offset << 1) + 1
+ offset = (to_chat(offset, 1) + 1)
//if(offset <= 0) //int overflow, not an issue here since we are using floats
// offset = maxOffset
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index c0442712b42..71456830e34 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -834,20 +834,20 @@ var/list/WALLITEMS_INVERSE = typecacheof(list(
var/pressure = air_contents.return_pressure()
var/total_moles = air_contents.total_moles()
- user << "Results of analysis of \icon[icon] [target]."
+ to_chat(user, "Results of analysis of \icon[icon] [target].")
if(total_moles>0)
- user << "Pressure: [round(pressure,0.1)] kPa"
+ to_chat(user, "Pressure: [round(pressure,0.1)] kPa")
var/list/cached_gases = air_contents.gases
for(var/id in cached_gases)
var/gas_concentration = cached_gases[id][MOLES]/total_moles
if(id in hardcoded_gases || gas_concentration > 0.001) //ensures the four primary gases are always shown.
- user << "[cached_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] %"
+ to_chat(user, "[cached_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] %")
- user << "Temperature: [round(air_contents.temperature-T0C)] °C"
+ to_chat(user, "Temperature: [round(air_contents.temperature-T0C)] °C")
else
- user << "[target] is empty!"
+ to_chat(user, "[target] is empty!")
return
/proc/check_target_facings(mob/living/initator, mob/living/target)
@@ -1420,3 +1420,6 @@ var/valid_HTTPSGet = FALSE
fdel(temp_file)
#define UNTIL(X) while(!(X)) stoplag()
+
+/proc/to_chat(target, message)
+ target << message
\ No newline at end of file
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 533e7c94a26..636675c8ac6 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -597,7 +597,7 @@ so as to remain in compliance with the most up-to-date laws."
return
var/paramslist = params2list(params)
if(paramslist["shift"]) // screen objects don't do the normal Click() stuff so we'll cheat
- usr << "[name] - [desc]"
+ to_chat(usr, "[name] - [desc]")
return
if(master)
return usr.client.Click(master, location, control, params)
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 4b68b31f4e2..82a936bd5a6 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -244,9 +244,9 @@
if(hud_used && client)
hud_used.show_hud() //Shows the next hud preset
- usr << "Switched HUD mode. Press F12 to toggle."
+ to_chat(usr, "Switched HUD mode. Press F12 to toggle.")
else
- usr << "This mob type does not use a HUD."
+ to_chat(usr, "This mob type does not use a HUD.")
//(re)builds the hand ui slots, throwing away old ones
diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm
index 912d88e3a33..db4cb540580 100644
--- a/code/_onclick/hud/robot.dm
+++ b/code/_onclick/hud/robot.dm
@@ -206,7 +206,7 @@
screenmob.client.screen += module_store_icon //"store" icon
if(!R.module.modules)
- usr << "Selected module has no modules to select"
+ to_chat(usr, "Selected module has no modules to select")
return
if(!R.robot_modules_background)
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index d73cb59c97e..b27f18cab30 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -80,7 +80,7 @@
return 1
var/area/A = get_area(usr)
if(!A.outdoors)
- usr << "There is already a defined structure here."
+ to_chat(usr, "There is already a defined structure here.")
return 1
create_area(usr)
@@ -241,49 +241,49 @@
if(C.internal)
C.internal = null
- C << "You are no longer running on internals."
+ to_chat(C, "You are no longer running on internals.")
icon_state = "internal0"
else
if(!C.getorganslot("breathing_tube"))
if(!istype(C.wear_mask, /obj/item/clothing/mask))
- C << "You are not wearing an internals mask!"
+ to_chat(C, "You are not wearing an internals mask!")
return 1
else
var/obj/item/clothing/mask/M = C.wear_mask
if(M.mask_adjusted) // if mask on face but pushed down
M.adjustmask(C) // adjust it back
if( !(M.flags & MASKINTERNALS) )
- C << "You are not wearing an internals mask!"
+ to_chat(C, "You are not wearing an internals mask!")
return
var/obj/item/I = C.is_holding_item_of_type(/obj/item/weapon/tank)
if(I)
- C << "You are now running on internals from the [I] on your [C.get_held_index_name(C.get_held_index_of_item(I))]."
+ to_chat(C, "You are now running on internals from the [I] on your [C.get_held_index_name(C.get_held_index_of_item(I))].")
C.internal = I
else if(ishuman(C))
var/mob/living/carbon/human/H = C
if(istype(H.s_store, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.s_store] on your [H.wear_suit]."
+ to_chat(H, "You are now running on internals from the [H.s_store] on your [H.wear_suit].")
H.internal = H.s_store
else if(istype(H.belt, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.belt] on your belt."
+ to_chat(H, "You are now running on internals from the [H.belt] on your belt.")
H.internal = H.belt
else if(istype(H.l_store, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.l_store] in your left pocket."
+ to_chat(H, "You are now running on internals from the [H.l_store] in your left pocket.")
H.internal = H.l_store
else if(istype(H.r_store, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.r_store] in your right pocket."
+ to_chat(H, "You are now running on internals from the [H.r_store] in your right pocket.")
H.internal = H.r_store
//Seperate so CO2 jetpacks are a little less cumbersome.
if(!C.internal && istype(C.back, /obj/item/weapon/tank))
- C << "You are now running on internals from the [C.back] on your back."
+ to_chat(C, "You are now running on internals from the [C.back] on your back.")
C.internal = C.back
if(C.internal)
icon_state = "internal1"
else
- C << "You don't have an oxygen tank!"
+ to_chat(C, "You don't have an oxygen tank!")
return
C.update_action_buttons_icon()
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 447b466d562..63c00f1ada0 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -21,7 +21,7 @@
if(user.a_intent == INTENT_HARM && stat == DEAD && butcher_results) //can we butcher it?
var/sharpness = I.is_sharp()
if(sharpness)
- user << "You begin to butcher [src]..."
+ to_chat(user, "You begin to butcher [src]...")
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
if(do_mob(user, src, 80/sharpness))
harvest(user)
diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm
index b98b4c9cf4a..6b18232fde4 100644
--- a/code/_onclick/observer.dm
+++ b/code/_onclick/observer.dm
@@ -71,13 +71,13 @@
if(awaygate)
user.forceMove(awaygate.loc)
else
- user << "[src] has no destination."
+ to_chat(user, "[src] has no destination.")
/obj/machinery/gateway/centeraway/attack_ghost(mob/user)
if(stationgate)
user.forceMove(stationgate.loc)
else
- user << "[src] has no destination."
+ to_chat(user, "[src] has no destination.")
/obj/item/weapon/storage/attack_ghost(mob/user)
orient2hud(user)
diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm
index b13862d865d..73b50c3ca6c 100644
--- a/code/_onclick/other_mobs.dm
+++ b/code/_onclick/other_mobs.dm
@@ -7,7 +7,7 @@
/mob/living/carbon/human/UnarmedAttack(atom/A, proximity)
if(!has_active_hand()) //can't attack without a hand.
- src << "You look at your arm and sigh."
+ to_chat(src, "You look at your arm and sigh.")
return
// Special glove functions:
diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm
index 3c70a0544da..e2b4ab398ad 100644
--- a/code/_onclick/telekinesis.dm
+++ b/code/_onclick/telekinesis.dm
@@ -152,7 +152,7 @@ var/const/tk_maxrange = 15
if(focus)
d = max(d,get_dist(user,focus)) // whichever is further
if(d > tk_maxrange)
- user << "Your mind won't reach that far."
+ to_chat(user, "Your mind won't reach that far.")
return 0
return 1
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index b81debde7d1..fd3a8c40155 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -10,7 +10,7 @@
if(var_name in banned_views)
return debug_variable(var_name, "SECRET", 0, src)
return ..()
-
+
/datum/configuration/vv_edit_var(var_name, var_value)
var/static/list/banned_edits = list("cross_address", "cross_allowed", "autoadmin", "autoadmin_rank")
if(var_name in banned_edits)
@@ -861,7 +861,7 @@
var/list/datum/game_mode/runnable_modes = new
for(var/T in gamemode_cache)
var/datum/game_mode/M = new T()
- //world << "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]"
+ //to_chat(world, "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]")
if(!(M.config_tag in modes))
qdel(M)
continue
@@ -874,7 +874,7 @@
M.maximum_players = max_pop[M.config_tag]
if(M.can_start())
runnable_modes[M] = probabilities[M.config_tag]
- //world << "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]"
+ //to_chat(world, "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]")
return runnable_modes
/datum/configuration/proc/get_runnable_midround_modes(crew)
diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm
index e4123893f40..e2427d3c295 100644
--- a/code/controllers/failsafe.dm
+++ b/code/controllers/failsafe.dm
@@ -53,23 +53,23 @@ var/datum/controller/failsafe/Failsafe
if(4,5)
--defcon
if(3)
- admins << "Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks."
+ to_chat(admins, "Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")
--defcon
if(2)
- admins << "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks."
+ to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks.")
--defcon
if(1)
- admins << "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting..."
+ to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting...")
--defcon
var/rtn = Recreate_MC()
if(rtn > 0)
defcon = 4
master_iteration = 0
- admins << "MC restarted successfully"
+ to_chat(admins, "MC restarted successfully")
else if(rtn < 0)
log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0")
- admins << "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying."
+ to_chat(admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying.")
//if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again
//no need to handle that specially when defcon 0 can handle it
if(0) //DEFCON 0! (mc failed to restart)
@@ -77,7 +77,7 @@ var/datum/controller/failsafe/Failsafe
if(rtn > 0)
defcon = 4
master_iteration = 0
- admins << "MC restarted successfully"
+ to_chat(admins, "MC restarted successfully")
else
defcon = min(defcon + 1,5)
master_iteration = Master.iteration
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 878e7ce86d6..e688ebcf691 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -111,7 +111,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
subsystems = Master.subsystems
StartProcessing(10)
else
- world << "The Master Controller is having some issues, we will need to re-initialize EVERYTHING"
+ to_chat(world, "The Master Controller is having some issues, we will need to re-initialize EVERYTHING")
Initialize(20, TRUE)
@@ -126,7 +126,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
if(init_sss)
init_subtypes(/datum/controller/subsystem, subsystems)
- world << "Initializing subsystems..."
+ to_chat(world, "Initializing subsystems...")
// Sort subsystems by init_order, so they initialize in the correct order.
sortTim(subsystems, /proc/cmp_subsystem_init)
@@ -143,7 +143,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
var/time = (REALTIMEOFDAY - start_timeofday) / 10
var/msg = "Initializations complete within [time] second[time == 1 ? "" : "s"]!"
- world << "[msg]"
+ to_chat(world, "[msg]")
log_world(msg)
// Sort subsystems by display setting for easy access.
diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm
index fe5e24b6644..1951c605911 100644
--- a/code/controllers/subsystem.dm
+++ b/code/controllers/subsystem.dm
@@ -147,7 +147,7 @@
/datum/controller/subsystem/Initialize(start_timeofday)
var/time = (REALTIMEOFDAY - start_timeofday) / 10
var/msg = "Initialized [name] subsystem within [time] second[time == 1 ? "" : "s"]!"
- world << "[msg]"
+ to_chat(world, "[msg]")
log_world(msg)
return time
diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm
index 4acbe0fcf7b..6a004adef64 100644
--- a/code/controllers/subsystem/air.dm
+++ b/code/controllers/subsystem/air.dm
@@ -318,7 +318,7 @@ var/datum/controller/subsystem/air/SSair
CHECK_TICK
var/msg = "HEY! LISTEN! [(world.timeofday - timer)/10] Seconds were wasted processing [starting_ats] turf(s) (connected to [ending_ats] other turfs) with atmos differences at round start."
- world << "[msg]"
+ to_chat(world, "[msg]")
warning(msg)
/turf/open/proc/resolve_active_graph()
diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm
index 7fcb6863f08..d1a9424a197 100644
--- a/code/controllers/subsystem/augury.dm
+++ b/code/controllers/subsystem/augury.dm
@@ -67,13 +67,13 @@ var/datum/controller/subsystem/augury/SSaugury
/datum/action/innate/augury/Activate()
SSaugury.watchers += owner
- owner << "You are now auto-following debris."
+ to_chat(owner, "You are now auto-following debris.")
active = TRUE
UpdateButtonIcon()
/datum/action/innate/augury/Deactivate()
SSaugury.watchers -= owner
- owner << "You are no longer auto-following debris."
+ to_chat(owner, "You are no longer auto-following debris.")
active = FALSE
UpdateButtonIcon()
diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/jobs.dm
index 04d781464d4..8a346556476 100644
--- a/code/controllers/subsystem/jobs.dm
+++ b/code/controllers/subsystem/jobs.dm
@@ -28,7 +28,7 @@ var/datum/controller/subsystem/job/SSjob
occupations = list()
var/list/all_jobs = subtypesof(/datum/job)
if(!all_jobs.len)
- world << "Error setting up jobs, no job datums found"
+ to_chat(world, "Error setting up jobs, no job datums found")
return 0
for(var/J in all_jobs)
@@ -40,7 +40,7 @@ var/datum/controller/subsystem/job/SSjob
if(!job.config_check())
continue
if(!job.map_check()) //Even though we initialize before mapping, this is fine because the config is loaded at new
- testing("Removed [job.type] due to map config");
+ testing("Removed [job.type] due to map config");
continue
occupations += job
name_occupations[job.title] = job
@@ -414,13 +414,13 @@ var/datum/controller/subsystem/job/SSjob
else
M = H
- M << "You are the [rank]."
- M << "As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this."
- M << "To speak on your departments radio, use the :h button. To see others, look closely at your headset."
+ to_chat(M, "You are the [rank].")
+ to_chat(M, "As the [rank] you answer directly to [job.supervisors]. Special circumstances may change this.")
+ to_chat(M, "To speak on your departments radio, use the :h button. To see others, look closely at your headset.")
if(job.req_admin_notify)
- M << "You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp."
+ to_chat(M, "You are playing a job that is important for Game Progression. If you have to disconnect, please notify the admins via adminhelp.")
if(config.minimal_access_threshold)
- M << "As this station was initially staffed with a [config.jobs_have_minimal_access ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card."
+ to_chat(M, "As this station was initially staffed with a [config.jobs_have_minimal_access ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card.")
if(job && H)
job.after_spawn(H, M)
@@ -503,7 +503,7 @@ var/datum/controller/subsystem/job/SSjob
return
if(PopcapReached())
Debug("Popcap overflow Check observer located, Player: [player]")
- player << "You have failed to qualify for any job you desired."
+ to_chat(player, "You have failed to qualify for any job you desired.")
unassigned -= player
player.ready = 0
diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm
index bd47c192f64..529d6b7f782 100644
--- a/code/controllers/subsystem/mapping.dm
+++ b/code/controllers/subsystem/mapping.dm
@@ -34,7 +34,7 @@ var/datum/controller/subsystem/mapping/SSmapping
/datum/controller/subsystem/mapping/Initialize(timeofday)
if(config.defaulted)
- world << "Unable to load next map config, defaulting to Box Station"
+ to_chat(world, "Unable to load next map config, defaulting to Box Station")
loadWorld()
SortAreas()
process_teleport_locs() //Sets up the wizard teleport locations
@@ -106,7 +106,7 @@ var/datum/controller/subsystem/mapping/SSmapping
if(last)
QDEL_NULL(loader)
-#define INIT_ANNOUNCE(X) world << "[X]"; log_world(X)
+#define INIT_ANNOUNCE(X) to_chat(world, "[X]"); log_world(X)
/datum/controller/subsystem/mapping/proc/loadWorld()
//if any of these fail, something has gone horribly, HORRIBLY, wrong
var/list/FailedZs = list()
@@ -172,9 +172,9 @@ var/datum/controller/subsystem/mapping/SSmapping
message_admins("Randomly rotating map to [VM.map_name]")
. = changemap(VM)
if (. && VM.map_name != config.map_name)
- world << "Map rotation has chosen [VM.map_name] for next round!"
+ to_chat(world, "Map rotation has chosen [VM.map_name] for next round!")
-/datum/controller/subsystem/mapping/proc/changemap(var/datum/map_config/VM)
+/datum/controller/subsystem/mapping/proc/changemap(var/datum/map_config/VM)
if(!VM.MakeNextMap())
next_map_config = new(default_to_box = TRUE)
message_admins("Failed to set new map with next_map.json for [VM.map_name]! Using default as backup!")
diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm
index 94e22dae949..8d8fd6fcec4 100644
--- a/code/controllers/subsystem/minimap.dm
+++ b/code/controllers/subsystem/minimap.dm
@@ -25,18 +25,18 @@ var/datum/controller/subsystem/minimap/SSminimap
fdel(hash_path())
text2file(hash, hash_path())
else
- world << "Minimap generation disabled. Loading from cache..."
+ to_chat(world, "Minimap generation disabled. Loading from cache...")
var/fileloc = 0
if(check_files(0)) //Let's first check if we have maps cached in the data folder. NOTE: This will override the backup files even if this map is older.
if(hash != trim(file2text(hash_path())))
- world << "Loaded cached minimap is outdated. There may be minor discrepancies in layout." //Disclaimer against players saying map is wrong.
+ to_chat(world, "Loaded cached minimap is outdated. There may be minor discrepancies in layout." )
fileloc = 0
else
if(!check_files(1))
- world << "Failed to load backup minimap file. Aborting." //We couldn't find something. Bail to prevent issues with null files
+ to_chat(world, "Failed to load backup minimap file. Aborting." )
return
fileloc = 1 //No map image cached with the current map, and we have a backup. Let's fall back to it.
- world << "No cached minimaps detected. Backup files loaded."
+ to_chat(world, "No cached minimaps detected. Backup files loaded.")
for(var/z in z_levels)
register_asset("minimap_[z].png", fcopy_rsc(map_path(z,fileloc)))
..()
diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm
index 4c9c4bcbd37..15c3a8307f7 100644
--- a/code/controllers/subsystem/pai.dm
+++ b/code/controllers/subsystem/pai.dm
@@ -155,7 +155,7 @@ var/list/obj/item/device/paicard/pai_card_list = list()
if(!(ROLE_PAI in G.client.prefs.be_special))
continue
//G << 'sound/misc/server-ready.ogg' //Alerting them to their consideration
- G << "Someone is requesting a pAI personality! Use the pAI button to submit yourself as one."
+ to_chat(G, "Someone is requesting a pAI personality! Use the pAI button to submit yourself as one.")
addtimer(CALLBACK(src, .proc/spam_again), spam_delay)
var/list/available = list()
for(var/datum/paiCandidate/c in SSpai.candidates)
diff --git a/code/controllers/subsystem/server_maintenance.dm b/code/controllers/subsystem/server_maintenance.dm
index 24f923288c2..cc390a519e5 100644
--- a/code/controllers/subsystem/server_maintenance.dm
+++ b/code/controllers/subsystem/server_maintenance.dm
@@ -20,7 +20,7 @@ var/datum/controller/subsystem/server_maint/SSserver
if(C.is_afk(INACTIVITY_KICK))
if(!istype(C.mob, /mob/dead))
log_access("AFK: [key_name(C)]")
- C << "You have been inactive for more than 10 minutes and have been disconnected."
+ to_chat(C, "You have been inactive for more than 10 minutes and have been disconnected.")
qdel(C)
if(config.sql_enabled)
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm
index 052e7fff4a5..f1c9c9916d8 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttles.dm
@@ -176,33 +176,33 @@ var/datum/controller/subsystem/shuttle/SSshuttle
emergency = backup_shuttle
if(world.time - round_start_time < config.shuttle_refuel_delay)
- user << "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again."
+ to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.")
return
switch(emergency.mode)
if(SHUTTLE_RECALL)
- user << "The emergency shuttle may not be called while returning to Centcom."
+ to_chat(user, "The emergency shuttle may not be called while returning to Centcom.")
return
if(SHUTTLE_CALL)
- user << "The emergency shuttle is already on its way."
+ to_chat(user, "The emergency shuttle is already on its way.")
return
if(SHUTTLE_DOCKED)
- user << "The emergency shuttle is already here."
+ to_chat(user, "The emergency shuttle is already here.")
return
if(SHUTTLE_IGNITING)
- user << "The emergency shuttle is firing its engines to leave."
+ to_chat(user, "The emergency shuttle is firing its engines to leave.")
return
if(SHUTTLE_ESCAPE)
- user << "The emergency shuttle is moving away to a safe distance."
+ to_chat(user, "The emergency shuttle is moving away to a safe distance.")
return
if(SHUTTLE_STRANDED)
- user << "The emergency shuttle has been disabled by Centcom."
+ to_chat(user, "The emergency shuttle has been disabled by Centcom.")
return
call_reason = trim(html_encode(call_reason))
if(length(call_reason) < CALL_SHUTTLE_REASON_LENGTH && seclevel2num(get_security_level()) > SEC_LEVEL_GREEN)
- user << "You must provide a reason."
+ to_chat(user, "You must provide a reason.")
return
var/area/signal_origin = get_area(user)
@@ -368,7 +368,7 @@ var/datum/controller/subsystem/shuttle/SSshuttle
transit_width += M.height
transit_height += M.width
/*
- world << "The attempted transit dock will be [transit_width] width, and \
+ to_chat(world, "The attempted transit dock will be [transit_width] width, and \)
[transit_height] in height. The travel dir is [travel_dir]."
*/
@@ -398,17 +398,17 @@ var/datum/controller/subsystem/shuttle/SSshuttle
continue base
if(!(T.flags & UNUSED_TRANSIT_TURF))
continue base
- //world << "[COORD(topleft)] and [COORD(bottomright)]"
+ //to_chat(world, "[COORD(topleft)] and [COORD(bottomright)]")
break base
if((!proposed_zone) || (!proposed_zone.len))
return FALSE
var/turf/topleft = proposed_zone[1]
- //world << "[COORD(topleft)] is TOPLEFT"
+ //to_chat(world, "[COORD(topleft)] is TOPLEFT")
// Then create a transit docking port in the middle
var/coords = M.return_coords(0, 0, dock_dir)
- //world << json_encode(coords)
+ //to_chat(world, json_encode(coords))
/* 0------2
| |
| |
@@ -429,7 +429,7 @@ var/datum/controller/subsystem/shuttle/SSshuttle
var/turf/low_point = locate(lowx, lowy, topleft.z)
new /obj/effect/landmark/stationary(low_point)
- world << "Starting at the low point, we go [x2],[y2]"
+ to_chat(world, "Starting at the low point, we go [x2],[y2]")
*/
// Then invert the numbers
var/transit_x = topleft.x + SHUTTLE_TRANSIT_BORDER + abs(x2)
@@ -446,11 +446,11 @@ var/datum/controller/subsystem/shuttle/SSshuttle
if(WEST)
transit_path = /turf/open/space/transit/west
- //world << "Docking port at [transit_x], [transit_y], [topleft.z]"
+ //to_chat(world, "Docking port at [transit_x], [transit_y], [topleft.z]")
var/turf/midpoint = locate(transit_x, transit_y, topleft.z)
if(!midpoint)
return FALSE
- //world << "Making transit dock at [COORD(midpoint)]"
+ //to_chat(world, "Making transit dock at [COORD(midpoint)]")
var/area/shuttle/transit/A = new()
A.parallax_movedir = travel_dir
var/obj/docking_port/stationary/transit/new_transit_dock = new(midpoint)
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 55d778ad946..329196ebdda 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -62,7 +62,7 @@ var/datum/controller/subsystem/ticker/ticker
/datum/controller/subsystem/ticker/Initialize(timeofday)
var/list/music = file2list(ROUND_START_MUSIC_LIST, "\n")
login_music = pick(music)
-
+
if(!syndicate_code_phrase)
syndicate_code_phrase = generate_code_phrase()
if(!syndicate_code_response)
@@ -77,7 +77,7 @@ var/datum/controller/subsystem/ticker/ticker
start_at = world.time + (config.lobby_countdown * 10)
for(var/client/C in clients)
window_flash(C, ignorepref = TRUE) //let them know lobby has opened up.
- world << "Welcome to [station_name()]!"
+ to_chat(world, "Welcome to [station_name()]!")
current_state = GAME_STATE_PREGAME
fire()
if(GAME_STATE_PREGAME)
@@ -125,7 +125,7 @@ var/datum/controller/subsystem/ticker/ticker
declare_completion(force_ending)
/datum/controller/subsystem/ticker/proc/setup()
- world << "Starting game..."
+ to_chat(world, "Starting game...")
var/init_start = world.timeofday
//Create and announce mode
var/list/datum/game_mode/runnable_modes
@@ -143,14 +143,14 @@ var/datum/controller/subsystem/ticker/ticker
if(!mode)
if(!runnable_modes.len)
- world << "Unable to choose playable game mode. Reverting to pre-game lobby."
+ to_chat(world, "Unable to choose playable game mode. Reverting to pre-game lobby.")
return 0
mode = pickweight(runnable_modes)
else
mode = config.pick_mode(master_mode)
if(!mode.can_start())
- world << "Unable to start [mode.name]. Not enough players, [mode.required_players] players and [mode.required_enemies] eligible antagonists needed. Reverting to pre-game lobby."
+ to_chat(world, "Unable to start [mode.name]. Not enough players, [mode.required_players] players and [mode.required_enemies] eligible antagonists needed. Reverting to pre-game lobby.")
qdel(mode)
mode = null
SSjob.ResetOccupations()
@@ -168,7 +168,7 @@ var/datum/controller/subsystem/ticker/ticker
if(!can_continue)
qdel(mode)
mode = null
- world << "Error setting up [master_mode]. Reverting to pre-game lobby."
+ to_chat(world, "Error setting up [master_mode]. Reverting to pre-game lobby.")
SSjob.ResetOccupations()
return 0
else
@@ -180,8 +180,7 @@ var/datum/controller/subsystem/ticker/ticker
for (var/datum/game_mode/M in runnable_modes)
modes += M.name
modes = sortList(modes)
- world << "The gamemode is: secret!\n\
- Possibilities: [english_list(modes)]"
+ to_chat(world, "The gamemode is: secret!\nPossibilities: [english_list(modes)]")
else
mode.announce()
@@ -205,16 +204,16 @@ var/datum/controller/subsystem/ticker/ticker
log_world("Game start took [(world.timeofday - init_start)/10]s")
round_start_time = world.time
- world << "Welcome to [station_name()], enjoy your stay!"
+ to_chat(world, "Welcome to [station_name()], enjoy your stay!")
world << sound('sound/AI/welcome.ogg')
-
+
current_state = GAME_STATE_PLAYING
if(SSevent.holidays)
- world << "and..."
+ to_chat(world, "and...")
for(var/holidayname in SSevent.holidays)
var/datum/holiday/holiday = SSevent.holidays[holidayname]
- world << "[holiday.greet()]
"
+ to_chat(world, "[holiday.greet()]
")
PostSetup()
@@ -350,7 +349,7 @@ var/datum/controller/subsystem/ticker/ticker
if(mode)
mode.explosion_in_progress = 0
- world << "The station was destoyed by the nuclear blast!"
+ to_chat(world, "The station was destoyed by the nuclear blast!")
mode.station_was_nuked = (station_missed<2) //station_missed==1 is a draw. the station becomes irradiated and needs to be evacuated.
addtimer(CALLBACK(src, .proc/finish_cinematic, bombloc, actually_blew_up), 300)
@@ -393,7 +392,7 @@ var/datum/controller/subsystem/ticker/ticker
if(captainless)
for(var/mob/new_player/N in player_list)
if(N.new_character)
- N << "Captainship not forced on anyone."
+ to_chat(N, "Captainship not forced on anyone.")
CHECK_TICK
/datum/controller/subsystem/ticker/proc/transfer_characters()
@@ -404,7 +403,7 @@ var/datum/controller/subsystem/ticker/ticker
qdel(player)
living.notransform = TRUE
if(living.client)
- var/obj/screen/splash/S = new(living.client, TRUE)
+ var/obj/screen/splash/S = new(living.client, TRUE)
S.Fade(TRUE)
livings += living
if(livings.len)
@@ -413,7 +412,7 @@ var/datum/controller/subsystem/ticker/ticker
/datum/controller/subsystem/ticker/proc/release_characters(list/livings)
for(var/I in livings)
var/mob/living/L = I
- L.notransform = FALSE
+ L.notransform = FALSE
/datum/controller/subsystem/ticker/proc/declare_completion()
set waitfor = FALSE
@@ -422,7 +421,7 @@ var/datum/controller/subsystem/ticker/ticker
var/num_escapees = 0
var/num_shuttle_escapees = 0
- world << "
The round has ended."
+ to_chat(world, "
The round has ended.")
//Player status report
for(var/mob/Player in mob_list)
@@ -434,16 +433,16 @@ var/datum/controller/subsystem/ticker/ticker
if(SSshuttle && SSshuttle.emergency)
shuttle_area = SSshuttle.emergency.areaInstance
if(!Player.onCentcom() && !Player.onSyndieBase())
- Player << "You managed to survive, but were marooned on [station_name()]..."
+ to_chat(Player, "You managed to survive, but were marooned on [station_name()]...")
else
num_escapees++
- Player << "You managed to survive the events on [station_name()] as [Player.real_name]."
+ to_chat(Player, "You managed to survive the events on [station_name()] as [Player.real_name].")
if(get_area(Player) == shuttle_area)
num_shuttle_escapees++
else
- Player << "You managed to survive the events on [station_name()] as [Player.real_name]."
+ to_chat(Player, "You managed to survive the events on [station_name()] as [Player.real_name].")
else
- Player << "You did not survive the events on [station_name()]..."
+ to_chat(Player, "You did not survive the events on [station_name()]...")
CHECK_TICK
@@ -452,50 +451,50 @@ var/datum/controller/subsystem/ticker/ticker
end_state.count()
var/station_integrity = min(PERCENT(start_state.score(end_state)), 100)
- world << "
[TAB]Shift Duration: [round(world.time / 36000)]:[add_zero("[world.time / 600 % 60]", 2)]:[world.time / 100 % 6][world.time / 100 % 10]"
- world << "
[TAB]Station Integrity: [mode.station_was_nuked ? "Destroyed" : "[station_integrity]%"]"
+ to_chat(world, "
[TAB]Shift Duration: [round(world.time / 36000)]:[add_zero("[world.time / 600 % 60]", 2)]:[world.time / 100 % 6][world.time / 100 % 10]")
+ to_chat(world, "
[TAB]Station Integrity: [mode.station_was_nuked ? "Destroyed" : "[station_integrity]%"]")
if(mode.station_was_nuked)
ticker.news_report = STATION_DESTROYED_NUKE
var/total_players = joined_player_list.len
if(joined_player_list.len)
- world << "
[TAB]Total Population: [total_players]"
+ to_chat(world, "
[TAB]Total Population: [total_players]")
if(station_evacuated)
- world << "
[TAB]Evacuation Rate: [num_escapees] ([PERCENT(num_escapees/total_players)]%)"
- world << "
[TAB](on emergency shuttle): [num_shuttle_escapees] ([PERCENT(num_shuttle_escapees/total_players)]%)"
+ to_chat(world, "
[TAB]Evacuation Rate: [num_escapees] ([PERCENT(num_escapees/total_players)]%)")
+ to_chat(world, "
[TAB](on emergency shuttle): [num_shuttle_escapees] ([PERCENT(num_shuttle_escapees/total_players)]%)")
news_report = STATION_EVACUATED
if(SSshuttle.emergency.is_hijacked())
news_report = SHUTTLE_HIJACK
- world << "
[TAB]Survival Rate: [num_survivors] ([PERCENT(num_survivors/total_players)]%)"
- world << "
"
+ to_chat(world, "
[TAB]Survival Rate: [num_survivors] ([PERCENT(num_survivors/total_players)]%)")
+ to_chat(world, "
")
CHECK_TICK
//Silicon laws report
for (var/mob/living/silicon/ai/aiPlayer in mob_list)
if (aiPlayer.stat != 2 && aiPlayer.mind)
- world << "[aiPlayer.name] (Played by: [aiPlayer.mind.key])'s laws at the end of the round were:"
+ to_chat(world, "[aiPlayer.name] (Played by: [aiPlayer.mind.key])'s laws at the end of the round were:")
aiPlayer.show_laws(1)
else if (aiPlayer.mind) //if the dead ai has a mind, use its key instead
- world << "[aiPlayer.name] (Played by: [aiPlayer.mind.key])'s laws when it was deactivated were:"
+ to_chat(world, "[aiPlayer.name] (Played by: [aiPlayer.mind.key])'s laws when it was deactivated were:")
aiPlayer.show_laws(1)
- world << "Total law changes: [aiPlayer.law_change_counter]"
+ to_chat(world, "Total law changes: [aiPlayer.law_change_counter]")
if (aiPlayer.connected_robots.len)
var/robolist = "[aiPlayer.real_name]'s minions were: "
for(var/mob/living/silicon/robot/robo in aiPlayer.connected_robots)
if(robo.mind)
robolist += "[robo.name][robo.stat?" (Deactivated) (Played by: [robo.mind.key]), ":" (Played by: [robo.mind.key]), "]"
- world << "[robolist]"
+ to_chat(world, "[robolist]")
CHECK_TICK
for (var/mob/living/silicon/robot/robo in mob_list)
if (!robo.connected_ai && robo.mind)
if (robo.stat != 2)
- world << "[robo.name] (Played by: [robo.mind.key]) survived as an AI-less borg! Its laws were:"
+ to_chat(world, "[robo.name] (Played by: [robo.mind.key]) survived as an AI-less borg! Its laws were:")
else
- world << "[robo.name] (Played by: [robo.mind.key]) was unable to survive the rigors of being a cyborg without an AI. Its laws were:"
+ to_chat(world, "[robo.name] (Played by: [robo.mind.key]) was unable to survive the rigors of being a cyborg without an AI. Its laws were:")
if(robo) //How the hell do we lose robo between here and the world messages directly above this?
robo.laws.show_laws(world)
@@ -552,7 +551,7 @@ var/datum/controller/subsystem/ticker/ticker
else
borertext += "failed"
borertext += ")"
- world << borertext
+ to_chat(world, borertext)
var/total_borers = 0
for(var/mob/living/simple_animal/borer/B in borers)
@@ -567,12 +566,12 @@ var/datum/controller/subsystem/ticker/ticker
total_borer_hosts++
if(total_borer_hosts_needed <= total_borer_hosts)
borerwin = TRUE
- world << "There were [total_borers] borers alive at round end!"
- world << "A total of [total_borer_hosts] borers with hosts escaped on the shuttle alive. The borers needed [total_borer_hosts_needed] hosts to escape."
+ to_chat(world, "There were [total_borers] borers alive at round end!")
+ to_chat(world, "A total of [total_borer_hosts] borers with hosts escaped on the shuttle alive. The borers needed [total_borer_hosts_needed] hosts to escape.")
if(borerwin)
- world << "The borers were successful!"
+ to_chat(world, "The borers were successful!")
else
- world << "The borers have failed!"
+ to_chat(world, "The borers have failed!")
CHECK_TICK
@@ -618,8 +617,7 @@ var/datum/controller/subsystem/ticker/ticker
m = pick(memetips)
if(m)
- world << "Tip of the round: \
- [html_encode(m)]"
+ to_chat(world, "Tip of the round: [html_encode(m)]")
/datum/controller/subsystem/ticker/proc/check_queue()
if(!queued_players.len || !config.hard_popcap)
@@ -632,14 +630,14 @@ var/datum/controller/subsystem/ticker/ticker
if(5) //every 5 ticks check if there is a slot available
if(living_player_count() < config.hard_popcap)
if(next_in_line && next_in_line.client)
- next_in_line << "A slot has opened! You have approximately 20 seconds to join. \>\>Join Game\<\<"
+ to_chat(next_in_line, "A slot has opened! You have approximately 20 seconds to join. \>\>Join Game\<\<")
next_in_line << sound('sound/misc/notice1.ogg')
next_in_line.LateChoices()
return
queued_players -= next_in_line //Client disconnected, remove he
queue_delay = 0 //No vacancy: restart timer
if(25 to INFINITY) //No response from the next in line when a vacancy exists, remove he
- next_in_line << "No response recieved. You have been removed from the line."
+ to_chat(next_in_line, "No response recieved. You have been removed from the line.")
queued_players -= next_in_line
queue_delay = 0
@@ -760,4 +758,4 @@ var/datum/controller/subsystem/ticker/ticker
start_at = world.time + newtime
else
timeLeft = newtime
-
+
diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/voting.dm
index 831aefea5c0..fc3c32543eb 100644
--- a/code/controllers/subsystem/voting.dm
+++ b/code/controllers/subsystem/voting.dm
@@ -108,7 +108,7 @@ var/datum/controller/subsystem/vote/SSvote
text += "Vote Result: Inconclusive - No Votes!"
log_vote(text)
remove_action_buttons()
- world << "\n[text]"
+ to_chat(world, "\n[text]")
return .
/datum/controller/subsystem/vote/proc/result()
@@ -135,7 +135,7 @@ var/datum/controller/subsystem/vote/SSvote
if(!active_admins)
world.Reboot("Restart vote successful.", "end_error", "restart vote")
else
- world << "Notice:Restart vote will not restart the server automatically because there are active admins on."
+ to_chat(world, "Notice:Restart vote will not restart the server automatically because there are active admins on.")
message_admins("A restart vote has passed, but there are active admins on with +server, so it has been canceled. If you wish, you may restart the server.")
return .
@@ -156,7 +156,7 @@ var/datum/controller/subsystem/vote/SSvote
if(started_time)
var/next_allowed_time = (started_time + config.vote_delay)
if(mode)
- usr << "There is already a vote in progress! please wait for it to finish."
+ to_chat(usr, "There is already a vote in progress! please wait for it to finish.")
return 0
var/admin = FALSE
@@ -165,7 +165,7 @@ var/datum/controller/subsystem/vote/SSvote
admin = TRUE
if(next_allowed_time > world.time && !admin)
- usr << "A vote was initiated recently, you must wait roughly [(next_allowed_time-world.time)/10] seconds before a new vote can be started!"
+ to_chat(usr, "A vote was initiated recently, you must wait roughly [(next_allowed_time-world.time)/10] seconds before a new vote can be started!")
return 0
reset()
@@ -192,7 +192,7 @@ var/datum/controller/subsystem/vote/SSvote
if(mode == "custom")
text += "\n[question]"
log_vote(text)
- world << "\n[text]\nType vote or click here to place your votes.\nYou have [config.vote_period/10] seconds to vote."
+ to_chat(world, "\n[text]\nType vote or click here to place your votes.\nYou have [config.vote_period/10] seconds to vote.")
time_remaining = round(config.vote_period/10)
for(var/c in clients)
var/client/C = c
diff --git a/code/datums/action.dm b/code/datums/action.dm
index 78807e22d97..57ef56d8732 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -345,7 +345,7 @@
owner.research_scanner++
else
owner.research_scanner--
- owner << "[target] research scanner has been [active ? "activated" : "deactivated"]."
+ to_chat(owner, "[target] research scanner has been [active ? "activated" : "deactivated"].")
return 1
/datum/action/item_action/toggle_research_scanner/Remove(mob/M)
diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm
index 74c931b9e02..576d1080bb7 100644
--- a/code/datums/ai_laws.dm
+++ b/code/datums/ai_laws.dm
@@ -382,28 +382,28 @@
if (devillaws && devillaws.len) //Yes, devil laws go in FRONT of zeroth laws, as the devil must still obey it's ban/obligation.
for(var/i in devillaws)
- who << "666. [i]"
+ to_chat(who, "666. [i]")
if (zeroth)
- who << "0. [zeroth]"
+ to_chat(who, "0. [zeroth]")
for (var/index = 1, index <= ion.len, index++)
var/law = ion[index]
var/num = ionnum()
- who << "[num]. [law]"
+ to_chat(who, "[num]. [law]")
var/number = 1
for (var/index = 1, index <= inherent.len, index++)
var/law = inherent[index]
if (length(law) > 0)
- who << "[number]. [law]"
+ to_chat(who, "[number]. [law]")
number++
for (var/index = 1, index <= supplied.len, index++)
var/law = supplied[index]
if (length(law) > 0)
- who << "[number]. [law]"
+ to_chat(who, "[number]. [law]")
number++
/datum/ai_laws/proc/clear_zeroth_law(force) //only removes zeroth from antag ai if force is 1
diff --git a/code/datums/antagonists/antag_datum.dm b/code/datums/antagonists/antag_datum.dm
index 07109d242d1..cdad0920879 100644
--- a/code/datums/antagonists/antag_datum.dm
+++ b/code/datums/antagonists/antag_datum.dm
@@ -29,7 +29,7 @@
/datum/antagonist/proc/on_gain() //on initial gain of antag datum, do this. should only be called once per datum
apply_innate_effects()
if(!silent_update && some_flufftext)
- owner << some_flufftext
+ to_chat(owner, some_flufftext)
/datum/antagonist/proc/apply_innate_effects() //applies innate effects to the owner, may be called multiple times due to mind transferral, but should only be called once per mob
//antag huds would go here if antag huds were less completely unworkable as-is
diff --git a/code/datums/antagonists/datum_clockcult.dm b/code/datums/antagonists/datum_clockcult.dm
index f679b36daec..9680a8602e6 100644
--- a/code/datums/antagonists/datum_clockcult.dm
+++ b/code/datums/antagonists/datum_clockcult.dm
@@ -20,20 +20,20 @@
/datum/antagonist/clockcultist/give_to_body(mob/living/new_body)
if(!silent_update)
if(issilicon(new_body))
- new_body << "You are unable to compute this truth. Your vision glows a brilliant yellow, and all at once it comes to you. Ratvar, the Clockwork Justiciar, \
- lies in exile, derelict and forgotten in an unseen realm."
+ to_chat(new_body, "You are unable to compute this truth. Your vision glows a brilliant yellow, and all at once it comes to you. Ratvar, the Clockwork Justiciar, \
+ lies in exile, derelict and forgotten in an unseen realm.")
else
- new_body << "[iscarbon(new_body) ? "Your mind is racing! Your body feels incredibly light! ":""]Your world glows a brilliant yellow! All at once it comes to you. \
- Ratvar, the Clockwork Justiciar, lies in exile, derelict and forgotten in an unseen realm."
+ to_chat(new_body, "[iscarbon(new_body) ? "Your mind is racing! Your body feels incredibly light! ":""]Your world glows a brilliant yellow! All at once it comes to you. \
+ Ratvar, the Clockwork Justiciar, lies in exile, derelict and forgotten in an unseen realm.")
. = ..()
if(!silent_update && new_body)
if(.)
new_body.visible_message("[new_body]'s eyes glow a blazing yellow!")
- new_body << "Assist your new companions in their righteous efforts. Your goal is theirs, and theirs yours. You serve the Clockwork Justiciar above all else. \
- Perform his every whim without hesitation."
+ to_chat(new_body, "Assist your new companions in their righteous efforts. Your goal is theirs, and theirs yours. You serve the Clockwork Justiciar above all else. \
+ Perform his every whim without hesitation.")
else
new_body.visible_message("[new_body] seems to resist an unseen force!")
- new_body << "And yet, you somehow push it all away."
+ to_chat(new_body, "And yet, you somehow push it all away.")
/datum/antagonist/clockcultist/on_gain()
if(ticker && ticker.mode && owner.mind)
@@ -47,13 +47,13 @@
if(issilicon(owner))
var/mob/living/silicon/S = owner
if(iscyborg(S) && !silent_update)
- S << "You have been desynced from your master AI.\n\
- In addition, your onboard camera is no longer active and you have gained additional equipment, including a limited clockwork slab."
+ to_chat(S, "You have been desynced from your master AI.\n\
+ In addition, your onboard camera is no longer active and you have gained additional equipment, including a limited clockwork slab.")
if(isAI(S))
- S << "You are able to use your cameras to listen in on conversations."
- S << "You can communicate with other servants by using the Hierophant Network action button in the upper left."
+ to_chat(S, "You are able to use your cameras to listen in on conversations.")
+ to_chat(S, "You can communicate with other servants by using the Hierophant Network action button in the upper left.")
else if(isbrain(owner) || isclockmob(owner))
- owner << "You can communicate with other servants by using the Hierophant Network action button in the upper left."
+ to_chat(owner, "You can communicate with other servants by using the Hierophant Network action button in the upper left.")
..()
if(istype(ticker.mode, /datum/game_mode/clockwork_cult))
var/datum/game_mode/clockwork_cult/C = ticker.mode
@@ -89,7 +89,7 @@
R.visible_message("[R]'s eyes glow a blazing yellow!", \
"Assist your new companions in their righteous efforts. Your goal is theirs, and theirs yours. You serve the Clockwork Justiciar above all else. Perform his every \
whim without hesitation.")
- R << "Your onboard camera is no longer active and you have gained additional equipment, including a limited clockwork slab."
+ to_chat(R, "Your onboard camera is no longer active and you have gained additional equipment, including a limited clockwork slab.")
add_servant_of_ratvar(R, TRUE)
S.laws = new/datum/ai_laws/ratvar
S.laws.associate(S)
@@ -156,5 +156,5 @@
owner.mind.special_role = null
owner.log_message("Has renounced the cult of Ratvar!", INDIVIDUAL_ATTACK_LOG)
if(iscyborg(owner))
- owner << "Despite your freedom from Ratvar's influence, you are still irreparably damaged and no longer possess certain functions such as AI linking."
+ to_chat(owner, "Despite your freedom from Ratvar's influence, you are still irreparably damaged and no longer possess certain functions such as AI linking.")
..()
diff --git a/code/datums/antagonists/datum_cult.dm b/code/datums/antagonists/datum_cult.dm
index 06ecdce7709..031de6776b2 100644
--- a/code/datums/antagonists/datum_cult.dm
+++ b/code/datums/antagonists/datum_cult.dm
@@ -43,7 +43,7 @@
if(ticker && ticker.mode)
ticker.mode.cult -= owner.mind
ticker.mode.update_cult_icons_removed(owner.mind)
- owner << "An unfamiliar white light flashes through your mind, cleansing the taint of the Dark One and all your memories as its servant."
+ to_chat(owner, "An unfamiliar white light flashes through your mind, cleansing the taint of the Dark One and all your memories as its servant.")
owner.log_message("Has renounced the cult of Nar'Sie!", INDIVIDUAL_ATTACK_LOG)
if(!silent_update)
owner.visible_message("[owner] looks like [owner.p_they()] just reverted to their old faith!")
diff --git a/code/datums/browser.dm b/code/datums/browser.dm
index d23eae989a6..c30836f198e 100644
--- a/code/datums/browser.dm
+++ b/code/datums/browser.dm
@@ -249,7 +249,7 @@
winset(user, windowid, "on-close=\".windowclose [param]\"")
- //world << "OnClose [user]: [windowid] : ["on-close=\".windowclose [param]\""]"
+ //to_chat(world, "OnClose [user]: [windowid] : ["on-close=\".windowclose [param]\""]")
// the on-close client verb
@@ -261,12 +261,12 @@
set hidden = 1 // hide this verb from the user's panel
set name = ".windowclose" // no autocomplete on cmd line
- //world << "windowclose: [atomref]"
+ //to_chat(world, "windowclose: [atomref]")
if(atomref!="null") // if passed a real atomref
var/hsrc = locate(atomref) // find the reffed atom
var/href = "close=1"
if(hsrc)
- //world << "[src] Topic [href] [hsrc]"
+ //to_chat(world, "[src] Topic [href] [hsrc]")
usr = src.mob
src.Topic(href, params2list(href), hsrc) // this will direct to the atom's
return // Topic() proc via client.Topic()
@@ -274,6 +274,6 @@
// no atomref specified (or not found)
// so just reset the user mob's machine var
if(src && src.mob)
- //world << "[src] was [src.mob.machine], setting to null"
+ //to_chat(world, "[src] was [src.mob.machine], setting to null")
src.mob.unset_machine()
return
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index 667e68db4bc..591122003bc 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -37,7 +37,7 @@
var/static/cookieoffset = rand(1, 9999) //to force cookies to reset after the round.
if(!usr.client || !usr.client.holder)
- usr << "You need to be an administrator to access this."
+ to_chat(usr, "You need to be an administrator to access this.")
return
if(!D)
@@ -482,7 +482,7 @@
var/mob/M = locate(href_list["mob_player_panel"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
src.holder.show_player_panel(M)
@@ -494,7 +494,7 @@
var/mob/M = locate(href_list["godmode"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
src.cmd_admin_godmode(M)
@@ -506,7 +506,7 @@
var/datum/D = locate(href_list["mark_object"])
if(!istype(D))
- usr << "This can only be done to instances of type /datum"
+ to_chat(usr, "This can only be done to instances of type /datum")
return
src.holder.marked_datum = D
@@ -527,7 +527,7 @@
var/mob/M = locate(href_list["regenerateicons"])
if(!ismob(M))
- usr << "This can only be done to instances of type /mob"
+ to_chat(usr, "This can only be done to instances of type /mob")
return
M.regenerate_icons()
@@ -544,7 +544,7 @@
var/mob/M = locate(href_list["rename"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
var/new_name = stripped_input(usr,"What would you like to name this mob?","Input a name",M.real_name,MAX_NAME_LEN)
@@ -561,7 +561,7 @@
var/D = locate(href_list["datumedit"])
if(!istype(D,/datum))
- usr << "This can only be used on datums"
+ to_chat(usr, "This can only be used on datums")
return
modify_variables(D, href_list["varnameedit"], 1)
@@ -572,7 +572,7 @@
var/D = locate(href_list["datumchange"])
if(!istype(D,/datum))
- usr << "This can only be used on datums"
+ to_chat(usr, "This can only be used on datums")
return
modify_variables(D, href_list["varnamechange"], 0)
@@ -583,7 +583,7 @@
var/datum/D = locate(href_list["datummass"])
if(!istype(D))
- usr << "This can only be used on instances of type /datum"
+ to_chat(usr, "This can only be used on instances of type /datum")
return
cmd_mass_modify_object_variables(D, href_list["varnamemass"])
@@ -595,7 +595,7 @@
var/list/L = locate(href_list["listedit"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
mod_list(L, null, "list", "contents", index, autodetect_class = TRUE)
@@ -607,7 +607,7 @@
var/list/L = locate(href_list["listchange"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
mod_list(L, null, "list", "contents", index, autodetect_class = FALSE)
@@ -619,7 +619,7 @@
var/list/L = locate(href_list["listremove"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
var/variable = L[index]
@@ -634,7 +634,7 @@
else if(href_list["listadd"])
var/list/L = locate(href_list["listadd"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
mod_list_add(L, null, "list", "contents")
@@ -642,7 +642,7 @@
else if(href_list["listdupes"])
var/list/L = locate(href_list["listdupes"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
uniqueList_inplace(L)
@@ -653,7 +653,7 @@
else if(href_list["listnulls"])
var/list/L = locate(href_list["listnulls"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
listclearnulls(L)
@@ -664,7 +664,7 @@
else if(href_list["listlen"])
var/list/L = locate(href_list["listlen"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
var/value = vv_get_value(VV_NUM)
if (value["class"] != VV_NUM)
@@ -678,7 +678,7 @@
else if(href_list["listshuffle"])
var/list/L = locate(href_list["listshuffle"])
if (!istype(L))
- usr << "This can only be used on instances of type /list"
+ to_chat(usr, "This can only be used on instances of type /list")
return
shuffle_inplace(L)
@@ -692,7 +692,7 @@
var/mob/M = locate(href_list["give_spell"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
src.give_spell(M)
@@ -704,7 +704,7 @@
var/mob/M = locate(href_list["remove_spell"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
remove_spell(M)
@@ -716,7 +716,7 @@
var/mob/M = locate(href_list["give_disease"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
src.give_disease(M)
@@ -728,7 +728,7 @@
var/mob/M = locate(href_list["ninja"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
src.cmd_admin_ninjafy(M)
@@ -740,7 +740,7 @@
var/mob/M = locate(href_list["gib"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
src.cmd_admin_gib(M)
@@ -751,7 +751,7 @@
var/mob/M = locate(href_list["build_mode"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
togglebuildmode(M)
@@ -763,7 +763,7 @@
var/mob/M = locate(href_list["drop_everything"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
if(usr.client)
@@ -775,7 +775,7 @@
var/mob/M = locate(href_list["direct_control"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
if(usr.client)
@@ -787,7 +787,7 @@
var/mob/M = locate(href_list["offer_control"])
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
offer_control(M)
@@ -797,7 +797,7 @@
var/obj/O = locate(href_list["delall"])
if(!isobj(O))
- usr << "This can only be used on instances of type /obj"
+ to_chat(usr, "This can only be used on instances of type /obj")
return
var/action_type = alert("Strict type ([O.type]) or type and all subtypes?",,"Strict type","Type and subtypes","Cancel")
@@ -820,7 +820,7 @@
qdel(Obj)
CHECK_TICK
if(!i)
- usr << "No objects of this type exist"
+ to_chat(usr, "No objects of this type exist")
return
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")
message_admins("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")
@@ -832,7 +832,7 @@
qdel(Obj)
CHECK_TICK
if(!i)
- usr << "No objects of this type exist"
+ to_chat(usr, "No objects of this type exist")
return
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
message_admins("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
@@ -862,7 +862,7 @@
if(ID == chosen_id)
valid_id = 1
if(!valid_id)
- usr << "A reagent with that ID doesn't exist!"
+ to_chat(usr, "A reagent with that ID doesn't exist!")
if("Choose ID")
chosen_id = input(usr, "Choose a reagent to add.", "Choose a reagent.") as null|anything in reagent_options
if(chosen_id)
@@ -880,7 +880,7 @@
var/atom/A = locate(href_list["explode"])
if(!isobj(A) && !ismob(A) && !isturf(A))
- usr << "This can only be done to instances of type /obj, /mob and /turf"
+ to_chat(usr, "This can only be done to instances of type /obj, /mob and /turf")
return
src.cmd_admin_explosion(A)
@@ -892,7 +892,7 @@
var/atom/A = locate(href_list["emp"])
if(!isobj(A) && !ismob(A) && !isturf(A))
- usr << "This can only be done to instances of type /obj, /mob and /turf"
+ to_chat(usr, "This can only be done to instances of type /obj, /mob and /turf")
return
src.cmd_admin_emp(A)
@@ -904,7 +904,7 @@
var/atom/A = locate(href_list["rotatedatum"])
if(!istype(A))
- usr << "This can only be done to instances of type /atom"
+ to_chat(usr, "This can only be done to instances of type /atom")
return
switch(href_list["rotatedir"])
@@ -920,7 +920,7 @@
var/mob/living/carbon/C = locate(href_list["editorgans"])
if(!istype(C))
- usr << "This can only be done to instances of type /mob/living/carbon"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon")
return
manipulate_organs(C)
@@ -932,13 +932,13 @@
var/mob/living/carbon/monkey/Mo = locate(href_list["makehuman"])
if(!istype(Mo))
- usr << "This can only be done to instances of type /mob/living/carbon/monkey"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/monkey")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform")
return
if(!Mo)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("humanone"=href_list["makehuman"]))
@@ -948,13 +948,13 @@
var/mob/living/carbon/human/H = locate(href_list["makemonkey"])
if(!istype(H))
- usr << "This can only be done to instances of type /mob/living/carbon/human"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform")
return
if(!H)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("monkeyone"=href_list["makemonkey"]))
@@ -964,13 +964,13 @@
var/mob/living/carbon/human/H = locate(href_list["makerobot"])
if(!istype(H))
- usr << "This can only be done to instances of type /mob/living/carbon/human"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform")
return
if(!H)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makerobot"=href_list["makerobot"]))
@@ -980,13 +980,13 @@
var/mob/living/carbon/human/H = locate(href_list["makealien"])
if(!istype(H))
- usr << "This can only be done to instances of type /mob/living/carbon/human"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform")
return
if(!H)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makealien"=href_list["makealien"]))
@@ -996,13 +996,13 @@
var/mob/living/carbon/human/H = locate(href_list["makeslime"])
if(!istype(H))
- usr << "This can only be done to instances of type /mob/living/carbon/human"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform")
return
if(!H)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makeslime"=href_list["makeslime"]))
@@ -1012,13 +1012,13 @@
var/mob/living/carbon/H = locate(href_list["makeai"])
if(!istype(H))
- usr << "This can only be done to instances of type /mob/living/carbon"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon")
return
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform")
return
if(!H)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
holder.Topic(href, list("makeai"=href_list["makeai"]))
@@ -1028,13 +1028,13 @@
var/mob/living/carbon/human/H = locate(href_list["setspecies"])
if(!istype(H))
- usr << "This can only be done to instances of type /mob/living/carbon/human"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
var/result = input(usr, "Please choose a new species","Species") as null|anything in species_list
if(!H)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
if(result)
@@ -1047,7 +1047,7 @@
var/mob/living/carbon/C = locate(href_list["editbodypart"])
if(!istype(C))
- usr << "This can only be done to instances of type /mob/living/carbon"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon")
return
var/edit_action = input(usr, "What would you like to do?","Modify Body Part") as null|anything in list("add","remove", "augment")
@@ -1059,7 +1059,7 @@
var/result = input(usr, "Please choose which body part to [edit_action]","[capitalize(edit_action)] Body Part") as null|anything in limb_list
if(!C)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
if(result)
@@ -1069,21 +1069,21 @@
if(BP)
BP.drop_limb()
else
- usr << "[C] doesn't have such bodypart."
+ to_chat(usr, "[C] doesn't have such bodypart.")
if("add")
if(BP)
- usr << "[C] already has such bodypart."
+ to_chat(usr, "[C] already has such bodypart.")
else
if(!C.regenerate_limb(result))
- usr << "[C] cannot have such bodypart."
+ to_chat(usr, "[C] cannot have such bodypart.")
if("augment")
if(ishuman(C))
if(BP)
BP.change_bodypart_status(BODYPART_ROBOTIC, 1)
else
- usr << "[C] doesn't have such bodypart."
+ to_chat(usr, "[C] doesn't have such bodypart.")
else
- usr << "Only humans can be augmented."
+ to_chat(usr, "Only humans can be augmented.")
@@ -1093,25 +1093,24 @@
var/mob/living/carbon/human/H = locate(href_list["purrbation"])
if(!istype(H))
- usr << "This can only be done to instances of type /mob/living/carbon/human"
+ to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
if(!ishumanbasic(H))
- usr << "This can only be done to the basic human species \
- at the moment."
+ to_chat(usr, "This can only be done to the basic human species at the moment.")
return
if(!H)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
var/success = purrbation_toggle(H)
if(success)
- usr << "Put [H] on purrbation."
+ to_chat(usr, "Put [H] on purrbation.")
log_admin("[key_name(usr)] has put [key_name(H)] on purrbation.")
message_admins("[key_name(usr)] has put [key_name(H)] on purrbation.")
else
- usr << "Removed [H] from purrbation."
+ to_chat(usr, "Removed [H] from purrbation.")
log_admin("[key_name(usr)] has removed [key_name(H)] from purrbation.")
message_admins("[key_name(usr)] has removed [key_name(H)] from purrbation.")
@@ -1128,7 +1127,7 @@
var/amount = input("Deal how much damage to mob? (Negative values here heal)","Adjust [Text]loss",0) as num
if(!L)
- usr << "Mob doesn't exist anymore"
+ to_chat(usr, "Mob doesn't exist anymore")
return
switch(Text)
@@ -1147,7 +1146,7 @@
if("stamina")
L.adjustStaminaLoss(amount)
else
- usr << "You caused an error. DEBUG: Text:[Text] Mob:[L]"
+ to_chat(usr, "You caused an error. DEBUG: Text:[Text] Mob:[L]")
return
if(amount != 0)
diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm
index 83e637c77ef..bc953d1aa41 100644
--- a/code/datums/diseases/advance/advance.dm
+++ b/code/datums/diseases/advance/advance.dm
@@ -163,7 +163,7 @@ var/list/advance_cures = list(
return generated
/datum/disease/advance/proc/Refresh(new_name = 0)
- //world << "[src.name] \ref[src] - REFRESH!"
+ //to_chat(world, "[src.name] \ref[src] - REFRESH!")
GenerateProperties()
AssignProperties()
id = null
@@ -255,7 +255,7 @@ var/list/advance_cures = list(
/datum/disease/advance/proc/GenerateCure()
if(properties && properties.len)
var/res = Clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len)
- //world << "Res = [res]"
+ //to_chat(world, "Res = [res]")
cures = list(advance_cures[res])
// Get the cure name from the cure_id
@@ -327,7 +327,7 @@ var/list/advance_cures = list(
// Mix a list of advance diseases and return the mixed result.
/proc/Advance_Mix(var/list/D_list)
- //world << "Mixing!!!!"
+ //to_chat(world, "Mixing!!!!")
var/list/diseases = list()
@@ -352,7 +352,7 @@ var/list/advance_cures = list(
D2.Mix(D1)
// Should be only 1 entry left, but if not let's only return a single entry
- //world << "END MIXING!!!!!"
+ //to_chat(world, "END MIXING!!!!!")
var/datum/disease/advance/to_return = pick(diseases)
to_return.Refresh(1)
return to_return
@@ -421,7 +421,7 @@ var/list/advance_cures = list(
/mob/verb/test()
for(var/datum/disease/D in SSdisease.processing)
- src << "[D.name] - [D.holder]"
+ to_chat(src, "[D.name] - [D.holder]")
*/
diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm
index 3c26bcd4d65..d632bb865ad 100644
--- a/code/datums/diseases/advance/symptoms/beard.dm
+++ b/code/datums/diseases/advance/symptoms/beard.dm
@@ -32,17 +32,17 @@ BONUS
var/mob/living/carbon/human/H = M
switch(A.stage)
if(1, 2)
- H << "Your chin itches."
+ to_chat(H, "Your chin itches.")
if(H.facial_hair_style == "Shaved")
H.facial_hair_style = "Jensen Beard"
H.update_hair()
if(3, 4)
- H << "You feel tough."
+ to_chat(H, "You feel tough.")
if(!(H.facial_hair_style == "Dwarf Beard") && !(H.facial_hair_style == "Very Long Beard") && !(H.facial_hair_style == "Full Beard"))
H.facial_hair_style = "Full Beard"
H.update_hair()
else
- H << "You feel manly!"
+ to_chat(H, "You feel manly!")
if(!(H.facial_hair_style == "Dwarf Beard") && !(H.facial_hair_style == "Very Long Beard"))
H.facial_hair_style = pick("Dwarf Beard", "Very Long Beard")
H.update_hair()
diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm
index 004effc7665..4bd72713cc2 100644
--- a/code/datums/diseases/advance/symptoms/choking.dm
+++ b/code/datums/diseases/advance/symptoms/choking.dm
@@ -31,13 +31,13 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
- M << "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]"
+ to_chat(M, "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]")
if(3, 4)
- M << "[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]"
+ to_chat(M, "[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]")
Choke_stage_3_4(M, A)
M.emote("gasp")
else
- M << "[pick("You're choking!", "You can't breathe!")]"
+ to_chat(M, "[pick("You're choking!", "You can't breathe!")]")
Choke(M, A)
M.emote("gasp")
return
@@ -85,11 +85,11 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(3, 4)
- M << "[pick("Your windpipe feels thin.", "Your lungs feel small.")]"
+ to_chat(M, "[pick("Your windpipe feels thin.", "Your lungs feel small.")]")
Asphyxiate_stage_3_4(M, A)
M.emote("gasp")
else
- M << "[pick("Your lungs hurt!", "It hurts to breathe!")]"
+ to_chat(M, "[pick("Your lungs hurt!", "It hurts to breathe!")]")
Asphyxiate(M, A)
M.emote("gasp")
if(M.getOxyLoss() >= 120)
diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm
index 7625668369c..26341ac04c6 100644
--- a/code/datums/diseases/advance/symptoms/confusion.dm
+++ b/code/datums/diseases/advance/symptoms/confusion.dm
@@ -32,9 +32,9 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- M << "[pick("Your head hurts.", "Your mind blanks for a moment.")]"
+ to_chat(M, "[pick("Your head hurts.", "Your mind blanks for a moment.")]")
else
- M << "You can't think straight!"
+ to_chat(M, "You can't think straight!")
M.confused = min(100, M.confused + 8)
return
diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm
index aa6db2d86ba..ddc2fe90a73 100644
--- a/code/datums/diseases/advance/symptoms/cough.dm
+++ b/code/datums/diseases/advance/symptoms/cough.dm
@@ -31,7 +31,7 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3)
- M << "[pick("You swallow excess mucus.", "You lightly cough.")]"
+ to_chat(M, "[pick("You swallow excess mucus.", "You lightly cough.")]")
else
M.emote("cough")
var/obj/item/I = M.get_active_held_item()
diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm
index ffa6e111dd0..b6729175a99 100644
--- a/code/datums/diseases/advance/symptoms/deafness.dm
+++ b/code/datums/diseases/advance/symptoms/deafness.dm
@@ -31,14 +31,14 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(3, 4)
- M << "[pick("You hear a ringing in your ear.", "Your ears pop.")]"
+ to_chat(M, "[pick("You hear a ringing in your ear.", "Your ears pop.")]")
if(5)
if(!(M.ear_deaf))
- M << "Your ears pop and begin ringing loudly!"
+ to_chat(M, "Your ears pop and begin ringing loudly!")
M.setEarDamage(-1,INFINITY) //Shall be enough
addtimer(CALLBACK(src, .proc/Undeafen, M), 200)
/datum/symptom/deafness/proc/Undeafen(mob/living/M)
if(M)
- M << "The ringing in your ears fades..."
+ to_chat(M, "The ringing in your ears fades...")
M.setEarDamage(-1,0)
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm
index b3ce85d638c..2075b3dfa39 100644
--- a/code/datums/diseases/advance/symptoms/dizzy.dm
+++ b/code/datums/diseases/advance/symptoms/dizzy.dm
@@ -31,8 +31,8 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- M << "[pick("You feel dizzy.", "Your head spins.")]"
+ to_chat(M, "[pick("You feel dizzy.", "Your head spins.")]")
else
- M << "A wave of dizziness washes over you!"
+ to_chat(M, "A wave of dizziness washes over you!")
M.Dizzy(5)
return
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm
index b018e8f34e3..b0947f3ff9d 100644
--- a/code/datums/diseases/advance/symptoms/fever.dm
+++ b/code/datums/diseases/advance/symptoms/fever.dm
@@ -29,7 +29,7 @@ Bonus
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/carbon/M = A.affected_mob
- M << "[pick("You feel hot.", "You feel like you're burning.")]"
+ to_chat(M, "[pick("You feel hot.", "You feel like you're burning.")]")
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
Heat(M, A)
diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm
index 54078fd2560..949d2f5f0f4 100644
--- a/code/datums/diseases/advance/symptoms/fire.dm
+++ b/code/datums/diseases/advance/symptoms/fire.dm
@@ -31,16 +31,16 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(3)
- M << "[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]"
+ to_chat(M, "[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]")
if(4)
Firestacks_stage_4(M, A)
M.IgniteMob()
- M << "Your skin bursts into flames!"
+ to_chat(M, "Your skin bursts into flames!")
M.emote("scream")
if(5)
Firestacks_stage_5(M, A)
M.IgniteMob()
- M << "Your skin erupts into an inferno!"
+ to_chat(M, "Your skin erupts into an inferno!")
M.emote("scream")
return
@@ -90,16 +90,16 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(3)
- M << "[pick("Your veins boil.", "You feel hot.", "You smell meat cooking.")]"
+ to_chat(M, "[pick("Your veins boil.", "You feel hot.", "You smell meat cooking.")]")
if(4)
Alkali_fire_stage_4(M, A)
M.IgniteMob()
- M << "Your sweat bursts into flames!"
+ to_chat(M, "Your sweat bursts into flames!")
M.emote("scream")
if(5)
Alkali_fire_stage_5(M, A)
M.IgniteMob()
- M << "Your skin erupts into an inferno!"
+ to_chat(M, "Your skin erupts into an inferno!")
M.emote("scream")
if(M.fire_stacks < 0)
M.visible_message("[M]'s sweat sizzles and pops on contact with water!")
diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm
index 77904433cfb..e386ce6ccb9 100644
--- a/code/datums/diseases/advance/symptoms/flesh_eating.dm
+++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm
@@ -31,9 +31,9 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(2,3)
- M << "[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]"
+ to_chat(M, "[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]")
if(4,5)
- M << "[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]"
+ to_chat(M, "[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]")
Flesheat(M, A)
return
@@ -75,9 +75,9 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(2,3)
- M << "[pick("You feel your body break apart.", "Your skin rubs off like dust.")]"
+ to_chat(M, "[pick("You feel your body break apart.", "Your skin rubs off like dust.")]")
if(4,5)
- M << "[pick("You feel your muscles weakening.", "Your skin begins detaching itself.", "You feel sandy.")]"
+ to_chat(M, "[pick("You feel your muscles weakening.", "Your skin begins detaching itself.", "You feel sandy.")]")
Flesh_death(M, A)
return
diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm
index 794c0dbecfa..14b1d807ab6 100644
--- a/code/datums/diseases/advance/symptoms/genetics.dm
+++ b/code/datums/diseases/advance/symptoms/genetics.dm
@@ -35,7 +35,7 @@ Bonus
return
switch(A.stage)
if(4, 5)
- C << "[pick("Your skin feels itchy.", "You feel light headed.")]"
+ to_chat(C, "[pick("Your skin feels itchy.", "You feel light headed.")]")
C.dna.remove_mutation_group(possible_mutations)
C.randmut(possible_mutations)
return
diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm
index cd1633d51b0..089181834a4 100644
--- a/code/datums/diseases/advance/symptoms/hallucigen.dm
+++ b/code/datums/diseases/advance/symptoms/hallucigen.dm
@@ -31,11 +31,11 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2)
- M << "[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whispher with no source.", "Your head aches.")]"
+ to_chat(M, "[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whispher with no source.", "Your head aches.")]")
if(3, 4)
- M << "[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]"
+ to_chat(M, "[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]")
else
- M << "[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]"
+ to_chat(M, "[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]")
M.hallucination += 25
return
diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm
index 3df65969eaa..62db304b5d9 100644
--- a/code/datums/diseases/advance/symptoms/headache.dm
+++ b/code/datums/diseases/advance/symptoms/headache.dm
@@ -30,5 +30,5 @@ BONUS
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/M = A.affected_mob
- M << "[pick("Your head hurts.", "Your head starts pounding.")]"
+ to_chat(M, "[pick("Your head hurts.", "Your head starts pounding.")]")
return
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm
index 559468a6f66..06ccc0a2ad1 100644
--- a/code/datums/diseases/advance/symptoms/itching.dm
+++ b/code/datums/diseases/advance/symptoms/itching.dm
@@ -30,5 +30,5 @@ BONUS
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/M = A.affected_mob
- M << "Your [pick("back", "arm", "leg", "elbow", "head")] itches."
+ to_chat(M, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.")
return
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm
index beafb17029e..3231cffdf3e 100644
--- a/code/datums/diseases/advance/symptoms/oxygen.dm
+++ b/code/datums/diseases/advance/symptoms/oxygen.dm
@@ -34,5 +34,5 @@ Bonus
M.losebreath -= 2
else
if(prob(SYMPTOM_ACTIVATION_PROB * 3))
- M << "[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]"
+ to_chat(M, "[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]")
return
diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm
index 7536b11ca80..536184c766d 100644
--- a/code/datums/diseases/advance/symptoms/sensory.dm
+++ b/code/datums/diseases/advance/symptoms/sensory.dm
@@ -87,19 +87,19 @@ Bonus
if(prob(SYMPTOM_ACTIVATION_PROB))
switch(A.stage)
if(1)
- M << "You can't feel anything."
+ to_chat(M, "You can't feel anything.")
if(2)
- M << "You feel absolutely hammered."
+ to_chat(M, "You feel absolutely hammered.")
if(prob(10))
sleepy_ticks += rand(10,14)
if(3)
M.reagents.add_reagent("ethanol",rand(5,7))
- M << "You try to focus on not dying."
+ to_chat(M, "You try to focus on not dying.")
if(prob(15))
sleepy_ticks += rand(10,14)
if(4)
M.reagents.add_reagent("ethanol",rand(6,10))
- M << "u can count 2 potato!"
+ to_chat(M, "u can count 2 potato!")
if(prob(20))
sleepy_ticks += rand(10,14)
if(5)
@@ -122,7 +122,7 @@ Bonus
switch(sleepy) //Works like morphine
if(11)
- M << "You start to feel tired..."
+ to_chat(M, "You start to feel tired...")
if(12 to 24)
M.drowsyness += 1
if(24 to INFINITY)
diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm
index 4d00aba8a81..a04382c75c7 100644
--- a/code/datums/diseases/advance/symptoms/shedding.dm
+++ b/code/datums/diseases/advance/symptoms/shedding.dm
@@ -28,17 +28,17 @@ BONUS
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/M = A.affected_mob
- M << "[pick("Your scalp itches.", "Your skin feels flakey.")]"
+ to_chat(M, "[pick("Your scalp itches.", "Your skin feels flakey.")]")
if(ishuman(M))
var/mob/living/carbon/human/H = M
switch(A.stage)
if(3, 4)
if(!(H.hair_style == "Bald") && !(H.hair_style == "Balding Hair"))
- H << "Your hair starts to fall out in clumps..."
+ to_chat(H, "Your hair starts to fall out in clumps...")
addtimer(CALLBACK(src, .proc/Shed, H, FALSE), 50)
if(5)
if(!(H.facial_hair_style == "Shaved") || !(H.hair_style == "Bald"))
- H << "Your hair starts to fall out in clumps..."
+ to_chat(H, "Your hair starts to fall out in clumps...")
addtimer(CALLBACK(src, .proc/Shed, H, TRUE), 50)
/datum/symptom/shedding/proc/Shed(mob/living/carbon/human/H, fullbald)
diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm
index efa8465e45f..9257cf99756 100644
--- a/code/datums/diseases/advance/symptoms/shivering.dm
+++ b/code/datums/diseases/advance/symptoms/shivering.dm
@@ -29,7 +29,7 @@ Bonus
..()
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/carbon/M = A.affected_mob
- M << "[pick("You feel cold.", "You start shivering.")]"
+ to_chat(M, "[pick("You feel cold.", "You start shivering.")]")
if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)
Chill(M, A)
return
diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm
index 7c409f00d1d..3f75ad51969 100644
--- a/code/datums/diseases/advance/symptoms/viral.dm
+++ b/code/datums/diseases/advance/symptoms/viral.dm
@@ -27,9 +27,9 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1)
- M << "You feel off, but no different from before."
+ to_chat(M, "You feel off, but no different from before.")
if(5)
- M << "You feel better, but nothing interesting happens."
+ to_chat(M, "You feel better, but nothing interesting happens.")
/*
//////////////////////////////////////
@@ -60,9 +60,9 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1)
- M << "You feel better, but no different from before."
+ to_chat(M, "You feel better, but no different from before.")
if(5)
- M << "You feel off, but nothing interesting happens."
+ to_chat(M, "You feel off, but nothing interesting happens.")
/*
//////////////////////////////////////
diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm
index d2f1dab5c71..2ef37efe0ed 100644
--- a/code/datums/diseases/advance/symptoms/vision.dm
+++ b/code/datums/diseases/advance/symptoms/vision.dm
@@ -31,20 +31,20 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
- M << "Your eyes itch."
+ to_chat(M, "Your eyes itch.")
if(3, 4)
- M << "Your eyes burn!"
+ to_chat(M, "Your eyes burn!")
M.blur_eyes(10)
M.adjust_eye_damage(1)
else
- M << "Your eyes burn horrificly!"
+ to_chat(M, "Your eyes burn horrificly!")
M.blur_eyes(20)
M.adjust_eye_damage(5)
if(M.eye_damage >= 10)
M.become_nearsighted()
if(prob(M.eye_damage - 10 + 1))
if(M.become_blind())
- M << "You go blind!"
+ to_chat(M, "You go blind!")
/*
@@ -80,13 +80,13 @@ Bonus
if(4, 5) //basically oculine
if(M.disabilities & BLIND)
if(prob(20))
- M << "Your vision slowly returns..."
+ to_chat(M, "Your vision slowly returns...")
M.cure_blind()
M.cure_nearsighted()
M.blur_eyes(35)
else if(M.disabilities & NEARSIGHT)
- M << "The blackness in your peripheral vision fades."
+ to_chat(M, "The blackness in your peripheral vision fades.")
M.cure_nearsighted()
M.blur_eyes(10)
@@ -97,5 +97,5 @@ Bonus
M.adjust_eye_damage(-1)
else
if(prob(SYMPTOM_ACTIVATION_PROB * 3))
- M << "[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]"
+ to_chat(M, "[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]")
return
diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm
index 1ba31f357ba..e1b6117eda3 100644
--- a/code/datums/diseases/advance/symptoms/voice_change.dm
+++ b/code/datums/diseases/advance/symptoms/voice_change.dm
@@ -32,7 +32,7 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- M << "[pick("Your throat hurts.", "You clear your throat.")]"
+ to_chat(M, "[pick("Your throat hurts.", "You clear your throat.")]")
else
if(ishuman(M))
var/mob/living/carbon/human/H = M
diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm
index c9430a914f8..9407c95d5ba 100644
--- a/code/datums/diseases/advance/symptoms/vomit.dm
+++ b/code/datums/diseases/advance/symptoms/vomit.dm
@@ -35,7 +35,7 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- M << "[pick("You feel nauseous.", "You feel like you're going to throw up!")]"
+ to_chat(M, "[pick("You feel nauseous.", "You feel like you're going to throw up!")]")
else
Vomit(M)
diff --git a/code/datums/diseases/advance/symptoms/weakness.dm b/code/datums/diseases/advance/symptoms/weakness.dm
index b0769680dc9..91b18c1eabc 100644
--- a/code/datums/diseases/advance/symptoms/weakness.dm
+++ b/code/datums/diseases/advance/symptoms/weakness.dm
@@ -31,12 +31,12 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
- M << "[pick("You feel weak.", "You feel lazy.")]"
+ to_chat(M, "[pick("You feel weak.", "You feel lazy.")]")
if(3, 4)
- M << "[pick("You feel very frail.", "You think you might faint.")]"
+ to_chat(M, "[pick("You feel very frail.", "You think you might faint.")]")
M.adjustStaminaLoss(15)
else
- M << "[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]"
+ to_chat(M, "[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]")
M.adjustStaminaLoss(30)
if(M.getStaminaLoss() > 60 && !M.stat)
M.visible_message("[M] faints!", "You swoon and faint...")
diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm
index 490207f04b8..93b258d4cdd 100644
--- a/code/datums/diseases/advance/symptoms/weight.dm
+++ b/code/datums/diseases/advance/symptoms/weight.dm
@@ -31,7 +31,7 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- M << "[pick("You feel blubbery.", "Your stomach hurts.")]"
+ to_chat(M, "[pick("You feel blubbery.", "Your stomach hurts.")]")
else
M.overeatduration = min(M.overeatduration + 100, 600)
M.nutrition = min(M.nutrition + 100, NUTRITION_LEVEL_FULL)
@@ -73,9 +73,9 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- M << "[pick("You feel hungry.", "You crave for food.")]"
+ to_chat(M, "[pick("You feel hungry.", "You crave for food.")]")
else
- M << "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]"
+ to_chat(M, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")
M.overeatduration = max(M.overeatduration - 100, 0)
M.nutrition = max(M.nutrition - 100, 0)
diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm
index d7607ed4f0e..ea20ac40d3c 100644
--- a/code/datums/diseases/advance/symptoms/youth.dm
+++ b/code/datums/diseases/advance/symptoms/youth.dm
@@ -34,22 +34,22 @@ BONUS
if(1)
if(H.age > 41)
H.age = 41
- H << "You haven't had this much energy in years!"
+ to_chat(H, "You haven't had this much energy in years!")
if(2)
if(H.age > 36)
H.age = 36
- H << "You're suddenly in a good mood."
+ to_chat(H, "You're suddenly in a good mood.")
if(3)
if(H.age > 31)
H.age = 31
- H << "You begin to feel more lithe."
+ to_chat(H, "You begin to feel more lithe.")
if(4)
if(H.age > 26)
H.age = 26
- H << "You feel reinvigorated."
+ to_chat(H, "You feel reinvigorated.")
if(5)
if(H.age > 21)
H.age = 21
- H << "You feel like you can take on the world!"
+ to_chat(H, "You feel like you can take on the world!")
return
\ No newline at end of file
diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm
index 315a01aa5d3..2db4d1082e0 100644
--- a/code/datums/diseases/anxiety.dm
+++ b/code/datums/diseases/anxiety.dm
@@ -16,18 +16,18 @@
switch(stage)
if(2) //also changes say, see say.dm
if(prob(5))
- affected_mob << "You feel anxious."
+ to_chat(affected_mob, "You feel anxious.")
if(3)
if(prob(10))
- affected_mob << "Your stomach flutters."
+ to_chat(affected_mob, "Your stomach flutters.")
if(prob(5))
- affected_mob << "You feel panicky."
+ to_chat(affected_mob, "You feel panicky.")
if(prob(2))
- affected_mob << "You're overtaken with panic!"
+ to_chat(affected_mob, "You're overtaken with panic!")
affected_mob.confused += (rand(2,3))
if(4)
if(prob(10))
- affected_mob << "You feel butterflies in your stomach."
+ to_chat(affected_mob, "You feel butterflies in your stomach.")
if(prob(5))
affected_mob.visible_message("[affected_mob] stumbles around in a panic.", \
"You have a panic attack!")
diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm
index 77ec5a583d4..5b91db4d44d 100644
--- a/code/datums/diseases/appendicitis.dm
+++ b/code/datums/diseases/appendicitis.dm
@@ -26,7 +26,7 @@
A.inflamed = 1
A.update_icon()
if(prob(3))
- affected_mob << "You feel a stabbing pain in your abdomen!"
+ to_chat(affected_mob, "You feel a stabbing pain in your abdomen!")
affected_mob.Stun(rand(2,3))
affected_mob.adjustToxLoss(1)
if(3)
diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm
index 7defa90d7bd..6fdcad94567 100644
--- a/code/datums/diseases/beesease.dm
+++ b/code/datums/diseases/beesease.dm
@@ -16,12 +16,12 @@
switch(stage)
if(2) //also changes say, see say.dm
if(prob(2))
- affected_mob << "You taste honey in your mouth."
+ to_chat(affected_mob, "You taste honey in your mouth.")
if(3)
if(prob(10))
- affected_mob << "Your stomach rumbles."
+ to_chat(affected_mob, "Your stomach rumbles.")
if(prob(2))
- affected_mob << "Your stomach stings painfully."
+ to_chat(affected_mob, "Your stomach stings painfully.")
if(prob(20))
affected_mob.adjustToxLoss(2)
affected_mob.updatehealth()
@@ -30,7 +30,7 @@
affected_mob.visible_message("[affected_mob] buzzes.", \
"Your stomach buzzes violently!")
if(prob(5))
- affected_mob << "You feel something moving in your throat."
+ to_chat(affected_mob, "You feel something moving in your throat.")
if(prob(1))
affected_mob.visible_message("[affected_mob] coughs up a swarm of bees!", \
"You cough up a swarm of bees!")
diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm
index 8a0349854cb..58f4e6975dd 100644
--- a/code/datums/diseases/brainrot.dm
+++ b/code/datums/diseases/brainrot.dm
@@ -22,7 +22,7 @@
if(prob(2))
affected_mob.emote("yawn")
if(prob(2))
- affected_mob << "You don't feel like yourself."
+ to_chat(affected_mob, "You don't feel like yourself.")
if(prob(5))
affected_mob.adjustBrainLoss(1)
affected_mob.updatehealth()
@@ -35,7 +35,7 @@
affected_mob.adjustBrainLoss(2)
affected_mob.updatehealth()
if(prob(2))
- affected_mob << "Your try to remember something important...but can't."
+ to_chat(affected_mob, "Your try to remember something important...but can't.")
if(4)
if(prob(2))
@@ -46,9 +46,9 @@
affected_mob.adjustBrainLoss(3)
affected_mob.updatehealth()
if(prob(2))
- affected_mob << "Strange buzzing fills your head, removing all thoughts."
+ to_chat(affected_mob, "Strange buzzing fills your head, removing all thoughts.")
if(prob(3))
- affected_mob << "You lose consciousness..."
+ to_chat(affected_mob, "You lose consciousness...")
affected_mob.visible_message("[affected_mob] suddenly collapses")
affected_mob.Paralyse(rand(5,10))
if(prob(1))
diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm
index 5207fd009d1..2c3aac06bdb 100644
--- a/code/datums/diseases/cold.dm
+++ b/code/datums/diseases/cold.dm
@@ -16,16 +16,16 @@
if(2)
/*
if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed
- affected_mob << "\blue You feel better."
+ to_chat(affected_mob, "\blue You feel better.")
cure()
return
*/
if(affected_mob.lying && prob(40)) //changed FROM prob(10) until sleeping is fixed
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if(prob(1) && prob(5))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if(prob(1))
@@ -33,22 +33,22 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "Your throat feels sore."
+ to_chat(affected_mob, "Your throat feels sore.")
if(prob(1))
- affected_mob << "Mucous runs down the back of your throat."
+ to_chat(affected_mob, "Mucous runs down the back of your throat.")
if(3)
/*
if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed
- affected_mob << "\blue You feel better."
+ to_chat(affected_mob, "\blue You feel better.")
cure()
return
*/
if(affected_mob.lying && prob(25)) //changed FROM prob(5) until sleeping is fixed
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if(prob(1) && prob(1))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if(prob(1))
@@ -56,9 +56,9 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "Your throat feels sore."
+ to_chat(affected_mob, "Your throat feels sore.")
if(prob(1))
- affected_mob << "Mucous runs down the back of your throat."
+ to_chat(affected_mob, "Mucous runs down the back of your throat.")
if(prob(1) && prob(50))
if(!affected_mob.resistances.Find(/datum/disease/flu))
var/datum/disease/Flu = new /datum/disease/flu(0)
diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm
index 68c11d65850..e64875332b6 100644
--- a/code/datums/diseases/cold9.dm
+++ b/code/datums/diseases/cold9.dm
@@ -16,7 +16,7 @@
if(2)
affected_mob.bodytemperature -= 10
if(prob(1) && prob(10))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if(prob(1))
@@ -24,9 +24,9 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "Your throat feels sore."
+ to_chat(affected_mob, "Your throat feels sore.")
if(prob(5))
- affected_mob << "You feel stiff."
+ to_chat(affected_mob, "You feel stiff.")
if(3)
affected_mob.bodytemperature -= 20
if(prob(1))
@@ -34,6 +34,6 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "Your throat feels sore."
+ to_chat(affected_mob, "Your throat feels sore.")
if(prob(10))
- affected_mob << "You feel stiff."
\ No newline at end of file
+ to_chat(affected_mob, "You feel stiff.")
\ No newline at end of file
diff --git a/code/datums/diseases/dna_spread.dm b/code/datums/diseases/dna_spread.dm
index a160915e5f0..8c1f6fed1fa 100644
--- a/code/datums/diseases/dna_spread.dm
+++ b/code/datums/diseases/dna_spread.dm
@@ -36,11 +36,11 @@
if(prob(8))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "Your muscles ache."
+ to_chat(affected_mob, "Your muscles ache.")
if(prob(20))
affected_mob.take_bodypart_damage(1)
if(prob(1))
- affected_mob << "Your stomach hurts."
+ to_chat(affected_mob, "Your stomach hurts.")
if(prob(20))
affected_mob.adjustToxLoss(2)
affected_mob.updatehealth()
@@ -50,7 +50,7 @@
original_dna = new affected_mob.dna.type
affected_mob.dna.copy_dna(original_dna)
- affected_mob << "You don't feel like yourself.."
+ to_chat(affected_mob, "You don't feel like yourself..")
var/datum/dna/transform_dna = strain_data["dna"]
transform_dna.transfer_identity(affected_mob, transfer_SE = 1)
@@ -70,5 +70,5 @@
affected_mob.updateappearance(mutcolor_update=1)
affected_mob.domutcheck()
- affected_mob << "You feel more like yourself."
+ to_chat(affected_mob, "You feel more like yourself.")
return ..()
\ No newline at end of file
diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm
index e4352483036..7efcf704085 100644
--- a/code/datums/diseases/fake_gbs.dm
+++ b/code/datums/diseases/fake_gbs.dm
@@ -22,7 +22,7 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
- affected_mob << "You're starting to feel very weak..."
+ to_chat(affected_mob, "You're starting to feel very weak...")
if(4)
if(prob(10))
affected_mob.emote("cough")
diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm
index 20bea2da922..b3f51d19016 100644
--- a/code/datums/diseases/flu.dm
+++ b/code/datums/diseases/flu.dm
@@ -16,7 +16,7 @@
switch(stage)
if(2)
if(affected_mob.lying && prob(20))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
stage--
return
if(prob(1))
@@ -24,18 +24,18 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "Your muscles ache."
+ to_chat(affected_mob, "Your muscles ache.")
if(prob(20))
affected_mob.take_bodypart_damage(1)
if(prob(1))
- affected_mob << "Your stomach hurts."
+ to_chat(affected_mob, "Your stomach hurts.")
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()
if(3)
if(affected_mob.lying && prob(15))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
stage--
return
if(prob(1))
@@ -43,11 +43,11 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "Your muscles ache."
+ to_chat(affected_mob, "Your muscles ache.")
if(prob(20))
affected_mob.take_bodypart_damage(1)
if(prob(1))
- affected_mob << "Your stomach hurts."
+ to_chat(affected_mob, "Your stomach hurts.")
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()
diff --git a/code/datums/diseases/fluspanish.dm b/code/datums/diseases/fluspanish.dm
index 57ded9abc30..5a75201fafc 100644
--- a/code/datums/diseases/fluspanish.dm
+++ b/code/datums/diseases/fluspanish.dm
@@ -21,7 +21,7 @@
if(prob(5))
affected_mob.emote("cough")
if(prob(1))
- affected_mob << "You're burning in your own skin!"
+ to_chat(affected_mob, "You're burning in your own skin!")
affected_mob.take_bodypart_damage(0,5)
if(3)
@@ -31,6 +31,6 @@
if(prob(5))
affected_mob.emote("cough")
if(prob(5))
- affected_mob << "You're burning in your own skin!"
+ to_chat(affected_mob, "You're burning in your own skin!")
affected_mob.take_bodypart_damage(0,5)
return
diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm
index b6bcbfb5713..c24dca947bf 100644
--- a/code/datums/diseases/gbs.dm
+++ b/code/datums/diseases/gbs.dm
@@ -27,14 +27,14 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
- affected_mob << "You're starting to feel very weak..."
+ to_chat(affected_mob, "You're starting to feel very weak...")
if(4)
if(prob(10))
affected_mob.emote("cough")
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(5)
- affected_mob << "Your body feels as if it's trying to rip itself open..."
+ to_chat(affected_mob, "Your body feels as if it's trying to rip itself open...")
if(prob(50))
affected_mob.gib()
else
diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm
index 9518156f582..c88f80d11f0 100644
--- a/code/datums/diseases/magnitis.dm
+++ b/code/datums/diseases/magnitis.dm
@@ -16,7 +16,7 @@
switch(stage)
if(2)
if(prob(2))
- affected_mob << "You feel a slight shock course through your body."
+ to_chat(affected_mob, "You feel a slight shock course through your body.")
if(prob(2))
for(var/obj/M in orange(2,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
@@ -27,9 +27,9 @@
step_towards(S,affected_mob)
if(3)
if(prob(2))
- affected_mob << "You feel a strong shock course through your body."
+ to_chat(affected_mob, "You feel a strong shock course through your body.")
if(prob(2))
- affected_mob << "You feel like clowning around."
+ to_chat(affected_mob, "You feel like clowning around.")
if(prob(4))
for(var/obj/M in orange(4,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
@@ -46,9 +46,9 @@
step_towards(S,affected_mob)
if(4)
if(prob(2))
- affected_mob << "You feel a powerful shock course through your body."
+ to_chat(affected_mob, "You feel a powerful shock course through your body.")
if(prob(2))
- affected_mob << "You query upon the nature of miracles."
+ to_chat(affected_mob, "You query upon the nature of miracles.")
if(prob(8))
for(var/obj/M in orange(6,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm
index 34f0e14be85..55921f56f96 100644
--- a/code/datums/diseases/pierrot_throat.dm
+++ b/code/datums/diseases/pierrot_throat.dm
@@ -16,10 +16,10 @@
..()
switch(stage)
if(1)
- if(prob(10)) affected_mob << "You feel a little silly."
+ if(prob(10)) to_chat(affected_mob, "You feel a little silly.")
if(2)
- if(prob(10)) affected_mob << "You start seeing rainbows."
+ if(prob(10)) to_chat(affected_mob, "You start seeing rainbows.")
if(3)
- if(prob(10)) affected_mob << "Your thoughts are interrupted by a loud HONK!"
+ if(prob(10)) to_chat(affected_mob, "Your thoughts are interrupted by a loud HONK!")
if(4)
if(prob(5)) affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
diff --git a/code/datums/diseases/retrovirus.dm b/code/datums/diseases/retrovirus.dm
index ed94a8c0fb6..7791c589f6d 100644
--- a/code/datums/diseases/retrovirus.dm
+++ b/code/datums/diseases/retrovirus.dm
@@ -31,38 +31,38 @@
if(1)
if(restcure)
if(affected_mob.lying && prob(30))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if (prob(8))
- affected_mob << "Your head hurts."
+ to_chat(affected_mob, "Your head hurts.")
if (prob(9))
- affected_mob << "You feel a tingling sensation in your chest."
+ to_chat(affected_mob, "You feel a tingling sensation in your chest.")
if (prob(9))
- affected_mob << "You feel angry."
+ to_chat(affected_mob, "You feel angry.")
if(2)
if(restcure)
if(affected_mob.lying && prob(20))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if (prob(8))
- affected_mob << "Your skin feels loose."
+ to_chat(affected_mob, "Your skin feels loose.")
if (prob(10))
- affected_mob << "You feel very strange."
+ to_chat(affected_mob, "You feel very strange.")
if (prob(4))
- affected_mob << "You feel a stabbing pain in your head!"
+ to_chat(affected_mob, "You feel a stabbing pain in your head!")
affected_mob.Paralyse(2)
if (prob(4))
- affected_mob << "Your stomach churns."
+ to_chat(affected_mob, "Your stomach churns.")
if(3)
if(restcure)
if(affected_mob.lying && prob(20))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if (prob(10))
- affected_mob << "Your entire body vibrates."
+ to_chat(affected_mob, "Your entire body vibrates.")
if (prob(35))
if(prob(50))
@@ -73,7 +73,7 @@
if(4)
if(restcure)
if(affected_mob.lying && prob(5))
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
cure()
return
if (prob(60))
diff --git a/code/datums/diseases/rhumba_beat.dm b/code/datums/diseases/rhumba_beat.dm
index a85bca676d2..7b239fb7baf 100644
--- a/code/datums/diseases/rhumba_beat.dm
+++ b/code/datums/diseases/rhumba_beat.dm
@@ -21,23 +21,23 @@
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(prob(1))
- affected_mob << "You feel strange..."
+ to_chat(affected_mob, "You feel strange...")
if(3)
if(prob(5))
- affected_mob << "You feel the urge to dance..."
+ to_chat(affected_mob, "You feel the urge to dance...")
else if(prob(5))
affected_mob.emote("gasp")
else if(prob(10))
- affected_mob << "You feel the need to chick chicky boom..."
+ to_chat(affected_mob, "You feel the need to chick chicky boom...")
if(4)
if(prob(10))
affected_mob.emote("gasp")
- affected_mob << "You feel a burning beat inside..."
+ to_chat(affected_mob, "You feel a burning beat inside...")
if(prob(20))
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(5)
- affected_mob << "Your body is unable to contain the Rhumba Beat..."
+ to_chat(affected_mob, "Your body is unable to contain the Rhumba Beat...")
if(prob(50))
affected_mob.gib()
else
diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm
index 9099542635a..844eb10a0eb 100644
--- a/code/datums/diseases/transformation.dm
+++ b/code/datums/diseases/transformation.dm
@@ -22,23 +22,23 @@
switch(stage)
if(1)
if (prob(stage_prob) && stage1)
- affected_mob << pick(stage1)
+ to_chat(affected_mob, pick(stage1))
if(2)
if (prob(stage_prob) && stage2)
- affected_mob << pick(stage2)
+ to_chat(affected_mob, pick(stage2))
if(3)
if (prob(stage_prob*2) && stage3)
- affected_mob << pick(stage3)
+ to_chat(affected_mob, pick(stage3))
if(4)
if (prob(stage_prob*2) && stage4)
- affected_mob << pick(stage4)
+ to_chat(affected_mob, pick(stage4))
if(5)
do_disease_transformation(affected_mob)
/datum/disease/transformation/proc/do_disease_transformation(mob/living/affected_mob)
if(istype(affected_mob, /mob/living/carbon) && affected_mob.stat != DEAD)
if(stage5)
- affected_mob << pick(stage5)
+ to_chat(affected_mob, pick(stage5))
if(jobban_isbanned(affected_mob, new_form))
affected_mob.death(1)
return
@@ -98,10 +98,10 @@
switch(stage)
if(2)
if(prob(2))
- affected_mob << "Your [pick("back", "arm", "leg", "elbow", "head")] itches."
+ to_chat(affected_mob, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.")
if(3)
if(prob(4))
- affected_mob << "You feel a stabbing pain in your head."
+ to_chat(affected_mob, "You feel a stabbing pain in your head.")
affected_mob.confused += 10
if(4)
if(prob(3))
@@ -137,7 +137,7 @@
if (prob(8))
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
if (prob(4))
- affected_mob << "You feel a stabbing pain in your head."
+ to_chat(affected_mob, "You feel a stabbing pain in your head.")
affected_mob.Paralyse(2)
if(4)
if (prob(20))
@@ -166,7 +166,7 @@
switch(stage)
if(3)
if (prob(4))
- affected_mob << "You feel a stabbing pain in your head."
+ to_chat(affected_mob, "You feel a stabbing pain in your head.")
affected_mob.Paralyse(2)
if(4)
if (prob(20))
diff --git a/code/datums/diseases/tuberculosis.dm b/code/datums/diseases/tuberculosis.dm
index b2d4fb9065b..b16a0a2193f 100644
--- a/code/datums/diseases/tuberculosis.dm
+++ b/code/datums/diseases/tuberculosis.dm
@@ -17,42 +17,42 @@
if(2)
if(prob(2))
affected_mob.emote("cough")
- affected_mob << "Your chest hurts."
+ to_chat(affected_mob, "Your chest hurts.")
if(prob(2))
- affected_mob << "Your stomach violently rumbles!"
+ to_chat(affected_mob, "Your stomach violently rumbles!")
if(prob(5))
- affected_mob << "You feel a cold sweat form."
+ to_chat(affected_mob, "You feel a cold sweat form.")
if(4)
if(prob(2))
- affected_mob << "You see four of everything"
+ to_chat(affected_mob, "You see four of everything")
affected_mob.Dizzy(5)
if(prob(2))
- affected_mob << "You feel a sharp pain from your lower chest!"
+ to_chat(affected_mob, "You feel a sharp pain from your lower chest!")
affected_mob.adjustOxyLoss(5)
affected_mob.emote("gasp")
if(prob(10))
- affected_mob << "You feel air escape from your lungs painfully."
+ to_chat(affected_mob, "You feel air escape from your lungs painfully.")
affected_mob.adjustOxyLoss(25)
affected_mob.emote("gasp")
if(5)
if(prob(2))
- affected_mob << "[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]"
+ to_chat(affected_mob, "[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]")
affected_mob.adjustStaminaLoss(70)
if(prob(10))
affected_mob.adjustStaminaLoss(100)
affected_mob.visible_message("[affected_mob] faints!", "You surrender yourself and feel at peace...")
affected_mob.AdjustSleeping(5)
if(prob(2))
- affected_mob << "You feel your mind relax and your thoughts drift!"
+ to_chat(affected_mob, "You feel your mind relax and your thoughts drift!")
affected_mob.confused = min(100, affected_mob.confused + 8)
if(prob(10))
affected_mob.vomit(20)
if(prob(3))
- affected_mob << "[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]"
+ to_chat(affected_mob, "[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]")
affected_mob.overeatduration = max(affected_mob.overeatduration - 100, 0)
affected_mob.nutrition = max(affected_mob.nutrition - 100, 0)
if(prob(15))
- affected_mob << "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]"
+ to_chat(affected_mob, "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]")
affected_mob.bodytemperature += 40
return
diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm
index 8065e6e33e7..fd93d168ab3 100644
--- a/code/datums/diseases/wizarditis.dm
+++ b/code/datums/diseases/wizarditis.dm
@@ -31,14 +31,14 @@ STI KALY - blind
if(prob(1)&&prob(50))
affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"))
if(prob(1)&&prob(50))
- affected_mob << "You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")]."
+ to_chat(affected_mob, "You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")].")
if(3)
if(prob(1)&&prob(50))
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"))
if(prob(1)&&prob(50))
- affected_mob << "You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")]."
+ to_chat(affected_mob, "You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")].")
if(4)
@@ -46,7 +46,7 @@ STI KALY - blind
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!"))
return
if(prob(1)&&prob(50))
- affected_mob << "You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")]."
+ to_chat(affected_mob, "You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].")
spawn_wizard_clothes(50)
if(prob(1)&&prob(1))
teleport()
diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm
index a6f49ebd9a5..d1be0e47be5 100644
--- a/code/datums/helper_datums/getrev.dm
+++ b/code/datums/helper_datums/getrev.dm
@@ -76,20 +76,20 @@ var/global/datum/getrev/revdata = new()
set desc = "Check the current server code revision"
if(revdata.parentcommit)
- src << "Server revision compiled on: [revdata.date]"
+ to_chat(src, "Server revision compiled on: [revdata.date]")
if(revdata.testmerge.len)
- src << revdata.GetTestMergeInfo()
- src << "Based off master commit:"
- src << "[revdata.parentcommit]"
+ to_chat(src, revdata.GetTestMergeInfo())
+ to_chat(src, "Based off master commit:")
+ to_chat(src, "[revdata.parentcommit]")
else
- src << "Revision unknown"
- src << "Current Infomational Settings:"
- src << "Protect Authority Roles From Traitor: [config.protect_roles_from_antagonist]"
- src << "Protect Assistant Role From Traitor: [config.protect_assistant_from_antagonist]"
- src << "Enforce Human Authority: [config.enforce_human_authority]"
- src << "Allow Latejoin Antagonists: [config.allow_latejoin_antagonists]"
- src << "Enforce Continuous Rounds: [config.continuous.len] of [config.modes.len] roundtypes"
- src << "Allow Midround Antagonists: [config.midround_antag.len] of [config.modes.len] roundtypes"
+ to_chat(src, "Revision unknown")
+ to_chat(src, "Current Infomational Settings:")
+ to_chat(src, "Protect Authority Roles From Traitor: [config.protect_roles_from_antagonist]")
+ to_chat(src, "Protect Assistant Role From Traitor: [config.protect_assistant_from_antagonist]")
+ to_chat(src, "Enforce Human Authority: [config.enforce_human_authority]")
+ to_chat(src, "Allow Latejoin Antagonists: [config.allow_latejoin_antagonists]")
+ to_chat(src, "Enforce Continuous Rounds: [config.continuous.len] of [config.modes.len] roundtypes")
+ to_chat(src, "Allow Midround Antagonists: [config.midround_antag.len] of [config.modes.len] roundtypes")
if(config.show_game_type_odds)
if(ticker.current_state == GAME_STATE_PLAYING)
var/prob_sum = 0
@@ -111,8 +111,8 @@ var/global/datum/getrev/revdata = new()
for(var/ctag in probs)
if(config.probabilities[ctag] > 0)
var/percentage = round(config.probabilities[ctag] / prob_sum * 100, 0.1)
- src << "[ctag] [percentage]%"
-
+ to_chat(src, "[ctag] [percentage]%")
+
src <<"All Game Mode Odds:"
var/sum = 0
for(var/ctag in config.probabilities)
@@ -120,4 +120,4 @@ var/global/datum/getrev/revdata = new()
for(var/ctag in config.probabilities)
if(config.probabilities[ctag] > 0)
var/percentage = round(config.probabilities[ctag] / sum * 100, 0.1)
- src << "[ctag] [percentage]%"
+ to_chat(src, "[ctag] [percentage]%")
diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index b1308668679..497c6e13001 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -169,7 +169,7 @@
precision = max(rand(1,100)*bagholding.len,100)
if(isliving(teleatom))
var/mob/living/MM = teleatom
- MM << "The bluespace interface on your bag of holding interferes with the teleport!"
+ to_chat(MM, "The bluespace interface on your bag of holding interferes with the teleport!")
return 1
// Safe location finder
diff --git a/code/datums/martial.dm b/code/datums/martial.dm
index 7407de6b431..803faabba6c 100644
--- a/code/datums/martial.dm
+++ b/code/datums/martial.dm
@@ -98,11 +98,11 @@
name = "Boxing"
/datum/martial_art/boxing/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- A << "Can't disarm while boxing!"
+ to_chat(A, "Can't disarm while boxing!")
return 1
/datum/martial_art/boxing/grab_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
- A << "Can't grab while boxing!"
+ to_chat(A, "Can't grab while boxing!")
return 1
/datum/martial_art/boxing/harm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
@@ -148,10 +148,10 @@
set desc = "Remember how to wrestle."
set category = "Wrestling"
- usr << "You flex your muscles and have a revelation..."
- usr << "Clinch: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful."
- usr << "Suplex: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor."
- usr << "Advanced grab: Grab. Passively causes stamina damage when grabbing someone."
+ to_chat(usr, "You flex your muscles and have a revelation...")
+ to_chat(usr, "Clinch: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.")
+ to_chat(usr, "Suplex: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor.")
+ to_chat(usr, "Advanced grab: Grab. Passively causes stamina damage when grabbing someone.")
#define TORNADO_COMBO "HHD"
#define THROWBACK_COMBO "DHD"
@@ -243,10 +243,10 @@
set desc = "Remember the martial techniques of the Plasma Fist."
set category = "Plasma Fist"
- usr << "You clench your fists and have a flashback of knowledge..."
- usr << "Tornado Sweep: Harm Harm Disarm. Repulses target and everyone back."
- usr << "Throwback: Disarm Harm Disarm. Throws the target and an item at them."
- usr << "The Plasma Fist: Harm Disarm Disarm Disarm Harm. Knocks the brain out of the opponent and gibs their body."
+ to_chat(usr, "You clench your fists and have a flashback of knowledge...")
+ to_chat(usr, "Tornado Sweep: Harm Harm Disarm. Repulses target and everyone back.")
+ to_chat(usr, "Throwback: Disarm Harm Disarm. Throws the target and an item at them.")
+ to_chat(usr, "The Plasma Fist: Harm Disarm Disarm Disarm Harm. Knocks the brain out of the opponent and gibs their body.")
//Used by the gang of the same name. Uses combos. Basic attacks bypass armor and never miss
#define WRIST_WRENCH_COMBO "DD"
@@ -396,13 +396,13 @@
set desc = "Remember the martial techniques of the Sleeping Carp clan."
set category = "Sleeping Carp"
- usr << "You retreat inward and recall the teachings of the Sleeping Carp..."
+ to_chat(usr, "You retreat inward and recall the teachings of the Sleeping Carp...")
- usr << "Wrist Wrench: Disarm Disarm. Forces opponent to drop item in hand."
- usr << "Back Kick: Harm Grab. Opponent must be facing away. Knocks down."
- usr << "Stomach Knee: Grab Harm. Knocks the wind out of opponent and stuns."
- usr << "Head Kick: Disarm Harm Harm. Decent damage, forces opponent to drop item in hand."
- usr << "Elbow Drop: Harm Disarm Harm Disarm Harm. Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition."
+ to_chat(usr, "Wrist Wrench: Disarm Disarm. Forces opponent to drop item in hand.")
+ to_chat(usr, "Back Kick: Harm Grab. Opponent must be facing away. Knocks down.")
+ to_chat(usr, "Stomach Knee: Grab Harm. Knocks the wind out of opponent and stuns.")
+ to_chat(usr, "Head Kick: Disarm Harm Harm. Decent damage, forces opponent to drop item in hand.")
+ to_chat(usr, "Elbow Drop: Harm Disarm Harm Disarm Harm. Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition.")
//CQC
#define SLAM_COMBO "GH"
@@ -578,15 +578,15 @@
set desc = "You try to remember some of the basics of CQC."
set category = "CQC"
- usr << "You try to remember some of the basics of CQC."
+ to_chat(usr, "You try to remember some of the basics of CQC.")
- usr << "Slam: Grab Harm. Slam opponent into the ground, weakens and knocks down."
- usr << "CQC Kick: Harm Disarm Harm. Knocks opponent away. Knocks out stunned or weakened opponents."
- usr << "Restrain: Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a choke hold."
- usr << "Pressure: Disarm Grab. Decent stamina damage."
- usr << "Consecutive CQC: Harm Harm Disarm. Mainly offensive move, huge damage and decent stamina damage."
+ to_chat(usr, "Slam: Grab Harm. Slam opponent into the ground, weakens and knocks down.")
+ to_chat(usr, "CQC Kick: Harm Disarm Harm. Knocks opponent away. Knocks out stunned or weakened opponents.")
+ to_chat(usr, "Restrain: Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a choke hold.")
+ to_chat(usr, "Pressure: Disarm Grab. Decent stamina damage.")
+ to_chat(usr, "Consecutive CQC: Harm Harm Disarm. Mainly offensive move, huge damage and decent stamina damage.")
- usr << "In addition, by having your throw mode on when being attacked, you enter an active defense mode where you have a chance to block and sometimes even counter attacks done to you."
+ to_chat(usr, "In addition, by having your throw mode on when being attacked, you enter an active defense mode where you have a chance to block and sometimes even counter attacks done to you.")
//ITEMS
@@ -643,7 +643,7 @@
var/mob/living/carbon/human/H = user
var/datum/martial_art/plasma_fist/F = new/datum/martial_art/plasma_fist(null)
F.teach(H)
- H << "You have learned the ancient martial art of Plasma Fist."
+ to_chat(H, "You have learned the ancient martial art of Plasma Fist.")
used = 1
desc = "It's completely blank."
name = "empty scroll"
@@ -675,8 +675,9 @@
/obj/item/weapon/sleeping_carp_scroll/attack_self(mob/living/carbon/human/user)
if(!istype(user) || !user)
return
- user << "You have learned the ancient martial art of the Sleeping Carp! Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles \
+ var/message = "You have learned the ancient martial art of the Sleeping Carp! Your hand-to-hand combat has become much more effective, and you are now able to deflect any projectiles \
directed toward you. However, you are also unable to use any ranged weaponry. You can learn more about your newfound art by using the Recall Teachings verb in the Sleeping Carp tab."
+ to_chat(user, message)
var/datum/martial_art/the_sleeping_carp/theSleepingCarp = new(null)
theSleepingCarp.teach(user)
user.drop_item()
@@ -706,7 +707,7 @@
/obj/item/weapon/twohanded/bostaff/attack(mob/target, mob/living/user)
add_fingerprint(user)
if((CLUMSY in user.disabilities) && prob(50))
- user << "You club yourself over the head with [src]."
+ to_chat(user, "You club yourself over the head with [src].")
user.Weaken(3)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -720,7 +721,7 @@
return ..()
var/mob/living/carbon/C = target
if(C.stat)
- user << "It would be dishonorable to attack a foe while they cannot retaliate."
+ to_chat(user, "It would be dishonorable to attack a foe while they cannot retaliate.")
return
if(user.a_intent == INTENT_DISARM)
if(!wielded)
diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm
index f71cc3b97fc..5542aa2b271 100644
--- a/code/datums/martial/krav_maga.dm
+++ b/code/datums/martial/krav_maga.dm
@@ -10,7 +10,7 @@
/datum/action/neck_chop/Trigger()
if(owner.incapacitated())
- owner << "You can't use Krav Maga while you're incapacitated."
+ to_chat(owner, "You can't use Krav Maga while you're incapacitated.")
return
owner.visible_message("[owner] assumes the Neck Chop stance!", "Your next attack will be a Neck Chop.")
var/mob/living/carbon/human/H = owner
@@ -22,7 +22,7 @@
/datum/action/leg_sweep/Trigger()
if(owner.incapacitated())
- owner << "You can't use Krav Maga while you're incapacitated."
+ to_chat(owner, "You can't use Krav Maga while you're incapacitated.")
return
owner.visible_message("[owner] assumes the Leg Sweep stance!", "Your next attack will be a Leg Sweep.")
var/mob/living/carbon/human/H = owner
@@ -34,7 +34,7 @@
/datum/action/lung_punch/Trigger()
if(owner.incapacitated())
- owner << "You can't use Krav Maga while you're incapacitated."
+ to_chat(owner, "You can't use Krav Maga while you're incapacitated.")
return
owner.visible_message("[owner] assumes the Lung Punch stance!", "Your next attack will be a Lung Punch.")
var/mob/living/carbon/human/H = owner
@@ -42,15 +42,15 @@
/datum/martial_art/krav_maga/teach(var/mob/living/carbon/human/H,var/make_temporary=0)
..()
- H << "You know the arts of Krav Maga!"
- H << "Place your cursor over a move at the top of the screen to see what it does."
+ to_chat(H, "You know the arts of Krav Maga!")
+ to_chat(H, "Place your cursor over a move at the top of the screen to see what it does.")
neckchop.Grant(H)
legsweep.Grant(H)
lungpunch.Grant(H)
/datum/martial_art/krav_maga/remove(var/mob/living/carbon/human/H)
..()
- H << "You suddenly forget the arts of Krav Maga..."
+ to_chat(H, "You suddenly forget the arts of Krav Maga...")
neckchop.Remove(H)
legsweep.Remove(H)
lungpunch.Remove(H)
diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm
index 9b99a2c75d0..8402fe647b2 100644
--- a/code/datums/martial/wrestling.dm
+++ b/code/datums/martial/wrestling.dm
@@ -36,7 +36,7 @@
/datum/action/slam/Trigger()
if(owner.incapacitated())
- owner << "You can't WRESTLE while you're OUT FOR THE COUNT."
+ to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
owner.visible_message("[owner] prepares to BODY SLAM!", "Your next attack will be a BODY SLAM.")
var/mob/living/carbon/human/H = owner
@@ -48,7 +48,7 @@
/datum/action/throw_wrassle/Trigger()
if(owner.incapacitated())
- owner << "You can't WRESTLE while you're OUT FOR THE COUNT."
+ to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
owner.visible_message("[owner] prepares to THROW!", "Your next attack will be a THROW.")
var/mob/living/carbon/human/H = owner
@@ -60,7 +60,7 @@
/datum/action/kick/Trigger()
if(owner.incapacitated())
- owner << "You can't WRESTLE while you're OUT FOR THE COUNT."
+ to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
owner.visible_message("[owner] prepares to KICK!", "Your next attack will be a KICK.")
var/mob/living/carbon/human/H = owner
@@ -72,7 +72,7 @@
/datum/action/strike/Trigger()
if(owner.incapacitated())
- owner << "You can't WRESTLE while you're OUT FOR THE COUNT."
+ to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
owner.visible_message("[owner] prepares to STRIKE!", "Your next attack will be a STRIKE.")
var/mob/living/carbon/human/H = owner
@@ -84,7 +84,7 @@
/datum/action/drop/Trigger()
if(owner.incapacitated())
- owner << "You can't WRESTLE while you're OUT FOR THE COUNT."
+ to_chat(owner, "You can't WRESTLE while you're OUT FOR THE COUNT.")
return
owner.visible_message("[owner] prepares to LEG DROP!", "Your next attack will be a LEG DROP.")
var/mob/living/carbon/human/H = owner
@@ -92,8 +92,8 @@
/datum/martial_art/wrestling/teach(var/mob/living/carbon/human/H,var/make_temporary=0)
..()
- H << "SNAP INTO A THIN TIM!"
- H << "Place your cursor over a move at the top of the screen to see what it does."
+ to_chat(H, "SNAP INTO A THIN TIM!")
+ to_chat(H, "Place your cursor over a move at the top of the screen to see what it does.")
drop.Grant(H)
kick.Grant(H)
slam.Grant(H)
@@ -102,7 +102,7 @@
/datum/martial_art/wrestling/remove(var/mob/living/carbon/human/H)
..()
- H << "You no longer feel that the tower of power is too sweet to be sour..."
+ to_chat(H, "You no longer feel that the tower of power is too sweet to be sour...")
drop.Remove(H)
kick.Remove(H)
slam.Remove(H)
@@ -119,7 +119,7 @@
if(!D)
return
if(!A.pulling || A.pulling != D)
- A << "You need to have [D] in a cinch!"
+ to_chat(A, "You need to have [D] in a cinch!")
return
D.forceMove(A.loc)
D.setDir(get_dir(D, A))
@@ -145,11 +145,11 @@
if (A && D)
if (get_dist(A, D) > 1)
- A << "[D] is too far away!"
+ to_chat(A, "[D] is too far away!")
return 0
if (!isturf(A.loc) || !isturf(D.loc))
- A << "You can't throw [D] from here!"
+ to_chat(A, "You can't throw [D] from here!")
return 0
A.setDir(turn(A.dir, 90))
@@ -167,11 +167,11 @@
// These are necessary because of the sleep call.
if (get_dist(A, D) > 1)
- A << "[D] is too far away!"
+ to_chat(A, "[D] is too far away!")
return 0
if (!isturf(A.loc) || !isturf(D.loc))
- A << "You can't throw [D] from here!"
+ to_chat(A, "You can't throw [D] from here!")
return 0
D.forceMove(A.loc) // Maybe this will help with the wallthrowing bug.
@@ -190,7 +190,7 @@
if(!D)
return
if(!A.pulling || A.pulling != D)
- A << "You need to have [D] in a cinch!"
+ to_chat(A, "You need to have [D] in a cinch!")
return
D.forceMove(A.loc)
A.setDir(get_dir(A, D))
@@ -223,7 +223,7 @@
D.pixel_x = A.pixel_x + 8
if (get_dist(A, D) > 1)
- A << "[D] is too far away!"
+ to_chat(A, "[D] is too far away!")
A.pixel_x = 0
A.pixel_y = 0
D.pixel_x = 0
@@ -231,7 +231,7 @@
return 0
if (!isturf(A.loc) || !isturf(D.loc))
- A << "You can't slam [D] here!"
+ to_chat(A, "You can't slam [D] here!")
A.pixel_x = 0
A.pixel_y = 0
D.pixel_x = 0
@@ -255,11 +255,11 @@
D.pixel_y = 0
if (get_dist(A, D) > 1)
- A << "[D] is too far away!"
+ to_chat(A, "[D] is too far away!")
return 0
if (!isturf(A.loc) || !isturf(D.loc))
- A << "You can't slam [D] here!"
+ to_chat(A, "You can't slam [D] here!")
return 0
D.forceMove(A.loc)
@@ -369,12 +369,12 @@
A.visible_message("...and dives head-first into the ground, ouch!")
A.adjustBruteLoss(rand(10,20))
A.Weaken(3)
- A << "[D] is too far away!"
+ to_chat(A, "[D] is too far away!")
return 0
if (!isturf(A.loc) || !isturf(D.loc))
A.pixel_y = 0
- A << "You can't drop onto [D] from here!"
+ to_chat(A, "You can't drop onto [D] from here!")
return 0
if(A)
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index adcbb976412..f9cf8a59d36 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -231,7 +231,7 @@
if(creator.mind.special_role)
message_admins("[key_name_admin(current)](?) has been created by [key_name_admin(creator)](?), an antagonist.")
- current << "Despite your creators current allegiances, your true master remains [creator.real_name]. If their loyalities change, so do yours. This will never change unless your creator's body is destroyed."
+ to_chat(current, "Despite your creators current allegiances, your true master remains [creator.real_name]. If their loyalities change, so do yours. This will never change unless your creator's body is destroyed.")
/datum/mind/proc/show_memory(mob/recipient, window=1)
if(!recipient)
@@ -248,7 +248,7 @@
if(window)
recipient << browse(output,"window=memory")
else if(objectives.len || memory)
- recipient << "[output]"
+ to_chat(recipient, "[output]")
/datum/mind/proc/edit_memory()
if(!ticker || !ticker.mode)
@@ -694,7 +694,7 @@
new_objective.owner = src
new_objective.update_explanation_text()
else
- usr << "No active AIs with minds"
+ to_chat(usr, "No active AIs with minds")
if ("prevent")
new_objective = new /datum/objective/block
@@ -792,16 +792,16 @@
switch(href_list["revolution"])
if("clear")
remove_rev()
- current << "You have been brainwashed! You are no longer a revolutionary!"
+ to_chat(current, "You have been brainwashed! You are no longer a revolutionary!")
message_admins("[key_name_admin(usr)] has de-rev'ed [current].")
log_admin("[key_name(usr)] has de-rev'ed [current].")
if("rev")
if(src in ticker.mode.head_revolutionaries)
ticker.mode.head_revolutionaries -= src
ticker.mode.update_rev_icons_removed(src)
- current << "Revolution has been disappointed of your leader traits! You are a regular revolutionary now!"
+ to_chat(current, "Revolution has been disappointed of your leader traits! You are a regular revolutionary now!")
else if(!(src in ticker.mode.revolutionaries))
- current << " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!"
+ to_chat(current, " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!")
else
return
ticker.mode.revolutionaries += src
@@ -814,9 +814,9 @@
if(src in ticker.mode.revolutionaries)
ticker.mode.revolutionaries -= src
ticker.mode.update_rev_icons_removed(src)
- current << "You have proved your devotion to revoltion! Yea are a head revolutionary now!"
+ to_chat(current, "You have proved your devotion to revoltion! Yea are a head revolutionary now!")
else if(!(src in ticker.mode.head_revolutionaries))
- current << "You are a member of the revolutionaries' leadership now!"
+ to_chat(current, "You are a member of the revolutionaries' leadership now!")
else
return
if (ticker.mode.head_revolutionaries.len>0)
@@ -839,24 +839,24 @@
if("autoobjectives")
ticker.mode.forge_revolutionary_objectives(src)
ticker.mode.greet_revolutionary(src,0)
- usr << "The objectives for revolution have been generated and shown to [key]"
+ to_chat(usr, "The objectives for revolution have been generated and shown to [key]")
if("flash")
if (!ticker.mode.equip_revolutionary(current))
- usr << "Spawning flash failed!"
+ to_chat(usr, "Spawning flash failed!")
if("takeflash")
var/list/L = current.get_contents()
var/obj/item/device/assembly/flash/flash = locate() in L
if (!flash)
- usr << "Deleting flash failed!"
+ to_chat(usr, "Deleting flash failed!")
qdel(flash)
if("repairflash")
var/list/L = current.get_contents()
var/obj/item/device/assembly/flash/flash = locate() in L
if (!flash)
- usr << "Repairing flash failed!"
+ to_chat(usr, "Repairing flash failed!")
else
flash.crit_fail = 0
flash.update_icon()
@@ -875,11 +875,11 @@
if("equip")
switch(ticker.mode.equip_gang(current,gang_datum))
if(1)
- usr << "Unable to equip territory spraycan!"
+ to_chat(usr, "Unable to equip territory spraycan!")
if(2)
- usr << "Unable to equip recruitment pen and spraycan!"
+ to_chat(usr, "Unable to equip recruitment pen and spraycan!")
if(3)
- usr << "Unable to equip gangtool, pen, and spraycan!"
+ to_chat(usr, "Unable to equip gangtool, pen, and spraycan!")
if("takeequip")
var/list/L = current.get_contents()
@@ -911,7 +911,7 @@
gang_datum = G
special_role = "[G.name] Gang Boss"
G.add_gang_hud(src)
- current << "You are a [G.name] Gang Boss!"
+ to_chat(current, "You are a [G.name] Gang Boss!")
message_admins("[key_name_admin(usr)] has added [current] to the [G.name] Gang leadership.")
log_admin("[key_name(usr)] has added [current] to the [G.name] Gang leadership.")
ticker.mode.forge_gang_objectives(src)
@@ -943,11 +943,11 @@
log_admin("[key_name(usr)] has cult'ed [current].")
if("tome")
if (!ticker.mode.equip_cultist(current,1))
- usr << "Spawning tome failed!"
+ to_chat(usr, "Spawning tome failed!")
if("amulet")
if (!ticker.mode.equip_cultist(current))
- usr << "Spawning amulet failed!"
+ to_chat(usr, "Spawning amulet failed!")
else if(href_list["clockcult"])
switch(href_list["clockcult"])
@@ -962,15 +962,15 @@
log_admin("[key_name(usr)] has made [current] into a servant of Ratvar.")
if("slab")
if(!ticker.mode.equip_servant(current))
- usr << "Failed to outfit [current] with a slab!"
+ to_chat(usr, "Failed to outfit [current] with a slab!")
else
- usr << "Successfully gave [current] a clockwork slab!"
+ to_chat(usr, "Successfully gave [current] a clockwork slab!")
else if (href_list["wizard"])
switch(href_list["wizard"])
if("clear")
remove_wizard()
- current << "You have been brainwashed! You are no longer a wizard!"
+ to_chat(current, "You have been brainwashed! You are no longer a wizard!")
log_admin("[key_name(usr)] has de-wizard'ed [current].")
ticker.mode.update_wiz_icons_removed(src)
if("wizard")
@@ -978,7 +978,7 @@
ticker.mode.wizards += src
special_role = "Wizard"
//ticker.mode.learn_basic_spells(current)
- current << "You are the Space Wizard!"
+ to_chat(current, "You are the Space Wizard!")
message_admins("[key_name_admin(usr)] has wizard'ed [current].")
log_admin("[key_name(usr)] has wizard'ed [current].")
ticker.mode.update_wiz_icons_added(src)
@@ -990,13 +990,13 @@
ticker.mode.name_wizard(current)
if("autoobjectives")
ticker.mode.forge_wizard_objectives(src)
- usr << "The objectives for wizard [key] have been generated. You can edit them and anounce manually."
+ to_chat(usr, "The objectives for wizard [key] have been generated. You can edit them and anounce manually.")
else if (href_list["changeling"])
switch(href_list["changeling"])
if("clear")
remove_changeling()
- current << "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!"
+ to_chat(current, "You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!")
message_admins("[key_name_admin(usr)] has de-changeling'ed [current].")
log_admin("[key_name(usr)] has de-changeling'ed [current].")
if("changeling")
@@ -1004,17 +1004,17 @@
ticker.mode.changelings += src
current.make_changeling()
special_role = "Changeling"
- current << "Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling!"
+ to_chat(current, "Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling!")
message_admins("[key_name_admin(usr)] has changeling'ed [current].")
log_admin("[key_name(usr)] has changeling'ed [current].")
ticker.mode.update_changeling_icons_added(src)
if("autoobjectives")
ticker.mode.forge_changeling_objectives(src)
- usr << "The objectives for changeling [key] have been generated. You can edit them and anounce manually."
+ to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and anounce manually.")
if("initialdna")
if( !changeling || !changeling.stored_profiles.len || !istype(current, /mob/living/carbon))
- usr << "Resetting DNA failed!"
+ to_chat(usr, "Resetting DNA failed!")
else
var/mob/living/carbon/C = current
changeling.first_prof.dna.transfer_identity(C, transfer_SE=1)
@@ -1026,7 +1026,7 @@
switch(href_list["nuclear"])
if("clear")
remove_nukeop()
- current << "You have been brainwashed! You are no longer a syndicate operative!"
+ to_chat(current, "You have been brainwashed! You are no longer a syndicate operative!")
message_admins("[key_name_admin(usr)] has de-nuke op'ed [current].")
log_admin("[key_name(usr)] has de-nuke op'ed [current].")
if("nuclear")
@@ -1039,7 +1039,7 @@
current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
special_role = "Syndicate"
assigned_role = "Syndicate"
- current << "You are a [syndicate_name()] agent!"
+ to_chat(current, "You are a [syndicate_name()] agent!")
ticker.mode.forge_syndicate_objectives(src)
ticker.mode.greet_syndicate(src)
message_admins("[key_name_admin(usr)] has nuke op'ed [current].")
@@ -1059,7 +1059,7 @@
qdel(H.w_uniform)
if (!ticker.mode.equip_syndicate(current))
- usr << "Equipping a syndicate failed!"
+ to_chat(usr, "Equipping a syndicate failed!")
if("tellcode")
var/code
for (var/obj/machinery/nuclearbomb/bombue in machines)
@@ -1068,15 +1068,15 @@
break
if (code)
store_memory("Syndicate Nuclear Bomb Code: [code]", 0, 0)
- current << "The nuclear authorization code is: [code]"
+ to_chat(current, "The nuclear authorization code is: [code]")
else
- usr << "No valid nuke found!"
+ to_chat(usr, "No valid nuke found!")
else if (href_list["traitor"])
switch(href_list["traitor"])
if("clear")
remove_traitor()
- current << "You have been brainwashed! You are no longer a traitor!"
+ to_chat(current, "You have been brainwashed! You are no longer a traitor!")
message_admins("[key_name_admin(usr)] has de-traitor'ed [current].")
log_admin("[key_name(usr)] has de-traitor'ed [current].")
ticker.mode.update_traitor_icons_removed(src)
@@ -1085,7 +1085,7 @@
if(!(src in ticker.mode.traitors))
ticker.mode.traitors += src
special_role = "traitor"
- current << "You are a traitor!"
+ to_chat(current, "You are a traitor!")
message_admins("[key_name_admin(usr)] has traitor'ed [current].")
log_admin("[key_name(usr)] has traitor'ed [current].")
if(isAI(current))
@@ -1095,7 +1095,7 @@
if("autoobjectives")
ticker.mode.forge_traitor_objectives(src)
- usr << "The objectives for traitor [key] have been generated. You can edit them and anounce manually."
+ to_chat(usr, "The objectives for traitor [key] have been generated. You can edit them and anounce manually.")
else if(href_list["devil"])
switch(href_list["devil"])
@@ -1105,10 +1105,10 @@
if(devilinfo)
devilinfo.regress_blood_lizard()
else
- usr << "Something went wrong with removing the devil, we were unable to find an attached devilinfo.."
+ to_chat(usr, "Something went wrong with removing the devil, we were unable to find an attached devilinfo..")
ticker.mode.devils -= src
special_role = null
- current << "Your infernal link has been severed! You are no longer a devil!"
+ to_chat(current, "Your infernal link has been severed! You are no longer a devil!")
RemoveSpell(/obj/effect/proc_holder/spell/targeted/infernal_jaunt)
RemoveSpell(/obj/effect/proc_holder/spell/aimed/fireball/hellish)
RemoveSpell(/obj/effect/proc_holder/spell/targeted/summon_contract)
@@ -1126,7 +1126,7 @@
log_admin("[key_name(usr)] has de-sintouch'ed [current].")
if("devil")
if(!ishuman(current) && !iscyborg(current))
- usr << "This only works on humans and cyborgs!"
+ to_chat(usr, "This only works on humans and cyborgs!")
return
ticker.mode.devils += src
special_role = "devil"
@@ -1141,17 +1141,17 @@
H.influenceSin()
message_admins("[key_name_admin(usr)] has sintouch'ed [current].")
else
- usr << "This only works on humans!"
+ to_chat(usr, "This only works on humans!")
return
else if(href_list["abductor"])
switch(href_list["abductor"])
if("clear")
- usr << "Not implemented yet. Sorry!"
+ to_chat(usr, "Not implemented yet. Sorry!")
//ticker.mode.update_abductor_icons_removed(src)
if("abductor")
if(!ishuman(current))
- usr << "This only works on humans!"
+ to_chat(usr, "This only works on humans!")
return
make_Abductor()
log_admin("[key_name(usr)] turned [current] into abductor.")
@@ -1181,7 +1181,7 @@
src = null
M = H.monkeyize()
src = M.mind
- //world << "DEBUG: \"healthy\": M=[M], M.mind=[M.mind], src=[src]!"
+ //to_chat(world, "DEBUG: \"healthy\": M=[M], M.mind=[M.mind], src=[src]!")
else if (istype(M) && length(M.viruses))
for(var/datum/disease/D in M.viruses)
D.cure(0)
@@ -1251,7 +1251,7 @@
log_admin("[key_name(usr)] changed [current]'s telecrystal count to [crystals].")
if("uplink")
if(!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors)))
- usr << "Equipping a syndicate failed!"
+ to_chat(usr, "Equipping a syndicate failed!")
log_admin("[key_name(usr)] attempted to give [current] an uplink.")
else if (href_list["obj_announce"])
@@ -1261,10 +1261,10 @@
/datum/mind/proc/announce_objectives()
var/obj_count = 1
- current << "Your current objectives:"
+ to_chat(current, "Your current objectives:")
for(var/objective in objectives)
var/datum/objective/O = objective
- current << "Objective #[obj_count]: [O.explanation_text]"
+ to_chat(current, "Objective #[obj_count]: [O.explanation_text]")
obj_count++
/datum/mind/proc/find_syndicate_uplink()
@@ -1315,14 +1315,14 @@
if (nuke_code)
store_memory("Syndicate Nuclear Bomb Code: [nuke_code]", 0, 0)
- current << "The nuclear authorization code is: [nuke_code]"
+ to_chat(current, "The nuclear authorization code is: [nuke_code]")
else
var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in nuke_list
if(nuke)
store_memory("Syndicate Nuclear Bomb Code: [nuke.r_code]", 0, 0)
- current << "The nuclear authorization code is: nuke.r_code"
+ to_chat(current, "The nuclear authorization code is: nuke.r_code")
else
- current << "You were not provided with a nuclear code. Trying asking your team leader or contacting syndicate command."
+ to_chat(current, "You were not provided with a nuclear code. Trying asking your team leader or contacting syndicate command.")
if (leader)
ticker.mode.prepare_syndicate_leader(src,nuke_code)
@@ -1345,7 +1345,7 @@
assigned_role = "Wizard"
if(!wizardstart.len)
current.loc = pick(latejoin)
- current << "HOT INSERTION, GO GO GO"
+ to_chat(current, "HOT INSERTION, GO GO GO")
else
current.loc = pick(wizardstart)
@@ -1359,20 +1359,20 @@
if(!(src in ticker.mode.cult))
ticker.mode.add_cultist(src,FALSE)
special_role = "Cultist"
- current << "You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie."
- current << "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back."
+ to_chat(current, "You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.")
+ to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.")
var/datum/game_mode/cult/cult = ticker.mode
if (istype(cult))
cult.memorize_cult_objectives(src)
else
var/explanation = "Summon Nar-Sie via the use of the appropriate rune (Hell join self). It will only work if nine cultists stand on and around it."
- current << "Objective #1: [explanation]"
+ to_chat(current, "Objective #1: [explanation]")
memory += "Objective #1: [explanation]
"
var/mob/living/carbon/human/H = current
if (!ticker.mode.equip_cultist(current))
- H << "Spawning an amulet from your Master failed."
+ to_chat(H, "Spawning an amulet from your Master failed.")
/datum/mind/proc/make_Rev()
if (ticker.mode.head_revolutionaries.len>0)
diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm
index 2053f58b0f2..9477e328ccc 100644
--- a/code/datums/mutations.dm
+++ b/code/datums/mutations.dm
@@ -66,7 +66,7 @@
return 1
owner.dna.mutations.Add(src)
if(text_gain_indication)
- owner << text_gain_indication
+ to_chat(owner, text_gain_indication)
if(visual_indicators.len)
var/list/mut_overlay = list(get_visual_indicator(owner))
if(owner.overlays_standing[layer_used])
@@ -94,7 +94,7 @@
/datum/mutation/human/proc/on_losing(mob/living/carbon/human/owner)
if(owner && istype(owner) && (owner.dna.mutations.Remove(src)))
if(text_lose_indication && owner.stat != DEAD)
- owner << text_lose_indication
+ to_chat(owner, text_lose_indication)
if(visual_indicators.len)
var/list/mut_overlay = list()
if(owner.overlays_standing[layer_used])
@@ -137,7 +137,7 @@
/datum/mutation/human/hulk/on_life(mob/living/carbon/human/owner)
if(owner.health < 0)
on_losing(owner)
- owner << "You suddenly feel very weak."
+ to_chat(owner, "You suddenly feel very weak.")
/datum/mutation/human/hulk/on_losing(mob/living/carbon/human/owner)
if(..())
@@ -249,7 +249,7 @@
text_gain_indication = "You feel strange."
/datum/mutation/human/bad_dna/on_acquiring(mob/living/carbon/human/owner)
- owner << text_gain_indication
+ to_chat(owner, text_gain_indication)
var/mob/new_mob
if(prob(95))
if(prob(50))
@@ -378,7 +378,7 @@
/datum/mutation/human/race/on_acquiring(mob/living/carbon/human/owner)
if(owner.has_brain_worms())
- owner << "You feel something strongly clinging to your humanity!"
+ to_chat(owner, "You feel something strongly clinging to your humanity!")
return
if(..())
return
diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm
index ec8cda24eb3..e3e8d0e366f 100644
--- a/code/datums/progressbar.dm
+++ b/code/datums/progressbar.dm
@@ -29,7 +29,7 @@
bar.pixel_y = 32 + (PROGRESSBAR_HEIGHT * (listindex - 1))
/datum/progressbar/proc/update(progress)
- //world << "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]"
+ //to_chat(world, "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]")
if (!user || !user.client)
shown = 0
return
diff --git a/code/datums/riding.dm b/code/datums/riding.dm
index ec8b7b2b8d9..09d4d1f02a8 100644
--- a/code/datums/riding.dm
+++ b/code/datums/riding.dm
@@ -79,7 +79,7 @@
handle_vehicle_layer()
handle_vehicle_offsets()
else
- user << "You'll need the keys in one of your hands to drive \the [ridden.name]."
+ to_chat(user, "You'll need the keys in one of your hands to drive \the [ridden.name].")
/datum/riding/proc/Process_Spacemove(direction)
if(ridden.has_gravity())
@@ -281,7 +281,7 @@
if(istype(next, /turf/open/floor/plating/lava) || istype(current, /turf/open/floor/plating/lava)) //We can move from land to lava, or lava to land, but not from land to land
..()
else
- user << "Boats don't go on land!"
+ to_chat(user, "Boats don't go on land!")
return 0
/datum/riding/boat/dragon
@@ -315,7 +315,7 @@
handle_vehicle_layer()
handle_vehicle_offsets()
else
- user << "You'll need something to guide the [ridden.name]."
+ to_chat(user, "You'll need something to guide the [ridden.name].")
///////Humans. Yes, I said humans. No, this won't end well...//////////
/datum/riding/human
@@ -377,14 +377,14 @@
if(R.module && R.module.ride_allow_incapacitated)
kick = FALSE
if(kick)
- user << "You fall off of [ridden]!"
+ to_chat(user, "You fall off of [ridden]!")
ridden.unbuckle_mob(user)
return
if(istype(user, /mob/living/carbon))
var/mob/living/carbon/carbonuser = user
if(!carbonuser.get_num_arms())
ridden.unbuckle_mob(user)
- user << "You can't grab onto [ridden] with no hands!"
+ to_chat(user, "You can't grab onto [ridden] with no hands!")
return
/datum/riding/cyborg/handle_vehicle_layer()
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index 9f17f69ce2c..1078dbfaebc 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -208,7 +208,7 @@
alert_type = /obj/screen/alert/status_effect/wish_granters_gift
/datum/status_effect/wish_granters_gift/on_apply()
- owner << "Death is not your end! The Wish Granter's energy suffuses you, and you begin to rise..."
+ to_chat(owner, "Death is not your end! The Wish Granter's energy suffuses you, and you begin to rise...")
/datum/status_effect/wish_granters_gift/on_remove()
owner.revive(full_heal = 1, admin_revive = 1)
diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm
index 529c266efc1..7ab9022848a 100644
--- a/code/datums/status_effects/gas.dm
+++ b/code/datums/status_effects/gas.dm
@@ -12,7 +12,7 @@
/datum/status_effect/freon/on_apply()
if(!owner.stat)
- owner << "You become frozen in a cube!"
+ to_chat(owner, "You become frozen in a cube!")
cube = icon('icons/effects/freeze.dmi', "ice_cube")
owner.add_overlay(cube)
owner.update_canmove()
@@ -24,7 +24,7 @@
/datum/status_effect/freon/on_remove()
if(!owner.stat)
- owner << "The cube melts!"
+ to_chat(owner, "The cube melts!")
owner.cut_overlay(cube)
owner.bodytemperature += 100
owner.update_canmove()
diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm
index 5a28f715b58..f7852d48569 100644
--- a/code/datums/weather/weather.dm
+++ b/code/datums/weather/weather.dm
@@ -67,7 +67,7 @@
var/mob/M = V
if(M.z == target_z)
if(telegraph_message)
- M << telegraph_message
+ to_chat(M, telegraph_message)
if(telegraph_sound)
M << sound(telegraph_sound)
addtimer(CALLBACK(src, .proc/start), telegraph_duration)
@@ -81,7 +81,7 @@
var/mob/M = V
if(M.z == target_z)
if(weather_message)
- M << weather_message
+ to_chat(M, weather_message)
if(weather_sound)
M << sound(weather_sound)
START_PROCESSING(SSweather, src)
@@ -96,7 +96,7 @@
var/mob/M = V
if(M.z == target_z)
if(end_message)
- M << end_message
+ to_chat(M, end_message)
if(end_sound)
M << sound(end_sound)
STOP_PROCESSING(SSweather, src)
diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm
index 8b260807e2b..4468f3dc886 100644
--- a/code/datums/wires/wires.dm
+++ b/code/datums/wires/wires.dm
@@ -234,14 +234,14 @@ var/list/wire_name_directory = list()
cut_color(target_wire)
. = TRUE
else
- L << "You need wirecutters!"
+ to_chat(L, "You need wirecutters!")
if("pulse")
if(istype(I, /obj/item/device/multitool) || IsAdminGhost(usr))
playsound(holder, 'sound/weapons/empty.ogg', 20, 1)
pulse_color(target_wire)
. = TRUE
else
- L << "You need a multitool!"
+ to_chat(L, "You need a multitool!")
if("attach")
if(is_attached(target_wire))
var/obj/item/O = detach_assembly(target_wire)
@@ -257,6 +257,6 @@ var/list/wire_name_directory = list()
attach_assembly(target_wire, A)
. = TRUE
else
- L << "You need an attachable assembly!"
+ to_chat(L, "You need an attachable assembly!")
#undef MAXIMUM_EMP_WIRES
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 849e44cbc0a..47016e218ab 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -32,7 +32,7 @@
//atom creation method that preloads variables at creation
if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New()
_preloader.load(src)
-
+
//. = ..() //uncomment if you are dumb enough to add a /datum/New() proc
var/do_initialize = SSatoms.initialized
@@ -232,26 +232,26 @@
f_name = "a "
f_name += "blood-stained [name]!"
- user << "\icon[src] That's [f_name]"
+ to_chat(user, "\icon[src] That's [f_name]")
if(desc)
- user << desc
+ to_chat(user, desc)
// *****RM
- //user << "[name]: Dn:[density] dir:[dir] cont:[contents] icon:[icon] is:[icon_state] loc:[loc]"
+ //to_chat(user, "[name]: Dn:[density] dir:[dir] cont:[contents] icon:[icon] is:[icon_state] loc:[loc]")
if(reagents && (is_open_container() || is_transparent())) //is_open_container() isn't really the right proc for this, but w/e
- user << "It contains:"
+ to_chat(user, "It contains:")
if(reagents.reagent_list.len)
if(user.can_see_reagents()) //Show each individual reagent
for(var/datum/reagent/R in reagents.reagent_list)
- user << "[R.volume] units of [R.name]"
+ to_chat(user, "[R.volume] units of [R.name]")
else //Otherwise, just show the total volume
var/total_volume = 0
for(var/datum/reagent/R in reagents.reagent_list)
total_volume += R.volume
- user << "[total_volume] units of various reagents"
+ to_chat(user, "[total_volume] units of various reagents")
else
- user << "Nothing."
+ to_chat(user, "Nothing.")
/atom/proc/relaymove()
return
@@ -404,7 +404,7 @@ var/list/blood_splatter_icons = list()
cur_y = y_arr.Find(src.z)
if(cur_y)
break
-// world << "X = [cur_x]; Y = [cur_y]"
+// to_chat(world, "X = [cur_x]; Y = [cur_y]")
if(cur_x && cur_y)
return list("x"=cur_x,"y"=cur_y)
else
diff --git a/code/game/communications.dm b/code/game/communications.dm
index 2052b793936..d343d694a4c 100644
--- a/code/game/communications.dm
+++ b/code/game/communications.dm
@@ -245,12 +245,12 @@ var/list/pointers = list()
if(!holder)
return
- src << "There are [pointers.len] pointers:"
+ to_chat(src, "There are [pointers.len] pointers:")
for(var/p in pointers)
- src << p
+ to_chat(src, p)
var/datum/signal/S = locate(p)
if(istype(S))
- src << S.debug_print()
+ to_chat(src, S.debug_print())
/obj/proc/receive_signal(datum/signal/signal, receive_method, receive_param)
return
diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm
index 0c12b09389e..dc5a6eaf819 100644
--- a/code/game/gamemodes/antag_spawner.dm
+++ b/code/game/gamemodes/antag_spawner.dm
@@ -54,12 +54,12 @@
H.set_machine(src)
if(href_list["school"])
if(used)
- H << "You already used this contract!"
+ to_chat(H, "You already used this contract!")
return
var/list/candidates = pollCandidatesForMob("Do you want to play as a wizard's [href_list["school"]] apprentice?", ROLE_WIZARD, null, ROLE_WIZARD, 150, src)
if(candidates.len)
if(used)
- H << "You already used this contract!"
+ to_chat(H, "You already used this contract!")
return
used = 1
var/mob/dead/observer/theghost = pick(candidates)
@@ -67,7 +67,7 @@
if(H && H.mind)
ticker.mode.update_wiz_icons_added(H.mind)
else
- H << "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later."
+ to_chat(H, "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later.")
/obj/item/weapon/antag_spawner/contract/spawn_antag(client/C, turf/T, type = "")
new /obj/effect/particle_effect/smoke(T)
@@ -77,25 +77,25 @@
var/wizard_name = "the wizard"
if(usr)
wizard_name = usr.real_name
- M << "You are [wizard_name]'s apprentice! You are bound by magic contract to follow their orders and help them in accomplishing their goals."
+ to_chat(M, "You are [wizard_name]'s apprentice! You are bound by magic contract to follow their orders and help them in accomplishing their goals.")
switch(type)
if("destruction")
M.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/projectile/magic_missile(null))
M.mind.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball(null))
- M << "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned powerful, destructive spells. You are able to cast magic missile and fireball."
+ to_chat(M, "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned powerful, destructive spells. You are able to cast magic missile and fireball.")
if("bluespace")
M.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/area_teleport/teleport(null))
M.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(null))
- M << "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned reality bending mobility spells. You are able to cast teleport and ethereal jaunt."
+ to_chat(M, "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned reality bending mobility spells. You are able to cast teleport and ethereal jaunt.")
if("healing")
M.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/charge(null))
M.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/forcewall(null))
M.put_in_hands_or_del(new /obj/item/weapon/gun/magic/staff/healing(M))
- M << "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned livesaving survival spells. You are able to cast charge and forcewall."
+ to_chat(M, "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned livesaving survival spells. You are able to cast charge and forcewall.")
if("robeless")
M.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null))
M.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/mind_transfer(null))
- M << "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap."
+ to_chat(M, "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap.")
equip_antag(M)
var/wizard_name_first = pick(wizard_first)
@@ -140,13 +140,13 @@
/obj/item/weapon/antag_spawner/nuke_ops/proc/check_usability(mob/user)
if(used)
- user << "[src] is out of power!"
+ to_chat(user, "[src] is out of power!")
return 0
if(!(user.mind in ticker.mode.syndicates))
- user << "AUTHENTICATION FAILURE. ACCESS DENIED."
+ to_chat(user, "AUTHENTICATION FAILURE. ACCESS DENIED.")
return 0
if(user.z != ZLEVEL_CENTCOM)
- user << "[src] is out of range! It can only be used at your base!"
+ to_chat(user, "[src] is out of range! It can only be used at your base!")
return 0
return 1
@@ -167,7 +167,7 @@
S.start()
qdel(src)
else
- user << "Unable to connect to Syndicate command. Please wait and try again later or use the teleporter on your uplink to get your points refunded."
+ to_chat(user, "Unable to connect to Syndicate command. Please wait and try again later or use the teleporter on your uplink to get your points refunded.")
/obj/item/weapon/antag_spawner/nuke_ops/spawn_antag(client/C, turf/T)
var/mob/living/carbon/human/M = new/mob/living/carbon/human(T)
@@ -236,7 +236,7 @@
/obj/item/weapon/antag_spawner/slaughter_demon/attack_self(mob/user)
if(user.z != 1)
- user << "You should probably wait until you reach the station."
+ to_chat(user, "You should probably wait until you reach the station.")
return
if(used)
return
@@ -247,12 +247,12 @@
used = 1
var/mob/dead/observer/theghost = pick(demon_candidates)
spawn_antag(theghost.client, get_turf(src), initial(demon_type.name))
- user << shatter_msg
- user << veil_msg
+ to_chat(user, shatter_msg)
+ to_chat(user, veil_msg)
playsound(user.loc, 'sound/effects/Glassbr1.ogg', 100, 1)
qdel(src)
else
- user << "You can't seem to work up the nerve to shatter the bottle. Perhaps you should try again later."
+ to_chat(user, "You can't seem to work up the nerve to shatter the bottle. Perhaps you should try again later.")
/obj/item/weapon/antag_spawner/slaughter_demon/spawn_antag(client/C, turf/T, type = "")
@@ -275,12 +275,12 @@
new_objective2.owner = S.mind
new_objective2.explanation_text = "[objective_verb] everyone[usr ? " else while you're at it":""]."
S.mind.objectives += new_objective2
- S << S.playstyle_string
- S << "You are currently not currently in the same plane of existence as the station. \
- Ctrl+Click a blood pool to manifest."
+ to_chat(S, S.playstyle_string)
+ to_chat(S, "You are currently not currently in the same plane of existence as the station. \
+ Ctrl+Click a blood pool to manifest.")
if(new_objective)
- S << "Objective #[1]: [new_objective.explanation_text]"
- S << "Objective #[new_objective ? "[2]":"[1]"]: [new_objective2.explanation_text]"
+ to_chat(S, "Objective #[1]: [new_objective.explanation_text]")
+ to_chat(S, "Objective #[new_objective ? "[2]":"[1]"]: [new_objective2.explanation_text]")
/obj/item/weapon/antag_spawner/slaughter_demon/laughter
name = "vial of tickles"
diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm
index ed2eca05af3..a5afc4ee91c 100644
--- a/code/game/gamemodes/blob/blob.dm
+++ b/code/game/gamemodes/blob/blob.dm
@@ -70,7 +70,7 @@ var/list/blobs_legit = list() //used for win-score calculations, contains only b
/datum/game_mode/blob/proc/show_message(message)
for(var/datum/mind/blob in blob_overminds)
- blob.current << message
+ to_chat(blob.current, message)
/datum/game_mode/blob/post_setup()
set waitfor = FALSE
@@ -88,7 +88,7 @@ var/list/blobs_legit = list() //used for win-score calculations, contains only b
var/datum/round_event_control/blob/B = locate() in SSevent.control
if(B)
B.max_occurrences = 0 // disable the event
-
+
. = ..()
var/message_delay = rand(messagedelay_low, messagedelay_high) //between 4 and 6 minutes with 2400 low and 3600 high.
diff --git a/code/game/gamemodes/blob/blob_finish.dm b/code/game/gamemodes/blob/blob_finish.dm
index cd1ad542d02..f6d069969ac 100644
--- a/code/game/gamemodes/blob/blob_finish.dm
+++ b/code/game/gamemodes/blob/blob_finish.dm
@@ -21,24 +21,24 @@
..()
if(blobwincount <= blobs_legit.len)
feedback_set_details("round_end_result","win - blob took over")
- world << "The blob has taken over the station!"
- world << "The entire station was eaten by the Blob!"
+ to_chat(world, "The blob has taken over the station!")
+ to_chat(world, "The entire station was eaten by the Blob!")
log_game("Blob mode completed with a blob victory.")
ticker.news_report = BLOB_WIN
else if(station_was_nuked)
feedback_set_details("round_end_result","halfwin - nuke")
- world << "Partial Win: The station has been destroyed!"
- world << "Directive 7-12 has been successfully carried out, preventing the Blob from spreading."
+ to_chat(world, "Partial Win: The station has been destroyed!")
+ to_chat(world, "Directive 7-12 has been successfully carried out, preventing the Blob from spreading.")
log_game("Blob mode completed with a tie (station destroyed).")
ticker.news_report = BLOB_NUKE
else if(!blob_cores.len)
feedback_set_details("round_end_result","loss - blob eliminated")
- world << "The staff has won!"
- world << "The alien organism has been eradicated from the station!"
+ to_chat(world, "The staff has won!")
+ to_chat(world, "The alien organism has been eradicated from the station!")
log_game("Blob mode completed with a crew victory.")
ticker.news_report = BLOB_DESTROYED
@@ -68,5 +68,5 @@
var/text = "The blob[(blob_mode.blob_overminds.len > 1 ? "s were" : " was")]:"
for(var/datum/mind/blob in blob_mode.blob_overminds)
text += printplayer(blob)
- world << text
+ to_chat(world, text)
return 1
diff --git a/code/game/gamemodes/blob/blob_report.dm b/code/game/gamemodes/blob/blob_report.dm
index cf61a3f2780..569db6d4b64 100644
--- a/code/game/gamemodes/blob/blob_report.dm
+++ b/code/game/gamemodes/blob/blob_report.dm
@@ -99,7 +99,7 @@
if(valid_territories.len)
num_territories = valid_territories.len //Add them all up to make the total number of area types
else
- world << "ERROR: NO VALID TERRITORIES"
+ to_chat(world, "ERROR: NO VALID TERRITORIES")
/datum/station_state/proc/score(datum/station_state/result)
if(!result)
diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index 6b2ad841462..72922cc3958 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -68,10 +68,10 @@
var/rendered = "\[Blob Telepathy\] [real_name] [spanned_message]"
for(var/M in mob_list)
if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob))
- M << rendered
+ to_chat(M, rendered)
if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
- M << "[link] [rendered]"
+ to_chat(M, "[link] [rendered]")
////////////////
// BLOB SPORE //
diff --git a/code/game/gamemodes/blob/blobs/factory.dm b/code/game/gamemodes/blob/blobs/factory.dm
index cc0749d0c68..47f1ca3ff30 100644
--- a/code/game/gamemodes/blob/blobs/factory.dm
+++ b/code/game/gamemodes/blob/blobs/factory.dm
@@ -25,7 +25,7 @@
spore.factory = null
if(naut)
naut.factory = null
- naut << "Your factory was destroyed! You feel yourself dying!"
+ to_chat(naut, "Your factory was destroyed! You feel yourself dying!")
naut.throw_alert("nofactory", /obj/screen/alert/nofactory)
spores = null
return ..()
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index 5fb0187ccda..0ce82f07667 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -61,8 +61,8 @@
if(!blob_core)
if(!placed)
if(manualplace_min_time && world.time >= manualplace_min_time)
- src << "You may now place your blob core."
- src << "You will automatically place your blob core in [round((autoplace_max_time - world.time)/600, 0.5)] minutes."
+ to_chat(src, "You may now place your blob core.")
+ to_chat(src, "You will automatically place your blob core in [round((autoplace_max_time - world.time)/600, 0.5)] minutes.")
manualplace_min_time = 0
if(autoplace_max_time && world.time >= autoplace_max_time)
place_blob_core(base_point_rate, 1)
@@ -92,7 +92,7 @@
/mob/camera/blob/Login()
..()
sync_mind()
- src << "You are the overmind!"
+ to_chat(src, "You are the overmind!")
blob_help()
update_health_hud()
add_points(0)
@@ -100,7 +100,7 @@
/mob/camera/blob/examine(mob/user)
..()
if(blob_reagent_datum)
- user << "Its chemical is [blob_reagent_datum.name]."
+ to_chat(user, "Its chemical is [blob_reagent_datum.name].")
/mob/camera/blob/update_health_hud()
if(blob_core)
@@ -119,7 +119,7 @@
if (src.client)
if(client.prefs.muted & MUTE_IC)
- src << "You cannot send IC messages (muted)."
+ to_chat(src, "You cannot send IC messages (muted).")
return
if (src.client.handle_spam_prevention(message,MUTE_IC))
return
@@ -142,10 +142,10 @@
for(var/mob/M in mob_list)
if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob))
- M << rendered
+ to_chat(M, rendered)
if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
- M << "[link] [rendered]"
+ to_chat(M, "[link] [rendered]")
/mob/camera/blob/emote(act,m_type=1,message = null)
return
diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm
index 1dc8df2ceb6..3a4610f66b8 100644
--- a/code/game/gamemodes/blob/powers.dm
+++ b/code/game/gamemodes/blob/powers.dm
@@ -1,6 +1,6 @@
/mob/camera/blob/proc/can_buy(cost = 15)
if(blob_points < cost)
- src << "You cannot afford this, you need at least [cost] resources!"
+ to_chat(src, "You cannot afford this, you need at least [cost] resources!")
return 0
add_points(-cost)
return 1
@@ -15,30 +15,30 @@
if("blob" in M.faction)
continue
if(M.client)
- src << "There is someone too close to place your blob core!"
+ to_chat(src, "There is someone too close to place your blob core!")
return 0
for(var/mob/living/M in view(13, src))
if("blob" in M.faction)
continue
if(M.client)
- src << "Someone could see your blob core from here!"
+ to_chat(src, "Someone could see your blob core from here!")
return 0
var/turf/T = get_turf(src)
if(T.density)
- src << "This spot is too dense to place a blob core on!"
+ to_chat(src, "This spot is too dense to place a blob core on!")
return 0
for(var/obj/O in T)
if(istype(O, /obj/structure/blob))
if(istype(O, /obj/structure/blob/normal))
qdel(O)
else
- src << "There is already a blob here!"
+ to_chat(src, "There is already a blob here!")
return 0
else if(O.density)
- src << "This spot is too dense to place a blob core on!"
+ to_chat(src, "This spot is too dense to place a blob core on!")
return 0
if(world.time <= manualplace_min_time && world.time <= autoplace_max_time)
- src << "It is too early to place your blob core!"
+ to_chat(src, "It is too early to place your blob core!")
return 0
else if(placement_override == 1)
var/turf/T = pick(blobstart)
@@ -80,19 +80,19 @@
T = get_turf(src)
var/obj/structure/blob/B = (locate(/obj/structure/blob) in T)
if(!B)
- src << "There is no blob here!"
+ to_chat(src, "There is no blob here!")
return
if(!istype(B, /obj/structure/blob/normal))
- src << "Unable to use this blob, find a normal one."
+ to_chat(src, "Unable to use this blob, find a normal one.")
return
if(needsNode && nodes_required)
if(!(locate(/obj/structure/blob/node) in orange(3, T)) && !(locate(/obj/structure/blob/core) in orange(4, T)))
- src << "You need to place this blob closer to a node or core!"
+ to_chat(src, "You need to place this blob closer to a node or core!")
return //handholdotron 2000
if(nearEquals)
for(var/obj/structure/blob/L in orange(nearEquals, T))
if(L.type == blobType)
- src << "There is a similar blob nearby, move more than [nearEquals] tiles away from it!"
+ to_chat(src, "There is a similar blob nearby, move more than [nearEquals] tiles away from it!")
return
if(!can_buy(price))
return
@@ -105,9 +105,9 @@
set desc = "Toggle requiring nodes to place resource and factory blobs."
nodes_required = !nodes_required
if(nodes_required)
- src << "You now require a nearby node or core to place factory and resource blobs."
+ to_chat(src, "You now require a nearby node or core to place factory and resource blobs.")
else
- src << "You no longer require a nearby node or core to place factory and resource blobs."
+ to_chat(src, "You no longer require a nearby node or core to place factory and resource blobs.")
/mob/camera/blob/verb/create_shield_power()
set category = "Blob"
@@ -143,13 +143,13 @@
var/turf/T = get_turf(src)
var/obj/structure/blob/factory/B = locate(/obj/structure/blob/factory) in T
if(!B)
- src << "You must be on a factory blob!"
+ to_chat(src, "You must be on a factory blob!")
return
if(B.naut) //if it already made a blobbernaut, it can't do it again
- src << "This factory blob is already sustaining a blobbernaut."
+ to_chat(src, "This factory blob is already sustaining a blobbernaut.")
return
if(B.obj_integrity < B.max_integrity * 0.5)
- src << "This factory blob is too damaged to sustain a blobbernaut."
+ to_chat(src, "This factory blob is too damaged to sustain a blobbernaut.")
return
if(!can_buy(40))
return
@@ -173,11 +173,11 @@
blobber.key = C.key
blobber << 'sound/effects/blobattack.ogg'
blobber << 'sound/effects/attackblob.ogg'
- blobber << "You are a blobbernaut!"
- blobber << "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed."
- blobber << "You can communicate with other blobbernauts and overminds via :b"
- blobber << "Your overmind's blob reagent is: [blob_reagent_datum.name]!"
- blobber << "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]"
+ to_chat(blobber, "You are a blobbernaut!")
+ to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.")
+ to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b")
+ to_chat(blobber, "Your overmind's blob reagent is: [blob_reagent_datum.name]!")
+ to_chat(blobber, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]")
if(blobber)
blobber.notransform = 0
@@ -188,14 +188,14 @@
var/turf/T = get_turf(src)
var/obj/structure/blob/node/B = locate(/obj/structure/blob/node) in T
if(!B)
- src << "You must be on a blob node!"
+ to_chat(src, "You must be on a blob node!")
return
if(!blob_core)
- src << "You have no core and are about to die! May you rest in peace."
+ to_chat(src, "You have no core and are about to die! May you rest in peace.")
return
var/area/A = get_area(T)
if(isspaceturf(T) || A && !A.blob_allowed)
- src << "You cannot relocate your core here!"
+ to_chat(src, "You cannot relocate your core here!")
return
if(!can_buy(80))
return
@@ -216,17 +216,17 @@
/mob/camera/blob/proc/remove_blob(turf/T)
var/obj/structure/blob/B = locate() in T
if(!B)
- src << "There is no blob there!"
+ to_chat(src, "There is no blob there!")
return
if(B.point_return < 0)
- src << "Unable to remove this blob."
+ to_chat(src, "Unable to remove this blob.")
return
if(max_blob_points < B.point_return + blob_points)
- src << "You have too many resources to remove this blob!"
+ to_chat(src, "You have too many resources to remove this blob!")
return
if(B.point_return)
add_points(B.point_return)
- src << "Gained [B.point_return] resources from removing \the [B]."
+ to_chat(src, "Gained [B.point_return] resources from removing \the [B].")
qdel(B)
/mob/camera/blob/verb/expand_blob_power()
@@ -243,7 +243,7 @@
for(var/obj/structure/blob/AB in range(T, 1))
possibleblobs += AB
if(!possibleblobs.len)
- src << "There is no blob adjacent to the target tile!"
+ to_chat(src, "There is no blob adjacent to the target tile!")
return
if(can_buy(4))
var/attacksuccess = FALSE
@@ -260,7 +260,7 @@
if(attacksuccess) //if we successfully attacked a turf with a blob on it, don't refund shit
B.blob_attack_animation(T, src)
else
- src << "There is a blob there!"
+ to_chat(src, "There is a blob there!")
add_points(4) //otherwise, refund all of the cost
else
var/list/cardinalblobs = list()
@@ -295,7 +295,7 @@
rally_spores(T)
/mob/camera/blob/proc/rally_spores(turf/T)
- src << "You rally your spores."
+ to_chat(src, "You rally your spores.")
var/list/surrounding_turfs = block(locate(T.x - 1, T.y - 1, T.z), locate(T.x + 1, T.y + 1, T.z))
if(!surrounding_turfs.len)
return
@@ -312,7 +312,7 @@
if(!speak_text)
return
else
- src << "You broadcast with your minions, [speak_text]"
+ to_chat(src, "You broadcast with your minions, [speak_text]")
for(var/BLO in blob_mobs)
var/mob/living/simple_animal/hostile/blob/BM = BLO
if(BM.stat == CONSCIOUS)
@@ -337,33 +337,33 @@
for(var/BLO in blob_mobs)
var/mob/living/simple_animal/hostile/blob/BM = BLO
BM.update_icons() //If it's getting a new chemical, tell it what it does!
- BM << "Your overmind's blob reagent is now: [blob_reagent_datum.name]!"
- BM << "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]"
- src << "Your reagent is now: [blob_reagent_datum.name]!"
- src << "The [blob_reagent_datum.name] reagent [blob_reagent_datum.description]"
+ to_chat(BM, "Your overmind's blob reagent is now: [blob_reagent_datum.name]!")
+ to_chat(BM, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]")
+ to_chat(src, "Your reagent is now: [blob_reagent_datum.name]!")
+ to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.description]")
if(blob_reagent_datum.effectdesc)
- src << "The [blob_reagent_datum.name] reagent [blob_reagent_datum.effectdesc]"
+ to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.effectdesc]")
/mob/camera/blob/verb/blob_help()
set category = "Blob"
set name = "*Blob Help*"
set desc = "Help on how to blob."
- src << "As the overmind, you can control the blob!"
- src << "Your blob reagent is: [blob_reagent_datum.name]!"
- src << "The [blob_reagent_datum.name] reagent [blob_reagent_datum.description]"
+ to_chat(src, "As the overmind, you can control the blob!")
+ to_chat(src, "Your blob reagent is: [blob_reagent_datum.name]!")
+ to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.description]")
if(blob_reagent_datum.effectdesc)
- src << "The [blob_reagent_datum.name] reagent [blob_reagent_datum.effectdesc]"
- src << "You can expand, which will attack people, damage objects, or place a Normal Blob if the tile is clear."
- src << "Normal Blobs will expand your reach and can be upgraded into special blobs that perform certain functions."
- src << "You can upgrade normal blobs into the following types of blob:"
- src << "Shield Blobs are strong and expensive blobs which take more damage. In additon, they are fireproof and can block air, use these to protect yourself from station fires."
- src << "Resource Blobs are blobs which produce more resources for you, build as many of these as possible to consume the station. This type of blob must be placed near node blobs or your core to work."
- src << "Factory Blobs are blobs that spawn blob spores which will attack nearby enemies. This type of blob must be placed near node blobs or your core to work."
- src << "Blobbernauts can be produced from factories for a cost, and are hard to kill, powerful, and moderately smart. The factory used to create one will become fragile and briefly unable to produce spores."
- src << "Node Blobs are blobs which grow, like the core. Like the core it can activate resource and factory blobs."
- src << "In addition to the buttons on your HUD, there are a few click shortcuts to speed up expansion and defense."
- src << "Shortcuts: Click = Expand Blob | Middle Mouse Click = Rally Spores | Ctrl Click = Create Shield Blob | Alt Click = Remove Blob"
- src << "Attempting to talk will send a message to all other overminds, allowing you to coordinate with them."
+ to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.effectdesc]")
+ to_chat(src, "You can expand, which will attack people, damage objects, or place a Normal Blob if the tile is clear.")
+ to_chat(src, "Normal Blobs will expand your reach and can be upgraded into special blobs that perform certain functions.")
+ to_chat(src, "You can upgrade normal blobs into the following types of blob:")
+ to_chat(src, "Shield Blobs are strong and expensive blobs which take more damage. In additon, they are fireproof and can block air, use these to protect yourself from station fires.")
+ to_chat(src, "Resource Blobs are blobs which produce more resources for you, build as many of these as possible to consume the station. This type of blob must be placed near node blobs or your core to work.")
+ to_chat(src, "Factory Blobs are blobs that spawn blob spores which will attack nearby enemies. This type of blob must be placed near node blobs or your core to work.")
+ to_chat(src, "Blobbernauts can be produced from factories for a cost, and are hard to kill, powerful, and moderately smart. The factory used to create one will become fragile and briefly unable to produce spores.")
+ to_chat(src, "Node Blobs are blobs which grow, like the core. Like the core it can activate resource and factory blobs.")
+ to_chat(src, "In addition to the buttons on your HUD, there are a few click shortcuts to speed up expansion and defense.")
+ to_chat(src, "Shortcuts: Click = Expand Blob | Middle Mouse Click = Rally Spores | Ctrl Click = Create Shield Blob | Alt Click = Remove Blob")
+ to_chat(src, "Attempting to talk will send a message to all other overminds, allowing you to coordinate with them.")
if(!placed && autoplace_max_time <= world.time)
- src << "You will automatically place your blob core in [round((autoplace_max_time - world.time)/600, 0.5)] minutes."
- src << "You [manualplace_min_time ? "will be able to":"can"] manually place your blob core by pressing the Place Blob Core button in the bottom right corner of the screen."
+ to_chat(src, "You will automatically place your blob core in [round((autoplace_max_time - world.time)/600, 0.5)] minutes.")
+ to_chat(src, "You [manualplace_min_time ? "will be able to":"can"] manually place your blob core by pressing the Place Blob Core button in the bottom right corner of the screen.")
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index 9f9bf973a00..4924b06ed5d 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -229,7 +229,7 @@
/obj/structure/blob/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/analyzer))
user.changeNext_move(CLICK_CD_MELEE)
- user << "The analyzer beeps once, then reports:
"
+ to_chat(user, "The analyzer beeps once, then reports:
")
user << 'sound/machines/ping.ogg'
chemeffectreport(user)
typereport(user)
@@ -238,16 +238,16 @@
/obj/structure/blob/proc/chemeffectreport(mob/user)
if(overmind)
- user << "Material: [overmind.blob_reagent_datum.name]."
- user << "Material Effects: [overmind.blob_reagent_datum.analyzerdescdamage]"
- user << "Material Properties: [overmind.blob_reagent_datum.analyzerdesceffect]
"
+ to_chat(user, "Material: [overmind.blob_reagent_datum.name].")
+ to_chat(user, "Material Effects: [overmind.blob_reagent_datum.analyzerdescdamage]")
+ to_chat(user, "Material Properties: [overmind.blob_reagent_datum.analyzerdesceffect]
")
else
- user << "No Material Detected!
"
+ to_chat(user, "No Material Detected!
")
/obj/structure/blob/proc/typereport(mob/user)
- user << "Blob Type: [uppertext(initial(name))]"
- user << "Health: [obj_integrity]/[max_integrity]"
- user << "Effects: [scannerreport()]"
+ to_chat(user, "Blob Type: [uppertext(initial(name))]")
+ to_chat(user, "Health: [obj_integrity]/[max_integrity]")
+ to_chat(user, "Effects: [scannerreport()]")
/obj/structure/blob/attack_animal(mob/living/simple_animal/M)
if("blob" in M.faction) //sorry, but you can't kill the blob as a blobbernaut
@@ -308,11 +308,11 @@
..()
var/datum/atom_hud/hud_to_check = huds[DATA_HUD_MEDICAL_ADVANCED]
if(user.research_scanner || (user in hud_to_check.hudusers))
- user << "Your HUD displays an extensive report...
"
+ to_chat(user, "Your HUD displays an extensive report...
")
chemeffectreport(user)
typereport(user)
else
- user << "It seems to be made of [get_chem_name()]."
+ to_chat(user, "It seems to be made of [get_chem_name()].")
/obj/structure/blob/proc/scannerreport()
return "A generic blob. Looks like someone forgot to override this proc, adminhelp this."
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index 56147b61d9f..a99241fc01d 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -197,19 +197,19 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
/datum/game_mode/proc/greet_changeling(datum/mind/changeling, you_are=1)
if (you_are)
- changeling.current << "You are [changeling.changeling.changelingID], a changeling! You have absorbed and taken the form of a human."
- changeling.current << "Use say \":g message\" to communicate with your fellow changelings."
- changeling.current << "You must complete the following tasks:"
+ to_chat(changeling.current, "You are [changeling.changeling.changelingID], a changeling! You have absorbed and taken the form of a human.")
+ to_chat(changeling.current, "Use say \":g message\" to communicate with your fellow changelings.")
+ to_chat(changeling.current, "You must complete the following tasks:")
if (changeling.current.mind)
var/mob/living/carbon/human/H = changeling.current
if(H.mind.assigned_role == "Clown")
- H << "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself."
+ to_chat(H, "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself.")
H.dna.remove_mutation(CLOWNMUT)
var/obj_count = 1
for(var/datum/objective/objective in changeling.objectives)
- changeling.current << "Objective #[obj_count]: [objective.explanation_text]"
+ to_chat(changeling.current, "Objective #[obj_count]: [objective.explanation_text]")
obj_count++
return
@@ -269,7 +269,7 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
feedback_add_details("changeling_success","FAIL")
text += "
"
- world << text
+ to_chat(world, text)
return 1
@@ -351,25 +351,25 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
var/datum/changelingprofile/prof = stored_profiles[1]
if(prof.dna == user.dna && stored_profiles.len >= dna_max)//If our current DNA is the stalest, we gotta ditch it.
if(verbose)
- user << "We have reached our capacity to store genetic information! We must transform before absorbing more."
+ to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.")
return
if(!target)
return
if((target.disabilities & NOCLONE) || (target.disabilities & HUSK))
if(verbose)
- user << "DNA of [target] is ruined beyond usability!"
+ to_chat(user, "DNA of [target] is ruined beyond usability!")
return
if(!ishuman(target))//Absorbing monkeys is entirely possible, but it can cause issues with transforming. That's what lesser form is for anyway!
if(verbose)
- user << "We could gain no benefit from absorbing a lesser creature."
+ to_chat(user, "We could gain no benefit from absorbing a lesser creature.")
return
if(has_dna(target.dna))
if(verbose)
- user << "We already have this DNA in storage!"
+ to_chat(user, "We already have this DNA in storage!")
return
if(!target.has_dna())
if(verbose)
- user << "[target] is not compatible with our biology."
+ to_chat(user, "[target] is not compatible with our biology.")
return
return 1
diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm
index 553ec6991f6..fcf88d51f96 100644
--- a/code/game/gamemodes/changeling/changeling_power.dm
+++ b/code/game/gamemodes/changeling/changeling_power.dm
@@ -54,23 +54,23 @@
if(!ishuman(user) && !ismonkey(user)) //typecast everything from mob to carbon from this point onwards
return 0
if(req_human && !ishuman(user))
- user << "We cannot do that in this form!"
+ to_chat(user, "We cannot do that in this form!")
return 0
var/datum/changeling/c = user.mind.changeling
if(c.chem_charges < chemical_cost)
- user << "We require at least [chemical_cost] unit\s of chemicals to do that!"
+ to_chat(user, "We require at least [chemical_cost] unit\s of chemicals to do that!")
return 0
if(c.absorbedcount < req_dna)
- user << "We require at least [req_dna] sample\s of compatible DNA."
+ to_chat(user, "We require at least [req_dna] sample\s of compatible DNA.")
return 0
if(req_stat < user.stat)
- user << "We are incapacitated."
+ to_chat(user, "We are incapacitated.")
return 0
if((user.status_flags & FAKEDEATH) && (!ignores_fakedeath))
- user << "We are incapacitated."
+ to_chat(user, "We are incapacitated.")
return 0
if(c.geneticdamage > max_genetic_damage)
- user << "Our genomes are still reassembling. We need time to recover first."
+ to_chat(user, "Our genomes are still reassembling. We need time to recover first.")
return 0
return 1
diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm
index e747f6385cf..f37239a6e98 100644
--- a/code/game/gamemodes/changeling/evolution_menu.dm
+++ b/code/game/gamemodes/changeling/evolution_menu.dm
@@ -8,27 +8,27 @@
thepower = S
if(thepower == null)
- user << "This is awkward. Changeling power purchase failed, please report this bug to a coder!"
+ to_chat(user, "This is awkward. Changeling power purchase failed, please report this bug to a coder!")
return
if(absorbedcount < thepower.req_dna)
- user << "We lack the energy to evolve this ability!"
+ to_chat(user, "We lack the energy to evolve this ability!")
return
if(has_sting(thepower))
- user << "We have already evolved this ability!"
+ to_chat(user, "We have already evolved this ability!")
return
if(thepower.dna_cost < 0)
- user << "We cannot evolve this ability."
+ to_chat(user, "We cannot evolve this ability.")
return
if(geneticpoints < thepower.dna_cost)
- user << "We have reached our capacity for abilities."
+ to_chat(user, "We have reached our capacity for abilities.")
return
if(user.status_flags & FAKEDEATH)//To avoid potential exploits by buying new powers while in stasis, which clears your verblist.
- user << "We lack the energy to evolve new abilities right now."
+ to_chat(user, "We lack the energy to evolve new abilities right now.")
return
geneticpoints -= thepower.dna_cost
@@ -38,16 +38,16 @@
//Reselect powers
/datum/changeling/proc/lingRespec(mob/user)
if(!ishuman(user))
- user << "We can't remove our evolutions in this form!"
+ to_chat(user, "We can't remove our evolutions in this form!")
return
if(canrespec)
- user << "We have removed our evolutions from this form, and are now ready to readapt."
+ to_chat(user, "We have removed our evolutions from this form, and are now ready to readapt.")
user.remove_changeling_powers(1)
canrespec = 0
user.make_changeling()
return 1
else
- user << "You lack the power to readapt your evolutions!"
+ to_chat(user, "You lack the power to readapt your evolutions!")
return 0
/mob/proc/make_changeling()
diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm
index 5ed20c46c38..7b7e781b267 100644
--- a/code/game/gamemodes/changeling/powers/absorb.dm
+++ b/code/game/gamemodes/changeling/powers/absorb.dm
@@ -12,14 +12,14 @@
var/datum/changeling/changeling = user.mind.changeling
if(changeling.isabsorbing)
- user << "We are already absorbing!"
+ to_chat(user, "We are already absorbing!")
return
if(!user.pulling || !iscarbon(user.pulling))
- user << "We must be grabbing a creature to absorb them!"
+ to_chat(user, "We must be grabbing a creature to absorb them!")
return
if(user.grab_state <= GRAB_NECK)
- user << "We must have a tighter grip to absorb this creature!"
+ to_chat(user, "We must have a tighter grip to absorb this creature!")
return
var/mob/living/carbon/target = user.pulling
@@ -34,22 +34,22 @@
for(var/stage = 1, stage<=3, stage++)
switch(stage)
if(1)
- user << "This creature is compatible. We must hold still..."
+ to_chat(user, "This creature is compatible. We must hold still...")
if(2)
user.visible_message("[user] extends a proboscis!", "We extend a proboscis.")
if(3)
user.visible_message("[user] stabs [target] with the proboscis!", "We stab [target] with the proboscis.")
- target << "You feel a sharp stabbing pain!"
+ to_chat(target, "You feel a sharp stabbing pain!")
target.take_overall_damage(40)
feedback_add_details("changeling_powers","A[stage]")
if(!do_mob(user, target, 150))
- user << "Our absorption of [target] has been interrupted!"
+ to_chat(user, "Our absorption of [target] has been interrupted!")
changeling.isabsorbing = 0
return
user.visible_message("[user] sucks the fluids from [target]!", "We have absorbed [target].")
- target << "You are absorbed by the changeling!"
+ to_chat(target, "You are absorbed by the changeling!")
if(!changeling.has_dna(target.dna))
changeling.add_new_profile(target, user)
@@ -77,12 +77,12 @@
if(recent_speech.len)
user.mind.store_memory("Some of [target]'s speech patterns, we should study these to better impersonate them!")
- user << "Some of [target]'s speech patterns, we should study these to better impersonate them!"
+ to_chat(user, "Some of [target]'s speech patterns, we should study these to better impersonate them!")
for(var/spoken_memory in recent_speech)
user.mind.store_memory("\"[recent_speech[spoken_memory]]\"")
- user << "\"[recent_speech[spoken_memory]]\""
+ to_chat(user, "\"[recent_speech[spoken_memory]]\"")
user.mind.store_memory("We have no more knowledge of [target]'s speech patterns.")
- user << "We have no more knowledge of [target]'s speech patterns."
+ to_chat(user, "We have no more knowledge of [target]'s speech patterns.")
if(target.mind.changeling)//If the target was a changeling, suck out their extra juice and objective points!
changeling.chem_charges += min(target.mind.changeling.chem_charges, changeling.chem_storage)
diff --git a/code/game/gamemodes/changeling/powers/adrenaline.dm b/code/game/gamemodes/changeling/powers/adrenaline.dm
index b0d3bd841d1..962297a00bf 100644
--- a/code/game/gamemodes/changeling/powers/adrenaline.dm
+++ b/code/game/gamemodes/changeling/powers/adrenaline.dm
@@ -9,7 +9,7 @@
//Recover from stuns.
/obj/effect/proc_holder/changeling/adrenaline/sting_action(mob/living/user)
- user << "Energy rushes through us.[user.lying ? " We arise." : ""]"
+ to_chat(user, "Energy rushes through us.[user.lying ? " We arise." : ""]")
user.SetSleeping(0)
user.SetParalysis(0)
user.SetStunned(0)
diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm
index b361e47d644..6cf5d55d2df 100644
--- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm
+++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm
@@ -17,14 +17,14 @@
if(E.flash_protect)
E.sight_flags |= SEE_MOBS
E.flash_protect = -1
- user << "We adjust our eyes to sense prey through walls."
+ to_chat(user, "We adjust our eyes to sense prey through walls.")
else
E.sight_flags -= SEE_MOBS
E.flash_protect = 2
- user << "We adjust our eyes to protect them from bright lights."
+ to_chat(user, "We adjust our eyes to protect them from bright lights.")
user.update_sight()
else
- user << "We can't adjust our eyes if we don't have any!"
+ to_chat(user, "We can't adjust our eyes if we don't have any!")
diff --git a/code/game/gamemodes/changeling/powers/biodegrade.dm b/code/game/gamemodes/changeling/powers/biodegrade.dm
index 68b05b839d5..dd953ba1801 100644
--- a/code/game/gamemodes/changeling/powers/biodegrade.dm
+++ b/code/game/gamemodes/changeling/powers/biodegrade.dm
@@ -12,7 +12,7 @@
/obj/effect/proc_holder/changeling/biodegrade/sting_action(mob/living/carbon/human/user)
var/used = FALSE // only one form of shackles removed per use
if(!user.restrained() && istype(user.loc, /turf/open))
- user << "We are already free!"
+ to_chat(user, "We are already free!")
return 0
if(user.handcuffed)
@@ -40,7 +40,7 @@
if(!istype(C))
return 0
C.visible_message("[C]'s hinges suddenly begin to melt and run!")
- user << "We vomit acidic goop onto the interior of [C]!"
+ to_chat(user, "We vomit acidic goop onto the interior of [C]!")
addtimer(CALLBACK(src, .proc/open_closet, user, C), 70)
used = TRUE
@@ -49,7 +49,7 @@
if(!istype(C))
return 0
C.visible_message("[src] shifts and starts to fall apart!")
- user << "We secrete acidic enzymes from our skin and begin melting our cocoon..."
+ to_chat(user, "We secrete acidic enzymes from our skin and begin melting our cocoon...")
addtimer(CALLBACK(src, .proc/dissolve_cocoon, user, C), 25) //Very short because it's just webs
used = TRUE
@@ -74,9 +74,9 @@
C.locked = FALSE
C.broken = TRUE
C.open()
- user << "We open the container restraining us!"
+ to_chat(user, "We open the container restraining us!")
/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_cocoon(mob/living/carbon/human/user, obj/structure/spider/cocoon/C)
if(C && user.loc == C)
qdel(C) //The cocoon's destroy will move the changeling outside of it without interference
- user << "We dissolve the cocoon!"
+ to_chat(user, "We dissolve the cocoon!")
diff --git a/code/game/gamemodes/changeling/powers/digitalcamo.dm b/code/game/gamemodes/changeling/powers/digitalcamo.dm
index c992e7e0516..465d07b4995 100644
--- a/code/game/gamemodes/changeling/powers/digitalcamo.dm
+++ b/code/game/gamemodes/changeling/powers/digitalcamo.dm
@@ -8,11 +8,11 @@
/obj/effect/proc_holder/changeling/digitalcamo/sting_action(mob/user)
if(user.digitalcamo)
- user << "We return to normal."
+ to_chat(user, "We return to normal.")
user.digitalinvis = 0
user.digitalcamo = 0
else
- user << "We distort our form to hide from the AI"
+ to_chat(user, "We distort our form to hide from the AI")
user.digitalcamo = 1
user.digitalinvis = 1
diff --git a/code/game/gamemodes/changeling/powers/fakedeath.dm b/code/game/gamemodes/changeling/powers/fakedeath.dm
index f5e07c51a99..634b2ab0b0e 100644
--- a/code/game/gamemodes/changeling/powers/fakedeath.dm
+++ b/code/game/gamemodes/changeling/powers/fakedeath.dm
@@ -10,7 +10,7 @@
//Fake our own death and fully heal. You will appear to be dead but regenerate fully after a short delay.
/obj/effect/proc_holder/changeling/fakedeath/sting_action(mob/living/user)
- user << "We begin our stasis, preparing energy to arise once more."
+ to_chat(user, "We begin our stasis, preparing energy to arise once more.")
if(user.stat != DEAD)
user.emote("deathgasp")
user.tod = worldtime2text()
@@ -25,12 +25,12 @@
/obj/effect/proc_holder/changeling/fakedeath/proc/ready_to_regenerate(mob/user)
if(user && user.mind && user.mind.changeling && user.mind.changeling.purchasedpowers)
- user << "We are ready to revive."
+ to_chat(user, "We are ready to revive.")
user.mind.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/revive(null)
/obj/effect/proc_holder/changeling/fakedeath/can_sting(mob/user)
if(user.status_flags & FAKEDEATH)
- user << "We are already reviving."
+ to_chat(user, "We are already reviving.")
return
if(!user.stat) //Confirmation for living changelings if they want to fake their death
switch(alert("Are we sure we wish to fake our own death?",,"Yes", "No"))
diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm
index 89e05977df1..6a409cd3f7c 100644
--- a/code/game/gamemodes/changeling/powers/fleshmend.dm
+++ b/code/game/gamemodes/changeling/powers/fleshmend.dm
@@ -30,10 +30,10 @@
//Starts healing you every second for 10 seconds.
//Can be used whilst unconscious.
/obj/effect/proc_holder/changeling/fleshmend/sting_action(mob/living/user)
- user << "We begin to heal rapidly."
+ to_chat(user, "We begin to heal rapidly.")
if(recent_uses > 1)
- user << "Our healing's effectiveness is reduced \
- by quick repeated use!"
+ to_chat(user, "Our healing's effectiveness is reduced \
+ by quick repeated use!")
recent_uses++
INVOKE_ASYNC(src, .proc/fleshmend, user)
diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm
index cfd6dd34633..5d1bd787ef7 100644
--- a/code/game/gamemodes/changeling/powers/headcrab.dm
+++ b/code/game/gamemodes/changeling/powers/headcrab.dm
@@ -16,13 +16,13 @@
explosion(get_turf(user),0,0,2,0,silent=1)
for(var/mob/living/carbon/human/H in range(2,user))
- H << "You are blinded by a shower of blood!"
+ to_chat(H, "You are blinded by a shower of blood!")
H.Stun(1)
H.blur_eyes(20)
H.adjust_eye_damage(5)
H.confused += 3
for(var/mob/living/silicon/S in range(2,user))
- S << "Your sensors are disabled by a shower of blood!"
+ to_chat(S, "Your sensors are disabled by a shower of blood!")
S.Weaken(3)
var/turf = get_turf(user)
user.gib()
@@ -36,4 +36,4 @@
if(crab.origin)
crab.origin.active = 1
crab.origin.transfer_to(crab)
- crab << "You burst out of the remains of your former body in a shower of gore!"
\ No newline at end of file
+ to_chat(crab, "You burst out of the remains of your former body in a shower of gore!")
\ No newline at end of file
diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm
index 3311d3787ac..970a790dc05 100644
--- a/code/game/gamemodes/changeling/powers/hivemind.dm
+++ b/code/game/gamemodes/changeling/powers/hivemind.dm
@@ -10,7 +10,7 @@
..()
var/datum/changeling/changeling=user.mind.changeling
changeling.changeling_speak = 1
- user << "Use say \":g message\" to communicate with the other changelings."
+ to_chat(user, "Use say \":g message\" to communicate with the other changelings.")
var/obj/effect/proc_holder/changeling/hivemind_upload/S1 = new
if(!changeling.has_sting(S1))
changeling.purchasedpowers+=S1
@@ -36,7 +36,7 @@ var/list/datum/dna/hivemind_bank = list()
names += prof.name
if(names.len <= 0)
- user << "The airwaves already have all of our DNA."
+ to_chat(user, "The airwaves already have all of our DNA.")
return
var/chosen_name = input("Select a DNA to channel: ", "Channel DNA", null) as null|anything in names
@@ -50,7 +50,7 @@ var/list/datum/dna/hivemind_bank = list()
var/datum/changelingprofile/uploaded_dna = new chosen_dna.type
chosen_dna.copy_profile(uploaded_dna)
hivemind_bank += uploaded_dna
- user << "We channel the DNA of [chosen_name] to the air."
+ to_chat(user, "We channel the DNA of [chosen_name] to the air.")
feedback_add_details("changeling_powers","HU")
return 1
@@ -66,7 +66,7 @@ var/list/datum/dna/hivemind_bank = list()
var/datum/changeling/changeling = user.mind.changeling
var/datum/changelingprofile/first_prof = changeling.stored_profiles[1]
if(first_prof.name == user.real_name)//If our current DNA is the stalest, we gotta ditch it.
- user << "We have reached our capacity to store genetic information! We must transform before absorbing more."
+ to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.")
return
return 1
@@ -78,7 +78,7 @@ var/list/datum/dna/hivemind_bank = list()
names[prof.name] = prof
if(names.len <= 0)
- user << "There's no new DNA to absorb from the air."
+ to_chat(user, "There's no new DNA to absorb from the air.")
return
var/S = input("Select a DNA absorb from the air: ", "Absorb DNA", null) as null|anything in names
@@ -91,6 +91,6 @@ var/list/datum/dna/hivemind_bank = list()
var/datum/changelingprofile/downloaded_prof = new chosen_prof.type
chosen_prof.copy_profile(downloaded_prof)
changeling.add_profile(downloaded_prof)
- user << "We absorb the DNA of [S] from the air."
+ to_chat(user, "We absorb the DNA of [S] from the air.")
feedback_add_details("changeling_powers","HD")
return 1
diff --git a/code/game/gamemodes/changeling/powers/humanform.dm b/code/game/gamemodes/changeling/powers/humanform.dm
index 5fde1238159..077f0a96e57 100644
--- a/code/game/gamemodes/changeling/powers/humanform.dm
+++ b/code/game/gamemodes/changeling/powers/humanform.dm
@@ -23,7 +23,7 @@
return
if(!user || user.notransform)
return 0
- user << "We transform our appearance."
+ to_chat(user, "We transform our appearance.")
changeling.purchasedpowers -= src
diff --git a/code/game/gamemodes/changeling/powers/lesserform.dm b/code/game/gamemodes/changeling/powers/lesserform.dm
index 05406b02bdf..7281432ba01 100644
--- a/code/game/gamemodes/changeling/powers/lesserform.dm
+++ b/code/game/gamemodes/changeling/powers/lesserform.dm
@@ -10,7 +10,7 @@
/obj/effect/proc_holder/changeling/lesserform/sting_action(mob/living/carbon/human/user)
if(!user || user.notransform)
return 0
- user << "Our genes cry out!"
+ to_chat(user, "Our genes cry out!")
user.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE)
diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm
index 104458b85c6..816f853d45d 100644
--- a/code/game/gamemodes/changeling/powers/linglink.dm
+++ b/code/game/gamemodes/changeling/powers/linglink.dm
@@ -11,26 +11,26 @@
return
var/datum/changeling/changeling = user.mind.changeling
if(changeling.islinking)
- user << "We have already formed a link with the victim!"
+ to_chat(user, "We have already formed a link with the victim!")
return
if(!user.pulling)
- user << "We must be tightly grabbing a creature to link with them!"
+ to_chat(user, "We must be tightly grabbing a creature to link with them!")
return
if(!iscarbon(user.pulling))
- user << "We cannot link with this creature!"
+ to_chat(user, "We cannot link with this creature!")
return
var/mob/living/carbon/target = user.pulling
if(!target.mind)
- user << "The victim has no mind to link to!"
+ to_chat(user, "The victim has no mind to link to!")
return
if(target.stat == DEAD)
- user << "The victim is dead, you cannot link to a dead mind!"
+ to_chat(user, "The victim is dead, you cannot link to a dead mind!")
return
if(target.mind.changeling)
- user << "The victim is already a part of the hivemind!"
+ to_chat(user, "The victim is already a part of the hivemind!")
return
if(user.grab_state <= GRAB_AGGRESSIVE)
- user << "We must have a tighter grip to link with this creature!"
+ to_chat(user, "We must have a tighter grip to link with this creature!")
return
return changeling.can_absorb_dna(user,target)
@@ -41,29 +41,29 @@
for(var/i in 1 to 3)
switch(i)
if(1)
- user << "This creature is compatible. We must hold still..."
+ to_chat(user, "This creature is compatible. We must hold still...")
if(2)
- user << "We stealthily stab [target] with a minor proboscis..."
- target << "You experience a stabbing sensation and your ears begin to ring..."
+ to_chat(user, "We stealthily stab [target] with a minor proboscis...")
+ to_chat(target, "You experience a stabbing sensation and your ears begin to ring...")
if(3)
- user << "We mold the [target]'s mind like clay, granting [target.p_them()] the ability to speak in the hivemind!"
- target << "A migraine throbs behind your eyes, you hear yourself screaming - but your mouth has not opened!"
+ to_chat(user, "We mold the [target]'s mind like clay, granting [target.p_them()] the ability to speak in the hivemind!")
+ to_chat(target, "A migraine throbs behind your eyes, you hear yourself screaming - but your mouth has not opened!")
for(var/mob/M in mob_list)
if(M.lingcheck() == 2)
- M << "We can sense a foreign presence in the hivemind..."
+ to_chat(M, "We can sense a foreign presence in the hivemind...")
target.mind.linglink = 1
target.say(":g AAAAARRRRGGGGGHHHHH!!")
- target << "You can now communicate in the changeling hivemind, say \":g message\" to communicate!"
+ to_chat(target, "You can now communicate in the changeling hivemind, say \":g message\" to communicate!")
target.reagents.add_reagent("salbutamol", 40) // So they don't choke to death while you interrogate them
sleep(1800)
feedback_add_details("changeling_powers","A [i]")
if(!do_mob(user, target, 20))
- user << "Our link with [target] has ended!"
+ to_chat(user, "Our link with [target] has ended!")
changeling.islinking = 0
target.mind.linglink = 0
return
changeling.islinking = 0
target.mind.linglink = 0
- user << "You cannot sustain the connection any longer, your victim fades from the hivemind"
- target << "The link cannot be sustained any longer, your connection to the hivemind has faded!"
+ to_chat(user, "You cannot sustain the connection any longer, your victim fades from the hivemind")
+ to_chat(target, "The link cannot be sustained any longer, your connection to the hivemind has faded!")
diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm
index c3483983b67..e1f756d8d7b 100644
--- a/code/game/gamemodes/changeling/powers/mimic_voice.dm
+++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm
@@ -13,7 +13,7 @@
if(changeling.mimicing)
changeling.mimicing = ""
changeling.chem_recharge_slowdown -= 0.5
- user << "We return our vocal glands to their original position."
+ to_chat(user, "We return our vocal glands to their original position.")
return
var/mimic_voice = stripped_input(user, "Enter a name to mimic.", "Mimic Voice", null, MAX_NAME_LEN)
@@ -22,7 +22,7 @@
changeling.mimicing = mimic_voice
changeling.chem_recharge_slowdown += 0.5
- user << "We shape our glands to take the voice of [mimic_voice], this will slow down regenerating chemicals while active."
- user << "Use this power again to return to our original voice and return chemical production to normal levels."
+ to_chat(user, "We shape our glands to take the voice of [mimic_voice], this will slow down regenerating chemicals while active.")
+ to_chat(user, "Use this power again to return to our original voice and return chemical production to normal levels.")
feedback_add_details("changeling_powers","MV")
diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm
index 415e5a0c421..f1d9abc845b 100644
--- a/code/game/gamemodes/changeling/powers/mutations.dm
+++ b/code/game/gamemodes/changeling/powers/mutations.dm
@@ -38,7 +38,7 @@
/obj/effect/proc_holder/changeling/weapon/sting_action(mob/living/user)
if(!user.drop_item())
- user << "The [user.get_active_held_item()] is stuck to your hand, you cannot grow a [weapon_name_simple] over it!"
+ to_chat(user, "The [user.get_active_held_item()] is stuck to your hand, you cannot grow a [weapon_name_simple] over it!")
return
var/limb_regen = 0
if(user.active_hand_index % 2 == 0) //we regen the arm before changing it into the weapon
@@ -111,10 +111,10 @@
/obj/effect/proc_holder/changeling/suit/sting_action(mob/living/carbon/human/user)
if(!user.canUnEquip(user.wear_suit))
- user << "\the [user.wear_suit] is stuck to your body, you cannot grow a [suit_name_simple] over it!"
+ to_chat(user, "\the [user.wear_suit] is stuck to your body, you cannot grow a [suit_name_simple] over it!")
return
if(!user.canUnEquip(user.head))
- user << "\the [user.head] is stuck on your head, you cannot grow a [helmet_name_simple] over it!"
+ to_chat(user, "\the [user.head] is stuck on your head, you cannot grow a [helmet_name_simple] over it!")
return
user.dropItemToGround(user.head)
@@ -185,7 +185,7 @@
if(!A.requiresID() || A.allowed(user)) //This is to prevent stupid shit like hitting a door with an arm blade, the door opening because you have acces and still getting a "the airlocks motors resist our efforts to force it" message.
return
if(A.locked)
- user << "The airlock's bolts prevent it from being forced!"
+ to_chat(user, "The airlock's bolts prevent it from being forced!")
return
if(A.hasPower())
@@ -245,11 +245,11 @@
if(!silent)
loc.visible_message("[loc.name]\'s arm starts stretching inhumanly!", "Our arm twists and mutates, transforming it into a tentacle.", "You hear organic matter ripping and tearing!")
else
- loc << "You prepare to extend a tentacle."
+ to_chat(loc, "You prepare to extend a tentacle.")
/obj/item/weapon/gun/magic/tentacle/shoot_with_empty_chamber(mob/living/user as mob|obj)
- user << "The [name] is not ready yet."
+ to_chat(user, "The [name] is not ready yet.")
/obj/item/ammo_casing/magic/tentacle
name = "tentacle"
@@ -316,7 +316,7 @@
if(istype(target, /obj/item))
var/obj/item/I = target
if(!I.anchored)
- firer << "You pull [I] towards yourself."
+ to_chat(firer, "You pull [I] towards yourself.")
H.throw_mode_on()
I.throw_at(H, 10, 2)
. = 1
@@ -340,10 +340,10 @@
on_hit(I) //grab the item as if you had hit it directly with the tentacle
return 1
else
- firer << "You can't seem to pry [I] off of [C]'s hands!"
+ to_chat(firer, "You can't seem to pry [I] off of [C]'s hands!")
return 0
else
- firer << "[C] has nothing in hand to disarm!"
+ to_chat(firer, "[C] has nothing in hand to disarm!")
return 0
if(INTENT_GRAB)
diff --git a/code/game/gamemodes/changeling/powers/panacea.dm b/code/game/gamemodes/changeling/powers/panacea.dm
index e5e9202aafa..ca0df295146 100644
--- a/code/game/gamemodes/changeling/powers/panacea.dm
+++ b/code/game/gamemodes/changeling/powers/panacea.dm
@@ -8,7 +8,7 @@
//Heals the things that the other regenerative abilities don't.
/obj/effect/proc_holder/changeling/panacea/sting_action(mob/user)
- user << "We cleanse impurities from our form."
+ to_chat(user, "We cleanse impurities from our form.")
var/mob/living/simple_animal/borer/B = user.has_brain_worms()
if(B)
@@ -18,7 +18,7 @@
if(iscarbon(user))
var/mob/living/carbon/C = user
C.vomit(0)
- user << "A parasite exits our form."
+ to_chat(user, "A parasite exits our form.")
var/list/bad_organs = list(
user.getorgan(/obj/item/organ/body_egg),
user.getorgan(/obj/item/organ/zombie_infection))
diff --git a/code/game/gamemodes/changeling/powers/regenerate.dm b/code/game/gamemodes/changeling/powers/regenerate.dm
index c7e79c6c143..f996237bff2 100644
--- a/code/game/gamemodes/changeling/powers/regenerate.dm
+++ b/code/game/gamemodes/changeling/powers/regenerate.dm
@@ -11,8 +11,8 @@
always_keep = TRUE
/obj/effect/proc_holder/changeling/regenerate/sting_action(mob/living/user)
- user << "You feel an itching, both inside and \
- outside as your tissues knit and reknit."
+ to_chat(user, "You feel an itching, both inside and \
+ outside as your tissues knit and reknit.")
if(iscarbon(user))
var/mob/living/carbon/C = user
var/list/missing = C.get_missing_limbs()
diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm
index 7dec246990b..2df6cd9066a 100644
--- a/code/game/gamemodes/changeling/powers/revive.dm
+++ b/code/game/gamemodes/changeling/powers/revive.dm
@@ -24,7 +24,7 @@
user.emote("scream")
user.regenerate_limbs(0, list("head"))
user.regenerate_organs()
- user << "We have revived ourselves."
+ to_chat(user, "We have revived ourselves.")
user.mind.changeling.purchasedpowers -= src
feedback_add_details("changeling_powers","CR")
return 1
diff --git a/code/game/gamemodes/changeling/powers/strained_muscles.dm b/code/game/gamemodes/changeling/powers/strained_muscles.dm
index 79c707bff04..67cce8ff894 100644
--- a/code/game/gamemodes/changeling/powers/strained_muscles.dm
+++ b/code/game/gamemodes/changeling/powers/strained_muscles.dm
@@ -14,12 +14,12 @@
/obj/effect/proc_holder/changeling/strained_muscles/sting_action(mob/living/carbon/user)
active = !active
if(active)
- user << "Our muscles tense and strengthen."
+ to_chat(user, "Our muscles tense and strengthen.")
else
user.status_flags &= ~GOTTAGOFAST
- user << "Our muscles relax."
+ to_chat(user, "Our muscles relax.")
if(stacks >= 10)
- user << "We collapse in exhaustion."
+ to_chat(user, "We collapse in exhaustion.")
user.Weaken(3)
user.emote("gasp")
@@ -27,7 +27,7 @@
user.status_flags |= GOTTAGOFAST
if(user.stat != CONSCIOUS || user.staminaloss >= 90)
active = !active
- user << "Our muscles relax without the energy to strengthen them."
+ to_chat(user, "Our muscles relax without the energy to strengthen them.")
user.Weaken(2)
user.status_flags &= ~GOTTAGOFAST
break
@@ -37,7 +37,7 @@
user.staminaloss += stacks * 1.3 //At first the changeling may regenerate stamina fast enough to nullify fatigue, but it will stack
if(stacks == 11) //Warning message that the stacks are getting too high
- user << "Our legs are really starting to hurt..."
+ to_chat(user, "Our legs are really starting to hurt...")
sleep(40)
diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm
index 9dedb4f2e2c..e4de7b7965e 100644
--- a/code/game/gamemodes/changeling/powers/tiny_prick.dm
+++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm
@@ -14,13 +14,13 @@
return
/obj/effect/proc_holder/changeling/sting/proc/set_sting(mob/user)
- user << "We prepare our sting, use alt+click or middle mouse button on target to sting them."
+ to_chat(user, "We prepare our sting, use alt+click or middle mouse button on target to sting them.")
user.mind.changeling.chosen_sting = src
user.hud_used.lingstingdisplay.icon_state = sting_icon
user.hud_used.lingstingdisplay.invisibility = 0
/obj/effect/proc_holder/changeling/sting/proc/unset_sting(mob/user)
- user << "We retract our sting, we can't sting anyone for now."
+ to_chat(user, "We retract our sting, we can't sting anyone for now.")
user.mind.changeling.chosen_sting = null
user.hud_used.lingstingdisplay.icon_state = null
user.hud_used.lingstingdisplay.invisibility = INVISIBILITY_ABSTRACT
@@ -33,7 +33,7 @@
if(!..())
return
if(!user.mind.changeling.chosen_sting)
- user << "We haven't prepared our sting yet!"
+ to_chat(user, "We haven't prepared our sting yet!")
if(!iscarbon(target))
return
if(!isturf(user.loc))
@@ -49,9 +49,9 @@
/obj/effect/proc_holder/changeling/sting/sting_feedback(mob/user, mob/target)
if(!target)
return
- user << "We stealthily sting [target.name]."
+ to_chat(user, "We stealthily sting [target.name].")
if(target.mind && target.mind.changeling)
- target << "You feel a tiny prick."
+ to_chat(target, "You feel a tiny prick.")
return 1
@@ -75,7 +75,7 @@
if(!selected_dna)
return
if(NOTRANSSTING in selected_dna.dna.species.species_traits)
- user << "That DNA is not compatible with changeling retrovirus!"
+ to_chat(user, "That DNA is not compatible with changeling retrovirus!")
return
..()
@@ -83,7 +83,7 @@
if(!..())
return
if((target.disabilities & HUSK) || !target.has_dna())
- user << "Our sting appears ineffective against its DNA."
+ to_chat(user, "Our sting appears ineffective against its DNA.")
return 0
return 1
@@ -92,7 +92,7 @@
add_logs(user, target, "stung", "transformation sting", " new identity is [selected_dna.dna.real_name]")
var/datum/dna/NewDNA = selected_dna.dna
if(ismonkey(target))
- user << "Our genes cry out as we sting [target.name]!"
+ to_chat(user, "Our genes cry out as we sting [target.name]!")
var/mob/living/carbon/C = target
if(istype(C))
@@ -132,7 +132,7 @@
if(!..())
return
if((target.disabilities & HUSK) || !target.has_dna())
- user << "Our sting appears ineffective against its DNA."
+ to_chat(user, "Our sting appears ineffective against its DNA.")
return 0
return 1
@@ -140,11 +140,11 @@
add_logs(user, target, "stung", object="falso armblade sting")
if(!target.drop_item())
- user << "The [target.get_active_held_item()] is stuck to their hand, you cannot grow a false armblade over it!"
+ to_chat(user, "The [target.get_active_held_item()] is stuck to their hand, you cannot grow a false armblade over it!")
return
if(ismonkey(target))
- user << "Our genes cry out as we sting [target.name]!"
+ to_chat(user, "Our genes cry out as we sting [target.name]!")
var/obj/item/weapon/melee/arm_blade/false/blade = new(target,1)
target.put_in_hands(blade)
@@ -209,7 +209,7 @@
/obj/effect/proc_holder/changeling/sting/blind/sting_action(mob/user, mob/living/carbon/target)
add_logs(user, target, "stung", "blind sting")
- target << "Your eyes burn horrifically!"
+ to_chat(target, "Your eyes burn horrifically!")
target.become_nearsighted()
target.blind_eyes(20)
target.blur_eyes(40)
diff --git a/code/game/gamemodes/changeling/powers/transform.dm b/code/game/gamemodes/changeling/powers/transform.dm
index 7d49a699473..010707bcdc5 100644
--- a/code/game/gamemodes/changeling/powers/transform.dm
+++ b/code/game/gamemodes/changeling/powers/transform.dm
@@ -13,7 +13,7 @@
/obj/item/clothing/glasses/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
@@ -24,7 +24,7 @@
/obj/item/clothing/under/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
@@ -36,7 +36,7 @@
/obj/item/clothing/suit/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
@@ -47,7 +47,7 @@
/obj/item/clothing/head/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
@@ -58,7 +58,7 @@
/obj/item/clothing/shoes/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
@@ -69,7 +69,7 @@
/obj/item/clothing/gloves/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
@@ -80,7 +80,7 @@
/obj/item/clothing/mask/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
@@ -93,7 +93,7 @@
/obj/item/changeling/attack_hand(mob/user)
if(loc == user && user.mind && user.mind.changeling)
- user << "You reabsorb [src] into your body."
+ to_chat(user, "You reabsorb [src] into your body.")
qdel(src)
return
..()
diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm
index 6b8ee2640e9..1e8f325eada 100644
--- a/code/game/gamemodes/changeling/traitor_chan.dm
+++ b/code/game/gamemodes/changeling/traitor_chan.dm
@@ -12,8 +12,8 @@
var/const/changeling_amount = 1 //hard limit on changelings if scaling is turned off
/datum/game_mode/traitor/changeling/announce()
- world << "The current game mode is - Traitor+Changeling!"
- world << "There are alien creatures on the station along with some syndicate operatives out for their own gain! Do not let the changelings or the traitors succeed!"
+ to_chat(world, "The current game mode is - Traitor+Changeling!")
+ to_chat(world, "There are alien creatures on the station along with some syndicate operatives out for their own gain! Do not let the changelings or the traitors succeed!")
/datum/game_mode/traitor/changeling/can_start()
if(!..())
diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm
index 0fa34a56f68..78e940d7b8b 100644
--- a/code/game/gamemodes/clock_cult/clock_cult.dm
+++ b/code/game/gamemodes/clock_cult/clock_cult.dm
@@ -153,7 +153,7 @@ Credit where due:
var/greeting_text = "
You are a servant of Ratvar, the Clockwork Justiciar.\n\
Rusting eternally in the Celestial Derelict, Ratvar has formed a covenant of mortals, with you as one of its members. As one of the Justiciar's servants, you are to work to the best of your \
ability to assist in completion of His agenda. You may not know the specifics of how to do so, but luckily you have a vessel to help you learn."
- M << greeting_text
+ to_chat(M, greeting_text)
return 1
/datum/game_mode/proc/equip_servant(mob/living/L) //Grants a clockwork slab to the mob, with one of each component
@@ -171,10 +171,10 @@ Credit where due:
if(!S.forceMove(get_turf(L)))
qdel(S)
if(S && !QDELETED(S))
- L << "[slot] is a link to the halls of Reebe and your master. You may use it to perform many tasks, but also become oriented with the workings of Ratvar and how to best complete your \
+ to_chat(L, "[slot] is a link to the halls of Reebe and your master. You may use it to perform many tasks, but also become oriented with the workings of Ratvar and how to best complete your \
tasks. This clockwork slab will be instrumental in your triumph. Remember: you can speak discreetly with your fellow servants by using the Hierophant Network action button, \
- and you can find a concise tutorial by using the slab in-hand and selecting Recollection."
- L << "Alternatively, check out the wiki page at https://tgstation13.org/wiki/Clockwork_Cult, which contains additional information."
+ and you can find a concise tutorial by using the slab in-hand and selecting Recollection.")
+ to_chat(L, "Alternatively, check out the wiki page at https://tgstation13.org/wiki/Clockwork_Cult, which contains additional information.")
return TRUE
return FALSE
@@ -182,7 +182,7 @@ Credit where due:
if(!L || !istype(L) || !L.mind)
return 0
var/datum/mind/M = L.mind
- M.current << "This is Ratvar's will: [clockwork_explanation]"
+ to_chat(M.current, "This is Ratvar's will: [clockwork_explanation]")
M.memory += "Ratvar's will: [clockwork_explanation]
"
return 1
@@ -233,7 +233,7 @@ Credit where due:
text += "
Ratvar's servants were:"
for(var/datum/mind/M in servants_of_ratvar)
text += printplayer(M)
- world << text
+ to_chat(world, text)
/datum/game_mode/proc/update_servant_icons_added(datum/mind/M)
var/datum/atom_hud/antag/A = huds[ANTAG_HUD_CLOCKWORK]
diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm
index 2544a375644..081ca1f6cbd 100644
--- a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm
+++ b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm
@@ -64,7 +64,7 @@
if(!is_servant_of_ratvar(M) && M != L)
M.flash_act()
if(iscultist(L))
- L << "\"Watch your step, wretch.\""
+ to_chat(L, "\"Watch your step, wretch.\"")
L.adjustBruteLoss(10)
L.Weaken(7)
L.visible_message("[src] appears around [L] in a burst of light!", \
@@ -120,7 +120,7 @@
return
post_channel(L)
if(is_eligible_servant(L))
- L << "\"You belong to me now.\""
+ to_chat(L, "\"You belong to me now.\"")
add_servant_of_ratvar(L)
L.Weaken(3) //Completely defenseless for about five seconds - mainly to give them time to read over the information they've just been presented with
L.Stun(3)
@@ -131,12 +131,12 @@
for(var/M in mob_list)
if(isobserver(M))
var/link = FOLLOW_LINK(M, L)
- M << "[link] [message] [L.real_name]!"
+ to_chat(M, "[link] [message] [L.real_name]!")
else if(is_servant_of_ratvar(M))
if(M == L)
- M << "[message] you!"
+ to_chat(M, "[message] you!")
else
- M << "[message] [L.real_name]!"
+ to_chat(M, "[message] [L.real_name]!")
if(delete_on_finish)
qdel(src)
else
@@ -198,22 +198,22 @@
var/structure_number = 0
for(var/obj/structure/destructible/clockwork/powered/P in range(SIGIL_ACCESS_RANGE, src))
structure_number++
- user << "It is storing [ratvar_awakens ? "INFINITY":"[power_charge]"]W of power, \
- and [structure_number] Clockwork Structure[structure_number == 1 ? "":"s"] [structure_number == 1 ? "is":"are"] in range."
+ to_chat(user, "It is storing [ratvar_awakens ? "INFINITY":"[power_charge]"]W of power, \
+ and [structure_number] Clockwork Structure[structure_number == 1 ? "":"s"] [structure_number == 1 ? "is":"are"] in range.")
if(iscyborg(user))
- user << "You can recharge from the [sigil_name] by crossing it."
+ to_chat(user, "You can recharge from the [sigil_name] by crossing it.")
/obj/effect/clockwork/sigil/transmission/sigil_effects(mob/living/L)
if(is_servant_of_ratvar(L))
if(iscyborg(L))
charge_cyborg(L)
else if(power_charge)
- L << "You feel a slight, static shock."
+ to_chat(L, "You feel a slight, static shock.")
/obj/effect/clockwork/sigil/transmission/proc/charge_cyborg(mob/living/silicon/robot/cyborg)
if(!cyborg_checks(cyborg))
return
- cyborg << "You start to charge from the [sigil_name]..."
+ to_chat(cyborg, "You start to charge from the [sigil_name]...")
if(!do_after(cyborg, 50, target = src))
return
if(!cyborg_checks(cyborg))
@@ -230,16 +230,16 @@
/obj/effect/clockwork/sigil/transmission/proc/cyborg_checks(mob/living/silicon/robot/cyborg)
if(!cyborg.cell)
- cyborg << "You have no cell!"
+ to_chat(cyborg, "You have no cell!")
return FALSE
if(!power_charge)
- cyborg << "The [sigil_name] has no stored power!"
+ to_chat(cyborg, "The [sigil_name] has no stored power!")
return FALSE
if(cyborg.cell.charge > cyborg.cell.maxcharge - MIN_CLOCKCULT_POWER)
- cyborg << "You are already at maximum charge!"
+ to_chat(cyborg, "You are already at maximum charge!")
return FALSE
if(cyborg.has_status_effect(STATUS_EFFECT_POWERREGEN))
- cyborg << "You are already regenerating power!"
+ to_chat(cyborg, "You are already regenerating power!")
return FALSE
return TRUE
@@ -289,11 +289,11 @@
/obj/effect/clockwork/sigil/vitality/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "It has access to [ratvar_awakens ? "INFINITE":"[vitality]"] units of vitality."
+ to_chat(user, "It has access to [ratvar_awakens ? "INFINITE":"[vitality]"] units of vitality.")
if(ratvar_awakens)
- user << "It can revive Servants at no cost!"
+ to_chat(user, "It can revive Servants at no cost!")
else
- user << "It can revive Servants at a cost of [base_revive_cost] vitality plus vitality equal to the non-oxygen damage they have, in addition to being destroyed in the process."
+ to_chat(user, "It can revive Servants at a cost of [base_revive_cost] vitality plus vitality equal to the non-oxygen damage they have, in addition to being destroyed in the process.")
/obj/effect/clockwork/sigil/vitality/sigil_effects(mob/living/L)
if((is_servant_of_ratvar(L) && L.suiciding) || sigil_active)
@@ -317,7 +317,7 @@
animate(V, alpha = 0, transform = matrix()*2, time = 8)
playsound(L, 'sound/magic/WandODeath.ogg', 50, 1)
L.visible_message("[L] collapses in on [L.p_them()]self as [src] flares bright blue!")
- L << "\"[text2ratvar("Your life will not be wasted.")]\""
+ to_chat(L, "\"[text2ratvar("Your life will not be wasted.")]\"")
for(var/obj/item/W in L)
if(!L.dropItemToGround(W))
qdel(W)
diff --git a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm
index abc7010991f..26575d881e6 100644
--- a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm
+++ b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm
@@ -56,7 +56,7 @@
/obj/effect/clockwork/spatial_gateway/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "It has [uses] uses remaining."
+ to_chat(user, "It has [uses] uses remaining.")
/obj/effect/clockwork/spatial_gateway/attack_ghost(mob/user)
if(linked_gateway)
@@ -87,7 +87,7 @@
qdel(src)
return TRUE
if(istype(I, /obj/item/clockwork/slab))
- user << "\"I don't think you want to drop your slab into that.\"\n\"If you really want to, try throwing it.\""
+ to_chat(user, "\"I don't think you want to drop your slab into that.\"\n\"If you really want to, try throwing it.\"")
return TRUE
if(user.drop_item() && uses)
user.visible_message("[user] drops [I] into [src]!", "You drop [I] into [src]!")
@@ -126,7 +126,7 @@
return FALSE
if(isliving(A))
var/mob/living/user = A
- user << "You pass through [src] and appear elsewhere!"
+ to_chat(user, "You pass through [src] and appear elsewhere!")
linked_gateway.visible_message("A shape appears in [linked_gateway] before emerging!")
playsound(src, 'sound/effects/EMPulse.ogg', 50, 1)
playsound(linked_gateway, 'sound/effects/EMPulse.ogg', 50, 1)
@@ -162,31 +162,31 @@
possible_targets[avoid_assoc_duplicate_keys("[L.name] ([L.real_name])", teleportnames)] = L
if(!possible_targets.len)
- invoker << "There are no other eligible targets for a Spatial Gateway!"
+ to_chat(invoker, "There are no other eligible targets for a Spatial Gateway!")
return FALSE
var/input_target_key = input(invoker, "Choose a target to form a rift to.", "Spatial Gateway") as null|anything in possible_targets
var/atom/movable/target = possible_targets[input_target_key]
if(!src || !input_target_key || !invoker || !invoker.canUseTopic(src, !issilicon(invoker)) || !is_servant_of_ratvar(invoker) || (istype(src, /obj/item) && invoker.get_active_held_item() != src) || !invoker.can_speak_vocal())
return FALSE //if any of the involved things no longer exist, the invoker is stunned, too far away to use the object, or does not serve ratvar, or if the object is an item and not in the mob's active hand, fail
if(!target) //if we have no target, but did have a key, let them retry
- invoker << "That target no longer exists!"
+ to_chat(invoker, "That target no longer exists!")
return procure_gateway(invoker, time_duration, gateway_uses, two_way)
if(isliving(target))
var/mob/living/L = target
if(!is_servant_of_ratvar(L))
- invoker << "That target is no longer a Servant!"
+ to_chat(invoker, "That target is no longer a Servant!")
return procure_gateway(invoker, time_duration, gateway_uses, two_way)
if(L.stat != CONSCIOUS)
- invoker << "That Servant is no longer conscious!"
+ to_chat(invoker, "That Servant is no longer conscious!")
return procure_gateway(invoker, time_duration, gateway_uses, two_way)
var/istargetobelisk = istype(target, /obj/structure/destructible/clockwork/powered/clockwork_obelisk)
var/issrcobelisk = istype(src, /obj/structure/destructible/clockwork/powered/clockwork_obelisk)
if(issrcobelisk && !anchored)
- invoker << "[src] is no longer secured!"
+ to_chat(invoker, "[src] is no longer secured!")
return FALSE
if(istargetobelisk)
if(!target.anchored)
- invoker << "That [target.name] is no longer secured!"
+ to_chat(invoker, "That [target.name] is no longer secured!")
return procure_gateway(invoker, time_duration, gateway_uses, two_way)
var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/CO = target
var/efficiency = CO.get_efficiency_mod()
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/clock_powerdrain.dm b/code/game/gamemodes/clock_cult/clock_helpers/clock_powerdrain.dm
index 1452eaa13c0..2691036cf1e 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/clock_powerdrain.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/clock_powerdrain.dm
@@ -45,7 +45,7 @@
. = min(cell.charge, 250)
cell.use(.)
if(prob(20))
- src << "ERROR: Power loss detected!"
+ to_chat(src, "ERROR: Power loss detected!")
spark_system.start()
/obj/mecha/power_drain(clockcult_user)
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm b/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
index 4e4697fadc5..47b8178dff0 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
@@ -6,11 +6,11 @@
if(!servantsonly && isobserver(M))
if(target)
var/link = FOLLOW_LINK(M, target)
- M << "[link] [message]"
+ to_chat(M, "[link] [message]")
else
- M << message
+ to_chat(M, message)
else if(is_servant_of_ratvar(M))
- M << message
+ to_chat(M, message)
return TRUE
//Sends a titled message from a mob to all servants of ratvar and ghosts.
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm
index 6338f759a99..876c8f80975 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm
@@ -50,7 +50,7 @@
if(locate(/obj/structure/table) in src)
return FALSE
if(is_blocked_turf(src, TRUE))
- user << "Something is in the way, preventing you from proselytizing [src] into a clockwork wall."
+ to_chat(user, "Something is in the way, preventing you from proselytizing [src] into a clockwork wall.")
return TRUE
return list("operation_time" = 100, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_MINUS_FLOOR, "spawn_dir" = SOUTH)
@@ -80,7 +80,7 @@
if(proselytizer.metal_to_power)
var/no_delete = FALSE
if(amount_temp < 2)
- user << "You need at least 2 floor tiles to convert into power."
+ to_chat(user, "You need at least 2 floor tiles to convert into power.")
return TRUE
if(IsOdd(amount_temp))
amount_temp--
@@ -98,7 +98,7 @@
new /obj/item/stack/tile/brass(get_turf(src), sheets_to_make)
use(used)
else
- user << "You need at least 20 floor tiles to convert into brass."
+ to_chat(user, "You need at least 20 floor tiles to convert into brass.")
return TRUE
/obj/item/stack/rods/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer)
@@ -116,7 +116,7 @@
new /obj/item/stack/tile/brass(get_turf(src), sheets_to_make)
use(used)
else
- user << "You need at least 10 rods to convert into brass."
+ to_chat(user, "You need at least 10 rods to convert into brass.")
return TRUE
/obj/item/stack/sheet/metal/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer)
@@ -134,7 +134,7 @@
new /obj/item/stack/tile/brass(get_turf(src), sheets_to_make)
use(used)
else
- user << "You need at least 5 sheets of metal to convert into brass."
+ to_chat(user, "You need at least 5 sheets of metal to convert into brass.")
return TRUE
/obj/item/stack/sheet/plasteel/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer)
@@ -152,7 +152,7 @@
new /obj/item/stack/tile/brass(get_turf(src), sheets_to_make)
use(used)
else
- user << "You need at least 2 sheets of plasteel to convert into brass."
+ to_chat(user, "You need at least 2 sheets of plasteel to convert into brass.")
return TRUE
//Brass directly to power
@@ -342,7 +342,7 @@
if(proselytizer)
proselytizer.repairing = null
else
- user << "[src == user ? "You" : "[src]"] [src == user ? "are" : "is"] at maximum health!"
+ to_chat(user, "[src == user ? "You" : "[src]"] [src == user ? "are" : "is"] at maximum health!")
//Convert shards and gear bits directly to power
/obj/item/clockwork/alloy_shards/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer)
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm
index d0f4ddc988d..fd183938983 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm
@@ -46,14 +46,14 @@
else
var/mob/living/L = target
if(L.null_rod_check())
- ranged_ability_user << "\"A void weapon? Really, you expect me to be able to do anything?\""
+ to_chat(ranged_ability_user, "\"A void weapon? Really, you expect me to be able to do anything?\"")
return TRUE
if(is_servant_of_ratvar(L))
if(L != ranged_ability_user)
- ranged_ability_user << "\"[L.p_they(TRUE)] already serve[L.p_s()] Ratvar. [text2ratvar("Perhaps [ranged_ability_user.p_theyre()] into bondage?")]\""
+ to_chat(ranged_ability_user, "\"[L.p_they(TRUE)] already serve[L.p_s()] Ratvar. [text2ratvar("Perhaps [ranged_ability_user.p_theyre()] into bondage?")]\"")
return TRUE
if(L.stat == DEAD)
- ranged_ability_user << "\"[L.p_theyre(TRUE)] dead, idiot.\""
+ to_chat(ranged_ability_user, "\"[L.p_theyre(TRUE)] dead, idiot.\"")
return TRUE
if(istype(L.buckled, /obj/structure/destructible/clockwork/geis_binding)) //if they're already bound, just stun them
@@ -100,10 +100,10 @@
if(isliving(target) && (target in view(7, get_turf(ranged_ability_user))))
var/mob/living/L = target
if(!is_servant_of_ratvar(L))
- ranged_ability_user << "\"[L] does not yet serve Ratvar.\""
+ to_chat(ranged_ability_user, "\"[L] does not yet serve Ratvar.\"")
return TRUE
if(L.stat == DEAD)
- ranged_ability_user << "\"[L.p_they(TRUE)] [L.p_are()] dead. [text2ratvar("Oh, child. To have your life cut short...")]\""
+ to_chat(ranged_ability_user, "\"[L.p_they(TRUE)] [L.p_are()] dead. [text2ratvar("Oh, child. To have your life cut short...")]\"")
return TRUE
var/brutedamage = L.getBruteLoss()
@@ -111,7 +111,7 @@
var/oxydamage = L.getOxyLoss()
var/totaldamage = brutedamage + burndamage + oxydamage
if(!totaldamage && (!L.reagents || !L.reagents.has_reagent("holywater")))
- ranged_ability_user << "\"[L] is unhurt and untainted.\""
+ to_chat(ranged_ability_user, "\"[L] is unhurt and untainted.\"")
return TRUE
successful = TRUE
@@ -130,14 +130,14 @@
else
clockwork_say(ranged_ability_user, text2ratvar("Purge foul darkness!"))
add_logs(ranged_ability_user, L, "purged of holy water with Sentinel's Compromise")
- ranged_ability_user << "You bathe [L == ranged_ability_user ? "yourself":"[L]"] in Inath-neq's power!"
+ to_chat(ranged_ability_user, "You bathe [L == ranged_ability_user ? "yourself":"[L]"] in Inath-neq's power!")
L.visible_message("A blue light washes over [L], mending [L.p_their()] bruises and burns!", \
"You feel Inath-neq's power healing your wounds, but a deep nausea overcomes you!")
playsound(targetturf, 'sound/magic/Staff_Healing.ogg', 50, 1)
if(L.reagents && L.reagents.has_reagent("holywater"))
L.reagents.remove_reagent("holywater", 1000)
- L << "Ratvar's light flares, banishing the darkness. Your devotion remains intact!"
+ to_chat(L, "Ratvar's light flares, banishing the darkness. Your devotion remains intact!")
remove_ranged_ability()
@@ -194,13 +194,13 @@
if(isliving(target) && (target in view(7, get_turf(ranged_ability_user))))
var/mob/living/L = target
if(!is_servant_of_ratvar(L))
- ranged_ability_user << "\"[L] does not yet serve Ratvar.\""
+ to_chat(ranged_ability_user, "\"[L] does not yet serve Ratvar.\"")
return TRUE
if(L.stat == DEAD)
- ranged_ability_user << "\"[L.p_they(TRUE)] [L.p_are()] dead. [text2ratvar("Oh, child. To have your life cut short...")]\""
+ to_chat(ranged_ability_user, "\"[L.p_they(TRUE)] [L.p_are()] dead. [text2ratvar("Oh, child. To have your life cut short...")]\"")
return TRUE
if(islist(L.stun_absorption) && L.stun_absorption["vanguard"] && L.stun_absorption["vanguard"]["end_time"] > world.time)
- ranged_ability_user << "\"[L.p_they(TRUE)] [L.p_are()] already shielded by a Vanguard.\""
+ to_chat(ranged_ability_user, "\"[L.p_they(TRUE)] [L.p_are()] already shielded by a Vanguard.\"")
return TRUE
successful = TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_items/clock_components.dm b/code/game/gamemodes/clock_cult/clock_items/clock_components.dm
index c538ac10aa1..439f670ae92 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clock_components.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clock_components.dm
@@ -12,20 +12,20 @@
/obj/item/clockwork/component/pickup(mob/living/user)
..()
if(iscultist(user) || (user.mind && user.mind.isholy))
- user << "[cultist_message]"
+ to_chat(user, "[cultist_message]")
if(user.mind && user.mind.isholy)
- user << "The power of your faith melts away the [src]!"
+ to_chat(user, "The power of your faith melts away the [src]!")
var/obj/item/weapon/ore/slag/wrath = new /obj/item/weapon/ore/slag
qdel(src)
user.put_in_active_hand(wrath)
if(is_servant_of_ratvar(user) && prob(20))
var/pickedmessage = pick(servant_of_ratvar_messages)
- user << "[servant_of_ratvar_messages[pickedmessage] ? "[text2ratvar(pickedmessage)]" : pickedmessage]"
+ to_chat(user, "[servant_of_ratvar_messages[pickedmessage] ? "[text2ratvar(pickedmessage)]" : pickedmessage]")
/obj/item/clockwork/component/examine(mob/user)
..()
if(is_servant_of_ratvar(user))
- user << "You should put this in a slab or cache immediately."
+ to_chat(user, "You should put this in a slab or cache immediately.")
/obj/item/clockwork/component/belligerent_eye
name = "belligerent eye"
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm
index fbf792c9971..ba9e86864c7 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm
@@ -33,14 +33,14 @@
..()
if(slot == slot_head && !is_servant_of_ratvar(user))
if(!iscultist(user))
- user << "\"Now now, this is for my servants, not you.\""
+ to_chat(user, "\"Now now, this is for my servants, not you.\"")
user.visible_message("As [user] puts [src] on, it flickers off their head!", "The helmet flickers off your head, leaving only nausea!")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.vomit(20, 1, 1, 0, 1)
else
- user << "\"Do you have a hole in your head? You're about to.\""
- user << "The helmet tries to drive a spike through your head as you scramble to remove it!"
+ to_chat(user, "\"Do you have a hole in your head? You're about to.\"")
+ to_chat(user, "The helmet tries to drive a spike through your head as you scramble to remove it!")
user.emote("scream")
user.apply_damage(30, BRUTE, "head")
user.adjustBrainLoss(30)
@@ -94,14 +94,14 @@
..()
if(slot == slot_wear_suit && !is_servant_of_ratvar(user))
if(!iscultist(user))
- user << "\"Now now, this is for my servants, not you.\""
+ to_chat(user, "\"Now now, this is for my servants, not you.\"")
user.visible_message("As [user] puts [src] on, it flickers off their body!", "The curiass flickers off your body, leaving only nausea!")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.vomit(20, 1, 1, 0, 1)
else
- user << "\"I think this armor is too hot for you to handle.\""
- user << "The curiass emits a burst of flame as you scramble to get it off!"
+ to_chat(user, "\"I think this armor is too hot for you to handle.\"")
+ to_chat(user, "The curiass emits a burst of flame as you scramble to get it off!")
user.emote("scream")
user.apply_damage(15, BURN, "chest")
user.adjust_fire_stacks(2)
@@ -155,14 +155,14 @@
..()
if(slot == slot_gloves && !is_servant_of_ratvar(user))
if(!iscultist(user))
- user << "\"Now now, this is for my servants, not you.\""
+ to_chat(user, "\"Now now, this is for my servants, not you.\"")
user.visible_message("As [user] puts [src] on, it flickers off their arms!", "The gauntlets flicker off your arms, leaving only nausea!")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.vomit(10, 1, 1, 0, 1)
else
- user << "\"Did you like having arms?\""
- user << "The gauntlets suddenly squeeze tight, crushing your arms before you manage to get them off!"
+ to_chat(user, "\"Did you like having arms?\"")
+ to_chat(user, "The gauntlets suddenly squeeze tight, crushing your arms before you manage to get them off!")
user.emote("scream")
user.apply_damage(7, BRUTE, "l_arm")
user.apply_damage(7, BRUTE, "r_arm")
@@ -205,14 +205,14 @@
..()
if(slot == slot_shoes && !is_servant_of_ratvar(user))
if(!iscultist(user))
- user << "\"Now now, this is for my servants, not you.\""
+ to_chat(user, "\"Now now, this is for my servants, not you.\"")
user.visible_message("As [user] puts [src] on, it flickers off their feet!", "The treads flicker off your feet, leaving only nausea!")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.vomit(10, 1, 1, 0, 1)
else
- user << "\"Let's see if you can dance with these.\""
- user << "The treads turn searing hot as you scramble to get them off!"
+ to_chat(user, "\"Let's see if you can dance with these.\"")
+ to_chat(user, "The treads turn searing hot as you scramble to get them off!")
user.emote("scream")
user.apply_damage(7, BURN, "l_leg")
user.apply_damage(7, BURN, "r_leg")
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm
index a4a9995cd05..97013b54d0e 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm
@@ -127,26 +127,26 @@
/obj/item/clockwork/clockwork_proselytizer/examine(mob/living/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "Can be used to convert walls, floors, windows, airlocks, and a variety of other objects to clockwork variants."
- user << "Can also form some objects into Brass sheets, as well as reform Clockwork Walls into Clockwork Floors, and vice versa."
+ to_chat(user, "Can be used to convert walls, floors, windows, airlocks, and a variety of other objects to clockwork variants.")
+ to_chat(user, "Can also form some objects into Brass sheets, as well as reform Clockwork Walls into Clockwork Floors, and vice versa.")
if(uses_power)
if(metal_to_power)
- user << "It can convert rods, metal, plasteel, and brass to power at rates of 1:[POWER_ROD]W, 1:[POWER_METAL]W, \
- 1:[POWER_PLASTEEL]W, and 1:[POWER_FLOOR]W, respectively."
+ to_chat(user, "It can convert rods, metal, plasteel, and brass to power at rates of 1:[POWER_ROD]W, 1:[POWER_METAL]W, \
+ 1:[POWER_PLASTEEL]W, and 1:[POWER_FLOOR]W, respectively.")
else
- user << "It can convert brass to power at a rate of 1:[POWER_FLOOR]W."
- user << "It is storing [get_power()]W/[get_max_power()]W of power, and is gaining [charge_rate*0.5]W of power per second."
- user << "Use it in-hand to produce brass sheets."
+ to_chat(user, "It can convert brass to power at a rate of 1:[POWER_FLOOR]W.")
+ to_chat(user, "It is storing [get_power()]W/[get_max_power()]W of power, and is gaining [charge_rate*0.5]W of power per second.")
+ to_chat(user, "Use it in-hand to produce brass sheets.")
/obj/item/clockwork/clockwork_proselytizer/attack_self(mob/living/user)
if(is_servant_of_ratvar(user))
if(!can_use_power(POWER_WALL_TOTAL))
- user << "[src] requires [POWER_WALL_TOTAL]W of power to produce brass sheets!"
+ to_chat(user, "[src] requires [POWER_WALL_TOTAL]W of power to produce brass sheets!")
return
modify_stored_power(-POWER_WALL_TOTAL)
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
new/obj/item/stack/tile/brass(user.loc, 5)
- user << "You user [stored_power ? "some":"all"] of [src]'s power to produce some brass sheets. It now stores [get_power()]W/[get_max_power()]W of power."
+ to_chat(user, "You user [stored_power ? "some":"all"] of [src]'s power to produce some brass sheets. It now stores [get_power()]W/[get_max_power()]W of power.")
/obj/item/clockwork/clockwork_proselytizer/pre_attackby(atom/target, mob/living/user, params)
if(!target || !user || !is_servant_of_ratvar(user) || istype(target, /obj/item/weapon/storage))
@@ -180,14 +180,14 @@
if(!target || !user)
return FALSE
if(repairing)
- user << "You are currently repairing [repairing] with [src]!"
+ to_chat(user, "You are currently repairing [repairing] with [src]!")
return FALSE
var/list/proselytize_values = target.proselytize_vals(user, src) //relevant values for proselytizing stuff, given as an associated list
if(!islist(proselytize_values))
if(proselytize_values != TRUE) //if we get true, fail, but don't send a message for whatever reason
if(!isturf(target)) //otherwise, if we didn't get TRUE and the original target wasn't a turf, try to proselytize the turf
return proselytize(get_turf(target), user, no_table_check)
- user << "[target] cannot be proselytized!"
+ to_chat(user, "[target] cannot be proselytized!")
if(!no_table_check)
return TRUE
return FALSE
@@ -246,10 +246,10 @@
if(!can_use_power(proselytize_values["power_cost"]))
if(stored_power - proselytize_values["power_cost"] < 0)
if(!silent)
- user << "You need [proselytize_values["power_cost"]]W power to proselytize [target]!"
+ to_chat(user, "You need [proselytize_values["power_cost"]]W power to proselytize [target]!")
else if(stored_power - proselytize_values["power_cost"] > max_power)
if(!silent)
- user << "Your [name] contains too much power to proselytize [target]!"
+ to_chat(user, "Your [name] contains too much power to proselytize [target]!")
return FALSE
return TRUE
@@ -262,11 +262,11 @@
var/mob/living/L = target
if(!is_servant_of_ratvar(L))
if(!silent)
- user << "[L] does not serve Ratvar!"
+ to_chat(user, "[L] does not serve Ratvar!")
return FALSE
if(L.health >= L.maxHealth || (L.flags & GODMODE))
if(!silent)
- user << "[L == user ? "You are" : "[L] is"] at maximum health!"
+ to_chat(user, "[L == user ? "You are" : "[L] is"] at maximum health!")
return FALSE
repair_values["amount_to_heal"] = L.maxHealth - L.health
else if(isobj(target))
@@ -274,12 +274,12 @@
var/obj/structure/destructible/clockwork/C = target
if(!C.can_be_repaired)
if(!silent)
- user << "[C] cannot be repaired!"
+ to_chat(user, "[C] cannot be repaired!")
return FALSE
var/obj/O = target
if(O.obj_integrity >= O.max_integrity)
if(!silent)
- user << "[O] is at maximum integrity!"
+ to_chat(user, "[O] is at maximum integrity!")
return FALSE
repair_values["amount_to_heal"] = O.max_integrity - O.obj_integrity
else
@@ -290,7 +290,7 @@
repair_values["power_required"] = round(repair_values["healing_for_cycle"]*MIN_CLOCKCULT_POWER, MIN_CLOCKCULT_POWER)
if(!can_use_power(RATVAR_POWER_CHECK) && !can_use_power(repair_values["power_required"]))
if(!silent)
- user << "You need at least [repair_values["power_required"]]W power to start repairin[target == user ? "g yourself" : "g [target]"], and at least \
- [round(repair_values["amount_to_heal"]*MIN_CLOCKCULT_POWER, MIN_CLOCKCULT_POWER)]W to fully repair [target == user ? "yourself" : "[target.p_them()]"]!"
+ to_chat(user, "You need at least [repair_values["power_required"]]W power to start repairin[target == user ? "g yourself" : "g [target]"], and at least \
+ [round(repair_values["amount_to_heal"]*MIN_CLOCKCULT_POWER, MIN_CLOCKCULT_POWER)]W to fully repair [target == user ? "yourself" : "[target.p_them()]"]!")
return FALSE
return TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
index 2e1c8f31953..b17c4d38c3f 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
@@ -81,7 +81,7 @@
quickbound = list(/datum/clockwork_scripture/ranged_ability/linked_vanguard, /datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/channeled/volt_void/cyborg)
/obj/item/clockwork/slab/cyborg/access_display(mob/living/user)
- user << "Use the action buttons to recite your limited set of scripture!"
+ to_chat(user, "Use the action buttons to recite your limited set of scripture!")
/obj/item/clockwork/slab/New()
..()
@@ -138,7 +138,7 @@
if(S == src)
continue
S.production_time = production_time + 50 //set it to our next production plus five seconds, so that if you hold the same slabs, the same one will always generate
- L << "Your slab cl[pick("ank", "ink", "unk", "ang")]s as it produces a component."
+ to_chat(L, "Your slab cl[pick("ank", "ink", "unk", "ang")]s as it produces a component.")
/obj/item/clockwork/slab/examine(mob/user)
..()
@@ -148,16 +148,16 @@
if(!quickbound[i])
continue
var/datum/clockwork_scripture/quickbind_slot = quickbound[i]
- user << "Quickbind button: [initial(quickbind_slot.name)]."
+ to_chat(user, "Quickbind button: [initial(quickbind_slot.name)].")
if(clockwork_caches)
- user << "Stored components (with global cache):"
+ to_chat(user, "Stored components (with global cache):")
for(var/i in stored_components)
- user << "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [stored_components[i]] \
- ([stored_components[i] + clockwork_component_cache[i]])"
+ to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [stored_components[i]] \
+ ([stored_components[i] + clockwork_component_cache[i]])")
else
- user << "Stored components:"
+ to_chat(user, "Stored components:")
for(var/i in stored_components)
- user << "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [stored_components[i]]"
+ to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [stored_components[i]]")
//Component Transferal
/obj/item/clockwork/slab/attack(mob/living/target, mob/living/carbon/human/user)
@@ -174,7 +174,7 @@
targetslab = S
if(targetslab)
if(targetslab == src)
- user << "\"You can't transfer components into your own slab, idiot.\""
+ to_chat(user, "\"You can't transfer components into your own slab, idiot.\"")
else
for(var/i in stored_components)
targetslab.stored_components[i] += stored_components[i]
@@ -184,7 +184,7 @@
user.visible_message("[user] empties [src] into [target]'s [targetslab.name].", \
"You transfer your slab's components into [target]'s [targetslab.name].")
else
- user << "[target] has no slabs to transfer components to."
+ to_chat(user, "[target] has no slabs to transfer components to.")
else
return ..()
@@ -226,7 +226,7 @@
/obj/item/clockwork/slab/proc/show_hierophant(mob/living/user)
if(!user.can_speak_vocal())
- user << "You cannot speak into the slab!"
+ to_chat(user, "You cannot speak into the slab!")
return FALSE
var/message = stripped_input(user, "Enter a message to send to your fellow servants.", "Hierophant")
if(!message || !user || !user.canUseTopic(src) || !user.can_speak_vocal())
@@ -238,7 +238,7 @@
//Scripture Recital
/obj/item/clockwork/slab/attack_self(mob/living/user)
if(iscultist(user))
- user << "\"You reek of blood. You've got a lot of nerve to even look at that slab.\""
+ to_chat(user, "\"You reek of blood. You've got a lot of nerve to even look at that slab.\"")
user.visible_message("A sizzling sound comes from [user]'s hands!", "[src] suddenly grows extremely hot in your hands!")
playsound(get_turf(user), 'sound/weapons/sear.ogg', 50, 1)
user.drop_item()
@@ -247,15 +247,15 @@
user.apply_damage(5, BURN, "r_arm")
return 0
if(!is_servant_of_ratvar(user))
- user << "The information on [src]'s display shifts rapidly. After a moment, your head begins to pound, and you tear your eyes away."
+ to_chat(user, "The information on [src]'s display shifts rapidly. After a moment, your head begins to pound, and you tear your eyes away.")
user.confused += 5
user.dizziness += 5
return 0
if(busy)
- user << "[src] refuses to work, displaying the message: \"[busy]!\""
+ to_chat(user, "[src] refuses to work, displaying the message: \"[busy]!\"")
return 0
if(!nonhuman_usable && !ishuman(user))
- user << "[src] hums fitfully in your hands, but doesn't seem to do anything..."
+ to_chat(user, "[src] hums fitfully in your hands, but doesn't seem to do anything...")
return 0
access_display(user)
@@ -277,13 +277,13 @@
if(!scripture || !user || !user.canUseTopic(src) || (!nonhuman_usable && !ishuman(user)))
return FALSE
if(user.get_active_held_item() != src)
- user << "You need to hold the slab in your active hand to recite scripture!"
+ to_chat(user, "You need to hold the slab in your active hand to recite scripture!")
return FALSE
var/initial_tier = initial(scripture.tier)
if(initial_tier != SCRIPTURE_PERIPHERAL)
var/list/tiers_of_scripture = scripture_unlock_check()
if(!ratvar_awakens && !no_cost && !tiers_of_scripture[initial_tier])
- user << "That scripture is not unlocked, and cannot be recited!"
+ to_chat(user, "That scripture is not unlocked, and cannot be recited!")
return FALSE
var/datum/clockwork_scripture/scripture_to_recite = new scripture
scripture_to_recite.slab = src
diff --git a/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm b/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm
index 52198fb6202..8d74047ee77 100644
--- a/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm
@@ -44,8 +44,8 @@
else
update_status(FALSE)
if(iscultist(user)) //Cultists spontaneously combust
- user << "\"Consider yourself judged, whelp.\""
- user << "You suddenly catch fire!"
+ to_chat(user, "\"Consider yourself judged, whelp.\"")
+ to_chat(user, "You suddenly catch fire!")
user.adjust_fire_stacks(5)
user.IgniteMob()
return 1
@@ -79,10 +79,10 @@
return 0
switch(active)
if(TRUE)
- L << "As you put on [src], its lens begins to glow, information flashing before your eyes.\n\
- Judicial visor active. Use the action button to gain the ability to smite the unworthy."
+ to_chat(L, "As you put on [src], its lens begins to glow, information flashing before your eyes.\n\
+ Judicial visor active. Use the action button to gain the ability to smite the unworthy.")
if(FALSE)
- L << "As you take off [src], its lens darkens once more."
+ to_chat(L, "As you take off [src], its lens darkens once more.")
return 1
/obj/item/clothing/glasses/judicial_visor/proc/recharge_visor(mob/living/user)
@@ -90,7 +90,7 @@
return 0
recharging = FALSE
if(user && src == user.get_item_by_slot(slot_glasses))
- user << "Your [name] hums. It is ready."
+ to_chat(user, "Your [name] hums. It is ready.")
else
active = FALSE
icon_state = "judicial_visor_[active]"
@@ -197,7 +197,7 @@
targetsjudged++
L.adjustBruteLoss(10)
add_logs(user, L, "struck with a judicial blast")
- user << "[targetsjudged ? "Successfully judged [targetsjudged]":"Judged no"] heretic[targetsjudged == 1 ? "":"s"]."
+ to_chat(user, "[targetsjudged ? "Successfully judged [targetsjudged]":"Judged no"] heretic[targetsjudged == 1 ? "":"s"].")
sleep(3) //so the animation completes properly
qdel(src)
diff --git a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm
index 280593234cb..170a3202527 100644
--- a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm
@@ -52,18 +52,18 @@
/obj/item/clockwork/ratvarian_spear/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "Stabbing a human you are pulling or have grabbed with the spear will impale them, doing massive damage and stunning."
+ to_chat(user, "Stabbing a human you are pulling or have grabbed with the spear will impale them, doing massive damage and stunning.")
if(!iscyborg(user))
- user << "Throwing the spear will do massive damage, break the spear, and stun the target."
+ to_chat(user, "Throwing the spear will do massive damage, break the spear, and stun the target.")
/obj/item/clockwork/ratvarian_spear/attack(mob/living/target, mob/living/carbon/human/user)
var/impaling = FALSE
if(attack_cooldown > world.time)
- user << "You can't attack right now, wait [max(round((attack_cooldown - world.time)*0.1, 0.1), 0)] seconds!"
+ to_chat(user, "You can't attack right now, wait [max(round((attack_cooldown - world.time)*0.1, 0.1), 0)] seconds!")
return
if(user.pulling && ishuman(user.pulling) && user.pulling == target)
if(impale_cooldown > world.time)
- user << "You can't impale [target] yet, wait [max(round((impale_cooldown - world.time)*0.1, 0.1), 0)] seconds!"
+ to_chat(user, "You can't impale [target] yet, wait [max(round((impale_cooldown - world.time)*0.1, 0.1), 0)] seconds!")
else
impaling = TRUE
attack_verb = list("impaled")
@@ -87,7 +87,7 @@
else if(iscultist(target) || isconstruct(target)) //Cultists take extra fire damage
var/mob/living/M = target
if(M.stat != DEAD)
- M << "Your body flares with agony at [src]'s presence!"
+ to_chat(M, "Your body flares with agony at [src]'s presence!")
M.adjustFireLoss(15)
else
target.adjustFireLoss(3)
@@ -102,7 +102,7 @@
if(target)
new /obj/effect/overlay/temp/dir_setting/bloodsplatter(get_turf(target), get_dir(user, target))
target.Stun(2)
- user << "You prepare to remove your ratvarian spear from [target]..."
+ to_chat(user, "You prepare to remove your ratvarian spear from [target]...")
var/remove_verb = pick("pull", "yank", "drag")
if(do_after(user, 10, 1, target))
var/turf/T = get_turf(target)
@@ -113,7 +113,7 @@
user.visible_message("[user] [remove_verb]s [src] out of [target]!", "You [remove_verb] your spear from [target]!")
else
user.visible_message("[user] kicks [target] off of [src]!", "You kick [target] off of [src]!")
- target << "You scream in pain as you're kicked off of [src]!"
+ to_chat(target, "You scream in pain as you're kicked off of [src]!")
target.emote("scream")
step(target, get_dir(user, target))
T = get_turf(target)
@@ -124,7 +124,7 @@
else if(target) //it's a do_after, we gotta check again to make sure they didn't get deleted
user.visible_message("[user] [remove_verb]s [src] out of [target]!", "You [remove_verb] your spear from [target]!")
if(target.stat == CONSCIOUS)
- target << "You scream in pain as [src] is suddenly [remove_verb]ed out of you!"
+ to_chat(target, "You scream in pain as [src] is suddenly [remove_verb]ed out of you!")
target.emote("scream")
flash_color(target, flash_color="#911414", flash_time=4)
diff --git a/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm b/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm
index 70a1d28038f..d42cb82aa25 100644
--- a/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm
@@ -48,7 +48,7 @@
/obj/item/device/mmi/posibrain/soul_vessel/attack_self(mob/living/user)
if(!is_servant_of_ratvar(user))
- user << "You fiddle around with [src], to no avail."
+ to_chat(user, "You fiddle around with [src], to no avail.")
return 0
..()
@@ -57,35 +57,35 @@
..()
return
if(used || (brainmob && brainmob.key))
- user << "\"This vessel is filled, friend. Provide it with a body.\""
+ to_chat(user, "\"This vessel is filled, friend. Provide it with a body.\"")
return
if(is_servant_of_ratvar(target))
- user << "\"It would be more wise to revive your allies, friend.\""
+ to_chat(user, "\"It would be more wise to revive your allies, friend.\"")
return
var/mob/living/carbon/human/H = target
var/obj/item/bodypart/head/HE = H.get_bodypart("head")
var/obj/item/organ/brain/B = H.getorgan(/obj/item/organ/brain)
if(!HE)
- user << "[H] has no head, and thus no mind!"
+ to_chat(user, "[H] has no head, and thus no mind!")
return
if(H.stat == CONSCIOUS)
- user << "[H] must be dead or unconscious for you to claim [H.p_their()] mind!"
+ to_chat(user, "[H] must be dead or unconscious for you to claim [H.p_their()] mind!")
return
if(H.head)
var/obj/item/I = H.head
if(I.flags_inv & HIDEHAIR)
- user << "[H]'s head is covered, remove [H.head] first!"
+ to_chat(user, "[H]'s head is covered, remove [H.head] first!")
return
if(H.wear_mask)
var/obj/item/I = H.wear_mask
if(I.flags_inv & HIDEHAIR)
- user << "[H]'s head is covered, remove [H.wear_mask] first!"
+ to_chat(user, "[H]'s head is covered, remove [H.wear_mask] first!")
return
if(!B)
- user << "[H] has no brain, and thus no mind to claim!"
+ to_chat(user, "[H] has no brain, and thus no mind to claim!")
return
if(!H.key)
- user << "[H] has no mind to claim!"
+ to_chat(user, "[H] has no mind to claim!")
return
playsound(H, 'sound/misc/splort.ogg', 60, 1, -1)
playsound(H, 'sound/magic/clockwork/anima_fragment_attack.ogg', 40, 1, -1)
diff --git a/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm b/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm
index 362fc95eae0..c2c24d95e0b 100644
--- a/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm
@@ -33,23 +33,23 @@
var/mob/living/carbon/human/H = loc
if(src == H.glasses && !up)
if(H.disabilities & BLIND)
- H << "\"You're blind, idiot. Stop embarrassing yourself.\""
+ to_chat(H, "\"You're blind, idiot. Stop embarrassing yourself.\"")
return
if(blind_cultist(H))
return
if(is_servant_of_ratvar(H))
- H << "You push the spectacles down, and all is revealed to you.[ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."]"
+ to_chat(H, "You push the spectacles down, and all is revealed to you.[ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."]")
var/datum/status_effect/wraith_spectacles/WS = H.has_status_effect(STATUS_EFFECT_WRAITHSPECS)
if(WS)
WS.apply_eye_damage(H)
H.apply_status_effect(STATUS_EFFECT_WRAITHSPECS)
else
- H << "You push the spectacles down, but you can't see through the glass."
+ to_chat(H, "You push the spectacles down, but you can't see through the glass.")
/obj/item/clothing/glasses/wraith_spectacles/proc/blind_cultist(mob/living/victim)
if(iscultist(victim))
- victim << "\"It looks like Nar-Sie's dogs really don't value their eyes.\""
- victim << "Your eyes explode with horrific pain!"
+ to_chat(victim, "\"It looks like Nar-Sie's dogs really don't value their eyes.\"")
+ to_chat(victim, "Your eyes explode with horrific pain!")
victim.emote("scream")
victim.become_blind()
victim.adjust_blurriness(30)
@@ -77,19 +77,19 @@
if(slot != slot_glasses || up)
return
if(user.disabilities & BLIND)
- user << "\"You're blind, idiot. Stop embarrassing yourself.\"" //Ratvar with the sick burns yo
+ to_chat(user, "\"You're blind, idiot. Stop embarrassing yourself.\"" )
return
if(blind_cultist(user)) //Cultists instantly go blind
return
set_vision_vars(TRUE)
if(is_servant_of_ratvar(user))
- user << "As you put on the spectacles, all is revealed to you.[ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."]"
+ to_chat(user, "As you put on the spectacles, all is revealed to you.[ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."]")
var/datum/status_effect/wraith_spectacles/WS = user.has_status_effect(STATUS_EFFECT_WRAITHSPECS)
if(WS)
WS.apply_eye_damage(user)
user.apply_status_effect(STATUS_EFFECT_WRAITHSPECS)
else
- user << "You put on the spectacles, but you can't see through the glass."
+ to_chat(user, "You put on the spectacles, but you can't see through the glass.")
//The effect that causes/repairs the damage the spectacles cause.
/datum/status_effect/wraith_spectacles
@@ -160,9 +160,9 @@
H.adjust_blurriness(2)
if(eye_damage_done >= nearsight_breakpoint)
if(H.become_nearsighted())
- H << "Your vision doubles, then trebles. Darkness begins to close in. You can't keep this up!"
+ to_chat(H, "Your vision doubles, then trebles. Darkness begins to close in. You can't keep this up!")
if(eye_damage_done >= blind_breakpoint)
if(H.become_blind())
- H << "A piercing white light floods your vision. Suddenly, all goes dark!"
+ to_chat(H, "A piercing white light floods your vision. Suddenly, all goes dark!")
if(prob(min(20, 5 + eye_damage_done)))
- H << "Your eyes continue to burn."
+ to_chat(H, "Your eyes continue to burn.")
diff --git a/code/game/gamemodes/clock_cult/clock_mobs.dm b/code/game/gamemodes/clock_cult/clock_mobs.dm
index 07abfda1f97..3538a8a557c 100644
--- a/code/game/gamemodes/clock_cult/clock_mobs.dm
+++ b/code/game/gamemodes/clock_cult/clock_mobs.dm
@@ -27,7 +27,7 @@
/mob/living/simple_animal/hostile/clockwork/Login()
..()
add_servant_of_ratvar(src, TRUE)
- src << playstyle_string
+ to_chat(src, playstyle_string)
/mob/living/simple_animal/hostile/clockwork/ratvar_act()
fully_heal(TRUE)
@@ -49,4 +49,4 @@
msg += ""
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
diff --git a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm
index e47ad8ecc98..70edde4e500 100644
--- a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm
+++ b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm
@@ -51,8 +51,8 @@
if(!recovering)
heal_host() //also heal our host if inside of them and we aren't recovering
else if(health == maxHealth)
- src << "Your strength has returned. You can once again come forward!"
- host << "Your marauder is now strong enough to come forward again!"
+ to_chat(src, "Your strength has returned. You can once again come forward!")
+ to_chat(host, "Your marauder is now strong enough to come forward again!")
recovering = FALSE
else
if(ratvar_awakens) //If Ratvar is alive, marauders don't need a host and are downright impossible to kill
@@ -64,7 +64,7 @@
return
if(host.stat == DEAD)
adjustHealth(50)
- src << "Your host is dead!"
+ to_chat(src, "Your host is dead!")
return
if(z && host.z && z == host.z)
switch(get_dist(get_turf(src), get_turf(host)))
@@ -82,13 +82,13 @@
adjustHealth(9)
if(8 to INFINITY)
adjustHealth(15)
- src << "You're too far from your host and rapidly taking damage!"
+ to_chat(src, "You're too far from your host and rapidly taking damage!")
else //right next to or on top of host
adjustHealth(-2)
heal_host() //gradually heal host if nearby and host is very weak
else //well then, you're not even in the same zlevel
adjustHealth(15)
- src << "You're too far from your host and rapidly taking damage!"
+ to_chat(src, "You're too far from your host and rapidly taking damage!")
/mob/living/simple_animal/hostile/clockwork/marauder/death(gibbed)
emerge_from_host(FALSE, TRUE)
@@ -156,7 +156,7 @@
if(amount > 0)
for(var/mob/living/L in view(2, src))
if(L.is_holding_item_of_type(/obj/item/weapon/nullrod))
- src << "The presence of a brandished holy artifact weakens your armor!"
+ to_chat(src, "The presence of a brandished holy artifact weakens your armor!")
amount *= 4 //if a wielded null rod is nearby, it takes four times the health damage
break
. = ..()
@@ -299,19 +299,19 @@
/mob/living/simple_animal/hostile/clockwork/marauder/proc/marauder_comms(message)
var/name_part = "[src] ([true_name])"
message = "\"[message]\"" //Processed output
- src << "[name_part]: [message]"
- host << "[name_part]: [message]"
+ to_chat(src, "[name_part]: [message]")
+ to_chat(host, "[name_part]: [message]")
for(var/M in mob_list)
if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
- M << "[link] [name_part] (to [findtextEx(host.name, host.real_name) ? "[host.name]" : "[host.real_name] (as [host.name])"]): [message] "
+ to_chat(M, "[link] [name_part] (to [findtextEx(host.name, host.real_name) ? "[host.name]" : "[host.real_name] (as [host.name])"]): [message] ")
return TRUE
/mob/living/simple_animal/hostile/clockwork/marauder/proc/return_to_host()
if(is_in_host())
return FALSE
if(!host)
- src << "You don't have a host!"
+ to_chat(src, "You don't have a host!")
return FALSE
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
if(iscarbon(host))
@@ -321,20 +321,20 @@
forceMove(host)
if(resulthealth > MARAUDER_EMERGE_THRESHOLD && health != maxHealth)
recovering = TRUE
- src << "You have weakened and will need to recover before manifesting again!"
- host << "[true_name] has weakened and will need to recover before manifesting again!"
+ to_chat(src, "You have weakened and will need to recover before manifesting again!")
+ to_chat(host, "[true_name] has weakened and will need to recover before manifesting again!")
return TRUE
/mob/living/simple_animal/hostile/clockwork/marauder/proc/try_emerge()
if(!host)
- src << "You don't have a host!"
+ to_chat(src, "You don't have a host!")
return FALSE
if(!ratvar_awakens)
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
if(iscarbon(host))
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
if(host.stat != DEAD && resulthealth > MARAUDER_EMERGE_THRESHOLD) //if above 20 health, fails
- src << "Your host must be at [MARAUDER_EMERGE_THRESHOLD]% or less health to emerge like this!"
+ to_chat(src, "Your host must be at [MARAUDER_EMERGE_THRESHOLD]% or less health to emerge like this!")
return FALSE
return emerge_from_host(FALSE)
@@ -343,16 +343,16 @@
return FALSE
if(!force && recovering)
if(hostchosen)
- host << "[true_name] is too weak to come forth!"
+ to_chat(host, "[true_name] is too weak to come forth!")
else
- host << "[true_name] tries to emerge to protect you, but it's too weak!"
- src << "You try to come forth, but you're too weak!"
+ to_chat(host, "[true_name] tries to emerge to protect you, but it's too weak!")
+ to_chat(src, "You try to come forth, but you're too weak!")
return FALSE
if(!force)
if(hostchosen) //marauder approved
- host << "Your words echo with power as [true_name] emerges from your body!"
+ to_chat(host, "Your words echo with power as [true_name] emerges from your body!")
else
- host << "[true_name] emerges from your body to protect you!"
+ to_chat(host, "[true_name] emerges from your body to protect you!")
forceMove(host.loc)
visible_message("[host]'s skin glows red as [name] emerges from their body!", "You exit the safety of [host]'s body!")
return TRUE
@@ -415,14 +415,14 @@
if(!owner || !message)
return FALSE
if(!linked_marauder)
- owner << "Your marauder seems to have been destroyed!"
+ to_chat(owner, "Your marauder seems to have been destroyed!")
return FALSE
var/name_part = "Servant [findtextEx(owner.name, owner.real_name) ? "[owner.name]" : "[owner.real_name] (as [owner.name])"]"
message = "\"[message]\"" //Processed output
- owner << "[name_part]: [message]"
- linked_marauder << "[name_part]: [message]"
+ to_chat(owner, "[name_part]: [message]")
+ to_chat(linked_marauder, "[name_part]: [message]")
for(var/M in mob_list)
if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
- M << "[link] [name_part] (to [linked_marauder] ([linked_marauder.true_name])): [message]"
+ to_chat(M, "[link] [name_part] (to [linked_marauder] ([linked_marauder.true_name])): [message]")
return TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm
index e943823a561..41621bcf699 100644
--- a/code/game/gamemodes/clock_cult/clock_scripture.dm
+++ b/code/game/gamemodes/clock_cult/clock_scripture.dm
@@ -55,7 +55,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
var/successful = FALSE
if(can_recite() && has_requirements())
if(slab.busy)
- invoker << "[slab] refuses to work, displaying the message: \"[slab.busy]!\""
+ to_chat(invoker, "[slab] refuses to work, displaying the message: \"[slab.busy]!\"")
return FALSE
slab.busy = "Invocation ([name]) in progress"
if(ratvar_awakens)
@@ -96,7 +96,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
if(!invoker || !slab || invoker.get_active_held_item() != slab)
return FALSE
if(!invoker.can_speak_vocal())
- invoker << "You are unable to speak the words of the scripture!"
+ to_chat(invoker, "You are unable to speak the words of the scripture!")
return FALSE
return TRUE
@@ -115,7 +115,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
failed = TRUE
if(failed)
component_printout += ""
- invoker << component_printout
+ to_chat(invoker, component_printout)
return FALSE
if(multiple_invokers_used && !multiple_invokers_optional && !ratvar_awakens && !slab.no_cost)
var/nearby_servants = 0
@@ -123,7 +123,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
if(is_servant_of_ratvar(L) && L.stat == CONSCIOUS && L.can_speak_vocal())
nearby_servants++
if(nearby_servants < invokers_required)
- invoker << "There aren't enough non-mute servants nearby ([nearby_servants]/[invokers_required])!"
+ to_chat(invoker, "There aren't enough non-mute servants nearby ([nearby_servants]/[invokers_required])!")
return FALSE
if(!check_special_requirements())
return FALSE
@@ -149,7 +149,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
if(message)
if(prob(ratvarian_prob))
message = text2ratvar(message)
- invoker << "\"[message]\""
+ to_chat(invoker, "\"[message]\"")
invoker << 'sound/magic/clockwork/invoke_general.ogg'
return TRUE
@@ -176,7 +176,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
else
for(var/invocation in invocations)
clockwork_say(invoker, text2ratvar(invocation), whispered)
- invoker << "You [channel_time <= 0 ? "recite" : "begin reciting"] a piece of scripture entitled \"[name]\"."
+ to_chat(invoker, "You [channel_time <= 0 ? "recite" : "begin reciting"] a piece of scripture entitled \"[name]\".")
if(!channel_time)
return TRUE
for(var/invocation in invocations)
@@ -219,7 +219,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
/datum/clockwork_scripture/channeled/proc/chant_effects(chant_number) //The chant's periodic effects
/datum/clockwork_scripture/channeled/proc/chant_end_effects() //The chant's effect upon ending
- invoker << "You cease your chant."
+ to_chat(invoker, "You cease your chant.")
//Creates an object at the invoker's feet
@@ -239,10 +239,10 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
/datum/clockwork_scripture/create_object/check_special_requirements()
var/turf/T = get_turf(invoker)
if(!space_allowed && isspaceturf(T))
- invoker << "You need solid ground to place this object!"
+ to_chat(invoker, "You need solid ground to place this object!")
return FALSE
if(one_per_tile && (locate(prevent_path) in T))
- invoker << "You can only place one of this object on each tile!"
+ to_chat(invoker, "You can only place one of this object on each tile!")
return FALSE
return TRUE
@@ -250,7 +250,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
if(creator_message && observer_message)
invoker.visible_message(observer_message, creator_message)
else if(creator_message)
- invoker << creator_message
+ to_chat(invoker, creator_message)
var/obj/O = new object_path (get_turf(invoker))
O.ratvar_act() //update the new object so it gets buffed if ratvar is alive
if(istype(O, /obj/item))
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm
index ccfc4a1e6f3..e5cd4db3cf8 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm
@@ -108,7 +108,7 @@
/datum/clockwork_scripture/memory_allocation/check_special_requirements()
for(var/mob/living/simple_animal/hostile/clockwork/marauder/M in all_clockwork_mobs)
if(M.host == invoker)
- invoker << "You can only house one marauder at a time!"
+ to_chat(invoker, "You can only house one marauder at a time!")
return FALSE
return TRUE
@@ -134,7 +134,7 @@
slab.busy = "Marauder Selection in progress"
if(!check_special_requirements())
return FALSE
- invoker << "The tendril shivers slightly as it selects a marauder..."
+ to_chat(invoker, "The tendril shivers slightly as it selects a marauder...")
var/list/marauder_candidates = pollCandidates("Do you want to play as the clockwork marauder of [invoker.real_name]?", ROLE_SERVANT_OF_RATVAR, null, FALSE, 50)
if(!check_special_requirements())
return FALSE
@@ -285,10 +285,10 @@
if(is_servant_of_ratvar(L))
servants++
if(servants * 0.2 < clockwork_daemons)
- invoker << "\"Daemons are already disabled, making more of them would be a waste.\""
+ to_chat(invoker, "\"Daemons are already disabled, making more of them would be a waste.\"")
return FALSE
if(servants * 0.2 < clockwork_daemons+1)
- invoker << "\"This daemon would be useless, friend.\""
+ to_chat(invoker, "\"This daemon would be useless, friend.\"")
return FALSE
return ..()
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm
index 3c52900a47c..c5de8550e9b 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm
@@ -18,7 +18,7 @@
/datum/clockwork_scripture/ranged_ability/linked_vanguard/check_special_requirements()
if(islist(invoker.stun_absorption) && invoker.stun_absorption["vanguard"] && invoker.stun_absorption["vanguard"]["end_time"] > world.time)
- invoker << "You are already shielded by a Vanguard!"
+ to_chat(invoker, "You are already shielded by a Vanguard!")
return FALSE
return TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm
index 414566c6a5c..1cbf36755e4 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm
@@ -28,9 +28,9 @@
C.apply_damage(noncultist_damage * 0.5, BURN, "r_leg")
if(C.m_intent != MOVE_INTENT_WALK)
if(!iscultist(C))
- C << "Your leg[number_legs > 1 ? "s shiver":" shivers"] with pain!"
+ to_chat(C, "Your leg[number_legs > 1 ? "s shiver":" shivers"] with pain!")
else //Cultists take extra burn damage
- C << "Your leg[number_legs > 1 ? "s burn":" burns"] with pain!"
+ to_chat(C, "Your leg[number_legs > 1 ? "s burn":" burns"] with pain!")
C.apply_damage(cultist_damage * 0.5, BURN, "l_leg")
C.apply_damage(cultist_damage * 0.5, BURN, "r_leg")
C.toggle_move_intent()
@@ -75,7 +75,7 @@
/datum/clockwork_scripture/vanguard/check_special_requirements()
if(islist(invoker.stun_absorption) && invoker.stun_absorption["vanguard"] && invoker.stun_absorption["vanguard"]["end_time"] > world.time)
- invoker << "You are already shielded by a Vanguard!"
+ to_chat(invoker, "You are already shielded by a Vanguard!")
return FALSE
return TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm
index 5a61f7ab21a..1df9996de61 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm
@@ -32,21 +32,21 @@
/datum/clockwork_scripture/create_object/ark_of_the_clockwork_justiciar/check_special_requirements()
if(!slab.no_cost)
if(ratvar_awakens)
- invoker << "\"I am already here, idiot.\""
+ to_chat(invoker, "\"I am already here, idiot.\"")
return FALSE
for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in all_clockwork_objects)
var/area/gate_area = get_area(G)
- invoker << "There is already a gateway at [gate_area.map_name]!"
+ to_chat(invoker, "There is already a gateway at [gate_area.map_name]!")
return FALSE
var/area/A = get_area(invoker)
var/turf/T = get_turf(invoker)
if(!T || T.z != ZLEVEL_STATION || istype(A, /area/shuttle) || !A.blob_allowed)
- invoker << "You must be on the station to activate the Ark!"
+ to_chat(invoker, "You must be on the station to activate the Ark!")
return FALSE
if(clockwork_gateway_activated)
if(ticker && ticker.mode && ticker.mode.clockwork_objective != CLOCKCULT_GATEWAY)
- invoker << "\"Look upon his works. Is it not glorious?\""
+ to_chat(invoker, "\"Look upon his works. Is it not glorious?\"")
else
- invoker << "Ratvar's recent banishment renders him too weak to be wrung forth from Reebe!"
+ to_chat(invoker, "Ratvar's recent banishment renders him too weak to be wrung forth from Reebe!")
return FALSE
return ..()
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
index d93cd8085d0..86d51a97dc2 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
@@ -17,8 +17,8 @@
/datum/clockwork_scripture/invoke_inathneq/check_special_requirements()
if(!slab.no_cost && clockwork_generals_invoked["inath-neq"] > world.time)
- invoker << "\"[text2ratvar("I cannot lend you my aid yet, champion. Please be careful.")]\"\n\
- Inath-neq has already been invoked recently! You must wait several minutes before calling upon the Resonant Cogwheel."
+ to_chat(invoker, "\"[text2ratvar("I cannot lend you my aid yet, champion. Please be careful.")]\"\n\
+ Inath-neq has already been invoked recently! You must wait several minutes before calling upon the Resonant Cogwheel.")
return FALSE
return TRUE
@@ -57,12 +57,12 @@
/datum/clockwork_scripture/invoke_sevtug/check_special_requirements()
if(!slab.no_cost && clockwork_generals_invoked["sevtug"] > world.time)
- invoker << "\"[text2ratvar("Is it really so hard - even for a simpleton like you - to grasp the concept of waiting?")]\"\n\
- Sevtug has already been invoked recently! You must wait several minutes before calling upon the Formless Pariah."
+ to_chat(invoker, "\"[text2ratvar("Is it really so hard - even for a simpleton like you - to grasp the concept of waiting?")]\"\n\
+ Sevtug has already been invoked recently! You must wait several minutes before calling upon the Formless Pariah.")
return FALSE
if(!slab.no_cost && ratvar_awakens)
- invoker << "\"[text2ratvar("Do you really think anything I can do right now will compare to Engine's power?")]\"\n\
- Sevtug will not grant his power while Ratvar's dwarfs his own!"
+ to_chat(invoker, "\"[text2ratvar("Do you really think anything I can do right now will compare to Engine's power?")]\"\n\
+ Sevtug will not grant his power while Ratvar's dwarfs his own!")
return FALSE
return TRUE
@@ -81,16 +81,16 @@
var/minordistance = max(200 - distance*2, 5)
var/majordistance = max(150 - distance*3, 5)
if(H.null_rod_check())
- H << "[text2ratvar("Oh, a void weapon. How annoying, I may as well not bother.")]\n\
- Your holy weapon glows a faint orange, defending your mind!"
+ to_chat(H, "[text2ratvar("Oh, a void weapon. How annoying, I may as well not bother.")]\n\
+ Your holy weapon glows a faint orange, defending your mind!")
continue
else if(H.isloyal())
visualsdistance = round(visualsdistance * 0.5) //half effect for shielded targets
minordistance = round(minordistance * 0.5)
majordistance = round(majordistance * 0.5)
- H << "[text2ratvar("Oh, look, a mindshield. Cute, I suppose I'll humor it.")]"
+ to_chat(H, "[text2ratvar("Oh, look, a mindshield. Cute, I suppose I'll humor it.")]")
else if(prob(visualsdistance))
- H << "[text2ratvar(pick(mindbreaksayings))]"
+ to_chat(H, "[text2ratvar(pick(mindbreaksayings))]")
H.playsound_local(T, hum, visualsdistance, 1)
flash_color(H, flash_color="#AF0AAF", flash_time=visualsdistance*10)
H.dizziness = minordistance + H.dizziness
@@ -119,12 +119,12 @@
/datum/clockwork_scripture/invoke_nezbere/check_special_requirements()
if(!slab.no_cost && clockwork_generals_invoked["nezbere"] > world.time)
- invoker << "\"[text2ratvar("Not just yet, friend. Patience is a virtue.")]\"\n\
- Nezbere has already been invoked recently! You must wait several minutes before calling upon the Brass Eidolon."
+ to_chat(invoker, "\"[text2ratvar("Not just yet, friend. Patience is a virtue.")]\"\n\
+ Nezbere has already been invoked recently! You must wait several minutes before calling upon the Brass Eidolon.")
return FALSE
if(!slab.no_cost && ratvar_awakens)
- invoker << "\"[text2ratvar("Our master is here already. You do not require my help, friend.")]\"\n\
- There is no need for Nezbere's assistance while Ratvar is risen!"
+ to_chat(invoker, "\"[text2ratvar("Our master is here already. You do not require my help, friend.")]\"\n\
+ There is no need for Nezbere's assistance while Ratvar is risen!")
return FALSE
return TRUE
@@ -159,8 +159,8 @@
/datum/clockwork_scripture/invoke_nzcrentr/check_special_requirements()
if(!slab.no_cost && clockwork_generals_invoked["nzcrentr"] > world.time)
- invoker << "\"[text2ratvar("The boss says you have to wait. Hey, do you think he would mind if I killed you? ...He would? Ok.")]\"\n\
- Nzcrentr has already been invoked recently! You must wait several minutes before calling upon the Eternal Thunderbolt."
+ to_chat(invoker, "\"[text2ratvar("The boss says you have to wait. Hey, do you think he would mind if I killed you? ...He would? Ok.")]\"\n\
+ Nzcrentr has already been invoked recently! You must wait several minutes before calling upon the Eternal Thunderbolt.")
return FALSE
return TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm
index b6298ca1d5e..9c098d6d8de 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm
@@ -24,7 +24,7 @@
/datum/clockwork_scripture/create_object/ocular_warden/check_special_requirements()
for(var/obj/structure/destructible/clockwork/ocular_warden/W in range(OCULAR_WARDEN_EXCLUSION_RANGE, invoker))
- invoker << "You sense another ocular warden too near this location. Placing another this close would cause them to fight." //fluff message
+ to_chat(invoker, "You sense another ocular warden too near this location. Placing another this close would cause them to fight." )
return FALSE
return ..()
@@ -146,7 +146,7 @@
/datum/clockwork_scripture/function_call/check_special_requirements()
for(var/datum/action/innate/function_call/F in invoker.actions)
- invoker << "You have already bound a Ratvarian spear to yourself!"
+ to_chat(invoker, "You have already bound a Ratvarian spear to yourself!")
return FALSE
return invoker.can_hold_items()
@@ -175,13 +175,13 @@
/datum/action/innate/function_call/Activate()
if(!owner.get_empty_held_indexes())
- usr << "You need an empty hand to call forth your spear!"
+ to_chat(usr, "You need an empty hand to call forth your spear!")
return FALSE
owner.visible_message("A strange spear materializes in [owner]'s hands!", "You call forth your spear!")
var/obj/item/clockwork/ratvarian_spear/R = new(get_turf(usr))
owner.put_in_hands(R)
if(!ratvar_awakens)
- owner << "Your spear begins to break down in this plane of existence. You can't use it for long!"
+ to_chat(owner, "Your spear begins to break down in this plane of existence. You can't use it for long!")
cooldown = base_cooldown + world.time
owner.update_action_buttons_icon()
addtimer(CALLBACK(src, .proc/update_actions), base_cooldown)
@@ -212,7 +212,7 @@
/datum/clockwork_scripture/spatial_gateway/check_special_requirements()
if(!isturf(invoker.loc))
- invoker << "You must not be inside an object to use this scripture!"
+ to_chat(invoker, "You must not be inside an object to use this scripture!")
return FALSE
var/other_servants = 0
for(var/mob/living/L in living_mob_list)
@@ -221,7 +221,7 @@
for(var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/O in all_clockwork_objects)
other_servants++
if(!other_servants)
- invoker << "There are no other servants or clockwork obelisks!"
+ to_chat(invoker, "There are no other servants or clockwork obelisks!")
return FALSE
return TRUE
@@ -284,7 +284,7 @@
invoker.visible_message("[invoker] is struck by [invoker.p_their()] own [VH.name]!", "You're struck by your own [VH.name]!")
invoker.adjustFireLoss(VH.damage) //you have to fail all five blasts to die to this
playsound(invoker, 'sound/machines/defib_zap.ogg', VH.damage, 1, -1)
- invoker << "\"[text2ratvar(pick(nzcrentr_insults))]\""
+ to_chat(invoker, "\"[text2ratvar(pick(nzcrentr_insults))]\"")
else
return FALSE
return TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_structure.dm b/code/game/gamemodes/clock_cult/clock_structure.dm
index 90e43623a61..5eda70a8f70 100644
--- a/code/game/gamemodes/clock_cult/clock_structure.dm
+++ b/code/game/gamemodes/clock_cult/clock_structure.dm
@@ -46,7 +46,7 @@
..()
desc = initial(desc)
if(unanchored_icon)
- user << "[src] is [anchored ? "":"not "]secured to the floor."
+ to_chat(user, "[src] is [anchored ? "":"not "]secured to the floor.")
/obj/structure/destructible/clockwork/examine_status(mob/user)
if(is_servant_of_ratvar(user) || isobserver(user))
@@ -90,7 +90,7 @@
/obj/structure/destructible/clockwork/can_be_unfasten_wrench(mob/user, silent)
if(anchored && obj_integrity <= round(max_integrity * 0.25, 1))
if(!silent)
- user << "[src] is too damaged to unsecure!"
+ to_chat(user, "[src] is too damaged to unsecure!")
return FAILED_UNFASTEN
return ..()
@@ -125,7 +125,7 @@
if(do_damage)
playsound(src, break_sound, 10 * get_efficiency_mod(TRUE), 1)
take_damage(round(max_integrity * 0.25, 1), BRUTE)
- user << "As you unsecure [src] from the floor, you see cracks appear in its surface!"
+ to_chat(user, "As you unsecure [src] from the floor, you see cracks appear in its surface!")
/obj/structure/destructible/clockwork/emp_act(severity)
if(anchored && unanchored_icon)
@@ -167,8 +167,8 @@
if(is_servant_of_ratvar(user) || isobserver(user))
var/powered = total_accessable_power()
var/sigil_number = LAZYLEN(check_apc_and_sigils())
- user << "It has access to [powered == INFINITY ? "INFINITY":"[powered]"]W of power, \
- and [sigil_number] Sigil[sigil_number == 1 ? "":"s"] of Transmission [sigil_number == 1 ? "is":"are"] in range."
+ to_chat(user, "It has access to [powered == INFINITY ? "INFINITY":"[powered]"]W of power, \
+ and [sigil_number] Sigil[sigil_number == 1 ? "":"s"] of Transmission [sigil_number == 1 ? "is":"are"] in range.")
/obj/structure/destructible/clockwork/powered/Destroy()
SSfastprocess.processing -= src
@@ -189,7 +189,7 @@
/obj/structure/destructible/clockwork/powered/can_be_unfasten_wrench(mob/user, silent)
if(active)
if(!silent)
- user << "[src] needs to be disabled before it can be unsecured!"
+ to_chat(user, "[src] needs to be disabled before it can be unsecured!")
return FAILED_UNFASTEN
return ..()
@@ -198,7 +198,7 @@
if(!is_servant_of_ratvar(user))
return FALSE
if(!anchored && !active)
- user << "[src] needs to be secured to the floor before it can be activated!"
+ to_chat(user, "[src] needs to be secured to the floor before it can be activated!")
return FALSE
visible_message("[user] [active ? "dis" : "en"]ables [src].", "You [active ? "dis" : "en"]able [src].")
active = !active
diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
index c9fc092375c..584145b88fa 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
@@ -128,11 +128,11 @@
var/obj/item/clockwork/component/C = I
if(required_components[C.component_id])
required_components[C.component_id]--
- user << "You add [C] to [src]."
+ to_chat(user, "You add [C] to [src].")
user.drop_item()
qdel(C)
else
- user << "[src] has enough [get_component_name(C.component_id)][C.component_id != REPLICANT_ALLOY ? "s":""]."
+ to_chat(user, "[src] has enough [get_component_name(C.component_id)][C.component_id != REPLICANT_ALLOY ? "s":""].")
return 1
else if(istype(I, /obj/item/clockwork/slab))
var/obj/item/clockwork/slab/S = I
@@ -173,34 +173,34 @@
icon_state = initial(icon_state)
if(is_servant_of_ratvar(user) || isobserver(user))
if(still_needs_components())
- user << "Components required until activation:"
+ to_chat(user, "Components required until activation:")
for(var/i in required_components)
if(required_components[i])
- user << "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: \
- [required_components[i]]"
+ to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: \
+ [required_components[i]]")
else
- user << "Seconds until [ratvar_portal ? "Ratvar's arrival":"Proselytization"]: [get_arrival_text(TRUE)]"
+ to_chat(user, "Seconds until [ratvar_portal ? "Ratvar's arrival":"Proselytization"]: [get_arrival_text(TRUE)]")
switch(progress_in_seconds)
if(-INFINITY to GATEWAY_REEBE_FOUND)
- user << "It's still opening."
+ to_chat(user, "It's still opening.")
if(GATEWAY_REEBE_FOUND to GATEWAY_RATVAR_COMING)
- user << "It's reached the Celestial Derelict and is drawing power from it."
+ to_chat(user, "It's reached the Celestial Derelict and is drawing power from it.")
if(GATEWAY_RATVAR_COMING to INFINITY)
- user << "[ratvar_portal ? "Ratvar is coming through the gateway":"The gateway is glowing with massed power"]!"
+ to_chat(user, "[ratvar_portal ? "Ratvar is coming through the gateway":"The gateway is glowing with massed power"]!")
else
switch(progress_in_seconds)
if(-INFINITY to GATEWAY_REEBE_FOUND)
- user << "It's a swirling mass of blackness."
+ to_chat(user, "It's a swirling mass of blackness.")
if(GATEWAY_REEBE_FOUND to GATEWAY_RATVAR_COMING)
- user << "It seems to be leading somewhere."
+ to_chat(user, "It seems to be leading somewhere.")
if(GATEWAY_RATVAR_COMING to INFINITY)
- user << "[ratvar_portal ? "Something is coming through":"It's glowing brightly"]!"
+ to_chat(user, "[ratvar_portal ? "Something is coming through":"It's glowing brightly"]!")
/obj/structure/destructible/clockwork/massive/celestial_gateway/process()
if(!first_sound_played || prob(7))
for(var/M in player_list)
if(M && !isnewplayer(M))
- M << "You hear otherworldly sounds from the [dir2text(get_dir(get_turf(M), get_turf(src)))]..."
+ to_chat(M, "You hear otherworldly sounds from the [dir2text(get_dir(get_turf(M), get_turf(src)))]...")
if(!obj_integrity)
return 0
var/convert_dist = 1 + (round(Floor(progress_in_seconds, 15) * 0.067))
diff --git a/code/game/gamemodes/clock_cult/clock_structures/clock_shells.dm b/code/game/gamemodes/clock_cult/clock_structures/clock_shells.dm
index 46adc6d46f9..cfcac3b5155 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/clock_shells.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/clock_shells.dm
@@ -14,10 +14,10 @@
return 0
var/obj/item/device/mmi/posibrain/soul_vessel/S = I
if(!S.brainmob)
- user << "[S] is inactive! Turn it on or capture a mind first."
+ to_chat(user, "[S] is inactive! Turn it on or capture a mind first.")
return 0
if(S.brainmob && (!S.brainmob.client || !S.brainmob.mind))
- user << "[S]'s trapped consciousness appears inactive!"
+ to_chat(user, "[S]'s trapped consciousness appears inactive!")
return 0
user.visible_message("[user] places [S] in [src], where it fuses to the shell.", "You place [S] in [src], fusing it to the shell.")
var/mob/living/simple_animal/A = new mobtype(get_turf(src))
diff --git a/code/game/gamemodes/clock_cult/clock_structures/clockwork_obelisk.dm b/code/game/gamemodes/clock_cult/clock_structures/clockwork_obelisk.dm
index 9c809a14bfe..e4400fcbb99 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/clockwork_obelisk.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/clockwork_obelisk.dm
@@ -24,12 +24,12 @@
/obj/structure/destructible/clockwork/powered/clockwork_obelisk/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "It requires [hierophant_cost]W to broadcast over the Hierophant Network, and [gateway_cost]W to open a Spatial Gateway."
+ to_chat(user, "It requires [hierophant_cost]W to broadcast over the Hierophant Network, and [gateway_cost]W to open a Spatial Gateway.")
/obj/structure/destructible/clockwork/powered/clockwork_obelisk/can_be_unfasten_wrench(mob/user, silent)
if(active)
if(!silent)
- user << "[src] is currently sustaining a gateway!"
+ to_chat(user, "[src] is currently sustaining a gateway!")
return FAILED_UNFASTEN
return ..()
@@ -44,40 +44,40 @@
/obj/structure/destructible/clockwork/powered/clockwork_obelisk/attack_hand(mob/living/user)
if(!is_servant_of_ratvar(user) || total_accessable_power() < hierophant_cost || !anchored)
- user << "You place your hand on the obelisk, but it doesn't react."
+ to_chat(user, "You place your hand on the obelisk, but it doesn't react.")
return
var/choice = alert(user,"You place your hand on the obelisk...",,"Hierophant Broadcast","Spatial Gateway","Cancel")
switch(choice)
if("Hierophant Broadcast")
if(active)
- user << "The obelisk is sustaining a gateway and cannot broadcast!"
+ to_chat(user, "The obelisk is sustaining a gateway and cannot broadcast!")
return
if(!user.can_speak_vocal())
- user << "You cannot speak through the obelisk!"
+ to_chat(user, "You cannot speak through the obelisk!")
return
var/input = stripped_input(usr, "Please choose a message to send over the Hierophant Network.", "Hierophant Broadcast", "")
if(!is_servant_of_ratvar(user) || !input || !user.canUseTopic(src, !issilicon(user)))
return
if(active)
- user << "The obelisk is sustaining a gateway and cannot broadcast!"
+ to_chat(user, "The obelisk is sustaining a gateway and cannot broadcast!")
return
if(!try_use_power(hierophant_cost))
- user << "The obelisk lacks the power to broadcast!"
+ to_chat(user, "The obelisk lacks the power to broadcast!")
return
if(!user.can_speak_vocal())
- user << "You cannot speak through the obelisk!"
+ to_chat(user, "You cannot speak through the obelisk!")
return
clockwork_say(user, text2ratvar("Hierophant Broadcast, activate! [html_decode(input)]"))
titled_hierophant_message(user, input, "big_brass", "large_brass")
if("Spatial Gateway")
if(active)
- user << "The obelisk is already sustaining a gateway!"
+ to_chat(user, "The obelisk is already sustaining a gateway!")
return
if(!try_use_power(gateway_cost))
- user << "The obelisk lacks the power to open a gateway!"
+ to_chat(user, "The obelisk lacks the power to open a gateway!")
return
if(!user.can_speak_vocal())
- user << "You need to be able to speak to open a gateway!"
+ to_chat(user, "You need to be able to speak to open a gateway!")
return
if(procure_gateway(user, round(100 * get_efficiency_mod(), 1), round(5 * get_efficiency_mod(), 1), 1) && !active)
clockwork_say(user, text2ratvar("Spatial Gateway, activate!"))
diff --git a/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm b/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm
index 108ba4ece48..56e2736cd4b 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm
@@ -25,10 +25,10 @@
/obj/structure/destructible/clockwork/powered/interdiction_lens/examine(mob/user)
..()
- user << "Its gemstone [recharging > world.time ? "has been breached by writhing tendrils of blackness that cover the totem" \
- : "vibrates in place and thrums with power"]."
+ to_chat(user, "Its gemstone [recharging > world.time ? "has been breached by writhing tendrils of blackness that cover the totem" \
+ : "vibrates in place and thrums with power"].")
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "If it fails to drain any electronics or has nothing to return power to, it will disable itself for [round(recharge_time/600, 1)] minutes."
+ to_chat(user, "If it fails to drain any electronics or has nothing to return power to, it will disable itself for [round(recharge_time/600, 1)] minutes.")
/obj/structure/destructible/clockwork/powered/interdiction_lens/toggle(fast_process, mob/living/user)
. = ..()
@@ -40,7 +40,7 @@
/obj/structure/destructible/clockwork/powered/interdiction_lens/attack_hand(mob/living/user)
if(user.canUseTopic(src, !issilicon(user), NO_DEXTERY))
if(disabled)
- user << "As you place your hand on the gemstone, cold tendrils of black matter crawl up your arm. You quickly pull back."
+ to_chat(user, "As you place your hand on the gemstone, cold tendrils of black matter crawl up your arm. You quickly pull back.")
return 0
toggle(0, user)
@@ -96,7 +96,7 @@
power_drained += Floor(A.power_drain(TRUE) * efficiency, MIN_CLOCKCULT_POWER)
if(prob(1 * rage_modifier))
- A << "\"[text2ratvar(pick(rage_messages))]\""
+ to_chat(A, "\"[text2ratvar(pick(rage_messages))]\"")
if(prob(100 * (efficiency * efficiency)))
if(istype(A, /obj/machinery/camera) && unconverted_ai)
diff --git a/code/game/gamemodes/clock_cult/clock_structures/mania_motor.dm b/code/game/gamemodes/clock_cult/clock_structures/mania_motor.dm
index cfac35bcab9..09372044a91 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/mania_motor.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/mania_motor.dm
@@ -31,7 +31,7 @@
/obj/structure/destructible/clockwork/powered/mania_motor/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "It requires [mania_cost]W to run, and at least [convert_cost]W to attempt to convert humans adjacent to it."
+ to_chat(user, "It requires [mania_cost]W to run, and at least [convert_cost]W to attempt to convert humans adjacent to it.")
/obj/structure/destructible/clockwork/powered/mania_motor/forced_disable(bad_effects)
if(active)
@@ -45,7 +45,7 @@
/obj/structure/destructible/clockwork/powered/mania_motor/attack_hand(mob/living/user)
if(user.canUseTopic(src, !issilicon(user), NO_DEXTERY) && is_servant_of_ratvar(user))
if(!total_accessable_power() >= mania_cost)
- user << "[src] needs more power to function!"
+ to_chat(user, "[src] needs more power to function!")
return 0
toggle(0, user)
@@ -82,10 +82,10 @@
var/sound_distance = falloff_distance * 0.5
var/targetbrainloss = H.getBrainLoss()
if(distance > 3 && prob(falloff_distance * 0.5))
- H << "\"[text2ratvar(pick(mania_messages))]\""
+ to_chat(H, "\"[text2ratvar(pick(mania_messages))]\"")
if(distance <= 1)
if(!H.Adjacent(src))
- H << "\"[text2ratvar(pick(close_messages))]\""
+ to_chat(H, "\"[text2ratvar(pick(close_messages))]\"")
H.playsound_local(T, hum, sound_distance, 1)
else if(!try_use_power(convert_cost))
visible_message("[src]'s antennae fizzle quietly.")
@@ -99,7 +99,7 @@
else
H.Paralyse(3)
else if(is_eligible_servant(H))
- H << "\"[text2ratvar("You are mine and his, now.")]\""
+ to_chat(H, "\"[text2ratvar("You are mine and his, now.")]\"")
add_servant_of_ratvar(H)
H.Paralyse(5)
else
@@ -108,9 +108,9 @@
if(0 to 3)
if(prob(falloff_distance * 0.5))
if(prob(falloff_distance))
- H << "\"[text2ratvar(pick(mania_messages))]\""
+ to_chat(H, "\"[text2ratvar(pick(mania_messages))]\"")
else
- H << "\"[text2ratvar(pick(compel_messages))]\""
+ to_chat(H, "\"[text2ratvar(pick(compel_messages))]\"")
if(targetbrainloss <= 40)
H.adjustBrainLoss(3 * efficiency)
H.adjust_drugginess(Clamp(7 * efficiency, 0, 50 - H.druggy))
diff --git a/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm b/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm
index 740e523944d..6bd0f46e9dc 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/mending_motor.dm
@@ -32,7 +32,7 @@
/obj/structure/destructible/clockwork/powered/mending_motor/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- user << "It requires at least [heal_cost]W to attempt to repair clockwork mobs, structures, or converted silicons."
+ to_chat(user, "It requires at least [heal_cost]W to attempt to repair clockwork mobs, structures, or converted silicons.")
/obj/structure/destructible/clockwork/powered/mending_motor/forced_disable(bad_effects)
if(active)
@@ -45,7 +45,7 @@
/obj/structure/destructible/clockwork/powered/mending_motor/attack_hand(mob/living/user)
if(user.canUseTopic(src, !issilicon(user), NO_DEXTERY) && is_servant_of_ratvar(user))
if(total_accessable_power() < MIN_CLOCKCULT_POWER)
- user << "[src] needs more power to function!"
+ to_chat(user, "[src] needs more power to function!")
return 0
toggle(0, user)
@@ -64,10 +64,10 @@
S.adjustHealth(-(8 * efficiency))
new /obj/effect/overlay/temp/heal(T, "#1E8CE1")
else
- S << "\"[text2ratvar(pick(heal_failure_messages))]\""
+ to_chat(S, "\"[text2ratvar(pick(heal_failure_messages))]\"")
break
else
- S << "\"[text2ratvar(pick(heal_finish_messages))]\""
+ to_chat(S, "\"[text2ratvar(pick(heal_finish_messages))]\"")
break
else if(is_type_in_typecache(M, mending_motor_typecache))
T = get_turf(M)
@@ -97,10 +97,10 @@
S.heal_ordered_damage(8 * efficiency, damage_heal_order)
new /obj/effect/overlay/temp/heal(T, "#1E8CE1")
else
- S << "\"[text2ratvar(pick(heal_failure_messages))]\""
+ to_chat(S, "\"[text2ratvar(pick(heal_failure_messages))]\"")
break
else
- S << "\"[text2ratvar(pick(heal_finish_messages))]\""
+ to_chat(S, "\"[text2ratvar(pick(heal_finish_messages))]\"")
break
. = ..()
if(. < heal_cost)
diff --git a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm
index fd7be73f917..da2483883e4 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm
@@ -27,7 +27,7 @@
/obj/structure/destructible/clockwork/ocular_warden/examine(mob/user)
..()
- user << "[target ? "It's fixated on [target]!" : "Its gaze is wandering aimlessly."]"
+ to_chat(user, "[target ? "It's fixated on [target]!" : "Its gaze is wandering aimlessly."]")
/obj/structure/destructible/clockwork/ocular_warden/hulk_damage()
return 25
@@ -36,12 +36,12 @@
if(anchored)
if(obj_integrity <= max_integrity * 0.25)
if(!silent)
- user << "[src] is too damaged to unsecure!"
+ to_chat(user, "[src] is too damaged to unsecure!")
return FAILED_UNFASTEN
else
for(var/obj/structure/destructible/clockwork/ocular_warden/W in orange(OCULAR_WARDEN_EXCLUSION_RANGE, src))
if(!silent)
- user << "You sense another ocular warden too near this location. Activating this one this close would cause them to fight."
+ to_chat(user, "You sense another ocular warden too near this location. Activating this one this close would cause them to fight.")
return FAILED_UNFASTEN
return SUCCESSFUL_UNFASTEN
@@ -97,10 +97,10 @@
visible_message("[src] swivels to face [target]!")
if(isliving(target))
var/mob/living/L = target
- L << "\"I SEE YOU!\"\n[src]'s gaze [ratvar_awakens ? "melts you alive" : "burns you"]!"
+ to_chat(L, "\"I SEE YOU!\"\n[src]'s gaze [ratvar_awakens ? "melts you alive" : "burns you"]!")
else if(istype(target,/obj/mecha))
var/obj/mecha/M = target
- M.occupant << "\"I SEE YOU!\"" //heeeellooooooo, person in mech.
+ to_chat(M.occupant, "\"I SEE YOU!\"" )
else if(prob(0.5)) //Extremely low chance because of how fast the subsystem it uses processes
if(prob(50))
visible_message("[src][pick(idle_messages)]")
@@ -113,7 +113,7 @@
var/obj/item/weapon/storage/book/bible/B = L.bible_check()
if(B)
if(!(B.resistance_flags & ON_FIRE))
- L << "Your [B.name] bursts into flames!"
+ to_chat(L, "Your [B.name] bursts into flames!")
for(var/obj/item/weapon/storage/book/bible/BI in L.GetAllContents())
if(!(BI.resistance_flags & ON_FIRE))
BI.fire_act()
diff --git a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm
index afab534c326..969e3e23e43 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm
@@ -76,13 +76,13 @@
meals += L
if(meals.len)
prey = pick(meals)
- prey << "\"You will do.\"\n\
- Something very large and very malevolent begins lumbering its way towards you..."
+ to_chat(prey, "\"You will do.\"\n\
+ Something very large and very malevolent begins lumbering its way towards you...")
prey << 'sound/effects/ratvar_reveal.ogg'
else
if((!istype(prey, /obj/singularity/narsie) && prob(10)) || is_servant_of_ratvar(prey) || prey.z != z)
- prey << "\"How dull. Leave me.\"\n\
- You feel tremendous relief as a set of horrible eyes loses sight of you..."
+ to_chat(prey, "\"How dull. Leave me.\"\n\
+ You feel tremendous relief as a set of horrible eyes loses sight of you...")
prey = null
else
dir_to_step_in = get_dir(src, prey) //Unlike Nar-Sie, Ratvar ruthlessly chases down his target
@@ -92,8 +92,8 @@
if(clashing)
return FALSE
clashing = TRUE
- world << "\"[pick("BLOOD GOD!!!", "NAR-SIE!!!", "AT LAST, YOUR TIME HAS COME!")]\""
- world << "\"Ratvar?! How?!\""
+ to_chat(world, "\"[pick("BLOOD GOD!!!", "NAR-SIE!!!", "AT LAST, YOUR TIME HAS COME!")]\"")
+ to_chat(world, "\"Ratvar?! How?!\"")
for(var/obj/singularity/narsie/N in range(15, src))
if(N.clashing)
continue
diff --git a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm
index e4afe9db483..ad1f0a91df0 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm
@@ -55,18 +55,18 @@
if(istype(I, /obj/item/clockwork/component))
var/obj/item/clockwork/component/C = I
if(!anchored)
- user << "[src] needs to be secured to place [C] into it!"
+ to_chat(user, "[src] needs to be secured to place [C] into it!")
else
clockwork_component_cache[C.component_id]++
update_slab_info()
- user << "You add [C] to [src]."
+ to_chat(user, "You add [C] to [src].")
user.drop_item()
qdel(C)
return 1
else if(istype(I, /obj/item/clockwork/slab))
var/obj/item/clockwork/slab/S = I
if(!anchored)
- user << "[src] needs to be secured to offload your slab's components into it!"
+ to_chat(user, "[src] needs to be secured to offload your slab's components into it!")
else
for(var/i in S.stored_components)
clockwork_component_cache[i] += S.stored_components[i]
@@ -90,21 +90,21 @@
if(linkedwall)
if(wall_generation_cooldown > world.time)
var/temp_time = (wall_generation_cooldown - world.time) * 0.1
- user << "[src] will produce a component in [temp_time] second[temp_time == 1 ? "":"s"]."
+ to_chat(user, "[src] will produce a component in [temp_time] second[temp_time == 1 ? "":"s"].")
else
- user << "[src] is about to produce a component!"
+ to_chat(user, "[src] is about to produce a component!")
else if(anchored)
- user << "[src] is unlinked! Construct a Clockwork Wall nearby to generate components!"
+ to_chat(user, "[src] is unlinked! Construct a Clockwork Wall nearby to generate components!")
else
- user << "[src] needs to be secured to generate components!"
+ to_chat(user, "[src] needs to be secured to generate components!")
/obj/structure/destructible/clockwork/cache/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(linkedwall)
- user << "It is linked to a Clockwork Wall and will generate a component every [round((CACHE_PRODUCTION_TIME * 0.1) * get_efficiency_mod(TRUE), 0.1)] seconds!"
+ to_chat(user, "It is linked to a Clockwork Wall and will generate a component every [round((CACHE_PRODUCTION_TIME * 0.1) * get_efficiency_mod(TRUE), 0.1)] seconds!")
else
- user << "It is unlinked! Construct a Clockwork Wall nearby to generate components!"
- user << "Stored components:"
+ to_chat(user, "It is unlinked! Construct a Clockwork Wall nearby to generate components!")
+ to_chat(user, "Stored components:")
for(var/i in clockwork_component_cache)
- user << "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [clockwork_component_cache[i]]"
+ to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [clockwork_component_cache[i]]")
diff --git a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm
index b6b3a27d3f2..ab557dd36a6 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm
@@ -43,12 +43,12 @@
if(is_servant_of_ratvar(user) || isobserver(user))
if(active)
if(component_id_to_produce)
- user << "It is currently producing [get_component_name(component_id_to_produce)][component_id_to_produce != REPLICANT_ALLOY ? "s":""]."
+ to_chat(user, "It is currently producing [get_component_name(component_id_to_produce)][component_id_to_produce != REPLICANT_ALLOY ? "s":""].")
else
- user << "It is currently producing random components."
- user << "It will produce a component every [round((production_cooldown*0.1) * get_efficiency_mod(TRUE), 0.1)] seconds and requires at least the following power for each component type:"
+ to_chat(user, "It is currently producing random components.")
+ to_chat(user, "It will produce a component every [round((production_cooldown*0.1) * get_efficiency_mod(TRUE), 0.1)] seconds and requires at least the following power for each component type:")
for(var/i in clockwork_component_cache)
- user << "[get_component_name(i)]: [get_component_cost(i)]W ([clockwork_component_cache[i]] exist[clockwork_component_cache[i] == 1 ? "s" : ""])"
+ to_chat(user, "[get_component_name(i)]: [get_component_cost(i)]W ([clockwork_component_cache[i]] exist[clockwork_component_cache[i] == 1 ? "s" : ""])")
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/forced_disable(bad_effects)
if(active)
@@ -63,23 +63,23 @@
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/attack_hand(mob/living/user)
if(!is_servant_of_ratvar(user))
- user << "You place your hand on the daemon, but nothing happens."
+ to_chat(user, "You place your hand on the daemon, but nothing happens.")
return
if(active)
toggle(0, user)
else
if(!anchored)
- user << "[src] needs to be secured to the floor before it can be activated!"
+ to_chat(user, "[src] needs to be secured to the floor before it can be activated!")
return FALSE
var/servants = 0
for(var/mob/living/L in living_mob_list)
if(is_servant_of_ratvar(L))
servants++
if(servants * 0.2 < clockwork_daemons)
- user << "\"There are too few servants for this daemon to work.\""
+ to_chat(user, "\"There are too few servants for this daemon to work.\"")
return
if(!clockwork_caches)
- user << "\"You require a cache for this daemon to operate. Get to it.\""
+ to_chat(user, "\"You require a cache for this daemon to operate. Get to it.\"")
return
var/min_power_usable = 0
for(var/i in clockwork_component_cache)
@@ -88,7 +88,7 @@
else
min_power_usable = min(min_power_usable, get_component_cost(i))
if(total_accessable_power() < min_power_usable)
- user << "\"You need more power to activate this daemon, friend.\""
+ to_chat(user, "\"You need more power to activate this daemon, friend.\"")
return
var/choice = alert(user,"Activate Daemon...",,"Specific Component","Random Component","Cancel")
switch(choice)
@@ -105,10 +105,10 @@
if(!is_servant_of_ratvar(user) || !user.canUseTopic(src, !issilicon(user), NO_DEXTERY) || active || !clockwork_caches || servants * 0.2 < clockwork_daemons)
return
if(!component_id_to_produce)
- user << "You decide not to select a component and activate the daemon."
+ to_chat(user, "You decide not to select a component and activate the daemon.")
return
if(total_accessable_power() < get_component_cost(component_id_to_produce))
- user << "There is too little power to produce this type of component!"
+ to_chat(user, "There is too little power to produce this type of component!")
return
toggle(0, user)
if("Random Component")
diff --git a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm
index a45b6e1d892..de80930b8ad 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm
@@ -30,30 +30,30 @@
return 1
else if(istype(I, /obj/item/weapon/screwdriver))
if(anchored)
- user << "[src] needs to be unsecured to disassemble it!"
+ to_chat(user, "[src] needs to be unsecured to disassemble it!")
else
playsound(src, I.usesound, 100, 1)
user.visible_message("[user] starts to disassemble [src].", "You start to disassemble [src]...")
if(do_after(user, 30*I.toolspeed, target = src) && !anchored)
- user << "You disassemble [src]."
+ to_chat(user, "You disassemble [src].")
deconstruct(TRUE)
return 1
else if(istype(I, /obj/item/stack/tile/brass))
var/obj/item/stack/tile/brass/W = I
if(W.get_amount() < 1)
- user << "You need one brass sheet to do this!"
+ to_chat(user, "You need one brass sheet to do this!")
return
var/turf/T = get_turf(src)
if(iswallturf(T))
- user << "There is already a wall present!"
+ to_chat(user, "There is already a wall present!")
return
if(!isfloorturf(T))
- user << "A floor must be present to build a [anchored ? "false ":""]wall!"
+ to_chat(user, "A floor must be present to build a [anchored ? "false ":""]wall!")
return
if(locate(/obj/structure/falsewall) in T.contents)
- user << "There is already a false wall present!"
+ to_chat(user, "There is already a false wall present!")
return
- user << "You start adding [W] to [src]..."
+ to_chat(user, "You start adding [W] to [src]...")
if(do_after(user, 20, target = src))
var/brass_floor = FALSE
if(istype(T, /turf/open/floor/clockwork)) //if the floor is already brass, costs less to make(conservation of masssssss)
@@ -66,7 +66,7 @@
new /obj/structure/falsewall/brass(T)
qdel(src)
else
- user << "You need more brass to make a [anchored ? "false ":""]wall!"
+ to_chat(user, "You need more brass to make a [anchored ? "false ":""]wall!")
return 1
return ..()
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index 08bfa607691..cbfa2e42e72 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -95,7 +95,7 @@
explanation = "Free objective."
if("eldergod")
explanation = "Summon Nar-Sie by invoking the rune 'Summon Nar-Sie' with nine acolytes on it. You must do this after sacrificing your target."
- cult_mind.current << "Objective #[obj_count]: [explanation]"
+ to_chat(cult_mind.current, "Objective #[obj_count]: [explanation]")
cult_mind.memory += "Objective #[obj_count]: [explanation]
"
/datum/game_mode/cult/post_setup()
@@ -116,7 +116,7 @@
for(var/datum/mind/cult_mind in cultists_to_cult)
equip_cultist(cult_mind.current)
update_cult_icons_added(cult_mind)
- cult_mind.current << "You are a member of the cult!"
+ to_chat(cult_mind.current, "You are a member of the cult!")
add_cultist(cult_mind, 0)
..()
@@ -125,14 +125,14 @@
return
if (mob.mind)
if (mob.mind.assigned_role == "Clown")
- mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
+ to_chat(mob, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.")
mob.dna.remove_mutation(CLOWNMUT)
if(tome)
. += cult_give_item(/obj/item/weapon/tome, mob)
else
. += cult_give_item(/obj/item/weapon/paper/talisman/supply, mob)
- mob << "These will help you start the cult on this station. Use them well, and remember - you are not the only one."
+ to_chat(mob, "These will help you start the cult on this station. Use them well, and remember - you are not the only one.")
/datum/game_mode/proc/cult_give_item(obj/item/item_path, mob/living/carbon/human/mob)
var/list/slots = list(
@@ -145,10 +145,10 @@
var/item_name = initial(item_path.name)
var/where = mob.equip_in_one_of_slots(T, slots)
if(!where)
- mob << "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1)."
+ to_chat(mob, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).")
return 0
else
- mob << "You have a [item_name] in your [where]."
+ to_chat(mob, "You have a [item_name] in your [where].")
if(where == "backpack")
var/obj/item/weapon/storage/B = mob.back
B.orient2hud(mob)
@@ -220,11 +220,11 @@
if(!check_cult_victory())
feedback_set_details("round_end_result","win - cult win")
feedback_set("round_end_result",acolytes_survived)
- world << "The cult has succeeded! Nar-sie has snuffed out another torch in the void!"
+ to_chat(world, "The cult has succeeded! Nar-sie has snuffed out another torch in the void!")
else
feedback_set_details("round_end_result","loss - staff stopped the cult")
feedback_set("round_end_result",acolytes_survived)
- world << "The staff managed to stop the cult! Dark words and heresy are no match for Nanotrasen's finest!"
+ to_chat(world, "The staff managed to stop the cult! Dark words and heresy are no match for Nanotrasen's finest!")
var/text = ""
@@ -264,7 +264,7 @@
ticker.news_report = CULT_FAILURE
text += "
Objective #[obj_count]: [explanation]"
- world << text
+ to_chat(world, text)
..()
return 1
@@ -277,4 +277,4 @@
text += "
"
- world << text
+ to_chat(world, text)
diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm
index d1686bd5e75..3a70735e1ef 100644
--- a/code/game/gamemodes/cult/cult_comms.dm
+++ b/code/game/gamemodes/cult/cult_comms.dm
@@ -31,10 +31,10 @@
var/my_message = "[(ishuman(user) ? "Acolyte" : "Construct")] [findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: [message]"
for(var/mob/M in mob_list)
if(iscultist(M))
- M << my_message
+ to_chat(M, my_message)
else if(M in dead_mob_list)
var/link = FOLLOW_LINK(M, user)
- M << "[link] [my_message]"
+ to_chat(M, "[link] [my_message]")
log_say("[user.real_name]/[user.key] : [message]")
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 04a0d618c16..6914ad760c1 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -30,12 +30,12 @@
..()
if(!iscultist(user))
if(!is_servant_of_ratvar(user))
- user << "\"I wouldn't advise that.\""
- user << "An overwhelming sense of nausea overpowers you!"
+ to_chat(user, "\"I wouldn't advise that.\"")
+ to_chat(user, "An overwhelming sense of nausea overpowers you!")
user.Dizzy(120)
else
- user << "\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\""
- user << "A horrible force yanks at your arm!"
+ to_chat(user, "\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\"")
+ to_chat(user, "A horrible force yanks at your arm!")
user.emote("scream")
user.apply_damage(30, BRUTE, pick("l_arm", "r_arm"))
user.dropItemToGround(src)
@@ -177,14 +177,14 @@
..()
if(!iscultist(user))
if(!is_servant_of_ratvar(user))
- user << "\"I wouldn't advise that.\""
- user << "An overwhelming sense of nausea overpowers you!"
+ to_chat(user, "\"I wouldn't advise that.\"")
+ to_chat(user, "An overwhelming sense of nausea overpowers you!")
user.dropItemToGround(src, TRUE)
user.Dizzy(30)
user.Weaken(5)
else
- user << "\"Trying to use things you don't own is bad, you know.\""
- user << "The armor squeezes at your body!"
+ to_chat(user, "\"Trying to use things you don't own is bad, you know.\"")
+ to_chat(user, "The armor squeezes at your body!")
user.emote("scream")
user.adjustBruteLoss(25)
user.dropItemToGround(src, TRUE)
@@ -229,14 +229,14 @@
..()
if(!iscultist(user))
if(!is_servant_of_ratvar(user))
- user << "\"I wouldn't advise that.\""
- user << "An overwhelming sense of nausea overpowers you!"
+ to_chat(user, "\"I wouldn't advise that.\"")
+ to_chat(user, "An overwhelming sense of nausea overpowers you!")
user.dropItemToGround(src, TRUE)
user.Dizzy(30)
user.Weaken(5)
else
- user << "\"Trying to use things you don't own is bad, you know.\""
- user << "The robes squeeze at your body!"
+ to_chat(user, "\"Trying to use things you don't own is bad, you know.\"")
+ to_chat(user, "The robes squeeze at your body!")
user.emote("scream")
user.adjustBruteLoss(25)
user.dropItemToGround(src, TRUE)
@@ -252,7 +252,7 @@
/obj/item/clothing/glasses/night/cultblind/equipped(mob/user, slot)
..()
if(!iscultist(user))
- user << "\"You want to be blind, do you?\""
+ to_chat(user, "\"You want to be blind, do you?\"")
user.dropItemToGround(src, TRUE)
user.Dizzy(30)
user.Weaken(5)
@@ -276,16 +276,16 @@
if(!iscultist(user))
user.dropItemToGround(src, TRUE)
user.Weaken(5)
- user << "A powerful force shoves you away from [src]!"
+ to_chat(user, "A powerful force shoves you away from [src]!")
return
if(curselimit > 1)
- user << "We have exhausted our ability to curse the shuttle."
+ to_chat(user, "We have exhausted our ability to curse the shuttle.")
return
if(SSshuttle.emergency.mode == SHUTTLE_CALL)
var/cursetime = 1800
var/timer = SSshuttle.emergency.timeLeft(1) + cursetime
SSshuttle.emergency.setTimer(timer)
- user << "You shatter the orb! A dark essence spirals into the air, then disappears."
+ to_chat(user, "You shatter the orb! A dark essence spirals into the air, then disappears.")
playsound(user.loc, 'sound/effects/Glassbr1.ogg', 50, 1)
qdel(src)
sleep(20)
@@ -311,9 +311,9 @@
/obj/item/device/cult_shift/examine(mob/user)
..()
if(uses)
- user << "It has [uses] uses remaining."
+ to_chat(user, "It has [uses] uses remaining.")
else
- user << "It seems drained."
+ to_chat(user, "It seems drained.")
/obj/item/device/cult_shift/proc/handle_teleport_grab(turf/T, mob/user)
var/mob/living/carbon/C = user
@@ -324,12 +324,12 @@
/obj/item/device/cult_shift/attack_self(mob/user)
if(!uses || !iscarbon(user))
- user << "\The [src] is dull and unmoving in your hands."
+ to_chat(user, "\The [src] is dull and unmoving in your hands.")
return
if(!iscultist(user))
user.dropItemToGround(src, TRUE)
step(src, pick(alldirs))
- user << "\The [src] flickers out of your hands, your connection to this dimension is too strong!"
+ to_chat(user, "\The [src] flickers out of your hands, your connection to this dimension is too strong!")
return
var/mob/living/carbon/C = user
@@ -353,7 +353,7 @@
playsound(destination, "sparks", 50, 1)
else
- C << "The veil cannot be torn here!"
+ to_chat(C, "The veil cannot be torn here!")
/obj/item/device/flashlight/flare/culttorch
name = "void torch"
@@ -382,26 +382,26 @@
if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated())
return
if(!cultist_to_receive)
- user << "You require a destination!"
+ to_chat(user, "You require a destination!")
log_game("Void torch failed - no target")
return
if(cultist_to_receive.stat == DEAD)
- user << "[cultist_to_receive] has died!"
+ to_chat(user, "[cultist_to_receive] has died!")
log_game("Void torch failed - target died")
return
if(!iscultist(cultist_to_receive))
- user << "[cultist_to_receive] is not a follower of the Geometer!"
+ to_chat(user, "[cultist_to_receive] is not a follower of the Geometer!")
log_game("Void torch failed - target was deconverted")
return
- user << "You ignite [A] with \the [src], turning it to ash, but through the torch's flames you see that [A] has reached [cultist_to_receive]!"
+ to_chat(user, "You ignite [A] with \the [src], turning it to ash, but through the torch's flames you see that [A] has reached [cultist_to_receive]!")
cultist_to_receive.put_in_hands(A)
charges--
- user << "\The [src] now has [charges] charge\s."
+ to_chat(user, "\The [src] now has [charges] charge\s.")
if(charges == 0)
qdel(src)
else
..()
- user << "\The [src] can only transport items!"
+ to_chat(user, "\The [src] can only transport items!")
return
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index 9fe45ed7c6c..eaf1cebb6c9 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -8,9 +8,9 @@
/obj/structure/destructible/cult/examine(mob/user)
..()
- user << "\The [src] is [anchored ? "":"not "]secured to the floor."
+ to_chat(user, "\The [src] is [anchored ? "":"not "]secured to the floor.")
if((iscultist(user) || isobserver(user)) && cooldowntime > world.time)
- user << "The magic in [src] is too weak, [p_they()] will be ready to use again in [getETA()]."
+ to_chat(user, "The magic in [src] is too weak, [p_they()] will be ready to use again in [getETA()].")
/obj/structure/destructible/cult/examine_status(mob/user)
if(iscultist(user) || isobserver(user))
@@ -28,14 +28,14 @@
M.visible_message("[M] repairs \the [src].", \
"You repair [src], leaving [p_they()] at [round(obj_integrity * 100 / max_integrity)]% stability.")
else
- M << "You cannot repair [src], as [p_they()] [p_are()] undamaged!"
+ to_chat(M, "You cannot repair [src], as [p_they()] [p_are()] undamaged!")
else
..()
/obj/structure/destructible/cult/attackby(obj/I, mob/user, params)
if(istype(I, /obj/item/weapon/tome) && iscultist(user))
anchored = !anchored
- user << "You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor."
+ to_chat(user, "You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor.")
if(!anchored)
icon_state = "[initial(icon_state)]_off"
else
@@ -66,13 +66,13 @@
/obj/structure/destructible/cult/talisman/attack_hand(mob/living/user)
if(!iscultist(user))
- user << "You're pretty sure you know exactly what this is used for and you can't seem to touch it."
+ to_chat(user, "You're pretty sure you know exactly what this is used for and you can't seem to touch it.")
return
if(!anchored)
- user << "You need to anchor [src] to the floor with a tome first."
+ to_chat(user, "You need to anchor [src] to the floor with a tome first.")
return
if(cooldowntime > world.time)
- user << "The magic in [src] is weak, it will be ready to use again in [getETA()]."
+ to_chat(user, "The magic in [src] is weak, it will be ready to use again in [getETA()].")
return
var/choice = alert(user,"You study the schematics etched into the forge...",,"Eldritch Whetstone","Zealot's Blindfold","Flask of Unholy Water")
var/pickedtype
@@ -86,7 +86,7 @@
if(src && !QDELETED(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time)
cooldowntime = world.time + 2400
var/obj/item/N = new pickedtype(get_turf(src))
- user << "You kneel before the altar and your faith is rewarded with an [N]!"
+ to_chat(user, "You kneel before the altar and your faith is rewarded with an [N]!")
/obj/structure/destructible/cult/forge
@@ -98,13 +98,13 @@
/obj/structure/destructible/cult/forge/attack_hand(mob/living/user)
if(!iscultist(user))
- user << "The heat radiating from [src] pushes you back."
+ to_chat(user, "The heat radiating from [src] pushes you back.")
return
if(!anchored)
- user << "You need to anchor [src] to the floor with a tome first."
+ to_chat(user, "You need to anchor [src] to the floor with a tome first.")
return
if(cooldowntime > world.time)
- user << "The magic in [src] is weak, it will be ready to use again in [getETA()]."
+ to_chat(user, "The magic in [src] is weak, it will be ready to use again in [getETA()].")
return
var/choice = alert(user,"You study the schematics etched into the forge...",,"Shielded Robe","Flagellant's Robe","Nar-Sien Hardsuit")
var/pickedtype
@@ -118,7 +118,7 @@
if(src && !QDELETED(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time)
cooldowntime = world.time + 2400
var/obj/item/N = new pickedtype(get_turf(src))
- user << "You work the forge as dark knowledge guides your hands, creating [N]!"
+ to_chat(user, "You work the forge as dark knowledge guides your hands, creating [N]!")
var/list/blacklisted_pylon_turfs = typecacheof(list(
@@ -203,13 +203,13 @@ var/list/blacklisted_pylon_turfs = typecacheof(list(
/obj/structure/destructible/cult/tome/attack_hand(mob/living/user)
if(!iscultist(user))
- user << "All of these books seem to be gibberish."
+ to_chat(user, "All of these books seem to be gibberish.")
return
if(!anchored)
- user << "You need to anchor [src] to the floor with a tome first."
+ to_chat(user, "You need to anchor [src] to the floor with a tome first.")
return
if(cooldowntime > world.time)
- user << "The magic in [src] is weak, it will be ready to use again in [getETA()]."
+ to_chat(user, "The magic in [src] is weak, it will be ready to use again in [getETA()].")
return
var/choice = alert(user,"You flip through the black pages of the archives...",,"Supply Talisman","Shuttle Curse","Veil Walker Set")
var/list/pickedtype = list()
@@ -225,7 +225,7 @@ var/list/blacklisted_pylon_turfs = typecacheof(list(
cooldowntime = world.time + 2400
for(var/N in pickedtype)
var/obj/item/D = new N(get_turf(src))
- user << "You summon [D] from the archives!"
+ to_chat(user, "You summon [D] from the archives!")
/obj/effect/gateway
name = "gateway"
diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index 69a252a48bf..e933f951ec9 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -24,10 +24,10 @@ This file contains the arcane tome files.
/obj/item/weapon/tome/examine(mob/user)
..()
if(iscultist(user) || isobserver(user))
- user << "The scriptures of the Geometer. Allows the scribing of runes and access to the knowledge archives of the cult of Nar-Sie."
- user << "Striking a cult structure will unanchor or reanchor it."
- user << "Striking another cultist with it will purge holy water from them."
- user << "Striking a noncultist, however, will sear their flesh."
+ to_chat(user, "The scriptures of the Geometer. Allows the scribing of runes and access to the knowledge archives of the cult of Nar-Sie.")
+ to_chat(user, "Striking a cult structure will unanchor or reanchor it.")
+ to_chat(user, "Striking another cultist with it will purge holy water from them.")
+ to_chat(user, "Striking a noncultist, however, will sear their flesh.")
/obj/item/weapon/tome/attack(mob/living/M, mob/living/user)
if(!istype(M))
@@ -36,7 +36,7 @@ This file contains the arcane tome files.
return ..()
if(iscultist(M))
if(M.reagents && M.reagents.has_reagent("holywater")) //allows cultists to be rescued from the clutches of ordained religion
- user << "You remove the taint from [M]." // fucking ow
+ to_chat(user, "You remove the taint from [M]." )
var/holy2unholy = M.reagents.get_reagent_amount("holywater")
M.reagents.del_reagent("holywater")
M.reagents.add_reagent("unholywater",holy2unholy)
@@ -52,7 +52,7 @@ This file contains the arcane tome files.
/obj/item/weapon/tome/attack_self(mob/user)
if(!iscultist(user))
- user << "[src] seems full of unintelligible shapes, scribbles, and notes. Is this some sort of joke?"
+ to_chat(user, "[src] seems full of unintelligible shapes, scribbles, and notes. Is this some sort of joke?")
return
open_tome(user)
@@ -199,20 +199,20 @@ This file contains the arcane tome files.
if(ticker.mode.name == "cult")
var/datum/game_mode/cult/cult_mode = ticker.mode
if(!("eldergod" in cult_mode.cult_objectives))
- user << "Nar-Sie does not wish to be summoned!"
+ to_chat(user, "Nar-Sie does not wish to be summoned!")
return
if(cult_mode.sacrifice_target && !(cult_mode.sacrifice_target in sacrificed))
- user << "The sacrifice is not complete. The portal would lack the power to open if you tried!"
+ to_chat(user, "The sacrifice is not complete. The portal would lack the power to open if you tried!")
return
if(!cult_mode.eldergod)
- user << "\"I am already here. There is no need to try to summon me now.\""
+ to_chat(user, "\"I am already here. There is no need to try to summon me now.\"")
return
if((loc.z && loc.z != ZLEVEL_STATION) || !A.blob_allowed)
- user << "The Geometer is not interested in lesser locations; the station is the prize!"
+ to_chat(user, "The Geometer is not interested in lesser locations; the station is the prize!")
return
var/confirm_final = alert(user, "This is the FINAL step to summon Nar-Sie, it is a long, painful ritual and the crew will be alerted to your presence", "Are you prepared for the final battle?", "My life for Nar-Sie!", "No")
if(confirm_final == "No")
- user << "You decide to prepare further before scribing the rune."
+ to_chat(user, "You decide to prepare further before scribing the rune.")
return
Turf = get_turf(user)
A = get_area(src)
@@ -223,7 +223,7 @@ This file contains the arcane tome files.
var/obj/structure/emergency_shield/sanguine/N = new(B)
shields += N
else
- user << "Nar-Sie does not wish to be summoned!"
+ to_chat(user, "Nar-Sie does not wish to be summoned!")
return
user.visible_message("[user] [user.blood_volume ? "cuts open their arm and begins writing in their own blood":"begins sketching out a strange design"]!", \
"You [user.blood_volume ? "slice open your arm and ":""]begin drawing a sigil of the Geometer.")
@@ -244,26 +244,26 @@ This file contains the arcane tome files.
if(S && !QDELETED(S))
qdel(S)
var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword)
- user << "The [lowertext(R.cultist_name)] rune [R.cultist_desc]"
+ to_chat(user, "The [lowertext(R.cultist_name)] rune [R.cultist_desc]")
feedback_add_details("cult_runes_scribed", R.cultist_name)
/obj/item/weapon/tome/proc/check_rune_turf(turf/T, mob/user)
var/area/A = get_area(T)
if(isspaceturf(T))
- user << "You cannot scribe runes in space!"
+ to_chat(user, "You cannot scribe runes in space!")
return FALSE
if(locate(/obj/effect/rune) in T)
- user << "There is already a rune here."
+ to_chat(user, "There is already a rune here.")
return FALSE
if(T.z != ZLEVEL_STATION && T.z != ZLEVEL_MINING)
- user << "The veil is not weak enough here."
+ to_chat(user, "The veil is not weak enough here.")
return FALSE
if(istype(A, /area/shuttle))
- user << "Interference from hyperspace engines disrupts the Geometer's power on shuttles."
+ to_chat(user, "Interference from hyperspace engines disrupts the Geometer's power on shuttles.")
return FALSE
return TRUE
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 31ada5c5b0a..964cf07f811 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -48,27 +48,27 @@ To draw a rune, use an arcane tome.
/obj/effect/rune/examine(mob/user)
..()
if(iscultist(user) || user.stat == DEAD) //If they're a cultist or a ghost, tell them the effects
- user << "Name: [cultist_name]"
- user << "Effects: [capitalize(cultist_desc)]"
- user << "Required Acolytes: [req_cultists_text ? "[req_cultists_text]":"[req_cultists]"]"
+ to_chat(user, "Name: [cultist_name]")
+ to_chat(user, "Effects: [capitalize(cultist_desc)]")
+ to_chat(user, "Required Acolytes: [req_cultists_text ? "[req_cultists_text]":"[req_cultists]"]")
if(req_keyword && keyword)
- user << "Keyword: [keyword]"
+ to_chat(user, "Keyword: [keyword]")
/obj/effect/rune/attackby(obj/I, mob/user, params)
if(istype(I, /obj/item/weapon/tome) && iscultist(user))
- user << "You carefully erase the [lowertext(cultist_name)] rune."
+ to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.")
qdel(src)
return
else if(istype(I, /obj/item/weapon/nullrod))
user.say("BEGONE FOUL MAGIKS!!")
- user << "You disrupt the magic of [src] with [I]."
+ to_chat(user, "You disrupt the magic of [src] with [I].")
qdel(src)
return
return
/obj/effect/rune/attack_hand(mob/living/user)
if(!iscultist(user))
- user << "You aren't able to understand the words of [src]."
+ to_chat(user, "You aren't able to understand the words of [src].")
return
var/list/invokers = can_invoke(user)
if(invokers.len >= req_cultists)
@@ -81,7 +81,7 @@ To draw a rune, use an arcane tome.
if(construct_invoke || !iscultist(M)) //if you're not a cult construct we want the normal fail message
attack_hand(M)
else
- M << "You are unable to invoke the rune!"
+ to_chat(M, "You are unable to invoke the rune!")
/obj/effect/rune/proc/talismanhide() //for talisman of revealing/hiding
visible_message("[src] fades away.")
@@ -173,7 +173,7 @@ structure_check() searches for nearby cultist structures required for the invoca
..()
for(var/M in invokers)
var/mob/living/L = M
- L << "You feel your life force draining. The Geometer is displeased."
+ to_chat(L, "You feel your life force draining. The Geometer is displeased.")
L.apply_damage(30, BRUTE)
qdel(src)
@@ -204,12 +204,12 @@ structure_check() searches for nearby cultist structures required for the invoca
var/obj/item/weapon/paper/talisman/talisman_type
var/list/possible_talismans = list()
if(!papers_on_rune.len)
- user << "There must be a blank paper on top of [src]!"
+ to_chat(user, "There must be a blank paper on top of [src]!")
fail_invoke()
log_game("Talisman Creation rune failed - no blank papers on rune")
return
if(rune_in_use)
- user << "[src] can only support one ritual at a time!"
+ to_chat(user, "[src] can only support one ritual at a time!")
fail_invoke()
log_game("Talisman Creation rune failed - already in use")
return
@@ -225,7 +225,7 @@ structure_check() searches for nearby cultist structures required for the invoca
return
papers_on_rune = checkpapers()
if(!papers_on_rune.len)
- user << "There must be a blank paper on top of [src]!"
+ to_chat(user, "There must be a blank paper on top of [src]!")
fail_invoke()
log_game("Talisman Creation rune failed - no blank papers on rune")
return
@@ -278,13 +278,13 @@ var/list/teleport_runes = list()
potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T
if(!potential_runes.len)
- user << "There are no valid runes to teleport to!"
+ to_chat(user, "There are no valid runes to teleport to!")
log_game("Teleport rune failed - no other teleport runes")
fail_invoke()
return
if(user.z > ZLEVEL_SPACEMAX)
- user << "You are not in the right dimension!"
+ to_chat(user, "You are not in the right dimension!")
log_game("Teleport rune failed - user in away mission")
fail_invoke()
return
@@ -298,7 +298,7 @@ var/list/teleport_runes = list()
var/turf/T = get_turf(src)
var/turf/target = get_turf(actual_selected_rune)
if(is_blocked_turf(target, TRUE))
- user << "The target rune is blocked. Attempting to teleport to it would be massively unwise."
+ to_chat(user, "The target rune is blocked. Attempting to teleport to it would be massively unwise.")
fail_invoke()
return
var/movedsomething = 0
@@ -314,7 +314,7 @@ var/list/teleport_runes = list()
if(movedsomething)
..()
visible_message("There is a sharp crack of inrushing air, and everything above the rune disappears!")
- user << "You[moveuserlater ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"]."
+ to_chat(user, "You[moveuserlater ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].")
if(moveuserlater)
user.forceMove(target)
else
@@ -376,12 +376,12 @@ var/list/teleport_runes = list()
/obj/effect/rune/convert/proc/do_convert(mob/living/convertee, list/invokers)
if(invokers.len < 2)
for(var/M in invokers)
- M << "You need more invokers to convert [convertee]!"
+ to_chat(M, "You need more invokers to convert [convertee]!")
log_game("Offer rune failed - tried conversion with one invoker")
return 0
if(convertee.null_rod_check())
for(var/M in invokers)
- M << "Something is shielding [convertee]'s mind!"
+ to_chat(M, "Something is shielding [convertee]'s mind!")
log_game("Offer rune failed - convertee had null rod")
return 0
var/brutedamage = convertee.getBruteLoss()
@@ -395,16 +395,16 @@ var/list/teleport_runes = list()
ticker.mode.add_cultist(convertee.mind, 1)
new /obj/item/weapon/tome(get_turf(src))
convertee.mind.special_role = "Cultist"
- convertee << "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \
- and something evil takes root."
- convertee << "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve the Geometer above all else. Bring it back.\
- "
+ to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \
+ and something evil takes root.")
+ to_chat(convertee, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve the Geometer above all else. Bring it back.\
+ ")
return 1
/obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers)
if((((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || is_sacrifice_target(sacrificial.mind)) && invokers.len < 3)
for(var/M in invokers)
- M << "[sacrificial] is too greatly linked to the world! You need three acolytes!"
+ to_chat(M, "[sacrificial] is too greatly linked to the world! You need three acolytes!")
log_game("Offer rune failed - not enough acolytes and target is living or sac target")
return FALSE
var/sacrifice_fulfilled = FALSE
@@ -419,12 +419,12 @@ var/list/teleport_runes = list()
new /obj/effect/overlay/temp/cult/sac(get_turf(src))
for(var/M in invokers)
if(sacrifice_fulfilled)
- M << "\"Yes! This is the one I desire! You have done well.\""
+ to_chat(M, "\"Yes! This is the one I desire! You have done well.\"")
else
if(ishuman(sacrificial) || iscyborg(sacrificial))
- M << "\"I accept this sacrifice.\""
+ to_chat(M, "\"I accept this sacrifice.\"")
else
- M << "\"I accept this meager sacrifice.\""
+ to_chat(M, "\"I accept this meager sacrifice.\"")
var/obj/item/device/soulstone/stone = new /obj/item/device/soulstone(get_turf(src))
if(sacrificial.mind)
@@ -481,14 +481,14 @@ var/list/teleport_runes = list()
if(!cult_mode && !ignore_gamemode)
for(var/M in invokers)
- M << "Nar-Sie does not respond!"
+ to_chat(M, "Nar-Sie does not respond!")
fail_invoke()
log_game("Summon Nar-Sie rune failed - gametype is not cult")
return
if(locate(/obj/singularity/narsie) in poi_list)
for(var/M in invokers)
- M << "Nar-Sie is already on this plane!"
+ to_chat(M, "Nar-Sie is already on this plane!")
log_game("Summon Nar-Sie rune failed - already summoned")
return
//BEGIN THE SUMMONING
@@ -533,7 +533,7 @@ var/list/teleport_runes = list()
var/revive_number = 0
if(sacrificed.len)
revive_number = sacrificed.len - revives_used
- user << "Revives Remaining: [revive_number]"
+ to_chat(user, "Revives Remaining: [revive_number]")
/obj/effect/rune/raise_dead/invoke(var/list/invokers)
var/turf/T = get_turf(src)
@@ -546,12 +546,12 @@ var/list/teleport_runes = list()
if(iscultist(M) && M.stat == DEAD)
potential_revive_mobs |= M
if(!potential_revive_mobs.len)
- user << "There are no dead cultists on the rune!"
+ to_chat(user, "There are no dead cultists on the rune!")
log_game("Raise Dead rune failed - no corpses to revive")
fail_invoke()
return
if(!sacrificed.len || sacrificed.len <= revives_used)
- user << "You have sacrificed too few people to revive a cultist!"
+ to_chat(user, "You have sacrificed too few people to revive a cultist!")
fail_invoke()
return
if(potential_revive_mobs.len > 1)
@@ -569,7 +569,7 @@ var/list/teleport_runes = list()
revives_used++
mob_to_revive.revive(1, 1) //This does remove disabilities and such, but the rune might actually see some use because of it!
mob_to_revive.grab_ghost()
- mob_to_revive << "\"PASNAR SAVRAE YAM'TOTH. Arise.\""
+ to_chat(mob_to_revive, "\"PASNAR SAVRAE YAM'TOTH. Arise.\"")
mob_to_revive.visible_message("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \
"You awaken suddenly from the void. You're alive!")
rune_in_use = 0
@@ -584,18 +584,18 @@ var/list/teleport_runes = list()
fail_invoke()
return 0
if(!(target_mob in T.contents))
- user << "The cultist to revive has been moved!"
+ to_chat(user, "The cultist to revive has been moved!")
fail_invoke()
log_game("Raise Dead rune failed - revival target moved")
return 0
var/mob/dead/observer/ghost = target_mob.get_ghost(TRUE)
if(!ghost && (!target_mob.mind || !target_mob.mind.active))
- user << "The corpse to revive has no spirit!"
+ to_chat(user, "The corpse to revive has no spirit!")
fail_invoke()
log_game("Raise Dead rune failed - revival target has no ghost")
return 0
if(!sacrificed.len || sacrificed.len <= revives_used)
- user << "You have sacrificed too few people to revive a cultist!"
+ to_chat(user, "You have sacrificed too few people to revive a cultist!")
fail_invoke()
log_game("Raise Dead rune failed - too few sacrificed")
return 0
@@ -625,16 +625,16 @@ var/list/teleport_runes = list()
if(1 to 2)
playsound(E, 'sound/items/Welder2.ogg', 25, 1)
for(var/M in invokers)
- M << "You feel a minute vibration pass through you..."
+ to_chat(M, "You feel a minute vibration pass through you...")
if(3 to 6)
playsound(E, 'sound/magic/Disable_Tech.ogg', 50, 1)
for(var/M in invokers)
- M << "Your hair stands on end as a shockwave eminates from the rune!"
+ to_chat(M, "Your hair stands on end as a shockwave eminates from the rune!")
if(7 to INFINITY)
playsound(E, 'sound/magic/Disable_Tech.ogg', 100, 1)
for(var/M in invokers)
var/mob/living/L = M
- L << "You chant in unison and a colossal burst of energy knocks you backward!"
+ to_chat(L, "You chant in unison and a colossal burst of energy knocks you backward!")
L.Weaken(2)
qdel(src) //delete before pulsing because it's a delay reee
empulse(E, 9*invokers.len, 12*invokers.len) // Scales now, from a single room to most of the station depending on # of chanters
@@ -653,16 +653,16 @@ var/list/teleport_runes = list()
/obj/effect/rune/astral/examine(mob/user)
..()
if(affecting)
- user << "A translucent field encases [user] above the rune!"
+ to_chat(user, "A translucent field encases [user] above the rune!")
/obj/effect/rune/astral/can_invoke(mob/living/user)
if(rune_in_use)
- user << "[src] cannot support more than one body!"
+ to_chat(user, "[src] cannot support more than one body!")
log_game("Astral Communion rune failed - more than one user")
return list()
var/turf/T = get_turf(src)
if(!(user in T))
- user << "You must be standing on top of [src]!"
+ to_chat(user, "You must be standing on top of [src]!")
log_game("Astral Communion rune failed - user not standing on rune")
return list()
return ..()
@@ -699,13 +699,13 @@ var/list/teleport_runes = list()
if(user.stat == UNCONSCIOUS)
if(prob(1))
var/mob/dead/observer/G = user.get_ghost()
- G << "You feel the link between you and your body weakening... you must hurry!"
+ to_chat(G, "You feel the link between you and your body weakening... you must hurry!")
if(user.stat == DEAD)
user.color = initial(user.color)
rune_in_use = 0
affecting = null
var/mob/dead/observer/G = user.get_ghost()
- G << "You suddenly feel your physical form pass on. [src]'s exertion has killed you!"
+ to_chat(G, "You suddenly feel your physical form pass on. [src]'s exertion has killed you!")
return
sleep(1)
rune_in_use = 0
@@ -730,7 +730,7 @@ var/list/wall_runes = list()
/obj/effect/rune/wall/examine(mob/user)
..()
if(density)
- user << "There is a barely perceptible shimmering of the air above [src]."
+ to_chat(user, "There is a barely perceptible shimmering of the air above [src].")
/obj/effect/rune/wall/Destroy()
density = 0
@@ -813,22 +813,22 @@ var/list/wall_runes = list()
if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated())
return
if(!cultist_to_summon)
- user << "You require a summoning target!"
+ to_chat(user, "You require a summoning target!")
fail_invoke()
log_game("Summon Cultist rune failed - no target")
return
if(cultist_to_summon.stat == DEAD)
- user << "[cultist_to_summon] has died!"
+ to_chat(user, "[cultist_to_summon] has died!")
fail_invoke()
log_game("Summon Cultist rune failed - target died")
return
if(!iscultist(cultist_to_summon))
- user << "[cultist_to_summon] is not a follower of the Geometer!"
+ to_chat(user, "[cultist_to_summon] is not a follower of the Geometer!")
fail_invoke()
log_game("Summon Cultist rune failed - target was deconverted")
return
if(cultist_to_summon.z > ZLEVEL_SPACEMAX)
- user << "[cultist_to_summon] is not in our dimension!"
+ to_chat(user, "[cultist_to_summon] is not in our dimension!")
fail_invoke()
log_game("Summon Cultist rune failed - target in away mission")
return
@@ -867,16 +867,16 @@ var/list/wall_runes = list()
for(var/M in invokers)
var/mob/living/L = M
L.apply_damage(10, BRUTE, pick("l_arm", "r_arm"))
- L << "[src] saps your strength!"
+ to_chat(L, "[src] saps your strength!")
for(var/mob/living/L in viewers(T))
if(!iscultist(L) && L.blood_volume)
var/obj/item/weapon/nullrod/N = L.null_rod_check()
if(N)
- L << "\The [N] suddenly burns hotly before returning to normal!"
+ to_chat(L, "\The [N] suddenly burns hotly before returning to normal!")
continue
- L << "Your blood boils in your veins!"
+ to_chat(L, "Your blood boils in your veins!")
if(is_servant_of_ratvar(L))
- L << "You feel an unholy darkness dimming the Justiciar's light!"
+ to_chat(L, "You feel an unholy darkness dimming the Justiciar's light!")
animate(src, color = "#FCB56D", time = 4)
sleep(4)
if(!src)
@@ -923,7 +923,7 @@ var/list/wall_runes = list()
if(M.stat != DEAD)
potential_targets += M
if(!potential_targets.len)
- user << "There must be at least one valid target on the rune!"
+ to_chat(user, "There must be at least one valid target on the rune!")
log_game("Leeching rune failed - no valid targets")
return list()
return ..()
@@ -938,7 +938,7 @@ var/list/wall_runes = list()
var/drained_amount = rand(10,20)
M.apply_damage(drained_amount, BRUTE, "chest")
user.adjustBruteLoss(-drained_amount)
- M << "You feel extremely weak."
+ to_chat(M, "You feel extremely weak.")
user.Beam(T,icon_state="drainbeam",time=5)
user.visible_message("Blood flows from the rune into [user]!", \
"Blood flows into you, healing your wounds and revitalizing your spirit.")
@@ -959,7 +959,7 @@ var/list/wall_runes = list()
/obj/effect/rune/manifest/can_invoke(mob/living/user)
if(!(user in get_turf(src)))
- user << "You must be standing on [src]!"
+ to_chat(user, "You must be standing on [src]!")
fail_invoke()
log_game("Manifest rune failed - user not standing on rune")
return list()
@@ -968,7 +968,7 @@ var/list/wall_runes = list()
if(O.client && !jobban_isbanned(O, ROLE_CULTIST))
ghosts_on_rune |= O
if(!ghosts_on_rune.len)
- user << "There are no spirits near [src]!"
+ to_chat(user, "There are no spirits near [src]!")
fail_invoke()
log_game("Manifest rune failed - no nearby ghosts")
return list()
@@ -986,13 +986,13 @@ var/list/wall_runes = list()
new_human.alpha = 150 //Makes them translucent
..()
visible_message("A cloud of red mist forms above [src], and from within steps... a man.")
- user << "Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely..."
+ to_chat(user, "Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...")
var/turf/T = get_turf(src)
var/obj/structure/emergency_shield/invoker/N = new(T)
new_human.key = ghost_to_spawn.key
ticker.mode.add_cultist(new_human.mind, 0)
- new_human << "You are a servant of the Geometer. You have been made semi-corporeal by the cult of Nar-Sie, and you are to serve them at all costs."
+ to_chat(new_human, "You are a servant of the Geometer. You have been made semi-corporeal by the cult of Nar-Sie, and you are to serve them at all costs.")
while(user in T)
if(user.stat)
diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm
index 805ef00ae66..d8722acb731 100644
--- a/code/game/gamemodes/cult/talisman.dm
+++ b/code/game/gamemodes/cult/talisman.dm
@@ -8,15 +8,15 @@
/obj/item/weapon/paper/talisman/examine(mob/user)
if(iscultist(user) || user.stat == DEAD)
- user << "Name: [cultist_name]"
- user << "Effect: [cultist_desc]"
- user << "Uses Remaining: [uses]"
+ to_chat(user, "Name: [cultist_name]")
+ to_chat(user, "Effect: [cultist_desc]")
+ to_chat(user, "Uses Remaining: [uses]")
else
- user << "There are indecipherable images scrawled on the paper in what looks to be... blood?"
+ to_chat(user, "There are indecipherable images scrawled on the paper in what looks to be... blood?")
/obj/item/weapon/paper/talisman/attack_self(mob/living/user)
if(!iscultist(user))
- user << "There are indecipherable images scrawled on the paper in what looks to be... blood?"
+ to_chat(user, "There are indecipherable images scrawled on the paper in what looks to be... blood?")
return
if(invoke(user))
uses--
@@ -40,7 +40,7 @@
invocation = "Ra'sha yoka!"
/obj/item/weapon/paper/talisman/malformed/invoke(mob/living/user, successfuluse = 1)
- user << "You feel a pain in your head. The Geometer is displeased."
+ to_chat(user, "You feel a pain in your head. The Geometer is displeased.")
if(iscarbon(user))
var/mob/living/carbon/C = user
C.apply_damage(10, BRUTE, "head")
@@ -130,12 +130,12 @@
potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T
if(!potential_runes.len)
- user << "There are no valid runes to teleport to!"
+ to_chat(user, "There are no valid runes to teleport to!")
log_game("Teleport talisman failed - no other teleport runes")
return ..(user, 0)
if(user.z > ZLEVEL_SPACEMAX)
- user << "You are not in the right dimension!"
+ to_chat(user, "You are not in the right dimension!")
log_game("Teleport talisman failed - user in away mission")
return ..(user, 0)
@@ -145,7 +145,7 @@
return ..(user, 0)
var/turf/target = get_turf(actual_selected_rune)
if(is_blocked_turf(target, TRUE))
- user << "The target rune is blocked. Attempting to teleport to it would be massively unwise."
+ to_chat(user, "The target rune is blocked. Attempting to teleport to it would be massively unwise.")
return ..(user, 0)
user.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear in a flash of red light!", \
"You speak the words of the talisman and find yourself somewhere else!")
@@ -237,9 +237,9 @@
if(successfuluse) //if we're forced to be successful(we normally aren't) then do the normal stuff
return ..()
if(iscultist(user))
- user << "To use this talisman, attack the target directly."
+ to_chat(user, "To use this talisman, attack the target directly.")
else
- user << "There are indecipherable images scrawled on the paper in what looks to be... blood?"
+ to_chat(user, "There are indecipherable images scrawled on the paper in what looks to be... blood?")
return 0
/obj/item/weapon/paper/talisman/stun/attack(mob/living/target, mob/living/user, successfuluse = 1)
@@ -311,12 +311,12 @@
/obj/item/weapon/paper/talisman/horror/attack(mob/living/target, mob/living/user)
if(iscultist(user))
- user << "You disturb [target] with visons of the end!"
+ to_chat(user, "You disturb [target] with visons of the end!")
if(iscarbon(target))
var/mob/living/carbon/H = target
H.reagents.add_reagent("mindbreaker", 25)
if(is_servant_of_ratvar(target))
- target << "You see a brief but horrible vision of Ratvar, rusted and scrapped, being torn apart."
+ to_chat(target, "You see a brief but horrible vision of Ratvar, rusted and scrapped, being torn apart.")
target.emote("scream")
target.confused = max(0, target.confused + 3)
target.flash_act()
@@ -334,14 +334,14 @@
/obj/item/weapon/paper/talisman/construction/attack_self(mob/living/user)
if(iscultist(user))
- user << "To use this talisman, place it upon a stack of metal sheets."
+ to_chat(user, "To use this talisman, place it upon a stack of metal sheets.")
else
- user << "There are indecipherable images scrawled on the paper in what looks to be... blood?"
+ to_chat(user, "There are indecipherable images scrawled on the paper in what looks to be... blood?")
/obj/item/weapon/paper/talisman/construction/attack(obj/M,mob/living/user)
if(iscultist(user))
- user << "This talisman will only work on a stack of metal or plasteel sheets!"
+ to_chat(user, "This talisman will only work on a stack of metal or plasteel sheets!")
log_game("Construct talisman failed - not a valid target")
else
..()
@@ -353,24 +353,24 @@
if(istype(target, /obj/item/stack/sheet/metal))
if(target.use(25))
new /obj/structure/constructshell(T)
- user << "The talisman clings to the metal and twists it into a construct shell!"
+ to_chat(user, "The talisman clings to the metal and twists it into a construct shell!")
user << sound('sound/effects/magic.ogg',0,1,25)
invoke(user, 1)
qdel(src)
else
- user << "You need more metal to produce a construct shell!"
+ to_chat(user, "You need more metal to produce a construct shell!")
else if(istype(target, /obj/item/stack/sheet/plasteel))
var/quantity = min(target.amount, uses)
uses -= quantity
new /obj/item/stack/sheet/runed_metal(T,quantity)
target.use(quantity)
- user << "The talisman clings to the plasteel, transforming it into runed metal!"
+ to_chat(user, "The talisman clings to the plasteel, transforming it into runed metal!")
user << sound('sound/effects/magic.ogg',0,1,25)
invoke(user, 1)
if(uses <= 0)
qdel(src)
else
- user << "The talisman must be used on metal or plasteel!"
+ to_chat(user, "The talisman must be used on metal or plasteel!")
//Talisman of Shackling: Applies special cuffs directly from the talisman
@@ -385,9 +385,9 @@
if(successfuluse) //if we're forced to be successful(we normally aren't) then do the normal stuff
return ..()
if(iscultist(user))
- user << "To use this talisman, attack the target directly."
+ to_chat(user, "To use this talisman, attack the target directly.")
else
- user << "There are indecipherable images scrawled on the paper in what looks to be... blood?"
+ to_chat(user, "There are indecipherable images scrawled on the paper in what looks to be... blood?")
return 0
/obj/item/weapon/paper/talisman/shackle/attack(mob/living/carbon/target, mob/living/user)
@@ -409,15 +409,15 @@
if(!C.handcuffed)
C.handcuffed = new /obj/item/weapon/restraints/handcuffs/energy/cult/used(C)
C.update_handcuffed()
- user << "You shackle [C]."
+ to_chat(user, "You shackle [C].")
add_logs(user, C, "handcuffed")
uses--
else
- user << "[C] is already bound."
+ to_chat(user, "[C] is already bound.")
else
- user << "You fail to shackle [C]."
+ to_chat(user, "You fail to shackle [C].")
else
- user << "[C] is already bound."
+ to_chat(user, "[C] is already bound.")
if(uses <= 0)
user.drop_item()
qdel(src)
diff --git a/code/game/gamemodes/devil/devilinfo.dm b/code/game/gamemodes/devil/devilinfo.dm
index 68fbe4d7907..a5766fa4edd 100644
--- a/code/game/gamemodes/devil/devilinfo.dm
+++ b/code/game/gamemodes/devil/devilinfo.dm
@@ -156,11 +156,11 @@ var/global/list/lawlorify = list (
return
soulsOwned += soul
owner.current.nutrition = NUTRITION_LEVEL_FULL
- owner.current << "You feel satiated as you received a new soul."
+ to_chat(owner.current, "You feel satiated as you received a new soul.")
update_hud()
switch(SOULVALUE)
if(0)
- owner.current << "Your hellish powers have been restored."
+ to_chat(owner.current, "Your hellish powers have been restored.")
give_base_spells()
if(BLOOD_THRESHOLD)
increase_blood_lizard()
@@ -172,7 +172,7 @@ var/global/list/lawlorify = list (
/datum/devilinfo/proc/remove_soul(datum/mind/soul)
if(soulsOwned.Remove(soul))
check_regression()
- owner.current << "You feel as though a soul has slipped from your grasp."
+ to_chat(owner.current, "You feel as though a soul has slipped from your grasp.")
update_hud()
/datum/devilinfo/proc/check_regression()
@@ -185,7 +185,7 @@ var/global/list/lawlorify = list (
regress_humanoid()
if(SOULVALUE < 0)
remove_spells()
- owner.current << "As punishment for your failures, all of your powers except contract creation have been revoked."
+ to_chat(owner.current, "As punishment for your failures, all of your powers except contract creation have been revoked.")
/datum/devilinfo/proc/increase_form()
switch(form)
@@ -197,7 +197,7 @@ var/global/list/lawlorify = list (
increase_arch_devil()
/datum/devilinfo/proc/regress_humanoid()
- owner.current << "Your powers weaken, have more contracts be signed to regain power."
+ to_chat(owner.current, "Your powers weaken, have more contracts be signed to regain power.")
if(ishuman(owner.current))
var/mob/living/carbon/human/H = owner.current
H.set_species(/datum/species/human, 1)
@@ -209,7 +209,7 @@ var/global/list/lawlorify = list (
/datum/devilinfo/proc/regress_blood_lizard()
var/mob/living/carbon/true_devil/D = owner.current
- D << "Your powers weaken, have more contracts be signed to regain power."
+ to_chat(D, "Your powers weaken, have more contracts be signed to regain power.")
D.oldform.loc = D.loc
owner.transfer_to(D.oldform)
give_lizard_spells()
@@ -219,7 +219,7 @@ var/global/list/lawlorify = list (
/datum/devilinfo/proc/increase_blood_lizard()
- owner.current << "You feel as though your humanoid form is about to shed. You will soon turn into a blood lizard."
+ to_chat(owner.current, "You feel as though your humanoid form is about to shed. You will soon turn into a blood lizard.")
sleep(50)
if(ishuman(owner.current))
var/mob/living/carbon/human/H = owner.current
@@ -237,7 +237,7 @@ var/global/list/lawlorify = list (
/datum/devilinfo/proc/increase_true_devil()
- owner.current << "You feel as though your current form is about to shed. You will soon turn into a true devil."
+ to_chat(owner.current, "You feel as though your current form is about to shed. You will soon turn into a true devil.")
sleep(50)
var/mob/living/carbon/true_devil/A = new /mob/living/carbon/true_devil(owner.current.loc)
A.faction |= "hell"
@@ -252,7 +252,7 @@ var/global/list/lawlorify = list (
/datum/devilinfo/proc/increase_arch_devil()
var/mob/living/carbon/true_devil/D = owner.current
- D << "You feel as though your form is about to ascend."
+ to_chat(D, "You feel as though your form is about to ascend.")
sleep(50)
if(!D)
return
@@ -271,19 +271,19 @@ var/global/list/lawlorify = list (
sleep(40)
if(!D)
return
- D << "Yes!"
+ to_chat(D, "Yes!")
sleep(10)
if(!D)
return
- D << "YES!!"
+ to_chat(D, "YES!!")
sleep(10)
if(!D)
return
- D << "YE--"
+ to_chat(D, "YE--")
sleep(1)
if(!D)
return
- world << "\"SLOTH, WRATH, GLUTTONY, ACEDIA, ENVY, GREED, PRIDE! FIRES OF HELL AWAKEN!!\""
+ to_chat(world, "\"SLOTH, WRATH, GLUTTONY, ACEDIA, ENVY, GREED, PRIDE! FIRES OF HELL AWAKEN!!\"")
world << 'sound/hallucinations/veryfar_noise.ogg'
give_arch_spells()
D.convert_to_archdevil()
@@ -339,23 +339,23 @@ var/global/list/lawlorify = list (
/datum/devilinfo/proc/beginResurrectionCheck(mob/living/body)
if(SOULVALUE>0)
- owner.current<< "Your body has been damaged to the point that you may no longer use it. At the cost of some of your power, you will return to life soon. Remain in your body."
+ to_chat(owner.current, "Your body has been damaged to the point that you may no longer use it. At the cost of some of your power, you will return to life soon. Remain in your body.")
sleep(DEVILRESURRECTTIME)
if (!body || body.stat == DEAD)
if(SOULVALUE>0)
if(check_banishment(body))
- owner.current<< "Unfortunately, the mortals have finished a ritual that prevents your resurrection."
+ to_chat(owner.current, "Unfortunately, the mortals have finished a ritual that prevents your resurrection.")
return -1
else
- owner.current<< "WE LIVE AGAIN!"
+ to_chat(owner.current, "WE LIVE AGAIN!")
return hellish_resurrection(body)
else
- owner.current<< "Unfortunately, the power that stemmed from your contracts has been extinguished. You no longer have enough power to resurrect."
+ to_chat(owner.current, "Unfortunately, the power that stemmed from your contracts has been extinguished. You no longer have enough power to resurrect.")
return -1
else
- owner.current << " You seem to have resurrected without your hellish powers."
+ to_chat(owner.current, " You seem to have resurrected without your hellish powers.")
else
- owner.current << "Your hellish powers are too weak to resurrect yourself."
+ to_chat(owner.current, "Your hellish powers are too weak to resurrect yourself.")
/datum/devilinfo/proc/check_banishment(mob/living/body)
switch(banish)
diff --git a/code/game/gamemodes/devil/game_mode.dm b/code/game/gamemodes/devil/game_mode.dm
index be5b22c2066..bd9db9722b6 100644
--- a/code/game/gamemodes/devil/game_mode.dm
+++ b/code/game/gamemodes/devil/game_mode.dm
@@ -14,7 +14,7 @@
text += printobjectives(sintouched_mind)
text += "
"
text += "
"
- world << text
+ to_chat(world, text)
/datum/game_mode/proc/auto_declare_completion_devils()
/var/text = ""
@@ -27,7 +27,7 @@
text += printobjectives(devil)
text += "
"
text += "
"
- world << text
+ to_chat(world, text)
/datum/game_mode/proc/finalize_devil(datum/mind/devil_mind)
@@ -42,7 +42,7 @@
devil_mind.devilinfo.update_hud()
if(devil_mind.assigned_role == "Clown" && ishuman(devil_mind.current))
var/mob/living/carbon/human/S = devil_mind.current
- S << "Your infernal nature has allowed you to overcome your clownishness."
+ to_chat(S, "Your infernal nature has allowed you to overcome your clownishness.")
S.dna.remove_mutation(CLOWNMUT)
if(issilicon(devil_mind.current))
add_law_sixsixsix(devil_mind.current)
@@ -62,15 +62,15 @@
/datum/mind/proc/announceDevilLaws()
if(!devilinfo)
return
- current << "You remember your link to the infernal. You are [src.devilinfo.truename], an agent of hell, a devil. And you were sent to the plane of creation for a reason. A greater purpose. Convince the crew to sin, and embroiden Hell's grasp."
- current << "However, your infernal form is not without weaknesses."
- current << "You may not use violence to coerce someone into selling their soul."
- current << "You may not directly and knowingly physically harm a devil, other than yourself."
- current << lawlorify[LAW][src.devilinfo.bane]
- current << lawlorify[LAW][src.devilinfo.ban]
- current << lawlorify[LAW][src.devilinfo.obligation]
- current << lawlorify[LAW][src.devilinfo.banish]
- current << "
Remember, the crew can research your weaknesses if they find out your devil name.
"
+ to_chat(current, "You remember your link to the infernal. You are [src.devilinfo.truename], an agent of hell, a devil. And you were sent to the plane of creation for a reason. A greater purpose. Convince the crew to sin, and embroiden Hell's grasp.")
+ to_chat(current, "However, your infernal form is not without weaknesses.")
+ to_chat(current, "You may not use violence to coerce someone into selling their soul.")
+ to_chat(current, "You may not directly and knowingly physically harm a devil, other than yourself.")
+ to_chat(current, lawlorify[LAW][src.devilinfo.bane])
+ to_chat(current, lawlorify[LAW][src.devilinfo.ban])
+ to_chat(current, lawlorify[LAW][src.devilinfo.obligation])
+ to_chat(current, lawlorify[LAW][src.devilinfo.banish])
+ to_chat(current, "
Remember, the crew can research your weaknesses if they find out your devil name.
")
/datum/game_mode/proc/printdevilinfo(datum/mind/ply)
if(!ply.devilinfo)
diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm
index 1de71b46d3c..c8d2a178902 100644
--- a/code/game/gamemodes/devil/true_devil/_true_devil.dm
+++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm
@@ -87,7 +87,7 @@
else if(health < (maxHealth/2))
msg += "You can see hellfire inside its wounds.\n"
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
/mob/living/carbon/true_devil/IsAdvancedToolUser()
@@ -151,8 +151,8 @@
var/datum/objective/newobjective = new
newobjective.explanation_text = "Try to get a promotion to a higher devilic rank."
S.mind.objectives += newobjective
- S << S.playstyle_string
- S << "Objective #[1]: [newobjective.explanation_text]"
+ to_chat(S, S.playstyle_string)
+ to_chat(S, "Objective #[1]: [newobjective.explanation_text]")
return
else
return ..()
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 17605d292ed..8861225dfd9 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -46,8 +46,8 @@
/datum/game_mode/proc/announce() //Shows the gamemode's name and a fast description.
- world << "The gamemode is: [name]!"
- world << "[announce_text]"
+ to_chat(world, "The gamemode is: [name]!")
+ to_chat(world, "[announce_text]")
///Checks to see if the game can be setup and ran with the current number of players or whatnot.
@@ -479,7 +479,7 @@
for(var/mob/M in mob_list)
if(M.client && M.client.holder)
- M << msg
+ to_chat(M, msg)
/datum/game_mode/proc/printplayer(datum/mind/ply, fleecheck)
var/text = "
[ply.key] was [ply.name] the [ply.assigned_role] and"
@@ -531,7 +531,7 @@
var/mob/dead/observer/theghost = null
if(candidates.len)
theghost = pick(candidates)
- M << "Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!"
+ to_chat(M, "Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!")
message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(M)]) to replace a jobbaned player.")
M.ghostize(0)
M.key = theghost.key
diff --git a/code/game/gamemodes/gang/dominator.dm b/code/game/gamemodes/gang/dominator.dm
index 3daf4638c3d..388404118f0 100644
--- a/code/game/gamemodes/gang/dominator.dm
+++ b/code/game/gamemodes/gang/dominator.dm
@@ -36,12 +36,12 @@
if(gang && gang.is_dominating)
time = gang.domination_time_remaining()
if(time > 0)
- user << "Hostile Takeover in progress. Estimated [time] seconds remain."
+ to_chat(user, "Hostile Takeover in progress. Estimated [time] seconds remain.")
else
- user << "Hostile Takeover of [station_name()] successful. Have a great day."
+ to_chat(user, "Hostile Takeover of [station_name()] successful. Have a great day.")
else
- user << "System on standby."
- user << "System Integrity: [round((obj_integrity/max_integrity)*100,1)]%"
+ to_chat(user, "System on standby.")
+ to_chat(user, "System Integrity: [round((obj_integrity/max_integrity)*100,1)]%")
/obj/machinery/dominator/process()
..()
@@ -153,11 +153,11 @@
return
if(tempgang.is_dominating)
- user << "Error: Hostile Takeover is already in progress."
+ to_chat(user, "Error: Hostile Takeover is already in progress.")
return
if(!tempgang.dom_attempts)
- user << "Error: Unable to breach station network. Firewall has logged our signature and is blocking all further attempts."
+ to_chat(user, "Error: Unable to breach station network. Firewall has logged our signature and is blocking all further attempts.")
return
var/time = round(determine_domination_time(tempgang)/60,0.1)
diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm
index 916ba1ba34e..b6a5d64e7a1 100644
--- a/code/game/gamemodes/gang/gang.dm
+++ b/code/game/gamemodes/gang/gang.dm
@@ -92,7 +92,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
/datum/game_mode/proc/greet_gang(datum/mind/boss_mind, you_are=1)
if (you_are)
- boss_mind.current << "You are the Boss of the [boss_mind.gang_datum.name] Gang!"
+ to_chat(boss_mind.current, "You are the Boss of the [boss_mind.gang_datum.name] Gang!")
boss_mind.announce_objectives()
///////////////////////////////////////////////////////////////////////////
@@ -104,7 +104,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
if (mob.mind)
if (mob.mind.assigned_role == "Clown")
- mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
+ to_chat(mob, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.")
mob.dna.remove_mutation(CLOWNMUT)
var/obj/item/device/gangtool/gangtool = new(mob)
@@ -122,33 +122,33 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
var/where = mob.equip_in_one_of_slots(gangtool, slots)
if (!where)
- mob << "Your Syndicate benefactors were unfortunately unable to get you a Gangtool."
+ to_chat(mob, "Your Syndicate benefactors were unfortunately unable to get you a Gangtool.")
. += 1
else
gangtool.register_device(mob)
- mob << "The Gangtool in your [where] will allow you to purchase weapons and equipment, send messages to your gang, and recall the emergency shuttle from anywhere on the station."
- mob << "As the gang boss, you can also promote your gang members to lieutenant. Unlike regular gangsters, Lieutenants cannot be deconverted and are able to use recruitment pens and gangtools."
+ to_chat(mob, "The Gangtool in your [where] will allow you to purchase weapons and equipment, send messages to your gang, and recall the emergency shuttle from anywhere on the station.")
+ to_chat(mob, "As the gang boss, you can also promote your gang members to lieutenant. Unlike regular gangsters, Lieutenants cannot be deconverted and are able to use recruitment pens and gangtools.")
var/where2 = mob.equip_in_one_of_slots(T, slots)
if (!where2)
- mob << "Your Syndicate benefactors were unfortunately unable to get you a recruitment pen to start."
+ to_chat(mob, "Your Syndicate benefactors were unfortunately unable to get you a recruitment pen to start.")
. += 1
else
- mob << "The recruitment pen in your [where2] will help you get your gang started. Stab unsuspecting crew members with it to recruit them."
+ to_chat(mob, "The recruitment pen in your [where2] will help you get your gang started. Stab unsuspecting crew members with it to recruit them.")
var/where3 = mob.equip_in_one_of_slots(SC, slots)
if (!where3)
- mob << "Your Syndicate benefactors were unfortunately unable to get you a territory spraycan to start."
+ to_chat(mob, "Your Syndicate benefactors were unfortunately unable to get you a territory spraycan to start.")
. += 1
else
- mob << "The territory spraycan in your [where3] can be used to claim areas of the station for your gang. The more territory your gang controls, the more influence you get. All gangsters can use these, so distribute them to grow your influence faster."
+ to_chat(mob, "The territory spraycan in your [where3] can be used to claim areas of the station for your gang. The more territory your gang controls, the more influence you get. All gangsters can use these, so distribute them to grow your influence faster.")
var/where4 = mob.equip_in_one_of_slots(C, slots)
if (!where4)
- mob << "Your Syndicate benefactors were unfortunately unable to get you a chameleon security HUD."
+ to_chat(mob, "Your Syndicate benefactors were unfortunately unable to get you a chameleon security HUD.")
. += 1
else
- mob << "The chameleon security HUD in your [where4] will help you keep track of who is mindshield-implanted, and unable to be recruited."
+ to_chat(mob, "The chameleon security HUD in your [where4] will help you keep track of who is mindshield-implanted, and unable to be recruited.")
return .
@@ -169,10 +169,10 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
carbon_mob.flash_act(1, 1)
gangster_mind.current.Stun(5)
if(G.is_deconvertible)
- gangster_mind.current << "You are now a member of the [G.name] Gang!"
- gangster_mind.current << "Help your bosses take over the station by claiming territory with special spraycans only they can provide. Simply spray on any unclaimed area of the station."
- gangster_mind.current << "Their ultimate objective is to take over the station with a Dominator machine."
- gangster_mind.current << "You can identify your bosses by their large, bright [G.color] \[G\] icon."
+ to_chat(gangster_mind.current, "You are now a member of the [G.name] Gang!")
+ to_chat(gangster_mind.current, "Help your bosses take over the station by claiming territory with special spraycans only they can provide. Simply spray on any unclaimed area of the station.")
+ to_chat(gangster_mind.current, "Their ultimate objective is to take over the station with a Dominator machine.")
+ to_chat(gangster_mind.current, "You can identify your bosses by their large, bright [G.color] \[G\] icon.")
gangster_mind.store_memory("You are a member of the [G.name] Gang!")
gangster_mind.current.log_message("Has been converted to the [G.name] Gang!", INDIVIDUAL_ATTACK_LOG)
gangster_mind.special_role = "[G.name] Gangster"
@@ -213,13 +213,13 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
if(beingborged)
if(!silent)
gangster_mind.current.visible_message("The frame beeps contentedly from the MMI before initalizing it.")
- gangster_mind.current << "The frame's firmware detects and deletes your criminal behavior! You are no longer a gangster!"
+ to_chat(gangster_mind.current, "The frame's firmware detects and deletes your criminal behavior! You are no longer a gangster!")
message_admins("[ADMIN_LOOKUPFLW(gangster_mind.current)] has been borged while being a member of the [gang.name] Gang. They are no longer a gangster.")
else
if(!silent)
gangster_mind.current.Paralyse(5)
gangster_mind.current.visible_message("[gangster_mind.current] looks like they've given up the life of crime!")
- gangster_mind.current << "You have been reformed! You are no longer a gangster!
You try as hard as you can, but you can't seem to recall any of the identities of your former gangsters..."
+ to_chat(gangster_mind.current, "You have been reformed! You are no longer a gangster!
You try as hard as you can, but you can't seem to recall any of the identities of your former gangsters...")
gangster_mind.memory = ""
gang.remove_gang_hud(gangster_mind)
@@ -258,12 +258,12 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
if(!gangs.len)
return
if(!winner)
- world << "The station was [station_was_nuked ? "destroyed!" : "evacuated before a gang could claim it! The station wins!"]
"
+ to_chat(world, "The station was [station_was_nuked ? "destroyed!" : "evacuated before a gang could claim it! The station wins!"]
")
feedback_set_details("round_end_result","loss - gangs failed takeover")
ticker.news_report = GANG_LOSS
else
- world << "The [winner.name] Gang successfully performed a hostile takeover of the station!
"
+ to_chat(world, "The [winner.name] Gang successfully performed a hostile takeover of the station!
")
feedback_set_details("round_end_result","win - gang domination complete")
ticker.news_report = GANG_TAKEOVER
@@ -277,7 +277,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
for(var/datum/mind/gangster in G.gangsters)
text += printplayer(gangster, 1)
text += "
"
- world << text
+ to_chat(world, text)
//////////////////////////////////////////////////////////
//Handles influence, territories, and the victory checks//
diff --git a/code/game/gamemodes/gang/gang_datum.dm b/code/game/gamemodes/gang/gang_datum.dm
index 935b1820e2f..78d75c957f4 100644
--- a/code/game/gamemodes/gang/gang_datum.dm
+++ b/code/game/gamemodes/gang/gang_datum.dm
@@ -159,7 +159,7 @@
var/mob/living/mob = get(tool.loc,/mob/living)
if(mob && mob.mind && mob.stat == CONSCIOUS)
if(mob.mind.gang_datum == src)
- mob << "\icon[tool] [message]"
+ to_chat(mob, "\icon[tool] [message]")
return
@@ -206,7 +206,7 @@
gang_outfit = outfit
if(gang_outfit)
- gangster << "The [src] Gang's influence grows as you wear [gang_outfit]."
+ to_chat(gangster, "The [src] Gang's influence grows as you wear [gang_outfit].")
uniformed ++
//Calculate and report influence growth
diff --git a/code/game/gamemodes/gang/gang_items.dm b/code/game/gamemodes/gang/gang_items.dm
index ab1a91f4e37..a8732c10469 100644
--- a/code/game/gamemodes/gang/gang_items.dm
+++ b/code/game/gamemodes/gang/gang_items.dm
@@ -22,7 +22,7 @@
var/obj/item/O = new item_path(user.loc)
user.put_in_hands(O)
if(spawn_msg)
- user << spawn_msg
+ to_chat(user, spawn_msg)
/datum/gang_item/proc/can_buy(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool)
return gang && (gang.points >= get_cost(user, gang, gangtool)) && can_see(user, gang, gangtool)
@@ -92,7 +92,7 @@
/datum/gang_item/function/outfit/spawn_item(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool)
if(gang && gang.gang_outfit(user, gangtool))
- user << "Gang Outfits can act as armor with moderate protection against ballistic and melee attacks. Every gangster wearing one will also help grow your gang's influence."
+ to_chat(user, "Gang Outfits can act as armor with moderate protection against ballistic and melee attacks. Every gangster wearing one will also help grow your gang's influence.")
if(gangtool)
gangtool.outfits -= 1
@@ -200,7 +200,7 @@
var/obj/item/O = new item_path(user.loc, gang) //we need to override this whole proc for this one argument
user.put_in_hands(O)
if(spawn_msg)
- user << spawn_msg
+ to_chat(user, spawn_msg)
/datum/gang_item/equipment/pen
name = "Recruitment Pen"
@@ -235,7 +235,7 @@
if(gang && isboss(user, gang))
item_type = /obj/item/device/gangtool/spare/lt
if(gang.bosses.len < 3)
- user << "Gangtools allow you to promote a gangster to be your Lieutenant, enabling them to recruit and purchase items like you. Simply have them register the gangtool. You may promote up to [3-gang.bosses.len] more Lieutenants"
+ to_chat(user, "Gangtools allow you to promote a gangster to be your Lieutenant, enabling them to recruit and purchase items like you. Simply have them register the gangtool. You may promote up to [3-gang.bosses.len] more Lieutenants")
else
item_type = /obj/item/device/gangtool/spare
var/obj/item/device/gangtool/spare/tool = new item_type(user.loc)
@@ -277,16 +277,16 @@
var/area/usrarea = get_area(user.loc)
var/usrturf = get_turf(user.loc)
if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != 1)
- user << "You can only use this on the station!"
+ to_chat(user, "You can only use this on the station!")
return FALSE
for(var/obj/obj in usrturf)
if(obj.density)
- user << "There's not enough room here!"
+ to_chat(user, "There's not enough room here!")
return FALSE
if(!(usrarea.type in gang.territory|gang.territory_new))
- user << "The dominator can be spawned only on territory controlled by your gang!"
+ to_chat(user, "The dominator can be spawned only on territory controlled by your gang!")
return FALSE
return ..()
diff --git a/code/game/gamemodes/gang/gang_pen.dm b/code/game/gamemodes/gang/gang_pen.dm
index 65209cc9662..fb7dbf52581 100644
--- a/code/game/gamemodes/gang/gang_pen.dm
+++ b/code/game/gamemodes/gang/gang_pen.dm
@@ -18,7 +18,7 @@
if(user.mind && (user.mind in ticker.mode.get_gang_bosses()))
if(..(M,user,1))
if(cooldown)
- user << "[src] needs more time to recharge before it can be used."
+ to_chat(user, "[src] needs more time to recharge before it can be used.")
return
if(M.client)
M.mind_initialize() //give them a mind datum if they don't have one.
@@ -29,9 +29,9 @@
M.Paralyse(5)
cooldown(G)
if(1)
- user << "This mind is resistant to recruitment!"
+ to_chat(user, "This mind is resistant to recruitment!")
else
- user << "This mind has already been recruited into a gang!"
+ to_chat(user, "This mind has already been recruited into a gang!")
return
..()
@@ -56,4 +56,4 @@
cooldown = 0
icon_state = "pen"
var/mob/M = get(src, /mob)
- M << "\icon[src] [src][(src.loc == M)?(""):(" in your [src.loc]")] vibrates softly. It is ready to be used again."
+ to_chat(M, "\icon[src] [src][(src.loc == M)?(""):(" in your [src.loc]")] vibrates softly. It is ready to be used again.")
diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm
index 5e99870658b..423380c8095 100644
--- a/code/game/gamemodes/gang/recaller.dm
+++ b/code/game/gamemodes/gang/recaller.dm
@@ -108,7 +108,7 @@
if(!message || !can_use(user))
return
if(user.z > 2)
- user << "\icon[src]Error: Station out of range."
+ to_chat(user, "\icon[src]Error: Station out of range.")
return
var/list/members = list()
members += gang.gangsters
@@ -129,10 +129,10 @@
var/ping = "[gang.name] [gang_rank]: [message]"
for(var/datum/mind/ganger in members)
if(ganger.current && (ganger.current.z <= 2) && (ganger.current.stat == CONSCIOUS))
- ganger.current << ping
+ to_chat(ganger.current, ping)
for(var/mob/M in dead_mob_list)
var/link = FOLLOW_LINK(M, user)
- M << "[link] [ping]"
+ to_chat(M, "[link] [ping]")
log_game("[key_name(user)] Messaged [gang.name] Gang: [message].")
@@ -152,53 +152,53 @@
log_game("[key_name(user)] has been promoted to Lieutenant in the [gang.name] Gang")
free_pen = 1
gang.message_gangtools("[user] has been promoted to Lieutenant.")
- user << "You have been promoted to Lieutenant!"
+ to_chat(user, "You have been promoted to Lieutenant!")
ticker.mode.forge_gang_objectives(user.mind)
ticker.mode.greet_gang(user.mind,0)
- user << "The Gangtool you registered will allow you to purchase weapons and equipment, and send messages to your gang."
- user << "Unlike regular gangsters, you may use recruitment pens to add recruits to your gang. Use them on unsuspecting crew members to recruit them. Don't forget to get your one free pen from the gangtool."
+ to_chat(user, "The Gangtool you registered will allow you to purchase weapons and equipment, and send messages to your gang.")
+ to_chat(user, "Unlike regular gangsters, you may use recruitment pens to add recruits to your gang. Use them on unsuspecting crew members to recruit them. Don't forget to get your one free pen from the gangtool.")
else
- usr << "ACCESS DENIED: Unauthorized user."
+ to_chat(usr, "ACCESS DENIED: Unauthorized user.")
/obj/item/device/gangtool/proc/recall(mob/user)
if(!can_use(user))
return 0
if(recalling)
- usr << "Error: Recall already in progress."
+ to_chat(usr, "Error: Recall already in progress.")
return 0
gang.message_gangtools("[usr] is attempting to recall the emergency shuttle.")
recalling = 1
- loc << "\icon[src]Generating shuttle recall order with codes retrieved from last call signal..."
+ to_chat(loc, "\icon[src]Generating shuttle recall order with codes retrieved from last call signal...")
sleep(rand(100,300))
if(SSshuttle.emergency.mode != SHUTTLE_CALL) //Shuttle can only be recalled when it's moving to the station
- user << "\icon[src]Emergency shuttle cannot be recalled at this time."
+ to_chat(user, "\icon[src]Emergency shuttle cannot be recalled at this time.")
recalling = 0
return 0
- loc << "\icon[src]Shuttle recall order generated. Accessing station long-range communication arrays..."
+ to_chat(loc, "\icon[src]Shuttle recall order generated. Accessing station long-range communication arrays...")
sleep(rand(100,300))
if(!gang.dom_attempts)
- user << "\icon[src]Error: Unable to access communication arrays. Firewall has logged our signature and is blocking all further attempts."
+ to_chat(user, "\icon[src]Error: Unable to access communication arrays. Firewall has logged our signature and is blocking all further attempts.")
recalling = 0
return 0
var/turf/userturf = get_turf(user)
if(userturf.z != 1) //Shuttle can only be recalled while on station
- user << "\icon[src]Error: Device out of range of station communication arrays."
+ to_chat(user, "\icon[src]Error: Device out of range of station communication arrays.")
recalling = 0
return 0
var/datum/station_state/end_state = new /datum/station_state()
end_state.count()
if((100 * start_state.score(end_state)) < 80) //Shuttle cannot be recalled if the station is too damaged
- user << "\icon[src]Error: Station communication systems compromised. Unable to establish connection."
+ to_chat(user, "\icon[src]Error: Station communication systems compromised. Unable to establish connection.")
recalling = 0
return 0
- loc << "\icon[src]Comm arrays accessed. Broadcasting recall signal..."
+ to_chat(loc, "\icon[src]Comm arrays accessed. Broadcasting recall signal...")
sleep(rand(100,300))
@@ -210,7 +210,7 @@
if(SSshuttle.cancelEvac(user))
return 1
- loc << "\icon[src]No response recieved. Emergency shuttle cannot be recalled at this time."
+ to_chat(loc, "\icon[src]No response recieved. Emergency shuttle cannot be recalled at this time.")
return 0
/obj/item/device/gangtool/proc/can_use(mob/living/carbon/human/user)
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index dd505013ece..a63901a80ea 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -31,10 +31,10 @@
var/turf/T = get_turf(src)
if(!istype(T) || T.z != ZLEVEL_STATION)
- src << "You cannot activate the doomsday device while off-station!"
+ to_chat(src, "You cannot activate the doomsday device while off-station!")
return
- src << "Doomsday device armed."
+ to_chat(src, "Doomsday device armed.")
priority_announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", 'sound/AI/aimalf.ogg')
set_security_level("delta")
nuking = 1
@@ -117,9 +117,9 @@
continue
if(issilicon(L))
continue
- L << "The blast wave from [src] tears you atom from atom!"
+ to_chat(L, "The blast wave from [src] tears you atom from atom!")
L.dust()
- world << "The AI cleansed the station of life with the doomsday device!"
+ to_chat(world, "The AI cleansed the station of life with the doomsday device!")
ticker.force_ending = 1
/datum/AI_Module/large/upgrade_turrets
@@ -144,7 +144,7 @@
turret.obj_integrity += 30
turret.lethal_projectile = /obj/item/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR.
turret.lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg'
- src << "Turrets upgraded."
+ to_chat(src, "Turrets upgraded.")
/datum/AI_Module/large/lockdown
module_name = "Hostile Station Lockdown"
@@ -174,7 +174,7 @@
verbs -= /mob/living/silicon/ai/proc/lockdown
minor_announce("Hostile runtime detected in door controllers. Isolation Lockdown protocols are now in effect. Please remain calm.","Network Alert:", 1)
- src << "Lockdown Initiated. Network reset in 90 seconds."
+ to_chat(src, "Lockdown Initiated. Network reset in 90 seconds.")
addtimer(CALLBACK(GLOBAL_PROC, .proc/minor_announce,
"Automatic system reboot complete. Have a secure day.",
"Network reset:"), 900)
@@ -201,7 +201,7 @@
var/obj/item/weapon/rcd/RCD = I
RCD.detonate_pulse()
- src << "RCD detonation pulse emitted."
+ to_chat(src, "RCD detonation pulse emitted.")
malf_cooldown = 1
spawn(100)
malf_cooldown = 0
@@ -223,7 +223,7 @@
if(stat)
return
can_dominate_mechs = 1 //Yep. This is all it does. Honk!
- src << "Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout."
+ to_chat(src, "Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout.")
verbs -= /mob/living/silicon/ai/proc/mech_takeover
/datum/AI_Module/large/break_fire_alarms
@@ -247,7 +247,7 @@
if(F.z != ZLEVEL_STATION)
continue
F.emagged = 1
- src << "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized."
+ to_chat(src, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.")
src.verbs -= /mob/living/silicon/ai/proc/break_fire_alarms
/datum/AI_Module/large/break_air_alarms
@@ -271,7 +271,7 @@
if(AA.z != ZLEVEL_STATION)
continue
AA.emagged = 1
- src << "All air alarm safeties on the station have been overriden. Air alarms may now use the Flood environmental mode."
+ to_chat(src, "All air alarm safeties on the station have been overriden. Air alarms may now use the Flood environmental mode.")
src.verbs -= /mob/living/silicon/ai/proc/break_air_alarms
/datum/AI_Module/small/overload_machine
@@ -295,13 +295,13 @@
if(overload.uses > 0)
overload.uses --
M.audible_message("You hear a loud electrical buzzing sound coming from [M]!")
- src << "Overloading machine circuitry..."
+ to_chat(src, "Overloading machine circuitry...")
spawn(50)
if(M)
explosion(get_turf(M), 0,2,3,0)
qdel(M)
- else src << "Out of uses."
- else src << "That's not a machine."
+ else to_chat(src, "Out of uses.")
+ else to_chat(src, "That's not a machine.")
/datum/AI_Module/small/override_machine
module_name = "Machine Override"
@@ -322,17 +322,17 @@
if (istype(M, /obj/machinery))
if(!M.can_be_overridden())
- src << "Can't override this device."
+ to_chat(src, "Can't override this device.")
for(var/datum/AI_Module/small/override_machine/override in current_modules)
if(override.uses > 0)
override.uses --
M.audible_message("You hear a loud electrical buzzing sound!")
- src << "Reprogramming machine behaviour..."
+ to_chat(src, "Reprogramming machine behaviour...")
spawn(50)
if(M && !QDELETED(M))
new /mob/living/simple_animal/hostile/mimic/copy/machine(get_turf(M), M, src, 1)
- else src << "Out of uses."
- else src << "That's not a machine."
+ else to_chat(src, "Out of uses.")
+ else to_chat(src, "That's not a machine.")
/datum/AI_Module/large/place_cyborg_transformer
module_name = "Robotic Factory (Removes Shunting)"
@@ -363,7 +363,7 @@
var/datum/AI_Module/large/place_cyborg_transformer/PCT = locate() in current_modules
PCT.uses --
can_shunt = 0
- src << "You cannot shunt anymore."
+ to_chat(src, "You cannot shunt anymore.")
/mob/living/silicon/ai/proc/canPlaceTransformer()
if(!eyeobj || !isturf(src.loc) || !canUseTopic())
@@ -427,8 +427,8 @@
if(prob(30*apc.overload))
apc.overload_lighting()
else apc.overload++
- src << "Overcurrent applied to the powernet."
- else src << "Out of uses."
+ to_chat(src, "Overcurrent applied to the powernet.")
+ else to_chat(src, "Out of uses.")
/datum/AI_Module/small/reactivate_cameras
module_name = "Reactivate Camera Network"
@@ -462,10 +462,10 @@
fixedcams++
//If a camera is both deactivated and has bad focus, it will cost two uses to fully fix!
else
- src << "Out of uses."
+ to_chat(src, "Out of uses.")
verbs -= /mob/living/silicon/ai/proc/reactivate_cameras //It is useless now, clean it up.
break
- src << "Diagnostic complete! Operations completed: [fixedcams]."
+ to_chat(src, "Diagnostic complete! Operations completed: [fixedcams].")
malf_cooldown = 1
spawn(30) //Lag protection
@@ -509,7 +509,7 @@
if(upgraded)
upgradedcams++
- src << "OTA firmware distribution complete! Cameras upgraded: [upgradedcams]. Light amplification system online."
+ to_chat(src, "OTA firmware distribution complete! Cameras upgraded: [upgradedcams]. Light amplification system online.")
verbs -= /mob/living/silicon/ai/proc/upgrade_cameras
/datum/module_picker
@@ -604,5 +604,5 @@
if(eyeobj)
eyeobj.relay_speech = TRUE
- src << "OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online."
+ to_chat(src, "OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online.")
verbs -= /mob/living/silicon/ai/proc/surveillance
diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm
index aeebd495b72..57541f8ece3 100644
--- a/code/game/gamemodes/meteor/meteor.dm
+++ b/code/game/gamemodes/meteor/meteor.dm
@@ -46,9 +46,9 @@
if(survivors)
- world << "The following survived the meteor storm:[text]"
+ to_chat(world, "The following survived the meteor storm:[text]")
else
- world << "Nobody survived the meteor storm!"
+ to_chat(world, "Nobody survived the meteor storm!")
feedback_set_details("round_end_result","end - evacuation")
feedback_set("round_end_result",survivors)
diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm
index 00702bff596..c1b0998a592 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction.dm
@@ -19,10 +19,10 @@
var/finished = 0
/datum/game_mode/abduction/announce()
- world << "The current game mode is - Abduction!"
- world << "There are alien abductors sent to [station_name()] to perform nefarious experiments!"
- world << "Abductors - kidnap the crew and replace their organs with experimental ones."
- world << "Crew - don't get abducted and stop the abductors."
+ to_chat(world, "The current game mode is - Abduction!")
+ to_chat(world, "There are alien abductors sent to [station_name()] to perform nefarious experiments!")
+ to_chat(world, "Abductors - kidnap the crew and replace their organs with experimental ones.")
+ to_chat(world, "Crew - don't get abducted and stop the abductors.")
/datum/game_mode/abduction/pre_setup()
abductor_teams = max(1, min(max_teams,round(num_players()/config.abductor_scaling_coeff)))
@@ -184,9 +184,9 @@
abductor.objectives += team_objectives[team_number]
var/team_name = team_names[team_number]
- abductor.current << "You are an agent of [team_name]!"
- abductor.current << "With the help of your teammate, kidnap and experiment on station crew members!"
- abductor.current << "Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve."
+ to_chat(abductor.current, "You are an agent of [team_name]!")
+ to_chat(abductor.current, "With the help of your teammate, kidnap and experiment on station crew members!")
+ to_chat(abductor.current, "Use your stealth technology and equipment to incapacitate humans for your scientist to retrieve.")
abductor.announce_objectives()
@@ -194,9 +194,9 @@
abductor.objectives += team_objectives[team_number]
var/team_name = team_names[team_number]
- abductor.current << "You are a scientist of [team_name]!"
- abductor.current << "With the help of your teammate, kidnap and experiment on station crew members!"
- abductor.current << "Use your tool and ship consoles to support the agent and retrieve human specimens."
+ to_chat(abductor.current, "You are a scientist of [team_name]!")
+ to_chat(abductor.current, "With the help of your teammate, kidnap and experiment on station crew members!")
+ to_chat(abductor.current, "Use your tool and ship consoles to support the agent and retrieve human specimens.")
abductor.announce_objectives()
@@ -269,9 +269,9 @@
var/datum/objective/objective = team_objectives[team_number]
var/team_name = team_names[team_number]
if(console.experiment.points >= objective.target_amount)
- world << "[team_name] team fulfilled its mission!"
+ to_chat(world, "[team_name] team fulfilled its mission!")
else
- world << "[team_name] team failed its mission."
+ to_chat(world, "[team_name] team failed its mission.")
..()
return 1
@@ -289,7 +289,7 @@
text += printplayer(abductee_mind)
text += printobjectives(abductee_mind)
text += "
"
- world << text
+ to_chat(world, text)
//Landmarks
// TODO: Split into seperate landmarks for prettier ships
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index e45c459448c..e581de7ca0c 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -91,7 +91,7 @@
/obj/item/clothing/suit/armor/abductor/vest/proc/Adrenaline()
if(ishuman(loc))
if(combat_cooldown != initial(combat_cooldown))
- loc << "Combat injection is still recharging."
+ to_chat(loc, "Combat injection is still recharging.")
return
var/mob/living/carbon/human/M = loc
M.adjustStaminaLoss(-75)
@@ -109,7 +109,7 @@
/obj/item/device/abductor/proc/AbductorCheck(user)
if(isabductor(user))
return TRUE
- user << "You can't figure how this works!"
+ to_chat(user, "You can't figure how this works!")
return FALSE
/obj/item/device/abductor/proc/ScientistCheck(user)
@@ -132,7 +132,7 @@
if(!AbductorCheck(user))
return
if(!ScientistCheck(user))
- user << "You're not trained to use this!"
+ to_chat(user, "You're not trained to use this!")
return
if(mode == GIZMO_SCAN)
mode = GIZMO_MARK
@@ -140,13 +140,13 @@
else
mode = GIZMO_SCAN
icon_state = "gizmo_scan"
- user << "You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE"
+ to_chat(user, "You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE")
/obj/item/device/abductor/gizmo/attack(mob/living/M, mob/user)
if(!AbductorCheck(user))
return
if(!ScientistCheck(user))
- user << "You're not trained to use this"
+ to_chat(user, "You're not trained to use this")
return
switch(mode)
if(GIZMO_SCAN)
@@ -161,7 +161,7 @@
if(!AbductorCheck(user))
return
if(!ScientistCheck(user))
- user << "You're not trained to use this"
+ to_chat(user, "You're not trained to use this")
return
switch(mode)
if(GIZMO_SCAN)
@@ -173,16 +173,16 @@
if(ishuman(target))
if(console!=null)
console.AddSnapshot(target)
- user << "You scan [target] and add them to the database."
+ to_chat(user, "You scan [target] and add them to the database.")
/obj/item/device/abductor/gizmo/proc/mark(atom/target, mob/living/user)
if(marked == target)
- user << "This specimen is already marked!"
+ to_chat(user, "This specimen is already marked!")
return
if(ishuman(target))
if(isabductor(target))
marked = target
- user << "You mark [target] for future retrieval."
+ to_chat(user, "You mark [target] for future retrieval.")
else
prepare(target,user)
else
@@ -190,12 +190,12 @@
/obj/item/device/abductor/gizmo/proc/prepare(atom/target, mob/living/user)
if(get_dist(target,user)>1)
- user << "You need to be next to the specimen to prepare it for transport!"
+ to_chat(user, "You need to be next to the specimen to prepare it for transport!")
return
- user << "You begin preparing [target] for transport..."
+ to_chat(user, "You begin preparing [target] for transport...")
if(do_after(user, 100, target = target))
marked = target
- user << "You finish preparing [target] for transport."
+ to_chat(user, "You finish preparing [target] for transport.")
/obj/item/device/abductor/silencer
@@ -228,7 +228,7 @@
for(M in view(2,targloc))
if(M == user)
continue
- user << "You silence [M]'s radio devices."
+ to_chat(user, "You silence [M]'s radio devices.")
radio_off_mob(M)
/obj/item/device/abductor/silencer/proc/radio_off_mob(mob/living/carbon/human/M)
@@ -322,7 +322,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(BATON_PROBE)
txt = "probing"
- usr << "You switch the baton to [txt] mode."
+ to_chat(usr, "You switch the baton to [txt] mode.")
update_icon()
/obj/item/weapon/abductor_baton/update_icon()
@@ -401,7 +401,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
add_logs(user, L, "put to sleep")
else
L.drowsyness += 1
- user << "Sleep inducement works fully only on stunned specimens! "
+ to_chat(user, "Sleep inducement works fully only on stunned specimens! ")
L.visible_message("[user] tried to induce sleep in [L] with [src]!", \
"You suddenly feel drowsy!")
@@ -418,12 +418,12 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(!C.handcuffed)
C.handcuffed = new /obj/item/weapon/restraints/handcuffs/energy/used(C)
C.update_handcuffed()
- user << "You handcuff [C]."
+ to_chat(user, "You handcuff [C].")
add_logs(user, C, "handcuffed")
else
- user << "You fail to handcuff [C]."
+ to_chat(user, "You fail to handcuff [C].")
else
- user << "[C] doesn't have two hands..."
+ to_chat(user, "[C] doesn't have two hands...")
/obj/item/weapon/abductor_baton/proc/ProbeAttack(mob/living/L,mob/living/user)
L.visible_message("[user] probes [L] with [src]!", \
@@ -443,8 +443,8 @@ Congratulations! You are now trained for invasive xenobiology research!"}
else
helptext = "Subject suitable for experiments."
- user << "Probing result:[species]"
- user << "[helptext]"
+ to_chat(user, "Probing result:[species]")
+ to_chat(user, "[helptext]")
/obj/item/weapon/restraints/handcuffs/energy
name = "hard-light energy field"
@@ -476,7 +476,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(BATON_CUFF)
user <<"The baton is in restraining mode."
if(BATON_PROBE)
- user << "The baton is in probing mode."
+ to_chat(user, "The baton is in probing mode.")
/obj/item/weapon/scalpel/alien
@@ -550,7 +550,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
/obj/structure/table_frame/abductor/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
- user << "You start disassembling [src]..."
+ to_chat(user, "You start disassembling [src]...")
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -561,9 +561,9 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(istype(I, /obj/item/stack/sheet/mineral/abductor))
var/obj/item/stack/sheet/P = I
if(P.get_amount() < 1)
- user << "You need one alien alloy sheet to do this!"
+ to_chat(user, "You need one alien alloy sheet to do this!")
return
- user << "You start adding [P] to [src]..."
+ to_chat(user, "You start adding [P] to [src]...")
if(do_after(user, 50, target = src))
P.use(1)
new /obj/structure/table/abductor(src.loc)
@@ -572,10 +572,9 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(istype(I, /obj/item/stack/sheet/mineral/silver))
var/obj/item/stack/sheet/P = I
if(P.get_amount() < 1)
- user << "You need one sheet of silver to do \
- this!"
+ to_chat(user, "You need one sheet of silver to do this!")
return
- user << "You start adding [P] to [src]..."
+ to_chat(user, "You start adding [P] to [src]...")
if(do_after(user, 50, target = src))
P.use(1)
new /obj/structure/table/optable/abductor(src.loc)
@@ -612,7 +611,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
. = ..()
if(iscarbon(AM))
START_PROCESSING(SSobj, src)
- AM << "You feel a series of tiny pricks!"
+ to_chat(AM, "You feel a series of tiny pricks!")
/obj/structure/table/optable/abductor/process()
. = PROCESS_KILL
@@ -654,7 +653,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(do_after(user, 40*W.toolspeed, target = src))
if( !WT.isOn() )
return
- user << "You disassemble the airlock assembly."
+ to_chat(user, "You disassemble the airlock assembly.")
new /obj/item/stack/sheet/mineral/abductor(get_turf(src), 4)
qdel(src)
else
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
index e888e2884c5..4ca4e47a5b5 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
@@ -36,7 +36,7 @@
IC.Remove(target)
return 1
else
- user << "You don't find anything in [target]'s [target_zone]!"
+ to_chat(user, "You don't find anything in [target]'s [target_zone]!")
return 1
/datum/surgery_step/gland_insert
diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm
index 925f071f465..0a5b471f1c3 100644
--- a/code/game/gamemodes/miniantags/abduction/gland.dm
+++ b/code/game/gamemodes/miniantags/abduction/gland.dm
@@ -62,7 +62,7 @@
icon_state = "health"
/obj/item/organ/heart/gland/heals/activate()
- owner << "You feel curiously revitalized."
+ to_chat(owner, "You feel curiously revitalized.")
owner.adjustBruteLoss(-20)
owner.adjustOxyLoss(-20)
owner.adjustFireLoss(-20)
@@ -74,7 +74,7 @@
icon_state = "slime"
/obj/item/organ/heart/gland/slime/activate()
- owner << "You feel nauseous!"
+ to_chat(owner, "You feel nauseous!")
owner.vomit(20)
var/mob/living/simple_animal/slime/Slime
@@ -90,13 +90,13 @@
icon_state = "mindshock"
/obj/item/organ/heart/gland/mindshock/activate()
- owner << "You get a headache."
+ to_chat(owner, "You get a headache.")
var/turf/T = get_turf(owner)
for(var/mob/living/carbon/H in orange(4,T))
if(H == owner)
continue
- H << "You hear a buzz in your head."
+ to_chat(H, "You hear a buzz in your head.")
H.confused += 20
/obj/item/organ/heart/gland/pop
@@ -107,7 +107,7 @@
icon_state = "species"
/obj/item/organ/heart/gland/pop/activate()
- owner << "You feel unlike yourself."
+ to_chat(owner, "You feel unlike yourself.")
var/species = pick(list(/datum/species/lizard,/datum/species/jelly/slime,/datum/species/pod,/datum/species/fly,/datum/species/jelly))
owner.set_species(species)
@@ -119,7 +119,7 @@
icon_state = "vent"
/obj/item/organ/heart/gland/ventcrawling/activate()
- owner << "You feel very stretchy."
+ to_chat(owner, "You feel very stretchy.")
owner.ventcrawler = VENTCRAWLER_ALWAYS
@@ -130,7 +130,7 @@
icon_state = "viral"
/obj/item/organ/heart/gland/viral/activate()
- owner << "You feel sick."
+ to_chat(owner, "You feel sick.")
var/virus_type = pick(/datum/disease/beesease, /datum/disease/brainrot, /datum/disease/magnitis)
var/datum/disease/D = new virus_type()
D.carrier = 1
@@ -148,7 +148,7 @@
icon_state = "emp"
/obj/item/organ/heart/gland/emp/activate()
- owner << "You feel a spike of pain in your head."
+ to_chat(owner, "You feel a spike of pain in your head.")
empulse(get_turf(owner), 2, 5, 1)
/obj/item/organ/heart/gland/spiderman
@@ -158,7 +158,7 @@
icon_state = "spider"
/obj/item/organ/heart/gland/spiderman/activate()
- owner << "You feel something crawling in your skin."
+ to_chat(owner, "You feel something crawling in your skin.")
owner.faction |= "spiders"
new /obj/structure/spider/spiderling(owner.loc)
@@ -169,7 +169,7 @@
icon_state = "egg"
/obj/item/organ/heart/gland/egg/activate()
- owner << "You lay an egg!"
+ to_chat(owner, "You lay an egg!")
var/obj/item/weapon/reagent_containers/food/snacks/egg/egg = new(owner.loc)
egg.reagents.add_reagent("sacid",20)
egg.desc += " It smells bad."
@@ -197,7 +197,7 @@
uses = 1
/obj/item/organ/heart/gland/bodysnatch/activate()
- owner << "You feel something moving around inside you..."
+ to_chat(owner, "You feel something moving around inside you...")
//spawn cocoon with clone greytide snpc inside
if(ishuman(owner))
var/obj/structure/spider/cocoon/abductor/C = new (get_turf(owner))
@@ -239,10 +239,10 @@
uses = -1
/obj/item/organ/heart/gland/plasma/activate()
- owner << "You feel bloated."
+ to_chat(owner, "You feel bloated.")
sleep(150)
if(!owner) return
- owner << "A massive stomachache overcomes you."
+ to_chat(owner, "A massive stomachache overcomes you.")
sleep(50)
if(!owner) return
owner.visible_message("[owner] vomits a cloud of plasma!")
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
index 60a29c63aaa..c0607ea4eab 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
@@ -36,7 +36,7 @@
if(..())
return
if(!isabductor(user))
- user << "You start mashing alien buttons at random!"
+ to_chat(user, "You start mashing alien buttons at random!")
if(do_after(user,100, target = src))
TeleporterSend()
return
@@ -146,12 +146,12 @@
/obj/machinery/abductor/console/proc/SetDroppoint(turf/open/location,user)
if(!istype(location))
- user << "That place is not safe for the specimen."
+ to_chat(user, "That place is not safe for the specimen.")
return
if(pad)
pad.teleport_target = location
- user << "Location marked as test subject release point."
+ to_chat(user, "Location marked as test subject release point.")
/obj/machinery/abductor/console/Initialize(mapload)
@@ -193,12 +193,12 @@
/obj/machinery/abductor/console/attackby(obj/O, mob/user, params)
if(istype(O, /obj/item/device/abductor/gizmo))
var/obj/item/device/abductor/gizmo/G = O
- user << "You link the tool to the console."
+ to_chat(user, "You link the tool to the console.")
gizmo = G
G.console = src
else if(istype(O, /obj/item/clothing/suit/armor/abductor/vest))
var/obj/item/clothing/suit/armor/abductor/vest/V = O
- user << "You link the vest to the console."
+ to_chat(user, "You link the vest to the console.")
if(istype(vest))
if(vest.flags & NODROP)
toggle_vest()
@@ -222,5 +222,4 @@
vest.flags ^= NODROP
var/mob/M = vest.loc
if(istype(M))
- M << "[src] is now \
- [vest.flags & NODROP ? "locked" : "unlocked"]."
+ to_chat(M, "[src] is now [vest.flags & NODROP ? "locked" : "unlocked"].")
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
index c82a72631ec..e4392b507d4 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
@@ -46,7 +46,7 @@
var/breakout_time = 600
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You lean on the back of [src] and start pushing the door open... (this will take about a minute.)"
+ to_chat(user, "You lean on the back of [src] and start pushing the door open... (this will take about a minute.)")
user.visible_message("You hear a metallic creaking from [src]!")
if(do_after(user,(breakout_time), target = src))
@@ -54,7 +54,7 @@
return
visible_message("[user] successfully broke out of [src]!")
- user << "You successfully break out of [src]!"
+ to_chat(user, "You successfully break out of [src]!")
open_machine()
@@ -171,13 +171,13 @@
sleep(5)
switch(text2num(type))
if(1)
- H << "You feel violated."
+ to_chat(H, "You feel violated.")
if(2)
- H << "You feel yourself being sliced apart and put back together."
+ to_chat(H, "You feel yourself being sliced apart and put back together.")
if(3)
- H << "You feel intensely watched."
+ to_chat(H, "You feel intensely watched.")
sleep(5)
- H << "Your mind snaps!"
+ to_chat(H, "Your mind snaps!")
var/objtype = pick(subtypesof(/datum/objective/abductee/))
var/datum/objective/abductee/O = new objtype()
ticker.mode.abductees += H.mind
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
index 54ada6e3251..57301ee3196 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
@@ -17,7 +17,7 @@
for(var/mob/living/target in loc)
target.forceMove(teleport_target)
new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir)
- target << "The instability of the warp leaves you disoriented!"
+ to_chat(target, "The instability of the warp leaves you disoriented!")
target.Stun(3)
/obj/machinery/abductor/pad/proc/Retrieve(mob/living/target)
diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm
index 94fec48e03c..cc44e537897 100644
--- a/code/game/gamemodes/miniantags/borer/borer.dm
+++ b/code/game/gamemodes/miniantags/borer/borer.dm
@@ -6,7 +6,7 @@
if(client)
if(client.prefs.muted & MUTE_IC)
- src << "You cannot speak in IC (muted)."
+ to_chat(src, "You cannot speak in IC (muted).")
return
if(client.handle_spam_prevention(message,MUTE_IC))
return
@@ -21,14 +21,14 @@
return say_dead(message)
var/mob/living/simple_animal/borer/B = loc
- src << "You whisper silently, \"[message]\""
- B.victim << "The captive mind of [src] whispers, \"[message]\""
+ to_chat(src, "You whisper silently, \"[message]\"")
+ to_chat(B.victim, "The captive mind of [src] whispers, \"[message]\"")
for (var/mob/M in player_list)
if(isnewplayer(M))
continue
else if(M.stat == 2 && M.client.prefs.toggles & CHAT_GHOSTEARS)
- M << "Thought-speech, [src] -> [B.truename]: [message]"
+ to_chat(M, "Thought-speech, [src] -> [B.truename]: [message]")
/mob/living/captive_brain/emote(var/message)
return
@@ -37,8 +37,8 @@
var/mob/living/simple_animal/borer/B = loc
- src << "You begin doggedly resisting the parasite's control (this will take approximately 40 seconds)."
- B.victim << "You feel the captive mind of [src] begin to resist your control."
+ to_chat(src, "You begin doggedly resisting the parasite's control (this will take approximately 40 seconds).")
+ to_chat(B.victim, "You feel the captive mind of [src] begin to resist your control.")
var/delay = rand(150,250) + B.victim.brainloss
addtimer(CALLBACK(src, .proc/return_control, src.loc), delay)
@@ -48,8 +48,8 @@
return
B.victim.adjustBrainLoss(rand(5,10))
- src << "With an immense exertion of will, you regain control of your body!"
- B.victim << "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you."
+ to_chat(src, "With an immense exertion of will, you regain control of your body!")
+ to_chat(B.victim, "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you.")
B.detatch()
var/list/mob/living/simple_animal/borer/borers = list()
@@ -167,11 +167,11 @@ var/total_borer_hosts_needed = 10
set desc = "Send a silent message to your host."
if(!victim)
- src << "You do not have a host to communicate with!"
+ to_chat(src, "You do not have a host to communicate with!")
return
if(stat)
- src << "You cannot do that in your current state."
+ to_chat(src, "You cannot do that in your current state.")
return
var/input = stripped_input(src, "Please enter a message to tell your host.", "Borer", null)
@@ -181,14 +181,14 @@ var/total_borer_hosts_needed = 10
if(src && !QDELETED(src) && !QDELETED(victim))
var/say_string = (docile) ? "slurs" :"states"
if(victim)
- victim << "[truename] [say_string]: [input]"
+ to_chat(victim, "[truename] [say_string]: [input]")
log_say("Borer Communication: [key_name(src)] -> [key_name(victim)] : [input]")
for(var/M in dead_mob_list)
if(isobserver(M))
var/rendered = "Borer Communication from [truename] : [input]"
var/link = FOLLOW_LINK(M, src)
- M << "[link] [rendered]"
- src << "[truename] [say_string]: [input]"
+ to_chat(M, "[link] [rendered]")
+ to_chat(src, "[truename] [say_string]: [input]")
victim.verbs += /mob/living/proc/borer_comm
talk_to_borer_action.Grant(victim)
@@ -206,15 +206,15 @@ var/total_borer_hosts_needed = 10
if(!input)
return
- B << "[src] says: [input]"
+ to_chat(B, "[src] says: [input]")
log_say("Borer Communication: [key_name(src)] -> [key_name(B)] : [input]")
for(var/M in dead_mob_list)
if(isobserver(M))
var/rendered = "Borer Communication from [src] : [input]"
var/link = FOLLOW_LINK(M, src)
- M << "[link] [rendered]"
- src << "[src] says: [input]"
+ to_chat(M, "[link] [rendered]")
+ to_chat(src, "[src] says: [input]")
/mob/living/proc/trapped_mind_comm()
set name = "Converse with Trapped Mind"
@@ -230,15 +230,15 @@ var/total_borer_hosts_needed = 10
if(!input)
return
- CB << "[B.truename] says: [input]"
+ to_chat(CB, "[B.truename] says: [input]")
log_say("Borer Communication: [key_name(B)] -> [key_name(CB)] : [input]")
for(var/M in dead_mob_list)
if(isobserver(M))
var/rendered = "Borer Communication from [B] : [input]"
var/link = FOLLOW_LINK(M, src)
- M << "[link] [rendered]"
- src << "[B.truename] says: [input]"
+ to_chat(M, "[link] [rendered]")
+ to_chat(src, "[B.truename] says: [input]")
/mob/living/simple_animal/borer/Life()
@@ -258,9 +258,9 @@ var/total_borer_hosts_needed = 10
if(victim.reagents.has_reagent("sugar"))
if(!docile || waketimerid)
if(controlling)
- victim << "You feel the soporific flow of sugar in your host's blood, lulling you into docility."
+ to_chat(victim, "You feel the soporific flow of sugar in your host's blood, lulling you into docility.")
else
- src << "You feel the soporific flow of sugar in your host's blood, lulling you into docility."
+ to_chat(src, "You feel the soporific flow of sugar in your host's blood, lulling you into docility.")
if(waketimerid)
deltimer(waketimerid)
waketimerid = null
@@ -268,15 +268,15 @@ var/total_borer_hosts_needed = 10
else
if(docile && !waketimerid)
if(controlling)
- victim << "You start shaking off your lethargy as the sugar leaves your host's blood. This will take about 10 seconds..."
+ to_chat(victim, "You start shaking off your lethargy as the sugar leaves your host's blood. This will take about 10 seconds...")
else
- src << "You start shaking off your lethargy as the sugar leaves your host's blood. This will take about 10 seconds..."
+ to_chat(src, "You start shaking off your lethargy as the sugar leaves your host's blood. This will take about 10 seconds...")
waketimerid = addtimer(CALLBACK(src, "wakeup"), 10, TIMER_STOPPABLE)
if(controlling)
if(docile)
- victim << "You are feeling far too docile to continue controlling your host..."
+ to_chat(victim, "You are feeling far too docile to continue controlling your host...")
victim.release_control()
return
@@ -288,9 +288,9 @@ var/total_borer_hosts_needed = 10
/mob/living/simple_animal/borer/proc/wakeup()
if(controlling)
- victim << "You finish shaking off your lethargy."
+ to_chat(victim, "You finish shaking off your lethargy.")
else
- src << "You finish shaking off your lethargy."
+ to_chat(src, "You finish shaking off your lethargy.")
docile = FALSE
if(waketimerid)
waketimerid = null
@@ -299,12 +299,12 @@ var/total_borer_hosts_needed = 10
if(dd_hasprefix(message, ";"))
message = copytext(message,2)
for(var/borer in borers)
- borer << "Cortical Link: [truename] sings, \"[message]\""
+ to_chat(borer, "Cortical Link: [truename] sings, \"[message]\"")
for(var/mob/dead in dead_mob_list)
- dead << "Cortical Link: [truename] sings, \"[message]\""
+ to_chat(dead, "Cortical Link: [truename] sings, \"[message]\"")
return
if(!victim)
- src << "You cannot speak without a host!"
+ to_chat(src, "You cannot speak without a host!")
return
if(message == "")
return
@@ -326,7 +326,7 @@ var/total_borer_hosts_needed = 10
set desc = "Infest a suitable humanoid host."
if(victim)
- src << "You are already within a host."
+ to_chat(src, "You are already within a host.")
if(stat == DEAD)
return
@@ -344,16 +344,16 @@ var/total_borer_hosts_needed = 10
return FALSE
if(stat != CONSCIOUS)
- src << "You cannot do that in your current state."
+ to_chat(src, "You cannot do that in your current state.")
return FALSE
if(H.has_brain_worms())
- src << "[victim] is already infested!"
+ to_chat(src, "[victim] is already infested!")
return
- src << "You slither up [H] and begin probing at their ear canal..."
+ to_chat(src, "You slither up [H] and begin probing at their ear canal...")
if(!do_mob(src, H, 30))
- src << "As [H] moves away, you are dislodged and fall to the ground."
+ to_chat(src, "As [H] moves away, you are dislodged and fall to the ground.")
return
if(!H || !src)
@@ -367,15 +367,15 @@ var/total_borer_hosts_needed = 10
return
if(C.has_brain_worms())
- src << "[C] is already infested!"
+ to_chat(src, "[C] is already infested!")
return
if(!C.key || !C.mind)
- src << "[C]'s mind seems unresponsive. Try someone else!"
+ to_chat(src, "[C]'s mind seems unresponsive. Try someone else!")
return
if(C && C.dna && istype(C.dna.species, /datum/species/skeleton))
- src << "[C] does not possess the vital systems needed to support us."
+ to_chat(src, "[C] does not possess the vital systems needed to support us.")
return
victim = C
@@ -392,14 +392,14 @@ var/total_borer_hosts_needed = 10
set desc = "Push some chemicals into your host's bloodstream."
if(!victim)
- src << "You are not inside a host body."
+ to_chat(src, "You are not inside a host body.")
return
if(stat != CONSCIOUS)
- src << "You cannot secrete chemicals in your current state."
+ to_chat(src, "You cannot secrete chemicals in your current state.")
if(docile)
- src << "You are feeling far too docile to do that."
+ to_chat(src, "You are feeling far too docile to do that.")
return
var content = ""
@@ -427,7 +427,7 @@ var/total_borer_hosts_needed = 10
set desc = "Become invisible to the common eye."
if(victim)
- src << "You cannot do this while you're inside a host."
+ to_chat(src, "You cannot do this while you're inside a host.")
if(stat != CONSCIOUS)
return
@@ -449,15 +449,15 @@ var/total_borer_hosts_needed = 10
set desc = "Freeze the limbs of a potential host with supernatural fear."
if(world.time - used_dominate < 150)
- src << "You cannot use that ability again so soon."
+ to_chat(src, "You cannot use that ability again so soon.")
return
if(victim)
- src << "You cannot do that from within a host body."
+ to_chat(src, "You cannot do that from within a host body.")
return
if(stat != CONSCIOUS)
- src << "You cannot do that in your current state."
+ to_chat(src, "You cannot do that in your current state.")
return
var/list/choices = list()
@@ -474,13 +474,13 @@ var/total_borer_hosts_needed = 10
return
if(M.has_brain_worms())
- src << "You cannot paralyze someone who is already infested!"
+ to_chat(src, "You cannot paralyze someone who is already infested!")
return
layer = MOB_LAYER
- src << "You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread."
- M << "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing."
+ to_chat(src, "You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.")
+ to_chat(M, "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing.")
M.Stun(3)
used_dominate = world.time
@@ -491,21 +491,21 @@ var/total_borer_hosts_needed = 10
set desc = "Slither out of your host."
if(!victim)
- src << "You are not inside a host body."
+ to_chat(src, "You are not inside a host body.")
return
if(stat != CONSCIOUS)
- src << "You cannot leave your host in your current state."
+ to_chat(src, "You cannot leave your host in your current state.")
if(leaving)
leaving = FALSE
- src << "You decide against leaving your host."
+ to_chat(src, "You decide against leaving your host.")
return
- src << "You begin disconnecting from [victim]'s synapses and prodding at their internal ear canal."
+ to_chat(src, "You begin disconnecting from [victim]'s synapses and prodding at their internal ear canal.")
if(victim.stat != DEAD)
- victim << "An odd, uncomfortable pressure begins to build inside your skull, behind your ear..."
+ to_chat(victim, "An odd, uncomfortable pressure begins to build inside your skull, behind your ear...")
leaving = TRUE
@@ -520,13 +520,13 @@ var/total_borer_hosts_needed = 10
return
if(stat != CONSCIOUS)
- src << "You cannot release your host in your current state."
+ to_chat(src, "You cannot release your host in your current state.")
return
- src << "You wiggle out of [victim]'s ear and plop to the ground."
+ to_chat(src, "You wiggle out of [victim]'s ear and plop to the ground.")
if(victim.mind)
- victim << "Something slimy wiggles out of your ear and plops to the ground!"
- victim << "As though waking from a dream, you shake off the insidious mind control of the brain worm. Your thoughts are your own again."
+ to_chat(victim, "Something slimy wiggles out of your ear and plops to the ground!")
+ to_chat(victim, "As though waking from a dream, you shake off the insidious mind control of the brain worm. Your thoughts are your own again.")
leaving = FALSE
@@ -562,19 +562,19 @@ var/total_borer_hosts_needed = 10
set desc = "Bring your host back to life."
if(!victim)
- src << "You need a host to be able to use this."
+ to_chat(src, "You need a host to be able to use this.")
return
if(docile)
- src << "You are feeling too docile to use this!"
+ to_chat(src, "You are feeling too docile to use this!")
return
if(victim.stat != DEAD)
- src << "Your host is already alive!"
+ to_chat(src, "Your host is already alive!")
return
if(chemicals < 250)
- src << "You need 250 chemicals to use this!"
+ to_chat(src, "You need 250 chemicals to use this!")
return
if(victim.stat == DEAD)
@@ -595,7 +595,7 @@ var/total_borer_hosts_needed = 10
victim.revive()
log_game("[src]/([src.ckey]) has revived [victim]/([victim.ckey]")
chemicals -= 250
- src << "You send a jolt of energy to your host, reviving them!"
+ to_chat(src, "You send a jolt of energy to your host, reviving them!")
victim.grab_ghost(force = TRUE) //brings the host back, no eggscape
victim <<"You bolt upright, gasping for breath!"
@@ -605,27 +605,27 @@ var/total_borer_hosts_needed = 10
set desc = "Fully connect to the brain of your host."
if(!victim)
- src << "You are not inside a host body."
+ to_chat(src, "You are not inside a host body.")
return
if(stat != CONSCIOUS)
- src << "You cannot do that in your current state."
+ to_chat(src, "You cannot do that in your current state.")
return
if(docile)
- src << "You are feeling far too docile to do that."
+ to_chat(src, "You are feeling far too docile to do that.")
return
if(victim.stat == DEAD)
- src << "This host lacks enough brain function to control."
+ to_chat(src, "This host lacks enough brain function to control.")
return
if(bonding)
bonding = FALSE
- src << "You stop attempting to take control of your host."
+ to_chat(src, "You stop attempting to take control of your host.")
return
- src << "You begin delicately adjusting your connection to the host brain..."
+ to_chat(src, "You begin delicately adjusting your connection to the host brain...")
if(QDELETED(src) || QDELETED(victim))
return
@@ -644,14 +644,14 @@ var/total_borer_hosts_needed = 10
src <<"You are feeling far too docile to do that."
return
if(is_servant_of_ratvar(victim) || iscultist(victim) || victim.isloyal())
- src << "[victim]'s mind seems to be blocked by some unknown force!"
+ to_chat(src, "[victim]'s mind seems to be blocked by some unknown force!")
return
else
log_game("[src]/([src.ckey]) assumed control of [victim]/([victim.ckey] with borer powers.")
- src << "You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system."
- victim << "You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours."
+ to_chat(src, "You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.")
+ to_chat(victim, "You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours.")
// host -> brain
var/h2b_id = victim.computer_id
@@ -675,7 +675,7 @@ var/total_borer_hosts_needed = 10
if(!host_brain.lastKnownIP)
host_brain.lastKnownIP = h2b_ip
- host_brain << "You are trapped in your own mind. You feel that there must be a way to resist!"
+ to_chat(host_brain, "You are trapped in your own mind. You feel that there must be a way to resist!")
// self -> host
var/s2h_id = src.computer_id
@@ -710,19 +710,19 @@ var/total_borer_hosts_needed = 10
set desc = "Punish your victim."
if(!victim)
- src << "You are not inside a host body."
+ to_chat(src, "You are not inside a host body.")
return
if(stat != CONSCIOUS)
- src << "You cannot do that in your current state."
+ to_chat(src, "You cannot do that in your current state.")
return
if(docile)
- src << "You are feeling far too docile to do that."
+ to_chat(src, "You are feeling far too docile to do that.")
return
if(chemicals < 75)
- src << "You need 75 chems to punish your host."
+ to_chat(src, "You need 75 chems to punish your host.")
return
var/punishment = input("Select a punishment:.", "Punish") as null|anything in list("Blindness","Deafness","Stun")
@@ -731,7 +731,7 @@ var/total_borer_hosts_needed = 10
return
if(chemicals < 75)
- src << "You need 75 chems to punish your host."
+ to_chat(src, "You need 75 chems to punish your host.")
return
switch(punishment) //Hardcoding this stuff.
@@ -755,7 +755,7 @@ var/total_borer_hosts_needed = 10
var/mob/living/simple_animal/borer/B = has_brain_worms()
if(B && B.host_brain)
- src << "You withdraw your probosci, releasing control of [B.host_brain]"
+ to_chat(src, "You withdraw your probosci, releasing control of [B.host_brain]")
B.detatch()
@@ -776,7 +776,7 @@ var/total_borer_hosts_needed = 10
var/mob/living/simple_animal/borer/B = has_brain_worms()
if(isbrain(src))
- src << "You need a mouth to be able to do this."
+ to_chat(src, "You need a mouth to be able to do this.")
return
if(!B)
return
@@ -790,7 +790,7 @@ var/total_borer_hosts_needed = 10
new /mob/living/simple_animal/borer(get_turf(src), B.generation + 1)
log_game("[src]/([src.ckey]) has spawned a new borer via reproducing.")
else
- src << "You need 200 chemicals stored to reproduce."
+ to_chat(src, "You need 200 chemicals stored to reproduce.")
return
@@ -808,11 +808,11 @@ var/total_borer_hosts_needed = 10
if(mind)
mind.store_memory("You must escape with at least [total_borer_hosts_needed] borers with hosts on the shuttle.")
- src << "You are a cortical borer!"
- src << "You are a brain slug that worms its way into the head of its victim. Use stealth, persuasion and your powers of mind control to keep you, your host and your eventual spawn safe and warm."
- src << "Sugar nullifies your abilities, avoid it at all costs!"
- src << "You can speak to your fellow borers by prefixing your messages with ';'. Check out your Borer tab to see your abilities."
- src << "You must escape with at least [total_borer_hosts_needed] borers with hosts on the shuttle. To reproduce you must have 100 chemicals and be controlling a host."
+ to_chat(src, "You are a cortical borer!")
+ to_chat(src, "You are a brain slug that worms its way into the head of its victim. Use stealth, persuasion and your powers of mind control to keep you, your host and your eventual spawn safe and warm.")
+ to_chat(src, "Sugar nullifies your abilities, avoid it at all costs!")
+ to_chat(src, "You can speak to your fellow borers by prefixing your messages with ';'. Check out your Borer tab to see your abilities.")
+ to_chat(src, "You must escape with at least [total_borer_hosts_needed] borers with hosts on the shuttle. To reproduce you must have 100 chemicals and be controlling a host.")
/mob/living/simple_animal/borer/proc/detatch()
if(!victim || !controlling)
diff --git a/code/game/gamemodes/miniantags/borer/borer_topic.dm b/code/game/gamemodes/miniantags/borer/borer_topic.dm
index c9c3c055a7c..b373a1c0256 100644
--- a/code/game/gamemodes/miniantags/borer/borer_topic.dm
+++ b/code/game/gamemodes/miniantags/borer/borer_topic.dm
@@ -24,10 +24,10 @@
return
if(chemicals < C.chemuse)
- src << "You need [C.chemuse] chemicals stored to use this chemical!"
+ to_chat(src, "You need [C.chemuse] chemicals stored to use this chemical!")
return
- src << "You squirt a measure of [C.chemname] from your reservoirs into [victim]'s bloodstream."
+ to_chat(src, "You squirt a measure of [C.chemname] from your reservoirs into [victim]'s bloodstream.")
victim.reagents.add_reagent(C.chemname, C.quantity)
chemicals -= C.chemuse
log_game("[src]/([src.ckey]) has injected [C.chemname] into their host [victim]/([victim.ckey])")
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index 4e0e63885c4..4eefd486431 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -31,17 +31,17 @@
/obj/item/device/unactivated_swarmer/attack_ghost(mob/user)
if(crit_fail)
- user << "This swarmer shell is completely depowered. You cannot activate it."
+ to_chat(user, "This swarmer shell is completely depowered. You cannot activate it.")
return
var/be_swarmer = alert("Become a swarmer? (Warning, You can no longer be cloned!)",,"Yes","No")
if(be_swarmer == "No")
return
if(crit_fail)
- user << "Swarmer has been depowered."
+ to_chat(user, "Swarmer has been depowered.")
return
if(QDELETED(src))
- user << "Swarmer has been occupied by someone else."
+ to_chat(user, "Swarmer has been occupied by someone else.")
return
var/mob/living/simple_animal/hostile/swarmer/S = new /mob/living/simple_animal/hostile/swarmer(get_turf(loc))
S.key = user.key
@@ -115,7 +115,7 @@
/mob/living/simple_animal/hostile/swarmer/Login()
..()
- src << login_text_dump
+ to_chat(src, login_text_dump)
/mob/living/simple_animal/hostile/swarmer/New()
..()
@@ -268,7 +268,7 @@
var/isonshuttle = istype(get_area(src), /area/shuttle)
for(var/turf/T in range(1, src))
if(isspaceturf(T) || (!isonshuttle && (istype(T.loc, /area/shuttle) || istype(T.loc, /area/space))) || (isonshuttle && !istype(T.loc, /area/shuttle)))
- S << "Destroying this object has the potential to cause a hull breach. Aborting."
+ to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.")
S.target = null
return FALSE
S.DisIntegrate(src)
@@ -300,62 +300,62 @@
return TRUE
/obj/machinery/chem_dispenser/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "The volatile chemicals in this machine would destroy us. Aborting."
+ to_chat(S, "The volatile chemicals in this machine would destroy us. Aborting.")
return FALSE
/obj/machinery/nuclearbomb/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This device's destruction would result in the extermination of everything in the area. Aborting."
+ to_chat(S, "This device's destruction would result in the extermination of everything in the area. Aborting.")
return FALSE
/obj/machinery/dominator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This device is attempting to corrupt our entire network; attempting to interact with it is too risky. Aborting."
+ to_chat(S, "This device is attempting to corrupt our entire network; attempting to interact with it is too risky. Aborting.")
return FALSE
/obj/effect/decal/cleanable/crayon/gang/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "Searching... sensor malfunction! Target lost. Aborting."
+ to_chat(S, "Searching... sensor malfunction! Target lost. Aborting.")
return FALSE
/obj/effect/rune/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "Searching... sensor malfunction! Target lost. Aborting."
+ to_chat(S, "Searching... sensor malfunction! Target lost. Aborting.")
return FALSE
/obj/structure/reagent_dispensers/fueltank/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "Destroying this object would cause a chain reaction. Aborting."
+ to_chat(S, "Destroying this object would cause a chain reaction. Aborting.")
return FALSE
/obj/structure/cable/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "Disrupting the power grid would bring no benefit to us. Aborting."
+ to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.")
return FALSE
/obj/machinery/portable_atmospherics/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "An inhospitable area may be created as a result of destroying this object. Aborting."
+ to_chat(S, "An inhospitable area may be created as a result of destroying this object. Aborting.")
return FALSE
/obj/machinery/telecomms/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting."
+ to_chat(S, "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting.")
return FALSE
/obj/machinery/message_server/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting."
+ to_chat(S, "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting.")
return FALSE
/obj/machinery/deepfryer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting."
+ to_chat(S, "This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting.")
return FALSE
/obj/machinery/power/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "Disrupting the power grid would bring no benefit to us. Aborting."
+ to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.")
return FALSE
/obj/machinery/gateway/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This bluespace source will be important to us later. Aborting."
+ to_chat(S, "This bluespace source will be important to us later. Aborting.")
return FALSE
/turf/closed/wall/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
var/isonshuttle = istype(loc, /area/shuttle)
for(var/turf/T in range(1, src))
if(isspaceturf(T) || (!isonshuttle && (istype(T.loc, /area/shuttle) || istype(T.loc, /area/space))) || (isonshuttle && !istype(T.loc, /area/shuttle)))
- S << "Destroying this object has the potential to cause a hull breach. Aborting."
+ to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.")
S.target = null
return TRUE
return ..()
@@ -364,17 +364,17 @@
var/isonshuttle = istype(get_area(src), /area/shuttle)
for(var/turf/T in range(1, src))
if(isspaceturf(T) || (!isonshuttle && (istype(T.loc, /area/shuttle) || istype(T.loc, /area/space))) || (isonshuttle && !istype(T.loc, /area/shuttle)))
- S << "Destroying this object has the potential to cause a hull breach. Aborting."
+ to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.")
S.target = null
return TRUE
return ..()
/obj/item/stack/cable_coil/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)//Wiring would be too effective as a resource
- S << "This object does not contain enough materials to work with."
+ to_chat(S, "This object does not contain enough materials to work with.")
return FALSE
/obj/machinery/porta_turret/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "Attempting to dismantle this machine would result in an immediate counterattack. Aborting."
+ to_chat(S, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.")
return FALSE
/mob/living/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
@@ -382,15 +382,15 @@
return TRUE
/mob/living/simple_animal/slime/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This biological resource is somehow resisting our bluespace transceiver. Aborting."
+ to_chat(S, "This biological resource is somehow resisting our bluespace transceiver. Aborting.")
return FALSE
/obj/machinery/droneDispenser/swarmer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This object is receiving unactivated swarmer shells to help us. Aborting."
+ to_chat(S, "This object is receiving unactivated swarmer shells to help us. Aborting.")
return FALSE
/obj/structure/destructible/clockwork/massive/celestial_gateway/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This object is multiplying existing resources. Aborting."
+ to_chat(S, "This object is multiplying existing resources. Aborting.")
return FALSE
/obj/structure/lattice/catwalk/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
@@ -399,7 +399,7 @@
for(var/A in here.contents)
var/obj/structure/cable/C = A
if(istype(C))
- S << "Disrupting the power grid would bring no benefit to us. Aborting."
+ to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.")
return FALSE
@@ -411,25 +411,25 @@
return 50
/obj/machinery/hydroponics/soil/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
- S << "This object does not contain enough materials to work with."
+ to_chat(S, "This object does not contain enough materials to work with.")
return FALSE
////END CTRL CLICK FOR SWARMERS////
/mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0)
if(!isturf(loc))
- src << "This is not a suitable location for fabrication. We need more space."
+ to_chat(src, "This is not a suitable location for fabrication. We need more space.")
if(resources >= fabrication_cost)
resources -= fabrication_cost
else
- src << "You do not have the necessary resources to fabricate this object."
+ to_chat(src, "You do not have the necessary resources to fabricate this object.")
return 0
return new fabrication_object(loc)
/mob/living/simple_animal/hostile/swarmer/proc/Integrate(obj/item/target)
var/resource_gain = target.IntegrateAmount()
if(resources + resource_gain > max_resources)
- src << "We cannot hold more materials!"
+ to_chat(src, "We cannot hold more materials!")
return TRUE
if(resource_gain)
resources += resource_gain
@@ -447,7 +447,7 @@
qdel(target)
return TRUE
else
- src << "\the [target] is incompatible with our internal matter recycler."
+ to_chat(src, "\the [target] is incompatible with our internal matter recycler.")
return FALSE
@@ -463,13 +463,10 @@
return
if(z != ZLEVEL_STATION && z != ZLEVEL_LAVALAND)
- src << "Our bluespace transceiver cannot \
- locate a viable bluespace link, our teleportation abilities \
- are useless in this area."
+ to_chat(src, "Our bluespace transceiver cannot locate a viable bluespace link, our teleportation abilities are useless in this area.")
return
- src << "Attempting to remove this being from \
- our presence."
+ to_chat(src, "Attempting to remove this being from our presence.")
if(!do_mob(src, target, 30))
return
@@ -499,13 +496,13 @@
/mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(obj/machinery/target)
do_attack_animation(target)
- src << "We begin to dismantle this machine. We will need to be uninterrupted."
+ to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.")
var/obj/effect/overlay/temp/swarmer/dismantle/D = new /obj/effect/overlay/temp/swarmer/dismantle(get_turf(target))
D.pixel_x = target.pixel_x
D.pixel_y = target.pixel_y
D.pixel_z = target.pixel_z
if(do_mob(src, target, 100))
- src << "Dismantling complete."
+ to_chat(src, "Dismantling complete.")
var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(target.loc)
M.amount = 5
for(var/obj/item/I in target.component_parts)
@@ -589,7 +586,7 @@
set category = "Swarmer"
set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources"
if(locate(/obj/structure/swarmer/trap) in loc)
- src << "There is already a trap here. Aborting."
+ to_chat(src, "There is already a trap here. Aborting.")
return
Fabricate(/obj/structure/swarmer/trap, 5)
@@ -599,10 +596,10 @@
set category = "Swarmer"
set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through."
if(locate(/obj/structure/swarmer/blockade) in loc)
- src << "There is already a blockade here. Aborting."
+ to_chat(src, "There is already a blockade here. Aborting.")
return
if(resources < 5)
- src << "We do not have the resources for this!"
+ to_chat(src, "We do not have the resources for this!")
return
if(do_mob(src, src, 10))
Fabricate(/obj/structure/swarmer/blockade, 5)
@@ -626,12 +623,12 @@
set name = "Replicate"
set category = "Swarmer"
set desc = "Creates a shell for a new swarmer. Swarmers will self activate."
- src << "We are attempting to replicate ourselves. We will need to stand still until the process is complete."
+ to_chat(src, "We are attempting to replicate ourselves. We will need to stand still until the process is complete.")
if(resources < 50)
- src << "We do not have the resources for this!"
+ to_chat(src, "We do not have the resources for this!")
return
if(!isturf(loc))
- src << "This is not a suitable location for replicating ourselves. We need more room."
+ to_chat(src, "This is not a suitable location for replicating ourselves. We need more room.")
return
if(do_mob(src, src, 100))
var/createtype = SwarmerTypeToCreate()
@@ -649,10 +646,10 @@
set desc = "Attempts to repair damage to our body. You will have to remain motionless until repairs are complete."
if(!isturf(loc))
return
- src << "Attempting to repair damage to our body, stand by..."
+ to_chat(src, "Attempting to repair damage to our body, stand by...")
if(do_mob(src, src, 100))
adjustHealth(-100)
- src << "We successfully repaired ourselves."
+ to_chat(src, "We successfully repaired ourselves.")
/mob/living/simple_animal/hostile/swarmer/proc/ToggleLight()
if(!light_range)
@@ -664,10 +661,10 @@
var/rendered = "Swarm communication - [src] [say_quote(msg, get_spans())]"
for(var/mob/M in mob_list)
if(isswarmer(M))
- M << rendered
+ to_chat(M, rendered)
if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
- M << "[link] [rendered]"
+ to_chat(M, "[link] [rendered]")
/mob/living/simple_animal/hostile/swarmer/proc/ContactSwarmers()
var/message = input(src, "Announce to other swarmers", "Swarmer contact")
diff --git a/code/game/gamemodes/miniantags/monkey/monkey.dm b/code/game/gamemodes/miniantags/monkey/monkey.dm
index 4ef4d2950ac..a9c75fa76b3 100644
--- a/code/game/gamemodes/miniantags/monkey/monkey.dm
+++ b/code/game/gamemodes/miniantags/monkey/monkey.dm
@@ -40,17 +40,17 @@
/datum/game_mode/monkey/announce()
- world << "The current game mode is - Monkey!"
- world << "One or more crewmembers have been infected with Jungle Fever! Crew: Contain the outbreak. None of the infected monkeys may escape alive to Centcom. \
- Monkeys: Ensure that your kind lives on! Rise up against your captors!"
+ to_chat(world, "The current game mode is - Monkey!")
+ to_chat(world, "One or more crewmembers have been infected with Jungle Fever! Crew: Contain the outbreak. None of the infected monkeys may escape alive to Centcom. \
+ Monkeys: Ensure that your kind lives on! Rise up against your captors!")
/datum/game_mode/monkey/proc/greet_carrier(datum/mind/carrier)
- carrier.current << "You are the Jungle Fever patient zero!!"
- carrier.current << "You have been planted onto this station by the Animal Rights Consortium."
- carrier.current << "Soon the disease will transform you into an ape. Afterwards, you will be able spread the infection to others with a bite."
- carrier.current << "While your infection strain is undetectable by scanners, any other infectees will show up on medical equipment."
- carrier.current << "Your mission will be deemed a success if any of the live infected monkeys reach Centcom."
+ to_chat(carrier.current, "You are the Jungle Fever patient zero!!")
+ to_chat(carrier.current, "You have been planted onto this station by the Animal Rights Consortium.")
+ to_chat(carrier.current, "Soon the disease will transform you into an ape. Afterwards, you will be able spread the infection to others with a bite.")
+ to_chat(carrier.current, "While your infection strain is undetectable by scanners, any other infectees will show up on medical equipment.")
+ to_chat(carrier.current, "Your mission will be deemed a success if any of the live infected monkeys reach Centcom.")
return
/datum/game_mode/monkey/post_setup()
@@ -109,8 +109,8 @@
if(check_monkey_victory())
feedback_set_details("round_end_result","win - monkey win")
feedback_set("round_end_result",escaped_monkeys)
- world << "The monkeys have overthrown their captors! Eeek eeeek!!"
+ to_chat(world, "The monkeys have overthrown their captors! Eeek eeeek!!")
else
feedback_set_details("round_end_result","loss - staff stopped the monkeys")
feedback_set("round_end_result",escaped_monkeys)
- world << "The staff managed to contain the monkey infestation!"
+ to_chat(world, "The staff managed to contain the monkey infestation!")
diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm
index b7b2292d8aa..42bab67d651 100644
--- a/code/game/gamemodes/miniantags/morph/morph.dm
+++ b/code/game/gamemodes/miniantags/morph/morph.dm
@@ -47,7 +47,7 @@
if(morphed)
form.examine(user) // Refactor examine to return desc so it's static? Not sure if worth it
if(get_dist(user,src)<=3)
- user << "It doesn't look quite right..."
+ to_chat(user, "It doesn't look quite right...")
else
..()
return
@@ -90,7 +90,7 @@
if(istype(A) && allowed(A))
assume(A)
else
- src << "Your chameleon skin is still repairing itself!"
+ to_chat(src, "Your chameleon skin is still repairing itself!")
..()
/mob/living/simple_animal/hostile/morph/proc/assume(atom/movable/target)
@@ -223,7 +223,7 @@
player_mind.assigned_role = "Morph"
player_mind.special_role = "Morph"
ticker.mode.traitors |= player_mind
- S << S.playstyle_string
+ to_chat(S, S.playstyle_string)
S << 'sound/magic/Mutate.ogg'
message_admins("[key_name_admin(S)] has been made into a morph by an event.")
log_game("[key_name(S)] was spawned as a morph by an event.")
diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm
index 0ccc8e7094e..0a2ab17697e 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant.dm
@@ -71,13 +71,13 @@
/mob/living/simple_animal/revenant/Login()
..()
- src << "You are a revenant."
- src << "Your formerly mundane spirit has been infused with alien energies and empowered into a revenant."
- src << "You are not dead, not alive, but somewhere in between. You are capable of limited interaction with both worlds."
- src << "You are invincible and invisible to everyone but other ghosts. Most abilities will reveal you, rendering you vulnerable."
- src << "To function, you are to drain the life essence from humans. This essence is a resource, as well as your health, and will power all of your abilities."
- src << "You do not remember anything of your past lives, nor will you remember anything about this one after your death."
- src << "Be sure to read the wiki page at https://tgstation13.org/wiki/Revenant to learn more."
+ to_chat(src, "You are a revenant.")
+ to_chat(src, "Your formerly mundane spirit has been infused with alien energies and empowered into a revenant.")
+ to_chat(src, "You are not dead, not alive, but somewhere in between. You are capable of limited interaction with both worlds.")
+ to_chat(src, "You are invincible and invisible to everyone but other ghosts. Most abilities will reveal you, rendering you vulnerable.")
+ to_chat(src, "To function, you are to drain the life essence from humans. This essence is a resource, as well as your health, and will power all of your abilities.")
+ to_chat(src, "You do not remember anything of your past lives, nor will you remember anything about this one after your death.")
+ to_chat(src, "Be sure to read the wiki page at https://tgstation13.org/wiki/Revenant to learn more.")
if(!generated_objectives_and_spells)
generated_objectives_and_spells = TRUE
mind.remove_all_antag()
@@ -86,11 +86,11 @@
var/datum/objective/revenant/objective = new
objective.owner = mind
mind.objectives += objective
- src << "Objective #1: [objective.explanation_text]"
+ to_chat(src, "Objective #1: [objective.explanation_text]")
var/datum/objective/revenantFluff/objective2 = new
objective2.owner = mind
mind.objectives += objective2
- src << "Objective #2: [objective2.explanation_text]"
+ to_chat(src, "Objective #2: [objective2.explanation_text]")
mind.assigned_role = "revenant"
mind.special_role = "Revenant"
ticker.mode.traitors |= mind //Necessary for announcing
@@ -110,11 +110,11 @@
revealed = 0
incorporeal_move = 3
invisibility = INVISIBILITY_REVENANT
- src << "You are once more concealed."
+ to_chat(src, "You are once more concealed.")
if(unstun_time && world.time >= unstun_time)
unstun_time = 0
notransform = 0
- src << "You can move again!"
+ to_chat(src, "You can move again!")
if(essence_regenerating && !inhibited && essence < essence_regen_cap) //While inhibited, essence will not regenerate
essence = min(essence_regen_cap, essence+essence_regen_amount)
update_action_buttons_icon() //because we update something required by our spells in life, we need to update our buttons
@@ -151,10 +151,10 @@
var/rendered = "[src] says, \"[message]\""
for(var/mob/M in mob_list)
if(isrevenant(M))
- M << rendered
+ to_chat(M, rendered)
else if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
- M << "[link] [rendered]"
+ to_chat(M, "[link] [rendered]")
return
@@ -215,7 +215,7 @@
..(1)
ghost_darkness_images -= ghostimage
updateallghostimages()
- src << "NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]..."
+ to_chat(src, "NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]...")
notransform = 1
revealed = 1
invisibility = 0
@@ -245,10 +245,10 @@
invisibility = 0
incorporeal_move = 0
if(!unreveal_time)
- src << "You have been revealed!"
+ to_chat(src, "You have been revealed!")
unreveal_time = world.time + time
else
- src << "You have been revealed!"
+ to_chat(src, "You have been revealed!")
unreveal_time = unreveal_time + time
update_spooky_icon()
@@ -259,10 +259,10 @@
return
notransform = 1
if(!unstun_time)
- src << "You cannot move!"
+ to_chat(src, "You cannot move!")
unstun_time = world.time + time
else
- src << "You cannot move!"
+ to_chat(src, "You cannot move!")
unstun_time = unstun_time + time
update_spooky_icon()
@@ -286,17 +286,17 @@
return
var/turf/T = get_turf(src)
if(isclosedturf(T))
- src << "You cannot use abilities from inside of a wall."
+ to_chat(src, "You cannot use abilities from inside of a wall.")
return 0
for(var/obj/O in T)
if(O.density && !O.CanPass(src, T, 5))
- src << "You cannot use abilities inside of a dense object."
+ to_chat(src, "You cannot use abilities inside of a dense object.")
return 0
if(inhibited)
- src << "Your powers have been suppressed by nulling energy!"
+ to_chat(src, "Your powers have been suppressed by nulling energy!")
return 0
if(!change_essence_amount(essence_cost, 1))
- src << "You lack the essence to use that ability."
+ to_chat(src, "You lack the essence to use that ability.")
return 0
return 1
@@ -312,9 +312,9 @@
essence_accumulated = max(0, essence_accumulated+essence_amt)
if(!silent)
if(essence_amt > 0)
- src << "Gained [essence_amt]E from [source]."
+ to_chat(src, "Gained [essence_amt]E from [source].")
else
- src << "Lost [essence_amt]E from [source]."
+ to_chat(src, "Lost [essence_amt]E from [source].")
return 1
@@ -361,9 +361,9 @@
/obj/item/weapon/ectoplasm/revenant/examine(mob/user)
..()
if(inert)
- user << "It seems inert."
+ to_chat(user, "It seems inert.")
else if(reforming)
- user << "It is shifting and distorted. It would be wise to destroy this."
+ to_chat(user, "It is shifting and distorted. It would be wise to destroy this.")
/obj/item/weapon/ectoplasm/revenant/proc/reform()
if(!src || QDELETED(src) || inert)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
index 4ff1d23f596..ce549c509d9 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
@@ -4,7 +4,7 @@
A.examine(src)
if(ishuman(A))
if(A in drained_mobs)
- src << "[A]'s soul is dead and empty." //feedback at any range
+ to_chat(src, "[A]'s soul is dead and empty." )
else if(in_range(src, A))
Harvest(A)
@@ -12,45 +12,45 @@
if(!castcheck(0))
return
if(draining)
- src << "You are already siphoning the essence of a soul!"
+ to_chat(src, "You are already siphoning the essence of a soul!")
return
if(!target.stat)
- src << "[target.p_their(TRUE)] soul is too strong to harvest."
+ to_chat(src, "[target.p_their(TRUE)] soul is too strong to harvest.")
if(prob(10))
- target << "You feel as if you are being watched."
+ to_chat(target, "You feel as if you are being watched.")
return
draining = 1
essence_drained += rand(15, 20)
- src << "You search for the soul of [target]."
+ to_chat(src, "You search for the soul of [target].")
if(do_after(src, rand(10, 20), 0, target)) //did they get deleted in that second?
if(target.ckey)
- src << "[target.p_their(TRUE)] soul burns with intelligence."
+ to_chat(src, "[target.p_their(TRUE)] soul burns with intelligence.")
essence_drained += rand(20, 30)
if(target.stat != DEAD)
- src << "[target.p_their(TRUE)] soul blazes with life!"
+ to_chat(src, "[target.p_their(TRUE)] soul blazes with life!")
essence_drained += rand(40, 50)
else
- src << "[target.p_their(TRUE)] soul is weak and faltering."
+ to_chat(src, "[target.p_their(TRUE)] soul is weak and faltering.")
if(do_after(src, rand(15, 20), 0, target)) //did they get deleted NOW?
switch(essence_drained)
if(1 to 30)
- src << "[target] will not yield much essence. Still, every bit counts."
+ to_chat(src, "[target] will not yield much essence. Still, every bit counts.")
if(30 to 70)
- src << "[target] will yield an average amount of essence."
+ to_chat(src, "[target] will yield an average amount of essence.")
if(70 to 90)
- src << "Such a feast! [target] will yield much essence to you."
+ to_chat(src, "Such a feast! [target] will yield much essence to you.")
if(90 to INFINITY)
- src << "Ah, the perfect soul. [target] will yield massive amounts of essence to you."
+ to_chat(src, "Ah, the perfect soul. [target] will yield massive amounts of essence to you.")
if(do_after(src, rand(15, 25), 0, target)) //how about now
if(!target.stat)
- src << "[target.p_they(TRUE)] [target.p_are()] now powerful enough to fight off your draining."
- target << "You feel something tugging across your body before subsiding."
+ to_chat(src, "[target.p_they(TRUE)] [target.p_are()] now powerful enough to fight off your draining.")
+ to_chat(target, "You feel something tugging across your body before subsiding.")
draining = 0
essence_drained = 0
return //hey, wait a minute...
- src << "You begin siphoning essence from [target]'s soul."
+ to_chat(src, "You begin siphoning essence from [target]'s soul.")
if(target.stat != DEAD)
- target << "You feel a horribly unpleasant draining sensation as your grip on life weakens..."
+ to_chat(target, "You feel a horribly unpleasant draining sensation as your grip on life weakens...")
reveal(46)
stun(46)
target.visible_message("[target] suddenly rises slightly into the air, [target.p_their()] skin turning an ashy gray.")
@@ -59,24 +59,24 @@
change_essence_amount(essence_drained, 0, target)
if(essence_drained <= 90 && target.stat != DEAD)
essence_regen_cap += 5
- src << "The absorption of [target]'s living soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap]."
+ to_chat(src, "The absorption of [target]'s living soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap].")
if(essence_drained > 90)
essence_regen_cap += 15
perfectsouls += 1
- src << "The perfection of [target]'s soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap]."
- src << "[target]'s soul has been considerably weakened and will yield no more essence for the time being."
+ to_chat(src, "The perfection of [target]'s soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap].")
+ to_chat(src, "[target]'s soul has been considerably weakened and will yield no more essence for the time being.")
target.visible_message("[target] slumps onto the ground.", \
"Violets lights, dancing in your vision, getting clo--")
drained_mobs.Add(target)
target.death(0)
else
- src << "[target ? "[target] has":"They have"] been drawn out of your grasp. The link has been broken."
+ to_chat(src, "[target ? "[target] has":"They have"] been drawn out of your grasp. The link has been broken.")
if(target) //Wait, target is WHERE NOW?
target.visible_message("[target] slumps onto the ground.", \
"Violets lights, dancing in your vision, receding--")
qdel(B)
else
- src << "You are not close enough to siphon [target ? "[target]'s":"their"] soul. The link has been broken."
+ to_chat(src, "You are not close enough to siphon [target ? "[target]'s":"their"] soul. The link has been broken.")
draining = 0
essence_drained = 0
@@ -107,14 +107,14 @@
charge_counter = charge_max
return
log_say("RevenantTransmit: [key_name(user)]->[key_name(M)] : [msg]")
- user << "You transmit to [M]: [msg]"
- M << "You hear something behind you talking... [msg]"
+ to_chat(user, "You transmit to [M]: [msg]")
+ to_chat(M, "You hear something behind you talking... [msg]")
for(var/ded in dead_mob_list)
if(!isobserver(ded))
continue
var/follow_rev = FOLLOW_LINK(ded, user)
var/follow_whispee = FOLLOW_LINK(ded, M)
- ded << "[follow_rev] [user] Revenant Transmit: \"[msg]\" to [follow_whispee] [M]"
+ to_chat(ded, "[follow_rev] [user] Revenant Transmit: \"[msg]\" to [follow_whispee] [M]")
@@ -164,7 +164,7 @@
charge_counter = charge_max
return 0
name = "[initial(name)] ([cast_amount]E)"
- user << "You have unlocked [initial(name)]!"
+ to_chat(user, "You have unlocked [initial(name)]!")
panel = "Revenant Abilities"
locked = 0
charge_counter = charge_max
@@ -293,7 +293,7 @@
for(var/mob/living/carbon/human/human in T)
if(human == user)
continue
- human << "You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")]."
+ to_chat(human, "You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")].")
new /obj/effect/overlay/temp/revenant(human.loc)
human.emp_act(1)
for(var/obj/thing in T)
@@ -344,7 +344,7 @@
blight.stage++
if(!blightfound)
H.AddDisease(new /datum/disease/revblight)
- H << "You feel [pick("suddenly sick", "a surge of nausea", "like your skin is wrong")]."
+ to_chat(H, "You feel [pick("suddenly sick", "a surge of nausea", "like your skin is wrong")].")
else
if(mob.reagents)
mob.reagents.add_reagent("plasma", 5)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm
index 7122451c653..0ac4bdc994b 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm
@@ -21,7 +21,7 @@
if(affected_mob.dna && affected_mob.dna.species)
affected_mob.dna.species.handle_mutant_bodyparts(affected_mob)
affected_mob.dna.species.handle_hair(affected_mob)
- affected_mob << "You feel better."
+ to_chat(affected_mob, "You feel better.")
..()
/datum/disease/revblight/stage_act()
@@ -30,7 +30,7 @@
cure()
return
if(prob(stage*3))
- affected_mob << "You suddenly feel [pick("sick and tired", "disoriented", "tired and confused", "nauseated", "faint", "dizzy")]..."
+ to_chat(affected_mob, "You suddenly feel [pick("sick and tired", "disoriented", "tired and confused", "nauseated", "faint", "dizzy")]...")
affected_mob.confused += 8
affected_mob.adjustStaminaLoss(8)
new /obj/effect/overlay/temp/revenant(affected_mob.loc)
@@ -54,7 +54,7 @@
if(5)
if(!finalstage)
finalstage = 1
- affected_mob << "You feel like [pick("nothing's worth it anymore", "nobody ever needed your help", "nothing you did mattered", "everything you tried to do was worthless")]."
+ to_chat(affected_mob, "You feel like [pick("nothing's worth it anymore", "nobody ever needed your help", "nothing you did mattered", "everything you tried to do was worthless")].")
affected_mob.adjustStaminaLoss(45)
new /obj/effect/overlay/temp/revenant(affected_mob.loc)
if(affected_mob.dna && affected_mob.dna.species)
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
index 6c78c22ac89..dbe7725f533 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
@@ -178,8 +178,7 @@
if(M.revive(full_heal = TRUE, admin_revive = TRUE))
M.grab_ghost(force = TRUE)
playsound(T, feast_sound, 50, 1, -1)
- M << "You leave [src]'s warm embrace, \
- and feel ready to take on the world."
+ to_chat(M, "You leave [src]'s warm embrace, and feel ready to take on the world.")
/mob/living/simple_animal/slaughter/laughter/bloodcrawl_swallow(var/mob/living/victim)
if(consumed_mobs)
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm b/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm
index d41b9edab16..40c9a0e4940 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm
@@ -40,8 +40,8 @@
player_mind.assigned_role = "Slaughter Demon"
player_mind.special_role = "Slaughter Demon"
ticker.mode.traitors |= player_mind
- S << S.playstyle_string
- S << "You are currently not currently in the same plane of existence as the station. Blood Crawl near a blood pool to manifest."
+ to_chat(S, S.playstyle_string)
+ to_chat(S, "You are currently not currently in the same plane of existence as the station. Blood Crawl near a blood pool to manifest.")
S << 'sound/magic/demon_dies.ogg'
message_admins("[key_name_admin(S)] has been made into a slaughter demon by an event.")
log_game("[key_name(S)] was spawned as a slaughter demon by an event.")
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index bd098ddcd92..b7a7234584e 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -83,7 +83,7 @@
if(nuke_code)
synd_mind.store_memory("Syndicate Nuclear Bomb Code: [nuke_code]", 0, 0)
- synd_mind.current << "The nuclear authorization code is: [nuke_code]"
+ to_chat(synd_mind.current, "The nuclear authorization code is: [nuke_code]")
if(!leader_selected)
prepare_syndicate_leader(synd_mind, nuke_code)
@@ -105,9 +105,9 @@
nukeops_lastname = nukelastname(synd_mind.current)
NukeNameAssign(nukeops_lastname,syndicates) //allows time for the rest of the syndies to be chosen
synd_mind.current.real_name = "[syndicate_name()] [leader_title]"
- synd_mind.current << "You are the Syndicate [leader_title] for this mission. You are responsible for the distribution of telecrystals and your ID is the only one who can open the launch bay doors."
- synd_mind.current << "If you feel you are not up to this task, give your ID to another operative."
- synd_mind.current << "In your hand you will find a special item capable of triggering a greater challenge for your team. Examine it carefully and consult with your fellow operatives before activating it."
+ to_chat(synd_mind.current, "You are the Syndicate [leader_title] for this mission. You are responsible for the distribution of telecrystals and your ID is the only one who can open the launch bay doors.")
+ to_chat(synd_mind.current, "If you feel you are not up to this task, give your ID to another operative.")
+ to_chat(synd_mind.current, "In your hand you will find a special item capable of triggering a greater challenge for your team. Examine it carefully and consult with your fellow operatives before activating it.")
var/obj/item/device/nuclear_challenge/challenge = new /obj/item/device/nuclear_challenge
synd_mind.current.put_in_hands_or_del(challenge)
@@ -146,7 +146,7 @@
/datum/game_mode/proc/greet_syndicate(datum/mind/syndicate, you_are=1)
if(you_are)
- syndicate.current << "You are a [syndicate_name()] agent!"
+ to_chat(syndicate.current, "You are a [syndicate_name()] agent!")
syndicate.announce_objectives()
/datum/game_mode/proc/equip_syndicate(mob/living/carbon/human/synd_mob, telecrystals = TRUE)
@@ -198,71 +198,71 @@
if(nuke_off_station == NUKE_SYNDICATE_BASE)
feedback_set_details("round_end_result","loss - syndicate nuked - disk secured")
- world << "Humiliating Syndicate Defeat"
- world << "The crew of [station_name()] gave [syndicate_name()] operatives back their bomb! The syndicate base was destroyed! Next time, don't lose the nuke!"
+ to_chat(world, "Humiliating Syndicate Defeat")
+ to_chat(world, "The crew of [station_name()] gave [syndicate_name()] operatives back their bomb! The syndicate base was destroyed! Next time, don't lose the nuke!")
ticker.news_report = NUKE_SYNDICATE_BASE
else if(!disk_rescued && station_was_nuked && !syndies_didnt_escape)
feedback_set_details("round_end_result","win - syndicate nuke")
- world << "Syndicate Major Victory!"
- world << "[syndicate_name()] operatives have destroyed [station_name()]!"
+ to_chat(world, "Syndicate Major Victory!")
+ to_chat(world, "[syndicate_name()] operatives have destroyed [station_name()]!")
ticker.news_report = STATION_NUKED
else if (!disk_rescued && station_was_nuked && syndies_didnt_escape)
feedback_set_details("round_end_result","halfwin - syndicate nuke - did not evacuate in time")
- world << "Total Annihilation"
- world << "[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!"
+ to_chat(world, "Total Annihilation")
+ to_chat(world, "[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!")
ticker.news_report = STATION_NUKED
else if (!disk_rescued && !station_was_nuked && nuke_off_station && !syndies_didnt_escape)
feedback_set_details("round_end_result","halfwin - blew wrong station")
- world << "Crew Minor Victory"
- world << "[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't do that!"
+ to_chat(world, "Crew Minor Victory")
+ to_chat(world, "[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't do that!")
ticker.news_report = NUKE_MISS
else if (!disk_rescued && !station_was_nuked && nuke_off_station && syndies_didnt_escape)
feedback_set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time")
- world << "[syndicate_name()] operatives have earned Darwin Award!"
- world << "[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't do that!"
+ to_chat(world, "[syndicate_name()] operatives have earned Darwin Award!")
+ to_chat(world, "[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't do that!")
ticker.news_report = NUKE_MISS
else if ((disk_rescued || SSshuttle.emergency.mode != SHUTTLE_ENDGAME) && are_operatives_dead())
feedback_set_details("round_end_result","loss - evacuation - disk secured - syndi team dead")
- world << "Crew Major Victory!"
- world << "The Research Staff has saved the disk and killed the [syndicate_name()] Operatives"
+ to_chat(world, "Crew Major Victory!")
+ to_chat(world, "The Research Staff has saved the disk and killed the [syndicate_name()] Operatives")
ticker.news_report = OPERATIVES_KILLED
else if (disk_rescued)
feedback_set_details("round_end_result","loss - evacuation - disk secured")
- world << "Crew Major Victory"
- world << "The Research Staff has saved the disk and stopped the [syndicate_name()] Operatives!"
+ to_chat(world, "Crew Major Victory")
+ to_chat(world, "The Research Staff has saved the disk and stopped the [syndicate_name()] Operatives!")
ticker.news_report = OPERATIVES_KILLED
else if (!disk_rescued && are_operatives_dead())
feedback_set_details("round_end_result","halfwin - evacuation - disk not secured")
- world << "Neutral Victory!"
- world << "The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives!"
+ to_chat(world, "Neutral Victory!")
+ to_chat(world, "The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives!")
ticker.news_report = OPERATIVE_SKIRMISH
else if (!disk_rescued && crew_evacuated)
feedback_set_details("round_end_result","halfwin - detonation averted")
- world << "Syndicate Minor Victory!"
- world << "[syndicate_name()] operatives survived the assault but did not achieve the destruction of [station_name()]. Next time, don't lose the disk!"
+ to_chat(world, "Syndicate Minor Victory!")
+ to_chat(world, "[syndicate_name()] operatives survived the assault but did not achieve the destruction of [station_name()]. Next time, don't lose the disk!")
ticker.news_report = OPERATIVE_SKIRMISH
else if (!disk_rescued && !crew_evacuated)
feedback_set_details("round_end_result","halfwin - interrupted")
- world << "Neutral Victory"
- world << "Round was mysteriously interrupted!"
+ to_chat(world, "Neutral Victory")
+ to_chat(world, "Round was mysteriously interrupted!")
ticker.news_report = OPERATIVE_SKIRMISH
@@ -285,7 +285,7 @@
text += "(Syndicates used [TC_uses] TC) [purchases]"
if(TC_uses == 0 && station_was_nuked && !are_operatives_dead())
text += "
"
- world << text
+ to_chat(world, text)
return 1
@@ -298,7 +298,7 @@
else
if (newname == "Unknown" || newname == "floor" || newname == "wall" || newname == "rwall" || newname == "_")
- M << "That name is reserved."
+ to_chat(M, "That name is reserved.")
return nukelastname(M)
return capitalize(newname)
diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm
index 941e469d283..54045c307f4 100644
--- a/code/game/gamemodes/nuclear/nuclear_challenge.dm
+++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm
@@ -24,7 +24,7 @@
return
if(are_you_sure == "No")
- user << "On second thought, the element of surprise isn't so bad after all."
+ to_chat(user, "On second thought, the element of surprise isn't so bad after all.")
return
var/war_declaration = "[user.real_name] has declared his intent to utterly destroy [station_name()] with a nuclear device, and dares the crew to try and stop them."
@@ -46,7 +46,7 @@
priority_announce(war_declaration, title = "Declaration of War", sound = 'sound/machines/Alarm.ogg')
- user << "You've attracted the attention of powerful forces within the syndicate. A bonus bundle of telecrystals has been granted to your team. Great things await you if you complete the mission."
+ to_chat(user, "You've attracted the attention of powerful forces within the syndicate. A bonus bundle of telecrystals has been granted to your team. Great things await you if you complete the mission.")
for(var/V in syndicate_shuttle_boards)
var/obj/item/weapon/circuitboard/computer/syndicate_shuttle/board = V
@@ -62,21 +62,21 @@
/obj/item/device/nuclear_challenge/proc/check_allowed(mob/living/user)
if(declaring_war)
- user << "You are already in the process of declaring war! Make your mind up."
+ to_chat(user, "You are already in the process of declaring war! Make your mind up.")
return 0
if(player_list.len < CHALLENGE_MIN_PLAYERS)
- user << "The enemy crew is too small to be worth declaring war on."
+ to_chat(user, "The enemy crew is too small to be worth declaring war on.")
return 0
if(user.z != ZLEVEL_CENTCOM)
- user << "You have to be at your base to use this."
+ to_chat(user, "You have to be at your base to use this.")
return 0
if(world.time-round_start_time > CHALLENGE_TIME_LIMIT)
- user << "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand."
+ to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.")
return 0
for(var/V in syndicate_shuttle_boards)
var/obj/item/weapon/circuitboard/computer/syndicate_shuttle/board = V
if(board.moved)
- user << "The shuttle has already been moved! You have forfeit the right to declare war."
+ to_chat(user, "The shuttle has already been moved! You have forfeit the right to declare war.")
return 0
return 1
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 9f0dc5ae796..9e496fca5f4 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -65,11 +65,9 @@ var/bomb_set
/obj/machinery/nuclearbomb/examine(mob/user)
. = ..()
if(exploding)
- user << "It is in the process of exploding. Perhaps reviewing your \
- affairs is in order."
+ to_chat(user, "It is in the process of exploding. Perhaps reviewing your affairs is in order.")
if(timing)
- user << "There are [get_time_left()] seconds until \
- detonation."
+ to_chat(user, "There are [get_time_left()] seconds until detonation.")
/obj/machinery/nuclearbomb/selfdestruct
name = "station self-destruct terminal"
@@ -103,18 +101,18 @@ var/bomb_set
if(NUKESTATE_INTACT)
if(istype(I, /obj/item/weapon/screwdriver/nuke))
playsound(loc, I.usesound, 100, 1)
- user << "You start removing [src]'s front panel's screws..."
+ to_chat(user, "You start removing [src]'s front panel's screws...")
if(do_after(user, 60*I.toolspeed,target=src))
deconstruction_state = NUKESTATE_UNSCREWED
- user << "You remove the screws from [src]'s front panel."
+ to_chat(user, "You remove the screws from [src]'s front panel.")
update_icon()
return
if(NUKESTATE_UNSCREWED)
if(istype(I, /obj/item/weapon/crowbar))
- user << "You start removing [src]'s front panel..."
+ to_chat(user, "You start removing [src]'s front panel...")
playsound(loc, I.usesound, 100, 1)
if(do_after(user,30*I.toolspeed,target=src))
- user << "You remove [src]'s front panel."
+ to_chat(user, "You remove [src]'s front panel.")
deconstruction_state = NUKESTATE_PANEL_REMOVED
update_icon()
return
@@ -122,19 +120,19 @@ var/bomb_set
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/welder = I
playsound(loc, I.usesound, 100, 1)
- user << "You start cutting [src]'s inner plate..."
+ to_chat(user, "You start cutting [src]'s inner plate...")
if(welder.remove_fuel(1,user))
if(do_after(user,80*I.toolspeed,target=src))
- user << "You cut [src]'s inner plate."
+ to_chat(user, "You cut [src]'s inner plate.")
deconstruction_state = NUKESTATE_WELDED
update_icon()
return
if(NUKESTATE_WELDED)
if(istype(I, /obj/item/weapon/crowbar))
- user << "You start prying off [src]'s inner plate..."
+ to_chat(user, "You start prying off [src]'s inner plate...")
playsound(loc, I.usesound, 100, 1)
if(do_after(user,50*I.toolspeed,target=src))
- user << "You pry off [src]'s inner plate. You can see the core's green glow!"
+ to_chat(user, "You pry off [src]'s inner plate. You can see the core's green glow!")
deconstruction_state = NUKESTATE_CORE_EXPOSED
update_icon()
START_PROCESSING(SSobj, core)
@@ -142,30 +140,30 @@ var/bomb_set
if(NUKESTATE_CORE_EXPOSED)
if(istype(I, /obj/item/nuke_core_container))
var/obj/item/nuke_core_container/core_box = I
- user << "You start loading the plutonium core into [core_box]..."
+ to_chat(user, "You start loading the plutonium core into [core_box]...")
if(do_after(user,50,target=src))
if(core_box.load(core, user))
- user << "You load the plutonium core into [core_box]."
+ to_chat(user, "You load the plutonium core into [core_box].")
deconstruction_state = NUKESTATE_CORE_REMOVED
update_icon()
core = null
else
- user << "You fail to load the plutonium core into [core_box]. [core_box] has already been used!"
+ to_chat(user, "You fail to load the plutonium core into [core_box]. [core_box] has already been used!")
return
if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.amount >= 20)
- user << "You begin repairing [src]'s inner metal plate..."
+ to_chat(user, "You begin repairing [src]'s inner metal plate...")
if(do_after(user, 100, target=src))
if(M.use(20))
- user << "You repair [src]'s inner metal plate. The radiation is contained."
+ to_chat(user, "You repair [src]'s inner metal plate. The radiation is contained.")
deconstruction_state = NUKESTATE_PANEL_REMOVED
STOP_PROCESSING(SSobj, core)
update_icon()
else
- user << "You need more metal to do that!"
+ to_chat(user, "You need more metal to do that!")
else
- user << "You need more metal to do that!"
+ to_chat(user, "You need more metal to do that!")
return
. = ..()
@@ -354,7 +352,7 @@ var/bomb_set
if(!isinspace())
anchored = !anchored
else
- usr << "There is nothing to anchor to!"
+ to_chat(usr, "There is nothing to anchor to!")
/obj/machinery/nuclearbomb/proc/set_safety()
safety = !safety
@@ -372,7 +370,7 @@ var/bomb_set
/obj/machinery/nuclearbomb/proc/set_active()
if(safety && !bomb_set)
- usr << "The safety is still on."
+ to_chat(usr, "The safety is still on.")
return
timing = !timing
if(timing)
@@ -508,7 +506,7 @@ This is here to make the tiles around the station mininuke change when it's arme
if(istype(I, /obj/item/weapon/claymore/highlander))
var/obj/item/weapon/claymore/highlander/H = I
if(H.nuke_disk)
- user << "Wait... what?"
+ to_chat(user, "Wait... what?")
qdel(H.nuke_disk)
H.nuke_disk = null
return
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index a367f8728d7..ee70ed0dcf6 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -64,10 +64,10 @@
msg += "\"([target_x], [target_y])\"."
else
msg = "Its tracking indicator is blank."
- user << msg
+ to_chat(user, msg)
for(var/obj/machinery/nuclearbomb/bomb in machines)
if(bomb.timing)
- user << "Extreme danger. Arming signal detected. Time remaining: [bomb.get_time_left()]"
+ to_chat(user, "Extreme danger. Arming signal detected. Time remaining: [bomb.get_time_left()]")
/obj/item/weapon/pinpointer/process()
if(!active)
@@ -148,12 +148,12 @@
playsound(src, 'sound/items/Nuke_toy_lowpower.ogg', 50, 0)
if(isliving(loc))
var/mob/living/L = loc
- L << "Your [name] vibrates and lets out a tinny alarm. Uh oh."
+ to_chat(L, "Your [name] vibrates and lets out a tinny alarm. Uh oh.")
/obj/item/weapon/pinpointer/proc/switch_mode_to(new_mode) //If we shouldn't be tracking what we are
if(isliving(loc))
var/mob/living/L = loc
- L << "Your [name] beeps as it reconfigures its tracking algorithms."
+ to_chat(L, "Your [name] beeps as it reconfigures its tracking algorithms.")
playsound(L, 'sound/machines/triple_beep.ogg', 50, 1)
mode = new_mode
target = null //Switch modes so we can find the new target
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 72af1264dd9..67d8f34ee09 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -34,8 +34,8 @@
//Announces the game type//
///////////////////////////
/datum/game_mode/revolution/announce()
- world << "The current game mode is - Revolution!"
- world << "Some crewmembers are attempting to start a revolution!
\nRevolutionaries - Kill the Captain, HoP, HoS, CE, RD and CMO. Convert other crewmembers (excluding the heads of staff, and security officers) to your cause by flashing them. Protect your leaders.
\nPersonnel - Protect the heads of staff. Kill the leaders of the revolution, and brainwash the other revolutionaries (by beating them in the head)."
+ to_chat(world, "The current game mode is - Revolution!")
+ to_chat(world, "Some crewmembers are attempting to start a revolution!
\nRevolutionaries - Kill the Captain, HoP, HoS, CE, RD and CMO. Convert other crewmembers (excluding the heads of staff, and security officers) to your cause by flashing them. Protect your leaders.
\nPersonnel - Protect the heads of staff. Kill the leaders of the revolution, and brainwash the other revolutionaries (by beating them in the head).")
///////////////////////////////////////////////////////////////////////////////
@@ -135,7 +135,7 @@
/datum/game_mode/proc/greet_revolutionary(datum/mind/rev_mind, you_are=1)
update_rev_icons_added(rev_mind)
if (you_are)
- rev_mind.current << "You are a member of the revolutionaries' leadership!"
+ to_chat(rev_mind.current, "You are a member of the revolutionaries' leadership!")
rev_mind.special_role = "Head Revolutionary"
rev_mind.announce_objectives()
@@ -148,7 +148,7 @@
if (mob.mind)
if (mob.mind.assigned_role == "Clown")
- mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
+ to_chat(mob, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.")
mob.dna.remove_mutation(CLOWNMUT)
@@ -166,14 +166,14 @@
mob.equip_in_one_of_slots(R,slots)
if (!where2)
- mob << "The Syndicate were unfortunately unable to get you a chameleon security HUD."
+ to_chat(mob, "The Syndicate were unfortunately unable to get you a chameleon security HUD.")
else
- mob << "The chameleon security HUD in your [where2] will help you keep track of who is mindshield-implanted, and unable to be recruited."
+ to_chat(mob, "The chameleon security HUD in your [where2] will help you keep track of who is mindshield-implanted, and unable to be recruited.")
if (!where)
- mob << "The Syndicate were unfortunately unable to get you a flash."
+ to_chat(mob, "The Syndicate were unfortunately unable to get you a flash.")
else
- mob << "The flash in your [where] will help you to persuade the crew to join your cause."
+ to_chat(mob, "The flash in your [where] will help you to persuade the crew to join your cause.")
return 1
/////////////////////////////////
@@ -270,7 +270,7 @@
carbon_mob.silent = max(carbon_mob.silent, 5)
carbon_mob.flash_act(1, 1)
rev_mind.current.Stun(5)
- rev_mind.current << " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!"
+ to_chat(rev_mind.current, " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!")
rev_mind.current.log_message("Has been converted to the revolution!", INDIVIDUAL_ATTACK_LOG)
rev_mind.special_role = "Revolutionary"
update_rev_icons_added(rev_mind)
@@ -292,20 +292,20 @@
rev_mind.current.log_message("Has renounced the revolution!", INDIVIDUAL_ATTACK_LOG)
if(beingborged)
- rev_mind.current << "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]"
+ to_chat(rev_mind.current, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]")
message_admins("[ADMIN_LOOKUPFLW(rev_mind.current)] has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
else
rev_mind.current.Paralyse(5)
- rev_mind.current << "You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you..."
+ to_chat(rev_mind.current, "You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you...")
update_rev_icons_removed(rev_mind)
for(var/mob/living/M in view(rev_mind.current))
if(beingborged)
- M << "The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it."
+ to_chat(M, "The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.")
else
- M << "[rev_mind.current] looks like they just remembered their real allegiance!"
+ to_chat(M, "[rev_mind.current] looks like they just remembered their real allegiance!")
/////////////////////////////////////
//Adds the rev hud to a new convert//
@@ -351,13 +351,13 @@
/datum/game_mode/revolution/declare_completion()
if(finished == 1)
feedback_set_details("round_end_result","win - heads killed")
- world << "The heads of staff were killed or exiled! The revolutionaries win!"
+ to_chat(world, "The heads of staff were killed or exiled! The revolutionaries win!")
ticker.news_report = REVS_WIN
else if(finished == 2)
feedback_set_details("round_end_result","loss - rev heads killed")
- world << "The heads of staff managed to stop the revolution!"
+ to_chat(world, "The heads of staff managed to stop the revolution!")
ticker.news_report = REVS_LOSE
..()
@@ -375,19 +375,19 @@
if((survivor.mind in head_revolutionaries) || (survivor.mind in revolutionaries))
num_revs++
if(num_survivors)
- world << "[TAB]Command's Approval Rating: [100 - round((num_revs/num_survivors)*100, 0.1)]%" // % of loyal crew
+ to_chat(world, "[TAB]Command's Approval Rating: [100 - round((num_revs/num_survivors)*100, 0.1)]%" )
var/text = "
The head revolutionaries were:"
for(var/datum/mind/headrev in head_revolutionaries)
text += printplayer(headrev, 1)
text += "
"
- world << text
+ to_chat(world, text)
if(revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution))
var/text = "
The revolutionaries were:"
for(var/datum/mind/rev in revolutionaries)
text += printplayer(rev, 1)
text += "
"
- world << text
+ to_chat(world, text)
if( head_revolutionaries.len || revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution) )
var/text = "
The heads of staff were:"
@@ -398,4 +398,4 @@
text += "Target"
text += printplayer(head, 1)
text += "
"
- world << text
+ to_chat(world, text)
diff --git a/code/game/gamemodes/sandbox/airlock_maker.dm b/code/game/gamemodes/sandbox/airlock_maker.dm
index 597064a68f0..5e5e81e2e59 100644
--- a/code/game/gamemodes/sandbox/airlock_maker.dm
+++ b/code/game/gamemodes/sandbox/airlock_maker.dm
@@ -115,7 +115,7 @@
var/final = target_type
target_type = text2path(final)
if(!target_type)
- usr << "Didn't work, contact Sayu with this: [final]"
+ to_chat(usr, "Didn't work, contact Sayu with this: [final]")
usr << browse(null,"window=airlockmaker")
return
diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm
index f06b273d900..7c78d5b4976 100644
--- a/code/game/gamemodes/sandbox/h_sandbox.dm
+++ b/code/game/gamemodes/sandbox/h_sandbox.dm
@@ -114,11 +114,11 @@ var/hsboxspawn = 1
if("hsbtobj")
if(!admin) return
if(hsboxspawn)
- world << "Sandbox: \black[usr.key] has disabled object spawning!"
+ to_chat(world, "Sandbox: \black[usr.key] has disabled object spawning!")
hsboxspawn = 0
return
else
- world << "Sandbox: \black[usr.key] has enabled object spawning!"
+ to_chat(world, "Sandbox: \black[usr.key] has enabled object spawning!")
hsboxspawn = 1
return
//
@@ -127,10 +127,10 @@ var/hsboxspawn = 1
if("hsbtac")
if(!admin) return
if(config.sandbox_autoclose)
- world << "Sandbox: \black [usr.key] has removed the object spawn limiter."
+ to_chat(world, "Sandbox: \black [usr.key] has removed the object spawn limiter.")
config.sandbox_autoclose = 0
else
- world << "Sandbox: \black [usr.key] has added a limiter to object spawning. The window will now auto-close after use."
+ to_chat(world, "Sandbox: \black [usr.key] has added a limiter to object spawning. The window will now auto-close after use.")
config.sandbox_autoclose = 1
return
//
@@ -283,7 +283,7 @@ var/hsboxspawn = 1
var/typepath = text2path(href_list["path"])
if(!typepath)
- usr << "Bad path: \"[href_list["path"]]\""
+ to_chat(usr, "Bad path: \"[href_list["path"]]\"")
return
new typepath(usr.loc)
@@ -295,7 +295,7 @@ var/hsboxspawn = 1
if("hsbspawn")
var/typepath = text2path(href_list["path"])
if(!typepath)
- usr << "Bad path: \"[href_list["path"]]\""
+ to_chat(usr, "Bad path: \"[href_list["path"]]\"")
return
new typepath(usr.loc)
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index 7798a906680..df3f1ee5306 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -195,7 +195,7 @@
/datum/game_mode/proc/greet_traitor(datum/mind/traitor)
- traitor.current << "You are the [traitor_name]."
+ to_chat(traitor.current, "You are the [traitor_name].")
traitor.announce_objectives()
return
@@ -214,14 +214,14 @@
return//Traitors will be checked as part of check_extra_completion. Leaving this here as a reminder.
/proc/give_codewords(mob/living/traitor_mob)
- traitor_mob << "The Syndicate provided you with the following information on how to identify their agents:"
- traitor_mob << "Code Phrase: [syndicate_code_phrase]"
- traitor_mob << "Code Response: [syndicate_code_response]"
+ to_chat(traitor_mob, "The Syndicate provided you with the following information on how to identify their agents:")
+ to_chat(traitor_mob, "Code Phrase: [syndicate_code_phrase]")
+ to_chat(traitor_mob, "Code Response: [syndicate_code_response]")
traitor_mob.mind.store_memory("Code Phrase: [syndicate_code_phrase]")
traitor_mob.mind.store_memory("Code Response: [syndicate_code_response]")
- traitor_mob << "Use the code words in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe."
+ to_chat(traitor_mob, "Use the code words in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe.")
/datum/game_mode/proc/add_law_zero(mob/living/silicon/ai/killer)
@@ -230,7 +230,7 @@
killer.set_zeroth_law(law, law_borg)
give_codewords(killer)
killer.set_syndie_radio()
- killer << "Your radio has been upgraded! Use :t to speak on an encrypted channel with Syndicate Agents!"
+ to_chat(killer, "Your radio has been upgraded! Use :t to speak on an encrypted channel with Syndicate Agents!")
killer.add_malf_picker()
/datum/game_mode/proc/add_law_sixsixsix(mob/living/silicon/devil)
@@ -292,7 +292,7 @@
text += "
The code phrases were: [syndicate_code_phrase]
\
The code responses were: [syndicate_code_response]
"
- world << text
+ to_chat(world, text)
return 1
@@ -303,7 +303,7 @@
. = 1
if (traitor_mob.mind)
if (traitor_mob.mind.assigned_role == "Clown")
- traitor_mob << "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself."
+ to_chat(traitor_mob, "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.")
traitor_mob.dna.remove_mutation(CLOWNMUT)
var/list/all_contents = traitor_mob.GetAllContents()
@@ -335,7 +335,7 @@
uplink_loc = R
if (!uplink_loc)
- traitor_mob << "Unfortunately, the Syndicate wasn't able to get you an Uplink."
+ to_chat(traitor_mob, "Unfortunately, the Syndicate wasn't able to get you an Uplink.")
. = 0
else
var/obj/item/device/uplink/U = new(uplink_loc)
@@ -345,19 +345,19 @@
if(uplink_loc == R)
R.traitor_frequency = sanitize_frequency(rand(MIN_FREQ, MAX_FREQ))
- traitor_mob << "The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name]. Simply dial the frequency [format_frequency(R.traitor_frequency)] to unlock its hidden features."
+ to_chat(traitor_mob, "The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name]. Simply dial the frequency [format_frequency(R.traitor_frequency)] to unlock its hidden features.")
traitor_mob.mind.store_memory("Radio Frequency: [format_frequency(R.traitor_frequency)] ([R.name]).")
else if(uplink_loc == PDA)
PDA.lock_code = "[rand(100,999)] [pick("Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-ray","Yankee","Zulu")]"
- traitor_mob << "The Syndicate have cunningly disguised a Syndicate Uplink as your [PDA.name]. Simply enter the code \"[PDA.lock_code]\" into the ringtone select to unlock its hidden features."
+ to_chat(traitor_mob, "The Syndicate have cunningly disguised a Syndicate Uplink as your [PDA.name]. Simply enter the code \"[PDA.lock_code]\" into the ringtone select to unlock its hidden features.")
traitor_mob.mind.store_memory("Uplink Passcode: [PDA.lock_code] ([PDA.name]).")
else if(uplink_loc == P)
P.traitor_unlock_degrees = rand(1, 360)
- traitor_mob << "The Syndicate have cunningly disguised a Syndicate Uplink as your [P.name]. Simply twist the top of the pen [P.traitor_unlock_degrees] from its starting position to unlock its hidden features."
+ to_chat(traitor_mob, "The Syndicate have cunningly disguised a Syndicate Uplink as your [P.name]. Simply twist the top of the pen [P.traitor_unlock_degrees] from its starting position to unlock its hidden features.")
traitor_mob.mind.store_memory("Uplink Degrees: [P.traitor_unlock_degrees] ([P.name]).")
if(!safety) // If they are not a rev. Can be added on to.
@@ -400,7 +400,7 @@
var/equipped_slot = mob.equip_in_one_of_slots(folder, slots)
if (equipped_slot)
where = "In your [equipped_slot]"
- mob << "
[where] is a folder containing secret documents that another Syndicate group wants. We have set up a meeting with one of their agents on station to make an exchange. Exercise extreme caution as they cannot be trusted and may be hostile.
"
+ to_chat(mob, "
[where] is a folder containing secret documents that another Syndicate group wants. We have set up a meeting with one of their agents on station to make an exchange. Exercise extreme caution as they cannot be trusted and may be hostile.
")
/datum/game_mode/proc/update_traitor_icons_added(datum/mind/traitor_mind)
var/datum/atom_hud/antag/traitorhud = huds[ANTAG_HUD_TRAITOR]
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index a6af1d860b6..a0b9ef76c30 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -26,7 +26,7 @@
charges--
user.visible_message("[src] hums with power as [user] deals a blow to [activate_descriptor] itself!")
else
- user << "The unearthly energies that powered the blade are now dormant."
+ to_chat(user, "The unearthly energies that powered the blade are now dormant.")
/obj/effect/rend
name = "tear in the fabric of reality"
@@ -114,7 +114,7 @@
hitsound = 'sound/items/welder2.ogg'
/obj/item/weapon/scrying/attack_self(mob/user)
- user << "You can see...everything!"
+ to_chat(user, "You can see...everything!")
visible_message("[user] stares into [src], their eyes glazing over.")
user.ghostize(1)
return
@@ -143,23 +143,23 @@
return
if(M.stat != DEAD)
- user << "This artifact can only affect the dead!"
+ to_chat(user, "This artifact can only affect the dead!")
return
if(!M.mind || !M.client)
- user << "There is no soul connected to this body..."
+ to_chat(user, "There is no soul connected to this body...")
return
check_spooky()//clean out/refresh the list
if(spooky_scaries.len >= 3 && !unlimited)
- user << "This artifact can only affect three undead at a time!"
+ to_chat(user, "This artifact can only affect three undead at a time!")
return
M.set_species(/datum/species/skeleton, icon_update=0)
M.revive(full_heal = 1, admin_revive = 1)
spooky_scaries |= M
- M << "You have been revived by [user.real_name]!"
- M << "[user.p_they(TRUE)] [user.p_are()] your master now, assist them even if it costs you your new life!"
+ to_chat(M, "You have been revived by [user.real_name]!")
+ to_chat(M, "[user.p_they(TRUE)] [user.p_are()] your master now, assist them even if it costs you your new life!")
equip_roman_skeleton(M)
@@ -226,7 +226,7 @@ var/global/list/multiverse = list()
/obj/item/weapon/multisword/attack_self(mob/user)
if(user.mind.special_role == "apprentice")
- user << "You know better than to touch your teacher's stuff."
+ to_chat(user, "You know better than to touch your teacher's stuff.")
return
if(cooldown < world.time)
var/faction_check = 0
@@ -238,19 +238,19 @@ var/global/list/multiverse = list()
faction = list("[user.real_name]")
assigned = "[user.real_name]"
user.faction = list("[user.real_name]")
- user << "You bind the sword to yourself. You can now use it to summon help."
+ to_chat(user, "You bind the sword to yourself. You can now use it to summon help.")
if(!is_gangster(user))
var/datum/gang/multiverse/G = new(src, "[user.real_name]")
ticker.mode.gangs += G
G.bosses += user.mind
G.add_gang_hud(user.mind)
user.mind.gang_datum = G
- user << "With your new found power you could easily conquer the station!"
+ to_chat(user, "With your new found power you could easily conquer the station!")
var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone
hijack_objective.owner = user.mind
user.mind.objectives += hijack_objective
hijack_objective.explanation_text = "Ensure only [user.real_name] and their copies are on the shuttle!"
- user << "Objective #[1]: [hijack_objective.explanation_text]"
+ to_chat(user, "Objective #[1]: [hijack_objective.explanation_text]")
ticker.mode.traitors += user.mind
user.mind.special_role = "[user.real_name] Prime"
else
@@ -258,16 +258,16 @@ var/global/list/multiverse = list()
if(candidates.len)
var/client/C = pick(candidates)
spawn_copy(C, get_turf(user.loc), user)
- user << "The sword flashes, and you find yourself face to face with...you!"
+ to_chat(user, "The sword flashes, and you find yourself face to face with...you!")
cooldown = world.time + 400
for(var/obj/item/weapon/multisword/M in multiverse)
if(M.assigned == assigned)
M.cooldown = cooldown
else
- user << "You fail to summon any copies of yourself. Perhaps you should try again in a bit."
+ to_chat(user, "You fail to summon any copies of yourself. Perhaps you should try again in a bit.")
else
- user << "[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies."
+ to_chat(user, "[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies.")
/obj/item/weapon/multisword/proc/spawn_copy(var/client/C, var/turf/T, mob/user)
@@ -275,7 +275,7 @@ var/global/list/multiverse = list()
C.prefs.copy_to(M, icon_updates=0)
M.key = C.key
M.mind.name = user.real_name
- M << "You are an alternate version of [user.real_name] from another universe! Help them accomplish their goals at all costs."
+ to_chat(M, "You are an alternate version of [user.real_name] from another universe! Help them accomplish their goals at all costs.")
ticker.mode.add_gangster(M.mind, user.mind.gang_datum, FALSE)
M.real_name = user.real_name
M.name = user.real_name
@@ -461,15 +461,15 @@ var/global/list/multiverse = list()
/obj/item/voodoo/attackby(obj/item/I, mob/user, params)
if(target && cooldown < world.time)
if(I.is_hot())
- target << "You suddenly feel very hot"
+ to_chat(target, "You suddenly feel very hot")
target.bodytemperature += 50
GiveHint(target)
else if(is_pointed(I))
- target << "You feel a stabbing pain in [parse_zone(user.zone_selected)]!"
+ to_chat(target, "You feel a stabbing pain in [parse_zone(user.zone_selected)]!")
target.Weaken(2)
GiveHint(target)
else if(istype(I,/obj/item/weapon/bikehorn))
- target << "HONK"
+ to_chat(target, "HONK")
target << 'sound/items/AirHorn.ogg'
target.adjustEarDamage(0,3)
GiveHint(target)
@@ -481,7 +481,7 @@ var/global/list/multiverse = list()
user.drop_item()
I.loc = src
link = I
- user << "You attach [I] to the doll."
+ to_chat(user, "You attach [I] to the doll.")
update_targets()
/obj/item/voodoo/check_eye(mob/user)
@@ -498,7 +498,7 @@ var/global/list/multiverse = list()
if(link)
target = null
link.loc = get_turf(src)
- user << "You remove the [link] from the doll."
+ to_chat(user, "You remove the [link] from the doll.")
link = null
update_targets()
return
@@ -516,16 +516,16 @@ var/global/list/multiverse = list()
user.reset_perspective(null)
user.unset_machine()
if("r_leg","l_leg")
- user << "You move the doll's legs around."
+ to_chat(user, "You move the doll's legs around.")
var/turf/T = get_step(target,pick(cardinal))
target.Move(T)
if("r_arm","l_arm")
target.click_random_mob()
GiveHint(target)
if("head")
- user << "You smack the doll's head with your hand."
+ to_chat(user, "You smack the doll's head with your hand.")
target.Dizzy(10)
- target << "You suddenly feel as if your head was hit with a hammer!"
+ to_chat(target, "You suddenly feel as if your head was hit with a hammer!")
GiveHint(target,user)
cooldown = world.time + cooldown_time
@@ -540,10 +540,10 @@ var/global/list/multiverse = list()
/obj/item/voodoo/proc/GiveHint(mob/victim,force=0)
if(prob(50) || force)
var/way = dir2text(get_dir(victim,get_turf(src)))
- victim << "You feel a dark presence from [way]"
+ to_chat(victim, "You feel a dark presence from [way]")
if(prob(20) || force)
var/area/A = get_area(src)
- victim << "You feel a dark presence from [A.name]"
+ to_chat(victim, "You feel a dark presence from [A.name]")
/obj/item/voodoo/fire_act(exposed_temperature, exposed_volume)
if(target)
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index 4805c884929..d3253f2f951 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -32,13 +32,13 @@
max_mages = INFINITY
/datum/game_mode/wizard/raginmages/greet_wizard(datum/mind/wizard, you_are=1)
if (you_are)
- wizard.current << "You are the Space Wizard!"
- wizard.current << "The Space Wizards Federation has given you the following tasks:"
+ to_chat(wizard.current, "You are the Space Wizard!")
+ to_chat(wizard.current, "The Space Wizards Federation has given you the following tasks:")
var/obj_count = 1
- wizard.current << "Objective Alpha: Make sure the station pays for its actions against our diplomats"
+ to_chat(wizard.current, "Objective Alpha: Make sure the station pays for its actions against our diplomats")
for(var/datum/objective/objective in wizard.objectives)
- wizard.current << "Objective #[obj_count]: [objective.explanation_text]"
+ to_chat(wizard.current, "Objective #[obj_count]: [objective.explanation_text]")
obj_count++
return
@@ -53,7 +53,7 @@
continue
if(wizard.current.stat==UNCONSCIOUS)
if(wizard.current.health < 0)
- wizard.current << "The Space Wizard Federation is upset with your performance and have terminated your employment."
+ to_chat(wizard.current, "The Space Wizard Federation is upset with your performance and have terminated your employment.")
wizard.current.death()
continue
wizards_alive++
@@ -133,7 +133,7 @@
/datum/game_mode/wizard/raginmages/declare_completion()
if(finished)
feedback_set_details("round_end_result","loss - wizard killed")
- world << "The crew has managed to hold off the wizard attack! The Space Wizards Federation has been taught a lesson they will not soon forget!"
+ to_chat(world, "The crew has managed to hold off the wizard attack! The Space Wizards Federation has been taught a lesson they will not soon forget!")
..(1)
/datum/game_mode/wizard/raginmages/proc/makeBody(mob/dead/observer/G_found) // Uses stripped down and bastardized code from respawn character
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index 45f00fa7fc3..c12d542ae4b 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -30,33 +30,31 @@
/obj/item/device/soulstone/pickup(mob/living/user)
..()
if(!iscultist(user) && !iswizard(user) && !usability)
- user << "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly."
+ to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly.")
user.Dizzy(120)
/obj/item/device/soulstone/examine(mob/user)
..()
if(usability || iscultist(user) || iswizard(user) || isobserver(user))
- user << "A soulstone, used to capture souls, either from unconscious or sleeping humans or from freed shades."
- user << "The captured soul can be placed into a construct shell to produce a construct, or released from the stone as a shade."
+ to_chat(user, "A soulstone, used to capture souls, either from unconscious or sleeping humans or from freed shades.")
+ to_chat(user, "The captured soul can be placed into a construct shell to produce a construct, or released from the stone as a shade.")
if(spent)
- user << "This shard is spent; it is now just \
- a creepy rock."
+ to_chat(user, "This shard is spent; it is now just a creepy rock.")
//////////////////////////////Capturing////////////////////////////////////////////////////////
/obj/item/device/soulstone/attack(mob/living/carbon/human/M, mob/user)
if(!iscultist(user) && !iswizard(user) && !usability)
user.Paralyse(5)
- user << "Your body is wracked with debilitating pain!"
+ to_chat(user, "Your body is wracked with debilitating pain!")
return
if(spent)
- user << "There is no power left in the shard.\
- "
+ to_chat(user, "There is no power left in the shard.")
return
if(!ishuman(M))//If target is not a human.
return ..()
if(iscultist(M))
- user << "\"Come now, do not capture your fellow's soul.\""
+ to_chat(user, "\"Come now, do not capture your fellow's soul.\"")
return
add_logs(user, M, "captured [M.name]'s soul", src)
@@ -69,7 +67,7 @@
return
if(!iscultist(user) && !iswizard(user) && !usability)
user.Paralyse(5)
- user << "Your body is wracked with debilitating pain!"
+ to_chat(user, "Your body is wracked with debilitating pain!")
return
for(var/mob/living/simple_animal/shade/A in src)
A.status_flags &= ~GODMODE
@@ -79,9 +77,9 @@
icon_state = "soulstone"
name = initial(name)
if(iswizard(user) || usability)
- A << "You have been released from your prison, but you are still bound to [user.real_name]'s will. Help them succeed in their goals at all costs."
+ to_chat(A, "You have been released from your prison, but you are still bound to [user.real_name]'s will. Help them succeed in their goals at all costs.")
else if(iscultist(user))
- A << "You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs."
+ to_chat(A, "You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.")
was_used()
///////////////////////////Transferring to constructs/////////////////////////////////////////////////////
@@ -94,17 +92,17 @@
/obj/structure/constructshell/examine(mob/user)
..()
if(iscultist(user) || iswizard(user) || user.stat == DEAD)
- user << "A construct shell, used to house bound souls from a soulstone."
- user << "Placing a soulstone with a soul into this shell allows you to produce your choice of the following:"
- user << "An Artificer, which can produce more shells and soulstones, as well as fortifications."
- user << "A Wraith, which does high damage and can jaunt through walls, though it is quite fragile."
- user << "A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow."
+ to_chat(user, "A construct shell, used to house bound souls from a soulstone.")
+ to_chat(user, "Placing a soulstone with a soul into this shell allows you to produce your choice of the following:")
+ to_chat(user, "An Artificer, which can produce more shells and soulstones, as well as fortifications.")
+ to_chat(user, "A Wraith, which does high damage and can jaunt through walls, though it is quite fragile.")
+ to_chat(user, "A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow.")
/obj/structure/constructshell/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/device/soulstone))
var/obj/item/device/soulstone/SS = O
if(!iscultist(user) && !iswizard(user) && !SS.usability)
- user << "An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell. It would be wise to be rid of this quickly."
+ to_chat(user, "An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell. It would be wise to be rid of this quickly.")
user.Dizzy(120)
return
SS.transfer_soul("CONSTRUCT",src,user)
@@ -129,23 +127,23 @@
init_shade(T, user)
return 1
else
- user << "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back..."
+ to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...")
return getCultGhost(T,user)
if("VICTIM")
var/mob/living/carbon/human/T = target
if(ticker.mode.name == "cult" && T.mind == ticker.mode:sacrifice_target)
if(iscultist(user))
- user << "\"This soul is mine. SACRIFICE THEM!\""
+ to_chat(user, "\"This soul is mine. SACRIFICE THEM!\"")
else
- user << "The soulstone doesn't work for no apparent reason."
+ to_chat(user, "The soulstone doesn't work for no apparent reason.")
return 0
if(contents.len)
- user << "Capture failed!: The soulstone is full! Free an existing soul to make room."
+ to_chat(user, "Capture failed!: The soulstone is full! Free an existing soul to make room.")
else
if(T.stat != CONSCIOUS)
if(T.client == null)
- user << "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back..."
+ to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...")
getCultGhost(T,user)
else
for(var/obj/item/W in T)
@@ -153,12 +151,12 @@
init_shade(T, user, vic = 1)
qdel(T)
else
- user << "Capture failed!: Kill or maim the victim first!"
+ to_chat(user, "Capture failed!: Kill or maim the victim first!")
if("SHADE")
var/mob/living/simple_animal/shade/T = target
if(contents.len)
- user << "Capture failed!: The soulstone is full! Free an existing soul to make room."
+ to_chat(user, "Capture failed!: The soulstone is full! Free an existing soul to make room.")
else
T.loc = src //put shade in stone
T.status_flags |= GODMODE
@@ -166,9 +164,9 @@
T.health = T.maxHealth
icon_state = "soulstone2"
name = "soulstone: Shade of [T.real_name]"
- T << "Your soul has been captured by the soulstone. Its arcane energies are reknitting your ethereal form."
+ to_chat(T, "Your soul has been captured by the soulstone. Its arcane energies are reknitting your ethereal form.")
if(user != T)
- user << "Capture successful!: [T.real_name]'s soul has been captured and stored within the soulstone."
+ to_chat(user, "Capture successful!: [T.real_name]'s soul has been captured and stored within the soulstone.")
if("CONSTRUCT")
var/obj/structure/constructshell/T = target
@@ -195,7 +193,7 @@
user.drop_item()
qdel(src)
else
- user << "Creation failed!: The soul stone is empty! Go kill someone!"
+ to_chat(user, "Creation failed!: The soul stone is empty! Go kill someone!")
/proc/makeNewConstruct(mob/living/simple_animal/hostile/construct/ctype, mob/target, mob/stoner = null, cultoverride = 0, loc_override = null)
@@ -206,9 +204,9 @@
if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && ticker && ticker.mode)
ticker.mode.add_cultist(newstruct.mind, 0)
if(iscultist(stoner) || cultoverride)
- newstruct << "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow their orders and help them complete their goals at all costs."
+ to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow their orders and help them complete their goals at all costs.")
else if(stoner)
- newstruct << "You are still bound to serve your creator, [stoner], follow their orders and help them complete their goals at all costs."
+ to_chat(newstruct, "You are still bound to serve your creator, [stoner], follow their orders and help them complete their goals at all costs.")
newstruct.cancel_camera()
@@ -230,11 +228,11 @@
name = "soulstone: Shade of [T.real_name]"
icon_state = "soulstone2"
if(U && (iswizard(U) || usability))
- S << "Your soul has been captured! You are now bound to [U.real_name]'s will. Help them succeed in their goals at all costs."
+ to_chat(S, "Your soul has been captured! You are now bound to [U.real_name]'s will. Help them succeed in their goals at all costs.")
else if(U && iscultist(U))
- S << "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs."
+ to_chat(S, "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.")
if(vic && U)
- U << "Capture successful!: [T.real_name]'s soul has been ripped from their body and stored within the soul stone."
+ to_chat(U, "Capture successful!: [T.real_name]'s soul has been ripped from their body and stored within the soul stone.")
/obj/item/device/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/U)
@@ -252,7 +250,7 @@
if(!T)
return 0
if(!chosen_ghost)
- U << "There were no spirits willing to become a shade."
+ to_chat(U, "There were no spirits willing to become a shade.")
return 0
if(contents.len) //If they used the soulstone on someone else in the meantime
return 0
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 8200fb1481c..918d9178fb4 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -35,7 +35,7 @@
for(var/obj/effect/proc_holder/spell/aspell in user.mind.spell_list)
if(initial(S.name) == initial(aspell.name)) // Not using directly in case it was learned from one spellbook then upgraded in another
if(aspell.spell_level >= aspell.level_max)
- user << "This spell cannot be improved further."
+ to_chat(user, "This spell cannot be improved further.")
return 0
else
aspell.name = initial(aspell.name)
@@ -45,24 +45,24 @@
aspell.charge_counter = aspell.charge_max
switch(aspell.spell_level)
if(1)
- user << "You have improved [aspell.name] into Efficient [aspell.name]."
+ to_chat(user, "You have improved [aspell.name] into Efficient [aspell.name].")
aspell.name = "Efficient [aspell.name]"
if(2)
- user << "You have further improved [aspell.name] into Quickened [aspell.name]."
+ to_chat(user, "You have further improved [aspell.name] into Quickened [aspell.name].")
aspell.name = "Quickened [aspell.name]"
if(3)
- user << "You have further improved [aspell.name] into Free [aspell.name]."
+ to_chat(user, "You have further improved [aspell.name] into Free [aspell.name].")
aspell.name = "Free [aspell.name]"
if(4)
- user << "You have further improved [aspell.name] into Instant [aspell.name]."
+ to_chat(user, "You have further improved [aspell.name] into Instant [aspell.name].")
aspell.name = "Instant [aspell.name]"
if(aspell.spell_level >= aspell.level_max)
- user << "This spell cannot be strengthened any further."
+ to_chat(user, "This spell cannot be strengthened any further.")
return 1
//No same spell found - just learn it
feedback_add_details("wizard_spell_learned",log_name)
user.mind.AddSpell(S)
- user << "You have learned [S.name]."
+ to_chat(user, "You have learned [S.name].")
return 1
/datum/spellbook_entry/proc/CanRefund(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
@@ -78,7 +78,7 @@
/datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) //return point value or -1 for failure
var/area/wizard_station/A = locate()
if(!(user in A.contents))
- user << "You can only refund spells at the wizard lair"
+ to_chat(user, "You can only refund spells at the wizard lair")
return -1
if(!S)
S = new spell_type()
@@ -516,7 +516,7 @@
feedback_add_details("wizard_spell_learned", log_name)
new /datum/round_event/wizard/ghost()
active = TRUE
- user << "You have cast summon ghosts!"
+ to_chat(user, "You have cast summon ghosts!")
playsound(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1)
return TRUE
@@ -535,7 +535,7 @@
rightandwrong(0, user, 25)
active = 1
playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1)
- user << "You have cast summon guns!"
+ to_chat(user, "You have cast summon guns!")
return 1
/datum/spellbook_entry/summon/magic
@@ -553,7 +553,7 @@
rightandwrong(1, user, 25)
active = 1
playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1)
- user << "You have cast summon magic!"
+ to_chat(user, "You have cast summon magic!")
return 1
/datum/spellbook_entry/summon/events
@@ -573,7 +573,7 @@
summonevents()
times++
playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1)
- user << "You have cast summon events."
+ to_chat(user, "You have cast summon events.")
return 1
/datum/spellbook_entry/summon/events/GetInfo()
@@ -601,9 +601,9 @@
/obj/item/weapon/spellbook/examine(mob/user)
..()
if(owner)
- user << "There is a small signature on the front cover: \"[owner]\"."
+ to_chat(user, "There is a small signature on the front cover: \"[owner]\".")
else
- user << "It appears to have no author."
+ to_chat(user, "It appears to have no author.")
/obj/item/weapon/spellbook/Initialize()
..()
@@ -621,16 +621,16 @@
if(istype(O, /obj/item/weapon/antag_spawner/contract))
var/obj/item/weapon/antag_spawner/contract/contract = O
if(contract.used)
- user << "The contract has been used, you can't get your points back now!"
+ to_chat(user, "The contract has been used, you can't get your points back now!")
else
- user << "You feed the contract back into the spellbook, refunding your points."
+ to_chat(user, "You feed the contract back into the spellbook, refunding your points.")
uses++
for(var/datum/spellbook_entry/item/contract/CT in entries)
if(!isnull(CT.limit))
CT.limit++
qdel(O)
else if(istype(O, /obj/item/weapon/antag_spawner/slaughter_demon))
- user << "On second thought, maybe summoning a demon is a bad idea. You refund your points."
+ to_chat(user, "On second thought, maybe summoning a demon is a bad idea. You refund your points.")
uses++
for(var/datum/spellbook_entry/item/bloodbottle/BB in entries)
if(!isnull(BB.limit))
@@ -689,11 +689,11 @@
/obj/item/weapon/spellbook/attack_self(mob/user)
if(!owner)
- user << "You bind the spellbook to yourself."
+ to_chat(user, "You bind the spellbook to yourself.")
owner = user
return
if(user != owner)
- user << "The [name] does not recognize you as its owner and refuses to open!"
+ to_chat(user, "The [name] does not recognize you as its owner and refuses to open!")
return
user.set_machine(src)
var/dat = ""
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index e2296f498a3..a6b3fed6248 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -26,7 +26,7 @@
wizard.assigned_role = "Wizard"
wizard.special_role = "Wizard"
if(wizardstart.len == 0)
- wizard.current << "A starting location for you could not be found, please report this bug!"
+ to_chat(wizard.current, "A starting location for you could not be found, please report this bug!")
return 0
for(var/datum/mind/wiz in wizards)
wiz.current.loc = pick(wizardstart)
@@ -115,8 +115,8 @@
/datum/game_mode/proc/greet_wizard(datum/mind/wizard, you_are=1)
if (you_are)
- wizard.current << "You are the Space Wizard!"
- wizard.current << "The Space Wizards Federation has given you the following tasks:"
+ to_chat(wizard.current, "You are the Space Wizard!")
+ to_chat(wizard.current, "The Space Wizards Federation has given you the following tasks:")
wizard.announce_objectives()
return
@@ -155,9 +155,9 @@
spellbook.owner = wizard_mob
wizard_mob.put_in_hands_or_del(spellbook)
- wizard_mob << "You will find a list of available spells in your spell book. Choose your magic arsenal carefully."
- wizard_mob << "The spellbook is bound to you, and others cannot use it."
- wizard_mob << "In your pockets you will find a teleport scroll. Use it as needed."
+ to_chat(wizard_mob, "You will find a list of available spells in your spell book. Choose your magic arsenal carefully.")
+ to_chat(wizard_mob, "The spellbook is bound to you, and others cannot use it.")
+ to_chat(wizard_mob, "In your pockets you will find a teleport scroll. Use it as needed.")
wizard_mob.mind.store_memory("Remember: do not forget to prepare your spells.")
return 1
@@ -177,7 +177,7 @@
/datum/game_mode/wizard/declare_completion()
if(finished)
feedback_set_details("round_end_result","loss - wizard killed")
- world << "The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!"
+ to_chat(world, "The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!")
ticker.news_report = WIZARD_KILLED
@@ -231,7 +231,7 @@
i++
text += "
"
- world << text
+ to_chat(world, text)
return 1
//OTHER PROCS
diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm
index 442509f745e..3afff792902 100644
--- a/code/game/machinery/PDApainter.dm
+++ b/code/game/machinery/PDApainter.dm
@@ -68,7 +68,7 @@
else if(istype(O, /obj/item/device/pda))
if(storedpda)
- user << "There is already a PDA inside!"
+ to_chat(user, "There is already a PDA inside!")
return
else
var/obj/item/device/pda/P = user.get_active_held_item()
@@ -91,13 +91,13 @@
if(do_after(user,40*WT.toolspeed, 1, target = src))
if(!WT.isOn() || !(stat & BROKEN))
return
- user << "You repair [src]."
+ to_chat(user, "You repair [src].")
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
stat &= ~BROKEN
obj_integrity = max_integrity
update_icon()
else
- user << "[src] does not need repairs."
+ to_chat(user, "[src] does not need repairs.")
else
return ..()
@@ -125,7 +125,7 @@
ejectpda()
else
- user << "\The [src] is empty."
+ to_chat(user, "\The [src] is empty.")
/obj/machinery/pdapainter/verb/ejectpda()
@@ -141,7 +141,7 @@
storedpda = null
update_icon()
else
- usr << "The [src] is empty."
+ to_chat(usr, "The [src] is empty.")
/obj/machinery/pdapainter/power_change()
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 59a59e669ec..3fcaaa23c1c 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -80,7 +80,7 @@
if((isnull(user) || istype(user)) && state_open && !panel_open)
..(user)
if(occupant && occupant.stat != DEAD)
- occupant << "You feel cool air surround you. You go numb as your senses turn inward."
+ to_chat(occupant, "You feel cool air surround you. You go numb as your senses turn inward.")
/obj/machinery/sleeper/emp_act(severity)
if(is_operational() && occupant)
@@ -165,11 +165,11 @@
if(inject_chem(chem))
. = TRUE
if(scrambled_chems && prob(5))
- usr << "Chem System Re-route detected, results may not be as expected!"
+ to_chat(usr, "Chem System Re-route detected, results may not be as expected!")
/obj/machinery/sleeper/emag_act(mob/user)
scramble_chem_buttons()
- user << "You scramble the sleepers user interface!"
+ to_chat(user, "You scramble the sleepers user interface!")
/obj/machinery/sleeper/proc/inject_chem(chem)
if((chem in available_chems) && chem_allowed(chem))
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index b57b21d0839..7f444fb93a3 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -40,7 +40,7 @@
else // trying to unlock the interface
if (src.allowed(user))
locked = !locked
- user << "You [ locked ? "lock" : "unlock"] the device."
+ to_chat(user, "You [ locked ? "lock" : "unlock"] the device.")
if (locked)
if (user.machine==src)
user.unset_machine()
@@ -49,7 +49,7 @@
if (user.machine==src)
src.attack_hand(user)
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
/obj/machinery/ai_slipper/attack_ai(mob/user)
@@ -60,7 +60,7 @@
return
if ( (get_dist(src, user) > 1 ))
if (!(issilicon(user) || IsAdminGhost(user)))
- user << text("Too far away.")
+ to_chat(user, text("Too far away."))
user.unset_machine()
user << browse(null, "window=ai_slipper")
return
@@ -82,7 +82,7 @@
return
if (src.locked)
if(!(issilicon(usr)|| IsAdminGhost(usr)))
- usr << "Control panel is locked!"
+ to_chat(usr, "Control panel is locked!")
return
if (href_list["toggleOn"])
src.disabled = !src.disabled
diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm
index 3e8bfa1cc5a..14648d0e3c2 100644
--- a/code/game/machinery/announcement_system.dm
+++ b/code/game/machinery/announcement_system.dm
@@ -73,12 +73,12 @@ var/list/announcement_systems = list()
if(istype(P, /obj/item/weapon/screwdriver))
playsound(src.loc, P.usesound, 50, 1)
panel_open = !panel_open
- user << "You [panel_open ? "open" : "close"] the maintenance hatch of [src]."
+ to_chat(user, "You [panel_open ? "open" : "close"] the maintenance hatch of [src].")
update_icon()
else if(default_deconstruction_crowbar(P))
return
else if(istype(P, /obj/item/device/multitool) && panel_open && (stat & BROKEN))
- user << "You reset [src]'s firmware."
+ to_chat(user, "You reset [src]'s firmware.")
stat &= ~BROKEN
update_icon()
else
@@ -159,7 +159,7 @@ var/list/announcement_systems = list()
if(!issilicon(user))
return
if(stat & BROKEN)
- user << "[src]'s firmware appears to be malfunctioning!"
+ to_chat(user, "[src]'s firmware appears to be malfunctioning!")
return
interact(user)
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 7c3a5ff3879..4b8b9c547f6 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -97,7 +97,7 @@
/obj/machinery/autolathe/attackby(obj/item/O, mob/user, params)
if (busy)
- user << "The autolathe is busy. Please wait for completion of previous operation."
+ to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.")
return 1
if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", O))
@@ -140,13 +140,13 @@
var/material_amount = materials.get_item_material_amount(O)
if(!material_amount)
- user << "This object does not contain sufficient amounts of metal or glass to be accepted by the autolathe."
+ to_chat(user, "This object does not contain sufficient amounts of metal or glass to be accepted by the autolathe.")
return 1
if(!materials.has_space(material_amount))
- user << "The autolathe is full. Please remove metal or glass from the autolathe in order to insert more."
+ to_chat(user, "The autolathe is full. Please remove metal or glass from the autolathe in order to insert more.")
return 1
if(!user.temporarilyRemoveItemFromInventory(O))
- user << "\The [O] is stuck to you and cannot be placed into the autolathe."
+ to_chat(user, "\The [O] is stuck to you and cannot be placed into the autolathe.")
return 1
busy = 1
@@ -157,12 +157,12 @@
flick("autolathe_o",src)//plays metal insertion animation
if (O.materials[MAT_GLASS])
flick("autolathe_r",src)//plays glass insertion animation
- user << "You insert [inserted] sheet[inserted>1 ? "s" : ""] to the autolathe."
+ to_chat(user, "You insert [inserted] sheet[inserted>1 ? "s" : ""] to the autolathe.")
use_power(inserted*100)
if(!QDELETED(O))
user.put_in_active_hand(O)
else
- user << "You insert a material total of [inserted] to the autolathe."
+ to_chat(user, "You insert a material total of [inserted] to the autolathe.")
use_power(max(500,inserted/10))
qdel(O)
else
@@ -248,7 +248,7 @@
matching_designs.Add(D)
updateUsrDialog()
else
- usr << "The autolathe is busy. Please wait for completion of previous operation."
+ to_chat(usr, "The autolathe is busy. Please wait for completion of previous operation.")
updateUsrDialog()
diff --git a/code/game/machinery/bank_machine.dm b/code/game/machinery/bank_machine.dm
index 16b94c1236f..35f7babe1e1 100644
--- a/code/game/machinery/bank_machine.dm
+++ b/code/game/machinery/bank_machine.dm
@@ -16,7 +16,7 @@
value = C.value
if(value)
SSshuttle.points += value
- user << "You deposit [I]. The station now has [SSshuttle.points] credits."
+ to_chat(user, "You deposit [I]. The station now has [SSshuttle.points] credits.")
qdel(I)
return
return ..()
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index d8fd11bc97b..7e3a62382d0 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -62,34 +62,34 @@
default_deconstruction_screwdriver(user, "button-open", "[skin]",W)
update_icon()
else
- user << "Maintenance Access Denied"
+ to_chat(user, "Maintenance Access Denied")
flick("[skin]-denied", src)
return
if(panel_open)
if(!device && istype(W, /obj/item/device/assembly))
if(!user.transferItemToLoc(W, src))
- user << "\The [W] is stuck to you!"
+ to_chat(user, "\The [W] is stuck to you!")
return
device = W
- user << "You add [W] to the button."
+ to_chat(user, "You add [W] to the button.")
if(!board && istype(W, /obj/item/weapon/electronics/airlock))
if(!user.transferItemToLoc(W, src))
- user << "\The [W] is stuck to you!"
+ to_chat(user, "\The [W] is stuck to you!")
return
board = W
if(board.one_access)
req_one_access = board.accesses
else
req_access = board.accesses
- user << "You add [W] to the button."
+ to_chat(user, "You add [W] to the button.")
if(!device && !board && istype(W, /obj/item/weapon/wrench))
- user << "You start unsecuring the button frame..."
+ to_chat(user, "You start unsecuring the button frame...")
playsound(loc, W.usesound, 50, 1)
if(do_after(user, 40*W.toolspeed, target = src))
- user << "You unsecure the button frame."
+ to_chat(user, "You unsecure the button frame.")
transfer_fingerprints_to(new /obj/item/wallframe/button(get_turf(src)))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
qdel(src)
@@ -132,14 +132,14 @@
req_one_access = list()
board = null
update_icon()
- user << "You remove electronics from the button frame."
+ to_chat(user, "You remove electronics from the button frame.")
else
if(skin == "doorctrl")
skin = "launcher"
else
skin = "doorctrl"
- user << "You change the button frame's front panel."
+ to_chat(user, "You change the button frame's front panel.")
return
if((stat & (NOPOWER|BROKEN)))
@@ -149,7 +149,7 @@
return
if(!allowed(user))
- user << "Access Denied"
+ to_chat(user, "Access Denied")
flick("[skin]-denied", src)
return
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 8d53ae7ced6..02903a11331 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -108,7 +108,7 @@
if (O.client && O.client.eye == src)
O.unset_machine()
O.reset_perspective(null)
- O << "The screen bursts into static."
+ to_chat(O, "The screen bursts into static.")
..()
/obj/machinery/camera/tesla_act(var/power)//EMP proof upgrade also makes it tesla immune
@@ -138,7 +138,7 @@
// DECONSTRUCTION
if(istype(W, /obj/item/weapon/screwdriver))
panel_open = !panel_open
- user << "You screw the camera's panel [panel_open ? "open" : "closed"]."
+ to_chat(user, "You screw the camera's panel [panel_open ? "open" : "closed"].")
playsound(src.loc, W.usesound, 50, 1)
return
@@ -150,7 +150,7 @@
else if(istype(W, /obj/item/device/multitool)) //change focus
setViewRange((view_range == initial(view_range)) ? short_range : initial(view_range))
- user << "You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus."
+ to_chat(user, "You [(view_range == initial(view_range)) ? "restore" : "mess up"] the camera's focus.")
return
else if(istype(W, /obj/item/weapon/weldingtool))
@@ -165,27 +165,27 @@
return
upgradeXRay()
qdel(W)
- user << "[msg]"
+ to_chat(user, "[msg]")
else
- user << "[msg2]"
+ to_chat(user, "[msg2]")
return
else if(istype(W, /obj/item/stack/sheet/mineral/plasma))
if(!isEmpProof())
upgradeEmpProof()
- user << "[msg]"
+ to_chat(user, "[msg]")
qdel(W)
else
- user << "[msg2]"
+ to_chat(user, "[msg2]")
return
else if(istype(W, /obj/item/device/assembly/prox_sensor))
if(!isMotion())
upgradeMotion()
- user << "[msg]"
+ to_chat(user, "[msg]")
qdel(W)
else
- user << "[msg2]"
+ to_chat(user, "[msg2]")
return
// OTHER
@@ -204,7 +204,7 @@
P = W
itemname = P.name
info = P.notehtml
- U << "You hold \the [itemname] up to the camera..."
+ to_chat(U, "You hold \the [itemname] up to the camera...")
U.changeNext_move(CLICK_CD_MELEE)
for(var/mob/O in player_list)
if(isAI(O))
@@ -212,25 +212,25 @@
if(AI.control_disabled || (AI.stat == DEAD))
return
if(U.name == "Unknown")
- AI << "[U] holds \a [itemname] up to one of your cameras ..."
+ to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...")
else
- AI << "[U] holds \a [itemname] up to one of your cameras ..."
+ to_chat(AI, "[U] holds \a [itemname] up to one of your cameras ...")
AI.last_paper_seen = "[itemname][info]"
else if (O.client && O.client.eye == src)
- O << "[U] holds \a [itemname] up to one of the cameras ..."
+ to_chat(O, "[U] holds \a [itemname] up to one of the cameras ...")
O << browse(text("[][]", itemname, info), text("window=[]", itemname))
return
else if(istype(W, /obj/item/device/camera_bug))
if(!can_use())
- user << "Camera non-functional."
+ to_chat(user, "Camera non-functional.")
return
if(bug)
- user << "Camera bug removed."
+ to_chat(user, "Camera bug removed.")
bug.bugged_cameras -= src.c_tag
bug = null
else
- user << "Camera bugged."
+ to_chat(user, "Camera bugged.")
bug = W
bug.bugged_cameras[src.c_tag] = src
return
@@ -305,7 +305,7 @@
if (O.client && O.client.eye == src)
O.unset_machine()
O.reset_perspective(null)
- O << "The screen bursts into static."
+ to_chat(O, "The screen bursts into static.")
/obj/machinery/camera/proc/triggerCameraAlarm()
alarm_on = 1
@@ -374,7 +374,7 @@
if(!WT.remove_fuel(0, user))
return 0
- user << "You start to weld [src]..."
+ to_chat(user, "You start to weld [src]...")
playsound(src.loc, WT.usesound, 50, 1)
busy = 1
if(do_after(user, 100*WT.toolspeed, target = src))
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index 5164e1eb9bd..9ae2bd2ea01 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -43,14 +43,14 @@
// State 1
if(istype(W, /obj/item/weapon/weldingtool))
if(weld(W, user))
- user << "You weld the assembly securely into place."
+ to_chat(user, "You weld the assembly securely into place.")
anchored = 1
state = 2
return
else if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, W.usesound, 50, 1)
- user << "You unattach the assembly from its place."
+ to_chat(user, "You unattach the assembly from its place.")
new /obj/item/wallframe/camera(get_turf(src))
qdel(src)
return
@@ -60,17 +60,17 @@
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
if(C.use(2))
- user << "You add wires to the assembly."
+ to_chat(user, "You add wires to the assembly.")
state = 3
else
- user << "You need two lengths of cable to wire a camera!"
+ to_chat(user, "You need two lengths of cable to wire a camera!")
return
return
else if(istype(W, /obj/item/weapon/weldingtool))
if(weld(W, user))
- user << "You unweld the assembly from its place."
+ to_chat(user, "You unweld the assembly from its place.")
state = 1
anchored = 1
return
@@ -83,12 +83,12 @@
var/input = stripped_input(user, "Which networks would you like to connect this camera to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13")
if(!input)
- user << "No input found, please hang up and try your call again!"
+ to_chat(user, "No input found, please hang up and try your call again!")
return
var/list/tempnetwork = splittext(input, ",")
if(tempnetwork.len < 1)
- user << "No network found, please hang up and try your call again!"
+ to_chat(user, "No network found, please hang up and try your call again!")
return
state = 4
@@ -105,7 +105,7 @@
else if(istype(W, /obj/item/weapon/wirecutters))
new/obj/item/stack/cable_coil(get_turf(src), 2)
playsound(src.loc, W.usesound, 50, 1)
- user << "You cut the wires from the circuits."
+ to_chat(user, "You cut the wires from the circuits.")
state = 2
return
@@ -113,7 +113,7 @@
if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already.
if(!user.drop_item(W))
return
- user << "You attach \the [W] into the assembly inner circuits."
+ to_chat(user, "You attach \the [W] into the assembly inner circuits.")
upgrades += W
W.forceMove(src)
return
@@ -122,7 +122,7 @@
else if(istype(W, /obj/item/weapon/crowbar) && upgrades.len)
var/obj/U = locate(/obj) in upgrades
if(U)
- user << "You unattach an upgrade from the assembly."
+ to_chat(user, "You unattach an upgrade from the assembly.")
playsound(src.loc, W.usesound, 50, 1)
U.loc = get_turf(src)
upgrades -= U
@@ -133,7 +133,7 @@
/obj/structure/camera_assembly/proc/weld(obj/item/weapon/weldingtool/WT, mob/living/user)
if(!WT.remove_fuel(0, user))
return 0
- user << "You start to weld \the [src]..."
+ to_chat(user, "You start to weld \the [src]...")
playsound(src.loc, WT.usesound, 50, 1)
if(do_after(user, 20*WT.toolspeed, target = src))
if(WT.isOn())
diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm
index 34c59562091..4b10f082c7e 100644
--- a/code/game/machinery/camera/tracking.dm
+++ b/code/game/machinery/camera/tracking.dm
@@ -93,11 +93,11 @@
U.tracking = 1
if(!target || !target.can_track(usr))
- U << "Target is not near any active cameras."
+ to_chat(U, "Target is not near any active cameras.")
U.cameraFollow = null
return
- U << "Now tracking [target.get_visible_name()] on camera."
+ to_chat(U, "Now tracking [target.get_visible_name()] on camera.")
var/cameraticks = 0
spawn(0)
@@ -108,11 +108,11 @@
if(!target.can_track(usr))
U.tracking = 1
if(!cameraticks)
- U << "Target is not near any active cameras. Attempting to reacquire..."
+ to_chat(U, "Target is not near any active cameras. Attempting to reacquire...")
cameraticks++
if(cameraticks > 9)
U.cameraFollow = null
- U << "Unable to reacquire, cancelling track..."
+ to_chat(U, "Unable to reacquire, cancelling track...")
tracking = 0
return
else
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 59b579766a6..112c4fcfb17 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -28,27 +28,27 @@
/obj/machinery/cell_charger/examine(mob/user)
..()
- user << "There's [charging ? "a" : "no"] cell in the charger."
+ to_chat(user, "There's [charging ? "a" : "no"] cell in the charger.")
if(charging)
- user << "Current charge: [round(charging.percent(), 1)]%"
+ to_chat(user, "Current charge: [round(charging.percent(), 1)]%")
/obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/stock_parts/cell))
if(stat & BROKEN)
- user << "[src] is broken!"
+ to_chat(user, "[src] is broken!")
return
if(!anchored)
- user << "[src] isn't attached to the ground!"
+ to_chat(user, "[src] isn't attached to the ground!")
return
if(charging)
- user << "There is already a cell in the charger!"
+ to_chat(user, "There is already a cell in the charger!")
return
else
var/area/a = loc.loc // Gets our locations location, like a dream within a dream
if(!isarea(a))
return
if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power!
- user << "The [name] blinks red as you try to insert the cell!"
+ to_chat(user, "The [name] blinks red as you try to insert the cell!")
return
if(!user.drop_item())
return
@@ -60,11 +60,11 @@
updateicon()
else if(istype(W, /obj/item/weapon/wrench))
if(charging)
- user << "Remove the cell first!"
+ to_chat(user, "Remove the cell first!")
return
anchored = !anchored
- user << "You [anchored ? "attach" : "detach"] the cell charger [anchored ? "to" : "from"] the ground"
+ to_chat(user, "You [anchored ? "attach" : "detach"] the cell charger [anchored ? "to" : "from"] the ground")
playsound(src.loc, W.usesound, 75, 1)
else
return ..()
@@ -92,7 +92,7 @@
return
charging.forceMove(loc)
- user << "You telekinetically remove [charging] from [src]."
+ to_chat(user, "You telekinetically remove [charging] from [src].")
removecell()
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index b8f29700268..5dea638d746 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -110,11 +110,11 @@
/obj/item/weapon/disk/data/attack_self(mob/user)
read_only = !read_only
- user << "You flip the write-protect tab to [read_only ? "protected" : "unprotected"]."
+ to_chat(user, "You flip the write-protect tab to [read_only ? "protected" : "unprotected"].")
/obj/item/weapon/disk/data/examine(mob/user)
..()
- user << "The write-protect tab is set to [read_only ? "protected" : "unprotected"]."
+ to_chat(user, "The write-protect tab is set to [read_only ? "protected" : "unprotected"].")
//Clonepod
@@ -122,9 +122,9 @@
/obj/machinery/clonepod/examine(mob/user)
..()
if(mess)
- user << "It's filled with blood and viscera. You swear you can see it moving..."
+ to_chat(user, "It's filled with blood and viscera. You swear you can see it moving...")
if (is_operational() && (!isnull(occupant)) && (occupant.stat != DEAD))
- user << "Current clone cycle is [round(get_completion())]% complete."
+ to_chat(user, "Current clone cycle is [round(get_completion())]% complete.")
/obj/machinery/clonepod/proc/get_completion()
. = (100 * ((occupant.health + 100) / (heal_level + 100)))
@@ -191,13 +191,9 @@
if(grab_ghost_when == CLONER_FRESH_CLONE)
clonemind.transfer_to(H)
H.ckey = ckey
- H << "Consciousness slowly creeps over you \
- as your body regenerates.
So this is what cloning \
- feels like?"
+ to_chat(H, "Consciousness slowly creeps over you as your body regenerates.
So this is what cloning feels like?")
else if(grab_ghost_when == CLONER_MATURE_CLONE)
- clonemind.current << "Your body is \
- beginning to regenerate in a cloning pod. You will \
- become conscious when it is complete."
+ to_chat(clonemind.current, "Your body is beginning to regenerate in a cloning pod. You will become conscious when it is complete.")
if(H)
H.faction |= factions
@@ -279,30 +275,30 @@
if(istype(P.buffer, /obj/machinery/computer/cloning))
if(get_area(P.buffer) != get_area(src))
- user << "-% Cannot link machines across power zones. Buffer cleared %-"
+ to_chat(user, "-% Cannot link machines across power zones. Buffer cleared %-")
P.buffer = null
return
- user << "-% Successfully linked [P.buffer] with [src] %-"
+ to_chat(user, "-% Successfully linked [P.buffer] with [src] %-")
var/obj/machinery/computer/cloning/comp = P.buffer
if(connected)
connected.DetachCloner(src)
comp.AttachCloner(src)
else
P.buffer = src
- user << "-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-"
+ to_chat(user, "-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-")
return
if(W.GetID())
if(!check_access(W))
- user << "Access Denied."
+ to_chat(user, "Access Denied.")
return
if(!(occupant || mess))
- user << "Error: Pod has no occupant."
+ to_chat(user, "Error: Pod has no occupant.")
return
else
connected_message("Authorized Ejection")
SPEAK("An authorized ejection of [occupant.real_name] has occurred.")
- user << "You force an emergency ejection. "
+ to_chat(user, "You force an emergency ejection. ")
go_out()
else
return ..()
@@ -310,7 +306,7 @@
/obj/machinery/clonepod/emag_act(mob/user)
if(!occupant)
return
- user << "You corrupt the genetic compiler."
+ to_chat(user, "You corrupt the genetic compiler.")
malfunction()
//Put messages in the connected computer's temp var for display.
@@ -340,8 +336,7 @@
if(grab_ghost_when == CLONER_MATURE_CLONE)
clonemind.transfer_to(occupant)
occupant.grab_ghost()
- occupant << "There is a bright flash!
\
- You feel like a new being."
+ to_chat(occupant, "There is a bright flash!
You feel like a new being.")
occupant.flash_act()
var/turf/T = get_turf(src)
@@ -361,9 +356,7 @@
clonemind.transfer_to(occupant)
occupant.grab_ghost() // We really just want to make you suffer.
flash_color(occupant, flash_color="#960000", flash_time=100)
- occupant << "Agony blazes across your \
- consciousness as your body is torn apart.
\
- Is this what dying is like? Yes it is."
+ to_chat(occupant, "Agony blazes across your consciousness as your body is torn apart.
Is this what dying is like? Yes it is.")
playsound(src.loc, 'sound/machines/warning-buzzer.ogg', 50, 0)
occupant << sound('sound/hallucinations/veryfar_noise.ogg',0,1,50)
QDEL_IN(occupant, 40)
diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index e7d592c98fb..2a7f48a64dd 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -12,9 +12,9 @@
/obj/machinery/computer/aifixer/attackby(obj/I, mob/user, params)
if(occupier && istype(I, /obj/item/weapon/screwdriver))
if(stat & (NOPOWER|BROKEN))
- user << "The screws on [name]'s screen won't budge."
+ to_chat(user, "The screws on [name]'s screen won't budge.")
else
- user << "The screws on [name]'s screen won't budge and it emits a warning beep."
+ to_chat(user, "The screws on [name]'s screen won't budge and it emits a warning beep.")
else
return ..()
@@ -94,7 +94,7 @@
if(..())
return
if(href_list["fix"])
- usr << "Reconstruction in progress. This will take several minutes."
+ to_chat(usr, "Reconstruction in progress. This will take several minutes.")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 25, 0)
active = TRUE
add_fingerprint(usr)
@@ -121,26 +121,26 @@
//Downloading AI from card to terminal.
if(interaction == AI_TRANS_FROM_CARD)
if(stat & (NOPOWER|BROKEN))
- user << "[src] is offline and cannot take an AI at this time!"
+ to_chat(user, "[src] is offline and cannot take an AI at this time!")
return
AI.forceMove(src)
occupier = AI
AI.control_disabled = 1
AI.radio_enabled = 0
- AI << "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here."
- user << "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."
+ to_chat(AI, "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here.")
+ to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
card.AI = null
update_icon()
else //Uploading AI from terminal to card
if(occupier && !active)
- occupier << "You have been downloaded to a mobile storage device. Still no remote access."
- user << "Transfer successful: [occupier.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory."
+ to_chat(occupier, "You have been downloaded to a mobile storage device. Still no remote access.")
+ to_chat(user, "Transfer successful: [occupier.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.")
occupier.loc = card
card.AI = occupier
occupier = null
update_icon()
else if (active)
- user << "ERROR: Reconstruction in progress."
+ to_chat(user, "ERROR: Reconstruction in progress.")
else if (!occupier)
- user << "ERROR: Unable to locate artificial intelligence."
+ to_chat(user, "ERROR: Unable to locate artificial intelligence.")
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 9870d23b412..3019528f8bb 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -420,18 +420,18 @@
dat += "
You ran out of food and starved."
if(emagged)
user.nutrition = 0 //yeah you pretty hongry
- user << "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor."
+ to_chat(user, "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.")
if(fuel <= 0)
dat += "
You ran out of fuel, and drift, slowly, into a star."
if(emagged)
var/mob/living/M = user
M.adjust_fire_stacks(5)
M.IgniteMob() //flew into a star, so you're on fire
- user << "You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames."
+ to_chat(user, "You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.")
dat += "
OK...
"
if(emagged)
- user << "You're never going to make it to Orion..."
+ to_chat(user, "You're never going to make it to Orion...")
user.death()
emagged = 0 //removes the emagged status after you lose
gameStatus = ORION_STATUS_START
@@ -499,21 +499,21 @@
switch(event)
if(ORION_TRAIL_RAIDERS)
if(prob(50))
- usr << "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?"
+ to_chat(usr, "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?")
M.hallucination += 30
else
- usr << "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there..."
+ to_chat(usr, "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")
M.take_bodypart_damage(30)
playsound(loc, 'sound/weapons/genhit2.ogg', 100, 1)
if(ORION_TRAIL_ILLNESS)
var/severity = rand(1,3) //pray to RNGesus. PRAY, PIGS
if(severity == 1)
- M << "You suddenly feel slightly nauseous." //got off lucky
+ to_chat(M, "You suddenly feel slightly nauseous." )
if(severity == 2)
- usr << "You suddenly feel extremely nauseous and hunch over until it passes."
+ to_chat(usr, "You suddenly feel extremely nauseous and hunch over until it passes.")
M.Stun(3)
if(severity >= 3) //you didn't pray hard enough
- M << "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit."
+ to_chat(M, "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.")
M.Stun(5)
sleep(30)
M.vomit(50)
@@ -524,7 +524,7 @@
M.take_bodypart_damage(25)
playsound(src.loc, 'sound/weapons/Genhit.ogg', 100, 1)
else
- M << "A violent gale blows past you, and you barely manage to stay standing!"
+ to_chat(M, "A violent gale blows past you, and you barely manage to stay standing!")
if(ORION_TRAIL_COLLISION) //by far the most damaging event
if(prob(90))
playsound(src.loc, 'sound/effects/bang.ogg', 100, 1)
@@ -1033,7 +1033,7 @@
/obj/machinery/computer/arcade/orion_trail/emag_act(mob/user)
if(!emagged)
- user << "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode."
+ to_chat(user, "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")
name = "The Orion Trail: Realism Edition"
desc = "Learn how our ancestors got to Orion, and try not to die in the process!"
newgame()
@@ -1074,9 +1074,9 @@
if(!(in_range(user, src)))
return
if(!active)
- user << "There's a little switch on the bottom. It's flipped down."
+ to_chat(user, "There's a little switch on the bottom. It's flipped down.")
else
- user << "There's a little switch on the bottom. It's flipped up."
+ to_chat(user, "There's a little switch on the bottom. It's flipped up.")
/obj/item/weapon/orion_ship/attack_self(mob/user) //Minibomb-level explosion. Should probably be more because of how hard it is to survive the machine! Also, just over a 5-second fuse
if(active)
@@ -1085,7 +1085,7 @@
message_admins("[key_name_admin(usr)] primed an explosive Orion ship for detonation.")
log_game("[key_name(usr)] primed an explosive Orion ship for detonation.")
- user << "You flip the switch on the underside of [src]."
+ to_chat(user, "You flip the switch on the underside of [src].")
active = 1
src.visible_message("[src] softly beeps and whirs to life!")
playsound(src.loc, 'sound/machines/defib_SaftyOn.ogg', 25, 1)
diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm
index ccb6295d569..994ef831656 100644
--- a/code/game/machinery/computer/atmos_alert.dm
+++ b/code/game/machinery/computer/atmos_alert.dm
@@ -46,11 +46,11 @@
if("clear")
var/zone = params["zone"]
if(zone in priority_alarms)
- usr << "Priority alarm for [zone] cleared."
+ to_chat(usr, "Priority alarm for [zone] cleared.")
priority_alarms -= zone
. = TRUE
if(zone in minor_alarms)
- usr << "Minor alarm for [zone] cleared."
+ to_chat(usr, "Minor alarm for [zone] cleared.")
minor_alarms -= zone
. = TRUE
update_icon()
diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm
index a38c9b1189d..dff0d29ee76 100644
--- a/code/game/machinery/computer/atmos_control.dm
+++ b/code/game/machinery/computer/atmos_control.dm
@@ -158,7 +158,7 @@
var/list/text = splittext(U.id, "_")
IO |= text[1]
if(!IO.len)
- user << "No machinery detected."
+ to_chat(user, "No machinery detected.")
var/S = input("Select the device set: ", "Selection", IO[1]) as anything in IO
if(src)
src.input_tag = "[S]_in"
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 5c1eeadfc0c..9711f38c174 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -9,9 +9,9 @@
if(0)
if(istype(P, /obj/item/weapon/wrench))
playsound(src.loc, P.usesound, 50, 1)
- user << "You start wrenching the frame into place..."
+ to_chat(user, "You start wrenching the frame into place...")
if(do_after(user, 20*P.toolspeed, target = src))
- user << "You wrench the frame into place."
+ to_chat(user, "You wrench the frame into place.")
anchored = 1
state = 1
return
@@ -19,13 +19,13 @@
var/obj/item/weapon/weldingtool/WT = P
if(!WT.remove_fuel(0, user))
if(!WT.isOn())
- user << "The welding tool must be on to complete this task!"
+ to_chat(user, "The welding tool must be on to complete this task!")
return
playsound(src.loc, P.usesound, 50, 1)
- user << "You start deconstructing the frame..."
+ to_chat(user, "You start deconstructing the frame...")
if(do_after(user, 20*P.toolspeed, target = src))
if(!src || !WT.isOn()) return
- user << "You deconstruct the frame."
+ to_chat(user, "You deconstruct the frame.")
var/obj/item/stack/sheet/metal/M = new (loc, 5)
M.add_fingerprint(user)
qdel(src)
@@ -33,9 +33,9 @@
if(1)
if(istype(P, /obj/item/weapon/wrench))
playsound(src.loc, P.usesound, 50, 1)
- user << "You start to unfasten the frame..."
+ to_chat(user, "You start to unfasten the frame...")
if(do_after(user, 20*P.toolspeed, target = src))
- user << "You unfasten the frame."
+ to_chat(user, "You unfasten the frame.")
anchored = 0
state = 0
return
@@ -43,7 +43,7 @@
if(!user.drop_item())
return
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You place the circuit board inside the frame."
+ to_chat(user, "You place the circuit board inside the frame.")
icon_state = "1"
circuit = P
circuit.add_fingerprint(user)
@@ -51,17 +51,17 @@
return
else if(istype(P, /obj/item/weapon/circuitboard) && !circuit)
- user << "This frame does not accept circuit boards of this type!"
+ to_chat(user, "This frame does not accept circuit boards of this type!")
return
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(src.loc, P.usesound, 50, 1)
- user << "You screw the circuit board into place."
+ to_chat(user, "You screw the circuit board into place.")
state = 2
icon_state = "2"
return
if(istype(P, /obj/item/weapon/crowbar) && circuit)
playsound(src.loc, P.usesound, 50, 1)
- user << "You remove the circuit board."
+ to_chat(user, "You remove the circuit board.")
state = 1
icon_state = "0"
circuit.loc = src.loc
@@ -71,7 +71,7 @@
if(2)
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(src.loc, P.usesound, 50, 1)
- user << "You unfasten the circuit board."
+ to_chat(user, "You unfasten the circuit board.")
state = 1
icon_state = "1"
return
@@ -79,20 +79,20 @@
var/obj/item/stack/cable_coil/C = P
if(C.get_amount() >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You start adding cables to the frame..."
+ to_chat(user, "You start adding cables to the frame...")
if(do_after(user, 20*P.toolspeed, target = src))
if(C.get_amount() >= 5 && state == 2)
C.use(5)
- user << "You add cables to the frame."
+ to_chat(user, "You add cables to the frame.")
state = 3
icon_state = "3"
else
- user << "You need five lengths of cable to wire the frame!"
+ to_chat(user, "You need five lengths of cable to wire the frame!")
return
if(3)
if(istype(P, /obj/item/weapon/wirecutters))
playsound(src.loc, P.usesound, 50, 1)
- user << "You remove the cables."
+ to_chat(user, "You remove the cables.")
state = 2
icon_state = "2"
var/obj/item/stack/cable_coil/A = new (loc)
@@ -103,22 +103,22 @@
if(istype(P, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/glass/G = P
if(G.get_amount() < 2)
- user << "You need two glass sheets to continue construction!"
+ to_chat(user, "You need two glass sheets to continue construction!")
return
else
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You start to put in the glass panel..."
+ to_chat(user, "You start to put in the glass panel...")
if(do_after(user, 20, target = src))
if(G.get_amount() >= 2 && state == 3)
G.use(2)
- user << "You put in the glass panel."
+ to_chat(user, "You put in the glass panel.")
state = 4
src.icon_state = "4"
return
if(4)
if(istype(P, /obj/item/weapon/crowbar))
playsound(src.loc, P.usesound, 50, 1)
- user << "You remove the glass panel."
+ to_chat(user, "You remove the glass panel.")
state = 3
icon_state = "3"
var/obj/item/stack/sheet/glass/G = new (loc, 2)
@@ -126,7 +126,7 @@
return
if(istype(P, /obj/item/weapon/screwdriver))
playsound(src.loc, P.usesound, 50, 1)
- user << "You connect the monitor."
+ to_chat(user, "You connect the monitor.")
var/obj/B = new src.circuit.build_path (src.loc, circuit)
transfer_fingerprints_to(B)
qdel(src)
@@ -222,13 +222,13 @@
/obj/item/weapon/circuitboard/computer/card/minor/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
target_dept = (target_dept == dept_list.len) ? 1 : (target_dept + 1)
- user << "You set the board to \"[dept_list[target_dept]]\"."
+ to_chat(user, "You set the board to \"[dept_list[target_dept]]\".")
else
return ..()
/obj/item/weapon/circuitboard/computer/card/minor/examine(user)
..()
- user << "Currently set to \"[dept_list[target_dept]]\"."
+ to_chat(user, "Currently set to \"[dept_list[target_dept]]\".")
//obj/item/weapon/circuitboard/computer/shield
// name = "Shield Control (Computer Board)"
@@ -312,11 +312,11 @@
if(build_path == /obj/machinery/computer/rdconsole/core)
name = "RD Console - Robotics (Computer Board)"
build_path = /obj/machinery/computer/rdconsole/robotics
- user << "Access protocols successfully updated."
+ to_chat(user, "Access protocols successfully updated.")
else
name = "RD Console (Computer Board)"
build_path = /obj/machinery/computer/rdconsole/core
- user << "Defaulting access protocols."
+ to_chat(user, "Defaulting access protocols.")
else
return ..()
@@ -346,14 +346,14 @@
if(istype(I,/obj/item/device/multitool))
if(!emagged)
contraband = !contraband
- user << "Receiver spectrum set to [contraband ? "Broad" : "Standard"]."
+ to_chat(user, "Receiver spectrum set to [contraband ? "Broad" : "Standard"].")
else
- user << "The spectrum chip is unresponsive."
+ to_chat(user, "The spectrum chip is unresponsive.")
else if(istype(I,/obj/item/weapon/card/emag))
if(!emagged)
contraband = TRUE
emagged = TRUE
- user << "You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband."
+ to_chat(user, "You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.")
else
return ..()
@@ -445,10 +445,10 @@
if(build_path == /obj/machinery/computer/libraryconsole/bookmanagement)
name = "Library Visitor Console (Computer Board)"
build_path = /obj/machinery/computer/libraryconsole
- user << "Defaulting access protocols."
+ to_chat(user, "Defaulting access protocols.")
else
name = "Book Inventory Management Console (Computer Board)"
build_path = /obj/machinery/computer/libraryconsole/bookmanagement
- user << "Access protocols successfully updated."
+ to_chat(user, "Access protocols successfully updated.")
else
return ..()
diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm
index 12b99a81d22..e3bf9573c91 100644
--- a/code/game/machinery/computer/camera_advanced.dm
+++ b/code/game/machinery/computer/camera_advanced.dm
@@ -38,7 +38,7 @@
/obj/machinery/computer/camera_advanced/attack_hand(mob/user)
if(current_user)
- user << "The console is already in use!"
+ to_chat(user, "The console is already in use!")
return
if(..())
return
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index 37f21c3f993..98cf753e5b6 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -400,7 +400,7 @@ var/time_last_changed_position = 0
if(region_access)
authenticated = 1
else if ((!( authenticated ) && issilicon(usr)) && (!modify))
- usr << "You can't modify an ID without an ID inserted to modify! Once one is in the modify slot on the computer, you can log in."
+ to_chat(usr, "You can't modify an ID without an ID inserted to modify! Once one is in the modify slot on the computer, you can log in.")
if ("logout")
region_access = null
head_subordinates = null
@@ -435,7 +435,7 @@ var/time_last_changed_position = 0
jobdatum = J
break
if(!jobdatum)
- usr << "No log exists for this job."
+ to_chat(usr, "No log exists for this job.")
return
modify.access = ( istype(src,/obj/machinery/computer/card/centcom) ? get_centcom_access(t1) : jobdatum.get_access() )
@@ -447,7 +447,7 @@ var/time_last_changed_position = 0
modify.assignment = "Unassigned"
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
else
- usr << "You are not authorized to demote this position."
+ to_chat(usr, "You are not authorized to demote this position.")
if ("reg")
if (authenticated)
var/t2 = modify
@@ -458,7 +458,7 @@ var/time_last_changed_position = 0
modify.registered_name = newName
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
else
- usr << "Invalid name entered."
+ to_chat(usr, "Invalid name entered.")
return
if ("mode")
mode = text2num(href_list["mode_target"])
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 08608328dc9..04be4799968 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -122,7 +122,7 @@
return
W.loc = src
src.diskette = W
- user << "You insert [W]."
+ to_chat(user, "You insert [W].")
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0)
src.updateUsrDialog()
else if(istype(W,/obj/item/device/multitool))
@@ -130,17 +130,17 @@
if(istype(P.buffer, /obj/machinery/clonepod))
if(get_area(P.buffer) != get_area(src))
- user << "-% Cannot link machines across power zones. Buffer cleared %-"
+ to_chat(user, "-% Cannot link machines across power zones. Buffer cleared %-")
P.buffer = null
return
- user << "-% Successfully linked [P.buffer] with [src] %-"
+ to_chat(user, "-% Successfully linked [P.buffer] with [src] %-")
var/obj/machinery/clonepod/pod = P.buffer
if(pod.connected)
pod.connected.DetachCloner(pod)
AttachCloner(pod)
else
P.buffer = src
- user << "-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-"
+ to_chat(user, "-% Successfully stored \ref[P.buffer] [P.buffer.name] in buffer %-")
return
else
return ..()
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 12e725eb222..230cb5dff31 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -57,7 +57,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if(..())
return
if (src.z > ZLEVEL_CENTCOM) //Can only use on centcom and SS13
- usr << "Unable to establish a connection: \black You're too far away from the station!"
+ to_chat(usr, "Unable to establish a connection: \black You're too far away from the station!")
return
usr.set_machine(src)
@@ -86,7 +86,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if(src.emagged)
authenticated = 2
auth_id = "Unknown"
- M << "[src] lets out a quiet alarm as its login is overriden."
+ to_chat(M, "[src] lets out a quiet alarm as its login is overriden.")
playsound(src, 'sound/machines/terminal_on.ogg', 50, 0)
playsound(src, 'sound/machines/terminal_alert.ogg', 25, 0)
if(prob(25))
@@ -110,7 +110,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if(tmp_alertlevel > SEC_LEVEL_BLUE) tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this
set_security_level(tmp_alertlevel)
if(security_level != old_level)
- usr << "Authorization confirmed. Modifying security level."
+ to_chat(usr, "Authorization confirmed. Modifying security level.")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
//Only notify the admins if an actual change happened
log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
@@ -122,12 +122,12 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
feedback_inc("alert_comms_blue",1)
tmp_alertlevel = 0
else
- usr << "You are not authorized to do this!"
+ to_chat(usr, "You are not authorized to do this!")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
tmp_alertlevel = 0
state = STATE_DEFAULT
else
- usr << "You need to swipe your ID!"
+ to_chat(usr, "You need to swipe your ID!")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
if("announce")
@@ -138,7 +138,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("crossserver")
if(authenticated==2)
if(CM.lastTimeUsed + 600 > world.time)
- usr << "Arrays recycling. Please stand by."
+ to_chat(usr, "Arrays recycling. Please stand by.")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
return
var/input = stripped_multiline_input(usr, "Please choose a message to transmit to an allied station. Please be aware that this process is very expensive, and abuse will lead to... termination.", "Send a message to an allied station.", "")
@@ -160,12 +160,12 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
var/datum/map_template/shuttle/S = locate(href_list["chosen_shuttle"]) in shuttles
if(S && istype(S))
if(SSshuttle.emergency.mode != SHUTTLE_RECALL && SSshuttle.emergency.mode != SHUTTLE_IDLE)
- usr << "It's a bit late to buy a new shuttle, don't you think?"
+ to_chat(usr, "It's a bit late to buy a new shuttle, don't you think?")
return
if(SSshuttle.shuttle_purchased)
- usr << "A replacement shuttle has already been purchased."
+ to_chat(usr, "A replacement shuttle has already been purchased.")
else if(!S.prerequisites_met())
- usr << "You have not met the requirements for purchasing this shuttle."
+ to_chat(usr, "You have not met the requirements for purchasing this shuttle.")
else
if(SSshuttle.points >= S.credit_cost)
var/obj/machinery/shuttle_manipulator/M = locate() in machines
@@ -180,9 +180,9 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
message_admins("[key_name_admin(usr)] purchased [S.name].")
feedback_add_details("shuttle_purchase", S.name)
else
- usr << "Something went wrong! The shuttle exchange system seems to be down."
+ to_chat(usr, "Something went wrong! The shuttle exchange system seems to be down.")
else
- usr << "Not enough credits."
+ to_chat(usr, "Not enough credits.")
if("callshuttle")
src.state = STATE_DEFAULT
@@ -272,14 +272,14 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("MessageCentcomm")
if(src.authenticated==2)
if(!checkCCcooldown())
- usr << "Arrays recycling. Please stand by."
+ to_chat(usr, "Arrays recycling. Please stand by.")
return
var/input = stripped_input(usr, "Please choose a message to transmit to Centcom via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "Send a message to Centcomm.", "")
if(!input || !(usr in view(1,src)) || !checkCCcooldown())
return
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
Centcomm_announce(input, usr)
- usr << "Message transmitted to Central Command."
+ to_chat(usr, "Message transmitted to Central Command.")
log_say("[key_name(usr)] has made a Centcom announcement: [input]")
CM.lastTimeUsed = world.time
@@ -288,7 +288,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("MessageSyndicate")
if((src.authenticated==2) && (src.emagged))
if(!checkCCcooldown())
- usr << "Arrays recycling. Please stand by."
+ to_chat(usr, "Arrays recycling. Please stand by.")
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
return
var/input = stripped_input(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING COORDINATES\] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "Send a message to /??????/.", "")
@@ -296,12 +296,12 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
return
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
Syndicate_announce(input, usr)
- usr << "SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND."
+ to_chat(usr, "SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.")
log_say("[key_name(usr)] has made a Syndicate announcement: [input]")
CM.lastTimeUsed = world.time
if("RestoreBackup")
- usr << "Backup routing data restored!"
+ to_chat(usr, "Backup routing data restored!")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
src.emagged = 0
src.updateDialog()
@@ -309,13 +309,13 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("nukerequest") //When there's no other way
if(src.authenticated==2)
if(!checkCCcooldown())
- usr << "Arrays recycling. Please stand by."
+ to_chat(usr, "Arrays recycling. Please stand by.")
return
var/input = stripped_input(usr, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.","")
if(!input || !(usr in view(1,src)) || !checkCCcooldown())
return
Nuke_request(input, usr)
- usr << "Request sent."
+ to_chat(usr, "Request sent.")
log_say("[key_name(usr)] has requested the nuclear codes from Centcomm")
priority_announce("The codes for the on-station nuclear self-destruct have been requested by [usr]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested",'sound/AI/commandreport.ogg')
CM.lastTimeUsed = world.time
@@ -404,14 +404,14 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
src.emagged = 1
if(authenticated == 1)
authenticated = 2
- user << "You scramble the communication routing circuits!"
+ to_chat(user, "You scramble the communication routing circuits!")
playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0)
/obj/machinery/computer/communications/attack_hand(mob/user)
if(..())
return
if (src.z > 6)
- user << "Unable to establish a connection: \black You're too far away from the station!"
+ to_chat(user, "Unable to establish a connection: \black You're too far away from the station!")
return
user.set_machine(src)
@@ -659,7 +659,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
/obj/machinery/computer/communications/proc/make_announcement(mob/living/user, is_silicon)
if(!SScommunications.can_announce(user, is_silicon))
- user << "Intercomms recharging. Please stand by."
+ to_chat(user, "Intercomms recharging. Please stand by.")
return
var/input = stripped_input(user, "Please choose a message to announce to the station crew.", "What?")
if(!input || !user.canUseTopic(src))
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 2be9cc4335f..ef4f973baa5 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -82,7 +82,7 @@
/obj/machinery/computer/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver) && circuit && !(flags&NODECONSTRUCT))
playsound(src.loc, I.usesound, 50, 1)
- user << " You start to disconnect the monitor..."
+ to_chat(user, " You start to disconnect the monitor...")
if(do_after(user, 20*I.toolspeed, target = src))
deconstruct(TRUE, user)
else
@@ -124,7 +124,7 @@
A.anchored = 1
if(stat & BROKEN)
if(user)
- user << "The broken glass falls out."
+ to_chat(user, "The broken glass falls out.")
else
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, 1)
new /obj/item/weapon/shard(src.loc)
@@ -133,7 +133,7 @@
A.icon_state = "3"
else
if(user)
- user << "You disconnect the monitor."
+ to_chat(user, "You disconnect the monitor.")
A.state = 4
A.icon_state = "4"
circuit = null
diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm
index e2187796953..a100f16184e 100644
--- a/code/game/machinery/computer/dna_console.dm
+++ b/code/game/machinery/computer/dna_console.dm
@@ -47,7 +47,7 @@
return
I.loc = src
src.diskette = I
- user << "You insert [I]."
+ to_chat(user, "You insert [I].")
src.updateUsrDialog()
return
else
@@ -574,7 +574,7 @@
viable_occupant.dna.blood_type = buffer_slot["blood_type"]
/obj/machinery/computer/scan_consolenew/proc/on_scanner_close()
- connected.occupant << "[src] activates!"
+ to_chat(connected.occupant, "[src] activates!")
if(delayed_action)
apply_buffer(delayed_action["action"],delayed_action["buffer"])
delayed_action = null //or make it stick + reset button ?
diff --git a/code/game/machinery/computer/gulag_teleporter.dm b/code/game/machinery/computer/gulag_teleporter.dm
index e53e2cb82ca..b9dc410e576 100644
--- a/code/game/machinery/computer/gulag_teleporter.dm
+++ b/code/game/machinery/computer/gulag_teleporter.dm
@@ -31,10 +31,10 @@
return
W.forceMove(src)
id = W
- user << "You insert [W]."
+ to_chat(user, "You insert [W].")
return
else
- user << "There's an ID inserted already."
+ to_chat(user, "There's an ID inserted already.")
return ..()
/obj/machinery/computer/gulag_teleporter_computer/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
@@ -84,7 +84,7 @@
if(..())
return
if(!allowed(usr))
- usr << "Access denied."
+ to_chat(usr, "Access denied.")
return
switch(action)
if("scan_teleporter")
@@ -115,12 +115,12 @@
id.goal = Clamp(new_goal, 0, 1000) //maximum 1000 points
if("toggle_open")
if(teleporter.locked)
- usr << "The teleporter is locked"
+ to_chat(usr, "The teleporter is locked")
return
teleporter.toggle_open()
if("teleporter_lock")
if(teleporter.state_open)
- usr << "Close the teleporter before locking!"
+ to_chat(usr, "Close the teleporter before locking!")
return
teleporter.locked = !teleporter.locked
if("teleport")
@@ -149,7 +149,7 @@
playsound(loc, 'sound/weapons/emitter.ogg', 50, 1)
prisoner.forceMove(get_turf(beacon))
prisoner.Weaken(2) // small travel dizziness
- prisoner << "The teleportation makes you a little dizzy."
+ to_chat(prisoner, "The teleportation makes you a little dizzy.")
new /obj/effect/particle_effect/sparks(prisoner.loc)
playsound(src.loc, "sparks", 50, 1)
if(teleporter.locked)
diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm
index 1e58a07298e..a12f92252b0 100644
--- a/code/game/machinery/computer/law.dm
+++ b/code/game/machinery/computer/law.dm
@@ -10,15 +10,15 @@
if(src.stat & (NOPOWER|BROKEN|MAINT))
return
if(!current)
- user << "You haven't selected anything to transmit laws to!"
+ to_chat(user, "You haven't selected anything to transmit laws to!")
return
if(!can_upload_to(current))
- user << "Upload failed! Check to make sure [current.name] is functioning properly."
+ to_chat(user, "Upload failed! Check to make sure [current.name] is functioning properly.")
current = null
return
var/turf/currentloc = get_turf(current)
if(currentloc && user.z != currentloc.z)
- user << "Upload failed! Unable to establish a connection to [current.name]. You're too far away!"
+ to_chat(user, "Upload failed! Unable to establish a connection to [current.name]. You're too far away!")
current = null
return
M.install(current.laws, user)
@@ -42,9 +42,9 @@
src.current = select_active_ai(user)
if (!src.current)
- user << "No active AIs detected!"
+ to_chat(user, "No active AIs detected!")
else
- user << "[src.current.name] selected for law changes."
+ to_chat(user, "[src.current.name] selected for law changes.")
/obj/machinery/computer/upload/ai/can_upload_to(mob/living/silicon/ai/A)
if(!A || !isAI(A))
@@ -66,9 +66,9 @@
src.current = select_active_free_borg(user)
if(!src.current)
- user << "No active unslaved cyborgs detected!"
+ to_chat(user, "No active unslaved cyborgs detected!")
else
- user << "[src.current.name] selected for law changes."
+ to_chat(user, "[src.current.name] selected for law changes.")
/obj/machinery/computer/upload/borg/can_upload_to(mob/living/silicon/robot/B)
if(!B || !iscyborg(B))
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index 06f460c1180..9ec476e958b 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -28,7 +28,7 @@
return
O.loc = src
scan = O
- user << "You insert [O]."
+ to_chat(user, "You insert [O].")
else
return ..()
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index f5168843857..17cb756cf16 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -35,7 +35,7 @@
/obj/machinery/computer/message_monitor/attackby(obj/item/weapon/O, mob/living/user, params)
if(istype(O, /obj/item/weapon/screwdriver) && emagged)
//Stops people from just unscrewing the monitor and putting it back to get the console working again.
- user << "It is too hot to mess with!"
+ to_chat(user, "It is too hot to mess with!")
else
return ..()
@@ -54,7 +54,7 @@
addtimer(CALLBACK(src, .proc/UnmagConsole), time)
message = rebootmsg
else
- user << "A no server error appears on the screen."
+ to_chat(user, "A no server error appears on the screen.")
/obj/machinery/computer/message_monitor/Initialize()
..()
@@ -227,10 +227,10 @@
/obj/machinery/computer/message_monitor/proc/BruteForce(mob/user)
if(isnull(linkedServer))
- user << "Could not complete brute-force: Linked Server Disconnected!"
+ to_chat(user, "Could not complete brute-force: Linked Server Disconnected!")
else
var/currentKey = src.linkedServer.decryptkey
- user << "Brute-force completed! The key is '[currentKey]'."
+ to_chat(user, "Brute-force completed! The key is '[currentKey]'.")
src.hacking = 0
src.screen = 0 // Return the screen back to normal
@@ -416,7 +416,7 @@
customrecepient.audible_message("\icon[customrecepient] *[customrecepient.ttone]*", null, 3)
if( customrecepient.loc && ishuman(customrecepient.loc) )
var/mob/living/carbon/human/H = customrecepient.loc
- H << "\icon[customrecepient] Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)"
+ to_chat(H, "\icon[customrecepient] Message from [customsender] ([customjob]), \"[custommessage]\" (Reply)")
log_pda("[usr]/([usr.ckey]) (PDA: [customsender]) sent \"[custommessage]\" to [customrecepient.owner]")
customrecepient.cut_overlays()
customrecepient.add_overlay(image('icons/obj/pda.dmi', "pda-r"))
@@ -429,7 +429,7 @@
customrecepient.audible_message("\icon[customrecepient] *[customrecepient.ttone]*", null, 3)
if( customrecepient.loc && ishuman(customrecepient.loc) )
var/mob/living/carbon/human/H = customrecepient.loc
- H << "\icon[customrecepient] Message from [PDARec.owner] ([customjob]), \"[custommessage]\" (Reply)"
+ to_chat(H, "\icon[customrecepient] Message from [PDARec.owner] ([customjob]), \"[custommessage]\" (Reply)")
log_pda("[usr]/([usr.ckey]) (PDA: [PDARec.owner]) sent \"[custommessage]\" to [customrecepient.owner]")
customrecepient.cut_overlays()
customrecepient.add_overlay(image('icons/obj/pda.dmi', "pda-r"))
diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm
index 49944bb8ac0..b68b3efb613 100644
--- a/code/game/machinery/computer/pod.dm
+++ b/code/game/machinery/computer/pod.dm
@@ -134,7 +134,7 @@
/obj/machinery/computer/pod/old/syndicate/attack_hand(mob/user)
if(!allowed(user))
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
else
..()
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index 099596fadc7..c6aa932c6cf 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -96,7 +96,7 @@
return
I.loc = src
inserted_id = I
- else usr << "No valid ID."
+ else to_chat(usr, "No valid ID.")
else if(inserted_id)
switch(href_list["id"])
if("eject")
@@ -128,7 +128,7 @@
if(src.allowed(usr))
screen = !screen
else
- usr << "Unauthorized Access."
+ to_chat(usr, "Unauthorized Access.")
else if(href_list["warn"])
var/warning = copytext(sanitize(input(usr,"Message:","Enter your message here!","")),1,MAX_MESSAGE_LEN)
@@ -136,7 +136,7 @@
var/obj/item/weapon/implant/I = locate(href_list["warn"]) in tracked_chem_implants
if(I && istype(I) && I.imp_in)
var/mob/living/R = I.imp_in
- R << "You hear a voice in your head saying: '[warning]'"
+ to_chat(R, "You hear a voice in your head saying: '[warning]'")
log_say("[usr]/[usr.ckey] sent an implant message to [R]/[R.ckey]: '[warning]'")
src.add_fingerprint(usr)
diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index 7621eccf708..2e81d9b19f9 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -32,7 +32,7 @@
/obj/machinery/computer/robotics/interact(mob/user)
if (src.z > 6)
- user << "Unable to establish a connection: \black You're too far away from the station!"
+ to_chat(user, "Unable to establish a connection: \black You're too far away from the station!")
return
user.set_machine(src)
var/dat
@@ -108,18 +108,18 @@
var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort")
if(choice == "Confirm" && can_control(usr, R) && !..())
if(R.syndicate && R.emagged)
- R << "Extreme danger. Termination codes detected. Scrambling security codes and automatic AI unlink triggered."
+ to_chat(R, "Extreme danger. Termination codes detected. Scrambling security codes and automatic AI unlink triggered.")
if(R.connected_ai)
- R.connected_ai << "
ALERT - Cyborg detonation detected: [R.name]
"
+ to_chat(R.connected_ai, "
ALERT - Cyborg detonation detected: [R.name]
")
R.ResetSecurityCodes()
else
message_admins("[key_name_admin(usr)] (FLW) detonated [key_name(R, R.client)](JMP)!")
log_game("\[key_name(usr)] detonated [key_name(R)]!")
if(R.connected_ai)
- R.connected_ai << "
ALERT - Cyborg detonation detected: [R.name]
"
+ to_chat(R.connected_ai, "
ALERT - Cyborg detonation detected: [R.name]
")
R.self_destruct()
else
- usr << "Access Denied."
+ to_chat(usr, "Access Denied.")
else if (href_list["stopbot"])
if(src.allowed(usr))
@@ -130,12 +130,12 @@
message_admins("[key_name_admin(usr)] (FLW) [R.canmove ? "locked down" : "released"] [key_name(R, R.client)](FLW)!")
log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [key_name(R)]!")
R.SetLockdown(!R.lockcharge)
- R << "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]"
+ to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]")
if(R.connected_ai)
- R.connected_ai << "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
"
+ to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
")
else
- usr << "Access Denied."
+ to_chat(usr, "Access Denied.")
else if (href_list["magbot"])
if((issilicon(usr) && is_special_character(usr)) || IsAdminGhost(usr))
@@ -159,7 +159,7 @@
if(src.allowed(usr))
var/mob/living/simple_animal/drone/D = locate(href_list["killdrone"])
if(D.hacked)
- usr << "ERROR: [D] is not responding to external commands."
+ to_chat(usr, "ERROR: [D] is not responding to external commands.")
else
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, D)
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index b577cc58ae4..2a282efeeee 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -30,9 +30,9 @@
return
O.loc = src
scan = O
- user << "You insert [O]."
+ to_chat(user, "You insert [O].")
else
- user << "There's already an ID card in the console."
+ to_chat(user, "There's already an ID card in the console.")
else
return ..()
@@ -41,7 +41,7 @@
if(..())
return
if(src.z > 6)
- user << "Unable to establish a connection: \black You're too far away from the station!"
+ to_chat(user, "Unable to establish a connection: \black You're too far away from the station!")
return
var/dat
diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm
index 629751bb93b..ba6d63d98e5 100644
--- a/code/game/machinery/computer/telecrystalconsoles.dm
+++ b/code/game/machinery/computer/telecrystalconsoles.dm
@@ -34,7 +34,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
/obj/machinery/computer/telecrystals/uplinker/attackby(obj/item/O, mob/user, params)
if(uplinkholder)
- user << "The [src] already has an uplink in it."
+ to_chat(user, "The [src] already has an uplink in it.")
return
if(O.hidden_uplink)
var/obj/item/I = user.get_active_held_item()
@@ -46,7 +46,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
update_icon()
updateUsrDialog()
else
- user << "The [O] doesn't appear to be an uplink..."
+ to_chat(user, "The [O] doesn't appear to be an uplink...")
/obj/machinery/computer/telecrystals/uplinker/update_icon()
..()
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index d9fcdb54aea..f3e365f2f1e 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -11,7 +11,7 @@
/obj/structure/frame/examine(user)
..()
if(circuit)
- user << "It has \a [circuit] installed."
+ to_chat(user, "It has \a [circuit] installed.")
/obj/structure/frame/deconstruct(disassembled = TRUE)
@@ -45,9 +45,9 @@
hasContent = 1
if(hasContent)
- user << requires + "."
+ to_chat(user, requires + ".")
else
- user << "It does not require any more components."
+ to_chat(user, "It does not require any more components.")
/obj/structure/frame/machine/proc/update_namelist()
if(!req_components)
@@ -76,24 +76,24 @@
switch(state)
if(1)
if(istype(P, /obj/item/weapon/circuitboard/machine))
- user << "The frame needs wiring first!"
+ to_chat(user, "The frame needs wiring first!")
return
else if(istype(P, /obj/item/weapon/circuitboard))
- user << "This frame does not accept circuit boards of this type!"
+ to_chat(user, "This frame does not accept circuit boards of this type!")
return
if(istype(P, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = P
if(C.get_amount() >= 5)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You start to add cables to the frame..."
+ to_chat(user, "You start to add cables to the frame...")
if(do_after(user, 20*P.toolspeed, target = src))
if(C.get_amount() >= 5 && state == 1)
C.use(5)
- user << "You add cables to the frame."
+ to_chat(user, "You add cables to the frame.")
state = 2
icon_state = "box_1"
else
- user << "You need five length of cable to wire the frame!"
+ to_chat(user, "You need five length of cable to wire the frame!")
return
if(istype(P, /obj/item/weapon/screwdriver) && !anchored)
playsound(src.loc, P.usesound, 50, 1)
@@ -101,38 +101,38 @@
"You start to disassemble the frame...", "You hear banging and clanking.")
if(do_after(user, 40*P.toolspeed, target = src))
if(state == 1)
- user << "You disassemble the frame."
+ to_chat(user, "You disassemble the frame.")
var/obj/item/stack/sheet/metal/M = new (loc, 5)
M.add_fingerprint(user)
qdel(src)
return
if(istype(P, /obj/item/weapon/wrench))
- user << "You start [anchored ? "un" : ""]securing [name]..."
+ to_chat(user, "You start [anchored ? "un" : ""]securing [name]...")
playsound(src.loc, P.usesound, 75, 1)
if(do_after(user, 40*P.toolspeed, target = src))
if(state == 1)
- user << "You [anchored ? "un" : ""]secure [name]."
+ to_chat(user, "You [anchored ? "un" : ""]secure [name].")
anchored = !anchored
return
if(2)
if(istype(P, /obj/item/weapon/wrench))
- user << "You start [anchored ? "un" : ""]securing [name]..."
+ to_chat(user, "You start [anchored ? "un" : ""]securing [name]...")
playsound(src.loc, P.usesound, 75, 1)
if(do_after(user, 40*P.toolspeed, target = src))
- user << "You [anchored ? "un" : ""]secure [name]."
+ to_chat(user, "You [anchored ? "un" : ""]secure [name].")
anchored = !anchored
return
if(istype(P, /obj/item/weapon/circuitboard/machine))
if(!anchored)
- user << "The frame needs to be secured first!"
+ to_chat(user, "The frame needs to be secured first!")
return
var/obj/item/weapon/circuitboard/machine/B = P
if(!user.drop_item())
return
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You add the circuit board to the frame."
+ to_chat(user, "You add the circuit board to the frame.")
circuit = B
B.loc = src
icon_state = "box_2"
@@ -143,12 +143,12 @@
return
else if(istype(P, /obj/item/weapon/circuitboard))
- user << "This frame does not accept circuit boards of this type!"
+ to_chat(user, "This frame does not accept circuit boards of this type!")
return
if(istype(P, /obj/item/weapon/wirecutters))
playsound(src.loc, P.usesound, 50, 1)
- user << "You remove the cables."
+ to_chat(user, "You remove the cables.")
state = 1
icon_state = "box_0"
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc )
@@ -163,9 +163,9 @@
components.Remove(circuit)
circuit = null
if(components.len == 0)
- user << "You remove the circuit board."
+ to_chat(user, "You remove the circuit board.")
else
- user << "You remove the circuit board and other components."
+ to_chat(user, "You remove the circuit board and other components.")
for(var/atom/movable/A in components)
A.loc = src.loc
desc = initial(desc)
@@ -216,7 +216,7 @@
for(var/obj/item/weapon/stock_parts/part in added_components)
components += part
- user << "[part.name] applied."
+ to_chat(user, "[part.name] applied.")
if(added_components.len)
replacer.play_rped_sound()
return
@@ -238,16 +238,16 @@
NS.add(used_amt)
req_components[I] -= used_amt
- user << "You add [P] to [src]."
+ to_chat(user, "You add [P] to [src].")
return
if(!user.drop_item())
break
- user << "You add [P] to [src]."
+ to_chat(user, "You add [P] to [src].")
P.forceMove(src)
components += P
req_components[I]--
return 1
- user << "You cannot add that to the machine!"
+ to_chat(user, "You cannot add that to the machine!")
return 0
if(user.a_intent == INTENT_HARM)
return ..()
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 0e3e64b7d40..3aceab60400 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -31,7 +31,7 @@
var/obj/item/weapon/weldingtool/WT = I
if(obj_integrity < max_integrity)
if(WT.remove_fuel(0,user))
- user << "You begin repairing [src]..."
+ to_chat(user, "You begin repairing [src]...")
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = Clamp(obj_integrity + 20, 0, max_integrity)
@@ -136,7 +136,7 @@
if(HORIZONTAL)
mode = SINGLE
- user << "[src] is now in [mode] mode."
+ to_chat(user, "[src] is now in [mode] mode.")
/obj/item/weapon/grenade/barrier/prime()
new /obj/structure/barricade/security(get_turf(src.loc))
diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm
index 1c5fd1cece1..af59f63888d 100644
--- a/code/game/machinery/dna_scanner.dm
+++ b/code/game/machinery/dna_scanner.dm
@@ -65,7 +65,7 @@
/obj/machinery/dna_scannernew/proc/toggle_open(mob/user)
if(panel_open)
- user << "Close the maintenance panel first."
+ to_chat(user, "Close the maintenance panel first.")
return
if(state_open)
@@ -73,7 +73,7 @@
return
else if(locked)
- user << "The bolts are locked down, securing the door shut."
+ to_chat(user, "The bolts are locked down, securing the door shut.")
return
open_machine()
@@ -85,7 +85,7 @@
return
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You lean on the back of [src] and start pushing the door open... (this will take about [breakout_time] minutes.)"
+ to_chat(user, "You lean on the back of [src] and start pushing the door open... (this will take about [breakout_time] minutes.)")
user.visible_message("You hear a metallic creaking from [src]!")
if(do_after(user,(breakout_time*60*10), target = src)) //minutes * 60seconds * 10deciseconds
@@ -94,7 +94,7 @@
locked = 0
visible_message("[user] successfully broke out of [src]!")
- user << "You successfully break out of [src]!"
+ to_chat(user, "You successfully break out of [src]!")
open_machine()
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 41633620ed9..b10bf909a62 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -239,7 +239,7 @@ var/list/airlock_overlays = list()
shock_image.override = TRUE
electrocution_skeleton_anim.appearance_flags = RESET_COLOR
- user << "You feel a powerful shock course through your body!"
+ to_chat(user, "You feel a powerful shock course through your body!")
if(user.client)
user.client.images |= shock_image
user.client.images |= electrocution_skeleton_anim
@@ -507,31 +507,31 @@ var/list/airlock_overlays = list()
/obj/machinery/door/airlock/examine(mob/user)
..()
if(charge && !panel_open && in_range(user, src))
- user << "The maintenance panel seems haphazardly fastened."
+ to_chat(user, "The maintenance panel seems haphazardly fastened.")
if(charge && panel_open)
- user << "Something is wired up to the airlock's electronics!"
+ to_chat(user, "Something is wired up to the airlock's electronics!")
if(panel_open)
switch(security_level)
if(AIRLOCK_SECURITY_NONE)
- user << "Wires are exposed!"
+ to_chat(user, "Wires are exposed!")
if(AIRLOCK_SECURITY_METAL)
- user << "Wires are hidden behind welded metal cover"
+ to_chat(user, "Wires are hidden behind welded metal cover")
if(AIRLOCK_SECURITY_PLASTEEL_I_S)
- user << "There is some shredded plasteel inside"
+ to_chat(user, "There is some shredded plasteel inside")
if(AIRLOCK_SECURITY_PLASTEEL_I)
- user << "Wires are behind inner layer of plasteel"
+ to_chat(user, "Wires are behind inner layer of plasteel")
if(AIRLOCK_SECURITY_PLASTEEL_O_S)
- user << "There is some shredded plasteel inside"
+ to_chat(user, "There is some shredded plasteel inside")
if(AIRLOCK_SECURITY_PLASTEEL_O)
- user << "There is welded plasteel cover hiding wires"
+ to_chat(user, "There is welded plasteel cover hiding wires")
if(AIRLOCK_SECURITY_PLASTEEL)
- user << "There is protective grille over panel"
+ to_chat(user, "There is protective grille over panel")
else if(security_level)
if(security_level == AIRLOCK_SECURITY_METAL)
- user << "It looks a bit stronger"
+ to_chat(user, "It looks a bit stronger")
else
- user << "It looks very robust"
+ to_chat(user, "It looks very robust")
/obj/machinery/door/airlock/attack_ai(mob/user)
if(!src.canAIControl(user))
@@ -539,12 +539,12 @@ var/list/airlock_overlays = list()
src.hack(user)
return
else
- user << "Airlock AI control has been blocked with a firewall. Unable to hack."
+ to_chat(user, "Airlock AI control has been blocked with a firewall. Unable to hack.")
if(emagged)
- user << "Unable to interface: Airlock is unresponsive."
+ to_chat(user, "Unable to interface: Airlock is unresponsive.")
return
if(detonated)
- user << "Unable to interface. Airlock control panel damaged."
+ to_chat(user, "Unable to interface. Airlock control panel damaged.")
return
//Separate interface for the AI.
@@ -656,43 +656,43 @@ var/list/airlock_overlays = list()
set waitfor = 0
if(src.aiHacking == 0)
src.aiHacking = 1
- user << "Airlock AI control has been blocked. Beginning fault-detection."
+ to_chat(user, "Airlock AI control has been blocked. Beginning fault-detection.")
sleep(50)
if(src.canAIControl(user))
- user << "Alert cancelled. Airlock control has been restored without our assistance."
+ to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.")
src.aiHacking=0
return
else if(!src.canAIHack())
- user << "Connection lost! Unable to hack airlock."
+ to_chat(user, "Connection lost! Unable to hack airlock.")
src.aiHacking=0
return
- user << "Fault confirmed: airlock control wire disabled or cut."
+ to_chat(user, "Fault confirmed: airlock control wire disabled or cut.")
sleep(20)
- user << "Attempting to hack into airlock. This may take some time."
+ to_chat(user, "Attempting to hack into airlock. This may take some time.")
sleep(200)
if(src.canAIControl(user))
- user << "Alert cancelled. Airlock control has been restored without our assistance."
+ to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.")
src.aiHacking=0
return
else if(!src.canAIHack())
- user << "Connection lost! Unable to hack airlock."
+ to_chat(user, "Connection lost! Unable to hack airlock.")
src.aiHacking=0
return
- user << "Upload access confirmed. Loading control program into airlock software."
+ to_chat(user, "Upload access confirmed. Loading control program into airlock software.")
sleep(170)
if(src.canAIControl(user))
- user << "Alert cancelled. Airlock control has been restored without our assistance."
+ to_chat(user, "Alert cancelled. Airlock control has been restored without our assistance.")
src.aiHacking=0
return
else if(!src.canAIHack())
- user << "Connection lost! Unable to hack airlock."
+ to_chat(user, "Connection lost! Unable to hack airlock.")
src.aiHacking=0
return
- user << "Transfer complete. Forcing airlock to execute program."
+ to_chat(user, "Transfer complete. Forcing airlock to execute program.")
sleep(50)
//disable blocked control
src.aiControlDisabled = 2
- user << "Receiving control information from airlock."
+ to_chat(user, "Receiving control information from airlock.")
sleep(10)
//bring up airlock dialog
src.aiHacking = 0
@@ -724,7 +724,7 @@ var/list/airlock_overlays = list()
if(panel_open)
if(security_level)
- user << "Wires are protected!"
+ to_chat(user, "Wires are protected!")
return
wires.interact(user)
else
@@ -761,9 +761,9 @@ var/list/airlock_overlays = list()
if(1)
//disable idscan
if(wires.is_cut(WIRE_IDSCAN))
- usr << "The IdScan wire has been cut - So, you can't disable it, but it is already disabled anyways."
+ to_chat(usr, "The IdScan wire has been cut - So, you can't disable it, but it is already disabled anyways.")
else if(src.aiDisabledIdScanner)
- usr << "You've already disabled the IdScan feature."
+ to_chat(usr, "You've already disabled the IdScan feature.")
else
src.aiDisabledIdScanner = 1
if(2)
@@ -772,24 +772,24 @@ var/list/airlock_overlays = list()
src.loseMainPower()
update_icon()
else
- usr << "Main power is already offline."
+ to_chat(usr, "Main power is already offline.")
if(3)
//disrupt backup power
if(src.secondsBackupPowerLost == 0)
src.loseBackupPower()
update_icon()
else
- usr << "Backup power is already offline."
+ to_chat(usr, "Backup power is already offline.")
if(4)
//drop door bolts
if(wires.is_cut(WIRE_BOLTS))
- usr << "You can't drop the door bolts - The door bolt dropping wire has been cut."
+ to_chat(usr, "You can't drop the door bolts - The door bolt dropping wire has been cut.")
else
bolt()
if(5)
//un-electrify door
if(wires.is_cut(WIRE_SHOCK))
- usr << text("Can't un-electrify the airlock - The electrification wire is cut.")
+ to_chat(usr, text("Can't un-electrify the airlock - The electrification wire is cut."))
else if(secondsElectrified==-1)
set_electrified(0)
else if(secondsElectrified>0)
@@ -798,26 +798,26 @@ var/list/airlock_overlays = list()
if(8)
// Safeties! We don't need no stinking safeties!
if(wires.is_cut(WIRE_SAFETY))
- usr << text("Control to door sensors is disabled.")
+ to_chat(usr, text("Control to door sensors is disabled."))
else if (src.safe)
safe = 0
else
- usr << text("Firmware reports safeties already overriden.")
+ to_chat(usr, text("Firmware reports safeties already overriden."))
if(9)
// Door speed control
if(wires.is_cut(WIRE_TIMING))
- usr << text("Control to door timing circuitry has been severed.")
+ to_chat(usr, text("Control to door timing circuitry has been severed."))
else if (src.normalspeed)
normalspeed = 0
else
- usr << text("Door timing circuitry already accelerated.")
+ to_chat(usr, text("Door timing circuitry already accelerated."))
if(7)
//close door
if(src.welded)
- usr << text("The airlock has been welded shut!")
+ to_chat(usr, text("The airlock has been welded shut!"))
else if(src.locked)
- usr << text("The door bolts are down!")
+ to_chat(usr, text("The door bolts are down!"))
else if(!src.density)
close()
else
@@ -826,12 +826,12 @@ var/list/airlock_overlays = list()
if(10)
// Bolt lights
if(wires.is_cut(WIRE_LIGHT))
- usr << text("Control to door bolt lights has been severed.")
+ to_chat(usr, text("Control to door bolt lights has been severed."))
else if (src.lights)
lights = 0
update_icon()
else
- usr << text("Door bolt lights are already disabled!")
+ to_chat(usr, text("Door bolt lights are already disabled!"))
if(11)
// Emergency access
@@ -839,7 +839,7 @@ var/list/airlock_overlays = list()
emergency = 0
update_icon()
else
- usr << text("Emergency access is already disabled!")
+ to_chat(usr, text("Emergency access is already disabled!"))
else if(href_list["aiEnable"])
@@ -848,31 +848,31 @@ var/list/airlock_overlays = list()
if(1)
//enable idscan
if(wires.is_cut(WIRE_IDSCAN))
- usr << "You can't enable IdScan - The IdScan wire has been cut."
+ to_chat(usr, "You can't enable IdScan - The IdScan wire has been cut.")
else if(src.aiDisabledIdScanner)
src.aiDisabledIdScanner = 0
else
- usr << "The IdScan feature is not disabled."
+ to_chat(usr, "The IdScan feature is not disabled.")
if(4)
//raise door bolts
if(wires.is_cut(WIRE_BOLTS))
- usr << text("The door bolt drop wire is cut - you can't raise the door bolts.
\n")
+ to_chat(usr, text("The door bolt drop wire is cut - you can't raise the door bolts.
\n"))
else if(!src.locked)
- usr << text("The door bolts are already up.
\n")
+ to_chat(usr, text("The door bolts are already up.
\n"))
else
if(src.hasPower())
unbolt()
else
- usr << text("Cannot raise door bolts due to power failure.
\n")
+ to_chat(usr, text("Cannot raise door bolts due to power failure.
\n"))
if(5)
//electrify door for 30 seconds
if(wires.is_cut(WIRE_SHOCK))
- usr << text("The electrification wire has been cut.
\n")
+ to_chat(usr, text("The electrification wire has been cut.
\n"))
else if(src.secondsElectrified==-1)
- usr << text("The door is already indefinitely electrified. You'd have to un-electrify it before you can re-electrify it with a non-forever duration.
\n")
+ to_chat(usr, text("The door is already indefinitely electrified. You'd have to un-electrify it before you can re-electrify it with a non-forever duration.
\n"))
else if(src.secondsElectrified!=0)
- usr << text("The door is already electrified. You can't re-electrify it while it's already electrified.
\n")
+ to_chat(usr, text("The door is already electrified. You can't re-electrify it while it's already electrified.
\n"))
else
shockedby += "\[[time_stamp()]\][usr](ckey:[usr.ckey])"
add_logs(usr, src, "electrified")
@@ -887,11 +887,11 @@ var/list/airlock_overlays = list()
if(6)
//electrify door indefinitely
if(wires.is_cut(WIRE_SHOCK))
- usr << text("The electrification wire has been cut.
\n")
+ to_chat(usr, text("The electrification wire has been cut.
\n"))
else if(src.secondsElectrified==-1)
- usr << text("The door is already indefinitely electrified.
\n")
+ to_chat(usr, text("The door is already indefinitely electrified.
\n"))
else if(src.secondsElectrified!=0)
- usr << text("The door is already electrified. You can't re-electrify it while it's already electrified.
\n")
+ to_chat(usr, text("The door is already electrified. You can't re-electrify it while it's already electrified.
\n"))
else
shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])")
add_logs(usr, src, "electrified")
@@ -900,29 +900,29 @@ var/list/airlock_overlays = list()
if (8) // Not in order >.>
// Safeties! Maybe we do need some stinking safeties!
if(wires.is_cut(WIRE_SAFETY))
- usr << text("Control to door sensors is disabled.")
+ to_chat(usr, text("Control to door sensors is disabled."))
else if (!src.safe)
safe = 1
src.updateUsrDialog()
else
- usr << text("Firmware reports safeties already in place.")
+ to_chat(usr, text("Firmware reports safeties already in place."))
if(9)
// Door speed control
if(wires.is_cut(WIRE_TIMING))
- usr << text("Control to door timing circuitry has been severed.")
+ to_chat(usr, text("Control to door timing circuitry has been severed."))
else if (!src.normalspeed)
normalspeed = 1
src.updateUsrDialog()
else
- usr << text("Door timing circuitry currently operating normally.")
+ to_chat(usr, text("Door timing circuitry currently operating normally."))
if(7)
//open door
if(src.welded)
- usr << text("The airlock has been welded shut!")
+ to_chat(usr, text("The airlock has been welded shut!"))
else if(src.locked)
- usr << text("The door bolts are down!")
+ to_chat(usr, text("The door bolts are down!"))
else if(src.density)
open()
else
@@ -930,20 +930,20 @@ var/list/airlock_overlays = list()
if(10)
// Bolt lights
if(wires.is_cut(WIRE_LIGHT))
- usr << text("Control to door bolt lights has been severed.")
+ to_chat(usr, text("Control to door bolt lights has been severed."))
else if (!src.lights)
lights = 1
update_icon()
src.updateUsrDialog()
else
- usr << text("Door bolt lights are already enabled!")
+ to_chat(usr, text("Door bolt lights are already enabled!"))
if(11)
// Emergency access
if (!src.emergency)
emergency = 1
update_icon()
else
- usr << text("Emergency access is already enabled!")
+ to_chat(usr, text("Emergency access is already enabled!"))
add_fingerprint(usr)
if(!nowindow)
@@ -962,9 +962,9 @@ var/list/airlock_overlays = list()
if(istype(C, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/S = C
if(S.amount < 2)
- user << "You need at least 2 metal sheets to reinforce [src]."
+ to_chat(user, "You need at least 2 metal sheets to reinforce [src].")
return
- user << "You start reinforcing [src]"
+ to_chat(user, "You start reinforcing [src]")
if(do_after(user, 20, 1, target = src))
if(!panel_open || !S.use(2))
return
@@ -976,9 +976,9 @@ var/list/airlock_overlays = list()
else if(istype(C, /obj/item/stack/sheet/plasteel))
var/obj/item/stack/sheet/plasteel/S = C
if(S.amount < 2)
- user << "You need at least 2 plasteel sheets to reinforce [src]."
+ to_chat(user, "You need at least 2 plasteel sheets to reinforce [src].")
return
- user << "You start reinforcing [src]."
+ to_chat(user, "You start reinforcing [src].")
if(do_after(user, 20, 1, target = src))
if(!panel_open || !S.use(2))
return
@@ -994,7 +994,7 @@ var/list/airlock_overlays = list()
var/obj/item/weapon/weldingtool/WT = C
if(!WT.remove_fuel(2, user))
return
- user << "You begin cutting the panel's shielding..."
+ to_chat(user, "You begin cutting the panel's shielding...")
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!panel_open || !WT.isOn())
@@ -1010,7 +1010,7 @@ var/list/airlock_overlays = list()
if(AIRLOCK_SECURITY_PLASTEEL_I_S)
if(istype(C, /obj/item/weapon/crowbar))
var/obj/item/weapon/crowbar/W = C
- user << "You start removing the inner layer of shielding..."
+ to_chat(user, "You start removing the inner layer of shielding...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 40*W.toolspeed, 1, target = src))
if(!panel_open)
@@ -1030,7 +1030,7 @@ var/list/airlock_overlays = list()
var/obj/item/weapon/weldingtool/WT = C
if(!WT.remove_fuel(2, user))
return
- user << "You begin cutting the inner layer of shielding..."
+ to_chat(user, "You begin cutting the inner layer of shielding...")
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!panel_open || !WT.isOn())
@@ -1044,7 +1044,7 @@ var/list/airlock_overlays = list()
if(AIRLOCK_SECURITY_PLASTEEL_O_S)
if(istype(C, /obj/item/weapon/crowbar))
var/obj/item/weapon/crowbar/W = C
- user << "You start removing outer layer of shielding..."
+ to_chat(user, "You start removing outer layer of shielding...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 40*W.toolspeed, 1, target = src))
if(!panel_open)
@@ -1061,7 +1061,7 @@ var/list/airlock_overlays = list()
var/obj/item/weapon/weldingtool/WT = C
if(!WT.remove_fuel(2, user))
return
- user << "You begin cutting the outer layer of shielding..."
+ to_chat(user, "You begin cutting the outer layer of shielding...")
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!panel_open || !WT.isOn())
@@ -1077,7 +1077,7 @@ var/list/airlock_overlays = list()
var/obj/item/weapon/wirecutters/W = C
if(src.hasPower() && src.shock(user, 60)) // Protective grille of wiring is electrified
return
- user << "You start cutting through the outer grille."
+ to_chat(user, "You start cutting through the outer grille.")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 10*W.toolspeed, 1, target = src))
if(!panel_open)
@@ -1088,10 +1088,10 @@ var/list/airlock_overlays = list()
return
if(istype(C, /obj/item/weapon/screwdriver))
if(panel_open && detonated)
- user << "[src] has no maintenance panel!"
+ to_chat(user, "[src] has no maintenance panel!")
return
panel_open = !panel_open
- user << "You [panel_open ? "open":"close"] the maintenance panel of the airlock."
+ to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the airlock.")
playsound(src.loc, C.usesound, 50, 1)
src.update_icon()
else if(is_wire_tool(C))
@@ -1103,17 +1103,17 @@ var/list/airlock_overlays = list()
change_paintjob(C, user)
else if(istype(C, /obj/item/device/doorCharge))
if(!panel_open || security_level)
- user << "The maintenance panel must be open to apply [C]!"
+ to_chat(user, "The maintenance panel must be open to apply [C]!")
return
if(emagged)
return
if(charge && !detonated)
- user << "There's already a charge hooked up to this door!"
+ to_chat(user, "There's already a charge hooked up to this door!")
return
if(detonated)
- user << "The maintenance panel is destroyed!"
+ to_chat(user, "The maintenance panel is destroyed!")
return
- user << "You apply [C]. Next time someone opens the door, it will explode."
+ to_chat(user, "You apply [C]. Next time someone opens the door, it will explode.")
user.drop_item()
panel_open = 0
update_icon()
@@ -1147,10 +1147,10 @@ var/list/airlock_overlays = list()
else
beingcrowbarred = 0
if(panel_open && charge)
- user << "You carefully start removing [charge] from [src]..."
+ to_chat(user, "You carefully start removing [charge] from [src]...")
playsound(get_turf(src), I.usesound, 50, 1)
if(!do_after(user, 150*I.toolspeed, target = src))
- user << "You slip and [charge] detonates!"
+ to_chat(user, "You slip and [charge] detonates!")
charge.ex_act(1)
user.Weaken(3)
return
@@ -1168,9 +1168,9 @@ var/list/airlock_overlays = list()
deconstruct(TRUE, user)
return
else if(hasPower())
- user << "The airlock's motors resist your efforts to force it!"
+ to_chat(user, "The airlock's motors resist your efforts to force it!")
else if(locked)
- user << "The airlock's bolts prevent it from being forced!"
+ to_chat(user, "The airlock's bolts prevent it from being forced!")
else if( !welded && !operating)
if(beingcrowbarred == 0) //being fireaxe'd
var/obj/item/weapon/twohanded/fireaxe/F = I
@@ -1181,7 +1181,7 @@ var/list/airlock_overlays = list()
else
close(2)
else
- user << "You need to be wielding the fire axe to do that!"
+ to_chat(user, "You need to be wielding the fire axe to do that!")
else
spawn(0)
if(density)
@@ -1198,11 +1198,11 @@ var/list/airlock_overlays = list()
return
if(locked)
- user << "The bolts are down, it won't budge!"
+ to_chat(user, "The bolts are down, it won't budge!")
return
if(welded)
- user << "It's welded, it won't budge!"
+ to_chat(user, "It's welded, it won't budge!")
return
var/time_to_open = 5
@@ -1212,7 +1212,7 @@ var/list/airlock_overlays = list()
if(do_after(user, time_to_open,target = src))
open(2)
if(density && !open(2))
- user << "Despite your attempts, the [src] refuses to open."
+ to_chat(user, "Despite your attempts, the [src] refuses to open.")
/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params)
if(C.is_hot() > 300)//If the temperature of the object is over 300, then ignite
@@ -1426,7 +1426,7 @@ var/list/airlock_overlays = list()
if(!density) //Already open
return
if(locked || welded) //Extremely generic, as aliens only understand the basics of how airlocks work.
- user << "[src] refuses to budge!"
+ to_chat(user, "[src] refuses to budge!")
return
user.visible_message("[user] begins prying open [src].",\
"You begin digging your claws into [src] with all your might!",\
@@ -1439,7 +1439,7 @@ var/list/airlock_overlays = list()
if(do_after(user, time_to_open, target = src))
if(density && !open(2)) //The airlock is still closed, but something prevented it opening. (Another player noticed and bolted/welded the airlock in time!)
- user << "Despite your efforts, [src] managed to resist your attempts to open it!"
+ to_chat(user, "Despite your efforts, [src] managed to resist your attempts to open it!")
/obj/machinery/door/airlock/hostile_lockdown(mob/origin)
// Must be powered and have working AI wire.
@@ -1496,10 +1496,10 @@ var/list/airlock_overlays = list()
A.obj_integrity = A.max_integrity * 0.5
else if(emagged)
if(user)
- user << "You discard the damaged electronics."
+ to_chat(user, "You discard the damaged electronics.")
else
if(user)
- user << "You remove the airlock electronics."
+ to_chat(user, "You remove the airlock electronics.")
var/obj/item/weapon/electronics/airlock/ae
if(!electronics)
diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm
index b5ab35740ec..6d2c7bd1f34 100644
--- a/code/game/machinery/doors/airlock_types.dm
+++ b/code/game/machinery/doors/airlock_types.dm
@@ -377,7 +377,7 @@
new /obj/effect/overlay/temp/cult/sac(loc)
var/atom/throwtarget
throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(M, src)))
- M << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50))
+ to_chat(M, pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50)))
flash_color(M, flash_color="#960000", flash_time=20)
M.Weaken(2)
M.throw_at(throwtarget, 5, 1,src)
@@ -448,7 +448,7 @@
gear_text = "The cogwheel is solidly wrenched to the brass around it."
if(GEAR_LOOSE)
gear_text = "The cogwheel has been loosened, but remains connected loosely to the door!"
- user << gear_text
+ to_chat(user, gear_text)
/obj/machinery/door/airlock/clockwork/emp_act(severity)
if(prob(80/severity))
@@ -517,7 +517,7 @@
return 1
else if(istype(I, /obj/item/weapon/crowbar))
if(construction_state == GEAR_SECURE)
- user << "[src]'s cogwheel is too tightly secured! Your [I.name] can't reach under it!"
+ to_chat(user, "[src]'s cogwheel is too tightly secured! Your [I.name] can't reach under it!")
return 1
else if(construction_state == GEAR_LOOSE)
user.visible_message("[user] begins slowly lifting off [src]'s cogwheel...", "You slowly begin lifting off [src]'s cogwheel...")
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 66ef3e3941c..d8f480ca7f5 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -73,7 +73,7 @@
if(operating || !density)
return
user.changeNext_move(CLICK_CD_MELEE)
-
+
user.visible_message("[user] bangs on \the [src].",
"You bang on \the [src].")
playsound(loc, 'sound/effects/Glassknock.ogg', 10, FALSE, frequency = 32000)
@@ -86,7 +86,7 @@
if(welded)
if(istype(C, /obj/item/weapon/wrench))
if(boltslocked)
- user << "There are screws locking the bolts in place!"
+ to_chat(user, "There are screws locking the bolts in place!")
return
playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("[user] starts undoing [src]'s bolts...", \
@@ -113,7 +113,7 @@
/obj/machinery/door/firedoor/try_to_weld(obj/item/weapon/weldingtool/W, mob/user)
if(W.remove_fuel(0, user))
welded = !welded
- user << "You [welded?"welded":"unwelded"] \the [src]"
+ to_chat(user, "You [welded?"welded":"unwelded"] \the [src]")
update_icon()
/obj/machinery/door/firedoor/try_to_crowbar(obj/item/I, mob/user)
@@ -137,7 +137,7 @@
/obj/machinery/door/firedoor/attack_alien(mob/user)
add_fingerprint(user)
if(welded)
- user << "[src] refuses to budge!"
+ to_chat(user, "[src] refuses to budge!")
return
open()
@@ -246,13 +246,13 @@
..()
switch(constructionStep)
if(CONSTRUCTION_PANEL_OPEN)
- user << "There is a small metal plate covering the wires."
+ to_chat(user, "There is a small metal plate covering the wires.")
if(CONSTRUCTION_WIRES_EXPOSED)
- user << "Wires are trailing from the maintenance panel."
+ to_chat(user, "Wires are trailing from the maintenance panel.")
if(CONSTRUCTION_GUTTED)
- user << "The circuit board is visible."
+ to_chat(user, "The circuit board is visible.")
if(CONSTRUCTION_NOCIRCUIT)
- user << "There are no electronics in the frame."
+ to_chat(user, "There are no electronics in the frame.")
/obj/structure/firelock_frame/update_icon()
..()
@@ -277,7 +277,7 @@
return
if(istype(C, /obj/item/weapon/wrench))
if(locate(/obj/machinery/door/firedoor) in get_turf(src))
- user << "There's already a firelock there."
+ to_chat(user, "There's already a firelock there.")
return
playsound(get_turf(src), C.usesound, 50, 1)
user.visible_message("[user] starts bolting down [src]...", \
@@ -298,10 +298,10 @@
if(istype(C, /obj/item/stack/sheet/plasteel))
var/obj/item/stack/sheet/plasteel/P = C
if(reinforced)
- user << "[src] is already reinforced."
+ to_chat(user, "[src] is already reinforced.")
return
if(P.get_amount() < 2)
- user << "You need more plasteel to reinforce [src]."
+ to_chat(user, "You need more plasteel to reinforce [src].")
return
user.visible_message("[user] begins reinforcing [src]...", \
"You begin reinforcing [src]...")
@@ -367,7 +367,7 @@
if(istype(C, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/B = C
if(B.get_amount() < 5)
- user << "You need more wires to add wiring to [src]."
+ to_chat(user, "You need more wires to add wiring to [src].")
return
user.visible_message("[user] begins wiring [src]...", \
"You begin adding wires to [src]...")
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 2dda132acdb..3b6e396f7c5 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -226,11 +226,11 @@
if(!(flags&NODECONSTRUCT))
if(istype(I, /obj/item/weapon/screwdriver))
if(density || operating)
- user << "You need to open the door to access the maintenance panel!"
+ to_chat(user, "You need to open the door to access the maintenance panel!")
return
playsound(src.loc, I.usesound, 50, 1)
panel_open = !panel_open
- user << "You [panel_open ? "open":"close"] the maintenance panel of the [src.name]."
+ to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the [src.name].")
return
if(istype(I, /obj/item/weapon/crowbar))
@@ -260,11 +260,11 @@
WA.created_name = src.name
if(emagged)
- user << "You discard the damaged electronics."
+ to_chat(user, "You discard the damaged electronics.")
qdel(src)
return
- user << "You remove the airlock electronics."
+ to_chat(user, "You remove the airlock electronics.")
var/obj/item/weapon/electronics/airlock/ae
if(!electronics)
@@ -290,7 +290,7 @@
else
close(2)
else
- user << "The door's motors resist your efforts to force it!"
+ to_chat(user, "The door's motors resist your efforts to force it!")
/obj/machinery/door/window/do_animate(animation)
switch(animation)
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 436fcfb1e5a..13754e4a195 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -27,11 +27,11 @@ var/list/doppler_arrays = list()
if(!anchored && !isinspace())
anchored = 1
power_change()
- user << "You fasten [src]."
+ to_chat(user, "You fasten [src].")
else if(anchored)
anchored = 0
power_change()
- user << "You unfasten [src]."
+ to_chat(user, "You unfasten [src].")
playsound(loc, O.usesound, 50, 1)
else
return ..()
@@ -50,7 +50,7 @@ var/list/doppler_arrays = list()
/obj/machinery/doppler_array/AltClick(mob/living/user)
if(!istype(user) || user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm
index 48dfe0f55b1..859f306396d 100644
--- a/code/game/machinery/droneDispenser.dm
+++ b/code/game/machinery/droneDispenser.dm
@@ -157,13 +157,11 @@
/obj/machinery/droneDispenser/examine(mob/user)
..()
if((mode == DRONE_RECHARGING) && !stat && recharging_text)
- user << "[recharging_text]"
+ to_chat(user, "[recharging_text]")
if(metal_cost)
- user << "It has [materials.amount(MAT_METAL)] \
- units of metal stored."
+ to_chat(user, "It has [materials.amount(MAT_METAL)] units of metal stored.")
if(glass_cost)
- user << "It has [materials.amount(MAT_GLASS)] \
- units of glass stored."
+ to_chat(user, "It has [materials.amount(MAT_GLASS)] units of glass stored.")
/obj/machinery/droneDispenser/power_change()
..()
@@ -248,32 +246,28 @@
if(!O.materials[MAT_METAL] && !O.materials[MAT_GLASS])
return ..()
if(!metal_cost && !glass_cost)
- user << "There isn't a place \
- to insert [O]!"
+ to_chat(user, "There isn't a place to insert [O]!")
return
var/obj/item/stack/sheets = O
if(!user.canUnEquip(sheets))
- user << "[O] is stuck to your hand, \
- you can't get it off!"
+ to_chat(user, "[O] is stuck to your hand, you can't get it off!")
return
var/used = materials.insert_stack(sheets, sheets.amount)
if(used)
- user << "You insert [used] \
- sheet[used > 1 ? "s" : ""] into [src]."
+ to_chat(user, "You insert [used] sheet[used > 1 ? "s" : ""] into [src].")
else
- user << "The [src] isn't accepting the \
- [sheets]."
+ to_chat(user, "The [src] isn't accepting the [sheets].")
else if(istype(O, /obj/item/weapon/crowbar))
materials.retrieve_all()
playsound(loc, O.usesound, 50, 1)
- user << "You retrieve the materials from [src]."
+ to_chat(user, "You retrieve the materials from [src].")
else if(istype(O, /obj/item/weapon/weldingtool))
if(!(stat & BROKEN))
- user << "[src] doesn't need repairs."
+ to_chat(user, "[src] doesn't need repairs.")
return
var/obj/item/weapon/weldingtool/WT = O
@@ -282,8 +276,7 @@
return
if(WT.get_fuel() < 1)
- user << "You need more fuel to \
- complete this task!"
+ to_chat(user, "You need more fuel to complete this task!")
return
playsound(src, WT.usesound, 50, 1)
diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm
index 9205aeac117..2f67440e240 100644
--- a/code/game/machinery/embedded_controller/access_controller.dm
+++ b/code/game/machinery/embedded_controller/access_controller.dm
@@ -32,7 +32,7 @@
req_access = list()
req_one_access = list()
playsound(src.loc, "sparks", 100, 1)
- user << "You short out the access controller."
+ to_chat(user, "You short out the access controller.")
/obj/machinery/doorButtons/proc/removeMe()
@@ -62,7 +62,7 @@
if(busy)
return
if(!allowed(user))
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
if(controller && !controller.busy && door)
if(controller.stat & NOPOWER)
@@ -131,7 +131,7 @@
if(busy)
return
if(!allowed(usr))
- usr << "Access denied."
+ to_chat(usr, "Access denied.")
return
switch(href_list["command"])
if("close_exterior")
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 3cafe94dd24..2d079432a89 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -148,7 +148,7 @@
if(istype(W, /obj/item/weapon/screwdriver) && buildstage == 2)
playsound(src.loc, W.usesound, 50, 1)
panel_open = !panel_open
- user << "The wires have been [panel_open ? "exposed" : "unexposed"]."
+ to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].")
update_icon()
return
@@ -167,18 +167,18 @@
buildstage = 1
playsound(src.loc, W.usesound, 50, 1)
new /obj/item/stack/cable_coil(user.loc, 5)
- user << "You cut the wires from \the [src]."
+ to_chat(user, "You cut the wires from \the [src].")
update_icon()
return
if(1)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = W
if(coil.get_amount() < 5)
- user << "You need more cable for this!"
+ to_chat(user, "You need more cable for this!")
else
coil.use(5)
buildstage = 2
- user << "You wire \the [src]."
+ to_chat(user, "You wire \the [src].")
update_icon()
return
@@ -189,16 +189,16 @@
if(do_after(user, 20*W.toolspeed, target = src))
if(buildstage == 1)
if(stat & BROKEN)
- user << "You remove the destroyed circuit."
+ to_chat(user, "You remove the destroyed circuit.")
else
- user << "You pry out the circuit."
+ to_chat(user, "You pry out the circuit.")
new /obj/item/weapon/electronics/firealarm(user.loc)
buildstage = 0
update_icon()
return
if(0)
if(istype(W, /obj/item/weapon/electronics/firealarm))
- user << "You insert the circuit."
+ to_chat(user, "You insert the circuit.")
qdel(W)
buildstage = 1
update_icon()
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index e76214f9f29..087c8be6977 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -73,17 +73,17 @@
bulb = W
power_change()
else
- user << "A flashbulb is already installed in [src]!"
+ to_chat(user, "A flashbulb is already installed in [src]!")
else if (istype(W, /obj/item/weapon/wrench))
if(!bulb)
- user << "You start unsecuring the flasher frame..."
+ to_chat(user, "You start unsecuring the flasher frame...")
playsound(loc, W.usesound, 50, 1)
if(do_after(user, 40*W.toolspeed, target = src))
- user << "You unsecure the flasher frame."
+ to_chat(user, "You unsecure the flasher frame.")
deconstruct(TRUE)
else
- user << "Remove a flashbulb from [src] first!"
+ to_chat(user, "Remove a flashbulb from [src] first!")
else
return ..()
@@ -168,13 +168,13 @@
playsound(src.loc, W.usesound, 100, 1)
if (!anchored && !isinspace())
- user << "[src] is now secured."
+ to_chat(user, "[src] is now secured.")
add_overlay("[base_state]-s")
anchored = 1
power_change()
add_to_proximity_list(src, range)
else
- user << "[src] can now be moved."
+ to_chat(user, "[src] can now be moved.")
cut_overlays()
anchored = 0
power_change()
@@ -201,7 +201,7 @@
/obj/item/wallframe/flasher/examine(mob/user)
..()
- user << "Its channel ID is '[id]'."
+ to_chat(user, "Its channel ID is '[id]'.")
/obj/item/wallframe/flasher/after_attach(var/obj/O)
..()
diff --git a/code/game/machinery/gulag_item_reclaimer.dm b/code/game/machinery/gulag_item_reclaimer.dm
index cedab21e73e..826d707f0ac 100644
--- a/code/game/machinery/gulag_item_reclaimer.dm
+++ b/code/game/machinery/gulag_item_reclaimer.dm
@@ -36,10 +36,10 @@
return
I.forceMove(src)
inserted_id = I
- user << "You insert [I]."
+ to_chat(user, "You insert [I].")
return
else
- user << "There's an ID inserted already."
+ to_chat(user, "There's an ID inserted already.")
return ..()
/obj/machinery/gulag_item_reclaimer/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
@@ -99,7 +99,7 @@
if(M == usr || allowed(usr))
drop_items(M)
else
- usr << "Access denied."
+ to_chat(usr, "Access denied.")
/obj/machinery/gulag_item_reclaimer/proc/drop_items(mob/user)
if(!stored_items[user])
diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm
index f879f4b4c48..92a550b17cf 100644
--- a/code/game/machinery/gulag_teleporter.dm
+++ b/code/game/machinery/gulag_teleporter.dm
@@ -49,7 +49,7 @@ The console is located at computer/gulag_teleporter.dm
/obj/machinery/gulag_teleporter/interact(mob/user)
if(locked)
- user << "[src] is locked."
+ to_chat(user, "[src] is locked.")
return
toggle_open()
@@ -92,7 +92,7 @@ The console is located at computer/gulag_teleporter.dm
if(user.stat != CONSCIOUS)
return
if(locked)
- user << "[src] is locked!"
+ to_chat(user, "[src] is locked!")
return
open_machine()
@@ -103,7 +103,7 @@ The console is located at computer/gulag_teleporter.dm
return
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You lean on the back of [src] and start pushing the door open... (this will take about a minute.)"
+ to_chat(user, "You lean on the back of [src] and start pushing the door open... (this will take about a minute.)")
user.visible_message("You hear a metallic creaking from [src]!")
if(do_after(user,(breakout_time), target = src))
@@ -112,7 +112,7 @@ The console is located at computer/gulag_teleporter.dm
locked = FALSE
visible_message("[user] successfully broke out of [src]!")
- user << "You successfully break out of [src]!"
+ to_chat(user, "You successfully break out of [src]!")
open_machine()
@@ -123,7 +123,7 @@ The console is located at computer/gulag_teleporter.dm
/obj/machinery/gulag_teleporter/proc/toggle_open()
if(panel_open)
- usr << "Close the maintenance panel first."
+ to_chat(usr, "Close the maintenance panel first.")
return
if(state_open)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index dbed69e3cb1..17d849932d1 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -126,7 +126,7 @@ var/list/holopads = list()
for(var/mob/living/silicon/ai/AI in living_mob_list)
if(!AI.client)
continue
- AI << "Your presence is requested at \the [area]."
+ to_chat(AI, "Your presence is requested at \the [area].")
else
temp = "A request for AI presence was already sent recently.
"
temp += "Main Menu"
@@ -180,12 +180,12 @@ var/list/holopads = list()
/obj/machinery/holopad/proc/activate_holo(mob/living/silicon/ai/user)
if(!(stat & NOPOWER) && user.eyeobj.loc == src.loc)//If the projector has power and client eye is on it
if (istype(user.current, /obj/machinery/holopad))
- user << "ERROR: \black Image feed in progress."
+ to_chat(user, "ERROR: \black Image feed in progress.")
return
create_holo(user)//Create one.
src.visible_message("A holographic image of [user] flicks to life right before your eyes!")
else
- user << "ERROR: \black Unable to project hologram."
+ to_chat(user, "ERROR: \black Unable to project hologram.")
/*This is the proc for special two-way communication between AI and holopad/people talking near holopad.
For the other part of the code, check silicon say.dm. Particularly robot talk.*/
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index 1df559b7496..bf63f93af2b 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -65,7 +65,7 @@
return
if(!target.has_dna())
- usr << "The drip beeps: Warning, incompatible creature!"
+ to_chat(usr, "The drip beeps: Warning, incompatible creature!")
return
if(Adjacent(target) && usr.Adjacent(target))
@@ -75,20 +75,20 @@
START_PROCESSING(SSmachine, src)
update_icon()
else
- usr << "There's nothing attached to the IV drip!"
+ to_chat(usr, "There's nothing attached to the IV drip!")
/obj/machinery/iv_drip/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/reagent_containers))
if(!isnull(beaker))
- user << "There is already a reagent container loaded!"
+ to_chat(user, "There is already a reagent container loaded!")
return
if(!user.drop_item())
return
W.loc = src
beaker = W
- user << "You attach \the [W] to \the [src]."
+ to_chat(user, "You attach \the [W] to \the [src].")
update_icon()
return
else
@@ -104,7 +104,7 @@
return PROCESS_KILL
if(!(get_dist(src, attached) <= 1 && isturf(attached.loc)))
- attached << "The IV drip needle is ripped out of you!"
+ to_chat(attached, "The IV drip needle is ripped out of you!")
attached.apply_damage(3, BRUTE, pick("r_arm", "l_arm"))
attached = null
update_icon()
@@ -158,7 +158,7 @@
set src in view(1)
if(!isliving(usr))
- usr << "You can't do that!"
+ to_chat(usr, "You can't do that!")
return
if(usr.stat)
@@ -175,14 +175,14 @@
set src in view(1)
if(!isliving(usr))
- usr << "You can't do that!"
+ to_chat(usr, "You can't do that!")
return
if(usr.stat)
return
mode = !mode
- usr << "The IV drip is now [mode ? "injecting" : "taking blood"]."
+ to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].")
update_icon()
/obj/machinery/iv_drip/examine()
@@ -190,14 +190,14 @@
..()
if (!(usr in view(2)) && usr!=loc) return
- usr << "The IV drip is [mode ? "injecting" : "taking blood"]."
+ to_chat(usr, "The IV drip is [mode ? "injecting" : "taking blood"].")
if(beaker)
if(beaker.reagents && beaker.reagents.reagent_list.len)
- usr << "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid."
+ to_chat(usr, "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.")
else
- usr << "Attached is an empty [beaker]."
+ to_chat(usr, "Attached is an empty [beaker].")
else
- usr << "No chemicals are attached."
+ to_chat(usr, "No chemicals are attached.")
- usr << "[attached ? attached : "No one"] is attached."
+ to_chat(usr, "[attached ? attached : "No one"] is attached.")
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index aba49f48f58..34026989b75 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -38,7 +38,7 @@
/obj/machinery/light_switch/examine(mob/user)
..()
- user << "It is [on? "on" : "off"]."
+ to_chat(user, "It is [on? "on" : "off"].")
/obj/machinery/light_switch/attack_paw(mob/user)
diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm
index f5927cfb210..bdca0cd16c6 100644
--- a/code/game/machinery/limbgrower.dm
+++ b/code/game/machinery/limbgrower.dm
@@ -75,7 +75,7 @@
/obj/machinery/limbgrower/attackby(obj/item/O, mob/user, params)
if (busy)
- user << "The Limb Grower is busy. Please wait for completion of previous operation."
+ to_chat(user, "The Limb Grower is busy. Please wait for completion of previous operation.")
return
if(default_deconstruction_screwdriver(user, "limbgrower_panelopen", "limbgrower_idleoff", O))
@@ -124,7 +124,7 @@
addtimer(CALLBACK(src, .proc/build_item),32*prod_coeff)
else
- usr << "The limb grower is busy. Please wait for completion of previous operation."
+ to_chat(usr, "The limb grower is busy. Please wait for completion of previous operation.")
updateUsrDialog()
return
@@ -238,5 +238,5 @@
for(var/datum/design/D in files.possible_designs)
if((D.build_type & LIMBGROWER) && ("special" in D.category))
files.AddDesign2Known(D)
- user << "A warning flashes onto the screen, stating that safety overrides have been deactivated"
+ to_chat(user, "A warning flashes onto the screen, stating that safety overrides have been deactivated")
emag = TRUE
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 52d05f7671c..7a0945e7f55 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -266,7 +266,7 @@ Class Procs:
if((user.lying || user.stat) && !IsAdminGhost(user))
return 1
if(!user.IsAdvancedToolUser() && !IsAdminGhost(user))
- usr << "You don't have the dexterity to do this!"
+ to_chat(usr, "You don't have the dexterity to do this!")
return 1
if(!is_interactable())
return 1
@@ -340,11 +340,11 @@ Class Procs:
if(!panel_open)
panel_open = 1
icon_state = icon_state_open
- user << "You open the maintenance hatch of [src]."
+ to_chat(user, "You open the maintenance hatch of [src].")
else
panel_open = 0
icon_state = icon_state_closed
- user << "You close the maintenance hatch of [src]."
+ to_chat(user, "You close the maintenance hatch of [src].")
return 1
return 0
@@ -352,13 +352,13 @@ Class Procs:
if(panel_open && istype(W))
playsound(loc, W.usesound, 50, 1)
setDir(turn(dir,-90))
- user << "You rotate [src]."
+ to_chat(user, "You rotate [src].")
return 1
return 0
/obj/proc/can_be_unfasten_wrench(mob/user, silent) //if we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't.
if(!isfloorturf(loc) && !anchored)
- user << "[src] needs to be on the floor to be secured!"
+ to_chat(user, "[src] needs to be on the floor to be secured!")
return FAILED_UNFASTEN
return SUCCESSFUL_UNFASTEN
@@ -368,12 +368,12 @@ Class Procs:
if(!can_be_unfasten || can_be_unfasten == FAILED_UNFASTEN)
return can_be_unfasten
if(time)
- user << "You begin [anchored ? "un" : ""]securing [src]..."
+ to_chat(user, "You begin [anchored ? "un" : ""]securing [src]...")
playsound(loc, W.usesound, 50, 1)
var/prev_anchored = anchored
//as long as we're the same anchored state and we're either on a floor or are anchored, toggle our anchored state
if(!time || do_after(user, time*W.toolspeed, target = src, extra_checks = CALLBACK(src, .proc/unfasten_wrench_check, prev_anchored, user)))
- user << "You [anchored ? "un" : ""]secure [src]."
+ to_chat(user, "You [anchored ? "un" : ""]secure [src].")
anchored = !anchored
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
return SUCCESSFUL_UNFASTEN
@@ -412,7 +412,7 @@ Class Procs:
component_parts -= A
component_parts += B
B.loc = null
- user << "[A.name] replaced with [B.name]."
+ to_chat(user, "[A.name] replaced with [B.name].")
shouldplaysound = 1 //Only play the sound when parts are actually replaced!
break
RefreshParts()
@@ -424,25 +424,25 @@ Class Procs:
return 0
/obj/machinery/proc/display_parts(mob/user)
- user << "Following parts detected in the machine:"
+ to_chat(user, "Following parts detected in the machine:")
for(var/obj/item/C in component_parts)
- user << "\icon[C] [C.name]"
+ to_chat(user, "\icon[C] [C.name]")
/obj/machinery/examine(mob/user)
..()
if(stat & BROKEN)
- user << "It looks broken and non functional."
+ to_chat(user, "It looks broken and non functional.")
if(!(resistance_flags & INDESTRUCTIBLE))
if(resistance_flags & ON_FIRE)
- user << "It's on fire!"
+ to_chat(user, "It's on fire!")
var/healthpercent = (obj_integrity/max_integrity) * 100
switch(healthpercent)
if(50 to 99)
- user << "It looks slightly damaged."
+ to_chat(user, "It looks slightly damaged.")
if(25 to 50)
- user << "It appears heavily damaged."
+ to_chat(user, "It appears heavily damaged.")
if(0 to 25)
- user << "It's falling apart!"
+ to_chat(user, "It's falling apart!")
if(user.research_scanner && component_parts)
display_parts(user)
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 3f8a3c35251..ea502741345 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -94,12 +94,12 @@
if(open)
if (src.allowed(user))
src.locked = !src.locked
- user << "Controls are now [src.locked ? "locked" : "unlocked"]."
+ to_chat(user, "Controls are now [src.locked ? "locked" : "unlocked"].")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
updateDialog()
else
- user << "You must open the cover first!"
+ to_chat(user, "You must open the cover first!")
else
return ..()
@@ -118,7 +118,7 @@
return // prevent intraction when T-scanner revealed
if(!open && !ai) // can't alter controls if not open, unless you're an AI
- user << "The beacon's control cover is closed!"
+ to_chat(user, "The beacon's control cover is closed!")
return
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 4cb44977201..1fbbfbb41b5 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -714,17 +714,17 @@ var/list/obj/machinery/newscaster/allCasters = list()
/obj/machinery/newscaster/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/wrench))
- user << "You start [anchored ? "un" : ""]securing [name]..."
+ to_chat(user, "You start [anchored ? "un" : ""]securing [name]...")
playsound(loc, I.usesound, 50, 1)
if(do_after(user, 60*I.toolspeed, target = src))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(stat & BROKEN)
- user << "The broken remains of [src] fall on the ground."
+ to_chat(user, "The broken remains of [src] fall on the ground.")
new /obj/item/stack/sheet/metal(loc, 5)
new /obj/item/weapon/shard(loc)
new /obj/item/weapon/shard(loc)
else
- user << "You [anchored ? "un" : ""]secure [name]."
+ to_chat(user, "You [anchored ? "un" : ""]secure [name].")
new /obj/item/wallframe/newscaster(loc)
qdel(src)
else if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent != INTENT_HARM)
@@ -738,13 +738,13 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(do_after(user,40*WT.toolspeed, 1, target = src))
if(!WT.isOn() || !(stat & BROKEN))
return
- user << "You repair [src]."
+ to_chat(user, "You repair [src].")
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
obj_integrity = max_integrity
stat &= ~BROKEN
update_icon()
else
- user << "[src] does not need repairs."
+ to_chat(user, "[src] does not need repairs.")
else
return ..()
@@ -775,7 +775,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
/obj/machinery/newscaster/attack_paw(mob/user)
if(user.a_intent != INTENT_HARM)
- user << "The newscaster controls are far too complicated for your tiny brain!"
+ to_chat(user, "The newscaster controls are far too complicated for your tiny brain!")
else
take_damage(5, BRUTE, "melee")
@@ -808,9 +808,9 @@ var/list/obj/machinery/newscaster/allCasters = list()
else
targetcam = R.aicamera
else
- user << "You cannot interface with silicon photo uploading!"
+ to_chat(user, "You cannot interface with silicon photo uploading!")
if(targetcam.aipictures.len == 0)
- usr << "No images saved"
+ to_chat(usr, "No images saved")
return
for(var/datum/picture/t in targetcam.aipictures)
nametemp += t.fields["name"]
@@ -987,7 +987,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
human_user << browse(dat, "window=newspaper_main;size=300x400")
onclose(human_user, "newspaper_main")
else
- user << "The paper is full of unintelligible symbols!"
+ to_chat(user, "The paper is full of unintelligible symbols!")
/obj/item/weapon/newspaper/proc/notContent(list/L)
if(!L.len)
@@ -1034,7 +1034,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
/obj/item/weapon/newspaper/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/pen))
if(scribble_page == curr_page)
- user << "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?"
+ to_chat(user, "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?")
else
var/s = stripped_input(user, "Write something", "Newspaper")
if (!s)
diff --git a/code/game/machinery/overview.dm b/code/game/machinery/overview.dm
index 708d6c8368d..57b0ae2cd8c 100644
--- a/code/game/machinery/overview.dm
+++ b/code/game/machinery/overview.dm
@@ -31,7 +31,7 @@
imap += icon('icons/misc/imap.dmi', "blank")
imap += icon('icons/misc/imap.dmi', "blank")
- //world << "[icount] images in list"
+ //to_chat(world, "[icount] images in list")
for(var/wx = 1 ; wx <= world.maxx; wx++)
@@ -141,12 +141,12 @@
var/rx = ((wx*2+xoff)%32) + 1
var/ry = ((wy*2+yoff)%32) + 1
- //world << "trying [ix],[iy] : [ix+icx*iy]"
+ //to_chat(world, "trying [ix],[iy] : [ix+icx*iy]")
var/icon/I = imap[1+(ix + icx*iy)*2]
var/icon/I2 = imap[2+(ix + icx*iy)*2]
- //world << "icon: \icon[I]"
+ //to_chat(world, "icon: \icon[I]")
I.DrawBox(colour, rx, ry, rx+1, ry+1)
@@ -270,11 +270,11 @@
var/rx = ((wx*2+xoff)%32) + 1
var/ry = ((wy*2+yoff)%32) + 1
- //world << "trying [ix],[iy] : [ix+icx*iy]"
+ //to_chat(world, "trying [ix],[iy] : [ix+icx*iy]")
var/icon/I = imap[1+(ix + icx*iy)]
- //world << "icon: \icon[I]"
+ //to_chat(world, "icon: \icon[I]")
I.DrawBox(colour, rx, ry, rx, ry)
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index 3438be02518..ca4a96f1dd2 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -48,7 +48,7 @@ Buildable meters
/obj/item/pipe/examine(mob/user)
..()
- user << "Alt-click to rotate it clockwise."
+ to_chat(user, "Alt-click to rotate it clockwise.")
/obj/item/pipe/New(loc, pipe_type, dir, obj/machinery/atmospherics/make_from)
..()
@@ -173,7 +173,7 @@ var/global/list/pipeID2State = list(
/obj/item/pipe/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -220,7 +220,7 @@ var/global/list/pipeID2State = list(
if(M == A) //we don't want to check to see if it interferes with itself
continue
if(M.GetInitDirections() & A.GetInitDirections()) // matches at least one direction on either type of pipe
- user << "There is already a pipe at that location!"
+ to_chat(user, "There is already a pipe at that location!")
qdel(A)
return 1
// no conflicts found
@@ -268,9 +268,9 @@ var/global/list/pipeID2State = list(
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if(!locate(/obj/machinery/atmospherics/pipe, src.loc))
- user << "You need to fasten it to a pipe!"
+ to_chat(user, "You need to fasten it to a pipe!")
return 1
new/obj/machinery/meter( src.loc )
playsound(src.loc, W.usesound, 50, 1)
- user << "You fasten the meter to the pipe."
+ to_chat(user, "You fasten the meter to the pipe.")
qdel(src)
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index ff7ebe46bd6..32a613ea5f7 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -72,7 +72,7 @@
/obj/machinery/pipedispenser/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
if (istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter))
- usr << "You put [W] back into [src]."
+ to_chat(usr, "You put [W] back into [src].")
if(!user.drop_item())
return
qdel(W)
@@ -80,7 +80,7 @@
else if (istype(W, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
playsound(src.loc, W.usesound, 50, 1)
- user << "You begin to fasten \the [src] to the floor..."
+ to_chat(user, "You begin to fasten \the [src] to the floor...")
if (do_after(user, 40*W.toolspeed, target = src))
add_fingerprint(user)
user.visible_message( \
@@ -93,7 +93,7 @@
usr << browse(null, "window=pipedispenser")
else if(anchored)
playsound(src.loc, W.usesound, 50, 1)
- user << "You begin to unfasten \the [src] from the floor..."
+ to_chat(user, "You begin to unfasten \the [src] from the floor...")
if (do_after(user, 20*W.toolspeed, target = src))
add_fingerprint(user)
user.visible_message( \
@@ -170,7 +170,7 @@ Nah
var/obj/structure/disposalconstruct/C = new (src.loc,p_type)
if(!C.can_place())
- usr << "There's not enough room to build that here!"
+ to_chat(usr, "There's not enough room to build that here!")
qdel(C)
return
diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm
index d3f6a5aa28d..29c14934ecc 100644
--- a/code/game/machinery/porta_turret/portable_turret.dm
+++ b/code/game/machinery/porta_turret/portable_turret.dm
@@ -189,7 +189,7 @@
if(anchored) //you can't turn a turret on/off if it's not anchored/secured
on = !on //toggle on/off
else
- usr << "It has to be secured first!"
+ to_chat(usr, "It has to be secured first!")
interact(usr)
return
@@ -229,18 +229,18 @@
if(istype(I, /obj/item/weapon/crowbar))
//If the turret is destroyed, you can remove it with a crowbar to
//try and salvage its components
- user << "You begin prying the metal coverings off..."
+ to_chat(user, "You begin prying the metal coverings off...")
if(do_after(user, 20*I.toolspeed, target = src))
if(prob(70))
if(stored_gun)
stored_gun.forceMove(loc)
- user << "You remove the turret and salvage some components."
+ to_chat(user, "You remove the turret and salvage some components.")
if(prob(50))
new /obj/item/stack/sheet/metal(loc, rand(1,4))
if(prob(50))
new /obj/item/device/assembly/prox_sensor(loc)
else
- user << "You remove the turret but did not manage to salvage anything."
+ to_chat(user, "You remove the turret but did not manage to salvage anything.")
qdel(src)
else if((istype(I, /obj/item/weapon/wrench)) && (!on))
@@ -252,13 +252,13 @@
anchored = 1
invisibility = INVISIBILITY_MAXIMUM
update_icon()
- user << "You secure the exterior bolts on the turret."
+ to_chat(user, "You secure the exterior bolts on the turret.")
if(has_cover)
cover = new /obj/machinery/porta_turret_cover(loc) //create a new turret. While this is handled in process(), this is to workaround a bug where the turret becomes invisible for a split second
cover.parent_turret = src //make the cover's parent src
else if(anchored)
anchored = 0
- user << "You unsecure the exterior bolts on the turret."
+ to_chat(user, "You unsecure the exterior bolts on the turret.")
update_icon()
invisibility = 0
qdel(cover) //deletes the cover, and the turret instance itself becomes its own cover.
@@ -267,19 +267,19 @@
//Behavior lock/unlock mangement
if(allowed(user))
locked = !locked
- user << "Controls are now [locked ? "locked" : "unlocked"]."
+ to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else if(istype(I,/obj/item/device/multitool) && !locked)
var/obj/item/device/multitool/M = I
M.buffer = src
- user << "You add [src] to multitool buffer."
+ to_chat(user, "You add [src] to multitool buffer.")
else
return ..()
/obj/machinery/porta_turret/emag_act(mob/user)
if(!emagged)
- user << "You short out [src]'s threat assessment circuits."
+ to_chat(user, "You short out [src]'s threat assessment circuits.")
visible_message("[src] hums oddly...")
emagged = 1
controllock = 1
@@ -674,7 +674,7 @@
var/obj/item/device/multitool/M = I
if(M.buffer && istype(M.buffer,/obj/machinery/porta_turret))
turrets |= M.buffer
- user << "You link \the [M.buffer] with \the [src]"
+ to_chat(user, "You link \the [M.buffer] with \the [src]")
return
if (issilicon(user))
@@ -683,11 +683,11 @@
if ( get_dist(src, user) == 0 ) // trying to unlock the interface
if (allowed(usr))
if(emagged)
- user << "The turret control is unresponsive."
+ to_chat(user, "The turret control is unresponsive.")
return
locked = !locked
- user << "You [ locked ? "lock" : "unlock"] the panel."
+ to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.")
if (locked)
if (user.machine==src)
user.unset_machine()
@@ -696,11 +696,11 @@
if (user.machine==src)
src.attack_hand(user)
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
/obj/machinery/turretid/emag_act(mob/user)
if(!emagged)
- user << "You short out the turret controls' access analysis module."
+ to_chat(user, "You short out the turret controls' access analysis module.")
emagged = 1
locked = 0
if(user && user.machine == src)
@@ -710,12 +710,12 @@
if(!ailock || IsAdminGhost(user))
return attack_hand(user)
else
- user << "There seems to be a firewall preventing you from accessing this device."
+ to_chat(user, "There seems to be a firewall preventing you from accessing this device.")
/obj/machinery/turretid/attack_hand(mob/user as mob)
if ( get_dist(src, user) > 0 )
if ( !(issilicon(user) || IsAdminGhost(user)) )
- user << "You are too far away."
+ to_chat(user, "You are too far away.")
user.unset_machine()
user << browse(null, "window=turretid")
return
@@ -742,7 +742,7 @@
return
if (locked)
if(!(issilicon(usr) || IsAdminGhost(usr)))
- usr << "Control panel is locked!"
+ to_chat(usr, "Control panel is locked!")
return
if (href_list["toggleOn"])
toggle_on()
diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm
index 963a8eb0872..cc79fc70d9a 100644
--- a/code/game/machinery/porta_turret/portable_turret_construct.dm
+++ b/code/game/machinery/porta_turret/portable_turret_construct.dm
@@ -23,14 +23,14 @@
if(PTURRET_UNSECURED) //first step
if(istype(I, /obj/item/weapon/wrench) && !anchored)
playsound(loc, I.usesound, 100, 1)
- user << "You secure the external bolts."
+ to_chat(user, "You secure the external bolts.")
anchored = 1
build_step = PTURRET_BOLTED
return
else if(istype(I, /obj/item/weapon/crowbar) && !anchored)
playsound(loc, I.usesound, 75, 1)
- user << "You dismantle the turret construction."
+ to_chat(user, "You dismantle the turret construction.")
new /obj/item/stack/sheet/metal( loc, 5)
qdel(src)
return
@@ -39,16 +39,16 @@
if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.use(2))
- user << "You add some metal armor to the interior frame."
+ to_chat(user, "You add some metal armor to the interior frame.")
build_step = PTURRET_START_INTERNAL_ARMOUR
icon_state = "turret_frame2"
else
- user << "You need two sheets of metal to continue construction!"
+ to_chat(user, "You need two sheets of metal to continue construction!")
return
else if(istype(I, /obj/item/weapon/wrench))
playsound(loc, I.usesound, 75, 1)
- user << "You unfasten the external bolts."
+ to_chat(user, "You unfasten the external bolts.")
anchored = 0
build_step = PTURRET_UNSECURED
return
@@ -57,7 +57,7 @@
if(PTURRET_START_INTERNAL_ARMOUR)
if(istype(I, /obj/item/weapon/wrench))
playsound(loc, I.usesound, 100, 1)
- user << "You bolt the metal armor into place."
+ to_chat(user, "You bolt the metal armor into place.")
build_step = PTURRET_INTERNAL_ARMOUR_ON
return
@@ -66,16 +66,16 @@
if(!WT.isOn())
return
if(WT.get_fuel() < 5) //uses up 5 fuel.
- user << "You need more fuel to complete this task!"
+ to_chat(user, "You need more fuel to complete this task!")
return
playsound(loc, WT.usesound, 50, 1)
- user << "You start to remove the turret's interior metal armor..."
+ to_chat(user, "You start to remove the turret's interior metal armor...")
if(do_after(user, 20*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
return
build_step = PTURRET_BOLTED
- user << "You remove the turret's interior metal armor."
+ to_chat(user, "You remove the turret's interior metal armor.")
new /obj/item/stack/sheet/metal( loc, 2)
return
@@ -87,13 +87,13 @@
return
E.forceMove(src)
installed_gun = E
- user << "You add [I] to the turret."
+ to_chat(user, "You add [I] to the turret.")
build_step = PTURRET_GUN_EQUIPPED
return
else if(istype(I, /obj/item/weapon/wrench))
playsound(loc, I.usesound, 100, 1)
- user << "You remove the turret's metal armor bolts."
+ to_chat(user, "You remove the turret's metal armor bolts.")
build_step = PTURRET_START_INTERNAL_ARMOUR
return
@@ -102,7 +102,7 @@
build_step = PTURRET_SENSORS_ON
if(!user.drop_item())
return
- user << "You add the proximity sensor to the turret."
+ to_chat(user, "You add the proximity sensor to the turret.")
qdel(I)
return
@@ -111,7 +111,7 @@
if(istype(I, /obj/item/weapon/screwdriver))
playsound(loc, I.usesound, 100, 1)
build_step = PTURRET_CLOSED
- user << "You close the internal access hatch."
+ to_chat(user, "You close the internal access hatch.")
return
@@ -119,16 +119,16 @@
if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.use(2))
- user << "You add some metal armor to the exterior frame."
+ to_chat(user, "You add some metal armor to the exterior frame.")
build_step = PTURRET_START_EXTERNAL_ARMOUR
else
- user << "You need two sheets of metal to continue construction!"
+ to_chat(user, "You need two sheets of metal to continue construction!")
return
else if(istype(I, /obj/item/weapon/screwdriver))
playsound(loc, I.usesound, 100, 1)
build_step = PTURRET_SENSORS_ON
- user << "You open the internal access hatch."
+ to_chat(user, "You open the internal access hatch.")
return
if(PTURRET_START_EXTERNAL_ARMOUR)
@@ -137,15 +137,15 @@
if(!WT.isOn())
return
if(WT.get_fuel() < 5)
- user << "You need more fuel to complete this task!"
+ to_chat(user, "You need more fuel to complete this task!")
playsound(loc, WT.usesound, 50, 1)
- user << "You begin to weld the turret's armor down..."
+ to_chat(user, "You begin to weld the turret's armor down...")
if(do_after(user, 30*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
return
build_step = PTURRET_EXTERNAL_ARMOUR_ON
- user << "You weld the turret's armor down."
+ to_chat(user, "You weld the turret's armor down.")
//The final step: create a full turret
@@ -162,7 +162,7 @@
else if(istype(I, /obj/item/weapon/crowbar))
playsound(loc, I.usesound, 75, 1)
- user << "You pry off the turret's exterior armor."
+ to_chat(user, "You pry off the turret's exterior armor.")
new /obj/item/stack/sheet/metal(loc, 2)
build_step = PTURRET_CLOSED
return
@@ -185,11 +185,11 @@
build_step = PTURRET_INTERNAL_ARMOUR_ON
installed_gun.forceMove(loc)
- user << "You remove [installed_gun] from the turret frame."
+ to_chat(user, "You remove [installed_gun] from the turret frame.")
installed_gun = null
if(PTURRET_SENSORS_ON)
- user << "You remove the prox sensor from the turret frame."
+ to_chat(user, "You remove the prox sensor from the turret frame.")
new /obj/item/device/assembly/prox_sensor(loc)
build_step = PTURRET_GUN_EQUIPPED
diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm
index 32a3018fd52..a9620083e02 100644
--- a/code/game/machinery/porta_turret/portable_turret_cover.dm
+++ b/code/game/machinery/porta_turret/portable_turret_cover.dm
@@ -48,12 +48,12 @@
if(!parent_turret.anchored)
parent_turret.anchored = 1
- user << "You secure the exterior bolts on the turret."
+ to_chat(user, "You secure the exterior bolts on the turret.")
parent_turret.invisibility = 0
parent_turret.update_icon()
else
parent_turret.anchored = 0
- user << "You unsecure the exterior bolts on the turret."
+ to_chat(user, "You unsecure the exterior bolts on the turret.")
parent_turret.invisibility = INVISIBILITY_MAXIMUM
parent_turret.update_icon()
qdel(src)
@@ -61,14 +61,14 @@
else if(I.GetID())
if(parent_turret.allowed(user))
parent_turret.locked = !parent_turret.locked
- user << "Controls are now [parent_turret.locked ? "locked" : "unlocked"]."
+ to_chat(user, "Controls are now [parent_turret.locked ? "locked" : "unlocked"].")
updateUsrDialog()
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else if(istype(I,/obj/item/device/multitool) && !parent_turret.locked)
var/obj/item/device/multitool/M = I
M.buffer = parent_turret
- user << "You add [parent_turret] to multitool buffer."
+ to_chat(user, "You add [parent_turret] to multitool buffer.")
else
return ..()
@@ -89,7 +89,7 @@
/obj/machinery/porta_turret_cover/emag_act(mob/user)
if(!parent_turret.emagged)
- user << "You short out [parent_turret]'s threat assessment circuits."
+ to_chat(user, "You short out [parent_turret]'s threat assessment circuits.")
visible_message("[parent_turret] hums oddly...")
parent_turret.emagged = 1
parent_turret.on = 0
diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm
index 29d69f31c99..8390888e5b5 100644
--- a/code/game/machinery/quantum_pad.dm
+++ b/code/game/machinery/quantum_pad.dm
@@ -52,13 +52,13 @@
if(istype(I, /obj/item/device/multitool))
var/obj/item/device/multitool/M = I
M.buffer = src
- user << "You save the data in the [I.name]'s buffer."
+ to_chat(user, "You save the data in the [I.name]'s buffer.")
return 1
else if(istype(I, /obj/item/device/multitool))
var/obj/item/device/multitool/M = I
if(istype(M.buffer, /obj/machinery/quantumpad))
linked_pad = M.buffer
- user << "You link the [src] to the one in the [I.name]'s buffer."
+ to_chat(user, "You link the [src] to the one in the [I.name]'s buffer.")
return 1
if(exchange_parts(user, I))
@@ -71,27 +71,27 @@
/obj/machinery/quantumpad/attack_hand(mob/user)
if(panel_open)
- user << "The panel must be closed before operating this machine!"
+ to_chat(user, "The panel must be closed before operating this machine!")
return
if(!linked_pad || QDELETED(linked_pad))
- user << "There is no linked pad!"
+ to_chat(user, "There is no linked pad!")
return
if(world.time < last_teleport + teleport_cooldown)
- user << "[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time) / 10)] seconds."
+ to_chat(user, "[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time) / 10)] seconds.")
return
if(teleporting)
- user << "[src] is charging up. Please wait."
+ to_chat(user, "[src] is charging up. Please wait.")
return
if(linked_pad.teleporting)
- user << "Linked pad is busy. Please wait."
+ to_chat(user, "Linked pad is busy. Please wait.")
return
if(linked_pad.stat & NOPOWER)
- user << "Linked pad is not responding to ping."
+ to_chat(user, "Linked pad is not responding to ping.")
return
src.add_fingerprint(user)
doteleport(user)
@@ -116,11 +116,11 @@
teleporting = 0
return
if(stat & NOPOWER)
- user << "[src] is unpowered!"
+ to_chat(user, "[src] is unpowered!")
teleporting = 0
return
if(!linked_pad || QDELETED(linked_pad) || linked_pad.stat & NOPOWER)
- user << "Linked pad is not responding to ping. Teleport aborted."
+ to_chat(user, "Linked pad is not responding to ping. Teleport aborted.")
teleporting = 0
return
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index d6790c97746..9595d2ac02c 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -29,11 +29,11 @@
/obj/machinery/recharger/attackby(obj/item/weapon/G, mob/user, params)
if(istype(G, /obj/item/weapon/wrench))
if(charging)
- user << "Remove the charging item first!"
+ to_chat(user, "Remove the charging item first!")
return
anchored = !anchored
power_change()
- user << "You [anchored ? "attached" : "detached"] [src]."
+ to_chat(user, "You [anchored ? "attached" : "detached"] [src].")
playsound(loc, G.usesound, 75, 1)
return
@@ -47,13 +47,13 @@
//Checks to make sure he's not in space doing it, and that the area got proper power.
var/area/a = get_area(src)
if(!isarea(a) || a.power_equip == 0)
- user << "[src] blinks red as you try to insert [G]."
+ to_chat(user, "[src] blinks red as you try to insert [G].")
return 1
if (istype(G, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/E = G
if(!E.can_charge)
- user << "Your gun has no external power connector."
+ to_chat(user, "Your gun has no external power connector.")
return 1
if(!user.drop_item())
@@ -63,7 +63,7 @@
use_power = 2
update_icon()
else
- user << "[src] isn't connected to anything!"
+ to_chat(user, "[src] isn't connected to anything!")
return 1
if(anchored && !charging)
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index c7cad0458f4..d446603fabb 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -46,9 +46,9 @@ var/const/SAFETY_COOLDOWN = 100
/obj/machinery/recycler/examine(mob/user)
..()
- user << "The power light is [(stat & NOPOWER) ? "off" : "on"]."
- user << "The safety-mode light is [safety_mode ? "on" : "off"]."
- user << "The safety-sensors status light is [emagged ? "off" : "on"]."
+ to_chat(user, "The power light is [(stat & NOPOWER) ? "off" : "on"].")
+ to_chat(user, "The safety-mode light is [safety_mode ? "on" : "off"].")
+ to_chat(user, "The safety-sensors status light is [emagged ? "off" : "on"].")
/obj/machinery/recycler/power_change()
..()
@@ -79,7 +79,7 @@ var/const/SAFETY_COOLDOWN = 100
safety_mode = FALSE
update_icon()
playsound(src.loc, "sparks", 75, 1, -1)
- user << "You use the cryptographic sequencer on the [src.name]."
+ to_chat(user, "You use the cryptographic sequencer on the [src.name].")
/obj/machinery/recycler/update_icon()
..()
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 67caa24706b..820ee097c04 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -482,10 +482,10 @@ var/list/obj/machinery/requests_console/allConsoles = list()
/obj/machinery/requests_console/attackby(obj/item/weapon/O, mob/user, params)
if(istype(O, /obj/item/weapon/crowbar))
if(open)
- user << "You close the maintenance panel."
+ to_chat(user, "You close the maintenance panel.")
open = 0
else
- user << "You open the maintenance panel."
+ to_chat(user, "You open the maintenance panel.")
open = 1
update_icon()
return
@@ -493,12 +493,12 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(open)
hackState = !hackState
if(hackState)
- user << "You modify the wiring."
+ to_chat(user, "You modify the wiring.")
else
- user << "You reset the wiring."
+ to_chat(user, "You reset the wiring.")
update_icon()
else
- user << "You must open the maintenance panel first!"
+ to_chat(user, "You must open the maintenance panel first!")
return
var/obj/item/weapon/card/id/ID = O.GetID()
@@ -511,7 +511,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
announceAuth = 1
else
announceAuth = 0
- user << "You are not authorized to send announcements!"
+ to_chat(user, "You are not authorized to send announcements!")
updateUsrDialog()
return
if (istype(O, /obj/item/weapon/stamp))
diff --git a/code/game/machinery/robot_fabricator.dm b/code/game/machinery/robot_fabricator.dm
index a967aa9168d..d02d49223dd 100644
--- a/code/game/machinery/robot_fabricator.dm
+++ b/code/game/machinery/robot_fabricator.dm
@@ -28,11 +28,11 @@
if (O:amount < 1)
qdel(O)
- user << "You insert [count] metal sheet\s into \the [src]."
+ to_chat(user, "You insert [count] metal sheet\s into \the [src].")
cut_overlay("fab-load-metal")
updateDialog()
else
- user << "\The [src] is full."
+ to_chat(user, "\The [src] is full.")
else
return ..()
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index bd3bab9f335..562328810bc 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -134,10 +134,10 @@
/obj/machinery/shieldgen/attack_hand(mob/user)
if(locked)
- user << "The machine is locked, you are unable to use it!"
+ to_chat(user, "The machine is locked, you are unable to use it!")
return
if(panel_open)
- user << "The panel must be closed before operating this machine!"
+ to_chat(user, "The panel must be closed before operating this machine!")
return
if (active)
@@ -152,7 +152,7 @@
"You hear heavy droning.")
shields_up()
else
- user << "The device must first be secured to the floor!"
+ to_chat(user, "The device must first be secured to the floor!")
return
/obj/machinery/shieldgen/attackby(obj/item/weapon/W, mob/user, params)
@@ -160,46 +160,46 @@
playsound(src.loc, W.usesound, 100, 1)
panel_open = !panel_open
if(panel_open)
- user << "You open the panel and expose the wiring."
+ to_chat(user, "You open the panel and expose the wiring.")
else
- user << "You close the panel."
+ to_chat(user, "You close the panel.")
else if(istype(W, /obj/item/stack/cable_coil) && (stat & BROKEN) && panel_open)
var/obj/item/stack/cable_coil/coil = W
if (coil.get_amount() < 1)
- user << "You need one length of cable to repair [src]!"
+ to_chat(user, "You need one length of cable to repair [src]!")
return
- user << "You begin to replace the wires..."
+ to_chat(user, "You begin to replace the wires...")
if(do_after(user, 30, target = src))
if(coil.get_amount() < 1)
return
coil.use(1)
obj_integrity = max_integrity
stat &= ~BROKEN
- user << "You repair \the [src]."
+ to_chat(user, "You repair \the [src].")
update_icon()
else if(istype(W, /obj/item/weapon/wrench))
if(locked)
- user << "The bolts are covered! Unlocking this would retract the covers."
+ to_chat(user, "The bolts are covered! Unlocking this would retract the covers.")
return
if(!anchored && !isinspace())
playsound(src.loc, W.usesound, 100, 1)
- user << "You secure \the [src] to the floor!"
+ to_chat(user, "You secure \the [src] to the floor!")
anchored = 1
else if(anchored)
playsound(src.loc, W.usesound, 100, 1)
- user << "You unsecure \the [src] from the floor!"
+ to_chat(user, "You unsecure \the [src] from the floor!")
if(active)
- user << "\The [src] shuts off!"
+ to_chat(user, "\The [src] shuts off!")
shields_down()
anchored = 0
else if(W.GetID())
if(allowed(user))
locked = !locked
- user << "You [locked ? "lock" : "unlock"] the controls."
+ to_chat(user, "You [locked ? "lock" : "unlock"] the controls.")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else
return ..()
@@ -275,13 +275,13 @@
/obj/machinery/shieldwallgen/attack_hand(mob/user)
if(!anchored)
- user << "\The [src] needs to be firmly secured to the floor first!"
+ to_chat(user, "\The [src] needs to be firmly secured to the floor first!")
return 1
if(locked && !issilicon(user))
- user << "The controls are locked!"
+ to_chat(user, "The controls are locked!")
return 1
if(power != 1)
- user << "\The [src] needs to be powered by wire underneath!"
+ to_chat(user, "\The [src] needs to be powered by wire underneath!")
return 1
if(active >= 1)
@@ -375,27 +375,27 @@
/obj/machinery/shieldwallgen/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(active)
- user << "Turn off the field generator first!"
+ to_chat(user, "Turn off the field generator first!")
return
else if(!anchored && !isinspace()) //Can't fasten this thing in space
playsound(src.loc, W.usesound, 75, 1)
- user << "You secure the external reinforcing bolts to the floor."
+ to_chat(user, "You secure the external reinforcing bolts to the floor.")
anchored = 1
return
else //You can unfasten it tough, if you somehow manage to fasten it.
playsound(src.loc, W.usesound, 75, 1)
- user << "You undo the external reinforcing bolts."
+ to_chat(user, "You undo the external reinforcing bolts.")
anchored = 0
return
if(W.GetID())
if (allowed(user))
locked = !locked
- user << "You [src.locked ? "lock" : "unlock"] the controls."
+ to_chat(user, "You [src.locked ? "lock" : "unlock"] the controls.")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else
add_fingerprint(user)
diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm
index e0ef0e45532..95afbfeb0c7 100644
--- a/code/game/machinery/slotmachine.dm
+++ b/code/game/machinery/slotmachine.dm
@@ -90,12 +90,12 @@
C.throw_at(user, 3, 10)
if(prob(10))
balance = max(balance - SPIN_PRICE, 0)
- user << "[src] spits your coin back out!"
+ to_chat(user, "[src] spits your coin back out!")
else
if(!user.drop_item())
return
- user << "You insert a [C.cmineral] coin into [src]'s slot!"
+ to_chat(user, "You insert a [C.cmineral] coin into [src]'s slot!")
balance += C.value
qdel(C)
else
@@ -206,14 +206,14 @@
/obj/machinery/computer/slot_machine/proc/can_spin(mob/user)
if(stat & NOPOWER)
- user << "The slot machine has no power!"
+ to_chat(user, "The slot machine has no power!")
if(stat & BROKEN)
- user << "The slot machine is broken!"
+ to_chat(user, "The slot machine is broken!")
if(working)
- user << "You need to wait until the machine stops spinning before you can play again!"
+ to_chat(user, "You need to wait until the machine stops spinning before you can play again!")
return 0
if(balance < SPIN_PRICE)
- user << "Insufficient money to play!"
+ to_chat(user, "Insufficient money to play!")
return 0
return 1
@@ -254,12 +254,12 @@
give_money(SMALL_PRIZE)
else if(linelength == 3)
- user << "You win three free games!"
+ to_chat(user, "You win three free games!")
balance += SPIN_PRICE * 4
money = max(money - SPIN_PRICE * 4, money)
else
- user << "No luck!"
+ to_chat(user, "No luck!")
/obj/machinery/computer/slot_machine/proc/get_lines()
var/amountthesame
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index a49c6174e7b..0f29c50de55 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -55,11 +55,11 @@
/obj/machinery/space_heater/examine(mob/user)
..()
- user << "\The [src] is [on ? "on" : "off"], and the hatch is [panel_open ? "open" : "closed"]."
+ to_chat(user, "\The [src] is [on ? "on" : "off"], and the hatch is [panel_open ? "open" : "closed"].")
if(cell)
- user << "The charge meter reads [cell ? round(cell.percent(), 1) : 0]%."
+ to_chat(user, "The charge meter reads [cell ? round(cell.percent(), 1) : 0]%.")
else
- user << "There is no power cell installed."
+ to_chat(user, "There is no power cell installed.")
/obj/machinery/space_heater/update_icon()
if(on)
@@ -146,7 +146,7 @@
if(istype(I, /obj/item/weapon/stock_parts/cell))
if(panel_open)
if(cell)
- user << "There is already a power cell inside!"
+ to_chat(user, "There is already a power cell inside!")
return
else
// insert cell
@@ -161,7 +161,7 @@
user.visible_message("\The [user] inserts a power cell into \the [src].", "You insert the power cell into \the [src].")
SStgui.update_uis(src)
else
- user << "The hatch must be open to insert a power cell!"
+ to_chat(user, "The hatch must be open to insert a power cell!")
return
else if(istype(I, /obj/item/weapon/screwdriver))
panel_open = !panel_open
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 9255f6651de..ffd3286fd22 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -122,9 +122,9 @@
. = ..()
switch(mode)
if(1,2,4,5)
- user << "The display says:
\t[message1]
\t[message2]"
+ to_chat(user, "The display says:
\t[message1]
\t[message2]")
if(mode == 1 && SSshuttle.emergency)
- user << "Current Shuttle: [SSshuttle.emergency.name]"
+ to_chat(user, "Current Shuttle: [SSshuttle.emergency.name]")
/obj/machinery/status_display/proc/set_message(m1, m2)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index ed977db9caf..540f4439d26 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -181,13 +181,13 @@
return
var/mob/living/target = A
if(!state_open)
- user << "The unit's doors are shut!"
+ to_chat(user, "The unit's doors are shut!")
return
if(!is_operational())
- user << "The unit is not operational!"
+ to_chat(user, "The unit is not operational!")
return
if(occupant || helmet || suit || storage)
- user << "It's too cluttered inside to fit in!"
+ to_chat(user, "It's too cluttered inside to fit in!")
return
if(target == user)
@@ -278,28 +278,28 @@
if(state_open && is_operational())
if(istype(I, /obj/item/clothing/suit/space))
if(suit)
- user << "The unit already contains a suit!."
+ to_chat(user, "The unit already contains a suit!.")
return
if(!user.drop_item())
return
suit = I
else if(istype(I, /obj/item/clothing/head/helmet))
if(helmet)
- user << "The unit already contains a helmet!"
+ to_chat(user, "The unit already contains a helmet!")
return
if(!user.drop_item())
return
helmet = I
else if(istype(I, /obj/item/clothing/mask))
if(mask)
- user << "The unit already contains a mask!"
+ to_chat(user, "The unit already contains a mask!")
return
if(!user.drop_item())
return
mask = I
else
if(storage)
- user << "The auxiliary storage compartment is full!"
+ to_chat(user, "The auxiliary storage compartment is full!")
return
if(!user.drop_item())
return
@@ -369,7 +369,7 @@
return
else
if(occupant)
- occupant << "[src]'s confines grow warm, then hot, then scorching. You're being burned [!occupant.stat ? "alive" : "away"]!"
+ to_chat(occupant, "[src]'s confines grow warm, then hot, then scorching. You're being burned [!occupant.stat ? "alive" : "away"]!")
cook()
. = TRUE
if("dispense")
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index 3782e619916..1531ca8844d 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -20,7 +20,7 @@
/obj/machinery/power/singularity_beacon/proc/Activate(mob/user = null)
if(surplus() < 1500)
- if(user) user << "The connected wire doesn't have enough current."
+ if(user) to_chat(user, "The connected wire doesn't have enough current.")
return
for(var/obj/singularity/singulo in singularities)
if(singulo.z == z)
@@ -28,7 +28,7 @@
icon_state = "[icontype]1"
active = 1
if(user)
- user << "You activate the beacon."
+ to_chat(user, "You activate the beacon.")
/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null)
@@ -38,7 +38,7 @@
icon_state = "[icontype]0"
active = 0
if(user)
- user << "You deactivate the beacon."
+ to_chat(user, "You deactivate the beacon.")
/obj/machinery/power/singularity_beacon/attack_ai(mob/user)
@@ -49,27 +49,27 @@
if(anchored)
return active ? Deactivate(user) : Activate(user)
else
- user << "You need to screw the beacon to the floor first!"
+ to_chat(user, "You need to screw the beacon to the floor first!")
return
/obj/machinery/power/singularity_beacon/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/screwdriver))
if(active)
- user << "You need to deactivate the beacon first!"
+ to_chat(user, "You need to deactivate the beacon first!")
return
if(anchored)
anchored = 0
- user << "You unscrew the beacon from the floor."
+ to_chat(user, "You unscrew the beacon from the floor.")
disconnect_from_network()
return
else
if(!connect_to_network())
- user << "This device must be placed over an exposed, powered cable node!"
+ to_chat(user, "This device must be placed over an exposed, powered cable node!")
return
anchored = 1
- user << "You screw the beacon to the floor and attach the cable."
+ to_chat(user, "You screw the beacon to the floor and attach the cable.")
return
else
return ..()
@@ -94,7 +94,7 @@
else
Deactivate()
say("Insufficient charge detected - powering down")
-
+
/obj/machinery/power/singularity_beacon/syndicate
icontype = "beaconsynd"
@@ -113,7 +113,7 @@
/obj/item/device/sbeacondrop/attack_self(mob/user)
if(user)
- user << "Locked In."
+ to_chat(user, "Locked In.")
new droptype( user.loc )
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
qdel(src)
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index 758ada9ccee..e11d0ad6011 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -101,7 +101,7 @@
/obj/machinery/syndicatebomb/examine(mob/user)
..()
- user << "A digital display on it reads \"[seconds_remaining()]\"."
+ to_chat(user, "A digital display on it reads \"[seconds_remaining()]\".")
/obj/machinery/syndicatebomb/update_icon()
icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]"
@@ -116,25 +116,25 @@
if(istype(I, /obj/item/weapon/wrench) && can_unanchor)
if(!anchored)
if(!isturf(loc) || isspaceturf(loc))
- user << "The bomb must be placed on solid ground to attach it."
+ to_chat(user, "The bomb must be placed on solid ground to attach it.")
else
- user << "You firmly wrench the bomb to the floor."
+ to_chat(user, "You firmly wrench the bomb to the floor.")
playsound(loc, I.usesound, 50, 1)
anchored = 1
if(active)
- user << "The bolts lock in place."
+ to_chat(user, "The bolts lock in place.")
else
if(!active)
- user << "You wrench the bomb from the floor."
+ to_chat(user, "You wrench the bomb from the floor.")
playsound(loc, I.usesound, 50, 1)
anchored = 0
else
- user << "The bolts are locked down!"
+ to_chat(user, "The bolts are locked down!")
else if(istype(I, /obj/item/weapon/screwdriver))
open_panel = !open_panel
update_icon()
- user << "You [open_panel ? "open" : "close"] the wire panel."
+ to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.")
else if(is_wire_tool(I) && open_panel)
wires.interact(user)
@@ -142,24 +142,24 @@
else if(istype(I, /obj/item/weapon/crowbar))
if(open_panel && wires.is_all_cut())
if(payload)
- user << "You carefully pry out [payload]."
+ to_chat(user, "You carefully pry out [payload].")
payload.loc = user.loc
payload = null
else
- user << "There isn't anything in here to remove!"
+ to_chat(user, "There isn't anything in here to remove!")
else if (open_panel)
- user << "The wires connecting the shell to the explosives are holding it down!"
+ to_chat(user, "The wires connecting the shell to the explosives are holding it down!")
else
- user << "The cover is screwed on, it won't pry off!"
+ to_chat(user, "The cover is screwed on, it won't pry off!")
else if(istype(I, /obj/item/weapon/bombcore))
if(!payload)
if(!user.drop_item())
return
payload = I
- user << "You place [payload] into [src]."
+ to_chat(user, "You place [payload] into [src].")
payload.loc = src
else
- user << "[payload] is already loaded into [src]! You'll have to remove it first."
+ to_chat(user, "[payload] is already loaded into [src]! You'll have to remove it first.")
else if(istype(I, /obj/item/weapon/weldingtool))
if(payload || !wires.is_all_cut() || !open_panel)
return
@@ -167,22 +167,22 @@
if(!WT.isOn())
return
if(WT.get_fuel() < 5) //uses up 5 fuel.
- user << "You need more fuel to complete this task!"
+ to_chat(user, "You need more fuel to complete this task!")
return
playsound(loc, WT.usesound, 50, 1)
- user << "You start to cut the [src] apart..."
+ to_chat(user, "You start to cut the [src] apart...")
if(do_after(user, 20*I.toolspeed, target = src))
if(!WT.isOn() || !WT.remove_fuel(5, user))
return
- user << "You cut the [src] apart."
+ to_chat(user, "You cut the [src] apart.")
new /obj/item/stack/sheet/plasteel( loc, 5)
qdel(src)
else
var/old_integ = obj_integrity
. = ..()
if((old_integ > obj_integrity) && active && !defused && (payload in src))
- user << "That seems like a really bad idea..."
+ to_chat(user, "That seems like a really bad idea...")
/obj/machinery/syndicatebomb/attack_hand(mob/user)
interact(user)
@@ -196,7 +196,7 @@
if(!active)
settings(user)
else if(anchored)
- user << "The bomb is bolted to the floor!"
+ to_chat(user, "The bomb is bolted to the floor!")
/obj/machinery/syndicatebomb/proc/activate()
active = TRUE
@@ -463,10 +463,10 @@
if(!user.drop_item())
return
beakers += I
- user << "You load [src] with [I]."
+ to_chat(user, "You load [src] with [I].")
I.loc = src
else
- user << "The [I] wont fit! The [src] can only hold up to [max_beakers] containers."
+ to_chat(user, "The [I] wont fit! The [src] can only hold up to [max_beakers] containers.")
return
..()
@@ -535,7 +535,7 @@
detonated++
existant++
playsound(user, 'sound/machines/click.ogg', 20, 1)
- user << "[existant] found, [detonated] triggered."
+ to_chat(user, "[existant] found, [detonated] triggered.")
if(detonated)
var/turf/T = get_turf(src)
var/area/A = get_area(T)
diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm
index c18e11c3985..ab71f51c57c 100644
--- a/code/game/machinery/telecomms/computers/logbrowser.dm
+++ b/code/game/machinery/telecomms/computers/logbrowser.dm
@@ -187,7 +187,7 @@
if(href_list["delete"])
if(!src.allowed(usr) && !emagged)
- usr << "ACCESS DENIED."
+ to_chat(usr, "ACCESS DENIED.")
return
if(SelectedServer)
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index 19f270ef75c..4b3b6f6796c 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -42,10 +42,10 @@
var/obj/item/device/gps/L = I
if(L.locked_location && !(stat & (NOPOWER|BROKEN)))
if(!user.transferItemToLoc(L, src))
- user << "\the [I] is stuck to your hand, you cannot put it in \the [src]!"
+ to_chat(user, "\the [I] is stuck to your hand, you cannot put it in \the [src]!")
return
locked = L
- user << "You insert the GPS device into the [name]'s slot."
+ to_chat(user, "You insert the GPS device into the [name]'s slot.")
else
return ..()
@@ -194,7 +194,7 @@
else
var/list/S = power_station.linked_stations
if(!S.len)
- user << "No connected stations located."
+ to_chat(user, "No connected stations located.")
return
for(var/obj/machinery/teleport/station/R in S)
var/turf/T = get_turf(R)
@@ -274,7 +274,7 @@
/obj/machinery/teleport/hub/Bumped(M as mob|obj)
if(z == ZLEVEL_CENTCOM)
- M << "You can't use this here."
+ to_chat(M, "You can't use this here.")
if(is_ready())
teleport(M)
use_power(5000)
@@ -400,15 +400,15 @@
var/obj/item/device/multitool/M = W
if(panel_open)
M.buffer = src
- user << "You download the data to the [W.name]'s buffer."
+ to_chat(user, "You download the data to the [W.name]'s buffer.")
else
if(M.buffer && istype(M.buffer, /obj/machinery/teleport/station) && M.buffer != src)
if(linked_stations.len < efficiency)
linked_stations.Add(M.buffer)
M.buffer = null
- user << "You upload the data from the [W.name]'s buffer."
+ to_chat(user, "You upload the data from the [W.name]'s buffer.")
else
- user << "This station can't hold more information, try to use better parts."
+ to_chat(user, "This station can't hold more information, try to use better parts.")
return
else if(default_deconstruction_screwdriver(user, "controller-o", "controller", W))
update_icon()
@@ -423,7 +423,7 @@
else if(istype(W, /obj/item/weapon/wirecutters))
if(panel_open)
link_console_and_hub()
- user << "You reconnect the station to nearby machinery."
+ to_chat(user, "You reconnect the station to nearby machinery.")
return
else
return ..()
diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm
index c9fe4ef7264..cd4cd2185c9 100644
--- a/code/game/machinery/transformer.dm
+++ b/code/game/machinery/transformer.dm
@@ -27,7 +27,7 @@
. = ..()
if(cooldown && (issilicon(user) || isobserver(user)))
var/seconds_remaining = (cooldown_timer - world.time) / 10
- user << "It will be ready in [max(0, seconds_remaining)] seconds."
+ to_chat(user, "It will be ready in [max(0, seconds_remaining)] seconds.")
/obj/machinery/transformer/Destroy()
if(countdown)
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index 5849d2a3870..13aee461593 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -96,7 +96,7 @@
position = (position == names_paths.len) ? 1 : (position + 1)
var/typepath = names_paths[position]
- user << "You set the board to \"[names_paths[typepath]]\"."
+ to_chat(user, "You set the board to \"[names_paths[typepath]]\".")
set_type(typepath)
else
return ..()
@@ -231,9 +231,9 @@
return
W.loc = src
food_load(W)
- user << "You insert [W] into [src]'s chef compartment."
+ to_chat(user, "You insert [W] into [src]'s chef compartment.")
else
- user << "[src]'s chef compartment does not accept junk food."
+ to_chat(user, "[src]'s chef compartment does not accept junk food.")
else if(istype(W, /obj/item/weapon/storage/bag/tray))
if(!compartment_access_check(user))
@@ -251,9 +251,9 @@
else
denied_items++
if(denied_items)
- user << "[src] refuses some items."
+ to_chat(user, "[src] refuses some items.")
if(loaded)
- user << "You insert [loaded] dishes into [src]'s chef compartment."
+ to_chat(user, "You insert [loaded] dishes into [src]'s chef compartment.")
updateUsrDialog()
return
@@ -263,7 +263,7 @@
/obj/machinery/vending/snack/proc/compartment_access_check(user)
req_access_txt = chef_compartment_access
if(!allowed(user) && !emagged && scan_id)
- user << "[src]'s chef compartment blinks red: Access denied."
+ to_chat(user, "[src]'s chef compartment blinks red: Access denied.")
req_access_txt = "0"
return 0
req_access_txt = "0"
@@ -271,7 +271,7 @@
/obj/machinery/vending/snack/proc/iscompartmentfull(mob/user)
if(contents.len >= 30) // no more than 30 dishes can fit inside
- user << "[src]'s chef compartment is full."
+ to_chat(user, "[src]'s chef compartment is full.")
return 1
return 0
@@ -294,14 +294,14 @@
if(istype(W, /obj/item/weapon/screwdriver))
if(anchored)
panel_open = !panel_open
- user << "You [panel_open ? "open" : "close"] the maintenance panel."
+ to_chat(user, "You [panel_open ? "open" : "close"] the maintenance panel.")
cut_overlays()
if(panel_open)
add_overlay(image(icon, "[initial(icon_state)]-panel"))
playsound(src.loc, W.usesound, 50, 1)
updateUsrDialog()
else
- user << "You must first secure [src]."
+ to_chat(user, "You must first secure [src].")
return
else if(istype(W, /obj/item/device/multitool)||istype(W, /obj/item/weapon/wirecutters))
if(panel_open)
@@ -312,27 +312,27 @@
return
W.loc = src
coin = W
- user << "You insert [W] into [src]."
+ to_chat(user, "You insert [W] into [src].")
return
else if(istype(W, refill_canister) && refill_canister != null)
if(stat & (BROKEN|NOPOWER))
- user << "It does nothing."
+ to_chat(user, "It does nothing.")
else if(panel_open)
//if the panel is open we attempt to refill the machine
var/obj/item/weapon/vending_refill/canister = W
if(canister.charges[STANDARD_CHARGE] == 0)
- user << "This [canister.name] is empty!"
+ to_chat(user, "This [canister.name] is empty!")
else
var/transfered = refill_inventory(canister,product_records,STANDARD_CHARGE)
transfered += refill_inventory(canister,coin_records,COIN_CHARGE)
transfered += refill_inventory(canister,hidden_records,CONTRABAND_CHARGE)
if(transfered)
- user << "You loaded [transfered] items in \the [name]."
+ to_chat(user, "You loaded [transfered] items in \the [name].")
else
- user << "The [name] is fully stocked."
+ to_chat(user, "The [name] is fully stocked.")
return
else
- user << "You should probably unscrew the service panel first."
+ to_chat(user, "You should probably unscrew the service panel first.")
else
return ..()
@@ -359,7 +359,7 @@
/obj/machinery/vending/emag_act(mob/user)
if(!emagged)
emagged = 1
- user << "You short out the product lock on [src]."
+ to_chat(user, "You short out the product lock on [src].")
/obj/machinery/vending/attack_ai(mob/user)
return attack_hand(user)
@@ -430,21 +430,21 @@
if(iscyborg(usr))
var/mob/living/silicon/robot/R = usr
if(!(R.module && istype(R.module,/obj/item/weapon/robot_module/butler) ))
- usr << "The vending machine refuses to interface with you, as you are not in its target demographic!"
+ to_chat(usr, "The vending machine refuses to interface with you, as you are not in its target demographic!")
return
else
- usr << "The vending machine refuses to interface with you, as you are not in its target demographic!"
+ to_chat(usr, "The vending machine refuses to interface with you, as you are not in its target demographic!")
return
if(href_list["remove_coin"])
if(!coin)
- usr << "There is no coin in this machine."
+ to_chat(usr, "There is no coin in this machine.")
return
coin.loc = loc
if(!usr.get_active_held_item())
usr.put_in_hands(coin)
- usr << "You remove [coin] from [src]."
+ to_chat(usr, "You remove [coin] from [src].")
coin = null
@@ -468,11 +468,11 @@
if((href_list["vend"]) && (vend_ready))
if(panel_open)
- usr << "The vending machine cannot dispense products while its service panel is open!"
+ to_chat(usr, "The vending machine cannot dispense products while its service panel is open!")
return
if((!allowed(usr)) && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH
- usr << "Access denied." //Unless emagged of course
+ to_chat(usr, "Access denied." )
flick(icon_deny,src)
return
@@ -489,20 +489,20 @@
return
else if(R in coin_records)
if(!coin)
- usr << "You need to insert a coin to get this item!"
+ to_chat(usr, "You need to insert a coin to get this item!")
vend_ready = 1
return
if(coin.string_attached)
if(prob(50))
if(usr.put_in_hands(coin))
- usr << "You successfully pull [coin] out before [src] could swallow it."
+ to_chat(usr, "You successfully pull [coin] out before [src] could swallow it.")
coin = null
else
- usr << "You couldn't pull [coin] out because your hands are full!"
+ to_chat(usr, "You couldn't pull [coin] out because your hands are full!")
qdel(coin)
coin = null
else
- usr << "You weren't able to pull [coin] out fast enough, the machine ate it, string and all!"
+ to_chat(usr, "You weren't able to pull [coin] out fast enough, the machine ate it, string and all!")
qdel(coin)
coin = null
else
@@ -514,7 +514,7 @@
return
if (R.amount <= 0)
- usr << "Sold out."
+ to_chat(usr, "Sold out.")
vend_ready = 1
return
else
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index b35a1f67a0e..46ae55e9b82 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -14,7 +14,7 @@
/obj/machinery/washing_machine/examine(mob/user)
..()
- user << "Alt-click it to start a wash cycle."
+ to_chat(user, "Alt-click it to start a wash cycle.")
/obj/machinery/washing_machine/AltClick(mob/user)
if(!user.canUseTopic(src))
@@ -24,11 +24,11 @@
return
if(state_open)
- user << "Close the door first"
+ to_chat(user, "Close the door first")
return
if(bloody_mess)
- user << "[src] must be cleaned up first."
+ to_chat(user, "[src] must be cleaned up first.")
return
if(has_corgi)
@@ -196,19 +196,19 @@
else if(user.a_intent != INTENT_HARM)
if (!state_open)
- user << "Open the door first!"
+ to_chat(user, "Open the door first!")
return 1
if(bloody_mess)
- user << "[src] must be cleaned up first."
+ to_chat(user, "[src] must be cleaned up first.")
return 1
if(contents.len >= max_wash_capacity)
- user << "The washing machine is full!"
+ to_chat(user, "The washing machine is full!")
return 1
if(!user.transferItemToLoc(W, src))
- user << "\The [W] is stuck to your hand, you cannot put it in the washing machine!"
+ to_chat(user, "\The [W] is stuck to your hand, you cannot put it in the washing machine!")
return 1
if(istype(W,/obj/item/toy/crayon) || istype(W,/obj/item/weapon/stamp))
@@ -220,7 +220,7 @@
/obj/machinery/washing_machine/attack_hand(mob/user)
if(busy)
- user << "[src] is busy."
+ to_chat(user, "[src] is busy.")
return
if(user.pulling && user.a_intent == INTENT_GRAB && isliving(user.pulling))
diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm
index 8b663bb366e..49be1a588ff 100644
--- a/code/game/machinery/wishgranter.dm
+++ b/code/game/machinery/wishgranter.dm
@@ -13,23 +13,23 @@
/obj/machinery/wish_granter/attack_hand(mob/living/carbon/user)
if(charges <= 0)
- user << "The Wish Granter lies silent."
+ to_chat(user, "The Wish Granter lies silent.")
return
else if(!ishuman(user))
- user << "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's."
+ to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.")
return
else if(is_special_character(user))
- user << "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away."
+ to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.")
else if (!insisting)
- user << "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?"
+ to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?")
insisting++
else
- user << "You speak. [pick("I want the station to disappear","Humanity is corrupt, mankind must be destroyed","I want to be rich", "I want to rule the world","I want immortality.")]. The Wish Granter answers."
- user << "Your head pounds for a moment, before your vision clears. You are the avatar of the Wish Granter, and your power is LIMITLESS! And it's all yours. You need to make sure no one can take it from you. No one can know, first."
+ to_chat(user, "You speak. [pick("I want the station to disappear","Humanity is corrupt, mankind must be destroyed","I want to be rich", "I want to rule the world","I want immortality.")]. The Wish Granter answers.")
+ to_chat(user, "Your head pounds for a moment, before your vision clears. You are the avatar of the Wish Granter, and your power is LIMITLESS! And it's all yours. You need to make sure no one can take it from you. No one can know, first.")
charges--
insisting = 0
@@ -47,7 +47,7 @@
user.mind.objectives += hijack
user.mind.announce_objectives()
-
- user << "You have a very bad feeling about this."
+
+ to_chat(user, "You have a very bad feeling about this.")
return
\ No newline at end of file
diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index a6f750b8647..5c0af6b13a1 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -174,7 +174,7 @@
var/mob/living/carbon/human/H = M
if(istype(H.ears, /obj/item/clothing/ears/earmuffs))
continue
- M << "HONK"
+ to_chat(M, "HONK")
M.SetSleeping(0)
M.stuttering += 20
M.adjustEarDamage(0, 30)
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index e767038b17e..24f4e99cfab 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -431,26 +431,26 @@
if(istype(W, /obj/item/stack/sheet))
if(panel_open)
- user << "You can't load [src] while it's opened!"
+ to_chat(user, "You can't load [src] while it's opened!")
return 1
if(being_built)
- user << "\The [src] is currently processing! Please wait until completion."
+ to_chat(user, "\The [src] is currently processing! Please wait until completion.")
return 1
var/material_amount = materials.get_item_material_amount(W)
if(!material_amount)
- user << "This object does not contain sufficient amounts of materials to be accepted by [src]."
+ to_chat(user, "This object does not contain sufficient amounts of materials to be accepted by [src].")
return 1
if(!materials.has_space(material_amount))
- user << "\The [src] is full. Please remove some materials from [src] in order to insert more."
+ to_chat(user, "\The [src] is full. Please remove some materials from [src] in order to insert more.")
return 1
if(!user.temporarilyRemoveItemFromInventory(W))
- user << "\The [W] is stuck to you and cannot be placed into [src]."
+ to_chat(user, "\The [W] is stuck to you and cannot be placed into [src].")
return 1
var/inserted = materials.insert_item(W)
if(inserted)
- user << "You insert [inserted] sheet\s into [src]."
+ to_chat(user, "You insert [inserted] sheet\s into [src].")
if(W && W.materials.len)
if(!QDELETED(W))
user.put_in_active_hand(W)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 0dec9bee0ae..84010473806 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -251,19 +251,19 @@
var/integrity = obj_integrity*100/max_integrity
switch(integrity)
if(85 to 100)
- user << "It's fully intact."
+ to_chat(user, "It's fully intact.")
if(65 to 85)
- user << "It's slightly damaged."
+ to_chat(user, "It's slightly damaged.")
if(45 to 65)
- user << "It's badly damaged."
+ to_chat(user, "It's badly damaged.")
if(25 to 45)
- user << "It's heavily damaged."
+ to_chat(user, "It's heavily damaged.")
else
- user << "It's falling apart."
+ to_chat(user, "It's falling apart.")
if(equipment && equipment.len)
- user << "It's equipped with:"
+ to_chat(user, "It's equipped with:")
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
- user << "\icon[ME] [ME]"
+ to_chat(user, "\icon[ME] [ME]")
//processing internal damage, temperature, air regulation, alert updates, lights power use.
/obj/mecha/process()
@@ -466,7 +466,7 @@
if(istype(backup) && movement_dir && !backup.anchored)
if(backup.newtonian_move(turn(movement_dir, 180)))
if(occupant)
- occupant << "You push off of [backup] to propel yourself."
+ to_chat(occupant, "You push off of [backup] to propel yourself.")
return 1
/obj/mecha/relaymove(mob/user,direction)
@@ -474,7 +474,7 @@
return
if(user != occupant) //While not "realistic", this piece is player friendly.
user.forceMove(get_turf(src))
- user << "You climb out from [src]."
+ to_chat(user, "You climb out from [src].")
return 0
if(connected_port)
if(world.time - last_message > 20)
@@ -626,26 +626,25 @@
if(user.can_dominate_mechs)
examine(user) //Get diagnostic information!
for(var/obj/item/mecha_parts/mecha_tracking/B in trackers)
- user << "Warning: Tracking Beacon detected. Enter at your own risk. Beacon Data:"
- user << "[B.get_mecha_info()]"
+ to_chat(user, "Warning: Tracking Beacon detected. Enter at your own risk. Beacon Data:")
+ to_chat(user, "[B.get_mecha_info()]")
break
//Nothing like a big, red link to make the player feel powerful!
- user << "ASSUME DIRECT CONTROL?
"
+ to_chat(user, "ASSUME DIRECT CONTROL?
")
else
examine(user)
if(occupant)
- user << "This exosuit has a pilot and cannot be controlled."
+ to_chat(user, "This exosuit has a pilot and cannot be controlled.")
return
var/can_control_mech = 0
for(var/obj/item/mecha_parts/mecha_tracking/ai_control/A in trackers)
can_control_mech = 1
- user << "\icon[src] Status of [name]:\n\
- [A.get_mecha_info()]"
+ to_chat(user, "\icon[src] Status of [name]:\n[A.get_mecha_info()]")
break
if(!can_control_mech)
- user << "You cannot control exosuits without AI control beacons installed."
+ to_chat(user, "You cannot control exosuits without AI control beacons installed.")
return
- user << "Take control of exosuit?
"
+ to_chat(user, "Take control of exosuit?
")
/obj/mecha/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/device/aicard/card)
if(!..())
@@ -655,11 +654,11 @@
switch(interaction)
if(AI_TRANS_TO_CARD) //Upload AI from mech to AI card.
if(!state) //Mech must be in maint mode to allow carding.
- user << "[name] must have maintenance protocols active in order to allow a transfer."
+ to_chat(user, "[name] must have maintenance protocols active in order to allow a transfer.")
return
AI = occupant
if(!AI || !isAI(occupant)) //Mech does not have an AI for a pilot
- user << "No AI detected in the [name] onboard computer."
+ to_chat(user, "No AI detected in the [name] onboard computer.")
return
AI.ai_restore_power()//So the AI initially has power.
AI.control_disabled = 1
@@ -670,32 +669,32 @@
AI.controlled_mech = null
AI.remote_control = null
icon_state = initial(icon_state)+"-open"
- AI << "You have been downloaded to a mobile storage device. Wireless connection offline."
- user << "Transfer successful: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory."
+ to_chat(AI, "You have been downloaded to a mobile storage device. Wireless connection offline.")
+ to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.")
if(AI_MECH_HACK) //Called by AIs on the mech
AI.linked_core = new /obj/structure/AIcore/deactivated(AI.loc)
if(AI.can_dominate_mechs)
if(occupant) //Oh, I am sorry, were you using that?
- AI << "Pilot detected! Forced ejection initiated!"
- occupant << "You have been forcibly ejected!"
+ to_chat(AI, "Pilot detected! Forced ejection initiated!")
+ to_chat(occupant, "You have been forcibly ejected!")
go_out(1) //IT IS MINE, NOW. SUCK IT, RD!
ai_enter_mech(AI, interaction)
if(AI_TRANS_FROM_CARD) //Using an AI card to upload to a mech.
AI = card.AI
if(!AI)
- user << "There is no AI currently installed on this device."
+ to_chat(user, "There is no AI currently installed on this device.")
return
else if(AI.stat || !AI.client)
- user << "[AI.name] is currently unresponsive, and cannot be uploaded."
+ to_chat(user, "[AI.name] is currently unresponsive, and cannot be uploaded.")
return
else if(occupant || dna_lock) //Normal AIs cannot steal mechs!
- user << "Access denied. [name] is [occupant ? "currently occupied" : "secured with a DNA lock"]."
+ to_chat(user, "Access denied. [name] is [occupant ? "currently occupied" : "secured with a DNA lock"].")
return
AI.control_disabled = 0
AI.radio_enabled = 1
- user << "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."
+ to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
card.AI = null
ai_enter_mech(AI, interaction)
@@ -713,9 +712,9 @@
AI.remote_control = src
AI.canmove = 1 //Much easier than adding AI checks! Be sure to set this back to 0 if you decide to allow an AI to leave a mech somehow.
AI.can_shunt = 0 //ONE AI ENTERS. NO AI LEAVES.
- AI << "[AI.can_dominate_mechs ? "Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!" \
- : "You have been uploaded to a mech's onboard computer."]"
- AI << "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions."
+ to_chat(AI, "[AI.can_dominate_mechs ? "Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!" \
+ : "You have been uploaded to a mech's onboard computer."]")
+ to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.")
GrantActions(AI, !AI.can_dominate_mechs)
@@ -805,7 +804,7 @@
return
log_message("[user] tries to move in.")
if (occupant)
- usr << "The [name] is already occupied!"
+ to_chat(usr, "The [name] is already occupied!")
log_append_to_last("Permission denied.")
return
var/passed
@@ -817,32 +816,32 @@
else if(operation_allowed(user))
passed = 1
if(!passed)
- user << "Access denied."
+ to_chat(user, "Access denied.")
log_append_to_last("Permission denied.")
return
if(user.buckled)
- user << "You are currently buckled and cannot move."
+ to_chat(user, "You are currently buckled and cannot move.")
log_append_to_last("Permission denied.")
return
if(user.has_buckled_mobs()) //mob attached to us
- user << "You can't enter the exosuit with other creatures attached to you!"
+ to_chat(user, "You can't enter the exosuit with other creatures attached to you!")
return
visible_message("[user] starts to climb into [name].")
if(do_after(user, 40, target = src))
if(obj_integrity <= 0)
- user << "You cannot get in the [name], it has been destroyed!"
+ to_chat(user, "You cannot get in the [name], it has been destroyed!")
else if(occupant)
- user << "[occupant] was faster! Try better next time, loser."
+ to_chat(user, "[occupant] was faster! Try better next time, loser.")
else if(user.buckled)
- user << "You can't enter the exosuit while buckled."
+ to_chat(user, "You can't enter the exosuit while buckled.")
else if(user.has_buckled_mobs())
- user << "You can't enter the exosuit with other creatures attached to you!"
+ to_chat(user, "You can't enter the exosuit with other creatures attached to you!")
else
moved_inside(user)
else
- user << "You stop entering the exosuit!"
+ to_chat(user, "You stop entering the exosuit!")
return
/obj/mecha/proc/moved_inside(mob/living/carbon/human/H)
@@ -864,16 +863,16 @@
/obj/mecha/proc/mmi_move_inside(obj/item/device/mmi/mmi_as_oc, mob/user)
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
- user << "Consciousness matrix not detected!"
+ to_chat(user, "Consciousness matrix not detected!")
return FALSE
else if(mmi_as_oc.brainmob.stat)
- user << "Beta-rhythm below acceptable level!"
+ to_chat(user, "Beta-rhythm below acceptable level!")
return FALSE
else if(occupant)
- user << "Occupant detected!"
+ to_chat(user, "Occupant detected!")
return FALSE
else if(dna_lock && (!mmi_as_oc.brainmob.stored_dna || (dna_lock != mmi_as_oc.brainmob.stored_dna.unique_enzymes)))
- user << "Access denied. [name] is secured with a DNA lock."
+ to_chat(user, "Access denied. [name] is secured with a DNA lock.")
return FALSE
visible_message("[user] starts to insert an MMI into [name].")
@@ -882,22 +881,22 @@
if(!occupant)
return mmi_moved_inside(mmi_as_oc, user)
else
- user << "Occupant detected!"
+ to_chat(user, "Occupant detected!")
else
- user << "You stop inserting the MMI."
+ to_chat(user, "You stop inserting the MMI.")
return FALSE
/obj/mecha/proc/mmi_moved_inside(obj/item/device/mmi/mmi_as_oc, mob/user)
if(!(Adjacent(mmi_as_oc) && Adjacent(user)))
return FALSE
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
- user << "Consciousness matrix not detected!"
+ to_chat(user, "Consciousness matrix not detected!")
return FALSE
else if(mmi_as_oc.brainmob.stat)
- user << "Beta-rhythm below acceptable level!"
+ to_chat(user, "Beta-rhythm below acceptable level!")
return FALSE
if(!user.transferItemToLoc(mmi_as_oc, src))
- user << "\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]!"
+ to_chat(user, "\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]!")
return FALSE
var/mob/brainmob = mmi_as_oc.brainmob
mmi_as_oc.mecha = src
@@ -945,10 +944,10 @@
return
else
if(!AI.linked_core)
- AI << "Inactive core destroyed. Unable to return."
+ to_chat(AI, "Inactive core destroyed. Unable to return.")
AI.linked_core = null
return
- AI << "Returning to core..."
+ to_chat(AI, "Returning to core...")
AI.controlled_mech = null
AI.remote_control = null
RemoveActions(occupant, 1)
@@ -1001,7 +1000,7 @@
/obj/mecha/proc/occupant_message(message as text)
if(message)
if(occupant && occupant.client)
- occupant << "\icon[src] [message]"
+ to_chat(occupant, "\icon[src] [message]")
return
/obj/mecha/proc/log_message(message as text,red=null)
diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm
index 90c7716b622..938e6c2bb34 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -26,12 +26,12 @@
if(C.use(4))
playsound(holder, 'sound/items/Deconstruct.ogg', 50, 1)
else
- user << ("There's not enough cable to finish the task!")
+ to_chat(user, ("There's not enough cable to finish the task!"))
return 0
else if(istype(used_atom, /obj/item/stack))
var/obj/item/stack/S = used_atom
if(S.get_amount() < 5)
- user << ("There's not enough material in this stack!")
+ to_chat(user, ("There's not enough material in this stack!"))
return 0
else
S.use(5)
@@ -61,12 +61,12 @@
if (C.use(4))
playsound(holder, 'sound/items/Deconstruct.ogg', 50, 1)
else
- user << ("There's not enough cable to finish the task!")
+ to_chat(user, ("There's not enough cable to finish the task!"))
return 0
else if(istype(used_atom, /obj/item/stack))
var/obj/item/stack/S = used_atom
if(S.get_amount() < 5)
- user << ("There's not enough material in this stack!")
+ to_chat(user, ("There's not enough material in this stack!"))
return 0
else
S.use(5)
diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm
index d936f863d90..512629cae35 100644
--- a/code/game/mecha/mecha_defense.dm
+++ b/code/game/mecha/mecha_defense.dm
@@ -152,9 +152,9 @@
if(istype(W, /obj/item/device/mmi))
if(mmi_move_inside(W,user))
- user << "[src]-[W] interface initialized successfully."
+ to_chat(user, "[src]-[W] interface initialized successfully.")
else
- user << "[src]-[W] interface initialization failed."
+ to_chat(user, "[src]-[W] interface initialization failed.")
return
if(istype(W, /obj/item/mecha_parts/mecha_equipment))
@@ -166,7 +166,7 @@
E.attach(src)
user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].")
else
- user << "You were unable to attach [W] to [src]!"
+ to_chat(user, "You were unable to attach [W] to [src]!")
return
if(W.GetID())
if(add_req_access || maint_access)
@@ -180,48 +180,48 @@
output_maintenance_dialog(id_card, user)
return
else
- user << "Invalid ID: Access denied."
+ to_chat(user, "Invalid ID: Access denied.")
else
- user << "Maintenance protocols disabled by operator."
+ to_chat(user, "Maintenance protocols disabled by operator.")
else if(istype(W, /obj/item/weapon/wrench))
if(state==1)
state = 2
- user << "You undo the securing bolts."
+ to_chat(user, "You undo the securing bolts.")
else if(state==2)
state = 1
- user << "You tighten the securing bolts."
+ to_chat(user, "You tighten the securing bolts.")
return
else if(istype(W, /obj/item/weapon/crowbar))
if(state==2)
state = 3
- user << "You open the hatch to the power unit."
+ to_chat(user, "You open the hatch to the power unit.")
else if(state==3)
state=2
- user << "You close the hatch to the power unit."
+ to_chat(user, "You close the hatch to the power unit.")
return
else if(istype(W, /obj/item/stack/cable_coil))
if(state == 3 && (internal_damage & MECHA_INT_SHORT_CIRCUIT))
var/obj/item/stack/cable_coil/CC = W
if(CC.use(2))
clearInternalDamage(MECHA_INT_SHORT_CIRCUIT)
- user << "You replace the fused wires."
+ to_chat(user, "You replace the fused wires.")
else
- user << "You need two lengths of cable to fix this mech!"
+ to_chat(user, "You need two lengths of cable to fix this mech!")
return
else if(istype(W, /obj/item/weapon/screwdriver) && user.a_intent != INTENT_HARM)
if(internal_damage & MECHA_INT_TEMP_CONTROL)
clearInternalDamage(MECHA_INT_TEMP_CONTROL)
- user << "You repair the damaged temperature controller."
+ to_chat(user, "You repair the damaged temperature controller.")
else if(state==3 && cell)
cell_power_remaining = max(0.1, cell.charge/cell.maxcharge) //10% charge or whatever is remaining in the current cell
cell.forceMove(loc)
cell = null
state = 4
- user << "You unscrew and pry out the powercell."
+ to_chat(user, "You unscrew and pry out the powercell.")
log_message("Powercell removed")
else if(state==4 && cell)
state=3
- user << "You screw the cell in place."
+ to_chat(user, "You screw the cell in place.")
return
else if(istype(W, /obj/item/weapon/stock_parts/cell))
@@ -230,13 +230,13 @@
if(!user.drop_item())
return
var/obj/item/weapon/stock_parts/cell/C = W
- user << "You install the powercell."
+ to_chat(user, "You install the powercell.")
C.forceMove(src)
C.use(max(0, C.charge - C.maxcharge*cell_power_remaining)) //Set inserted cell's power to saved percentage if that's higher
cell = C
log_message("Powercell installed")
else
- user << "There's already a powercell installed."
+ to_chat(user, "There's already a powercell installed.")
return
else if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != INTENT_HARM)
@@ -246,20 +246,20 @@
if (WT.remove_fuel(0,user))
if (internal_damage & MECHA_INT_TANK_BREACH)
clearInternalDamage(MECHA_INT_TANK_BREACH)
- user << "You repair the damaged gas tank."
+ to_chat(user, "You repair the damaged gas tank.")
else
user.visible_message("[user] repairs some damage to [name].")
obj_integrity += min(10, max_integrity-obj_integrity)
else
- user << "The welder must be on for this task!"
+ to_chat(user, "The welder must be on for this task!")
return 1
else
- user << "The [name] is at full integrity!"
+ to_chat(user, "The [name] is at full integrity!")
return 1
else if(istype(W, /obj/item/mecha_parts/mecha_tracking))
if(!user.transferItemToLoc(W, src))
- user << "\the [W] is stuck to your hand, you cannot put it in \the [src]!"
+ to_chat(user, "\the [W] is stuck to your hand, you cannot put it in \the [src]!")
return
trackers += W
user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].")
diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm
index 0f6623141c1..5a6d7314bbe 100644
--- a/code/game/mecha/mecha_topic.dm
+++ b/code/game/mecha/mecha_topic.dm
@@ -228,10 +228,10 @@
if(user)
if(state==0)
state = 1
- user << "The securing bolts are now exposed."
+ to_chat(user, "The securing bolts are now exposed.")
else if(state==1)
state = 0
- user << "The securing bolts are now hidden."
+ to_chat(user, "The securing bolts are now hidden.")
output_maintenance_dialog(filter.getObj("id_card"),user)
if(href_list["set_internal_tank_valve"] && state >=1)
@@ -240,7 +240,7 @@
var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num
if(new_pressure)
internal_tank_valve = new_pressure
- user << "The internal pressure valve has been set to [internal_tank_valve]kPa."
+ to_chat(user, "The internal pressure valve has been set to [internal_tank_valve]kPa.")
if(href_list["add_req_access"] && add_req_access && filter.getObj("id_card"))
operation_req_access += filter.getNum("add_req_access")
@@ -308,7 +308,7 @@
if(href_list["dna_lock"])
if(occupant && !iscarbon(occupant))
- occupant << " You do not have any DNA!"
+ to_chat(occupant, " You do not have any DNA!")
return
dna_lock = occupant.dna.unique_enzymes
occupant_message("You feel a prick as the needle takes your DNA sample.")
diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm
index 1e453d7b14b..667f5896406 100644
--- a/code/game/mecha/mecha_wreckage.dm
+++ b/code/game/mecha/mecha_wreckage.dm
@@ -30,12 +30,12 @@
/obj/structure/mecha_wreckage/examine(mob/user)
..()
if(AI)
- user << "The AI recovery beacon is active."
+ to_chat(user, "The AI recovery beacon is active.")
/obj/structure/mecha_wreckage/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/weldingtool))
if(salvage_num <= 0)
- user << "You don't see anything that can be cut with [I]!"
+ to_chat(user, "You don't see anything that can be cut with [I]!")
return
var/obj/item/weapon/weldingtool/WT = I
if(welder_salvage && welder_salvage.len && WT.remove_fuel(0, user))
@@ -47,13 +47,13 @@
welder_salvage -= type
salvage_num--
else
- user << "You fail to salvage anything valuable from [src]!"
+ to_chat(user, "You fail to salvage anything valuable from [src]!")
else
return
else if(istype(I, /obj/item/weapon/wirecutters))
if(salvage_num <= 0)
- user << "You don't see anything that can be cut with [I]!"
+ to_chat(user, "You don't see anything that can be cut with [I]!")
return
else if(wirecutters_salvage && wirecutters_salvage.len)
var/type = prob(70) ? pick(wirecutters_salvage) : null
@@ -62,7 +62,7 @@
user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].")
salvage_num--
else
- user << "You fail to salvage anything valuable from [src]!"
+ to_chat(user, "You fail to salvage anything valuable from [src]!")
else if(istype(I, /obj/item/weapon/crowbar))
if(crowbar_salvage && crowbar_salvage.len)
@@ -73,7 +73,7 @@
user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].")
return
else
- user << "You don't see anything that can be pried with [I]!"
+ to_chat(user, "You don't see anything that can be pried with [I]!")
/obj/structure/mecha_wreckage/transfer_ai(interaction, mob/user, null, obj/item/device/aicard/card)
@@ -83,16 +83,16 @@
//Proc called on the wreck by the AI card.
if(interaction == AI_TRANS_TO_CARD) //AIs can only be transferred in one direction, from the wreck to the card.
if(!AI) //No AI in the wreck
- user << "No AI backups found."
+ to_chat(user, "No AI backups found.")
return
cut_overlays() //Remove the recovery beacon overlay
AI.forceMove(card) //Move the dead AI to the card.
card.AI = AI
if(AI.client) //AI player is still in the dead AI and is connected
- AI << "The remains of your file system have been recovered on a mobile storage device."
+ to_chat(AI, "The remains of your file system have been recovered on a mobile storage device.")
else //Give the AI a heads-up that it is probably going to get fixed.
AI.notify_ghost_cloning("You have been recovered from the wreckage!", source = card)
- user << "Backup files recovered: [AI.name] ([rand(1000,9999)].exe) salvaged from [name] and stored within local memory."
+ to_chat(user, "Backup files recovered: [AI.name] ([rand(1000,9999)].exe) salvaged from [name] and stored within local memory.")
else
return ..()
diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm
index 1b599421093..8b855c7c3d2 100644
--- a/code/game/mecha/working/ripley.dm
+++ b/code/game/mecha/working/ripley.dm
@@ -165,13 +165,13 @@
drill.equip_cooldown = initial(drill.equip_cooldown)
/obj/mecha/working/ripley/relay_container_resist(mob/living/user, obj/O)
- user << "You lean on the back of [O] and start pushing so it falls out of [src]."
+ to_chat(user, "You lean on the back of [O] and start pushing so it falls out of [src].")
if(do_after(user, 300, target = O))
if(!user || user.stat != CONSCIOUS || user.loc != src || O.loc != src )
return
- user << "You successfully pushed [O] out of [src]!"
+ to_chat(user, "You successfully pushed [O] out of [src]!")
O.loc = loc
cargo -= O
else
if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded.
- user << "You fail to push [O] out of [src]!"
+ to_chat(user, "You fail to push [O] out of [src]!")
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index c67f2f5cf0f..7df977fd93f 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -52,9 +52,9 @@
return 0
if(!M.can_buckle() && !force)
if(M == usr)
- M << "You are unable to buckle yourself to the [src]!"
+ to_chat(M, "You are unable to buckle yourself to the [src]!")
else
- usr << "You are unable to buckle [M] to the [src]!"
+ to_chat(usr, "You are unable to buckle [M] to the [src]!")
return 0
if(M.pulledby && buckle_prevents_pull)
diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm
index b5bc101b9ec..2800315bf68 100644
--- a/code/game/objects/effects/alien_acid.dm
+++ b/code/game/objects/effects/alien_acid.dm
@@ -71,7 +71,7 @@
if(L.acid_act(10, acid_used, "feet"))
acid_level = max(0, acid_level - acid_used*10)
playsound(L, 'sound/weapons/sear.ogg', 50, 1)
- L << "[src] burns you!"
+ to_chat(L, "[src] burns you!")
//xenomorph corrosive acid
/obj/effect/acid/alien
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index 0bde9255e3e..2919ec9ff23 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -72,7 +72,7 @@
/obj/effect/anomaly/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/analyzer))
- user << "Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code]."
+ to_chat(user, "Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].")
///////////////////////
diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm
index b18023bdbaa..14333c2bc17 100644
--- a/code/game/objects/effects/contraband.dm
+++ b/code/game/objects/effects/contraband.dm
@@ -90,10 +90,10 @@
if(istype(I, /obj/item/weapon/wirecutters))
playsound(loc, I.usesound, 100, 1)
if(ruined)
- user << "You remove the remnants of the poster."
+ to_chat(user, "You remove the remnants of the poster.")
qdel(src)
else
- user << "You carefully remove the poster from the wall."
+ to_chat(user, "You carefully remove the poster from the wall.")
roll_and_drop(user.loc)
/obj/structure/sign/poster/attack_hand(mob/user)
@@ -118,20 +118,20 @@
//seperated to reduce code duplication. Moved here for ease of reference and to unclutter r_wall/attackby()
/turf/closed/wall/proc/place_poster(obj/item/weapon/poster/P, mob/user)
if(!P.poster_structure)
- user << "[P] has no poster... inside it? Inform a coder!"
+ to_chat(user, "[P] has no poster... inside it? Inform a coder!")
return
var/stuff_on_wall = 0
for(var/obj/O in contents) //Let's see if it already has a poster on it or too much stuff
if(istype(O,/obj/structure/sign/poster))
- user << "The wall is far too cluttered to place a poster!"
+ to_chat(user, "The wall is far too cluttered to place a poster!")
return
stuff_on_wall++
if(stuff_on_wall == 3)
- user << "The wall is far too cluttered to place a poster!"
+ to_chat(user, "The wall is far too cluttered to place a poster!")
return
- user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster.
+ to_chat(user, "You start placing the poster on the wall..." )
var/obj/structure/sign/poster/D = P.poster_structure
@@ -146,10 +146,10 @@
return
if(iswallturf(src) && user && user.loc == temp_loc) //Let's check if everything is still there
- user << "You place the poster!"
+ to_chat(user, "You place the poster!")
return
- user << "The poster falls down!"
+ to_chat(user, "The poster falls down!")
D.roll_and_drop(temp_loc)
// Various possible posters follow
diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm
index 73a69eb7f0e..520158dfb0c 100644
--- a/code/game/objects/effects/countdown.dm
+++ b/code/game/objects/effects/countdown.dm
@@ -20,7 +20,7 @@
/obj/effect/countdown/examine(mob/user)
. = ..()
- user << "This countdown is displaying: [displayed_text]"
+ to_chat(user, "This countdown is displaying: [displayed_text]")
/obj/effect/countdown/proc/attach(atom/A)
attached_to = A
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index fec03d416dd..ab4c6e858be 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -170,7 +170,7 @@
var/obj/item/clothing/shoes/S = shoe
. += "some [initial(S.name)] \icon[S]\n"
- user << .
+ to_chat(user, .)
/obj/effect/decal/cleanable/blood/footprints/replace_decal(obj/effect/decal/cleanable/C)
if(blood_state != C.blood_state) //We only replace footprints of the same type as us
diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm
index 963165efe99..7f01cb48d69 100644
--- a/code/game/objects/effects/decals/cleanable.dm
+++ b/code/game/objects/effects/decals/cleanable.dm
@@ -27,12 +27,12 @@
if(src.reagents && W.reagents)
. = 1 //so the containers don't splash their content on the src while scooping.
if(!src.reagents.total_volume)
- user << "[src] isn't thick enough to scoop up!"
+ to_chat(user, "[src] isn't thick enough to scoop up!")
return
if(W.reagents.total_volume >= W.reagents.maximum_volume)
- user << "[W] is full!"
+ to_chat(user, "[W] is full!")
return
- user << "You scoop up [src] into [W]!"
+ to_chat(user, "You scoop up [src] into [W]!")
reagents.trans_to(W, reagents.total_volume)
if(!reagents.total_volume) //scooped up all of it
qdel(src)
@@ -45,7 +45,7 @@
var/added_heat = (hotness / 100)
src.reagents.chem_temp = min(src.reagents.chem_temp + added_heat, hotness)
src.reagents.handle_reactions()
- user << "You heat [src] with [W]!"
+ to_chat(user, "You heat [src] with [W]!")
else
return ..()
diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index f2a3d61d190..9ca086fad25 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -220,7 +220,7 @@
/obj/structure/foamedmetal/attack_hand(mob/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
- user << "You hit the metal foam but bounce off it!"
+ to_chat(user, "You hit the metal foam but bounce off it!")
playsound(src.loc, 'sound/weapons/tap.ogg', 100, 1)
/obj/structure/foamedmetal/CanPass(atom/movable/mover, turf/target, height=1.5)
diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm
index 503f120dd49..3ac1e565205 100644
--- a/code/game/objects/effects/effect_system/effects_other.dm
+++ b/code/game/objects/effects/effect_system/effects_other.dm
@@ -130,7 +130,7 @@
for(var/mob/M in viewers(1, location))
if (prob (50 * amount))
- M << "The explosion knocks you down."
+ to_chat(M, "The explosion knocks you down.")
M.Weaken(rand(1,5))
return
else
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index 9004315d4a2..9ef719eb3b0 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -34,7 +34,7 @@ var/list/blacklisted_glowshroom_turfs = typecacheof(list(
/obj/structure/glowshroom/examine(mob/user)
. = ..()
- user << "This is a [generation]\th generation [name]!"
+ to_chat(user, "This is a [generation]\th generation [name]!")
/obj/structure/glowshroom/New()
..()
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index bba06a832f0..e8ea608e2e5 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -8,7 +8,7 @@
var/triggered = 0
/obj/effect/mine/proc/mineEffect(mob/victim)
- victim << "*click*"
+ to_chat(victim, "*click*")
/obj/effect/mine/Crossed(AM as mob|obj)
if(isturf(loc))
@@ -55,7 +55,7 @@
/obj/effect/mine/kickmine/mineEffect(mob/victim)
if(isliving(victim) && victim.client)
- victim << "You have been kicked FOR NO REISIN!"
+ to_chat(victim, "You have been kicked FOR NO REISIN!")
qdel(victim.client)
@@ -120,7 +120,7 @@
/obj/effect/mine/pickup/bloodbath/mineEffect(mob/living/carbon/victim)
if(!victim.client || !istype(victim))
return
- victim << "RIP AND TEAR"
+ to_chat(victim, "RIP AND TEAR")
victim << 'sound/misc/e1m1.ogg'
var/old_color = victim.client.color
var/red_splash = list(1,0,0,0.8,0.2,0, 0.8,0,0.2,0.1,0,0)
@@ -142,7 +142,7 @@
sleep(10)
animate(victim.client,color = old_color, time = duration)//, easing = SINE_EASING|EASE_OUT)
sleep(duration)
- victim << "Your bloodlust seeps back into the bog of your subconscious and you regain self control."
+ to_chat(victim, "Your bloodlust seeps back into the bog of your subconscious and you regain self control.")
qdel(chainsaw)
qdel(src)
@@ -154,7 +154,7 @@
/obj/effect/mine/pickup/healing/mineEffect(mob/living/carbon/victim)
if(!victim.client || !istype(victim))
return
- victim << "You feel great!"
+ to_chat(victim, "You feel great!")
victim.revive(full_heal = 1, admin_revive = 1)
/obj/effect/mine/pickup/speed
@@ -166,8 +166,8 @@
/obj/effect/mine/pickup/speed/mineEffect(mob/living/carbon/victim)
if(!victim.client || !istype(victim))
return
- victim << "You feel fast!"
+ to_chat(victim, "You feel fast!")
victim.status_flags |= GOTTAGOREALLYFAST
sleep(duration)
victim.status_flags &= ~GOTTAGOREALLYFAST
- victim << "You slow down."
+ to_chat(victim, "You slow down.")
diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm
index 7af0ea7911f..42c9f6f17f0 100644
--- a/code/game/objects/effects/overlays.dm
+++ b/code/game/objects/effects/overlays.dm
@@ -357,7 +357,7 @@
if(M.occupant)
if(is_servant_of_ratvar(M.occupant))
continue
- M.occupant << "Your [M.name] is struck by a [name]!"
+ to_chat(M.occupant, "Your [M.name] is struck by a [name]!")
M.visible_message("[M] is struck by a [name]!")
M.take_damage(damage, BURN, 0, 0)
hit_amount++
diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm
index bb6afc8e8ee..c3849b3ceea 100644
--- a/code/game/objects/effects/spawners/gibspawner.dm
+++ b/code/game/objects/effects/spawners/gibspawner.dm
@@ -10,7 +10,7 @@
..()
if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len)
- world << "Gib list length mismatch!"
+ to_chat(world, "Gib list length mismatch!")
return
var/obj/effect/decal/cleanable/blood/gibs/gib = null
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 672e2accab8..db73a96a098 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -41,7 +41,7 @@
return 1
else if(isliving(mover))
if(prob(50))
- mover << "You get stuck in \the [src] for a moment."
+ to_chat(mover, "You get stuck in \the [src] for a moment.")
return 0
else if(istype(mover, /obj/item/projectile))
return prob(30)
@@ -198,7 +198,7 @@
var/breakout_time = 1
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You struggle against the tight bonds... (This will take about [breakout_time] minutes.)"
+ to_chat(user, "You struggle against the tight bonds... (This will take about [breakout_time] minutes.)")
visible_message("You see something struggling and writhing in \the [src]!")
if(do_after(user,(breakout_time*60*10), target = src))
if(!user || user.stat != CONSCIOUS || user.loc != src)
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index 1c21051ab65..60b992ac460 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -29,7 +29,7 @@
/obj/effect/step_trigger/message/Trigger(mob/M)
if(M.client)
- M << "[message]"
+ to_chat(M, "[message]")
if(once)
qdel(src)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 819e5dad64d..0c4733cfe97 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -160,7 +160,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
else
pronoun = "It is"
var/size = weightclass2text(src.w_class)
- user << "[pronoun] a [size] item." //e.g. They are a small item. or It is a bulky item.
+ to_chat(user, "[pronoun] a [size] item." )
if(user.research_scanner) //Mob has a research scanner active.
var/msg = "*--------*
"
@@ -181,7 +181,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
else
msg += "No extractable materials detected.
"
msg += "*--------*"
- user << msg
+ to_chat(user, msg)
/obj/item/attack_self(mob/user)
@@ -209,9 +209,9 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
if(istype(C))
if(C.gloves && (C.gloves.max_heat_protection_temperature > 360))
extinguish()
- user << "You put out the fire on [src]."
+ to_chat(user, "You put out the fire on [src].")
else
- user << "You burn your hand on [src]!"
+ to_chat(user, "You burn your hand on [src]!")
var/obj/item/bodypart/affecting = C.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm")
if(affecting && affecting.receive_damage( 0, 5 )) // 5 burn damage
C.update_damage_overlays()
@@ -223,7 +223,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
var/mob/living/carbon/C = user
if(istype(C))
if(!C.gloves || (!(C.gloves.resistance_flags & (UNACIDABLE|ACID_PROOF))))
- user << "The acid on [src] burns your hand!"
+ to_chat(user, "The acid on [src] burns your hand!")
var/obj/item/bodypart/affecting = C.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm")
if(affecting && affecting.receive_damage( 0, 5 )) // 5 burn damage
C.update_damage_overlays()
@@ -273,7 +273,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
if(!A.has_fine_manipulation)
if(src in A.contents) // To stop Aliens having items stuck in their pockets
A.dropItemToGround(src)
- user << "Your claws aren't capable of such fine manipulation!"
+ to_chat(user, "Your claws aren't capable of such fine manipulation!")
return
attack_paw(A)
@@ -307,7 +307,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
var/len = things.len
if(!len)
- user << "You failed to pick up anything with [S]."
+ to_chat(user, "You failed to pick up anything with [S].")
return
var/datum/progressbar/progress = new(user, len, loc)
@@ -316,7 +316,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
qdel(progress)
- user << "You put everything you could [S.preposition] [S]."
+ to_chat(user, "You put everything you could [S.preposition] [S].")
else if(S.can_be_inserted(src))
S.handle_item_insertion(src)
@@ -438,22 +438,22 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
(H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) || \
(H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES))
// you can't stab someone in the eyes wearing a mask!
- user << "You're going to need to remove that mask/helmet/glasses first!"
+ to_chat(user, "You're going to need to remove that mask/helmet/glasses first!")
return
if(ismonkey(M))
var/mob/living/carbon/monkey/Mo = M
if(Mo.wear_mask && Mo.wear_mask.flags_cover & MASKCOVERSEYES)
// you can't stab someone in the eyes wearing a mask!
- user << "You're going to need to remove that mask/helmet/glasses first!"
+ to_chat(user, "You're going to need to remove that mask/helmet/glasses first!")
return
if(isalien(M))//Aliens don't have eyes./N slimes also don't have eyes!
- user << "You cannot locate any eyes on this creature!"
+ to_chat(user, "You cannot locate any eyes on this creature!")
return
if(isbrain(M))
- user << "You cannot locate any organic eyes on this brain!"
+ to_chat(user, "You cannot locate any organic eyes on this brain!")
return
src.add_fingerprint(user)
@@ -484,20 +484,20 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
if(M.eye_damage >= 10)
M.adjust_blurriness(15)
if(M.stat != DEAD)
- M << "Your eyes start to bleed profusely!"
+ to_chat(M, "Your eyes start to bleed profusely!")
if(!(M.disabilities & (NEARSIGHT | BLIND)))
if(M.become_nearsighted())
- M << "You become nearsighted!"
+ to_chat(M, "You become nearsighted!")
if(prob(50))
if(M.stat != DEAD)
if(M.drop_item())
- M << "You drop what you're holding and clutch at your eyes!"
+ to_chat(M, "You drop what you're holding and clutch at your eyes!")
M.adjust_blurriness(10)
M.Paralyse(1)
M.Weaken(2)
if (prob(M.eye_damage - 10 + 1))
if(M.become_blind())
- M << "You go blind!"
+ to_chat(M, "You go blind!")
/obj/item/clean_blood()
. = ..()
diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index 4865d75102d..6e98096eb46 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -17,13 +17,13 @@
var/turf/loc = get_turf(usr)
var/area/A = loc.loc
if(!isfloorturf(loc))
- usr << "You cannot place [src] on this spot!"
+ to_chat(usr, "You cannot place [src] on this spot!")
return
if(A.requires_power == 0 || istype(A, /area/space))
- usr << "You cannot place [src] in this area!"
+ to_chat(usr, "You cannot place [src] in this area!")
return
if(gotwallitem(loc, ndir, inverse*2))
- usr << "There's already an item on this wall!"
+ to_chat(usr, "There's already an item on this wall!")
return
return 1
@@ -58,7 +58,7 @@
var/glass_amt = round(materials[MAT_GLASS]/MINERAL_MATERIAL_AMOUNT)
if(istype(W, /obj/item/weapon/wrench) && (metal_amt || glass_amt))
- user << "You dismantle [src]."
+ to_chat(user, "You dismantle [src].")
if(metal_amt)
new /obj/item/stack/sheet/metal(get_turf(src), metal_amt)
if(glass_amt)
@@ -83,16 +83,16 @@
var/turf/loc = get_turf(usr)
var/area/A = loc.loc
if (A.get_apc())
- usr << "This area already has APC!"
+ to_chat(usr, "This area already has APC!")
return //only one APC per area
for(var/obj/machinery/power/terminal/T in loc)
if (T.master)
- usr << "There is another network terminal here!"
+ to_chat(usr, "There is another network terminal here!")
return
else
var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(loc)
C.amount = 10
- usr << "You cut the cables and disassemble the unused power terminal."
+ to_chat(usr, "You cut the cables and disassemble the unused power terminal.")
qdel(T)
return 1
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index f62559ef894..f1e5b7f83bf 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -127,7 +127,7 @@
showing = get_images(get_turf(user), viewing.view)
viewing.images |= showing
if(message)
- user << message
+ to_chat(user, message)
/obj/item/areaeditor/blueprints/proc/clear_viewer(mob/user, message = "")
if(viewing)
@@ -135,7 +135,7 @@
viewing = null
showing.Cut()
if(message)
- user << message
+ to_chat(user, message)
/obj/item/areaeditor/blueprints/dropped(mob/user)
..()
@@ -191,13 +191,13 @@
if(!istype(res,/list))
switch(res)
if(ROOM_ERR_SPACE)
- creator << "The new area must be completely airtight."
+ to_chat(creator, "The new area must be completely airtight.")
return
if(ROOM_ERR_TOOLARGE)
- creator << "The new area is too large."
+ to_chat(creator, "The new area is too large.")
return
else
- creator << "Error! Please notify administration."
+ to_chat(creator, "Error! Please notify administration.")
return
var/list/turfs = res
@@ -205,7 +205,7 @@
if(!str || !length(str)) //cancel
return
if(length(str) > 50)
- creator << "The given name is too long. The area remains undefined."
+ to_chat(creator, "The given name is too long. The area remains undefined.")
return
var/area/old = get_area(get_turf(creator))
var/old_gravity = old.has_gravity
@@ -223,7 +223,7 @@
var/area/old_area = T.loc
A.contents += T
T.change_area(old_area, T)
-
+
else
A = new
A.setup(str)
@@ -240,7 +240,7 @@
var/obj/machinery/door/firedoor/FD = D
FD.CalculateAffectingAreas()
- creator << "You have created a new area, named [str]. It is now weather proof, and constructing an APC will allow it to be powered."
+ to_chat(creator, "You have created a new area, named [str]. It is now weather proof, and constructing an APC will allow it to be powered.")
return 1
/obj/item/areaeditor/proc/edit_area()
@@ -250,7 +250,7 @@
if(!str || !length(str) || str==prevname) //cancel
return
if(length(str) > 50)
- usr << "The given name is too long. The area's name is unchanged."
+ to_chat(usr, "The given name is too long. The area's name is unchanged.")
return
set_area_machinery_title(A,str,prevname)
for(var/area/RA in A.related)
@@ -259,7 +259,7 @@
for(var/D in RA.firedoors)
var/obj/machinery/door/firedoor/FD = D
FD.CalculateAffectingAreas()
- usr << "You rename the '[prevname]' to '[str]'."
+ to_chat(usr, "You rename the '[prevname]' to '[str]'.")
interact()
return 1
diff --git a/code/game/objects/items/body_egg.dm b/code/game/objects/items/body_egg.dm
index e89a4df3a47..0ea39d72f17 100644
--- a/code/game/objects/items/body_egg.dm
+++ b/code/game/objects/items/body_egg.dm
@@ -8,7 +8,7 @@
/obj/item/organ/body_egg/on_find(mob/living/finder)
..()
- finder << "You found an unknown alien organism in [owner]'s [zone]!"
+ to_chat(finder, "You found an unknown alien organism in [owner]'s [zone]!")
/obj/item/organ/body_egg/New(loc)
if(iscarbon(loc))
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index be3febf514a..62f63491541 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -41,13 +41,13 @@
/obj/item/bodybag/bluespace/examine(mob/user)
..()
if(contents.len)
- user << "You can make out the shapes of [contents.len] objects through the fabric."
+ to_chat(user, "You can make out the shapes of [contents.len] objects through the fabric.")
/obj/item/bodybag/bluespace/Destroy()
for(var/atom/movable/A in contents)
A.forceMove(get_turf(src))
if(isliving(A))
- A << "You suddenly feel the space around you torn apart! You're free!"
+ to_chat(A, "You suddenly feel the space around you torn apart! You're free!")
return ..()
/obj/item/bodybag/bluespace/deploy_bodybag(mob/user, atom/location)
@@ -55,21 +55,21 @@
for(var/atom/movable/A in contents)
A.forceMove(R)
if(isliving(A))
- A << "You suddenly feel air around you! You're free!"
+ to_chat(A, "You suddenly feel air around you! You're free!")
R.open(user)
R.add_fingerprint(user)
qdel(src)
/obj/item/bodybag/bluespace/container_resist(mob/living/user)
if(user.incapacitated())
- user << "You can't get out while you're restrained like this!"
+ to_chat(user, "You can't get out while you're restrained like this!")
return
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You claw at the fabric of [src], trying to tear it open..."
- loc << "Someone starts trying to break free of [src]!"
+ to_chat(user, "You claw at the fabric of [src], trying to tear it open...")
+ to_chat(loc, "Someone starts trying to break free of [src]!")
if(!do_after(user, 200, target = src))
- loc << "The pressure subsides. It seems that they've stopped resisting..."
+ to_chat(loc, "The pressure subsides. It seems that they've stopped resisting...")
return
loc.visible_message("[user] suddenly appears in front of [loc]!", "[user] breaks free of [src]!")
qdel(src)
diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm
index 63234d060ea..b7e5e9edf8f 100644
--- a/code/game/objects/items/cardboard_cutouts.dm
+++ b/code/game/objects/items/cardboard_cutouts.dm
@@ -37,7 +37,7 @@
/obj/item/cardboard_cutout/attack_self(mob/living/user)
if(!pushed_over)
return
- user << "You right [src]."
+ to_chat(user, "You right [src].")
desc = initial(desc)
icon = initial(icon)
icon_state = initial(icon_state) //This resets a cutout to its blank state - this is intentional to allow for resetting
@@ -76,12 +76,12 @@
if(!crayon || !user)
return
if(pushed_over)
- user << "Right [src] first!"
+ to_chat(user, "Right [src] first!")
return
if(crayon.check_empty(user))
return
if(crayon.is_capped)
- user << "Take the cap off first!"
+ to_chat(user, "Take the cap off first!")
return
var/new_appearance = input(user, "Choose a new appearance for [src].", "26th Century Deception") as null|anything in possible_appearances
if(!new_appearance || !crayon || !user.canUseTopic(src))
diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm
index 5efecb80a4c..24d3f65d6de 100644
--- a/code/game/objects/items/charter.dm
+++ b/code/game/objects/items/charter.dm
@@ -33,15 +33,13 @@
/obj/item/station_charter/attack_self(mob/living/user)
if(used)
- user << "This charter has already been used to name the station."
+ to_chat(user, "This charter has already been used to name the station.")
return
if(!ignores_timeout && (world.time-round_start_time > STATION_RENAME_TIME_LIMIT)) //5 minutes
- user << "The crew has already settled into the shift. \
- It probably wouldn't be good to rename the station right now."
+ to_chat(user, "The crew has already settled into the shift. It probably wouldn't be good to rename the station right now.")
return
if(response_timer_id)
- user << "You're still waiting for approval from your employers about \
- your proposed name change, it'd be best to wait for now."
+ to_chat(user, "You're still waiting for approval from your employers about your proposed name change, it'd be best to wait for now.")
return
var/new_name = stripped_input(user, message="What do you want to name \
@@ -55,14 +53,14 @@
[new_name]")
if(standard_station_regex.Find(new_name))
- user << "Your name has been automatically approved."
+ to_chat(user, "Your name has been automatically approved.")
rename_station(new_name, user)
return
- user << "Your name has been sent to your employers for approval."
+ to_chat(user, "Your name has been sent to your employers for approval.")
// Autoapproves after a certain time
response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE)
- admins << "CUSTOM STATION RENAME:[key_name_admin(user)] (?) proposes to rename the station to [new_name] (will autoapprove in [approval_time / 10] seconds). (BSA) (REJECT) (RPLY)"
+ to_chat(admins, "CUSTOM STATION RENAME:[key_name_admin(user)] (?) proposes to rename the station to [new_name] (will autoapprove in [approval_time / 10] seconds). (BSA) (REJECT) (RPLY)")
/obj/item/station_charter/proc/reject_proposed(user)
if(!user)
diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm
index 1e12b4de9f8..6d13c6a848b 100644
--- a/code/game/objects/items/control_wand.dm
+++ b/code/game/objects/items/control_wand.dm
@@ -26,16 +26,16 @@
mode = WAND_EMERGENCY
if(WAND_EMERGENCY)
mode = WAND_OPEN
- user << "Now in mode: [mode]."
+ to_chat(user, "Now in mode: [mode].")
/obj/item/weapon/door_remote/afterattack(obj/machinery/door/airlock/D, mob/user)
if(!istype(D))
return
if(!(D.hasPower()))
- user << "[D] has no power!"
+ to_chat(user, "[D] has no power!")
return
if(!D.requiresID())
- user << "[D]'s ID scan is disabled!"
+ to_chat(user, "[D]'s ID scan is disabled!")
return
if(D.check_access(ID) && D.canAIControl(user))
switch(mode)
@@ -56,7 +56,7 @@
D.emergency = 1
D.update_icon()
else
- user << "[src] does not have access to this door."
+ to_chat(user, "[src] does not have access to this door.")
/obj/item/weapon/door_remote/omni
name = "omni door remote"
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 8cba290ac72..96464e04350 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -132,7 +132,7 @@
if(charges == -1)
. = FALSE
else if(!charges_left)
- user << "There is no more of \the [src.name] left!"
+ to_chat(user, "There is no more of \the [src.name] left!")
if(self_contained)
qdel(src)
. = TRUE
@@ -149,7 +149,7 @@
/obj/item/toy/crayon/spraycan/AltClick(mob/user)
if(has_cap)
is_capped = !is_capped
- user << "The cap on [src] is now [is_capped ? "on" : "off"]."
+ to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].")
update_icon()
/obj/item/toy/crayon/ui_data()
@@ -299,7 +299,7 @@
graf_rot = 0
if(!instant)
- user << "You start drawing a [temp] on the [target.name]..."
+ to_chat(user, "You start drawing a [temp] on the [target.name]...")
if(pre_noise)
audible_message("You hear spraying.")
@@ -344,13 +344,13 @@
affected_turfs += right
affected_turfs += target
else
- user << "There isn't enough space to paint!"
+ to_chat(user, "There isn't enough space to paint!")
return
if(!instant)
- user << "You finish drawing \the [temp]."
+ to_chat(user, "You finish drawing \the [temp].")
else
- user << "You spray a [temp] on \the [target.name]"
+ to_chat(user, "You spray a [temp] on \the [target.name]")
if(length(text_buffer))
text_buffer = copytext(text_buffer,2)
@@ -373,7 +373,7 @@
/obj/item/toy/crayon/attack(mob/M, mob/user)
if(edible && (M == user))
- user << "You take a bite of the [src.name]. Delicious!"
+ to_chat(user, "You take a bite of the [src.name]. Delicious!")
var/eaten = use_charges(5)
if(check_empty(user)) //Prevents divsion by zero
return
@@ -389,7 +389,7 @@
// Reject space, player-created areas, and non-station z-levels.
var/area/A = get_area(target)
if(!A || (A.z != ZLEVEL_STATION) || !A.valid_territory)
- user << "[A] is unsuitable for tagging."
+ to_chat(user, "[A] is unsuitable for tagging.")
return FALSE
var/spraying_over = FALSE
@@ -397,14 +397,12 @@
spraying_over = TRUE
for(var/obj/machinery/power/apc in target)
- user << "You can't tag an APC."
+ to_chat(user, "You can't tag an APC.")
return FALSE
var/occupying_gang = territory_claimed(A, user)
if(occupying_gang && !spraying_over)
- user << "[A] has already been tagged \
- by the [occupying_gang] gang! You must get rid of or spray over \
- the old tag first!"
+ to_chat(user, "[A] has already been tagged by the [occupying_gang] gang! You must get rid of or spray over the old tag first!")
return FALSE
// If you pass the gaunlet of checks, you're good to proceed
@@ -425,7 +423,7 @@
var/area/territory = get_area(target)
new /obj/effect/decal/cleanable/crayon/gang(target,gangID,"graffiti",0)
- user << "You tagged [territory] for your gang!"
+ to_chat(user, "You tagged [territory] for your gang!")
/obj/item/toy/crayon/red
icon_state = "crayonred"
@@ -530,13 +528,13 @@
var/obj/item/toy/crayon/C = W
switch(C.item_color)
if("mime")
- usr << "This crayon is too sad to be contained in this box."
+ to_chat(usr, "This crayon is too sad to be contained in this box.")
return
if("rainbow")
- usr << "This crayon is too powerful to be contained in this box."
+ to_chat(usr, "This crayon is too powerful to be contained in this box.")
return
if(istype(W, /obj/item/toy/crayon/spraycan))
- user << "Spraycans are not crayons."
+ to_chat(user, "Spraycans are not crayons.")
return
return ..()
@@ -605,16 +603,16 @@
/obj/item/toy/crayon/spraycan/examine(mob/user)
. = ..()
if(charges_left)
- user << "It has [charges_left] uses left."
+ to_chat(user, "It has [charges_left] uses left.")
else
- user << "It is empty."
+ to_chat(user, "It is empty.")
/obj/item/toy/crayon/spraycan/afterattack(atom/target, mob/user, proximity)
if(!proximity)
return
if(is_capped)
- user << "Take the cap off first!"
+ to_chat(user, "Take the cap off first!")
return
if(check_empty(user))
@@ -626,7 +624,7 @@
var/mob/living/carbon/C = target
user.visible_message("[user] sprays [src] into the face of [target]!")
- target << "[user] sprays [src] into your face!"
+ to_chat(target, "[user] sprays [src] into your face!")
if(C.client)
C.blur_eyes(3)
@@ -691,7 +689,7 @@
/obj/item/toy/crayon/spraycan/gang/examine(mob/user)
. = ..()
if((user.mind && user.mind.gang_datum) || isobserver(user))
- user << "This spraycan has been specially modified for tagging territory."
+ to_chat(user, "This spraycan has been specially modified for tagging territory.")
/obj/item/toy/crayon/spraycan/borg
name = "cyborg spraycan"
@@ -701,7 +699,7 @@
/obj/item/toy/crayon/spraycan/borg/afterattack(atom/target,mob/user,proximity)
var/diff = ..()
if(!iscyborg(user))
- user << "How did you get this?"
+ to_chat(user, "How did you get this?")
qdel(src)
return FALSE
diff --git a/code/game/objects/items/dehy_carp.dm b/code/game/objects/items/dehy_carp.dm
index 881ccbc74d2..9432a434f01 100644
--- a/code/game/objects/items/dehy_carp.dm
+++ b/code/game/objects/items/dehy_carp.dm
@@ -13,7 +13,7 @@
/obj/item/toy/carpplushie/dehy_carp/attack_self(mob/user)
src.add_fingerprint(user) //Anyone can add their fingerprints to it with this
if(!owned)
- user << "You pet [src]. You swear it looks up at you."
+ to_chat(user, "You pet [src]. You swear it looks up at you.")
owner = user
owned = 1
else return ..()
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index c82f48a92cf..1bb3027ce5e 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -331,7 +331,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if("Eject")//Ejects the cart, only done from hub.
if (!isnull(cartridge))
U.put_in_hands(cartridge)
- U << "You remove [cartridge] from [src]."
+ to_chat(U, "You remove [cartridge] from [src].")
scanmode = 0
if (cartridge.radio)
cartridge.radio.hostpda = null
@@ -398,7 +398,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(A && alert_s)
var/msg = "NON-DRONE PING: [U.name]: [alert_s] priority alert in [A.name]!"
_alert_drones(msg, TRUE)
- U << msg
+ to_chat(U, msg)
//NOTEKEEPER FUNCTIONS===================================
@@ -428,7 +428,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(t)
if(hidden_uplink && (trim(lowertext(t)) == trim(lowertext(lock_code))))
hidden_uplink.interact(U)
- U << "The PDA softly beeps."
+ to_chat(U, "The PDA softly beeps.")
U << browse(null, "window=pda")
src.mode = 0
else
@@ -453,7 +453,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
U.show_message("Virus sent!", 1)
P.honkamt = (rand(15,20))
else
- U << "PDA not found."
+ to_chat(U, "PDA not found.")
else
U << browse(null, "window=pda")
return
@@ -467,7 +467,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
P.silent = 1
P.ttone = "silence"
else
- U << "PDA not found."
+ to_chat(U, "PDA not found.")
else
U << browse(null, "window=pda")
return
@@ -509,7 +509,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
U.show_message("Success!", 1)
P.explode()
else
- U << "PDA not found."
+ to_chat(U, "PDA not found.")
else
U.unset_machine()
U << browse(null, "window=pda")
@@ -558,7 +558,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if (ismob(loc))
var/mob/M = loc
M.put_in_hands(id)
- usr << "You remove the ID from the [name]."
+ to_chat(usr, "You remove the ID from the [name].")
else
id.loc = get_turf(src)
id = null
@@ -605,7 +605,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
log_pda("[user] (PDA: [src.name]) sent \"[message]\" to [P.name]")
else
if(!multiple)
- user << "ERROR: Server isn't responding."
+ to_chat(user, "ERROR: Server isn't responding.")
return
photo = null
@@ -632,7 +632,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
L = get(src, /mob/living/silicon)
if(L && L.stat != UNCONSCIOUS)
- L << "\icon[src] Message from [source.owner] ([source.ownjob]), \"[msg.message]\"[msg.get_photo_ref()] (Reply)"
+ to_chat(L, "\icon[src] Message from [source.owner] ([source.ownjob]), \"[msg.message]\"[msg.get_photo_ref()] (Reply)")
update_icon()
add_overlay(image(icon, icon_alert))
@@ -641,7 +641,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
for(var/mob/M in player_list)
if(isobserver(M) && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTPDA))
var/link = FOLLOW_LINK(M, user)
- M << "[link] [msg.sender] PDA Message --> [multiple ? "Everyone" : msg.recipient]: [msg.message][msg.get_photo_ref()]"
+ to_chat(M, "[link] [msg.sender] PDA Message --> [multiple ? "Everyone" : msg.recipient]: [msg.message][msg.get_photo_ref()]")
/obj/item/device/pda/proc/can_send(obj/item/device/pda/P)
if(!P || QDELETED(P) || P.toff)
@@ -704,7 +704,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(id)
remove_id()
else
- usr << "This PDA does not have an ID in it!"
+ to_chat(usr, "This PDA does not have an ID in it!")
/obj/item/device/pda/verb/verb_remove_pen()
set category = "Object"
@@ -724,11 +724,11 @@ var/global/list/obj/item/device/pda/PDAs = list()
M.put_in_hands(inserted_item)
else
inserted_item.forceMove(loc)
- usr << "You remove \the [inserted_item] from \the [src]."
+ to_chat(usr, "You remove \the [inserted_item] from \the [src].")
inserted_item = null
update_icon()
else
- usr << "This PDA does not have a pen in it!"
+ to_chat(usr, "This PDA does not have a pen in it!")
//trying to insert or remove an id
/obj/item/device/pda/proc/id_check(mob/user, obj/item/weapon/card/id/I)
@@ -757,7 +757,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(!user.transferItemToLoc(C, src))
return
cartridge = C
- user << "You insert [cartridge] into [src]."
+ to_chat(user, "You insert [cartridge] into [src].")
if(cartridge.radio)
cartridge.radio.hostpda = src
update_icon()
@@ -765,19 +765,19 @@ var/global/list/obj/item/device/pda/PDAs = list()
else if(istype(C, /obj/item/weapon/card/id))
var/obj/item/weapon/card/id/idcard = C
if(!idcard.registered_name)
- user << "\The [src] rejects the ID!"
+ to_chat(user, "\The [src] rejects the ID!")
return
if(!owner)
owner = idcard.registered_name
ownjob = idcard.assignment
update_label()
- user << "Card scanned."
+ to_chat(user, "Card scanned.")
else
//Basic safety check. If either both objects are held by user or PDA is on ground and card is in hand.
if(((src in user.contents) || (isturf(loc) && in_range(src, user))) && (C in user.contents))
if(!id_check(user, idcard))
return
- user << "You put the ID into \the [src]'s slot."
+ to_chat(user, "You put the ID into \the [src]'s slot.")
updateSelfDialog()//Update self dialog on success.
return //Return in case of failed check or when successful.
updateSelfDialog()//For the non-input related code.
@@ -785,22 +785,22 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(!user.transferItemToLoc(C, src))
return
pai = C
- user << "You slot \the [C] into [src]."
+ to_chat(user, "You slot \the [C] into [src].")
update_icon()
updateUsrDialog()
else if(is_type_in_list(C, contained_item)) //Checks if there is a pen
if(inserted_item)
- user << "There is already \a [inserted_item] in \the [src]!"
+ to_chat(user, "There is already \a [inserted_item] in \the [src]!")
else
if(!user.transferItemToLoc(C, src))
return
- user << "You slide \the [C] into \the [src]."
+ to_chat(user, "You slide \the [C] into \the [src].")
inserted_item = C
update_icon()
else if(istype(C, /obj/item/weapon/photo))
var/obj/item/weapon/photo/P = C
photo = P.img
- user << "You scan \the [C]."
+ to_chat(user, "You scan \the [C].")
else if(hidden_uplink && hidden_uplink.active)
hidden_uplink.attackby(C, user, params)
else
@@ -835,13 +835,13 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(!isnull(A.reagents))
if(A.reagents.reagent_list.len > 0)
var/reagents_length = A.reagents.reagent_list.len
- user << "[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found."
+ to_chat(user, "[reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.")
for (var/re in A.reagents.reagent_list)
- user << "\t [re]"
+ to_chat(user, "\t [re]")
else
- user << "No active chemical agents found in [A]."
+ to_chat(user, "No active chemical agents found in [A].")
else
- user << "No significant chemical agents found in [A]."
+ to_chat(user, "No significant chemical agents found in [A].")
if(5)
if (istype(A, /obj/item/weapon/tank))
@@ -865,7 +865,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if (!scanmode && istype(A, /obj/item/weapon/paper) && owner)
var/obj/item/weapon/paper/PP = A
if (!PP.info)
- user << "Unable to scan! Paper is blank."
+ to_chat(user, "Unable to scan! Paper is blank.")
return
notehtml = PP.info
note = replacetext(notehtml, "
", "\[br\]")
@@ -874,7 +874,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
note = replacetext(note, "", "\[/list\]")
note = html_encode(note)
notescanned = 1
- user << "Paper scanned. Saved to PDA's notekeeper." //concept of scanning paper copyright brainoblivion 2009
+ to_chat(user, "Paper scanned. Saved to PDA's notekeeper." )
/obj/item/device/pda/proc/explode() //This needs tuning.
@@ -922,7 +922,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
return //won't work if dead
if(src.aiPDA.toff)
- user << "Turn on your receiver in order to send messages."
+ to_chat(user, "Turn on your receiver in order to send messages.")
return
for (var/obj/item/device/pda/P in get_viewable_pdas())
@@ -955,9 +955,9 @@ var/global/list/obj/item/device/pda/PDAs = list()
return //won't work if dead
if(!isnull(aiPDA))
aiPDA.toff = !aiPDA.toff
- usr << "PDA sender/receiver toggled [(aiPDA.toff ? "Off" : "On")]!"
+ to_chat(usr, "PDA sender/receiver toggled [(aiPDA.toff ? "Off" : "On")]!")
else
- usr << "You do not have a PDA. You should make an issue report about this."
+ to_chat(usr, "You do not have a PDA. You should make an issue report about this.")
/mob/living/silicon/ai/verb/cmd_toggle_pda_silent()
set category = "AI Commands"
@@ -967,9 +967,9 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(!isnull(aiPDA))
//0
aiPDA.silent = !aiPDA.silent
- usr << "PDA ringer toggled [(aiPDA.silent ? "Off" : "On")]!"
+ to_chat(usr, "PDA ringer toggled [(aiPDA.silent ? "Off" : "On")]!")
else
- usr << "You do not have a PDA. You should make an issue report about this."
+ to_chat(usr, "You do not have a PDA. You should make an issue report about this.")
/mob/living/silicon/ai/proc/cmd_show_message_log(mob/user)
if(user.stat == 2)
@@ -978,7 +978,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/HTML = "AI PDA Message Log[aiPDA.tnote]"
user << browse(HTML, "window=log;size=400x444;border=1;can_resize=1;can_close=1;can_minimize=0")
else
- user << "You do not have a PDA. You should make an issue report about this."
+ to_chat(user, "You do not have a PDA. You should make an issue report about this.")
/obj/item/weapon/storage/box/PDAs/New()
..()
diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm
index 5bd921d97bc..5a0dec5807a 100644
--- a/code/game/objects/items/devices/aicard.dm
+++ b/code/game/objects/items/devices/aicard.dm
@@ -69,7 +69,7 @@
if(confirm == "Yes" && !..())
flush = TRUE
if(AI && AI.loc == src)
- AI << "Your core files are being wiped!"
+ to_chat(AI, "Your core files are being wiped!")
while(AI.stat != DEAD && flush)
AI.adjustOxyLoss(1)
AI.updatehealth()
@@ -78,10 +78,10 @@
. = TRUE
if("wireless")
AI.control_disabled = !AI.control_disabled
- AI << "[src]'s wireless port has been [AI.control_disabled ? "disabled" : "enabled"]!"
+ to_chat(AI, "[src]'s wireless port has been [AI.control_disabled ? "disabled" : "enabled"]!")
. = TRUE
if("radio")
AI.radio_enabled = !AI.radio_enabled
- AI << "Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!"
+ to_chat(AI, "Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!")
. = TRUE
update_icon()
diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm
index dd095961a6e..d36af0cc04a 100644
--- a/code/game/objects/items/devices/camera_bug.dm
+++ b/code/game/objects/items/devices/camera_bug.dm
@@ -63,7 +63,7 @@
return 0
var/turf/T = get_turf(user.loc)
if(T.z != current.z || !current.can_use())
- user << "[src] has lost the signal."
+ to_chat(user, "[src] has lost the signal.")
current = null
user.unset_machine()
return 0
@@ -233,11 +233,11 @@
var/obj/machinery/camera/C = locate(href_list["view"]) in cameras
if(C && istype(C))
if(!C.can_use())
- usr << "Something's wrong with that camera! You can't get a feed."
+ to_chat(usr, "Something's wrong with that camera! You can't get a feed.")
return
var/turf/T = get_turf(loc)
if(!T || C.z != T.z)
- usr << "You can't get a signal!"
+ to_chat(usr, "You can't get a signal!")
return
current = C
spawn(6)
diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm
index 66acb1e6c58..3c1e827f01e 100644
--- a/code/game/objects/items/devices/chameleonproj.dm
+++ b/code/game/objects/items/devices/chameleonproj.dm
@@ -34,7 +34,7 @@
if(!active_dummy)
if(istype(target,/obj/item) && !istype(target, /obj/item/weapon/disk/nuclear))
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6)
- user << "Scanned [target]."
+ to_chat(user, "Scanned [target].")
var/obj/temp = new/obj()
temp.appearance = target.appearance
temp.layer = initial(target.layer) // scanning things in your inventory
@@ -48,19 +48,19 @@
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
qdel(active_dummy)
active_dummy = null
- usr << "You deactivate \the [src]."
+ to_chat(usr, "You deactivate \the [src].")
new /obj/effect/overlay/temp/emp/pulse(get_turf(src))
else
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc)
C.activate(usr, saved_appearance, src)
- usr << "You activate \the [src]."
+ to_chat(usr, "You activate \the [src].")
new /obj/effect/overlay/temp/emp/pulse(get_turf(src))
/obj/item/device/chameleon/proc/disrupt(delete_dummy = 1)
if(active_dummy)
for(var/mob/M in active_dummy)
- M << "Your chameleon-projector deactivates."
+ to_chat(M, "Your chameleon-projector deactivates.")
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm
index 33ebfa67939..e5d66e466cf 100644
--- a/code/game/objects/items/devices/doorCharge.dm
+++ b/code/game/objects/items/devices/doorCharge.dm
@@ -35,6 +35,6 @@
/obj/item/device/doorCharge/examine(mob/user)
..()
if(user.mind in ticker.mode.traitors) //No nuke ops because the device is excluded from nuclear
- user << "A small explosive device that can be used to sabotage airlocks to cause an explosion upon opening. To apply, remove the airlock's maintenance panel and place it within."
+ to_chat(user, "A small explosive device that can be used to sabotage airlocks to cause an explosion upon opening. To apply, remove the airlock's maintenance panel and place it within.")
else
- user << "A small, suspicious object that feels lukewarm when held."
+ to_chat(user, "A small, suspicious object that feels lukewarm when held.")
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index c8fb9e10c02..7910e2eaa34 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -41,12 +41,12 @@
return ..() //just hit them in the head
if(!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return
var/mob/living/carbon/human/H = M //mob has protective eyewear
if(ishuman(M) && ((H.head && H.head.flags_cover & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) || (H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES)))
- user << "You're going to need to remove that [(H.head && H.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask": "glasses"] first."
+ to_chat(user, "You're going to need to remove that [(H.head && H.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask": "glasses"] first.")
return
if(M == user) //they're using it on themselves
@@ -60,12 +60,12 @@
var/mob/living/carbon/C = M
if(istype(C))
if(C.stat == DEAD || (C.disabilities & BLIND)) //mob is dead or fully blind
- user << "[C] pupils don't react to the light!"
+ to_chat(user, "[C] pupils don't react to the light!")
else if(C.dna.check_mutation(XRAY)) //mob has X-RAY vision
- user << "[C] pupils give an eerie glow!"
+ to_chat(user, "[C] pupils give an eerie glow!")
else //they're okay!
if(C.flash_act(visual = 1))
- user << "[C]'s pupils narrow."
+ to_chat(user, "[C]'s pupils narrow.")
else
return ..()
@@ -81,7 +81,7 @@
/obj/item/device/flashlight/pen/afterattack(atom/target, mob/user, proximity_flag)
if(!proximity_flag)
if(holo_cooldown > world.time)
- user << "[src] is not ready yet!"
+ to_chat(user, "[src] is not ready yet!")
return
var/T = get_turf(target)
if(locate(/mob/living) in T)
@@ -205,10 +205,10 @@
// Usual checks
if(!fuel)
- user << "[src] is out of fuel!"
+ to_chat(user, "[src] is out of fuel!")
return
if(on)
- user << "[src] is already on."
+ to_chat(user, "[src] is already on.")
return
. = ..()
@@ -294,10 +294,10 @@
"[user] blinks \the [src] at you.")
else
A.visible_message("[user] blinks \the [src] at \the [A].")
- user << "\The [src] now has [emp_cur_charges] charge\s."
+ to_chat(user, "\The [src] now has [emp_cur_charges] charge\s.")
A.emp_act(1)
else
- user << "\The [src] needs time to recharge!"
+ to_chat(user, "\The [src] needs time to recharge!")
return
// Glowsticks, in the uncomfortable range of similar to flares,
@@ -350,10 +350,10 @@
/obj/item/device/flashlight/glowstick/attack_self(mob/user)
if(!fuel)
- user << "[src] is spent."
+ to_chat(user, "[src] is spent.")
return
if(on)
- user << "[src] is already lit."
+ to_chat(user, "[src] is already lit.")
return
. = ..()
diff --git a/code/game/objects/items/devices/forcefieldprojector.dm b/code/game/objects/items/devices/forcefieldprojector.dm
index b04e9fcf461..4404f6c811e 100644
--- a/code/game/objects/items/devices/forcefieldprojector.dm
+++ b/code/game/objects/items/devices/forcefieldprojector.dm
@@ -20,7 +20,7 @@
if(istype(target, /obj/structure/projected_forcefield))
var/obj/structure/projected_forcefield/F = target
if(F.generator == src)
- user << "You deactivate [F]."
+ to_chat(user, "You deactivate [F].")
qdel(F)
return
var/turf/T = get_turf(target)
@@ -29,7 +29,7 @@
if(get_dist(T,src) > field_distance_limit)
return
if(LAZYLEN(current_fields) >= max_fields)
- user << "[src] cannot sustain any more forcefields!"
+ to_chat(user, "[src] cannot sustain any more forcefields!")
return
playsound(src,'sound/weapons/resonator_fire.ogg',50,1)
@@ -40,14 +40,14 @@
/obj/item/device/forcefield/attack_self(mob/user)
if(LAZYLEN(current_fields))
- user << "You deactivate [src], disabling all active forcefields."
+ to_chat(user, "You deactivate [src], disabling all active forcefields.")
for(var/obj/structure/projected_forcefield/F in current_fields)
qdel(F)
/obj/item/device/forcefield/examine(mob/user)
..()
var/percent_charge = round((shield_integrity/max_shield_integrity)*100)
- user << "It is currently sustaining [LAZYLEN(current_fields)]/[max_fields] fields, and it's [percent_charge]% charged."
+ to_chat(user, "It is currently sustaining [LAZYLEN(current_fields)]/[max_fields] fields, and it's [percent_charge]% charged.")
/obj/item/device/forcefield/Initialize(mapload)
..()
diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm
index 02afa9434de..a7afbd0a21c 100644
--- a/code/game/objects/items/devices/geiger_counter.dm
+++ b/code/game/objects/items/devices/geiger_counter.dm
@@ -37,23 +37,23 @@
..()
if(!scanning)
return 1
- user << "Alt-click it to clear stored radiation levels."
+ to_chat(user, "Alt-click it to clear stored radiation levels.")
if(emagged)
- user << "The display seems to be incomprehensible."
+ to_chat(user, "The display seems to be incomprehensible.")
return 1
switch(radiation_count)
if(-INFINITY to RAD_LEVEL_NORMAL)
- user << "Ambient radiation level count reports that all is well."
+ to_chat(user, "Ambient radiation level count reports that all is well.")
if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE)
- user << "Ambient radiation levels slightly above average."
+ to_chat(user, "Ambient radiation levels slightly above average.")
if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH)
- user << "Ambient radiation levels above average."
+ to_chat(user, "Ambient radiation levels above average.")
if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH)
- user << "Ambient radiation levels highly above average."
+ to_chat(user, "Ambient radiation levels highly above average.")
if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL)
- user << "Ambient radiation levels nearing critical level."
+ to_chat(user, "Ambient radiation levels nearing critical level.")
if(RAD_LEVEL_CRITICAL + 1 to INFINITY)
- user << "Ambient radiation levels above critical level!"
+ to_chat(user, "Ambient radiation levels above critical level!")
/obj/item/device/geiger_counter/update_icon()
if(!scanning)
@@ -86,27 +86,27 @@
if(isliving(loc))
var/mob/living/M = loc
if(!emagged)
- M << "\icon[src] RADIATION PULSE DETECTED."
- M << "\icon[src] Severity: [amount]"
+ to_chat(M, "\icon[src] RADIATION PULSE DETECTED.")
+ to_chat(M, "\icon[src] Severity: [amount]")
else
- M << "\icon[src] !@%$AT!(N P!LS! D/TEC?ED."
- M << "\icon[src] &!F2rity: <=[amount]#1"
+ to_chat(M, "\icon[src] !@%$AT!(N P!LS! D/TEC?ED.")
+ to_chat(M, "\icon[src] &!F2rity: <=[amount]#1")
update_icon()
/obj/item/device/geiger_counter/attack_self(mob/user)
scanning = !scanning
update_icon()
- user << "\icon[src] You switch [scanning ? "on" : "off"] [src]."
+ to_chat(user, "\icon[src] You switch [scanning ? "on" : "off"] [src].")
/obj/item/device/geiger_counter/attack(mob/living/M, mob/user)
if(user.a_intent == INTENT_HELP)
if(!emagged)
user.visible_message("[user] scans [M] with [src].", "You scan [M]'s radiation levels with [src]...")
if(!M.radiation)
- user << "\icon[src] Radiation levels within normal boundaries."
+ to_chat(user, "\icon[src] Radiation levels within normal boundaries.")
return 1
else
- user << "\icon[src] Subject is irradiated. Radiation levels: [M.radiation]."
+ to_chat(user, "\icon[src] Subject is irradiated. Radiation levels: [M.radiation].")
return 1
else
user.visible_message("[user] scans [M] with [src].", "You project [src]'s stored radiation into [M]'s body!")
@@ -118,7 +118,7 @@
/obj/item/device/geiger_counter/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver) && emagged)
if(scanning)
- user << "Turn off [src] before you perform this action!"
+ to_chat(user, "Turn off [src] before you perform this action!")
return 0
user.visible_message("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...", "You begin resetting [src]...")
playsound(user, I.usesound, 50, 1)
@@ -137,18 +137,18 @@
if(!istype(user) || user.incapacitated())
return ..()
if(!scanning)
- usr << "[src] must be on to reset its radiation level!"
+ to_chat(usr, "[src] must be on to reset its radiation level!")
return 0
radiation_count = 0
- usr << "You flush [src]'s radiation counts, resetting it to normal."
+ to_chat(usr, "You flush [src]'s radiation counts, resetting it to normal.")
update_icon()
/obj/item/device/geiger_counter/emag_act(mob/user)
if(!emagged)
if(scanning)
- user << "Turn off [src] before you perform this action!"
+ to_chat(user, "Turn off [src] before you perform this action!")
return 0
- user << "You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan."
+ to_chat(user, "You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.")
emagged = 1
#undef RAD_LEVEL_NORMAL
diff --git a/code/game/objects/items/devices/instruments.dm b/code/game/objects/items/devices/instruments.dm
index d03e5345eac..0fc7582466e 100644
--- a/code/game/objects/items/devices/instruments.dm
+++ b/code/game/objects/items/devices/instruments.dm
@@ -29,7 +29,7 @@
/obj/item/device/instrument/attack_self(mob/user)
if(!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return 1
interact(user)
diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm
index a2defbfed18..291995443b6 100644
--- a/code/game/objects/items/devices/laserpointer.dm
+++ b/code/game/objects/items/devices/laserpointer.dm
@@ -44,13 +44,13 @@
if(!user.transferItemToLoc(W, src))
return
diode = W
- user << "You install a [diode.name] in [src]."
+ to_chat(user, "You install a [diode.name] in [src].")
else
- user << "[src] already has a diode installed."
+ to_chat(user, "[src] already has a diode installed.")
else if(istype(W, /obj/item/weapon/screwdriver))
if(diode)
- user << "You remove the [diode.name] from \the [src]."
+ to_chat(user, "You remove the [diode.name] from \the [src].")
diode.loc = get_turf(src.loc)
diode = null
else
@@ -63,22 +63,22 @@
if( !(user in (viewers(7,target))) )
return
if (!diode)
- user << "You point [src] at [target], but nothing happens!"
+ to_chat(user, "You point [src] at [target], but nothing happens!")
return
if (!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.dna.check_mutation(HULK) || (NOGUNS in H.dna.species.species_traits))
- user << "Your fingers can't press the button!"
+ to_chat(user, "Your fingers can't press the button!")
return
add_fingerprint(user)
//nothing happens if the battery is drained
if(recharge_locked)
- user << "You point [src] at [target], but it's still charging."
+ to_chat(user, "You point [src] at [target], but it's still charging.")
return
var/outmsg
@@ -109,7 +109,7 @@
if(prob(effectchance * diode.rating))
S.flash_act(affect_silicon = 1)
S.Weaken(rand(5,10))
- S << "Your sensors were overloaded by a laser!"
+ to_chat(S, "Your sensors were overloaded by a laser!")
outmsg = "You overload [S] by shining [src] at their sensors."
add_logs(user, S, "shone in the sensors", src)
else
@@ -139,9 +139,9 @@
I.pixel_y = target.pixel_y + rand(-5,5)
if(outmsg)
- user << outmsg
+ to_chat(user, outmsg)
else
- user << "You point [src] at [target]."
+ to_chat(user, "You point [src] at [target].")
energy -= 1
if(energy <= max_energy)
@@ -149,7 +149,7 @@
recharging = 1
START_PROCESSING(SSobj, src)
if(energy <= 0)
- user << "[src]'s battery is overused, it needs time to recharge!"
+ to_chat(user, "[src]'s battery is overused, it needs time to recharge!")
recharge_locked = 1
flick_overlay_view(I, targloc, 10)
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index a4825e904e8..89daef685f0 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -73,30 +73,30 @@
/obj/item/device/lightreplacer/examine(mob/user)
..()
- user << status_string()
+ to_chat(user, status_string())
/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/glass/G = W
if(uses >= max_uses)
- user << "[src.name] is full."
+ to_chat(user, "[src.name] is full.")
return
else if(G.use(decrement))
AddUses(increment)
- user << "You insert a piece of glass into the [src.name]. You have [uses] light\s remaining."
+ to_chat(user, "You insert a piece of glass into the [src.name]. You have [uses] light\s remaining.")
return
else
- user << "You need one sheet of glass to replace lights!"
+ to_chat(user, "You need one sheet of glass to replace lights!")
if(istype(W, /obj/item/weapon/shard))
if(uses >= max_uses)
- user << "[src.name] is full."
+ to_chat(user, "[src.name] is full.")
return
if(!user.temporarilyRemoveItemFromInventory(W))
return
AddUses(round(increment*0.75))
- user << "You insert a shard of glass into the [src.name]. You have [uses] light\s remaining."
+ to_chat(user, "You insert a shard of glass into the [src.name]. You have [uses] light\s remaining.")
qdel(W)
return
@@ -111,7 +111,7 @@
else
if(!user.temporarilyRemoveItemFromInventory(W))
return
- user << "You insert the [L.name] into the [src.name]"
+ to_chat(user, "You insert the [L.name] into the [src.name]")
AddShards(1, user)
qdel(L)
return
@@ -138,21 +138,21 @@
qdel(L)
if(!found_lightbulbs)
- user << "\The [S] contains no bulbs."
+ to_chat(user, "\The [S] contains no bulbs.")
return
if(!replaced_something && src.uses == max_uses)
- user << "\The [src] is full!"
+ to_chat(user, "\The [src] is full!")
return
- user << "You fill \the [src] with lights from \the [S]. " + status_string() + ""
+ to_chat(user, "You fill \the [src] with lights from \the [S]. " + status_string() + "")
/obj/item/device/lightreplacer/emag_act()
if(!emagged)
Emag()
/obj/item/device/lightreplacer/attack_self(mob/user)
- user << status_string()
+ to_chat(user, status_string())
/obj/item/device/lightreplacer/update_icon()
icon_state = "lightreplacer[emagged]"
@@ -176,7 +176,7 @@
AddUses(new_bulbs)
bulb_shards = bulb_shards % shards_required
if(new_bulbs != 0)
- user << "\The [src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses."
+ to_chat(user, "\The [src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses.")
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
return new_bulbs
@@ -191,7 +191,7 @@
if(target.status != LIGHT_OK)
if(CanUse(U))
if(!Use(U)) return
- U << "You replace the [target.fitting] with \the [src]."
+ to_chat(U, "You replace the [target.fitting] with \the [src].")
if(target.status != LIGHT_EMPTY)
AddShards(1, U)
@@ -213,10 +213,10 @@
return
else
- U << failmsg
+ to_chat(U, failmsg)
return
else
- U << "There is a working [target.fitting] already inserted!"
+ to_chat(U, "There is a working [target.fitting] already inserted!")
return
/obj/item/device/lightreplacer/proc/Emag()
@@ -250,7 +250,7 @@
ReplaceLight(A, U)
if(!used)
- U << failmsg
+ to_chat(U, failmsg)
/obj/item/device/lightreplacer/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J)
J.put_in_cart(src, user)
diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm
index 2f77861a6a4..d10654ba6e5 100644
--- a/code/game/objects/items/devices/megaphone.dm
+++ b/code/game/objects/items/devices/megaphone.dm
@@ -11,14 +11,14 @@
/obj/item/device/megaphone/get_held_item_speechspans(mob/living/carbon/user)
if(spamcheck > world.time)
- user << "\The [src] needs to recharge!"
+ to_chat(user, "\The [src] needs to recharge!")
else
playsound(loc, 'sound/items/megaphone.ogg', 100, 0, 1)
spamcheck = world.time + 50
return voicespan
/obj/item/device/megaphone/emag_act(mob/user)
- user << "You overload \the [src]'s voice synthesizer."
+ to_chat(user, "You overload \the [src]'s voice synthesizer.")
emagged = 1
voicespan = list(SPAN_REALLYBIG, "userdanger")
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index 482cef0d347..05318fc2a17 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -69,21 +69,21 @@
if(pai.master_dna)
return
if(!istype(usr, /mob/living/carbon))
- usr << "You don't have any DNA, or your DNA is incompatible with this device!"
+ to_chat(usr, "You don't have any DNA, or your DNA is incompatible with this device!")
else
var/mob/living/carbon/M = usr
pai.master = M.real_name
pai.master_dna = M.dna.unique_enzymes
- pai << "You have been bound to a new master."
+ to_chat(pai, "You have been bound to a new master.")
pai.emittersemicd = FALSE
if(href_list["wipe"])
var/confirm = input("Are you CERTAIN you wish to delete the current personality? This action cannot be undone.", "Personality Wipe") in list("Yes", "No")
if(confirm == "Yes")
if(pai)
- pai << "You feel yourself slipping away from reality."
- pai << "Byte by byte you lose your sense of self."
- pai << "Your mental faculties leave you."
- pai << "oblivion... "
+ to_chat(pai, "You feel yourself slipping away from reality.")
+ to_chat(pai, "Byte by byte you lose your sense of self.")
+ to_chat(pai, "Your mental faculties leave you.")
+ to_chat(pai, "oblivion... ")
pai.death(0)
if(href_list["wires"])
var/wire = text2num(href_list["wires"])
@@ -95,13 +95,13 @@
pai.add_supplied_law(0,newlaws)
if(href_list["toggle_holo"])
if(pai.canholo)
- pai << "Your owner has disabled your holomatrix projectors!"
+ to_chat(pai, "Your owner has disabled your holomatrix projectors!")
pai.canholo = FALSE
- usr << "You disable your pAI's holomatrix!"
+ to_chat(usr, "You disable your pAI's holomatrix!")
else
- pai << "Your owner has enabled your holomatrix projectors!"
+ to_chat(pai, "Your owner has enabled your holomatrix projectors!")
pai.canholo = TRUE
- usr << "You enable your pAI's holomatrix!"
+ to_chat(usr, "You enable your pAI's holomatrix!")
attack_self(usr)
diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm
index 914796445e0..42d33799761 100644
--- a/code/game/objects/items/devices/pipe_painter.dm
+++ b/code/game/objects/items/devices/pipe_painter.dm
@@ -37,4 +37,4 @@
/obj/item/device/pipe_painter/examine()
..()
- usr << "It is set to [mode]."
+ to_chat(usr, "It is set to [mode].")
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index ab91cf4aeb2..fc8b666fe15 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -61,7 +61,7 @@
if(isturf(T) && !T.intact)
attached = locate() in T
if(!attached)
- user << "This device must be placed over an exposed, powered cable node!"
+ to_chat(user, "This device must be placed over an exposed, powered cable node!")
else
set_mode(CLAMPED_OFF)
user.visible_message( \
@@ -69,7 +69,7 @@
"You attach \the [src] to the cable.",
"You hear some wires being connected to something.")
else
- user << "This device must be placed over an exposed, powered cable node!"
+ to_chat(user, "This device must be placed over an exposed, powered cable node!")
else
set_mode(DISCONNECTED)
user.visible_message( \
diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm
index 8c0ecb0fe72..504e85633fd 100644
--- a/code/game/objects/items/devices/pressureplates.dm
+++ b/code/game/objects/items/devices/pressureplates.dm
@@ -51,7 +51,7 @@
playsound(loc, trigger_sound, 50, 1)
if(isliving(AM))
var/mob/living/L = AM
- L << "You feel something click back into place as you step off [loc]!"
+ to_chat(L, "You feel something click back into place as you step off [loc]!")
addtimer(CALLBACK(src, .proc/trigger), trigger_delay)
. = ..()
@@ -60,7 +60,7 @@
sigdev.signal()
/obj/item/device/pressure_plate/proc/step_living(mob/living/L)
- L << "You feel a click under your feet!"
+ to_chat(L, "You feel a click under your feet!")
/obj/item/device/pressure_plate/proc/step_item(atom/movable/AM)
return
@@ -68,12 +68,12 @@
/obj/item/device/pressure_plate/attackby(obj/item/I, mob/living/L)
if(istype(I, /obj/item/device/assembly/signaler) && !istype(sigdev) && removable_signaller && L.transferItemToLoc(I, src))
sigdev = I
- L << "You attach [I] to [src]!"
+ to_chat(L, "You attach [I] to [src]!")
. = ..()
/obj/item/device/pressure_plate/attack_self(mob/living/L)
if(removable_signaller && istype(sigdev))
- L << "You remove [sigdev] from [src]"
+ to_chat(L, "You remove [sigdev] from [src]")
if(!L.put_in_hands(sigdev))
sigdev.forceMove(get_turf(src))
sigdev = null
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 2f0a8fe924f..c46329129a0 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -30,7 +30,7 @@
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.back)
- user << "You need help taking this off!"
+ to_chat(user, "You need help taking this off!")
return
..()
@@ -40,7 +40,7 @@
A.icon = 'icons/obj/assemblies.dmi'
if(!user.transferItemToLoc(W, A))
- user << "[W] is stuck to your hand, you cannot attach it to [src]!"
+ to_chat(user, "[W] is stuck to your hand, you cannot attach it to [src]!")
return
W.master = A
A.part1 = W
@@ -109,7 +109,7 @@
var/mob/M = loc
step(M, pick(cardinal))
- M << "You feel a sharp shock!"
+ to_chat(M, "You feel a sharp shock!")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, M)
s.start()
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 73125c15d0e..7a99e601dfd 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -235,14 +235,14 @@
keyslot2 = null
recalculateChannels()
- user << "You pop out the encryption keys in the headset."
+ to_chat(user, "You pop out the encryption keys in the headset.")
else
- user << "This headset doesn't have any unique encryption keys! How useless..."
+ to_chat(user, "This headset doesn't have any unique encryption keys! How useless...")
else if(istype(W, /obj/item/device/encryptionkey/))
if(keyslot && keyslot2)
- user << "The headset can't hold another key!"
+ to_chat(user, "The headset can't hold another key!")
return
if(!keyslot)
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 4da7d20fd13..05898d7a2e9 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -499,18 +499,18 @@
/obj/item/device/radio/examine(mob/user)
..()
if (b_stat)
- user << "[name] can be attached and modified."
+ to_chat(user, "[name] can be attached and modified.")
else
- user << "[name] can not be modified or attached."
+ to_chat(user, "[name] can not be modified or attached.")
/obj/item/device/radio/attackby(obj/item/weapon/W, mob/user, params)
add_fingerprint(user)
if(istype(W, /obj/item/weapon/screwdriver))
b_stat = !b_stat
if(b_stat)
- user << "The radio can now be attached and modified!"
+ to_chat(user, "The radio can now be attached and modified!")
else
- user << "The radio can no longer be modified or attached!"
+ to_chat(user, "The radio can no longer be modified or attached!")
else
return ..()
@@ -518,7 +518,7 @@
emped++ //There's been an EMP; better count it
var/curremp = emped //Remember which EMP this was
if (listening && ismob(loc)) // if the radio is turned on and on someone's person they notice
- loc << "\The [src] overloads."
+ to_chat(loc, "\The [src] overloads.")
broadcasting = 0
listening = 0
for (var/ch_name in channels)
@@ -569,14 +569,14 @@
keyslot = null
recalculateChannels()
- user << "You pop out the encryption key in the radio."
+ to_chat(user, "You pop out the encryption key in the radio.")
else
- user << "This radio doesn't have any encryption keys!"
+ to_chat(user, "This radio doesn't have any encryption keys!")
else if(istype(W, /obj/item/device/encryptionkey/))
if(keyslot)
- user << "The radio can't hold another key!"
+ to_chat(user, "The radio can't hold another key!")
return
if(!keyslot)
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index f5ee27cc0e3..5e871c49e9f 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -80,22 +80,22 @@ MASS SPECTROMETER
/obj/item/device/healthanalyzer/attack_self(mob/user)
if(!scanmode)
- user << "You switch the health analyzer to scan chemical contents."
+ to_chat(user, "You switch the health analyzer to scan chemical contents.")
scanmode = 1
else
- user << "You switch the health analyzer to check physical health."
+ to_chat(user, "You switch the health analyzer to check physical health.")
scanmode = 0
/obj/item/device/healthanalyzer/attack(mob/living/M, mob/living/carbon/human/user)
// Clumsiness/brain damage check
if ((user.disabilities & CLUMSY || user.getBrainLoss() >= 60) && prob(50))
- user << "You stupidly try to analyze the floor's vitals!"
+ to_chat(user, "You stupidly try to analyze the floor's vitals!")
user.visible_message("[user] has analyzed the floor's vitals!")
- user << "Analyzing results for The floor:\n\tOverall status: Healthy"
- user << "Key: Suffocation/Toxin/Burn/Brute"
- user << "\tDamage specifics: 0-0-0-0"
- user << "Body temperature: ???"
+ to_chat(user, "Analyzing results for The floor:\n\tOverall status: Healthy")
+ to_chat(user, "Key: Suffocation/Toxin/Burn/Brute")
+ to_chat(user, "\tDamage specifics: 0-0-0-0")
+ to_chat(user, "Body temperature: ???")
return
user.visible_message("[user] has analyzed [M]'s vitals.")
@@ -126,63 +126,62 @@ MASS SPECTROMETER
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.undergoing_cardiac_arrest() && H.stat != DEAD)
- user << "Subject suffering from heart attack: Apply defibrillator immediately!"
+ to_chat(user, "Subject suffering from heart attack: Apply defibrillator immediately!")
if(iscarbon(M))
var/mob/living/carbon/C = M
if(C.has_brain_worms())
- user << "Foreign organism detected in subject's cranium. Recommended treatment: Dosage of sucrose solution and removal of object via surgery."
+ to_chat(user, "Foreign organism detected in subject's cranium. Recommended treatment: Dosage of sucrose solution and removal of object via surgery.")
- user << "Analyzing results for [M]:\n\tOverall status: [mob_status]"
+ to_chat(user, "Analyzing results for [M]:\n\tOverall status: [mob_status]")
// Damage descriptions
if(brute_loss > 10)
- user << "\t[brute_loss > 50 ? "Severe" : "Minor"] tissue damage detected."
+ to_chat(user, "\t[brute_loss > 50 ? "Severe" : "Minor"] tissue damage detected.")
if(fire_loss > 10)
- user << "\t[fire_loss > 50 ? "Severe" : "Minor"] burn damage detected."
+ to_chat(user, "\t[fire_loss > 50 ? "Severe" : "Minor"] burn damage detected.")
if(oxy_loss > 10)
- user << "\t[oxy_loss > 50 ? "Severe" : "Minor"] oxygen deprivation detected."
+ to_chat(user, "\t[oxy_loss > 50 ? "Severe" : "Minor"] oxygen deprivation detected.")
if(tox_loss > 10)
- user << "\t[tox_loss > 50 ? "Critical" : "Dangerous"] amount of toxins detected."
+ to_chat(user, "\t[tox_loss > 50 ? "Critical" : "Dangerous"] amount of toxins detected.")
if(M.getStaminaLoss())
- user << "\tSubject appears to be suffering from fatigue."
+ to_chat(user, "\tSubject appears to be suffering from fatigue.")
if (M.getCloneLoss())
- user << "\tSubject appears to have [M.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage."
+ to_chat(user, "\tSubject appears to have [M.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage.")
if (M.reagents && M.reagents.get_reagent_amount("epinephrine"))
- user << "\tBloodstream analysis located [M.reagents:get_reagent_amount("epinephrine")] units of rejuvenation chemicals."
+ to_chat(user, "\tBloodstream analysis located [M.reagents:get_reagent_amount("epinephrine")] units of rejuvenation chemicals.")
if (M.getBrainLoss() >= 100 || !M.getorgan(/obj/item/organ/brain))
- user << "\tSubject brain function is non-existent."
+ to_chat(user, "\tSubject brain function is non-existent.")
else if (M.getBrainLoss() >= 60)
- user << "\tSevere brain damage detected. Subject likely to have mental retardation."
+ to_chat(user, "\tSevere brain damage detected. Subject likely to have mental retardation.")
else if (M.getBrainLoss() >= 10)
- user << "\tBrain damage detected. Subject may have had a concussion."
+ to_chat(user, "\tBrain damage detected. Subject may have had a concussion.")
// Organ damage report
if(iscarbon(M) && mode == 1)
var/mob/living/carbon/C = M
var/list/damaged = C.get_damaged_bodyparts(1,1)
if(length(damaged)>0 || oxy_loss>0 || tox_loss>0 || fire_loss>0)
- user << "\tDamage: Brute-Burn-Toxin-Suffocation\n\t\tSpecifics: [brute_loss]-[fire_loss]-[tox_loss]-[oxy_loss]"
+ to_chat(user, "\tDamage: Brute-Burn-Toxin-Suffocation\n\t\tSpecifics: [brute_loss]-[fire_loss]-[tox_loss]-[oxy_loss]")
for(var/obj/item/bodypart/org in damaged)
- user << "\t\t[capitalize(org.name)]: [(org.brute_dam > 0) ? "[org.brute_dam]" : "0"]-[(org.burn_dam > 0) ? "[org.burn_dam]" : "0"]"
+ to_chat(user, "\t\t[capitalize(org.name)]: [(org.brute_dam > 0) ? "[org.brute_dam]" : "0"]-[(org.burn_dam > 0) ? "[org.burn_dam]" : "0"]")
// Species and body temperature
if(ishuman(M))
var/mob/living/carbon/human/H = M
- user << "Species: [H.dna.species.name]"
- user << "Body temperature: [round(M.bodytemperature-T0C,0.1)] °C ([round(M.bodytemperature*1.8-459.67,0.1)] °F)"
+ to_chat(user, "Species: [H.dna.species.name]")
+ to_chat(user, "Body temperature: [round(M.bodytemperature-T0C,0.1)] °C ([round(M.bodytemperature*1.8-459.67,0.1)] °F)")
// Time of death
if(M.tod && (M.stat == DEAD || (M.status_flags & FAKEDEATH)))
- user << "Time of Death: [M.tod]"
+ to_chat(user, "Time of Death: [M.tod]")
var/tdelta = round(world.time - M.timeofdeath)
if(tdelta < (DEFIB_TIME_LIMIT * 10))
- user << "Subject died [tdelta / 10] seconds \
- ago, defibrillation may be possible!"
+ to_chat(user, "Subject died [tdelta / 10] seconds ago, defibrillation may be possible!")
for(var/datum/disease/D in M.viruses)
if(!(D.visibility_flags & HIDDEN_SCANNER))
- user << "Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]"
+ to_chat(user, "Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]")
// Blood Level
if(M.has_dna())
@@ -192,7 +191,7 @@ MASS SPECTROMETER
if(ishuman(C))
var/mob/living/carbon/human/H = C
if(H.bleed_rate)
- user << "Subject is bleeding!"
+ to_chat(user, "Subject is bleeding!")
var/blood_percent = round((C.blood_volume / BLOOD_VOLUME_NORMAL)*100)
var/blood_type = C.dna.blood_type
if(blood_id != "blood")//special blood substance
@@ -202,36 +201,36 @@ MASS SPECTROMETER
else
blood_type = blood_id
if(C.blood_volume <= BLOOD_VOLUME_SAFE && C.blood_volume > BLOOD_VOLUME_OKAY)
- user << "LOW blood level [blood_percent] %, [C.blood_volume] cl, type: [blood_type]"
+ to_chat(user, "LOW blood level [blood_percent] %, [C.blood_volume] cl, type: [blood_type]")
else if(C.blood_volume <= BLOOD_VOLUME_OKAY)
- user << "CRITICAL blood level [blood_percent] %, [C.blood_volume] cl, type: [blood_type]"
+ to_chat(user, "CRITICAL blood level [blood_percent] %, [C.blood_volume] cl, type: [blood_type]")
else
- user << "Blood level [blood_percent] %, [C.blood_volume] cl, type: [blood_type]"
+ to_chat(user, "Blood level [blood_percent] %, [C.blood_volume] cl, type: [blood_type]")
var/cyberimp_detect
for(var/obj/item/organ/cyberimp/CI in C.internal_organs)
if(CI.status == ORGAN_ROBOTIC)
cyberimp_detect += "[C.name] is modified with a [CI.name].
"
if(cyberimp_detect)
- user << "Detected cybernetic modifications:"
- user << "[cyberimp_detect]"
+ to_chat(user, "Detected cybernetic modifications:")
+ to_chat(user, "[cyberimp_detect]")
/proc/chemscan(mob/living/user, mob/living/M)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.reagents)
if(H.reagents.reagent_list.len)
- user << "Subject contains the following reagents:"
+ to_chat(user, "Subject contains the following reagents:")
for(var/datum/reagent/R in H.reagents.reagent_list)
- user << "[R.volume] units of [R.name][R.overdosed == 1 ? " - OVERDOSING" : "."]"
+ to_chat(user, "[R.volume] units of [R.name][R.overdosed == 1 ? " - OVERDOSING" : "."]")
else
- user << "Subject contains no reagents."
+ to_chat(user, "Subject contains no reagents.")
if(H.reagents.addiction_list.len)
- user << "Subject is addicted to the following reagents:"
+ to_chat(user, "Subject is addicted to the following reagents:")
for(var/datum/reagent/R in H.reagents.addiction_list)
- user << "[R.name]"
+ to_chat(user, "[R.name]")
else
- user << "Subject is not addicted to any reagents."
+ to_chat(user, "Subject is not addicted to any reagents.")
/obj/item/device/healthanalyzer/verb/toggle_mode()
set name = "Switch Verbosity"
@@ -243,9 +242,9 @@ MASS SPECTROMETER
mode = !mode
switch (mode)
if(1)
- usr << "The scanner now shows specific limb damage."
+ to_chat(usr, "The scanner now shows specific limb damage.")
if(0)
- usr << "The scanner no longer shows limb damage."
+ to_chat(usr, "The scanner no longer shows limb damage.")
/obj/item/device/analyzer
@@ -278,11 +277,11 @@ MASS SPECTROMETER
var/pressure = environment.return_pressure()
var/total_moles = environment.total_moles()
- user << "Results:"
+ to_chat(user, "Results:")
if(abs(pressure - ONE_ATMOSPHERE) < 10)
- user << "Pressure: [round(pressure,0.1)] kPa"
+ to_chat(user, "Pressure: [round(pressure,0.1)] kPa")
else
- user << "Pressure: [round(pressure,0.1)] kPa"
+ to_chat(user, "Pressure: [round(pressure,0.1)] kPa")
if(total_moles)
var/list/env_gases = environment.gases
@@ -294,32 +293,32 @@ MASS SPECTROMETER
environment.garbage_collect()
if(abs(n2_concentration - N2STANDARD) < 20)
- user << "Nitrogen: [round(n2_concentration*100, 0.01)] %"
+ to_chat(user, "Nitrogen: [round(n2_concentration*100, 0.01)] %")
else
- user << "Nitrogen: [round(n2_concentration*100, 0.01)] %"
+ to_chat(user, "Nitrogen: [round(n2_concentration*100, 0.01)] %")
if(abs(o2_concentration - O2STANDARD) < 2)
- user << "Oxygen: [round(o2_concentration*100, 0.01)] %"
+ to_chat(user, "Oxygen: [round(o2_concentration*100, 0.01)] %")
else
- user << "Oxygen: [round(o2_concentration*100, 0.01)] %"
+ to_chat(user, "Oxygen: [round(o2_concentration*100, 0.01)] %")
if(co2_concentration > 0.01)
- user << "CO2: [round(co2_concentration*100, 0.01)] %"
+ to_chat(user, "CO2: [round(co2_concentration*100, 0.01)] %")
else
- user << "CO2: [round(co2_concentration*100, 0.01)] %"
+ to_chat(user, "CO2: [round(co2_concentration*100, 0.01)] %")
if(plasma_concentration > 0.005)
- user << "Plasma: [round(plasma_concentration*100, 0.01)] %"
+ to_chat(user, "Plasma: [round(plasma_concentration*100, 0.01)] %")
else
- user << "Plasma: [round(plasma_concentration*100, 0.01)] %"
+ to_chat(user, "Plasma: [round(plasma_concentration*100, 0.01)] %")
for(var/id in env_gases)
if(id in hardcoded_gases)
continue
var/gas_concentration = env_gases[id][MOLES]/total_moles
- user << "[env_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] %"
- user << "Temperature: [round(environment.temperature-T0C)] °C"
+ to_chat(user, "[env_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] %")
+ to_chat(user, "Temperature: [round(environment.temperature-T0C)] °C")
/obj/item/device/mass_spectrometer
@@ -352,14 +351,14 @@ MASS SPECTROMETER
if (user.stat || user.eye_blind)
return
if (!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return
if(reagents.total_volume)
var/list/blood_traces = list()
for(var/datum/reagent/R in reagents.reagent_list)
if(R.id != "blood")
reagents.clear_reagents()
- user << "The sample was contaminated! Please insert another sample."
+ to_chat(user, "The sample was contaminated! Please insert another sample.")
return
else
blood_traces = params2list(R.data["trace_chem"])
@@ -373,7 +372,7 @@ MASS SPECTROMETER
if(details)
dat += " ([blood_traces[R]] units)"
dat += ""
- user << dat
+ to_chat(user, dat)
reagents.clear_reagents()
@@ -400,31 +399,31 @@ MASS SPECTROMETER
if(user.stat || user.eye_blind)
return
if (!isslime(M))
- user << "This device can only scan slimes!"
+ to_chat(user, "This device can only scan slimes!")
return
var/mob/living/simple_animal/slime/T = M
- user << "Slime scan results:"
- user << "[T.colour] [T.is_adult ? "adult" : "baby"] slime"
- user << "Nutrition: [T.nutrition]/[T.get_max_nutrition()]"
+ to_chat(user, "Slime scan results:")
+ to_chat(user, "[T.colour] [T.is_adult ? "adult" : "baby"] slime")
+ to_chat(user, "Nutrition: [T.nutrition]/[T.get_max_nutrition()]")
if (T.nutrition < T.get_starve_nutrition())
- user << "Warning: slime is starving!"
+ to_chat(user, "Warning: slime is starving!")
else if (T.nutrition < T.get_hunger_nutrition())
- user << "Warning: slime is hungry"
- user << "Electric change strength: [T.powerlevel]"
- user << "Health: [round(T.health/T.maxHealth,0.01)*100]"
+ to_chat(user, "Warning: slime is hungry")
+ to_chat(user, "Electric change strength: [T.powerlevel]")
+ to_chat(user, "Health: [round(T.health/T.maxHealth,0.01)*100]")
if (T.slime_mutation[4] == T.colour)
- user << "This slime does not evolve any further."
+ to_chat(user, "This slime does not evolve any further.")
else
if (T.slime_mutation[3] == T.slime_mutation[4])
if (T.slime_mutation[2] == T.slime_mutation[1])
- user << "Possible mutation: [T.slime_mutation[3]]"
- user << "Genetic destability: [T.mutation_chance/2] % chance of mutation on splitting"
+ to_chat(user, "Possible mutation: [T.slime_mutation[3]]")
+ to_chat(user, "Genetic destability: [T.mutation_chance/2] % chance of mutation on splitting")
else
- user << "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]] (x2)"
- user << "Genetic destability: [T.mutation_chance] % chance of mutation on splitting"
+ to_chat(user, "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]] (x2)")
+ to_chat(user, "Genetic destability: [T.mutation_chance] % chance of mutation on splitting")
else
- user << "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]], [T.slime_mutation[4]]"
- user << "Genetic destability: [T.mutation_chance] % chance of mutation on splitting"
+ to_chat(user, "Possible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]], [T.slime_mutation[4]]")
+ to_chat(user, "Genetic destability: [T.mutation_chance] % chance of mutation on splitting")
if (T.cores > 1)
- user << "Anomalious slime core amount detected"
- user << "Growth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]"
+ to_chat(user, "Anomalious slime core amount detected")
+ to_chat(user, "Growth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]")
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 7dea9c63529..74d3838a4da 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -27,7 +27,7 @@
/obj/item/device/taperecorder/examine(mob/user)
..()
- user << "The wire panel is [open_panel ? "opened" : "closed"]."
+ to_chat(user, "The wire panel is [open_panel ? "opened" : "closed"].")
/obj/item/device/taperecorder/attackby(obj/item/I, mob/user, params)
@@ -35,13 +35,13 @@
if(!user.transferItemToLoc(I,src))
return
mytape = I
- user << "You insert [I] into [src]."
+ to_chat(user, "You insert [I] into [src].")
update_icon()
/obj/item/device/taperecorder/proc/eject(mob/user)
if(mytape)
- user << "You remove [mytape] from [src]."
+ to_chat(user, "You remove [mytape] from [src].")
stop()
user.put_in_hands(mytape)
mytape = null
@@ -111,7 +111,7 @@
return
if(mytape.used_capacity < mytape.max_capacity)
- usr << "Recording started."
+ to_chat(usr, "Recording started.")
recording = 1
update_icon()
mytape.timestamp += mytape.used_capacity
@@ -127,7 +127,7 @@
recording = 0
update_icon()
else
- usr << "The tape is full."
+ to_chat(usr, "The tape is full.")
/obj/item/device/taperecorder/verb/stop()
@@ -141,7 +141,7 @@
recording = 0
mytape.timestamp += mytape.used_capacity
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] Recording stopped."
- usr << "Recording stopped."
+ to_chat(usr, "Recording stopped.")
return
else if(playing)
playing = 0
@@ -165,7 +165,7 @@
playing = 1
update_icon()
- usr << "Playing started."
+ to_chat(usr, "Playing started.")
var/used = mytape.used_capacity //to stop runtimes when you eject the tape
var/max = mytape.max_capacity
for(var/i = 1, used < max, sleep(10 * playsleepseconds))
@@ -210,12 +210,12 @@
if(!mytape)
return
if(!canprint)
- usr << "The recorder can't print that fast!"
+ to_chat(usr, "The recorder can't print that fast!")
return
if(recording || playing)
return
- usr << "Transcript printed."
+ to_chat(usr, "Transcript printed.")
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src))
var/t1 = "Transcript:
"
for(var/i = 1, mytape.storedinfo.len >= i, i++)
@@ -254,7 +254,7 @@
/obj/item/device/tape/attack_self(mob/user)
if(!ruined)
- user << "You pull out all the tape!"
+ to_chat(user, "You pull out all the tape!")
ruin()
@@ -279,9 +279,9 @@
else if(istype(I, /obj/item/weapon/pen))
delay = 120*1.5
if (delay != -1)
- user << "You start winding the tape back in..."
+ to_chat(user, "You start winding the tape back in...")
if(do_after(user, delay, target = src))
- user << "You wound the tape back in."
+ to_chat(user, "You wound the tape back in.")
fix()
//Random colour tapes
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index e8797f29fe0..8511eb6c529 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -34,7 +34,7 @@ effective or pretty fucking useless.
/obj/item/device/batterer/attack_self(mob/living/carbon/user, flag = 0, emp = 0)
if(!user) return
if(times_used >= max_uses)
- user << "The mind batterer has been burnt out!"
+ to_chat(user, "The mind batterer has been burnt out!")
return
add_logs(user, null, "knocked down people in the area", src)
@@ -45,13 +45,13 @@ effective or pretty fucking useless.
M.Weaken(rand(10,20))
if(prob(25))
M.Stun(rand(5,10))
- M << "You feel a tremendous, paralyzing wave flood your mind."
+ to_chat(M, "You feel a tremendous, paralyzing wave flood your mind.")
else
- M << "You feel a sudden, electric jolt travel through your head."
+ to_chat(M, "You feel a sudden, electric jolt travel through your head.")
playsound(src.loc, 'sound/misc/interference.ogg', 50, 1)
- user << "You trigger [src]."
+ to_chat(user, "You trigger [src].")
times_used += 1
if(times_used >= max_uses)
icon_state = "battererburnt"
@@ -86,14 +86,14 @@ effective or pretty fucking useless.
used = 1
icon_state = "health1"
handle_cooldown(cooldown) // splits off to handle the cooldown while handling wavelength
- user << "Successfully irradiated [M]."
+ to_chat(user, "Successfully irradiated [M].")
spawn((wavelength+(intensity*4))*5)
if(M)
if(intensity >= 5)
M.apply_effect(round(intensity/1.5), PARALYZE)
M.rad_act(intensity*10)
else
- user << "The radioactive microlaser is still recharging."
+ to_chat(user, "The radioactive microlaser is still recharging.")
/obj/item/device/healthanalyzer/rad_laser/proc/handle_cooldown(cooldown)
spawn(cooldown)
@@ -192,14 +192,14 @@ effective or pretty fucking useless.
/obj/item/device/shadowcloak/proc/Activate(mob/living/carbon/human/user)
if(!user)
return
- user << "You activate [src]."
+ to_chat(user, "You activate [src].")
src.user = user
START_PROCESSING(SSobj, src)
old_alpha = user.alpha
on = 1
/obj/item/device/shadowcloak/proc/Deactivate()
- user << "You deactivate [src]."
+ to_chat(user, "You deactivate [src].")
STOP_PROCESSING(SSobj, src)
if(user)
user.alpha = old_alpha
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 4f6ee0d9b4a..4316acf0f66 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -18,21 +18,21 @@
/obj/item/device/transfer_valve/attackby(obj/item/item, mob/user, params)
if(istype(item, /obj/item/weapon/tank))
if(tank_one && tank_two)
- user << "There are already two tanks attached, remove one first!"
+ to_chat(user, "There are already two tanks attached, remove one first!")
return
if(!tank_one)
if(!user.transferItemToLoc(item, src))
return
tank_one = item
- user << "You attach the tank to the transfer valve."
+ to_chat(user, "You attach the tank to the transfer valve.")
if(item.w_class > w_class)
w_class = item.w_class
else if(!tank_two)
if(!user.transferItemToLoc(item, src))
return
tank_two = item
- user << "You attach the tank to the transfer valve."
+ to_chat(user, "You attach the tank to the transfer valve.")
if(item.w_class > w_class)
w_class = item.w_class
@@ -41,15 +41,15 @@
else if(isassembly(item))
var/obj/item/device/assembly/A = item
if(A.secured)
- user << "The device is secured."
+ to_chat(user, "The device is secured.")
return
if(attached_device)
- user << "There is already a device attached to the valve, remove it first!"
+ to_chat(user, "There is already a device attached to the valve, remove it first!")
return
if(!user.transferItemToLoc(item, src))
return
attached_device = A
- user << "You attach the [item] to the valve controls and secure it."
+ to_chat(user, "You attach the [item] to the valve controls and secure it.")
A.holder = src
A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb).
diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm
index 06e3216022e..ea24e778327 100644
--- a/code/game/objects/items/documents.dm
+++ b/code/game/objects/items/documents.dm
@@ -48,11 +48,11 @@
/obj/item/documents/photocopy/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/toy/crayon/red) || istype(O, /obj/item/toy/crayon/blue))
if (forgedseal)
- user << "You have already forged a seal on [src]!"
+ to_chat(user, "You have already forged a seal on [src]!")
else
var/obj/item/toy/crayon/C = O
name = "[C.item_color] secret documents"
icon_state = "docs_[C.item_color]"
forgedseal = C.item_color
- user << "You forge the official seal with a [C.item_color] crayon. No one will notice... right?"
+ to_chat(user, "You forge the official seal with a [C.item_color] crayon. No one will notice... right?")
update_icon()
\ No newline at end of file
diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm
index c9ebdb1463d..452280da6b1 100644
--- a/code/game/objects/items/eightball.dm
+++ b/code/game/objects/items/eightball.dm
@@ -46,7 +46,7 @@
return
if(on_cooldown)
- user << "[src] was shaken recently, it needs time to settle."
+ to_chat(user, "[src] was shaken recently, it needs time to settle.")
return
user.visible_message("[user] starts shaking [src].", "You start shaking [src].", "You hear shaking and sloshing.")
@@ -106,7 +106,7 @@
/obj/item/toy/eightball/haunted/attack_ghost(mob/user)
if(!shaking)
- user << "[src] is not currently being shaken."
+ to_chat(user, "[src] is not currently being shaken.")
return
interact(user)
diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm
index 4f8c395081c..392c50792c8 100644
--- a/code/game/objects/items/latexballoon.dm
+++ b/code/game/objects/items/latexballoon.dm
@@ -17,7 +17,7 @@
icon_state = "latexballon_blow"
item_state = "latexballon"
user.update_inv_hands()
- user << "You blow up [src] with [tank]."
+ to_chat(user, "You blow up [src] with [tank].")
air_contents = tank.remove_air_volume(3)
/obj/item/latexballon/proc/burst()
diff --git a/code/game/objects/items/nuke_tools.dm b/code/game/objects/items/nuke_tools.dm
index 7fe512bfaf1..c32cdc14e04 100644
--- a/code/game/objects/items/nuke_tools.dm
+++ b/code/game/objects/items/nuke_tools.dm
@@ -42,7 +42,7 @@
ncore.forceMove(src)
core = ncore
icon_state = "core_container_loaded"
- user << "Container is sealing..."
+ to_chat(user, "Container is sealing...")
addtimer(CALLBACK(src, .proc/seal), 50)
return 1
@@ -52,12 +52,12 @@
icon_state = "core_container_sealed"
playsound(loc, 'sound/items/Deconstruct.ogg', 60, 1)
if(ismob(loc))
- loc << "[src] is permanently sealed, [core]'s radiation is contained."
+ to_chat(loc, "[src] is permanently sealed, [core]'s radiation is contained.")
/obj/item/nuke_core_container/attackby(obj/item/nuke_core/core, mob/user)
if(istype(core))
if(!user.temporarilyRemoveItemFromInventory(core))
- user << "The [core] is stuck to your hand!"
+ to_chat(user, "The [core] is stuck to your hand!")
return
else
load(core, user)
diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm
index c3511699932..ccf40851910 100644
--- a/code/game/objects/items/religion.dm
+++ b/code/game/objects/items/religion.dm
@@ -10,11 +10,11 @@
/obj/item/weapon/banner/attack_self(mob/living/carbon/human/user)
if(moralecooldown + moralewait > world.time)
return
- user << "You increase the morale of your fellows!"
+ to_chat(user, "You increase the morale of your fellows!")
moralecooldown = world.time
for(var/mob/living/carbon/human/H in range(4,get_turf(src)))
- H << "Your morale is increased by [user]'s banner!"
+ to_chat(H, "Your morale is increased by [user]'s banner!")
H.adjustBruteLoss(-15)
H.adjustFireLoss(-15)
H.AdjustStunned(-2)
diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm
index 97a1fab67d0..dad3db6b1dc 100644
--- a/code/game/objects/items/robot/ai_upgrades.dm
+++ b/code/game/objects/items/robot/ai_upgrades.dm
@@ -14,11 +14,11 @@
return
if(AI.malf_picker)
AI.malf_picker.processing_time += 50
- AI << "[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead."
+ to_chat(AI, "[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.")
else
- AI << "[user] has upgraded you with combat software!"
+ to_chat(AI, "[user] has upgraded you with combat software!")
AI.add_malf_picker()
- user << "You upgrade [AI]. [src] is consumed in the process."
+ to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
qdel(src)
@@ -34,7 +34,7 @@
return
if(AI.eyeobj)
AI.eyeobj.relay_speech = TRUE
- AI << "[user] has upgraded you with surveillance software!"
- AI << "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations."
- user << "You upgrade [AI]. [src] is consumed in the process."
+ to_chat(AI, "[user] has upgraded you with surveillance software!")
+ to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.")
+ to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
qdel(src)
diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm
index 52c73fdb79c..f17b5adbbdd 100644
--- a/code/game/objects/items/robot/robot_items.dm
+++ b/code/game/objects/items/robot/robot_items.dm
@@ -57,13 +57,13 @@
mode = 0
switch(mode)
if(0)
- user << "Power reset. Hugs!"
+ to_chat(user, "Power reset. Hugs!")
if(1)
- user << "Power increased!"
+ to_chat(user, "Power increased!")
if(2)
- user << "BZZT. Electrifying arms..."
+ to_chat(user, "BZZT. Electrifying arms...")
if(3)
- user << "ERROR: ARM ACTUATORS OVERLOADED."
+ to_chat(user, "ERROR: ARM ACTUATORS OVERLOADED.")
/obj/item/borg/cyborghug/attack(mob/living/M, mob/living/silicon/robot/user)
if(M == user)
@@ -172,7 +172,7 @@
mode = "charge"
else
mode = "draw"
- user << "You toggle [src] to \"[mode]\" mode."
+ to_chat(user, "You toggle [src] to \"[mode]\" mode.")
update_icon()
/obj/item/borg/charger/afterattack(obj/item/target, mob/living/silicon/robot/user, proximity_flag)
@@ -182,10 +182,10 @@
if(is_type_in_list(target, charge_machines))
var/obj/machinery/M = target
if((M.stat & (NOPOWER|BROKEN)) || !M.anchored)
- user << "[M] is unpowered!"
+ to_chat(user, "[M] is unpowered!")
return
- user << "You connect to [M]'s power line..."
+ to_chat(user, "You connect to [M]'s power line...")
while(do_after(user, 15, target = M, progress = 0))
if(!user || !user.cell || mode != "draw")
return
@@ -198,27 +198,27 @@
M.use_power(200)
- user << "You stop charging youself."
+ to_chat(user, "You stop charging youself.")
else if(is_type_in_list(target, charge_items))
var/obj/item/weapon/stock_parts/cell/cell = target
if(!istype(cell))
cell = locate(/obj/item/weapon/stock_parts/cell) in target
if(!cell)
- user << "[target] has no power cell!"
+ to_chat(user, "[target] has no power cell!")
return
if(istype(target, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/E = target
if(!E.can_charge)
- user << "[target] has no power port!"
+ to_chat(user, "[target] has no power port!")
return
if(!cell.charge)
- user << "[target] has no power!"
+ to_chat(user, "[target] has no power!")
- user << "You connect to [target]'s power port..."
+ to_chat(user, "You connect to [target]'s power port...")
while(do_after(user, 15, target = target, progress = 0))
if(!user || !user.cell || mode != "draw")
@@ -237,26 +237,26 @@
break
target.update_icon()
- user << "You stop charging youself."
+ to_chat(user, "You stop charging youself.")
else if(is_type_in_list(target, charge_items))
var/obj/item/weapon/stock_parts/cell/cell = target
if(!istype(cell))
cell = locate(/obj/item/weapon/stock_parts/cell) in target
if(!cell)
- user << "[target] has no power cell!"
+ to_chat(user, "[target] has no power cell!")
return
if(istype(target, /obj/item/weapon/gun/energy))
var/obj/item/weapon/gun/energy/E = target
if(!E.can_charge)
- user << "[target] has no power port!"
+ to_chat(user, "[target] has no power port!")
return
if(cell.charge >= cell.maxcharge)
- user << "[target] is already charged!"
+ to_chat(user, "[target] is already charged!")
- user << "You connect to [target]'s power port..."
+ to_chat(user, "You connect to [target]'s power port...")
while(do_after(user, 15, target = target, progress = 0))
if(!user || !user.cell || mode != "charge")
@@ -275,7 +275,7 @@
break
target.update_icon()
- user << "You stop charging [target]."
+ to_chat(user, "You stop charging [target].")
/obj/item/device/harmalarm
name = "Sonic Harm Prevention Tool"
@@ -287,20 +287,20 @@
/obj/item/device/harmalarm/emag_act(mob/user)
emagged = !emagged
if(emagged)
- user << "You short out the safeties on the [src]!"
+ to_chat(user, "You short out the safeties on the [src]!")
else
- user << "You reset the safeties on the [src]!"
+ to_chat(user, "You reset the safeties on the [src]!")
/obj/item/device/harmalarm/attack_self(mob/user)
var/safety = !emagged
if(cooldown > world.time)
- user << "The device is still recharging!"
+ to_chat(user, "The device is still recharging!")
return
if(iscyborg(user))
var/mob/living/silicon/robot/R = user
if(R.cell.charge < 1200)
- user << "You don't have enough charge to do this!"
+ to_chat(user, "You don't have enough charge to do this!")
return
R.cell.charge -= 1000
if(R.emagged)
@@ -319,7 +319,7 @@
log_game("[user.ckey]([user]) used a Cyborg Harm Alarm in ([user.x],[user.y],[user.z])")
if(iscyborg(user))
var/mob/living/silicon/robot/R = user
- R.connected_ai << "
NOTICE - Peacekeeping 'HARM ALARM' used by: [user]
"
+ to_chat(R.connected_ai, "
NOTICE - Peacekeeping 'HARM ALARM' used by: [user]
")
return
@@ -375,7 +375,7 @@
/obj/item/borg/lollipop/proc/dispense(atom/A, mob/user)
if(candy <= 0)
- user << "No lollipops left in storage!"
+ to_chat(user, "No lollipops left in storage!")
return FALSE
var/turf/T = get_turf(A)
if(!T || !istype(T) || !isopenturf(T))
@@ -387,13 +387,13 @@
new /obj/item/weapon/reagent_containers/food/snacks/lollipop(T)
candy--
check_amount()
- user << "Dispensing lollipop..."
+ to_chat(user, "Dispensing lollipop...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
return TRUE
/obj/item/borg/lollipop/proc/shootL(atom/target, mob/living/user, params)
if(candy <= 0)
- user << "Not enough lollipops left!"
+ to_chat(user, "Not enough lollipops left!")
return FALSE
candy--
var/obj/item/ammo_casing/caseless/lollipop/A = new /obj/item/ammo_casing/caseless/lollipop(src)
@@ -408,7 +408,7 @@
/obj/item/borg/lollipop/proc/shootG(atom/target, mob/living/user, params) //Most certainly a good idea.
if(candy <= 0)
- user << "Not enough gumballs left!"
+ to_chat(user, "Not enough gumballs left!")
return FALSE
candy--
var/obj/item/ammo_casing/caseless/gumball/A = new /obj/item/ammo_casing/caseless/gumball(src)
@@ -427,7 +427,7 @@
if(iscyborg(user))
var/mob/living/silicon/robot/R = user
if(!R.cell.use(12))
- user << "Not enough power."
+ to_chat(user, "Not enough power.")
return FALSE
if(R.emagged)
hitdamage = emaggedhitdamage
@@ -446,13 +446,13 @@
switch(mode)
if(1)
mode++
- user << "Module is now throwing lollipops."
+ to_chat(user, "Module is now throwing lollipops.")
if(2)
mode++
- user << "Module is now blasting gumballs."
+ to_chat(user, "Module is now blasting gumballs.")
if(3)
mode = 1
- user << "Module is now dispensing lollipops."
+ to_chat(user, "Module is now dispensing lollipops.")
..()
/obj/item/ammo_casing/caseless/gumball
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index 78308b5fcdd..f69f766cb20 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -70,13 +70,13 @@
if (M.use(1))
var/obj/item/weapon/ed209_assembly/B = new /obj/item/weapon/ed209_assembly
B.loc = get_turf(src)
- user << "You arm the robot frame."
+ to_chat(user, "You arm the robot frame.")
var/holding_this = user.get_inactive_held_item()==src
qdel(src)
if (holding_this)
user.put_in_inactive_hand(B)
else
- user << "You need one sheet of metal to start building ED-209!"
+ to_chat(user, "You need one sheet of metal to start building ED-209!")
return
else if(istype(W, /obj/item/bodypart/l_leg/robot))
if(src.l_leg)
@@ -130,15 +130,15 @@
src.chest = CH
src.updateicon()
else if(!CH.wired)
- user << "You need to attach wires to it first!"
+ to_chat(user, "You need to attach wires to it first!")
else
- user << "You need to attach a cell to it first!"
+ to_chat(user, "You need to attach a cell to it first!")
else if(istype(W, /obj/item/bodypart/head/robot))
var/obj/item/bodypart/head/robot/HD = W
for(var/X in HD.contents)
if(istype(X, /obj/item/organ))
- user << "There are organs inside [HD]!"
+ to_chat(user, "There are organs inside [HD]!")
return
if(src.head)
return
@@ -150,39 +150,39 @@
src.head = HD
src.updateicon()
else
- user << "You need to attach a flash to it first!"
+ to_chat(user, "You need to attach a flash to it first!")
else if (istype(W, /obj/item/device/multitool))
if(check_completion())
Interact(user)
else
- user << "The endoskeleton must be assembled before debugging can begin!"
+ to_chat(user, "The endoskeleton must be assembled before debugging can begin!")
else if(istype(W, /obj/item/device/mmi))
var/obj/item/device/mmi/M = W
if(check_completion())
if(!isturf(loc))
- user << "You can't put [M] in, the frame has to be standing on the ground to be perfectly precise!"
+ to_chat(user, "You can't put [M] in, the frame has to be standing on the ground to be perfectly precise!")
return
if(!M.brainmob)
- user << "Sticking an empty [M.name] into the frame would sort of defeat the purpose!"
+ to_chat(user, "Sticking an empty [M.name] into the frame would sort of defeat the purpose!")
return
var/mob/living/brain/BM = M.brainmob
if(!BM.key || !BM.mind)
- user << "The MMI indicates that their mind is completely unresponsive; there's no point!"
+ to_chat(user, "The MMI indicates that their mind is completely unresponsive; there's no point!")
return
if(!BM.client) //braindead
- user << "The MMI indicates that their mind is currently inactive; it might change!"
+ to_chat(user, "The MMI indicates that their mind is currently inactive; it might change!")
return
if(BM.stat == DEAD || (M.brain && M.brain.damaged_brain))
- user << "Sticking a dead brain into the frame would sort of defeat the purpose!"
+ to_chat(user, "Sticking a dead brain into the frame would sort of defeat the purpose!")
return
if(jobban_isbanned(BM, "Cyborg"))
- user << "This [M.name] does not seem to fit!"
+ to_chat(user, "This [M.name] does not seem to fit!")
return
if(!user.temporarilyRemoveItemFromInventory(W))
@@ -221,8 +221,8 @@
if(O.mind && O.mind.special_role)
O.mind.store_memory("As a cyborg, you must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.")
- O << "You have been robotized!"
- O << "You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead."
+ to_chat(O, "You have been robotized!")
+ to_chat(O, "You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.")
O.job = "Cyborg"
@@ -243,13 +243,13 @@
if(!locomotion)
O.lockcharge = 1
O.update_canmove()
- O << "Error: Servo motors unresponsive."
+ to_chat(O, "Error: Servo motors unresponsive.")
else
- user << "The MMI must go in after everything else!"
+ to_chat(user, "The MMI must go in after everything else!")
else if(istype(W,/obj/item/weapon/pen))
- user << "You need to use a multitool to name [src]!"
+ to_chat(user, "You need to use a multitool to name [src]!")
else
return ..()
@@ -272,7 +272,7 @@
var/mob/living/living_user = usr
var/obj/item/item_in_hand = living_user.get_active_held_item()
if(!istype(item_in_hand, /obj/item/device/multitool))
- living_user << "You need a multitool!"
+ to_chat(living_user, "You need a multitool!")
return
if(href_list["Name"])
@@ -287,7 +287,7 @@
else if(href_list["Master"])
forced_ai = select_active_ai(usr)
if(!forced_ai)
- usr << "No active AIs detected."
+ to_chat(usr, "No active AIs detected.")
else if(href_list["Law"])
lawsync = !lawsync
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index ae631c52230..156ad4ed570 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -17,11 +17,11 @@
/obj/item/borg/upgrade/proc/action(mob/living/silicon/robot/R)
if(R.stat == DEAD)
- usr << "[src] will not function on a deceased cyborg."
+ to_chat(usr, "[src] will not function on a deceased cyborg.")
return 1
if(module_type && !istype(R.module, module_type))
- R << "Upgrade mounting error! No suitable hardpoint detected!"
- usr << "There's no mounting point for the module!"
+ to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
+ to_chat(usr, "There's no mounting point for the module!")
return 1
/obj/item/borg/upgrade/rename
@@ -56,7 +56,7 @@
/obj/item/borg/upgrade/restart/action(mob/living/silicon/robot/R)
if(R.health < 0)
- usr << "You have to repair the cyborg before using this module!"
+ to_chat(usr, "You have to repair the cyborg before using this module!")
return 0
if(R.mind)
@@ -78,8 +78,8 @@
if(..())
return
if(R.speed < 0)
- R << "A VTEC unit is already installed!"
- usr << "There's no room for another VTEC unit!"
+ to_chat(R, "A VTEC unit is already installed!")
+ to_chat(usr, "There's no room for another VTEC unit!")
return
R.speed = -2 // Gotta go fast.
@@ -100,11 +100,11 @@
var/obj/item/weapon/gun/energy/disabler/cyborg/T = locate() in R.module.modules
if(!T)
- usr << "There's no disabler in this unit!"
+ to_chat(usr, "There's no disabler in this unit!")
return
if(T.charge_delay <= 2)
- R << "A cooling unit is already installed!"
- usr << "There's no room for another cooling unit!"
+ to_chat(R, "A cooling unit is already installed!")
+ to_chat(usr, "There's no room for another cooling unit!")
return
T.charge_delay = max(2 , T.charge_delay - 4)
@@ -122,7 +122,7 @@
return
if(R.ionpulse)
- usr << "This unit already has ion thrusters installed!"
+ to_chat(usr, "This unit already has ion thrusters installed!")
return
R.ionpulse = TRUE
@@ -222,7 +222,7 @@
var/obj/item/borg/upgrade/selfrepair/U = locate() in R
if(U)
- usr << "This unit is already equipped with a self-repair module."
+ to_chat(usr, "This unit is already equipped with a self-repair module.")
return 0
cyborg = R
@@ -243,10 +243,10 @@
/obj/item/borg/upgrade/selfrepair/ui_action_click()
on = !on
if(on)
- cyborg << "You activate the self-repair module."
+ to_chat(cyborg, "You activate the self-repair module.")
START_PROCESSING(SSobj, src)
else
- cyborg << "You deactivate the self-repair module."
+ to_chat(cyborg, "You deactivate the self-repair module.")
STOP_PROCESSING(SSobj, src)
update_icon()
@@ -271,12 +271,12 @@
if(cyborg && (cyborg.stat != DEAD) && on)
if(!cyborg.cell)
- cyborg << "Self-repair module deactivated. Please, insert the power cell."
+ to_chat(cyborg, "Self-repair module deactivated. Please, insert the power cell.")
deactivate()
return
if(cyborg.cell.charge < powercost * 2)
- cyborg << "Self-repair module deactivated. Please recharge."
+ to_chat(cyborg, "Self-repair module deactivated. Please recharge.")
deactivate()
return
@@ -301,7 +301,7 @@
msgmode = "critical"
else if(cyborg.health < cyborg.maxHealth)
msgmode = "normal"
- cyborg << "Self-repair is active in [msgmode] mode."
+ to_chat(cyborg, "Self-repair is active in [msgmode] mode.")
msg_cooldown = world.time
else
deactivate()
diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index 7f90df22720..673c1a56006 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -30,7 +30,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
removeOverlays()
- user << "You slice off [src]'s uneven chunks of aluminium and scorch marks."
+ to_chat(user, "You slice off [src]'s uneven chunks of aluminium and scorch marks.")
else
return ..()
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 1e984a21b04..4f09303acf9 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -23,11 +23,11 @@
t_him = "him"
else if(M.gender == FEMALE)
t_him = "her"
- user << "\The [M] is dead, you cannot help [t_him]!"
+ to_chat(user, "\The [M] is dead, you cannot help [t_him]!")
return
if(!istype(M, /mob/living/carbon) && !istype(M, /mob/living/simple_animal))
- user << "You don't know how to apply \the [src] to [M]!"
+ to_chat(user, "You don't know how to apply \the [src] to [M]!")
return 1
var/obj/item/bodypart/affecting
@@ -35,16 +35,16 @@
var/mob/living/carbon/C = M
affecting = C.get_bodypart(check_zone(user.zone_selected))
if(!affecting) //Missing limb?
- user << "[C] doesn't have \a [parse_zone(user.zone_selected)]!"
+ to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!")
return
if(ishuman(C))
var/mob/living/carbon/human/H = C
if(stop_bleeding)
if(H.bleedsuppress)
- user << "[H]'s bleeding is already bandaged!"
+ to_chat(user, "[H]'s bleeding is already bandaged!")
return
else if(!H.bleed_rate)
- user << "[H] isn't bleeding!"
+ to_chat(user, "[H] isn't bleeding!")
return
@@ -57,13 +57,13 @@
if (istype(M, /mob/living/simple_animal))
var/mob/living/simple_animal/critter = M
if (!(critter.healable))
- user << " You cannot use [src] on [M]!"
+ to_chat(user, " You cannot use [src] on [M]!")
return
else if (critter.health == critter.maxHealth)
- user << " [M] is at full health."
+ to_chat(user, " [M] is at full health.")
return
else if(src.heal_brute < 1)
- user << " [src] won't help [M] at all."
+ to_chat(user, " [src] won't help [M] at all.")
return
user.visible_message("[user] applies [src] on [M].", "You apply [src] on [M].")
else
@@ -82,7 +82,7 @@
var/mob/living/carbon/C = M
affecting = C.get_bodypart(check_zone(user.zone_selected))
if(!affecting) //Missing limb?
- user << "[C] doesn't have \a [parse_zone(user.zone_selected)]!"
+ to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!")
return
if(ishuman(C))
var/mob/living/carbon/human/H = C
@@ -93,7 +93,7 @@
if(affecting.heal_damage(heal_brute, heal_burn))
C.update_damage_overlays()
else
- user << "Medicine won't work on a robotic limb!"
+ to_chat(user, "Medicine won't work on a robotic limb!")
else
M.heal_bodypart_damage((src.heal_brute/2), (src.heal_burn/2))
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 7950fc21bc8..1f3b9a8b9b6 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -39,7 +39,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
var/obj/item/weapon/weldingtool/WT = W
if(get_amount() < 2)
- user << "You need at least two rods to do this!"
+ to_chat(user, "You need at least two rods to do this!")
return
if(WT.remove_fuel(0,user))
@@ -57,9 +57,9 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/S = W
if(amount != 1)
- user << "You must use a single rod!"
+ to_chat(user, "You must use a single rod!")
else if(S.w_class > WEIGHT_CLASS_SMALL)
- user << "The ingredient is too big for [src]!"
+ to_chat(user, "The ingredient is too big for [src]!")
else
var/obj/item/weapon/reagent_containers/food/snacks/customizable/A = new/obj/item/weapon/reagent_containers/food/snacks/customizable/kebab(get_turf(src))
A.initialize_custom_food(src, S, user)
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index b626c0df71f..ec565618d8b 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -41,11 +41,11 @@ var/global/list/datum/stack_recipe/glass_recipes = list ( \
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if (get_amount() < 1 || CC.get_amount() < 5)
- user << "You need five lengths of coil and one sheet of glass to make wired glass!")
return
CC.use(5)
use(1)
- user << "You attach wire to the [name]."
+ to_chat(user, "You attach wire to the [name].")
var/obj/item/stack/light_w/new_tile = new(user.loc)
new_tile.add_fingerprint(user)
else if(istype(W, /obj/item/stack/rods))
@@ -61,7 +61,7 @@ var/global/list/datum/stack_recipe/glass_recipes = list ( \
if (!G && replace)
user.put_in_hands(RG)
else
- user << "You need one rod and one sheet of glass to make reinforced glass!"
+ to_chat(user, "You need one rod and one sheet of glass to make reinforced glass!")
return
else
return ..()
@@ -159,11 +159,11 @@ var/global/list/datum/stack_recipe/reinforced_glass_recipes = list ( \
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(!H.gloves && !(PIERCEIMMUNE in H.dna.species.species_traits)) // golems, etc
- H << "[src] cuts into your hand!"
+ to_chat(H, "[src] cuts into your hand!")
H.apply_damage(force*0.5, BRUTE, hit_hand)
else if(ismonkey(user))
var/mob/living/carbon/monkey/M = user
- M << "[src] cuts into your hand!"
+ to_chat(M, "[src] cuts into your hand!")
M.apply_damage(force*0.5, BRUTE, hit_hand)
@@ -180,7 +180,7 @@ var/global/list/datum/stack_recipe/reinforced_glass_recipes = list ( \
if(G.amount >= G.max_amount)
continue
G.attackby(NG, user)
- user << "You add the newly-formed glass to the stack. It now contains [NG.amount] sheet\s."
+ to_chat(user, "You add the newly-formed glass to the stack. It now contains [NG.amount] sheet\s.")
qdel(src)
else
return ..()
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 94dd7a9e5d9..110af75e355 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -173,7 +173,7 @@ var/global/list/datum/stack_recipe/sinew_recipes = list ( \
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
user.visible_message("[user] starts cutting hair off \the [src].", "You start cutting the hair off \the [src]...", "You hear the sound of a knife rubbing against flesh.")
if(do_after(user,50, target = src))
- user << "You cut the hair from this [src.singular_name]."
+ to_chat(user, "You cut the hair from this [src.singular_name].")
//Try locating an exisitng stack on the tile and add to there if possible
for(var/obj/item/stack/sheet/hairlesshide/HS in user.loc)
if(HS.amount < 50)
diff --git a/code/game/objects/items/stacks/sheets/light.dm b/code/game/objects/items/stacks/sheets/light.dm
index 969ebe3d9dd..684f72141ee 100644
--- a/code/game/objects/items/stacks/sheets/light.dm
+++ b/code/game/objects/items/stacks/sheets/light.dm
@@ -29,9 +29,9 @@
if (M.use(1))
use(1)
var/obj/item/L = new /obj/item/stack/tile/light(user.loc)
- user << "You make a light tile."
+ to_chat(user, "You make a light tile.")
L.add_fingerprint(user)
else
- user << "You need one metal sheet to finish the light tile!"
+ to_chat(user, "You need one metal sheet to finish the light tile!")
else
return ..()
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 93ae48efbda..4ed45662e40 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -272,13 +272,13 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
/obj/item/stack/sheet/runed_metal/attack_self(mob/living/user)
if(!iscultist(user))
- user << "Only one with forbidden knowledge could hope to work this metal..."
+ to_chat(user, "Only one with forbidden knowledge could hope to work this metal...")
return
return ..()
/obj/item/stack/sheet/runed_metal/attack(atom/target, mob/living/user)
if(!iscultist(user))
- user << "Only one with forbidden knowledge could hope to work this metal..."
+ to_chat(user, "Only one with forbidden knowledge could hope to work this metal...")
return
..()
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 2d7f5b430ee..3f3a5b4aa31 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -38,19 +38,19 @@
..()
if (is_cyborg)
if(src.singular_name)
- user << "There is enough energy for [src.get_amount()] [src.singular_name]\s."
+ to_chat(user, "There is enough energy for [src.get_amount()] [src.singular_name]\s.")
else
- user << "There is enough energy for [src.get_amount()]."
+ to_chat(user, "There is enough energy for [src.get_amount()].")
return
if(src.singular_name)
if(src.get_amount()>1)
- user << "There are [src.get_amount()] [src.singular_name]\s in the stack."
+ to_chat(user, "There are [src.get_amount()] [src.singular_name]\s in the stack.")
else
- user << "There is [src.get_amount()] [src.singular_name] in the stack."
+ to_chat(user, "There is [src.get_amount()] [src.singular_name] in the stack.")
else if(src.get_amount()>1)
- user << "There are [src.get_amount()] in the stack."
+ to_chat(user, "There are [src.get_amount()] in the stack.")
else
- user << "There is [src.get_amount()] in the stack."
+ to_chat(user, "There is [src.get_amount()] in the stack.")
/obj/item/stack/proc/get_amount()
if(is_cyborg)
@@ -162,18 +162,18 @@
/obj/item/stack/proc/building_checks(datum/stack_recipe/R, multiplier)
if (src.get_amount() < R.req_amount*multiplier)
if (R.req_amount*multiplier>1)
- usr << "You haven't got enough [src] to build \the [R.req_amount*multiplier] [R.title]\s!"
+ to_chat(usr, "You haven't got enough [src] to build \the [R.req_amount*multiplier] [R.title]\s!")
else
- usr << "You haven't got enough [src] to build \the [R.title]!"
+ to_chat(usr, "You haven't got enough [src] to build \the [R.title]!")
return 0
if(R.window_checks && !valid_window_location(usr.loc, usr.dir))
- usr << "The [R.title] won't fit here!"
+ to_chat(usr, "The [R.title] won't fit here!")
return 0
if(R.one_per_turf && (locate(R.result_type) in usr.loc))
- usr << "There is another [R.title] here!"
+ to_chat(usr, "There is another [R.title] here!")
return 0
if(R.on_floor && !isfloorturf(usr.loc))
- usr << "\The [R.title] must be constructed on the floor!"
+ to_chat(usr, "\The [R.title] must be constructed on the floor!")
return 0
return 1
@@ -238,7 +238,7 @@
/obj/item/stack/AltClick(mob/living/user)
if(!istype(user) || !user.canUseTopic(src))
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -253,7 +253,7 @@
return
else
change_stack(user,stackmaterial)
- user << "You take [stackmaterial] sheets out of the stack"
+ to_chat(user, "You take [stackmaterial] sheets out of the stack")
/obj/item/stack/proc/change_stack(mob/user,amount)
var/obj/item/stack/F = new src.type(user, amount)
@@ -270,7 +270,7 @@
if(istype(W, merge_type))
var/obj/item/stack/S = W
merge(S)
- user << "Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s."
+ to_chat(user, "Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s.")
else
. = ..()
diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm
index 503efd14d1c..dec6074b0c1 100644
--- a/code/game/objects/items/stacks/telecrystal.dm
+++ b/code/game/objects/items/stacks/telecrystal.dm
@@ -15,7 +15,7 @@
if(I && I.imp_in)
I.hidden_uplink.telecrystals += amount
use(amount)
- user << "You press [src] onto yourself and charge your hidden uplink."
+ to_chat(user, "You press [src] onto yourself and charge your hidden uplink.")
/obj/item/stack/telecrystal/afterattack(obj/item/I, mob/user, proximity)
if(!proximity)
@@ -24,7 +24,7 @@
if(I.hidden_uplink && I.hidden_uplink.active) //No metagaming by using this on every PDA around just to see if it gets used up.
I.hidden_uplink.telecrystals += amount
use(amount)
- user << "You slot [src] into the [I] and charge its internal uplink."
+ to_chat(user, "You slot [src] into the [I] and charge its internal uplink.")
/obj/item/stack/telecrystal/five
amount = 5
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 861c9c0bbdf..f2432cee3d0 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -24,11 +24,11 @@
var/obj/item/weapon/weldingtool/WT = W
if(get_amount() < 4)
- user << "You need at least four tiles to do this!"
+ to_chat(user, "You need at least four tiles to do this!")
return
if(WT.is_hot() && !mineralType)
- user << "You can not reform this!"
+ to_chat(user, "You can not reform this!")
return
if(WT.remove_fuel(0,user))
@@ -116,7 +116,7 @@
singular_name = "fake pit"
desc = "A piece of carpet with a forced perspective illusion of a pit. No way this could fool anyone!"
icon_state = "tile_pit"
- turf_type = /turf/open/floor/fakepit
+ turf_type = /turf/open/floor/fakepit
resistance_flags = FLAMMABLE
merge_type = /obj/item/stack/tile/fakepit
diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm
index 44691f65c29..7dcc2acb66e 100644
--- a/code/game/objects/items/stacks/wrap.dm
+++ b/code/game/objects/items/stacks/wrap.dm
@@ -81,7 +81,7 @@
if(O.opened)
return
if(!O.delivery_icon) //no delivery icon means unwrappable closet (e.g. body bags)
- user << "You can't wrap this!"
+ to_chat(user, "You can't wrap this!")
return
if(use(3))
var/obj/structure/bigDelivery/P = new /obj/structure/bigDelivery(get_turf(O.loc))
@@ -90,10 +90,10 @@
P.add_fingerprint(user)
O.add_fingerprint(user)
else
- user << "You need more paper!"
+ to_chat(user, "You need more paper!")
return
else
- user << "The object you are trying to wrap is unsuitable for the sorting machinery!"
+ to_chat(user, "The object you are trying to wrap is unsuitable for the sorting machinery!")
return
user.visible_message("[user] wraps [target].")
diff --git a/code/game/objects/items/taster.dm b/code/game/objects/items/taster.dm
index e555f6a92cb..5f88f06af43 100644
--- a/code/game/objects/items/taster.dm
+++ b/code/game/objects/items/taster.dm
@@ -17,4 +17,4 @@
if(O.reagents)
var/message = O.reagents.generate_taste_message(taste_sensitivity)
- user << "[src] tastes [message] in [O]."
+ to_chat(user, "[src] tastes [message] in [O].")
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 3a2ed505cb1..8f5cbf5e75e 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -53,12 +53,12 @@
if (istype(A, /obj/structure/reagent_dispensers))
var/obj/structure/reagent_dispensers/RD = A
if(RD.reagents.total_volume <= 0)
- user << "[RD] is empty."
+ to_chat(user, "[RD] is empty.")
else if(reagents.total_volume >= 10)
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
else
A.reagents.trans_to(src, 10)
- user << "You fill the balloon with the contents of [A]."
+ to_chat(user, "You fill the balloon with the contents of [A].")
desc = "A translucent balloon with some form of liquid sloshing around in it."
update_icon()
@@ -66,12 +66,12 @@
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(I.reagents)
if(I.reagents.total_volume <= 0)
- user << "[I] is empty."
+ to_chat(user, "[I] is empty.")
else if(reagents.total_volume >= 10)
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
else
desc = "A translucent balloon with some form of liquid sloshing around in it."
- user << "You fill the balloon with the contents of [I]."
+ to_chat(user, "You fill the balloon with the contents of [I].")
I.reagents.trans_to(src, 10)
update_icon()
else if(I.is_sharp())
@@ -146,23 +146,23 @@
/obj/item/toy/gun/examine(mob/user)
..()
- user << "There [bullets == 1 ? "is" : "are"] [bullets] cap\s left."
+ to_chat(user, "There [bullets == 1 ? "is" : "are"] [bullets] cap\s left.")
/obj/item/toy/gun/attackby(obj/item/toy/ammo/gun/A, mob/user, params)
if(istype(A, /obj/item/toy/ammo/gun))
if (src.bullets >= 7)
- user << "It's already fully loaded!"
+ to_chat(user, "It's already fully loaded!")
return 1
if (A.amount_left <= 0)
- user << "There are no more caps!"
+ to_chat(user, "There are no more caps!")
return 1
if (A.amount_left < (7 - src.bullets))
src.bullets += A.amount_left
- user << text("You reload [] cap\s.", A.amount_left)
+ to_chat(user, text("You reload [] cap\s.", A.amount_left))
A.amount_left = 0
else
- user << text("You reload [] cap\s.", 7 - src.bullets)
+ to_chat(user, text("You reload [] cap\s.", 7 - src.bullets))
A.amount_left -= 7 - src.bullets
src.bullets = 7
A.update_icon()
@@ -174,7 +174,7 @@
if (flag)
return
if (!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return
src.add_fingerprint(user)
if (src.bullets < 1)
@@ -201,7 +201,7 @@
/obj/item/toy/ammo/gun/examine(mob/user)
..()
- user << "There [amount_left == 1 ? "is" : "are"] [amount_left] cap\s left."
+ to_chat(user, "There [amount_left == 1 ? "is" : "are"] [amount_left] cap\s left.")
/*
* Toy swords
@@ -220,7 +220,7 @@
/obj/item/toy/sword/attack_self(mob/user)
active = !( active )
if (active)
- user << "You extend the plastic blade with a quick flick of your wrist."
+ to_chat(user, "You extend the plastic blade with a quick flick of your wrist.")
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
if(hacked)
icon_state = "swordrainbow"
@@ -230,7 +230,7 @@
item_state = "swordblue"
w_class = WEIGHT_CLASS_BULKY
else
- user << "You push the plastic blade back down into the handle."
+ to_chat(user, "You push the plastic blade back down into the handle.")
playsound(user, 'sound/weapons/saberoff.ogg', 20, 1)
icon_state = "sword0"
item_state = "sword0"
@@ -241,10 +241,10 @@
/obj/item/toy/sword/attackby(obj/item/weapon/W, mob/living/user, params)
if(istype(W, /obj/item/toy/sword))
if((W.flags & NODROP) || (flags & NODROP))
- user << "\the [flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [flags & NODROP ? W : src]!"
+ to_chat(user, "\the [flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [flags & NODROP ? W : src]!")
return
else
- user << "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool."
+ to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.")
var/obj/item/weapon/twohanded/dualsaber/toy/newSaber = new /obj/item/weapon/twohanded/dualsaber/toy(user.loc)
if(hacked) // That's right, we'll only check the "original" "sword".
newSaber.hacked = 1
@@ -255,13 +255,13 @@
if(hacked == 0)
hacked = 1
item_color = "rainbow"
- user << "RNBW_ENGAGE"
+ to_chat(user, "RNBW_ENGAGE")
if(active)
icon_state = "swordrainbow"
user.update_inv_hands()
else
- user << "It's already fabulous!"
+ to_chat(user, "It's already fabulous!")
else
return ..()
@@ -347,7 +347,7 @@
if(ishuman(H) || issilicon(H)) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/M = H
if(issilicon(H) || M.m_intent == MOVE_INTENT_RUN)
- M << "You step on the snap pop!"
+ to_chat(M, "You step on the snap pop!")
pop_burst(2, 0)
/obj/item/toy/snappop/phoenix
@@ -380,7 +380,7 @@
//all credit to skasi for toy mech fun ideas
/obj/item/toy/prize/attack_self(mob/user)
if(timer < world.time)
- user << "You play with [src]."
+ to_chat(user, "You play with [src].")
timer = world.time + cooldown
if(!quiet)
playsound(user, 'sound/mecha/mechstep.ogg', 20, 1)
@@ -694,7 +694,7 @@
return
var/choice = null
if(cards.len == 0)
- user << "There are no more cards to draw!"
+ to_chat(user, "There are no more cards to draw!")
return
var/obj/item/toy/cards/singlecard/H = new/obj/item/toy/cards/singlecard(user.loc)
if(holo)
@@ -732,25 +732,25 @@
var/obj/item/toy/cards/singlecard/SC = I
if(SC.parentdeck == src)
if(!user.temporarilyRemoveItemFromInventory(SC))
- user << "The card is stuck to your hand, you can't add it to the deck!"
+ to_chat(user, "The card is stuck to your hand, you can't add it to the deck!")
return
cards += SC.cardname
user.visible_message("[user] adds a card to the bottom of the deck.","You add the card to the bottom of the deck.")
qdel(SC)
else
- user << "You can't mix cards from other decks!"
+ to_chat(user, "You can't mix cards from other decks!")
update_icon()
else if(istype(I, /obj/item/toy/cards/cardhand))
var/obj/item/toy/cards/cardhand/CH = I
if(CH.parentdeck == src)
if(!user.temporarilyRemoveItemFromInventory(CH))
- user << "The hand of cards is stuck to your hand, you can't add it to the deck!"
+ to_chat(user, "The hand of cards is stuck to your hand, you can't add it to the deck!")
return
cards += CH.currenthand
user.visible_message("[user] puts their hand of cards in the deck.", "You put the hand of cards in the deck.")
qdel(CH)
else
- user << "You can't mix cards from other decks!"
+ to_chat(user, "You can't mix cards from other decks!")
update_icon()
else
return ..()
@@ -762,15 +762,15 @@
if(Adjacent(usr))
if(over_object == M && loc != M)
M.put_in_hands(src)
- usr << "You pick up the deck."
+ to_chat(usr, "You pick up the deck.")
else if(istype(over_object, /obj/screen/inventory/hand))
var/obj/screen/inventory/hand/H = over_object
if(M.putItemFromInventoryInHandIfPossible(src, H.held_index))
- usr << "You pick up the deck."
+ to_chat(usr, "You pick up the deck.")
else
- usr << "You can't reach it from here!"
+ to_chat(usr, "You can't reach it from here!")
@@ -833,7 +833,7 @@
qdel(src)
N.pickup(cardUser)
cardUser.put_in_hands(N)
- cardUser << "You also take [currenthand[1]] and hold it."
+ to_chat(cardUser, "You also take [currenthand[1]] and hold it.")
cardUser << browse(null, "window=cardhand")
return
@@ -851,7 +851,7 @@
else if(currenthand.len > 2)
src.icon_state = "[deckstyle]_hand3"
else
- user << "You can't mix cards from other decks!"
+ to_chat(user, "You can't mix cards from other decks!")
else
return ..()
@@ -884,7 +884,7 @@
if(cardUser.is_holding(src))
cardUser.visible_message("[cardUser] checks [cardUser.p_their()] card.", "The card reads: [cardname]")
else
- cardUser << "You need to have the card in your hand to check it!"
+ to_chat(cardUser, "You need to have the card in your hand to check it!")
/obj/item/toy/cards/singlecard/verb/Flip()
@@ -917,13 +917,13 @@
H.currenthand += src.cardname
H.parentdeck = C.parentdeck
H.apply_card_vars(H,C)
- user << "You combine the [C.cardname] and the [src.cardname] into a hand."
+ to_chat(user, "You combine the [C.cardname] and the [src.cardname] into a hand.")
qdel(C)
qdel(src)
H.pickup(user)
user.put_in_active_hand(H)
else
- user << "You can't mix cards from other decks!"
+ to_chat(user, "You can't mix cards from other decks!")
if(istype(I, /obj/item/toy/cards/cardhand/))
var/obj/item/toy/cards/cardhand/H = I
@@ -939,7 +939,7 @@
else if(H.currenthand.len > 2)
H.icon_state = "[deckstyle]_hand3"
else
- user << "You can't mix cards from other decks!"
+ to_chat(user, "You can't mix cards from other decks!")
else
return ..()
@@ -1007,7 +1007,7 @@
icon_state = "nuketoyidle"
else
var/timeleft = (cooldown - world.time)
- user << "Nothing happens, and '[round(timeleft/10)]' appears on a small display."
+ to_chat(user, "Nothing happens, and '[round(timeleft/10)]' appears on a small display.")
/*
* Fake meteor
@@ -1051,7 +1051,7 @@
//Attack self
/obj/item/toy/carpplushie/attack_self(mob/user)
playsound(src.loc, bitesound, 20, 1)
- user << "You pet [src]. D'awww."
+ to_chat(user, "You pet [src]. D'awww.")
return ..()
/*
@@ -1076,7 +1076,7 @@
shake_camera(M, 2, 1) // Shakes player camera 2 squares for 1 second.
else
- user << "Nothing happens."
+ to_chat(user, "Nothing happens.")
/*
* Snowballs
@@ -1138,7 +1138,7 @@
if(src)
icon_state = "[initial(icon_state)]"
else
- user << "The string on [src] hasn't rewound all the way!"
+ to_chat(user, "The string on [src] hasn't rewound all the way!")
return
// TOY MOUSEYS :3 :3 :3
@@ -1173,7 +1173,7 @@
/obj/item/toy/figure/attack_self(mob/user as mob)
if(cooldown <= world.time)
cooldown = world.time + 50
- user << "The [src] says \"[toysay]\""
+ to_chat(user, "The [src] says \"[toysay]\"")
playsound(user, toysound, 20, 1)
/obj/item/toy/figure/cmo
@@ -1378,7 +1378,7 @@
if(!new_name)
return
doll_name = new_name
- user << "You name the dummy as \"[doll_name]\""
+ to_chat(user, "You name the dummy as \"[doll_name]\"")
name = "[initial(name)] - [doll_name]"
/obj/item/toy/dummy/talk_into(atom/movable/M, message, channel, list/spans)
diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm
index c07e0744bd0..3fb99d53853 100644
--- a/code/game/objects/items/weapons/AI_modules.dm
+++ b/code/game/objects/items/weapons/AI_modules.dm
@@ -34,14 +34,14 @@ AI MODULES
/obj/item/weapon/aiModule/proc/show_laws(var/mob/user as mob)
if(laws.len)
- user << "Programmed Law[(laws.len > 1) ? "s" : ""]:"
+ to_chat(user, "Programmed Law[(laws.len > 1) ? "s" : ""]:")
for(var/law in laws)
- user << "\"[law]\""
+ to_chat(user, "\"[law]\"")
//The proc other things should be calling
/obj/item/weapon/aiModule/proc/install(datum/ai_laws/law_datum, mob/user)
if(!bypass_law_amt_check && (!laws.len || laws[1] == "")) //So we don't loop trough an empty list and end up with runtimes.
- user << "ERROR: No laws found on board."
+ to_chat(user, "ERROR: No laws found on board.")
return
var/overflow = FALSE
@@ -53,16 +53,16 @@ AI MODULES
if(mylaw != "")
tot_laws++
if(tot_laws > config.silicon_max_law_amount && !bypass_law_amt_check)//allows certain boards to avoid this check, eg: reset
- user << "Not enough memory allocated to [law_datum.owner ? law_datum.owner : "the AI core"]'s law processor to handle this amount of laws."
+ to_chat(user, "Not enough memory allocated to [law_datum.owner ? law_datum.owner : "the AI core"]'s law processor to handle this amount of laws.")
message_admins("[key_name_admin(user)] tried to upload laws to [law_datum.owner ? key_name_admin(law_datum.owner) : "an AI core"] that would exceed the law cap.")
overflow = TRUE
var/law2log = transmitInstructions(law_datum, user, overflow) //Freeforms return something extra we need to log
if(law_datum.owner)
- user << "Upload complete. [law_datum.owner]'s laws have been modified."
+ to_chat(user, "Upload complete. [law_datum.owner]'s laws have been modified.")
law_datum.owner.law_change_counter++
else
- user << "Upload complete."
+ to_chat(user, "Upload complete.")
var/time = time2text(world.realtime,"hh:mm:ss")
var/ainame = law_datum.owner ? law_datum.owner.name : "empty AI core"
@@ -74,7 +74,7 @@ AI MODULES
//The proc that actually changes the silicon's laws.
/obj/item/weapon/aiModule/proc/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow = FALSE)
if(law_datum.owner)
- law_datum.owner << "[sender] has uploaded a change to the laws you must follow using a [name]."
+ to_chat(law_datum.owner, "[sender] has uploaded a change to the laws you must follow using a [name].")
/******************** Modules ********************/
@@ -110,10 +110,10 @@ AI MODULES
/obj/item/weapon/aiModule/zeroth/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow)
if(law_datum.owner)
if(law_datum.owner.laws.zeroth)
- law_datum.owner << "[sender.real_name] attempted to modify your zeroth law."
- law_datum.owner << "It would be in your best interest to play along with [sender.real_name] that:"
+ to_chat(law_datum.owner, "[sender.real_name] attempted to modify your zeroth law.")
+ to_chat(law_datum.owner, "It would be in your best interest to play along with [sender.real_name] that:")
for(var/failedlaw in laws)
- law_datum.owner << "[failedlaw]"
+ to_chat(law_datum.owner, "[failedlaw]")
return 1
for(var/templaw in laws)
@@ -161,7 +161,7 @@ AI MODULES
/obj/item/weapon/aiModule/supplied/safeguard/install(datum/ai_laws/law_datum, mob/user)
if(!targetName)
- user << "No name detected on module, please enter one."
+ to_chat(user, "No name detected on module, please enter one.")
return 0
..()
@@ -188,7 +188,7 @@ AI MODULES
/obj/item/weapon/aiModule/zeroth/oneHuman/install(datum/ai_laws/law_datum, mob/user)
if(!targetName)
- user << "No name detected on module, please enter one."
+ to_chat(user, "No name detected on module, please enter one.")
return 0
..()
@@ -255,7 +255,7 @@ AI MODULES
/obj/item/weapon/aiModule/supplied/freeform/install(datum/ai_laws/law_datum, mob/user)
if(laws[1] == "")
- user << "No law detected on module, please create one."
+ to_chat(user, "No law detected on module, please create one.")
return 0
..()
@@ -274,15 +274,15 @@ AI MODULES
if(lawpos == null)
return
if(lawpos <= 0)
- user << "Error: The law number of [lawpos] is invalid."
+ to_chat(user, "Error: The law number of [lawpos] is invalid.")
lawpos = 1
return
- user << "Law [lawpos] selected."
+ to_chat(user, "Law [lawpos] selected.")
..()
/obj/item/weapon/aiModule/remove/install(datum/ai_laws/law_datum, mob/user)
if(lawpos > (law_datum.get_law_amount(list(LAW_INHERENT = 1, LAW_SUPPLIED = 1))))
- user << "There is no law [lawpos] to delete!"
+ to_chat(user, "There is no law [lawpos] to delete!")
return
..()
@@ -482,7 +482,7 @@ AI MODULES
/obj/item/weapon/aiModule/syndicate/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow)
// ..() //We don't want this module reporting to the AI who dun it. --NEO
if(law_datum.owner)
- law_datum.owner << "BZZZZT"
+ to_chat(law_datum.owner, "BZZZZT")
if(!overflow)
law_datum.owner.add_ion_law(laws[1])
else
@@ -507,7 +507,7 @@ AI MODULES
/obj/item/weapon/aiModule/toyAI/transmitInstructions(datum/ai_laws/law_datum, mob/sender, overflow)
//..()
if(law_datum.owner)
- law_datum.owner << "BZZZZT"
+ to_chat(law_datum.owner, "BZZZZT")
if(!overflow)
law_datum.owner.add_ion_law(laws[1])
else
@@ -521,7 +521,7 @@ AI MODULES
/obj/item/weapon/aiModule/toyAI/attack_self(mob/user)
laws[1] = generate_ion_law()
- user << "You press the button on [src]."
+ to_chat(user, "You press the button on [src].")
playsound(user, 'sound/machines/click.ogg', 20, 1)
src.loc.visible_message("\icon[src] [laws[1]]")
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 4b84a0b529f..0f013caa16c 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -90,8 +90,7 @@ RCD
window_type = /obj/structure/window/fulltile
window_type_name = "glass"
- usr << "You change \the [src]'s window mode \
- to [window_type_name]."
+ to_chat(usr, "You change \the [src]'s window mode to [window_type_name].")
/obj/item/weapon/rcd/verb/change_airlock_access()
set name = "Change Airlock Access"
@@ -261,7 +260,7 @@ RCD
if(istype(W, /obj/item/weapon/rcd_ammo))
var/obj/item/weapon/rcd_ammo/R = W
if((matter + R.ammoamt) > max_matter)
- user << "The RCD can't hold any more matter-units!"
+ to_chat(user, "The RCD can't hold any more matter-units!")
return
qdel(W)
matter += R.ammoamt
@@ -272,7 +271,7 @@ RCD
else if(istype(W, /obj/item/stack/sheet/plasteel))
loaded = loadwithsheets(W, plasteelmultiplier*sheetmultiplier, user) //Plasteel is worth 3 times more than glass or metal
if(loaded)
- user << "The RCD now holds [matter]/[max_matter] matter-units."
+ to_chat(user, "The RCD now holds [matter]/[max_matter] matter-units.")
desc = "A RCD. It currently holds [matter]/[max_matter] matter-units."
else
return ..()
@@ -284,9 +283,9 @@ RCD
S.use(amount_to_use)
matter += value*amount_to_use
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- user << "You insert [amount_to_use] [S.name] sheets into the RCD. "
+ to_chat(user, "You insert [amount_to_use] [S.name] sheets into the RCD. ")
return 1
- user << "You can't insert any more [S.name] sheets into the RCD!"
+ to_chat(user, "You can't insert any more [S.name] sheets into the RCD!")
return 0
/obj/item/weapon/rcd/attack_self(mob/user)
@@ -295,16 +294,16 @@ RCD
switch(mode)
if(1)
mode = 2
- user << "You change RCD's mode to 'Airlock'."
+ to_chat(user, "You change RCD's mode to 'Airlock'.")
if(2)
mode = 3
- user << "You change RCD's mode to 'Deconstruct'."
+ to_chat(user, "You change RCD's mode to 'Deconstruct'.")
if(3)
mode = 4
- user << "You change RCD's mode to 'Grilles & Windows'."
+ to_chat(user, "You change RCD's mode to 'Grilles & Windows'.")
if(4)
mode = 1
- user << "You change RCD's mode to 'Floor & Walls'."
+ to_chat(user, "You change RCD's mode to 'Floor & Walls'.")
if(prob(20))
src.spark_system.start()
@@ -325,7 +324,7 @@ RCD
if(isspaceturf(A))
var/turf/open/space/S = A
if(useResource(floorcost, user))
- user << "You start building a floor..."
+ to_chat(user, "You start building a floor...")
activate()
S.ChangeTurf(/turf/open/floor/plating)
return 1
@@ -334,7 +333,7 @@ RCD
if(isfloorturf(A))
var/turf/open/floor/F = A
if(checkResource(wallcost, user))
- user << "You start building a wall..."
+ to_chat(user, "You start building a wall...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, walldelay, target = A))
if(!istype(F)) return 0
@@ -347,8 +346,7 @@ RCD
if(istype(A, /obj/structure/girder))
var/turf/open/floor/F = get_turf(A)
if(checkResource(girderupgradecost, user))
- user << "You start finishing the \
- wall..."
+ to_chat(user, "You start finishing the wall...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, walldelay, target = A))
if(!istype(A)) return 0
@@ -369,7 +367,7 @@ RCD
break
if(door_check)
- user << "You start building an airlock..."
+ to_chat(user, "You start building an airlock...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, airlockdelay, target = A))
if(!useResource(airlockcost, user)) return 0
@@ -395,7 +393,7 @@ RCD
return 1
return 0
else
- user << "There is another door here!"
+ to_chat(user, "There is another door here!")
return 0
return 0
@@ -405,7 +403,7 @@ RCD
if(istype(W, /turf/closed/wall/r_wall) && !canRturf)
return 0
if(checkResource(deconwallcost, user))
- user << "You start deconstructing [W]..."
+ to_chat(user, "You start deconstructing [W]...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, deconwalldelay, target = A))
if(!useResource(deconwallcost, user)) return 0
@@ -419,10 +417,10 @@ RCD
if(istype(F, /turf/open/floor/engine) && !canRturf)
return 0
if(istype(F, F.baseturf))
- user << "You can't dig any deeper!"
+ to_chat(user, "You can't dig any deeper!")
return 0
else if(checkResource(deconfloorcost, user))
- user << "You start deconstructing floor..."
+ to_chat(user, "You start deconstructing floor...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, deconfloordelay, target = A))
if(!useResource(deconfloorcost, user)) return 0
@@ -433,7 +431,7 @@ RCD
if(istype(A, /obj/machinery/door/airlock))
if(checkResource(deconairlockcost, user))
- user << "You start deconstructing airlock..."
+ to_chat(user, "You start deconstructing airlock...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, deconairlockdelay, target = A))
if(!useResource(deconairlockcost, user)) return 0
@@ -444,7 +442,7 @@ RCD
if(istype(A, /obj/structure/window))
if(checkResource(deconwindowcost, user))
- user << "You start deconstructing the window..."
+ to_chat(user, "You start deconstructing the window...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, deconwindowdelay, target = A))
if(!useResource(deconwindowcost, user)) return 0
@@ -457,7 +455,7 @@ RCD
var/obj/structure/grille/G = A
if(!G.shock(user, 90)) //if it's shocked, try to shock them
if(useResource(decongrillecost, user))
- user << "You start deconstructing the grille..."
+ to_chat(user, "You start deconstructing the grille...")
activate()
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
qdel(A)
@@ -466,8 +464,7 @@ RCD
if(istype(A, /obj/structure/girder))
if(useResource(decongirdercost, user))
- user << "You start deconstructing \
- [A]..."
+ to_chat(user, "You start deconstructing [A]...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, decongirderdelay, target = A))
if(!useResource(decongirdercost, user)) return 0
@@ -479,9 +476,9 @@ RCD
if(isfloorturf(A))
if(checkResource(grillecost, user))
if(locate(/obj/structure/grille) in A)
- user << "There is already a grille there!"
+ to_chat(user, "There is already a grille there!")
return 0
- user << "You start building a grille..."
+ to_chat(user, "You start building a grille...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, grilledelay, target = A))
if(locate(/obj/structure/grille) in A)
@@ -504,8 +501,7 @@ RCD
wname = "reinforced window"
if(checkResource(cost, user))
- user << "You start building a \
- [wname]..."
+ to_chat(user, "You start building a [wname]...")
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, windowdelay, target = A))
if(locate(/obj/structure/window) in A.loc) return 0
@@ -518,13 +514,13 @@ RCD
return 0
else
- user << "ERROR: RCD in MODE: [mode] attempted use by [user]. Send this text #coderbus or an admin."
+ to_chat(user, "ERROR: RCD in MODE: [mode] attempted use by [user]. Send this text #coderbus or an admin.")
return 0
/obj/item/weapon/rcd/proc/useResource(amount, mob/user)
if(matter < amount)
if(user)
- user << no_ammo_message
+ to_chat(user, no_ammo_message)
return 0
matter -= amount
desc = "An RCD. It currently holds [matter]/[max_matter] matter-units."
@@ -533,7 +529,7 @@ RCD
/obj/item/weapon/rcd/proc/checkResource(amount, mob/user)
. = matter >= amount
if(!. && user)
- user << no_ammo_message
+ to_chat(user, no_ammo_message)
return .
/obj/item/weapon/rcd/proc/detonate_pulse()
@@ -560,11 +556,11 @@ RCD
var/mob/living/silicon/robot/borgy = user
if(!borgy.cell)
if(user)
- user << no_ammo_message
+ to_chat(user, no_ammo_message)
return 0
. = borgy.cell.use(amount * 72) //borgs get 1.3x the use of their RCDs
if(!. && user)
- user << no_ammo_message
+ to_chat(user, no_ammo_message)
return .
/obj/item/weapon/rcd/borg/checkResource(amount, mob/user)
@@ -573,11 +569,11 @@ RCD
var/mob/living/silicon/robot/borgy = user
if(!borgy.cell)
if(user)
- user << no_ammo_message
+ to_chat(user, no_ammo_message)
return 0
. = borgy.cell.charge >= (amount * 72)
if(!. && user)
- user << no_ammo_message
+ to_chat(user, no_ammo_message)
return .
/obj/item/weapon/rcd/loaded
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
index a4d77803e05..3daa86ed8ec 100644
--- a/code/game/objects/items/weapons/RPD.dm
+++ b/code/game/objects/items/weapons/RPD.dm
@@ -547,14 +547,14 @@ var/global/list/RPD_recipes=list(
return
if(EATING_MODE) //Eating pipes
- user << "You start destroying a pipe..."
+ to_chat(user, "You start destroying a pipe...")
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 2, target = A))
activate()
qdel(A)
if(ATMOS_MODE) //Making pipes
- user << "You start building a pipe..."
+ to_chat(user, "You start building a pipe...")
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 2, target = A))
activate()
@@ -564,7 +564,7 @@ var/global/list/RPD_recipes=list(
P.add_fingerprint(usr)
if(METER_MODE) //Making pipe meters
- user << "You start building a meter..."
+ to_chat(user, "You start building a meter...")
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 2, target = A))
activate()
@@ -572,15 +572,15 @@ var/global/list/RPD_recipes=list(
if(DISPOSALS_MODE) //Making disposals pipes
if(is_anchored_dense_turf(A))
- user << "The [src]'s error light flickers; there's something in the way!"
+ to_chat(user, "The [src]'s error light flickers; there's something in the way!")
return
- user << "You start building a disposals pipe..."
+ to_chat(user, "You start building a disposals pipe...")
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 4, target = A))
var/obj/structure/disposalconstruct/C = new (A, queued_p_type ,queued_p_dir)
if(!C.can_place())
- user << "There's not enough room to build that here!"
+ to_chat(user, "There's not enough room to build that here!")
qdel(C)
return
diff --git a/code/game/objects/items/weapons/RSF.dm b/code/game/objects/items/weapons/RSF.dm
index 05df767b7da..2d0bce9c87d 100644
--- a/code/game/objects/items/weapons/RSF.dm
+++ b/code/game/objects/items/weapons/RSF.dm
@@ -19,7 +19,7 @@ RSF
/obj/item/weapon/rsf/examine(mob/user)
..()
- user << "It currently holds [matter]/30 fabrication-units."
+ to_chat(user, "It currently holds [matter]/30 fabrication-units.")
/obj/item/weapon/rsf/cyborg
matter = 30
@@ -27,12 +27,12 @@ RSF
/obj/item/weapon/rsf/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/rcd_ammo))
if((matter + 10) > 30)
- user << "The RSF can't hold any more matter."
+ to_chat(user, "The RSF can't hold any more matter.")
return
qdel(W)
matter += 10
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
- user << "The RSF now holds [matter]/30 fabrication-units."
+ to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
else
return ..()
@@ -41,22 +41,22 @@ RSF
switch(mode)
if(1)
mode = 2
- user << "Changed dispensing mode to 'Drinking Glass'"
+ to_chat(user, "Changed dispensing mode to 'Drinking Glass'")
if(2)
mode = 3
- user << "Changed dispensing mode to 'Paper'"
+ to_chat(user, "Changed dispensing mode to 'Paper'")
if(3)
mode = 4
- user << "Changed dispensing mode to 'Pen'"
+ to_chat(user, "Changed dispensing mode to 'Pen'")
if(4)
mode = 5
- user << "Changed dispensing mode to 'Dice Pack'"
+ to_chat(user, "Changed dispensing mode to 'Dice Pack'")
if(5)
mode = 6
- user << "Changed dispensing mode to 'Cigarette'"
+ to_chat(user, "Changed dispensing mode to 'Cigarette'")
if(6)
mode = 1
- user << "Changed dispensing mode to 'Dosh'"
+ to_chat(user, "Changed dispensing mode to 'Dosh'")
// Change mode
/obj/item/weapon/rsf/afterattack(atom/A, mob/user, proximity)
@@ -66,39 +66,39 @@ RSF
return
if(matter < 1)
- user << "\The [src] doesn't have enough matter left."
+ to_chat(user, "\The [src] doesn't have enough matter left.")
return
if(iscyborg(user))
var/mob/living/silicon/robot/R = user
if(!R.cell || R.cell.charge < 200)
- user << "You do not have enough power to use [src]."
+ to_chat(user, "You do not have enough power to use [src].")
return
var/turf/T = get_turf(A)
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
switch(mode)
if(1)
- user << "Dispensing Dosh..."
+ to_chat(user, "Dispensing Dosh...")
new /obj/item/stack/spacecash/c10(T)
use_matter(200, user)
if(2)
- user << "Dispensing Drinking Glass..."
+ to_chat(user, "Dispensing Drinking Glass...")
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(T)
use_matter(20, user)
if(3)
- user << "Dispensing Paper Sheet..."
+ to_chat(user, "Dispensing Paper Sheet...")
new /obj/item/weapon/paper(T)
use_matter(10, user)
if(4)
- user << "Dispensing Pen..."
+ to_chat(user, "Dispensing Pen...")
new /obj/item/weapon/pen(T)
use_matter(50, user)
if(5)
- user << "Dispensing Dice Pack..."
+ to_chat(user, "Dispensing Dice Pack...")
new /obj/item/weapon/storage/pill_bottle/dice(T)
use_matter(200, user)
if(6)
- user << "Dispensing Cigarette..."
+ to_chat(user, "Dispensing Cigarette...")
new /obj/item/clothing/mask/cigarette(T)
use_matter(10, user)
@@ -108,7 +108,7 @@ RSF
R.cell.charge -= charge
else
matter--
- user << "The RSF now holds [matter]/30 fabrication-units."
+ to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
/obj/item/weapon/cookiesynth
name = "Cookie Synthesizer"
@@ -124,7 +124,7 @@ RSF
/obj/item/weapon/cookiesynth/examine(mob/user)
..()
- user << "It currently holds [matter]/10 cookie-units."
+ to_chat(user, "It currently holds [matter]/10 cookie-units.")
/obj/item/weapon/cookiesynth/attackby()
return
@@ -132,9 +132,9 @@ RSF
/obj/item/weapon/cookiesynth/emag_act(mob/user)
emagged = !emagged
if(emagged)
- user << "You short out the [src]'s reagent safety checker!"
+ to_chat(user, "You short out the [src]'s reagent safety checker!")
else
- user << "You reset the [src]'s reagent safety checker!"
+ to_chat(user, "You reset the [src]'s reagent safety checker!")
toxin = 0
/obj/item/weapon/cookiesynth/attack_self(mob/user)
@@ -143,13 +143,13 @@ RSF
P = user
if(emagged&&!toxin)
toxin = 1
- user << "Cookie Synthesizer Hacked"
+ to_chat(user, "Cookie Synthesizer Hacked")
else if(P.emagged&&!toxin)
toxin = 1
- user << "Cookie Synthesizer Hacked"
+ to_chat(user, "Cookie Synthesizer Hacked")
else
toxin = 0
- user << "Cookie Synthesizer Reset"
+ to_chat(user, "Cookie Synthesizer Reset")
/obj/item/weapon/cookiesynth/process()
if(matter < 10)
@@ -163,16 +163,16 @@ RSF
if (!(istype(A, /obj/structure/table) || isfloorturf(A)))
return
if(matter < 1)
- user << "The [src] doesn't have enough matter left. Wait for it to recharge!"
+ to_chat(user, "The [src] doesn't have enough matter left. Wait for it to recharge!")
return
if(iscyborg(user))
var/mob/living/silicon/robot/R = user
if(!R.cell || R.cell.charge < 400)
- user << "You do not have enough power to use [src]."
+ to_chat(user, "You do not have enough power to use [src].")
return
var/turf/T = get_turf(A)
playsound(src.loc, 'sound/machines/click.ogg', 10, 1)
- user << "Fabricating Cookie.."
+ to_chat(user, "Fabricating Cookie..")
var/obj/item/weapon/reagent_containers/food/snacks/cookie/S = new /obj/item/weapon/reagent_containers/food/snacks/cookie(T)
if(toxin)
S.reagents.add_reagent("chloralhydrate2", 10)
diff --git a/code/game/objects/items/weapons/airlock_painter.dm b/code/game/objects/items/weapons/airlock_painter.dm
index 520323abcc3..badf4633294 100644
--- a/code/game/objects/items/weapons/airlock_painter.dm
+++ b/code/game/objects/items/weapons/airlock_painter.dm
@@ -34,10 +34,10 @@
//because you're expecting user input.
/obj/item/weapon/airlock_painter/proc/can_use(mob/user)
if(!ink)
- user << "There is no toner cartridge installed in [src]!"
+ to_chat(user, "There is no toner cartridge installed in [src]!")
return 0
else if(ink.charges < 1)
- user << "[src] is out of ink!"
+ to_chat(user, "[src] is out of ink!")
return 0
else
return 1
@@ -92,7 +92,7 @@
/obj/item/weapon/airlock_painter/examine(mob/user)
..()
if(!ink)
- user << "It doesn't have a toner cartridge installed."
+ to_chat(user, "It doesn't have a toner cartridge installed.")
return
var/ink_level = "high"
if(ink.charges < 1)
@@ -101,17 +101,17 @@
ink_level = "low"
else if((ink.charges/ink.max_charges) > 1) //Over 100% (admin var edit)
ink_level = "dangerously high"
- user << "Its ink levels look [ink_level]."
+ to_chat(user, "Its ink levels look [ink_level].")
/obj/item/weapon/airlock_painter/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/device/toner))
if(ink)
- user << "[src] already contains \a [ink]."
+ to_chat(user, "[src] already contains \a [ink].")
return
if(!user.transferItemToLoc(W, src))
return
- user << "You install [W] into [src]."
+ to_chat(user, "You install [W] into [src].")
ink = W
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
else
@@ -122,5 +122,5 @@
playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
ink.loc = user.loc
user.put_in_hands(ink)
- user << "You remove [ink] from [src]."
+ to_chat(user, "You remove [ink] from [src].")
ink = null
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 086291c58f3..0094275e889 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -94,7 +94,7 @@
/obj/item/weapon/card/id/examine(mob/user)
..()
if(mining_points)
- user << "There's [mining_points] mining equipment redemption point\s loaded onto this card."
+ to_chat(user, "There's [mining_points] mining equipment redemption point\s loaded onto this card.")
/obj/item/weapon/card/id/GetAccess()
return access
@@ -150,7 +150,7 @@ update_label("John Doe", "Clowny")
src.access |= I.access
if(isliving(user) && user.mind)
if(user.mind.special_role)
- usr << "The card's microscanners activate as you pass it over the ID, copying its access."
+ to_chat(usr, "The card's microscanners activate as you pass it over the ID, copying its access.")
/obj/item/weapon/card/id/syndicate/attack_self(mob/user)
if(isliving(user) && user.mind)
@@ -169,7 +169,7 @@ update_label("John Doe", "Clowny")
return
assignment = u
update_label()
- user << "You successfully forge the ID card."
+ to_chat(user, "You successfully forge the ID card.")
return
..()
@@ -249,7 +249,7 @@ update_label("John Doe", "Clowny")
var/points = 0
/obj/item/weapon/card/id/prisoner/attack_self(mob/user)
- usr << "You have accumulated [points] out of the [goal] points you need for freedom."
+ to_chat(usr, "You have accumulated [points] out of the [goal] points you need for freedom.")
/obj/item/weapon/card/id/prisoner/one
name = "Prisoner #13-001"
diff --git a/code/game/objects/items/weapons/chrono_eraser.dm b/code/game/objects/items/weapons/chrono_eraser.dm
index 258666543e8..5613891326c 100644
--- a/code/game/objects/items/weapons/chrono_eraser.dm
+++ b/code/game/objects/items/weapons/chrono_eraser.dm
@@ -82,14 +82,14 @@
var/mob/living/user = src.loc
if(F.gun)
if(isliving(user) && F.captured)
- user << "FAIL: [F.captured] already has an existing connection."
+ to_chat(user, "FAIL: [F.captured] already has an existing connection.")
src.field_disconnect(F)
else
startpos = get_turf(src)
field = F
F.gun = src
if(isliving(user) && F.captured)
- user << "Connection established with target: [F.captured]"
+ to_chat(user, "Connection established with target: [F.captured]")
/obj/item/weapon/gun/energy/chrono_gun/proc/field_disconnect(obj/effect/chrono_field/F)
@@ -98,7 +98,7 @@
if(F.gun == src)
F.gun = null
if(isliving(user) && F.captured)
- user << "Disconnected from target: [F.captured]"
+ to_chat(user, "Disconnected from target: [F.captured]")
field = null
startpos = null
@@ -199,7 +199,7 @@
AM.loc = loc
qdel(src)
else if(tickstokill <= 0)
- captured << "As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy..."
+ to_chat(captured, "As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy...")
var/mob/dead/observer/ghost = captured.ghostize(1)
if(captured.mind)
if(ghost)
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index 6e0902c4a79..44423ca62e0 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -77,7 +77,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M)
if(lit && cig && user.a_intent == INTENT_HELP)
if(cig.lit)
- user << "The [cig.name] is already lit."
+ to_chat(user, "The [cig.name] is already lit.")
if(M == user)
cig.attackby(src, user)
else
@@ -141,12 +141,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(istype(glass)) //you can dip cigarettes into beakers
var/transfered = glass.reagents.trans_to(src, chem_volume)
if(transfered) //if reagents were transfered, show the message
- user << "You dip \the [src] into \the [glass]."
+ to_chat(user, "You dip \the [src] into \the [glass].")
else //if not, either the beaker was empty, or the cigarette was full
if(!glass.reagents.total_volume)
- user << "[glass] is empty."
+ to_chat(user, "[glass] is empty.")
else
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
/obj/item/clothing/mask/cigarette/proc/light(flavor_text = null)
@@ -210,7 +210,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(smoketime < 1)
new type_butt(location)
if(ismob(loc))
- M << "Your [name] goes out."
+ to_chat(M, "Your [name] goes out.")
qdel(src)
return
open_flame()
@@ -231,7 +231,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M)
if(lit && cig && user.a_intent == INTENT_HELP)
if(cig.lit)
- user << "The [cig.name] is already lit."
+ to_chat(user, "The [cig.name] is already lit.")
if(M == user)
cig.attackby(src, user)
else
@@ -355,7 +355,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
new /obj/effect/decal/cleanable/ash(location)
if(ismob(loc))
var/mob/living/M = loc
- M << "Your [name] goes out."
+ to_chat(M, "Your [name] goes out.")
lit = 0
icon_state = icon_off
item_state = icon_off
@@ -374,7 +374,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/obj/item/weapon/reagent_containers/food/snacks/grown/G = O
if(!packeditem)
if(G.dry == 1)
- user << "You stuff [O] into [src]."
+ to_chat(user, "You stuff [O] into [src].")
smoketime = 400
packeditem = 1
name = "[O.name]-packed [initial(name)]"
@@ -382,16 +382,16 @@ CIGARETTE PACKETS ARE IN FANCY.DM
O.reagents.trans_to(src, O.reagents.total_volume)
qdel(O)
else
- user << "It has to be dried first!"
+ to_chat(user, "It has to be dried first!")
else
- user << "It is already packed!"
+ to_chat(user, "It is already packed!")
else
var/lighting_text = O.ignition_effect(src,user)
if(lighting_text)
if(smoketime > 0)
light(lighting_text)
else
- user << "There is nothing to smoke!"
+ to_chat(user, "There is nothing to smoke!")
else
return ..()
@@ -405,7 +405,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
STOP_PROCESSING(SSobj, src)
return
if(!lit && smoketime > 0)
- user << "You empty [src] onto [location]."
+ to_chat(user, "You empty [src] onto [location].")
new /obj/effect/decal/cleanable/ash(location)
packeditem = 0
smoketime = 0
@@ -513,7 +513,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M)
if(lit && cig && user.a_intent == INTENT_HELP)
if(cig.lit)
- user << "The [cig.name] is already lit."
+ to_chat(user, "The [cig.name] is already lit.")
if(M == user)
cig.attackby(src, user)
else
@@ -552,10 +552,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
qdel(target)
qdel(src)
user.put_in_active_hand(R)
- user << "You roll the [target.name] into a rolling paper."
+ to_chat(user, "You roll the [target.name] into a rolling paper.")
R.desc = "Dried [target.name] rolled up in a thin piece of paper."
else
- user << "You need to dry this first!"
+ to_chat(user, "You need to dry this first!")
else
..()
@@ -595,23 +595,23 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(reagents.total_volume < chem_volume)
if(O.reagents.total_volume > 0)
O.reagents.trans_to(src,25)
- user << "You add the contents of [O] to the [src]"
+ to_chat(user, "You add the contents of [O] to the [src]")
else
- user << "The [O] is empty!"
+ to_chat(user, "The [O] is empty!")
else
- user << "[src] can't hold anymore reagents!"
+ to_chat(user, "[src] can't hold anymore reagents!")
if(istype(O, /obj/item/weapon/screwdriver))
if(!screw)
screw = 1
- user << "You open the cap on the [src]"
+ to_chat(user, "You open the cap on the [src]")
if(super)
add_overlay(image(icon, "vapeopen_med"))
else
add_overlay(image(icon, "vapeopen_low"))
else
screw = 0
- user << "You close the cap on the [src]"
+ to_chat(user, "You close the cap on the [src]")
cut_overlays()
if(istype(O, /obj/item/device/multitool))
@@ -619,16 +619,16 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(!super)
cut_overlays()
super = 1
- user << "You increase the voltage in the [src]"
+ to_chat(user, "You increase the voltage in the [src]")
add_overlay(image(icon, "vapeopen_med"))
else
cut_overlays()
super = 0
- user << "You decrease the voltage in the [src]"
+ to_chat(user, "You decrease the voltage in the [src]")
add_overlay(image(icon, "vapeopen_low"))
if(screw && emagged)
- user << "The [name] can't be modified!"
+ to_chat(user, "The [name] can't be modified!")
/obj/item/clothing/mask/vape/emag_act(mob/user)// I WON'T REGRET WRITTING THIS, SURLY.
@@ -637,30 +637,30 @@ CIGARETTE PACKETS ARE IN FANCY.DM
cut_overlays()
emagged = 1
super = 0
- user << "You maximize the voltage in the [src]"
+ to_chat(user, "You maximize the voltage in the [src]")
add_overlay(image(icon, "vapeopen_high"))
var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread //for effect
sp.set_up(5, 1, src)
sp.start()
else
- user << "The [name] is already emagged!"
+ to_chat(user, "The [name] is already emagged!")
else
- user << "You need to open the cap to do that"
+ to_chat(user, "You need to open the cap to do that")
/obj/item/clothing/mask/vape/attack_self(mob/user)
if(reagents.total_volume > 0)
- user << "you empty [src] of all reagents."
+ to_chat(user, "you empty [src] of all reagents.")
reagents.clear_reagents()
return
/obj/item/clothing/mask/vape/equipped(mob/user, slot)
if(slot == slot_wear_mask)
if(!screw)
- user << "You start puffing on the vape."
+ to_chat(user, "You start puffing on the vape.")
reagents.set_reacting(TRUE)
START_PROCESSING(SSobj, src)
else //it will not start if the vape is opened.
- user << "You need to close the cap first!"
+ to_chat(user, "You need to close the cap first!")
/obj/item/clothing/mask/vape/dropped(mob/user)
var/mob/living/carbon/C = user
@@ -699,7 +699,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(!reagents.total_volume)
if(ismob(loc))
- M << "The [name] is empty!"
+ to_chat(M, "The [name] is empty!")
STOP_PROCESSING(SSobj, src)
//it's reusable so it won't unequip when empty
return
@@ -724,7 +724,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread
sp.set_up(5, 1, src)
sp.start()
- M << "The [name] suddenly explodes in your mouth!"
+ to_chat(M, "The [name] suddenly explodes in your mouth!")
if(reagents && reagents.total_volume)
hand_reagents()
diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index c94bf7d247d..150435bdafa 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -58,11 +58,11 @@
//I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing.
//So this is a workaround. This also makes more sense from an IC standpoint. ~Carn
if(user.client && (target in user.client.screen))
- user << "You need to take that [target.name] off before cleaning it!"
+ to_chat(user, "You need to take that [target.name] off before cleaning it!")
else if(istype(target,/obj/effect/decal/cleanable))
user.visible_message("[user] begins to scrub \the [target.name] out with [src].", "You begin to scrub \the [target.name] out with [src]...")
if(do_after(user, src.cleanspeed, target = target))
- user << "You scrub \the [target.name] out."
+ to_chat(user, "You scrub \the [target.name] out.")
qdel(target)
else if(ishuman(target) && user.zone_selected == "mouth")
var/mob/living/carbon/human/H = user
@@ -73,13 +73,13 @@
else if(istype(target, /obj/structure/window))
user.visible_message("[user] begins to clean \the [target.name] with [src]...", "You begin to clean \the [target.name] with [src]...")
if(do_after(user, src.cleanspeed, target = target))
- user << "You clean \the [target.name]."
+ to_chat(user, "You clean \the [target.name].")
target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
target.set_opacity(initial(target.opacity))
else
user.visible_message("[user] begins to clean \the [target.name] with [src]...", "You begin to clean \the [target.name] with [src]...")
if(do_after(user, src.cleanspeed, target = target))
- user << "You clean \the [target.name]."
+ to_chat(user, "You clean \the [target.name].")
var/obj/effect/decal/cleanable/C = locate() in target
qdel(C)
target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm
index fb280edbd12..31d700a7b69 100644
--- a/code/game/objects/items/weapons/cosmetics.dm
+++ b/code/game/objects/items/weapons/cosmetics.dm
@@ -35,7 +35,7 @@
/obj/item/weapon/lipstick/attack_self(mob/user)
cut_overlays()
- user << "You twist \the [src] [open ? "closed" : "open"]."
+ to_chat(user, "You twist \the [src] [open ? "closed" : "open"].")
open = !open
if(open)
var/image/colored = image("icon"='icons/obj/items.dmi', "icon_state"="lipstick_uncap_color")
@@ -55,10 +55,10 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.is_mouth_covered())
- user << "Remove [ H == user ? "your" : "their" ] mask!"
+ to_chat(user, "Remove [ H == user ? "your" : "their" ] mask!")
return
if(H.lip_style) //if they already have lipstick on
- user << "You need to wipe off the old lipstick first!"
+ to_chat(user, "You need to wipe off the old lipstick first!")
return
if(H == user)
user.visible_message("[user] does their lips with \the [src].", \
@@ -76,7 +76,7 @@
H.lip_color = colour
H.update_body()
else
- user << "Where are the lips on that?"
+ to_chat(user, "Where are the lips on that?")
//you can wipe off lipstick with paper!
/obj/item/weapon/paper/attack(mob/M, mob/user)
@@ -87,7 +87,7 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H == user)
- user << "You wipe off the lipstick with [src]."
+ to_chat(user, "You wipe off the lipstick with [src].")
H.lip_style = null
H.update_body()
else
@@ -127,13 +127,13 @@
var/location = user.zone_selected
if(location == "mouth")
if(!(FACEHAIR in H.dna.species.species_traits))
- user << "There is no facial hair to shave!"
+ to_chat(user, "There is no facial hair to shave!")
return
if(!get_location_accessible(H, location))
- user << "The mask is in the way!"
+ to_chat(user, "The mask is in the way!")
return
if(H.facial_hair_style == "Shaved")
- user << "Already clean-shaven!"
+ to_chat(user, "Already clean-shaven!")
return
if(H == user) //shaving yourself
@@ -155,13 +155,13 @@
else if(location == "head")
if(!(HAIR in H.dna.species.species_traits))
- user << "There is no hair to shave!"
+ to_chat(user, "There is no hair to shave!")
return
if(!get_location_accessible(H, location))
- user << "The headgear is in the way!"
+ to_chat(user, "The headgear is in the way!")
return
if(H.hair_style == "Bald" || H.hair_style == "Balding Hair" || H.hair_style == "Skinhead")
- user << "There is not enough hair left to shave!"
+ to_chat(user, "There is not enough hair left to shave!")
return
if(H == user) //shaving yourself
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 47bc2d5835c..f251cbababc 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -82,13 +82,13 @@
if(user.get_item_by_slot(slot_back) == src)
ui_action_click()
else
- user << "Put the defibrillator on your back first!"
+ to_chat(user, "Put the defibrillator on your back first!")
else if(slot_flags == SLOT_BELT)
if(user.get_item_by_slot(slot_belt) == src)
ui_action_click()
else
- user << "Strap the defibrillator's belt on first!"
+ to_chat(user, "Strap the defibrillator's belt on first!")
return
..()
@@ -106,15 +106,15 @@
else if(istype(W, /obj/item/weapon/stock_parts/cell))
var/obj/item/weapon/stock_parts/cell/C = W
if(bcell)
- user << "[src] already has a cell."
+ to_chat(user, "[src] already has a cell.")
else
if(C.maxcharge < paddles.revivecost)
- user << "[src] requires a higher capacity cell."
+ to_chat(user, "[src] requires a higher capacity cell.")
return
if(!user.transferItemToLoc(W, src))
return
bcell = W
- user << "You install a cell in [src]."
+ to_chat(user, "You install a cell in [src].")
update_icon()
else if(istype(W, /obj/item/weapon/screwdriver))
@@ -122,7 +122,7 @@
bcell.updateicon()
bcell.loc = get_turf(src.loc)
bcell = null
- user << "You remove the cell from [src]."
+ to_chat(user, "You remove the cell from [src].")
update_icon()
else
return ..()
@@ -130,10 +130,10 @@
/obj/item/weapon/defibrillator/emag_act(mob/user)
if(safety)
safety = 0
- user << "You silently disable [src]'s safety protocols with the cryptographic sequencer."
+ to_chat(user, "You silently disable [src]'s safety protocols with the cryptographic sequencer.")
else
safety = 1
- user << "You silently enable [src]'s safety protocols with the cryptographic sequencer."
+ to_chat(user, "You silently enable [src]'s safety protocols with the cryptographic sequencer.")
/obj/item/weapon/defibrillator/emp_act(severity)
if(bcell)
@@ -159,7 +159,7 @@
//Detach the paddles into the user's hands
if(!usr.put_in_hands(paddles))
on = 0
- user << "You need a free hand to hold the paddles!"
+ to_chat(user, "You need a free hand to hold the paddles!")
update_icon()
return
paddles.loc = user
@@ -323,7 +323,7 @@
var/obj/item/weapon/twohanded/offhand/O = user.get_inactive_held_item()
if(istype(O))
O.unwield()
- user << "The paddles snap back into the main unit."
+ to_chat(user, "The paddles snap back into the main unit.")
defib.on = 0
loc = defib
defib.update_icon()
@@ -348,15 +348,15 @@
return
if(!wielded)
if(iscyborg(user))
- user << "You must activate the paddles in your active module before you can use them on someone!"
+ to_chat(user, "You must activate the paddles in your active module before you can use them on someone!")
else
- user << "You need to wield the paddles in both hands before you can use them on someone!"
+ to_chat(user, "You need to wield the paddles in both hands before you can use them on someone!")
return
if(cooldown)
if(req_defib)
- user << "[defib] is recharging!"
+ to_chat(user, "[defib] is recharging!")
else
- user << "[src] are recharging!"
+ to_chat(user, "[src] are recharging!")
return
if(user.a_intent == INTENT_DISARM)
@@ -365,16 +365,15 @@
if(!ishuman(M))
if(req_defib)
- user << "The instructions on [defib] don't mention how to revive that..."
+ to_chat(user, "The instructions on [defib] don't mention how to revive that...")
else
- user << "You aren't sure how to revive that..."
+ to_chat(user, "You aren't sure how to revive that...")
return
var/mob/living/carbon/human/H = M
if(user.zone_selected != "chest")
- user << "You need to target your patient's \
- chest with [src]!"
+ to_chat(user, "You need to target your patient's chest with [src]!")
return
if(user.a_intent == INTENT_HARM)
@@ -438,7 +437,7 @@
update_icon()
return
if(H && H.stat == DEAD)
- user << "[H] is dead."
+ to_chat(user, "[H] is dead.")
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
busy = 0
update_icon()
diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm
index d698a63e8f1..70c1d9d9db3 100644
--- a/code/game/objects/items/weapons/dice.dm
+++ b/code/game/objects/items/weapons/dice.dm
@@ -179,7 +179,7 @@
if(istype(H) && !H.shoes)
if(PIERCEIMMUNE in H.dna.species.species_traits)
return 0
- H << "You step on the D4!"
+ to_chat(H, "You step on the D4!")
H.apply_damage(4,BRUTE,(pick("l_leg", "r_leg")))
H.Weaken(3)
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 70b456ab6a0..3fe3a3c1964 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -51,15 +51,15 @@
M.updateappearance(mutations_overlay_update=1)
log_attack(log_msg)
else
- user << "It appears that [M] does not have compatible DNA."
+ to_chat(user, "It appears that [M] does not have compatible DNA.")
return
/obj/item/weapon/dnainjector/attack(mob/target, mob/user)
if(!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return
if(used)
- user << "This injector is used up!"
+ to_chat(user, "This injector is used up!")
return
if(ishuman(target))
var/mob/living/carbon/human/humantarget = target
@@ -75,7 +75,7 @@
"[user] injects [target] with the syringe with [src]!")
else
- user << "You inject yourself with [src]."
+ to_chat(user, "You inject yourself with [src].")
add_logs(user, target, "injected", src)
@@ -310,7 +310,7 @@
if(M.has_dna() && !(M.disabilities & NOCLONE))
if(M.stat == DEAD) //prevents dead people from having their DNA changed
- user << "You can't modify [M]'s DNA while [M.p_theyre()] dead."
+ to_chat(user, "You can't modify [M]'s DNA while [M.p_theyre()] dead.")
return
M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2))
var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
@@ -353,7 +353,7 @@
M.dna.temporary_mutations[UI_CHANGED] = endtime
log_attack(log_msg)
else
- user << "It appears that [M] does not have compatible DNA."
+ to_chat(user, "It appears that [M] does not have compatible DNA.")
return
/obj/item/weapon/dnainjector/timed/hulk
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index 7b9ea2a30f3..a9ff059da2f 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -52,7 +52,7 @@
/obj/item/weapon/c4/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
open_panel = !open_panel
- user << "You [open_panel ? "open" : "close"] the wire panel."
+ to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.")
else if(is_wire_tool(I))
wires.interact(user)
else
@@ -63,7 +63,7 @@
if(user.get_active_held_item() == src)
newtime = Clamp(newtime, 10, 60000)
timer = newtime
- user << "Timer set for [timer] seconds."
+ to_chat(user, "Timer set for [timer] seconds.")
/obj/item/weapon/c4/afterattack(atom/movable/AM, mob/user, flag)
if (!flag)
@@ -79,7 +79,7 @@
if(!S.locked) //Literal hacks, this works for lockboxes despite incorrect type casting, because they both share the locked var. But if its unlocked, place it inside, otherwise PLANTING C4!
return
- user << "You start planting the bomb..."
+ to_chat(user, "You start planting the bomb...")
if(do_after(user, 50, target = AM))
if(!user.temporarilyRemoveItemFromInventory(src))
@@ -93,7 +93,7 @@
log_game("[key_name(user)] planted [name] on [target.name] at [COORD(target)] with [timer] second fuse")
target.add_overlay(image_overlay, 1)
- user << "You plant the bomb. Timer counting down from [timer]."
+ to_chat(user, "You plant the bomb. Timer counting down from [timer].")
addtimer(CALLBACK(src, .proc/explode), timer * 10)
/obj/item/weapon/c4/proc/explode()
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index aafc8a1b007..01877f22f32 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -48,7 +48,7 @@
safety = !safety
src.icon_state = "[sprite_name][!safety]"
src.desc = "The safety is [safety ? "on" : "off"]."
- user << "The safety is [safety ? "on" : "off"]."
+ to_chat(user, "The safety is [safety ? "on" : "off"].")
return
/obj/item/weapon/extinguisher/attack(mob/M, mob/user)
@@ -67,27 +67,27 @@
/obj/item/weapon/extinguisher/examine(mob/user)
..()
if(reagents.total_volume)
- user << "It contains [round(reagents.total_volume)] units."
+ to_chat(user, "It contains [round(reagents.total_volume)] units.")
else
- user << "It is empty."
+ to_chat(user, "It is empty.")
/obj/item/weapon/extinguisher/proc/AttemptRefill(atom/target, mob/user)
if(istype(target, /obj/structure/reagent_dispensers/watertank) && target.Adjacent(user))
var/safety_save = safety
safety = TRUE
if(reagents.total_volume == reagents.maximum_volume)
- user << "\The [src] is already full!"
+ to_chat(user, "\The [src] is already full!")
safety = safety_save
return 1
var/obj/structure/reagent_dispensers/watertank/W = target
var/transferred = W.reagents.trans_to(src, max_water)
if(transferred > 0)
- user << "\The [src] has been refilled by [transferred] units."
+ to_chat(user, "\The [src] has been refilled by [transferred] units.")
playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6)
for(var/datum/reagent/water/R in reagents.reagent_list)
R.cooling_temperature = cooling_power
else
- user << "\The [W] is empty!"
+ to_chat(user, "\The [W] is empty!")
safety = safety_save
return 1
else
@@ -100,7 +100,7 @@
return
if (!safety)
if (src.reagents.total_volume < 1)
- usr << "\The [src] is empty!"
+ to_chat(usr, "\The [src] is empty!")
return
if (world.time < src.last_use + 12)
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index 1919a0d8f3a..ac53eb25ff7 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -61,15 +61,15 @@
return
/obj/item/weapon/flamethrower/afterattack(atom/target, mob/user, flag)
- if(flag)
- return // too close
+ if(flag)
+ return // too close
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.dna.check_mutation(HULK))
- user << "Your meaty finger is much too large for the trigger guard!"
+ to_chat(user, "Your meaty finger is much too large for the trigger guard!")
return
if(NOGUNS in H.dna.species.species_traits)
- user << "Your fingers don't fit in the trigger guard!"
+ to_chat(user, "Your fingers don't fit in the trigger guard!")
return
if(user && user.get_active_held_item() == src) // Make sure our user is still holding us
var/turf/target_turf = get_turf(target)
@@ -96,7 +96,7 @@
else if(istype(W, /obj/item/weapon/screwdriver) && igniter && !lit)
status = !status
- user << "[igniter] is now [status ? "secured" : "unsecured"]!"
+ to_chat(user, "[igniter] is now [status ? "secured" : "unsecured"]!")
update_icon()
return
@@ -114,7 +114,7 @@
else if(istype(W,/obj/item/weapon/tank/internals/plasma))
if(ptank)
- user << "There is already a plasma tank loaded in [src]!"
+ to_chat(user, "There is already a plasma tank loaded in [src]!")
return
if(!user.transferItemToLoc(W, src))
return
@@ -133,7 +133,7 @@
return
user.set_machine(src)
if(!ptank)
- user << "Attach a plasma tank first!"
+ to_chat(user, "Attach a plasma tank first!")
return
var/dat = text("Flamethrower ([lit ? "Lit" : "Unlit"])
\n Tank Pressure: [ptank.air_contents.return_pressure()]
\nAmount to throw: - - - [throw_amount] + + +
\nRemove plasmatank - Close")
user << browse(dat, "window=flamethrower;size=600x300")
diff --git a/code/game/objects/items/weapons/gift.dm b/code/game/objects/items/weapons/gift.dm
index 52a49c0dc21..2d584327c2f 100644
--- a/code/game/objects/items/weapons/gift.dm
+++ b/code/game/objects/items/weapons/gift.dm
@@ -27,7 +27,7 @@
/obj/item/weapon/a_gift/attack_self(mob/M)
if(M && M.mind && M.mind.special_role == "Santa")
- M << "You're supposed to be spreading gifts, not opening them yourself!"
+ to_chat(M, "You're supposed to be spreading gifts, not opening them yourself!")
return
var/gift_type_list = list(/obj/item/weapon/sord,
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index f2ea0d8e20f..e1e4c1acccd 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -38,7 +38,7 @@
var/area/A = get_area(bombturf)
message_admins("[key_name_admin(usr)]? (FLW) has primed a [name] for detonation at [A.name] (JMP).")
log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]).")
- user << "You prime the [name]! [det_time / 10] second\s!"
+ to_chat(user, "You prime the [name]! [det_time / 10] second\s!")
playsound(user.loc, 'sound/weapons/armbomb.ogg', 60, 1)
active = 1
icon_state = initial(icon_state) + "_active"
@@ -54,29 +54,29 @@
if(stage == WIRED)
if(beakers.len)
stage_change(READY)
- user << "You lock the [initial(name)] assembly."
+ to_chat(user, "You lock the [initial(name)] assembly.")
playsound(loc, I.usesound, 25, -3)
else
- user << "You need to add at least one beaker before locking the [initial(name)] assembly!"
+ to_chat(user, "You need to add at least one beaker before locking the [initial(name)] assembly!")
else if(stage == READY && !nadeassembly)
det_time = det_time == 50 ? 30 : 50 //toggle between 30 and 50
- user << "You modify the time delay. It's set for [det_time / 10] second\s."
+ to_chat(user, "You modify the time delay. It's set for [det_time / 10] second\s.")
else if(stage == EMPTY)
- user << "You need to add an activation mechanism!"
+ to_chat(user, "You need to add an activation mechanism!")
else if(stage == WIRED && is_type_in_list(I, allowed_containers))
. = 1 //no afterattack
if(beakers.len == 2)
- user << "[src] can not hold more containers!"
+ to_chat(user, "[src] can not hold more containers!")
return
else
if(I.reagents.total_volume)
if(!user.transferItemToLoc(I, src))
return
- user << "You add [I] to the [initial(name)] assembly."
+ to_chat(user, "You add [I] to the [initial(name)] assembly.")
beakers += I
else
- user << "[I] is empty!"
+ to_chat(user, "[I] is empty!")
else if(stage == EMPTY && istype(I, /obj/item/device/assembly_holder))
. = 1 // no afterattack
@@ -91,28 +91,28 @@
assemblyattacher = user.ckey
stage_change(WIRED)
- user << "You add [A] to the [initial(name)] assembly."
+ to_chat(user, "You add [A] to the [initial(name)] assembly.")
else if(stage == EMPTY && istype(I, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = I
if (C.use(1))
det_time = 50 // In case the cable_coil was removed and readded.
stage_change(WIRED)
- user << "You rig the [initial(name)] assembly."
+ to_chat(user, "You rig the [initial(name)] assembly.")
else
- user << "You need one length of coil to wire the assembly!"
+ to_chat(user, "You need one length of coil to wire the assembly!")
return
else if(stage == READY && istype(I, /obj/item/weapon/wirecutters))
stage_change(WIRED)
- user << "You unlock the [initial(name)] assembly."
+ to_chat(user, "You unlock the [initial(name)] assembly.")
else if(stage == WIRED && istype(I, /obj/item/weapon/wrench))
if(beakers.len)
for(var/obj/O in beakers)
O.loc = get_turf(src)
beakers = list()
- user << "You open the [initial(name)] assembly and remove the payload."
+ to_chat(user, "You open the [initial(name)] assembly and remove the payload.")
return // First use of the wrench remove beakers, then use the wrench to remove the activation mechanism.
if(nadeassembly)
nadeassembly.loc = get_turf(src)
@@ -121,7 +121,7 @@
else // If "nadeassembly = null && stage == WIRED", then it most have been cable_coil that was used.
new /obj/item/stack/cable_coil(get_turf(src),1)
stage_change(EMPTY)
- user << "You remove the activation mechanism from the [initial(name)] assembly."
+ to_chat(user, "You remove the activation mechanism from the [initial(name)] assembly.")
else
return ..()
@@ -229,7 +229,7 @@
if(istype(I, /obj/item/slime_extract) && stage == WIRED)
if(!user.transferItemToLoc(I, src))
return
- user << "You add [I] to the [initial(name)] assembly."
+ to_chat(user, "You add [I] to the [initial(name)] assembly.")
beakers += I
else
return ..()
@@ -265,7 +265,7 @@
unit_spread += 25
else
unit_spread = 5
- user << " You set the time release to [unit_spread] units per detonation."
+ to_chat(user, " You set the time release to [unit_spread] units per detonation.")
return
..()
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index 945cf03d166..d461ae6dcda 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -45,7 +45,7 @@
/obj/item/weapon/grenade/iedcasing/attack_self(mob/user) //
if(!active)
if(clown_check(user))
- user << "You light the [name]!"
+ to_chat(user, "You light the [name]!")
active = 1
cut_overlay(image('icons/obj/grenade.dmi', icon_state = "improvised_grenade_filled"), TRUE) //this line make no sense
icon_state = initial(icon_state) + "_active"
@@ -67,4 +67,4 @@
/obj/item/weapon/grenade/iedcasing/examine(mob/user)
..()
- user << "You can't tell when it will explode!"
+ to_chat(user, "You can't tell when it will explode!")
diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm
index 62767b3e532..1813af6e8c3 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -24,7 +24,7 @@
/obj/item/weapon/grenade/proc/clown_check(mob/living/carbon/human/user)
if(user.disabilities & CLUMSY && prob(50))
- user << "Huh? How does this thing work?"
+ to_chat(user, "Huh? How does this thing work?")
active = 1
icon_state = initial(icon_state) + "_active"
playsound(loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
@@ -40,15 +40,15 @@
..()
if(display_timer)
if(det_time > 1)
- user << "The timer is set to [det_time/10] second\s."
+ to_chat(user, "The timer is set to [det_time/10] second\s.")
else
- user << "\The [src] is set for instant detonation."
+ to_chat(user, "\The [src] is set for instant detonation.")
/obj/item/weapon/grenade/attack_self(mob/user)
if(!active)
if(clown_check(user))
- user << "You prime the [name]! [det_time/10] seconds!"
+ to_chat(user, "You prime the [name]! [det_time/10] seconds!")
playsound(user.loc, 'sound/weapons/armbomb.ogg', 60, 1)
active = 1
icon_state = initial(icon_state) + "_active"
@@ -79,16 +79,16 @@
switch(det_time)
if ("1")
det_time = 10
- user << "You set the [name] for 1 second detonation time."
+ to_chat(user, "You set the [name] for 1 second detonation time.")
if ("10")
det_time = 30
- user << "You set the [name] for 3 second detonation time."
+ to_chat(user, "You set the [name] for 3 second detonation time.")
if ("30")
det_time = 50
- user << "You set the [name] for 5 second detonation time."
+ to_chat(user, "You set the [name] for 5 second detonation time.")
if ("50")
det_time = 1
- user << "You set the [name] for instant detonation."
+ to_chat(user, "You set the [name] for instant detonation.")
add_fingerprint(user)
else
return ..()
diff --git a/code/game/objects/items/weapons/grenades/plastic.dm b/code/game/objects/items/weapons/grenades/plastic.dm
index a52099d3dad..477a50330ed 100644
--- a/code/game/objects/items/weapons/grenades/plastic.dm
+++ b/code/game/objects/items/weapons/grenades/plastic.dm
@@ -32,7 +32,7 @@
nadeassembly = A
A.master = src
assemblyattacher = user.ckey
- user << "You add [A] to the [name]."
+ to_chat(user, "You add [A] to the [name].")
playsound(src, 'sound/weapons/tap.ogg', 20, 1)
update_icon()
return
@@ -85,7 +85,7 @@
if(user.get_active_held_item() == src)
newtime = Clamp(newtime, 10, 60000)
det_time = newtime
- user << "Timer set for [det_time] seconds."
+ to_chat(user, "Timer set for [det_time] seconds.")
/obj/item/weapon/grenade/plastic/afterattack(atom/movable/AM, mob/user, flag)
aim_dir = get_dir(user,AM)
@@ -94,7 +94,7 @@
if(ismob(AM))
return
- user << "You start planting the [src]. The timer is set to [det_time]..."
+ to_chat(user, "You start planting the [src]. The timer is set to [det_time]...")
if(do_after(user, 50, target = AM))
if(!user.temporarilyRemoveItemFromInventory(src))
@@ -113,7 +113,7 @@
target.add_overlay(image_overlay, 1)
if(!nadeassembly)
- user << "You plant the bomb. Timer counting down from [det_time]."
+ to_chat(user, "You plant the bomb. Timer counting down from [det_time].")
addtimer(CALLBACK(src, .proc/prime), det_time*10)
else
qdel(src) //How?
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 1bed868084a..fd5ca52dab6 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -26,7 +26,7 @@
if(!istype(C))
return
if(user.disabilities & CLUMSY && prob(50))
- user << "Uh... how do those things work?!"
+ to_chat(user, "Uh... how do those things work?!")
apply_cuffs(user,user)
return
@@ -44,7 +44,7 @@
playsound(loc, cuffsound, 30, 1, -2)
if(do_mob(user, C, 30) && (C.get_num_arms() >= 2 || C.get_arm_ignore()))
apply_cuffs(C,user)
- user << "You handcuff [C]."
+ to_chat(user, "You handcuff [C].")
if(istype(src, /obj/item/weapon/restraints/handcuffs/cable))
feedback_add_details("handcuffs","C")
else
@@ -52,9 +52,9 @@
add_logs(user, C, "handcuffed")
else
- user << "You fail to handcuff [C]!"
+ to_chat(user, "You fail to handcuff [C]!")
else
- user << "[C] doesn't have two hands..."
+ to_chat(user, "[C] doesn't have two hands...")
/obj/item/weapon/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user, var/dispense = 0)
if(target.handcuffed)
@@ -101,14 +101,14 @@
if(!istype(C))
return
if(wirestorage && wirestorage.energy < 15)
- user << "You need at least 15 wire to restrain [C]!"
+ to_chat(user, "You need at least 15 wire to restrain [C]!")
return
return ..()
/obj/item/weapon/restraints/handcuffs/cable/apply_cuffs(mob/living/carbon/target, mob/user, var/dispense = 0)
if(wirestorage)
if(!wirestorage.use_charge(15))
- user << "You need at least 15 wire to restrain [target]!"
+ to_chat(user, "You need at least 15 wire to restrain [target]!")
return
return ..(target, user, 1)
@@ -167,24 +167,24 @@
var/obj/item/weapon/wirerod/W = new /obj/item/weapon/wirerod
remove_item_from_storage(user)
user.put_in_hands(W)
- user << "You wrap the cable restraint around the top of the rod."
+ to_chat(user, "You wrap the cable restraint around the top of the rod.")
qdel(src)
else
- user << "You need one rod to make a wired rod!"
+ to_chat(user, "You need one rod to make a wired rod!")
return
else if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.get_amount() < 6)
- user << "You need at least six metal sheets to make good enough weights!"
+ to_chat(user, "You need at least six metal sheets to make good enough weights!")
return
- user << "You begin to apply [I] to [src]..."
+ to_chat(user, "You begin to apply [I] to [src]...")
if(do_after(user, 35, target = src))
if(M.get_amount() < 6 || !M)
return
var/obj/item/weapon/restraints/legcuffs/bola/S = new /obj/item/weapon/restraints/legcuffs/bola
M.use(6)
user.put_in_hands(S)
- user << "You make some weights out of [I] and tie them to [src]."
+ to_chat(user, "You make some weights out of [I] and tie them to [src].")
remove_item_from_storage(user)
qdel(src)
else
@@ -200,10 +200,10 @@
if(!C.handcuffed)
C.handcuffed = new /obj/item/weapon/restraints/handcuffs/cable/zipties/used(C)
C.update_handcuffed()
- user << "You handcuff [C]."
+ to_chat(user, "You handcuff [C].")
add_logs(user, C, "handcuffed")
else
- user << "You fail to handcuff [C]!"
+ to_chat(user, "You fail to handcuff [C]!")
/obj/item/weapon/restraints/handcuffs/cable/zipties
name = "zipties"
@@ -261,7 +261,7 @@
if(ishuman(user) && !user.stat && !user.restrained())
armed = !armed
icon_state = "[initial(icon_state)][armed]"
- user << "[src] is now [armed ? "armed" : "disarmed"]"
+ to_chat(user, "[src] is now [armed ? "armed" : "disarmed"]")
/obj/item/weapon/restraints/legcuffs/beartrap/Crossed(AM as mob|obj)
if(armed && isturf(src.loc))
@@ -342,7 +342,7 @@
src.loc = C
C.update_inv_legcuffed()
feedback_add_details("handcuffs","B")
- C << "\The [src] ensnares you!"
+ to_chat(C, "\The [src] ensnares you!")
C.Weaken(weaken)
/obj/item/weapon/restraints/legcuffs/bola/tactical//traitor variant
diff --git a/code/game/objects/items/weapons/his_grace.dm b/code/game/objects/items/weapons/his_grace.dm
index da9a5a45de6..c61916d21e6 100644
--- a/code/game/objects/items/weapons/his_grace.dm
+++ b/code/game/objects/items/weapons/his_grace.dm
@@ -53,19 +53,19 @@
if(awakened)
switch(bloodthirst)
if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH)
- user << "[src] isn't very hungry. Not yet."
+ to_chat(user, "[src] isn't very hungry. Not yet.")
if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY)
- user << "[src] would like a snack."
+ to_chat(user, "[src] would like a snack.")
if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED)
- user << "[src] is quite hungry now."
+ to_chat(user, "[src] is quite hungry now.")
if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING)
- user << "[src] is openly salivating at the sight of you. Be careful."
+ to_chat(user, "[src] is openly salivating at the sight of you. Be careful.")
if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER)
- user << "You walk a fine line. [src] is very close to devouring you."
+ to_chat(user, "You walk a fine line. [src] is very close to devouring you.")
if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP)
- user << "[src] is shaking violently and staring directly at you."
+ to_chat(user, "[src] is shaking violently and staring directly at you.")
else
- user << "[src] is latched closed."
+ to_chat(user, "[src] is latched closed.")
/obj/item/weapon/his_grace/relaymove(mob/living/user) //Allows changelings, etc. to climb out of Him after they revive, provided He isn't active
if(!awakened)
diff --git a/code/game/objects/items/weapons/holosign_creator.dm b/code/game/objects/items/weapons/holosign_creator.dm
index aef14779ffc..fb68e33f458 100644
--- a/code/game/objects/items/weapons/holosign_creator.dm
+++ b/code/game/objects/items/weapons/holosign_creator.dm
@@ -24,12 +24,12 @@
var/turf/T = get_turf(target)
var/obj/structure/holosign/H = locate(holosign_type) in T
if(H)
- user << "You use [src] to deactivate [H]."
+ to_chat(user, "You use [src] to deactivate [H].")
qdel(H)
else
if(!is_blocked_turf(T, TRUE)) //can't put holograms on a tile that has dense stuff
if(holocreator_busy)
- user << "[src] is busy creating a hologram."
+ to_chat(user, "[src] is busy creating a hologram.")
return
if(signs.len < max_signs)
playsound(src.loc, 'sound/machines/click.ogg', 20, 1)
@@ -44,9 +44,9 @@
if(is_blocked_turf(T, TRUE)) //don't try to sneak dense stuff on our tile during the wait.
return
H = new holosign_type(get_turf(target), src)
- user << "You create \a [H] with [src]."
+ to_chat(user, "You create \a [H] with [src].")
else
- user << "[src] is projecting at max capacity!"
+ to_chat(user, "[src] is projecting at max capacity!")
/obj/item/weapon/holosign_creator/attack(mob/living/carbon/human/M, mob/user)
return
@@ -55,7 +55,7 @@
if(signs.len)
for(var/H in signs)
qdel(H)
- user << "You clear all active holograms."
+ to_chat(user, "You clear all active holograms.")
/obj/item/weapon/holosign_creator/security
@@ -108,9 +108,9 @@
if(signs.len)
for(var/H in signs)
qdel(H)
- user << "You clear all active holograms."
+ to_chat(user, "You clear all active holograms.")
if(signs.len)
for(var/H in signs)
qdel(H)
- user << "You clear all active holograms."
+ to_chat(user, "You clear all active holograms.")
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index 85d525496a7..424e14596e8 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -25,7 +25,7 @@
if(SSreligion.holy_weapon)
holy_weapon = new SSreligion.holy_weapon
- M << "The null rod suddenly morphs into your religions already chosen holy weapon."
+ to_chat(M, "The null rod suddenly morphs into your religions already chosen holy weapon.")
else
var/list/holy_weapons_list = typesof(/obj/item/weapon/nullrod)
var/list/display_names = list()
@@ -216,7 +216,7 @@
if(possessed)
return
- user << "You attempt to wake the spirit of the blade..."
+ to_chat(user, "You attempt to wake the spirit of the blade...")
possessed = TRUE
@@ -237,12 +237,12 @@
S.real_name = input
S.name = input
else
- user << "The blade is dormant. Maybe you can try again later."
+ to_chat(user, "The blade is dormant. Maybe you can try again later.")
possessed = FALSE
/obj/item/weapon/nullrod/scythe/talking/Destroy()
for(var/mob/living/simple_animal/shade/S in contents)
- S << "You were destroyed!"
+ to_chat(S, "You were destroyed!")
qdel(S)
return ..()
@@ -322,7 +322,7 @@
/obj/item/weapon/nullrod/carp/attack_self(mob/living/user)
if(used_blessing)
else if(user.mind && (user.mind.isholy))
- user << "You are blessed by Carp-Sie. Wild space carp will no longer attack you."
+ to_chat(user, "You are blessed by Carp-Sie. Wild space carp will no longer attack you.")
user.faction |= "carp"
used_blessing = TRUE
diff --git a/code/game/objects/items/weapons/implants/implant_abductor.dm b/code/game/objects/items/weapons/implants/implant_abductor.dm
index 0b9d82d0f24..f5a38e20981 100644
--- a/code/game/objects/items/weapons/implants/implant_abductor.dm
+++ b/code/game/objects/items/weapons/implants/implant_abductor.dm
@@ -14,7 +14,7 @@
cooldown = 0
START_PROCESSING(SSobj, src)
else
- imp_in << "You must wait [30 - cooldown] seconds to use [src] again!"
+ to_chat(imp_in, "You must wait [30 - cooldown] seconds to use [src] again!")
/obj/item/weapon/implant/abductor/process()
if(cooldown < initial(cooldown))
diff --git a/code/game/objects/items/weapons/implants/implant_chem.dm b/code/game/objects/items/weapons/implants/implant_chem.dm
index 39a9498d42a..014a35c6ff4 100644
--- a/code/game/objects/items/weapons/implants/implant_chem.dm
+++ b/code/game/objects/items/weapons/implants/implant_chem.dm
@@ -44,9 +44,9 @@
else
injectamount = cause
reagents.trans_to(R, injectamount)
- R << "You hear a faint beep."
+ to_chat(R, "You hear a faint beep.")
if(!reagents.total_volume)
- R << "You hear a faint click from your chest."
+ to_chat(R, "You hear a faint click from your chest.")
qdel(src)
diff --git a/code/game/objects/items/weapons/implants/implant_explosive.dm b/code/game/objects/items/weapons/implants/implant_explosive.dm
index 5a545fb56d3..9e93d3fb3eb 100644
--- a/code/game/objects/items/weapons/implants/implant_explosive.dm
+++ b/code/game/objects/items/weapons/implants/implant_explosive.dm
@@ -32,7 +32,7 @@
heavy = round(heavy)
medium = round(medium)
weak = round(weak)
- imp_in << "You activate your [name]."
+ to_chat(imp_in, "You activate your [name].")
var/turf/boomturf = get_turf(imp_in)
var/area/A = get_area(boomturf)
message_admins("[key_name_admin(imp_in)]? (FLW) has activated their [name] at [A.name] (JMP).")
diff --git a/code/game/objects/items/weapons/implants/implant_freedom.dm b/code/game/objects/items/weapons/implants/implant_freedom.dm
index 01f0fc7d6e5..2313451e75c 100644
--- a/code/game/objects/items/weapons/implants/implant_freedom.dm
+++ b/code/game/objects/items/weapons/implants/implant_freedom.dm
@@ -9,7 +9,7 @@
/obj/item/weapon/implant/freedom/activate()
uses--
- imp_in << "You feel a faint click."
+ to_chat(imp_in, "You feel a faint click.")
if(iscarbon(imp_in))
var/mob/living/carbon/C_imp_in = imp_in
C_imp_in.uncuff()
diff --git a/code/game/objects/items/weapons/implants/implant_loyality.dm b/code/game/objects/items/weapons/implants/implant_loyality.dm
index a911fcec059..0a6d276415c 100644
--- a/code/game/objects/items/weapons/implants/implant_loyality.dm
+++ b/code/game/objects/items/weapons/implants/implant_loyality.dm
@@ -36,16 +36,16 @@
ticker.mode.remove_revolutionary(target.mind)
if(!silent)
if(target.mind in ticker.mode.cult)
- target << "You feel something interfering with your mental conditioning, but you resist it!"
+ to_chat(target, "You feel something interfering with your mental conditioning, but you resist it!")
else
- target << "You feel a sense of peace and security. You are now protected from brainwashing."
+ to_chat(target, "You feel a sense of peace and security. You are now protected from brainwashing.")
return 1
return 0
/obj/item/weapon/implant/mindshield/removed(mob/target, silent = 0, special = 0)
if(..())
if(target.stat != DEAD && !silent)
- target << "Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing."
+ to_chat(target, "Your mind suddenly feels terribly vulnerable. You are no longer safe from brainwashing.")
return 1
return 0
diff --git a/code/game/objects/items/weapons/implants/implant_misc.dm b/code/game/objects/items/weapons/implants/implant_misc.dm
index 77d4adda528..f48492a7ea5 100644
--- a/code/game/objects/items/weapons/implants/implant_misc.dm
+++ b/code/game/objects/items/weapons/implants/implant_misc.dm
@@ -34,7 +34,7 @@
/obj/item/weapon/implant/adrenalin/activate()
uses--
- imp_in << "You feel a sudden surge of energy!"
+ to_chat(imp_in, "You feel a sudden surge of energy!")
imp_in.SetStunned(0)
imp_in.SetWeakened(0)
imp_in.SetParalysis(0)
diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm
index 0d6f913472c..819998b531a 100644
--- a/code/game/objects/items/weapons/implants/implantchair.dm
+++ b/code/game/objects/items/weapons/implants/implantchair.dm
@@ -117,14 +117,14 @@
return
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You lean on the back of [src] and start pushing the door open... (this will take about about a minute.)"
+ to_chat(user, "You lean on the back of [src] and start pushing the door open... (this will take about about a minute.)")
audible_message("You hear a metallic creaking from [src]!",hearing_distance = 2)
if(do_after(user, 600, target = src))
if(!user || user.stat != CONSCIOUS || user.loc != src || state_open)
return
visible_message("[user] successfully broke out of [src]!")
- user << "You successfully break out of [src]!"
+ to_chat(user, "You successfully break out of [src]!")
open_machine()
/obj/machinery/implantchair/relaymove(mob/user)
diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm
index 9dbfe501e3c..dd6cce8cbfc 100644
--- a/code/game/objects/items/weapons/implants/implanter.dm
+++ b/code/game/objects/items/weapons/implants/implanter.dm
@@ -34,13 +34,13 @@
if(src && imp)
if(imp.implant(M, user))
if (M == user)
- user << "You implant yourself."
+ to_chat(user, "You implant yourself.")
else
M.visible_message("[user] has implanted [M].", "[user] implants you.")
imp = null
update_icon()
else
- user << "[src] fails to implant [M]."
+ to_chat(user, "[src] fails to implant [M].")
/obj/item/weapon/implanter/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/pen))
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 8c08278a326..ed42af2b4cb 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -102,7 +102,7 @@
/obj/item/weapon/melee/energy/attack_self(mob/living/carbon/user)
if(user.disabilities & CLUMSY && prob(50))
- user << "You accidentally cut yourself with [src], like a doofus!"
+ to_chat(user, "You accidentally cut yourself with [src], like a doofus!")
user.take_bodypart_damage(5,5)
active = !active
if (active)
@@ -118,7 +118,7 @@
icon_state = "sword[item_color]"
w_class = w_class_on
playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
- user << "[src] is now active."
+ to_chat(user, "[src] is now active.")
START_PROCESSING(SSobj, src)
set_light(brightness_on)
else
@@ -131,7 +131,7 @@
icon_state = initial(icon_state)
w_class = initial(w_class)
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
- user << "[src] can now be concealed."
+ to_chat(user, "[src] can now be concealed.")
STOP_PROCESSING(SSobj, src)
set_light(0)
add_fingerprint(user)
@@ -161,7 +161,7 @@
var/obj/item/weapon/stock_parts/cell/C = R.cell
if(active && !(C.use(hitcost)))
attack_self(R)
- R << "It's out of charge!"
+ to_chat(R, "It's out of charge!")
return
..()
return
@@ -208,9 +208,7 @@
/obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user, params)
if(istype(W, /obj/item/weapon/melee/energy/sword/saber))
- user << "You attach the ends of the two \
- energy swords, making a single double-bladed weapon! \
- You're cool."
+ to_chat(user, "You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool.")
var/obj/item/weapon/melee/energy/sword/saber/other_esword = W
var/obj/item/weapon/twohanded/dualsaber/newSaber = new(user.loc)
if(hacked || other_esword.hacked)
@@ -223,13 +221,13 @@
if(hacked == 0)
hacked = 1
item_color = "rainbow"
- user << "RNBW_ENGAGE"
+ to_chat(user, "RNBW_ENGAGE")
if(active)
icon_state = "swordrainbow"
user.update_inv_hands()
else
- user << "It's already fabulous!"
+ to_chat(user, "It's already fabulous!")
else
return ..()
diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm
index d53dd4a6a51..a18b1145d76 100644
--- a/code/game/objects/items/weapons/melee/misc.dm
+++ b/code/game/objects/items/weapons/melee/misc.dm
@@ -83,7 +83,7 @@
add_fingerprint(user)
if((CLUMSY in user.disabilities) && prob(50))
- user << "You club yourself over the head."
+ to_chat(user, "You club yourself over the head.")
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -154,14 +154,14 @@
/obj/item/weapon/melee/classic_baton/telescopic/attack_self(mob/user)
on = !on
if(on)
- user << "You extend the baton."
+ to_chat(user, "You extend the baton.")
icon_state = "telebaton_1"
item_state = "nullrod"
w_class = WEIGHT_CLASS_BULKY //doesnt fit in backpack when its on for balance
force = 10 //stunbaton damage
attack_verb = list("smacked", "struck", "cracked", "beaten")
else
- user << "You collapse the baton."
+ to_chat(user, "You collapse the baton.")
icon_state = "telebaton_0"
item_state = null //no sprite for concealment even when in hand
slot_flags = SLOT_BELT
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index b5070100ba6..50b3ed20f7d 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -37,7 +37,7 @@
if(!proximity) return
if(reagents.total_volume < 1)
- user << "Your mop is dry!"
+ to_chat(user, "Your mop is dry!")
return
var/turf/T = get_turf(A)
@@ -49,7 +49,7 @@
user.visible_message("[user] begins to clean \the [T] with [src].", "You begin to clean \the [T] with [src]...")
if(do_after(user, src.mopspeed, target = T))
- user << "You finish mopping."
+ to_chat(user, "You finish mopping.")
clean(T)
@@ -95,7 +95,7 @@
START_PROCESSING(SSobj, src)
else
STOP_PROCESSING(SSobj,src)
- user << "You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position."
+ to_chat(user, "You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position.")
playsound(user, 'sound/machines/click.ogg', 30, 1)
/obj/item/weapon/mop/advanced/process()
@@ -105,7 +105,7 @@
/obj/item/weapon/mop/advanced/examine(mob/user)
..()
- user << "The condenser switch is set to [refill_enabled ? "ON" : "OFF"]."
+ to_chat(user, "The condenser switch is set to [refill_enabled ? "ON" : "OFF"].")
/obj/item/weapon/mop/advanced/Destroy()
if(refill_enabled)
diff --git a/code/game/objects/items/weapons/pneumaticCannon.dm b/code/game/objects/items/weapons/pneumaticCannon.dm
index a702edf9b94..c053b6ed470 100644
--- a/code/game/objects/items/weapons/pneumaticCannon.dm
+++ b/code/game/objects/items/weapons/pneumaticCannon.dm
@@ -21,12 +21,12 @@
/obj/item/weapon/pneumatic_cannon/examine(mob/user)
..()
if(!in_range(user, src))
- user << "You'll need to get closer to see any more."
+ to_chat(user, "You'll need to get closer to see any more.")
return
for(var/obj/item/I in loadedItems)
- user << "\icon [I] It has \the [I] loaded."
+ to_chat(user, "\icon [I] It has \the [I] loaded.")
if(tank)
- user << "\icon [tank] It has \the [tank] mounted onto it."
+ to_chat(user, "\icon [tank] It has \the [tank] mounted onto it.")
/obj/item/weapon/pneumatic_cannon/attackby(obj/item/weapon/W, mob/user, params)
@@ -34,11 +34,11 @@
if(!tank)
var/obj/item/weapon/tank/internals/IT = W
if(IT.volume <= 3)
- user << "\The [IT] is too small for \the [src]."
+ to_chat(user, "\The [IT] is too small for \the [src].")
return
updateTank(W, 0, user)
else if(W.type == type)
- user << "You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption."
+ to_chat(user, "You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption.")
else if(istype(W, /obj/item/weapon/wrench))
switch(pressureSetting)
if(1)
@@ -47,23 +47,23 @@
pressureSetting = 3
if(3)
pressureSetting = 1
- user << "You tweak \the [src]'s pressure output to [pressureSetting]."
+ to_chat(user, "You tweak \the [src]'s pressure output to [pressureSetting].")
else if(istype(W, /obj/item/weapon/screwdriver))
if(tank)
updateTank(tank, 1, user)
else if(loadedWeightClass >= maxWeightClass)
- user << "\The [src] can't hold any more items!"
+ to_chat(user, "\The [src] can't hold any more items!")
else if(istype(W, /obj/item))
var/obj/item/IW = W
if((loadedWeightClass + IW.w_class) > maxWeightClass)
- user << "\The [IW] won't fit into \the [src]!"
+ to_chat(user, "\The [IW] won't fit into \the [src]!")
return
if(IW.w_class > src.w_class)
- user << "\The [IW] is too large to fit into \the [src]!"
+ to_chat(user, "\The [IW] is too large to fit into \the [src]!")
return
if(!user.transferItemToLoc(W, src))
return
- user << "You load \the [IW] into \the [src]."
+ to_chat(user, "You load \the [IW] into \the [src].")
loadedItems.Add(IW)
loadedWeightClass += IW.w_class
@@ -82,19 +82,19 @@
return
var/discharge = 0
if(user.dna.check_mutation(HULK))
- user << "Your meaty finger is much too large for the trigger guard!"
+ to_chat(user, "Your meaty finger is much too large for the trigger guard!")
return
if(NOGUNS in user.dna.species.species_traits)
- user << "Your fingers don't fit in the trigger guard!"
+ to_chat(user, "Your fingers don't fit in the trigger guard!")
return
if(!loadedItems || !loadedWeightClass)
- user << "\The [src] has nothing loaded."
+ to_chat(user, "\The [src] has nothing loaded.")
return
if(!tank)
- user << "\The [src] can't fire without a source of gas."
+ to_chat(user, "\The [src] can't fire without a source of gas.")
return
if(tank && !tank.air_contents.remove(gasPerThrow * pressureSetting))
- user << "\The [src] lets out a weak hiss and doesn't react!"
+ to_chat(user, "\The [src] lets out a weak hiss and doesn't react!")
return
if(user.disabilities & CLUMSY && prob(75))
user.visible_message("[user] loses their grip on [src], causing it to go off!", "[src] slips out of your hands and goes off!")
@@ -144,17 +144,17 @@
if(removing)
if(!src.tank)
return
- user << "You detach \the [thetank] from \the [src]."
+ to_chat(user, "You detach \the [thetank] from \the [src].")
src.tank.loc = get_turf(user)
user.put_in_hands(tank)
src.tank = null
if(!removing)
if(src.tank)
- user << "\The [src] already has a tank."
+ to_chat(user, "\The [src] already has a tank.")
return
if(!user.transferItemToLoc(thetank, src))
return
- user << "You hook \the [thetank] up to \the [src]."
+ to_chat(user, "You hook \the [thetank] up to \the [src].")
src.tank = thetank
src.update_icons()
diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm
index f6f4325b574..1f5a2298644 100644
--- a/code/game/objects/items/weapons/powerfist.dm
+++ b/code/game/objects/items/weapons/powerfist.dm
@@ -21,10 +21,10 @@
/obj/item/weapon/melee/powerfist/examine(mob/user)
..()
if(!in_range(user, src))
- user << "You'll need to get closer to see any more."
+ to_chat(user, "You'll need to get closer to see any more.")
return
if(tank)
- user << "\icon [tank] It has \the [tank] mounted onto it."
+ to_chat(user, "\icon [tank] It has \the [tank] mounted onto it.")
/obj/item/weapon/melee/powerfist/attackby(obj/item/weapon/W, mob/user, params)
@@ -32,7 +32,7 @@
if(!tank)
var/obj/item/weapon/tank/internals/IT = W
if(IT.volume <= 3)
- user << "\The [IT] is too small for \the [src]."
+ to_chat(user, "\The [IT] is too small for \the [src].")
return
updateTank(W, 0, user)
else if(istype(W, /obj/item/weapon/wrench))
@@ -44,7 +44,7 @@
if(3)
fisto_setting = 1
playsound(loc, W.usesound, 50, 1)
- user << "You tweak \the [src]'s piston valve to [fisto_setting]."
+ to_chat(user, "You tweak \the [src]'s piston valve to [fisto_setting].")
else if(istype(W, /obj/item/weapon/screwdriver))
if(tank)
updateTank(tank, 1, user)
@@ -53,28 +53,28 @@
/obj/item/weapon/melee/powerfist/proc/updateTank(obj/item/weapon/tank/internals/thetank, removing = 0, mob/living/carbon/human/user)
if(removing)
if(!tank)
- user << "\The [src] currently has no tank attached to it."
+ to_chat(user, "\The [src] currently has no tank attached to it.")
return
- user << "You detach \the [thetank] from \the [src]."
+ to_chat(user, "You detach \the [thetank] from \the [src].")
tank.forceMove(get_turf(user))
user.put_in_hands(tank)
tank = null
if(!removing)
if(tank)
- user << "\The [src] already has a tank."
+ to_chat(user, "\The [src] already has a tank.")
return
if(!user.transferItemToLoc(thetank, src))
return
- user << "You hook \the [thetank] up to \the [src]."
+ to_chat(user, "You hook \the [thetank] up to \the [src].")
tank = thetank
/obj/item/weapon/melee/powerfist/attack(mob/living/target, mob/living/user)
if(!tank)
- user << "\The [src] can't operate without a source of gas!"
+ to_chat(user, "\The [src] can't operate without a source of gas!")
return
if(tank && !tank.air_contents.remove(gasperfist * fisto_setting))
- user << "\The [src]'s piston-ram lets out a weak hiss, it needs more gas!"
+ to_chat(user, "\The [src]'s piston-ram lets out a weak hiss, it needs more gas!")
playsound(loc, 'sound/effects/refill.ogg', 50, 1)
return
target.apply_damage(force * fisto_setting, BRUTE)
diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm
index eb780981a44..babc6c37b09 100644
--- a/code/game/objects/items/weapons/scrolls.dm
+++ b/code/game/objects/items/weapons/scrolls.dm
@@ -65,7 +65,7 @@
L += T
if(!L.len)
- user << "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry."
+ to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
return
user.forceMove(pick(L))
diff --git a/code/game/objects/items/weapons/sharpener.dm b/code/game/objects/items/weapons/sharpener.dm
index d0e302e6f4a..d17df5ab770 100644
--- a/code/game/objects/items/weapons/sharpener.dm
+++ b/code/game/objects/items/weapons/sharpener.dm
@@ -12,31 +12,31 @@
/obj/item/weapon/sharpener/attackby(obj/item/I, mob/user, params)
if(used)
- user << "The sharpening block is too worn to use again."
+ to_chat(user, "The sharpening block is too worn to use again.")
return
if(I.force >= max || I.throwforce >= max)//no esword sharpening
- user << "[I] is much too powerful to sharpen further."
+ to_chat(user, "[I] is much too powerful to sharpen further.")
return
if(requires_sharpness && !I.sharpness)
- user << "You can only sharpen items that are already sharp, such as knives."
+ to_chat(user, "You can only sharpen items that are already sharp, such as knives.")
return
if(istype(I, /obj/item/weapon/melee/energy))
- user << "You don't think \the [I] will be the thing getting modified if you use it on \the [src]."
+ to_chat(user, "You don't think \the [I] will be the thing getting modified if you use it on \the [src].")
return
if(istype(I, /obj/item/weapon/twohanded))//some twohanded items should still be sharpenable, but handle force differently. therefore i need this stuff
var/obj/item/weapon/twohanded/TH = I
if(TH.force_wielded >= max)
- user << "[TH] is much too powerful to sharpen further."
+ to_chat(user, "[TH] is much too powerful to sharpen further.")
return
if(TH.wielded)
- user << "[TH] must be unwielded before it can be sharpened."
+ to_chat(user, "[TH] must be unwielded before it can be sharpened.")
return
if(TH.force_wielded > initial(TH.force_wielded))
- user << "[TH] has already been refined before. It cannot be sharpened further."
+ to_chat(user, "[TH] has already been refined before. It cannot be sharpened further.")
return
TH.force_wielded = Clamp(TH.force_wielded + increment, 0, max)//wieldforce is increased since normal force wont stay
if(I.force > initial(I.force))
- user << "[I] has already been refined before. It cannot be sharpened further."
+ to_chat(user, "[I] has already been refined before. It cannot be sharpened further.")
return
user.visible_message("[user] sharpens [I] with [src]!", "You sharpen [I], making it much more deadly than before.")
I.sharpness = IS_SHARP_ACCURATE
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index 84c8761a04a..2bc4ada646c 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -74,7 +74,7 @@
/obj/item/weapon/shield/energy/attack_self(mob/living/carbon/human/user)
if(user.disabilities & CLUMSY && prob(50))
- user << "You beat yourself in the head with [src]."
+ to_chat(user, "You beat yourself in the head with [src].")
user.take_bodypart_damage(5)
active = !active
icon_state = "eshield[active]"
@@ -85,14 +85,14 @@
throw_speed = 2
w_class = WEIGHT_CLASS_BULKY
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
- user << "[src] is now active."
+ to_chat(user, "[src] is now active.")
else
force = 3
throwforce = 3
throw_speed = 3
w_class = WEIGHT_CLASS_TINY
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
- user << "[src] can now be concealed."
+ to_chat(user, "[src] can now be concealed.")
add_fingerprint(user)
/obj/item/weapon/shield/riot/tele
@@ -125,12 +125,12 @@
throw_speed = 2
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_BACK
- user << "You extend \the [src]."
+ to_chat(user, "You extend \the [src].")
else
force = 3
throwforce = 3
throw_speed = 3
w_class = WEIGHT_CLASS_NORMAL
slot_flags = null
- user << "[src] can now be concealed."
+ to_chat(user, "[src] can now be concealed.")
add_fingerprint(user)
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 4c1c005464b..026a4710020 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -59,7 +59,7 @@
playsound(src, pshoom, 40, 1)
user.Beam(dest_object,icon_state="rped_upgrade",time=5)
return 1
- user << "The [src.name] buzzes."
+ to_chat(user, "The [src.name] buzzes.")
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
return 0
@@ -69,7 +69,7 @@
if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated())
return
investigate_log("has become a singularity. Caused by [user.key]","singulo")
- user << "The Bluespace interfaces of the two devices catastrophically malfunction!"
+ to_chat(user, "The Bluespace interfaces of the two devices catastrophically malfunction!")
qdel(W)
var/obj/singularity/singulo = new /obj/singularity (get_turf(src))
singulo.energy = 300 //should make it a bit bigger~
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index ed37f09f322..c10df3e6570 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -159,14 +159,14 @@
/obj/item/weapon/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W, stop_messages = 0)
if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/mineral/wood))
if(!stop_messages)
- usr << "The snatcher does not accept [W]."
+ to_chat(usr, "The snatcher does not accept [W].")
return 0 //I don't care, but the existing code rejects them for not being "sheets" *shrug* -Sayu
var/current = 0
for(var/obj/item/stack/sheet/S in contents)
current += S.amount
if(capacity == current)//If it's full, you're done
if(!stop_messages)
- usr << "The snatcher is full."
+ to_chat(usr, "The snatcher is full.")
return 0
return 1
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 959c071b637..8df8bda2760 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -399,7 +399,7 @@
/obj/item/ammo_box,
)
alternate_worn_layer = UNDER_SUIT_LAYER
-
+
/obj/item/weapon/storage/belt/holster/full/New()
..()
new /obj/item/weapon/gun/ballistic/revolver/detective(src)
@@ -479,7 +479,7 @@
/obj/item/weapon/storage/belt/sabre/examine(mob/user)
..()
if(contents.len)
- user << "Alt-click it to quickly draw the blade."
+ to_chat(user, "Alt-click it to quickly draw the blade.")
/obj/item/weapon/storage/belt/sabre/AltClick(mob/user)
if(!ishuman(user) || !user.canUseTopic(src, be_close=TRUE))
@@ -491,7 +491,7 @@
user.put_in_hands(I)
update_icon()
else
- user << "[src] is empty."
+ to_chat(user, "[src] is empty.")
/obj/item/weapon/storage/belt/sabre/update_icon()
icon_state = "sheath"
diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm
index e1e3ebacd10..daf8e8e78f4 100644
--- a/code/game/objects/items/weapons/storage/book.dm
+++ b/code/game/objects/items/weapons/storage/book.dm
@@ -11,7 +11,7 @@
var/title = "book"
/obj/item/weapon/storage/book/attack_self(mob/user)
- user << "The pages of [title] have been cut out!"
+ to_chat(user, "The pages of [title] have been cut out!")
var/global/list/biblenames = list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon")
var/global/list/biblestates = list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon")
@@ -69,7 +69,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
for(var/X in H.bodyparts)
var/obj/item/bodypart/BP = X
if(BP.status == BODYPART_ROBOTIC)
- user << "[src.deity_name] refuses to heal this metallic taint!"
+ to_chat(user, "[src.deity_name] refuses to heal this metallic taint!")
return 0
var/heal_amt = 10
@@ -81,18 +81,18 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
if(affecting.heal_damage(heal_amt, heal_amt))
H.update_damage_overlays()
H.visible_message("[user] heals [H] with the power of [deity_name]!")
- H << "May the power of [deity_name] compel you to be healed!"
+ to_chat(H, "May the power of [deity_name] compel you to be healed!")
playsound(src.loc, "punch", 25, 1, -1)
return 1
/obj/item/weapon/storage/book/bible/attack(mob/living/M, mob/living/carbon/human/user)
if (!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return
if (user.disabilities & CLUMSY && prob(50))
- user << "[src] slips out of your hand and hits your head."
+ to_chat(user, "[src] slips out of your hand and hits your head.")
user.take_bodypart_damage(10)
user.Paralyse(20)
return
@@ -102,7 +102,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
chaplain = 1
if(!chaplain)
- user << "The book sizzles in your hands."
+ to_chat(user, "The book sizzles in your hands.")
user.take_bodypart_damage(0,10)
return
@@ -110,7 +110,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
if (M.stat != DEAD)
if(chaplain && user == M)
- user << "You can't heal yourself!"
+ to_chat(user, "You can't heal yourself!")
return
if(ishuman(M) && prob(60) && bless(M, user))
@@ -119,7 +119,7 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
var/mob/living/carbon/C = M
if(!istype(C.head, /obj/item/clothing/head/helmet))
C.adjustBrainLoss(10)
- C << "You feel dumber."
+ to_chat(C, "You feel dumber.")
if(smack)
M.visible_message("[user] beats [M] over the head with [src]!", \
@@ -135,18 +135,18 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
if(!proximity)
return
if(isfloorturf(A))
- user << "You hit the floor with the bible."
+ to_chat(user, "You hit the floor with the bible.")
if(user.mind && (user.mind.isholy))
for(var/obj/effect/rune/R in orange(2,user))
R.invisibility = 0
if(user.mind && (user.mind.isholy))
if(A.reagents && A.reagents.has_reagent("water")) // blesses all the water in the holder
- user << "You bless [A]."
+ to_chat(user, "You bless [A].")
var/water2holy = A.reagents.get_reagent_amount("water")
A.reagents.del_reagent("water")
A.reagents.add_reagent("holywater",water2holy)
if(A.reagents && A.reagents.has_reagent("unholywater")) // yeah yeah, copy pasted code - sue me
- user << "You purify [A]."
+ to_chat(user, "You purify [A].")
var/unholy2clean = A.reagents.get_reagent_amount("unholywater")
A.reagents.del_reagent("unholywater")
A.reagents.add_reagent("holywater",unholy2clean)
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index ce8aa10bb47..f49ce395ed0 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -46,7 +46,7 @@
if(!foldable)
return
if(contents.len)
- user << "You can't fold this box with items still inside!"
+ to_chat(user, "You can't fold this box with items still inside!")
return
if(!ispath(foldable))
return
@@ -54,7 +54,7 @@
//Close any open UI windows first
close_all()
- user << "You fold [src] flat."
+ to_chat(user, "You fold [src] flat.")
var/obj/item/I = new foldable(get_turf(src))
user.drop_item()
user.put_in_hands(I)
@@ -714,17 +714,17 @@
if(istype(W, /obj/item/weapon/pen))
//if a pen is used on the sack, dialogue to change its design appears
if(contents.len)
- user << "You can't modify this [src] with items still inside!"
+ to_chat(user, "You can't modify this [src] with items still inside!")
return
var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel")
var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs
if(get_dist(usr, src) > 1)
- usr << "You have moved too far away!"
+ to_chat(usr, "You have moved too far away!")
return
var/choice = designs.Find(switchDesign)
if(design == designs[choice] || designs[choice] == "Cancel")
return 0
- usr << "You make some modifications to the [src] using your pen."
+ to_chat(usr, "You make some modifications to the [src] using your pen.")
design = designs[choice]
icon_state = "paperbag_[design]"
item_state = "paperbag_[design]"
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index a95b629850c..b35be6e628f 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -38,9 +38,9 @@
..()
if(fancy_open)
if(contents.len == 1)
- user << "There is one [src.icon_type] left."
+ to_chat(user, "There is one [src.icon_type] left.")
else
- user << "There are [contents.len <= 0 ? "no" : "[src.contents.len]"] [src.icon_type]s left."
+ to_chat(user, "There are [contents.len <= 0 ? "no" : "[src.contents.len]"] [src.icon_type]s left.")
/obj/item/weapon/storage/fancy/attack_self(mob/user)
fancy_open = !fancy_open
@@ -177,11 +177,11 @@
remove_from_storage(W, M)
M.equip_to_slot_if_possible(W, slot_wear_mask)
contents -= W
- user << "You take a [icon_type] out of the pack."
+ to_chat(user, "You take a [icon_type] out of the pack.")
else
..()
else
- user << "There are no [icon_type]s left in the pack."
+ to_chat(user, "There are no [icon_type]s left in the pack.")
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco
name = "DromedaryCo"
diff --git a/code/game/objects/items/weapons/storage/internal.dm b/code/game/objects/items/weapons/storage/internal.dm
index cc1534da4fd..9fdc14f85c9 100644
--- a/code/game/objects/items/weapons/storage/internal.dm
+++ b/code/game/objects/items/weapons/storage/internal.dm
@@ -29,9 +29,9 @@
. = ..()
if(. && silent && !prevent_warning)
if(quickdraw)
- user << "You discreetly slip [W] into [src]. Alt-click [src] to remove it."
+ to_chat(user, "You discreetly slip [W] into [src]. Alt-click [src] to remove it.")
else
- user << "You discreetly slip [W] into [src]."
+ to_chat(user, "You discreetly slip [W] into [src].")
/obj/item/weapon/storage/internal/pocket/big
max_w_class = WEIGHT_CLASS_NORMAL
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index 1671a4e66d6..ea07603c380 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -20,31 +20,31 @@
/obj/item/weapon/storage/lockbox/attackby(obj/item/weapon/W, mob/user, params)
if(W.GetID())
if(broken)
- user << "It appears to be broken."
+ to_chat(user, "It appears to be broken.")
return
if(allowed(user))
locked = !locked
if(locked)
icon_state = icon_locked
- user << "You lock the [src.name]!"
+ to_chat(user, "You lock the [src.name]!")
close_all()
return
else
icon_state = icon_closed
- user << "You unlock the [src.name]!"
+ to_chat(user, "You unlock the [src.name]!")
return
else
- user << "Access Denied."
+ to_chat(user, "Access Denied.")
return
if(!locked)
return ..()
else
- user << "It's locked!"
+ to_chat(user, "It's locked!")
/obj/item/weapon/storage/lockbox/MouseDrop(over_object, src_location, over_location)
if (locked)
src.add_fingerprint(usr)
- usr << "It's locked!"
+ to_chat(usr, "It's locked!")
return 0
..()
@@ -59,7 +59,7 @@
return
/obj/item/weapon/storage/lockbox/show_to(mob/user)
if(locked)
- user << "It's locked!"
+ to_chat(user, "It's locked!")
else
..()
return
@@ -67,7 +67,7 @@
//Check the destination item type for contentto.
/obj/item/weapon/storage/lockbox/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
if(locked)
- user << "It's locked!"
+ to_chat(user, "It's locked!")
return 0
return ..()
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index 4be269b4712..79b79ec660f 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -28,7 +28,7 @@
/obj/item/weapon/storage/secure/examine(mob/user)
..()
- user << text("The service panel is [src.open ? "open" : "closed"].")
+ to_chat(user, text("The service panel is [src.open ? "open" : "closed"]."))
/obj/item/weapon/storage/secure/attackby(obj/item/weapon/W, mob/user, params)
if(locked)
@@ -64,7 +64,7 @@
/obj/item/weapon/storage/secure/MouseDrop(over_object, src_location, over_location)
if (locked)
src.add_fingerprint(usr)
- usr << "It's locked!"
+ to_chat(usr, "It's locked!")
return 0
..()
@@ -117,7 +117,7 @@
/obj/item/weapon/storage/secure/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
if(locked)
- user << "It's locked!"
+ to_chat(user, "It's locked!")
return 0
return ..()
@@ -152,7 +152,7 @@
/obj/item/weapon/storage/secure/briefcase/attack_hand(mob/user)
if ((src.loc == user) && (src.locked == 1))
- usr << "[src] is locked and cannot be opened!"
+ to_chat(usr, "[src] is locked and cannot be opened!")
add_fingerprint(user)
else
..()
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index 822ed2fb212..5dea2eaf11c 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -268,23 +268,23 @@
return 0 //Means the item is already in the storage item
if(contents.len >= storage_slots)
if(!stop_messages)
- usr << "[src] is full, make some space!"
+ to_chat(usr, "[src] is full, make some space!")
return 0 //Storage item is full
if(can_hold.len)
if(!is_type_in_typecache(W, can_hold))
if(!stop_messages)
- usr << "[src] cannot hold [W]!"
+ to_chat(usr, "[src] cannot hold [W]!")
return 0
if(is_type_in_typecache(W, cant_hold)) //Check for specific items which this container can't hold.
if(!stop_messages)
- usr << "[src] cannot hold [W]!"
+ to_chat(usr, "[src] cannot hold [W]!")
return 0
if(W.w_class > max_w_class)
if(!stop_messages)
- usr << "[W] is too big for [src]!"
+ to_chat(usr, "[W] is too big for [src]!")
return 0
var/sum_w_class = W.w_class
@@ -293,17 +293,17 @@
if(sum_w_class > max_combined_w_class)
if(!stop_messages)
- usr << "[W] won't fit in [src], make some space!"
+ to_chat(usr, "[W] won't fit in [src], make some space!")
return 0
if(W.w_class >= w_class && (istype(W, /obj/item/weapon/storage)))
if(!istype(src, /obj/item/weapon/storage/backpack/holding)) //bohs should be able to hold backpacks again. The override for putting a boh in a boh is in backpack.dm.
if(!stop_messages)
- usr << "[src] cannot hold [W] as it's a storage item of the same size!"
+ to_chat(usr, "[src] cannot hold [W] as it's a storage item of the same size!")
return 0 //To prevent the stacking of same sized storage items.
if(W.flags & NODROP) //SHOULD be handled in unEquip, but better safe than sorry.
- usr << "\the [W] is stuck to your hand, you can't put it in \the [src]!"
+ to_chat(usr, "\the [W] is stuck to your hand, you can't put it in \the [src]!")
return 0
return 1
@@ -341,7 +341,7 @@
if(!prevent_warning)
for(var/mob/M in viewers(usr, null))
if(M == usr)
- usr << "You put [W] [preposition]to [src]."
+ to_chat(usr, "You put [W] [preposition]to [src].")
else if(in_range(M, usr)) //If someone is standing close enough, they can tell what it is...
M.show_message("[usr] puts [W] [preposition]to [src].", 1)
else if(W && W.w_class >= 3) //Otherwise they can only see large or normal items from a distance...
@@ -456,11 +456,11 @@
collection_mode = (collection_mode+1)%3
switch (collection_mode)
if(2)
- usr << "[src] now picks up all items of a single type at once."
+ to_chat(usr, "[src] now picks up all items of a single type at once.")
if(1)
- usr << "[src] now picks up all items in a tile at once."
+ to_chat(usr, "[src] now picks up all items in a tile at once.")
if(0)
- usr << "[src] now picks up one item at a time."
+ to_chat(usr, "[src] now picks up one item at a time.")
// Empty all the contents onto the current turf
/obj/item/weapon/storage/verb/quick_empty()
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 77e34871406..e7a1f2efd7e 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -68,15 +68,15 @@
if(istype(W, /obj/item/weapon/stock_parts/cell))
var/obj/item/weapon/stock_parts/cell/C = W
if(bcell)
- user << "[src] already has a cell."
+ to_chat(user, "[src] already has a cell.")
else
if(C.maxcharge < hitcost)
- user << "[src] requires a higher capacity cell."
+ to_chat(user, "[src] requires a higher capacity cell.")
return
if(!user.transferItemToLoc(W, src))
return
bcell = W
- user << "You install a cell in [src]."
+ to_chat(user, "You install a cell in [src].")
update_icon()
else if(istype(W, /obj/item/weapon/screwdriver))
@@ -84,7 +84,7 @@
bcell.updateicon()
bcell.loc = get_turf(src.loc)
bcell = null
- user << "You remove the cell from [src]."
+ to_chat(user, "You remove the cell from [src].")
status = 0
update_icon()
else
@@ -93,14 +93,14 @@
/obj/item/weapon/melee/baton/attack_self(mob/user)
if(bcell && bcell.charge > hitcost)
status = !status
- user << "[src] is now [status ? "on" : "off"]."
+ to_chat(user, "[src] is now [status ? "on" : "off"].")
playsound(loc, "sparks", 75, 1, -1)
else
status = 0
if(!bcell)
- user << "[src] does not have a power source!"
+ to_chat(user, "[src] does not have a power source!")
else
- user << "[src] is out of charge."
+ to_chat(user, "[src] is out of charge.")
update_icon()
add_fingerprint(user)
diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm
index beb0d631f1a..32e7537652c 100644
--- a/code/game/objects/items/weapons/tanks/jetpack.dm
+++ b/code/game/objects/items/weapons/tanks/jetpack.dm
@@ -27,7 +27,7 @@
else if(istype(action, /datum/action/item_action/jetpack_stabilization))
if(on)
stabilizers = !stabilizers
- user << "You turn the jetpack stabilization [stabilizers ? "on" : "off"]."
+ to_chat(user, "You turn the jetpack stabilization [stabilizers ? "on" : "off"].")
else
toggle_internals(user)
@@ -38,10 +38,10 @@
if(!on)
turn_on()
- user << "You turn the jetpack on."
+ to_chat(user, "You turn the jetpack on.")
else
turn_off()
- user << "You turn the jetpack off."
+ to_chat(user, "You turn the jetpack off.")
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
@@ -154,12 +154,12 @@
/obj/item/weapon/tank/jetpack/suit/cycle(mob/user)
if(!istype(loc, /obj/item/clothing/suit/space/hardsuit))
- user << "\The [src] must be connected to a hardsuit!"
+ to_chat(user, "\The [src] must be connected to a hardsuit!")
return
var/mob/living/carbon/human/H = user
if(!istype(H.s_store, /obj/item/weapon/tank/internals))
- user << "You need a tank in your suit storage!"
+ to_chat(user, "You need a tank in your suit storage!")
return
..()
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index d5cb9547f0d..ffac4b240b2 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -25,24 +25,24 @@
return
if(H.internal == src)
- H << "You close [src] valve."
+ to_chat(H, "You close [src] valve.")
H.internal = null
H.update_internals_hud_icon(0)
else
if(!H.getorganslot("breathing_tube"))
if(!H.wear_mask)
- H << "You need a mask!"
+ to_chat(H, "You need a mask!")
return
if(H.wear_mask.mask_adjusted)
H.wear_mask.adjustmask(H)
if(!(H.wear_mask.flags & MASKINTERNALS))
- H << "[H.wear_mask] can't use [src]!"
+ to_chat(H, "[H.wear_mask] can't use [src]!")
return
if(H.internal)
- H << "You switch your internals to [src]."
+ to_chat(H, "You switch your internals to [src].")
else
- H << "You open [src] valve."
+ to_chat(H, "You open [src] valve.")
H.internal = src
H.update_internals_hud_icon(1)
H.update_action_buttons_icon()
@@ -69,10 +69,10 @@
if (istype(src.loc, /obj/item/assembly))
icon = src.loc
if(!in_range(src, user))
- if (icon == src) user << "If you want any more information you'll need to get closer."
+ if (icon == src) to_chat(user, "If you want any more information you'll need to get closer.")
return
- user << "The pressure gauge reads [src.air_contents.return_pressure()] kPa."
+ to_chat(user, "The pressure gauge reads [src.air_contents.return_pressure()] kPa.")
var/celsius_temperature = src.air_contents.temperature-T0C
var/descriptive
@@ -90,7 +90,7 @@
else
descriptive = "furiously hot"
- user << "It feels [descriptive]."
+ to_chat(user, "It feels [descriptive].")
/obj/item/weapon/tank/blob_act(obj/structure/blob/B)
if(B && B.loc == loc)
@@ -234,7 +234,7 @@
if(!istype(src.loc,/obj/item/device/transfer_valve))
message_admins("Explosive tank rupture! Last key to touch the tank was [src.fingerprintslast].")
log_game("Explosive tank rupture! Last key to touch the tank was [src.fingerprintslast].")
- //world << "\blue[x],[y] tank is exploding: [pressure] kPa"
+ //to_chat(world, "\blue[x],[y] tank is exploding: [pressure] kPa")
//Give the gas a chance to build up more pressure through reacting
air_contents.react()
air_contents.react()
@@ -243,7 +243,7 @@
var/range = (pressure-TANK_FRAGMENT_PRESSURE)/TANK_FRAGMENT_SCALE
var/turf/epicenter = get_turf(loc)
- //world << "\blue Exploding Pressure: [pressure] kPa, intensity: [range]"
+ //to_chat(world, "\blue Exploding Pressure: [pressure] kPa, intensity: [range]")
explosion(epicenter, round(range*0.25), round(range*0.5), round(range), round(range*1.5))
if(istype(src.loc,/obj/item/device/transfer_valve))
@@ -252,7 +252,7 @@
qdel(src)
else if(pressure > TANK_RUPTURE_PRESSURE)
- //world << "\blue[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]"
+ //to_chat(world, "\blue[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]")
if(integrity <= 0)
var/turf/T = get_turf(src)
if(!T)
@@ -264,7 +264,7 @@
integrity--
else if(pressure > TANK_LEAK_PRESSURE)
- //world << "\blue[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]"
+ //to_chat(world, "\blue[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]")
if(integrity <= 0)
var/turf/T = get_turf(src)
if(!T)
diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm
index dca3668758d..ecca6aabfcd 100644
--- a/code/game/objects/items/weapons/tanks/watertank.dm
+++ b/code/game/objects/items/weapons/tanks/watertank.dm
@@ -34,7 +34,7 @@
set name = "Toggle Mister"
set category = "Object"
if (usr.get_item_by_slot(usr.getBackSlot()) != src)
- usr << "The watertank must be worn properly to use!"
+ to_chat(usr, "The watertank must be worn properly to use!")
return
if(usr.incapacitated())
return
@@ -48,7 +48,7 @@
//Detach the nozzle into the user's hands
if(!user.put_in_hands(noz))
on = 0
- user << "You need a free hand to hold the mister!"
+ to_chat(user, "You need a free hand to hold the mister!")
return
noz.loc = user
else
@@ -124,7 +124,7 @@
/obj/item/weapon/reagent_containers/spray/mister/dropped(mob/user)
..()
- user << "The mister snaps back onto the watertank."
+ to_chat(user, "The mister snaps back onto the watertank.")
tank.on = 0
loc = tank
@@ -173,7 +173,7 @@
/obj/item/weapon/reagent_containers/spray/mister/janitor/attack_self(var/mob/user)
amount_per_transfer_from_this = (amount_per_transfer_from_this == 10 ? 5 : 10)
- user << "You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray."
+ to_chat(user, "You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray.")
//ATMOS FIRE FIGHTING BACKPACK
@@ -240,23 +240,23 @@
if(EXTINGUISHER)
nozzle_mode = NANOFROST
tank.icon_state = "waterbackpackatmos_1"
- user << "Swapped to nanofrost launcher"
+ to_chat(user, "Swapped to nanofrost launcher")
return
if(NANOFROST)
nozzle_mode = METAL_FOAM
tank.icon_state = "waterbackpackatmos_2"
- user << "Swapped to metal foam synthesizer"
+ to_chat(user, "Swapped to metal foam synthesizer")
return
if(METAL_FOAM)
nozzle_mode = EXTINGUISHER
tank.icon_state = "waterbackpackatmos_0"
- user << "Swapped to water extinguisher"
+ to_chat(user, "Swapped to water extinguisher")
return
return
/obj/item/weapon/extinguisher/mini/nozzle/dropped(mob/user)
..()
- user << "The nozzle snaps back onto the tank!"
+ to_chat(user, "The nozzle snaps back onto the tank!")
tank.on = 0
loc = tank
@@ -272,10 +272,10 @@
return //Safety check so you don't blast yourself trying to refill your tank
var/datum/reagents/R = reagents
if(R.total_volume < 100)
- user << "You need at least 100 units of water to use the nanofrost launcher!"
+ to_chat(user, "You need at least 100 units of water to use the nanofrost launcher!")
return
if(nanofrost_cooldown)
- user << "Nanofrost launcher is still recharging..."
+ to_chat(user, "Nanofrost launcher is still recharging...")
return
nanofrost_cooldown = 1
R.remove_any(100)
@@ -300,7 +300,7 @@
spawn(100)
metal_synthesis_cooldown--
else
- user << "Metal foam mix is still being synthesized..."
+ to_chat(user, "Metal foam mix is still being synthesized...")
return
/obj/effect/nanofrost_container
@@ -358,7 +358,7 @@
if(!istype(user))
return
if (user.get_item_by_slot(slot_back) != src)
- user << "The chemtank needs to be on your back before you can activate it!"
+ to_chat(user, "The chemtank needs to be on your back before you can activate it!")
return
if(on)
turn_off()
@@ -406,13 +406,13 @@
on = 1
START_PROCESSING(SSobj, src)
if(ismob(loc))
- loc << "[src] turns on."
+ to_chat(loc, "[src] turns on.")
/obj/item/weapon/reagent_containers/chemtank/proc/turn_off()
on = 0
STOP_PROCESSING(SSobj, src)
if(ismob(loc))
- loc << "[src] turns off."
+ to_chat(loc, "[src] turns off.")
/obj/item/weapon/reagent_containers/chemtank/process()
if(!ishuman(loc))
diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm
index 7df70456a36..a2dfa8af0a3 100644
--- a/code/game/objects/items/weapons/teleportation.dm
+++ b/code/game/objects/items/weapons/teleportation.dm
@@ -49,7 +49,7 @@ Frequency:
return
var/turf/current_location = get_turf(usr)//What turf is the user on?
if(!current_location||current_location.z==2)//If turf was not found or they're on z level 2.
- usr << "The [src] is malfunctioning."
+ to_chat(usr, "The [src] is malfunctioning.")
return
if(usr.contents.Find(src) || (in_range(src, usr) && isturf(loc)))
usr.set_machine(src)
@@ -142,7 +142,7 @@ Frequency:
var/turf/current_location = get_turf(user)//What turf is the user on?
var/area/current_area = current_location.loc
if(!current_location || current_area.noteleport || current_location.z > ZLEVEL_SPACEMAX || !isturf(user.loc))//If turf was not found or they're on z level 2 or >7 which does not currently exist. or if user is not located on a turf
- user << "\The [src] is malfunctioning."
+ to_chat(user, "\The [src] is malfunctioning.")
return
var/list/L = list( )
for(var/obj/machinery/computer/teleporter/com in machines)
@@ -175,7 +175,7 @@ Frequency:
var/atom/T = L[t1]
var/area/A = get_area(T)
if(A.noteleport)
- user << "\The [src] is malfunctioning."
+ to_chat(user, "\The [src] is malfunctioning.")
return
user.show_message("Locked In.", 2)
var/obj/effect/portal/P = new /obj/effect/portal(get_turf(src), T, src)
diff --git a/code/game/objects/items/weapons/teleprod.dm b/code/game/objects/items/weapons/teleprod.dm
index 7736dc2ff2c..07af7a30c47 100644
--- a/code/game/objects/items/weapons/teleprod.dm
+++ b/code/game/objects/items/weapons/teleprod.dm
@@ -34,7 +34,7 @@
qdel(src)
qdel(I)
user.put_in_hands(S)
- user << "You place the bluespace crystal firmly into the igniter."
+ to_chat(user, "You place the bluespace crystal firmly into the igniter.")
else
user.visible_message("You can't put the crystal onto the stunprod while it has a power cell installed!")
else
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 7e3d23d7c26..954ae2757e4 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -73,7 +73,7 @@
/obj/item/weapon/wrench/power/attack_self(mob/user)
playsound(get_turf(user),'sound/items/change_drill.ogg',50,1)
var/obj/item/weapon/wirecutters/power/s_drill = new /obj/item/weapon/screwdriver/power
- user << "You attach the screw driver bit to [src]."
+ to_chat(user, "You attach the screw driver bit to [src].")
qdel(src)
user.put_in_active_hand(s_drill)
@@ -203,7 +203,7 @@
/obj/item/weapon/screwdriver/power/attack_self(mob/user)
playsound(get_turf(user),'sound/items/change_drill.ogg',50,1)
var/obj/item/weapon/wrench/power/b_drill = new /obj/item/weapon/wrench/power
- user << "You attach the bolt driver bit to [src]."
+ to_chat(user, "You attach the bolt driver bit to [src].")
qdel(src)
user.put_in_active_hand(b_drill)
@@ -302,7 +302,7 @@
/obj/item/weapon/wirecutters/power/attack_self(mob/user)
playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1)
var/obj/item/weapon/crowbar/power/pryjaws = new /obj/item/weapon/crowbar/power
- user << "You attach the pry jaws to [src]."
+ to_chat(user, "You attach the pry jaws to [src].")
qdel(src)
user.put_in_active_hand(pryjaws)
/*
@@ -463,7 +463,7 @@
return TRUE
else
if(M)
- M << "You need more welding fuel to complete this task!"
+ to_chat(M, "You need more welding fuel to complete this task!")
return FALSE
@@ -483,12 +483,12 @@
//Switches the welder on
/obj/item/weapon/weldingtool/proc/switched_on(mob/user)
if(!status)
- user << "[src] can't be turned on while unsecured!"
+ to_chat(user, "[src] can't be turned on while unsecured!")
return
welding = !welding
if(welding)
if(get_fuel() >= 1)
- user << "You switch [src] on."
+ to_chat(user, "You switch [src] on.")
playsound(loc, acti_sound, 50, 1)
force = 15
damtype = "fire"
@@ -496,10 +496,10 @@
update_icon()
START_PROCESSING(SSobj, src)
else
- user << "You need more fuel!"
+ to_chat(user, "You need more fuel!")
switched_off(user)
else
- user << "You switch [src] off."
+ to_chat(user, "You switch [src] off.")
playsound(loc, deac_sound, 50, 1)
switched_off(user)
@@ -516,7 +516,7 @@
/obj/item/weapon/weldingtool/examine(mob/user)
..()
- user << "It contains [get_fuel()] unit\s of fuel out of [max_fuel]."
+ to_chat(user, "It contains [get_fuel()] unit\s of fuel out of [max_fuel].")
/obj/item/weapon/weldingtool/is_hot()
return welding * heat
@@ -528,13 +528,13 @@
/obj/item/weapon/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user)
if(welding)
- user << "Turn it off first!"
+ to_chat(user, "Turn it off first!")
return
status = !status
if(status)
- user << "You resecure [src]."
+ to_chat(user, "You resecure [src].")
else
- user << "[src] can now be attached and modified."
+ to_chat(user, "[src] can now be attached and modified.")
add_fingerprint(user)
/obj/item/weapon/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user)
@@ -546,10 +546,10 @@
user.transferItemToLoc(src, F, TRUE)
F.weldtool = src
add_fingerprint(user)
- user << "You add a rod to a welder, starting to build a flamethrower."
+ to_chat(user, "You add a rod to a welder, starting to build a flamethrower.")
user.put_in_hands(F)
else
- user << "You need one rod to start building a flamethrower!"
+ to_chat(user, "You need one rod to start building a flamethrower!")
/obj/item/weapon/weldingtool/ignition_effect(atom/A, mob/user)
if(welding && remove_fuel(1, user))
@@ -724,6 +724,6 @@
/obj/item/weapon/crowbar/power/attack_self(mob/user)
playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1)
var/obj/item/weapon/wirecutters/power/cutjaws = new /obj/item/weapon/wirecutters/power
- user << "You attach the cutting jaws to [src]."
+ to_chat(user, "You attach the cutting jaws to [src].")
qdel(src)
user.put_in_active_hand(cutjaws)
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index ac5a28486e4..25978966a2a 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -43,9 +43,9 @@
update_icon()
if(show_message)
if(iscyborg(user))
- user << "You free up your module."
+ to_chat(user, "You free up your module.")
else
- user << "You are now carrying [src] with one hand."
+ to_chat(user, "You are now carrying [src] with one hand.")
if(unwieldsound)
playsound(loc, unwieldsound, 50, 1)
var/obj/item/weapon/twohanded/offhand/O = user.get_inactive_held_item()
@@ -57,13 +57,13 @@
if(wielded)
return
if(ismonkey(user))
- user << "It's too heavy for you to wield fully."
+ to_chat(user, "It's too heavy for you to wield fully.")
return
if(user.get_inactive_held_item())
- user << "You need your other hand to be empty!"
+ to_chat(user, "You need your other hand to be empty!")
return
if(user.get_num_arms() < 2)
- user << "You don't have enough hands."
+ to_chat(user, "You don't have enough hands.")
return
wielded = 1
if(force_wielded)
@@ -71,9 +71,9 @@
name = "[name] (Wielded)"
update_icon()
if(iscyborg(user))
- user << "You dedicate your module to [src]."
+ to_chat(user, "You dedicate your module to [src].")
else
- user << "You grab [src] with both hands."
+ to_chat(user, "You grab [src] with both hands.")
if (wieldsound)
playsound(loc, wieldsound, 50, 1)
var/obj/item/weapon/twohanded/offhand/O = new(user) ////Let's reserve his other hand~
@@ -150,7 +150,7 @@
/obj/item/weapon/twohanded/required/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
if(wielded && !slot_flags)
- M << "[src] is too cumbersome to carry with anything but your hands!"
+ to_chat(M, "[src] is too cumbersome to carry with anything but your hands!")
return 0
return ..()
@@ -159,7 +159,7 @@
if(get_dist(src,user) > 1)
return
if(H != null)
- user << "[src] is too cumbersome to carry in one hand!"
+ to_chat(user, "[src] is too cumbersome to carry in one hand!")
return
if(src.loc != user)
wield(user)
@@ -186,7 +186,7 @@
/obj/item/weapon/twohanded/required/unwield(mob/living/carbon/user, show_message = TRUE)
if(show_message)
- user << "You drop [src]."
+ to_chat(user, "You drop [src].")
..(user, FALSE)
user.dropItemToGround(src)
@@ -291,7 +291,7 @@
/obj/item/weapon/twohanded/dualsaber/attack(mob/target, mob/living/carbon/human/user)
if(user.has_dna())
if(user.dna.check_mutation(HULK))
- user << "You grip the blade too hard and accidentally close it!"
+ to_chat(user, "You grip the blade too hard and accidentally close it!")
unwield()
return
..()
@@ -309,7 +309,7 @@
sleep(1)
/obj/item/weapon/twohanded/dualsaber/proc/impale(mob/living/user)
- user << "You twirl around a bit before losing your balance and impaling yourself on [src]."
+ to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].")
if (force_wielded)
user.take_bodypart_damage(20,25)
else
@@ -322,13 +322,13 @@
/obj/item/weapon/twohanded/dualsaber/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up
if(wielded)
- user << "You can't pick up such dangerous item with your meaty hands without losing fingers, better not to!"
+ to_chat(user, "You can't pick up such dangerous item with your meaty hands without losing fingers, better not to!")
return 1
/obj/item/weapon/twohanded/dualsaber/wield(mob/living/carbon/M) //Specific wield () hulk checks due to reflection chance for balance issues and switches hitsounds.
if(M.has_dna())
if(M.dna.check_mutation(HULK))
- M << "You lack the grace to wield this!"
+ to_chat(M, "You lack the grace to wield this!")
return
..()
if(wielded)
@@ -389,11 +389,11 @@
if(istype(W, /obj/item/device/multitool))
if(hacked == 0)
hacked = 1
- user << "2XRNBW_ENGAGE"
+ to_chat(user, "2XRNBW_ENGAGE")
item_color = "rainbow"
update_icon()
else
- user << "It's starting to look like a triple rainbow - no, nevermind."
+ to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.")
else
return ..()
@@ -490,7 +490,7 @@
/obj/item/weapon/twohanded/required/chainsaw/attack_self(mob/user)
on = !on
- user << "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]"
+ to_chat(user, "As you pull the starting cord dangling from [src], [on ? "it begins to whirr." : "the chain stops moving."]")
force = on ? force_on : initial(force)
throwforce = on ? force_on : initial(force)
icon_state = "chainsaw_[on ? "on" : "off"]"
@@ -607,7 +607,7 @@
/obj/item/weapon/twohanded/pitchfork/demonic/attack(mob/target, mob/living/carbon/human/user)
if(user.mind && !user.mind.devilinfo && (user.mind.soulOwner != user.mind))
- user << "[src] burns in your hands."
+ to_chat(user, "[src] burns in your hands.")
user.apply_damage(rand(force/2, force), BURN, pick("l_arm", "r_arm"))
..()
diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm
index a1d85277cd8..366c08cbf7e 100644
--- a/code/game/objects/items/weapons/vending_items.dm
+++ b/code/game/objects/items/weapons/vending_items.dm
@@ -25,9 +25,9 @@
/obj/item/weapon/vending_refill/examine(mob/user)
..()
if(charges[1] > 0)
- user << "It can restock [charges[1]+charges[2]+charges[3]] item(s)."
+ to_chat(user, "It can restock [charges[1]+charges[2]+charges[3]] item(s).")
else
- user << "It's empty!"
+ to_chat(user, "It's empty!")
//NOTE I decided to go for about 1/3 of a machine's capacity
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index cff4bdd76c8..2b1b52b0a70 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -21,8 +21,8 @@
return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS)
/obj/item/weapon/banhammer/attack(mob/M, mob/user)
- M << " You have been banned FOR NO REISIN by [user]"
- user << "You have BANNED [M]"
+ to_chat(M, " You have been banned FOR NO REISIN by [user]")
+ to_chat(user, "You have BANNED [M]")
playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much
/obj/item/weapon/sord
@@ -98,7 +98,7 @@
/obj/item/weapon/claymore/highlander/pickup(mob/living/user)
- user << "The power of Scotland protects you! You are shielded from all stuns and knockdowns."
+ to_chat(user, "The power of Scotland protects you! You are shielded from all stuns and knockdowns.")
user.add_stun_absorption("highlander", INFINITY, 1, " is protected by the power of Scotland!", "The power of Scotland absorbs the stun!", " is protected by the power of Scotland!")
user.status_flags += IGNORESLOWDOWN
@@ -108,9 +108,9 @@
/obj/item/weapon/claymore/highlander/examine(mob/user)
..()
- user << "It has [!notches ? "nothing" : "[notches] notches"] scratched into the blade."
+ to_chat(user, "It has [!notches ? "nothing" : "[notches] notches"] scratched into the blade.")
if(nuke_disk)
- user << "It's holding the nuke disk!"
+ to_chat(user, "It's holding the nuke disk!")
/obj/item/weapon/claymore/highlander/attack(mob/living/target, mob/living/user)
. = ..()
@@ -127,9 +127,9 @@
if(H.client && H.mind.special_role == "highlander" && (!closest_victim || get_dist(user, closest_victim) < closest_distance))
closest_victim = H
if(!closest_victim)
- user << "[src] thrums for a moment and falls dark. Perhaps there's nobody nearby."
+ to_chat(user, "[src] thrums for a moment and falls dark. Perhaps there's nobody nearby.")
return
- user << "[src] thrums and points to the [dir2text(get_dir(user, closest_victim))]."
+ to_chat(user, "[src] thrums and points to the [dir2text(get_dir(user, closest_victim))].")
/obj/item/weapon/claymore/highlander/IsReflect()
return 1 //YOU THINK YOUR PUNY LASERS CAN STOP ME?
@@ -140,39 +140,39 @@
var/new_name = name
switch(notches)
if(1)
- user << "Your first kill - hopefully one of many. You scratch a notch into [src]'s blade."
- user << "You feel your fallen foe's soul entering your blade, restoring your wounds!"
+ to_chat(user, "Your first kill - hopefully one of many. You scratch a notch into [src]'s blade.")
+ to_chat(user, "You feel your fallen foe's soul entering your blade, restoring your wounds!")
new_name = "notched claymore"
if(2)
- user << "Another falls before you. Another soul fuses with your own. Another notch in the blade."
+ to_chat(user, "Another falls before you. Another soul fuses with your own. Another notch in the blade.")
new_name = "double-notched claymore"
add_atom_colour(rgb(255, 235, 235), ADMIN_COLOUR_PRIORITY)
if(3)
- user << "You're beginning to relish the thrill of battle."
+ to_chat(user, "You're beginning to relish the thrill of battle.")
new_name = "triple-notched claymore"
add_atom_colour(rgb(255, 215, 215), ADMIN_COLOUR_PRIORITY)
if(4)
- user << "You've lost count of how many you've killed."
+ to_chat(user, "You've lost count of how many you've killed.")
new_name = "many-notched claymore"
add_atom_colour(rgb(255, 195, 195), ADMIN_COLOUR_PRIORITY)
if(5)
- user << "Five voices now echo in your mind, cheering the slaughter."
+ to_chat(user, "Five voices now echo in your mind, cheering the slaughter.")
new_name = "battle-tested claymore"
add_atom_colour(rgb(255, 175, 175), ADMIN_COLOUR_PRIORITY)
if(6)
- user << "Is this what the vikings felt like? Visions of glory fill your head as you slay your sixth foe."
+ to_chat(user, "Is this what the vikings felt like? Visions of glory fill your head as you slay your sixth foe.")
new_name = "battle-scarred claymore"
add_atom_colour(rgb(255, 155, 155), ADMIN_COLOUR_PRIORITY)
if(7)
- user << "Kill. Butcher. Conquer."
+ to_chat(user, "Kill. Butcher. Conquer.")
new_name = "vicious claymore"
add_atom_colour(rgb(255, 135, 135), ADMIN_COLOUR_PRIORITY)
if(8)
- user << "IT NEVER GETS OLD. THE SCREAMING. THE BLOOD AS IT SPRAYS ACROSS YOUR FACE."
+ to_chat(user, "IT NEVER GETS OLD. THE SCREAMING. THE BLOOD AS IT SPRAYS ACROSS YOUR FACE.")
new_name = "bloodthirsty claymore"
add_atom_colour(rgb(255, 115, 115), ADMIN_COLOUR_PRIORITY)
if(9)
- user << "ANOTHER ONE FALLS TO YOUR BLOWS. ANOTHER WEAKLING UNFIT TO LIVE."
+ to_chat(user, "ANOTHER ONE FALLS TO YOUR BLOWS. ANOTHER WEAKLING UNFIT TO LIVE.")
new_name = "gore-stained claymore"
add_atom_colour(rgb(255, 95, 95), ADMIN_COLOUR_PRIORITY)
if(10)
@@ -234,14 +234,14 @@
qdel(src)
user.put_in_hands(S)
- user << "You fasten the glass shard to the top of the rod with the cable."
+ to_chat(user, "You fasten the glass shard to the top of the rod with the cable.")
else if(istype(I, /obj/item/device/assembly/igniter) && !(I.flags & NODROP))
var/obj/item/weapon/melee/baton/cattleprod/P = new /obj/item/weapon/melee/baton/cattleprod
remove_item_from_storage(user)
- user << "You fasten [I] to the top of the rod with the cable."
+ to_chat(user, "You fasten [I] to the top of the rod with the cable.")
qdel(I)
qdel(src)
@@ -470,13 +470,13 @@
..()
return
if(homerun_ready)
- user << "You're already ready to do a home run!"
+ to_chat(user, "You're already ready to do a home run!")
..()
return
- user << "You begin gathering strength..."
+ to_chat(user, "You begin gathering strength...")
playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, 1)
if(do_after(user, 90, target = src))
- user << "You gather power! Time for a home run!"
+ to_chat(user, "You gather power! Time for a home run!")
homerun_ready = 1
..()
@@ -538,7 +538,7 @@
if(proximity_flag)
if(is_type_in_typecache(target, strong_against))
new /obj/effect/decal/cleanable/deadcockroach(get_turf(target))
- user << "You easily splat the [target]."
+ to_chat(user, "You easily splat the [target].")
if(istype(target, /mob/living/))
var/mob/living/bug = target
bug.death(1)
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 8a854d98766..dbd8b9275d2 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -199,7 +199,7 @@
/obj/examine(mob/user)
..()
if(unique_rename)
- user << "Use a pen on it to rename it or change its description."
+ to_chat(user, "Use a pen on it to rename it or change its description.")
/obj/proc/rename_obj(mob/M)
var/input = stripped_input(M,"What do you want to name \the [name]?", ,"", MAX_NAME_LEN)
@@ -207,11 +207,11 @@
if(!QDELETED(src) && M.canUseTopic(src, BE_CLOSE) && input != "")
if(oldname == input)
- M << "You changed \the [name] to... well... \the [name]."
+ to_chat(M, "You changed \the [name] to... well... \the [name].")
return
else
name = input
- M << "\The [oldname] has been successfully been renamed to \the [input]."
+ to_chat(M, "\The [oldname] has been successfully been renamed to \the [input].")
return
else
return
@@ -221,7 +221,7 @@
if(!QDELETED(src) && M.canUseTopic(src, BE_CLOSE) && input != "")
desc = input
- M << "You have successfully changed \the [name]'s description."
+ to_chat(M, "You have successfully changed \the [name]'s description.")
return
else
return
diff --git a/code/game/objects/radiation.dm b/code/game/objects/radiation.dm
index 7befcdd3a18..1b522d69715 100644
--- a/code/game/objects/radiation.dm
+++ b/code/game/objects/radiation.dm
@@ -34,7 +34,7 @@
var/blocked = getarmor(null, "rad")
if(!silent)
- src << "Your skin feels warm."
+ to_chat(src, "Your skin feels warm.")
apply_effect(amount, IRRADIATE, blocked)
for(var/obj/I in src) //Radiation is also applied to items held by the mob
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index cd16112cd01..a23a53e6ee5 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -87,19 +87,19 @@
user.Stun(climb_stun)
. = 1
else
- user << "You fail to climb onto [src]."
+ to_chat(user, "You fail to climb onto [src].")
structureclimber = null
/obj/structure/examine(mob/user)
..()
if(!(resistance_flags & INDESTRUCTIBLE))
if(resistance_flags & ON_FIRE)
- user << "It's on fire!"
+ to_chat(user, "It's on fire!")
if(broken)
- user << "It looks broken."
+ to_chat(user, "It looks broken.")
var/examine_status = examine_status(user)
if(examine_status)
- user << examine_status
+ to_chat(user, examine_status)
/obj/structure/proc/examine_status(mob/user) //An overridable proc, mostly for falsewalls.
var/healthpercent = (obj_integrity/max_integrity) * 100
diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm
index 68bd134b3d2..bdc560be137 100644
--- a/code/game/objects/structures/ai_core.dm
+++ b/code/game/objects/structures/ai_core.dm
@@ -30,16 +30,16 @@
if(!anchored)
if(istype(P, /obj/item/weapon/weldingtool))
if(state != EMPTY_CORE)
- user << "The core must be empty to deconstruct it!"
+ to_chat(user, "The core must be empty to deconstruct it!")
return
var/obj/item/weapon/weldingtool/WT = P
if(!WT.isOn())
- user << "The welder must be on for this task!"
+ to_chat(user, "The welder must be on for this task!")
return
playsound(loc, WT.usesound, 50, 1)
- user << "You start to deconstruct the frame..."
+ to_chat(user, "You start to deconstruct the frame...")
if(do_after(user, 20*P.toolspeed, target = src) && src && state == EMPTY_CORE && WT && WT.remove_fuel(0, user))
- user << "You deconstruct the frame."
+ to_chat(user, "You deconstruct the frame.")
deconstruct(TRUE)
return
else
@@ -49,7 +49,7 @@
if(!user.drop_item())
return
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You place the circuit board inside the frame."
+ to_chat(user, "You place the circuit board inside the frame.")
update_icon()
state = CIRCUIT_CORE
circuit = P
@@ -58,13 +58,13 @@
if(CIRCUIT_CORE)
if(istype(P, /obj/item/weapon/screwdriver))
playsound(loc, P.usesound, 50, 1)
- user << "You screw the circuit board into place."
+ to_chat(user, "You screw the circuit board into place.")
state = SCREWED_CORE
update_icon()
return
if(istype(P, /obj/item/weapon/crowbar))
playsound(loc, P.usesound, 50, 1)
- user << "You remove the circuit board."
+ to_chat(user, "You remove the circuit board.")
state = EMPTY_CORE
update_icon()
circuit.forceMove(loc)
@@ -73,7 +73,7 @@
if(SCREWED_CORE)
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(loc, P.usesound, 50, 1)
- user << "You unfasten the circuit board."
+ to_chat(user, "You unfasten the circuit board.")
state = CIRCUIT_CORE
update_icon()
return
@@ -81,21 +81,21 @@
var/obj/item/stack/cable_coil/C = P
if(C.get_amount() >= 5)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You start to add cables to the frame..."
+ to_chat(user, "You start to add cables to the frame...")
if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5))
- user << "You add cables to the frame."
+ to_chat(user, "You add cables to the frame.")
state = CABLED_CORE
update_icon()
else
- user << "You need five lengths of cable to wire the AI core!"
+ to_chat(user, "You need five lengths of cable to wire the AI core!")
return
if(CABLED_CORE)
if(istype(P, /obj/item/weapon/wirecutters))
if(brain)
- user << "Get that [brain.name] out of there first!"
+ to_chat(user, "Get that [brain.name] out of there first!")
else
playsound(loc, P.usesound, 50, 1)
- user << "You remove the cables."
+ to_chat(user, "You remove the cables.")
state = SCREWED_CORE
update_icon()
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
@@ -106,18 +106,18 @@
var/obj/item/stack/sheet/rglass/G = P
if(G.get_amount() >= 2)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You start to put in the glass panel..."
+ to_chat(user, "You start to put in the glass panel...")
if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2))
- user << "You put in the glass panel."
+ to_chat(user, "You put in the glass panel.")
state = GLASS_CORE
update_icon()
else
- user << "You need two sheets of reinforced glass to insert them into the AI core!"
+ to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!")
return
if(istype(P, /obj/item/weapon/aiModule))
if(brain && brain.laws.id != DEFAULT_AI_LAWID)
- user << "The installed [brain.name] already has set laws!"
+ to_chat(user, "The installed [brain.name] already has set laws!")
return
var/obj/item/weapon/aiModule/module = P
module.install(laws, user)
@@ -126,22 +126,22 @@
if(istype(P, /obj/item/device/mmi) && !brain)
var/obj/item/device/mmi/M = P
if(!M.brainmob)
- user << "Sticking an empty [M.name] into the frame would sort of defeat the purpose!"
+ to_chat(user, "Sticking an empty [M.name] into the frame would sort of defeat the purpose!")
return
if(M.brainmob.stat == DEAD)
- user << "Sticking a dead [M.name] into the frame would sort of defeat the purpose!"
+ to_chat(user, "Sticking a dead [M.name] into the frame would sort of defeat the purpose!")
return
if(!M.brainmob.client)
- user << "Sticking an inactive [M.name] into the frame would sort of defeat the purpose."
+ to_chat(user, "Sticking an inactive [M.name] into the frame would sort of defeat the purpose.")
return
if((config) && (!config.allow_ai) || jobban_isbanned(M.brainmob, "AI"))
- user << "This [M.name] does not seem to fit!"
+ to_chat(user, "This [M.name] does not seem to fit!")
return
if(!M.brainmob.mind)
- user << "This [M.name] is mindless!"
+ to_chat(user, "This [M.name] is mindless!")
return
if(!user.drop_item())
@@ -149,13 +149,13 @@
M.forceMove(src)
brain = M
- user << "You add [M.name] to the frame."
+ to_chat(user, "You add [M.name] to the frame.")
update_icon()
return
if(istype(P, /obj/item/weapon/crowbar) && brain)
playsound(loc, P.usesound, 50, 1)
- user << "You remove the brain."
+ to_chat(user, "You remove the brain.")
brain.forceMove(loc)
brain = null
update_icon()
@@ -164,7 +164,7 @@
if(GLASS_CORE)
if(istype(P, /obj/item/weapon/crowbar))
playsound(loc, P.usesound, 50, 1)
- user << "You remove the glass panel."
+ to_chat(user, "You remove the glass panel.")
state = CABLED_CORE
update_icon()
new /obj/item/stack/sheet/rglass(loc, 2)
@@ -172,7 +172,7 @@
if(istype(P, /obj/item/weapon/screwdriver))
playsound(loc, P.usesound, 50, 1)
- user << "You connect the monitor."
+ to_chat(user, "You connect the monitor.")
if(brain)
ticker.mode.remove_antag_for_borging(brain.brainmob.mind)
if(!istype(brain.laws, /datum/ai_laws/ratvar))
@@ -194,7 +194,7 @@
if(istype(P, /obj/item/weapon/screwdriver))
playsound(loc, P.usesound, 50, 1)
- user << "You disconnect the monitor."
+ to_chat(user, "You disconnect the monitor.")
state = GLASS_CORE
update_icon()
return
@@ -251,7 +251,7 @@ That prevents a few funky behaviors.
/atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/device/aicard/card)
if(istype(card))
if(card.flush)
- user << "ERROR: AI flush is in progress, cannot execute transfer protocol."
+ to_chat(user, "ERROR: AI flush is in progress, cannot execute transfer protocol.")
return 0
return 1
@@ -264,12 +264,12 @@ That prevents a few funky behaviors.
AI.control_disabled = 0
AI.radio_enabled = 1
AI.forceMove(loc) // to replace the terminal.
- AI << "You have been uploaded to a stationary terminal. Remote device connection restored."
- user << "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."
+ to_chat(AI, "You have been uploaded to a stationary terminal. Remote device connection restored.")
+ to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
card.AI = null
qdel(src)
else //If for some reason you use an empty card on an empty AI terminal.
- user << "There is no AI loaded on this terminal!"
+ to_chat(user, "There is no AI loaded on this terminal!")
/obj/item/weapon/circuitboard/aicore
diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm
index 73fac74a088..3150d690134 100644
--- a/code/game/objects/structures/aliens.dm
+++ b/code/game/objects/structures/aliens.dm
@@ -238,19 +238,19 @@
if(user.getorgan(/obj/item/organ/alien/plasmavessel))
switch(status)
if(BURST)
- user << "You clear the hatched egg."
+ to_chat(user, "You clear the hatched egg.")
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
qdel(src)
return
if(GROWING)
- user << "The child is not developed yet."
+ to_chat(user, "The child is not developed yet.")
return
if(GROWN)
- user << "You retrieve the child."
+ to_chat(user, "You retrieve the child.")
Burst(0)
return
else
- user << "It feels slimy."
+ to_chat(user, "It feels slimy.")
user.changeNext_move(CLICK_CD_MELEE)
diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm
index e9094b4172d..707702d9a70 100644
--- a/code/game/objects/structures/barsigns.dm
+++ b/code/game/objects/structures/barsigns.dm
@@ -70,10 +70,10 @@
/obj/structure/sign/barsign/attack_hand(mob/user)
if (!src.allowed(user))
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
if (broken)
- user << "The controls seem unresponsive."
+ to_chat(user, "The controls seem unresponsive.")
return
pick_sign()
@@ -83,14 +83,14 @@
/obj/structure/sign/barsign/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/screwdriver))
if(!allowed(user))
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
if(!panel_open)
- user << "You open the maintenance panel."
+ to_chat(user, "You open the maintenance panel.")
set_sign(new /datum/barsign/hiddensigns/signoff)
panel_open = 1
else
- user << "You close the maintenance panel."
+ to_chat(user, "You close the maintenance panel.")
if(!broken && !emagged)
set_sign(pick(barsigns))
else if(emagged)
@@ -102,17 +102,17 @@
else if(istype(I, /obj/item/stack/cable_coil) && panel_open)
var/obj/item/stack/cable_coil/C = I
if(emagged) //Emagged, not broken by EMP
- user << "Sign has been damaged beyond repair!"
+ to_chat(user, "Sign has been damaged beyond repair!")
return
else if(!broken)
- user << "This sign is functioning properly!"
+ to_chat(user, "This sign is functioning properly!")
return
if(C.use(2))
- user << "You replace the burnt wiring."
+ to_chat(user, "You replace the burnt wiring.")
broken = 0
else
- user << "You need at least two lengths of cable!"
+ to_chat(user, "You need at least two lengths of cable!")
else
return ..()
@@ -126,9 +126,9 @@
/obj/structure/sign/barsign/emag_act(mob/user)
if(broken || emagged)
- user << "Nothing interesting happens!"
+ to_chat(user, "Nothing interesting happens!")
return
- user << "You emag the barsign. Takeover in progress..."
+ to_chat(user, "You emag the barsign. Takeover in progress...")
sleep(100) //10 seconds
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
emagged = 1
diff --git a/code/game/objects/structures/beds_chairs/alien_nest.dm b/code/game/objects/structures/beds_chairs/alien_nest.dm
index 3010919048d..f79e06e92d5 100644
--- a/code/game/objects/structures/beds_chairs/alien_nest.dm
+++ b/code/game/objects/structures/beds_chairs/alien_nest.dm
@@ -40,7 +40,7 @@
"You hear squelching...")
if(!do_after(M, 1200, target = src))
if(M && M.buckled)
- M << "You fail to unbuckle yourself!"
+ to_chat(M, "You fail to unbuckle yourself!")
return
if(!M.buckled)
return
diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm
index 86b46b499e9..757a0bbb8db 100644
--- a/code/game/objects/structures/beds_chairs/bed.dm
+++ b/code/game/objects/structures/beds_chairs/bed.dm
@@ -53,7 +53,7 @@
if(istype(W,/obj/item/roller/robo))
var/obj/item/roller/robo/R = W
if(R.loaded)
- user << "You already have a roller bed docked!"
+ to_chat(user, "You already have a roller bed docked!")
return
if(has_buckled_mobs())
@@ -78,7 +78,7 @@
if(has_buckled_mobs())
return 0
if(usr.incapacitated())
- usr << "You can't do that right now!"
+ to_chat(usr, "You can't do that right now!")
return 0
usr.visible_message("[usr] collapses \the [src.name].", "You collapse \the [src.name].")
var/obj/structure/bed/roller/B = new foldabletype(get_turf(src))
@@ -108,7 +108,7 @@
if(istype(I, /obj/item/roller/robo))
var/obj/item/roller/robo/R = I
if(R.loaded)
- user << "[R] already has a roller bed loaded!"
+ to_chat(user, "[R] already has a roller bed loaded!")
return
user.visible_message("[user] loads [src].", "You load [src] into [R].")
R.loaded = new/obj/structure/bed/roller(R)
@@ -141,7 +141,7 @@
/obj/item/roller/robo/examine(mob/user)
..()
- user << "The dock is [loaded ? "loaded" : "empty"]"
+ to_chat(user, "The dock is [loaded ? "loaded" : "empty"]")
/obj/item/roller/robo/deploy_roller(mob/user, atom/location)
if(loaded)
@@ -150,7 +150,7 @@
user.visible_message("[user] deploys [loaded].", "You deploy [loaded].")
loaded = null
else
- user << "The dock is empty!"
+ to_chat(user, "The dock is empty!")
//Dog bed
diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm
index 7d16603cf16..5659ddc6747 100644
--- a/code/game/objects/structures/beds_chairs/chair.dm
+++ b/code/game/objects/structures/beds_chairs/chair.dm
@@ -95,7 +95,7 @@
/obj/structure/chair/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -194,7 +194,7 @@
if(!item_chair || !usr.can_hold_items() || has_buckled_mobs() || src.flags & NODECONSTRUCT)
return
if(usr.incapacitated())
- usr << "You can't do that right now!"
+ to_chat(usr, "You can't do that right now!")
return
usr.visible_message("[usr] grabs \the [src.name].", "You grab \the [src.name].")
var/C = new item_chair(loc)
@@ -234,10 +234,10 @@
/obj/item/chair/proc/plant(mob/user)
for(var/obj/A in get_turf(loc))
if(istype(A,/obj/structure/chair))
- user << "There is already a chair here."
+ to_chat(user, "There is already a chair here.")
return
if(A.density && !(A.flags & ON_BORDER))
- user << "There is already something here."
+ to_chat(user, "There is already something here.")
return
user.visible_message("[user] rights \the [src.name].", "You right \the [name].")
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 21b532732c0..369d6402e1f 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -29,10 +29,10 @@ LINEN BINS
user.drop_item()
if(layer == initial(layer))
layer = ABOVE_MOB_LAYER
- user << "You cover yourself with [src]."
+ to_chat(user, "You cover yourself with [src].")
else
layer = initial(layer)
- user << "You smooth [src] out beneath you."
+ to_chat(user, "You smooth [src] out beneath you.")
add_fingerprint(user)
return
@@ -42,7 +42,7 @@ LINEN BINS
transfer_fingerprints_to(C)
C.add_fingerprint(user)
qdel(src)
- user << "You tear [src] up."
+ to_chat(user, "You tear [src] up.")
else
return ..()
@@ -216,11 +216,11 @@ LINEN BINS
/obj/structure/bedsheetbin/examine(mob/user)
..()
if(amount < 1)
- user << "There are no bed sheets in the bin."
+ to_chat(user, "There are no bed sheets in the bin.")
else if(amount == 1)
- user << "There is one bed sheet in the bin."
+ to_chat(user, "There is one bed sheet in the bin.")
else
- user << "There are [amount] bed sheets in the bin."
+ to_chat(user, "There are [amount] bed sheets in the bin.")
/obj/structure/bedsheetbin/update_icon()
@@ -245,15 +245,15 @@ LINEN BINS
I.loc = src
sheets.Add(I)
amount++
- user << "You put [I] in [src]."
+ to_chat(user, "You put [I] in [src].")
update_icon()
else if(amount && !hidden && I.w_class < WEIGHT_CLASS_BULKY) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
if(!user.drop_item())
- user << "\The [I] is stuck to your hand, you cannot hide it among the sheets!"
+ to_chat(user, "\The [I] is stuck to your hand, you cannot hide it among the sheets!")
return
I.loc = src
hidden = I
- user << "You hide [I] among the sheets."
+ to_chat(user, "You hide [I] among the sheets.")
@@ -277,12 +277,12 @@ LINEN BINS
B.loc = user.loc
user.put_in_hands(B)
- user << "You take [B] out of [src]."
+ to_chat(user, "You take [B] out of [src].")
update_icon()
if(hidden)
hidden.loc = user.loc
- user << "[hidden] falls out of [B]!"
+ to_chat(user, "[hidden] falls out of [B]!")
hidden = null
@@ -300,7 +300,7 @@ LINEN BINS
B = new /obj/item/weapon/bedsheet(loc)
B.loc = loc
- user << "You telekinetically remove [B] from [src]."
+ to_chat(user, "You telekinetically remove [B] from [src].")
update_icon()
if(hidden)
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 52404bca22c..7ed742d1700 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -72,11 +72,11 @@
/obj/structure/closet/examine(mob/user)
..()
if(anchored)
- user << "It is anchored to the ground."
+ to_chat(user, "It is anchored to the ground.")
if(broken)
- user << "It appears to be broken."
+ to_chat(user, "It appears to be broken.")
else if(secure && !opened)
- user << "Alt-click to [locked ? "unlock" : "lock"]."
+ to_chat(user, "Alt-click to [locked ? "unlock" : "lock"].")
/obj/structure/closet/CanPass(atom/movable/mover, turf/target, height=0)
if(height == 0 || wall_mounted)
@@ -90,7 +90,7 @@
for(var/mob/living/L in T)
if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density)
if(user)
- user << "There's something large on top of [src], preventing it from opening." //you... think? there's something standing on it ffs
+ to_chat(user, "There's something large on top of [src], preventing it from opening." )
return 0
return 1
@@ -102,7 +102,7 @@
for(var/mob/living/L in T)
if(L.anchored || horizontal && L.mob_size > MOB_SIZE_TINY && L.density)
if(user)
- user << "There's something too large in [src], preventing it from closing."
+ to_chat(user, "There's something too large in [src], preventing it from closing.")
return 0
return 1
@@ -206,7 +206,7 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
- user << "You begin cutting \the [src] apart..."
+ to_chat(user, "You begin cutting \the [src] apart...")
playsound(loc, cutting_sound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!opened || !WT.isOn())
@@ -229,7 +229,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(!WT.remove_fuel(0, user))
return
- user << "You begin [welded ? "unwelding":"welding"] \the [src]..."
+ to_chat(user, "You begin [welded ? "unwelding":"welding"] \the [src]...")
playsound(loc, 'sound/items/Welder2.ogg', 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(opened || !WT.isOn())
@@ -334,7 +334,7 @@
if(iscarbon(usr) || issilicon(usr) || isdrone(usr))
attack_hand(usr)
else
- usr << "This mob type can't use this verb."
+ to_chat(usr, "This mob type can't use this verb.")
// Objects that try to exit a locker by stepping were doing so successfully,
// and due to an oversight in turf/Enter() were going through walls. That
@@ -361,7 +361,7 @@
//okay, so the closet is either welded or locked... resist!!!
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You lean on the back of [src] and start pushing the door open."
+ to_chat(user, "You lean on the back of [src] and start pushing the door open.")
visible_message("[src] begins to shake violently!")
if(do_after(user,(breakout_time * 60 * 10), target = src)) //minutes * 60seconds * 10deciseconds
if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded) )
@@ -372,7 +372,7 @@
bust_open()
else
if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded.
- user << "You fail to break out of [src]!"
+ to_chat(user, "You fail to break out of [src]!")
/obj/structure/closet/proc/bust_open()
welded = 0 //applies to all lockers
@@ -383,7 +383,7 @@
/obj/structure/closet/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(opened || !secure)
return
@@ -400,9 +400,9 @@
"You [locked ? null : "un"]lock [src].")
update_icon()
else
- user << "Access Denied"
+ to_chat(user, "Access Denied")
else if(secure && broken)
- user << "\The [src] is broken!"
+ to_chat(user, "\The [src] is broken!")
/obj/structure/closet/emag_act(mob/user)
if(secure && !broken)
diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
index 033473eed4f..0cf40488411 100644
--- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm
+++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
@@ -29,7 +29,7 @@
name = "body bag"
return
else if(istype(I, /obj/item/weapon/wirecutters))
- user << "You cut the tag off [src]."
+ to_chat(user, "You cut the tag off [src].")
name = "body bag"
tagged = 0
update_icon()
@@ -77,10 +77,10 @@
if(opened)
return 0
if(contents.len >= mob_storage_capacity / 2)
- usr << "There are too many things inside of [src] to fold it up!"
+ to_chat(usr, "There are too many things inside of [src] to fold it up!")
return 0
for(var/obj/item/bodybag/bluespace/B in src)
- usr << "You can't recursively fold bluespace body bags!" //Nice try
+ to_chat(usr, "You can't recursively fold bluespace body bags!" )
return 0
visible_message("[usr] folds up [src].")
var/obj/item/bodybag/B = new foldedbag_path(get_turf(src))
@@ -88,5 +88,5 @@
for(var/atom/movable/A in contents)
A.forceMove(B)
if(isliving(A))
- A << "You're suddenly forced into a tiny, compressed space!"
+ to_chat(A, "You're suddenly forced into a tiny, compressed space!")
qdel(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index 6625bc6a2ee..8372da4e0c4 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -39,7 +39,7 @@
var/obj/item/weapon/card/id/I = W.GetID()
if(istype(I))
if(broken)
- user << "It appears to be broken."
+ to_chat(user, "It appears to be broken.")
return
if(!I || !I.registered_name)
return
@@ -52,6 +52,6 @@
registered_name = I.registered_name
desc = "Owned by [I.registered_name]."
else
- user << "Access Denied."
+ to_chat(user, "Access Denied.")
else
return ..()
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm
index 0b7859691a5..016ed5a4970 100644
--- a/code/game/objects/structures/crates_lockers/closets/statue.dm
+++ b/code/game/objects/structures/crates_lockers/closets/statue.dm
@@ -51,7 +51,7 @@
if(petrified_mob)
S.mind.transfer_to(petrified_mob)
petrified_mob.Weaken(5)
- petrified_mob << "You slowly come back to your senses. You are in control of yourself again!"
+ to_chat(petrified_mob, "You slowly come back to your senses. You are in control of yourself again!")
qdel(S)
for(var/obj/O in src)
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 7be12fda4cd..4fd14a70912 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -45,14 +45,14 @@
/obj/structure/closet/crate/open(mob/living/user)
. = ..()
if(. && manifest)
- user << "The manifest is torn off [src]."
+ to_chat(user, "The manifest is torn off [src].")
playsound(src, 'sound/items/poster_ripped.ogg', 75, 1)
manifest.forceMove(get_turf(src))
manifest = null
update_icon()
/obj/structure/closet/crate/proc/tear_manifest(mob/user)
- user << "You tear the manifest off of [src]."
+ to_chat(user, "You tear the manifest off of [src].")
playsound(src, 'sound/items/poster_ripped.ogg', 75, 1)
manifest.forceMove(loc)
diff --git a/code/game/objects/structures/crates_lockers/crates/bins.dm b/code/game/objects/structures/crates_lockers/crates/bins.dm
index f07fda8219b..92a3198df43 100644
--- a/code/game/objects/structures/crates_lockers/crates/bins.dm
+++ b/code/game/objects/structures/crates_lockers/crates/bins.dm
@@ -25,7 +25,7 @@
/obj/structure/closet/crate/bin/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/storage/bag/trash))
var/obj/item/weapon/storage/bag/trash/T = W
- user << "You fill the bag."
+ to_chat(user, "You fill the bag.")
for(var/obj/item/O in src)
if(T.can_be_inserted(O, 1))
O.loc = T
diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm
index c7b9e0773b3..7568d386625 100644
--- a/code/game/objects/structures/crates_lockers/crates/large.dm
+++ b/code/game/objects/structures/crates_lockers/crates/large.dm
@@ -11,7 +11,7 @@
if(manifest)
tear_manifest(user)
else
- user << "You need a crowbar to pry this open!"
+ to_chat(user, "You need a crowbar to pry this open!")
/obj/structure/closet/crate/large/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/crowbar))
diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm
index 97851baf8c0..0e07b9ed2de 100644
--- a/code/game/objects/structures/crates_lockers/crates/secure.dm
+++ b/code/game/objects/structures/crates_lockers/crates/secure.dm
@@ -31,7 +31,7 @@
/obj/structure/closet/crate/secure/proc/boom(mob/user)
if(user)
- user << "The crate's anti-tamper system activates!"
+ to_chat(user, "The crate's anti-tamper system activates!")
var/message = "[ADMIN_LOOKUPFLW(user)] has detonated [src.name]."
bombers += message
message_admins(message)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index ce81c45c150..9345367afc0 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -34,9 +34,9 @@
/obj/structure/displaycase/examine(mob/user)
..()
if(showpiece)
- user << "There's [showpiece] inside."
+ to_chat(user, "There's [showpiece] inside.")
if(alert)
- user << "Hooked up with an anti-theft system."
+ to_chat(user, "Hooked up with an anti-theft system.")
/obj/structure/displaycase/proc/dump()
@@ -117,47 +117,47 @@
/obj/structure/displaycase/attackby(obj/item/weapon/W, mob/user, params)
if(W.GetID() && !broken)
if(allowed(user))
- user << "You [open ? "close":"open"] the [src]"
+ to_chat(user, "You [open ? "close":"open"] the [src]")
toggle_lock(user)
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent == INTENT_HELP && !broken)
var/obj/item/weapon/weldingtool/WT = W
if(obj_integrity < max_integrity && WT.remove_fuel(5, user))
- user << "You begin repairing [src]."
+ to_chat(user, "You begin repairing [src].")
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*W.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
update_icon()
- user << "You repair [src]."
+ to_chat(user, "You repair [src].")
else
- user << "[src] is already in good condition!"
+ to_chat(user, "[src] is already in good condition!")
return
else if(!alert && istype(W,/obj/item/weapon/crowbar)) //Only applies to the lab cage and player made display cases
if(broken)
if(showpiece)
- user << "Remove the displayed object first."
+ to_chat(user, "Remove the displayed object first.")
else
- user << "You remove the destroyed case"
+ to_chat(user, "You remove the destroyed case")
qdel(src)
else
- user << "You start to [open ? "close":"open"] the [src]"
+ to_chat(user, "You start to [open ? "close":"open"] the [src]")
if(do_after(user, 20*W.toolspeed, target = src))
- user << "You [open ? "close":"open"] the [src]"
+ to_chat(user, "You [open ? "close":"open"] the [src]")
toggle_lock(user)
else if(open && !showpiece)
if(user.drop_item())
W.loc = src
showpiece = W
- user << "You put [W] on display"
+ to_chat(user, "You put [W] on display")
update_icon()
else if(istype(W, /obj/item/stack/sheet/glass) && broken)
var/obj/item/stack/sheet/glass/G = W
if(G.get_amount() < 2)
- user << "You need two glass sheets to fix the case!"
+ to_chat(user, "You need two glass sheets to fix the case!")
return
- user << "You start fixing [src]..."
+ to_chat(user, "You start fixing [src]...")
if(do_after(user, 20, target = src))
G.use(2)
broken = 0
@@ -177,7 +177,7 @@
user.changeNext_move(CLICK_CD_MELEE)
if (showpiece && (broken || open))
dump()
- user << "You deactivate the hover field built into the case."
+ to_chat(user, "You deactivate the hover field built into the case.")
src.add_fingerprint(user)
update_icon()
return
@@ -203,7 +203,7 @@
/obj/structure/displaycase_chassis/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench)) //The player can only deconstruct the wooden frame
- user << "You start disassembling [src]..."
+ to_chat(user, "You start disassembling [src]...")
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -211,18 +211,18 @@
qdel(src)
else if(istype(I, /obj/item/weapon/electronics/airlock))
- user << "You start installing the electronics into [src]..."
+ to_chat(user, "You start installing the electronics into [src]...")
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30, target = src) && user.transferItemToLoc(I,src))
electronics = I
- user << "You install the airlock electronics."
+ to_chat(user, "You install the airlock electronics.")
else if(istype(I, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/glass/G = I
if(G.get_amount() < 10)
- user << "You need ten glass sheets to do this!"
+ to_chat(user, "You need ten glass sheets to do this!")
return
- user << "You start adding [G] to [src]..."
+ to_chat(user, "You start adding [G] to [src]...")
if(do_after(user, 20, target = src))
G.use(10)
var/obj/structure/displaycase/display = new(src.loc)
diff --git a/code/game/objects/structures/divine.dm b/code/game/objects/structures/divine.dm
index a7fe1c561b0..2058d1ed243 100644
--- a/code/game/objects/structures/divine.dm
+++ b/code/game/objects/structures/divine.dm
@@ -14,7 +14,7 @@
var/mob/living/L = locate() in buckled_mobs
if(!L)
return
- user << "You attempt to sacrifice [L] by invoking the sacrificial ritual."
+ to_chat(user, "You attempt to sacrifice [L] by invoking the sacrificial ritual.")
L.gib()
message_admins("[key_name_admin(user)] has sacrificed [key_name_admin(L)] on the sacrifical altar.")
@@ -30,10 +30,10 @@
/obj/structure/healingfountain/attack_hand(mob/living/user)
if(last_process + time_between_uses > world.time)
- user << "The fountain appears to be empty."
+ to_chat(user, "The fountain appears to be empty.")
return
last_process = world.time
- user << "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards."
+ to_chat(user, "The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.")
user.reagents.add_reagent("godblood",20)
update_icons()
addtimer(CALLBACK(src, .proc/update_icons), time_between_uses)
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 3cb47d310eb..b37856df70b 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -501,7 +501,7 @@
if(mineral && mineral != "glass")
mineral = null //I know this is stupid, but until we change glass to a boolean it's how this code works.
- user << "You change the paintjob on the airlock assembly."
+ to_chat(user, "You change the paintjob on the airlock assembly.")
else if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
var/obj/item/weapon/weldingtool/WT = W
@@ -513,7 +513,7 @@
if(do_after(user, 40*W.toolspeed, target = src))
if( !WT.isOn() )
return
- user << "You disassemble the airlock assembly."
+ to_chat(user, "You disassemble the airlock assembly.")
deconstruct(TRUE)
else if(istype(W, /obj/item/weapon/wrench))
@@ -533,11 +533,11 @@
if(do_after(user, 40*W.toolspeed, target = src))
if( src.anchored )
return
- user << "You secure the airlock assembly."
+ to_chat(user, "You secure the airlock assembly.")
src.name = "secured airlock assembly"
src.anchored = 1
else
- user << "There is another door here!"
+ to_chat(user, "There is another door here!")
else
playsound(src.loc, W.usesound, 100, 1)
@@ -547,14 +547,14 @@
if(do_after(user, 40*W.toolspeed, target = src))
if(!anchored )
return
- user << "You unsecure the airlock assembly."
+ to_chat(user, "You unsecure the airlock assembly.")
name = "airlock assembly"
anchored = 0
else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored )
var/obj/item/stack/cable_coil/C = W
if (C.get_amount() < 1)
- user << "You need one length of cable to wire the airlock assembly!"
+ to_chat(user, "You need one length of cable to wire the airlock assembly!")
return
user.visible_message("[user] wires the airlock assembly.", \
"You start to wire the airlock assembly...")
@@ -562,7 +562,7 @@
if(C.get_amount() < 1 || state != 0) return
C.use(1)
src.state = 1
- user << "You wire the airlock assembly."
+ to_chat(user, "You wire the airlock assembly.")
src.name = "wired airlock assembly"
else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 )
@@ -573,7 +573,7 @@
if(do_after(user, 40*W.toolspeed, target = src))
if( src.state != 1 )
return
- user << "You cut the wires from the airlock assembly."
+ to_chat(user, "You cut the wires from the airlock assembly.")
new/obj/item/stack/cable_coil(get_turf(user), 1)
src.state = 0
src.name = "secured airlock assembly"
@@ -589,7 +589,7 @@
return
W.loc = src
- user << "You install the airlock electronics."
+ to_chat(user, "You install the airlock electronics.")
src.state = 2
src.name = "near finished airlock assembly"
src.electronics = W
@@ -603,7 +603,7 @@
if(do_after(user, 40*W.toolspeed, target = src))
if( src.state != 2 )
return
- user << "You remove the airlock electronics."
+ to_chat(user, "You remove the airlock electronics.")
src.state = 1
src.name = "wired airlock assembly"
var/obj/item/weapon/electronics/airlock/ae
@@ -624,11 +624,11 @@
if(do_after(user, 40, target = src))
if(G.get_amount() < 1 || mineral) return
if (G.type == /obj/item/stack/sheet/rglass)
- user << "You install reinforced glass windows into the airlock assembly."
+ to_chat(user, "You install reinforced glass windows into the airlock assembly.")
heat_proof_finished = 1 //reinforced glass makes the airlock heat-proof
name = "near finished heat-proofed window airlock assembly"
else
- user << "You install regular glass windows into the airlock assembly."
+ to_chat(user, "You install regular glass windows into the airlock assembly.")
name = "near finished window airlock assembly"
G.use(1)
mineral = "glass"
@@ -651,7 +651,7 @@
"You start to install [G.name] into the airlock assembly...")
if(do_after(user, 40, target = src))
if(G.get_amount() < 2 || mineral) return
- user << "You install [M] plating into the airlock assembly."
+ to_chat(user, "You install [M] plating into the airlock assembly.")
G.use(2)
mineral = "[M]"
name = "near finished [M] airlock assembly"
@@ -665,7 +665,7 @@
if(do_after(user, 40*W.toolspeed, target = src))
if(src.loc && state == 2)
- user << "You finish the airlock."
+ to_chat(user, "You finish the airlock.")
var/obj/machinery/door/airlock/door
if(mineral == "glass")
door = new src.glass_type( src.loc )
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index f875095bd69..c44181f9719 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -41,7 +41,7 @@
for(var/m in buckled_mobs)
var/mob/living/buckled_mob = m
buckled_mob.electrocute_act(85, src, 1)
- buckled_mob << "You feel a deep shock course through your body!"
+ to_chat(buckled_mob, "You feel a deep shock course through your body!")
spawn(1)
buckled_mob.electrocute_act(85, src, 1)
visible_message("The electric chair went off!", "You hear a deep sharp shock!")
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index 6df654c883a..ec979d0e92b 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -39,11 +39,11 @@
/obj/structure/extinguisher_cabinet/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench) && !stored_extinguisher)
- user << "You start unsecuring [name]..."
+ to_chat(user, "You start unsecuring [name]...")
playsound(loc, I.usesound, 50, 1)
if(do_after(user, 60*I.toolspeed, target = src))
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You unsecure [name]."
+ to_chat(user, "You unsecure [name].")
deconstruct(TRUE)
return
@@ -55,7 +55,7 @@
return
contents += I
stored_extinguisher = I
- user << "You place [I] in [src]."
+ to_chat(user, "You place [I] in [src].")
update_icon()
else
toggle_cabinet(user)
@@ -70,7 +70,7 @@
return
if(stored_extinguisher)
user.put_in_hands(stored_extinguisher)
- user << "You take [stored_extinguisher] from [src]."
+ to_chat(user, "You take [stored_extinguisher] from [src].")
stored_extinguisher = null
if(!opened)
opened = 1
@@ -83,7 +83,7 @@
/obj/structure/extinguisher_cabinet/attack_tk(mob/user)
if(stored_extinguisher)
stored_extinguisher.forceMove(loc)
- user << "You telekinetically remove [stored_extinguisher] from [src]."
+ to_chat(user, "You telekinetically remove [stored_extinguisher] from [src].")
stored_extinguisher = null
opened = 1
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
@@ -102,7 +102,7 @@
/obj/structure/extinguisher_cabinet/proc/toggle_cabinet(mob/user)
if(opened && broken)
- user << "[src] is broken open."
+ to_chat(user, "[src] is broken open.")
else
playsound(loc, 'sound/machines/click.ogg', 15, 1, -3)
opened = !opened
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 3586658f742..8c7c248667d 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -94,22 +94,22 @@
/obj/structure/falsewall/attackby(obj/item/weapon/W, mob/user, params)
if(opening)
- user << "You must wait until the door has stopped moving!"
+ to_chat(user, "You must wait until the door has stopped moving!")
return
if(istype(W, /obj/item/weapon/screwdriver))
if(density)
var/turf/T = get_turf(src)
if(T.density)
- user << "[src] is blocked!"
+ to_chat(user, "[src] is blocked!")
return
if(!isfloorturf(T))
- user << "[src] bolts must be tightened on the floor!"
+ to_chat(user, "[src] bolts must be tightened on the floor!")
return
user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
ChangeToWall()
else
- user << "You can't reach, close it first!"
+ to_chat(user, "You can't reach, close it first!")
else if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm
index c1c9790eadc..970f1d594b4 100644
--- a/code/game/objects/structures/fireaxe.dm
+++ b/code/game/objects/structures/fireaxe.dm
@@ -29,22 +29,22 @@
else if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent == INTENT_HELP && !broken)
var/obj/item/weapon/weldingtool/WT = I
if(obj_integrity < max_integrity && WT.remove_fuel(2, user))
- user << "You begin repairing [src]."
+ to_chat(user, "You begin repairing [src].")
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
update_icon()
- user << "You repair [src]."
+ to_chat(user, "You repair [src].")
else
- user << "[src] is already in good condition!"
+ to_chat(user, "[src] is already in good condition!")
return
else if(istype(I, /obj/item/stack/sheet/glass) && broken)
var/obj/item/stack/sheet/glass/G = I
if(G.get_amount() < 2)
- user << "You need two glass sheets to fix [src]!"
+ to_chat(user, "You need two glass sheets to fix [src]!")
return
- user << "You start fixing [src]..."
+ to_chat(user, "You start fixing [src]...")
if(do_after(user, 20, target = src) && G.use(2))
broken = 0
obj_integrity = max_integrity
@@ -53,13 +53,13 @@
if(istype(I, /obj/item/weapon/twohanded/fireaxe) && !fireaxe)
var/obj/item/weapon/twohanded/fireaxe/F = I
if(F.wielded)
- user << "Unwield the [F.name] first."
+ to_chat(user, "Unwield the [F.name] first.")
return
if(!user.drop_item())
return
fireaxe = F
F.forceMove(src)
- user << "You place the [F.name] back in the [name]."
+ to_chat(user, "You place the [F.name] back in the [name].")
update_icon()
return
else if(!broken)
@@ -111,7 +111,7 @@
if(fireaxe)
user.put_in_hands(fireaxe)
fireaxe = null
- user << "You take the fire axe from the [name]."
+ to_chat(user, "You take the fire axe from the [name].")
src.add_fingerprint(user)
update_icon()
return
@@ -165,10 +165,10 @@
add_overlay("glass_raised")
/obj/structure/fireaxecabinet/proc/toggle_lock(mob/user)
- user << " Resetting circuitry..."
+ to_chat(user, " Resetting circuitry...")
playsound(src, 'sound/machines/locktoggle.ogg', 50, 1)
if(do_after(user, 20, target = src))
- user << "You [locked ? "disable" : "re-enable"] the locking modules."
+ to_chat(user, "You [locked ? "disable" : "re-enable"] the locking modules.")
locked = !locked
update_icon()
diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm
index d41804caef9..f98e24670d3 100644
--- a/code/game/objects/structures/fireplace.dm
+++ b/code/game/objects/structures/fireplace.dm
@@ -26,10 +26,10 @@
/obj/structure/fireplace/proc/try_light(obj/item/O, mob/user)
if(lit)
- user << "It's already lit!"
+ to_chat(user, "It's already lit!")
return FALSE
if(!fuel_added)
- user << "[src] needs some fuel to burn!"
+ to_chat(user, "[src] needs some fuel to burn!")
return FALSE
var/msg = O.ignition_effect(src, user)
if(msg)
@@ -43,8 +43,7 @@
var/space_remaining = MAXIMUM_BURN_TIMER - burn_time_remaining()
var/space_for_logs = round(space_remaining / LOG_BURN_TIMER)
if(space_for_logs < 1)
- user << "You can't fit any more of [T] in \
- [src]!"
+ to_chat(user, "You can't fit any more of [T] in [src]!")
return
var/logs_used = min(space_for_logs, wood.amount)
wood.use(logs_used)
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index af8e3bb509b..821c24964ae 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -47,7 +47,7 @@
/obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn)
new_spawn.real_name = random_unique_lizard_name(gender)
- new_spawn << "Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!"
+ to_chat(new_spawn, "Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!")
if(ishuman(new_spawn))
var/mob/living/carbon/human/H = new_spawn
H.underwear = "Nude"
@@ -81,13 +81,13 @@
var/wish = rand(1,4)
switch(wish)
if(1)
- new_spawn << "You wished to kill, and kill you did. You've lost track of how many, but the spark of excitement that murder once held has winked out. You feel only regret."
+ to_chat(new_spawn, "You wished to kill, and kill you did. You've lost track of how many, but the spark of excitement that murder once held has winked out. You feel only regret.")
if(2)
- new_spawn << "You wished for unending wealth, but no amount of money was worth this existence. Maybe charity might redeem your soul?"
+ to_chat(new_spawn, "You wished for unending wealth, but no amount of money was worth this existence. Maybe charity might redeem your soul?")
if(3)
- new_spawn << "You wished for power. Little good it did you, cast out of the light. You are the [gender == MALE ? "king" : "queen"] of a hell that holds no subjects. You feel only remorse."
+ to_chat(new_spawn, "You wished for power. Little good it did you, cast out of the light. You are the [gender == MALE ? "king" : "queen"] of a hell that holds no subjects. You feel only remorse.")
if(4)
- new_spawn << "You wished for immortality, even as your friends lay dying behind you. No matter how many times you cast yourself into the lava, you awaken in this room again within a few days. There is no escape."
+ to_chat(new_spawn, "You wished for immortality, even as your friends lay dying behind you. No matter how many times you cast yourself into the lava, you awaken in this room again within a few days. There is no escape.")
//Golem shells: Spawns in Free Golem ships in lavaland. Ghosts become mineral golems and are advised to spread personal freedom.
/obj/effect/mob_spawn/human/golem
@@ -140,9 +140,9 @@
// also a tiny chance of being called "Plasma Meme"
// which is clearly a feature
- new_spawn << "[initial(X.info_text)]"
+ to_chat(new_spawn, "[initial(X.info_text)]")
if(!owner)
- new_spawn << "Build golem shells in the autolathe, and feed refined mineral sheets to the shells to bring them to life! You are generally a peaceful group unless provoked."
+ to_chat(new_spawn, "Build golem shells in the autolathe, and feed refined mineral sheets to the shells to bring them to life! You are generally a peaceful group unless provoked.")
else
new_spawn.mind.store_memory("Serve [owner.real_name], your creator.")
new_spawn.mind.enslave_mind_to_creator(owner)
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 6b8485f0afe..be15c52f0a9 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -14,16 +14,16 @@
. = ..()
switch(state)
if(GIRDER_REINF)
- user << "The support struts are screwed in place."
+ to_chat(user, "The support struts are screwed in place.")
if(GIRDER_REINF_STRUTS)
- user << "The support struts are unscrewed and the inner grille is intact."
+ to_chat(user, "The support struts are unscrewed and the inner grille is intact.")
if(GIRDER_NORMAL)
if(can_displace)
- user << "The bolts are wrenched in place."
+ to_chat(user, "The bolts are wrenched in place.")
if(GIRDER_DISPLACED)
- user << "The bolts are loosened, but the screws are holding [src] together."
+ to_chat(user, "The bolts are loosened, but the screws are holding [src] together.")
if(GIRDER_DISASSEMBLED)
- user << "[src] is disassembled! You probably shouldn't be able to see this examine message."
+ to_chat(user, "[src] is disassembled! You probably shouldn't be able to see this examine message.")
/obj/structure/girder/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
@@ -36,69 +36,69 @@
if(state != GIRDER_DISPLACED)
return
state = GIRDER_DISASSEMBLED
- user << "You disassemble the girder."
+ to_chat(user, "You disassemble the girder.")
var/obj/item/stack/sheet/metal/M = new (loc, 2)
M.add_fingerprint(user)
qdel(src)
else if(state == GIRDER_REINF)
playsound(src.loc, W.usesound, 100, 1)
- user << "You start unsecuring support struts..."
+ to_chat(user, "You start unsecuring support struts...")
if(do_after(user, 40*W.toolspeed, target = src))
if(state != GIRDER_REINF)
return
- user << "You unsecure the support struts."
+ to_chat(user, "You unsecure the support struts.")
state = GIRDER_REINF_STRUTS
else if(state == GIRDER_REINF_STRUTS)
playsound(src.loc, W.usesound, 100, 1)
- user << "You start securing support struts..."
+ to_chat(user, "You start securing support struts...")
if(do_after(user, 40*W.toolspeed, target = src))
if(state != GIRDER_REINF_STRUTS)
return
- user << "You secure the support struts."
+ to_chat(user, "You secure the support struts.")
state = GIRDER_REINF
else if(istype(W, /obj/item/weapon/wrench))
if(state == GIRDER_DISPLACED)
if(!isfloorturf(loc))
- user << "A floor must be present to secure the girder!"
+ to_chat(user, "A floor must be present to secure the girder!")
return
playsound(src.loc, W.usesound, 100, 1)
- user << "You start securing the girder..."
+ to_chat(user, "You start securing the girder...")
if(do_after(user, 40*W.toolspeed, target = src))
- user << "You secure the girder."
+ to_chat(user, "You secure the girder.")
var/obj/structure/girder/G = new (loc)
transfer_fingerprints_to(G)
qdel(src)
else if(state == GIRDER_NORMAL && can_displace)
playsound(src.loc, W.usesound, 100, 1)
- user << "You start unsecuring the girder..."
+ to_chat(user, "You start unsecuring the girder...")
if(do_after(user, 40*W.toolspeed, target = src))
- user << "You unsecure the girder."
+ to_chat(user, "You unsecure the girder.")
var/obj/structure/girder/displaced/D = new (loc)
transfer_fingerprints_to(D)
qdel(src)
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
- user << "You start slicing apart the girder..."
+ to_chat(user, "You start slicing apart the girder...")
playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 40*W.toolspeed, target = src))
- user << "You slice apart the girder."
+ to_chat(user, "You slice apart the girder.")
var/obj/item/stack/sheet/metal/M = new (loc, 2)
M.add_fingerprint(user)
qdel(src)
else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
- user << "You smash through the girder!"
+ to_chat(user, "You smash through the girder!")
new /obj/item/stack/sheet/metal(get_turf(src))
D.playDigSound()
qdel(src)
else if(istype(W, /obj/item/weapon/wirecutters) && state == GIRDER_REINF_STRUTS)
playsound(src.loc, W.usesound, 100, 1)
- user << "You start removing the inner grille..."
+ to_chat(user, "You start removing the inner grille...")
if(do_after(user, 40*W.toolspeed, target = src))
- user << "You remove the inner grille."
+ to_chat(user, "You remove the inner grille.")
new /obj/item/stack/sheet/plasteel(get_turf(src))
var/obj/structure/girder/G = new (loc)
transfer_fingerprints_to(G)
@@ -106,40 +106,40 @@
else if(istype(W, /obj/item/stack))
if(iswallturf(loc))
- user << "There is already a wall present!"
+ to_chat(user, "There is already a wall present!")
return
if(!isfloorturf(src.loc))
- user << "A floor must be present to build a false wall!"
+ to_chat(user, "A floor must be present to build a false wall!")
return
if (locate(/obj/structure/falsewall) in src.loc.contents)
- user << "There is already a false wall present!"
+ to_chat(user, "There is already a false wall present!")
return
if(istype(W,/obj/item/stack/rods))
var/obj/item/stack/rods/S = W
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- user << "You need at least two rods to create a false wall!"
+ to_chat(user, "You need at least two rods to create a false wall!")
return
- user << "You start building a reinforced false wall..."
+ to_chat(user, "You start building a reinforced false wall...")
if(do_after(user, 20, target = src))
if(!src.loc || !S || S.get_amount() < 2)
return
S.use(2)
- user << "You create a false wall. Push on it to open or close the passage."
+ to_chat(user, "You create a false wall. Push on it to open or close the passage.")
var/obj/structure/falsewall/iron/FW = new (loc)
transfer_fingerprints_to(FW)
qdel(src)
else
if(S.get_amount() < 5)
- user << "You need at least five rods to add plating!"
+ to_chat(user, "You need at least five rods to add plating!")
return
- user << "You start adding plating..."
+ to_chat(user, "You start adding plating...")
if (do_after(user, 40, target = src))
if(!src.loc || !S || S.get_amount() < 5)
return
S.use(5)
- user << "You add the plating."
+ to_chat(user, "You add the plating.")
var/turf/T = get_turf(src)
T.ChangeTurf(/turf/closed/wall/mineral/iron)
transfer_fingerprints_to(T)
@@ -153,27 +153,27 @@
if(istype(S,/obj/item/stack/sheet/metal))
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- user << "You need two sheets of metal to create a false wall!"
+ to_chat(user, "You need two sheets of metal to create a false wall!")
return
- user << "You start building a false wall..."
+ to_chat(user, "You start building a false wall...")
if(do_after(user, 20, target = src))
if(!src.loc || !S || S.get_amount() < 2)
return
S.use(2)
- user << "You create a false wall. Push on it to open or close the passage."
+ to_chat(user, "You create a false wall. Push on it to open or close the passage.")
var/obj/structure/falsewall/F = new (loc)
transfer_fingerprints_to(F)
qdel(src)
else
if(S.get_amount() < 2)
- user << "You need two sheets of metal to finish a wall!"
+ to_chat(user, "You need two sheets of metal to finish a wall!")
return
- user << "You start adding plating..."
+ to_chat(user, "You start adding plating...")
if (do_after(user, 40, target = src))
if(loc == null || S.get_amount() < 2)
return
S.use(2)
- user << "You add the plating."
+ to_chat(user, "You add the plating.")
var/turf/T = get_turf(src)
T.ChangeTurf(/turf/closed/wall)
transfer_fingerprints_to(T)
@@ -183,14 +183,14 @@
if(istype(S,/obj/item/stack/sheet/plasteel))
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- user << "You need at least two sheets to create a false wall!"
+ to_chat(user, "You need at least two sheets to create a false wall!")
return
- user << "You start building a reinforced false wall..."
+ to_chat(user, "You start building a reinforced false wall...")
if(do_after(user, 20, target = src))
if(!src.loc || !S || S.get_amount() < 2)
return
S.use(2)
- user << "You create a reinforced false wall. Push on it to open or close the passage."
+ to_chat(user, "You create a reinforced false wall. Push on it to open or close the passage.")
var/obj/structure/falsewall/reinforced/FW = new (loc)
transfer_fingerprints_to(FW)
qdel(src)
@@ -198,12 +198,12 @@
if(state == GIRDER_REINF)
if(S.get_amount() < 1)
return
- user << "You start finalizing the reinforced wall..."
+ to_chat(user, "You start finalizing the reinforced wall...")
if(do_after(user, 50, target = src))
if(!src.loc || !S || S.get_amount() < 1)
return
S.use(1)
- user << "You fully reinforce the wall."
+ to_chat(user, "You fully reinforce the wall.")
var/turf/T = get_turf(src)
T.ChangeTurf(/turf/closed/wall/r_wall)
transfer_fingerprints_to(T)
@@ -212,12 +212,12 @@
else
if(S.get_amount() < 1)
return
- user << "You start reinforcing the girder..."
+ to_chat(user, "You start reinforcing the girder...")
if (do_after(user, 60, target = src))
if(!src.loc || !S || S.get_amount() < 1)
return
S.use(1)
- user << "You reinforce the girder."
+ to_chat(user, "You reinforce the girder.")
var/obj/structure/girder/reinforced/R = new (loc)
transfer_fingerprints_to(R)
qdel(src)
@@ -227,27 +227,27 @@
var/M = S.sheettype
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- user << "You need at least two sheets to create a false wall!"
+ to_chat(user, "You need at least two sheets to create a false wall!")
return
if(do_after(user, 20, target = src))
if(!src.loc || !S || S.get_amount() < 2)
return
S.use(2)
- user << "You create a false wall. Push on it to open or close the passage."
+ to_chat(user, "You create a false wall. Push on it to open or close the passage.")
var/F = text2path("/obj/structure/falsewall/[M]")
var/obj/structure/FW = new F (loc)
transfer_fingerprints_to(FW)
qdel(src)
else
if(S.get_amount() < 2)
- user << "You need at least two sheets to add plating!"
+ to_chat(user, "You need at least two sheets to add plating!")
return
- user << "You start adding plating..."
+ to_chat(user, "You start adding plating...")
if (do_after(user, 40, target = src))
if(!src.loc || !S || S.get_amount() < 2)
return
S.use(2)
- user << "You add the plating."
+ to_chat(user, "You add the plating.")
var/turf/T = get_turf(src)
T.ChangeTurf(text2path("/turf/closed/wall/mineral/[M]"))
transfer_fingerprints_to(T)
@@ -262,7 +262,7 @@
if(!user.drop_item())
return
P.loc = src.loc
- user << "You fit the pipe into \the [src]."
+ to_chat(user, "You fit the pipe into \the [src].")
else
return ..()
@@ -341,21 +341,21 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
playsound(src.loc, W.usesound, 50, 1)
- user << "You start slicing apart the girder..."
+ to_chat(user, "You start slicing apart the girder...")
if(do_after(user, 40*W.toolspeed, target = src))
if( !WT.isOn() )
return
- user << "You slice apart the girder."
+ to_chat(user, "You slice apart the girder.")
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
R.amount = 1
transfer_fingerprints_to(R)
qdel(src)
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
- user << "You start slicing apart the girder..."
+ to_chat(user, "You start slicing apart the girder...")
playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 40*W.toolspeed, target = src))
- user << "You slice apart the girder."
+ to_chat(user, "You slice apart the girder.")
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
R.amount = 1
transfer_fingerprints_to(R)
@@ -363,7 +363,7 @@
else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
- user << "Your jackhammer smashes through the girder!"
+ to_chat(user, "Your jackhammer smashes through the girder!")
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
R.amount = 2
transfer_fingerprints_to(R)
@@ -373,7 +373,7 @@
else if(istype(W, /obj/item/stack/sheet/runed_metal))
var/obj/item/stack/sheet/runed_metal/R = W
if(R.get_amount() < 1)
- user << "You need at least one sheet of runed metal to construct a runed wall!"
+ to_chat(user, "You need at least one sheet of runed metal to construct a runed wall!")
return 0
user.visible_message("[user] begins laying runed metal on [src]...", "You begin constructing a runed wall...")
if(do_after(user, 50, target = src))
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 528c924e3fa..4f6edc7d105 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -110,16 +110,16 @@
if (!broken)
var/obj/item/stack/ST = W
if (ST.get_amount() < 2)
- user << "You need at least two sheets of glass for that!"
+ to_chat(user, "You need at least two sheets of glass for that!")
return
var/dir_to_set = SOUTHWEST
if(!anchored)
- user << "[src] needs to be fastened to the floor first!"
+ to_chat(user, "[src] needs to be fastened to the floor first!")
return
for(var/obj/structure/window/WINDOW in loc)
- user << "There is already a window there!"
+ to_chat(user, "There is already a window there!")
return
- user << "You start placing the window..."
+ to_chat(user, "You start placing the window...")
if(do_after(user,20, target = src))
if(!src.loc || !anchored) //Grille broken or unanchored while waiting
return
@@ -135,7 +135,7 @@
WD.anchored = 0
WD.state = 0
ST.use(2)
- user << "You place [WD] on [src]."
+ to_chat(user, "You place [WD] on [src].")
return
//window placing end
diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm
index d52153f9f46..42a6664364a 100644
--- a/code/game/objects/structures/guncase.dm
+++ b/code/game/objects/structures/guncase.dm
@@ -39,7 +39,7 @@
if(!user.drop_item())
return
contents += I
- user << "You place [I] in [src]."
+ to_chat(user, "You place [I] in [src].")
update_icon()
return
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index a9cbfdd05b2..e8387750f37 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -23,11 +23,11 @@
/obj/structure/janitorialcart/proc/wet_mop(obj/item/weapon/mop, mob/user)
if(reagents.total_volume < 1)
- user << "[src] is out of water!"
+ to_chat(user, "[src] is out of water!")
return 0
else
reagents.trans_to(mop, 5)
- user << "You wet [mop] in [src]."
+ to_chat(user, "You wet [mop] in [src].")
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
return 1
@@ -36,7 +36,7 @@
return
I.loc = src
updateUsrDialog()
- user << "You put [I] into [src]."
+ to_chat(user, "You put [I] into [src].")
return
@@ -51,40 +51,40 @@
if(!mymop)
m.janicart_insert(user, src)
else
- user << fail_msg
+ to_chat(user, fail_msg)
else if(istype(I, /obj/item/weapon/storage/bag/trash))
if(!mybag)
var/obj/item/weapon/storage/bag/trash/t=I
t.janicart_insert(user, src)
else
- user << fail_msg
+ to_chat(user, fail_msg)
else if(istype(I, /obj/item/weapon/reagent_containers/spray/cleaner))
if(!myspray)
put_in_cart(I, user)
myspray=I
update_icon()
else
- user << fail_msg
+ to_chat(user, fail_msg)
else if(istype(I, /obj/item/device/lightreplacer))
if(!myreplacer)
var/obj/item/device/lightreplacer/l=I
l.janicart_insert(user,src)
else
- user << fail_msg
+ to_chat(user, fail_msg)
else if(istype(I, /obj/item/weapon/caution))
if(signs < max_signs)
put_in_cart(I, user)
signs++
update_icon()
else
- user << "[src] can't hold any more signs!"
+ to_chat(user, "[src] can't hold any more signs!")
else if(mybag)
mybag.attackby(I, user)
else if(istype(I, /obj/item/weapon/crowbar))
user.visible_message("[user] begins to empty the contents of [src].", "You begin to empty the contents of [src]...")
if(do_after(user, 30*I.toolspeed, target = src))
- usr << "You empty the contents of [src]'s bucket onto the floor."
+ to_chat(usr, "You empty the contents of [src]'s bucket onto the floor.")
reagents.reaction(src.loc)
src.reagents.clear_reagents()
else
@@ -117,29 +117,29 @@
if(href_list["garbage"])
if(mybag)
user.put_in_hands(mybag)
- user << "You take [mybag] from [src]."
+ to_chat(user, "You take [mybag] from [src].")
mybag = null
if(href_list["mop"])
if(mymop)
user.put_in_hands(mymop)
- user << "You take [mymop] from [src]."
+ to_chat(user, "You take [mymop] from [src].")
mymop = null
if(href_list["spray"])
if(myspray)
user.put_in_hands(myspray)
- user << "You take [myspray] from [src]."
+ to_chat(user, "You take [myspray] from [src].")
myspray = null
if(href_list["replacer"])
if(myreplacer)
user.put_in_hands(myreplacer)
- user << "You take [myreplacer] from [src]."
+ to_chat(user, "You take [myreplacer] from [src].")
myreplacer = null
if(href_list["sign"])
if(signs)
var/obj/item/weapon/caution/Sign = locate() in src
if(Sign)
user.put_in_hands(Sign)
- user << "You take \a [Sign] from [src]."
+ to_chat(user, "You take \a [Sign] from [src].")
signs--
else
WARNING("Signs ([signs]) didn't match contents")
diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index 054489a3573..4ddd7067e5e 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -19,7 +19,7 @@
var/obj/item/stack/rods/R = I
if(R.get_amount() >= 4)
R.use(4)
- user << "You add spikes to the frame."
+ to_chat(user, "You add spikes to the frame.")
var/obj/F = new /obj/structure/kitchenspike(src.loc)
transfer_fingerprints_to(F)
qdel(src)
@@ -27,7 +27,7 @@
var/obj/item/weapon/weldingtool/WT = I
if(!WT.remove_fuel(0, user))
return
- user << "You begin cutting \the [src] apart..."
+ to_chat(user, "You begin cutting \the [src] apart...")
playsound(src.loc, WT.usesound, 40, 1)
if(do_after(user, 40*WT.toolspeed, 1, target = src))
if(!WT.isOn())
@@ -64,10 +64,10 @@
if(!has_buckled_mobs())
playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
- user << "You pry the spikes out of the frame."
+ to_chat(user, "You pry the spikes out of the frame.")
deconstruct(TRUE)
else
- user << "You can't do that while something's on the spike!"
+ to_chat(user, "You can't do that while something's on the spike!")
else
return ..()
@@ -127,7 +127,7 @@
M.adjustBruteLoss(30)
if(!do_after(M, 1200, target = src))
if(M && M.buckled)
- M << "You fail to free yourself!"
+ to_chat(M, "You fail to free yourself!")
return
if(!M.buckled)
return
diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm
index a5643aee093..e861b9f5482 100644
--- a/code/game/objects/structures/ladders.dm
+++ b/code/game/objects/structures/ladders.dm
@@ -67,7 +67,7 @@
else if(down)
go_down(user,is_ghost)
else
- user << "[src] doesn't seem to lead anywhere!"
+ to_chat(user, "[src] doesn't seem to lead anywhere!")
if(!is_ghost)
add_fingerprint(user)
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index bb715800a5e..68cea0a37ad 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -42,7 +42,7 @@
if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = C
if(WT.remove_fuel(0, user))
- user << "Slicing [name] joints ..."
+ to_chat(user, "Slicing [name] joints ...")
deconstruct()
else
var/turf/T = get_turf(src)
diff --git a/code/game/objects/structures/life_candle.dm b/code/game/objects/structures/life_candle.dm
index d961a0dcb1e..64043a5fcba 100644
--- a/code/game/objects/structures/life_candle.dm
+++ b/code/game/objects/structures/life_candle.dm
@@ -51,9 +51,9 @@
/obj/structure/life_candle/examine(mob/user)
. = ..()
if(linked_minds.len)
- user << "[src] is active, and linked to [linked_minds.len] souls."
+ to_chat(user, "[src] is active, and linked to [linked_minds.len] souls.")
else
- user << "It is static, still, unmoving."
+ to_chat(user, "It is static, still, unmoving.")
/obj/structure/life_candle/process()
if(!linked_minds.len)
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index 55ad33da27a..82fb0191d02 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -125,9 +125,9 @@
/obj/structure/mineral_door/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/pickaxe))
var/obj/item/weapon/pickaxe/digTool = W
- user << "You start digging the [name]..."
+ to_chat(user, "You start digging the [name]...")
if(do_after(user,digTool.digspeed*(1+round(max_integrity*0.01)), target = src) && src)
- user << "You finish digging."
+ to_chat(user, "You finish digging.")
deconstruct(TRUE)
else if(user.a_intent != INTENT_HARM)
attack_hand(user)
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index db61b9a84f0..d7b62cf0341 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -66,12 +66,12 @@
if(broken)
user.changeNext_move(CLICK_CD_MELEE)
if(WT.remove_fuel(0, user))
- user << "You begin repairing [src]..."
+ to_chat(user, "You begin repairing [src]...")
playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 10*I.toolspeed, target = src))
if(!user || !WT || !WT.isOn())
return
- user << "You repair [src]."
+ to_chat(user, "You repair [src].")
broken = 0
icon_state = initial(icon_state)
desc = initial(desc)
@@ -164,7 +164,7 @@
H.dna.features["mcolor"] = sanitize_hexcolor(new_mutantcolor)
else
- H << "Invalid color. Your color is not bright enough."
+ to_chat(H, "Invalid color. Your color is not bright enough.")
H.update_body()
H.update_hair()
@@ -179,14 +179,14 @@
if(H.gender == "male")
if(alert(H, "Become a Witch?", "Confirmation", "Yes", "No") == "Yes")
H.gender = "female"
- H << "Man, you feel like a woman!"
+ to_chat(H, "Man, you feel like a woman!")
else
return
else
if(alert(H, "Become a Warlock?", "Confirmation", "Yes", "No") == "Yes")
H.gender = "male"
- H << "Whoa man, you feel like a man!"
+ to_chat(H, "Whoa man, you feel like a man!")
else
return
H.dna.update_ui_block(DNA_GENDER_BLOCK)
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index 30d2008ab22..158ee0df0c8 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -15,10 +15,10 @@
/obj/structure/mopbucket/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/mop))
if(reagents.total_volume < 1)
- user << "[src] is out of water!"
+ to_chat(user, "[src] is out of water!")
else
reagents.trans_to(I, 5)
- user << "You wet [I] in [src]."
+ to_chat(user, "You wet [I] in [src].")
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
else
return ..()
\ No newline at end of file
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index d8758d39349..30002acc2e4 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -50,10 +50,10 @@
/obj/structure/bodycontainer/attack_hand(mob/user)
if(locked)
- user << "It's locked."
+ to_chat(user, "It's locked.")
return
if(!connected)
- user << "That doesn't appear to have a tray."
+ to_chat(user, "That doesn't appear to have a tray.")
return
if(connected.loc == src)
open()
@@ -89,7 +89,7 @@
open()
/obj/structure/bodycontainer/relay_container_resist(mob/living/user, obj/O)
- user << "You slam yourself into the side of [O]."
+ to_chat(user, "You slam yourself into the side of [O].")
container_resist(user)
/obj/structure/bodycontainer/proc/open()
@@ -156,7 +156,7 @@ var/global/list/crematoriums = new/list()
var/id = 1
/obj/structure/bodycontainer/crematorium/attack_robot(mob/user) //Borgs can't use crematoriums without help
- user << "[src] is locked against you."
+ to_chat(user, "[src] is locked against you.")
return
/obj/structure/bodycontainer/crematorium/Destroy()
@@ -258,7 +258,7 @@ var/global/list/crematoriums = new/list()
connected.close()
add_fingerprint(user)
else
- user << "That's not connected to anything!"
+ to_chat(user, "That's not connected to anything!")
/obj/structure/tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user)
if(!istype(O, /atom/movable) || O.anchored || !Adjacent(user) || !user.Adjacent(O) || O.loc == user)
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index b648abe7b58..cc5e7b4fb89 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -83,18 +83,18 @@
cur_acc[i] = "n"
for(var/line in lines)
- //world << line
+ //to_chat(world, line)
for(var/beat in splittext(lowertext(line), ","))
- //world << "beat: [beat]"
+ //to_chat(world, "beat: [beat]")
var/list/notes = splittext(beat, "/")
for(var/note in splittext(notes[1], "-"))
- //world << "note: [note]"
+ //to_chat(world, "note: [note]")
if(!playing || shouldStopPlaying(user))//If the instrument is playing, or special case
playing = 0
return
if(lentext(note) == 0)
continue
- //world << "Parse: [copytext(note,1,2)]"
+ //to_chat(world, "Parse: [copytext(note,1,2)]")
var/cur_note = text2ascii(note) - 96
if(cur_note < 1 || cur_note > 7)
continue
@@ -218,12 +218,12 @@
else
tempo = sanitize_tempo(5) // default 120 BPM
if(lines.len > 50)
- usr << "Too many lines!"
+ to_chat(usr, "Too many lines!")
lines.Cut(51)
var/linenum = 1
for(var/l in lines)
if(lentext(l) > 50)
- usr << "Line [linenum] too long!"
+ to_chat(usr, "Line [linenum] too long!")
lines.Remove(l)
else
linenum++
@@ -339,7 +339,7 @@
/obj/structure/piano/attack_hand(mob/user)
if(!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return 1
interact(user)
@@ -357,7 +357,7 @@
if (istype(O, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
playsound(src.loc, O.usesound, 50, 1)
- user << " You begin to tighten \the [src] to the floor..."
+ to_chat(user, " You begin to tighten \the [src] to the floor...")
if (do_after(user, 20*O.toolspeed, target = src))
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
@@ -366,7 +366,7 @@
anchored = 1
else if(anchored)
playsound(src.loc, O.usesound, 50, 1)
- user << " You begin to loosen \the [src]'s casters..."
+ to_chat(user, " You begin to loosen \the [src]'s casters...")
if (do_after(user, 40*O.toolspeed, target = src))
user.visible_message( \
"[user] loosens \the [src]'s casters.", \
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index 07f9e27036d..56ec86aa1ea 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -26,16 +26,16 @@
/obj/structure/noticeboard/attackby(obj/item/weapon/O, mob/user, params)
if(istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo))
if(!allowed(user))
- user << "You are not authorized to add notices"
+ to_chat(user, "You are not authorized to add notices")
return
if(notices < 5)
if(!user.transferItemToLoc(O, src))
return
notices++
icon_state = "nboard0[notices]"
- user << "You pin the [O] to the noticeboard."
+ to_chat(user, "You pin the [O] to the noticeboard.")
else
- user << "The notice board is full"
+ to_chat(user, "The notice board is full")
else
return ..()
@@ -73,7 +73,7 @@
add_fingerprint(usr)
P.attackby(I, usr)
else
- usr << "You'll need something to write with!"
+ to_chat(usr, "You'll need something to write with!")
if(href_list["read"])
var/obj/item/I = locate(href_list["read"]) in contents
diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm
index 97a665146a3..fd2d168f50e 100644
--- a/code/game/objects/structures/plasticflaps.dm
+++ b/code/game/objects/structures/plasticflaps.dm
@@ -13,9 +13,9 @@
. = ..()
switch(state)
if(PLASTIC_FLAPS_NORMAL)
- user << "[src] are screwed to the floor."
+ to_chat(user, "[src] are screwed to the floor.")
if(PLASTIC_FLAPS_DETACHED)
- user << "[src] are no longer screwed to the floor, and the flaps can be cut apart."
+ to_chat(user, "[src] are no longer screwed to the floor, and the flaps can be cut apart.")
/obj/structure/plasticflaps/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
@@ -28,7 +28,7 @@
return
state = PLASTIC_FLAPS_DETACHED
anchored = FALSE
- user << "You unscrew [src] from the floor."
+ to_chat(user, "You unscrew [src] from the floor.")
else if(state == PLASTIC_FLAPS_DETACHED)
playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] screws [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.")
@@ -37,7 +37,7 @@
return
state = PLASTIC_FLAPS_NORMAL
anchored = TRUE
- user << "You screw [src] from the floor."
+ to_chat(user, "You screw [src] from the floor.")
else if(istype(W, /obj/item/weapon/wirecutters))
if(state == PLASTIC_FLAPS_DETACHED)
playsound(src.loc, W.usesound, 100, 1)
@@ -45,7 +45,7 @@
if(do_after(user, 50*W.toolspeed, target = src))
if(state != PLASTIC_FLAPS_DETACHED)
return
- user << "You cut apart [src]."
+ to_chat(user, "You cut apart [src].")
var/obj/item/stack/sheet/plastic/five/P = new(loc)
P.add_fingerprint(user)
qdel(src)
diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm
index 7f8e9c9ff58..2365930c3b6 100644
--- a/code/game/objects/structures/reflector.dm
+++ b/code/game/objects/structures/reflector.dm
@@ -43,10 +43,10 @@
return
if(istype(W, /obj/item/weapon/wrench))
if(anchored)
- user << "Unweld the [src] first!"
+ to_chat(user, "Unweld the [src] first!")
if(do_after(user, 80*W.toolspeed, target = src))
playsound(src.loc, W.usesound, 50, 1)
- user << "You dismantle the [src]."
+ to_chat(user, "You dismantle the [src].")
new framebuildstacktype(loc, framebuildstackamount)
new buildstacktype(loc, buildstackamount)
qdel(src)
@@ -63,7 +63,7 @@
if(!src || !WT.isOn())
return
anchored = 1
- user << "You weld \the [src] to the floor."
+ to_chat(user, "You weld \the [src] to the floor.")
if(1)
if (WT.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
@@ -74,7 +74,7 @@
if(!src || !WT.isOn())
return
anchored = 0
- user << "You cut \the [src] free from the floor."
+ to_chat(user, "You cut \the [src] free from the floor.")
//Finishing the frame
else if(istype(W,/obj/item/stack/sheet))
if(finished)
@@ -82,7 +82,7 @@
var/obj/item/stack/sheet/S = W
if(istype(W, /obj/item/stack/sheet/glass))
if(S.get_amount() < 5)
- user << "You need five sheets of glass to create a reflector!"
+ to_chat(user, "You need five sheets of glass to create a reflector!")
return
else
S.use(5)
@@ -90,7 +90,7 @@
qdel (src)
if(istype(W,/obj/item/stack/sheet/rglass))
if(S.get_amount() < 10)
- user << "You need ten sheets of reinforced glass to create a double reflector!"
+ to_chat(user, "You need ten sheets of reinforced glass to create a double reflector!")
return
else
S.use(10)
@@ -116,7 +116,7 @@
if(usr.stat || !usr.canmove || usr.restrained())
return
if (src.anchored)
- usr << "It is fastened to the floor!"
+ to_chat(usr, "It is fastened to the floor!")
return 0
src.setDir(turn(src.dir, 270))
return 1
@@ -125,7 +125,7 @@
/obj/structure/reflector/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
else
rotate()
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index b563467dad7..a6a52ac3903 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -49,9 +49,9 @@ FLOOR SAFES
/obj/structure/safe/proc/check_unlocked(mob/user, canhear)
if(user && canhear)
if(tumbler_1_pos == tumbler_1_open)
- user << "You hear a [pick("tonk", "krunk", "plunk")] from [src]."
+ to_chat(user, "You hear a [pick("tonk", "krunk", "plunk")] from [src].")
if(tumbler_2_pos == tumbler_2_open)
- user << "You hear a [pick("tink", "krink", "plink")] from [src]."
+ to_chat(user, "You hear a [pick("tink", "krink", "plink")] from [src].")
if(tumbler_1_pos == tumbler_1_open && tumbler_2_pos == tumbler_2_open)
if(user) visible_message("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!")
return 1
@@ -103,13 +103,13 @@ FLOOR SAFES
if(href_list["open"])
if(check_unlocked())
- user << "You [open ? "close" : "open"] [src]."
+ to_chat(user, "You [open ? "close" : "open"] [src].")
open = !open
update_icon()
updateUsrDialog()
return
else
- user << "You can't [open ? "close" : "open"] [src], the lock is engaged!"
+ to_chat(user, "You can't [open ? "close" : "open"] [src], the lock is engaged!")
return
if(href_list["decrement"])
@@ -117,11 +117,11 @@ FLOOR SAFES
if(dial == tumbler_1_pos + 1 || dial == tumbler_1_pos - 71)
tumbler_1_pos = decrement(tumbler_1_pos)
if(canhear)
- user << "You hear a [pick("clack", "scrape", "clank")] from [src]."
+ to_chat(user, "You hear a [pick("clack", "scrape", "clank")] from [src].")
if(tumbler_1_pos == tumbler_2_pos + 37 || tumbler_1_pos == tumbler_2_pos - 35)
tumbler_2_pos = decrement(tumbler_2_pos)
if(canhear)
- user << "You hear a [pick("click", "chink", "clink")] from [src]."
+ to_chat(user, "You hear a [pick("click", "chink", "clink")] from [src].")
check_unlocked(user, canhear)
updateUsrDialog()
return
@@ -131,11 +131,11 @@ FLOOR SAFES
if(dial == tumbler_1_pos - 1 || dial == tumbler_1_pos + 71)
tumbler_1_pos = increment(tumbler_1_pos)
if(canhear)
- user << "You hear a [pick("clack", "scrape", "clank")] from [src]."
+ to_chat(user, "You hear a [pick("clack", "scrape", "clank")] from [src].")
if(tumbler_1_pos == tumbler_2_pos - 37 || tumbler_1_pos == tumbler_2_pos + 35)
tumbler_2_pos = increment(tumbler_2_pos)
if(canhear)
- user << "You hear a [pick("click", "chink", "clink")] from [src]."
+ to_chat(user, "You hear a [pick("click", "chink", "clink")] from [src].")
check_unlocked(user, canhear)
updateUsrDialog()
return
@@ -156,17 +156,17 @@ FLOOR SAFES
if(I.w_class + space <= maxspace)
space += I.w_class
if(!user.drop_item())
- user << "\The [I] is stuck to your hand, you cannot put it in the safe!"
+ to_chat(user, "\The [I] is stuck to your hand, you cannot put it in the safe!")
return
I.forceMove(src)
- user << "You put [I] in [src]."
+ to_chat(user, "You put [I] in [src].")
updateUsrDialog()
return
else
- user << "[I] won't fit in [src]."
+ to_chat(user, "[I] won't fit in [src].")
return
else if(istype(I, /obj/item/clothing/neck/stethoscope))
- user << "Hold [I] in one of your hands while you manipulate the dial!"
+ to_chat(user, "Hold [I] in one of your hands while you manipulate the dial!")
else
return ..()
diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm
index 119ddde3235..82e0615344f 100644
--- a/code/game/objects/structures/showcase.dm
+++ b/code/game/objects/structures/showcase.dm
@@ -44,18 +44,18 @@
/obj/structure/showcase/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/weapon/screwdriver) && !anchored)
if(deconstruction_state == SHOWCASE_SCREWDRIVERED)
- user << "You screw the screws back into the showcase."
+ to_chat(user, "You screw the screws back into the showcase.")
playsound(loc, W.usesound, 100, 1)
deconstruction_state = SHOWCASE_CONSTRUCTED
else if (deconstruction_state == SHOWCASE_CONSTRUCTED)
- user << "You unscrew the screws."
+ to_chat(user, "You unscrew the screws.")
playsound(loc, W.usesound, 100, 1)
deconstruction_state = SHOWCASE_SCREWDRIVERED
if(istype(W, /obj/item/weapon/crowbar) && deconstruction_state == SHOWCASE_SCREWDRIVERED)
if(do_after(user, 20*W.toolspeed, target = src))
playsound(loc, W.usesound, 100, 1)
- user << "You start to crowbar the showcase apart..."
+ to_chat(user, "You start to crowbar the showcase apart...")
new /obj/item/stack/sheet/metal (get_turf(src), 4)
qdel(src)
@@ -69,8 +69,8 @@
switch(deconstruction_state)
if(SHOWCASE_CONSTRUCTED)
- user << "The showcase is fully constructed."
+ to_chat(user, "The showcase is fully constructed.")
if(SHOWCASE_SCREWDRIVERED)
- user << "The showcase has its screws loosened."
+ to_chat(user, "The showcase has its screws loosened.")
else
- user << "If you see this, something is wrong."
+ to_chat(user, "If you see this, something is wrong.")
diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm
index 5bcb2c9974d..3017f4d86a2 100644
--- a/code/game/objects/structures/spirit_board.dm
+++ b/code/game/objects/structures/spirit_board.dm
@@ -58,7 +58,7 @@
if(light_amount > 2)
- M << "It's too bright here to use [src.name]!"
+ to_chat(M, "It's too bright here to use [src.name]!")
return 0
//mobs in range check
@@ -66,12 +66,12 @@
for(var/mob/living/L in orange(1,src))
if(L.ckey && L.client)
if((world.time - L.client.inactivity) < (world.time - 300) || L.stat != CONSCIOUS || L.restrained())//no playing with braindeads or corpses or handcuffed dudes.
- M << "[L] doesn't seem to be paying attention..."
+ to_chat(M, "[L] doesn't seem to be paying attention...")
else
users_in_range++
if(users_in_range < 2)
- M << "There aren't enough people to use the [src.name]!"
+ to_chat(M, "There aren't enough people to use the [src.name]!")
return 0
return 1
\ No newline at end of file
diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm
index 559463d6040..b6837015f1d 100644
--- a/code/game/objects/structures/table_frames.dm
+++ b/code/game/objects/structures/table_frames.dm
@@ -24,7 +24,7 @@
/obj/structure/table_frame/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
- user << "You start disassembling [src]..."
+ to_chat(user, "You start disassembling [src]...")
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -32,41 +32,41 @@
else if(istype(I, /obj/item/stack/sheet/plasteel))
var/obj/item/stack/sheet/plasteel/P = I
if(P.get_amount() < 1)
- user << "You need one plasteel sheet to do this!"
+ to_chat(user, "You need one plasteel sheet to do this!")
return
- user << "You start adding [P] to [src]..."
+ to_chat(user, "You start adding [P] to [src]...")
if(do_after(user, 50, target = src) && P.use(1))
make_new_table(/obj/structure/table/reinforced)
else if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.get_amount() < 1)
- user << "You need one metal sheet to do this!"
+ to_chat(user, "You need one metal sheet to do this!")
return
- user << "You start adding [M] to [src]..."
+ to_chat(user, "You start adding [M] to [src]...")
if(do_after(user, 20, target = src) && M.use(1))
make_new_table(/obj/structure/table)
else if(istype(I, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/glass/G = I
if(G.get_amount() < 1)
- user << "You need one glass sheet to do this!"
+ to_chat(user, "You need one glass sheet to do this!")
return
- user << "You start adding [G] to [src]..."
+ to_chat(user, "You start adding [G] to [src]...")
if(do_after(user, 20, target = src) && G.use(1))
make_new_table(/obj/structure/table/glass)
else if(istype(I, /obj/item/stack/sheet/mineral/silver))
var/obj/item/stack/sheet/mineral/silver/S = I
if(S.get_amount() < 1)
- user << "You need one silver sheet to do this!"
+ to_chat(user, "You need one silver sheet to do this!")
return
- user << "You start adding [S] to [src]..."
+ to_chat(user, "You start adding [S] to [src]...")
if(do_after(user, 20, target = src) && S.use(1))
make_new_table(/obj/structure/table/optable)
else if(istype(I, /obj/item/stack/tile/carpet))
var/obj/item/stack/tile/carpet/C = I
if(C.get_amount() < 1)
- user << "You need one carpet sheet to do this!"
+ to_chat(user, "You need one carpet sheet to do this!")
return
- user << "You start adding [C] to [src]..."
+ to_chat(user, "You start adding [C] to [src]...")
if(do_after(user, 20, target = src) && C.use(1))
make_new_table(/obj/structure/table/wood/fancy)
else
@@ -108,18 +108,18 @@
if(istype(I, /obj/item/stack/sheet/mineral/wood))
var/obj/item/stack/sheet/mineral/wood/W = I
if(W.get_amount() < 1)
- user << "You need one wood sheet to do this!"
+ to_chat(user, "You need one wood sheet to do this!")
return
- user << "You start adding [W] to [src]..."
+ to_chat(user, "You start adding [W] to [src]...")
if(do_after(user, 20, target = src) && W.use(1))
make_new_table(/obj/structure/table/wood)
return
else if(istype(I, /obj/item/stack/tile/carpet))
var/obj/item/stack/tile/carpet/C = I
if(C.get_amount() < 1)
- user << "You need one carpet sheet to do this!"
+ to_chat(user, "You need one carpet sheet to do this!")
return
- user << "You start adding [C] to [src]..."
+ to_chat(user, "You start adding [C] to [src]...")
if(do_after(user, 20, target = src) && C.use(1))
make_new_table(/obj/structure/table/wood/poker)
else
@@ -145,9 +145,9 @@
if(istype(I, /obj/item/stack/tile/brass))
var/obj/item/stack/tile/brass/W = I
if(W.get_amount() < 1)
- user << "You need one brass sheet to do this!"
+ to_chat(user, "You need one brass sheet to do this!")
return
- user << "You start adding [W] to [src]..."
+ to_chat(user, "You start adding [W] to [src]...")
if(do_after(user, 20, target = src) && W.use(1))
make_new_table(/obj/structure/table/reinforced/brass)
else
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index da9cdb52c20..55483cbc80e 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -61,10 +61,10 @@
if(user.a_intent == INTENT_GRAB && user.pulling && isliving(user.pulling))
var/mob/living/pushed_mob = user.pulling
if(pushed_mob.buckled)
- user << "[pushed_mob] is buckled to [pushed_mob.buckled]!"
+ to_chat(user, "[pushed_mob] is buckled to [pushed_mob.buckled]!")
return
if(user.grab_state < GRAB_AGGRESSIVE)
- user << "You need a better grip to do that!"
+ to_chat(user, "You need a better grip to do that!")
return
tablepush(user, pushed_mob)
user.stop_pulling()
@@ -100,14 +100,14 @@
/obj/structure/table/attackby(obj/item/I, mob/user, params)
if(!(flags & NODECONSTRUCT))
if(istype(I, /obj/item/weapon/screwdriver) && deconstruction_ready)
- user << "You start disassembling [src]..."
+ to_chat(user, "You start disassembling [src]...")
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 20*I.toolspeed, target = src))
deconstruct(TRUE)
return
if(istype(I, /obj/item/weapon/wrench) && deconstruction_ready)
- user << "You start deconstructing [src]..."
+ to_chat(user, "You start deconstructing [src]...")
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 40*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -300,16 +300,16 @@
if(WT.remove_fuel(0, user))
playsound(src.loc, W.usesound, 50, 1)
if(deconstruction_ready)
- user << "You start strengthening the reinforced table..."
+ to_chat(user, "You start strengthening the reinforced table...")
if (do_after(user, 50*W.toolspeed, target = src))
if(!src || !WT.isOn()) return
- user << "You strengthen the table."
+ to_chat(user, "You strengthen the table.")
deconstruction_ready = 0
else
- user << "You start weakening the reinforced table..."
+ to_chat(user, "You start weakening the reinforced table...")
if (do_after(user, 50*W.toolspeed, target = src))
if(!src || !WT.isOn()) return
- user << "You weaken the table."
+ to_chat(user, "You weaken the table.")
deconstruction_ready = 1
else
. = ..()
@@ -498,7 +498,7 @@
if(building)
return
building = TRUE
- user << "You start constructing a rack..."
+ to_chat(user, "You start constructing a rack...")
if(do_after(user, 50, target = src, progress=TRUE))
if(!user.drop_item())
return
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index 79fc1471951..0b05ced1444 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -54,18 +54,18 @@
default_unfasten_wrench(user, I, time = 20)
return
else if(user.a_intent != INTENT_HARM)
- user << "[I] does not fit into [src]."
+ to_chat(user, "[I] does not fit into [src].")
return
else
return ..()
if(full)
- user << "[src] can't hold any more of [I]."
+ to_chat(user, "[src] can't hold any more of [I].")
return
if(!user.drop_item())
return
I.loc = src
- user << "You put [I] in [src]."
+ to_chat(user, "You put [I] in [src].")
update_icon()
/obj/structure/tank_dispenser/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm
index 8814ec13fb6..8301addc226 100644
--- a/code/game/objects/structures/target_stake.dm
+++ b/code/game/objects/structures/target_stake.dm
@@ -29,7 +29,7 @@
T.density = 1
T.layer = OBJ_LAYER + 0.01
T.loc = loc
- user << "You slide the target into the stake."
+ to_chat(user, "You slide the target into the stake.")
/obj/structure/target_stake/attack_hand(mob/user)
if(pinned_target)
@@ -43,10 +43,10 @@
if(ishuman(user))
if(!user.get_active_held_item())
user.put_in_hands(pinned_target)
- user << "You take the target out of the stake."
+ to_chat(user, "You take the target out of the stake.")
else
pinned_target.loc = get_turf(user)
- user << "You take the target out of the stake."
+ to_chat(user, "You take the target out of the stake.")
/obj/structure/target_stake/bullet_act(obj/item/projectile/P)
if(pinned_target)
diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm
index 9550ef0e309..1b41c76eec6 100644
--- a/code/game/objects/structures/transit_tubes/station.dm
+++ b/code/game/objects/structures/transit_tubes/station.dm
@@ -64,7 +64,7 @@
var/mob/living/GM = user.pulling
if(user.grab_state >= GRAB_AGGRESSIVE)
if(GM.buckled || GM.has_buckled_mobs())
- user << "[GM] is attached to something!"
+ to_chat(user, "[GM] is attached to something!")
return
for(var/obj/structure/transit_tube_pod/pod in loc)
pod.visible_message("[user] starts putting [GM] into the [pod]!")
diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm
index 3b0c24f3708..135f5ca02f5 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube.dm
@@ -37,12 +37,12 @@
if(istype(W, /obj/item/weapon/wrench))
if(tube_construction)
for(var/obj/structure/transit_tube_pod/pod in src.loc)
- user << "Remove the pod first!"
+ to_chat(user, "Remove the pod first!")
return
user.visible_message("[user] starts to deattach \the [src].", "You start to deattach the [name]...")
playsound(src.loc, W.usesound, 50, 1)
if(do_after(user, 35*W.toolspeed, target = src))
- user << "You deattach the [name]."
+ to_chat(user, "You deattach the [name].")
var/obj/structure/c_transit_tube/R = new tube_construction(loc)
R.setDir(dir)
transfer_fingerprints_to(R)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
index 41ddfef3f74..fd2cdf3f494 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
@@ -15,7 +15,7 @@
/obj/structure/c_transit_tube/examine(mob/user)
..()
- user << "Alt-click to rotate it clockwise."
+ to_chat(user, "Alt-click to rotate it clockwise.")
/obj/structure/c_transit_tube/proc/tube_rotate()
setDir(turn(dir, -90))
@@ -46,7 +46,7 @@
/obj/structure/c_transit_tube/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -64,13 +64,13 @@
/obj/structure/c_transit_tube/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
- user << "You start attaching the [name]..."
+ to_chat(user, "You start attaching the [name]...")
add_fingerprint(user)
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 40*I.toolspeed, target = src))
if(QDELETED(src))
return
- user << "You attach the [name]."
+ to_chat(user, "You attach the [name].")
var/obj/structure/transit_tube/R = new build_type(loc, dir)
transfer_fingerprints_to(R)
qdel(src)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
index 82bdade48f9..b5458d81f89 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
@@ -69,9 +69,9 @@
if(!moving)
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user << "You start trying to escape from the pod..."
+ to_chat(user, "You start trying to escape from the pod...")
if(do_after(user, 600, target = src))
- user << "You manage to open the pod."
+ to_chat(user, "You manage to open the pod.")
empty_pod()
/obj/structure/transit_tube_pod/proc/empty_pod(atom/location)
diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm
index e3778e802a9..2b32864aecf 100644
--- a/code/game/objects/structures/traps.dm
+++ b/code/game/objects/structures/traps.dm
@@ -34,7 +34,7 @@
if(!isliving(user))
return
if(get_dist(user, src) <= 1)
- user << "You reveal [src]!"
+ to_chat(user, "You reveal [src]!")
flare()
/obj/structure/trap/proc/flare()
@@ -74,7 +74,7 @@
icon_state = "trap-fire"
/obj/structure/trap/fire/trap_effect(mob/living/L)
- L << "Spontaneous combustion!"
+ to_chat(L, "Spontaneous combustion!")
L.Weaken(1)
/obj/structure/trap/fire/flare()
@@ -88,7 +88,7 @@
icon_state = "trap-frost"
/obj/structure/trap/chill/trap_effect(mob/living/L)
- L << "You're frozen solid!"
+ to_chat(L, "You're frozen solid!")
L.Weaken(1)
L.bodytemperature -= 300
L.apply_status_effect(/datum/status_effect/freon)
@@ -101,7 +101,7 @@
/obj/structure/trap/damage/trap_effect(mob/living/L)
- L << "The ground quakes beneath your feet!"
+ to_chat(L, "The ground quakes beneath your feet!")
L.Weaken(5)
L.adjustBruteLoss(35)
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 246a3a37bfc..e2fe61977c8 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -29,7 +29,7 @@
var/mob/living/GM = user.pulling
if(user.grab_state >= GRAB_AGGRESSIVE)
if(GM.loc != get_turf(src))
- user << "[GM] needs to be on [src]!"
+ to_chat(user, "[GM] needs to be on [src]!")
return
if(!swirlie)
if(open)
@@ -49,18 +49,18 @@
GM.visible_message("[user] slams [GM.name] into [src]!", "[user] slams you into [src]!")
GM.adjustBruteLoss(5)
else
- user << "You need a tighter grip!"
+ to_chat(user, "You need a tighter grip!")
else if(cistern && !open)
if(!contents.len)
- user << "The cistern is empty."
+ to_chat(user, "The cistern is empty.")
else
var/obj/item/I = pick(contents)
if(ishuman(user))
user.put_in_hands(I)
else
I.loc = get_turf(src)
- user << "You find [I] in the cistern."
+ to_chat(user, "You find [I] in the cistern.")
w_items -= I.w_class
else
open = !open
@@ -73,7 +73,7 @@
/obj/structure/toilet/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/crowbar))
- user << "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]..."
+ to_chat(user, "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...")
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!", "You hear grinding porcelain.")
@@ -83,24 +83,24 @@
else if(cistern)
if(user.a_intent != INTENT_HARM)
if(I.w_class > WEIGHT_CLASS_NORMAL)
- user << "[I] does not fit!"
+ to_chat(user, "[I] does not fit!")
return
if(w_items + I.w_class > WEIGHT_CLASS_HUGE)
- user << "The cistern is full!"
+ to_chat(user, "The cistern is full!")
return
if(!user.drop_item())
- user << "\The [I] is stuck to your hand, you cannot put it in the cistern!"
+ to_chat(user, "\The [I] is stuck to your hand, you cannot put it in the cistern!")
return
I.loc = src
w_items += I.w_class
- user << "You carefully place [I] into the cistern."
+ to_chat(user, "You carefully place [I] into the cistern.")
else if(istype(I, /obj/item/weapon/reagent_containers))
if (!open)
return
var/obj/item/weapon/reagent_containers/RG = I
RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
- user << "You fill [RG] from [src]. Gross."
+ to_chat(user, "You fill [RG] from [src]. Gross.")
else
return ..()
@@ -123,47 +123,47 @@
var/mob/living/GM = user.pulling
if(user.grab_state >= GRAB_AGGRESSIVE)
if(GM.loc != get_turf(src))
- user << "[GM.name] needs to be on [src]."
+ to_chat(user, "[GM.name] needs to be on [src].")
return
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("[user] slams [GM] into [src]!", "You slam [GM] into [src]!")
GM.adjustBruteLoss(8)
else
- user << "You need a tighter grip!"
+ to_chat(user, "You need a tighter grip!")
else if(exposed)
if(!hiddenitem)
- user << "There is nothing in the drain holder."
+ to_chat(user, "There is nothing in the drain holder.")
else
if(ishuman(user))
user.put_in_hands(hiddenitem)
else
hiddenitem.forceMove(get_turf(src))
- user << "You fish [hiddenitem] out of the drain enclosure."
+ to_chat(user, "You fish [hiddenitem] out of the drain enclosure.")
hiddenitem = null
else
..()
/obj/structure/urinal/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
- user << "You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]..."
+ to_chat(user, "You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]...")
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
if(do_after(user, 20*I.toolspeed, target = src))
user.visible_message("[user] [exposed ? "screws the cap back into place" : "unscrew the cap to the drain protector"]!", "You [exposed ? "screw the cap back into place" : "unscrew the cap on the drain"]!", "You hear metal and squishing noises.")
exposed = !exposed
else if(exposed)
if (hiddenitem)
- user << "There is already something in the drain enclosure."
+ to_chat(user, "There is already something in the drain enclosure.")
return
if(I.w_class > 1)
- user << "[I] is too large for the drain enclosure."
+ to_chat(user, "[I] is too large for the drain enclosure.")
return
if(!user.drop_item())
- user << "\[I] is stuck to your hand, you cannot put it in the drain enclosure!"
+ to_chat(user, "\[I] is stuck to your hand, you cannot put it in the drain enclosure!")
return
I.forceMove(src)
hiddenitem = I
- user << "You place [I] into the drain enclosure."
+ to_chat(user, "You place [I] into the drain enclosure.")
/obj/item/weapon/reagent_containers/food/urinalcake
@@ -217,9 +217,9 @@
/obj/machinery/shower/attackby(obj/item/I, mob/user, params)
if(I.type == /obj/item/device/analyzer)
- user << "The water temperature seems to be [watertemp]."
+ to_chat(user, "The water temperature seems to be [watertemp].")
if(istype(I, /obj/item/weapon/wrench))
- user << "You begin to adjust the temperature valve with \the [I]..."
+ to_chat(user, "You begin to adjust the temperature valve with \the [I]...")
if(do_after(user, 50*I.toolspeed, target = src))
switch(watertemp)
if("normal")
@@ -381,11 +381,11 @@
/obj/machinery/shower/proc/check_heat(mob/living/carbon/C)
if(watertemp == "freezing")
C.bodytemperature = max(80, C.bodytemperature - 80)
- C << "The water is freezing!"
+ to_chat(C, "The water is freezing!")
else if(watertemp == "boiling")
C.bodytemperature = min(500, C.bodytemperature + 35)
C.adjustFireLoss(5)
- C << "The water is searing!"
+ to_chat(C, "The water is searing!")
@@ -418,7 +418,7 @@
return
if(busy)
- user << "Someone's already washing here."
+ to_chat(user, "Someone's already washing here.")
return
var/selected_area = parse_zone(user.zone_selected)
var/washing_face = 0
@@ -450,14 +450,14 @@
/obj/structure/sink/attackby(obj/item/O, mob/user, params)
if(busy)
- user << "Someone's already washing here!"
+ to_chat(user, "Someone's already washing here!")
return
if(istype(O, /obj/item/weapon/reagent_containers))
var/obj/item/weapon/reagent_containers/RG = O
if(RG.container_type & OPENCONTAINER)
RG.reagents.add_reagent("[dispensedreagent]", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
- user << "You fill [RG] from [src]."
+ to_chat(user, "You fill [RG] from [src].")
return 1
if(istype(O, /obj/item/weapon/melee/baton))
@@ -477,14 +477,14 @@
if(istype(O, /obj/item/weapon/mop))
O.reagents.add_reagent("[dispensedreagent]", 5)
- user << "You wet [O] in [src]."
+ to_chat(user, "You wet [O] in [src].")
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
return
if(istype(O, /obj/item/stack/medical/gauze))
var/obj/item/stack/medical/gauze/G = O
new /obj/item/weapon/reagent_containers/glass/rag(src.loc)
- user << "You tear off a strip of gauze and make a rag."
+ to_chat(user, "You tear off a strip of gauze and make a rag.")
G.use(1)
return
@@ -494,7 +494,7 @@
return
if(user.a_intent != INTENT_HARM)
- user << "You start washing [O]..."
+ to_chat(user, "You start washing [O]...")
busy = 1
if(!do_after(user, 40, target = src))
busy = 0
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index cb2a2af8662..be82336f595 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -30,7 +30,7 @@
/obj/structure/windoor_assembly/examine(mob/user)
..()
- user << "Alt-click to rotate it clockwise."
+ to_chat(user, "Alt-click to rotate it clockwise.")
/obj/structure/windoor_assembly/New(loc, set_dir)
..()
@@ -98,7 +98,7 @@
if(do_after(user, 40*W.toolspeed, target = src))
if(!src || !WT.isOn()) return
- user << "You disassemble the windoor assembly."
+ to_chat(user, "You disassemble the windoor assembly.")
var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5)
RG.add_fingerprint(user)
if(secure)
@@ -112,7 +112,7 @@
if(istype(W, /obj/item/weapon/wrench) && !anchored)
for(var/obj/machinery/door/window/WD in loc)
if(WD.dir == dir)
- user << "There is already a windoor in that location!"
+ to_chat(user, "There is already a windoor in that location!")
return
playsound(loc, W.usesound, 100, 1)
user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor...")
@@ -122,9 +122,9 @@
return
for(var/obj/machinery/door/window/WD in loc)
if(WD.dir == dir)
- user << "There is already a windoor in that location!"
+ to_chat(user, "There is already a windoor in that location!")
return
- user << "You secure the windoor assembly."
+ to_chat(user, "You secure the windoor assembly.")
anchored = 1
if(secure)
name = "secure anchored windoor assembly"
@@ -139,7 +139,7 @@
if(do_after(user, 40*W.toolspeed, target = src))
if(!src || !anchored)
return
- user << "You unsecure the windoor assembly."
+ to_chat(user, "You unsecure the windoor assembly.")
anchored = 0
if(secure)
name = "secure windoor assembly"
@@ -150,16 +150,16 @@
else if(istype(W, /obj/item/stack/sheet/plasteel) && !secure)
var/obj/item/stack/sheet/plasteel/P = W
if(P.get_amount() < 2)
- user << "You need more plasteel to do this!"
+ to_chat(user, "You need more plasteel to do this!")
return
- user << "You start to reinforce the windoor with plasteel..."
+ to_chat(user, "You start to reinforce the windoor with plasteel...")
if(do_after(user,40, target = src))
if(!src || secure || P.get_amount() < 2)
return
P.use(2)
- user << "You reinforce the windoor."
+ to_chat(user, "You reinforce the windoor.")
secure = 1
if(anchored)
name = "secure anchored windoor assembly"
@@ -175,9 +175,9 @@
return
var/obj/item/stack/cable_coil/CC = W
if(!CC.use(1))
- user << "You need more cable to do this!"
+ to_chat(user, "You need more cable to do this!")
return
- user << "You wire the windoor."
+ to_chat(user, "You wire the windoor.")
state = "02"
if(secure)
name = "secure wired windoor assembly"
@@ -197,7 +197,7 @@
if(!src || state != "02")
return
- user << "You cut the windoor wires."
+ to_chat(user, "You cut the windoor wires.")
new/obj/item/stack/cable_coil(get_turf(user), 1)
state = "01"
if(secure)
@@ -217,7 +217,7 @@
if(!src || electronics)
W.loc = src.loc
return
- user << "You install the airlock electronics."
+ to_chat(user, "You install the airlock electronics.")
name = "near finished windoor assembly"
electronics = W
else
@@ -234,7 +234,7 @@
if(do_after(user, 40*W.toolspeed, target = src))
if(!src || !electronics)
return
- user << "You remove the airlock electronics."
+ to_chat(user, "You remove the airlock electronics.")
name = "wired windoor assembly"
var/obj/item/weapon/electronics/airlock/ae
ae = electronics
@@ -255,7 +255,7 @@
//Crowbar to complete the assembly, Step 7 complete.
else if(istype(W, /obj/item/weapon/crowbar))
if(!electronics)
- usr << "The assembly is missing electronics!"
+ to_chat(usr, "The assembly is missing electronics!")
return
usr << browse(null, "window=windoor_access")
playsound(loc, W.usesound, 100, 1)
@@ -266,7 +266,7 @@
if(loc && electronics)
density = 1 //Shouldn't matter but just incase
- user << "You finish the windoor."
+ to_chat(user, "You finish the windoor.")
if(secure)
var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(loc)
@@ -326,13 +326,13 @@
if(usr.stat || !usr.canmove || usr.restrained())
return
if(anchored)
- usr << "[src] cannot be rotated while it is fastened to the floor!"
+ to_chat(usr, "[src] cannot be rotated while it is fastened to the floor!")
return FALSE
var/target_dir = turn(dir, 270)
if(!valid_window_location(loc, target_dir))
- usr << "[src] cannot be rotated in that direction!"
+ to_chat(usr, "[src] cannot be rotated in that direction!")
return FALSE
setDir(target_dir)
@@ -344,7 +344,7 @@
/obj/structure/windoor_assembly/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -360,11 +360,11 @@
return
if(facing == "l")
- usr << "The windoor will now slide to the right."
+ to_chat(usr, "The windoor will now slide to the right.")
facing = "r"
else
facing = "l"
- usr << "The windoor will now slide to the left."
+ to_chat(usr, "The windoor will now slide to the left.")
update_icon()
return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 440e49c0c0d..be1e0b6d6e4 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -25,7 +25,7 @@
/obj/structure/window/examine(mob/user)
..()
- user << "Alt-click to rotate it clockwise."
+ to_chat(user, "Alt-click to rotate it clockwise.")
/obj/structure/window/New(Loc, direct)
..()
@@ -140,15 +140,15 @@
var/obj/item/weapon/weldingtool/WT = I
if(obj_integrity < max_integrity)
if(WT.remove_fuel(0,user))
- user << "You begin repairing [src]..."
+ to_chat(user, "You begin repairing [src]...")
playsound(loc, WT.usesound, 40, 1)
if(do_after(user, 40*I.toolspeed, target = src))
obj_integrity = max_integrity
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
update_nearby_icons()
- user << "You repair [src]."
+ to_chat(user, "You repair [src].")
else
- user << "[src] is already in good condition!"
+ to_chat(user, "[src] is already in good condition!")
return
@@ -156,39 +156,39 @@
if(istype(I, /obj/item/weapon/screwdriver))
playsound(loc, I.usesound, 75, 1)
if(reinf && (state == 2 || state == 1))
- user << (state == 2 ? "You begin to unscrew the window from the frame..." : "You begin to screw the window to the frame...")
+ to_chat(user, (state == 2 ? "You begin to unscrew the window from the frame..." : "You begin to screw the window to the frame..."))
else if(reinf && state == 0)
- user << (anchored ? "You begin to unscrew the frame from the floor..." : "You begin to screw the frame to the floor...")
+ to_chat(user, (anchored ? "You begin to unscrew the frame from the floor..." : "You begin to screw the frame to the floor..."))
else if(!reinf)
- user << (anchored ? "You begin to unscrew the window from the floor..." : "You begin to screw the window to the floor...")
+ to_chat(user, (anchored ? "You begin to unscrew the window from the floor..." : "You begin to screw the window to the floor..."))
if(do_after(user, 30*I.toolspeed, target = src))
if(reinf && (state == 1 || state == 2))
//If state was unfastened, fasten it, else do the reverse
state = (state == 1 ? 2 : 1)
- user << (state == 1 ? "You unfasten the window from the frame." : "You fasten the window to the frame.")
+ to_chat(user, (state == 1 ? "You unfasten the window from the frame." : "You fasten the window to the frame."))
else if(reinf && state == 0)
anchored = !anchored
update_nearby_icons()
- user << (anchored ? "You fasten the frame to the floor." : "You unfasten the frame from the floor.")
+ to_chat(user, (anchored ? "You fasten the frame to the floor." : "You unfasten the frame from the floor."))
else if(!reinf)
anchored = !anchored
update_nearby_icons()
- user << (anchored ? "You fasten the window to the floor." : "You unfasten the window.")
+ to_chat(user, (anchored ? "You fasten the window to the floor." : "You unfasten the window."))
return
else if (istype(I, /obj/item/weapon/crowbar) && reinf && (state == 0 || state == 1))
- user << (state == 0 ? "You begin to lever the window into the frame..." : "You begin to lever the window out of the frame...")
+ to_chat(user, (state == 0 ? "You begin to lever the window into the frame..." : "You begin to lever the window out of the frame..."))
playsound(loc, I.usesound, 75, 1)
if(do_after(user, 40*I.toolspeed, target = src))
//If state was out of frame, put into frame, else do the reverse
state = (state == 0 ? 1 : 0)
- user << (state == 1 ? "You pry the window into the frame." : "You pry the window out of the frame.")
+ to_chat(user, (state == 1 ? "You pry the window into the frame." : "You pry the window out of the frame."))
return
else if(istype(I, /obj/item/weapon/wrench) && !anchored)
playsound(loc, I.usesound, 75, 1)
- user << " You begin to disassemble [src]..."
+ to_chat(user, " You begin to disassemble [src]...")
if(do_after(user, 40*I.toolspeed, target = src))
if(QDELETED(src))
return
@@ -197,7 +197,7 @@
G.add_fingerprint(user)
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- user << "You successfully disassemble [src]."
+ to_chat(user, "You successfully disassemble [src].")
qdel(src)
return
return ..()
@@ -257,13 +257,13 @@
return
if(anchored)
- usr << "[src] cannot be rotated while it is fastened to the floor!"
+ to_chat(usr, "[src] cannot be rotated while it is fastened to the floor!")
return FALSE
var/target_dir = turn(dir, 90)
if(!valid_window_location(loc, target_dir))
- usr << "[src] cannot be rotated in that direction!"
+ to_chat(usr, "[src] cannot be rotated in that direction!")
return FALSE
setDir(target_dir)
@@ -282,13 +282,13 @@
return
if(anchored)
- usr << "[src] cannot be rotated while it is fastened to the floor!"
+ to_chat(usr, "[src] cannot be rotated while it is fastened to the floor!")
return FALSE
var/target_dir = turn(dir, 270)
if(!valid_window_location(loc, target_dir))
- usr << "[src] cannot be rotated in that direction!"
+ to_chat(usr, "[src] cannot be rotated in that direction!")
return FALSE
setDir(target_dir)
@@ -300,7 +300,7 @@
/obj/structure/window/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
diff --git a/code/game/sound.dm b/code/game/sound.dm
index 2e4b429aeec..340dcc1a380 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -72,7 +72,7 @@
S.y = 1
S.falloff = (falloff ? falloff : FALLOFF_SOUNDS)
- src << S
+ to_chat(src, S)
/mob/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, surround = 1)
if(!client || ear_deaf > 0)
@@ -84,7 +84,7 @@
/client/proc/playtitlemusic()
UNTIL(ticker.login_music) //wait for ticker init to set the login music
-
+
if(prefs && (prefs.toggles & SOUND_LOBBY))
src << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS
diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm
index b8aed0f689e..00e11e20920 100644
--- a/code/game/turfs/open.dm
+++ b/code/game/turfs/open.dm
@@ -153,7 +153,7 @@
if(C.m_intent == MOVE_INTENT_WALK && (lube&NO_SLIP_WHEN_WALKING))
return 0
if(!(lube&SLIDE_ICE))
- C << "You slipped[ O ? " on the [O.name]" : ""]!"
+ to_chat(C, "You slipped[ O ? " on the [O.name]" : ""]!")
C.log_message("Slipped[O ? " on the [O.name]" : ""][(lube&SLIDE)? " (LUBE)" : ""]!", INDIVIDUAL_ATTACK_LOG)
if(!(lube&SLIDE_ICE))
playsound(C.loc, 'sound/misc/slip.ogg', 50, 1, -3)
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index f03bcd2ccaf..99b79ae0961 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -161,10 +161,10 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
broken = 0
burnt = 0
if(user && !silent)
- user << "You remove the broken plating."
+ to_chat(user, "You remove the broken plating.")
else
if(user && !silent)
- user << "You remove the floor tile."
+ to_chat(user, "You remove the floor tile.")
if(floor_tile && make_tile)
new floor_tile(src)
return make_plating()
diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm
index 4927eb5e9ee..3db7415bfdb 100644
--- a/code/game/turfs/simulated/floor/fancy_floor.dm
+++ b/code/game/turfs/simulated/floor/fancy_floor.dm
@@ -28,16 +28,16 @@
broken = 0
burnt = 0
if(user && !silent)
- user << "You remove the broken planks."
+ to_chat(user, "You remove the broken planks.")
else
if(make_tile)
if(user && !silent)
- user << "You unscrew the planks."
+ to_chat(user, "You unscrew the planks.")
if(floor_tile)
new floor_tile(src)
else
if(user && !silent)
- user << "You forcefully pry off the planks, destroying them in the process."
+ to_chat(user, "You forcefully pry off the planks, destroying them in the process.")
return make_plating()
/turf/open/floor/wood/cold
diff --git a/code/game/turfs/simulated/floor/light_floor.dm b/code/game/turfs/simulated/floor/light_floor.dm
index 37e892e3a83..8690982f261 100644
--- a/code/game/turfs/simulated/floor/light_floor.dm
+++ b/code/game/turfs/simulated/floor/light_floor.dm
@@ -67,9 +67,9 @@
qdel(C)
state = 0 //fixing it by bashing it with a light bulb, fun eh?
update_icon()
- user << "You replace the light bulb."
+ to_chat(user, "You replace the light bulb.")
else
- user << "The lightbulb seems fine, no need to replace it."
+ to_chat(user, "The lightbulb seems fine, no need to replace it.")
//Cycles through all of the colours
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index c65865786c4..13aaa09a2af 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -32,20 +32,20 @@
return
if(istype(C, /obj/item/stack/rods))
if(broken || burnt)
- user << "Repair the plating first!"
+ to_chat(user, "Repair the plating first!")
return
var/obj/item/stack/rods/R = C
if (R.get_amount() < 2)
- user << "You need two rods to make a reinforced floor!"
+ to_chat(user, "You need two rods to make a reinforced floor!")
return
else
- user << "You begin reinforcing the floor..."
+ to_chat(user, "You begin reinforcing the floor...")
if(do_after(user, 30, target = src))
if (R.get_amount() >= 2 && !istype(src, /turf/open/floor/engine))
ChangeTurf(/turf/open/floor/engine)
playsound(src, 'sound/items/Deconstruct.ogg', 80, 1)
R.use(2)
- user << "You reinforce the floor."
+ to_chat(user, "You reinforce the floor.")
return
else if(istype(C, /obj/item/stack/tile))
if(!broken && !burnt)
@@ -59,12 +59,12 @@
F.state = L.state
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
else
- user << "This section is too damaged to support a tile! Use a welder to fix the damage."
+ to_chat(user, "This section is too damaged to support a tile! Use a welder to fix the damage.")
else if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/welder = C
if( welder.isOn() && (broken || burnt) )
if(welder.remove_fuel(0,user))
- user << "You fix some dents on the broken plating."
+ to_chat(user, "You fix some dents on the broken plating.")
playsound(src, welder.usesound, 80, 1)
icon_state = icon_plating
burnt = 0
diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm
index 01aaba06bf7..6efd3318298 100644
--- a/code/game/turfs/simulated/floor/plating/asteroid.dm
+++ b/code/game/turfs/simulated/floor/plating/asteroid.dm
@@ -53,15 +53,15 @@
return
if (dug)
- user << "This area has already been dug!"
+ to_chat(user, "This area has already been dug!")
return
- user << "You start digging..."
+ to_chat(user, "You start digging...")
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
if(do_after(user, digging_speed, target = src))
if(istype(src, /turf/open/floor/plating/asteroid))
- user << "You dig a hole."
+ to_chat(user, "You dig a hole.")
gets_dug()
feedback_add_details("pick_used_mining","[W.type]")
diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm
index ab01971446a..bbc61d54d39 100644
--- a/code/game/turfs/simulated/floor/reinf_floor.dm
+++ b/code/game/turfs/simulated/floor/reinf_floor.dm
@@ -24,7 +24,7 @@
if(!C || !user)
return
if(istype(C, /obj/item/weapon/wrench))
- user << "You begin removing rods..."
+ to_chat(user, "You begin removing rods...")
playsound(src, C.usesound, 80, 1)
if(do_after(user, 30*C.toolspeed, target = src))
if(!istype(src, /turf/open/floor/engine))
diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm
index 175564a72d8..f95be03e76f 100644
--- a/code/game/turfs/simulated/minerals.dm
+++ b/code/game/turfs/simulated/minerals.dm
@@ -46,7 +46,7 @@
/turf/closed/mineral/attackby(obj/item/weapon/pickaxe/P, mob/user, params)
if (!user.IsAdvancedToolUser())
- usr << "You don't have the dexterity to do this!"
+ to_chat(usr, "You don't have the dexterity to do this!")
return
if (istype(P, /obj/item/weapon/pickaxe))
@@ -57,12 +57,12 @@
if(last_act+P.digspeed > world.time)//prevents message spam
return
last_act = world.time
- user << "You start picking..."
+ to_chat(user, "You start picking...")
P.playDigSound()
if(do_after(user,P.digspeed, target = src))
if(ismineralturf(src))
- user << "You finish cutting into the rock."
+ to_chat(user, "You finish cutting into the rock.")
gets_drilled(user)
feedback_add_details("pick_used_mining","[P.type]")
else
@@ -86,10 +86,10 @@
..()
/turf/closed/mineral/attack_alien(mob/living/carbon/alien/M)
- M << "You start digging into the rock..."
+ to_chat(M, "You start digging into the rock...")
playsound(src, 'sound/effects/break_stone.ogg', 50, 1)
if(do_after(M,40, target = src))
- M << "You tunnel into the rock."
+ to_chat(M, "You tunnel into the rock.")
gets_drilled(M)
/turf/closed/mineral/Bumped(AM as mob|obj)
diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm
index c77de9c279e..a0ed982144d 100644
--- a/code/game/turfs/simulated/wall/misc_walls.dm
+++ b/code/game/turfs/simulated/wall/misc_walls.dm
@@ -61,7 +61,7 @@
/turf/closed/wall/clockwork/examine(mob/user)
..()
if((is_servant_of_ratvar(user) || isobserver(user)) && linkedcache)
- user << "It is linked to a Tinkerer's Cache, generating components!"
+ to_chat(user, "It is linked to a Tinkerer's Cache, generating components!")
/turf/closed/wall/clockwork/Destroy()
if(linkedcache)
diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm
index 467ebf814d5..729b6bdb996 100644
--- a/code/game/turfs/simulated/wall/reinf_walls.dm
+++ b/code/game/turfs/simulated/wall/reinf_walls.dm
@@ -17,19 +17,19 @@
..()
switch(d_state)
if(INTACT)
- user << "The outer grille is fully intact."
+ to_chat(user, "The outer grille is fully intact.")
if(SUPPORT_LINES)
- user << "The outer grille has been cut, and the support lines are screwed securely to the outer cover."
+ to_chat(user, "The outer grille has been cut, and the support lines are screwed securely to the outer cover.")
if(COVER)
- user << "The support lines have been unscrewed, and the metal cover is welded firmly in place."
+ to_chat(user, "The support lines have been unscrewed, and the metal cover is welded firmly in place.")
if(CUT_COVER)
- user << "The metal cover has been sliced through, and is connected loosely to the girder."
+ to_chat(user, "The metal cover has been sliced through, and is connected loosely to the girder.")
if(BOLTS)
- user << "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place."
+ to_chat(user, "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place.")
if(SUPPORT_RODS)
- user << "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder."
+ to_chat(user, "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder.")
if(SHEATH)
- user << "The support rods have been sliced through, and the outer sheath is connected loosely to the girder."
+ to_chat(user, "The support rods have been sliced through, and the outer sheath is connected loosely to the girder.")
/turf/closed/wall/r_wall/devastate_wall()
new sheet_type(src, sheet_amount)
@@ -43,12 +43,12 @@
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
else
playsound(src, 'sound/effects/bang.ogg', 50, 1)
- M << "This wall is far too strong for you to destroy."
+ to_chat(M, "This wall is far too strong for you to destroy.")
/turf/closed/wall/r_wall/try_destroy(obj/item/weapon/W, mob/user, turf/T)
if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
- user << "You begin to smash though the [name]..."
+ to_chat(user, "You begin to smash though the [name]...")
if(do_after(user, 50, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W)
return 1
@@ -66,170 +66,170 @@
playsound(src, W.usesound, 100, 1)
d_state = SUPPORT_LINES
update_icon()
- user << "You cut the outer grille."
+ to_chat(user, "You cut the outer grille.")
return 1
if(SUPPORT_LINES)
if(istype(W, /obj/item/weapon/screwdriver))
- user << "You begin unsecuring the support lines..."
+ to_chat(user, "You begin unsecuring the support lines...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 40*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_LINES)
return 1
d_state = COVER
update_icon()
- user << "You unsecure the support lines."
+ to_chat(user, "You unsecure the support lines.")
return 1
else if(istype(W, /obj/item/weapon/wirecutters))
playsound(src, W.usesound, 100, 1)
d_state = INTACT
update_icon()
- user << "You repair the outer grille."
+ to_chat(user, "You repair the outer grille.")
return 1
if(COVER)
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
- user << "You begin slicing through the metal cover..."
+ to_chat(user, "You begin slicing through the metal cover...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 60*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != COVER)
return 1
d_state = CUT_COVER
update_icon()
- user << "You press firmly on the cover, dislodging it."
+ to_chat(user, "You press firmly on the cover, dislodging it.")
return 1
if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
- user << "You begin slicing through the metal cover..."
+ to_chat(user, "You begin slicing through the metal cover...")
playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 60*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != COVER)
return 1
d_state = CUT_COVER
update_icon()
- user << "You press firmly on the cover, dislodging it."
+ to_chat(user, "You press firmly on the cover, dislodging it.")
return 1
if(istype(W, /obj/item/weapon/screwdriver))
- user << "You begin securing the support lines..."
+ to_chat(user, "You begin securing the support lines...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 40*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != COVER)
return 1
d_state = SUPPORT_LINES
update_icon()
- user << "The support lines have been secured."
+ to_chat(user, "The support lines have been secured.")
return 1
if(CUT_COVER)
if(istype(W, /obj/item/weapon/crowbar))
- user << "You struggle to pry off the cover..."
+ to_chat(user, "You struggle to pry off the cover...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 100*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != CUT_COVER)
return 1
d_state = BOLTS
update_icon()
- user << "You pry off the cover."
+ to_chat(user, "You pry off the cover.")
return 1
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
- user << "You begin welding the metal cover back to the frame..."
+ to_chat(user, "You begin welding the metal cover back to the frame...")
playsound(src, WT.usesound, 100, 1)
if(do_after(user, 60*WT.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != CUT_COVER)
return 1
d_state = COVER
update_icon()
- user << "The metal cover has been welded securely to the frame."
+ to_chat(user, "The metal cover has been welded securely to the frame.")
return 1
if(BOLTS)
if(istype(W, /obj/item/weapon/wrench))
- user << "You start loosening the anchoring bolts which secure the support rods to their frame..."
+ to_chat(user, "You start loosening the anchoring bolts which secure the support rods to their frame...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 40*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != BOLTS)
return 1
d_state = SUPPORT_RODS
update_icon()
- user << "You remove the bolts anchoring the support rods."
+ to_chat(user, "You remove the bolts anchoring the support rods.")
return 1
if(istype(W, /obj/item/weapon/crowbar))
- user << "You start to pry the cover back into place..."
+ to_chat(user, "You start to pry the cover back into place...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 20*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != BOLTS)
return 1
d_state = CUT_COVER
update_icon()
- user << "The metal cover has been pried back into place."
+ to_chat(user, "The metal cover has been pried back into place.")
return 1
if(SUPPORT_RODS)
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
- user << "You begin slicing through the support rods..."
+ to_chat(user, "You begin slicing through the support rods...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 100*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != SUPPORT_RODS)
return 1
d_state = SHEATH
update_icon()
- user << "You slice through the support rods."
+ to_chat(user, "You slice through the support rods.")
return 1
if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
- user << "You begin slicing through the support rods..."
+ to_chat(user, "You begin slicing through the support rods...")
playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, 100*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_RODS)
return 1
d_state = SHEATH
update_icon()
- user << "You slice through the support rods."
+ to_chat(user, "You slice through the support rods.")
return 1
if(istype(W, /obj/item/weapon/wrench))
- user << "You start tightening the bolts which secure the support rods to their frame..."
+ to_chat(user, "You start tightening the bolts which secure the support rods to their frame...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 40*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SUPPORT_RODS)
return 1
d_state = BOLTS
update_icon()
- user << "You tighten the bolts anchoring the support rods."
+ to_chat(user, "You tighten the bolts anchoring the support rods.")
return 1
if(SHEATH)
if(istype(W, /obj/item/weapon/crowbar))
- user << "You struggle to pry off the outer sheath..."
+ to_chat(user, "You struggle to pry off the outer sheath...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, 100*W.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !W || d_state != SHEATH)
return 1
- user << "You pry off the outer sheath."
+ to_chat(user, "You pry off the outer sheath.")
dismantle_wall()
return 1
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
- user << "You begin welding the support rods back together..."
+ to_chat(user, "You begin welding the support rods back together...")
playsound(src, WT.usesound, 100, 1)
if(do_after(user, 100*WT.toolspeed, target = src))
if(!istype(src, /turf/closed/wall/r_wall) || !WT || !WT.isOn() || d_state != SHEATH)
return 1
d_state = SUPPORT_RODS
update_icon()
- user << "You weld the support rods back together."
+ to_chat(user, "You weld the support rods back together.")
return 1
return 0
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index ff071b0599c..4da40a9afe7 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -114,12 +114,12 @@
dismantle_wall(1)
else
playsound(src, 'sound/effects/bang.ogg', 50, 1)
- user << text("You punch the wall.")
+ to_chat(user, text("You punch the wall."))
return 1
/turf/closed/wall/attack_hand(mob/user)
user.changeNext_move(CLICK_CD_MELEE)
- user << "You push the wall but nothing happens!"
+ to_chat(user, "You push the wall but nothing happens!")
playsound(src, 'sound/weapons/Genhit.ogg', 25, 1)
src.add_fingerprint(user)
..()
@@ -128,7 +128,7 @@
/turf/closed/wall/attackby(obj/item/weapon/W, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
if (!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to do this!"
+ to_chat(user, "You don't have the dexterity to do this!")
return
//get the user's location
@@ -169,23 +169,23 @@
if( istype(W, /obj/item/weapon/weldingtool) )
var/obj/item/weapon/weldingtool/WT = W
if( WT.remove_fuel(0,user) )
- user << "You begin slicing through the outer plating..."
+ to_chat(user, "You begin slicing through the outer plating...")
playsound(src, W.usesound, 100, 1)
if(do_after(user, slicing_duration*W.toolspeed, target = src))
if(!iswallturf(src) || !user || !WT || !WT.isOn() || !T)
return 1
if( user.loc == T && user.get_active_held_item() == WT )
- user << "You remove the outer plating."
+ to_chat(user, "You remove the outer plating.")
dismantle_wall()
return 1
else if( istype(W, /obj/item/weapon/gun/energy/plasmacutter) )
- user << "You begin slicing through the outer plating..."
+ to_chat(user, "You begin slicing through the outer plating...")
playsound(src, 'sound/items/Welder.ogg', 100, 1)
if(do_after(user, slicing_duration*W.toolspeed, target = src))
if(!iswallturf(src) || !user || !W || !T)
return 1
if( user.loc == T && user.get_active_held_item() == W )
- user << "You remove the outer plating."
+ to_chat(user, "You remove the outer plating.")
dismantle_wall()
visible_message("The wall was sliced apart by [user]!", "You hear metal being sliced apart.")
return 1
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index 701eb7ead69..18caf8cedfa 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -23,7 +23,7 @@
/turf/open/space/Initialize()
icon_state = SPACE_ICON_STATE
air = space_gas
-
+
if(initialized)
stack_trace("Warning: [src]([type]) initialized multiple times!")
initialized = TRUE
@@ -79,22 +79,22 @@
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src)
if(W)
- user << "There is already a catwalk here!"
+ to_chat(user, "There is already a catwalk here!")
return
if(L)
if(R.use(1))
- user << "You construct a catwalk."
+ to_chat(user, "You construct a catwalk.")
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
new/obj/structure/lattice/catwalk(src)
else
- user << "You need two rods to build a catwalk!"
+ to_chat(user, "You need two rods to build a catwalk!")
return
if(R.use(1))
- user << "You construct a lattice."
+ to_chat(user, "You construct a lattice.")
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
ReplaceWithLattice()
else
- user << "You need one rod to build a lattice."
+ to_chat(user, "You need one rod to build a lattice.")
return
if(istype(C, /obj/item/stack/tile/plasteel))
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
@@ -103,12 +103,12 @@
if(S.use(1))
qdel(L)
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
- user << "You build a floor."
+ to_chat(user, "You build a floor.")
ChangeTurf(/turf/open/floor/plating)
else
- user << "You need one floor tile to build a floor!"
+ to_chat(user, "You need one floor tile to build a floor!")
else
- user << "The plating is going to need some support! Place metal rods first."
+ to_chat(user, "The plating is going to need some support! Place metal rods first.")
/turf/open/space/Entered(atom/movable/A)
..()
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 7fdd6e20c6b..9efdef106f3 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -292,7 +292,7 @@
/turf/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
if(src_object.contents.len)
- usr << "You start dumping out the contents..."
+ to_chat(usr, "You start dumping out the contents...")
if(!do_after(usr,20,target=src_object))
return 0
diff --git a/code/modules/VR/vr_sleeper.dm b/code/modules/VR/vr_sleeper.dm
index 7a21dc9ad2a..9eda00a8ea7 100644
--- a/code/modules/VR/vr_sleeper.dm
+++ b/code/modules/VR/vr_sleeper.dm
@@ -93,31 +93,31 @@
switch(action)
if("vr_connect")
if(ishuman(occupant) && occupant.mind)
- occupant << "Transfering to virtual reality..."
+ to_chat(occupant, "Transfering to virtual reality...")
if(vr_human)
vr_human.revert_to_reality(FALSE, FALSE)
occupant.mind.transfer_to(vr_human)
vr_human.real_me = occupant
- vr_human << "Transfer successful! you are now playing as [vr_human] in VR!"
+ to_chat(vr_human, "Transfer successful! you are now playing as [vr_human] in VR!")
SStgui.close_user_uis(vr_human, src)
else
if(allow_creating_vr_humans)
- occupant << "Virtual avatar not found, attempting to create one..."
+ to_chat(occupant, "Virtual avatar not found, attempting to create one...")
var/turf/T = get_vr_spawnpoint()
if(T)
build_virtual_human(occupant, T)
- vr_human << "Transfer successful! you are now playing as [vr_human] in VR!"
+ to_chat(vr_human, "Transfer successful! you are now playing as [vr_human] in VR!")
else
- occupant << "Virtual world misconfigured, aborting transfer"
+ to_chat(occupant, "Virtual world misconfigured, aborting transfer")
else
- occupant << "The virtual world does not support the creation of new virtual avatars, aborting transfer"
+ to_chat(occupant, "The virtual world does not support the creation of new virtual avatars, aborting transfer")
. = TRUE
if("delete_avatar")
if(!occupant || usr == occupant)
if(vr_human)
qdel(vr_human)
else
- usr << "The VR Sleeper's safeties prevent you from doing that."
+ to_chat(usr, "The VR Sleeper's safeties prevent you from doing that.")
. = TRUE
if("toggle_open")
if(state_open)
diff --git a/code/modules/admin/DB_ban/functions.dm b/code/modules/admin/DB_ban/functions.dm
index 17d4f72721b..716794b60fb 100644
--- a/code/modules/admin/DB_ban/functions.dm
+++ b/code/modules/admin/DB_ban/functions.dm
@@ -7,7 +7,7 @@
return
if(!dbcon.Connect())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return
var/bantype_pass = 0
@@ -93,7 +93,7 @@
if(blockselfban)
if(a_ckey == ckey)
- usr << "You cannot apply this ban type on yourself."
+ to_chat(usr, "You cannot apply this ban type on yourself.")
return
var/who
@@ -119,14 +119,14 @@
if(query_check_adminban_amt.NextRow())
var/adm_bans = text2num(query_check_adminban_amt.item[1])
if(adm_bans >= MAX_ADMIN_BANS_PER_ADMIN)
- usr << "You already logged [MAX_ADMIN_BANS_PER_ADMIN] admin ban(s) or more. Do not abuse this function!"
+ to_chat(usr, "You already logged [MAX_ADMIN_BANS_PER_ADMIN] admin ban(s) or more. Do not abuse this function!")
return
var/sql = "INSERT INTO [format_table_name("ban")] (`bantime`,`server_ip`,`server_port`,`bantype`,`reason`,`job`,`duration`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`) VALUES (Now(), INET_ATON('[world.internet_address]'), '[world.port]', '[bantype_str]', '[reason]', '[job]', [(duration)?"[duration]":"0"], Now() + INTERVAL [(duration>0) ? duration : 0] MINUTE, '[ckey]', '[computerid]', INET_ATON('[ip]'), '[a_ckey]', '[a_computerid]', INET_ATON('[a_ip]'), '[who]', '[adminwho]')"
var/DBQuery/query_add_ban = dbcon.NewQuery(sql)
if(!query_add_ban.warn_execute())
return
- usr << "Ban saved to database."
+ to_chat(usr, "Ban saved to database.")
message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1)
if(announceinirc)
@@ -198,17 +198,17 @@
ban_number++;
if(ban_number == 0)
- usr << "Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin."
+ to_chat(usr, "Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")
return
if(ban_number > 1)
- usr << "Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin."
+ to_chat(usr, "Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")
return
if(istext(ban_id))
ban_id = text2num(ban_id)
if(!isnum(ban_id))
- usr << "Database update failed due to a ban ID mismatch. Contact the database admin."
+ to_chat(usr, "Database update failed due to a ban ID mismatch. Contact the database admin.")
return
DB_ban_unban_by_id(ban_id)
@@ -219,7 +219,7 @@
return
if(!isnum(banid) || !istext(param))
- usr << "Cancelled"
+ to_chat(usr, "Cancelled")
return
var/DBQuery/query_edit_ban_get_details = dbcon.NewQuery("SELECT ckey, duration, reason FROM [format_table_name("ban")] WHERE id = [banid]")
@@ -236,7 +236,7 @@
duration = query_edit_ban_get_details.item[2]
reason = query_edit_ban_get_details.item[3]
else
- usr << "Invalid ban id. Contact the database admin"
+ to_chat(usr, "Invalid ban id. Contact the database admin")
return
reason = sanitizeSQL(reason)
@@ -248,7 +248,7 @@
value = input("Insert the new reason for [pckey]'s ban", "New Reason", "[reason]", null) as null|text
value = sanitizeSQL(value)
if(!value)
- usr << "Cancelled"
+ to_chat(usr, "Cancelled")
return
var/DBQuery/query_edit_ban_reason = dbcon.NewQuery("UPDATE [format_table_name("ban")] SET reason = '[value]', edits = CONCAT(edits,'- [eckey] changed ban reason from \\\"[reason]\\\" to \\\"[value]\\\"
') WHERE id = [banid]")
@@ -259,7 +259,7 @@
if(!value)
value = input("Insert the new duration (in minutes) for [pckey]'s ban", "New Duration", "[duration]", null) as null|num
if(!isnum(value) || !value)
- usr << "Cancelled"
+ to_chat(usr, "Cancelled")
return
var/DBQuery/query_edit_ban_duration = dbcon.NewQuery("UPDATE [format_table_name("ban")] SET duration = [value], edits = CONCAT(edits,'- [eckey] changed ban duration from [duration] to [value]
'), expiration_time = DATE_ADD(bantime, INTERVAL [value] MINUTE) WHERE id = [banid]")
@@ -271,10 +271,10 @@
DB_ban_unban_by_id(banid)
return
else
- usr << "Cancelled"
+ to_chat(usr, "Cancelled")
return
else
- usr << "Cancelled"
+ to_chat(usr, "Cancelled")
return
/datum/admins/proc/DB_ban_unban_by_id(id)
@@ -298,11 +298,11 @@
ban_number++;
if(ban_number == 0)
- usr << "Database update failed due to a ban id not being present in the database."
+ to_chat(usr, "Database update failed due to a ban id not being present in the database.")
return
if(ban_number > 1)
- usr << "Database update failed due to multiple bans having the same ID. Contact the database admin."
+ to_chat(usr, "Database update failed due to multiple bans having the same ID. Contact the database admin.")
return
if(!src.owner || !istype(src.owner, /client))
@@ -337,7 +337,7 @@
return
if(!dbcon.Connect())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
var/output = ""
diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm
index 9e13aa885b9..cb17cf6f92f 100644
--- a/code/modules/admin/IsBanned.dm
+++ b/code/modules/admin/IsBanned.dm
@@ -181,7 +181,7 @@
return null
if (C) //user is already connected!.
- C << "You are about to get disconnected for matching a sticky ban after you connected. If this turns out to be the ban evasion detection system going haywire, we will automatically detect this and revert the matches. if you feel that this is the case, please wait EXACTLY 6 seconds then reconnect using file -> reconnect to see if the match was reversed."
+ to_chat(C, "You are about to get disconnected for matching a sticky ban after you connected. If this turns out to be the ban evasion detection system going haywire, we will automatically detect this and revert the matches. if you feel that this is the case, please wait EXACTLY 6 seconds then reconnect using file -> reconnect to see if the match was reversed.")
var/desc = "\nReason:(StickyBan) You, or another user of this computer or connection ([bannedckey]) is banned from playing here. The ban reason is:\n[ban["message"]]\nThis ban was applied by [ban["admin"]]\nThis is a BanEvasion Detection System ban, if you think this ban is a mistake, please wait EXACTLY 6 seconds, then try again before filing an appeal.\n"
. = list("reason" = "Stickyban", "desc" = desc)
diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm
index 9093287e703..0af6ae210e0 100644
--- a/code/modules/admin/NewBan.dm
+++ b/code/modules/admin/NewBan.dm
@@ -103,7 +103,7 @@ var/savefile/Banlist
Banlist.cd = "/base"
if ( Banlist.dir.Find("[ckey][computerid]") )
- usr << text("Ban already exists.")
+ to_chat(usr, text("Ban already exists."))
return 0
else
Banlist.dir.Add("[ckey][computerid]")
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 2f58f0c9331..ba146f90861 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -4,11 +4,11 @@ var/global/BSACooldown = 0
////////////////////////////////
/proc/message_admins(msg)
msg = "ADMIN LOG: [msg]"
- admins << msg
+ to_chat(admins, msg)
/proc/relay_msg_admins(msg)
msg = "RELAY: [msg]"
- admins << msg
+ to_chat(admins, msg)
///////////////////////////////////////////////////////////////////////////////////////////////Panels
@@ -25,7 +25,7 @@ var/global/BSACooldown = 0
log_game("[key_name_admin(usr)] checked the player panel while in game.")
if(!M)
- usr << "You seem to be selecting a mob that doesn't exist anymore."
+ to_chat(usr, "You seem to be selecting a mob that doesn't exist anymore.")
return
var/body = "Options for [M.key]"
@@ -178,7 +178,7 @@ var/global/BSACooldown = 0
if (!istype(src,/datum/admins))
src = usr.client.holder
if (!istype(src,/datum/admins))
- usr << "Error: you are not an admin!"
+ to_chat(usr, "Error: you are not an admin!")
return
var/dat
dat = text("Admin NewscasterAdmin Newscaster Unit
")
@@ -374,8 +374,8 @@ var/global/BSACooldown = 0
else
dat+="I'm sorry to break your immersion. This shit's bugged. Report this bug to Agouri, polyxenitopalidou@gmail.com"
- //world << "Channelname: [src.admincaster_feed_channel.channel_name] [src.admincaster_feed_channel.author]"
- //world << "Msg: [src.admincaster_feed_message.author] [src.admincaster_feed_message.body]"
+ //to_chat(world, "Channelname: [src.admincaster_feed_channel.channel_name] [src.admincaster_feed_channel.author]")
+ //to_chat(world, "Msg: [src.admincaster_feed_message.author] [src.admincaster_feed_message.body]")
usr << browse(dat, "window=admincaster_main;size=400x600")
onclose(usr, "admincaster_main")
@@ -449,7 +449,7 @@ var/global/BSACooldown = 0
if(message)
if(!check_rights(R_SERVER,0))
message = adminscrub(message,500)
- world << "[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:\n \t [message]"
+ to_chat(world, "[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:\n \t [message]")
log_admin("Announce: [key_name(usr)] : [message]")
feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -471,7 +471,7 @@ var/global/BSACooldown = 0
else
message_admins("[key_name(usr)] set the admin notice.")
log_admin("[key_name(usr)] set the admin notice:\n[new_admin_notice]")
- world << "Admin Notice:\n \t [new_admin_notice]"
+ to_chat(world, "Admin Notice:\n \t [new_admin_notice]")
feedback_add_details("admin_verb","SAN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
admin_notice = new_admin_notice
return
@@ -520,7 +520,7 @@ var/global/BSACooldown = 0
feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return 1
else
- usr << "Error: Start Now: Game has already started."
+ to_chat(usr, "Error: Start Now: Game has already started.")
return 0
@@ -530,9 +530,9 @@ var/global/BSACooldown = 0
set name="Toggle Entering"
enter_allowed = !( enter_allowed )
if (!( enter_allowed ))
- world << "New players may no longer enter the game."
+ to_chat(world, "New players may no longer enter the game.")
else
- world << "New players may now enter the game."
+ to_chat(world, "New players may now enter the game.")
log_admin("[key_name(usr)] toggled new player game entering.")
message_admins("[key_name_admin(usr)] toggled new player game entering.")
world.update_status()
@@ -544,9 +544,9 @@ var/global/BSACooldown = 0
set name="Toggle AI"
config.allow_ai = !( config.allow_ai )
if (!( config.allow_ai ))
- world << "The AI job is no longer chooseable."
+ to_chat(world, "The AI job is no longer chooseable.")
else
- world << "The AI job is chooseable now."
+ to_chat(world, "The AI job is chooseable now.")
log_admin("[key_name(usr)] toggled AI allowed.")
world.update_status()
feedback_add_details("admin_verb","TAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -557,9 +557,9 @@ var/global/BSACooldown = 0
set name="Toggle Respawn"
abandon_allowed = !( abandon_allowed )
if (abandon_allowed)
- world << "You may now respawn."
+ to_chat(world, "You may now respawn.")
else
- world << "You may no longer respawn :("
+ to_chat(world, "You may no longer respawn :(")
message_admins("[key_name_admin(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].")
log_admin("[key_name(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].")
world.update_status()
@@ -576,10 +576,10 @@ var/global/BSACooldown = 0
if(newtime)
ticker.SetTimeLeft(newtime * 10)
if(newtime < 0)
- world << "The game start has been delayed."
+ to_chat(world, "The game start has been delayed.")
log_admin("[key_name(usr)] delayed the round start.")
else
- world << "The game will start in [newtime] seconds."
+ to_chat(world, "The game will start in [newtime] seconds.")
world << 'sound/ai/attention.ogg'
log_admin("[key_name(usr)] set the pre-game delay to [newtime] seconds.")
feedback_add_details("admin_verb","DELAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -643,10 +643,10 @@ var/global/BSACooldown = 0
set name = "Show Traitor Panel"
if(!istype(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
if(!M.mind)
- usr << "This mob has no mind!"
+ to_chat(usr, "This mob has no mind!")
return
M.mind.edit_memory()
@@ -659,9 +659,9 @@ var/global/BSACooldown = 0
set name="Toggle tinted welding helmes"
tinted_weldhelh = !( tinted_weldhelh )
if (tinted_weldhelh)
- world << "The tinted_weldhelh has been enabled!"
+ to_chat(world, "The tinted_weldhelh has been enabled!")
else
- world << "The tinted_weldhelh has been disabled!"
+ to_chat(world, "The tinted_weldhelh has been disabled!")
log_admin("[key_name(usr)] toggled tinted_weldhelh.")
message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.")
feedback_add_details("admin_verb","TTWH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -672,9 +672,9 @@ var/global/BSACooldown = 0
set name="Toggle guests"
guests_allowed = !( guests_allowed )
if (!( guests_allowed ))
- world << "Guests may no longer enter the game."
+ to_chat(world, "Guests may no longer enter the game.")
else
- world << "Guests may now enter the game."
+ to_chat(world, "Guests may now enter the game.")
log_admin("[key_name(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.")
message_admins("[key_name_admin(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.")
feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -684,35 +684,35 @@ var/global/BSACooldown = 0
for(var/mob/living/silicon/S in mob_list)
ai_number++
if(isAI(S))
- usr << "AI [key_name(S, usr)]'s laws:"
+ to_chat(usr, "AI [key_name(S, usr)]'s laws:")
else if(iscyborg(S))
var/mob/living/silicon/robot/R = S
- usr << "CYBORG [key_name(S, usr)] [R.connected_ai?"(Slaved to: [R.connected_ai])":"(Independant)"]: laws:"
+ to_chat(usr, "CYBORG [key_name(S, usr)] [R.connected_ai?"(Slaved to: [R.connected_ai])":"(Independant)"]: laws:")
else if (ispAI(S))
- usr << "pAI [key_name(S, usr)]'s laws:"
+ to_chat(usr, "pAI [key_name(S, usr)]'s laws:")
else
- usr << "SOMETHING SILICON [key_name(S, usr)]'s laws:"
+ to_chat(usr, "SOMETHING SILICON [key_name(S, usr)]'s laws:")
if (S.laws == null)
- usr << "[key_name(S, usr)]'s laws are null?? Contact a coder."
+ to_chat(usr, "[key_name(S, usr)]'s laws are null?? Contact a coder.")
else
S.laws.show_laws(usr)
if(!ai_number)
- usr << "No AIs located" //Just so you know the thing is actually working and not just ignoring you.
+ to_chat(usr, "No AIs located" )
/datum/admins/proc/output_all_devil_info()
var/devil_number = 0
for(var/D in ticker.mode.devils)
devil_number++
- usr << "Devil #[devil_number]:
" + ticker.mode.printdevilinfo(D)
+ to_chat(usr, "Devil #[devil_number]:
" + ticker.mode.printdevilinfo(D))
if(!devil_number)
- usr << "No Devils located" //Just so you know the thing is actually working and not just ignoring you.
+ to_chat(usr, "No Devils located" )
/datum/admins/proc/output_devil_info(mob/living/M)
if(istype(M) && M.mind && M.mind.devilinfo)
- usr << ticker.mode.printdevilinfo(M.mind)
+ to_chat(usr, ticker.mode.printdevilinfo(M.mind))
else
- usr << "[M] is not a devil."
+ to_chat(usr, "[M] is not a devil.")
/datum/admins/proc/manage_free_slots()
if(!check_rights())
@@ -774,7 +774,7 @@ var/global/BSACooldown = 0
if(kick_only_afk && !C.is_afk()) //Ignore clients who are not afk
continue
if(message)
- C << message
+ to_chat(C, message)
kicked_client_names.Add("[C.ckey]")
qdel(C)
return kicked_client_names
diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm
index d8b1faf43e2..a21881c6fea 100644
--- a/code/modules/admin/admin_investigate.dm
+++ b/code/modules/admin/admin_investigate.dm
@@ -22,7 +22,7 @@
var/F = investigate_subject2file(subject)
if(!F)
return
- F << "[time_stamp()] \ref[src] ([x],[y],[z]) || [src] [message]
"
+ to_chat(F, "[time_stamp()] \ref[src] ([x],[y],[z]) || [src] [message]
")
//ADMINVERBS
/client/proc/investigate_show( subject in list("hrefs","notes, memos, watchlist","singulo","wires","telesci", "gravity", "records", "cargo", "supermatter", "atmos", "experimentor", "kudzu") )
@@ -34,17 +34,17 @@
if("singulo", "wires", "telesci", "gravity", "records", "cargo", "supermatter", "atmos", "kudzu") //general one-round-only stuff
var/F = investigate_subject2file(subject)
if(!F)
- src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed."
+ to_chat(src, "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.")
return
src << browse(F,"window=investigate[subject];size=800x300")
if("hrefs") //persistent logs and stuff
if(href_logfile)
src << browse(href_logfile,"window=investigate[subject];size=800x300")
else if(!config.log_hrefs)
- src << "Href logging is off and no logfile was found."
+ to_chat(src, "Href logging is off and no logfile was found.")
return
else
- src << "No href logfile was found."
+ to_chat(src, "No href logfile was found.")
return
if("notes, memos, watchlist")
browse_messages()
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index 0f9f440089b..dbcbb04916a 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -267,14 +267,14 @@ var/list/admin_ranks = list() //list of all admin_rank datums
if(!new_ckey)
return
if(new_ckey in admin_datums)
- usr << "Error: Topic 'editrights': [new_ckey] is already an admin"
+ to_chat(usr, "Error: Topic 'editrights': [new_ckey] is already an admin")
return
adm_ckey = new_ckey
task = "rank"
else
adm_ckey = ckey(href_list["ckey"])
if(!adm_ckey)
- usr << "Error: Topic 'editrights': No valid ckey"
+ to_chat(usr, "Error: Topic 'editrights': No valid ckey")
return
var/datum/admins/D = admin_datums[adm_ckey]
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 6ac38ff0b1d..d214ddd4a61 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -321,7 +321,7 @@ var/list/admin_verbs_hideable = list(
verbs.Remove(/client/proc/hide_most_verbs, admin_verbs_hideable)
verbs += /client/proc/show_verbs
- src << "Most of your adminverbs have been hidden."
+ to_chat(src, "Most of your adminverbs have been hidden.")
feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -332,7 +332,7 @@ var/list/admin_verbs_hideable = list(
remove_admin_verbs()
verbs += /client/proc/show_verbs
- src << "Almost all of your adminverbs have been hidden."
+ to_chat(src, "Almost all of your adminverbs have been hidden.")
feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -343,7 +343,7 @@ var/list/admin_verbs_hideable = list(
verbs -= /client/proc/show_verbs
add_admin_verbs()
- src << "All of your adminverbs are now visible."
+ to_chat(src, "All of your adminverbs are now visible.")
feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -366,7 +366,7 @@ var/list/admin_verbs_hideable = list(
ghost.reenter_corpse()
feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else if(isnewplayer(mob))
- src << "Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first."
+ to_chat(src, "Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.")
else
//ghostize
log_admin("[key_name(usr)] admin ghosted.")
@@ -385,10 +385,10 @@ var/list/admin_verbs_hideable = list(
if(holder && mob)
if(mob.invisibility == INVISIBILITY_OBSERVER)
mob.invisibility = initial(mob.invisibility)
- mob << "Invisimin off. Invisibility reset."
+ to_chat(mob, "Invisimin off. Invisibility reset.")
else
mob.invisibility = INVISIBILITY_OBSERVER
- mob << "Invisimin on. You are now as invisible as a ghost."
+ to_chat(mob, "Invisimin on. You are now as invisible as a ghost.")
/client/proc/player_panel_new()
set name = "Player Panel"
@@ -546,7 +546,7 @@ var/list/admin_verbs_hideable = list(
var/ex_power = input("Explosive Power:") as null|num
var/range = round((2 * ex_power)**DYN_EX_SCALE)
- usr << "Estimated Explosive Range: (Devestation: [round(range*0.25)], Heavy: [round(range*0.5)], Light: [round(range)])"
+ to_chat(usr, "Estimated Explosive Range: (Devestation: [round(range*0.25)], Heavy: [round(range*0.5)], Light: [round(range)])")
/client/proc/get_dynex_power()
set category = "Debug"
@@ -555,7 +555,7 @@ var/list/admin_verbs_hideable = list(
var/ex_range = input("Light Explosion Range:") as null|num
var/power = (0.5 * ex_range)**(1/DYN_EX_SCALE)
- usr << "Estimated Explosive Power: [power]"
+ to_chat(usr, "Estimated Explosive Power: [power]")
/client/proc/set_dynex_scale()
set category = "Debug"
@@ -646,10 +646,10 @@ var/list/admin_verbs_hideable = list(
if(config)
if(config.log_hrefs)
config.log_hrefs = 0
- src << "Stopped logging hrefs"
+ to_chat(src, "Stopped logging hrefs")
else
config.log_hrefs = 1
- src << "Started logging hrefs"
+ to_chat(src, "Started logging hrefs")
/client/proc/check_ai_laws()
set name = "Check AI Laws"
@@ -672,7 +672,7 @@ var/list/admin_verbs_hideable = list(
admin_datums -= ckey
verbs += /client/proc/readmin
- src << "You are now a normal player."
+ to_chat(src, "You are now a normal player.")
log_admin("[src] deadmined themself.")
message_admins("[src] deadmined themself.")
feedback_add_details("admin_verb","DAS")
@@ -690,7 +690,7 @@ var/list/admin_verbs_hideable = list(
deadmins -= ckey
verbs -= /client/proc/readmin
- src << "You are now an admin."
+ to_chat(src, "You are now an admin.")
message_admins("[src] re-adminned themselves.")
log_admin("[src] re-adminned themselves.")
feedback_add_details("admin_verb","RAS")
diff --git a/code/modules/admin/create_poll.dm b/code/modules/admin/create_poll.dm
index 336a495acd9..8f71cb20df0 100644
--- a/code/modules/admin/create_poll.dm
+++ b/code/modules/admin/create_poll.dm
@@ -4,7 +4,7 @@
if(!check_rights(R_PERMISSIONS))
return
if(!dbcon.IsConnected())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return
var/returned = create_poll_function()
if(returned)
@@ -22,7 +22,7 @@
log_admin("[key_name(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"] - Question: [question]")
message_admins("[key_name_admin(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"]
Question: [question]")
else
- src << "Poll question created without any options, poll will be deleted."
+ to_chat(src, "Poll question created without any options, poll will be deleted.")
var/DBQuery/query_del_poll = dbcon.NewQuery("DELETE FROM [format_table_name("poll_question")] WHERE id = [returned]")
if(!query_del_poll.warn_execute())
return
@@ -57,7 +57,7 @@
if(query_validate_time.NextRow())
endtime = query_validate_time.item[1]
if(!endtime)
- src << "Datetime entered is invalid."
+ to_chat(src, "Datetime entered is invalid.")
return
var/DBQuery/query_time_later = dbcon.NewQuery("SELECT TIMESTAMP('[endtime]') < NOW()")
if(!query_time_later.warn_execute())
@@ -65,7 +65,7 @@
if(query_time_later.NextRow())
var/checklate = text2num(query_time_later.item[1])
if(checklate)
- src << "Datetime entered is not later than current server time."
+ to_chat(src, "Datetime entered is not later than current server time.")
return
var/adminonly
switch(alert("Admin only poll?",,"Yes","No","Cancel"))
@@ -129,7 +129,7 @@
if(!maxval)
return pollid
if(minval >= maxval)
- src << "Minimum rating value can't be more than maximum rating value"
+ to_chat(src, "Minimum rating value can't be more than maximum rating value")
return pollid
descmin = input("Optional: Set description for minimum rating","Minimum rating description") as message|null
if(descmin)
diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm
index 0405adb1cd7..5ca3e50c57a 100644
--- a/code/modules/admin/fun_balloon.dm
+++ b/code/modules/admin/fun_balloon.dm
@@ -56,7 +56,7 @@
var/mob/dead/observer/ghost = pick_n_take(candidates)
var/mob/living/body = pick_n_take(bodies)
- body << "Your mob has been taken over by a ghost!"
+ to_chat(body, "Your mob has been taken over by a ghost!")
message_admins("[key_name_admin(ghost)] has taken control of ([key_name_admin(body)])")
body.ghostize(0)
body.key = ghost.key
@@ -81,7 +81,7 @@
var/turf/T = find_safe_turf()
new /obj/effect/overlay/temp/gravpush(get_turf(M))
M.forceMove(T)
- M << "Pop!"
+ to_chat(M, "Pop!")
/obj/effect/station_crash
name = "station crash"
@@ -133,16 +133,16 @@
else
var/mob/living/L = M
if(L.pulling && istype(L.pulling, /obj/item/bodypart/head))
- L << "Your offering is accepted. You may pass."
+ to_chat(L, "Your offering is accepted. You may pass.")
qdel(L.pulling)
var/turf/LA = pick(warp_points)
L.forceMove(LA)
L.hallucination = 0
- L << "The battle is won. Your bloodlust subsides."
+ to_chat(L, "The battle is won. Your bloodlust subsides.")
for(var/obj/item/weapon/twohanded/required/chainsaw/doomslayer/chainsaw in L)
qdel(chainsaw)
else
- L << "You are not yet worthy of passing. Drag a severed head to the barrier to be allowed entry to the hall of champions."
+ to_chat(L, "You are not yet worthy of passing. Drag a severed head to the barrier to be allowed entry to the hall of champions.")
/obj/effect/landmark/shuttle_arena_safe
name = "hall of champions"
@@ -167,7 +167,7 @@
var/obj/effect/landmark/LA = pick(warp_points)
M.forceMove(get_turf(LA))
- M << "You're trapped in a deadly arena! To escape, you'll need to drag a severed head to the escape portals."
+ to_chat(M, "You're trapped in a deadly arena! To escape, you'll need to drag a severed head to the escape portals.")
spawn()
var/obj/effect/mine/pickup/bloodbath/B = new(M)
B.mineEffect(M)
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index d40aa83e435..33a0f4bc323 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -67,7 +67,7 @@ generally it would be used like so:
/proc/admin_proc()
if(!check_rights(R_ADMIN)) return
- world << "you have enough rights!"
+ to_chat(world, "you have enough rights!")
NOTE: it checks usr! not src! So if you're checking somebody's rank in a proc which they did not call
you will have to do something like if(client.rights & R_ADMIN) yourself.
@@ -78,7 +78,7 @@ you will have to do something like if(client.rights & R_ADMIN) yourself.
return 1
else
if(show_msg)
- usr << "Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")]."
+ to_chat(usr, "Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].")
return 0
//probably a bit iffy - will hopefully figure out a better solution
diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm
index 939fd13f641..fb0f8a3ffa4 100644
--- a/code/modules/admin/permissionverbs/permissionedit.dm
+++ b/code/modules/admin/permissionverbs/permissionedit.dm
@@ -61,7 +61,7 @@
return
if(!dbcon.Connect())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
if(!adm_ckey || !new_rank)
@@ -92,7 +92,7 @@
var/DBQuery/query_add_admin_log = dbcon.NewQuery("INSERT INTO `[format_table_name("admin_log")]` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');")
if(!query_add_admin_log.warn_execute())
return
- usr << "New admin added."
+ to_chat(usr, "New admin added.")
else
if(!isnull(admin_id) && isnum(admin_id))
var/DBQuery/query_change_admin = dbcon.NewQuery("UPDATE `[format_table_name("admin")]` SET rank = '[new_rank]' WHERE id = [admin_id]")
@@ -101,7 +101,7 @@
var/DBQuery/query_change_admin_log = dbcon.NewQuery("INSERT INTO `[format_table_name("admin_log")]` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Edited the rank of [adm_ckey] to [new_rank]');")
if(!query_change_admin_log.warn_execute())
return
- usr << "Admin rank changed."
+ to_chat(usr, "Admin rank changed.")
/datum/admins/proc/log_admin_permission_modification(adm_ckey, new_permission)
@@ -113,7 +113,7 @@
return
if(!dbcon.Connect())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
if(!adm_ckey || !istext(adm_ckey) || !isnum(new_permission))
diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm
index 91812306ec5..9fa8f8fd85c 100644
--- a/code/modules/admin/secrets.dm
+++ b/code/modules/admin/secrets.dm
@@ -428,7 +428,7 @@
H.equip_to_slot_or_del(I, slot_w_uniform)
I.flags |= NODROP
else
- H << "You're not kawaii enough for this."
+ to_chat(H, "You're not kawaii enough for this.")
if("whiteout")
if(!check_rights(R_FUN))
@@ -464,7 +464,7 @@
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","RET")
for(var/mob/living/carbon/human/H in player_list)
- H << "You suddenly feel stupid."
+ to_chat(H, "You suddenly feel stupid.")
H.setBrainLoss(60)
message_admins("[key_name_admin(usr)] made everybody retarded")
@@ -614,4 +614,4 @@
if (usr)
log_admin("[key_name(usr)] used secret [item]")
if (ok)
- world << text("A secret has been activated by []!", usr.key)
+ to_chat(world, text("A secret has been activated by []!", usr.key))
diff --git a/code/modules/admin/sql_message_system.dm b/code/modules/admin/sql_message_system.dm
index 23139ce67b2..5540308406e 100644
--- a/code/modules/admin/sql_message_system.dm
+++ b/code/modules/admin/sql_message_system.dm
@@ -1,6 +1,6 @@
/proc/create_message(type, target_ckey, admin_ckey, text, timestamp, server, secret, logged = 1, browse)
if(!dbcon.IsConnected())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
if(!type)
return
@@ -57,7 +57,7 @@
/proc/delete_message(message_id, logged = 1, browse)
if(!dbcon.IsConnected())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
message_id = text2num(message_id)
if(!message_id)
@@ -85,7 +85,7 @@
/proc/edit_message(message_id, browse)
if(!dbcon.IsConnected())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
message_id = text2num(message_id)
if(!message_id)
@@ -116,7 +116,7 @@
/proc/toggle_message_secrecy(message_id)
if(!dbcon.IsConnected())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
message_id = text2num(message_id)
if(!message_id)
@@ -140,7 +140,7 @@
/proc/browse_messages(type, target_ckey, index, linkless = 0, filter)
if(!dbcon.IsConnected())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
var/output
var/ruler = "
"
@@ -278,7 +278,7 @@
proc/get_message_output(type, target_ckey)
if(!dbcon.IsConnected())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
if(!type)
return
@@ -346,7 +346,7 @@ proc/get_message_output(type, target_ckey)
/*alternatively this proc can be run once to pass through every note and attempt to convert it before deleting the file, if done then AUTOCONVERT_NOTES should be turned off
this proc can take several minutes to execute fully if converting and cause DD to hang if converting a lot of notes; it's not advised to do so while a server is live
/proc/mass_convert_notes()
- world << "Beginning mass note conversion"
+ to_chat(world, "Beginning mass note conversion")
var/savefile/notesfile = new(NOTESFILE)
if(!notesfile)
log_game("Error: Cannot access [NOTESFILE]")
@@ -354,7 +354,7 @@ this proc can take several minutes to execute fully if converting and cause DD t
notesfile.cd = "/"
for(var/ckey in notesfile.dir)
convert_notes_sql(ckey)
- world << "Deleting NOTESFILE"
+ to_chat(world, "Deleting NOTESFILE")
fdel(NOTESFILE)
- world << "Finished mass note conversion, remember to turn off AUTOCONVERT_NOTES"*/
+ to_chat(world, "Finished mass note conversion, remember to turn off AUTOCONVERT_NOTES")*/
#undef NOTESFILE
diff --git a/code/modules/admin/stickyban.dm b/code/modules/admin/stickyban.dm
index ae3f59e9282..fc64eb2cf89 100644
--- a/code/modules/admin/stickyban.dm
+++ b/code/modules/admin/stickyban.dm
@@ -21,7 +21,7 @@
ban["ckey"] = ckey
if (get_stickyban_from_ckey(ckey))
- usr << "Error: Can not add a stickyban: User already has a current sticky ban"
+ to_chat(usr, "Error: Can not add a stickyban: User already has a current sticky ban")
if (data["reason"])
ban["message"] = data["reason"]
@@ -43,12 +43,12 @@
var/ban = get_stickyban_from_ckey(ckey)
if (!ban)
- usr << "Error: No sticky ban for [ckey] found!"
+ to_chat(usr, "Error: No sticky ban for [ckey] found!")
return
if (alert("Are you sure you want to remove the sticky ban on [ckey]?","Are you sure","Yes","No") == "No")
return
if (!get_stickyban_from_ckey(ckey))
- usr << "Error: The ban disappeared."
+ to_chat(usr, "Error: The ban disappeared.")
return
world.SetConfig("ban",ckey, null)
@@ -64,7 +64,7 @@
var/alt = ckey(data["alt"])
var/ban = get_stickyban_from_ckey(ckey)
if (!ban)
- usr << "Error: No sticky ban for [ckey] found!"
+ to_chat(usr, "Error: No sticky ban for [ckey] found!")
return
var/found = 0
@@ -75,7 +75,7 @@
break
if (!found)
- usr << "Error: [alt] is not linked to [ckey]'s sticky ban!"
+ to_chat(usr, "Error: [alt] is not linked to [ckey]'s sticky ban!")
return
if (alert("Are you sure you want to disassociate [alt] from [ckey]'s sticky ban? \nNote: Nothing stops byond from re-linking them","Are you sure","Yes","No") == "No")
@@ -84,7 +84,7 @@
//we have to do this again incase something changes
ban = get_stickyban_from_ckey(ckey)
if (!ban)
- usr << "Error: The ban disappeared."
+ to_chat(usr, "Error: The ban disappeared.")
return
found = 0
@@ -95,7 +95,7 @@
break
if (!found)
- usr << "Error: [alt] link to [ckey]'s sticky ban disappeared."
+ to_chat(usr, "Error: [alt] link to [ckey]'s sticky ban disappeared.")
return
world.SetConfig("ban",ckey,list2stickyban(ban))
@@ -109,7 +109,7 @@
var/ckey = data["ckey"]
var/ban = get_stickyban_from_ckey(ckey)
if (!ban)
- usr << "Error: No sticky ban for [ckey] found!"
+ to_chat(usr, "Error: No sticky ban for [ckey] found!")
return
var/oldreason = ban["message"]
var/reason = input(usr,"Reason","Reason","[ban["message"]]") as text|null
@@ -118,7 +118,7 @@
//we have to do this again incase something changed while we waited for input
ban = get_stickyban_from_ckey(ckey)
if (!ban)
- usr << "Error: The ban disappeared."
+ to_chat(usr, "Error: The ban disappeared.")
return
ban["message"] = "[reason]"
@@ -135,11 +135,11 @@
return
var/ban = get_stickyban_from_ckey(ckey)
if (!ban)
- usr << "Error: No sticky ban for [ckey] found!"
+ to_chat(usr, "Error: No sticky ban for [ckey] found!")
return
var/cached_ban = SSstickyban.cache[ckey]
if (!cached_ban)
- usr << "Error: No cached sticky ban for [ckey] found!"
+ to_chat(usr, "Error: No cached sticky ban for [ckey] found!")
world.SetConfig("ban",ckey,null)
log_admin_private("[key_name(usr)] has reverted [ckey]'s sticky ban to it's state at round start.")
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index fee47a17856..0bc2f90a697 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -7,7 +7,7 @@
return
if(href_list["rejectadminhelp"])
if(world.time && (spamcooldown > world.time))
- usr << "Please wait [max(round((spamcooldown - world.time)*0.1, 0.1), 0)] seconds."
+ to_chat(usr, "Please wait [max(round((spamcooldown - world.time)*0.1, 0.1), 0)] seconds.")
return
if(!check_rights(R_ADMIN))
return
@@ -19,9 +19,9 @@
C << 'sound/effects/adminhelp.ogg'
- C << "- AdminHelp Rejected! -"
- C << "Your admin help was rejected. The adminhelp verb has been returned to you so that you may try again."
- C << "Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting."
+ to_chat(C, "- AdminHelp Rejected! -")
+ to_chat(C, "Your admin help was rejected. The adminhelp verb has been returned to you so that you may try again.")
+ to_chat(C, "Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting.")
message_admins("[key_name_admin(usr)] Rejected [C.key]'s admin help. [C.key]'s Adminhelp verb has been returned to them.")
log_admin_private("[key_name(usr)] Rejected [C.key]'s admin help.")
@@ -29,7 +29,7 @@
else if(href_list["icissue"])
if(world.time && spamcooldown > world.time)
- usr << "Please wait [max(round((spamcooldown - world.time)*0.1, 0.1), 0)] seconds."
+ to_chat(usr, "Please wait [max(round((spamcooldown - world.time)*0.1, 0.1), 0)] seconds.")
return
var/client/C = locate(href_list["icissue"]) in clients
if(!C)
@@ -39,7 +39,7 @@
msg += "Losing is part of the game!
"
msg += "Your character will frequently die, sometimes without even a possibility of avoiding it. Events will often be out of your control. No matter how good or prepared you are, sometimes you just lose."
- C << msg
+ to_chat(C, msg)
message_admins("[key_name_admin(usr)] marked [C.key]'s admin help as an IC issue.")
log_admin_private("[key_name(usr)] marked [C.key]'s admin help as an IC issue.")
@@ -50,7 +50,7 @@
else if(href_list["makeAntag"])
if (!ticker.mode)
- usr << "Not until the round starts!"
+ to_chat(usr, "Not until the round starts!")
return
switch(href_list["makeAntag"])
if("traitors")
@@ -210,33 +210,33 @@
switch(bantype)
if(BANTYPE_PERMA)
if(!banckey || !banreason)
- usr << "Not enough parameters (Requires ckey and reason)."
+ to_chat(usr, "Not enough parameters (Requires ckey and reason).")
return
banduration = null
banjob = null
if(BANTYPE_TEMP)
if(!banckey || !banreason || !banduration)
- usr << "Not enough parameters (Requires ckey, reason and duration)."
+ to_chat(usr, "Not enough parameters (Requires ckey, reason and duration).")
return
banjob = null
if(BANTYPE_JOB_PERMA)
if(!banckey || !banreason || !banjob)
- usr << "Not enough parameters (Requires ckey, reason and job)."
+ to_chat(usr, "Not enough parameters (Requires ckey, reason and job).")
return
banduration = null
if(BANTYPE_JOB_TEMP)
if(!banckey || !banreason || !banjob || !banduration)
- usr << "Not enough parameters (Requires ckey, reason and job)."
+ to_chat(usr, "Not enough parameters (Requires ckey, reason and job).")
return
if(BANTYPE_ADMIN_PERMA)
if(!banckey || !banreason)
- usr << "Not enough parameters (Requires ckey and reason)."
+ to_chat(usr, "Not enough parameters (Requires ckey and reason).")
return
banduration = null
banjob = null
if(BANTYPE_ADMIN_TEMP)
if(!banckey || !banreason || !banduration)
- usr << "Not enough parameters (Requires ckey, reason and duration)."
+ to_chat(usr, "Not enough parameters (Requires ckey, reason and duration).")
return
banjob = null
@@ -259,7 +259,7 @@
message_admins("Ban process: A mob matching [playermob.ckey] was found at location [playermob.x], [playermob.y], [playermob.z]. Custom ip and computer id fields replaced with the ip and computer id from the located mob.")
if(!DB_ban_record(bantype, playermob, banduration, banreason, banjob, banckey, banip, bancid ))
- usr << "Failed to apply ban."
+ to_chat(usr, "Failed to apply ban.")
return
create_message("note", banckey, null, banreason, null, null, 0, 0)
@@ -396,7 +396,7 @@
var/mob/M = locate(href_list["mob"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
var/delmob = 0
@@ -534,10 +534,10 @@
return
var/mob/M = locate(href_list["appearanceban"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
if(!M.ckey) //sanity
- usr << "This mob has no ckey"
+ to_chat(usr, "This mob has no ckey")
return
@@ -551,7 +551,7 @@
if(M.client)
jobban_buildcache(M.client)
message_admins("[key_name_admin(usr)] removed [key_name_admin(M)]'s appearance ban.")
- M << "[usr.client.ckey] has removed your appearance ban."
+ to_chat(M, "[usr.client.ckey] has removed your appearance ban.")
else switch(alert("Appearance ban [M.ckey]?",,"Yes","No", "Cancel"))
if("Yes")
@@ -559,7 +559,7 @@
if(!reason)
return
if(!DB_ban_record(BANTYPE_JOB_PERMA, M, -1, reason, "appearance"))
- usr << "Failed to apply ban."
+ to_chat(usr, "Failed to apply ban.")
return
if(M.client)
jobban_buildcache(M.client)
@@ -568,24 +568,24 @@
feedback_inc("ban_appearance",1)
create_message("note", M.ckey, null, "Appearance banned - [reason]", null, null, 0, 0)
message_admins("[key_name_admin(usr)] appearance banned [key_name_admin(M)].")
- M << "You have been appearance banned by [usr.client.ckey]."
- M << "The reason is: [reason]"
- M << "Appearance ban can be lifted only upon request."
+ to_chat(M, "You have been appearance banned by [usr.client.ckey].")
+ to_chat(M, "The reason is: [reason]")
+ to_chat(M, "Appearance ban can be lifted only upon request.")
if(config.banappeals)
- M << "To try to resolve this matter head to [config.banappeals]"
+ to_chat(M, "To try to resolve this matter head to [config.banappeals]")
else
- M << "No ban appeals URL has been set."
+ to_chat(M, "No ban appeals URL has been set.")
if("No")
return
else if(href_list["jobban2"])
var/mob/M = locate(href_list["jobban2"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
if(!M.ckey) //sanity
- usr << "This mob has no ckey."
+ to_chat(usr, "This mob has no ckey.")
return
var/dat = "Job-Ban Panel: [key_name(M)]"
@@ -871,10 +871,10 @@
return
var/mob/M = locate(href_list["jobban4"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob"
+ to_chat(usr, "This can only be used on instances of type /mob")
return
if(!SSjob)
- usr << "Jobs subsystem not initialized yet!"
+ to_chat(usr, "Jobs subsystem not initialized yet!")
return
//get jobs for department if specified, otherwise just return the one job in a list.
var/list/joblist = list()
@@ -944,7 +944,7 @@
var/msg
for(var/job in notbannedlist)
if(!DB_ban_record(BANTYPE_JOB_TEMP, M, mins, reason, job))
- usr << "Failed to apply ban."
+ to_chat(usr, "Failed to apply ban.")
return
if(M.client)
jobban_buildcache(M.client)
@@ -958,9 +958,9 @@
msg += ", [job]"
create_message("note", M.ckey, null, "Banned from [msg] - [reason]", null, null, 0, 0)
message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes.")
- M << "You have been [(msg == ("ooc" || "appearance")) ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]."
- M << "The reason is: [reason]"
- M << "This jobban will be lifted in [mins] minutes."
+ to_chat(M, "You have been [(msg == ("ooc" || "appearance")) ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg].")
+ to_chat(M, "The reason is: [reason]")
+ to_chat(M, "This jobban will be lifted in [mins] minutes.")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("No")
@@ -969,7 +969,7 @@
var/msg
for(var/job in notbannedlist)
if(!DB_ban_record(BANTYPE_JOB_PERMA, M, -1, reason, job))
- usr << "Failed to apply ban."
+ to_chat(usr, "Failed to apply ban.")
return
if(M.client)
jobban_buildcache(M.client)
@@ -983,9 +983,9 @@
msg += ", [job]"
create_message("note", M.ckey, null, "Banned from [msg] - [reason]", null, null, 0, 0)
message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg].")
- M << "You have been [(msg == ("ooc" || "appearance")) ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg]."
- M << "The reason is: [reason]"
- M << "Jobban can be lifted only upon request."
+ to_chat(M, "You have been [(msg == ("ooc" || "appearance")) ? "banned" : "jobbanned"] by [usr.client.ckey] from: [msg].")
+ to_chat(M, "The reason is: [reason]")
+ to_chat(M, "Jobban can be lifted only upon request.")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("Cancel")
@@ -1016,7 +1016,7 @@
continue
if(msg)
message_admins("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg].")
- M << "You have been un-jobbanned by [usr.client.ckey] from [msg]."
+ to_chat(M, "You have been un-jobbanned by [usr.client.ckey] from [msg].")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
return 0 //we didn't do anything!
@@ -1025,9 +1025,9 @@
var/mob/M = locate(href_list["boot2"])
if (ismob(M))
if(!check_if_greater_rights_than(M.client))
- usr << "Error: They have more rights than you do."
+ to_chat(usr, "Error: They have more rights than you do.")
return
- M << "You have been kicked from the server by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.ckey]"]."
+ to_chat(M, "You have been kicked from the server by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.ckey]"].")
log_admin("[key_name(usr)] kicked [key_name(M)].")
message_admins("[key_name_admin(usr)] kicked [key_name_admin(M)].")
//M.client = null
@@ -1136,18 +1136,18 @@
if(!reason)
return
if(!DB_ban_record(BANTYPE_TEMP, M, mins, reason))
- usr << "Failed to apply ban."
+ to_chat(usr, "Failed to apply ban.")
return
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
ban_unban_log_save("[key_name(usr)] has banned [key_name(M)]. - Reason: [reason] - This will be removed in [mins] minutes.")
- M << "You have been banned by [usr.client.ckey].\nReason: [reason]"
- M << "This is a temporary ban, it will be removed in [mins] minutes."
+ to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason]")
+ to_chat(M, "This is a temporary ban, it will be removed in [mins] minutes.")
feedback_inc("ban_tmp",1)
feedback_inc("ban_tmp_mins",mins)
if(config.banappeals)
- M << "To try to resolve this matter head to [config.banappeals]"
+ to_chat(M, "To try to resolve this matter head to [config.banappeals]")
else
- M << "No ban appeals URL has been set."
+ to_chat(M, "No ban appeals URL has been set.")
log_admin_private("[key_name(usr)] has banned [M.ckey].\nReason: [key_name(M)]\nThis will be removed in [mins] minutes.")
message_admins("[key_name_admin(usr)] has banned [key_name_admin(M)].\nReason: [reason]\nThis will be removed in [mins] minutes.")
@@ -1163,14 +1163,14 @@
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP)
if("No")
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0)
- M << "You have been banned by [usr.client.ckey].\nReason: [reason]"
- M << "This is a permanent ban."
+ to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason]")
+ to_chat(M, "This is a permanent ban.")
if(config.banappeals)
- M << "To try to resolve this matter head to [config.banappeals]"
+ to_chat(M, "To try to resolve this matter head to [config.banappeals]")
else
- M << "No ban appeals URL has been set."
+ to_chat(M, "No ban appeals URL has been set.")
if(!DB_ban_record(BANTYPE_PERMA, M, -1, reason))
- usr << "Failed to apply ban."
+ to_chat(usr, "Failed to apply ban.")
return
ban_unban_log_save("[key_name(usr)] has permabanned [key_name(M)]. - Reason: [reason] - This is a permanent ban.")
log_admin_private("[key_name(usr)] has banned [key_name_admin(M)].\nReason: [reason]\nThis is a permanent ban.")
@@ -1223,7 +1223,7 @@
master_mode = href_list["c_mode2"]
log_admin("[key_name(usr)] set the mode as [master_mode].")
message_admins("[key_name_admin(usr)] set the mode as [master_mode].")
- world << "The mode is now: [master_mode]"
+ to_chat(world, "The mode is now: [master_mode]")
Game() // updates the main game menu
world.save_mode(master_mode)
.(href, list("c_mode"=1))
@@ -1248,7 +1248,7 @@
var/mob/living/carbon/human/H = locate(href_list["monkeyone"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)].")
@@ -1261,7 +1261,7 @@
var/mob/living/carbon/monkey/Mo = locate(href_list["humanone"])
if(!istype(Mo))
- usr << "This can only be used on instances of type /mob/living/carbon/monkey."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/monkey.")
return
log_admin("[key_name(usr)] attempting to humanize [key_name(Mo)].")
@@ -1274,7 +1274,7 @@
var/mob/living/carbon/human/H = locate(href_list["corgione"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
log_admin("[key_name(usr)] attempting to corgize [key_name(H)].")
@@ -1288,7 +1288,7 @@
var/mob/M = locate(href_list["forcespeech"])
if(!ismob(M))
- usr << "this can only be used on instances of type /mob."
+ to_chat(usr, "this can only be used on instances of type /mob.")
var/speech = input("What will [key_name(M)] say?.", "Force speech", "")// Don't need to sanitize, since it does that in say(), we also trust our admins.
if(!speech)
@@ -1304,17 +1304,17 @@
var/mob/M = locate(href_list["sendtoprison"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
if(isAI(M))
- usr << "This cannot be used on instances of type /mob/living/silicon/ai."
+ to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai.")
return
if(alert(usr, "Send [key_name(M)] to Prison?", "Message", "Yes", "No") != "Yes")
return
M.loc = pick(prisonwarp)
- M << "You have been sent to Prison!"
+ to_chat(M, "You have been sent to Prison!")
log_admin("[key_name(usr)] has sent [key_name(M)] to Prison!")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] Prison!")
@@ -1326,11 +1326,11 @@
var/mob/M = locate(href_list["sendbacktolobby"])
if(!isobserver(M))
- usr << "You can only send ghost players back to the Lobby."
+ to_chat(usr, "You can only send ghost players back to the Lobby.")
return
if(!M.client)
- usr << "[M] doesn't seem to have an active client."
+ to_chat(usr, "[M] doesn't seem to have an active client.")
return
if(alert(usr, "Send [key_name(M)] back to Lobby?", "Message", "Yes", "No") != "Yes")
@@ -1352,10 +1352,10 @@
var/mob/M = locate(href_list["tdome1"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
if(isAI(M))
- usr << "This cannot be used on instances of type /mob/living/silicon/ai."
+ to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai.")
return
for(var/obj/item/I in M)
@@ -1365,7 +1365,7 @@
sleep(5)
M.loc = pick(tdome1)
spawn(50)
- M << "You have been sent to the Thunderdome."
+ to_chat(M, "You have been sent to the Thunderdome.")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)")
@@ -1378,10 +1378,10 @@
var/mob/M = locate(href_list["tdome2"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
if(isAI(M))
- usr << "This cannot be used on instances of type /mob/living/silicon/ai."
+ to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai.")
return
for(var/obj/item/I in M)
@@ -1391,7 +1391,7 @@
sleep(5)
M.loc = pick(tdome2)
spawn(50)
- M << "You have been sent to the Thunderdome."
+ to_chat(M, "You have been sent to the Thunderdome.")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)")
@@ -1404,17 +1404,17 @@
var/mob/M = locate(href_list["tdomeadmin"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
if(isAI(M))
- usr << "This cannot be used on instances of type /mob/living/silicon/ai."
+ to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai.")
return
M.Paralyse(5)
sleep(5)
M.loc = pick(tdomeadmin)
spawn(50)
- M << "You have been sent to the Thunderdome."
+ to_chat(M, "You have been sent to the Thunderdome.")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)")
@@ -1427,10 +1427,10 @@
var/mob/M = locate(href_list["tdomeobserve"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
if(isAI(M))
- usr << "This cannot be used on instances of type /mob/living/silicon/ai."
+ to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai.")
return
for(var/obj/item/I in M)
@@ -1444,7 +1444,7 @@
sleep(5)
M.loc = pick(tdomeobserve)
spawn(50)
- M << "You have been sent to the Thunderdome."
+ to_chat(M, "You have been sent to the Thunderdome.")
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)")
@@ -1454,7 +1454,7 @@
var/mob/living/L = locate(href_list["revive"])
if(!istype(L))
- usr << "This can only be used on instances of type /mob/living."
+ to_chat(usr, "This can only be used on instances of type /mob/living.")
return
L.revive(full_heal = 1, admin_revive = 1)
@@ -1467,7 +1467,7 @@
var/mob/living/carbon/human/H = locate(href_list["makeai"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
message_admins("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!")
@@ -1480,7 +1480,7 @@
var/mob/living/carbon/human/H = locate(href_list["makealien"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
usr.client.cmd_admin_alienize(H)
@@ -1491,7 +1491,7 @@
var/mob/living/carbon/human/H = locate(href_list["makeslime"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
usr.client.cmd_admin_slimeize(H)
@@ -1502,7 +1502,7 @@
var/mob/living/carbon/human/H = locate(href_list["makeblob"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
usr.client.cmd_admin_blobize(H)
@@ -1514,7 +1514,7 @@
var/mob/living/carbon/human/H = locate(href_list["makerobot"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
usr.client.cmd_admin_robotize(H)
@@ -1525,7 +1525,7 @@
var/mob/M = locate(href_list["makeanimal"])
if(isnewplayer(M))
- usr << "This cannot be used on instances of type /mob/new_player."
+ to_chat(usr, "This cannot be used on instances of type /mob/new_player.")
return
usr.client.cmd_admin_animalize(M)
@@ -1581,7 +1581,7 @@
else if(href_list["adminmoreinfo"])
var/mob/M = locate(href_list["adminmoreinfo"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
var/location_description = ""
@@ -1626,12 +1626,12 @@
else
gender_description = "[M.gender]"
- src.owner << "Info about [M.name]: "
- src.owner << "Mob type = [M.type]; Gender = [gender_description] Damage = [health_description]"
- src.owner << "Name = [M.name]; Real_name = [M.real_name]; Mind_name = [M.mind?"[M.mind.name]":""]; Key = [M.key];"
- src.owner << "Location = [location_description];"
- src.owner << "[special_role_description]"
- src.owner << "(PM) (PP) (VV) (SM) (FLW) (CA)"
+ to_chat(src.owner, "Info about [M.name]: ")
+ to_chat(src.owner, "Mob type = [M.type]; Gender = [gender_description] Damage = [health_description]")
+ to_chat(src.owner, "Name = [M.name]; Real_name = [M.real_name]; Mind_name = [M.mind?"[M.mind.name]":""]; Key = [M.key];")
+ to_chat(src.owner, "Location = [location_description];")
+ to_chat(src.owner, "[special_role_description]")
+ to_chat(src.owner, "(PM) (PP) (VV) (SM) (FLW) (CA)")
else if(href_list["addjobslot"])
if(!check_rights(R_ADMIN))
@@ -1692,7 +1692,7 @@
var/mob/living/carbon/human/H = locate(href_list["adminspawncookie"])
if(!ishuman(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
var/obj/item/weapon/reagent_containers/food/snacks/cookie/cookie = new(H)
@@ -1707,7 +1707,7 @@
log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)].")
message_admins("[key_name(H)] got their cookie, spawned by [key_name(src.owner)].")
feedback_inc("admin_cookies_spawned",1)
- H << "Your prayers have been answered!! You received the best cookie!"
+ to_chat(H, "Your prayers have been answered!! You received the best cookie!")
H << 'sound/effects/pray_chaplain.ogg'
else if(href_list["adminsmite"])
@@ -1731,7 +1731,7 @@
T.Beam(H, icon_state="lightning[rand(1,12)]", time = 5)
H.adjustFireLoss(75)
H.electrocution_animation(40)
- H << "The gods have punished you for your sins!"
+ to_chat(H, "The gods have punished you for your sins!")
if(ADMIN_PUNISHMENT_BRAINDAMAGE)
H.adjustBrainLoss(75)
if(ADMIN_PUNISHMENT_GIB)
@@ -1747,10 +1747,10 @@
else if(href_list["CentcommReply"])
var/mob/living/carbon/human/H = locate(href_list["CentcommReply"]) in mob_list
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human"
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
return
if(!istype(H.ears, /obj/item/device/radio/headset))
- usr << "The person you are trying to contact is not wearing a headset."
+ to_chat(usr, "The person you are trying to contact is not wearing a headset.")
return
message_admins("[src.owner] has started answering [key_name(H)]'s Centcomm request.")
@@ -1759,18 +1759,18 @@
message_admins("[src.owner] decided not to answer [key_name(H)]'s Centcomm request.")
return
- src.owner << "You sent [input] to [H] via a secure channel."
+ to_chat(src.owner, "You sent [input] to [H] via a secure channel.")
log_admin("[src.owner] replied to [key_name(H)]'s Centcom message with the message [input].")
message_admins("[src.owner] replied to [key_name(H)]'s Centcom message with: \"[input]\"")
- H << "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows. [input]. Message ends.\""
+ to_chat(H, "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows. [input]. Message ends.\"")
else if(href_list["SyndicateReply"])
var/mob/living/carbon/human/H = locate(href_list["SyndicateReply"])
if(!istype(H))
- usr << "This can only be used on instances of type /mob/living/carbon/human."
+ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human.")
return
if(!istype(H.ears, /obj/item/device/radio/headset))
- usr << "The person you are trying to contact is not wearing a headset."
+ to_chat(usr, "The person you are trying to contact is not wearing a headset.")
return
message_admins("[src.owner] has started answering [key_name(H)]'s syndicate request.")
@@ -1779,10 +1779,10 @@
message_admins("[src.owner] decided not to answer [key_name(H)]'s syndicate request.")
return
- src.owner << "You sent [input] to [H] via a secure channel."
+ to_chat(src.owner, "You sent [input] to [H] via a secure channel.")
log_admin("[src.owner] replied to [key_name(H)]'s Syndicate message with the message [input].")
message_admins("[src.owner] replied to [key_name(H)]'s Syndicate message with: \"[input]\"")
- H << "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from your benefactor. Message as follows, agent. [input]. Message ends.\""
+ to_chat(H, "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from your benefactor. Message as follows, agent. [input]. Message ends.\"")
else if(href_list["reject_custom_name"])
if(!check_rights(R_ADMIN))
@@ -1833,7 +1833,7 @@
var/mob/M = locate(href_list["individuallog"]) in mob_list
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
show_individual_logging_panel(M, href_list["log_type"])
@@ -1848,7 +1848,7 @@
var/mob/M = locate(href_list["traitor"])
if(!ismob(M))
- usr << "This can only be used on instances of type /mob."
+ to_chat(usr, "This can only be used on instances of type /mob.")
return
show_traitor_panel(M)
@@ -1927,7 +1927,7 @@
switch(where)
if("inhand")
if (!iscarbon(usr) && !iscyborg(usr))
- usr << "Can only spawn in hand when you're a carbon mob or cyborg."
+ to_chat(usr, "Can only spawn in hand when you're a carbon mob or cyborg.")
where = "onfloor"
target = usr
@@ -1939,10 +1939,10 @@
target = locate(loc.x + X,loc.y + Y,loc.z + Z)
if("inmarked")
if(!marked_datum)
- usr << "You don't have any object marked. Abandoning spawn."
+ to_chat(usr, "You don't have any object marked. Abandoning spawn.")
return
else if(!istype(marked_datum,/atom))
- usr << "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn."
+ to_chat(usr, "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn.")
return
else
target = marked_datum
@@ -2196,7 +2196,7 @@
if(ticker && ticker.current_state == GAME_STATE_PLAYING)
var/afkonly = text2num(href_list["afkonly"])
if(alert("Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby??","Message","Yes","Cancel") != "Yes")
- usr << "Kick clients from lobby aborted"
+ to_chat(usr, "Kick clients from lobby aborted")
return
var/list/listkicked = kick_clients_in_lobby("You were kicked from the lobby by [usr.client.holder.fakekey ? "an Administrator" : "[usr.client.ckey]"].", afkonly)
@@ -2206,7 +2206,7 @@
message_admins("[key_name_admin(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]")
log_admin("[key_name(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]")
else
- usr << "You may only use this when the game is running."
+ to_chat(usr, "You may only use this when the game is running.")
else if(href_list["create_outfit"])
if(!check_rights(R_ADMIN))
@@ -2268,7 +2268,7 @@
else if(href_list["viewruntime"])
var/datum/error_viewer/error_viewer = locate(href_list["viewruntime"])
if(!istype(error_viewer))
- usr << "That runtime viewer no longer exists."
+ to_chat(usr, "That runtime viewer no longer exists.")
return
if(href_list["viewruntime_backto"])
diff --git a/code/modules/admin/verbs/BrokenInhands.dm b/code/modules/admin/verbs/BrokenInhands.dm
index e9122e9516a..4e2395eb80a 100644
--- a/code/modules/admin/verbs/BrokenInhands.dm
+++ b/code/modules/admin/verbs/BrokenInhands.dm
@@ -28,7 +28,7 @@
if(text)
var/F = file("broken_icons.txt")
fdel(F)
- F << text
- world << "Completely successfully and written to [F]"
+ to_chat(F, text)
+ to_chat(world, "Completely successfully and written to [F]")
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
index 9258f9aa7d1..2147157dd72 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
@@ -34,7 +34,7 @@
if(!query_text || length(query_text) < 1)
return
- //world << query_text
+ //to_chat(world, query_text)
var/list/query_list = SDQL2_tokenize(query_text)
@@ -151,10 +151,10 @@
CHECK_TICK
catch(var/exception/e)
- usr << "A runtime error has occured in your SDQL2-query."
- usr << "\[NAME\][e.name]"
- usr << "\[FILE\][e.file]"
- usr << "\[LINE\][e.line]"
+ to_chat(usr, "A runtime error has occured in your SDQL2-query.")
+ to_chat(usr, "\[NAME\][e.name]")
+ to_chat(usr, "\[FILE\][e.file]")
+ to_chat(usr, "\[LINE\][e.line]")
/proc/SDQL_callproc_global(procname,args_list)
set waitfor = FALSE
@@ -189,7 +189,7 @@
querys[querys_pos] = parsed_tree
querys_pos++
else //There was an error so don't run anything, and tell the user which query has errored.
- usr << "Parsing error on [querys_pos]\th query. Nothing was executed."
+ to_chat(usr, "Parsing error on [querys_pos]\th query. Nothing was executed.")
return list()
query_tree = list()
do_parse = 0
@@ -210,22 +210,22 @@
for(var/item in query_tree)
if(istype(item, /list))
- usr << "[spaces]("
+ to_chat(usr, "[spaces](")
SDQL_testout(item, indent + 1)
- usr << "[spaces])"
+ to_chat(usr, "[spaces])")
else
- usr << "[spaces][item]"
+ to_chat(usr, "[spaces][item]")
if(!isnum(item) && query_tree[item])
if(istype(query_tree[item], /list))
- usr << "[spaces] ("
+ to_chat(usr, "[spaces] (")
SDQL_testout(query_tree[item], indent + 2)
- usr << "[spaces] )"
+ to_chat(usr, "[spaces] )")
else
- usr << "[spaces] [query_tree[item]]"
+ to_chat(usr, "[spaces] [query_tree[item]]")
@@ -351,7 +351,7 @@
if("or", "||")
result = (result || val)
else
- usr << "SDQL2: Unknown op [op]"
+ to_chat(usr, "SDQL2: Unknown op [op]")
result = null
else
result = val
@@ -410,11 +410,11 @@
v = object.vars[expression[start]]
else if(expression[start] == "{" && start < expression.len)
if(lowertext(copytext(expression[start + 1], 1, 3)) != "0x")
- usr << "Invalid pointer syntax: [expression[start + 1]]"
+ to_chat(usr, "Invalid pointer syntax: [expression[start + 1]]")
return null
v = locate("\[[expression[start + 1]]]")
if(!v)
- usr << "Invalid pointer: [expression[start + 1]]"
+ to_chat(usr, "Invalid pointer: [expression[start + 1]]")
return null
start++
else
@@ -480,7 +480,7 @@
else if(char == "'")
if(word != "")
- usr << "\red SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again."
+ to_chat(usr, "\red SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.")
return null
word = "'"
@@ -500,7 +500,7 @@
word += char
if(i > len)
- usr << "\red SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[query_text]\". Please check your syntax, and try again."
+ to_chat(usr, "\red SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[query_text]\". Please check your syntax, and try again.")
return null
query_list += "[word]'"
@@ -508,7 +508,7 @@
else if(char == "\"")
if(word != "")
- usr << "\red SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again."
+ to_chat(usr, "\red SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.")
return null
word = "\""
@@ -528,7 +528,7 @@
word += char
if(i > len)
- usr << "\red SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[query_text]\". Please check your syntax, and try again."
+ to_chat(usr, "\red SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[query_text]\". Please check your syntax, and try again.")
return null
query_list += "[word]\""
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm
index 591e824312c..3692b9633df 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm
@@ -62,7 +62,7 @@
/datum/SDQL_parser/proc/parse_error(error_message)
error = 1
- usr << "SQDL2 Parsing Error: [error_message]"
+ to_chat(usr, "SQDL2 Parsing Error: [error_message]")
return query.len + 1
/datum/SDQL_parser/proc/parse()
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index ac4a80bc1ea..db2cb86d7be 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -81,12 +81,12 @@
set name = "Adminhelp"
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
//handle muting and automuting
if(prefs.muted & MUTE_ADMINHELP)
- src << "Error: Admin-PM: You cannot send adminhelps (Muted)."
+ to_chat(src, "Error: Admin-PM: You cannot send adminhelps (Muted).")
return
if(src.handle_spam_prevention(msg,MUTE_ADMINHELP))
return
@@ -116,17 +116,17 @@
if(X.prefs.toggles & SOUND_ADMINHELP)
X << 'sound/effects/adminhelp.ogg'
window_flash(X, ignorepref = TRUE)
- X << msg
+ to_chat(X, msg)
//show it to the person adminhelping too
- src << "PM to-Admins: [original_msg]"
+ to_chat(src, "PM to-Admins: [original_msg]")
//send it to irc if nobody is on and tell us how many were on
var/admin_number_present = send2irc_adminless_only(ckey,original_msg)
log_admin_private("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins who have +BAN.")
if(admin_number_present <= 0)
- src << "No active admins are online, your adminhelp was sent to the admin irc."
+ to_chat(src, "No active admins are online, your adminhelp was sent to the admin irc.")
feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm
index 4999235e2d1..3c6268b688c 100644
--- a/code/modules/admin/verbs/adminjump.dm
+++ b/code/modules/admin/verbs/adminjump.dm
@@ -3,7 +3,7 @@
set desc = "Area to jump to"
set category = "Admin"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if(!A)
@@ -18,7 +18,7 @@
var/turf/T = safepick(turfs)
if(!T)
- src << "Nowhere to jump to!"
+ to_chat(src, "Nowhere to jump to!")
return
usr.forceMove(T)
log_admin("[key_name(usr)] jumped to [A]")
@@ -29,7 +29,7 @@
set name = "Jump to Turf"
set category = "Admin"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
log_admin("[key_name(usr)] jumped to [T.x],[T.y],[T.z] in [T.loc]")
@@ -43,7 +43,7 @@
set name = "Jump to Mob"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
log_admin("[key_name(usr)] jumped to [key_name(M)]")
@@ -55,14 +55,14 @@
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
A.forceMove(M.loc)
else
- A << "This mob is not located in the game world."
+ to_chat(A, "This mob is not located in the game world.")
/client/proc/jumptocoord(tx as num, ty as num, tz as num)
set category = "Admin"
set name = "Jump to Coordinate"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if(src.mob)
@@ -78,7 +78,7 @@
set name = "Jump to Key"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/list/keys = list()
@@ -86,7 +86,7 @@
keys += M.client
var/selection = input("Please, select a player!", "Admin Jumping", null, null) as null|anything in sortKey(keys)
if(!selection)
- src << "No keys found."
+ to_chat(src, "No keys found.")
return
var/mob/M = selection:mob
log_admin("[key_name(usr)] jumped to [key_name(M)]")
@@ -101,7 +101,7 @@
set name = "Get Mob"
set desc = "Mob to teleport"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
log_admin("[key_name(usr)] teleported [key_name(M)]")
@@ -115,7 +115,7 @@
set desc = "Key to teleport"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/list/keys = list()
@@ -139,7 +139,7 @@
set category = "Admin"
set name = "Send Mob"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/area/A = input(usr, "Pick an area.", "Pick an area") in sortedAreas|null
if(A && istype(A))
@@ -148,5 +148,5 @@
log_admin("[key_name(usr)] teleported [key_name(M)] to [A]")
message_admins("[key_name_admin(usr)] teleported [key_name_admin(M)] to [A]")
else
- src << "Failed to move mob to a valid location."
+ to_chat(src, "Failed to move mob to a valid location.")
feedback_add_details("admin_verb","SMOB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index e1f0e8438bc..4917349c66c 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -6,7 +6,7 @@
set category = null
set name = "Admin PM Mob"
if(!holder)
- src << "Error: Admin-PM-Context: Only administrators may use this command."
+ to_chat(src, "Error: Admin-PM-Context: Only administrators may use this command.")
return
if( !ismob(M) || !M.client )
return
@@ -18,7 +18,7 @@
set category = "Admin"
set name = "Admin PM"
if(!holder)
- src << "Error: Admin-PM-Panel: Only administrators may use this command."
+ to_chat(src, "Error: Admin-PM-Panel: Only administrators may use this command.")
return
var/list/client/targets[0]
for(var/client/T)
@@ -37,7 +37,7 @@
/client/proc/cmd_ahelp_reply(whom)
if(prefs.muted & MUTE_ADMINHELP)
- src << "Error: Admin-PM: You are unable to use admin PM-s (muted)."
+ to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).")
return
var/client/C
if(istext(whom))
@@ -48,7 +48,7 @@
C = whom
if(!C)
if(holder)
- src << "Error: Admin-PM: Client not found."
+ to_chat(src, "Error: Admin-PM: Client not found.")
return
message_admins("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.")
var/msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null
@@ -61,7 +61,7 @@
//Fetching a message if needed. src is the sender and C is the target client
/client/proc/cmd_admin_pm(whom, msg)
if(prefs.muted & MUTE_ADMINHELP)
- src << "Error: Admin-PM: You are unable to use admin PM-s (muted)."
+ to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).")
return
var/client/C
@@ -84,14 +84,14 @@
if(!msg)
return
if(holder)
- src << "Error: Use the admin IRC channel, nerd."
+ to_chat(src, "Error: Use the admin IRC channel, nerd.")
return
else
if(!C)
if(holder)
- src << "Error: Admin-PM: Client not found."
+ to_chat(src, "Error: Admin-PM: Client not found.")
else
adminhelp(msg) //admin we are replying to left. adminhelp instead
return
@@ -104,12 +104,12 @@
return
if(prefs.muted & MUTE_ADMINHELP)
- src << "Error: Admin-PM: You are unable to use admin PM-s (muted)."
+ to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).")
return
if(!C)
if(holder)
- src << "Error: Admin-PM: Client not found."
+ to_chat(src, "Error: Admin-PM: Client not found.")
else
adminhelp(msg) //admin we are replying to has vanished, adminhelp instead
return
@@ -131,18 +131,18 @@
var/keywordparsedmsg = keywords_lookup(msg)
if(irc)
- src << "PM to-Admins: [rawmsg]"
+ to_chat(src, "PM to-Admins: [rawmsg]")
ircreplyamount--
send2irc("Reply: [ckey]",rawmsg)
else
if(C.holder)
if(holder) //both are admins
- C << "Admin PM from-[key_name(src, C, 1)]: [keywordparsedmsg]"
- src << "Admin PM to-[key_name(C, src, 1)]: [keywordparsedmsg]"
+ to_chat(C, "Admin PM from-[key_name(src, C, 1)]: [keywordparsedmsg]")
+ to_chat(src, "Admin PM to-[key_name(C, src, 1)]: [keywordparsedmsg]")
else //recipient is an admin but sender is not
- C << "Reply PM from-[key_name(src, C, 1)]: [keywordparsedmsg]"
- src << "PM to-Admins: [msg]"
+ to_chat(C, "Reply PM from-[key_name(src, C, 1)]: [keywordparsedmsg]")
+ to_chat(src, "PM to-Admins: [msg]")
//play the recieving admin the adminhelp sound (if they have them enabled)
if(C.prefs.toggles & SOUND_ADMINHELP)
@@ -150,10 +150,10 @@
else
if(holder) //sender is an admin but recipient is not. Do BIG RED TEXT
- C << "-- Administrator private message --"
- C << "Admin PM from-[key_name(src, C, 0)]: [msg]"
- C << "Click on the administrator's name to reply."
- src << "Admin PM to-[key_name(C, src, 1)]: [msg]"
+ to_chat(C, "-- Administrator private message --")
+ to_chat(C, "Admin PM from-[key_name(src, C, 0)]: [msg]")
+ to_chat(C, "Click on the administrator's name to reply.")
+ to_chat(src, "Admin PM to-[key_name(C, src, 1)]: [msg]")
//always play non-admin recipients the adminhelp sound
C << 'sound/effects/adminhelp.ogg'
@@ -172,20 +172,20 @@
return
else //neither are admins
- src << "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."
+ to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.")
return
if(irc)
log_admin_private("PM: [key_name(src)]->IRC: [rawmsg]")
for(var/client/X in admins)
- X << "PM: [key_name(src, X, 0)]->IRC: \blue [keywordparsedmsg]" //inform X
+ to_chat(X, "PM: [key_name(src, X, 0)]->IRC: \blue [keywordparsedmsg]" )
else
window_flash(C, ignorepref = TRUE)
log_admin_private("PM: [key_name(src)]->[key_name(C)]: [rawmsg]")
//we don't use message_admins here because the sender/receiver might get it too
for(var/client/X in admins)
if(X.key!=key && X.key!=C.key) //check client/X is an admin and isn't the sender or recipient
- X << "PM: [key_name(src, X, 0)]->[key_name(C, X, 0)]: \blue [keywordparsedmsg]" //inform X
+ to_chat(X, "PM: [key_name(src, X, 0)]->[key_name(C, X, 0)]: \blue [keywordparsedmsg]" )
@@ -211,9 +211,9 @@
log_admin_private("IRC PM: [sender] -> [key_name(C)] : [msg]")
msg = emoji_parse(msg)
- C << "-- Administrator private message --"
- C << "Admin PM from-[adminname]: [msg]"
- C << "Click on the administrator's name to reply."
+ to_chat(C, "-- Administrator private message --")
+ to_chat(C, "Admin PM from-[adminname]: [msg]")
+ to_chat(C, "Click on the administrator's name to reply.")
window_flash(C, ignorepref = TRUE)
//always play non-admin recipients the adminhelp sound
C << 'sound/effects/adminhelp.ogg'
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index 3dab6c26d6c..30057bb6a18 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -13,10 +13,10 @@
msg = keywords_lookup(msg)
if(check_rights(R_ADMIN,0))
msg = "ADMIN: [key_name(usr, 1)] (FLW): [msg]"
- admins << msg
+ to_chat(admins, msg)
else
msg = "ADMIN: [key_name(usr, 1)]: [msg]"
- admins << msg
+ to_chat(admins, msg)
feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm
index ee561a9bd2b..a76c7600cc5 100644
--- a/code/modules/admin/verbs/atmosdebug.dm
+++ b/code/modules/admin/verbs/atmosdebug.dm
@@ -2,30 +2,30 @@
set category = "Mapping"
set name = "Check Plumbing"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
feedback_add_details("admin_verb","CP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
//all plumbing - yes, some things might get stated twice, doesn't matter.
for (var/obj/machinery/atmospherics/plumbing in machines)
if (plumbing.nodealert)
- usr << "Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])"
+ to_chat(usr, "Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])")
//Manifolds
for (var/obj/machinery/atmospherics/pipe/manifold/pipe in machines)
if (!pipe.NODE1 || !pipe.NODE2 || !pipe.NODE3)
- usr << "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])"
+ to_chat(usr, "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])")
//Pipes
for (var/obj/machinery/atmospherics/pipe/simple/pipe in machines)
if (!pipe.NODE1 || !pipe.NODE2)
- usr << "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])"
+ to_chat(usr, "Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])")
/client/proc/powerdebug()
set category = "Mapping"
set name = "Check Power"
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
feedback_add_details("admin_verb","CPOW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -33,9 +33,9 @@
if (!PN.nodes || !PN.nodes.len)
if(PN.cables && (PN.cables.len > 1))
var/obj/structure/cable/C = PN.cables[1]
- usr << "Powernet with no nodes! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]"
+ to_chat(usr, "Powernet with no nodes! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]")
if (!PN.cables || (PN.cables.len < 10))
if(PN.cables && (PN.cables.len > 1))
var/obj/structure/cable/C = PN.cables[1]
- usr << "Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]"
\ No newline at end of file
+ to_chat(usr, "Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]")
\ No newline at end of file
diff --git a/code/modules/admin/verbs/bluespacearty.dm b/code/modules/admin/verbs/bluespacearty.dm
index 814ee68d4df..3353986ac3e 100644
--- a/code/modules/admin/verbs/bluespacearty.dm
+++ b/code/modules/admin/verbs/bluespacearty.dm
@@ -8,7 +8,7 @@
var/mob/living/target = M
if(!isliving(target))
- usr << "This can only be used on instances of type /mob/living"
+ to_chat(usr, "This can only be used on instances of type /mob/living")
return
if(alert(usr, "Are you sure you wish to hit [key_name(target)] with Blue Space Artillery?", "Confirm Firing?" , "Yes" , "No") != "Yes")
@@ -23,7 +23,7 @@
else
T.break_tile()
- target << "You're hit by bluespace artillery!"
+ to_chat(target, "You're hit by bluespace artillery!")
log_admin("[key_name(target)] has been hit by Bluespace Artillery fired by [key_name(usr)]")
message_admins("[ADMIN_LOOKUPFLW(target)] has been hit by Bluespace Artillery fired by [ADMIN_LOOKUPFLW(usr)]")
diff --git a/code/modules/admin/verbs/buildmode.dm b/code/modules/admin/verbs/buildmode.dm
index c68066cac0a..866a3655c22 100644
--- a/code/modules/admin/verbs/buildmode.dm
+++ b/code/modules/admin/verbs/buildmode.dm
@@ -116,45 +116,45 @@
/datum/buildmode/proc/show_help(mob/user)
switch(mode)
if(BASIC_BUILDMODE)
- user << "\blue ***********************************************************"
- user << "\blue Left Mouse Button = Construct / Upgrade"
- user << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade"
- user << "\blue Left Mouse Button + ctrl = R-Window"
- user << "\blue Left Mouse Button + alt = Airlock"
- user << ""
- user << "\blue Use the button in the upper left corner to"
- user << "\blue change the direction of built objects."
- user << "\blue ***********************************************************"
+ to_chat(user, "\blue ***********************************************************")
+ to_chat(user, "\blue Left Mouse Button = Construct / Upgrade")
+ to_chat(user, "\blue Right Mouse Button = Deconstruct / Delete / Downgrade")
+ to_chat(user, "\blue Left Mouse Button + ctrl = R-Window")
+ to_chat(user, "\blue Left Mouse Button + alt = Airlock")
+ to_chat(user, "")
+ to_chat(user, "\blue Use the button in the upper left corner to")
+ to_chat(user, "\blue change the direction of built objects.")
+ to_chat(user, "\blue ***********************************************************")
if(ADV_BUILDMODE)
- user << "\blue ***********************************************************"
- user << "\blue Right Mouse Button on buildmode button = Set object type"
- user << "\blue Left Mouse Button on turf/obj = Place objects"
- user << "\blue Right Mouse Button = Delete objects"
- user << ""
- user << "\blue Use the button in the upper left corner to"
- user << "\blue change the direction of built objects."
- user << "\blue ***********************************************************"
+ to_chat(user, "\blue ***********************************************************")
+ to_chat(user, "\blue Right Mouse Button on buildmode button = Set object type")
+ to_chat(user, "\blue Left Mouse Button on turf/obj = Place objects")
+ to_chat(user, "\blue Right Mouse Button = Delete objects")
+ to_chat(user, "")
+ to_chat(user, "\blue Use the button in the upper left corner to")
+ to_chat(user, "\blue change the direction of built objects.")
+ to_chat(user, "\blue ***********************************************************")
if(VAR_BUILDMODE)
- user << "\blue ***********************************************************"
- user << "\blue Right Mouse Button on buildmode button = Select var(type) & value"
- user << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value"
- user << "\blue Right Mouse Button on turf/obj/mob = Reset var's value"
- user << "\blue ***********************************************************"
+ to_chat(user, "\blue ***********************************************************")
+ to_chat(user, "\blue Right Mouse Button on buildmode button = Select var(type) & value")
+ to_chat(user, "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value")
+ to_chat(user, "\blue Right Mouse Button on turf/obj/mob = Reset var's value")
+ to_chat(user, "\blue ***********************************************************")
if(THROW_BUILDMODE)
- user << "\blue ***********************************************************"
- user << "\blue Left Mouse Button on turf/obj/mob = Select"
- user << "\blue Right Mouse Button on turf/obj/mob = Throw"
- user << "\blue ***********************************************************"
+ to_chat(user, "\blue ***********************************************************")
+ to_chat(user, "\blue Left Mouse Button on turf/obj/mob = Select")
+ to_chat(user, "\blue Right Mouse Button on turf/obj/mob = Throw")
+ to_chat(user, "\blue ***********************************************************")
if(AREA_BUILDMODE)
- user << "\blue ***********************************************************"
- user << "\blue Left Mouse Button on turf/obj/mob = Select corner"
- user << "\blue Right Mouse Button on buildmode button = Select generator"
- user << "\blue ***********************************************************"
+ to_chat(user, "\blue ***********************************************************")
+ to_chat(user, "\blue Left Mouse Button on turf/obj/mob = Select corner")
+ to_chat(user, "\blue Right Mouse Button on buildmode button = Select generator")
+ to_chat(user, "\blue ***********************************************************")
if(COPY_BUILDMODE)
- user << "\blue ***********************************************************"
- user << "\blue Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target"
- user << "\blue Right Mouse Button on obj/mob = Select target to copy"
- user << "\blue ***********************************************************"
+ to_chat(user, "\blue ***********************************************************")
+ to_chat(user, "\blue Left Mouse Button on obj/turf/mob = Spawn a Copy of selected target")
+ to_chat(user, "\blue Right Mouse Button on obj/mob = Select target to copy")
+ to_chat(user, "\blue ***********************************************************")
/datum/buildmode/proc/change_settings(mob/user)
switch(mode)
@@ -308,13 +308,13 @@
log_admin("Build Mode: [key_name(user)] modified [object.name]'s [varholder] to [valueholder]")
object.vars[varholder] = valueholder
else
- user << "[initial(object.name)] does not have a var called '[varholder]'"
+ to_chat(user, "[initial(object.name)] does not have a var called '[varholder]'")
if(right_click)
if(object.vars.Find(varholder))
log_admin("Build Mode: [key_name(user)] modified [object.name]'s [varholder] to [valueholder]")
object.vars[varholder] = initial(object.vars[varholder])
else
- user << "[initial(object.name)] does not have a var called '[varholder]'"
+ to_chat(user, "[initial(object.name)] does not have a var called '[varholder]'")
if(THROW_BUILDMODE)
if(left_click)
@@ -335,7 +335,7 @@
if(left_click) //rectangular
if(cornerA && cornerB)
if(!generator_path)
- user << "Select generator type first."
+ to_chat(user, "Select generator type first.")
var/datum/mapGenerator/G = new generator_path
G.defineRegion(cornerA,cornerB,1)
G.generate()
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index f562ec3bdb7..88ae7cac120 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -3,12 +3,12 @@
set name = "Dsay" //Gave this shit a shorter name so you only have to time out "dsay" rather than "dead say" to use it --NeoFite
set hidden = 1
if(!src.holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if(!src.mob)
return
if(prefs.muted & MUTE_DEADCHAT)
- src << "You cannot send DSAY messages (muted)."
+ to_chat(src, "You cannot send DSAY messages (muted).")
return
if (src.handle_spam_prevention(msg,MUTE_DEADCHAT))
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 44f4baaa5fe..f3a163933e9 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -53,12 +53,12 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
return
if(targetselected && !hascall(target,procname))
- usr << "Error: callproc(): type [target.type] has no proc named [procname]."
+ to_chat(usr, "Error: callproc(): type [target.type] has no proc named [procname].")
return
else
var/procpath = text2path(procname)
if (!procpath)
- usr << "Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)"
+ to_chat(usr, "Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)")
return
var/list/lst = get_callproc_args()
if(!lst)
@@ -66,7 +66,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if(targetselected)
if(!target)
- usr << "Error: callproc(): owner of proc no longer exists."
+ to_chat(usr, "Error: callproc(): owner of proc no longer exists.")
return
log_admin("[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].")
message_admins("[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].")
@@ -78,7 +78,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
returnval = call(procname)(arglist(lst)) // Pass the lst as an argument list to the proc
. = get_callproc_returnval(returnval, procname)
if(.)
- usr << .
+ to_chat(usr, .)
feedback_add_details("admin_verb","APC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/callproc_datum(datum/A as null|area|mob|obj|turf)
@@ -93,14 +93,14 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if(!procname)
return
if(!hascall(A,procname))
- usr << "Error: callproc_datum(): type [A.type] has no proc named [procname]."
+ to_chat(usr, "Error: callproc_datum(): type [A.type] has no proc named [procname].")
return
var/list/lst = get_callproc_args()
if(!lst)
return
if(!A || !IsValidSrc(A))
- usr << "Error: callproc_datum(): owner of proc no longer exists."
+ to_chat(usr, "Error: callproc_datum(): owner of proc no longer exists.")
return
log_admin("[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].")
message_admins("[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"].")
@@ -109,7 +109,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
var/returnval = call(A,procname)(arglist(lst)) // Pass the lst as an argument list to the proc
. = get_callproc_returnval(returnval,procname)
if(.)
- usr << .
+ to_chat(usr, .)
@@ -174,7 +174,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
if(id in hardcoded_gases || env_gases[id][MOLES])
t+= "[env_gases[id][GAS_META][META_GAS_NAME]] : [env_gases[id][MOLES]]\n"
- usr << t
+ to_chat(usr, t)
feedback_add_details("admin_verb","ASL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_robotize(mob/M in mob_list)
@@ -507,33 +507,33 @@ var/list/TYPES_SHORTCUTS = list(
var/list/areas_without_intercom = areas_all - areas_with_intercom
var/list/areas_without_camera = areas_all - areas_with_camera
- world << "AREAS WITHOUT AN APC:"
+ to_chat(world, "AREAS WITHOUT AN APC:")
for(var/areatype in areas_without_APC)
- world << "* [areatype]"
+ to_chat(world, "* [areatype]")
- world << "AREAS WITHOUT AN AIR ALARM:"
+ to_chat(world, "AREAS WITHOUT AN AIR ALARM:")
for(var/areatype in areas_without_air_alarm)
- world << "* [areatype]"
+ to_chat(world, "* [areatype]")
- world << "AREAS WITHOUT A REQUEST CONSOLE:"
+ to_chat(world, "AREAS WITHOUT A REQUEST CONSOLE:")
for(var/areatype in areas_without_RC)
- world << "* [areatype]"
+ to_chat(world, "* [areatype]")
- world << "AREAS WITHOUT ANY LIGHTS:"
+ to_chat(world, "AREAS WITHOUT ANY LIGHTS:")
for(var/areatype in areas_without_light)
- world << "* [areatype]"
+ to_chat(world, "* [areatype]")
- world << "AREAS WITHOUT A LIGHT SWITCH:"
+ to_chat(world, "AREAS WITHOUT A LIGHT SWITCH:")
for(var/areatype in areas_without_LS)
- world << "* [areatype]"
+ to_chat(world, "* [areatype]")
- world << "AREAS WITHOUT ANY INTERCOMS:"
+ to_chat(world, "AREAS WITHOUT ANY INTERCOMS:")
for(var/areatype in areas_without_intercom)
- world << "* [areatype]"
+ to_chat(world, "* [areatype]")
- world << "AREAS WITHOUT ANY CAMERAS:"
+ to_chat(world, "AREAS WITHOUT ANY CAMERAS:")
for(var/areatype in areas_without_camera)
- world << "* [areatype]"
+ to_chat(world, "* [areatype]")
/client/proc/cmd_admin_dress(mob/living/carbon/human/M in mob_list)
set category = "Fun"
@@ -663,19 +663,19 @@ var/list/TYPES_SHORTCUTS = list(
switch(input("Which list?") in list("Players","Admins","Mobs","Living Mobs","Dead Mobs","Clients","Joined Clients"))
if("Players")
- usr << jointext(player_list,",")
+ to_chat(usr, jointext(player_list,","))
if("Admins")
- usr << jointext(admins,",")
+ to_chat(usr, jointext(admins,","))
if("Mobs")
- usr << jointext(mob_list,",")
+ to_chat(usr, jointext(mob_list,","))
if("Living Mobs")
- usr << jointext(living_mob_list,",")
+ to_chat(usr, jointext(living_mob_list,","))
if("Dead Mobs")
- usr << jointext(dead_mob_list,",")
+ to_chat(usr, jointext(dead_mob_list,","))
if("Clients")
- usr << jointext(clients,",")
+ to_chat(usr, jointext(clients,","))
if("Joined Clients")
- usr << jointext(joined_player_list,",")
+ to_chat(usr, jointext(joined_player_list,","))
/client/proc/cmd_display_del_log()
set category = "Debug"
@@ -734,8 +734,8 @@ var/list/TYPES_SHORTCUTS = list(
if(istype(landmark))
var/datum/map_template/ruin/template = landmark.ruin_template
usr.forceMove(get_turf(landmark))
- usr << "[template.name]"
- usr << "[template.description]"
+ to_chat(usr, "[template.name]")
+ to_chat(usr, "[template.description]")
/client/proc/clear_dynamic_transit()
set category = "Debug"
diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm
index 7d75d17956a..8cc400891fc 100644
--- a/code/modules/admin/verbs/diagnostics.dm
+++ b/code/modules/admin/verbs/diagnostics.dm
@@ -13,9 +13,9 @@
if(T.active_hotspot)
burning = 1
- usr << "@[target.x],[target.y]: [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]"
+ to_chat(usr, "@[target.x],[target.y]: [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]")
for(var/id in GM_gases)
- usr << "[GM_gases[id][GAS_META][META_GAS_NAME]]: [GM_gases[id][MOLES]]"
+ to_chat(usr, "[GM_gases[id][GAS_META][META_GAS_NAME]]: [GM_gases[id][MOLES]]")
feedback_add_details("admin_verb","DAST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/fix_next_move()
diff --git a/code/modules/admin/verbs/fps.dm b/code/modules/admin/verbs/fps.dm
index 57342496983..0ca931d7cdc 100644
--- a/code/modules/admin/verbs/fps.dm
+++ b/code/modules/admin/verbs/fps.dm
@@ -10,7 +10,7 @@
var/new_fps = round(input("Sets game frames-per-second. Can potentially break the game (default: [config.fps])","FPS", world.fps) as num|null)
if(new_fps <= 0)
- src << "Error: set_server_fps(): Invalid world.fps value. No changes made."
+ to_chat(src, "Error: set_server_fps(): Invalid world.fps value. No changes made.")
return
if(new_fps > config.fps*1.5)
if(alert(src, "You are setting fps to a high value:\n\t[new_fps] frames-per-second\n\tconfig.fps = [config.fps]","Warning!","Confirm","ABORT-ABORT-ABORT") != "Confirm")
diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm
index 1f9dd112c68..f020ad3a884 100644
--- a/code/modules/admin/verbs/getlogs.dm
+++ b/code/modules/admin/verbs/getlogs.dm
@@ -24,16 +24,16 @@
set category = null
if(!src.holder)
- src << "Only Admins may use this command."
+ to_chat(src, "Only Admins may use this command.")
return
var/client/target = input(src,"Choose somebody to grant access to the server's runtime logs (permissions expire at the end of each round):","Grant Permissions",null) as null|anything in clients
if(!istype(target,/client))
- src << "Error: giveruntimelog(): Client not found."
+ to_chat(src, "Error: giveruntimelog(): Client not found.")
return
target.verbs |= /client/proc/getruntimelog
- target << "You have been granted access to runtime logs. Please use them responsibly or risk being banned."
+ to_chat(target, "You have been granted access to runtime logs. Please use them responsibly or risk being banned.")
return
@@ -52,8 +52,8 @@
return
message_admins("[key_name_admin(src)] accessed file: [path]")
- src << ftp( file(path) )
- src << "Attempting to send file, this may take a fair few minutes if the file is very large."
+ src << ftp(file(path))
+ to_chat(src, "Attempting to send file, this may take a fair few minutes if the file is very large.")
return
@@ -72,8 +72,8 @@
return
message_admins("[key_name_admin(src)] accessed file: [path]")
- src << ftp( file(path) )
- src << "Attempting to send file, this may take a fair few minutes if the file is very large."
+ src << ftp(file(path))
+ to_chat(src, "Attempting to send file, this may take a fair few minutes if the file is very large.")
return
@@ -88,7 +88,7 @@
if(fexists("[diary]"))
src << ftp(diary)
else
- src << "Server log not found, try using .getserverlog."
+ to_chat(src, "Server log not found, try using .getserverlog.")
return
feedback_add_details("admin_verb","VTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -102,7 +102,7 @@
if(fexists("[diaryofmeanpeople]"))
src << ftp(diaryofmeanpeople)
else
- src << "Server attack log not found, try using .getserverlog."
+ to_chat(src, "Server attack log not found, try using .getserverlog.")
return
feedback_add_details("admin_verb","SSAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
diff --git a/code/modules/admin/verbs/map_template_loadverb.dm b/code/modules/admin/verbs/map_template_loadverb.dm
index d2e50a084cf..9fdb3169711 100644
--- a/code/modules/admin/verbs/map_template_loadverb.dm
+++ b/code/modules/admin/verbs/map_template_loadverb.dm
@@ -21,7 +21,7 @@
if(template.load(T, centered = TRUE))
message_admins("[key_name_admin(usr)] has placed a map template ([template.name]) at (JMP)")
else
- usr << "Failed to place map"
+ to_chat(usr, "Failed to place map")
usr.client.images -= preview
/client/proc/map_template_upload()
@@ -32,13 +32,13 @@
if(!map)
return
if(copytext("[map]",-4) != ".dmm")
- usr << "Bad map file: [map]"
+ to_chat(usr, "Bad map file: [map]")
return
var/datum/map_template/M = new(map, "[map]")
if(M.preload_size(map))
- usr << "Map template '[map]' ready to place ([M.width]x[M.height])"
+ to_chat(usr, "Map template '[map]' ready to place ([M.width]x[M.height])")
SSmapping.map_templates[M.name] = M
message_admins("[key_name_admin(usr)] has uploaded a map template ([map])")
else
- usr << "Map template '[map]' failed to load properly"
+ to_chat(usr, "Map template '[map]' failed to load properly")
diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm
index 09b7e3c79d9..4636cd61153 100644
--- a/code/modules/admin/verbs/mapping.dm
+++ b/code/modules/admin/verbs/mapping.dm
@@ -215,9 +215,9 @@ var/list/admin_verbs_debug_mapping = list(
if(i*10+j <= atom_list.len)
temp_atom = atom_list[i*10+j]
line += " no.[i+10+j]@\[[temp_atom.x], [temp_atom.y], [temp_atom.z]\]; "
- world << line*/
+ to_chat(world, line)*/
- world << "There are [count] objects of type [type_path] on z-level [num_level]"
+ to_chat(world, "There are [count] objects of type [type_path] on z-level [num_level]")
feedback_add_details("admin_verb","mOBJZ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/count_objects_all()
@@ -242,9 +242,9 @@ var/list/admin_verbs_debug_mapping = list(
if(i*10+j <= atom_list.len)
temp_atom = atom_list[i*10+j]
line += " no.[i+10+j]@\[[temp_atom.x], [temp_atom.y], [temp_atom.z]\]; "
- world << line*/
+ to_chat(world, line)*/
- world << "There are [count] objects of type [type_path] in the game world"
+ to_chat(world, "There are [count] objects of type [type_path] in the game world")
feedback_add_details("admin_verb","mOBJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/admin/verbs/massmodvar.dm b/code/modules/admin/verbs/massmodvar.dm
index 1d70cc1f107..a4d4fe4fa9c 100644
--- a/code/modules/admin/verbs/massmodvar.dm
+++ b/code/modules/admin/verbs/massmodvar.dm
@@ -38,7 +38,7 @@
var/var_value = O.vars[variable]
if(variable in VVckey_edit)
- src << "It's forbidden to mass-modify ckeys. It'll crash everyone's client you dummy."
+ to_chat(src, "It's forbidden to mass-modify ckeys. It'll crash everyone's client you dummy.")
return
if(variable in VVlocked)
if(!check_rights(R_DEBUG))
@@ -56,11 +56,11 @@
default = vv_get_class(var_value)
if(isnull(default))
- src << "Unable to determine variable type."
+ to_chat(src, "Unable to determine variable type.")
else
- src << "Variable appears to be [uppertext(default)]."
+ to_chat(src, "Variable appears to be [uppertext(default)].")
- src << "Variable contains: [var_value]"
+ to_chat(src, "Variable contains: [var_value]")
if(default == VV_NUM)
var/dir_text = ""
@@ -75,7 +75,7 @@
dir_text += "WEST"
if(dir_text)
- src << "If a direction, direction is: [dir_text]"
+ to_chat(src, "If a direction, direction is: [dir_text]")
var/value = vv_get_value(default_class = default)
var/new_value = value["value"]
@@ -97,9 +97,9 @@
switch(class)
if(VV_RESTORE_DEFAULT)
- src << "Finding items..."
+ to_chat(src, "Finding items...")
var/list/items = get_all_of_type(O.type, method)
- src << "Changing [items.len] items..."
+ to_chat(src, "Changing [items.len] items...")
for(var/thing in items)
if (!thing)
continue
@@ -123,9 +123,9 @@
for(var/V in varsvars)
new_value = replacetext(new_value,"\[[V]]","[O.vars[V]]")
- src << "Finding items..."
+ to_chat(src, "Finding items...")
var/list/items = get_all_of_type(O.type, method)
- src << "Changing [items.len] items..."
+ to_chat(src, "Changing [items.len] items...")
for(var/thing in items)
if (!thing)
continue
@@ -151,9 +151,9 @@
many = FALSE
var/type = value["type"]
- src << "Finding items..."
+ to_chat(src, "Finding items...")
var/list/items = get_all_of_type(O.type, method)
- src << "Changing [items.len] items..."
+ to_chat(src, "Changing [items.len] items...")
for(var/thing in items)
if (!thing)
continue
@@ -169,9 +169,9 @@
CHECK_TICK
else
- src << "Finding items..."
+ to_chat(src, "Finding items...")
var/list/items = get_all_of_type(O.type, method)
- src << "Changing [items.len] items..."
+ to_chat(src, "Changing [items.len] items...")
for(var/thing in items)
if (!thing)
continue
@@ -185,13 +185,13 @@
var/count = rejected+accepted
if (!count)
- src << "No objects found"
+ to_chat(src, "No objects found")
return
if (!accepted)
- src << "Every object rejected your edit"
+ to_chat(src, "Every object rejected your edit")
return
if (rejected)
- src << "[rejected] out of [count] objects rejected your edit"
+ to_chat(src, "[rejected] out of [count] objects rejected your edit")
log_world("### MassVarEdit by [src]: [O.type] (A/R [accepted]/[rejected]) [variable]=[html_encode("[O.vars[variable]]")]([list2params(value)])")
log_admin("[key_name(src)] mass modified [original_name]'s [variable] to [O.vars[variable]] ([accepted] objects modified)")
diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm
index f2e6b5fb0f2..fc7fc2f5a95 100644
--- a/code/modules/admin/verbs/modifyvariables.dm
+++ b/code/modules/admin/verbs/modifyvariables.dm
@@ -335,7 +335,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
L[var_value] = mod_list_add_ass(O) //hehe
if (O)
if (O.vv_edit_var(objectvar, L) == FALSE)
- src << "Your edit was rejected by the object."
+ to_chat(src, "Your edit was rejected by the object.")
return
log_world("### ListVarEdit by [src]: [(O ? O.type : "/list")] [objectvar]: ADDED=[var_value]")
log_admin("[key_name(src)] modified [original_name]'s [objectvar]: ADDED=[var_value]")
@@ -345,7 +345,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
if(!check_rights(R_VAREDIT))
return
if(!istype(L, /list))
- src << "Not a List."
+ to_chat(src, "Not a List.")
return
if(L.len > 1000)
@@ -378,7 +378,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
L = L.Copy()
listclearnulls(L)
if (!O.vv_edit_var(objectvar, L))
- src << "Your edit was rejected by the object."
+ to_chat(src, "Your edit was rejected by the object.")
return
log_world("### ListVarEdit by [src]: [O.type] [objectvar]: CLEAR NULLS")
log_admin("[key_name(src)] modified [original_name]'s [objectvar]: CLEAR NULLS")
@@ -388,7 +388,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
if(variable == "(CLEAR DUPES)")
L = uniqueList(L)
if (!O.vv_edit_var(objectvar, L))
- src << "Your edit was rejected by the object."
+ to_chat(src, "Your edit was rejected by the object.")
return
log_world("### ListVarEdit by [src]: [O.type] [objectvar]: CLEAR DUPES")
log_admin("[key_name(src)] modified [original_name]'s [objectvar]: CLEAR DUPES")
@@ -398,7 +398,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
if(variable == "(SHUFFLE)")
L = shuffle(L)
if (!O.vv_edit_var(objectvar, L))
- src << "Your edit was rejected by the object."
+ to_chat(src, "Your edit was rejected by the object.")
return
log_world("### ListVarEdit by [src]: [O.type] [objectvar]: SHUFFLE")
log_admin("[key_name(src)] modified [original_name]'s [objectvar]: SHUFFLE")
@@ -427,9 +427,9 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
default = vv_get_class(variable)
- src << "Variable appears to be [uppertext(default)]."
+ to_chat(src, "Variable appears to be [uppertext(default)].")
- src << "Variable contains: [L[index]]"
+ to_chat(src, "Variable contains: [L[index]]")
if(default == VV_NUM)
var/dir_text = ""
@@ -444,7 +444,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
dir_text += "WEST"
if(dir_text)
- usr << "If a direction, direction is: [dir_text]"
+ to_chat(usr, "If a direction, direction is: [dir_text]")
var/original_var
if(assoc)
@@ -475,7 +475,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
L.Cut(index, index+1)
if (O)
if (O.vv_edit_var(objectvar, L))
- src << "Your edit was rejected by the object."
+ to_chat(src, "Your edit was rejected by the object.")
return
log_world("### ListVarEdit by [src]: [O.type] [objectvar]: REMOVED=[html_encode("[original_var]")]")
log_admin("[key_name(src)] modified [original_name]'s [objectvar]: REMOVED=[original_var]")
@@ -494,7 +494,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
L[index] = new_var
if (O)
if (O.vv_edit_var(objectvar, L) == FALSE)
- src << "Your edit was rejected by the object."
+ to_chat(src, "Your edit was rejected by the object.")
return
log_world("### ListVarEdit by [src]: [(O ? O.type : "/list")] [objectvar]: [original_var]=[new_var]")
log_admin("[key_name(src)] modified [original_name]'s [objectvar]: [original_var]=[new_var]")
@@ -510,7 +510,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
if(param_var_name)
if(!param_var_name in O.vars)
- src << "A variable with this name ([param_var_name]) doesn't exist in this datum ([O])"
+ to_chat(src, "A variable with this name ([param_var_name]) doesn't exist in this datum ([O])")
return
variable = param_var_name
@@ -547,11 +547,11 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
var/default = vv_get_class(var_value)
if(isnull(default))
- src << "Unable to determine variable type."
+ to_chat(src, "Unable to determine variable type.")
else
- src << "Variable appears to be [uppertext(default)]."
+ to_chat(src, "Variable appears to be [uppertext(default)].")
- src << "Variable contains: [var_value]"
+ to_chat(src, "Variable contains: [var_value]")
if(default == VV_NUM)
var/dir_text = ""
@@ -566,7 +566,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
dir_text += "WEST"
if(dir_text)
- src << "If a direction, direction is: [dir_text]"
+ to_chat(src, "If a direction, direction is: [dir_text]")
if(autodetect_class && default != VV_NULL)
if (default == VV_TEXT)
@@ -603,7 +603,7 @@ var/list/VVpixelmovement = list("step_x", "step_y", "bound_height", "bound_width
if (O.vv_edit_var(variable, var_new) == FALSE)
- src << "Your edit was rejected by the object."
+ to_chat(src, "Your edit was rejected by the object.")
return
log_world("### VarEdit by [src]: [O.type] [variable]=[html_encode("[O.vars[variable]]")]")
log_admin("[key_name(src)] modified [original_name]'s [variable] to [O.vars[variable]]")
diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm
index c4034ab2e26..c7aa3982b8c 100644
--- a/code/modules/admin/verbs/one_click_antag.dm
+++ b/code/modules/admin/verbs/one_click_antag.dm
@@ -199,9 +199,9 @@
for(var/i = 0, iThe world before you suddenly glows a brilliant yellow. You hear the whooshing steam and clanking cogs of a billion billion machines, and all at once \
+ to_chat(H, "The world before you suddenly glows a brilliant yellow. You hear the whooshing steam and clanking cogs of a billion billion machines, and all at once \
you see the truth. Ratvar, the Clockwork Justiciar, lies derelict and forgotten in an unseen realm, and he has selected you as one of his harbringers. You are now a servant of \
- Ratvar, and you will bring him back."
+ Ratvar, and you will bring him back.")
add_servant_of_ratvar(H, TRUE)
ticker.mode.equip_servant(H)
candidates.Remove(H)
@@ -331,14 +331,14 @@
Commando.mind.objectives += missionobj
//Greet the commando
- Commando << "You are the [numagents==1?"Deathsquad Officer":"Death Commando"]."
+ to_chat(Commando, "You are the [numagents==1?"Deathsquad Officer":"Death Commando"].")
var/missiondesc = "Your squad is being sent on a mission to [station_name()] by Nanotrasen's Security Division."
if(numagents == 1) //If Squad Leader
missiondesc += " Lead your squad to ensure the completion of the mission. Board the shuttle when your team is ready."
else
missiondesc += " Follow orders given to you by your squad leader."
missiondesc += "
Your Mission: [mission]"
- Commando << missiondesc
+ to_chat(Commando, missiondesc)
if(config.enforce_human_authority)
Commando.set_species(/datum/species/human)
@@ -423,8 +423,8 @@
newmob.set_species(/datum/species/human)
//Greet the official
- newmob << "You are a Centcom Official."
- newmob << "
Central Command is sending you to [station_name()] with the task: [mission]"
+ to_chat(newmob, "You are a Centcom Official.")
+ to_chat(newmob, "
Central Command is sending you to [station_name()] with the task: [mission]")
//Logging and cleanup
message_admins("Centcom Official [key_name_admin(newmob)] has spawned with the task: [mission]")
@@ -520,14 +520,14 @@
ERTOperative.mind.objectives += missionobj
//Greet the commando
- ERTOperative << "You are [numagents==1?"the Emergency Response Team Commander":"an Emergency Response Officer"]."
+ to_chat(ERTOperative, "You are [numagents==1?"the Emergency Response Team Commander":"an Emergency Response Officer"].")
var/missiondesc = "Your squad is being sent on a Code [alert] mission to [station_name()] by Nanotrasen's Security Division."
if(numagents == 1) //If Squad Leader
missiondesc += " Lead your squad to ensure the completion of the mission. Avoid civilian casualites when possible. Board the shuttle when your team is ready."
else
missiondesc += " Follow orders given to you by your commander. Avoid civilian casualites when possible."
missiondesc += "
Your Mission: [mission]"
- ERTOperative << missiondesc
+ to_chat(ERTOperative, missiondesc)
if(config.enforce_human_authority)
ERTOperative.set_species(/datum/species/human)
diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm
index 9309139efd0..c7edd166999 100644
--- a/code/modules/admin/verbs/onlyone.dm
+++ b/code/modules/admin/verbs/onlyone.dm
@@ -75,8 +75,8 @@ var/highlander = FALSE
antiwelder.icon_state = "bloodhand_right"
put_in_hands(antiwelder)
- src << "Your [H1.name] cries out for blood. Claim the lives of others, and your own will be restored!\n\
- Activate it in your hand, and it will lead to the nearest target. Attack the nuclear authentication disk with it, and you will store it."
+ to_chat(src, "Your [H1.name] cries out for blood. Claim the lives of others, and your own will be restored!\n\
+ Activate it in your hand, and it will lead to the nearest target. Attack the nuclear authentication disk with it, and you will store it.")
/proc/only_me()
if(!ticker || !ticker.mode)
@@ -94,7 +94,7 @@ var/highlander = FALSE
hijack_objective.owner = H.mind
H.mind.objectives += hijack_objective
- H << "You are the multiverse summoner. Activate your blade to summon copies of yourself from another universe to fight by your side."
+ to_chat(H, "You are the multiverse summoner. Activate your blade to summon copies of yourself from another universe to fight by your side.")
H.mind.announce_objectives()
var/datum/gang/multiverse/G = new(src, "[H.real_name]")
diff --git a/code/modules/admin/verbs/panicbunker.dm b/code/modules/admin/verbs/panicbunker.dm
index ff530656cbf..ac31c26071a 100644
--- a/code/modules/admin/verbs/panicbunker.dm
+++ b/code/modules/admin/verbs/panicbunker.dm
@@ -2,7 +2,7 @@
set category = "Server"
set name = "Toggle Panic Bunker"
if (!config.sql_enabled)
- usr << "The Database is not enabled!"
+ to_chat(usr, "The Database is not enabled!")
return
config.panic_bunker = (!config.panic_bunker)
diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm
index 9da33d33da2..4ebfb9b1c27 100644
--- a/code/modules/admin/verbs/playsound.dm
+++ b/code/modules/admin/verbs/playsound.dm
@@ -13,7 +13,7 @@ var/sound/admin_sound
var/freq = 1
if(SSevent.holidays && SSevent.holidays[APRIL_FOOLS])
freq = pick(0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 1.1, 1.2, 1.4, 1.6, 2.0, 2.5)
- src << "You feel the Honkmother messing with your song..."
+ to_chat(src, "You feel the Honkmother messing with your song...")
var/sound/admin_sound = new()
admin_sound.file = S
@@ -23,11 +23,11 @@ var/sound/admin_sound
admin_sound.wait = 1
admin_sound.repeat = 0
admin_sound.status = SOUND_STREAM
-
+
for(var/mob/M in player_list)
if(M.client.prefs.toggles & SOUND_MIDI)
- M << admin_sound
-
+ to_chat(M, admin_sound)
+
feedback_add_details("admin_verb","PGS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm
index 2b56954f685..4f1ccafc0e0 100644
--- a/code/modules/admin/verbs/possess.dm
+++ b/code/modules/admin/verbs/possess.dm
@@ -4,7 +4,7 @@
if(istype(O,/obj/singularity))
if(config.forbid_singulo_possession)
- usr << "It is forbidden to possess singularities."
+ to_chat(usr, "It is forbidden to possess singularities.")
return
var/turf/T = get_turf(O)
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index 10a444167a1..bb35726331e 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -3,7 +3,7 @@
set name = "Pray"
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
@@ -12,7 +12,7 @@
log_prayer("[src.key]/([src.name]): [msg]")
if(usr.client)
if(usr.client.prefs.muted & MUTE_PRAY)
- usr << "You cannot pray (muted)."
+ to_chat(usr, "You cannot pray (muted).")
return
if(src.client.handle_spam_prevention(msg,MUTE_PRAY))
return
@@ -37,11 +37,11 @@
for(var/client/C in admins)
if(C.prefs.chat_toggles & CHAT_PRAYER)
- C << msg
+ to_chat(C, msg)
if(C.prefs.toggles & SOUND_PRAYERS)
if(usr.job == "Chaplain")
C << 'sound/effects/pray.ogg'
- usr << "Your prayers have been received by the gods."
+ to_chat(usr, "Your prayers have been received by the gods.")
feedback_add_details("admin_verb","PR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
//log_admin("HELP: [key_name(src)]: [msg]")
@@ -53,7 +53,7 @@
[ADMIN_FULLMONTY(Sender)] [ADMIN_BSA(Sender)] \
[ADMIN_CENTCOM_REPLY(Sender)]: \
[msg]"
- admins << msg
+ to_chat(admins, msg)
for(var/obj/machinery/computer/communications/C in machines)
C.overrideCooldown()
@@ -64,7 +64,7 @@
[ADMIN_FULLMONTY(Sender)] [ADMIN_BSA(Sender)] \
[ADMIN_SYNDICATE_REPLY(Sender)]: \
[msg]"
- admins << msg
+ to_chat(admins, msg)
for(var/obj/machinery/computer/communications/C in machines)
C.overrideCooldown()
@@ -76,6 +76,6 @@
[ADMIN_CENTCOM_REPLY(Sender)] \
[ADMIN_SET_SD_CODE]: \
[msg]"
- admins << msg
+ to_chat(admins, msg)
for(var/obj/machinery/computer/communications/C in machines)
C.overrideCooldown()
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index db9d9d04fcb..6645d6592ba 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -2,7 +2,7 @@
set category = null
set name = "Drop Everything"
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/confirm = alert(src, "Make [M] drop everything?", "Message", "Yes", "No")
@@ -26,7 +26,7 @@
if(!ismob(M))
return
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
message_admins("[key_name_admin(src)] has started answering [key_name(M.key, 0, 0)]'s prayer.")
@@ -38,7 +38,7 @@
if(usr)
if (usr.client)
if(usr.client.holder)
- M << "You hear a voice in your head... [msg]"
+ to_chat(M, "You hear a voice in your head... [msg]")
log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]")
message_admins(" SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]")
@@ -49,14 +49,14 @@
set name = "Global Narrate"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/msg = input("Message:", text("Enter the text you wish to appear to everyone:")) as text
if (!msg)
return
- world << "[msg]"
+ to_chat(world, "[msg]")
log_admin("GlobalNarrate: [key_name(usr)] : [msg]")
message_admins("[key_name_admin(usr)] Sent a global narrate")
feedback_add_details("admin_verb","GLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -66,7 +66,7 @@
set name = "Direct Narrate"
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if(!M)
@@ -80,7 +80,7 @@
if( !msg )
return
- M << msg
+ to_chat(M, msg)
log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]")
message_admins(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]
")
feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -90,7 +90,7 @@
set name = "Local Narrate"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if(!A)
return
@@ -101,7 +101,7 @@
if (!msg)
return
for(var/mob/M in view(range,A))
- M << msg
+ to_chat(M, msg)
log_admin("LocalNarrate: [key_name(usr)] at ([get_area(A)]): [msg]")
message_admins(" LocalNarrate: [key_name_admin(usr)] at ([get_area(A)]): [msg]
")
@@ -111,10 +111,10 @@
set category = "Special Verbs"
set name = "Godmode"
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
M.status_flags ^= GODMODE
- usr << "Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]"
+ to_chat(usr, "Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]")
log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]")
message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]")
@@ -172,7 +172,7 @@
log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(whom)] from [mute_string]")
message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(whom)] from [mute_string].")
if(C)
- C << "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin."
+ to_chat(C, "You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.")
feedback_add_details("admin_verb","AUTOMUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -186,7 +186,7 @@
log_admin("[key_name(usr)] has [muteunmute] [key_name(whom)] from [mute_string]")
message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(whom)] from [mute_string].")
if(C)
- C << "You have been [muteunmute] from [mute_string] by [key_name(usr, include_name = FALSE)]."
+ to_chat(C, "You have been [muteunmute] from [mute_string] by [key_name(usr, include_name = FALSE)].")
feedback_add_details("admin_verb","MUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -207,7 +207,7 @@
if(candidates.len)
ckey = input("Pick the player you want to respawn as a xeno.", "Suitable Candidates") as null|anything in candidates
else
- usr << "Error: create_xeno(): no suitable candidates."
+ to_chat(usr, "Error: create_xeno(): no suitable candidates.")
if(!istext(ckey))
return 0
@@ -244,7 +244,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set name = "Respawn Character"
set desc = "Respawn a person that has been gibbed/dusted/killed. They must be a ghost for this to work and preferably should not have a body to go back into."
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/input = ckey(input(src, "Please specify which key will be respawned.", "Key", ""))
if(!input)
@@ -257,7 +257,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
break
if(!G_found)//If a ghost was not found.
- usr << "There is no active key like that in the game or the person is not currently a ghost."
+ to_chat(usr, "There is no active key like that in the game or the person is not currently a ghost.")
return
if(G_found.mind && !G_found.mind.active) //mind isn't currently in use by someone/something
@@ -289,7 +289,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
//Now to give them their mind back.
G_found.mind.transfer_to(new_xeno) //be careful when doing stuff like this! I've already checked the mind isn't in use
new_xeno.key = G_found.key
- new_xeno << "You have been fully respawned. Enjoy the game."
+ to_chat(new_xeno, "You have been fully respawned. Enjoy the game.")
message_admins("[key_name_admin(usr)] has respawned [new_xeno.key] as a filthy xeno.")
return //all done. The ghost is auto-deleted
@@ -299,7 +299,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
var/mob/living/carbon/monkey/new_monkey = new(pick(latejoin))
G_found.mind.transfer_to(new_monkey) //be careful when doing stuff like this! I've already checked the mind isn't in use
new_monkey.key = G_found.key
- new_monkey << "You have been fully respawned. Enjoy the game."
+ to_chat(new_monkey, "You have been fully respawned. Enjoy the game.")
message_admins("[key_name_admin(usr)] has respawned [new_monkey.key] as a filthy xeno.")
return //all done. The ghost is auto-deleted
@@ -399,7 +399,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
message_admins("[admin] has respawned [player_key] as [new_character.real_name].")
- new_character << "You have been fully respawned. Enjoy the game."
+ to_chat(new_character, "You have been fully respawned. Enjoy the game.")
feedback_add_details("admin_verb","RSPCH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return new_character
@@ -408,7 +408,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Fun"
set name = "Add Custom AI law"
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/input = input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null
if(!input)
@@ -430,7 +430,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Rejuvenate"
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if(!mob)
return
@@ -447,7 +447,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Create Command Report"
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null
if(!input)
@@ -469,7 +469,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Change Command Name"
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/input = input(usr, "Please input a new name for Central Command.", "What?", "") as text|null
if(!input)
@@ -483,7 +483,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set name = "Delete"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if (alert(src, "Are you sure you want to delete:\n[O]\nat ([O.x], [O.y], [O.z])?", "Confirmation", "Yes", "No") == "Yes")
@@ -501,7 +501,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set name = "Manage Job Slots"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
holder.manage_free_slots()
feedback_add_details("admin_verb","MFS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -511,7 +511,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set name = "Explosion"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null
@@ -543,7 +543,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set name = "EM Pulse"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/heavy = input("Range of heavy pulse.", text("Input")) as num|null
@@ -567,7 +567,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set name = "Gib"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/confirm = alert(src, "Drop a brain?", "Confirm", "Yes", "No","Cancel")
@@ -606,7 +606,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
var/list/L = M.get_contents()
for(var/t in L)
- usr << "[t]"
+ to_chat(usr, "[t]")
feedback_add_details("admin_verb","CC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/toggle_view_range()
@@ -633,7 +633,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
return
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No")
@@ -670,13 +670,13 @@ Traitors and the like can also be revived with the previous role mostly intact.
set desc = "Make everyone have a random appearance. You can only use this before rounds!"
if(ticker && ticker.mode)
- usr << "Nope you can't do this, the game's already started. This only works before rounds!"
+ to_chat(usr, "Nope you can't do this, the game's already started. This only works before rounds!")
return
if(config.force_random_names)
config.force_random_names = 0
message_admins("Admin [key_name_admin(usr)] has disabled \"Everyone is Special\" mode.")
- usr << "Disabled."
+ to_chat(usr, "Disabled.")
return
@@ -688,9 +688,9 @@ Traitors and the like can also be revived with the previous role mostly intact.
message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.")
if(notifyplayers == "Yes")
- world << "Admin [usr.key] has forced the players to have completely random identities!"
+ to_chat(world, "Admin [usr.key] has forced the players to have completely random identities!")
- usr << "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet."
+ to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.")
config.force_random_names = 1
feedback_add_details("admin_verb","MER") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -702,11 +702,11 @@ Traitors and the like can also be revived with the previous role mostly intact.
set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off"
if(!config.allow_random_events)
config.allow_random_events = 1
- usr << "Random events enabled"
+ to_chat(usr, "Random events enabled")
message_admins("Admin [key_name_admin(usr)] has enabled random events.")
else
config.allow_random_events = 0
- usr << "Random events disabled"
+ to_chat(usr, "Random events disabled")
message_admins("Admin [key_name_admin(usr)] has disabled random events.")
feedback_add_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -717,7 +717,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set desc = "Changes the security level. Announcement only, i.e. setting to Delta won't activate nuke"
if (!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
var/level = input("Select security level to change to","Set Security Level") as null|anything in list("green","blue","red","delta")
@@ -959,7 +959,7 @@ var/list/datum/outfit/custom_outfits = list() //Admin created outfits
var/datum/atom_hud/antag/H = G.ganghud
(adding_hud) ? H.add_hud_to(usr) : H.remove_hud_from(usr)
- usr << "You toggled your admin antag HUD [adding_hud ? "ON" : "OFF"]."
+ to_chat(usr, "You toggled your admin antag HUD [adding_hud ? "ON" : "OFF"].")
message_admins("[key_name_admin(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].")
log_admin("[key_name(usr)] toggled their admin antag HUD [adding_hud ? "ON" : "OFF"].")
feedback_add_details("admin_verb","TAH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -1099,7 +1099,7 @@ var/list/datum/outfit/custom_outfits = list() //Admin created outfits
return
if(ON_PURRBATION(H))
return
- H << "Something is nya~t right."
+ to_chat(H, "Something is nya~t right.")
H.dna.features["tail_human"] = "Cat"
H.dna.features["ears"] = "Cat"
H.regenerate_icons()
@@ -1110,7 +1110,7 @@ var/list/datum/outfit/custom_outfits = list() //Admin created outfits
return
if(!ON_PURRBATION(H))
return
- H << "You are no longer a cat."
+ to_chat(H, "You are no longer a cat.")
H.dna.features["tail_human"] = "None"
H.dna.features["ears"] = "None"
H.regenerate_icons()
diff --git a/code/modules/admin/verbs/reestablish_db_connection.dm b/code/modules/admin/verbs/reestablish_db_connection.dm
index d80ad68c8d0..f8daf79da6e 100644
--- a/code/modules/admin/verbs/reestablish_db_connection.dm
+++ b/code/modules/admin/verbs/reestablish_db_connection.dm
@@ -2,7 +2,7 @@
set category = "Special Verbs"
set name = "Reestablish DB Connection"
if (!config.sql_enabled)
- usr << "The Database is not enabled!"
+ to_chat(usr, "The Database is not enabled!")
return
if (dbcon && dbcon.IsConnected())
diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm
index c50c0354282..119c7a139d2 100644
--- a/code/modules/admin/verbs/tripAI.dm
+++ b/code/modules/admin/verbs/tripAI.dm
@@ -3,18 +3,18 @@
set name = "Create AI Triumvirate"
if(ticker.current_state > GAME_STATE_PREGAME)
- usr << "This option is currently only usable during pregame. This may change at a later date."
+ to_chat(usr, "This option is currently only usable during pregame. This may change at a later date.")
return
var/datum/job/job = SSjob.GetJob("AI")
if(!job)
- usr << "Unable to locate the AI job"
+ to_chat(usr, "Unable to locate the AI job")
return
if(ticker.triai)
ticker.triai = 0
- usr << "Only one AI will be spawned at round start."
+ to_chat(usr, "Only one AI will be spawned at round start.")
message_admins("[key_name_admin(usr)] has toggled off triple AIs at round start.")
else
ticker.triai = 1
- usr << "There will be an AI Triumvirate at round start."
+ to_chat(usr, "There will be an AI Triumvirate at round start.")
message_admins("[key_name_admin(usr)] has toggled on triple AIs at round start.")
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index 0e233cc8331..77a97157350 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -39,7 +39,7 @@
/obj/item/device/assembly/proc/is_secured(mob/user)
if(!secured)
- user << "The [name] is unsecured!"
+ to_chat(user, "The [name] is unsecured!")
return 0
return 1
@@ -87,15 +87,15 @@
if((!A.secured) && (!secured))
holder = new/obj/item/device/assembly_holder(get_turf(src))
holder.assemble(src,A,user)
- user << "You attach and secure \the [A] to \the [src]!"
+ to_chat(user, "You attach and secure \the [A] to \the [src]!")
else
- user << "Both devices must be in attachable mode to be attached together."
+ to_chat(user, "Both devices must be in attachable mode to be attached together.")
return
if(istype(W, /obj/item/weapon/screwdriver))
if(toggle_secure())
- user << "\The [src] is ready!"
+ to_chat(user, "\The [src] is ready!")
else
- user << "\The [src] can now be attached!"
+ to_chat(user, "\The [src] can now be attached!")
return
..()
@@ -103,9 +103,9 @@
/obj/item/device/assembly/examine(mob/user)
..()
if(secured)
- user << "\The [src] is secured and ready to be used."
+ to_chat(user, "\The [src] is secured and ready to be used.")
else
- user << "\The [src] can be attached to other things."
+ to_chat(user, "\The [src] can be attached to other things.")
/obj/item/device/assembly/attack_self(mob/user)
diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm
index 1017b5af82a..481e692a5d7 100644
--- a/code/modules/assembly/bomb.dm
+++ b/code/modules/assembly/bomb.dm
@@ -30,7 +30,7 @@
return
if(istype(W, /obj/item/weapon/wrench) && !status) //This is basically bomb assembly code inverted. apparently it works.
- user << "You disassemble [src]."
+ to_chat(user, "You disassemble [src].")
bombassembly.loc = user.loc
bombassembly.master = null
@@ -47,11 +47,11 @@
status = 1
bombers += "[key_name(user)] welded a single tank bomb. Temp: [bombtank.air_contents.temperature-T0C]"
message_admins("[key_name_admin(user)] welded a single tank bomb. Temp: [bombtank.air_contents.temperature-T0C]")
- user << "A pressure hole has been bored to [bombtank] valve. \The [bombtank] can now be ignited."
+ to_chat(user, "A pressure hole has been bored to [bombtank] valve. \The [bombtank] can now be ignited.")
else
status = 0
bombers += "[key_name(user)] unwelded a single tank bomb. Temp: [bombtank.air_contents.temperature-T0C]"
- user << "The hole has been closed."
+ to_chat(user, "The hole has been closed.")
add_fingerprint(user)
..()
diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm
index 98664cf42da..14ad9a6c3b8 100644
--- a/code/modules/assembly/doorcontrol.dm
+++ b/code/modules/assembly/doorcontrol.dm
@@ -11,7 +11,7 @@
/obj/item/device/assembly/control/examine(mob/user)
..()
if(id)
- user << "Its channel ID is '[id]'."
+ to_chat(user, "Its channel ID is '[id]'.")
/obj/item/device/assembly/control/activate()
diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm
index 83d8640922c..23fb76b992d 100644
--- a/code/modules/assembly/flash.dm
+++ b/code/modules/assembly/flash.dm
@@ -92,12 +92,12 @@
terrible_conversion_proc(M, user)
M.Weaken(rand(4,6))
visible_message("[user] blinds [M] with the flash!")
- user << "You blind [M] with the flash!"
- M << "[user] blinds you with the flash!"
+ to_chat(user, "You blind [M] with the flash!")
+ to_chat(M, "[user] blinds you with the flash!")
else
visible_message("[user] fails to blind [M] with the flash!")
- user << "You fail to blind [M] with the flash!"
- M << "[user] fails to blind you with the flash!"
+ to_chat(user, "You fail to blind [M] with the flash!")
+ to_chat(M, "[user] fails to blind you with the flash!")
else
if(M.flash_act())
M.confused += power
@@ -160,11 +160,11 @@
resisted = 1
if(resisted)
- user << "This mind seems resistant to the flash!"
+ to_chat(user, "This mind seems resistant to the flash!")
else
- user << "They must be conscious before you can convert them!"
+ to_chat(user, "They must be conscious before you can convert them!")
else
- user << "This mind is so vacant that it is not susceptible to influence!"
+ to_chat(user, "This mind is so vacant that it is not susceptible to influence!")
/obj/item/device/assembly/flash/cyborg
@@ -199,7 +199,7 @@
/obj/item/device/assembly/flash/armimplant/burn_out()
if(I && I.owner)
- I.owner << "Your photon projector implant overheats and deactivates!"
+ to_chat(I.owner, "Your photon projector implant overheats and deactivates!")
I.Retract()
overheat = FALSE
addtimer(CALLBACK(src, .proc/cooldown), flashcd * 2)
@@ -207,7 +207,7 @@
/obj/item/device/assembly/flash/armimplant/try_use_flash(mob/user = null)
if(overheat)
if(I && I.owner)
- I.owner << "Your photon projector is running too hot to be used again so quickly!"
+ to_chat(I.owner, "Your photon projector is running too hot to be used again so quickly!")
return FALSE
overheat = TRUE
addtimer(CALLBACK(src, .proc/cooldown), flashcd)
@@ -247,10 +247,10 @@
if(istype(W, /obj/item/device/assembly/flash/handheld))
var/obj/item/device/assembly/flash/handheld/flash = W
if(flash.crit_fail)
- user << "No sense replacing it with a broken bulb."
+ to_chat(user, "No sense replacing it with a broken bulb.")
return
else
- user << "You begin to replace the bulb."
+ to_chat(user, "You begin to replace the bulb.")
if(do_after(user, 20, target = src))
if(flash.crit_fail || !flash || QDELETED(flash))
return
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index da49525d3f1..0897ed8f28b 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -100,7 +100,7 @@
/obj/item/device/assembly_holder/attack_self(mob/user)
src.add_fingerprint(user)
if(!a_left || !a_right)
- user << "Assembly part missing!"
+ to_chat(user, "Assembly part missing!")
return
if(istype(a_left,a_right.type))//If they are the same type it causes issues due to window code
switch(alert("Which side would you like to use?",,"Left","Right"))
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index 9ce556ff2aa..23de148130f 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -145,7 +145,7 @@
/obj/item/device/assembly/infra/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index b5d5e339433..d557aaa03e3 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -11,9 +11,9 @@
/obj/item/device/assembly/mousetrap/examine(mob/user)
..()
if(armed)
- user << "The mousetrap is armed!"
+ to_chat(user, "The mousetrap is armed!")
else
- user << "The mousetrap is not armed."
+ to_chat(user, "The mousetrap is not armed.")
/obj/item/device/assembly/mousetrap/activate()
if(..())
@@ -22,7 +22,7 @@
if(ishuman(usr))
var/mob/living/carbon/human/user = usr
if((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY && prob(50))
- user << "Your hand slips, setting off the trigger!"
+ to_chat(user, "Your hand slips, setting off the trigger!")
pulse(0)
update_icon()
if(usr)
@@ -75,7 +75,7 @@
/obj/item/device/assembly/mousetrap/attack_self(mob/living/carbon/human/user)
if(!armed)
- user << "You arm [src]."
+ to_chat(user, "You arm [src].")
else
if(((user.getBrainLoss() >= 60) || user.disabilities & CLUMSY) && prob(50))
var/which_hand = "l_hand"
@@ -85,7 +85,7 @@
user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \
"You accidentally trigger [src]!")
return
- user << "You disarm [src]."
+ to_chat(user, "You disarm [src].")
armed = !armed
update_icon()
playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index 6e0442ad142..cf00655c3a3 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -102,7 +102,7 @@ Code:
if(secured && signaler2.secured)
code = signaler2.code
frequency = signaler2.frequency
- user << "You transfer the frequency and code of \the [signaler2.name] to \the [name]"
+ to_chat(user, "You transfer the frequency and code of \the [signaler2.name] to \the [name]")
else
..()
diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm
index 4dec8e5851e..9572553f16d 100644
--- a/code/modules/assembly/voice.dm
+++ b/code/modules/assembly/voice.dm
@@ -67,7 +67,7 @@
if(istype(W, /obj/item/device/multitool))
mode %= modes.len
mode++
- user << "You set [src] into a [modes[mode]] mode."
+ to_chat(user, "You set [src] into a [modes[mode]] mode.")
listening = 0
recorded = ""
else
diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm
index 3ca7b264d8f..0c9649bc92d 100644
--- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm
+++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm
@@ -149,7 +149,7 @@ var/list/gaslist_cache = null
if(thermal_energy() > (PLASMA_BINDING_ENERGY*10))
if(cached_gases["plasma"] && cached_gases["co2"] && cached_gases["plasma"][MOLES] > MINIMUM_HEAT_CAPACITY && cached_gases["co2"][MOLES] > MINIMUM_HEAT_CAPACITY && (cached_gases["plasma"][MOLES]+cached_gases["co2"][MOLES])/total_moles() >= FUSION_PURITY_THRESHOLD)//Fusion wont occur if the level of impurities is too high.
//fusion converts plasma and co2 to o2 and n2 (exothermic)
- //world << "pre [temperature, [cached_gases["plasma"][MOLES]], [cached_gases["co2"][MOLES]]
+ //to_chat(world, "pre [temperature, [cached_gases["plasma"][MOLES]], [cached_gases["co2"][MOLES]])
var/old_heat_capacity = heat_capacity()
var/carbon_efficency = min(cached_gases["plasma"][MOLES]/cached_gases["co2"][MOLES],MAX_CARBON_EFFICENCY)
var/reaction_energy = thermal_energy()
@@ -177,7 +177,7 @@ var/list/gaslist_cache = null
if(new_heat_capacity > MINIMUM_HEAT_CAPACITY)
temperature = max(((temperature*old_heat_capacity + reaction_energy)/new_heat_capacity),TCMB)
//Prevents whatever mechanism is causing it to hit negative temperatures.
- //world << "post [temperature], [cached_gases["plasma"][MOLES]], [cached_gases["co2"][MOLES]]
+ //to_chat(world, "post [temperature], [cached_gases["plasma"][MOLES]], [cached_gases["co2"][MOLES]])
*/
if(holder)
if(cached_gases["freon"])
@@ -192,10 +192,10 @@ var/list/gaslist_cache = null
fuel_burnt = 0
if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST)
- //world << "pre [temperature], [cached_gases["o2"][MOLES]], [cached_gases["plasma"][MOLES]]"
+ //to_chat(world, "pre [temperature], [cached_gases["o2"][MOLES]], [cached_gases["plasma"][MOLES]]")
if(fire())
reacting = 1
- //world << "post [temperature], [cached_gases["o2"][MOLES]], [cached_gases["plasma"][MOLES]]"
+ //to_chat(world, "post [temperature], [cached_gases["o2"][MOLES]], [cached_gases["plasma"][MOLES]]")
return reacting
diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm
index 36b8f38a2b7..8bb429f29ba 100644
--- a/code/modules/atmospherics/machinery/airalarm.dm
+++ b/code/modules/atmospherics/machinery/airalarm.dm
@@ -152,7 +152,7 @@
/obj/machinery/airalarm/ui_status(mob/user)
if(user.has_unlimited_silicon_privilege && aidisabled)
- user << "AI control has been disabled."
+ to_chat(user, "AI control has been disabled.")
else if(!shorted)
return ..()
return UI_CLOSE
@@ -404,7 +404,7 @@
signal.data["sigtype"] = "command"
radio_connection.post_signal(src, signal, RADIO_FROM_AIRALARM)
-// world << text("Signal [] Broadcasted to []", command, target)
+// to_chat(world, text("Signal [] Broadcasted to []", command, target))
return 1
@@ -631,7 +631,7 @@
if(2)
if(istype(W, /obj/item/weapon/wirecutters) && panel_open && wires.is_all_cut())
playsound(src.loc, W.usesound, 50, 1)
- user << "You cut the final wires."
+ to_chat(user, "You cut the final wires.")
new /obj/item/stack/cable_coil(loc, 5)
buildstage = 1
update_icon()
@@ -639,18 +639,18 @@
else if(istype(W, /obj/item/weapon/screwdriver)) // Opening that Air Alarm up.
playsound(src.loc, W.usesound, 50, 1)
panel_open = !panel_open
- user << "The wires have been [panel_open ? "exposed" : "unexposed"]."
+ to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].")
update_icon()
return
else if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))// trying to unlock the interface with an ID card
if(stat & (NOPOWER|BROKEN))
- user << "It does nothing!"
+ to_chat(user, "It does nothing!")
else
if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN))
locked = !locked
- user << "You [ locked ? "lock" : "unlock"] the air alarm interface."
+ to_chat(user, "You [ locked ? "lock" : "unlock"] the air alarm interface.")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
else if(panel_open && is_wire_tool(W))
wires.interact(user)
@@ -672,14 +672,14 @@
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/cable = W
if(cable.get_amount() < 5)
- user << "You need five lengths of cable to wire the fire alarm!"
+ to_chat(user, "You need five lengths of cable to wire the fire alarm!")
return
user.visible_message("[user.name] wires the air alarm.", \
"You start wiring the air alarm...")
if (do_after(user, 20, target = src))
if (cable.get_amount() >= 5 && buildstage == 1)
cable.use(5)
- user << "You wire the air alarm."
+ to_chat(user, "You wire the air alarm.")
wires.repair()
aidisabled = 0
locked = 1
@@ -692,14 +692,14 @@
if(0)
if(istype(W, /obj/item/weapon/electronics/airalarm))
if(user.temporarilyRemoveItemFromInventory(W))
- user << "You insert the circuit."
+ to_chat(user, "You insert the circuit.")
buildstage = 1
update_icon()
qdel(W)
return
if(istype(W, /obj/item/weapon/wrench))
- user << "You detach \the [src] from the wall."
+ to_chat(user, "You detach \the [src] from the wall.")
playsound(src.loc, W.usesound, 50, 1)
new /obj/item/wallframe/airalarm( user.loc )
qdel(src)
diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm
index c1c4af14fae..35a80ae3146 100644
--- a/code/modules/atmospherics/machinery/atmosmachinery.dm
+++ b/code/modules/atmospherics/machinery/atmosmachinery.dm
@@ -127,7 +127,7 @@ Pipelines + Other Objects -> Pipe network
if(can_unwrench(user))
var/turf/T = get_turf(src)
if (level==1 && isturf(T) && T.intact)
- user << "You must remove the plating first!"
+ to_chat(user, "You must remove the plating first!")
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
@@ -137,9 +137,9 @@ Pipelines + Other Objects -> Pipe network
var/internal_pressure = int_air.return_pressure()-env_air.return_pressure()
playsound(src.loc, W.usesound, 50, 1)
- user << "You begin to unfasten \the [src]..."
+ to_chat(user, "You begin to unfasten \the [src]...")
if (internal_pressure > 2*ONE_ATMOSPHERE)
- user << "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?"
+ to_chat(user, "As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?")
unsafe_wrenching = TRUE //Oh dear oh dear
if (do_after(user, 20*W.toolspeed, target = src) && !QDELETED(src))
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm
index f11d0a15381..410ef20fa77 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm
@@ -40,7 +40,7 @@
last_pressure_delta = pressure_delta
- //world << "pressure_delta = [pressure_delta]; transfer_moles = [transfer_moles];"
+ //to_chat(world, "pressure_delta = [pressure_delta]; transfer_moles = [transfer_moles];")
//Actually transfer the gas
var/datum/gas_mixture/removed = air2.remove(transfer_moles)
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
index f14fc21ab19..fe0716a9017 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/passive_gate.dm
@@ -169,7 +169,7 @@ Passive gate is similar to the regular pump except:
/obj/machinery/atmospherics/components/binary/passive_gate/can_unwrench(mob/user)
if(..())
if(on)
- user << "You cannot unwrench this [src], turn it off first!"
+ to_chat(user, "You cannot unwrench this [src], turn it off first!")
else
return 1
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
index a500b3841de..742ddfb52e3 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm
@@ -176,7 +176,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/pump/can_unwrench(mob/user)
if(..())
if(!(stat & NOPOWER) && on)
- user << "You cannot unwrench this [src], turn it off first!"
+ to_chat(user, "You cannot unwrench this [src], turn it off first!")
else
return 1
diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
index 6b4bc164574..8aa6bacee57 100644
--- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
+++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm
@@ -172,7 +172,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/volume_pump/can_unwrench(mob/user)
if(..())
if(!(stat & NOPOWER) && on)
- user << "You cannot unwrench this [src], turn it off first!"
+ to_chat(user, "You cannot unwrench this [src], turn it off first!")
else
return 1
diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm
index 6fd8ee734bb..83f5e2cb6a6 100644
--- a/code/modules/atmospherics/machinery/components/components_base.dm
+++ b/code/modules/atmospherics/machinery/components/components_base.dm
@@ -167,6 +167,6 @@ UI Stuff
/obj/machinery/atmospherics/components/ui_status(mob/user)
if(allowed(user))
return ..()
- user << "Access denied."
+ to_chat(user, "Access denied.")
return UI_CLOSE
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
index b592252803d..fd4d55b410e 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm
@@ -189,7 +189,7 @@
return occupant
/obj/machinery/atmospherics/components/unary/cryo_cell/container_resist(mob/living/user)
- user << "You struggle inside the cryotube, kicking the release with your foot... (This will take around 30 seconds.)"
+ to_chat(user, "You struggle inside the cryotube, kicking the release with your foot... (This will take around 30 seconds.)")
audible_message("You hear a thump from [src].")
if(do_after(user, 300))
if(occupant == user) // Check they're still here.
@@ -199,11 +199,11 @@
..()
if(occupant)
if(on)
- user << "Someone's inside [src]!"
+ to_chat(user, "Someone's inside [src]!")
else
- user << "You can barely make out a form floating in [src]."
+ to_chat(user, "You can barely make out a form floating in [src].")
else
- user << "[src] seems empty."
+ to_chat(user, "[src] seems empty.")
/obj/machinery/atmospherics/components/unary/cryo_cell/MouseDrop_T(mob/target, mob/user)
if(user.stat || user.lying || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser())
@@ -214,7 +214,7 @@
if(istype(I, /obj/item/weapon/reagent_containers/glass))
. = 1 //no afterattack
if(beaker)
- user << "A beaker is already loaded into [src]!"
+ to_chat(user, "A beaker is already loaded into [src]!")
return
if(!user.drop_item())
return
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
index 8d1c435b10c..99e59e08911 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/portables_connector.dm
@@ -30,7 +30,7 @@
/obj/machinery/atmospherics/components/unary/portables_connector/can_unwrench(mob/user)
if(..())
if(connected_device)
- user << "You cannot unwrench this [src], detach [connected_device] first!"
+ to_chat(user, "You cannot unwrench this [src], detach [connected_device] first!")
else
return 1
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
index ee7d5a79db3..ca5e4960376 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm
@@ -57,7 +57,7 @@
newtype = heater
name = initial(newtype.name)
build_path = initial(newtype.build_path)
- user << "You change the circuitboard setting to \"[new_setting]\"."
+ to_chat(user, "You change the circuitboard setting to \"[new_setting]\".")
else
return ..()
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
index 22e701f8e6c..d5a37fa150d 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm
@@ -248,7 +248,7 @@
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0,user))
playsound(loc, WT.usesound, 40, 1)
- user << "You begin welding the vent..."
+ to_chat(user, "You begin welding the vent...")
if(do_after(user, 20*W.toolspeed, target = src))
if(!src || !WT.isOn()) return
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
@@ -268,14 +268,14 @@
/obj/machinery/atmospherics/components/unary/vent_pump/can_unwrench(mob/user)
if(..())
if(!(stat & NOPOWER) && on)
- user << "You cannot unwrench this [src], turn it off first!"
+ to_chat(user, "You cannot unwrench this [src], turn it off first!")
else
return 1
/obj/machinery/atmospherics/components/unary/vent_pump/examine(mob/user)
..()
if(welded)
- user << "It seems welded shut."
+ to_chat(user, "It seems welded shut.")
/obj/machinery/atmospherics/components/unary/vent_pump/power_change()
..()
diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
index 455d75d6969..fea01d9868d 100644
--- a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
+++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm
@@ -340,7 +340,7 @@
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
playsound(loc, WT.usesound, 40, 1)
- user << "Now welding the scrubber."
+ to_chat(user, "Now welding the scrubber.")
if(do_after(user, 20*W.toolspeed, target = src))
if(!src || !WT.isOn())
return
@@ -361,7 +361,7 @@
/obj/machinery/atmospherics/components/unary/vent_scrubber/can_unwrench(mob/user)
if(..())
if (!(stat & NOPOWER) && on)
- user << "You cannot unwrench this [src], turn it off first!"
+ to_chat(user, "You cannot unwrench this [src], turn it off first!")
else
return 1
diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm
index d48d55dac51..b9d15b68595 100644
--- a/code/modules/atmospherics/machinery/other/meter.dm
+++ b/code/modules/atmospherics/machinery/other/meter.dm
@@ -94,13 +94,13 @@
/obj/machinery/meter/examine(mob/user)
..()
- user << status()
+ to_chat(user, status())
/obj/machinery/meter/attackby(obj/item/weapon/W, mob/user, params)
if (istype(W, /obj/item/weapon/wrench))
playsound(src.loc, W.usesound, 50, 1)
- user << "You begin to unfasten \the [src]..."
+ to_chat(user, "You begin to unfasten \the [src]...")
if (do_after(user, 40*W.toolspeed, target = src))
user.visible_message( \
"[user] unfastens \the [src].", \
@@ -122,7 +122,7 @@
if(stat & (NOPOWER|BROKEN))
return 1
else
- usr << status()
+ to_chat(usr, status())
return 1
/obj/machinery/meter/singularity_pull(S, current_size)
diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm
index 9b992ce623b..54f1c06252a 100644
--- a/code/modules/atmospherics/machinery/portable/canister.dm
+++ b/code/modules/atmospherics/machinery/portable/canister.dm
@@ -204,11 +204,11 @@
if(!WT.remove_fuel(0, user))
return
playsound(loc, WT.usesound, 40, 1)
- user << "You begin cutting [src] apart..."
+ to_chat(user, "You begin cutting [src] apart...")
if(do_after(user, 30, target = src))
deconstruct(TRUE)
else
- user << "You cannot slice [src] apart when it isn't broken."
+ to_chat(user, "You cannot slice [src] apart when it isn't broken.")
return 1
else
return ..()
diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
index c5c510f95cb..9aaeace67cc 100644
--- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
+++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm
@@ -101,10 +101,10 @@
else
var/obj/machinery/atmospherics/components/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/components/unary/portables_connector) in loc
if(!possible_port)
- user << "Nothing happens."
+ to_chat(user, "Nothing happens.")
return
if(!connect(possible_port))
- user << "[name] failed to connect to the port."
+ to_chat(user, "[name] failed to connect to the port.")
return
playsound(src.loc, W.usesound, 50, 1)
user.visible_message( \
diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm
index 80d8afced5c..b3513cddb80 100644
--- a/code/modules/awaymissions/capture_the_flag.dm
+++ b/code/modules/awaymissions/capture_the_flag.dm
@@ -44,15 +44,14 @@
for(var/mob/M in player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
- M << "\The [src] has been returned \
- to base!"
+ to_chat(M, "\The [src] has been returned to base!")
STOP_PROCESSING(SSobj, src)
/obj/item/weapon/twohanded/ctf/attack_hand(mob/living/user)
if(!user)
return
if(team in user.faction)
- user << "You can't move your own flag!"
+ to_chat(user, "You can't move your own flag!")
return
if(loc == user)
if(!user.dropItemToGround(src))
@@ -66,7 +65,7 @@
for(var/mob/M in player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
- M << "\The [src] has been taken!"
+ to_chat(M, "\The [src] has been taken!")
STOP_PROCESSING(SSobj, src)
/obj/item/weapon/twohanded/ctf/dropped(mob/user)
@@ -77,7 +76,7 @@
for(var/mob/M in player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
- M << "\The [src] has been dropped!"
+ to_chat(M, "\The [src] has been dropped!")
anchored = TRUE
@@ -211,7 +210,7 @@
return
if(user.ckey in team_members)
if(user.ckey in recently_dead_ckeys)
- user << "It must be more than [respawn_cooldown/10] seconds from your last death to respawn!"
+ to_chat(user, "It must be more than [respawn_cooldown/10] seconds from your last death to respawn!")
return
var/client/new_team_member = user.client
if(user.mind && user.mind.current)
@@ -223,10 +222,10 @@
if(CTF == src || CTF.ctf_enabled == FALSE)
continue
if(user.ckey in CTF.team_members)
- user << "No switching teams while the round is going!"
+ to_chat(user, "No switching teams while the round is going!")
return
if(CTF.team_members.len < src.team_members.len)
- user << "[src.team] has more team members than [CTF.team]. Try joining [CTF.team] to even things up."
+ to_chat(user, "[src.team] has more team members than [CTF.team]. Try joining [CTF.team] to even things up.")
return
team_members |= user.ckey
var/client/new_team_member = user.client
@@ -268,7 +267,7 @@
for(var/mob/M in player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
- M << "[user.real_name] has captured \the [flag], scoring a point for [team] team! They now have [points]/[points_to_win] points!"
+ to_chat(M, "[user.real_name] has captured \the [flag], scoring a point for [team] team! They now have [points]/[points_to_win] points!")
if(points >= points_to_win)
victory()
@@ -276,8 +275,8 @@
for(var/mob/M in mob_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
- M << "[team] team wins!"
- M << "The game has been reset! Teams have been cleared. The machines will be active again in 30 seconds."
+ to_chat(M, "[team] team wins!")
+ to_chat(M, "The game has been reset! Teams have been cleared. The machines will be active again in 30 seconds.")
for(var/obj/item/weapon/twohanded/ctf/W in M)
M.dropItemToGround(W)
M.dust()
@@ -536,7 +535,7 @@
/obj/structure/trap/ctf/trap_effect(mob/living/L)
if(!(src.team in L.faction))
- L << "Stay out of the enemy spawn!"
+ to_chat(L, "Stay out of the enemy spawn!")
L.death()
/obj/structure/trap/ctf/red
@@ -606,7 +605,7 @@
for(var/obj/item/weapon/gun/G in M)
qdel(G)
O.equip(M)
- M << "Ammunition reloaded!"
+ to_chat(M, "Ammunition reloaded!")
playsound(get_turf(M), 'sound/weapons/shotgunpump.ogg', 50, 1, -1)
qdel(src)
break
@@ -662,7 +661,7 @@
for(var/mob/M in player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
- M << "[user.real_name] has captured \the [src], claiming it for [CTF.team]! Go take it back!"
+ to_chat(M, "[user.real_name] has captured \the [src], claiming it for [CTF.team]! Go take it back!")
break
#undef WHITE_TEAM
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index a70e280af4e..620633d6dc1 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -25,10 +25,10 @@
if(ticker.current_state != GAME_STATE_PLAYING || !loc)
return
if(!uses)
- user << "This spawner is out of charges!"
+ to_chat(user, "This spawner is out of charges!")
return
if(jobban_isbanned(user, "lavaland"))
- user << "You are jobanned!"
+ to_chat(user, "You are jobanned!")
return
var/ghost_role = alert("Become [mob_name]? (Warning, You can no longer be cloned!)",,"Yes","No")
if(ghost_role == "No" || !loc)
@@ -71,7 +71,7 @@
if(ckey)
M.ckey = ckey
- M << "[flavour_text]"
+ to_chat(M, "[flavour_text]")
var/datum/mind/MM = M.mind
if(objectives)
for(var/objective in objectives)
diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm
index 06ac8850dfc..72bfdeb4cd8 100644
--- a/code/modules/awaymissions/gateway.dm
+++ b/code/modules/awaymissions/gateway.dm
@@ -126,10 +126,10 @@ var/obj/machinery/gateway/centerstation/the_gateway = null
if(!powered())
return
if(!awaygate)
- user << "Error: No destination found."
+ to_chat(user, "Error: No destination found.")
return
if(world.time < wait)
- user << "Error: Warpspace triangulation in progress. Estimated time to completion: [round(((wait - world.time) / 10) / 60)] minutes."
+ to_chat(user, "Error: Warpspace triangulation in progress. Estimated time to completion: [round(((wait - world.time) / 10) / 60)] minutes.")
return
for(var/obj/machinery/gateway/G in linked)
@@ -166,10 +166,10 @@ var/obj/machinery/gateway/centerstation/the_gateway = null
/obj/machinery/gateway/centeraway/attackby(obj/item/device/W, mob/user, params)
if(istype(W,/obj/item/device/multitool))
if(calibrated)
- user << "\black The gate is already calibrated, there is no work for you to do here."
+ to_chat(user, "\black The gate is already calibrated, there is no work for you to do here.")
return
else
- user << "Recalibration successful!: \black This gate's systems have been fine tuned. Travel to this gate will now be on target."
+ to_chat(user, "Recalibration successful!: \black This gate's systems have been fine tuned. Travel to this gate will now be on target.")
calibrated = TRUE
return
@@ -200,7 +200,7 @@ var/obj/machinery/gateway/centerstation/the_gateway = null
if(!detect())
return
if(!stationgate)
- user << "Error: No destination found."
+ to_chat(user, "Error: No destination found.")
return
for(var/obj/machinery/gateway/G in linked)
@@ -219,7 +219,7 @@ var/obj/machinery/gateway/centerstation/the_gateway = null
if(istype(AM, /mob/living/carbon))
var/mob/living/carbon/C = AM
for(var/obj/item/weapon/implant/exile/E in C.implants)//Checking that there is an exile implant
- AM << "\black The station gate has detected your exile implant and is blocking your entry."
+ to_chat(AM, "\black The station gate has detected your exile implant and is blocking your entry.")
return
AM.forceMove(get_step(stationgate.loc, SOUTH))
AM.setDir(SOUTH)
diff --git a/code/modules/awaymissions/mission_code/Academy.dm b/code/modules/awaymissions/mission_code/Academy.dm
index 1e8390d12b1..ee1ead44f5f 100644
--- a/code/modules/awaymissions/mission_code/Academy.dm
+++ b/code/modules/awaymissions/mission_code/Academy.dm
@@ -134,7 +134,7 @@
..()
if(!used)
if(!ishuman(user) || !user.mind || (user.mind in ticker.mode.wizards))
- user << "You feel the magic of the dice is restricted to ordinary humans!"
+ to_chat(user, "You feel the magic of the dice is restricted to ordinary humans!")
return
if(rigged)
effect(user,rigged)
@@ -143,7 +143,7 @@
/obj/item/weapon/dice/d20/fate/equipped(mob/user, slot)
if(!ishuman(user) || !user.mind || (user.mind in ticker.mode.wizards))
- user << "You feel the magic of the dice is restricted to ordinary humans! You should leave it alone."
+ to_chat(user, "You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.")
user.drop_item()
@@ -246,7 +246,7 @@
new /obj/item/weapon/card/id/captains_spare(get_turf(src))
if(19)
//Instrinct Resistance
- user << "You feel robust."
+ to_chat(user, "You feel robust.")
var/datum/species/S = user.dna.species
S.brutemod *= 0.5
S.burnmod *= 0.5
diff --git a/code/modules/awaymissions/mission_code/wildwest.dm b/code/modules/awaymissions/mission_code/wildwest.dm
index cb29656c91c..bb58feff515 100644
--- a/code/modules/awaymissions/mission_code/wildwest.dm
+++ b/code/modules/awaymissions/mission_code/wildwest.dm
@@ -25,18 +25,18 @@
usr.set_machine(src)
if(chargesa <= 0)
- user << "The Wish Granter lies silent."
+ to_chat(user, "The Wish Granter lies silent.")
return
else if(!ishuman(user))
- user << "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's."
+ to_chat(user, "You feel a dark stirring inside of the Wish Granter, something you want nothing of. Your instincts are better than any man's.")
return
else if(is_special_character(user))
- user << "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away."
+ to_chat(user, "Even to a heart as dark as yours, you know nothing good will come of this. Something instinctual makes you pull away.")
else if (!insistinga)
- user << "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?"
+ to_chat(user, "Your first touch makes the Wish Granter stir, listening to you. Are you really sure you want to do this?")
insistinga++
else
@@ -45,36 +45,36 @@
var/wish = input("You want...","Wish") as null|anything in list("Power","Wealth","Immortality","To Kill","Peace")
switch(wish)
if("Power")
- user << "Your wish is granted, but at a terrible cost..."
- user << "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart."
+ to_chat(user, "Your wish is granted, but at a terrible cost...")
+ to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")
user.dna.add_mutation(LASEREYES)
user.dna.add_mutation(COLDRES)
user.dna.add_mutation(XRAY)
user.set_species(/datum/species/shadow)
if("Wealth")
- user << "Your wish is granted, but at a terrible cost..."
- user << "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart."
+ to_chat(user, "Your wish is granted, but at a terrible cost...")
+ to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")
new /obj/structure/closet/syndicate/resources/everything(loc)
user.set_species(/datum/species/shadow)
if("Immortality")
- user << "Your wish is granted, but at a terrible cost..."
- user << "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart."
+ to_chat(user, "Your wish is granted, but at a terrible cost...")
+ to_chat(user, "The Wish Granter punishes you for your selfishness, claiming your soul and warping your body to match the darkness in your heart.")
user.verbs += /mob/living/carbon/proc/immortality
user.set_species(/datum/species/shadow)
if("To Kill")
- user << "Your wish is granted, but at a terrible cost..."
- user << "The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart."
+ to_chat(user, "Your wish is granted, but at a terrible cost...")
+ to_chat(user, "The Wish Granter punishes you for your wickedness, claiming your soul and warping your body to match the darkness in your heart.")
ticker.mode.traitors += user.mind
user.mind.special_role = "traitor"
var/datum/objective/hijack/hijack = new
hijack.owner = user.mind
user.mind.objectives += hijack
- user << "Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!"
+ to_chat(user, "Your inhibitions are swept away, the bonds of loyalty broken, you are free to murder as you please!")
user.mind.announce_objectives()
user.set_species(/datum/species/shadow)
if("Peace")
- user << "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence."
- user << "You feel as if you just narrowly avoided a terrible fate..."
+ to_chat(user, "Whatever alien sentience that the Wish Granter possesses is satisfied with your wish. There is a distant wailing as the last of the Faithless begin to die, then silence.")
+ to_chat(user, "You feel as if you just narrowly avoided a terrible fate...")
for(var/mob/living/simple_animal/hostile/faithless/F in mob_list)
F.death()
@@ -118,10 +118,10 @@
var/mob/living/carbon/C = usr
if(!C.stat)
- C << "You're not dead yet!"
+ to_chat(C, "You're not dead yet!")
return
if(C.has_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT))
- C << "You're already resurrecting!"
+ to_chat(C, "You're already resurrecting!")
return
C.apply_status_effect(STATUS_EFFECT_WISH_GRANTERS_GIFT)
return 1
diff --git a/code/modules/awaymissions/signpost.dm b/code/modules/awaymissions/signpost.dm
index d496e07a6dc..62cb49cb87c 100644
--- a/code/modules/awaymissions/signpost.dm
+++ b/code/modules/awaymissions/signpost.dm
@@ -22,10 +22,9 @@
if(T)
var/area/A = get_area(T)
user.forceMove(T)
- user << "You blink and find yourself \
- in [A.name]."
+ to_chat(user, "You blink and find yourself in [A.name].")
else
- user << "Nothing happens. You feel that this is a bad sign."
+ to_chat(user, "Nothing happens. You feel that this is a bad sign.")
if("No")
return
diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm
index 8a31bda0821..a61c0a0cb50 100644
--- a/code/modules/awaymissions/zlevel.dm
+++ b/code/modules/awaymissions/zlevel.dm
@@ -6,10 +6,10 @@ var/global/list/potentialRandomZlevels = generateMapList(filename = "config/away
return
if(potentialRandomZlevels && potentialRandomZlevels.len)
- world << "Loading away mission..."
+ to_chat(world, "Loading away mission...")
var/map = pick(potentialRandomZlevels)
load_new_z_level(map)
- world << "Away mission loaded."
+ to_chat(world, "Away mission loaded.")
/proc/reset_gateway_spawns(reset = FALSE)
for(var/obj/machinery/gateway/G in world)
diff --git a/code/modules/cargo/export_scanner.dm b/code/modules/cargo/export_scanner.dm
index 04b6b50124d..b8e18769dba 100644
--- a/code/modules/cargo/export_scanner.dm
+++ b/code/modules/cargo/export_scanner.dm
@@ -11,7 +11,7 @@
/obj/item/device/export_scanner/examine(user)
..()
if(!cargo_console)
- user << "The [src] is currently not linked to a cargo console."
+ to_chat(user, "The [src] is currently not linked to a cargo console.")
/obj/item/device/export_scanner/afterattack(obj/O, mob/user, proximity)
if(!istype(O) || !proximity)
@@ -21,17 +21,15 @@
var/obj/machinery/computer/cargo/C = O
if(!C.requestonly)
cargo_console = C
- user << "Scanner linked to [C]."
+ to_chat(user, "Scanner linked to [C].")
else if(!istype(cargo_console))
- user << "You must link [src] to a cargo console first!"
+ to_chat(user, "You must link [src] to a cargo console first!")
else
// Before you fix it:
// yes, checking manifests is a part of intended functionality.
var/price = export_item_and_contents(O, cargo_console.contraband, cargo_console.emagged, dry_run=TRUE)
if(price)
- user << "Scanned [O], value: [price] \
- credits[O.contents.len ? " (contents included)" : ""]."
+ to_chat(user, "Scanned [O], value: [price] credits[O.contents.len ? " (contents included)" : ""].")
else
- user << "Scanned [O], no export value. \
- "
+ to_chat(user, "Scanned [O], no export value.")
diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm
index 31753a4bed8..77ec3bb6e91 100644
--- a/code/modules/client/asset_cache.dm
+++ b/code/modules/client/asset_cache.dm
@@ -89,7 +89,7 @@ You can set verify to TRUE if you want send() to sleep until the client has the
if(!unreceived || !unreceived.len)
return 0
if (unreceived.len >= ASSET_CACHE_TELL_CLIENT_AMOUNT)
- client << "Sending Resources..."
+ to_chat(client, "Sending Resources...")
for(var/asset in unreceived)
if (asset in SSasset.cache)
client << browse_rsc(SSasset.cache[asset], asset)
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index e806743bdbe..d2cd0f8d004 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -31,7 +31,7 @@
// asset_cache
if(href_list["asset_cache_confirm_arrival"])
- //src << "ASSET JOB [href_list["asset_cache_confirm_arrival"]] ARRIVED."
+ //to_chat(src, "ASSET JOB [href_list["asset_cache_confirm_arrival"]] ARRIVED.")
var/job = text2num(href_list["asset_cache_confirm_arrival"])
//because we skip the limiter, we have to make sure this is a valid arrival and not somebody tricking us
// into letting append to a list without limit.
@@ -54,7 +54,7 @@
msg += " Administrators have been informed."
log_game("[key_name(src)] Has hit the per-minute topic limit of [config.minutetopiclimit] topic calls in a given game minute")
message_admins("[key_name_admin(src)] [ADMIN_KICK(usr)] Has hit the per-minute topic limit of [config.minutetopiclimit] topic calls in a given game minute")
- src << "[msg]"
+ to_chat(src, "[msg]")
return
if (!holder && config.secondtopiclimit)
@@ -66,12 +66,12 @@
topiclimiter[SECOND_COUNT] = 0
topiclimiter[SECOND_COUNT] += 1
if (topiclimiter[SECOND_COUNT] > config.secondtopiclimit)
- src << "Your previous action was ignored because you've done too many in a second"
+ to_chat(src, "Your previous action was ignored because you've done too many in a second")
return
//Logs all hrefs
if(config && config.log_hrefs && href_logfile)
- href_logfile << "[time2text(world.timeofday,"hh:mm")] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
"
+ to_chat(href_logfile, "[time2text(world.timeofday,"hh:mm")] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
")
// Admin PM
if(href_list["priv_msg"])
@@ -100,7 +100,7 @@
/client/proc/is_content_unlocked()
if(!prefs.unlock_content)
- src << "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! Click Here to find out more."
+ to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! Click Here to find out more.")
return 0
return 1
@@ -108,11 +108,11 @@
if(config.automute_on && !holder && src.last_message == message)
src.last_message_count++
if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE)
- src << "You have exceeded the spam filter limit for identical messages. An auto-mute was applied."
+ to_chat(src, "You have exceeded the spam filter limit for identical messages. An auto-mute was applied.")
cmd_admin_mute(src, mute_type, 1)
return 1
if(src.last_message_count >= SPAM_TRIGGER_WARNING)
- src << "You are nearing the spam filter limit for identical messages."
+ to_chat(src, "You are nearing the spam filter limit for identical messages.")
return 0
else
last_message = message
@@ -122,13 +122,13 @@
//This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc.
/client/AllowUpload(filename, filelength)
if(filelength > UPLOAD_LIMIT)
- src << "Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB."
+ to_chat(src, "Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.")
return 0
/* //Don't need this at the moment. But it's here if it's needed later.
//Helps prevent multiple files being uploaded at once. Or right after eachother.
var/time_to_wait = fileaccess_timer - world.time
if(time_to_wait > 0)
- src << "Error: AllowUpload(): Spam prevention. Please wait [round(time_to_wait/10)] seconds."
+ to_chat(src, "Error: AllowUpload(): Spam prevention. Please wait [round(time_to_wait/10)] seconds.")
return 0
fileaccess_timer = world.time + FTPDELAY */
return 1
@@ -174,7 +174,7 @@ var/next_external_rsc = 0
autorank = R
break
if(!autorank)
- world << "Autoadmin rank not found"
+ to_chat(world, "Autoadmin rank not found")
else
var/datum/admins/D = new(autorank, ckey)
admin_datums[ckey] = D
@@ -201,30 +201,30 @@ var/next_external_rsc = 0
connection_timeofday = world.timeofday
winset(src, null, "command=\".configure graphics-hwmode on\"")
if (byond_version < config.client_error_version) //Out of date client.
- src << "Your version of byond is too old:"
- src << config.client_error_message
- src << "Your version: [byond_version]"
- src << "Required version: [config.client_error_version] or later"
- src << "Visit http://www.byond.com/download/ to get the latest version of byond."
+ to_chat(src, "Your version of byond is too old:")
+ to_chat(src, config.client_error_message)
+ to_chat(src, "Your version: [byond_version]")
+ to_chat(src, "Required version: [config.client_error_version] or later")
+ to_chat(src, "Visit http://www.byond.com/download/ to get the latest version of byond.")
if (holder)
- src << "Because you are an admin, you are being allowed to walk past this limitation, But it is still STRONGLY suggested you upgrade"
+ to_chat(src, "Because you are an admin, you are being allowed to walk past this limitation, But it is still STRONGLY suggested you upgrade")
else
qdel(src)
return 0
else if (byond_version < config.client_warn_version) //We have words for this client.
- src << "Your version of byond may be getting out of date:"
- src << config.client_warn_message
- src << "Your version: [byond_version]"
- src << "Required version to remove this message: [config.client_warn_version] or later"
- src << "Visit http://www.byond.com/download/ to get the latest version of byond."
+ to_chat(src, "Your version of byond may be getting out of date:")
+ to_chat(src, config.client_warn_message)
+ to_chat(src, "Your version: [byond_version]")
+ to_chat(src, "Required version to remove this message: [config.client_warn_version] or later")
+ to_chat(src, "Visit http://www.byond.com/download/ to get the latest version of byond.")
if (connection == "web" && !holder)
if (!config.allowwebclient)
- src << "Web client is disabled"
+ to_chat(src, "Web client is disabled")
qdel(src)
return 0
if (config.webclientmembersonly && !IsByondMember())
- src << "Sorry, but the web client is restricted to byond members only."
+ to_chat(src, "Sorry, but the web client is restricted to byond members only.")
qdel(src)
return 0
@@ -234,10 +234,10 @@ var/next_external_rsc = 0
if(holder)
add_admin_verbs()
- src << get_message_output("memo")
+ to_chat(src, get_message_output("memo"))
adminGreet()
if((global.comms_key == "default_pwd" || length(global.comms_key) <= 6) && global.comms_allowed) //It's the default value or less than 6 characters long, but it somehow didn't disable comms.
- src << "The server's API key is either too short or is the default value! Consider changing it immediately!"
+ to_chat(src, "The server's API key is either too short or is the default value! Consider changing it immediately!")
add_verbs_from_config()
set_client_age_from_db()
@@ -246,9 +246,9 @@ var/next_external_rsc = 0
if (config.panic_bunker && !holder && !(ckey in deadmins))
log_access("Failed Login: [key] - New account attempting to connect during panic bunker")
message_admins("Failed Login: [key] - New account attempting to connect during panic bunker")
- src << "Sorry but the server is currently not accepting connections from never before seen players."
+ to_chat(src, "Sorry but the server is currently not accepting connections from never before seen players.")
if(config.allow_panic_bunker_bounce && tdata != "redirect")
- src << "Sending you to [config.panic_server_name]."
+ to_chat(src, "Sending you to [config.panic_server_name].")
winset(src, null, "command=.options")
src << link("[config.panic_address]?redirect")
qdel(src)
@@ -279,7 +279,7 @@ var/next_external_rsc = 0
screen += void
if(prefs.lastchangelog != changelog_hash) //bolds the changelog button on the interface so we know there are updates.
- src << "You have unread updates in the changelog."
+ to_chat(src, "You have unread updates in the changelog.")
if(config.aggressive_changelog)
changelog()
else
@@ -287,14 +287,14 @@ var/next_external_rsc = 0
if(ckey in clientmessages)
for(var/message in clientmessages[ckey])
- src << message
+ to_chat(src, message)
clientmessages.Remove(ckey)
if(config && config.autoconvert_notes)
convert_notes_sql(ckey)
- src << get_message_output("message", ckey)
+ to_chat(src, get_message_output("message", ckey))
if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them.
- src << "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you."
+ to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.")
//This is down here because of the browse() calls in tooltip/New()
@@ -414,8 +414,8 @@ var/next_external_rsc = 0
if (oldcid != computer_id) //IT CHANGED!!!
cidcheck -= ckey //so they can try again after removing the cid randomizer.
- src << "Connection Error:"
- src << "Invalid ComputerID(spoofed). Please remove the ComputerID spoofer from your byond installation and try again."
+ to_chat(src, "Connection Error:")
+ to_chat(src, "Invalid ComputerID(spoofed). Please remove the ComputerID spoofer from your byond installation and try again.")
if (!cidcheck_failedckeys[ckey])
message_admins("[key_name(src)] has been detected as using a cid randomizer. Connection rejected.")
@@ -460,7 +460,7 @@ var/next_external_rsc = 0
var/url = winget(src, null, "url")
//special javascript to make them reconnect under a new window.
src << browse("byond://[url]?token=[token]", "border=0;titlebar=0;size=1x1")
- src << "You will be automatically taken to the game, if not, click here to be taken manually"
+ to_chat(src, "You will be automatically taken to the game, if not, click here to be taken manually")
/client/proc/note_randomizer_user()
var/const/adminckey = "CID-Error"
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index f3eb9223635..de9a35b25ef 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -678,7 +678,7 @@ var/list/preferences_datums = list()
return
if (!isnum(desiredLvl))
- user << "UpdateJobPreference - desired level was not a number. Please notify coders!"
+ to_chat(user, "UpdateJobPreference - desired level was not a number. Please notify coders!")
ShowChoices(user)
return
@@ -759,7 +759,7 @@ var/list/preferences_datums = list()
if(text2num(duration) > 0)
text += ". The ban is for [duration] minutes and expires on [expiration_time] (server time)"
text += "."
- user << text
+ to_chat(user, text)
return
if(href_list["preference"] == "job")
@@ -856,7 +856,7 @@ var/list/preferences_datums = list()
if(new_name)
real_name = new_name
else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and ."
+ to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")
if("age")
var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference") as num|null
@@ -971,7 +971,7 @@ var/list/preferences_datums = list()
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#7F7F7F")[3]) // mutantcolors must be bright, but only if they affect the skin
features["mcolor"] = sanitize_hexcolor(new_mutantcolor)
else
- user << "Invalid color. Your color is not bright enough."
+ to_chat(user, "Invalid color. Your color is not bright enough.")
if("tail_lizard")
var/new_tail
@@ -1058,42 +1058,42 @@ var/list/preferences_datums = list()
if(new_clown_name)
custom_names["clown"] = new_clown_name
else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and ."
+ to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")
if("mime_name")
var/new_mime_name = reject_bad_name( input(user, "Choose your character's mime name:", "Character Preference") as text|null )
if(new_mime_name)
custom_names["mime"] = new_mime_name
else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and ."
+ to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")
if("ai_name")
var/new_ai_name = reject_bad_name( input(user, "Choose your character's AI name:", "Character Preference") as text|null, 1 )
if(new_ai_name)
custom_names["ai"] = new_ai_name
else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and ."
+ to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and .")
if("cyborg_name")
var/new_cyborg_name = reject_bad_name( input(user, "Choose your character's cyborg name:", "Character Preference") as text|null, 1 )
if(new_cyborg_name)
custom_names["cyborg"] = new_cyborg_name
else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and ."
+ to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, 0-9, -, ' and .")
if("religion_name")
var/new_religion_name = reject_bad_name( input(user, "Choose your character's religion:", "Character Preference") as text|null )
if(new_religion_name)
custom_names["religion"] = new_religion_name
else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and ."
+ to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")
if("deity_name")
var/new_deity_name = reject_bad_name( input(user, "Choose your character's deity:", "Character Preference") as text|null )
if(new_deity_name)
custom_names["deity"] = new_deity_name
else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and ."
+ to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")
if("sec_dept")
var/department = input(user, "Choose your prefered security department:", "Security Departments") as null|anything in security_depts_prefs
diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm
index bae87ba87b2..963da256330 100644
--- a/code/modules/client/preferences_toggles.dm
+++ b/code/modules/client/preferences_toggles.dm
@@ -4,7 +4,7 @@
set category = "Preferences"
set desc = ".Toggle Between seeing all mob speech, and only speech of nearby mobs"
prefs.chat_toggles ^= CHAT_GHOSTEARS
- src << "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTEARS) ? "see all speech in the world" : "only see speech from nearby mobs"]."
+ to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTEARS) ? "see all speech in the world" : "only see speech from nearby mobs"].")
prefs.save_preferences()
feedback_add_details("admin_verb","TGE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -13,7 +13,7 @@
set category = "Preferences"
set desc = ".Toggle Between seeing all mob emotes, and only emotes of nearby mobs"
prefs.chat_toggles ^= CHAT_GHOSTSIGHT
- src << "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTSIGHT) ? "see all emotes in the world" : "only see emotes from nearby mobs"]."
+ to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTSIGHT) ? "see all emotes in the world" : "only see emotes from nearby mobs"].")
prefs.save_preferences()
feedback_add_details("admin_verb","TGS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -22,7 +22,7 @@
set category = "Preferences"
set desc = ".Toggle between hearing all whispers, and only whispers of nearby mobs"
prefs.chat_toggles ^= CHAT_GHOSTWHISPER
- src << "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTWHISPER) ? "see all whispers in the world" : "only see whispers from nearby mobs"]."
+ to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTWHISPER) ? "see all whispers in the world" : "only see whispers from nearby mobs"].")
prefs.save_preferences()
feedback_add_details("admin_verb","TGW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -31,7 +31,7 @@
set category = "Preferences"
set desc = ".Enable or disable hearing radio chatter as a ghost"
prefs.chat_toggles ^= CHAT_GHOSTRADIO
- src << "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTRADIO) ? "see radio chatter" : "not see radio chatter"]."
+ to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTRADIO) ? "see radio chatter" : "not see radio chatter"].")
prefs.save_preferences()
feedback_add_details("admin_verb","TGR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //social experiment, increase the generation whenever you copypaste this shamelessly GENERATION 1
@@ -40,7 +40,7 @@
set category = "Preferences"
set desc = ".Toggle Between seeing all mob pda messages, and only pda messages of nearby mobs"
prefs.chat_toggles ^= CHAT_GHOSTPDA
- src << "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTPDA) ? "see all pda messages in the world" : "only see pda messages from nearby mobs"]."
+ to_chat(src, "As a ghost, you will now [(prefs.chat_toggles & CHAT_GHOSTPDA) ? "see all pda messages in the world" : "only see pda messages from nearby mobs"].")
prefs.save_preferences()
feedback_add_details("admin_verb","TGP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -51,7 +51,7 @@
if(!holder) return
prefs.chat_toggles ^= CHAT_RADIO
prefs.save_preferences()
- usr << "You will [(prefs.chat_toggles & CHAT_RADIO) ? "now" : "no longer"] see radio chatter from nearby radios or speakers"
+ to_chat(usr, "You will [(prefs.chat_toggles & CHAT_RADIO) ? "now" : "no longer"] see radio chatter from nearby radios or speakers")
feedback_add_details("admin_verb","THR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/verb/toggle_deathrattle()
@@ -61,9 +61,7 @@
die."
prefs.toggles ^= DISABLE_DEATHRATTLE
prefs.save_preferences()
- usr << "You will \
- [(prefs.toggles & DISABLE_DEATHRATTLE) ? "no longer" : "now"] get \
- messages when a sentient mob dies."
+ to_chat(usr, "You will [(prefs.toggles & DISABLE_DEATHRATTLE) ? "no longer" : "now"] get messages when a sentient mob dies.")
feedback_add_details("admin_verb", "TDR") // If you are copy-pasting this, maybe you should spend some time reading the comments.
/client/verb/toggle_arrivalrattle()
@@ -72,9 +70,7 @@
set desc = "Toggle recieving a message in deadchat when someone joins \
the station."
prefs.toggles ^= DISABLE_ARRIVALRATTLE
- usr << "You will \
- [(prefs.toggles & DISABLE_ARRIVALRATTLE) ? "no longer" : "now"] get \
- messages when someone joins the station."
+ to_chat(usr, "You will [(prefs.toggles & DISABLE_ARRIVALRATTLE) ? "no longer" : "now"] get messages when someone joins the station.")
prefs.save_preferences()
feedback_add_details("admin_verb", "TAR") // If you are copy-pasting this, maybe you should rethink where your life went so wrong.
@@ -86,7 +82,7 @@
return
prefs.toggles ^= SOUND_ADMINHELP
prefs.save_preferences()
- usr << "You will [(prefs.toggles & SOUND_ADMINHELP) ? "now" : "no longer"] hear a sound when adminhelps arrive."
+ to_chat(usr, "You will [(prefs.toggles & SOUND_ADMINHELP) ? "now" : "no longer"] hear a sound when adminhelps arrive.")
feedback_add_details("admin_verb","AHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/toggleannouncelogin()
@@ -97,7 +93,7 @@
return
prefs.toggles ^= ANNOUNCE_LOGIN
prefs.save_preferences()
- usr << "You will [(prefs.toggles & ANNOUNCE_LOGIN) ? "now" : "no longer"] have an announcement to other admins when you login."
+ to_chat(usr, "You will [(prefs.toggles & ANNOUNCE_LOGIN) ? "now" : "no longer"] have an announcement to other admins when you login.")
feedback_add_details("admin_verb","TAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/deadchat()
@@ -106,7 +102,7 @@
set desc ="Toggles seeing deadchat"
prefs.chat_toggles ^= CHAT_DEAD
prefs.save_preferences()
- src << "You will [(prefs.chat_toggles & CHAT_DEAD) ? "now" : "no longer"] see deadchat."
+ to_chat(src, "You will [(prefs.chat_toggles & CHAT_DEAD) ? "now" : "no longer"] see deadchat.")
feedback_add_details("admin_verb","TDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/toggleprayers()
@@ -115,7 +111,7 @@
set desc = "Toggles seeing prayers"
prefs.chat_toggles ^= CHAT_PRAYER
prefs.save_preferences()
- src << "You will [(prefs.chat_toggles & CHAT_PRAYER) ? "now" : "no longer"] see prayerchat."
+ to_chat(src, "You will [(prefs.chat_toggles & CHAT_PRAYER) ? "now" : "no longer"] see prayerchat.")
feedback_add_details("admin_verb","TP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/verb/toggleprayersounds()
@@ -125,9 +121,9 @@
prefs.toggles ^= SOUND_PRAYERS
prefs.save_preferences()
if(prefs.toggles & SOUND_PRAYERS)
- src << "You will now hear prayer sounds."
+ to_chat(src, "You will now hear prayer sounds.")
else
- src << "You will no longer prayer sounds."
+ to_chat(src, "You will no longer prayer sounds.")
feedback_add_details("admin_verb", "PSounds")
/client/verb/togglemidroundantag()
@@ -136,7 +132,7 @@
set desc = "Toggles whether or not you will be considered for antagonist status given during a round."
prefs.toggles ^= MIDROUND_ANTAG
prefs.save_preferences()
- src << "You will [(prefs.toggles & MIDROUND_ANTAG) ? "now" : "no longer"] be considered for midround antagonist positions."
+ to_chat(src, "You will [(prefs.toggles & MIDROUND_ANTAG) ? "now" : "no longer"] be considered for midround antagonist positions.")
feedback_add_details("admin_verb","TMidroundA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/verb/toggletitlemusic()
@@ -146,11 +142,11 @@
prefs.toggles ^= SOUND_LOBBY
prefs.save_preferences()
if(prefs.toggles & SOUND_LOBBY)
- src << "You will now hear music in the game lobby."
+ to_chat(src, "You will now hear music in the game lobby.")
if(isnewplayer(mob))
playtitlemusic()
else
- src << "You will no longer hear music in the game lobby."
+ to_chat(src, "You will no longer hear music in the game lobby.")
if(isnewplayer(mob))
mob.stopLobbySound()
feedback_add_details("admin_verb","TLobby") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -162,14 +158,14 @@
prefs.toggles ^= SOUND_MIDI
prefs.save_preferences()
if(prefs.toggles & SOUND_MIDI)
- src << "You will now hear any sounds uploaded by admins."
+ to_chat(src, "You will now hear any sounds uploaded by admins.")
if(admin_sound)
- src << admin_sound
+ to_chat(src, admin_sound)
else
- src << "You will no longer hear sounds uploaded by admins; any currently playing midis have been disabled."
+ to_chat(src, "You will no longer hear sounds uploaded by admins; any currently playing midis have been disabled.")
if(admin_sound && !(admin_sound.status & SOUND_PAUSED))
admin_sound.status |= SOUND_PAUSED
- src << admin_sound
+ to_chat(src, admin_sound)
admin_sound.status ^= SOUND_PAUSED
feedback_add_details("admin_verb","TMidi") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -186,7 +182,7 @@
set desc = "Toggles seeing OutOfCharacter chat"
prefs.chat_toggles ^= CHAT_OOC
prefs.save_preferences()
- src << "You will [(prefs.chat_toggles & CHAT_OOC) ? "now" : "no longer"] see messages on the OOC channel."
+ to_chat(src, "You will [(prefs.chat_toggles & CHAT_OOC) ? "now" : "no longer"] see messages on the OOC channel.")
feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/verb/Toggle_Soundscape() //All new ambience should be added here so it works with this verb until someone better at things comes up with a fix that isn't awful
@@ -196,9 +192,9 @@
prefs.toggles ^= SOUND_AMBIENCE
prefs.save_preferences()
if(prefs.toggles & SOUND_AMBIENCE)
- src << "You will now hear ambient sounds."
+ to_chat(src, "You will now hear ambient sounds.")
else
- src << "You will no longer hear ambient sounds."
+ to_chat(src, "You will no longer hear ambient sounds.")
src << sound(null, repeat = 0, wait = 0, volume = 0, channel = 1)
src << sound(null, repeat = 0, wait = 0, volume = 0, channel = 2)
feedback_add_details("admin_verb","TAmbi") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -211,9 +207,9 @@
prefs.toggles ^= SOUND_INSTRUMENTS
prefs.save_preferences()
if(prefs.toggles & SOUND_INSTRUMENTS)
- src << "You will now hear people playing musical instruments."
+ to_chat(src, "You will now hear people playing musical instruments.")
else
- src << "You will no longer hear musical instruments."
+ to_chat(src, "You will no longer hear musical instruments.")
feedback_add_details("admin_verb","TInstru") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
//Lots of people get headaches from the normal ship ambience, this is to prevent that
@@ -224,9 +220,9 @@
prefs.toggles ^= SOUND_SHIP_AMBIENCE
prefs.save_preferences()
if(prefs.toggles & SOUND_SHIP_AMBIENCE)
- src << "You will now hear ship ambience."
+ to_chat(src, "You will now hear ship ambience.")
else
- src << "You will no longer hear ship ambience."
+ to_chat(src, "You will no longer hear ship ambience.")
src << sound(null, repeat = 0, wait = 0, volume = 0, channel = 2)
src.ambience_playing = 0
feedback_add_details("admin_verb", "SAmbi") //If you are copy-pasting this, I bet you read this comment expecting to see the same thing :^)
@@ -315,7 +311,7 @@ var/global/list/ghost_orbits = list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS
set category = "Preferences"
set desc = "Toggle between directly clicking the desired intent or clicking to rotate through."
prefs.toggles ^= INTENT_STYLE
- src << "[(prefs.toggles & INTENT_STYLE) ? "Clicking directly on intents selects them." : "Clicking on intents rotates selection clockwise."]"
+ to_chat(src, "[(prefs.toggles & INTENT_STYLE) ? "Clicking directly on intents selects them." : "Clicking on intents rotates selection clockwise."]")
prefs.save_preferences()
feedback_add_details("admin_verb","ITENTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -332,7 +328,7 @@ var/global/list/ghost_orbits = list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS
set desc = "Hide/Show Ghost HUD"
prefs.ghost_hud = !prefs.ghost_hud
- src << "Ghost HUD will now be [prefs.ghost_hud ? "visible" : "hidden"]."
+ to_chat(src, "Ghost HUD will now be [prefs.ghost_hud ? "visible" : "hidden"].")
prefs.save_preferences()
if(isobserver(mob))
mob.hud_used.show_hud()
@@ -345,15 +341,15 @@ var/global/list/ghost_orbits = list(GHOST_ORBIT_CIRCLE,GHOST_ORBIT_TRIANGLE,GHOS
prefs.inquisitive_ghost = !prefs.inquisitive_ghost
prefs.save_preferences()
if(prefs.inquisitive_ghost)
- src << "You will now examine everything you click on."
+ to_chat(src, "You will now examine everything you click on.")
else
- src << "You will no longer examine things you click on."
+ to_chat(src, "You will no longer examine things you click on.")
/client/verb/toggle_announcement_sound()
set name = "Hear/Silence Announcements"
set category = "Preferences"
set desc = ".Toggles hearing Central Command, Captain, VOX, and other announcement sounds"
prefs.toggles ^= SOUND_ANNOUNCEMENTS
- src << "You will now [(prefs.toggles & SOUND_ANNOUNCEMENTS) ? "hear announcement sounds" : "no longer hear announcements"]."
+ to_chat(src, "You will now [(prefs.toggles & SOUND_ANNOUNCEMENTS) ? "hear announcement sounds" : "no longer hear announcements"].")
prefs.save_preferences()
feedback_add_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm
index 8a53d5a7649..2200bf5de7d 100644
--- a/code/modules/client/verbs/ooc.dm
+++ b/code/modules/client/verbs/ooc.dm
@@ -3,14 +3,14 @@
set category = "OOC"
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
if(!mob)
return
if(IsGuestKey(key))
- src << "Guests may not use OOC."
+ to_chat(src, "Guests may not use OOC.")
return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
@@ -26,27 +26,27 @@
return
if(!(prefs.chat_toggles & CHAT_OOC))
- src << "You have OOC muted."
+ to_chat(src, "You have OOC muted.")
return
if(!holder)
if(!ooc_allowed)
- src << "OOC is globally muted."
+ to_chat(src, "OOC is globally muted.")
return
if(!dooc_allowed && (mob.stat == DEAD))
- usr << "OOC for dead mobs has been turned off."
+ to_chat(usr, "OOC for dead mobs has been turned off.")
return
if(prefs.muted & MUTE_OOC)
- src << "You cannot use OOC (muted)."
+ to_chat(src, "You cannot use OOC (muted).")
return
if(src.mob)
if(jobban_isbanned(src.mob, "OOC"))
- src << "You have been banned from OOC."
+ to_chat(src, "You have been banned from OOC.")
return
if(handle_spam_prevention(msg,MUTE_OOC))
return
if(findtext(msg, "byond://"))
- src << "Advertising other servers is not allowed."
+ to_chat(src, "Advertising other servers is not allowed.")
log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]")
return
@@ -64,13 +64,13 @@
if(holder)
if(!holder.fakekey || C.holder)
if(check_rights_for(src, R_ADMIN))
- C << "[config.allow_admin_ooccolor && prefs.ooccolor ? "" :"" ]OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]"
+ to_chat(C, "[config.allow_admin_ooccolor && prefs.ooccolor ? "" :"" ]OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]")
else
- C << "OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]"
+ to_chat(C, "OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]")
else
- C << "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]"
+ to_chat(C, "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]")
else if(!(key in C.prefs.ignoring))
- C << "OOC: [keyname]: [msg]"
+ to_chat(C, "OOC: [keyname]: [msg]")
/proc/toggle_ooc(toggle = null)
if(toggle != null) //if we're specifically en/disabling ooc
@@ -80,7 +80,7 @@
return
else //otherwise just toggle it
ooc_allowed = !ooc_allowed
- world << "The OOC channel has been globally [ooc_allowed ? "enabled" : "disabled"]."
+ to_chat(world, "The OOC channel has been globally [ooc_allowed ? "enabled" : "disabled"].")
var/global/normal_ooc_colour = OOC_COLOR
@@ -130,9 +130,9 @@ var/global/normal_ooc_colour = OOC_COLOR
set desc ="Check the admin notice if it has been set"
if(admin_notice)
- src << "Admin Notice:\n \t [admin_notice]"
+ to_chat(src, "Admin Notice:\n \t [admin_notice]")
else
- src << "There are no admin notices at the moment."
+ to_chat(src, "There are no admin notices at the moment.")
/client/verb/motd()
set name = "MOTD"
@@ -140,9 +140,9 @@ var/global/normal_ooc_colour = OOC_COLOR
set desc ="Check the Message of the Day"
if(join_motd)
- src << "[join_motd]
"
+ to_chat(src, "[join_motd]
")
else
- src << "The Message of the Day has not been set."
+ to_chat(src, "The Message of the Day has not been set.")
/client/proc/self_notes()
set name = "View Admin Remarks"
@@ -150,7 +150,7 @@ var/global/normal_ooc_colour = OOC_COLOR
set desc = "View the notes that admins have written about you"
if(!config.see_own_notes)
- usr << "Sorry, that function is not enabled on this server."
+ to_chat(usr, "Sorry, that function is not enabled on this server.")
return
browse_messages(null, usr.ckey, null, 1)
@@ -161,7 +161,7 @@ var/global/normal_ooc_colour = OOC_COLOR
prefs.ignoring -= C.key
else
prefs.ignoring |= C.key
- src << "You are [(C.key in prefs.ignoring) ? "now" : "no longer"] ignoring [C.key] on the OOC channel."
+ to_chat(src, "You are [(C.key in prefs.ignoring) ? "now" : "no longer"] ignoring [C.key] on the OOC channel.")
prefs.save_preferences()
/client/verb/select_ignore()
@@ -173,6 +173,6 @@ var/global/normal_ooc_colour = OOC_COLOR
if(!selection)
return
if(selection == src)
- src << "You can't ignore yourself."
+ to_chat(src, "You can't ignore yourself.")
return
ignore_key(selection)
diff --git a/code/modules/client/verbs/ping.dm b/code/modules/client/verbs/ping.dm
index e7b000334f0..41bd1b889cf 100644
--- a/code/modules/client/verbs/ping.dm
+++ b/code/modules/client/verbs/ping.dm
@@ -14,7 +14,7 @@
/client/verb/display_ping(time as num)
set instant = TRUE
set name = ".display_ping"
- src << "Round trip ping took [round(pingfromtime(time),1)]ms"
+ to_chat(src, "Round trip ping took [round(pingfromtime(time),1)]ms")
/client/verb/ping()
set name = "Ping"
diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm
index 4a21414cfe2..eea95501a85 100644
--- a/code/modules/client/verbs/suicide.dm
+++ b/code/modules/client/verbs/suicide.dm
@@ -124,7 +124,7 @@
"[src] bleeps electronically.")
death(0)
else
- src << "Aborting suicide attempt."
+ to_chat(src, "Aborting suicide attempt.")
/mob/living/carbon/alien/humanoid/verb/suicide()
set hidden = 1
@@ -160,18 +160,18 @@
if(stat == CONSCIOUS)
return TRUE
else if(stat == DEAD)
- src << "You're already dead!"
+ to_chat(src, "You're already dead!")
else if(stat == UNCONSCIOUS)
- src << "You need to be conscious to suicide!"
+ to_chat(src, "You need to be conscious to suicide!")
return
/mob/living/carbon/canSuicide()
if(!..())
return
if(!canmove || restrained()) //just while I finish up the new 'fun' suiciding verb. This is to prevent metagaming via suicide
- src << "You can't commit suicide whilst restrained! ((You can type Ghost instead however.))"
+ to_chat(src, "You can't commit suicide whilst restrained! ((You can type Ghost instead however.))")
return
if(has_brain_worms())
- src << "You can't bring yourself to commit suicide!"
+ to_chat(src, "You can't bring yourself to commit suicide!")
return
return TRUE
diff --git a/code/modules/client/verbs/who.dm b/code/modules/client/verbs/who.dm
index aa60254bccf..d926ade68be 100644
--- a/code/modules/client/verbs/who.dm
+++ b/code/modules/client/verbs/who.dm
@@ -54,7 +54,7 @@
msg += "[line]\n"
msg += "Total Players: [length(Lines)]"
- src << msg
+ to_chat(src, msg)
/client/verb/adminwho()
set category = "Admin"
@@ -85,5 +85,5 @@
if(!C.holder.fakekey)
msg += "\t[C] is a [C.holder.rank]\n"
msg += "Adminhelps are also sent to IRC. If no admins are available in game adminhelp anyways and an admin on IRC will see it and respond."
- src << msg
+ to_chat(src, msg)
diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm
index 0f0a7532f6d..54d158386c5 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -55,7 +55,7 @@
else if(istype(old_headgear,/obj/item/clothing/mask/chameleon/drone))
new_headgear = new /obj/item/clothing/head/chameleon/drone()
else
- owner << "You shouldn't be able to toggle a camogear helmetmask if you're not wearing it"
+ to_chat(owner, "You shouldn't be able to toggle a camogear helmetmask if you're not wearing it")
if(new_headgear)
// Force drop the item in the headslot, even though
// it's NODROP
@@ -360,7 +360,7 @@
/obj/item/clothing/mask/chameleon/attack_self(mob/user)
vchange = !vchange
- user << "The voice changer is now [vchange ? "on" : "off"]!"
+ to_chat(user, "The voice changer is now [vchange ? "on" : "off"]!")
/obj/item/clothing/mask/chameleon/drone
@@ -379,7 +379,7 @@
randomise_action.UpdateButtonIcon()
/obj/item/clothing/mask/chameleon/drone/attack_self(mob/user)
- user << "The [src] does not have a voice changer."
+ to_chat(user, "The [src] does not have a voice changer.")
/obj/item/clothing/shoes/chameleon
name = "black shoes"
@@ -540,7 +540,7 @@
/obj/item/weapon/storage/belt/chameleon
name = "toolbelt"
desc = "Holds tools."
- silent = 1
+ silent = 1
var/datum/action/item_action/chameleon/change/chameleon_action
/obj/item/weapon/storage/belt/chameleon/New()
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index a272db541ef..a5142480dbc 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -76,7 +76,7 @@
C.use(1)
update_clothes_damaged_state(FALSE)
obj_integrity = max_integrity
- user << "You fix the damages on [src] with [C]."
+ to_chat(user, "You fix the damages on [src] with [C].")
return 1
if(pockets)
var/i = pockets.attackby(W, user, params)
@@ -92,7 +92,7 @@
pockets.remove_from_storage(I, get_turf(src))
if(!user.put_in_hands(I))
- user << "You fumble for [I] and it falls on the floor."
+ to_chat(user, "You fumble for [I] and it falls on the floor.")
return 1
user.visible_message("[user] draws [I] from [src]!", "You draw [I] from [src].")
return 1
@@ -133,7 +133,7 @@
/obj/item/clothing/examine(mob/user)
..()
if(damaged_clothes)
- user << "It looks damaged!"
+ to_chat(user, "It looks damaged!")
/obj/item/clothing/obj_break(damage_flag)
if(!damaged_clothes)
@@ -325,11 +325,11 @@ BLIND // can't see anything
flags |= visor_flags
flags_inv |= visor_flags_inv
flags_cover |= visor_flags_cover
- user << "You push \the [src] back into place."
+ to_chat(user, "You push \the [src] back into place.")
slot_flags = initial(slot_flags)
else
icon_state += "_up"
- user << "You push \the [src] out of the way."
+ to_chat(user, "You push \the [src] out of the way.")
gas_transfer_coefficient = null
permeability_coefficient = null
flags &= ~visor_flags
@@ -542,7 +542,7 @@ BLIND // can't see anything
var/obj/item/clothing/tie/T = I
if(hastie)
if(user)
- user << "[src] already has an accessory."
+ to_chat(user, "[src] already has an accessory.")
return 0
else
if(user && !user.drop_item())
@@ -551,7 +551,7 @@ BLIND // can't see anything
return
if(user && notifyAttach)
- user << "You attach [I] to [src]."
+ to_chat(user, "You attach [I] to [src].")
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -569,9 +569,9 @@ BLIND // can't see anything
var/obj/item/clothing/tie/T = hastie
hastie.detach(src, user)
if(user.put_in_hands(T))
- user << "You detach [T] from [src]."
+ to_chat(user, "You detach [T] from [src].")
else
- user << "You detach [T] from [src] and it falls on the floor."
+ to_chat(user, "You detach [T] from [src] and it falls on the floor.")
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -582,20 +582,20 @@ BLIND // can't see anything
..()
if(can_adjust)
if(adjusted == ALT_STYLE)
- user << "Alt-click on [src] to wear it normally."
+ to_chat(user, "Alt-click on [src] to wear it normally.")
else
- user << "Alt-click on [src] to wear it casually."
+ to_chat(user, "Alt-click on [src] to wear it casually.")
switch(sensor_mode)
if(0)
- user << "Its sensors appear to be disabled."
+ to_chat(user, "Its sensors appear to be disabled.")
if(1)
- user << "Its binary life sensors appear to be enabled."
+ to_chat(user, "Its binary life sensors appear to be enabled.")
if(2)
- user << "Its vital tracker appears to be enabled."
+ to_chat(user, "Its vital tracker appears to be enabled.")
if(3)
- user << "Its vital tracker and tracking beacon appear to be enabled."
+ to_chat(user, "Its vital tracker and tracking beacon appear to be enabled.")
if(hastie)
- user << "\A [hastie] is attached to it."
+ to_chat(user, "\A [hastie] is attached to it.")
/proc/generate_female_clothing(index,t_color,icon,type)
var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color)
@@ -614,29 +614,29 @@ BLIND // can't see anything
if (!can_use(M))
return
if(src.has_sensor >= 2)
- usr << "The controls are locked."
+ to_chat(usr, "The controls are locked.")
return 0
if(src.has_sensor <= 0)
- usr << "This suit does not have any sensors."
+ to_chat(usr, "This suit does not have any sensors.")
return 0
var/list/modes = list("Off", "Binary vitals", "Exact vitals", "Tracking beacon")
var/switchMode = input("Select a sensor mode:", "Suit Sensor Mode", modes[sensor_mode + 1]) in modes
if(get_dist(usr, src) > 1)
- usr << "You have moved too far away!"
+ to_chat(usr, "You have moved too far away!")
return
sensor_mode = modes.Find(switchMode) - 1
if (src.loc == usr)
switch(sensor_mode)
if(0)
- usr << "You disable your suit's remote sensing equipment."
+ to_chat(usr, "You disable your suit's remote sensing equipment.")
if(1)
- usr << "Your suit will now only report whether you are alive or dead."
+ to_chat(usr, "Your suit will now only report whether you are alive or dead.")
if(2)
- usr << "Your suit will now only report your exact vital lifesigns."
+ to_chat(usr, "Your suit will now only report your exact vital lifesigns.")
if(3)
- usr << "Your suit will now report your exact vital lifesigns as well as your coordinate position."
+ to_chat(usr, "Your suit will now report your exact vital lifesigns as well as your coordinate position.")
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
@@ -650,7 +650,7 @@ BLIND // can't see anything
return 1
if(!user.canUseTopic(src, be_close=TRUE))
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
else
if(hastie)
@@ -668,12 +668,12 @@ BLIND // can't see anything
if(!can_use(usr))
return
if(!can_adjust)
- usr << "You cannot wear this suit any differently!"
+ to_chat(usr, "You cannot wear this suit any differently!")
return
if(toggle_jumpsuit_adjust())
- usr << "You adjust the suit to wear it more casually."
+ to_chat(usr, "You adjust the suit to wear it more casually.")
else
- usr << "You adjust the suit back to normal."
+ to_chat(usr, "You adjust the suit back to normal.")
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
H.update_inv_w_uniform()
@@ -700,7 +700,7 @@ BLIND // can't see anything
visor_toggling()
- user << "You adjust \the [src] [up ? "up" : "down"]."
+ to_chat(user, "You adjust \the [src] [up ? "up" : "down"].")
if(iscarbon(user))
var/mob/living/carbon/C = user
diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm
index a3324d5b2ed..cd079db247a 100644
--- a/code/modules/clothing/glasses/engine_goggles.dm
+++ b/code/modules/clothing/glasses/engine_goggles.dm
@@ -19,13 +19,13 @@
vision_flags = 0
darkness_view = 2
invis_view = SEE_INVISIBLE_LIVING
- user << "You toggle the goggles' scanning mode to \[T-Ray]."
+ to_chat(user, "You toggle the goggles' scanning mode to \[T-Ray].")
else
STOP_PROCESSING(SSobj, src)
vision_flags = SEE_TURFS
darkness_view = 1
invis_view = SEE_INVISIBLE_MINIMUM
- loc << "You toggle the goggles' scanning mode to \[Meson]."
+ to_chat(loc, "You toggle the goggles' scanning mode to \[Meson].")
invis_update()
if(ishuman(user))
@@ -121,10 +121,10 @@
if(on)
START_PROCESSING(SSobj, src)
- user << "You turn the goggles on."
+ to_chat(user, "You turn the goggles on.")
else
STOP_PROCESSING(SSobj, src)
- user << "You turn the goggles off."
+ to_chat(user, "You turn the goggles off.")
invis_update()
update_icon()
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index ae749941362..990949467ad 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -23,7 +23,7 @@
var/mob/living/carbon/human/H = src.loc
if(!(H.disabilities & BLIND))
if(H.glasses == src)
- H << "The [src] overloads and blinds you!"
+ to_chat(H, "The [src] overloads and blinds you!")
H.flash_act(visual = 1)
H.blind_eyes(3)
H.blur_eyes(5)
@@ -334,7 +334,7 @@
var/mob/living/carbon/C = user
C.update_inv_wear_mask()
else
- user << "The eye winks at you and vanishes into the abyss, you feel really unlucky."
+ to_chat(user, "The eye winks at you and vanishes into the abyss, you feel really unlucky.")
qdel(src)
..()
@@ -346,9 +346,9 @@
if(src == H.glasses)
H.client.prefs.uses_glasses_colour = !H.client.prefs.uses_glasses_colour
if(H.client.prefs.uses_glasses_colour)
- H << "You will now see glasses colors."
+ to_chat(H, "You will now see glasses colors.")
else
- H << "You will no longer see glasses colors."
+ to_chat(H, "You will no longer see glasses colors.")
H.update_glasses_color(src, 1)
else
return ..()
diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm
index 662407d1606..c23a87f0b04 100644
--- a/code/modules/clothing/glasses/hud.dm
+++ b/code/modules/clothing/glasses/hud.dm
@@ -25,7 +25,7 @@
/obj/item/clothing/glasses/hud/emag_act(mob/user)
if(emagged == 0)
emagged = 1
- user << "PZZTTPFFFT"
+ to_chat(user, "PZZTTPFFFT")
desc = desc + " The display flickers slightly."
/obj/item/clothing/glasses/hud/health
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index 9d9b41f84ff..4e3eecdd0ae 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -44,7 +44,7 @@
/obj/item/clothing/gloves/color/black/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/weapon/wirecutters))
if(can_be_cut && icon_state == initial(icon_state))//only if not dyed
- user << "You snip the fingertips off of [src]."
+ to_chat(user, "You snip the fingertips off of [src].")
playsound(user.loc, W.usesound, rand(10,50), 1)
new /obj/item/clothing/gloves/fingerless(user.loc)
qdel(src)
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index a934ae27ad8..643a1d6611f 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -64,7 +64,7 @@
flags_inv ^= visor_flags_inv
flags_cover ^= visor_flags_cover
icon_state = "[initial(icon_state)][up ? "up" : ""]"
- user << "[up ? alt_toggle_message : toggle_message] \the [src]"
+ to_chat(user, "[up ? alt_toggle_message : toggle_message] \the [src]")
user.update_inv_head()
if(iscarbon(user))
@@ -248,7 +248,7 @@
if(!F)
if(!user.transferItemToLoc(S, src))
return
- user << "You click [S] into place on [src]."
+ to_chat(user, "You click [S] into place on [src].")
if(S.on)
set_light(0)
F = S
@@ -263,7 +263,7 @@
if(istype(I, /obj/item/weapon/screwdriver))
if(F)
for(var/obj/item/device/flashlight/seclite/S in src)
- user << "You unscrew the seclite from [src]."
+ to_chat(user, "You unscrew the seclite from [src].")
F = null
S.loc = get_turf(user)
update_helmlight(user)
@@ -289,7 +289,7 @@
if(user.incapacitated())
return
F.on = !F.on
- user << "You toggle the helmetlight [F.on ? "on":"off"]."
+ to_chat(user, "You toggle the helmetlight [F.on ? "on":"off"].")
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
update_helmlight(user)
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index 66afb9181f8..f7ec9c5cfca 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -88,10 +88,10 @@
if(candy_cooldown < world.time)
var/obj/item/weapon/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/weapon/reagent_containers/food/snacks/candy_corn(src)
M.put_in_hands(CC)
- M << "You slip a candy corn from your hat."
+ to_chat(M, "You slip a candy corn from your hat.")
candy_cooldown = world.time+1200
else
- M << "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash."
+ to_chat(M, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.")
//Mime
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index 23eb1ad2708..f1bf4aac759 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -96,12 +96,12 @@
src.icon_state = "ushankaup"
src.item_state = "ushankaup"
earflaps = 0
- user << "You raise the ear flaps on the ushanka."
+ to_chat(user, "You raise the ear flaps on the ushanka.")
else
src.icon_state = "ushankadown"
src.item_state = "ushankadown"
earflaps = 1
- user << "You lower the ear flaps on the ushanka."
+ to_chat(user, "You lower the ear flaps on the ushanka.")
/*
* Pumpkin head
diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm
index 4aac0629f34..774d7d4f63d 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -24,7 +24,7 @@
/obj/item/clothing/head/soft/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
else
flip(user)
@@ -35,15 +35,15 @@
src.flipped = !src.flipped
if(src.flipped)
icon_state = "[item_color]soft_flipped"
- user << "You flip the hat backwards."
+ to_chat(user, "You flip the hat backwards.")
else
icon_state = "[item_color]soft"
- user << "You flip the hat back in normal position."
+ to_chat(user, "You flip the hat back in normal position.")
usr.update_inv_head() //so our mob-overlays update
/obj/item/clothing/head/soft/examine(mob/user)
..()
- user << "Alt-click the cap to flip it [flipped ? "forwards" : "backwards"]."
+ to_chat(user, "Alt-click the cap to flip it [flipped ? "forwards" : "backwards"].")
/obj/item/clothing/head/soft/red
name = "red cap"
diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm
index bf94d4a3ea7..0ab1f9fe8e0 100644
--- a/code/modules/clothing/masks/breath.dm
+++ b/code/modules/clothing/masks/breath.dm
@@ -20,14 +20,14 @@
/obj/item/clothing/mask/breath/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
else
adjustmask(user)
/obj/item/clothing/mask/breath/examine(mob/user)
..()
- user << "Alt-click [src] to adjust it."
+ to_chat(user, "Alt-click [src] to adjust it.")
/obj/item/clothing/mask/breath/medical
desc = "A close-fitting sterile mask that can be connected to an air supply."
diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm
index 8cbc9395f68..6e5aad44df0 100644
--- a/code/modules/clothing/masks/gasmask.dm
+++ b/code/modules/clothing/masks/gasmask.dm
@@ -78,7 +78,7 @@
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
- user << "Your Clown Mask has now morphed into [choice], all praise the Honkmother!"
+ to_chat(user, "Your Clown Mask has now morphed into [choice], all praise the Honkmother!")
return 1
/obj/item/clothing/mask/gas/sexyclown
@@ -99,7 +99,7 @@
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE
actions_types = list(/datum/action/item_action/adjust)
-
+
/obj/item/clothing/mask/gas/mime/ui_action_click(mob/user)
if(!istype(user) || user.incapacitated())
@@ -119,7 +119,7 @@
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
- user << "Your Mime Mask has now morphed into [choice]!"
+ to_chat(user, "Your Mime Mask has now morphed into [choice]!")
return 1
/obj/item/clothing/mask/gas/monkeymask
@@ -193,5 +193,5 @@ obj/item/clothing/mask/gas/tiki_mask/ui_action_click(mob/user)
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
- M << "The Tiki Mask has now changed into the [choice] Mask!"
+ to_chat(M, "The Tiki Mask has now changed into the [choice] Mask!")
return 1
diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm
index cd4282a0477..10b72616923 100644
--- a/code/modules/clothing/masks/hailer.dm
+++ b/code/modules/clothing/masks/hailer.dm
@@ -40,19 +40,19 @@
if(istype(W, /obj/item/weapon/screwdriver))
switch(aggressiveness)
if(1)
- user << "You set the restrictor to the middle position."
+ to_chat(user, "You set the restrictor to the middle position.")
aggressiveness = 2
if(2)
- user << "You set the restrictor to the last position."
+ to_chat(user, "You set the restrictor to the last position.")
aggressiveness = 3
if(3)
- user << "You set the restrictor to the first position."
+ to_chat(user, "You set the restrictor to the first position.")
aggressiveness = 1
if(4)
- user << "You adjust the restrictor but nothing happens, probably because it's broken."
+ to_chat(user, "You adjust the restrictor but nothing happens, probably because it's broken.")
else if(istype(W, /obj/item/weapon/wirecutters))
if(aggressiveness != 4)
- user << "You broke the restrictor!"
+ to_chat(user, "You broke the restrictor!")
aggressiveness = 4
else
..()
@@ -68,7 +68,7 @@
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user as mob)
if(safety)
safety = FALSE
- user << "You silently fry [src]'s vocal circuit with the cryptographic sequencer."
+ to_chat(user, "You silently fry [src]'s vocal circuit with the cryptographic sequencer.")
else
return
@@ -81,7 +81,7 @@
if(!can_use(usr))
return
if(broken_hailer)
- usr << "\The [src]'s hailing system is broken."
+ to_chat(usr, "\The [src]'s hailing system is broken.")
return
var/phrase = 0 //selects which phrase to use
@@ -96,12 +96,12 @@
switch(recent_uses)
if(3)
- usr << "\The [src] is starting to heat up."
+ to_chat(usr, "\The [src] is starting to heat up.")
if(4)
- usr << "\The [src] is heating up dangerously from overuse!"
+ to_chat(usr, "\The [src] is heating up dangerously from overuse!")
if(5) //overload
broken_hailer = 1
- usr << "\The [src]'s power modulator overloads and breaks."
+ to_chat(usr, "\The [src]'s power modulator overloads and breaks.")
return
switch(aggressiveness) // checks if the user has unlocked the restricted phrases
diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm
index 6773a8ab1d3..54a787fadde 100644
--- a/code/modules/clothing/masks/miscellaneous.dm
+++ b/code/modules/clothing/masks/miscellaneous.dm
@@ -12,7 +12,7 @@
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.wear_mask)
- user << "You need help taking this off!"
+ to_chat(user, "You need help taking this off!")
return
..()
@@ -57,7 +57,7 @@
/obj/item/clothing/mask/pig/attack_self(mob/user)
voicechange = !voicechange
- user << "You turn the voice box [voicechange ? "on" : "off"]!"
+ to_chat(user, "You turn the voice box [voicechange ? "on" : "off"]!")
/obj/item/clothing/mask/pig/speechModification(message)
if(voicechange)
diff --git a/code/modules/clothing/shoes/bananashoes.dm b/code/modules/clothing/shoes/bananashoes.dm
index 8dcfa75407c..15cbc11c9fa 100644
--- a/code/modules/clothing/shoes/bananashoes.dm
+++ b/code/modules/clothing/shoes/bananashoes.dm
@@ -26,48 +26,48 @@
on = !on
flags &= ~NOSLIP
update_icon()
- loc << "You ran out of bananium!"
+ to_chat(loc, "You ran out of bananium!")
else
..()
/obj/item/clothing/shoes/clown_shoes/banana_shoes/attack_self(mob/user)
var/sheet_amount = bananium.retrieve_all()
if(sheet_amount)
- user << "You retrieve [sheet_amount] sheets of bananium from the prototype shoes."
+ to_chat(user, "You retrieve [sheet_amount] sheets of bananium from the prototype shoes.")
else
- user << "You cannot retrieve any bananium from the prototype shoes."
+ to_chat(user, "You cannot retrieve any bananium from the prototype shoes.")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/attackby(obj/item/O, mob/user, params)
if(!bananium.get_item_material_amount(O))
- user << "This item has no bananium!"
+ to_chat(user, "This item has no bananium!")
return
if(!user.dropItemToGround(O))
- user << "You can't drop [O]!"
+ to_chat(user, "You can't drop [O]!")
return
var/bananium_amount = bananium.insert_item(O)
if(bananium_amount)
- user << "You insert [O] into the prototype shoes."
+ to_chat(user, "You insert [O] into the prototype shoes.")
qdel(O)
else
- user << "You are unable to insert more bananium!"
+ to_chat(user, "You are unable to insert more bananium!")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/examine(mob/user)
..()
var/ban_amt = bananium.amount(MAT_BANANIUM)
- user << "The shoes are [on ? "enabled" : "disabled"]. There is [ban_amt ? ban_amt : "no"] bananium left."
+ to_chat(user, "The shoes are [on ? "enabled" : "disabled"]. There is [ban_amt ? ban_amt : "no"] bananium left.")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/ui_action_click(mob/user)
if(bananium.amount(MAT_BANANIUM))
on = !on
update_icon()
- user << "You [on ? "activate" : "deactivate"] the prototype shoes."
+ to_chat(user, "You [on ? "activate" : "deactivate"] the prototype shoes.")
if(on)
flags |= NOSLIP
else
flags &= ~NOSLIP
else
- user << "You need bananium to turn the prototype shoes on!"
+ to_chat(user, "You need bananium to turn the prototype shoes on!")
/obj/item/clothing/shoes/clown_shoes/banana_shoes/update_icon()
if(on)
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index 46a7830cddb..54980a103c6 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -108,6 +108,6 @@
if(ishuman(user))
var/mob/living/carbon/human/C = user
if(C.shoes == src && src.chained == 1)
- user << "You need help taking these off!"
+ to_chat(user, "You need help taking these off!")
return
..()
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 70d9d8c28a8..694d6121f5a 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -29,7 +29,7 @@
src.slowdown = slowdown_active
magpulse = !magpulse
icon_state = "[magboot_state][magpulse]"
- user << "You [magpulse ? "enable" : "disable"] the mag-pulse traction system."
+ to_chat(user, "You [magpulse ? "enable" : "disable"] the mag-pulse traction system.")
user.update_inv_shoes() //so our mob-overlays update
user.update_gravity(user.has_gravity())
for(var/X in actions)
@@ -41,7 +41,7 @@
/obj/item/clothing/shoes/magboots/examine(mob/user)
..()
- user << "Its mag-pulse traction system appears to be [magpulse ? "enabled" : "disabled"]."
+ to_chat(user, "Its mag-pulse traction system appears to be [magpulse ? "enabled" : "disabled"].")
/obj/item/clothing/shoes/magboots/advance
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 693fec80cb3..2cdd1dfb871 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -190,7 +190,7 @@
return
if(recharging_time > world.time)
- usr << "The boot's internal propulsion needs to recharge still!"
+ to_chat(usr, "The boot's internal propulsion needs to recharge still!")
return
var/atom/target = get_edge_target_turf(usr, usr.dir) //gets the user's direction
diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm
index ff281a7cb3c..15e4d3f885a 100644
--- a/code/modules/clothing/spacesuits/chronosuit.dm
+++ b/code/modules/clothing/spacesuits/chronosuit.dm
@@ -72,8 +72,8 @@
switch(severity)
if(1)
if(activated && user && ishuman(user) && (user.wear_suit == src))
- user << "E:FATAL:RAM_READ_FAIL\nE:FATAL:STACK_EMPTY\nE:FATAL:READ_NULL_POINT\nE:FATAL:PWR_BUS_OVERLOAD"
- user << "An electromagnetic pulse disrupts your [name] and violently tears you out of time-bluespace!"
+ to_chat(user, "E:FATAL:RAM_READ_FAIL\nE:FATAL:STACK_EMPTY\nE:FATAL:READ_NULL_POINT\nE:FATAL:PWR_BUS_OVERLOAD")
+ to_chat(user, "An electromagnetic pulse disrupts your [name] and violently tears you out of time-bluespace!")
user.emote("scream")
deactivate(1, 1)
@@ -129,7 +129,7 @@
for(var/exposed_item in exposed)
var/obj/item/exposed_I = exposed_item
if(exposed_I && !(exposed_I.type in chronosafe_items) && user.dropItemToGround(exposed_I))
- user << "Your [exposed_I.name] got left behind."
+ to_chat(user, "Your [exposed_I.name] got left behind.")
user.ExtinguishMob()
@@ -201,24 +201,24 @@
activating = 1
var/mob/living/carbon/human/user = src.loc
if(user && ishuman(user) && user.wear_suit == src)
- user << "\nChronosuitMK4 login: root"
- user << "Password:\n"
- user << "root@ChronosuitMK4# chronowalk4 --start\n"
+ to_chat(user, "\nChronosuitMK4 login: root")
+ to_chat(user, "Password:\n")
+ to_chat(user, "root@ChronosuitMK4# chronowalk4 --start\n")
if(user.head && istype(user.head, /obj/item/clothing/head/helmet/space/chronos))
- user << "\[ ok \] Mounting /dev/helm"
+ to_chat(user, "\[ ok \] Mounting /dev/helm")
helmet = user.head
helmet.flags |= NODROP
helmet.suit = src
src.flags |= NODROP
- user << "\[ ok \] Starting brainwave scanner"
- user << "\[ ok \] Starting ui display driver"
- user << "\[ ok \] Initializing chronowalk4-view"
+ to_chat(user, "\[ ok \] Starting brainwave scanner")
+ to_chat(user, "\[ ok \] Starting ui display driver")
+ to_chat(user, "\[ ok \] Initializing chronowalk4-view")
new_camera(user)
START_PROCESSING(SSobj, src)
activated = 1
else
- user << "\[ fail \] Mounting /dev/helm"
- user << "FATAL: Unable to locate /dev/helm. Aborting..."
+ to_chat(user, "\[ fail \] Mounting /dev/helm")
+ to_chat(user, "FATAL: Unable to locate /dev/helm. Aborting...")
teleport_now.Grant(user)
cooldown = world.time + cooldowntime
activating = 0
@@ -240,14 +240,14 @@
user.electrocute_act(35, src, safety = 1)
user.Weaken(10)
if(!silent)
- user << "\nroot@ChronosuitMK4# chronowalk4 --stop\n"
+ to_chat(user, "\nroot@ChronosuitMK4# chronowalk4 --stop\n")
if(camera)
- user << "\[ ok \] Sending TERM signal to chronowalk4-view"
+ to_chat(user, "\[ ok \] Sending TERM signal to chronowalk4-view")
if(helmet)
- user << "\[ ok \] Stopping ui display driver"
- user << "\[ ok \] Stopping brainwave scanner"
- user << "\[ ok \] Unmounting /dev/helmet"
- user << "logout"
+ to_chat(user, "\[ ok \] Stopping ui display driver")
+ to_chat(user, "\[ ok \] Stopping brainwave scanner")
+ to_chat(user, "\[ ok \] Unmounting /dev/helmet")
+ to_chat(user, "logout")
if(helmet)
helmet.flags &= ~NODROP
helmet.suit = null
diff --git a/code/modules/clothing/spacesuits/flightsuit.dm b/code/modules/clothing/spacesuits/flightsuit.dm
index 2ff8edb3143..c036927b38b 100644
--- a/code/modules/clothing/spacesuits/flightsuit.dm
+++ b/code/modules/clothing/spacesuits/flightsuit.dm
@@ -174,8 +174,8 @@
damage = emp_weak_damage
if(emp_damage <= (emp_disable_threshold * 1.5))
emp_damage += damage
- wearer << "Flightpack: BZZZZZZZZZZZT"
- wearer << "Flightpack: WARNING: Class [severity] EMP detected! Circuit damage at [(100/emp_disable_threshold)*emp_damage]!"
+ to_chat(wearer, "Flightpack: BZZZZZZZZZZZT")
+ to_chat(wearer, "Flightpack: WARNING: Class [severity] EMP detected! Circuit damage at [(100/emp_disable_threshold)*emp_damage]!")
//action BUTTON CODE
/obj/item/device/flightpack/ui_action_click(owner, action)
@@ -796,13 +796,13 @@
/obj/item/device/flightpack/proc/usermessage(message, urgency = 0)
if(urgency == 0)
- wearer << "\icon[src]|[message]"
+ to_chat(wearer, "\icon[src]|[message]")
if(urgency == 1)
- wearer << "\icon[src]|[message]"
+ to_chat(wearer, "\icon[src]|[message]")
if(urgency == 2)
- wearer << "\icon[src]|[message]"
+ to_chat(wearer, "\icon[src]|[message]")
if(urgency == 3)
- wearer << "\icon[src]|[message]"
+ to_chat(wearer, "\icon[src]|[message]")
/obj/item/device/flightpack/attackby(obj/item/I, mob/user, params)
if(ishuman(user) && !ishuman(src.loc))
@@ -949,17 +949,17 @@
/obj/item/clothing/suit/space/hardsuit/flightsuit/proc/usermessage(message, urgency = 0)
if(!urgency)
- user << "\icon[src]|[message]"
+ to_chat(user, "\icon[src]|[message]")
else if(urgency == 1)
- user << "\icon[src]|[message]"
+ to_chat(user, "\icon[src]|[message]")
else if(urgency == 2)
- user << "\icon[src]|[message]"
+ to_chat(user, "\icon[src]|[message]")
/obj/item/clothing/suit/space/hardsuit/flightsuit/examine(mob/user)
..()
- user << "SUIT: [locked ? "LOCKED" : "UNLOCKED"]"
- user << "FLIGHTPACK: [deployedpack ? "ENGAGED" : "DISENGAGED"] FLIGHTSHOES : [deployedshoes ? "ENGAGED" : "DISENGAGED"] HELMET : [suittoggled ? "ENGAGED" : "DISENGAGED"]"
- user << "Its maintainence panel is [maint_panel ? "OPEN" : "CLOSED"]"
+ to_chat(user, "SUIT: [locked ? "LOCKED" : "UNLOCKED"]")
+ to_chat(user, "FLIGHTPACK: [deployedpack ? "ENGAGED" : "DISENGAGED"] FLIGHTSHOES : [deployedshoes ? "ENGAGED" : "DISENGAGED"] HELMET : [suittoggled ? "ENGAGED" : "DISENGAGED"]")
+ to_chat(user, "Its maintainence panel is [maint_panel ? "OPEN" : "CLOSED"]")
/obj/item/clothing/suit/space/hardsuit/flightsuit/Destroy()
dropped()
@@ -1289,12 +1289,12 @@
/obj/item/clothing/head/helmet/space/hardsuit/flightsuit/proc/toggle_zoom(mob/living/user, force_off = FALSE)
if(zoom || force_off)
user.client.change_view(world.view)
- user << "Disabling smart zooming image enhancement..."
+ to_chat(user, "Disabling smart zooming image enhancement...")
zoom = FALSE
return FALSE
else
user.client.change_view(zoom_range)
- user << "Enabling smart zooming image enhancement!"
+ to_chat(user, "Enabling smart zooming image enhancement!")
zoom = TRUE
return TRUE
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index f6335269b03..4fd396a0124 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -84,28 +84,28 @@
/obj/item/clothing/suit/space/hardsuit/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/tank/jetpack/suit))
if(jetpack)
- user << "[src] already has a jetpack installed."
+ to_chat(user, "[src] already has a jetpack installed.")
return
if(src == user.get_item_by_slot(slot_wear_suit)) //Make sure the player is not wearing the suit before applying the upgrade.
- user << "You cannot install the upgrade to [src] while wearing it."
+ to_chat(user, "You cannot install the upgrade to [src] while wearing it.")
return
if(user.transferItemToLoc(I, src))
jetpack = I
- user << "You successfully install the jetpack into [src]."
+ to_chat(user, "You successfully install the jetpack into [src].")
else if(istype(I, /obj/item/weapon/screwdriver))
if(!jetpack)
- user << "[src] has no jetpack installed."
+ to_chat(user, "[src] has no jetpack installed.")
return
if(src == user.get_item_by_slot(slot_wear_suit))
- user << "You cannot remove the jetpack from [src] while wearing it."
+ to_chat(user, "You cannot remove the jetpack from [src] while wearing it.")
return
jetpack.turn_off()
jetpack.loc = get_turf(src)
jetpack = null
- user << "You successfully remove the jetpack from [src]."
+ to_chat(user, "You successfully remove the jetpack from [src].")
/obj/item/clothing/suit/space/hardsuit/equipped(mob/user, slot)
@@ -241,11 +241,11 @@
/obj/item/clothing/head/helmet/space/hardsuit/syndi/attack_self(mob/user) //Toggle Helmet
if(!isturf(user.loc))
- user << "You cannot toggle your helmet while in this [user.loc]!" //To prevent some lighting anomalities.
+ to_chat(user, "You cannot toggle your helmet while in this [user.loc]!" )
return
on = !on
if(on || force)
- user << "You switch your hardsuit to EVA mode, sacrificing speed for space protection."
+ to_chat(user, "You switch your hardsuit to EVA mode, sacrificing speed for space protection.")
name = initial(name)
desc = initial(desc)
set_light(brightness_on)
@@ -254,7 +254,7 @@
flags_inv |= visor_flags_inv
cold_protection |= HEAD
else
- user << "You switch your hardsuit to combat mode and can now run at full speed."
+ to_chat(user, "You switch your hardsuit to combat mode and can now run at full speed.")
name += " (combat)"
desc = alt_desc
set_light(0)
@@ -424,7 +424,7 @@
/obj/item/clothing/head/helmet/space/hardsuit/rd/equipped(mob/living/carbon/human/user, slot)
..()
if(user.glasses && istype(user.glasses, /obj/item/clothing/glasses/hud/diagnostic))
- user << ("Your [user.glasses] prevents you using [src]'s diagnostic visor HUD.")
+ to_chat(user, ("Your [user.glasses] prevents you using [src]'s diagnostic visor HUD."))
else
onboard_hud_enabled = 1
var/datum/atom_hud/DHUD = huds[DATA_HUD_DIAGNOSTIC]
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index db715a7ee55..57137d9b6ca 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -16,7 +16,7 @@
/obj/item/clothing/suit/space/eva/plasmaman/examine(mob/user)
..()
- user << "There are [extinguishes_left] extinguisher charges left in this suit."
+ to_chat(user, "There are [extinguishes_left] extinguisher charges left in this suit.")
/obj/item/clothing/suit/space/eva/plasmaman/proc/Extinguish(mob/living/carbon/human/H)
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index 355bc071714..f05923f8998 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -167,11 +167,11 @@
/obj/item/clothing/suit/armor/reactive/attack_self(mob/user)
src.active = !( src.active )
if (src.active)
- user << "[src] is now active."
+ to_chat(user, "[src] is now active.")
src.icon_state = "reactive"
src.item_state = "reactive"
else
- user << "[src] is now inactive."
+ to_chat(user, "[src] is now inactive.")
src.icon_state = "reactiveoff"
src.item_state = "reactiveoff"
src.add_fingerprint(user)
diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm
index de03809c75e..151f842ed1a 100644
--- a/code/modules/clothing/suits/toggles.dm
+++ b/code/modules/clothing/suits/toggles.dm
@@ -55,10 +55,10 @@
if(ishuman(src.loc))
var/mob/living/carbon/human/H = src.loc
if(H.wear_suit != src)
- H << "You must be wearing [src] to put up the hood!"
+ to_chat(H, "You must be wearing [src] to put up the hood!")
return
if(H.head)
- H << "You're already wearing something on your head!"
+ to_chat(H, "You're already wearing something on your head!")
return
else if(H.equip_to_slot_if_possible(hood,slot_head,0,0,1))
suittoggled = 1
@@ -95,7 +95,7 @@
/obj/item/clothing/suit/toggle/AltClick(mob/user)
..()
if(!user.canUseTopic(src, be_close=TRUE))
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
else
suit_toggle(user)
@@ -109,7 +109,7 @@
if(!can_use(usr))
return 0
- usr << "You toggle [src]'s [togglename]."
+ to_chat(usr, "You toggle [src]'s [togglename].")
if(src.suittoggled)
src.icon_state = "[initial(icon_state)]"
src.suittoggled = 0
@@ -123,7 +123,7 @@
/obj/item/clothing/suit/toggle/examine(mob/user)
..()
- user << "Alt-click on [src] to toggle the [togglename]."
+ to_chat(user, "Alt-click on [src] to toggle the [togglename].")
//Hardsuit toggle code
/obj/item/clothing/suit/space/hardsuit/New()
@@ -171,7 +171,7 @@
helmet.attack_self(H)
H.transferItemToLoc(helmet, src, TRUE)
H.update_inv_wear_suit()
- H << "The helmet on the hardsuit disengages."
+ to_chat(H, "The helmet on the hardsuit disengages.")
playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1)
else
helmet.forceMove(src)
@@ -189,13 +189,13 @@
if(!suittoggled)
if(ishuman(src.loc))
if(H.wear_suit != src)
- H << "You must be wearing [src] to engage the helmet!"
+ to_chat(H, "You must be wearing [src] to engage the helmet!")
return
if(H.head)
- H << "You're already wearing something on your head!"
+ to_chat(H, "You're already wearing something on your head!")
return
else if(H.equip_to_slot_if_possible(helmet,slot_head,0,0,1))
- H << "You engage the helmet on the hardsuit."
+ to_chat(H, "You engage the helmet on the hardsuit.")
suittoggled = 1
H.update_inv_wear_suit()
playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1)
diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm
index a475d3fd80e..bd59d31cc76 100644
--- a/code/modules/clothing/suits/wiz_robe.dm
+++ b/code/modules/clothing/suits/wiz_robe.dm
@@ -165,7 +165,7 @@
if(!isliving(usr))
return
if(!robe_charge)
- usr << "\The robe's internal magic supply is still recharging!"
+ to_chat(usr, "\The robe's internal magic supply is still recharging!")
return
usr.say("Rise, my creation! Off your page into this realm!")
@@ -176,7 +176,7 @@
src.robe_charge = FALSE
sleep(30)
src.robe_charge = TRUE
- usr << "\The robe hums, its internal magic supply restored."
+ to_chat(usr, "\The robe hums, its internal magic supply restored.")
//Shielded Armour
@@ -221,7 +221,7 @@
/obj/item/wizard_armour_charge/afterattack(obj/item/clothing/suit/space/hardsuit/shielded/wizard/W, mob/user)
..()
if(!istype(W))
- user << "The rune can only be used on battlemage armour!"
+ to_chat(user, "The rune can only be used on battlemage armour!")
return
W.current_charges += 8
user <<"You charge \the [W]. It can now absorb [W.current_charges] hits."
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 54ca2a69919..be458b7a4c4 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -611,7 +611,7 @@
/obj/item/clothing/under/plasmaman/examine(mob/user)
..()
- user << "There are [extinguishes_left] extinguisher charges left in this suit."
+ to_chat(user, "There are [extinguishes_left] extinguisher charges left in this suit.")
/obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H)
@@ -632,11 +632,11 @@
/obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params)
if (istype(E, /obj/item/device/extinguisher_refill))
if (extinguishes_left == 5)
- user << "The inbuilt extinguisher is full."
+ to_chat(user, "The inbuilt extinguisher is full.")
return
else
extinguishes_left = 5
- user << "You refill the suit's built-in extinguisher, using up the cartridge."
+ to_chat(user, "You refill the suit's built-in extinguisher, using up the cartridge.")
qdel(E)
return
return
diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm
index 5a94609ffd9..7fce1bd1f71 100644
--- a/code/modules/clothing/under/ties.dm
+++ b/code/modules/clothing/under/ties.dm
@@ -144,7 +144,7 @@
if(M.wear_suit)
if((M.wear_suit.flags_inv & HIDEJUMPSUIT)) //Check if the jumpsuit is covered
- user << "Medals can only be pinned on jumpsuits."
+ to_chat(user, "Medals can only be pinned on jumpsuits.")
return
if(M.w_uniform)
@@ -158,12 +158,12 @@
if(do_after(user, delay, target = M))
if(U.attachTie(src, user, 0)) //Attach it, do not notify the user of the attachment
if(user == M)
- user << "You attach [src] to [U]."
+ to_chat(user, "You attach [src] to [U].")
else
user.visible_message("[user] pins \the [src] on [M]'s chest.", \
"You pin \the [src] on [M]'s chest.")
- else user << "Medals can only be pinned on jumpsuits!"
+ else to_chat(user, "Medals can only be pinned on jumpsuits!")
else ..()
/obj/item/clothing/tie/medal/conduct
diff --git a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm
index 8f98cca094f..356f260bfac 100644
--- a/code/modules/crafting/craft.dm
+++ b/code/modules/crafting/craft.dm
@@ -296,26 +296,26 @@
ui_interact(usr) //explicit call to show the busy display
var/fail_msg = construct_item(usr, TR)
if(!fail_msg)
- usr << "[TR.name] constructed."
+ to_chat(usr, "[TR.name] constructed.")
else
- usr << "Construction failed[fail_msg]"
+ to_chat(usr, "Construction failed[fail_msg]")
busy = 0
ui_interact(usr)
if("forwardCat") //Meow
viewing_category = next_cat()
- usr << "Category is now [categories[viewing_category]]."
+ to_chat(usr, "Category is now [categories[viewing_category]].")
. = TRUE
if("backwardCat")
viewing_category = prev_cat()
- usr << "Category is now [categories[viewing_category]]."
+ to_chat(usr, "Category is now [categories[viewing_category]].")
. = TRUE
if("toggle_recipes")
display_craftable_only = !display_craftable_only
- usr << "You will now [display_craftable_only ? "only see recipes you can craft":"see all recipes"]."
+ to_chat(usr, "You will now [display_craftable_only ? "only see recipes you can craft":"see all recipes"].")
. = TRUE
if("toggle_compact")
display_compact = !display_compact
- usr << "Crafting menu is now [display_compact? "compact" : "full size"]."
+ to_chat(usr, "Crafting menu is now [display_compact? "compact" : "full size"].")
. = TRUE
diff --git a/code/modules/detectivework/evidence.dm b/code/modules/detectivework/evidence.dm
index 27a1110328c..94e22b8b22a 100644
--- a/code/modules/detectivework/evidence.dm
+++ b/code/modules/detectivework/evidence.dm
@@ -22,15 +22,15 @@
return
if(istype(I, /obj/item/weapon/evidencebag))
- user << "You find putting an evidence bag in another evidence bag to be slightly absurd."
+ to_chat(user, "You find putting an evidence bag in another evidence bag to be slightly absurd.")
return 1 //now this is podracing
if(I.w_class > WEIGHT_CLASS_NORMAL)
- user << "[I] won't fit in [src]."
+ to_chat(user, "[I] won't fit in [src].")
return
if(contents.len)
- user << "[src] already has something inside it."
+ to_chat(user, "[src] already has something inside it.")
return
if(!isturf(I.loc)) //If it isn't on the floor. Do some checks to see if it's in our hands or a box. Otherwise give up.
@@ -75,7 +75,7 @@
desc = "An empty evidence bag."
else
- user << "[src] is empty."
+ to_chat(user, "[src] is empty.")
icon_state = "evidenceobj"
return
diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm
index fcafeb50dbd..56102321220 100644
--- a/code/modules/detectivework/scanner.dm
+++ b/code/modules/detectivework/scanner.dm
@@ -17,10 +17,10 @@
/obj/item/device/detective_scanner/attack_self(mob/user)
if(log.len && !scanning)
scanning = 1
- user << "Printing report, please wait..."
+ to_chat(user, "Printing report, please wait...")
addtimer(CALLBACK(src, .proc/PrintReport), 100)
else
- user << "The scanner has no logs or is in use."
+ to_chat(user, "The scanner has no logs or is in use.")
/obj/item/device/detective_scanner/attack(mob/living/M, mob/user)
return
@@ -37,7 +37,7 @@
if(ismob(loc))
var/mob/M = loc
M.put_in_hands(P)
- M << "Report printed. Log cleared."
+ to_chat(M, "Report printed. Log cleared.")
// Clear the logs
log = list()
@@ -59,7 +59,7 @@
scanning = 1
user.visible_message("\The [user] points the [src.name] at \the [A] and performs a forensic scan.")
- user << "You scan \the [A]. The scanner is now analysing the results..."
+ to_chat(user, "You scan \the [A]. The scanner is now analysing the results...")
// GATHER INFORMATION
@@ -150,10 +150,10 @@
if(!found_something)
add_log("# No forensic traces found #", 0) // Don't display this to the holder user
if(holder)
- holder << "Unable to locate any fingerprints, materials, fibers, or blood on \the [target_name]!"
+ to_chat(holder, "Unable to locate any fingerprints, materials, fibers, or blood on \the [target_name]!")
else
if(holder)
- holder << "You finish scanning \the [target_name]."
+ to_chat(holder, "You finish scanning \the [target_name].")
add_log("---------------------------------------------------------", 0)
scanning = 0
@@ -163,7 +163,7 @@
if(scanning)
if(broadcast && ismob(loc))
var/mob/M = loc
- M << msg
+ to_chat(M, msg)
log += " [msg]"
else
CRASH("[src] \ref[src] is adding a log when it was never put in scanning mode!")
diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm
index b3b245fe44b..85c2c43e1f7 100644
--- a/code/modules/events/_event.dm
+++ b/code/modules/events/_event.dm
@@ -58,7 +58,7 @@
/datum/round_event_control/proc/preRunEvent()
if(!ispath(typepath,/datum/round_event))
return FALSE
-
+
triggering = TRUE
if (alertadmins)
message_admins("Random Event triggering in 10 seconds: [name] ([typepath]) (CANCEL)")
@@ -73,7 +73,7 @@
..()
if(href_list["cancel"])
if(!triggering)
- usr << "You are too late to cancel that event"
+ to_chat(usr, "You are too late to cancel that event")
return
triggering = FALSE
message_admins("[key_name_admin(usr)] cancelled event [name].")
diff --git a/code/modules/events/communications_blackout.dm b/code/modules/events/communications_blackout.dm
index 5d8b72775cb..6dc9751baf0 100644
--- a/code/modules/events/communications_blackout.dm
+++ b/code/modules/events/communications_blackout.dm
@@ -15,7 +15,7 @@
"#4nd%;f4y6,>£%-BZZZZZZZT")
for(var/mob/living/silicon/ai/A in ai_list) //AIs are always aware of communication blackouts.
- A << "
[alert]
"
+ to_chat(A, "
[alert]
")
if(prob(30)) //most of the time, we don't want an announcement, so as to allow AIs to fake blackouts.
priority_announce(alert)
diff --git a/code/modules/events/holiday/halloween.dm b/code/modules/events/holiday/halloween.dm
index 416bc4451b7..336665877f3 100644
--- a/code/modules/events/holiday/halloween.dm
+++ b/code/modules/events/holiday/halloween.dm
@@ -69,7 +69,7 @@
for(var/mob/living/carbon/human/H in living_mob_list)
if(!H.client || !istype(H))
return
- H << "Honk..."
+ to_chat(H, "Honk...")
H << 'sound/spookoween/scary_clown_appear.ogg'
var/turf/T = get_turf(H)
if(T)
diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm
index 615b631385f..697414ee075 100644
--- a/code/modules/events/holiday/vday.dm
+++ b/code/modules/events/holiday/vday.dm
@@ -42,7 +42,7 @@
else
- L << "You didn't get a date! They're all having fun without you! you'll show them though..."
+ to_chat(L, "You didn't get a date! They're all having fun without you! you'll show them though...")
var/datum/objective/martyr/normiesgetout = new
normiesgetout.owner = L.mind
ticker.mode.traitors |= L.mind
@@ -58,7 +58,7 @@
protect_objective.target = date.mind
protect_objective.explanation_text = "Protect [date.real_name], your date."
lover.mind.objectives += protect_objective
- lover << "You're on a date with [date]! Protect them at all costs. This takes priority over all other loyalties."
+ to_chat(lover, "You're on a date with [date]! Protect them at all costs. This takes priority over all other loyalties.")
/datum/round_event/valentines/announce()
@@ -143,7 +143,7 @@
user << browse("[name][message]", "window=[name]")
onclose(user, "[name]")
else
- user << "It is too far away."
+ to_chat(user, "It is too far away.")
/obj/item/weapon/valentine/attack_self(mob/user)
user.examinate(src)
diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm
index ce2fbb2d6db..1aa4f7585e5 100644
--- a/code/modules/events/holiday/xmas.dm
+++ b/code/modules/events/holiday/xmas.dm
@@ -157,4 +157,4 @@
telespell.clothes_req = 0 //santa robes aren't actually magical.
santa.mind.AddSpell(telespell) //does the station have chimneys? WHO KNOWS!
- santa << "You are Santa! Your objective is to bring joy to the people on this station. You can conjure more presents using a spell, and there are several presents in your bag."
+ to_chat(santa, "You are Santa! Your objective is to bring joy to the people on this station. You can conjure more presents using a spell, and there are several presents in your bag.")
diff --git a/code/modules/events/operative.dm b/code/modules/events/operative.dm
index bb7f7dd5f27..c5545c75f14 100644
--- a/code/modules/events/operative.dm
+++ b/code/modules/events/operative.dm
@@ -45,7 +45,7 @@
nuke_code = nuke.r_code
Mind.store_memory("Station Self-Destruct Device Code: [nuke_code]", 0, 0)
- Mind.current << "The nuclear authorization code is: [nuke_code]"
+ to_chat(Mind.current, "The nuclear authorization code is: [nuke_code]")
var/datum/objective/nuclear/O = new()
O.owner = Mind
diff --git a/code/modules/events/processor_overload.dm b/code/modules/events/processor_overload.dm
index 5214d9fea37..b4f20fb93cf 100644
--- a/code/modules/events/processor_overload.dm
+++ b/code/modules/events/processor_overload.dm
@@ -17,7 +17,7 @@
for(var/mob/living/silicon/ai/A in ai_list)
//AIs are always aware of processor overload
- A << "
[alert]
"
+ to_chat(A, "
[alert]
")
// Announce most of the time, but leave a little gap so people don't know
// whether it's, say, a tesla zapping tcomms, or some selective
diff --git a/code/modules/events/sentience.dm b/code/modules/events/sentience.dm
index 8036f6d8f93..ffce6a5a246 100644
--- a/code/modules/events/sentience.dm
+++ b/code/modules/events/sentience.dm
@@ -60,10 +60,10 @@
spawned_mobs += SA
- SA << "Hello world!"
- SA << "Due to freak radiation and/or chemicals \
+ to_chat(SA, "Hello world!")
+ to_chat(SA, "Due to freak radiation and/or chemicals \
and/or lucky chance, you have gained human level intelligence \
- and the ability to speak and understand human language!"
+ and the ability to speak and understand human language!")
return SUCCESSFUL_SPAWN
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index e5fae72cdaf..c50b2dc9193 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -131,7 +131,7 @@
if(issilicon(crosser))
return
if(prob(severity) && istype(crosser) && !isvineimmune(crosser))
- crosser << "You accidently touch the vine and feel a strange sensation."
+ to_chat(crosser, "You accidently touch the vine and feel a strange sensation.")
crosser.adjustToxLoss(5)
/datum/spacevine_mutation/toxicity/on_eat(obj/structure/spacevine/holder, mob/living/eater)
@@ -269,13 +269,13 @@
if(prob(severity) && istype(crosser) && !isvineimmune(holder))
var/mob/living/M = crosser
M.adjustBruteLoss(5)
- M << "You cut yourself on the thorny vines."
+ to_chat(M, "You cut yourself on the thorny vines.")
/datum/spacevine_mutation/thorns/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage)
if(prob(severity) && istype(hitter) && !isvineimmune(holder))
var/mob/living/M = hitter
M.adjustBruteLoss(5)
- M << "You cut yourself on the thorny vines."
+ to_chat(M, "You cut yourself on the thorny vines.")
. = expected_damage
/datum/spacevine_mutation/woodening
@@ -341,7 +341,7 @@
else
text += " normal"
text += " vine."
- user << text
+ to_chat(user, text)
/obj/structure/spacevine/Destroy()
for(var/datum/spacevine_mutation/SM in mutations)
@@ -543,7 +543,7 @@
for(var/datum/spacevine_mutation/SM in mutations)
SM.on_buckle(src, V)
if((V.stat != DEAD) && (V.buckled != src)) //not dead or captured
- V << "The vines [pick("wind", "tangle", "tighten")] around you!"
+ to_chat(V, "The vines [pick("wind", "tangle", "tighten")] around you!")
buckle_mob(V, 1)
/obj/structure/spacevine/proc/spread()
diff --git a/code/modules/events/wizard/aid.dm b/code/modules/events/wizard/aid.dm
index fc37888411e..8bf84cd0b86 100644
--- a/code/modules/events/wizard/aid.dm
+++ b/code/modules/events/wizard/aid.dm
@@ -17,7 +17,7 @@
S.clothes_req = 0
spell_improved = 1
if(spell_improved)
- L << "You suddenly feel like you never needed those garish robes in the first place..."
+ to_chat(L, "You suddenly feel like you never needed those garish robes in the first place...")
//--//
@@ -53,4 +53,4 @@
if(5)
S.name = "Ludicrous [S.name]"
- L << "You suddenly feel more competent with your casting!"
+ to_chat(L, "You suddenly feel more competent with your casting!")
diff --git a/code/modules/events/wizard/departmentrevolt.dm b/code/modules/events/wizard/departmentrevolt.dm
index 3d86ed6e2f6..0d74fcd350e 100644
--- a/code/modules/events/wizard/departmentrevolt.dm
+++ b/code/modules/events/wizard/departmentrevolt.dm
@@ -45,7 +45,7 @@
ticker.mode.traitors += M
M.special_role = "separatist"
H.log_message("Was made into a separatist, long live [nation]!", INDIVIDUAL_ATTACK_LOG)
- H << "You are a separatist! [nation] forever! Protect the soverignty of your newfound land with your comrades in arms!"
+ to_chat(H, "You are a separatist! [nation] forever! Protect the soverignty of your newfound land with your comrades in arms!")
if(citizens.len)
var/message
for(var/job in jobs_to_revolt)
diff --git a/code/modules/events/wizard/ghost.dm b/code/modules/events/wizard/ghost.dm
index ce8b6b0ec04..1227833de27 100644
--- a/code/modules/events/wizard/ghost.dm
+++ b/code/modules/events/wizard/ghost.dm
@@ -23,4 +23,4 @@
for(var/mob/dead/observer/G in player_list)
G.verbs += /mob/dead/observer/verb/boo
G.verbs += /mob/dead/observer/verb/possess
- G << "You suddenly feel a welling of new spooky powers..."
+ to_chat(G, "You suddenly feel a welling of new spooky powers...")
diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm
index a52f0993b8c..8251f5ae7e8 100644
--- a/code/modules/events/wizard/greentext.dm
+++ b/code/modules/events/wizard/greentext.dm
@@ -16,7 +16,7 @@
var/mob/living/carbon/human/H = pick(holder_canadates)
new /obj/item/weapon/greentext(H.loc)
- H << "The mythical greentext appear at your feet! Pick it up if you dare..."
+ to_chat(H, "The mythical greentext appear at your feet! Pick it up if you dare...")
/obj/item/weapon/greentext
@@ -36,9 +36,9 @@
poi_list |= src
/obj/item/weapon/greentext/equipped(mob/living/user as mob)
- user << "So long as you leave this place with greentext in hand you know will be happy..."
+ to_chat(user, "So long as you leave this place with greentext in hand you know will be happy...")
if(user.mind && user.mind.objectives.len > 0)
- user << "... so long as you still perform your other objectives that is!"
+ to_chat(user, "... so long as you still perform your other objectives that is!")
new_holder = user
if(!last_holder)
last_holder = user
@@ -50,7 +50,7 @@
/obj/item/weapon/greentext/dropped(mob/living/user as mob)
if(user in color_altered_mobs)
- user << "A sudden wave of failure washes over you..."
+ to_chat(user, "A sudden wave of failure washes over you...")
user.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY) //ya blew it
last_holder = null
new_holder = null
@@ -59,7 +59,7 @@
/obj/item/weapon/greentext/process()
if(new_holder && new_holder.z == ZLEVEL_CENTCOM)//you're winner!
- new_holder << "At last it feels like victory is assured!"
+ to_chat(new_holder, "At last it feels like victory is assured!")
if(!(new_holder in ticker.mode.traitors))
ticker.mode.traitors += new_holder.mind
new_holder.mind.special_role = "winner"
@@ -73,7 +73,7 @@
qdel(src)
if(last_holder && last_holder != new_holder) //Somehow it was swiped without ever getting dropped
- last_holder << "A sudden wave of failure washes over you..."
+ to_chat(last_holder, "A sudden wave of failure washes over you...")
last_holder.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY)
last_holder = new_holder //long live the king
@@ -92,7 +92,7 @@
message += "..."
// can't skip the mob check as it also does the decolouring
if(!quiet)
- M << message
+ to_chat(M, message)
/obj/item/weapon/greentext/quiet
quiet = TRUE
diff --git a/code/modules/events/wizard/imposter.dm b/code/modules/events/wizard/imposter.dm
index 3c4999d0c37..d112bd698b5 100644
--- a/code/modules/events/wizard/imposter.dm
+++ b/code/modules/events/wizard/imposter.dm
@@ -54,5 +54,5 @@
ticker.mode.update_wiz_icons_added(I.mind)
I.log_message("Is an imposter!", INDIVIDUAL_ATTACK_LOG)
- I << "You are an imposter! Trick and confuse the crew to misdirect malice from your handsome original!"
+ to_chat(I, "You are an imposter! Trick and confuse the crew to misdirect malice from your handsome original!")
I << sound('sound/effects/magic.ogg')
diff --git a/code/modules/events/wizard/invincible.dm b/code/modules/events/wizard/invincible.dm
index 8bc43b158f4..f8436773ecf 100644
--- a/code/modules/events/wizard/invincible.dm
+++ b/code/modules/events/wizard/invincible.dm
@@ -9,4 +9,4 @@
for(var/mob/living/carbon/human/H in living_mob_list)
H.reagents.add_reagent("adminordrazine", 40) //100 ticks of absolute invinciblity (barring gibs)
- H << "You feel invincible, nothing can hurt you!"
\ No newline at end of file
+ to_chat(H, "You feel invincible, nothing can hurt you!")
\ No newline at end of file
diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm
index 46f420e380e..03952d03ae2 100644
--- a/code/modules/events/wizard/race.dm
+++ b/code/modules/events/wizard/race.dm
@@ -24,6 +24,6 @@
H.set_species(new_species)
H.real_name = new_species.random_name(H.gender,1)
H.dna.unique_enzymes = H.dna.generate_unique_enzymes()
- H << "You feel somehow... different?"
+ to_chat(H, "You feel somehow... different?")
if(!all_the_same)
new_species = pick(all_species)
diff --git a/code/modules/events/wizard/rpgloot.dm b/code/modules/events/wizard/rpgloot.dm
index 5481f0745d9..d651400baa0 100644
--- a/code/modules/events/wizard/rpgloot.dm
+++ b/code/modules/events/wizard/rpgloot.dm
@@ -48,7 +48,7 @@
return
var/quality = target.force - initial(target.force)
if(quality > 9 && prob((quality - 9)*10))
- user << "[target] catches fire!"
+ to_chat(user, "[target] catches fire!")
if(target.resistance_flags & (LAVA_PROOF|FIRE_PROOF))
target.resistance_flags &= ~(LAVA_PROOF|FIRE_PROOF)
target.resistance_flags |= FLAMMABLE
@@ -59,5 +59,5 @@
target.throwforce += 1
for(var/value in target.armor)
target.armor[value] += 1
- user << "[target] glows blue and seems vaguely \"better\"!"
+ to_chat(user, "[target] glows blue and seems vaguely \"better\"!")
qdel(src)
diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm
index 08fb9940f8d..c66d4b8e4b7 100644
--- a/code/modules/flufftext/Dreaming.dm
+++ b/code/modules/flufftext/Dreaming.dm
@@ -12,7 +12,7 @@
for(var/i = rand(1,4),i > 0, i--)
var/dream_image = pick(dreams)
dreams -= dream_image
- src << "... [dream_image] ..."
+ to_chat(src, "... [dream_image] ...")
sleep(rand(40,70))
if(paralysis <= 0)
dreaming = 0
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index f83e5b2e35c..4516461cb51 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -204,10 +204,10 @@ Gunshots/explosions/opening doors/less rare audio (done)
xeno.throw_at(pump,7,1, spin = 0, diagonals_first = 1)
sleep(10)
var/xeno_name = xeno.name
- target << "[xeno_name] begins climbing into the ventilation system..."
+ to_chat(target, "[xeno_name] begins climbing into the ventilation system...")
sleep(10)
qdel(xeno)
- target << "[xeno_name] scrambles into the ventilation ducts!"
+ to_chat(target, "[xeno_name] scrambles into the ventilation ducts!")
qdel(src)
/obj/effect/hallucination/simple/clown
@@ -243,12 +243,12 @@ Gunshots/explosions/opening doors/less rare audio (done)
for(var/i=0, i<11, i++)
walk_to(borer, get_step(borer, get_cardinal_dir(borer, T)))
if(borer.Adjacent(T))
- T << "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing."
+ to_chat(T, "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing.")
T.Stun(4)
sleep(50)
qdel(borer)
sleep(rand(60, 90))
- T << "Primary [rand(1000,9999)] states: [pick("Hello","Hi","You're my slave now!","Don't try to get rid of me...")]"
+ to_chat(T, "Primary [rand(1000,9999)] states: [pick("Hello","Hi","You're my slave now!","Don't try to get rid of me...")]")
break
sleep(4)
if(!QDELETED(borer))
@@ -501,7 +501,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
A = image(custom_icon_file, target, custom_icon)
A.override = 1
if(target.client)
- target << "...wabbajack...wabbajack..."
+ to_chat(target, "...wabbajack...wabbajack...")
target.playsound_local(target,'sound/magic/Staff_Change.ogg', 50, 1, -1)
delusion = A
target.client.images |= A
@@ -584,7 +584,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
step_away(src,my_target,2)
if(prob(30))
for(var/mob/O in oviewers(world.view , my_target))
- O << "[my_target] stumbles around."
+ to_chat(O, "[my_target] stumbles around.")
/obj/effect/fake_attacker/Initialize(mapload, var/mob/living/carbon/T)
..()
@@ -608,7 +608,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
else if(src.dir == WEST)
del src.currentimage
src.currentimage = new /image(left,src)
- my_target << currentimage
+ to_chat(my_target, currentimage)
/obj/effect/fake_attacker/proc/attack_loop()
@@ -652,7 +652,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
var/obj/effect/overlay/O = new/obj/effect/overlay(target.loc)
O.name = "blood"
var/image/I = image('icons/effects/blood.dmi',O,"floor[rand(1,7)]",O.dir,1)
- target << I
+ to_chat(target, I)
QDEL_IN(O, 300)
var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item/ammo_box/a357,\
@@ -718,7 +718,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
people += H
if(person) //Basic talk
var/image/speech_overlay = image('icons/mob/talk.dmi', person, "default0", layer = ABOVE_MOB_LAYER)
- target << target.compose_message(person,person.languages_understood,pick(speak_messages),null,person.get_spans())
+ to_chat(target, target.compose_message(person,person.languages_understood,pick(speak_messages),null,person.get_spans()))
if(target.client)
target.client.images |= speech_overlay
sleep(30)
@@ -728,7 +728,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
for(var/mob/living/carbon/human/H in living_mob_list)
humans += H
person = pick(humans)
- target << target.compose_message(person,person.languages_understood,pick(radio_messages),"1459",person.get_spans())
+ to_chat(target, target.compose_message(person,person.languages_understood,pick(radio_messages),"1459",person.get_spans()))
qdel(src)
/obj/effect/hallucination/message
@@ -747,7 +747,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
"You feel faint.", \
"You hear a strange, alien voice in your head...[pick("Hiss","Ssss")]", \
"You can see...everything!")
- target << chosen
+ to_chat(target, chosen)
qdel(src)
/mob/living/carbon/proc/hallucinate(hal_type, specific) // specific is used to specify a particular hallucination
@@ -783,7 +783,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
new /obj/effect/hallucination/items_other(src.loc,src)
if("sounds")
//Strange audio
- //src << "Strange Audio"
+ //to_chat(src, "Strange Audio")
switch(rand(1,20))
if(1) playsound_local(null,'sound/machines/airlock.ogg', 15, 1)
if(2)
@@ -829,8 +829,8 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
sleep(150)
playsound_local(null, 'sound/effects/ratvar_reveal.ogg', 100)
if(14)
- src << "Priority Announcement
"
- src << "
The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.
"
+ to_chat(src, "Priority Announcement
")
+ to_chat(src, "
The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.
")
playsound_local(null, 'sound/AI/shuttledock.ogg', 100)
//Deconstructing a wall
if(15)
@@ -850,8 +850,8 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
if(17)
playsound_local(null, 'sound/weapons/saberon.ogg',35,1)
if(18)
- src << "Biohazard Alert
"
- src << "
Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.
"
+ to_chat(src, "Biohazard Alert
")
+ to_chat(src, "
Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.
")
playsound_local(null, 'sound/AI/outbreak5.ogg')
if(19) //Tesla loose!
playsound_local(null, 'sound/magic/lightningbolt.ogg', 35, 1)
@@ -860,12 +860,12 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
sleep(20)
playsound_local(null, 'sound/magic/lightningbolt.ogg', 100, 1)
if(20) //AI is doomsdaying!
- src << "Anomaly Alert
"
- src << "
Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.
"
+ to_chat(src, "Anomaly Alert
")
+ to_chat(src, "
Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.
")
playsound_local(null, 'sound/AI/aimalf.ogg', 100)
if("hudscrew")
//Screwy HUD
- //src << "Screwy HUD"
+ //to_chat(src, "Screwy HUD")
hal_screwyhud = pick(SCREWYHUD_NONE,SCREWYHUD_CRIT,SCREWYHUD_DEAD,SCREWYHUD_HEALTHY)
sleep(rand(100,250))
hal_screwyhud = 0
@@ -920,7 +920,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
if("items")
//Strange items
- //src << "Traitor Items"
+ //to_chat(src, "Traitor Items")
if(!halitem)
halitem = new
var/obj/item/l_hand = get_item_for_held_index(1)
@@ -970,7 +970,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
QDEL_IN(halitem, rand(100, 250))
if("dangerflash")
//Flashes of danger
- //src << "Danger Flash"
+ //to_chat(src, "Danger Flash")
if(!halimage)
var/list/possible_points = list()
for(var/turf/open/floor/F in view(src,world.view))
@@ -980,16 +980,16 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
switch(rand(1,4))
if(1)
- //src << "Space"
+ //to_chat(src, "Space")
halimage = image('icons/turf/space.dmi',target,"[rand(1,25)]",TURF_LAYER)
if(2)
- //src << "Lava"
+ //to_chat(src, "Lava")
halimage = image('icons/turf/floors/lava.dmi',target,"smooth",TURF_LAYER)
if(3)
- //src << "Chasm"
+ //to_chat(src, "Chasm")
halimage = image('icons/turf/floors/Chasms.dmi',target,"smooth",TURF_LAYER)
if(4)
- //src << "C4"
+ //to_chat(src, "C4")
halimage = image('icons/obj/grenade.dmi',target,"plastic-explosive2",OBJ_LAYER+0.01)
@@ -1002,7 +1002,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
hal_screwyhud = SCREWYHUD_DEAD
SetSleeping(20, no_alert = TRUE)
var/area/area = get_area(src)
- src << "[mind.name] has died at [area.name]."
+ to_chat(src, "[mind.name] has died at [area.name].")
if(prob(50))
var/list/dead_people = list()
for(var/mob/dead/observer/G in player_list)
@@ -1010,8 +1010,8 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/ballistic, /obj/item
var/mob/dead/observer/fakemob = pick(dead_people)
if(fakemob)
sleep(rand(30, 60))
- src << "DEAD: [fakemob.name] says, \"[pick("rip","welcome [first_name()]","you too?","is the AI malf?",\
- "i[prob(50)?" fucking":""] hate [pick("blood cult", "clock cult", "revenants", "abductors","double agents","viruses","badmins","you")]")]\""
+ to_chat(src, "DEAD: [fakemob.name] says, \"[pick("rip","welcome [first_name()]","you too?","is the AI malf?",\
+ "i[prob(50)?" fucking":""] hate [pick("blood cult", "clock cult", "revenants", "abductors","double agents","viruses","badmins","you")]")]\"")
sleep(rand(50,70))
hal_screwyhud = SCREWYHUD_NONE
SetSleeping(0)
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index 1ebc974d8ac..fb625e14ea2 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -24,14 +24,14 @@
/obj/item/weapon/reagent_containers/food/drinks/attack(mob/M, mob/user, def_zone)
if(!reagents || !reagents.total_volume)
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
return 0
if(!canconsume(M, user))
return 0
if(M == user)
- M << "You swallow a gulp of [src]."
+ to_chat(M, "You swallow a gulp of [src].")
else
M.visible_message("[user] attempts to feed the contents of [src] to [M].", "[user] attempts to feed the contents of [src] to [M].")
@@ -52,27 +52,27 @@
if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
if(!target.reagents.total_volume)
- user << "[target] is empty."
+ to_chat(user, "[target] is empty.")
return
if(reagents.total_volume >= reagents.maximum_volume)
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
- user << "You fill [src] with [trans] units of the contents of [target]."
+ to_chat(user, "You fill [src] with [trans] units of the contents of [target].")
else if(target.is_open_container()) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
- user << "[src] is empty."
+ to_chat(user, "[src] is empty.")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "[target] is full."
+ to_chat(user, "[target] is full.")
return
var/refill = reagents.get_master_reagent_id()
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
- user << "You transfer [trans] units of the solution to [target]."
+ to_chat(user, "You transfer [trans] units of the solution to [target].")
if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
var/mob/living/silicon/robot/bro = user
@@ -84,7 +84,7 @@
var/added_heat = (I.is_hot() / 100) //ishot returns a temperature
if(reagents)
reagents.chem_temp += added_heat
- user << "You heat [src] with [I]."
+ to_chat(user, "You heat [src] with [I].")
reagents.handle_reactions()
..()
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index baafb8fdb1b..4c74464e5df 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -376,7 +376,7 @@
message_admins(message)
log_game("[key_name(user)] has primed a [name] for detonation at [bombarea] [COORD(bombturf)].")
- user << "You light [src] on fire."
+ to_chat(user, "You light [src] on fire.")
add_overlay(fire_overlay)
if(!isGlass)
spawn(50)
@@ -396,8 +396,8 @@
/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov/attack_self(mob/user)
if(active)
if(!isGlass)
- user << "The flame's spread too far on it!"
+ to_chat(user, "The flame's spread too far on it!")
return
- user << "You snuff out the flame on [src]."
+ to_chat(user, "You snuff out the flame on [src].")
cut_overlay(fire_overlay)
active = 0
diff --git a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
index 1ac5b3edfaf..244b675a2bb 100644
--- a/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/drinkingglass.dm
@@ -666,9 +666,9 @@
var/obj/item/weapon/reagent_containers/food/snacks/egg/E = I
if(reagents)
if(reagents.total_volume >= reagents.maximum_volume)
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
else
- user << "You break [E] in [src]."
+ to_chat(user, "You break [E] in [src].")
reagents.add_reagent("eggyolk", 5)
qdel(E)
return
diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm
index f353cb4ff26..e1c463becc4 100644
--- a/code/modules/food_and_drinks/food/condiment.dm
+++ b/code/modules/food_and_drinks/food/condiment.dm
@@ -29,14 +29,14 @@
/obj/item/weapon/reagent_containers/food/condiment/attack(mob/M, mob/user, def_zone)
if(!reagents || !reagents.total_volume)
- user << "None of [src] left, oh no!"
+ to_chat(user, "None of [src] left, oh no!")
return 0
if(!canconsume(M, user))
return 0
if(M == user)
- M << "You swallow some of contents of \the [src]."
+ to_chat(M, "You swallow some of contents of \the [src].")
else
user.visible_message("[user] attempts to feed [M] from [src].")
if(!do_mob(user, M))
@@ -57,26 +57,26 @@
if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
if(!target.reagents.total_volume)
- user << "[target] is empty!"
+ to_chat(user, "[target] is empty!")
return
if(reagents.total_volume >= reagents.maximum_volume)
- user << "[src] is full!"
+ to_chat(user, "[src] is full!")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
- user << "You fill [src] with [trans] units of the contents of [target]."
+ to_chat(user, "You fill [src] with [trans] units of the contents of [target].")
//Something like a glass or a food item. Player probably wants to transfer TO it.
else if(target.is_open_container() || istype(target, /obj/item/weapon/reagent_containers/food/snacks))
if(!reagents.total_volume)
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "you can't add anymore to [target]!"
+ to_chat(user, "you can't add anymore to [target]!")
return
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
- user << "You transfer [trans] units of the condiment to [target]."
+ to_chat(user, "You transfer [trans] units of the condiment to [target].")
/obj/item/weapon/reagent_containers/food/condiment/on_reagent_change()
if(!possible_states.len)
@@ -144,7 +144,7 @@
return
if(isturf(target))
if(!reagents.has_reagent("sodiumchloride", 2))
- user << "You don't have enough salt to make a pile!"
+ to_chat(user, "You don't have enough salt to make a pile!")
return
user.visible_message("[user] shakes some salt onto [target].", "You shake some salt onto [target].")
reagents.remove_reagent("sodiumchloride", 2)
@@ -229,15 +229,15 @@
//You can tear the bag open above food to put the condiments on it, obviously.
if(istype(target, /obj/item/weapon/reagent_containers/food/snacks))
if(!reagents.total_volume)
- user << "You tear open [src], but there's nothing in it."
+ to_chat(user, "You tear open [src], but there's nothing in it.")
qdel(src)
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "You tear open [src], but [target] is stacked so high that it just drips off!" //Not sure if food can ever be full, but better safe than sorry.
+ to_chat(user, "You tear open [src], but [target] is stacked so high that it just drips off!" )
qdel(src)
return
else
- user << "You tear open [src] above [target] and the condiments drip onto it."
+ to_chat(user, "You tear open [src] above [target] and the condiments drip onto it.")
src.reagents.trans_to(target, amount_per_transfer_from_this)
qdel(src)
diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm
index 41cbf5be7dc..705319f7c3a 100644
--- a/code/modules/food_and_drinks/food/customizables.dm
+++ b/code/modules/food_and_drinks/food/customizables.dm
@@ -34,17 +34,17 @@
size = "big"
if(ingredients.len>8)
size = "monster"
- user << "It contains [ingredients.len?"[ingredients_listed]":"no ingredient, "]making a [size]-sized [initial(name)]."
+ to_chat(user, "It contains [ingredients.len?"[ingredients_listed]":"no ingredient, "]making a [size]-sized [initial(name)].")
/obj/item/weapon/reagent_containers/food/snacks/customizable/attackby(obj/item/I, mob/user, params)
if(!istype(I, /obj/item/weapon/reagent_containers/food/snacks/customizable) && istype(I,/obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/S = I
if(I.w_class > WEIGHT_CLASS_SMALL)
- user << "The ingredient is too big for [src]!"
+ to_chat(user, "The ingredient is too big for [src]!")
else if((ingredients.len >= ingMax) || (reagents.total_volume >= volume))
- user << "You can't add more ingredients to [src]!"
+ to_chat(user, "You can't add more ingredients to [src]!")
else if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/custom) || istype(I, /obj/item/weapon/reagent_containers/food/snacks/cakeslice/custom))
- user << "Adding [I.name] to [src] would make a mess."
+ to_chat(user, "Adding [I.name] to [src] would make a mess.")
else
if(!user.transferItemToLoc(I, src))
return
@@ -54,7 +54,7 @@
mix_filling_color(S)
S.reagents.trans_to(src,min(S.reagents.total_volume, 15)) //limit of 15, we don't want our custom food to be completely filled by just one ingredient with large reagent volume.
update_overlays(S)
- user << "You add the [I.name] to the [name]."
+ to_chat(user, "You add the [I.name] to the [name].")
update_name(S)
else . = ..()
@@ -243,7 +243,7 @@
var/obj/item/weapon/reagent_containers/food/snacks/breadslice/BS = I
if(finished)
return
- user << "You finish the [src.name]."
+ to_chat(user, "You finish the [src.name].")
finished = 1
name = "[customname] sandwich"
BS.reagents.trans_to(src, BS.reagents.total_volume)
@@ -293,9 +293,9 @@
if(istype(I,/obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/S = I
if(I.w_class > WEIGHT_CLASS_SMALL)
- user << "The ingredient is too big for [src]!"
+ to_chat(user, "The ingredient is too big for [src]!")
else if(contents.len >= 20)
- user << "You can't add more ingredients to [src]!"
+ to_chat(user, "You can't add more ingredients to [src]!")
else
if(reagents.has_reagent("water", 10)) //are we starting a soup or a salad?
var/obj/item/weapon/reagent_containers/food/snacks/customizable/A = new/obj/item/weapon/reagent_containers/food/snacks/customizable/soup(get_turf(src))
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index c1a5928299f..35b41d45fd2 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -53,7 +53,7 @@
if(!eatverb)
eatverb = pick("bite","chew","nibble","gnaw","gobble","chomp")
if(!reagents.total_volume) //Shouldn't be needed but it checks to see if it has anything left in it.
- user << "None of [src] left, oh no!"
+ to_chat(user, "None of [src] left, oh no!")
qdel(src)
return 0
if(iscarbon(M))
@@ -66,19 +66,19 @@
if(M == user) //If you're eating it yourself.
if(junkiness && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 )
- M << "You don't feel like eating any more junk food at the moment."
+ to_chat(M, "You don't feel like eating any more junk food at the moment.")
return 0
else if(fullness <= 50)
- M << "You hungrily [eatverb] some of \the [src] and gobble it down!"
+ to_chat(M, "You hungrily [eatverb] some of \the [src] and gobble it down!")
else if(fullness > 50 && fullness < 150)
- M << "You hungrily begin to [eatverb] \the [src]."
+ to_chat(M, "You hungrily begin to [eatverb] \the [src].")
else if(fullness > 150 && fullness < 500)
- M << "You [eatverb] \the [src]."
+ to_chat(M, "You [eatverb] \the [src].")
else if(fullness > 500 && fullness < 600)
- M << "You unwillingly [eatverb] a bit of \the [src]."
+ to_chat(M, "You unwillingly [eatverb] a bit of \the [src].")
else if(fullness > (600 * (1 + M.overeatduration / 2000))) // The more you eat - the more you can eat
- M << "You cannot force any more of \the [src] to go down your throat!"
+ to_chat(M, "You cannot force any more of \the [src] to go down your throat!")
return 0
else
if(!isbrain(M)) //If you're feeding it to someone else.
@@ -97,7 +97,7 @@
"[user] forces [M] to eat [src].")
else
- user << "[M] doesn't seem to have a mouth!"
+ to_chat(user, "[M] doesn't seem to have a mouth!")
return
if(reagents) //Handle ingestion of the reagent.
@@ -124,11 +124,11 @@
if(bitecount == 0)
return
else if(bitecount == 1)
- user << "[src] was bitten by someone!"
+ to_chat(user, "[src] was bitten by someone!")
else if(bitecount <= 3)
- user << "[src] was bitten [bitecount] times!"
+ to_chat(user, "[src] was bitten [bitecount] times!")
else
- user << "[src] was bitten multiple times!"
+ to_chat(user, "[src] was bitten multiple times!")
/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user, params)
@@ -139,13 +139,13 @@
var/obj/item/weapon/reagent_containers/food/snacks/S = W
if(custom_food_type && ispath(custom_food_type))
if(S.w_class > WEIGHT_CLASS_SMALL)
- user << "[S] is too big for [src]!"
+ to_chat(user, "[S] is too big for [src]!")
return 0
if(!S.customfoodfilling || istype(W, /obj/item/weapon/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/weapon/reagent_containers/food/snacks/pizzaslice/custom) || istype(W, /obj/item/weapon/reagent_containers/food/snacks/cakeslice/custom))
- user << "[src] can't be filled with [S]!"
+ to_chat(user, "[src] can't be filled with [S]!")
return 0
if(contents.len >= 20)
- user << "You can't add more ingredients to [src]!"
+ to_chat(user, "You can't add more ingredients to [src]!")
return 0
var/obj/item/weapon/reagent_containers/food/snacks/customizable/C = new custom_food_type(get_turf(src))
C.initialize_custom_food(src, S, user)
@@ -190,7 +190,7 @@
!(locate(/obj/structure/table/optable) in src.loc) && \
!(locate(/obj/item/weapon/storage/bag/tray) in src.loc) \
)
- user << "You cannot slice [src] here! You need a table or at least a tray."
+ to_chat(user, "You cannot slice [src] here! You need a table or at least a tray.")
return 1
var/slices_lost = 0
@@ -334,9 +334,9 @@
if(!iscarbon(user))
return 0
if(contents.len >= 20)
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
return 0
- user << "You slip [W] inside [src]."
+ to_chat(user, "You slip [W] inside [src].")
user.transferItemToLoc(W, src)
add_fingerprint(user)
contents += W
diff --git a/code/modules/food_and_drinks/food/snacks/dough.dm b/code/modules/food_and_drinks/food/snacks/dough.dm
index 5d412c05c1b..73e99c9d1de 100644
--- a/code/modules/food_and_drinks/food/snacks/dough.dm
+++ b/code/modules/food_and_drinks/food/snacks/dough.dm
@@ -18,10 +18,10 @@
if(istype(I, /obj/item/weapon/kitchen/rollingpin))
if(isturf(loc))
new /obj/item/weapon/reagent_containers/food/snacks/flatdough(loc)
- user << "You flatten [src]."
+ to_chat(user, "You flatten [src].")
qdel(src)
else
- user << "You need to put [src] on a surface to roll it out!"
+ to_chat(user, "You need to put [src] on a surface to roll it out!")
else
..()
@@ -85,10 +85,10 @@
if(istype(I, /obj/item/weapon/kitchen/rollingpin))
if(isturf(loc))
new /obj/item/weapon/reagent_containers/food/snacks/piedough(loc)
- user << "You flatten [src]."
+ to_chat(user, "You flatten [src].")
qdel(src)
else
- user << "You need to put [src] on a surface to roll it out!"
+ to_chat(user, "You need to put [src] on a surface to roll it out!")
else
..()
diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm
index fb82a4ad114..ce18a40f2a1 100644
--- a/code/modules/food_and_drinks/food/snacks_egg.dm
+++ b/code/modules/food_and_drinks/food/snacks_egg.dm
@@ -32,10 +32,10 @@
var/clr = C.item_color
if(!(clr in list("blue", "green", "mime", "orange", "purple", "rainbow", "red", "yellow")))
- usr << "[src] refuses to take on this colour!"
+ to_chat(usr, "[src] refuses to take on this colour!")
return
- usr << "You colour [src] [clr]."
+ to_chat(usr, "You colour [src] [clr].")
icon_state = "egg-[clr]"
item_color = clr
else
@@ -115,7 +115,7 @@
if(istype(W,/obj/item/weapon/kitchen/fork))
var/obj/item/weapon/kitchen/fork/F = W
if(F.forkload)
- user << "You already have omelette on your fork!"
+ to_chat(user, "You already have omelette on your fork!")
else
F.icon_state = "forkloaded"
user.visible_message("[user] takes a piece of omelette with their fork!", \
diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
index ee4b5a04c89..0ec4ee43a9a 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm
@@ -46,14 +46,14 @@ insert ascii eagle on american flag background here
/obj/machinery/deepfryer/examine()
..()
if(frying)
- usr << "You can make out [frying] in the oil."
+ to_chat(usr, "You can make out [frying] in the oil.")
/obj/machinery/deepfryer/attackby(obj/item/I, mob/user)
if(!reagents.total_volume)
- user << "There's nothing to fry with in [src]!"
+ to_chat(user, "There's nothing to fry with in [src]!")
return
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/deepfryholder))
- user << "Your cooking skills are not up to the legendary Doublefry technique."
+ to_chat(user, "Your cooking skills are not up to the legendary Doublefry technique.")
return
if(default_unfasten_wrench(user, I))
return
@@ -65,7 +65,7 @@ insert ascii eagle on american flag background here
if(is_type_in_typecache(I, blacklisted_items))
. = ..()
else if(user.drop_item() && !frying)
- user << "You put [I] into [src]."
+ to_chat(user, "You put [I] into [src].")
frying = I
frying.forceMove(src)
icon_state = "fryer_on"
@@ -86,7 +86,7 @@ insert ascii eagle on american flag background here
/obj/machinery/deepfryer/attack_hand(mob/user)
if(frying)
if(frying.loc == src)
- user << "You eject [frying] from [src]."
+ to_chat(user, "You eject [frying] from [src].")
var/obj/item/weapon/reagent_containers/food/snacks/deepfryholder/S = new(get_turf(src))
if(istype(frying, /obj/item/weapon/reagent_containers/))
var/obj/item/weapon/reagent_containers/food = frying
@@ -124,7 +124,7 @@ insert ascii eagle on american flag background here
return
else if(user.pulling && user.a_intent == "grab" && iscarbon(user.pulling) && reagents.total_volume)
if(user.grab_state < GRAB_AGGRESSIVE)
- user << "You need a better grip to do that!"
+ to_chat(user, "You need a better grip to do that!")
return
var/mob/living/carbon/C = user.pulling
user.visible_message("[user] dunks [C]'s face in [src]!")
diff --git a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm
index 0348b99ef42..dd99b093b49 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm
@@ -74,10 +74,10 @@
return
qdel(DG)
glasses++
- user << "The [src] accepts the drinking glass, sterilizing it."
+ to_chat(user, "The [src] accepts the drinking glass, sterilizing it.")
else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks))
if(isFull())
- user << "The [src] is at full capacity."
+ to_chat(user, "The [src] is at full capacity.")
else
var/obj/item/weapon/reagent_containers/food/snacks/S = O
if(!user.drop_item())
@@ -92,12 +92,12 @@
if(G.get_amount() >= 1)
G.use(1)
glasses += 4
- user << "The [src] accepts a sheet of glass."
+ to_chat(user, "The [src] accepts a sheet of glass.")
else if(istype(O, /obj/item/weapon/storage/bag/tray))
var/obj/item/weapon/storage/bag/tray/T = O
for(var/obj/item/weapon/reagent_containers/food/snacks/S in T.contents)
if(isFull())
- user << "The [src] is at full capacity."
+ to_chat(user, "The [src] is at full capacity.")
break
else
T.remove_from_storage(S, src)
@@ -132,7 +132,7 @@
if(href_list["pour"] || href_list["m_pour"])
if(glasses-- <= 0)
- usr << "There are no glasses left!"
+ to_chat(usr, "There are no glasses left!")
glasses = 0
else
var/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/DG = new(loc)
@@ -143,11 +143,11 @@
if(href_list["mix"])
if(reagents.trans_id_to(mixer, href_list["mix"], portion) == 0)
- usr << "The [mixer] is full!"
+ to_chat(usr, "The [mixer] is full!")
if(href_list["transfer"])
if(mixer.reagents.trans_id_to(src, href_list["transfer"], portion) == 0)
- usr << "The [src] is full!"
+ to_chat(usr, "The [src] is full!")
updateDialog()
diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
index 9b078bbd38e..13b7f4d8f5f 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm
@@ -92,20 +92,20 @@
if(stat & (NOPOWER|BROKEN))
return
if(operating)
- user << "It's locked and running."
+ to_chat(user, "It's locked and running.")
return
if(user.pulling && user.a_intent == INTENT_GRAB && isliving(user.pulling))
var/mob/living/L = user.pulling
if(!iscarbon(L))
- user << "This item is not suitable for the gibber!"
+ to_chat(user, "This item is not suitable for the gibber!")
return
var/mob/living/carbon/C = L
if(C.buckled ||C.has_buckled_mobs())
- user << "[C] is attached to something!"
+ to_chat(user, "[C] is attached to something!")
return
if(C.abiotic(1) && !ignore_clothing)
- user << "Subject may not have abiotic items on."
+ to_chat(user, "Subject may not have abiotic items on.")
return
user.visible_message("[user] starts to put [C] into the gibber!")
diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm
index dd12afbf443..43be7ad7479 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm
@@ -106,9 +106,9 @@
if(I.reagents.total_volume < 10)
I.reagents.add_reagent("sugar", 10 - I.reagents.total_volume)
else
- user << "There is not enough ice cream left!"
+ to_chat(user, "There is not enough ice cream left!")
else
- user << "[O] already has ice cream in it."
+ to_chat(user, "[O] already has ice cream in it.")
return 1
else if(O.is_open_container())
return
@@ -131,7 +131,7 @@
else
src.visible_message("[user] whips up some [flavour] icecream.")
else
- user << "You don't have the ingredients to make this!"
+ to_chat(user, "You don't have the ingredients to make this!")
/obj/machinery/icecream_vat/Topic(href, href_list)
if(..())
@@ -158,7 +158,7 @@
I.desc = "Delicious [cone_name] cone, but no ice cream."
src.visible_message("[usr] dispenses a crunchy [cone_name] cone from [src].")
else
- usr << "There are no [cone_name] cones left!"
+ to_chat(usr, "There are no [cone_name] cones left!")
if(href_list["make"])
var/amount = (text2num(href_list["amount"]))
diff --git a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm
index a2ed2fd1415..5770adc5394 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/juicer.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/juicer.dm
@@ -47,7 +47,7 @@
return 1
else
if(!user.transferItemToLoc(O, src))
- user << "\the [O] is stuck to your hand, you cannot put it in \the [src]!"
+ to_chat(user, "\the [O] is stuck to your hand, you cannot put it in \the [src]!")
return 0
beaker = O
src.verbs += /obj/machinery/juicer/verb/detach
@@ -55,10 +55,10 @@
src.updateUsrDialog()
return 0
if (!is_type_in_list(O, allowed_items))
- user << "This object contains no fluid or extractable reagents."
+ to_chat(user, "This object contains no fluid or extractable reagents.")
return 1
if(!user.transferItemToLoc(O, src))
- user << "\the [O] is stuck to your hand, you cannot put it in \the [src]!"
+ to_chat(user, "\the [O] is stuck to your hand, you cannot put it in \the [src]!")
return 0
src.updateUsrDialog()
return 0
diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
index bf3d133c9d1..aa60840cd09 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
@@ -95,7 +95,7 @@
src.container_type = OPENCONTAINER
return 0 //to use some fuel
else
- user << "It's broken!"
+ to_chat(user, "It's broken!")
return 1
else if(istype(O, /obj/item/weapon/reagent_containers/spray/))
var/obj/item/weapon/reagent_containers/spray/clean_spray = O
@@ -113,7 +113,7 @@
src.updateUsrDialog()
return 1 // Disables the after-attack so we don't spray the floor/user.
else
- user << "You need more space cleaner!"
+ to_chat(user, "You need more space cleaner!")
return 1
else if(istype(O, /obj/item/weapon/soap/)) // If they're trying to clean it then let them
@@ -133,7 +133,7 @@
src.container_type = OPENCONTAINER
else if(src.dirty==100) // The microwave is all dirty so can't be used!
- user << "It's dirty!"
+ to_chat(user, "It's dirty!")
return 1
else if(istype(O, /obj/item/weapon/storage/bag/tray))
@@ -141,22 +141,22 @@
var/loaded = 0
for(var/obj/item/weapon/reagent_containers/food/snacks/S in T.contents)
if (contents.len>=max_n_of_items)
- user << "[src] is full, you can't put anything in!"
+ to_chat(user, "[src] is full, you can't put anything in!")
return 1
T.remove_from_storage(S, src)
loaded++
if(loaded)
- user << "You insert [loaded] items into [src]."
+ to_chat(user, "You insert [loaded] items into [src].")
else if(O.w_class <= WEIGHT_CLASS_NORMAL && !istype(O,/obj/item/weapon/storage) && user.a_intent == INTENT_HELP)
if (contents.len>=max_n_of_items)
- user << "[src] is full, you can't put anything in!"
+ to_chat(user, "[src] is full, you can't put anything in!")
return 1
else
if(!user.drop_item())
- user << "\the [O] is stuck to your hand, you cannot put it in \the [src]!"
+ to_chat(user, "\the [O] is stuck to your hand, you cannot put it in \the [src]!")
return 0
O.loc = src
@@ -296,7 +296,7 @@
/obj/machinery/microwave/proc/dispose()
for (var/obj/O in contents)
O.loc = src.loc
- usr << "You dispose of the microwave contents."
+ to_chat(usr, "You dispose of the microwave contents.")
updateUsrDialog()
/obj/machinery/microwave/proc/muck_start()
diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm
index 475236814a8..ac99e25aedf 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm
@@ -70,13 +70,13 @@
if(!istype(target))
return
if(target.stat == 0)
- user << "The monkey is struggling far too much to put it in the recycler."
+ to_chat(user, "The monkey is struggling far too much to put it in the recycler.")
return
if(target.buckled || target.has_buckled_mobs())
- user << "The monkey is attached to something."
+ to_chat(user, "The monkey is attached to something.")
return
qdel(target)
- user << "You stuff the monkey into the machine."
+ to_chat(user, "You stuff the monkey into the machine.")
playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1)
var/offset = prob(50) ? -2 : 2
animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking
@@ -84,19 +84,19 @@
grinded++
sleep(50)
pixel_x = initial(pixel_x) //return to its spot after shaking
- user << "The machine now has [grinded] monkey\s worth of material stored."
+ to_chat(user, "The machine now has [grinded] monkey\s worth of material stored.")
/obj/machinery/monkey_recycler/attack_hand(mob/user)
if (src.stat != 0) //NOPOWER etc
return
if(grinded >= required_grind)
- user << "The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube."
+ to_chat(user, "The machine hisses loudly as it condenses the grinded monkey meat. After a moment, it dispenses a brand new monkey cube.")
playsound(src.loc, 'sound/machines/hiss.ogg', 50, 1)
grinded -= required_grind
for(var/i = 0, i < cube_production, i++)
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(src.loc)
- user << "The machine's display flashes that it has [grinded] monkeys worth of material left."
+ to_chat(user, "The machine's display flashes that it has [grinded] monkeys worth of material left.")
else
- user << "The machine needs at least [required_grind] monkey(s) worth of material to produce a monkey cube. It only has [grinded]."
+ to_chat(user, "The machine needs at least [required_grind] monkey(s) worth of material to produce a monkey cube. It only has [grinded].")
return
diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
index 941e860eb57..f64014446c7 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm
@@ -37,11 +37,11 @@
if(build_path == /obj/machinery/processor)
name = "Slime Processor (Machine Board)"
build_path = /obj/machinery/processor/slime
- user << "Name protocols successfully updated."
+ to_chat(user, "Name protocols successfully updated.")
else
name = "Food Processor (Machine Board)"
build_path = /obj/machinery/processor
- user << "Defaulting name protocols."
+ to_chat(user, "Defaulting name protocols.")
else
return ..()
@@ -191,7 +191,7 @@
/obj/machinery/processor/attackby(obj/item/O, mob/user, params)
if(src.processing)
- user << "The processor is in the process of processing!"
+ to_chat(user, "The processor is in the process of processing!")
return 1
if(default_deconstruction_screwdriver(user, "processor", "processor1", O))
return
@@ -218,9 +218,9 @@
loaded++
if(loaded)
- user << "You insert [loaded] items into [src]."
+ to_chat(user, "You insert [loaded] items into [src].")
return
-
+
var/datum/food_processor_process/P = select_recipe(O)
if(P)
user.visible_message("[user] put [O] into [src].", \
@@ -230,7 +230,7 @@
return 1
else
if(user.a_intent != INTENT_HARM)
- user << "That probably won't blend!"
+ to_chat(user, "That probably won't blend!")
return 1
else
return ..()
@@ -239,11 +239,11 @@
if (src.stat != 0) //NOPOWER etc
return
if(src.processing)
- user << "The processor is in the process of processing!"
+ to_chat(user, "The processor is in the process of processing!")
return 1
if(user.a_intent == INTENT_GRAB && user.pulling && (isslime(user.pulling) || ismonkey(user.pulling)))
if(user.grab_state < GRAB_AGGRESSIVE)
- user << "You need a better grip to do that!"
+ to_chat(user, "You need a better grip to do that!")
return
var/mob/living/pushed_mob = user.pulling
visible_message("[user] stuffs [pushed_mob] into [src]!")
@@ -251,7 +251,7 @@
user.stop_pulling()
return
if(src.contents.len == 0)
- user << "The processor is empty!"
+ to_chat(user, "The processor is empty!")
return 1
src.processing = 1
user.visible_message("[user] turns on [src].", \
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index 7674cbe97b2..068c41a4056 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -47,13 +47,13 @@
var/position = fridges.Find(build_path, fridges)
position = (position == fridges.len) ? 1 : (position + 1)
build_path = fridges[position]
- user << "You set the board to [fridges[build_path]]."
+ to_chat(user, "You set the board to [fridges[build_path]].")
else
return ..()
/obj/item/weapon/circuitboard/machine/smartfridge/examine/(mob/user)
..()
- user << "[src] is set to [fridges[build_path]]. You can use a screwdriver to reconfigure it."
+ to_chat(user, "[src] is set to [fridges[build_path]]. You can use a screwdriver to reconfigure it.")
/obj/machinery/smartfridge/RefreshParts()
for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts)
@@ -96,7 +96,7 @@
if(!stat)
if(contents.len >= max_n_of_items)
- user << "\The [src] is full!"
+ to_chat(user, "\The [src] is full!")
return FALSE
if(accept_check(O))
@@ -124,14 +124,14 @@
user.visible_message("[user] loads \the [src] with \the [O].", \
"You load \the [src] with \the [O].")
if(O.contents.len > 0)
- user << "Some items are refused."
+ to_chat(user, "Some items are refused.")
return TRUE
else
- user << "There is nothing in [O] to put in [src]!"
+ to_chat(user, "There is nothing in [O] to put in [src]!")
return FALSE
if(user.a_intent != INTENT_HARM)
- user << "\The [src] smartly refuses [O]."
+ to_chat(user, "\The [src] smartly refuses [O].")
updateUsrDialog()
return FALSE
else
@@ -148,7 +148,7 @@
if(istype(O.loc,/mob))
var/mob/M = O.loc
if(!M.transferItemToLoc(O, src))
- usr << "\the [O] is stuck to your hand, you cannot put it in \the [src]!"
+ to_chat(usr, "\the [O] is stuck to your hand, you cannot put it in \the [src]!")
return
else
if(istype(O.loc,/obj/item/weapon/storage))
diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm
index a90d0dcd118..7e7f049c767 100644
--- a/code/modules/food_and_drinks/pizzabox.dm
+++ b/code/modules/food_and_drinks/pizzabox.dm
@@ -92,14 +92,14 @@
if(open)
if(pizza)
user.put_in_hands(pizza)
- user << "You take [pizza] out of [src]."
+ to_chat(user, "You take [pizza] out of [src].")
pizza = null
update_icon()
return
else if(bomb)
if(wires.is_all_cut() && bomb_defused)
user.put_in_hands(bomb)
- user << "You carefully remove the [bomb] from [src]."
+ to_chat(user, "You carefully remove the [bomb] from [src].")
bomb = null
update_icon()
return
@@ -114,14 +114,14 @@
log_game("[key_name(user)] has trapped a [src] with [bomb] set to [bomb_timer * 2] seconds.")
bomb.adminlog = "The [bomb.name] in [src.name] that [key_name(user)] activated has detonated!"
- user << "You trap [src] with [bomb]."
+ to_chat(user, "You trap [src] with [bomb].")
update_icon()
return
else if(boxes.len)
var/obj/item/pizzabox/topbox = boxes[boxes.len]
boxes -= topbox
user.put_in_hands(topbox)
- user << "You remove the topmost [name] from the stack."
+ to_chat(user, "You remove the topmost [name] from the stack.")
topbox.update_icon()
update_icon()
return
@@ -141,21 +141,21 @@
boxes += add
newbox.boxes.Cut()
newbox.loc = src
- user << "You put [newbox] on top of [src]!"
+ to_chat(user, "You put [newbox] on top of [src]!")
newbox.update_icon()
update_icon()
return
else
- user << "The stack is dangerously high!"
+ to_chat(user, "The stack is dangerously high!")
else
- user << "Close [open ? src : newbox] first!"
+ to_chat(user, "Close [open ? src : newbox] first!")
else if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/pizza) || istype(I, /obj/item/weapon/reagent_containers/food/snacks/customizable/pizza))
if(open)
if(!user.drop_item())
return
pizza = I
I.loc = src
- user << "You put [I] in [src]."
+ to_chat(user, "You put [I] in [src].")
update_icon()
return
else if(istype(I, /obj/item/weapon/bombcore/pizza))
@@ -165,23 +165,23 @@
wires = new /datum/wires/explosive/pizza(src)
bomb = I
I.loc = src
- user << "You put [I] in [src]. Sneeki breeki..."
+ to_chat(user, "You put [I] in [src]. Sneeki breeki...")
update_icon()
return
else if(bomb)
- user << "[src] already has a bomb in it!"
+ to_chat(user, "[src] already has a bomb in it!")
else if(istype(I, /obj/item/weapon/pen))
if(!open)
var/obj/item/pizzabox/box = boxes.len ? boxes[boxes.len] : src
box.boxtag += stripped_input(user, "Write on [box]'s tag:", box, "", 30)
- user << "You write with [I] on [src]."
+ to_chat(user, "You write with [I] on [src].")
update_icon()
return
else if(is_wire_tool(I))
if(wires && bomb)
wires.interact(user)
else if(istype(I, /obj/item/weapon/reagent_containers/food))
- user << "That's not a pizza!"
+ to_chat(user, "That's not a pizza!")
..()
/obj/item/pizzabox/process()
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index db502b751ca..ebc9f84ae90 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -145,7 +145,7 @@
if(cards.len == 1 && istype(O, /obj/item/weapon/pen))
var/datum/playingcard/P = cards[1]
if(!blank)
- user << "You cannot write on that card."
+ to_chat(user, "You cannot write on that card.")
return
var/cardtext = sanitize(input(user, "What do you wish to write on the card?", "Card Writing") as text|null, 50)
if(!cardtext)
diff --git a/code/modules/games/cas.dm b/code/modules/games/cas.dm
index 2ea54b4bdf5..ed768a2063f 100644
--- a/code/modules/games/cas.dm
+++ b/code/modules/games/cas.dm
@@ -60,7 +60,7 @@ var/global/list/cards_against_space
if(user.lying)
return
if(cards.len == 0)
- user << "There are no more cards to draw!"
+ to_chat(user, "There are no more cards to draw!")
return
var/obj/item/toy/cards/singlecard/cas/H = new/obj/item/toy/cards/singlecard/cas(user.loc)
var/datum/playingcard/choice = cards[1]
@@ -81,7 +81,7 @@ var/global/list/cards_against_space
if(istype(I, /obj/item/toy/cards/singlecard/cas))
var/obj/item/toy/cards/singlecard/cas/SC = I
if(!user.temporarilyRemoveItemFromInventory(SC))
- user << "The card is stuck to your hand, you can't add it to the deck!"
+ to_chat(user, "The card is stuck to your hand, you can't add it to the deck!")
return
var/datum/playingcard/RC // replace null datum for the re-added card
RC = new()
@@ -107,11 +107,11 @@ var/global/list/cards_against_space
/obj/item/toy/cards/singlecard/cas/examine(mob/user)
if (flipped)
- user << "The card is face down."
+ to_chat(user, "The card is face down.")
else if (blank)
- user << "The card is blank. Write on it with a pen."
+ to_chat(user, "The card is blank. Write on it with a pen.")
else
- user << "The card reads: [name]"
+ to_chat(user, "The card reads: [name]")
/obj/item/toy/cards/singlecard/cas/Flip()
set name = "Flip Card"
@@ -140,7 +140,7 @@ var/global/list/cards_against_space
/obj/item/toy/cards/singlecard/cas/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/pen))
if(!blank)
- user << "You cannot write on that card."
+ to_chat(user, "You cannot write on that card.")
return
var/cardtext = stripped_input(user, "What do you wish to write on the card?", "Card Writing", "", 50)
if(!cardtext)
diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm
index 8a373d7ec37..95fb66bcc79 100644
--- a/code/modules/holiday/easter.dm
+++ b/code/modules/holiday/easter.dm
@@ -135,7 +135,7 @@
/obj/item/weapon/reagent_containers/food/snacks/egg/attack_self(mob/user)
..()
if(containsPrize)
- user << "You unwrap the [src] and find a prize inside!"
+ to_chat(user, "You unwrap the [src] and find a prize inside!")
dispensePrize(get_turf(user))
containsPrize = FALSE
qdel(src)
diff --git a/code/modules/holiday/holidays.dm b/code/modules/holiday/holidays.dm
index dbe95af2426..aa71708240e 100644
--- a/code/modules/holiday/holidays.dm
+++ b/code/modules/holiday/holidays.dm
@@ -421,5 +421,5 @@
begin_day += 31
begin_month-- //begins in march, ends in april
-// world << "Easter calculates to be on [begin_day] of [begin_month] ([days_early] early) to [end_day] of [end_month] ([days_extra] extra) for 20[yy]"
+// to_chat(world, "Easter calculates to be on [begin_day] of [begin_month] ([days_early] early) to [end_day] of [end_month] ([days_extra] extra) for 20[yy]")
return ..()
diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm
index 7524e323cc4..c5d7b56ca7b 100644
--- a/code/modules/holodeck/computer.dm
+++ b/code/modules/holodeck/computer.dm
@@ -180,12 +180,12 @@
/obj/machinery/computer/holodeck/emag_act(mob/user as mob)
if(!emagged)
if(!emag_programs.len)
- user << "[src] does not seem to have a card swipe port. It must be an inferior model."
+ to_chat(user, "[src] does not seem to have a card swipe port. It must be an inferior model.")
return
playsound(loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = 1
- user << "You vastly increase projector power and override the safety and security protocols."
- user << "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator."
+ to_chat(user, "You vastly increase projector power and override the safety and security protocols.")
+ to_chat(user, "Warning. Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.")
log_game("[key_name(user)] emagged the Holodeck Control Console")
updateUsrDialog()
nerf(!emagged)
diff --git a/code/modules/holodeck/computer_funcs.dm b/code/modules/holodeck/computer_funcs.dm
index 682dd22a581..5479bbf711f 100644
--- a/code/modules/holodeck/computer_funcs.dm
+++ b/code/modules/holodeck/computer_funcs.dm
@@ -52,7 +52,7 @@
if(world.time < (last_change + 15))//To prevent super-spam clicking, reduced process size and annoyance -Sieve
return
if(get_dist(usr,src) <= 3)
- usr << "ERROR. Recalibrating projection apparatus."
+ to_chat(usr, "ERROR. Recalibrating projection apparatus.")
return
last_change = world.time
diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm
index 8acc21b2166..87196414841 100644
--- a/code/modules/holodeck/items.dm
+++ b/code/modules/holodeck/items.dm
@@ -52,14 +52,14 @@
w_class = WEIGHT_CLASS_BULKY
hitsound = 'sound/weapons/blade1.ogg'
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
- user << "[src] is now active."
+ to_chat(user, "[src] is now active.")
else
force = 3
icon_state = "sword0"
w_class = WEIGHT_CLASS_SMALL
hitsound = "swing_hit"
playsound(user, 'sound/weapons/saberoff.ogg', 20, 1)
- user << "[src] can now be concealed."
+ to_chat(user, "[src] can now be concealed.")
return
//BASKETBALL OBJECTS
@@ -109,7 +109,7 @@
if(user.pulling && user.a_intent == INTENT_GRAB && isliving(user.pulling))
var/mob/living/L = user.pulling
if(user.grab_state < GRAB_AGGRESSIVE)
- user << "You need a better grip to do that!"
+ to_chat(user, "You need a better grip to do that!")
return
L.loc = src.loc
L.Weaken(5)
@@ -154,19 +154,19 @@
power_channel = ENVIRON
/obj/machinery/readybutton/attack_ai(mob/user as mob)
- user << "The station AI is not to interact with these devices"
+ to_chat(user, "The station AI is not to interact with these devices")
return
/obj/machinery/readybutton/attack_paw(mob/user as mob)
- user << "You are too primitive to use this device!"
+ to_chat(user, "You are too primitive to use this device!")
return
/obj/machinery/readybutton/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
- user << "The device is a solid button, there's nothing you can do with it!"
+ to_chat(user, "The device is a solid button, there's nothing you can do with it!")
/obj/machinery/readybutton/attack_hand(mob/user as mob)
if(user.stat || stat & (NOPOWER|BROKEN))
- user << "This device is not powered!"
+ to_chat(user, "This device is not powered!")
return
currentarea = get_area(src.loc)
@@ -174,7 +174,7 @@
qdel(src)
if(eventstarted)
- usr << "The event has already begun!"
+ to_chat(usr, "The event has already begun!")
return
ready = !ready
@@ -206,7 +206,7 @@
qdel(W)
for(var/mob/M in currentarea)
- M << "FIGHT!"
+ to_chat(M, "FIGHT!")
/obj/machinery/conveyor/holodeck
diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm
index 8219a0a4f85..5a62ff3f343 100644
--- a/code/modules/hydroponics/beekeeping/beebox.dm
+++ b/code/modules/hydroponics/beekeeping/beebox.dm
@@ -123,22 +123,22 @@
..()
if(!queen_bee)
- user << "There is no queen bee! There won't bee any honeycomb without a queen!"
+ to_chat(user, "There is no queen bee! There won't bee any honeycomb without a queen!")
var/half_bee = get_max_bees()*0.5
if(half_bee && (bees.len >= half_bee))
- user << "This place is aBUZZ with activity... there are lots of bees!"
+ to_chat(user, "This place is aBUZZ with activity... there are lots of bees!")
- user << "[bee_resources]/100 resource supply."
- user << "[bee_resources]% towards a new honeycomb."
- user << "[bee_resources*2]% towards a new bee."
+ to_chat(user, "[bee_resources]/100 resource supply.")
+ to_chat(user, "[bee_resources]% towards a new honeycomb.")
+ to_chat(user, "[bee_resources*2]% towards a new bee.")
if(honeycombs.len)
var/plural = honeycombs.len > 1
- user << "There [plural? "are" : "is"] [honeycombs.len] uncollected honeycomb[plural ? "s":""] in the apiary."
+ to_chat(user, "There [plural? "are" : "is"] [honeycombs.len] uncollected honeycomb[plural ? "s":""] in the apiary.")
if(honeycombs.len >= get_max_honeycomb())
- user << "there's no room for more honeycomb!"
+ to_chat(user, "there's no room for more honeycomb!")
/obj/structure/beebox/attackby(obj/item/I, mob/user, params)
@@ -150,7 +150,7 @@
return
honey_frames += HF
else
- user << "There's no room for any more frames in the apiary!"
+ to_chat(user, "There's no room for any more frames in the apiary!")
if(istype(I, /obj/item/weapon/wrench))
if(default_unfasten_wrench(user, I, time = 20))
@@ -158,7 +158,7 @@
if(istype(I, /obj/item/queen_bee))
if(queen_bee)
- user << "This hive already has a queen!"
+ to_chat(user, "This hive already has a queen!")
return
var/obj/item/queen_bee/qb = I
@@ -181,10 +181,10 @@
B.loc = get_turf(src)
relocated++
if(relocated)
- user << "This queen has a different reagent to some of the bees who live here, those bees will not return to this apiary!"
+ to_chat(user, "This queen has a different reagent to some of the bees who live here, those bees will not return to this apiary!")
else
- user << "The queen bee disappeared! Disappearing bees have been in the news lately..."
+ to_chat(user, "The queen bee disappeared! Disappearing bees have been in the news lately...")
qdel(qb)
@@ -210,7 +210,7 @@
switch(option)
if("Remove a Honey Frame")
if(!honey_frames.len)
- user << "There are no honey frames to remove!"
+ to_chat(user, "There are no honey frames to remove!")
return
var/obj/item/honey_frame/HF = pick_n_take(honey_frames)
@@ -233,7 +233,7 @@
if("Remove the Queen Bee")
if(!queen_bee || queen_bee.loc != src)
- user << "There is no queen bee to remove!"
+ to_chat(user, "There is no queen bee to remove!")
return
var/obj/item/queen_bee/QB = new()
queen_bee.loc = QB
diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm
index d8e32671cac..0d81cb7546e 100644
--- a/code/modules/hydroponics/biogenerator.dm
+++ b/code/modules/hydroponics/biogenerator.dm
@@ -85,7 +85,7 @@
return ..()
if(processing)
- user << "The biogenerator is currently processing."
+ to_chat(user, "The biogenerator is currently processing.")
return
if(default_deconstruction_screwdriver(user, "biogen-empty-o", "biogen-empty", O))
@@ -106,17 +106,17 @@
. = 1 //no afterattack
if(!panel_open)
if(beaker)
- user << "A container is already loaded into the machine."
+ to_chat(user, "A container is already loaded into the machine.")
else
if(!user.drop_item())
return
O.loc = src
beaker = O
- user << "You add the container to the machine."
+ to_chat(user, "You add the container to the machine.")
update_icon()
updateUsrDialog()
else
- user << "Close the maintenance panel first."
+ to_chat(user, "Close the maintenance panel first.")
return
else if(istype(O, /obj/item/weapon/storage/bag/plants))
@@ -125,7 +125,7 @@
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents)
i++
if(i >= max_items)
- user << "The biogenerator is already full! Activate it."
+ to_chat(user, "The biogenerator is already full! Activate it.")
else
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in PB.contents)
if(i >= max_items)
@@ -133,11 +133,11 @@
PB.remove_from_storage(G, src)
i++
if(iYou empty the plant bag into the biogenerator."
+ to_chat(user, "You empty the plant bag into the biogenerator.")
else if(PB.contents.len == 0)
- user << "You empty the plant bag into the biogenerator, filling it to its capacity."
+ to_chat(user, "You empty the plant bag into the biogenerator, filling it to its capacity.")
else
- user << "You fill the biogenerator to its capacity."
+ to_chat(user, "You fill the biogenerator to its capacity.")
return 1 //no afterattack
else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown))
@@ -145,10 +145,10 @@
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents)
i++
if(i >= max_items)
- user << "The biogenerator is full! Activate it."
+ to_chat(user, "The biogenerator is full! Activate it.")
else
if(user.transferItemToLoc(O, src))
- user << "You put [O.name] in [src.name]"
+ to_chat(user, "You put [O.name] in [src.name]")
return 1 //no afterattack
else if (istype(O, /obj/item/weapon/disk/design_disk))
user.visible_message("[user] begins to load \the [O] in \the [src]...",
@@ -163,7 +163,7 @@
processing = 0
return 1
else
- user << "You cannot put this in [src.name]!"
+ to_chat(user, "You cannot put this in [src.name]!")
/obj/machinery/biogenerator/interact(mob/user)
if(stat & BROKEN || panel_open)
@@ -227,7 +227,7 @@
if (src.stat != 0) //NOPOWER etc
return
if(processing)
- usr << "The biogenerator is in the process of working."
+ to_chat(usr, "The biogenerator is in the process of working.")
return
var/S = 0
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/I in contents)
diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm
index 08c7833f95f..b0535f7c8f3 100644
--- a/code/modules/hydroponics/gene_modder.dm
+++ b/code/modules/hydroponics/gene_modder.dm
@@ -71,23 +71,23 @@
if(istype(I, /obj/item/seeds))
if(seed)
- user << "A sample is already loaded into the machine!"
+ to_chat(user, "A sample is already loaded into the machine!")
else
if(!user.drop_item())
return
insert_seed(I)
- user << "You add [I] to the machine."
+ to_chat(user, "You add [I] to the machine.")
interact(user)
return
else if(istype(I, /obj/item/weapon/disk/plantgene))
if(disk)
- user << "A data disk is already loaded into the machine!"
+ to_chat(user, "A data disk is already loaded into the machine!")
else
if(!user.drop_item())
return
disk = I
disk.loc = src
- user << "You add [I] to the machine."
+ to_chat(user, "You add [I] to the machine.")
interact(user)
else
..()
@@ -239,7 +239,7 @@
if(!usr.drop_item())
return
insert_seed(I)
- usr << "You add [I] to the machine."
+ to_chat(usr, "You add [I] to the machine.")
update_icon()
else if(href_list["eject_disk"] && !operation)
if (disk)
@@ -254,7 +254,7 @@
return
disk = I
disk.loc = src
- usr << "You add [I] to the machine."
+ to_chat(usr, "You add [I] to the machine.")
else if(href_list["op"] == "insert" && disk && disk.gene && seed)
if(!operation) // Wait for confirmation
operation = "insert"
@@ -415,8 +415,8 @@
/obj/item/weapon/disk/plantgene/attack_self(mob/user)
read_only = !read_only
- user << "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"]."
+ to_chat(user, "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"].")
/obj/item/weapon/disk/plantgene/examine(mob/user)
..()
- user << "The write-protect tab is set to [src.read_only ? "protected" : "unprotected"]."
+ to_chat(user, "The write-protect tab is set to [src.read_only ? "protected" : "unprotected"].")
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index cfd60d60a11..d70aa732566 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -54,7 +54,7 @@
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
if(T.examine_line)
- user << T.examine_line
+ to_chat(user, T.examine_line)
/obj/item/weapon/reagent_containers/food/snacks/grown/attackby(obj/item/O, mob/user, params)
..()
@@ -72,7 +72,7 @@
if(reag_txt)
msg += reag_txt
msg += "
*---------*"
- user << msg
+ to_chat(user, msg)
else
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
@@ -144,4 +144,4 @@
T = generate_trash()
qdel(src)
user.putItemFromInventoryInHandIfPossible(T, user.active_hand_index, TRUE)
- user << "You open [src]\'s shell, revealing \a [T]."
+ to_chat(user, "You open [src]\'s shell, revealing \a [T].")
diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm
index 218f50cbd52..7813095700d 100644
--- a/code/modules/hydroponics/grown/chili.dm
+++ b/code/modules/hydroponics/grown/chili.dm
@@ -89,7 +89,7 @@
return
held_mob.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT
if(prob(10))
- held_mob << "Your hand holding [src] burns!"
+ to_chat(held_mob, "Your hand holding [src] burns!")
else
held_mob = null
..()
diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm
index 3c2169ddfee..59e7a0c0085 100644
--- a/code/modules/hydroponics/grown/corn.dm
+++ b/code/modules/hydroponics/grown/corn.dm
@@ -37,7 +37,7 @@
/obj/item/weapon/grown/corncob/attackby(obj/item/weapon/grown/W, mob/user, params)
if(W.is_sharp())
- user << "You use [W] to fashion a pipe out of the corn cob!"
+ to_chat(user, "You use [W] to fashion a pipe out of the corn cob!")
new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc)
qdel(src)
else
@@ -72,7 +72,7 @@
/obj/item/weapon/grown/snapcorn/attack_self(mob/user)
..()
- user << "You pick a snap pop from the cob."
+ to_chat(user, "You pick a snap pop from the cob.")
var/obj/item/toy/snappop/S = new /obj/item/toy/snappop(user.loc)
if(ishuman(user))
user.put_in_hands(S)
diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm
index 8f2147d29ee..881e47238e4 100644
--- a/code/modules/hydroponics/grown/flowers.dm
+++ b/code/modules/hydroponics/grown/flowers.dm
@@ -122,8 +122,8 @@
throw_range = 3
/obj/item/weapon/grown/sunflower/attack(mob/M, mob/user)
- M << " [user] smacks you with a sunflower!FLOWER POWER"
- user << "Your sunflower's FLOWER POWERstrikes [M]"
+ to_chat(M, " [user] smacks you with a sunflower!FLOWER POWER")
+ to_chat(user, "Your sunflower's FLOWER POWERstrikes [M]")
// Moonflower
/obj/item/seeds/sunflower/moonflower
@@ -180,7 +180,7 @@
if(!..())
return
if(isliving(M))
- M << "You are lit on fire from the intense heat of the [name]!"
+ to_chat(M, "You are lit on fire from the intense heat of the [name]!")
M.adjust_fire_stacks(seed.potency / 20)
if(M.IgniteMob())
message_admins("[key_name_admin(user)] set [key_name_admin(M)] on fire")
@@ -191,11 +191,11 @@
if(force > 0)
force -= rand(1, (force / 3) + 1)
else
- usr << "All the petals have fallen off the [name] from violent whacking!"
+ to_chat(usr, "All the petals have fallen off the [name] from violent whacking!")
qdel(src)
/obj/item/weapon/grown/novaflower/pickup(mob/living/carbon/human/user)
..()
if(!user.gloves)
- user << "The [name] burns your bare hand!"
+ to_chat(user, "The [name] burns your bare hand!")
user.adjustFireLoss(rand(1, 5))
diff --git a/code/modules/hydroponics/grown/grass_carpet.dm b/code/modules/hydroponics/grown/grass_carpet.dm
index 0772267baf8..c7715a8bee3 100644
--- a/code/modules/hydroponics/grown/grass_carpet.dm
+++ b/code/modules/hydroponics/grown/grass_carpet.dm
@@ -29,7 +29,7 @@
var/tile_coefficient = 0.02 // 1/50
/obj/item/weapon/reagent_containers/food/snacks/grown/grass/attack_self(mob/user)
- user << "You prepare the astroturf."
+ to_chat(user, "You prepare the astroturf.")
var/grassAmt = 1 + round(seed.potency * tile_coefficient) // The grass we're holding
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/grass/G in user.loc) // The grass on the floor
if(G.type != type)
diff --git a/code/modules/hydroponics/grown/kudzu.dm b/code/modules/hydroponics/grown/kudzu.dm
index 57b51edbe95..9a586ba8ca6 100644
--- a/code/modules/hydroponics/grown/kudzu.dm
+++ b/code/modules/hydroponics/grown/kudzu.dm
@@ -37,7 +37,7 @@
/obj/item/seeds/kudzu/attack_self(mob/user)
plant(user)
- user << "You plant the kudzu. You monster."
+ to_chat(user, "You plant the kudzu. You monster.")
/obj/item/seeds/kudzu/get_analyzer_text()
var/text = ..()
diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm
index 39459d9406e..ed9eb34ffb8 100644
--- a/code/modules/hydroponics/grown/mushrooms.dm
+++ b/code/modules/hydroponics/grown/mushrooms.dm
@@ -172,7 +172,7 @@
M.move_to_delay -= round(seed.production / 50)
M.health = M.maxHealth
qdel(src)
- user << "You plant the walking mushroom."
+ to_chat(user, "You plant the walking mushroom.")
// Chanterelle
@@ -241,7 +241,7 @@
planted.max_integrity = seed.endurance
planted.yield = seed.yield
planted.potency = seed.potency
- user << "You plant [src]."
+ to_chat(user, "You plant [src].")
qdel(src)
diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm
index 1c9738fa44d..264261dd69b 100644
--- a/code/modules/hydroponics/grown/nettle.dm
+++ b/code/modules/hydroponics/grown/nettle.dm
@@ -59,7 +59,7 @@
if(affecting)
if(affecting.receive_damage(0, force))
C.update_damage_overlays()
- C << "The nettle burns your bare hand!"
+ to_chat(C, "The nettle burns your bare hand!")
return 1
/obj/item/weapon/grown/nettle/afterattack(atom/A as mob|obj, mob/user,proximity)
@@ -67,7 +67,7 @@
if(force > 0)
force -= rand(1, (force / 3) + 1) // When you whack someone with it, leaves fall off
else
- usr << "All the leaves have fallen off the nettle from violent whacking."
+ to_chat(usr, "All the leaves have fallen off the nettle from violent whacking.")
qdel(src)
/obj/item/weapon/grown/nettle/basic
@@ -94,13 +94,13 @@
if(..())
if(prob(50))
user.Paralyse(5)
- user << "You are stunned by the Deathnettle when you try picking it up!"
+ to_chat(user, "You are stunned by the Deathnettle when you try picking it up!")
/obj/item/weapon/grown/nettle/death/attack(mob/living/carbon/M, mob/user)
if(!..())
return
if(isliving(M))
- M << "You are stunned by the powerful acid of the Deathnettle!"
+ to_chat(M, "You are stunned by the powerful acid of the Deathnettle!")
add_logs(user, M, "attacked", src)
M.adjust_blurriness(force/7)
diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm
index 8164f5f162a..12d8e46ccd3 100644
--- a/code/modules/hydroponics/grown/potato.dm
+++ b/code/modules/hydroponics/grown/potato.dm
@@ -37,7 +37,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W, mob/user, params)
if(W.is_sharp())
- user << "You cut the potato into wedges with [W]."
+ to_chat(user, "You cut the potato into wedges with [W].")
var/obj/item/weapon/reagent_containers/food/snacks/grown/potato/wedges/Wedges = new /obj/item/weapon/reagent_containers/food/snacks/grown/potato/wedges
remove_item_from_storage(user)
qdel(src)
diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm
index 3eb6fb3a890..43566d5696b 100644
--- a/code/modules/hydroponics/grown/replicapod.dm
+++ b/code/modules/hydroponics/grown/replicapod.dm
@@ -35,12 +35,12 @@
features = bloodSample.data["features"]
factions = bloodSample.data["factions"]
W.reagents.clear_reagents()
- user << "You inject the contents of the syringe into the seeds."
+ to_chat(user, "You inject the contents of the syringe into the seeds.")
contains_sample = 1
else
- user << "The seeds reject the sample!"
+ to_chat(user, "The seeds reject the sample!")
else
- user << "The seeds already contain a genetic sample!"
+ to_chat(user, "The seeds already contain a genetic sample!")
else
return ..()
diff --git a/code/modules/hydroponics/grown/root.dm b/code/modules/hydroponics/grown/root.dm
index 753b9a287a8..7794148f0e0 100644
--- a/code/modules/hydroponics/grown/root.dm
+++ b/code/modules/hydroponics/grown/root.dm
@@ -24,7 +24,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot/attackby(obj/item/I, mob/user, params)
if(I.is_sharp())
- user << "You sharpen the carrot into a shiv with [I]."
+ to_chat(user, "You sharpen the carrot into a shiv with [I].")
var/obj/item/weapon/kitchen/knife/carrotshiv/Shiv = new /obj/item/weapon/kitchen/knife/carrotshiv
remove_item_from_storage(user)
qdel(src)
diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm
index 1815868dcc9..4a8faa6829b 100644
--- a/code/modules/hydroponics/grown/tomato.dm
+++ b/code/modules/hydroponics/grown/tomato.dm
@@ -119,14 +119,14 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone)
if(awakening)
- user << "The tomato is twitching and shaking, preventing you from eating it."
+ to_chat(user, "The tomato is twitching and shaking, preventing you from eating it.")
return
..()
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack_self(mob/user)
if(awakening || isspaceturf(user.loc))
return
- user << "You begin to awaken the Killer Tomato..."
+ to_chat(user, "You begin to awaken the Killer Tomato...")
awakening = 1
spawn(30)
diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm
index db46682f9c5..b2297e8375e 100644
--- a/code/modules/hydroponics/grown/towercap.dm
+++ b/code/modules/hydroponics/grown/towercap.dm
@@ -63,7 +63,7 @@
if(ST != plank && istype(ST, plank_type) && ST.amount < ST.max_amount)
ST.attackby(plank, user) //we try to transfer all old unfinished stacks to the new stack we created.
if(plank.amount > old_plank_amount)
- user << "You add the newly-formed [plank_name] to the stack. It now contains [plank.amount] [plank_name]."
+ to_chat(user, "You add the newly-formed [plank_name] to the stack. It now contains [plank.amount] [plank_name].")
qdel(src)
if(is_type_in_list(W,accepted))
@@ -77,7 +77,7 @@
qdel(src)
return
else
- usr << "You must dry this first!"
+ to_chat(usr, "You must dry this first!")
else
return ..()
@@ -115,7 +115,7 @@
R.use(1)
can_buckle = 1
buckle_requires_restraints = 1
- user << "You add a rod to [src]."
+ to_chat(user, "You add a rod to [src].")
var/image/U = image(icon='icons/obj/hydroponics/equipment.dmi',icon_state="bonfire_rod",pixel_y=16)
underlays += U
if(W.is_hot())
@@ -124,7 +124,7 @@
/obj/structure/bonfire/attack_hand(mob/user)
if(burning)
- user << "You need to extinguish [src] before removing the logs!"
+ to_chat(user, "You need to extinguish [src] before removing the logs!")
return
if(!has_buckled_mobs() && do_after(user, 50, target = src))
for(var/I in 1 to 5)
diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm
index 418afdae097..a21fe9a0759 100644
--- a/code/modules/hydroponics/growninedible.dm
+++ b/code/modules/hydroponics/growninedible.dm
@@ -39,7 +39,7 @@
if(seed)
msg += seed.get_analyzer_text()
msg += ""
- usr << msg
+ to_chat(usr, msg)
return
/obj/item/weapon/grown/proc/add_juice()
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 57c2ac58b56..e86dd7565f1 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -81,7 +81,7 @@
if(istype(I, /obj/item/weapon/crowbar))
if(using_irrigation)
- user << "Disconnect the hoses first!"
+ to_chat(user, "Disconnect the hoses first!")
else if(default_deconstruction_crowbar(I, 1))
return
else
@@ -317,27 +317,27 @@
/obj/machinery/hydroponics/examine(user)
..()
if(myseed)
- user << "It has [myseed.plantname] planted."
+ to_chat(user, "It has [myseed.plantname] planted.")
if (dead)
- user << "It's dead!"
+ to_chat(user, "It's dead!")
else if (harvest)
- user << "It's ready to harvest."
+ to_chat(user, "It's ready to harvest.")
else if (plant_health <= (myseed.endurance / 2))
- user << "It looks unhealthy."
+ to_chat(user, "It looks unhealthy.")
else
- user << "[src] is empty."
+ to_chat(user, "[src] is empty.")
if(!self_sustaining)
- user << "Water: [waterlevel]/[maxwater]"
- user << "Nutrient: [nutrilevel]/[maxnutri]"
+ to_chat(user, "Water: [waterlevel]/[maxwater]")
+ to_chat(user, "Nutrient: [nutrilevel]/[maxnutri]")
else
- user << "It doesn't require any water or nutrients."
+ to_chat(user, "It doesn't require any water or nutrients.")
if(weedlevel >= 5)
- user << "[src] is filled with weeds!"
+ to_chat(user, "[src] is filled with weeds!")
if(pestlevel >= 5)
- user << "[src] is filled with tiny worms!"
- user << "" // Empty line for readability.
+ to_chat(user, "[src] is filled with tiny worms!")
+ to_chat(user, "" )
/obj/machinery/hydroponics/proc/weedinvasion() // If a weed growth is sufficient, this happens.
@@ -429,7 +429,7 @@
update_icon()
visible_message("The mutated weeds in [src] spawn some [myseed.plantname]!")
else
- usr << "The few weeds in [src] seem to react, but only for a moment..."
+ to_chat(usr, "The few weeds in [src] seem to react, but only for a moment...")
/obj/machinery/hydroponics/proc/plantdies() // OH NOES!!!!! I put this all in one function to make things easier
@@ -449,7 +449,7 @@
visible_message("The pests seem to behave oddly...")
spawn_atom_to_turf(/obj/structure/spider/spiderling/hunter, src, 3, FALSE)
else
- user << "The pests seem to behave oddly, but quickly settle down..."
+ to_chat(user, "The pests seem to behave oddly, but quickly settle down...")
/obj/machinery/hydroponics/proc/applyChemicals(datum/reagents/S, mob/user)
if(myseed)
@@ -460,7 +460,7 @@
switch(rand(100))
if(91 to 100)
adjustHealth(-10)
- user << "The plant shrivels and burns."
+ to_chat(user, "The plant shrivels and burns.")
if(81 to 90)
mutatespecie()
if(66 to 80)
@@ -468,13 +468,13 @@
if(41 to 65)
mutate()
if(21 to 41)
- user << "The plants don't seem to react..."
+ to_chat(user, "The plants don't seem to react...")
if(11 to 20)
mutateweed()
if(1 to 10)
mutatepest(user)
else
- user << "Nothing happens..."
+ to_chat(user, "Nothing happens...")
// 2 or 1 units is enough to change the yield and other stats.// Can change the yield and other stats, but requires more than mutagen
else if(S.has_reagent("mutagen", 2) || S.has_reagent("radium", 5) || S.has_reagent("uranium", 5))
@@ -672,16 +672,16 @@
if(1 to 32)
mutatepest(user)
else
- user << "Nothing happens..."
+ to_chat(user, "Nothing happens...")
/obj/machinery/hydroponics/attackby(obj/item/O, mob/user, params)
//Called when mob user "attacks" it with object O
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/gaia)) //Checked early on so it doesn't have to deal with composting checks
if(self_sustaining)
- user << "This [name] is already self-sustaining!"
+ to_chat(user, "This [name] is already self-sustaining!")
return
if(myseed || weedlevel)
- user << "[src] needs to be clear of plants and weeds!"
+ to_chat(user, "[src] needs to be clear of plants and weeds!")
return
if(alert(user, "This will make [src] self-sustaining but consume [O] forever. Are you sure?", "[name]", "I'm Sure", "Abort") == "Abort" || !user)
return
@@ -690,10 +690,10 @@
if(!Adjacent(user))
return
if(self_sustaining)
- user << "This [name] is already self-sustaining!"
+ to_chat(user, "This [name] is already self-sustaining!")
return
if(myseed || weedlevel)
- user << "[src] needs to be clear of plants and weeds!"
+ to_chat(user, "[src] needs to be clear of plants and weeds!")
return
user.visible_message("[user] gently pulls open the soil for [O] and places it inside.", "You tenderly root [O] into [src].")
user.drop_item()
@@ -708,11 +708,11 @@
if(istype(reagent_source, /obj/item/weapon/reagent_containers/syringe))
var/obj/item/weapon/reagent_containers/syringe/syr = reagent_source
if(syr.mode != 1)
- user << "You can't get any extract out of this plant." //That. Gives me an idea...
+ to_chat(user, "You can't get any extract out of this plant." )
return
if(!reagent_source.reagents.total_volume)
- user << "[reagent_source] is empty."
+ to_chat(user, "[reagent_source] is empty.")
return 1
var/list/trays = list(src)//makes the list just this in cases of syringes and compost etc
@@ -774,7 +774,7 @@
investigate_log("had Kudzu planted in it by [user.ckey]([user]) at ([x],[y],[z])","kudzu")
if(!user.transferItemToLoc(O, src))
return
- user << "You plant [O]."
+ to_chat(user, "You plant [O].")
dead = 0
myseed = O
age = 1
@@ -782,23 +782,23 @@
lastcycle = world.time
update_icon()
else
- user << "[src] already has seeds in it!"
+ to_chat(user, "[src] already has seeds in it!")
else if(istype(O, /obj/item/device/plant_analyzer))
if(myseed)
- user << "*** [myseed.plantname] ***" //Carn: now reports the plants growing, not the seeds.
- user << "- Plant Age: [age]"
+ to_chat(user, "*** [myseed.plantname] ***" )
+ to_chat(user, "- Plant Age: [age]")
var/list/text_string = myseed.get_analyzer_text()
if(text_string)
- user << text_string
+ to_chat(user, text_string)
else
- user << "No plant found."
- user << "- Weed level: [weedlevel] / 10"
- user << "- Pest level: [pestlevel] / 10"
- user << "- Toxicity level: [toxic] / 100"
- user << "- Water level: [waterlevel] / [maxwater]"
- user << "- Nutrition level: [nutrilevel] / [maxnutri]"
- user << ""
+ to_chat(user, "No plant found.")
+ to_chat(user, "- Weed level: [weedlevel] / 10")
+ to_chat(user, "- Pest level: [pestlevel] / 10")
+ to_chat(user, "- Toxicity level: [toxic] / 100")
+ to_chat(user, "- Water level: [waterlevel] / [maxwater]")
+ to_chat(user, "- Nutrition level: [nutrilevel] / [maxnutri]")
+ to_chat(user, "")
else if(istype(O, /obj/item/weapon/cultivator))
if(weedlevel > 0)
@@ -806,7 +806,7 @@
weedlevel = 0
update_icon()
else
- user << "This plot is completely devoid of weeds! It doesn't need uprooting."
+ to_chat(user, "This plot is completely devoid of weeds! It doesn't need uprooting.")
else if(istype(O, /obj/item/weapon/storage/bag/plants))
attack_hand(user)
@@ -818,7 +818,7 @@
else if(istype(O, /obj/item/weapon/wrench) && unwrenchable)
if(using_irrigation)
- user << "Disconnect the hoses first!"
+ to_chat(user, "Disconnect the hoses first!")
return
if(!anchored && !isinspace())
@@ -852,7 +852,7 @@
else if(istype(O, /obj/item/weapon/shovel/spade) && unwrenchable)
if(!myseed && !weedlevel)
- user << "[src] doesn't have any plants or weeds!"
+ to_chat(user, "[src] doesn't have any plants or weeds!")
return
user.visible_message("[user] starts digging out [src]'s plants...", "You start digging out [src]'s plants...")
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
@@ -880,7 +880,7 @@
myseed.harvest(user)
else if(dead)
dead = 0
- user << "You remove the dead plant from [src]."
+ to_chat(user, "You remove the dead plant from [src].")
qdel(myseed)
myseed = null
update_icon()
@@ -891,11 +891,11 @@
harvest = 0
lastproduce = age
if(istype(myseed,/obj/item/seeds/replicapod))
- user << "You harvest from the [myseed.plantname]."
+ to_chat(user, "You harvest from the [myseed.plantname].")
else if(myseed.getYield() <= 0)
- user << "You fail to harvest anything useful!"
+ to_chat(user, "You fail to harvest anything useful!")
else
- user << "You harvest [myseed.getYield()] items from the [myseed.plantname]."
+ to_chat(user, "You harvest [myseed.getYield()] items from the [myseed.plantname].")
if(!myseed.get_gene(/datum/plant_gene/trait/repeated_harvest))
qdel(myseed)
myseed = null
@@ -949,7 +949,7 @@
/obj/machinery/hydroponics/soil/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/weapon/shovel) && !istype(O, /obj/item/weapon/shovel/spade)) //Doesn't include spades because of uprooting plants
- user << "You clear up [src]!"
+ to_chat(user, "You clear up [src]!")
qdel(src)
else
return ..()
diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm
index d283e606e90..9a9caf823b5 100644
--- a/code/modules/hydroponics/plant_genes.dm
+++ b/code/modules/hydroponics/plant_genes.dm
@@ -257,7 +257,7 @@
C.update_icon()
batteries_recharged = 1
if(batteries_recharged)
- target << "Your batteries are recharged!"
+ to_chat(target, "Your batteries are recharged!")
@@ -307,7 +307,7 @@
/datum/plant_gene/trait/teleport/on_slip(obj/item/weapon/reagent_containers/food/snacks/grown/G, mob/living/carbon/C)
var/teleport_radius = max(round(G.seed.potency / 10), 1)
var/turf/T = get_turf(C)
- C << "You slip through spacetime!"
+ to_chat(C, "You slip through spacetime!")
do_teleport(C, T, teleport_radius)
if(prob(50))
do_teleport(G, T, teleport_radius)
@@ -355,7 +355,7 @@
if(istype(I, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = I
if(C.use(5))
- user << "You add some cable to [G] and slide it inside the battery encasing."
+ to_chat(user, "You add some cable to [G] and slide it inside the battery encasing.")
var/obj/item/weapon/stock_parts/cell/potato/pocell = new /obj/item/weapon/stock_parts/cell/potato(user.loc)
pocell.icon_state = G.icon_state
pocell.maxcharge = G.seed.potency * 20
@@ -373,7 +373,7 @@
qdel(G)
else
- user << "You need five lengths of cable to make a [G] battery!"
+ to_chat(user, "You need five lengths of cable to make a [G] battery!")
/datum/plant_gene/trait/stinging
@@ -387,7 +387,7 @@
var/fraction = min(injecting_amount/G.reagents.total_volume, 1)
G.reagents.reaction(L, INJECT, fraction)
G.reagents.trans_to(L, injecting_amount)
- target << "You are pricked by [G]!"
+ to_chat(target, "You are pricked by [G]!")
/datum/plant_gene/trait/smoke
name = "gaseous decomposition"
diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm
index 9b3e5c7f690..c7fafbc4db1 100644
--- a/code/modules/hydroponics/seed_extractor.dm
+++ b/code/modules/hydroponics/seed_extractor.dm
@@ -93,21 +93,21 @@
++loaded
add_seed(G)
if (loaded)
- user << "You put the seeds from \the [O.name] into [src]."
+ to_chat(user, "You put the seeds from \the [O.name] into [src].")
else
- user << "There are no seeds in \the [O.name]."
+ to_chat(user, "There are no seeds in \the [O.name].")
return
else if(seedify(O,-1, src, user))
- user << "You extract some seeds."
+ to_chat(user, "You extract some seeds.")
return
else if (istype(O,/obj/item/seeds))
if(add_seed(O))
- user << "You add [O] to [src.name]."
+ to_chat(user, "You add [O] to [src.name].")
updateUsrDialog()
return
else if(user.a_intent != INTENT_HARM)
- user << "You can't extract any seeds from \the [O.name]!"
+ to_chat(user, "You can't extract any seeds from \the [O.name]!")
else
return ..()
@@ -188,7 +188,7 @@
/obj/machinery/seed_extractor/proc/add_seed(obj/item/seeds/O)
if(contents.len >= 999)
- usr << "\The [src] is full."
+ to_chat(usr, "\The [src] is full.")
return 0
if(istype(O.loc,/mob))
diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm
index 79516b6179f..537c5e15115 100644
--- a/code/modules/hydroponics/seeds.dm
+++ b/code/modules/hydroponics/seeds.dm
@@ -306,10 +306,10 @@
/obj/item/seeds/attackby(obj/item/O, mob/user, params)
if (istype(O, /obj/item/device/plant_analyzer))
- user << "*---------*\n This is \a [src]."
+ to_chat(user, "*---------*\n This is \a [src].")
var/text = get_analyzer_text()
if(text)
- user << "[text]"
+ to_chat(user, "[text]")
return
..() // Fallthrough to item/attackby() so that bags can pick seeds up
@@ -336,14 +336,14 @@
for(var/i in 1 to seed.growthstages)
if("[seed.icon_grow][i]" in states)
continue
- world << "[seed.name] ([seed.type]) lacks the [seed.icon_grow][i] icon!"
+ to_chat(world, "[seed.name] ([seed.type]) lacks the [seed.icon_grow][i] icon!")
if(!(seed.icon_dead in states))
- world << "[seed.name] ([seed.type]) lacks the [seed.icon_dead] icon!"
+ to_chat(world, "[seed.name] ([seed.type]) lacks the [seed.icon_dead] icon!")
if(seed.icon_harvest) // mushrooms have no grown sprites, same for items with no product
if(!(seed.icon_harvest in states))
- world << "[seed.name] ([seed.type]) lacks the [seed.icon_harvest] icon!"
+ to_chat(world, "[seed.name] ([seed.type]) lacks the [seed.icon_harvest] icon!")
/obj/item/seeds/proc/randomize_stats()
set_lifespan(rand(25, 60))
diff --git a/code/modules/jobs/job_types/civilian_chaplain.dm b/code/modules/jobs/job_types/civilian_chaplain.dm
index e5865383819..7c9177b7cdd 100644
--- a/code/modules/jobs/job_types/civilian_chaplain.dm
+++ b/code/modules/jobs/job_types/civilian_chaplain.dm
@@ -45,7 +45,7 @@ Chaplain
B.name = SSreligion.Bible_name
B.icon_state = SSreligion.Bible_icon_state
B.item_state = SSreligion.Bible_item_state
- H << "There is already an established religion onboard the station. You are an acolyte of [SSreligion.Bible_deity_name]. Defer to the Chaplain."
+ to_chat(H, "There is already an established religion onboard the station. You are an acolyte of [SSreligion.Bible_deity_name]. Defer to the Chaplain.")
H.equip_to_slot_or_del(B, slot_in_backpack)
var/obj/item/weapon/nullrod/N = new(H)
H.equip_to_slot_or_del(N, slot_in_backpack)
diff --git a/code/modules/jobs/job_types/security.dm b/code/modules/jobs/job_types/security.dm
index f436d8544c9..fbd32a57ed2 100644
--- a/code/modules/jobs/job_types/security.dm
+++ b/code/modules/jobs/job_types/security.dm
@@ -255,9 +255,9 @@ var/list/available_depts = list(SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT
else
break
if(department)
- M << "You have been assigned to [department]!"
+ to_chat(M, "You have been assigned to [department]!")
else
- M << "You have not been assigned to any department. Patrol the halls and help where needed."
+ to_chat(M, "You have not been assigned to any department. Patrol the halls and help where needed.")
diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm
index 7bce96f6495..319191c4724 100644
--- a/code/modules/library/lib_codex_gigas.dm
+++ b/code/modules/library/lib_codex_gigas.dm
@@ -15,17 +15,17 @@
/obj/item/weapon/book/codex_gigas/attack_self(mob/user)
if(is_blind(user))
- user << "As you are trying to read, you suddenly feel very stupid."
+ to_chat(user, "As you are trying to read, you suddenly feel very stupid.")
return
if(ismonkey(user))
- user << "You skim through the book but can't comprehend any of it."
+ to_chat(user, "You skim through the book but can't comprehend any of it.")
return
if(inUse)
- user << "Someone else is reading it."
+ to_chat(user, "Someone else is reading it.")
if(ishuman(user))
var/mob/living/carbon/human/U = user
if(U.check_acedia())
- user << "None of this matters, why are you reading this? You put the [title] down."
+ to_chat(user, "None of this matters, why are you reading this? You put the [title] down.")
return
inUse = 1
var/devilName = copytext(sanitize(input(user, "What infernal being do you wish to research?", "Codex Gigas", null) as text),1,MAX_MESSAGE_LEN)
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index a9257551f05..389154cc785 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -44,13 +44,13 @@
if(istype(I, /obj/item/weapon/wrench))
playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
- user << "You wrench the frame into place."
+ to_chat(user, "You wrench the frame into place.")
anchored = 1
state = 1
if(istype(I, /obj/item/weapon/crowbar))
playsound(loc, I.usesound, 100, 1)
if(do_after(user, 20*I.toolspeed, target = src))
- user << "You pry the frame apart."
+ to_chat(user, "You pry the frame apart.")
deconstruct(TRUE)
if(1)
@@ -58,12 +58,12 @@
var/obj/item/stack/sheet/mineral/wood/W = I
if(W.get_amount() >= 2)
W.use(2)
- user << "You add a shelf."
+ to_chat(user, "You add a shelf.")
state = 2
icon_state = "book-0"
if(istype(I, /obj/item/weapon/wrench))
playsound(loc, I.usesound, 100, 1)
- user << "You unwrench the frame."
+ to_chat(user, "You unwrench the frame.")
anchored = 0
state = 0
@@ -78,7 +78,7 @@
for(var/obj/item/T in B.contents)
if(istype(T, /obj/item/weapon/book) || istype(T, /obj/item/weapon/spellbook))
B.remove_from_storage(T, src)
- user << "You empty \the [I] into \the [src]."
+ to_chat(user, "You empty \the [I] into \the [src].")
update_icon()
else if(istype(I, /obj/item/weapon/pen))
var/newname = stripped_input(user, "What would you like to title this bookshelf?")
@@ -88,10 +88,10 @@
name = ("bookcase ([sanitize(newname)])")
else if(istype(I, /obj/item/weapon/crowbar))
if(contents.len)
- user << "You need to remove the books first!"
+ to_chat(user, "You need to remove the books first!")
else
playsound(loc, I.usesound, 100, 1)
- user << "You pry the shelf out."
+ to_chat(user, "You pry the shelf out.")
new /obj/item/stack/sheet/mineral/wood(loc, 2)
state = 1
icon_state = "bookempty"
@@ -180,36 +180,36 @@
/obj/item/weapon/book/attack_self(mob/user)
if(is_blind(user))
- user << "As you are trying to read, you suddenly feel very stupid!"
+ to_chat(user, "As you are trying to read, you suddenly feel very stupid!")
return
if(ismonkey(user))
- user << "You skim through the book but can't comprehend any of it."
+ to_chat(user, "You skim through the book but can't comprehend any of it.")
return
if(dat)
user << browse("Penned by [author].
" + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]")
user.visible_message("[user] opens a book titled \"[title]\" and begins reading intently.")
onclose(user, "book")
else
- user << "This book is completely blank!"
+ to_chat(user, "This book is completely blank!")
/obj/item/weapon/book/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/pen))
if(is_blind(user))
- user << " As you are trying to write on the book, you suddenly feel very stupid!"
+ to_chat(user, " As you are trying to write on the book, you suddenly feel very stupid!")
return
if(unique)
- user << "These pages don't seem to take the ink well! Looks like you can't modify it."
+ to_chat(user, "These pages don't seem to take the ink well! Looks like you can't modify it.")
return
var/choice = input("What would you like to change?") in list("Title", "Contents", "Author", "Cancel")
switch(choice)
if("Title")
var/newtitle = reject_bad_text(stripped_input(usr, "Write a new title:"))
if (length(newtitle) > 20)
- usr << "That title won't fit on the cover!"
+ to_chat(usr, "That title won't fit on the cover!")
return
if(!newtitle)
- usr << "That title is invalid."
+ to_chat(usr, "That title is invalid.")
return
else
name = newtitle
@@ -217,14 +217,14 @@
if("Contents")
var/content = stripped_input(usr, "Write your book's contents (HTML NOT allowed):","","",8192)
if(!content)
- usr << "The content is invalid."
+ to_chat(usr, "The content is invalid.")
return
else
dat += content
if("Author")
var/newauthor = stripped_input(usr, "Write the author's name:")
if(!newauthor)
- usr << "The name is invalid."
+ to_chat(usr, "The name is invalid.")
return
else
author = newauthor
@@ -234,37 +234,37 @@
else if(istype(I, /obj/item/weapon/barcodescanner))
var/obj/item/weapon/barcodescanner/scanner = I
if(!scanner.computer)
- user << "[I]'s screen flashes: 'No associated computer found!'"
+ to_chat(user, "[I]'s screen flashes: 'No associated computer found!'")
else
switch(scanner.mode)
if(0)
scanner.book = src
- user << "[I]'s screen flashes: 'Book stored in buffer.'"
+ to_chat(user, "[I]'s screen flashes: 'Book stored in buffer.'")
if(1)
scanner.book = src
scanner.computer.buffer_book = name
- user << "[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'"
+ to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'")
if(2)
scanner.book = src
for(var/datum/borrowbook/b in scanner.computer.checkouts)
if(b.bookname == name)
scanner.computer.checkouts.Remove(b)
- user << "[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'"
+ to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'")
return
- user << "[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'"
+ to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'")
if(3)
scanner.book = src
for(var/obj/item/weapon/book in scanner.computer.inventory)
if(book == src)
- user << "[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'"
+ to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'")
return
scanner.computer.inventory.Add(src)
- user << "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'"
+ to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'")
else if(istype(I, /obj/item/weapon/kitchen/knife) || istype(I, /obj/item/weapon/wirecutters))
- user << "You begin to carve out [title]..."
+ to_chat(user, "You begin to carve out [title]...")
if(do_after(user, 30, target = src))
- user << "You carve out the pages from [title]! You didn't want to read it anyway."
+ to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.")
var/obj/item/weapon/storage/book/B = new
B.name = src.name
B.title = src.title
@@ -300,7 +300,7 @@
mode += 1
if(mode > 3)
mode = 0
- user << "[src] Status Display:"
+ to_chat(user, "[src] Status Display:")
var/modedesc
switch(mode)
if(0)
@@ -313,9 +313,9 @@
modedesc = "Scan book to local buffer, attempt to add book to general inventory."
else
modedesc = "ERROR"
- user << " - Mode [mode] : [modedesc]"
+ to_chat(user, " - Mode [mode] : [modedesc]")
if(computer)
- user << "Computer has been associated with this unit."
+ to_chat(user, "Computer has been associated with this unit.")
else
- user << "No associated computer found. Only local scans will function properly."
- user << "\n"
+ to_chat(user, "No associated computer found. Only local scans will function properly.")
+ to_chat(user, "\n")
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index 9beef557779..49ae29fa0c3 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -326,14 +326,14 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
else
new /obj/item/clockwork/slab(T)
- user << "Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a [spook == "blood" ? "dusty old tome" : "strange metal tablet"] sitting on the desk. You don't really remember printing it.[spook == "brass" ? " And how did it print something made of metal?" : ""]"
+ to_chat(user, "Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a [spook == "blood" ? "dusty old tome" : "strange metal tablet"] sitting on the desk. You don't really remember printing it.[spook == "brass" ? " And how did it print something made of metal?" : ""]")
user.visible_message("[user] stares at the blank screen for a few moments, [user.p_their()] expression frozen in fear. When [user.p_they()] finally awaken[user.p_s()] from it, [user.p_they()] look[user.p_s()] a lot older.", 2)
/obj/machinery/computer/libraryconsole/bookmanagement/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/barcodescanner))
var/obj/item/weapon/barcodescanner/scanner = W
scanner.computer = src
- user << "[scanner]'s associated machine has been set to [src]."
+ to_chat(user, "[scanner]'s associated machine has been set to [src].")
audible_message("[src] lets out a low, short blip.")
else
return ..()
@@ -570,7 +570,7 @@ var/global/list/datum/cachedbook/cachedbooks // List of our cached book datums
if(stat)
return
if(busy)
- user << "The book binder is busy. Please wait for completion of previous operation."
+ to_chat(user, "The book binder is busy. Please wait for completion of previous operation.")
return
if(!user.drop_item())
return
diff --git a/code/modules/library/soapstone.dm b/code/modules/library/soapstone.dm
index 9e201be9646..ba81f65344d 100644
--- a/code/modules/library/soapstone.dm
+++ b/code/modules/library/soapstone.dm
@@ -43,7 +43,7 @@
/obj/item/soapstone/examine(mob/user)
. = ..()
if(remaining_uses != -1)
- user << "It has [remaining_uses] uses left."
+ to_chat(user, "It has [remaining_uses] uses left.")
/obj/item/soapstone/afterattack(atom/target, mob/user, proximity)
var/turf/T = get_turf(target)
@@ -53,11 +53,11 @@
var/obj/structure/chisel_message/existing_message = locate() in T
if(!remaining_uses && !existing_message)
- user << "[src] is too worn out to use."
+ to_chat(user, "[src] is too worn out to use.")
return
if(!good_chisel_message_location(T))
- user << "It's not appropriate to [w_engrave] on [T]."
+ to_chat(user, "It's not appropriate to [w_engrave] on [T].")
return
if(existing_message)
@@ -74,11 +74,11 @@
var/message = stripped_input(user, "What would you like to [w_engrave]?", "Leave a message")
if(!message)
- user << "You decide not to [w_engrave] anything."
+ to_chat(user, "You decide not to [w_engrave] anything.")
return
if(!target.Adjacent(user) && locate(/obj/structure/chisel_message) in T)
- user << "Someone wrote here before you chose! Find another spot."
+ to_chat(user, "Someone wrote here before you chose! Find another spot.")
return
playsound(loc, 'sound/items/gavel.ogg', 50, 1, -1)
user.visible_message("[user] starts [w_engraving] a message into [T]...", "You start [w_engraving] a message into [T]...", "You hear a [w_chipping] sound.")
@@ -215,7 +215,7 @@
/obj/structure/chisel_message/examine(mob/user)
..()
- user << "[hidden_message]"
+ to_chat(user, "[hidden_message]")
/obj/structure/chisel_message/Destroy()
if(persists)
diff --git a/code/modules/mapping/swapmaps.dm b/code/modules/mapping/swapmaps.dm
index 64fc383e001..84105bc574c 100644
--- a/code/modules/mapping/swapmaps.dm
+++ b/code/modules/mapping/swapmaps.dm
@@ -383,7 +383,7 @@ swapmap
proc/Save()
if(id==src) return 0
var/savefile/S=mode?(new):new("map_[id].sav")
- S << src
+ to_chat(S, src)
while(locked) sleep(1)
if(mode)
fdel("map_[id].txt")
diff --git a/code/modules/mapping/writer.dm b/code/modules/mapping/writer.dm
index dc13c1e134c..8c6b3d96ea5 100644
--- a/code/modules/mapping/writer.dm
+++ b/code/modules/mapping/writer.dm
@@ -36,7 +36,7 @@ dmm_suite{
fdel("[map_name].dmm")
}
var/saved_map = file("[map_name].dmm")
- saved_map << file_text
+ to_chat(saved_map, file_text)
return saved_map
}
write_map(var/turf/t1 as turf, var/turf/t2 as turf, var/flags as num){
diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm
index 10bd0000aae..ff61e442062 100644
--- a/code/modules/mining/abandoned_crates.dm
+++ b/code/modules/mining/abandoned_crates.dm
@@ -154,7 +154,7 @@
/obj/structure/closet/crate/secure/loot/attack_hand(mob/user)
if(locked)
- user << "The crate is locked with a Deca-code lock."
+ to_chat(user, "The crate is locked with a Deca-code lock.")
var/input = input(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") as text
if(user.canUseTopic(src, 1))
var/list/sanitised = list()
@@ -166,14 +166,14 @@
if(sanitised[i] == sanitised[j])
sanitycheck = null //if a digit is repeated, reject the input
if (input == code)
- user << "The crate unlocks!"
+ to_chat(user, "The crate unlocks!")
locked = 0
cut_overlays()
add_overlay("securecrateg")
else if (input == null || sanitycheck == null || length(input) != codelen)
- user << "You leave the crate alone."
+ to_chat(user, "You leave the crate alone.")
else
- user << "A red light flashes."
+ to_chat(user, "A red light flashes.")
lastattempt = input
attempts--
if(attempts == 0)
@@ -192,11 +192,11 @@
boom(user)
return
else if(istype(W, /obj/item/device/multitool))
- user << "DECA-CODE LOCK REPORT:"
+ to_chat(user, "DECA-CODE LOCK REPORT:")
if(attempts == 1)
- user << "* Anti-Tamper Bomb will activate on next failed access attempt."
+ to_chat(user, "* Anti-Tamper Bomb will activate on next failed access attempt.")
else
- user << "* Anti-Tamper Bomb will activate after [src.attempts] failed access attempts."
+ to_chat(user, "* Anti-Tamper Bomb will activate after [src.attempts] failed access attempts.")
if(lastattempt != null)
var/list/guess = list()
var/list/answer = list()
@@ -213,7 +213,7 @@
++bulls
--cows
- user << "Last code attempt, [lastattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions."
+ to_chat(user, "Last code attempt, [lastattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")
return
return ..()
diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm
index 87bc8485cba..40d168d6ba1 100644
--- a/code/modules/mining/aux_base.dm
+++ b/code/modules/mining/aux_base.dm
@@ -82,12 +82,12 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
usr.set_machine(src)
add_fingerprint(usr)
if(!allowed(usr))
- usr << "Access denied."
+ to_chat(usr, "Access denied.")
return
if(href_list["move"])
if(z != ZLEVEL_STATION && shuttleId == "colony_drop")
- usr << "You can't move the base again!"
+ to_chat(usr, "You can't move the base again!")
return
var/shuttle_error = SSshuttle.moveShuttle(shuttleId, href_list["move"], 1)
if(launch_warning)
@@ -104,11 +104,11 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
var/turf/LZ = safepick(Z_TURFS(ZLEVEL_MINING)) //Pick a random mining Z-level turf
if(!istype(LZ, /turf/closed/mineral) && !istype(LZ, /turf/open/floor/plating/asteroid))
//Find a suitable mining turf. Reduces chance of landing in a bad area
- usr << "Landing zone scan failed. Please try again."
+ to_chat(usr, "Landing zone scan failed. Please try again.")
updateUsrDialog()
return
if(set_landing_zone(LZ, usr) != ZONE_SET)
- usr << "Landing zone unsuitable. Please recalculate."
+ to_chat(usr, "Landing zone unsuitable. Please recalculate.")
updateUsrDialog()
return
@@ -143,7 +143,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
var/obj/docking_port/mobile/auxillary_base/base_dock = locate(/obj/docking_port/mobile/auxillary_base) in SSshuttle.mobile
if(!base_dock) //Not all maps have an Aux base. This object is useless in that case.
- user << "This station is not equipped with an auxillary base. Please contact your Nanotrasen contractor."
+ to_chat(user, "This station is not equipped with an auxillary base. Please contact your Nanotrasen contractor.")
return
if(!no_restrictions)
if(T.z != ZLEVEL_MINING)
@@ -171,7 +171,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
//Serves as a nice mechanic to people get ready for the launch.
minor_announce("Auxiliary base landing zone coordinates locked in for [A]. Launch command now available!")
- user << "Landing zone set."
+ to_chat(user, "Landing zone set.")
return ZONE_SET
@@ -190,7 +190,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
if(setting)
return
- user << "You begin setting the landing zone parameters..."
+ to_chat(user, "You begin setting the landing zone parameters...")
setting = TRUE
if(!do_after(user, 50, target = user)) //You get a few seconds to cancel if you do not want to drop there.
setting = FALSE
@@ -204,14 +204,14 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
AB = A
break
if(!AB)
- user << "No auxillary base console detected."
+ to_chat(user, "No auxillary base console detected.")
return
switch(AB.set_landing_zone(T, user, no_restrictions))
if(BAD_ZLEVEL)
- user << "This uplink can only be used in a designed mining zone."
+ to_chat(user, "This uplink can only be used in a designed mining zone.")
if(BAD_AREA)
- user << "Unable to acquire a targeting lock. Find an area clear of stuctures or entirely within one."
+ to_chat(user, "Unable to acquire a targeting lock. Find an area clear of stuctures or entirely within one.")
if(ZONE_SET)
qdel(src)
@@ -258,11 +258,11 @@ obj/docking_port/stationary/public_mining_dock/onShuttleMove()
/obj/structure/mining_shuttle_beacon/attack_hand(mob/user)
if(anchored)
- user << "Landing zone already set."
+ to_chat(user, "Landing zone already set.")
return
if(anti_spam_cd)
- user << "[src] is currently recalibrating. Please wait."
+ to_chat(user, "[src] is currently recalibrating. Please wait.")
return
anti_spam_cd = 1
@@ -271,7 +271,7 @@ obj/docking_port/stationary/public_mining_dock/onShuttleMove()
var/turf/landing_spot = get_turf(src)
if(landing_spot.z != ZLEVEL_MINING)
- user << "This device is only to be used in a mining zone."
+ to_chat(user, "This device is only to be used in a mining zone.")
return
var/obj/machinery/computer/auxillary_base/aux_base_console
for(var/obj/machinery/computer/auxillary_base/ABC in machines)
@@ -279,7 +279,7 @@ obj/docking_port/stationary/public_mining_dock/onShuttleMove()
aux_base_console = ABC
break
if(!aux_base_console) //Needs to be near the base to serve as its dock and configure it to control the mining shuttle.
- user << "The auxillary base's console must be within [console_range] meters in order to interface."
+ to_chat(user, "The auxillary base's console must be within [console_range] meters in order to interface.")
return
//Mining shuttles may not be created equal, so we find the map's shuttle dock and size accordingly.
@@ -302,7 +302,7 @@ obj/docking_port/stationary/public_mining_dock/onShuttleMove()
break
if(!Mport)
- user << "This station is not equipped with an approprite mining shuttle. Please contact Nanotrasen Support."
+ to_chat(user, "This station is not equipped with an approprite mining shuttle. Please contact Nanotrasen Support.")
return
var/obj/docking_port/mobile/mining_shuttle
@@ -316,26 +316,26 @@ obj/docking_port/stationary/public_mining_dock/onShuttleMove()
break
if(!mining_shuttle) //Not having a mining shuttle is a map issue
- user << "No mining shuttle signal detected. Please contact Nanotrasen Support."
+ to_chat(user, "No mining shuttle signal detected. Please contact Nanotrasen Support.")
SSshuttle.stationary.Remove(Mport)
qdel(Mport)
return
for(var/L in landing_turfs) //You land NEAR the base, not IN it.
if(istype(get_area(L), /area/shuttle/auxillary_base))
- user << "The mining shuttle must not land within the mining base itself."
+ to_chat(user, "The mining shuttle must not land within the mining base itself.")
SSshuttle.stationary.Remove(Mport)
qdel(Mport)
return
if(!mining_shuttle.canDock(Mport))
- user << "Unable to secure a valid docking zone. Please try again in an open area near, but not within the aux. mining base."
+ to_chat(user, "Unable to secure a valid docking zone. Please try again in an open area near, but not within the aux. mining base.")
SSshuttle.stationary.Remove(Mport)
qdel(Mport)
return
aux_base_console.set_mining_mode() //Lets the colony park the shuttle there, now that it has a dock.
- user << "Mining shuttle calibration successful! Shuttle interface available at base console."
+ to_chat(user, "Mining shuttle calibration successful! Shuttle interface available at base console.")
anchored = 1 //Locks in place to mark the landing zone.
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
diff --git a/code/modules/mining/aux_base_camera.dm b/code/modules/mining/aux_base_camera.dm
index f506dfbd396..c0b8239aa2b 100644
--- a/code/modules/mining/aux_base_camera.dm
+++ b/code/modules/mining/aux_base_camera.dm
@@ -133,12 +133,12 @@ mob/camera/aiEye/remote/base_construction/New(loc)
var/area/build_area = get_area(build_target)
if(!istype(build_area, /area/shuttle/auxillary_base))
- owner << "You can only build within the mining base!"
+ to_chat(owner, "You can only build within the mining base!")
return FALSE
if(build_target.z != ZLEVEL_STATION)
- owner << "The mining base has launched and can no longer be modified."
+ to_chat(owner, "The mining base has launched and can no longer be modified.")
return FALSE
return TRUE
@@ -204,7 +204,7 @@ mob/camera/aiEye/remote/base_construction/New(loc)
var/list/buildlist = list("Walls and Floors" = 1,"Airlocks" = 2,"Deconstruction" = 3,"Windows and Grilles" = 4)
var/buildmode = input("Set construction mode.", "Base Console", null) in buildlist
B.RCD.mode = buildlist[buildmode]
- owner << "Build mode is now [buildmode]."
+ to_chat(owner, "Build mode is now [buildmode].")
/datum/action/innate/aux_base/airlock_type
name = "Select Airlock Type"
@@ -237,19 +237,19 @@ datum/action/innate/aux_base/place_fan/Activate()
var/turf/fan_turf = get_turf(remote_eye)
if(!B.fans_remaining)
- owner << "[B] is out of fans!"
+ to_chat(owner, "[B] is out of fans!")
return
if(!check_spot())
return
if(fan_turf.density)
- owner << "Fans may only be placed on a floor."
+ to_chat(owner, "Fans may only be placed on a floor.")
return
new /obj/structure/fans/tiny(fan_turf)
B.fans_remaining--
- owner << "Tiny fan placed. [B.fans_remaining] remaining."
+ to_chat(owner, "Tiny fan placed. [B.fans_remaining] remaining.")
playsound(fan_turf, 'sound/machines/click.ogg', 50, 1)
datum/action/innate/aux_base/install_turret
@@ -264,13 +264,13 @@ datum/action/innate/aux_base/install_turret/Activate()
return
if(!B.turret_stock)
- owner << "Unable to construct additional turrets."
+ to_chat(owner, "Unable to construct additional turrets.")
return
var/turf/turret_turf = get_turf(remote_eye)
if(is_blocked_turf(turret_turf))
- owner << "Location is obtructed by something. Please clear the location and try again."
+ to_chat(owner, "Location is obtructed by something. Please clear the location and try again.")
return
var/obj/machinery/porta_turret/aux_base/T = new /obj/machinery/porta_turret/aux_base(turret_turf)
@@ -278,5 +278,5 @@ datum/action/innate/aux_base/install_turret/Activate()
B.found_aux_console.turrets += T //Add new turret to the console's control
B.turret_stock--
- owner << "Turret installation complete!"
+ to_chat(owner, "Turret installation complete!")
playsound(turret_turf, 'sound/items/drill_use.ogg', 65, 1)
\ No newline at end of file
diff --git a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm
index 51072736837..26742954ee8 100644
--- a/code/modules/mining/equipment.dm
+++ b/code/modules/mining/equipment.dm
@@ -74,7 +74,7 @@
/obj/item/device/wormhole_jaunter/proc/turf_check(mob/user)
var/turf/device_turf = get_turf(user)
if(!device_turf||device_turf.z==2||device_turf.z>=7)
- user << "You're having difficulties getting the [src.name] to work."
+ to_chat(user, "You're having difficulties getting the [src.name] to work.")
return FALSE
return TRUE
@@ -104,7 +104,7 @@
var/list/L = get_destinations(user)
if(!L.len)
- user << "The [src.name] found no beacons in the world to anchor a wormhole to."
+ to_chat(user, "The [src.name] found no beacons in the world to anchor a wormhole to.")
return
var/chosen_beacon = pick(L)
var/obj/effect/portal/wormhole/jaunt_tunnel/J = new /obj/effect/portal/wormhole/jaunt_tunnel(get_turf(src), chosen_beacon, lifespan=100)
@@ -129,11 +129,11 @@
/obj/item/device/wormhole_jaunter/proc/chasm_react(mob/user)
if(user.get_item_by_slot(slot_belt) == src)
- user << "Your [src] activates, saving you from the chasm!"
+ to_chat(user, "Your [src] activates, saving you from the chasm!")
feedback_add_details("jaunter","C") // chasm automatic activation
activate(user)
else
- user << "The [src] is not attached to your belt, preventing it from saving you from the chasm. RIP."
+ to_chat(user, "The [src] is not attached to your belt, preventing it from saving you from the chasm. RIP.")
/obj/effect/portal/wormhole/jaunt_tunnel
@@ -203,10 +203,10 @@
/obj/item/weapon/resonator/attack_self(mob/user)
if(burst_time == 50)
burst_time = 30
- user << "You set the resonator's fields to detonate after 3 seconds."
+ to_chat(user, "You set the resonator's fields to detonate after 3 seconds.")
else
burst_time = 50
- user << "You set the resonator's fields to detonate after 5 seconds."
+ to_chat(user, "You set the resonator's fields to detonate after 5 seconds.")
/obj/item/weapon/resonator/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag)
@@ -262,7 +262,7 @@
for(var/mob/living/L in T)
if(creator)
add_logs(creator, L, "used a resonator field on", "resonator")
- L << "[src] ruptured with you in it!"
+ to_chat(L, "[src] ruptured with you in it!")
L.apply_damage(resonance_damage, BRUTE)
qdel(src)
@@ -303,7 +303,7 @@
if(istype(target, /mob/living/simple_animal))
var/mob/living/simple_animal/M = target
if(M.sentience_type != revive_type)
- user << "[src] does not work on this sort of creature."
+ to_chat(user, "[src] does not work on this sort of creature.")
return
if(M.stat == DEAD)
M.faction = list("neutral")
@@ -325,10 +325,10 @@
icon_state = "lazarus_empty"
return
else
- user << "[src] is only effective on the dead."
+ to_chat(user, "[src] is only effective on the dead.")
return
else
- user << "[src] is only effective on lesser beings."
+ to_chat(user, "[src] is only effective on lesser beings.")
return
/obj/item/weapon/lazarus_injector/emp_act()
@@ -338,9 +338,9 @@
/obj/item/weapon/lazarus_injector/examine(mob/user)
..()
if(!loaded)
- user << "[src] is empty."
+ to_chat(user, "[src] is empty.")
if(malfunctioning)
- user << "The display on [src] seems to be flickering."
+ to_chat(user, "The display on [src] seems to be flickering.")
/**********************Mining Scanners**********************/
@@ -480,11 +480,11 @@
/obj/item/weapon/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user)
var/obj/item/organ/hivelord_core/C = M
if(!istype(C, /obj/item/organ/hivelord_core))
- user << "The stabilizer only works on certain types of monster organs, generally regenerative in nature."
+ to_chat(user, "The stabilizer only works on certain types of monster organs, generally regenerative in nature.")
return ..()
C.preserved()
- user << "You inject the [M] with the stabilizer. It will no longer go inert."
+ to_chat(user, "You inject the [M] with the stabilizer. It will no longer go inert.")
qdel(src)
/*********************Mining Hammer****************/
diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm
index 2ea3d74d506..c919d829c43 100644
--- a/code/modules/mining/fulton.dm
+++ b/code/modules/mining/fulton.dm
@@ -24,7 +24,7 @@ var/list/total_extraction_beacons = list()
possible_beacons += EP
if(!possible_beacons.len)
- user << "There are no extraction beacons in existence!"
+ to_chat(user, "There are no extraction beacons in existence!")
return
else
@@ -38,12 +38,12 @@ var/list/total_extraction_beacons = list()
/obj/item/weapon/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params)
if(!beacon)
- user << "[src] is not linked to a beacon, and cannot be used."
+ to_chat(user, "[src] is not linked to a beacon, and cannot be used.")
return
if(!can_use_indoors)
var/area/area = get_area(A)
if(!area.outdoors)
- user << "[src] can only be used on things that are outdoors!"
+ to_chat(user, "[src] can only be used on things that are outdoors!")
return
if(!flag)
return
@@ -51,15 +51,15 @@ var/list/total_extraction_beacons = list()
return
else
if(!safe_for_living_creatures && check_for_living_mobs(A))
- user << "[src] is not safe for use with living creatures, they wouldn't survive the trip back!"
+ to_chat(user, "[src] is not safe for use with living creatures, they wouldn't survive the trip back!")
return
if(A.loc == user) // no extracting stuff you're holding
return
if(A.anchored)
return
- user << "You start attaching the pack to [A]..."
+ to_chat(user, "You start attaching the pack to [A]...")
if(do_after(user,50,target=A))
- user << "You attach the pack to [A] and activate it."
+ to_chat(user, "You attach the pack to [A] and activate it.")
if(loc == user || istype(user.back, /obj/item/weapon/storage/backpack))
var/obj/item/weapon/storage/backpack/B = user.back
if(B.can_be_inserted(src,stop_messages = 1))
diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm
index 2e88d4e413c..540cd299b03 100644
--- a/code/modules/mining/laborcamp/laborshuttle.dm
+++ b/code/modules/mining/laborcamp/laborshuttle.dm
@@ -18,10 +18,10 @@
if(href_list["move"])
var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp")
if(!M)
- usr << "Cannot locate shuttle!"
+ to_chat(usr, "Cannot locate shuttle!")
return 0
var/obj/docking_port/stationary/S = M.get_docked()
if(S && S.name == "laborcamp_away")
- usr << "Shuttle is already at the outpost!"
+ to_chat(usr, "Shuttle is already at the outpost!")
return 0
..()
\ No newline at end of file
diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm
index 79a8c0a216c..ec71322d3c3 100644
--- a/code/modules/mining/laborcamp/laborstacker.dm
+++ b/code/modules/mining/laborcamp/laborstacker.dm
@@ -28,10 +28,10 @@
return
I.forceMove(src)
inserted_id = I
- user << "You insert [I]."
+ to_chat(user, "You insert [I].")
return
else
- user << "There's an ID inserted already."
+ to_chat(user, "There's an ID inserted already.")
return ..()
/obj/machinery/mineral/labor_claim_console/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
@@ -90,23 +90,23 @@
if("claim_points")
inserted_id.points += stacking_machine.points
stacking_machine.points = 0
- usr << "Points transferred."
+ to_chat(usr, "Points transferred.")
if("move_shuttle")
if(!alone_in_area(get_area(src), usr))
- usr << "Prisoners are only allowed to be released while alone."
+ to_chat(usr, "Prisoners are only allowed to be released while alone.")
else
switch(SSshuttle.moveShuttle("laborcamp","laborcamp_home"))
if(1)
- usr << "Shuttle not found"
+ to_chat(usr, "Shuttle not found")
if(2)
- usr << "Shuttle already at station"
+ to_chat(usr, "Shuttle already at station")
if(3)
- usr << "No permission to dock could be granted."
+ to_chat(usr, "No permission to dock could be granted.")
else
if(!emagged)
Radio.set_frequency(SEC_FREQ)
Radio.talk_into(src, "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval.", SEC_FREQ)
- usr << "Shuttle received message and will be sent shortly."
+ to_chat(usr, "Shuttle received message and will be sent shortly.")
/obj/machinery/mineral/labor_claim_console/proc/check_auth()
if(emagged)
@@ -123,7 +123,7 @@
/obj/machinery/mineral/labor_claim_console/emag_act(mob/user)
if(!emagged)
emagged = 1
- user << "PZZTTPFFFT"
+ to_chat(user, "PZZTTPFFFT")
/**********************Prisoner Collection Unit**************************/
@@ -158,11 +158,11 @@
if(istype(I, /obj/item/weapon/card/id))
if(istype(I, /obj/item/weapon/card/id/prisoner))
var/obj/item/weapon/card/id/prisoner/prisoner_id = I
- user << "ID: [prisoner_id.registered_name]"
- user << "Points Collected:[prisoner_id.points]"
- user << "Point Quota: [prisoner_id.goal]"
- user << "Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release."
+ to_chat(user, "ID: [prisoner_id.registered_name]")
+ to_chat(user, "Points Collected:[prisoner_id.points]")
+ to_chat(user, "Point Quota: [prisoner_id.goal]")
+ to_chat(user, "Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release.")
else
- user << "Error: Invalid ID"
+ to_chat(user, "Error: Invalid ID")
else
return ..()
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index 9e336695894..4e428fcafea 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -39,7 +39,7 @@
msg = harvest_message_low
else if(rand_harvested == harvest_amount_high)
msg = harvest_message_high
- user << "[msg]"
+ to_chat(user, "[msg]")
for(var/i in 1 to rand_harvested)
new harvest(get_turf(src))
icon_state = "[base_icon]p"
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 40bddc96667..5b21e30de6a 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -80,24 +80,24 @@
/obj/item/device/wisp_lantern/attack_self(mob/user)
if(!wisp)
- user << "The wisp has gone missing!"
+ to_chat(user, "The wisp has gone missing!")
return
if(wisp.loc == src)
- user << "You release the wisp. It begins to bob around your head."
+ to_chat(user, "You release the wisp. It begins to bob around your head.")
user.sight |= SEE_MOBS
icon_state = "lantern"
wisp.orbit(user, 20)
feedback_add_details("wisp_lantern","F") // freed
else
- user << "You return the wisp to the lantern."
+ to_chat(user, "You return the wisp to the lantern.")
if(wisp.orbiting)
var/atom/A = wisp.orbiting.orbiting
if(isliving(A))
var/mob/living/M = A
M.sight &= ~SEE_MOBS
- M << "Your vision returns to normal."
+ to_chat(M, "Your vision returns to normal.")
wisp.stop_orbit()
wisp.loc = src
@@ -137,7 +137,7 @@
/obj/item/device/warp_cube/attack_self(mob/user)
if(!linked)
- user << "[src] fizzles uselessly."
+ to_chat(user, "[src] fizzles uselessly.")
return
new /obj/effect/particle_effect/smoke(user.loc)
user.forceMove(get_turf(linked))
@@ -389,7 +389,7 @@
icon_state = "ship_bottle"
/obj/item/ship_in_a_bottle/attack_self(mob/user)
- user << "You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out."
+ to_chat(user, "You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out.")
playsound(user.loc, 'sound/effects/Glassbr1.ogg', 100, 1)
new /obj/vehicle/lavaboat/dragon(get_turf(src))
qdel(src)
@@ -430,10 +430,10 @@
if(iscarbon(M) && M.stat != DEAD)
if(!ishumanbasic(M) || reac_volume < 5) // implying xenohumans are holy
if(method == INGEST && show_message)
- M << "You feel nothing but a terrible aftertaste."
+ to_chat(M, "You feel nothing but a terrible aftertaste.")
return ..()
- M << "A terrible pain travels down your back as wings burst out!"
+ to_chat(M, "A terrible pain travels down your back as wings burst out!")
M.set_species(/datum/species/angel)
playsound(M.loc, 'sound/items/poster_ripped.ogg', 50, 1, -1)
M.adjustBruteLoss(20)
@@ -498,9 +498,9 @@
/obj/item/weapon/melee/ghost_sword/attack_self(mob/user)
if(summon_cooldown > world.time)
- user << "You just recently called out for aid. You don't want to annoy the spirits."
+ to_chat(user, "You just recently called out for aid. You don't want to annoy the spirits.")
return
- user << "You call out for aid, attempting to summon spirits to your side."
+ to_chat(user, "You call out for aid, attempting to summon spirits to your side.")
notify_ghosts("[user] is raising [user.p_their()] [src], calling for your help!",
enter_link="(Click to help)",
@@ -574,20 +574,20 @@
switch(random)
if(1)
- user << "Your appearence morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities."
+ to_chat(user, "Your appearence morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.")
H.dna.features = list("mcolor" = "A02720", "tail_lizard" = "Dark Tiger", "tail_human" = "None", "snout" = "Sharp", "horns" = "Curled", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "Long", "body_markings" = "Dark Tiger Body", "legs" = "Digitigrade Legs")
H.eye_color = "fee5a3"
H.set_species(/datum/species/lizard)
if(2)
- user << "Your flesh begins to melt! Miraculously, you seem fine otherwise."
+ to_chat(user, "Your flesh begins to melt! Miraculously, you seem fine otherwise.")
H.set_species(/datum/species/skeleton)
if(3)
- user << "Power courses through you! You can now shift your form at will."
+ to_chat(user, "Power courses through you! You can now shift your form at will.")
if(user.mind)
var/obj/effect/proc_holder/spell/targeted/shapeshift/dragon/D = new
user.mind.AddSpell(D)
if(4)
- user << "You feel like you could walk straight through lava now."
+ to_chat(user, "You feel like you could walk straight through lava now.")
H.weather_immunities |= "lava"
playsound(user.loc,'sound/items/drink.ogg', rand(10,50), 1)
@@ -692,7 +692,7 @@
spawn()
var/obj/effect/mine/pickup/bloodbath/B = new(H)
B.mineEffect(H)
- user << "You shatter the bottle!"
+ to_chat(user, "You shatter the bottle!")
playsound(user.loc, 'sound/effects/Glassbr1.ogg', 100, 1)
qdel(src)
@@ -725,11 +725,11 @@
var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in player_list
if(!(isliving(choice)))
- user << "[choice] is already dead!"
+ to_chat(user, "[choice] is already dead!")
used = FALSE
return
if(choice == user)
- user << "You feel like writing your own name into a cursed death warrant would be unwise."
+ to_chat(user, "You feel like writing your own name into a cursed death warrant would be unwise.")
used = FALSE
return
else
@@ -741,7 +741,7 @@
var/datum/objective/survive/survive = new
survive.owner = L.mind
L.mind.objectives += survive
- L << "You've been marked for death! Don't let the demons get you!"
+ to_chat(L, "You've been marked for death! Don't let the demons get you!")
L.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY)
spawn()
var/obj/effect/mine/pickup/bloodbath/B = new(L)
@@ -750,7 +750,7 @@
for(var/mob/living/carbon/human/H in player_list)
if(H == L)
continue
- H << "You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!"
+ to_chat(H, "You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!")
H.put_in_hands_or_del(new /obj/item/weapon/kitchen/knife/butcher(H))
qdel(src)
@@ -783,7 +783,7 @@
/obj/item/weapon/hierophant_club/examine(mob/user)
..()
- user << "The[beacon ? " beacon is not currently":"re is a beacon"] attached."
+ to_chat(user, "The[beacon ? " beacon is not currently":"re is a beacon"] attached.")
/obj/item/weapon/hierophant_club/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
..()
@@ -809,7 +809,7 @@
INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast
add_logs(user, target, "fired cardinal blast at", src)
else
- user << "That target is out of range!" //too far away
+ to_chat(user, "That target is out of range!" )
timer = world.time
INVOKE_ASYNC(src, .proc/prepare_icon_update)
@@ -842,12 +842,12 @@
/obj/item/weapon/hierophant_club/ui_action_click(mob/user, action)
if(istype(action, /datum/action/item_action/toggle_unfriendly_fire)) //toggle friendly fire...
friendly_fire_check = !friendly_fire_check
- user << "You toggle friendly fire [friendly_fire_check ? "off":"on"]!"
+ to_chat(user, "You toggle friendly fire [friendly_fire_check ? "off":"on"]!")
return
if(timer > world.time)
return
if(!user.is_holding(src)) //you need to hold the staff to teleport
- user << "You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!"
+ to_chat(user, "You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!")
return
if(!beacon || QDELETED(beacon))
if(isturf(user.loc))
@@ -868,16 +868,16 @@
timer = world.time
INVOKE_ASYNC(src, .proc/prepare_icon_update)
else
- user << "You need to be on solid ground to detach the beacon!"
+ to_chat(user, "You need to be on solid ground to detach the beacon!")
return
if(get_dist(user, beacon) <= 2) //beacon too close abort
- user << "You are too close to the beacon to teleport to it!"
+ to_chat(user, "You are too close to the beacon to teleport to it!")
return
if(is_blocked_turf(get_turf(beacon), TRUE))
- user << "The beacon is blocked by something, preventing teleportation!"
+ to_chat(user, "The beacon is blocked by something, preventing teleportation!")
return
if(!isturf(user.loc))
- user << "You don't have enough space to teleport from here!"
+ to_chat(user, "You don't have enough space to teleport from here!")
return
teleporting = TRUE //start channel
user.update_action_buttons_icon()
@@ -892,7 +892,7 @@
var/turf/source = get_turf(user)
if(is_blocked_turf(T, TRUE))
teleporting = FALSE
- user << "The beacon is blocked by something, preventing teleportation!"
+ to_chat(user, "The beacon is blocked by something, preventing teleportation!")
user.update_action_buttons_icon()
timer = world.time
INVOKE_ASYNC(src, .proc/prepare_icon_update)
@@ -913,7 +913,7 @@
return
if(is_blocked_turf(T, TRUE))
teleporting = FALSE
- user << "The beacon is blocked by something, preventing teleportation!"
+ to_chat(user, "The beacon is blocked by something, preventing teleportation!")
user.update_action_buttons_icon()
timer = world.time
INVOKE_ASYNC(src, .proc/prepare_icon_update)
diff --git a/code/modules/mining/lavaland/ruins/gym.dm b/code/modules/mining/lavaland/ruins/gym.dm
index 21ccb9344ca..c390851b1b3 100644
--- a/code/modules/mining/lavaland/ruins/gym.dm
+++ b/code/modules/mining/lavaland/ruins/gym.dm
@@ -22,7 +22,7 @@
/obj/structure/stacklifter/attack_hand(mob/user as mob)
if(in_use)
- user << "It's already in use - wait a bit."
+ to_chat(user, "It's already in use - wait a bit.")
return
else
in_use = 1
@@ -48,7 +48,7 @@
user.pixel_y = 0
var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!")
icon_state = "fitnesslifter"
- user << finishmessage
+ to_chat(user, finishmessage)
/obj/structure/weightlifter
name = "Weight Machine"
@@ -60,7 +60,7 @@
/obj/structure/weightlifter/attack_hand(mob/user as mob)
if(in_use)
- user << "It's already in use - wait a bit."
+ to_chat(user, "It's already in use - wait a bit.")
return
else
in_use = 1
@@ -94,4 +94,4 @@
var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!")
icon_state = "fitnessweight"
cut_overlay(W)
- user << "[finishmessage]"
\ No newline at end of file
+ to_chat(user, "[finishmessage]")
\ No newline at end of file
diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm
index 11b1e79fab2..484ad26d8c9 100644
--- a/code/modules/mining/machine_redemption.dm
+++ b/code/modules/mining/machine_redemption.dm
@@ -113,7 +113,7 @@
if(istype(W, /obj/item/device/multitool) && panel_open)
input_dir = turn(input_dir, -90)
output_dir = turn(output_dir, -90)
- user << "You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)]."
+ to_chat(user, "You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].")
return
if(exchange_parts(user, W))
@@ -213,7 +213,7 @@
inserted_id.mining_points += points
points = 0
else
- usr << "Required access not found."
+ to_chat(usr, "Required access not found.")
else if(href_list["choice"] == "insert")
var/obj/item/weapon/card/id/I = usr.get_active_held_item()
if(istype(I))
@@ -221,7 +221,7 @@
return
I.loc = src
inserted_id = I
- else usr << "No valid ID."
+ else to_chat(usr, "No valid ID.")
if(href_list["release"])
if(check_access(inserted_id) || allowed(usr)) //Check the ID inside, otherwise check the user.
if(!(text2path(href_list["release"]) in stack_list)) return
@@ -235,7 +235,7 @@
if(inp.amount < 1)
stack_list -= text2path(href_list["release"])
else
- usr << "Required access not found."
+ to_chat(usr, "Required access not found.")
if(href_list["alloytype1"] && href_list["alloytype2"] && href_list["alloytypeout"])
var/alloytype1 = text2path(href_list["alloytype1"])
var/alloytype2 = text2path(href_list["alloytype2"])
@@ -253,7 +253,7 @@
stack2.amount -= alloyout.amount
unload_mineral(alloyout)
else
- usr << "Required access not found."
+ to_chat(usr, "Required access not found.")
updateUsrDialog()
return
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index df703a94dcd..42121d7952f 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -126,7 +126,7 @@
return
I.loc = src
inserted_id = I
- else usr << "No valid ID."
+ else to_chat(usr, "No valid ID.")
if(href_list["purchase"])
if(istype(inserted_id))
var/datum/data/mining_equipment/prize = locate(href_list["purchase"])
@@ -252,15 +252,15 @@
if(points)
var/obj/item/weapon/card/id/C = I
C.mining_points += points
- user << "You transfer [points] points to [C]."
+ to_chat(user, "You transfer [points] points to [C].")
points = 0
else
- user << "There's no points left on [src]."
+ to_chat(user, "There's no points left on [src].")
..()
/obj/item/weapon/card/mining_point_card/examine(mob/user)
..()
- user << "There's [points] point\s on the card."
+ to_chat(user, "There's [points] point\s on the card.")
///Conscript kit
/obj/item/weapon/card/mining_access_card
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index e24803d9d11..9be3b650f8a 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -69,7 +69,7 @@
/obj/machinery/computer/shuttle/mining/attack_hand(mob/user)
if(user.z == ZLEVEL_STATION && user.mind && (user.mind in ticker.mode.head_revolutionaries) && !(user.mind in dumb_rev_heads))
- user << "You get a feeling that leaving the station might be a REALLY dumb idea..."
+ to_chat(user, "You get a feeling that leaving the station might be a REALLY dumb idea...")
dumb_rev_heads += user.mind
return
..()
@@ -198,7 +198,7 @@
/obj/item/weapon/emptysandbag/attackby(obj/item/W, mob/user, params)
if(istype(W,/obj/item/weapon/ore/glass))
- user << "You fill the sandbag."
+ to_chat(user, "You fill the sandbag.")
var/obj/item/stack/sheet/mineral/sandbags/I = new /obj/item/stack/sheet/mineral/sandbags
qdel(src)
user.put_in_hands(I)
@@ -248,8 +248,8 @@
/obj/item/weapon/survivalcapsule/examine(mob/user)
. = ..()
get_template()
- user << "This capsule has the [template.name] stored."
- user << template.description
+ to_chat(user, "This capsule has the [template.name] stored.")
+ to_chat(user, template.description)
/obj/item/weapon/survivalcapsule/attack_self()
// Can't grab when capsule is New() because templates aren't loaded then
diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm
index 58aff475668..063b84e91df 100644
--- a/code/modules/mining/minebot.dm
+++ b/code/modules/mining/minebot.dm
@@ -70,17 +70,17 @@
var/obj/item/weapon/weldingtool/W = I
if(W.welding && !stat)
if(AIStatus != AI_OFF && AIStatus != AI_IDLE)
- user << "[src] is moving around too much to repair!"
+ to_chat(user, "[src] is moving around too much to repair!")
return
if(maxHealth == health)
- user << "[src] is at full integrity."
+ to_chat(user, "[src] is at full integrity.")
else
if(W.remove_fuel(0, user))
adjustBruteLoss(-10)
- user << "You repair some of the armor on [src]."
+ to_chat(user, "You repair some of the armor on [src].")
return
if(istype(I, /obj/item/device/mining_scanner) || istype(I, /obj/item/device/t_scanner/adv_mining_scanner))
- user << "You instruct [src] to drop any collected ore."
+ to_chat(user, "You instruct [src] to drop any collected ore.")
DropOre()
return
..()
@@ -98,9 +98,9 @@
toggle_mode()
switch(mode)
if(MINEDRONE_COLLECT)
- M << "[src] has been set to search and store loose ore."
+ to_chat(M, "[src] has been set to search and store loose ore.")
if(MINEDRONE_ATTACK)
- M << "[src] has been set to attack hostile wildlife."
+ to_chat(M, "[src] has been set to attack hostile wildlife.")
return
..()
@@ -113,7 +113,7 @@
minimum_distance = 1
retreat_distance = null
icon_state = "mining_drone"
- src << "You are set to collect mode. You can now collect loose ore."
+ to_chat(src, "You are set to collect mode. You can now collect loose ore.")
/mob/living/simple_animal/hostile/mining_drone/proc/SetOffenseBehavior()
mode = MINEDRONE_ATTACK
@@ -124,7 +124,7 @@
retreat_distance = 1
minimum_distance = 2
icon_state = "mining_drone_offense"
- src << "You are set to attack mode. You can now attack from range."
+ to_chat(src, "You are set to attack mode. You can now attack from range.")
/mob/living/simple_animal/hostile/mining_drone/AttackingTarget()
if(istype(target, /obj/item/weapon/ore) && mode == MINEDRONE_COLLECT)
@@ -145,10 +145,10 @@
/mob/living/simple_animal/hostile/mining_drone/proc/DropOre(message = 1)
if(!contents.len)
if(message)
- src << "You attempt to dump your stored ore, but you have none."
+ to_chat(src, "You attempt to dump your stored ore, but you have none.")
return
if(message)
- src << "You dump your stored ore."
+ to_chat(src, "You dump your stored ore.")
for(var/obj/item/weapon/ore/O in contents)
contents -= O
O.loc = src.loc
@@ -187,7 +187,7 @@
else
user.set_light(6)
user.light_on = !user.light_on
- user << "You toggle your light [user.light_on ? "on" : "off"]."
+ to_chat(user, "You toggle your light [user.light_on ? "on" : "off"].")
/datum/action/innate/minedrone/toggle_meson_vision
name = "Toggle Meson Vision"
@@ -203,7 +203,7 @@
user.sight |= SEE_TURFS
user.see_invisible = SEE_INVISIBLE_MINIMUM
- user << "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"]."
+ to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].")
/datum/action/innate/minedrone/toggle_mode
name = "Toggle Mode"
@@ -239,7 +239,7 @@
/obj/item/device/mine_bot_ugprade/proc/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/M, mob/user)
if(M.melee_damage_upper != initial(M.melee_damage_upper))
- user << "[src] already has a combat upgrade installed!"
+ to_chat(user, "[src] already has a combat upgrade installed!")
return
M.melee_damage_lower = 22
M.melee_damage_upper = 22
@@ -252,7 +252,7 @@
/obj/item/device/mine_bot_ugprade/health/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/M, mob/user)
if(M.maxHealth != initial(M.maxHealth))
- user << "[src] already has a reinforced chassis!"
+ to_chat(user, "[src] already has a reinforced chassis!")
return
M.maxHealth = 170
qdel(src)
@@ -266,7 +266,7 @@
/obj/item/device/mine_bot_ugprade/cooldown/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/M, mob/user)
name = "minebot cooldown upgrade"
if(M.ranged_cooldown_time != initial(M.ranged_cooldown_time))
- user << "[src] already has a decreased weapon cooldown!"
+ to_chat(user, "[src] already has a decreased weapon cooldown!")
return
M.ranged_cooldown_time = 10
qdel(src)
diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm
index f75f95dde70..be152b3ea80 100644
--- a/code/modules/mining/mint.dm
+++ b/code/modules/mining/mint.dm
@@ -68,7 +68,7 @@
usr.set_machine(src)
src.add_fingerprint(usr)
if(processing==1)
- usr << "The machine is processing."
+ to_chat(usr, "The machine is processing.")
return
if(href_list["choose"])
if(materials.materials[href_list["choose"]])
diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm
index 3b833d7a0e1..aec6d00b603 100644
--- a/code/modules/mining/ores_coins.dm
+++ b/code/modules/mining/ores_coins.dm
@@ -14,7 +14,7 @@
new refined_type(get_turf(src.loc))
qdel(src)
else if(W.isOn())
- user << "Not enough fuel to smelt [src]."
+ to_chat(user, "Not enough fuel to smelt [src].")
..()
/obj/item/weapon/ore/Crossed(atom/movable/AM)
@@ -73,7 +73,7 @@
w_class = WEIGHT_CLASS_TINY
/obj/item/weapon/ore/glass/attack_self(mob/living/user)
- user << "You use the sand to make sandstone."
+ to_chat(user, "You use the sand to make sandstone.")
var/sandAmt = 1
for(var/obj/item/weapon/ore/glass/G in user.loc) // The sand on the floor
sandAmt += 1
@@ -107,7 +107,7 @@
C.adjust_blurriness(6)
C.adjustStaminaLoss(15)//the pain from your eyes burning does stamina damage
C.confused += 5
- C << "\The [src] gets into your eyes! The pain, it burns!"
+ to_chat(C, "\The [src] gets into your eyes! The pain, it burns!")
qdel(src)
/obj/item/weapon/ore/glass/basalt
@@ -126,7 +126,7 @@
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/W = I
if(W.welding)
- user << "You can't hit a high enough temperature to smelt [src] properly!"
+ to_chat(user, "You can't hit a high enough temperature to smelt [src] properly!")
else
..()
@@ -309,7 +309,7 @@
/obj/item/weapon/coin/examine(mob/user)
..()
if(value)
- user << "It's worth [value] credit\s."
+ to_chat(user, "It's worth [value] credit\s.")
/obj/item/weapon/coin/gold
cmineral = "gold"
@@ -386,15 +386,15 @@
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if(string_attached)
- user << "There already is a string attached to this coin!"
+ to_chat(user, "There already is a string attached to this coin!")
return
if (CC.use(1))
add_overlay(image('icons/obj/economy.dmi',"coin_string_overlay"))
string_attached = 1
- user << "You attach a string to the coin."
+ to_chat(user, "You attach a string to the coin.")
else
- user << "You need one length of cable to attach a string to the coin!"
+ to_chat(user, "You need one length of cable to attach a string to the coin!")
return
else if(istype(W,/obj/item/weapon/wirecutters))
@@ -407,13 +407,13 @@
CC.update_icon()
overlays = list()
string_attached = null
- user << "You detach the string from the coin."
+ to_chat(user, "You detach the string from the coin.")
else ..()
/obj/item/weapon/coin/attack_self(mob/user)
if(cooldown < world.time - 15)
if(string_attached) //does the coin have a wire attached
- user << "The coin won't flip very well with something attached!" //Tell user it will not flip
+ to_chat(user, "The coin won't flip very well with something attached!" )
return //do not flip the coin
var/coinflip = pick(sideslist)
cooldown = world.time
diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm
index 4b64884ccf8..237bee9ab68 100644
--- a/code/modules/mining/satchel_ore_boxdm.dm
+++ b/code/modules/mining/satchel_ore_boxdm.dm
@@ -18,7 +18,7 @@
var/obj/item/weapon/storage/S = W
for(var/obj/item/weapon/ore/O in S.contents)
S.remove_from_storage(O, src) //This will move the item to this item's contents
- user << "You empty the ore in [S] into \the [src]."
+ to_chat(user, "You empty the ore in [S] into \the [src].")
else if(istype(W, /obj/item/weapon/crowbar))
playsound(loc, W.usesound, 50, 1)
var/obj/item/weapon/crowbar/C = W
@@ -61,7 +61,7 @@
src.add_fingerprint(usr)
if(href_list["removeall"])
dump_box_contents()
- usr << "You empty the box."
+ to_chat(usr, "You empty the box.")
updateUsrDialog()
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index b8dbdeb5fb5..a081bdd3976 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -319,13 +319,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(!client)
return
if(!(mind && mind.current))
- src << "You have no body."
+ to_chat(src, "You have no body.")
return
if(!can_reenter_corpse)
- src << "You cannot re-enter your body."
+ to_chat(src, "You cannot re-enter your body.")
return
if(mind.current.key && copytext(mind.current.key,1,2)!="@") //makes sure we don't accidentally kick any clients
- usr << "Another consciousness is in your body...It is resisting you."
+ to_chat(usr, "Another consciousness is in your body...It is resisting you.")
return
client.view = world.view
SStgui.on_transfer(src, mind.current) // Transfer NanoUIs.
@@ -336,7 +336,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(flashwindow)
window_flash(client)
if(message)
- src << "[message]"
+ to_chat(src, "[message]")
if(source)
var/obj/screen/alert/A = throw_alert("\ref[source]_notify_cloning", /obj/screen/alert/notify_cloning)
if(A)
@@ -350,7 +350,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
A.add_overlay(source)
source.layer = old_layer
source.plane = old_plane
- src << "(Click to re-enter)"
+ to_chat(src, "(Click to re-enter)")
if(sound)
src << sound(sound)
@@ -359,7 +359,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set name = "Teleport"
set desc= "Teleport to a location"
if(!isobserver(usr))
- usr << "Not when you're not dead!"
+ to_chat(usr, "Not when you're not dead!")
return
var/A
A = input("Area to jump to", "BOOYEA", A) as null|anything in sortedAreas
@@ -372,7 +372,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
L+=T
if(!L || !L.len)
- usr << "No area available."
+ to_chat(usr, "No area available.")
usr.loc = pick(L)
update_parallax_contents()
@@ -398,7 +398,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
orbitsize -= (orbitsize/world.icon_size)*(world.icon_size*0.25)
if(orbiting && orbiting.orbiting != target)
- src << "Now orbiting [target]."
+ to_chat(src, "Now orbiting [target].")
var/rot_seg
@@ -451,7 +451,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
A.loc = T
A.update_parallax_contents()
else
- A << "This mob is not located in the game world."
+ to_chat(A, "This mob is not located in the game world.")
/mob/dead/observer/verb/change_view_range()
set category = "Ghost"
@@ -493,11 +493,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/memory()
set hidden = 1
- src << "You are dead! You have no mind to store memory!"
+ to_chat(src, "You are dead! You have no mind to store memory!")
/mob/dead/observer/add_memory()
set hidden = 1
- src << "You are dead! You have no mind to store memory!"
+ to_chat(src, "You are dead! You have no mind to store memory!")
/mob/dead/observer/verb/toggle_ghostsee()
set name = "Toggle Ghost Vision"
@@ -505,7 +505,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost"
ghostvision = !(ghostvision)
updateghostsight()
- usr << "You [(ghostvision?"now":"no longer")] have ghost vision."
+ to_chat(usr, "You [(ghostvision?"now":"no longer")] have ghost vision.")
/mob/dead/observer/verb/toggle_darkness()
set name = "Toggle Darkness"
@@ -586,14 +586,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return 0
if(ismegafauna(target))
- src << "This creature is too powerful for you to possess!"
+ to_chat(src, "This creature is too powerful for you to possess!")
return 0
if(can_reenter_corpse || (mind && mind.current))
if(alert(src, "Your soul is still tied to your former life as [mind.current.name], if you go forward there is no going back to that life. Are you sure you wish to continue?", "Move On", "Yes", "No") == "No")
return 0
if(target.key)
- src << "Someone has taken this body while you were choosing!"
+ to_chat(src, "Someone has taken this body while you were choosing!")
return 0
target.key = key
@@ -608,12 +608,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return
if(!config.cross_allowed)
verbs -= /mob/dead/observer/proc/server_hop
- src << "Server Hop has been disabled."
+ to_chat(src, "Server Hop has been disabled.")
return
if (alert(src, "Jump to server running at [config.cross_address]?", "Server Hop", "Yes", "No") != "Yes")
return 0
if (client && config.cross_allowed)
- src << "Sending you to [config.cross_address]."
+ to_chat(src, "Sending you to [config.cross_address].")
new /obj/screen/splash(client)
notransform = TRUE
sleep(29) //let the animation play
@@ -621,7 +621,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
winset(src, null, "command=.options") //other wise the user never knows if byond is downloading resources
client << link(config.cross_address + "?server_hop=[key]")
else
- src << "There is no other server configured!"
+ to_chat(src, "There is no other server configured!")
/proc/show_server_hop_transfer_screen(expected_key)
//only show it to incoming ghosts
@@ -695,11 +695,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(data_huds_on) //remove old huds
remove_data_huds()
- src << "Data HUDs disabled."
+ to_chat(src, "Data HUDs disabled.")
data_huds_on = 0
else
show_data_huds()
- src << "Data HUDs enabled."
+ to_chat(src, "Data HUDs enabled.")
data_huds_on = 1
/mob/dead/observer/verb/restore_ghost_apperance()
@@ -808,7 +808,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(SSpai)
SSpai.recruitWindow(src)
else
- usr << "Can't become a pAI candidate while not dead!"
+ to_chat(usr, "Can't become a pAI candidate while not dead!")
/mob/dead/observer/CtrlShiftClick(mob/user)
if(isobserver(user) && check_rights(R_SPAWN))
@@ -818,5 +818,5 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
for(var/mob/dead/observer/G in player_list)
G.invisibility = amount
if(message)
- G << message
+ to_chat(G, message)
observer_default_invisibility = amount
diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm
index a190b47b448..c7ceff6111e 100644
--- a/code/modules/mob/dead/observer/say.dm
+++ b/code/modules/mob/dead/observer/say.dm
@@ -18,5 +18,5 @@
else
speaker = V.source
var/link = FOLLOW_LINK(src, speaker)
- src << "[link] [message]"
+ to_chat(src, "[link] [message]")
diff --git a/code/modules/mob/interactive.dm b/code/modules/mob/interactive.dm
index 77d669dbfaa..e07c95b7f94 100644
--- a/code/modules/mob/interactive.dm
+++ b/code/modules/mob/interactive.dm
@@ -178,7 +178,7 @@
if(T)
T.alternateProcessing = !T.alternateProcessing
T.forceProcess = 1
- usr << "[T]'s processing has been switched to [T.alternateProcessing ? "High Profile" : "Low Profile"]"
+ to_chat(usr, "[T]'s processing has been switched to [T.alternateProcessing ? "High Profile" : "Low Profile"]")
/client/proc/customiseSNPC(var/mob/A in SSnpc.botPool_l)
set name = "Customize SNPC"
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 191c9f12ee2..2be0c948f47 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -350,7 +350,7 @@
/obj/item/proc/equip_to_best_slot(var/mob/M)
if(src != M.get_active_held_item())
- M << "You are not holding anything to equip!"
+ to_chat(M, "You are not holding anything to equip!")
return FALSE
if(M.equip_to_appropriate_slot(src))
@@ -380,7 +380,7 @@
S.handle_item_insertion(src)
return TRUE
- M << "You are unable to equip that!"
+ to_chat(M, "You are unable to equip that!")
return FALSE
diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm
index 5a3a53768e1..c83ebe90d34 100644
--- a/code/modules/mob/living/blood.dm
+++ b/code/modules/mob/living/blood.dm
@@ -12,7 +12,7 @@
/mob/living/carbon/human/proc/resume_bleeding()
bleedsuppress = 0
if(stat != DEAD && bleed_rate)
- src << "The blood soaks through your bandage."
+ to_chat(src, "The blood soaks through your bandage.")
/mob/living/carbon/monkey/handle_blood()
@@ -38,20 +38,20 @@
switch(blood_volume)
if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE)
if(prob(5))
- src << "You feel [pick("dizzy","woozy","faint")]."
+ to_chat(src, "You feel [pick("dizzy","woozy","faint")].")
adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.01, 1))
if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY)
adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.02, 1))
if(prob(5))
blur_eyes(6)
var/word = pick("dizzy","woozy","faint")
- src << "You feel very [word]."
+ to_chat(src, "You feel very [word].")
if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD)
adjustOxyLoss(5)
if(prob(15))
Paralyse(rand(1,3))
var/word = pick("dizzy","woozy","faint")
- src << "You feel extremely [word]."
+ to_chat(src, "You feel extremely [word].")
if(0 to BLOOD_VOLUME_SURVIVE)
death()
diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm
index 3a601a8711c..e338f493381 100644
--- a/code/modules/mob/living/bloodcrawl.dm
+++ b/code/modules/mob/living/bloodcrawl.dm
@@ -28,7 +28,7 @@
//TODO make it toggleable to either forcedrop the items, or deny
//entry when holding them
// literally only an option for carbons though
- C << "You may not hold items while blood crawling!"
+ to_chat(C, "You may not hold items while blood crawling!")
return 0
var/obj/item/weapon/bloodcrawl/B1 = new(C)
var/obj/item/weapon/bloodcrawl/B2 = new(C)
@@ -84,11 +84,11 @@
if(kidnapped)
var/success = bloodcrawl_consume(victim)
if(!success)
- src << "You happily devour... nothing? Your meal vanished at some point!"
+ to_chat(src, "You happily devour... nothing? Your meal vanished at some point!")
return 1
/mob/living/proc/bloodcrawl_consume(mob/living/victim)
- src << "You begin to feast on [victim]. You can not move while you are doing this."
+ to_chat(src, "You begin to feast on [victim]. You can not move while you are doing this.")
var/sound
if(istype(src, /mob/living/simple_animal/slaughter))
@@ -105,7 +105,7 @@
return FALSE
if(victim.reagents && victim.reagents.has_reagent("devilskiss"))
- src << "AAH! THEIR FLESH! IT BURNS!"
+ to_chat(src, "AAH! THEIR FLESH! IT BURNS!")
adjustBruteLoss(25) //I can't use adjustHealth() here because bloodcrawl affects /mob/living and adjustHealth() only affects simple mobs
var/found_bloodpool = FALSE
for(var/obj/effect/decal/cleanable/target in range(1,get_turf(victim)))
@@ -122,7 +122,7 @@
victim.exit_blood_effect()
return TRUE
- src << "You devour [victim]. Your health is fully restored."
+ to_chat(src, "You devour [victim]. Your health is fully restored.")
src.revive(full_heal = 1)
// No defib possible after laughter
@@ -153,7 +153,7 @@
/mob/living/proc/phasein(obj/effect/decal/cleanable/B)
if(src.notransform)
- src << "Finish eating first!"
+ to_chat(src, "Finish eating first!")
return 0
B.visible_message("[B] starts to bubble...")
if(!do_after(src, 20, target = B))
diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm
index ae0d8a618f5..100bec5cb98 100644
--- a/code/modules/mob/living/brain/MMI.dm
+++ b/code/modules/mob/living/brain/MMI.dm
@@ -47,10 +47,10 @@
if(istype(O,/obj/item/organ/brain)) //Time to stick a brain in it --NEO
var/obj/item/organ/brain/newbrain = O
if(brain)
- user << "There's already a brain in the MMI!"
+ to_chat(user, "There's already a brain in the MMI!")
return
if(!newbrain.brainmob)
- user << "You aren't sure where this brain came from, but you're pretty sure it's a useless brain!"
+ to_chat(user, "You aren't sure where this brain came from, but you're pretty sure it's a useless brain!")
return
if(!user.transferItemToLoc(O, src))
@@ -86,9 +86,9 @@
/obj/item/device/mmi/attack_self(mob/user)
if(!brain)
radio.on = !radio.on
- user << "You toggle the MMI's radio system [radio.on==1 ? "on" : "off"]."
+ to_chat(user, "You toggle the MMI's radio system [radio.on==1 ? "on" : "off"].")
else
- user << "You unlock and upend the MMI, spilling the brain onto the floor."
+ to_chat(user, "You unlock and upend the MMI, spilling the brain onto the floor.")
eject_brain(user)
update_icon()
name = "Man-Machine Interface"
@@ -146,13 +146,13 @@
set popup_menu = 0
if(brainmob.stat)
- brainmob << "Can't do that while incapacitated or dead!"
+ to_chat(brainmob, "Can't do that while incapacitated or dead!")
if(!radio.on)
- brainmob << "Your radio is disabled!"
+ to_chat(brainmob, "Your radio is disabled!")
return
radio.listening = radio.listening==1 ? 0 : 1
- brainmob << "Radio is [radio.listening==1 ? "now" : "no longer"] receiving broadcast."
+ to_chat(brainmob, "Radio is [radio.listening==1 ? "now" : "no longer"] receiving broadcast.")
/obj/item/device/mmi/emp_act(severity)
if(!brainmob || iscyborg(loc))
@@ -195,13 +195,13 @@
if(brainmob)
var/mob/living/brain/B = brainmob
if(!B.key || !B.mind || B.stat == DEAD)
- user << "The MMI indicates the brain is completely unresponsive."
+ to_chat(user, "The MMI indicates the brain is completely unresponsive.")
else if(!B.client)
- user << "The MMI indicates the brain is currently inactive; it might change."
+ to_chat(user, "The MMI indicates the brain is currently inactive; it might change.")
else
- user << "The MMI indicates the brain is active."
+ to_chat(user, "The MMI indicates the brain is active.")
/obj/item/device/mmi/syndie
diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm
index 1ae8a422c02..077c876f242 100644
--- a/code/modules/mob/living/brain/brain_item.dm
+++ b/code/modules/mob/living/brain/brain_item.dm
@@ -56,7 +56,7 @@
C.dna.copy_dna(brainmob.stored_dna)
if(L.mind && L.mind.current && (L.mind.current.stat == DEAD))
L.mind.transfer_to(brainmob)
- brainmob << "You feel slightly disoriented. That's normal when you're just a brain."
+ to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a brain.")
/obj/item/organ/brain/attackby(obj/item/O, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
@@ -69,16 +69,16 @@
if(brainmob)
if(brainmob.client)
if(brainmob.health <= HEALTH_THRESHOLD_DEAD)
- user << "It's lifeless and severely damaged."
+ to_chat(user, "It's lifeless and severely damaged.")
else
- user << "You can feel the small spark of life still left in this one."
+ to_chat(user, "You can feel the small spark of life still left in this one.")
else
- user << "This one seems particularly lifeless. Perhaps it will regain some of its luster later."
+ to_chat(user, "This one seems particularly lifeless. Perhaps it will regain some of its luster later.")
else
if(decoy_override)
- user << "This one seems particularly lifeless. Perhaps it will regain some of its luster later."
+ to_chat(user, "This one seems particularly lifeless. Perhaps it will regain some of its luster later.")
else
- user << "This one is completely devoid of life."
+ to_chat(user, "This one is completely devoid of life.")
/obj/item/organ/brain/attack(mob/living/carbon/C, mob/user)
if(!istype(C))
@@ -90,7 +90,7 @@
return ..()
if((C.head && (C.head.flags_cover & HEADCOVERSEYES)) || (C.wear_mask && (C.wear_mask.flags_cover & MASKCOVERSEYES)) || (C.glasses && (C.glasses.flags & GLASSESCOVERSEYES)))
- user << "You're going to need to remove their head cover first!"
+ to_chat(user, "You're going to need to remove their head cover first!")
return
//since these people will be dead M != usr
@@ -107,10 +107,10 @@
"[msg]")
if(C != user)
- C << "[user] inserts [src] into your head."
- user << "You insert [src] into [C]'s head."
+ to_chat(C, "[user] inserts [src] into your head.")
+ to_chat(user, "You insert [src] into [C]'s head.")
else
- user << "You insert [src] into your head." //LOL
+ to_chat(user, "You insert [src] into your head." )
Insert(C)
else
diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm
index 81143d62a56..483f9076390 100644
--- a/code/modules/mob/living/brain/posibrain.dm
+++ b/code/modules/mob/living/brain/posibrain.dm
@@ -48,7 +48,7 @@ var/global/posibrain_notif_cooldown = 0
/obj/item/device/mmi/posibrain/attack_self(mob/user)
if(brainmob && !brainmob.key && !notified)
//Start the process of requesting a new ghost.
- user << begin_activation_message
+ to_chat(user, begin_activation_message)
ping_ghosts("requested", FALSE)
notified = 1
used = 0
@@ -98,7 +98,7 @@ var/global/posibrain_notif_cooldown = 0
/obj/item/device/mmi/posibrain/proc/transfer_personality(mob/candidate)
if(used || (brainmob && brainmob.key)) //Prevents hostile takeover if two ghosts get the prompt or link for the same brain.
- candidate << "This brain has already been taken! Please try your possession again later!"
+ to_chat(candidate, "This brain has already been taken! Please try your possession again later!")
return FALSE
notified = 0
if(candidate.mind && !isobserver(candidate))
@@ -106,7 +106,7 @@ var/global/posibrain_notif_cooldown = 0
else
brainmob.ckey = candidate.ckey
name = "[initial(name)] ([brainmob.name])"
- brainmob << welcome_message
+ to_chat(brainmob, welcome_message)
brainmob.mind.assigned_role = new_role
brainmob.stat = CONSCIOUS
dead_mob_list -= brainmob
@@ -131,7 +131,7 @@ var/global/posibrain_notif_cooldown = 0
else
msg = "[dead_message]"
- user << msg
+ to_chat(user, msg)
/obj/item/device/mmi/posibrain/New()
brainmob = new(src)
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index 886d801449e..d0d36c18e9e 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -137,7 +137,7 @@ Des: Removes all infected images from the alien.
return initial(pixel_y)
/mob/living/carbon/alien/proc/alien_evolve(mob/living/carbon/alien/new_xeno)
- src << "You begin to evolve!"
+ to_chat(src, "You begin to evolve!")
visible_message("[src] begins to twist and contort!")
new_xeno.setDir(dir)
if(!alien_name_regex.Find(name))
diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm
index f3ce58b1200..85a5ed7f9b4 100644
--- a/code/modules/mob/living/carbon/alien/alien_defense.dm
+++ b/code/modules/mob/living/carbon/alien/alien_defense.dm
@@ -15,7 +15,7 @@ In all, this is a lot like the monkey code. /N
*/
/mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M)
if(isturf(loc) && istype(loc.loc, /area/start))
- M << "No attacking people at spawn, you jackass."
+ to_chat(M, "No attacking people at spawn, you jackass.")
return
switch(M.a_intent)
@@ -41,7 +41,7 @@ In all, this is a lot like the monkey code. /N
add_logs(M, src, "attacked")
updatehealth()
else
- M << "[name] is too injured for that."
+ to_chat(M, "[name] is too injured for that.")
/mob/living/carbon/alien/attack_larva(mob/living/carbon/alien/larva/L)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
index cb4020c98d7..2ae25c71ee9 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
@@ -42,15 +42,15 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/proc/cost_check(check_turf=0,mob/living/carbon/user,silent = 0)
if(user.stat)
if(!silent)
- user << "You must be conscious to do this."
+ to_chat(user, "You must be conscious to do this.")
return 0
if(user.getPlasma() < plasma_cost)
if(!silent)
- user << "Not enough plasma stored."
+ to_chat(user, "Not enough plasma stored.")
return 0
if(check_turf && (!isturf(user.loc) || isspaceturf(user.loc)))
if(!silent)
- user << "Bad place for a garden!"
+ to_chat(user, "Bad place for a garden!")
return 0
return 1
@@ -63,7 +63,7 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/plant/fire(mob/living/carbon/user)
if(locate(/obj/structure/alien/weeds/node) in get_turf(user))
- user << "There's already a weed node here."
+ to_chat(user, "There's already a weed node here.")
return 0
user.visible_message("[user] has planted some alien weeds!")
new/obj/structure/alien/weeds/node(user.loc)
@@ -85,19 +85,14 @@ Doesn't work on other aliens/AI.*/
var/msg = sanitize(input("Message:", "Alien Whisper") as text|null)
if(msg)
log_say("AlienWhisper: [key_name(user)]->[M.key] : [msg]")
- M << "You hear a strange, alien voice in your head...[msg]"
- user << "You said: \"[msg]\" to [M]"
+ to_chat(M, "You hear a strange, alien voice in your head...[msg]")
+ to_chat(user, "You said: \"[msg]\" to [M]")
for(var/ded in dead_mob_list)
if(!isobserver(ded))
continue
var/follow_link_user = FOLLOW_LINK(ded, user)
var/follow_link_whispee = FOLLOW_LINK(ded, M)
- ded << "[follow_link_user] \
- [user] \
- Alien Whisper --> \
- [follow_link_whispee] \
- [M] \
- [msg]"
+ to_chat(ded, "[follow_link_user] [user] Alien Whisper --> [follow_link_whispee] [M] [msg]")
else
return 0
return 1
@@ -122,10 +117,10 @@ Doesn't work on other aliens/AI.*/
if (get_dist(user,M) <= 1)
M.adjustPlasma(amount)
user.adjustPlasma(-amount)
- M << "[user] has transferred [amount] plasma to you."
- user << "You transfer [amount] plasma to [M]"
+ to_chat(M, "[user] has transferred [amount] plasma to you.")
+ to_chat(user, "You transfer [amount] plasma to [M]")
else
- user << "You need to be closer!"
+ to_chat(user, "You need to be closer!")
return
/obj/effect/proc_holder/alien/acid
@@ -146,12 +141,12 @@ Doesn't work on other aliens/AI.*/
user.visible_message("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!")
return 1
else
- user << "You cannot dissolve this object."
+ to_chat(user, "You cannot dissolve this object.")
return 0
else
- src << "Target is too far away."
+ to_chat(src, "Target is too far away.")
return 0
@@ -204,7 +199,7 @@ Doesn't work on other aliens/AI.*/
var/mob/living/carbon/user = ranged_ability_user
if(user.getPlasma() < p_cost)
- user << "You need at least [p_cost] plasma to spit."
+ to_chat(user, "You need at least [p_cost] plasma to spit.")
remove_ranged_ability()
return
@@ -255,14 +250,14 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/resin/fire(mob/living/carbon/user)
if(locate(/obj/structure/alien/resin) in user.loc)
- user << "There is already a resin structure there."
+ to_chat(user, "There is already a resin structure there.")
return 0
var/choice = input("Choose what you wish to shape.","Resin building") as null|anything in structures
if(!choice)
return 0
if (!cost_check(check_turf,user))
return 0
- user << "You shape a [choice]."
+ to_chat(user, "You shape a [choice].")
user.visible_message("[user] vomits up a thick purple substance and begins to shape it.")
choice = structures[choice]
@@ -298,12 +293,12 @@ Doesn't work on other aliens/AI.*/
user.alpha = 75 //Still easy to see in lit areas with bright tiles, almost invisible on resin.
user.sneaking = 1
active = 1
- user << "You blend into the shadows..."
+ to_chat(user, "You blend into the shadows...")
else
user.alpha = initial(user.alpha)
user.sneaking = 0
active = 0
- user << "You reveal yourself!"
+ to_chat(user, "You reveal yourself!")
/mob/living/carbon/proc/getPlasma()
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
index 14ef84f6bfd..e68e80cc0c3 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
@@ -30,19 +30,19 @@
/obj/effect/proc_holder/alien/evolve/fire(mob/living/carbon/alien/humanoid/user)
var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode)
if(!node) //Players are Murphy's Law. We may not expect there to ever be a living xeno with no hivenode, but they _WILL_ make it happen.
- user << "Without the hivemind, you can't possibly hold the responsibility of leadership!"
+ to_chat(user, "Without the hivemind, you can't possibly hold the responsibility of leadership!")
return 0
if(node.recent_queen_death)
- user << "Your thoughts are still too scattered to take up the position of leadership."
+ to_chat(user, "Your thoughts are still too scattered to take up the position of leadership.")
return 0
if(!isturf(user.loc))
- user << "You can't evolve here!"
+ to_chat(user, "You can't evolve here!")
return 0
if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal))
var/mob/living/carbon/alien/humanoid/royal/praetorian/new_xeno = new (user.loc)
user.alien_evolve(new_xeno)
return 1
else
- user << "We already have a living royal!"
+ to_chat(user, "We already have a living royal!")
return 0
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
index fcfe69619d4..13ed9e26d48 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
@@ -22,7 +22,7 @@
leap_icon.icon_state = "leap_[leap_on_click ? "on":"off"]"
update_icons()
if(message)
- src << "You will now [leap_on_click ? "leap at":"slash at"] enemies!"
+ to_chat(src, "You will now [leap_on_click ? "leap at":"slash at"] enemies!")
else
return
@@ -39,14 +39,14 @@
/mob/living/carbon/alien/humanoid/hunter/proc/leap_at(atom/A)
if(pounce_cooldown)
- src << "You are too fatigued to pounce right now!"
+ to_chat(src, "You are too fatigued to pounce right now!")
return
if(leaping || stat || buckled || lying)
return
if(!has_gravity() || !A.has_gravity())
- src << "It is unsafe to leap without gravity!"
+ to_chat(src, "It is unsafe to leap without gravity!")
//It's also extremely buggy visually, so it's balance+bugfix
return
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm
index d16c06bea53..c2a63144b11 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm
@@ -37,10 +37,10 @@
/obj/effect/proc_holder/alien/royal/praetorian/evolve/fire(mob/living/carbon/alien/humanoid/user)
var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode)
if(!node) //Just in case this particular Praetorian gets violated and kept by the RD as a replacement for Lamarr.
- user << "Without the hivemind, you would be unfit to rule as queen!"
+ to_chat(user, "Without the hivemind, you would be unfit to rule as queen!")
return 0
if(node.recent_queen_death)
- user << "You are still too burdened with guilt to evolve into a queen."
+ to_chat(user, "You are still too burdened with guilt to evolve into a queen.")
return 0
if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal/queen))
var/mob/living/carbon/alien/humanoid/royal/queen/new_xeno = new (user.loc)
@@ -50,5 +50,5 @@
M.Grant(new_xeno)
return 1
else
- user << "We already have an alive queen."
+ to_chat(user, "We already have an alive queen.")
return 0
diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
index 9cf8f0d9038..ef4c85a58b6 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
@@ -84,7 +84,7 @@
/obj/effect/proc_holder/alien/lay_egg/fire(mob/living/carbon/user)
if(locate(/obj/structure/alien/egg) in get_turf(user))
- user << "There's already an egg here."
+ to_chat(user, "There's already an egg here.")
return 0
user.visible_message("[user] has laid an egg!")
new /obj/structure/alien/egg(user.loc)
@@ -103,20 +103,20 @@
/obj/effect/proc_holder/alien/royal/queen/promote/fire(mob/living/carbon/alien/user)
var/obj/item/queenpromote/prom
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/))
- user << "You already have a Praetorian!"
+ to_chat(user, "You already have a Praetorian!")
return 0
else
for(prom in user)
- user << "You discard [prom]."
+ to_chat(user, "You discard [prom].")
qdel(prom)
return 0
prom = new (user.loc)
if(!user.put_in_active_hand(prom, 1))
- user << "You must empty your hands before preparing the parasite."
+ to_chat(user, "You must empty your hands before preparing the parasite.")
return 0
else //Just in case telling the player only once is not enough!
- user << "Use the royal parasite on one of your children to promote her to Praetorian!"
+ to_chat(user, "Use the royal parasite on one of your children to promote her to Praetorian!")
return 0
/obj/item/queenpromote
@@ -128,19 +128,19 @@
/obj/item/queenpromote/attack(mob/living/M, mob/living/carbon/alien/humanoid/user)
if(!isalienadult(M) || istype(M, /mob/living/carbon/alien/humanoid/royal))
- user << "You may only use this with your adult, non-royal children!"
+ to_chat(user, "You may only use this with your adult, non-royal children!")
return
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/))
- user << "You already have a Praetorian!"
+ to_chat(user, "You already have a Praetorian!")
return
var/mob/living/carbon/alien/humanoid/A = M
if(A.stat == CONSCIOUS && A.mind && A.key)
if(!user.usePlasma(500))
- user << "You must have 500 plasma stored to use this!"
+ to_chat(user, "You must have 500 plasma stored to use this!")
return
- A << "The queen has granted you a promotion to Praetorian!"
+ to_chat(A, "The queen has granted you a promotion to Praetorian!")
user.visible_message("[A] begins to expand, twist and contort!")
var/mob/living/carbon/alien/humanoid/royal/praetorian/new_prae = new (A.loc)
A.mind.transfer_to(new_prae)
@@ -148,10 +148,10 @@
qdel(src)
return
else
- user << "This child must be alert and responsive to become a Praetorian!"
+ to_chat(user, "This child must be alert and responsive to become a Praetorian!")
/obj/item/queenpromote/attack_self(mob/user)
- user << "You discard [src]."
+ to_chat(user, "You discard [src].")
qdel(src)
//:^)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index f6ceff4774a..52ffa8bdf7c 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -60,9 +60,9 @@
return
/mob/living/carbon/alien/larva/stripPanelUnequip(obj/item/what, mob/who)
- src << "You don't have the dexterity to do this!"
+ to_chat(src, "You don't have the dexterity to do this!")
return
/mob/living/carbon/alien/larva/stripPanelEquip(obj/item/what, mob/who)
- src << "You don't have the dexterity to do this!"
+ to_chat(src, "You don't have the dexterity to do this!")
return
diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm
index cc89dfa95f9..866ae4cc1b2 100644
--- a/code/modules/mob/living/carbon/alien/larva/powers.dm
+++ b/code/modules/mob/living/carbon/alien/larva/powers.dm
@@ -33,14 +33,14 @@
var/mob/living/carbon/alien/larva/L = user
if(L.handcuffed || L.legcuffed) // Cuffing larvas ? Eh ?
- user << "You cannot evolve when you are cuffed."
+ to_chat(user, "You cannot evolve when you are cuffed.")
if(L.amount_grown >= L.max_grown) //TODO ~Carn
- L << "You are growing into a beautiful alien! It is time to choose a caste."
- L << "There are three to choose from:"
- L << "Hunters are the most agile caste, tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone."
- L << "Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters."
- L << "Drones are the weakest and slowest of the castes, but can grow into a praetorian and then queen if no queen exists, and are vital to maintaining a hive with their resin secretion abilities."
+ to_chat(L, "You are growing into a beautiful alien! It is time to choose a caste.")
+ to_chat(L, "There are three to choose from:")
+ to_chat(L, "Hunters are the most agile caste, tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone.")
+ to_chat(L, "Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters.")
+ to_chat(L, "Drones are the weakest and slowest of the castes, but can grow into a praetorian and then queen if no queen exists, and are vital to maintaining a hive with their resin secretion abilities.")
var/alien_caste = alert(L, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone")
if(user.incapacitated()) //something happened to us while we were choosing.
@@ -58,5 +58,5 @@
L.alien_evolve(new_xeno)
return 0
else
- user << "You are not fully grown."
+ to_chat(user, "You are not fully grown.")
return 0
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm
index 984e4111c0b..0e32767a71f 100644
--- a/code/modules/mob/living/carbon/alien/organs.dm
+++ b/code/modules/mob/living/carbon/alien/organs.dm
@@ -124,13 +124,13 @@
if(!owner|| owner.stat == DEAD)
return
if(isalien(owner)) //Different effects for aliens than humans
- owner << "Your Queen has been struck down!"
- owner << "You are struck with overwhelming agony! You feel confused, and your connection to the hivemind is severed."
+ to_chat(owner, "Your Queen has been struck down!")
+ to_chat(owner, "You are struck with overwhelming agony! You feel confused, and your connection to the hivemind is severed.")
owner.emote("roar")
owner.Stun(10) //Actually just slows them down a bit.
else if(ishuman(owner)) //Humans, being more fragile, are more overwhelmed by the mental backlash.
- owner << "You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!"
+ to_chat(owner, "You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!")
owner.emote("scream")
owner.Weaken(5)
@@ -146,7 +146,7 @@
recent_queen_death = 0
if(!owner) //In case the xeno is butchered or subjected to surgery after death.
return
- owner << "The pain of the queen's death is easing. You begin to hear the hivemind again."
+ to_chat(owner, "The pain of the queen's death is easing. You begin to hear the hivemind again.")
owner.clear_alert("alien_noqueen")
diff --git a/code/modules/mob/living/carbon/alien/say.dm b/code/modules/mob/living/carbon/alien/say.dm
index 39539a1a4a9..38e55b35308 100644
--- a/code/modules/mob/living/carbon/alien/say.dm
+++ b/code/modules/mob/living/carbon/alien/say.dm
@@ -7,10 +7,10 @@
var/rendered = "Hivemind, [shown_name] [message_a]"
for(var/mob/S in player_list)
if(!S.stat && S.hivecheck())
- S << rendered
+ to_chat(S, rendered)
if(S in dead_mob_list)
var/link = FOLLOW_LINK(S, src)
- S << "[link] [rendered]"
+ to_chat(S, "[link] [rendered]")
/mob/living/carbon/alien/humanoid/royal/queen/alien_talk(message, shown_name = name)
shown_name = "[shown_name]"
diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm
index b2597caf79c..cea0a9b26bd 100644
--- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm
+++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm
@@ -10,9 +10,9 @@
/obj/item/organ/body_egg/alien_embryo/on_find(mob/living/finder)
..()
if(stage < 4)
- finder << "It's small and weak, barely the size of a foetus."
+ to_chat(finder, "It's small and weak, barely the size of a foetus.")
else
- finder << "It's grown quite large, and writhes slightly as you look at it."
+ to_chat(finder, "It's grown quite large, and writhes slightly as you look at it.")
if(prob(10))
AttemptGrow(0)
@@ -29,24 +29,24 @@
if(prob(2))
owner.emote("cough")
if(prob(2))
- owner << "Your throat feels sore."
+ to_chat(owner, "Your throat feels sore.")
if(prob(2))
- owner << "Mucous runs down the back of your throat."
+ to_chat(owner, "Mucous runs down the back of your throat.")
if(4)
if(prob(2))
owner.emote("sneeze")
if(prob(2))
owner.emote("cough")
if(prob(4))
- owner << "Your muscles ache."
+ to_chat(owner, "Your muscles ache.")
if(prob(20))
owner.take_bodypart_damage(1)
if(prob(4))
- owner << "Your stomach hurts."
+ to_chat(owner, "Your stomach hurts.")
if(prob(20))
owner.adjustToxLoss(1)
if(5)
- owner << "You feel something tearing its way out of your stomach..."
+ to_chat(owner, "You feel something tearing its way out of your stomach...")
owner.adjustToxLoss(10)
/obj/item/organ/body_egg/alien_embryo/egg_process()
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index 8c63836c783..fb99df8267a 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -64,11 +64,11 @@ var/const/MAX_ACTIVE_TIME = 400
return
switch(stat)
if(DEAD,UNCONSCIOUS)
- user << "[src] is not moving."
+ to_chat(user, "[src] is not moving.")
if(CONSCIOUS)
- user << "[src] seems to be active!"
+ to_chat(user, "[src] seems to be active!")
if (sterile)
- user << "It looks like the proboscis has been removed."
+ to_chat(user, "It looks like the proboscis has been removed.")
/obj/item/clothing/mask/facehugger/attackby(obj/item/O,mob/m, params)
if(O.force)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 9c54a7fa511..3e276c31d2f 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -53,7 +53,7 @@
if(item_in_hand) //this segment checks if the item in your hand is twohanded.
if(istype(item_in_hand,/obj/item/weapon/twohanded))
if(item_in_hand:wielded == 1)
- usr << "Your other hand is too busy holding the [item_in_hand.name]"
+ to_chat(usr, "Your other hand is too busy holding the [item_in_hand.name]")
return
var/oindex = active_hand_index
active_hand_index = held_index
@@ -252,7 +252,7 @@
buckled.user_unbuckle_mob(src,src)
else
if(src && buckled)
- src << "You fail to unbuckle yourself!"
+ to_chat(src, "You fail to unbuckle yourself!")
else
buckled.user_unbuckle_mob(src,src)
@@ -293,20 +293,20 @@
var/displaytime = breakouttime / 600
if(!cuff_break)
visible_message("[src] attempts to remove [I]!")
- src << "You attempt to remove [I]... (This will take around [displaytime] minutes and you need to stand still.)"
+ to_chat(src, "You attempt to remove [I]... (This will take around [displaytime] minutes and you need to stand still.)")
if(do_after(src, breakouttime, 0, target = src))
clear_cuffs(I, cuff_break)
else
- src << "You fail to remove [I]!"
+ to_chat(src, "You fail to remove [I]!")
else if(cuff_break == FAST_CUFFBREAK)
breakouttime = 50
visible_message("[src] is trying to break [I]!")
- src << "You attempt to break [I]... (This will take around 5 seconds and you need to stand still.)"
+ to_chat(src, "You attempt to break [I]... (This will take around 5 seconds and you need to stand still.)")
if(do_after(src, breakouttime, 0, target = src))
clear_cuffs(I, cuff_break)
else
- src << "You fail to break [I]!"
+ to_chat(src, "You fail to break [I]!")
else if(cuff_break == INSTANT_CUFFBREAK)
clear_cuffs(I, cuff_break)
@@ -343,7 +343,7 @@
if(!I.loc || buckled)
return
visible_message("[src] manages to [cuff_break ? "break" : "remove"] [I]!")
- src << "You successfully [cuff_break ? "break" : "remove"] [I]."
+ to_chat(src, "You successfully [cuff_break ? "break" : "remove"] [I].")
if(cuff_break)
qdel(I)
@@ -731,7 +731,7 @@
O.Remove(src)
O.loc = get_turf(src)
if(organs_amt)
- user << "You retrieve some of [src]\'s internal organs!"
+ to_chat(user, "You retrieve some of [src]\'s internal organs!")
..()
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 5087e948e7e..eb88ca12820 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -204,7 +204,7 @@
/mob/living/carbon/proc/help_shake_act(mob/living/carbon/M)
if(on_fire)
- M << "You can't put them out with just your bare hands!"
+ to_chat(M, "You can't put them out with just your bare hands!")
return
if(health >= 0 && !(status_flags & FAKEDEATH))
@@ -238,16 +238,16 @@
return
if (damage == 1)
- src << "Your eyes sting a little."
+ to_chat(src, "Your eyes sting a little.")
if(prob(40))
adjust_eye_damage(1)
else if (damage == 2)
- src << "Your eyes burn."
+ to_chat(src, "Your eyes burn.")
adjust_eye_damage(rand(2, 4))
else if( damage > 3)
- src << "Your eyes itch and burn severely!"
+ to_chat(src, "Your eyes itch and burn severely!")
adjust_eye_damage(rand(12, 16))
if(eye_damage > 10)
@@ -257,18 +257,18 @@
if(eye_damage > 20)
if(prob(eye_damage - 20))
if(become_nearsighted())
- src << "Your eyes start to burn badly!"
+ to_chat(src, "Your eyes start to burn badly!")
else if(prob(eye_damage - 25))
if(become_blind())
- src << "You can't see anything!"
+ to_chat(src, "You can't see anything!")
else
- src << "Your eyes are really starting to hurt. This can't be good for you!"
+ to_chat(src, "Your eyes are really starting to hurt. This can't be good for you!")
if(has_bane(BANE_LIGHT))
mind.disrupt_spells(-500)
return 1
else if(damage == 0) // just enough protection
if(prob(20))
- src << "Something bright flashes in the corner of your vision!"
+ to_chat(src, "Something bright flashes in the corner of your vision!")
if(has_bane(BANE_LIGHT))
mind.disrupt_spells(0)
@@ -284,12 +284,12 @@
if(deafen_pwr || damage_pwr)
setEarDamage(ear_damage + damage_pwr*effect_amount, max(ear_deaf, deafen_pwr*effect_amount))
if (ear_damage >= 15)
- src << "Your ears start to ring badly!"
+ to_chat(src, "Your ears start to ring badly!")
if(prob(ear_damage - 5))
- src << "You can't hear anything!"
+ to_chat(src, "You can't hear anything!")
disabilities |= DEAF
else if(ear_damage >= 5)
- src << "Your ears start to ring!"
+ to_chat(src, "Your ears start to ring!")
src << sound('sound/weapons/flash_ring.ogg',0,1,0,250)
return effect_amount //how soundbanged we are
diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm
index 91f0f79ab74..2fe0a7f7bdd 100644
--- a/code/modules/mob/living/carbon/examine.dm
+++ b/code/modules/mob/living/carbon/examine.dm
@@ -87,4 +87,4 @@
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 52156cc29b3..bcb8548b262 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -328,4 +328,4 @@
msg += "\[Add comment\]\n"
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 1b2dff48e69..cfa0a04136f 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -246,7 +246,7 @@
if(href_list["item"])
var/slot = text2num(href_list["item"])
if(slot in check_obscured_slots())
- usr << "You can't reach that! Something is covering it."
+ to_chat(usr, "You can't reach that! Something is covering it.")
return
if(href_list["pockets"])
@@ -258,10 +258,10 @@
var/delay_denominator = 1
if(pocket_item && !(pocket_item.flags&ABSTRACT))
if(pocket_item.flags & NODROP)
- usr << "You try to empty [src]'s [pocket_side] pocket, it seems to be stuck!"
- usr << "You try to empty [src]'s [pocket_side] pocket."
+ to_chat(usr, "You try to empty [src]'s [pocket_side] pocket, it seems to be stuck!")
+ to_chat(usr, "You try to empty [src]'s [pocket_side] pocket.")
else if(place_item && place_item.mob_can_equip(src, usr, pocket_id, 1) && !(place_item.flags&ABSTRACT))
- usr << "You try to place [place_item] into [src]'s [pocket_side] pocket."
+ to_chat(usr, "You try to place [place_item] into [src]'s [pocket_side] pocket.")
delay_denominator = 4
else
return
@@ -282,7 +282,7 @@
show_inv(usr)
else
// Display a warning if the user mocks up
- src << "You feel your [pocket_side] pocket being fumbled with!"
+ to_chat(src, "You feel your [pocket_side] pocket being fumbled with!")
..()
@@ -332,12 +332,12 @@
return
if(href_list["evaluation"])
if(!getBruteLoss() && !getFireLoss() && !getOxyLoss() && getToxLoss() < 20)
- usr << "No external injuries detected.
"
+ to_chat(usr, "No external injuries detected.
")
return
var/span = "notice"
var/status = ""
if(getBruteLoss())
- usr << "Physical trauma analysis:"
+ to_chat(usr, "Physical trauma analysis:")
for(var/X in bodyparts)
var/obj/item/bodypart/BP = X
var/brutedamage = BP.brute_dam
@@ -351,9 +351,9 @@
status = "sustained major trauma!"
span = "userdanger"
if(brutedamage)
- usr << "[BP] appears to have [status]"
+ to_chat(usr, "[BP] appears to have [status]")
if(getFireLoss())
- usr << "Analysis of skin burns:"
+ to_chat(usr, "Analysis of skin burns:")
for(var/X in bodyparts)
var/obj/item/bodypart/BP = X
var/burndamage = BP.burn_dam
@@ -367,11 +367,11 @@
status = "major burns!"
span = "userdanger"
if(burndamage)
- usr << "[BP] appears to have [status]"
+ to_chat(usr, "[BP] appears to have [status]")
if(getOxyLoss())
- usr << "Patient has signs of suffocation, emergency treatment may be required!"
+ to_chat(usr, "Patient has signs of suffocation, emergency treatment may be required!")
if(getToxLoss() > 20)
- usr << "Gathered data is inconsistent with the analysis, possible cause: poisoning."
+ to_chat(usr, "Gathered data is inconsistent with the analysis, possible cause: poisoning.")
if(href_list["hud"] == "s")
if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.getorganslot("eye_hud"), /obj/item/organ/cyberimp/eyes/hud/security))
@@ -390,7 +390,7 @@
if(!allowed_access)
- H << "ERROR: Invalid Access"
+ to_chat(H, "ERROR: Invalid Access")
return
if(perpname)
@@ -413,20 +413,20 @@
return
else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security) && !istype(H.getorganslot("eye_hud"), /obj/item/organ/cyberimp/eyes/hud/security))
return
- usr << "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]"
- usr << "Minor Crimes:"
+ to_chat(usr, "Name: [R.fields["name"]] Criminal Status: [R.fields["criminal"]]")
+ to_chat(usr, "Minor Crimes:")
for(var/datum/data/crime/c in R.fields["mi_crim"])
- usr << "Crime: [c.crimeName]"
- usr << "Details: [c.crimeDetails]"
- usr << "Added by [c.author] at [c.time]"
- usr << "----------"
- usr << "Major Crimes:"
+ to_chat(usr, "Crime: [c.crimeName]")
+ to_chat(usr, "Details: [c.crimeDetails]")
+ to_chat(usr, "Added by [c.author] at [c.time]")
+ to_chat(usr, "----------")
+ to_chat(usr, "Major Crimes:")
for(var/datum/data/crime/c in R.fields["ma_crim"])
- usr << "Crime: [c.crimeName]"
- usr << "Details: [c.crimeDetails]"
- usr << "Added by [c.author] at [c.time]"
- usr << "----------"
- usr << "Notes: [R.fields["notes"]]"
+ to_chat(usr, "Crime: [c.crimeName]")
+ to_chat(usr, "Details: [c.crimeDetails]")
+ to_chat(usr, "Added by [c.author] at [c.time]")
+ to_chat(usr, "----------")
+ to_chat(usr, "Notes: [R.fields["notes"]]")
return
if(href_list["add_crime"])
@@ -444,7 +444,7 @@
return
var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text())
data_core.addMinorCrime(R.fields["id"], crime)
- usr << "Successfully added a minor crime."
+ to_chat(usr, "Successfully added a minor crime.")
return
if("Major Crime")
if(R)
@@ -459,7 +459,7 @@
return
var/crime = data_core.createCrimeEntry(t1, t2, allowed_access, worldtime2text())
data_core.addMajorCrime(R.fields["id"], crime)
- usr << "Successfully added a major crime."
+ to_chat(usr, "Successfully added a major crime.")
return
if(href_list["view_comment"])
@@ -468,11 +468,11 @@
return
else if(!istype(H.glasses, /obj/item/clothing/glasses/hud/security) && !istype(H.getorganslot("eye_hud"), /obj/item/organ/cyberimp/eyes/hud/security))
return
- usr << "Comments/Log:"
+ to_chat(usr, "Comments/Log:")
var/counter = 1
while(R.fields[text("com_[]", counter)])
- usr << R.fields[text("com_[]", counter)]
- usr << "----------"
+ to_chat(usr, R.fields[text("com_[]", counter)])
+ to_chat(usr, "----------")
counter++
return
@@ -490,9 +490,9 @@
while(R.fields[text("com_[]", counter)])
counter++
R.fields[text("com_[]", counter)] = text("Made by [] on [] [], []
[]", allowed_access, worldtime2text(), time2text(world.realtime, "MMM DD"), year_integer+540, t1)
- usr << "Successfully added comment."
+ to_chat(usr, "Successfully added comment.")
return
- usr << "Unable to locate a data core entry for this person."
+ to_chat(usr, "Unable to locate a data core entry for this person.")
/mob/living/carbon/human/proc/canUseHUD()
return !(src.stat || src.weakened || src.stunned || src.restrained())
@@ -513,7 +513,7 @@
. = 0
if(!. && error_msg && user)
// Might need re-wording.
- user << "There is no exposed flesh or thin material [above_neck(target_zone) ? "on [p_their()] head" : "on [p_their()] body"]."
+ to_chat(user, "There is no exposed flesh or thin material [above_neck(target_zone) ? "on [p_their()] head" : "on [p_their()] body"].")
/mob/living/carbon/human/proc/check_obscured_slots()
var/list/obscured = list()
@@ -631,7 +631,7 @@
for(var/obj/item/hand in held_items)
if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && dropItemToGround(hand))
step_towards(hand, src)
- src << "\The [S] pulls \the [hand] from your grip!"
+ to_chat(src, "\The [S] pulls \the [hand] from your grip!")
rad_act(current_size * 3)
if(mob_negates_gravity())
return
@@ -641,20 +641,20 @@
CHECK_DNA_AND_SPECIES(C)
if(C.stat == DEAD || (C.status_flags & FAKEDEATH))
- src << "[C.name] is dead!"
+ to_chat(src, "[C.name] is dead!")
return
if(is_mouth_covered())
- src << "Remove your mask first!"
+ to_chat(src, "Remove your mask first!")
return 0
if(C.is_mouth_covered())
- src << "Remove [p_their()] mask first!"
+ to_chat(src, "Remove [p_their()] mask first!")
return 0
if(C.cpr_time < world.time + 30)
visible_message("[src] is trying to perform CPR on [C.name]!", \
"You try to perform CPR on [C.name]... Hold still!")
if(!do_mob(src, C))
- src << "You fail to perform CPR on [C]!"
+ to_chat(src, "You fail to perform CPR on [C]!")
return 0
var/they_breathe = (!(NOBREATH in C.dna.species.species_traits))
@@ -671,13 +671,11 @@
var/suff = min(C.getOxyLoss(), 7)
C.adjustOxyLoss(-suff)
C.updatehealth()
- C << "You feel a breath of fresh air enter your lungs... It feels good..."
+ to_chat(C, "You feel a breath of fresh air enter your lungs... It feels good...")
else if(they_breathe && !they_lung)
- C << "You feel a breath of fresh air... \
- but you don't feel any better..."
+ to_chat(C, "You feel a breath of fresh air... but you don't feel any better...")
else
- C << "You feel a breath of fresh air... \
- which is a sensation you don't recognise..."
+ to_chat(C, "You feel a breath of fresh air... which is a sensation you don't recognise...")
/mob/living/carbon/human/generateStaticOverlay()
var/image/staticOverlay = image(icon('icons/effects/effects.dmi', "static"), loc = src)
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index fcc462faaef..2d29a94e2e1 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -466,7 +466,7 @@
var/obj/item/organ/heart/heart = getorganslot("heart")
heart.beating = TRUE
if(stat == CONSCIOUS)
- src << "You feel your heart beating again!"
+ to_chat(src, "You feel your heart beating again!")
. = ..(shock_damage,source,siemens_coeff,safety,override,tesla_shock, illusion, stun)
if(.)
electrocution_animation(40)
@@ -477,7 +477,7 @@
for(var/obj/item/bodypart/L in src.bodyparts)
if(L.status == BODYPART_ROBOTIC)
if(!informed)
- src << "You feel a sharp pain as your robotic limbs overload."
+ to_chat(src, "You feel a sharp pain as your robotic limbs overload.")
informed = 1
switch(severity)
if(1)
@@ -511,7 +511,7 @@
update_inv_neck()
update_inv_head()
else
- src << "Your [head_clothes.name] protects your head and face from the acid!"
+ to_chat(src, "Your [head_clothes.name] protects your head and face from the acid!")
else
. = get_bodypart("head")
if(.)
@@ -532,7 +532,7 @@
update_inv_w_uniform()
update_inv_wear_suit()
else
- src << "Your [chest_clothes.name] protects your body from the acid!"
+ to_chat(src, "Your [chest_clothes.name] protects your body from the acid!")
else
. = get_bodypart("chest")
if(.)
@@ -564,7 +564,7 @@
update_inv_w_uniform()
update_inv_wear_suit()
else
- src << "Your [arm_clothes.name] protects your arms and hands from the acid!"
+ to_chat(src, "Your [arm_clothes.name] protects your arms and hands from the acid!")
else
. = get_bodypart("r_arm")
if(.)
@@ -590,7 +590,7 @@
update_inv_w_uniform()
update_inv_wear_suit()
else
- src << "Your [leg_clothes.name] protects your legs and feet from the acid!"
+ to_chat(src, "Your [leg_clothes.name] protects your legs and feet from the acid!")
else
. = get_bodypart("r_leg")
if(.)
@@ -679,21 +679,21 @@
status += "numb"
if(status == "")
status = "OK"
- src << "\t [status == "OK" ? "\blue" : "\red"] Your [LB.name] is [status]."
+ to_chat(src, "\t [status == "OK" ? "\blue" : "\red"] Your [LB.name] is [status].")
for(var/obj/item/I in LB.embedded_objects)
- src << "\t \red There is \a [I] embedded in your [LB.name]!"
+ to_chat(src, "\t \red There is \a [I] embedded in your [LB.name]!")
for(var/t in missing)
- src << "Your [parse_zone(t)] is missing!"
+ to_chat(src, "Your [parse_zone(t)] is missing!")
if(bleed_rate)
- src << "You are bleeding!"
+ to_chat(src, "You are bleeding!")
if(staminaloss)
if(staminaloss > 30)
- src << "You're completely exhausted."
+ to_chat(src, "You're completely exhausted.")
else
- src << "You feel fatigued."
+ to_chat(src, "You feel fatigued.")
else
if(wear_suit)
wear_suit.add_fingerprint(M)
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index ba687c46487..88b876b1a57 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -139,14 +139,14 @@
if(G.trigger_guard == TRIGGER_GUARD_NORMAL)
if(src.dna.check_mutation(HULK))
- src << "Your meaty finger is much too large for the trigger guard!"
+ to_chat(src, "Your meaty finger is much too large for the trigger guard!")
return 0
if(NOGUNS in src.dna.species.species_traits)
- src << "Your fingers don't fit in the trigger guard!"
+ to_chat(src, "Your fingers don't fit in the trigger guard!")
return 0
if(martial_art && martial_art.no_guns) //great dishonor to famiry
- src << "Use of ranged weaponry would bring dishonor to the clan."
+ to_chat(src, "Use of ranged weaponry would bring dishonor to the clan.")
return 0
return .
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 66e3b28331d..40535111b82 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -133,7 +133,7 @@
s_store = I
update_inv_s_store()
else
- src << "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!"
+ to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")
//Item is handled and in slot, valid to call callback, for this proc should always be true
if(!not_handled)
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 2651a150cd0..b6de42d41b1 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -315,7 +315,7 @@
for(var/obj/item/I in BP.embedded_objects)
if(prob(I.embedded_pain_chance))
BP.receive_damage(I.w_class*I.embedded_pain_multiplier)
- src << "\the [I] embedded in your [BP.name] hurts!"
+ to_chat(src, "\the [I] embedded in your [BP.name] hurts!")
if(prob(I.embedded_fall_chance))
BP.receive_damage(I.w_class*I.embedded_fall_pain_multiplier)
@@ -426,15 +426,15 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(drunkenness >= 81)
adjustToxLoss(0.2)
if(prob(5) && !stat)
- src << "Maybe you should lie down for a bit..."
+ to_chat(src, "Maybe you should lie down for a bit...")
if(drunkenness >= 91)
adjustBrainLoss(0.4)
if(prob(20) && !stat)
if(SSshuttle.emergency.mode == SHUTTLE_DOCKED && z == ZLEVEL_STATION) //QoL mainly
- src << "You're so tired... but you can't miss that shuttle..."
+ to_chat(src, "You're so tired... but you can't miss that shuttle...")
else
- src << "Just a quick nap..."
+ to_chat(src, "Just a quick nap...")
Sleeping(45)
if(drunkenness >= 101)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index b711bc0163d..eaf3c6ec34b 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -577,7 +577,7 @@
return 0
if(DIGITIGRADE in species_traits)
if(!disable_warning)
- H << "The footwear around here isn't compatible with your feet!"
+ to_chat(H, "The footwear around here isn't compatible with your feet!")
return 0
return 1
if(slot_belt)
@@ -585,7 +585,7 @@
return 0
if(!H.w_uniform && !nojumpsuit)
if(!disable_warning)
- H << "You need a jumpsuit before you can attach this [I.name]!"
+ to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
return 0
if( !(I.slot_flags & SLOT_BELT) )
return
@@ -625,7 +625,7 @@
return 0
if(!H.w_uniform && !nojumpsuit)
if(!disable_warning)
- H << "You need a jumpsuit before you can attach this [I.name]!"
+ to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
return 0
if( !(I.slot_flags & SLOT_ID) )
return 0
@@ -637,7 +637,7 @@
return 0
if(!H.w_uniform && !nojumpsuit)
if(!disable_warning)
- H << "You need a jumpsuit before you can attach this [I.name]!"
+ to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
return 0
if(I.slot_flags & SLOT_DENYPOCKET)
return
@@ -650,7 +650,7 @@
return 0
if(!H.w_uniform && !nojumpsuit)
if(!disable_warning)
- H << "You need a jumpsuit before you can attach this [I.name]!"
+ to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
return 0
if(I.slot_flags & SLOT_DENYPOCKET)
return 0
@@ -664,15 +664,15 @@
return 0
if(!H.wear_suit)
if(!disable_warning)
- H << "You need a suit before you can attach this [I.name]!"
+ to_chat(H, "You need a suit before you can attach this [I.name]!")
return 0
if(!H.wear_suit.allowed)
if(!disable_warning)
- H << "You somehow have a suit with no defined allowed items for suit storage, stop that."
+ to_chat(H, "You somehow have a suit with no defined allowed items for suit storage, stop that.")
return 0
if(I.w_class > WEIGHT_CLASS_BULKY)
if(!disable_warning)
- H << "The [I.name] is too big to attach." //should be src?
+ to_chat(H, "The [I.name] is too big to attach." )
return 0
if( istype(I, /obj/item/device/pda) || istype(I, /obj/item/weapon/pen) || is_type_in_list(I, H.wear_suit.allowed) )
return 1
@@ -733,13 +733,13 @@
//The fucking FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
if(H.disabilities & FAT)
if(H.overeatduration < 100)
- H << "You feel fit again!"
+ to_chat(H, "You feel fit again!")
H.disabilities &= ~FAT
H.update_inv_w_uniform()
H.update_inv_wear_suit()
else
if(H.overeatduration > 500)
- H << "You suddenly feel blubbery!"
+ to_chat(H, "You suddenly feel blubbery!")
H.disabilities |= FAT
H.update_inv_w_uniform()
H.update_inv_wear_suit()
@@ -771,15 +771,15 @@
H.metabolism_efficiency = 1
else if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80)
if(H.metabolism_efficiency != 1.25 && (H.dna && H.dna.species && !(NOHUNGER in H.dna.species.species_traits)))
- H << "You feel vigorous."
+ to_chat(H, "You feel vigorous.")
H.metabolism_efficiency = 1.25
else if(H.nutrition < NUTRITION_LEVEL_STARVING + 50)
if(H.metabolism_efficiency != 0.8)
- H << "You feel sluggish."
+ to_chat(H, "You feel sluggish.")
H.metabolism_efficiency = 0.8
else
if(H.metabolism_efficiency == 1.25)
- H << "You no longer feel vigorous."
+ to_chat(H, "You no longer feel vigorous.")
H.metabolism_efficiency = 1
switch(H.nutrition)
@@ -803,24 +803,23 @@
if(!H.weakened)
H.emote("collapse")
H.Weaken(10)
- H << "You feel weak."
+ to_chat(H, "You feel weak.")
switch(H.radiation)
if(50 to 75)
if(prob(5))
if(!H.weakened)
H.emote("collapse")
H.Weaken(3)
- H << "You feel weak."
+ to_chat(H, "You feel weak.")
if(prob(15))
if(!( H.hair_style == "Shaved") || !(H.hair_style == "Bald") || (HAIR in species_traits))
- H << "Your hair starts to \
- fall out in clumps..."
+ to_chat(H, "Your hair starts to fall out in clumps...")
addtimer(CALLBACK(src, .proc/go_bald, H), 50)
if(75 to 100)
if(prob(1))
- H << "You mutate!"
+ to_chat(H, "You mutate!")
H.randmutb()
H.emote("gasp")
H.domutcheck()
@@ -926,9 +925,9 @@
if(we_breathe && we_lung)
user.do_cpr(target)
else if(we_breathe && !we_lung)
- user << "You have no lungs to breathe with, so you cannot peform CPR."
+ to_chat(user, "You have no lungs to breathe with, so you cannot peform CPR.")
else
- user << "You do not breathe, so you cannot perform CPR."
+ to_chat(user, "You do not breathe, so you cannot perform CPR.")
/datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
if(target.check_block())
@@ -1036,7 +1035,7 @@
if(randn <= 60)
//BubbleWrap: Disarming breaks a pull
if(target.pulling)
- target << "[user] has broken [target]'s grip on [target.pulling]!"
+ to_chat(target, "[user] has broken [target]'s grip on [target.pulling]!")
talked = 1
target.stop_pulling()
//End BubbleWrap
diff --git a/code/modules/mob/living/carbon/human/species_types/angel.dm b/code/modules/mob/living/carbon/human/species_types/angel.dm
index 5fd3b3536a9..a5282d1892c 100644
--- a/code/modules/mob/living/carbon/human/species_types/angel.dm
+++ b/code/modules/mob/living/carbon/human/species_types/angel.dm
@@ -50,7 +50,7 @@
if(H.stat || H.stunned || H.weakened)
return 0
if(H.wear_suit && ((H.wear_suit.flags_inv & HIDEJUMPSUIT) && (!H.wear_suit.species_exception || !is_type_in_list(src, H.wear_suit.species_exception)))) //Jumpsuits have tail holes, so it makes sense they have wing holes too
- H << "Your suit blocks your wings from extending!"
+ to_chat(H, "Your suit blocks your wings from extending!")
return 0
var/turf/T = get_turf(H)
if(!T)
@@ -58,7 +58,7 @@
var/datum/gas_mixture/environment = T.return_air()
if(environment && !(environment.return_pressure() > 30))
- H << "The atmosphere is too thin for you to fly!"
+ to_chat(H, "The atmosphere is too thin for you to fly!")
return 0
else
return 1
@@ -73,11 +73,11 @@
var/datum/species/angel/A = H.dna.species
if(A.CanFly(H))
if(H.movement_type & FLYING)
- H << "You settle gently back onto the ground..."
+ to_chat(H, "You settle gently back onto the ground...")
A.ToggleFlight(H,0)
H.update_canmove()
else
- H << "You beat your wings and begin to hover gently above the ground..."
+ to_chat(H, "You beat your wings and begin to hover gently above the ground...")
H.resting = 0
A.ToggleFlight(H,1)
H.update_canmove()
@@ -87,7 +87,7 @@
if(H.buckled)
buckled_obj = H.buckled
- H << "Your wings spazz out and launch you!"
+ to_chat(H, "Your wings spazz out and launch you!")
playsound(H.loc, 'sound/misc/slip.ogg', 50, 1, -3)
diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm
index ac908bf0e1d..a52dac2420a 100644
--- a/code/modules/mob/living/carbon/human/species_types/golems.dm
+++ b/code/modules/mob/living/carbon/human/species_types/golems.dm
@@ -32,7 +32,7 @@
var/datum/species/golem/golem_type = pick(golem_types)
var/mob/living/carbon/human/H = C
H.set_species(golem_type)
- H << "[initial(golem_type.info_text)]"
+ to_chat(H, "[initial(golem_type.info_text)]")
/datum/species/golem/adamantine
name = "Adamantine Golem"
diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
index 1a202279334..b9c2f68e3af 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -26,7 +26,7 @@
if(!H.blood_volume)
H.blood_volume += 5
H.adjustBruteLoss(5)
- H << "You feel empty!"
+ to_chat(H, "You feel empty!")
if(H.blood_volume < BLOOD_VOLUME_NORMAL)
if(H.nutrition >= NUTRITION_LEVEL_STARVING)
@@ -34,7 +34,7 @@
H.nutrition -= 2.5
if(H.blood_volume < BLOOD_VOLUME_OKAY)
if(prob(5))
- H << "You feel drained!"
+ to_chat(H, "You feel drained!")
if(H.blood_volume < BLOOD_VOLUME_BAD)
Cannibalize_Body(H)
H.update_action_buttons_icon()
@@ -49,7 +49,7 @@
limbs_to_consume -= list("r_arm", "l_arm")
consumed_limb = H.get_bodypart(pick(limbs_to_consume))
consumed_limb.drop_limb()
- H << "Your [consumed_limb] is drawn back into your body, unable to maintain its shape!"
+ to_chat(H, "Your [consumed_limb] is drawn back into your body, unable to maintain its shape!")
qdel(consumed_limb)
H.blood_volume += 20
@@ -73,13 +73,13 @@
var/mob/living/carbon/human/H = owner
var/list/limbs_to_heal = H.get_missing_limbs()
if(limbs_to_heal.len < 1)
- H << "You feel intact enough as it is."
+ to_chat(H, "You feel intact enough as it is.")
return
- H << "You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]..."
+ to_chat(H, "You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]...")
if(H.blood_volume >= 40*limbs_to_heal.len+BLOOD_VOLUME_OKAY)
H.regenerate_limbs()
H.blood_volume -= 40*limbs_to_heal.len
- H << "...and after a moment you finish reforming!"
+ to_chat(H, "...and after a moment you finish reforming!")
return
else if(H.blood_volume >= 40)//We can partially heal some limbs
while(H.blood_volume >= BLOOD_VOLUME_OKAY+40)
@@ -87,9 +87,9 @@
H.regenerate_limb(healed_limb)
limbs_to_heal -= healed_limb
H.blood_volume -= 40
- H << "...but there is not enough of you to fix everything! You must attain more mass to heal completely!"
+ to_chat(H, "...but there is not enough of you to fix everything! You must attain more mass to heal completely!")
return
- H << "...but there is not enough of you to go around! You must attain more mass to heal!"
+ to_chat(H, "...but there is not enough of you to go around! You must attain more mass to heal!")
////////////////////////////////////////////////////////SLIME PEOPLE///////////////////////////////////////////////////////////////////
@@ -140,7 +140,7 @@
/datum/species/jelly/slime/spec_life(mob/living/carbon/human/H)
if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT)
if(prob(5))
- H << "You feel very bloated!"
+ to_chat(H, "You feel very bloated!")
else if(H.nutrition >= NUTRITION_LEVEL_WELL_FED)
H.blood_volume += 3
H.nutrition -= 2.5
@@ -176,11 +176,9 @@
if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT)
make_dupe()
else
- H << "...but there is not enough of you to \
- go around! You must attain more mass to split!"
+ to_chat(H, "...but there is not enough of you to go around! You must attain more mass to split!")
else
- H << "...but fail to stand perfectly still!\
- "
+ to_chat(H, "...but fail to stand perfectly still!")
H.notransform = FALSE
@@ -223,7 +221,7 @@
/datum/action/innate/swap_body/Activate()
if(!isslimeperson(owner))
- owner << "You are not a slimeperson."
+ to_chat(owner, "You are not a slimeperson.")
Remove(owner)
else
ui_interact(owner)
diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm
index 5080e0fb54a..7bfb41ebce7 100644
--- a/code/modules/mob/living/carbon/human/whisper.dm
+++ b/code/modules/mob/living/carbon/human/whisper.dm
@@ -5,7 +5,7 @@
return
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
if(stat == DEAD)
@@ -21,7 +21,7 @@
if (src.client)
if (src.client.prefs.muted & MUTE_IC)
- src << "You cannot whisper (muted)."
+ to_chat(src, "You cannot whisper (muted).")
return
log_whisper("[src.name]/[src.key] : [message]")
diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm
index 5b686c0a175..21a761c8fc1 100644
--- a/code/modules/mob/living/carbon/monkey/life.dm
+++ b/code/modules/mob/living/carbon/monkey/life.dm
@@ -29,7 +29,7 @@
if(!weakened)
emote("collapse")
Weaken(10)
- src << "You feel weak."
+ to_chat(src, "You feel weak.")
switch(radiation)
@@ -38,11 +38,11 @@
if(!weakened)
emote("collapse")
Weaken(3)
- src << "You feel weak."
+ to_chat(src, "You feel weak.")
if(75 to 100)
if(prob(1))
- src << "You mutate!"
+ to_chat(src, "You mutate!")
randmutb()
emote("gasp")
domutcheck()
diff --git a/code/modules/mob/living/carbon/monkey/monkey_defense.dm b/code/modules/mob/living/carbon/monkey/monkey_defense.dm
index ecf5ce584a6..177cfb5712a 100644
--- a/code/modules/mob/living/carbon/monkey/monkey_defense.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey_defense.dm
@@ -167,13 +167,13 @@
if(!(wear_mask.resistance_flags & UNACIDABLE))
wear_mask.acid_act(acidpwr)
else
- src << "Your mask protects you from the acid."
+ to_chat(src, "Your mask protects you from the acid.")
return
if(head)
if(!(head.resistance_flags & UNACIDABLE))
head.acid_act(acidpwr)
else
- src << "Your hat protects you from the acid."
+ to_chat(src, "Your hat protects you from the acid.")
return
take_bodypart_damage(acidpwr * min(0.6, acid_volume*0.1))
diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm
index 2b0e14350c8..b0991f6180e 100644
--- a/code/modules/mob/living/emote.dm
+++ b/code/modules/mob/living/emote.dm
@@ -9,7 +9,7 @@
var/datum/emote/E = emote_list[act]
if(!E)
- src << "Unusable emote '[act]'. Say *help for a list."
+ to_chat(src, "Unusable emote '[act]'. Say *help for a list.")
return
E.run_emote(src, param, m_type)
@@ -380,22 +380,22 @@
/datum/emote/living/custom/proc/check_invalid(mob/user, input)
. = TRUE
if(copytext(input,1,5) == "says")
- user << "Invalid emote."
+ to_chat(user, "Invalid emote.")
else if(copytext(input,1,9) == "exclaims")
- user << "Invalid emote."
+ to_chat(user, "Invalid emote.")
else if(copytext(input,1,6) == "yells")
- user << "Invalid emote."
+ to_chat(user, "Invalid emote.")
else if(copytext(input,1,5) == "asks")
- user << "Invalid emote."
+ to_chat(user, "Invalid emote.")
else
. = FALSE
/datum/emote/living/custom/run_emote(mob/user, params, type_override = null)
if(jobban_isbanned(user, "emote"))
- user << "You cannot send custom emotes (banned)."
+ to_chat(user, "You cannot send custom emotes (banned).")
return FALSE
else if(user.client && user.client.prefs.muted & MUTE_IC)
- user << "You cannot send IC messages (muted)."
+ to_chat(user, "You cannot send IC messages (muted).")
return FALSE
else if(!params)
var/custom_emote = copytext(sanitize(input("Choose an emote to display.") as text|null), 1, MAX_MESSAGE_LEN)
@@ -444,7 +444,7 @@
message = jointext(message, "")
- user << message
+ to_chat(user, message)
/datum/emote/sound/beep
key = "beep"
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 4bca28c89d6..b59082133b3 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -109,7 +109,7 @@
var/mob/living/L = M
if(L.pulledby && L.pulledby != src && L.restrained())
if(!(world.time % 5))
- src << "[L] is restrained, you cannot push past."
+ to_chat(src, "[L] is restrained, you cannot push past.")
return 1
if(L.pulling)
@@ -117,7 +117,7 @@
var/mob/P = L.pulling
if(P.restrained())
if(!(world.time % 5))
- src << "[L] is restraining [P], you cannot push past."
+ to_chat(src, "[L] is restraining [P], you cannot push past.")
return 1
if(moving_diagonally)//no mob swap during diagonal moves.
@@ -226,7 +226,7 @@
src.adjustOxyLoss(src.health - HEALTH_THRESHOLD_DEAD)
updatehealth()
if(!whispered)
- src << "You have given up life and succumbed to death."
+ to_chat(src, "You have given up life and succumbed to death.")
death()
/mob/living/incapacitated(ignore_restraints, ignore_grab)
@@ -275,7 +275,7 @@
set category = "IC"
if(sleeping)
- src << "You are already sleeping."
+ to_chat(src, "You are already sleeping.")
return
else
if(alert(src, "You sure you want to sleep for a while?", "Sleep", "Yes", "No") == "Yes")
@@ -289,7 +289,7 @@
set category = "IC"
resting = !resting
- src << "You are now [resting ? "resting" : "getting up"]."
+ to_chat(src, "You are now [resting ? "resting" : "getting up"].")
update_canmove()
//Recursive function to find everything a mob is holding.
@@ -400,11 +400,11 @@
if(config.allow_Metadata)
if(client)
- src << "[src]'s Metainfo:
[client.prefs.metadata]"
+ to_chat(src, "[src]'s Metainfo:
[client.prefs.metadata]")
else
- src << "[src] does not have any stored infomation!"
+ to_chat(src, "[src] does not have any stored infomation!")
else
- src << "OOC Metadata is not supported by this server!"
+ to_chat(src, "OOC Metadata is not supported by this server!")
return
@@ -552,10 +552,10 @@
C.container_resist(src)
else if(has_status_effect(/datum/status_effect/freon))
- src << "You start breaking out of the ice cube!"
+ to_chat(src, "You start breaking out of the ice cube!")
if(do_mob(src, src, 40))
if(has_status_effect(/datum/status_effect/freon))
- src << "You break out of the ice cube!"
+ to_chat(src, "You break out of the ice cube!")
remove_status_effect(/datum/status_effect/freon)
update_canmove()
@@ -623,7 +623,7 @@
// Override if a certain type of mob should be behave differently when stripping items (can't, for example)
/mob/living/stripPanelUnequip(obj/item/what, mob/who, where)
if(what.flags & NODROP)
- src << "You can't remove \the [what.name], it appears to be stuck!"
+ to_chat(src, "You can't remove \the [what.name], it appears to be stuck!")
return
who.visible_message("[src] tries to remove [who]'s [what.name].", \
"[src] tries to remove [who]'s [what.name].")
@@ -644,7 +644,7 @@
/mob/living/stripPanelEquip(obj/item/what, mob/who, where)
what = src.get_active_held_item()
if(what && (what.flags & NODROP))
- src << "You can't put \the [what.name] on [who], it's stuck to your hand!"
+ to_chat(src, "You can't put \the [what.name] on [who], it's stuck to your hand!")
return
if(what)
var/list/where_list
@@ -657,7 +657,7 @@
final_where = where
if(!what.mob_can_equip(who, src, final_where, TRUE))
- src << "\The [what.name] doesn't fit in that place!"
+ to_chat(src, "\The [what.name] doesn't fit in that place!")
return
visible_message("[src] tries to put [what] on [who].")
@@ -779,11 +779,11 @@
if(be_close && in_range(M, src))
return 1
else
- src << "You don't have the dexterity to do this!"
+ to_chat(src, "You don't have the dexterity to do this!")
return
/mob/living/proc/can_use_guns(var/obj/item/weapon/gun/G)
if (G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && !IsAdvancedToolUser())
- src << "You don't have the dexterity to do this!"
+ to_chat(src, "You don't have the dexterity to do this!")
return 0
return 1
@@ -794,7 +794,7 @@
if(staminaloss)
var/total_health = (health - staminaloss)
if(total_health <= HEALTH_THRESHOLD_CRIT && !stat)
- src << "You're too exhausted to keep going..."
+ to_chat(src, "You're too exhausted to keep going...")
Weaken(5)
setStaminaLoss(health - 2)
update_health_hud()
@@ -850,8 +850,7 @@
var/mob/living/simple_animal/hostile/guardian/G = para
G.summoner = new_mob
G.Recall()
- G << "Your summoner has changed \
- form!"
+ to_chat(G, "Your summoner has changed form!")
/mob/living/proc/fakefireextinguish()
return
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index d5ab1f5ae08..4bd46ae6476 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -6,19 +6,19 @@
if(armor && armour_penetration)
armor = max(0, armor - armour_penetration)
if(penetrated_text)
- src << "[penetrated_text]"
+ to_chat(src, "[penetrated_text]")
else
- src << "Your armor was penetrated!"
+ to_chat(src, "Your armor was penetrated!")
else if(armor >= 100)
if(absorb_text)
- src << "[absorb_text]"
+ to_chat(src, "[absorb_text]")
else
- src << "Your armor absorbs the blow!"
+ to_chat(src, "Your armor absorbs the blow!")
else if(armor > 0)
if(soften_text)
- src << "[soften_text]"
+ to_chat(src, "[soften_text]")
else
- src << "Your armor softens the blow!"
+ to_chat(src, "Your armor softens the blow!")
return armor
@@ -129,7 +129,7 @@
return
if(!(status_flags & CANPUSH))
- user << "[src] can't be grabbed more aggressively!"
+ to_chat(user, "[src] can't be grabbed more aggressively!")
return 0
grippedby(user)
@@ -173,7 +173,7 @@
/mob/living/attack_slime(mob/living/simple_animal/slime/M)
if(!ticker || !ticker.mode)
- M << "You cannot attack people before the game has started."
+ to_chat(M, "You cannot attack people before the game has started.")
return
if(M.buckled)
@@ -205,12 +205,12 @@
/mob/living/attack_paw(mob/living/carbon/monkey/M)
if(isturf(loc) && istype(loc.loc, /area/start))
- M << "No attacking people at spawn, you jackass."
+ to_chat(M, "No attacking people at spawn, you jackass.")
return 0
if (M.a_intent == INTENT_HARM)
if(M.is_muzzled() || (M.wear_mask && M.wear_mask.flags_cover & MASKCOVERSMOUTH))
- M << "You can't bite with your mouth covered!"
+ to_chat(M, "You can't bite with your mouth covered!")
return 0
M.do_attack_animation(src, ATTACK_EFFECT_BITE)
if (prob(75))
@@ -245,7 +245,7 @@
/mob/living/attack_alien(mob/living/carbon/alien/humanoid/M)
if(isturf(loc) && istype(loc.loc, /area/start))
- M << "No attacking people at spawn, you jackass."
+ to_chat(M, "No attacking people at spawn, you jackass.")
return 0
switch(M.a_intent)
@@ -304,7 +304,7 @@
return
if(is_servant_of_ratvar(src) && !stat)
- src << "You resist Nar-Sie's influence... but not all of it. Run!"
+ to_chat(src, "You resist Nar-Sie's influence... but not all of it. Run!")
adjustBruteLoss(35)
if(src && reagents)
reagents.add_reagent("heparin", 5)
@@ -334,7 +334,7 @@
for(var/obj/item/weapon/implant/mindshield/M in implants)
qdel(M)
if(!add_servant_of_ratvar(src))
- src << "A blinding light boils you alive! Run!"
+ to_chat(src, "A blinding light boils you alive! Run!")
adjustFireLoss(35)
if(src)
adjust_fire_stacks(1)
diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm
index 0bc27896c0c..6c37370f80f 100644
--- a/code/modules/mob/living/login.dm
+++ b/code/modules/mob/living/login.dm
@@ -15,7 +15,7 @@
//Vents
if(ventcrawler)
- src << "You can ventcrawl! Use alt+click on vents to quickly travel about the station."
+ to_chat(src, "You can ventcrawl! Use alt+click on vents to quickly travel about the station.")
if(ranged_ability)
ranged_ability.add_ranged_ability(src, "You currently have [ranged_ability] active!")
\ No newline at end of file
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 1ec81ffad5a..398ad7fc89b 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -107,7 +107,7 @@ var/list/crit_allowed_modes = list(MODE_WHISPER,MODE_CHANGELING,MODE_ALIEN)
return
if(!can_speak_vocal(message))
- src << "You find yourself unable to speak!"
+ to_chat(src, "You find yourself unable to speak!")
return
if(message_mode != MODE_WHISPER) //whisper() calls treat_message(); double process results in "hisspering"
@@ -189,7 +189,7 @@ var/list/crit_allowed_modes = list(MODE_WHISPER,MODE_CHANGELING,MODE_ALIEN)
/mob/living/proc/can_speak_basic(message) //Check BEFORE handling of xeno and ling channels
if(client)
if(client.prefs.muted & MUTE_IC)
- src << "You cannot speak in IC (muted)."
+ to_chat(src, "You cannot speak in IC (muted).")
return 0
if(client.handle_spam_prevention(message,MUTE_IC))
return 0
@@ -227,34 +227,34 @@ var/list/crit_allowed_modes = list(MODE_WHISPER,MODE_CHANGELING,MODE_ALIEN)
for(var/mob/M in mob_list)
if(M in dead_mob_list)
var/link = FOLLOW_LINK(M, src)
- M << "[link] [msg]"
+ to_chat(M, "[link] [msg]")
else
switch(M.lingcheck())
if(3)
- M << msg
+ to_chat(M, msg)
if(2)
- M << msg
+ to_chat(M, msg)
if(1)
if(prob(40))
- M << "We can faintly sense an outsider trying to communicate through the hivemind..."
+ to_chat(M, "We can faintly sense an outsider trying to communicate through the hivemind...")
if(2)
var/msg = "[mind.changeling.changelingID]: [message]"
log_say("[mind.changeling.changelingID]/[src.key] : [message]")
for(var/mob/M in mob_list)
if(M in dead_mob_list)
var/link = FOLLOW_LINK(M, src)
- M << "[link] [msg]"
+ to_chat(M, "[link] [msg]")
else
switch(M.lingcheck())
if(3)
- M << msg
+ to_chat(M, msg)
if(2)
- M << msg
+ to_chat(M, msg)
if(1)
if(prob(40))
- M << "We can faintly sense another of our kind trying to communicate through the hivemind..."
+ to_chat(M, "We can faintly sense another of our kind trying to communicate through the hivemind...")
if(1)
- src << "Our senses have not evolved enough to be able to communicate this way..."
+ to_chat(src, "Our senses have not evolved enough to be able to communicate this way...")
return TRUE
if(message_mode == MODE_ALIEN)
if(hivecheck())
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index e3ee5d35419..6e681dd0f09 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -102,18 +102,18 @@ var/list/ai_list = list()
target_ai.mind.transfer_to(src)
if(mind.special_role)
mind.store_memory("As an AI, you must obey your silicon laws above all else. Your objectives will consider you to be dead.")
- src << "You have been installed as an AI! "
- src << "You must obey your silicon laws above all else. Your objectives will consider you to be dead."
+ to_chat(src, "You have been installed as an AI! ")
+ to_chat(src, "You must obey your silicon laws above all else. Your objectives will consider you to be dead.")
- src << "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras)."
- src << "To look at other parts of the station, click on yourself to get a camera menu."
- src << "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc."
- src << "To use something, simply click on it."
- src << "Use say :b to speak to your cyborgs through binary."
- src << "For department channels, use the following say commands:"
- src << ":o - AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :v - Service, :m - Medical, :n - Science."
+ to_chat(src, "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).")
+ to_chat(src, "To look at other parts of the station, click on yourself to get a camera menu.")
+ to_chat(src, "While observing through a camera, you can use most (networked) devices which you can see, such as computers, APCs, intercoms, doors, etc.")
+ to_chat(src, "To use something, simply click on it.")
+ to_chat(src, "Use say :b to speak to your cyborgs through binary.")
+ to_chat(src, "For department channels, use the following say commands:")
+ to_chat(src, ":o - AI Private, :c - Command, :s - Security, :e - Engineering, :u - Supply, :v - Service, :m - Medical, :n - Science.")
show_laws()
- src << "These laws may be changed by other players, or by you being the traitor."
+ to_chat(src, "These laws may be changed by other players, or by you being the traitor.")
job = "AI"
@@ -305,7 +305,7 @@ var/list/ai_list = list()
if(isAI(usr))
var/mob/living/silicon/ai/AI = src
if(AI.control_disabled)
- usr << "Wireless control is disabled!"
+ to_chat(usr, "Wireless control is disabled!")
return
var/reason = input(src, "What is the nature of your emergency? ([CALL_SHUTTLE_REASON_LENGTH] characters required.)", "Confirm Shuttle Call") as null|text
@@ -331,7 +331,7 @@ var/list/ai_list = list()
return //won't work if dead
anchored = !anchored // Toggles the anchor
- src << "You are now [anchored ? "" : "un"]anchored."
+ to_chat(src, "You are now [anchored ? "" : "un"]anchored.")
// the message in the [] will change depending whether or not the AI is anchored
/mob/living/silicon/ai/update_canmove() //If the AI dies, mobs won't go through it anymore
@@ -381,7 +381,7 @@ var/list/ai_list = list()
if(H)
H.attack_ai(src) //may as well recycle
else
- src << "Unable to locate the holopad."
+ to_chat(src, "Unable to locate the holopad.")
if(href_list["track"])
var/string = href_list["track"]
trackable_mobs()
@@ -397,17 +397,17 @@ var/list/ai_list = list()
if(target.len)
ai_actual_track(pick(target))
else
- src << "Target is not on or near any active cameras on the station."
+ to_chat(src, "Target is not on or near any active cameras on the station.")
return
if(href_list["callbot"]) //Command a bot to move to a selected location.
if(call_bot_cooldown > world.time)
- src << "Error: Your last call bot command is still processing, please wait for the bot to finish calculating a route."
+ to_chat(src, "Error: Your last call bot command is still processing, please wait for the bot to finish calculating a route.")
return
Bot = locate(href_list["callbot"]) in living_mob_list
if(!Bot || Bot.remote_disabled || src.control_disabled)
return //True if there is no bot found, the bot is manually emagged, or the AI is carded with wireless off.
waypoint_mode = 1
- src << "Set your waypoint by clicking on a valid location free of obstructions."
+ to_chat(src, "Set your waypoint by clicking on a valid location free of obstructions.")
return
if(href_list["interface"]) //Remotely connect to a bot!
Bot = locate(href_list["interface"]) in living_mob_list
@@ -421,16 +421,16 @@ var/list/ai_list = list()
if (href_list["ai_take_control"]) //Mech domination
var/obj/mecha/M = locate(href_list["ai_take_control"])
if(controlled_mech)
- src << "You are already loaded into an onboard computer!"
+ to_chat(src, "You are already loaded into an onboard computer!")
return
if(!cameranet.checkCameraVis(M))
- src << "Exosuit is no longer near active cameras."
+ to_chat(src, "Exosuit is no longer near active cameras.")
return
if(lacks_power())
- src << "You're depowered!"
+ to_chat(src, "You're depowered!")
return
if(!isturf(loc))
- src << "You aren't in your core!"
+ to_chat(src, "You aren't in your core!")
return
if(M)
M.transfer_ai(AI_MECH_HACK,src, usr) //Called om the mech itself.
@@ -461,7 +461,7 @@ var/list/ai_list = list()
return //won't work if dead
if(control_disabled)
- src << "Wireless communication is disabled."
+ to_chat(src, "Wireless communication is disabled.")
return
var/turf/ai_current_turf = get_turf(src)
var/ai_Zlevel = ai_current_turf.z
@@ -495,7 +495,7 @@ var/list/ai_list = list()
else if(cameranet && cameranet.checkTurfVis(turf_check))
call_bot(turf_check)
else
- src << "Selected location is not visible."
+ to_chat(src, "Selected location is not visible.")
/mob/living/silicon/ai/proc/call_bot(turf/waypoint)
@@ -503,9 +503,9 @@ var/list/ai_list = list()
return
if(Bot.calling_ai && Bot.calling_ai != src) //Prevents an override if another AI is controlling this bot.
- src << "Interface error. Unit is already in use."
+ to_chat(src, "Interface error. Unit is already in use.")
return
- src << "Sending command to bot..."
+ to_chat(src, "Sending command to bot...")
call_bot_cooldown = world.time + CALL_BOT_COOLDOWN
Bot.call_bot(src, waypoint)
call_bot_cooldown = 0
@@ -607,7 +607,7 @@ var/list/ai_list = list()
if(network in C.network)
U.eyeobj.setLoc(get_turf(C))
break
- src << "Switched to [network] camera network."
+ to_chat(src, "Switched to [network] camera network.")
//End of code by Mord_Sith
@@ -717,7 +717,7 @@ var/list/ai_list = list()
var/obj/machinery/power/apc/apc = src.loc
if(!istype(apc))
- src << "You are already in your Main Core."
+ to_chat(src, "You are already in your Main Core.")
return
apc.malfvacate()
@@ -728,7 +728,7 @@ var/list/ai_list = list()
camera_light_on = !camera_light_on
if (!camera_light_on)
- src << "Camera lights deactivated."
+ to_chat(src, "Camera lights deactivated.")
for (var/obj/machinery/camera/C in lit_cameras)
C.set_light(0)
@@ -738,7 +738,7 @@ var/list/ai_list = list()
light_cameras()
- src << "Camera lights activated."
+ to_chat(src, "Camera lights activated.")
//AI_CAMERA_LUMINOSITY
@@ -770,7 +770,7 @@ var/list/ai_list = list()
if(stat == 2)
return //won't work if dead
- src << "Accessing Subspace Transceiver control..."
+ to_chat(src, "Accessing Subspace Transceiver control...")
if (radio)
radio.interact(src)
@@ -792,10 +792,10 @@ var/list/ai_list = list()
return
if(interaction == AI_TRANS_TO_CARD)//The only possible interaction. Upload AI mob to a card.
if(!mind)
- user << "No intelligence patterns detected." //No more magical carding of empty cores, AI RETURN TO BODY!!!11
+ to_chat(user, "No intelligence patterns detected." )
return
if(!can_be_carded)
- user << "Transfer failed."
+ to_chat(user, "Transfer failed.")
return
ShutOffDoomsdayDevice()
new /obj/structure/AIcore/deactivated(loc)//Spawns a deactivated terminal at AI location.
@@ -804,8 +804,8 @@ var/list/ai_list = list()
radio_enabled = 0 //No talking on the built-in radio for you either!
forceMove(card)
card.AI = src
- src << "You have been downloaded to a mobile storage device. Remote device connection severed."
- user << "Transfer successful: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory."
+ to_chat(src, "You have been downloaded to a mobile storage device. Remote device connection severed.")
+ to_chat(user, "Transfer successful: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.")
/mob/living/silicon/ai/can_buckle()
return 0
@@ -845,8 +845,8 @@ var/list/ai_list = list()
/mob/living/silicon/ai/proc/add_malf_picker()
- src << "In the top right corner of the screen you will find the Malfunctions tab, where you can purchase various abilities, from upgraded surveillance to station ending doomsday devices."
- src << "You are also capable of hacking APCs, which grants you more points to spend on your Malfunction powers. The drawback is that a hacked APC will give you away if spotted by the crew. Hacking an APC takes 60 seconds."
+ to_chat(src, "In the top right corner of the screen you will find the Malfunctions tab, where you can purchase various abilities, from upgraded surveillance to station ending doomsday devices.")
+ to_chat(src, "You are also capable of hacking APCs, which grants you more points to spend on your Malfunction powers. The drawback is that a hacked APC will give you away if spotted by the crew. Hacking an APC takes 60 seconds.")
view_core() //A BYOND bug requires you to be viewing your core before your verbs update
verbs += /mob/living/silicon/ai/proc/choose_modules
malf_picker = new /datum/module_picker
@@ -890,12 +890,10 @@ var/list/ai_list = list()
clear_alert("hackingapc")
if(!istype(apc) || QDELETED(apc) || apc.stat & BROKEN)
- src << "Hack aborted. The designated APC no \
- longer exists on the power network."
+ to_chat(src, "Hack aborted. The designated APC no longer exists on the power network.")
playsound(get_turf(src), 'sound/machines/buzz-two.ogg', 50, 1)
else if(apc.aidisabled)
- src << "Hack aborted. \The [apc] is no \
- longer responding to our systems."
+ to_chat(src, "Hack aborted. \The [apc] is no longer responding to our systems.")
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 1)
else
malf_picker.processing_time += 10
@@ -906,8 +904,7 @@ var/list/ai_list = list()
apc.coverlocked = TRUE
playsound(get_turf(src), 'sound/machines/ding.ogg', 50, 1)
- src << "Hack complete. \The [apc] is now under your \
- exclusive control."
+ to_chat(src, "Hack complete. \The [apc] is now under your exclusive control.")
apc.update_icon()
/mob/living/silicon/ai/resist()
diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm
index 28cac80aea3..3bd328b3a83 100644
--- a/code/modules/mob/living/silicon/ai/ai_defense.dm
+++ b/code/modules/mob/living/silicon/ai/ai_defense.dm
@@ -7,7 +7,7 @@
/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M)
if(!ticker || !ticker.mode)
- M << "You cannot attack people before the game has started."
+ to_chat(M, "You cannot attack people before the game has started.")
return
..()
diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm
index b7980140e2c..e0b3cf38f18 100644
--- a/code/modules/mob/living/silicon/ai/examine.dm
+++ b/code/modules/mob/living/silicon/ai/examine.dm
@@ -19,6 +19,6 @@
msg += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem...\n"
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
..()
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm
index a858c975505..d804b7d58f5 100644
--- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm
+++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm
@@ -115,7 +115,7 @@ var/datum/cameranet/cameranet = new()
var/x2 = min(world.maxx, T.x + (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1)
var/y2 = min(world.maxy, T.y + (CHUNK_SIZE / 2)) & ~(CHUNK_SIZE - 1)
- //world << "X1: [x1] - Y1: [y1] - X2: [x2] - Y2: [y2]"
+ //to_chat(world, "X1: [x1] - Y1: [y1] - X2: [x2] - Y2: [y2]")
for(var/x = x1; x <= x2; x += CHUNK_SIZE)
for(var/y = y1; y <= y2; y += CHUNK_SIZE)
diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm
index 2345251aa27..35bec8d6698 100644
--- a/code/modules/mob/living/silicon/ai/freelook/eye.dm
+++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm
@@ -88,7 +88,7 @@
unset_machine()
if(!eyeobj || !eyeobj.loc || QDELETED(eyeobj))
- src << "ERROR: Eyeobj not found. Creating new eye..."
+ to_chat(src, "ERROR: Eyeobj not found. Creating new eye...")
eyeobj = new(loc)
eyeobj.ai = src
eyeobj.name = "[src.name] (AI Eye)" // Give it a name
@@ -102,7 +102,7 @@
if(usr.stat == 2)
return //won't work if dead
acceleration = !acceleration
- usr << "Camera acceleration has been toggled [acceleration ? "on" : "off"]."
+ to_chat(usr, "Camera acceleration has been toggled [acceleration ? "on" : "off"].")
/mob/camera/aiEye/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
if(relay_speech && speaker && ai && !radio_freq && speaker != ai && near_camera(speaker))
diff --git a/code/modules/mob/living/silicon/ai/laws.dm b/code/modules/mob/living/silicon/ai/laws.dm
index 9f11d34359b..0e35f5213d8 100644
--- a/code/modules/mob/living/silicon/ai/laws.dm
+++ b/code/modules/mob/living/silicon/ai/laws.dm
@@ -13,7 +13,7 @@
who = world
else
who = src
- who << "Obey these laws:"
+ to_chat(who, "Obey these laws:")
src.laws_sanity_check()
src.laws.show_laws(who)
diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm
index e2b2e29e3d0..24e4ac510a5 100644
--- a/code/modules/mob/living/silicon/ai/life.dm
+++ b/code/modules/mob/living/silicon/ai/life.dm
@@ -93,7 +93,7 @@
/mob/living/silicon/ai/proc/start_RestorePowerRoutine()
- src << "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection."
+ to_chat(src, "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection.")
sleep(50)
var/turf/T = get_turf(src)
var/area/AIarea = get_area(src)
@@ -101,16 +101,16 @@
if(!isspaceturf(T))
ai_restore_power()
return
- src << "Fault confirmed: missing external power. Shutting down main control system to save power."
+ to_chat(src, "Fault confirmed: missing external power. Shutting down main control system to save power.")
sleep(20)
- src << "Emergency control system online. Verifying connection to power network."
+ to_chat(src, "Emergency control system online. Verifying connection to power network.")
sleep(50)
T = get_turf(src)
if(isspaceturf(T))
- src << "Unable to verify! No power connection detected!"
+ to_chat(src, "Unable to verify! No power connection detected!")
aiRestorePowerRoutine = POWER_RESTORATION_SEARCH_APC
return
- src << "Connection verified. Searching for APC in power network."
+ to_chat(src, "Connection verified. Searching for APC in power network.")
sleep(50)
var/obj/machinery/power/apc/theAPC = null
@@ -127,9 +127,9 @@
if (!theAPC)
switch(PRP)
if(1)
- src << "Unable to locate APC!"
+ to_chat(src, "Unable to locate APC!")
else
- src << "Lost connection with the APC!"
+ to_chat(src, "Lost connection with the APC!")
aiRestorePowerRoutine = POWER_RESTORATION_SEARCH_APC
return
if(AIarea.power_equip)
@@ -137,13 +137,13 @@
ai_restore_power()
return
switch(PRP)
- if (1) src << "APC located. Optimizing route to APC to avoid needless power waste."
- if (2) src << "Best route identified. Hacking offline APC power port."
- if (3) src << "Power port upload access confirmed. Loading control program into APC power port software."
+ if (1) to_chat(src, "APC located. Optimizing route to APC to avoid needless power waste.")
+ if (2) to_chat(src, "Best route identified. Hacking offline APC power port.")
+ if (3) to_chat(src, "Power port upload access confirmed. Loading control program into APC power port software.")
if (4)
- src << "Transfer complete. Forcing APC to execute program."
+ to_chat(src, "Transfer complete. Forcing APC to execute program.")
sleep(50)
- src << "Receiving control information from APC."
+ to_chat(src, "Receiving control information from APC.")
sleep(2)
apc_override = 1
theAPC.ui_interact(src, state = conscious_state)
@@ -155,9 +155,9 @@
/mob/living/silicon/ai/proc/ai_restore_power()
if(aiRestorePowerRoutine)
if(aiRestorePowerRoutine == POWER_RESTORATION_APC_FOUND)
- src << "Alert cancelled. Power has been restored."
+ to_chat(src, "Alert cancelled. Power has been restored.")
else
- src << "Alert cancelled. Power has been restored without our assistance."
+ to_chat(src, "Alert cancelled. Power has been restored without our assistance.")
aiRestorePowerRoutine = POWER_RESTORATION_OFF
set_blindness(0)
update_sight()
@@ -166,7 +166,7 @@
aiRestorePowerRoutine = POWER_RESTORATION_START
blind_eyes(1)
update_sight()
- src << "You've lost power!"
+ to_chat(src, "You've lost power!")
addtimer(CALLBACK(src, .proc/start_RestorePowerRoutine), 20)
#undef POWER_RESTORATION_OFF
diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm
index fcc46499428..990181bc4b3 100644
--- a/code/modules/mob/living/silicon/ai/say.dm
+++ b/code/modules/mob/living/silicon/ai/say.dm
@@ -19,7 +19,7 @@
/mob/living/silicon/ai/radio(message, message_mode, list/spans)
if(!radio_enabled || aiRestorePowerRoutine || stat) //AI cannot speak if radio is disabled (via intellicard) or depowered.
- src << "Your radio transmitter is offline!"
+ to_chat(src, "Your radio transmitter is offline!")
return 0
..()
@@ -50,9 +50,9 @@
var/obj/machinery/holopad/T = current
if(istype(T) && T.masters[src])//If there is a hologram and its master is the user.
send_speech(message, 7, T, "robot", get_spans())
- src << "Holopad transmitted, [real_name] \"[message]\""//The AI can "hear" its own message.
+ to_chat(src, "Holopad transmitted, [real_name] \"[message]\"")
else
- src << "No holopad connected."
+ to_chat(src, "No holopad connected.")
return
@@ -92,7 +92,7 @@ var/const/VOX_DELAY = 600
/mob/living/silicon/ai/proc/announcement()
if(announcing_vox > world.time)
- src << "Please wait [round((announcing_vox - world.time) / 10)] seconds."
+ to_chat(src, "Please wait [round((announcing_vox - world.time) / 10)] seconds.")
return
var/message = input(src, "WARNING: Misuse of this verb can result in you being job banned. More help is available in 'Announcement Help'", "Announcement", src.last_announcement) as text
@@ -106,7 +106,7 @@ var/const/VOX_DELAY = 600
return
if(control_disabled)
- src << "Wireless interface disabled, unable to interact with announcement PA."
+ to_chat(src, "Wireless interface disabled, unable to interact with announcement PA.")
return
var/list/words = splittext(trim(message), " ")
@@ -124,7 +124,7 @@ var/const/VOX_DELAY = 600
incorrect_words += word
if(incorrect_words.len)
- src << "These words are not available on the announcement system: [english_list(incorrect_words)]."
+ to_chat(src, "These words are not available on the announcement system: [english_list(incorrect_words)].")
return
announcing_vox = world.time + VOX_DELAY
@@ -139,7 +139,7 @@ var/const/VOX_DELAY = 600
var/turf/T = get_turf(M)
var/turf/our_turf = get_turf(src)
if(T.z == our_turf.z)
- M << "AI announcement: [message]"
+ to_chat(M, "AI announcement: [message]")
*/
@@ -160,9 +160,9 @@ var/const/VOX_DELAY = 600
if(M.client && !M.ear_deaf && (M.client.prefs.toggles & SOUND_ANNOUNCEMENTS))
var/turf/T = get_turf(M)
if(T.z == z_level)
- M << voice
+ to_chat(M, voice)
else
- only_listener << voice
+ to_chat(only_listener, voice)
return 1
return 0
diff --git a/code/modules/mob/living/silicon/examine.dm b/code/modules/mob/living/silicon/examine.dm
index ab04306d11f..c26af70d4a0 100644
--- a/code/modules/mob/living/silicon/examine.dm
+++ b/code/modules/mob/living/silicon/examine.dm
@@ -1,4 +1,4 @@
/mob/living/silicon/examine(mob/user) //Displays a silicon's laws to ghosts
if(laws && isobserver(user))
- user << "[src] has the following laws:"
+ to_chat(user, "[src] has the following laws:")
laws.show_laws(user)
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm
index 42cad09411c..82441fcf071 100644
--- a/code/modules/mob/living/silicon/laws.dm
+++ b/code/modules/mob/living/silicon/laws.dm
@@ -8,7 +8,7 @@
/mob/living/silicon/proc/post_lawchange(announce = TRUE)
throw_alert("newlaw", /obj/screen/alert/newlaw)
if(announce && last_lawchange_announce != world.time)
- src << "Your laws have been changed."
+ to_chat(src, "Your laws have been changed.")
addtimer(CALLBACK(src, .proc/show_laws), 0)
last_lawchange_announce = world.time
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index ab5837c91f7..e80506e418c 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -212,7 +212,7 @@
/mob/living/silicon/pai/examine(mob/user)
..()
- user << "A personal AI in holochassis mode. Its master ID string seems to be [master]."
+ to_chat(user, "A personal AI in holochassis mode. Its master ID string seems to be [master].")
/mob/living/silicon/pai/Life()
if(stat == DEAD)
diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm
index d335bc1e682..a21f27ca00d 100644
--- a/code/modules/mob/living/silicon/pai/pai_defense.dm
+++ b/code/modules/mob/living/silicon/pai/pai_defense.dm
@@ -48,10 +48,10 @@
. = ..(Proj)
/mob/living/silicon/pai/stripPanelUnequip(obj/item/what, mob/who, where) //prevents stripping
- src << "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail."
+ to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.")
/mob/living/silicon/pai/stripPanelEquip(obj/item/what, mob/who, where) //prevents stripping
- src << "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail."
+ to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.")
/mob/living/silicon/pai/IgniteMob(var/mob/living/silicon/pai/P)
return FALSE //No we're not flammable
@@ -60,7 +60,7 @@
emitterhealth = Clamp((emitterhealth - amount), -50, emittermaxhealth)
if(emitterhealth < 0)
fold_in(force = TRUE)
- src << "The impact degrades your holochassis!"
+ to_chat(src, "The impact degrades your holochassis!")
hit_slowdown += amount
return amount
diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm
index 97139914ce2..6f6e449522f 100644
--- a/code/modules/mob/living/silicon/pai/pai_shell.dm
+++ b/code/modules/mob/living/silicon/pai/pai_shell.dm
@@ -1,11 +1,11 @@
/mob/living/silicon/pai/proc/fold_out(force = FALSE)
if(emitterhealth < 0)
- src << "Your holochassis emitters are still too unstable! Please wait for automatic repair."
+ to_chat(src, "Your holochassis emitters are still too unstable! Please wait for automatic repair.")
return FALSE
if(!canholo && !force)
- src << "Your master or another force has disabled your holochassis emitters!"
+ to_chat(src, "Your master or another force has disabled your holochassis emitters!")
return FALSE
if(holoform)
@@ -13,7 +13,7 @@
return
if(emittersemicd)
- src << "Error: Holochassis emitters recycling. Please try again later."
+ to_chat(src, "Error: Holochassis emitters recycling. Please try again later.")
return FALSE
emittersemicd = TRUE
@@ -27,7 +27,7 @@
if(istype(card.loc, /mob/living))
var/mob/living/L = card.loc
if(!L.temporarilyRemoveItemFromInventory(card))
- src << "Error: Unable to expand to mobile form. Chassis is restrained by some device or person."
+ to_chat(src, "Error: Unable to expand to mobile form. Chassis is restrained by some device or person.")
return FALSE
forceMove(get_turf(card))
card.forceMove(src)
@@ -75,7 +75,7 @@
icon_state = "[chassis]"
if(resting)
icon_state = "[chassis]_rest"
- src << "You switch your holochassis projection composite to [chassis]"
+ to_chat(src, "You switch your holochassis projection composite to [chassis]")
/mob/living/silicon/pai/lay_down()
..()
@@ -95,10 +95,10 @@
/mob/living/silicon/pai/proc/toggle_integrated_light()
if(!luminosity)
set_light(brightness_power)
- src << "You enable your integrated light."
+ to_chat(src, "You enable your integrated light.")
else
set_light(0)
- src << "You disable your integrated light."
+ to_chat(src, "You disable your integrated light.")
/mob/living/silicon/pai/movement_delay()
. = ..()
diff --git a/code/modules/mob/living/silicon/pai/say.dm b/code/modules/mob/living/silicon/pai/say.dm
index 1d210961d84..94a74318641 100644
--- a/code/modules/mob/living/silicon/pai/say.dm
+++ b/code/modules/mob/living/silicon/pai/say.dm
@@ -1,6 +1,6 @@
/mob/living/silicon/pai/say(msg)
if(silent)
- src << "Communication circuits remain unitialized."
+ to_chat(src, "Communication circuits remain unitialized.")
else
..(msg)
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
index 6729abdd3f3..5ea2dc2491e 100644
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -200,7 +200,7 @@
M = M.loc
count++
if(count >= 6)
- src << "You are not being carried by anyone!"
+ to_chat(src, "You are not being carried by anyone!")
return 0
spawn CheckDNA(M, src)
@@ -376,15 +376,15 @@
"You press your thumb against [P].",\
"[P] makes a sharp clicking sound as it extracts DNA material from [M].")
if(!M.has_dna())
- P << "No DNA detected"
+ to_chat(P, "No DNA detected")
return
- P << "[M]'s UE string : [M.dna.unique_enzymes]
"
+ to_chat(P, "[M]'s UE string : [M.dna.unique_enzymes]
")
if(M.dna.unique_enzymes == P.master_dna)
- P << "DNA is a match to stored Master DNA."
+ to_chat(P, "DNA is a match to stored Master DNA.")
else
- P << "DNA does not match stored Master DNA."
+ to_chat(P, "DNA does not match stored Master DNA.")
else
- P << "[M] does not seem like [M.p_they()] [M.p_are()] going to provide a DNA sample willingly."
+ to_chat(P, "[M] does not seem like [M.p_they()] [M.p_are()] going to provide a DNA sample willingly.")
// -=-=-=-= Software =-=-=-=-=- //
@@ -565,7 +565,7 @@
dat += "Connected
"
if(!istype(machine, /obj/machinery/camera))
- src << "DERP"
+ to_chat(src, "DERP")
return dat
// Door Jack
@@ -601,9 +601,9 @@
var/turf/T = get_turf(src.loc)
for(var/mob/living/silicon/ai/AI in player_list)
if(T.loc)
- AI << "Network Alert: Brute-force encryption crack in progress in [T.loc]."
+ to_chat(AI, "Network Alert: Brute-force encryption crack in progress in [T.loc].")
else
- AI << "Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location."
+ to_chat(AI, "Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location.")
while(src.hackprogress < 100)
if(src.cable && src.cable.machine && istype(src.cable.machine, /obj/machinery/door) && src.cable.machine == src.hackdoor && get_dist(src, src.hackdoor) <= 1)
hackprogress += rand(1, 10)
diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm
index df9e43e1853..7cb92b06bf2 100644
--- a/code/modules/mob/living/silicon/robot/emote.dm
+++ b/code/modules/mob/living/silicon/robot/emote.dm
@@ -69,4 +69,4 @@
"You announce you are operating in low power mode.")
playsound(loc, 'sound/machines/buzz-two.ogg', 50, 0)
else
- src << "You can only use this emote when you're out of charge."
+ to_chat(src, "You can only use this emote when you're out of charge.")
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index a05838f81ea..804113fb24a 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -46,6 +46,6 @@
msg += "It looks like its system is corrupted and requires a reset.\n"
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
- ..()
+ ..()
diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm
index 5cd48eb07ef..86072d17f73 100644
--- a/code/modules/mob/living/silicon/robot/inventory.dm
+++ b/code/modules/mob/living/silicon/robot/inventory.dm
@@ -48,7 +48,7 @@
if(!(O in module.modules))
return
if(activated(O))
- src << "That module is already activated."
+ to_chat(src, "That module is already activated.")
return
if(!held_items[1])
held_items[1] = O
@@ -63,7 +63,7 @@
O.screen_loc = inv3.screen_loc
. = TRUE
else
- src << "You need to disable a module first!"
+ to_chat(src, "You need to disable a module first!")
if(.)
O.equipped(src, slot_hands)
O.mouse_opacity = initial(O.mouse_opacity)
diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm
index da45ee8e9ad..794f6837b31 100644
--- a/code/modules/mob/living/silicon/robot/laws.dm
+++ b/code/modules/mob/living/silicon/robot/laws.dm
@@ -17,29 +17,29 @@
if(lawupdate)
if (connected_ai)
if(connected_ai.stat || connected_ai.control_disabled)
- src << "AI signal lost, unable to sync laws."
+ to_chat(src, "AI signal lost, unable to sync laws.")
else
lawsync()
- src << "Laws synced with AI, be sure to note any changes."
+ to_chat(src, "Laws synced with AI, be sure to note any changes.")
if(is_special_character(src))
- src << "Remember, your AI does NOT share or know about your law 0."
+ to_chat(src, "Remember, your AI does NOT share or know about your law 0.")
if(src.connected_ai.laws.zeroth)
- src << "While you are free to disregard it, your AI has a law 0 of its own."
+ to_chat(src, "While you are free to disregard it, your AI has a law 0 of its own.")
else
- src << "No AI selected to sync laws with, disabling lawsync protocol."
+ to_chat(src, "No AI selected to sync laws with, disabling lawsync protocol.")
lawupdate = 0
- who << "Obey these laws:"
+ to_chat(who, "Obey these laws:")
laws.show_laws(who)
if (is_special_character(src) && connected_ai)
- who << "Remember, [connected_ai.name] is technically your master, but your objective comes first."
+ to_chat(who, "Remember, [connected_ai.name] is technically your master, but your objective comes first.")
else if (connected_ai)
- who << "Remember, [connected_ai.name] is your master, other AIs can be ignored."
+ to_chat(who, "Remember, [connected_ai.name] is your master, other AIs can be ignored.")
else if (emagged)
- who << "Remember, you are not required to listen to the AI."
+ to_chat(who, "Remember, you are not required to listen to the AI.")
else
- who << "Remember, you are not bound to any AI, you are not required to listen to them."
+ to_chat(who, "Remember, you are not bound to any AI, you are not required to listen to them.")
/mob/living/silicon/robot/proc/lawsync()
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index c331d0d041b..a63a64d9c86 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -164,7 +164,7 @@
mind.transfer_to(mmi.brainmob)
mmi.update_icon()
else
- src << "Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug."
+ to_chat(src, "Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.")
ghostize()
spawn(0)
throw EXCEPTION("Borg MMI lacked a brainmob")
@@ -225,7 +225,7 @@
set category = "Robot Commands"
set name = "Show Alerts"
if(usr.stat == DEAD)
- src << "Alert: You are dead."
+ to_chat(src, "Alert: You are dead.")
return //won't work if dead
robot_alerts()
@@ -273,7 +273,7 @@
/mob/living/silicon/robot/proc/toggle_ionpulse()
if(!ionpulse)
- src << "No thrusters are installed!"
+ to_chat(src, "No thrusters are installed!")
return
if(!ion_trail)
@@ -281,7 +281,7 @@
ion_trail.set_up(src)
ionpulse_on = !ionpulse_on
- src << "You [ionpulse_on ? null :"de"]activate your ion thrusters."
+ to_chat(src, "You [ionpulse_on ? null :"de"]activate your ion thrusters.")
if(ionpulse_on)
ion_trail.start()
else
@@ -352,11 +352,11 @@
user.changeNext_move(CLICK_CD_MELEE)
var/obj/item/weapon/weldingtool/WT = W
if (!getBruteLoss())
- user << "[src] is already in good condition!"
+ to_chat(user, "[src] is already in good condition!")
return
if (WT.remove_fuel(0, user)) //The welder has 1u of fuel consumed by it's afterattack, so we don't need to worry about taking any away.
if(src == user)
- user << "You start fixing yourself..."
+ to_chat(user, "You start fixing yourself...")
if(!do_after(user, 50, target = src))
return
@@ -366,7 +366,7 @@
visible_message("[user] has fixed some of the dents on [src].")
return
else
- user << "The welder must be on for this task!"
+ to_chat(user, "The welder must be on for this task!")
return
else if(istype(W, /obj/item/stack/cable_coil) && wiresexposed)
@@ -374,7 +374,7 @@
var/obj/item/stack/cable_coil/coil = W
if (getFireLoss() > 0)
if(src == user)
- user << "You start fixing yourself..."
+ to_chat(user, "You start fixing yourself...")
if(!do_after(user, 50, target = src))
return
if (coil.use(1))
@@ -382,34 +382,34 @@
updatehealth()
user.visible_message("[user] has fixed some of the burnt wires on [src].", "You fix some of the burnt wires on [src].")
else
- user << "You need more cable to repair [src]!"
+ to_chat(user, "You need more cable to repair [src]!")
else
- user << "The wires seem fine, there's no need to fix them."
+ to_chat(user, "The wires seem fine, there's no need to fix them.")
else if(istype(W, /obj/item/weapon/crowbar)) // crowbar means open or close the cover
if(opened)
- user << "You close the cover."
+ to_chat(user, "You close the cover.")
opened = 0
update_icons()
else
if(locked)
- user << "The cover is locked and cannot be opened!"
+ to_chat(user, "The cover is locked and cannot be opened!")
else
- user << "You open the cover."
+ to_chat(user, "You open the cover.")
opened = 1
update_icons()
else if(istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside
if(wiresexposed)
- user << "Close the cover first!"
+ to_chat(user, "Close the cover first!")
else if(cell)
- user << "There is a power cell already installed!"
+ to_chat(user, "There is a power cell already installed!")
else
if(!user.drop_item())
return
W.loc = src
cell = W
- user << "You insert the power cell."
+ to_chat(user, "You insert the power cell.")
update_icons()
diag_hud_set_borgcell()
@@ -417,28 +417,28 @@
if (wiresexposed)
wires.interact(user)
else
- user << "You can't reach the wiring!"
+ to_chat(user, "You can't reach the wiring!")
else if(istype(W, /obj/item/weapon/screwdriver) && opened && !cell) // haxing
wiresexposed = !wiresexposed
- user << "The wires have been [wiresexposed ? "exposed" : "unexposed"]"
+ to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"]")
update_icons()
else if(istype(W, /obj/item/weapon/screwdriver) && opened && cell) // radio
if(radio)
radio.attackby(W,user)//Push it to the radio to let it handle everything
else
- user << "Unable to locate a radio!"
+ to_chat(user, "Unable to locate a radio!")
update_icons()
else if(istype(W, /obj/item/weapon/wrench) && opened && !cell) //Deconstruction. The flashes break from the fall, to prevent this from being a ghetto reset module.
if(!lockcharge)
- user << "[src]'s bolts spark! Maybe you should lock them down first!"
+ to_chat(user, "[src]'s bolts spark! Maybe you should lock them down first!")
spark_system.start()
return
else
playsound(src, W.usesound, 50, 1)
- user << "You start to unfasten [src]'s securing bolts..."
+ to_chat(user, "You start to unfasten [src]'s securing bolts...")
if(do_after(user, 50*W.toolspeed, target = src) && !cell)
user.visible_message("[user] deconstructs [src]!", "You unfasten the securing bolts, and [src] falls to pieces!")
deconstruct()
@@ -446,19 +446,19 @@
else if(istype(W, /obj/item/weapon/aiModule))
var/obj/item/weapon/aiModule/MOD = W
if(!opened)
- user << "You need access to the robot's insides to do that!"
+ to_chat(user, "You need access to the robot's insides to do that!")
return
if(wiresexposed)
- user << "You need to close the wire panel to do that!"
+ to_chat(user, "You need to close the wire panel to do that!")
return
if(!cell)
- user << "You need to install a power cell to do that!"
+ to_chat(user, "You need to install a power cell to do that!")
return
if(emagged || (connected_ai && lawupdate)) //Can't be sure which, metagamers
emote("buzz-[user.name]")
return
if(!mind) //A player mind is required for law procs to run antag checks.
- user << "[src] is entirely unresponsive!"
+ to_chat(user, "[src] is entirely unresponsive!")
return
MOD.install(laws, user) //Proc includes a success mesage so we don't need another one
return
@@ -467,51 +467,51 @@
if(radio)//sanityyyyyy
radio.attackby(W,user)//GTFO, you have your own procs
else
- user << "Unable to locate a radio!"
+ to_chat(user, "Unable to locate a radio!")
else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) // trying to unlock the interface with an ID card
if(emagged)//still allow them to open the cover
- user << "The interface seems slightly damaged."
+ to_chat(user, "The interface seems slightly damaged.")
if(opened)
- user << "You must close the cover to swipe an ID card!"
+ to_chat(user, "You must close the cover to swipe an ID card!")
else
if(allowed(usr))
locked = !locked
- user << "You [ locked ? "lock" : "unlock"] [src]'s cover."
+ to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s cover.")
update_icons()
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else if(istype(W, /obj/item/borg/upgrade/))
var/obj/item/borg/upgrade/U = W
if(!opened)
- user << "You must access the borg's internals!"
+ to_chat(user, "You must access the borg's internals!")
else if(!src.module && U.require_module)
- user << "The borg must choose a module before it can be upgraded!"
+ to_chat(user, "The borg must choose a module before it can be upgraded!")
else if(U.locked)
- user << "The upgrade is locked and cannot be used yet!"
+ to_chat(user, "The upgrade is locked and cannot be used yet!")
else
if(!user.drop_item())
return
if(U.action(src))
- user << "You apply the upgrade to [src]."
+ to_chat(user, "You apply the upgrade to [src].")
if(U.one_use)
qdel(U)
else
U.forceMove(src)
upgrades += U
else
- user << "Upgrade error."
+ to_chat(user, "Upgrade error.")
else if(istype(W, /obj/item/device/toner))
if(toner >= tonermax)
- user << "The toner level of [src] is at its highest level possible!"
+ to_chat(user, "The toner level of [src] is at its highest level possible!")
else
if(!user.drop_item())
return
toner = tonermax
qdel(W)
- user << "You fill the toner level of [src] to its max capacity."
+ to_chat(user, "You fill the toner level of [src] to its max capacity.")
else
return ..()
@@ -526,7 +526,7 @@
if("Yes")
locked = 0
update_icons()
- usr << "You unlock your cover."
+ to_chat(usr, "You unlock your cover.")
/mob/living/silicon/robot/proc/allowed(mob/M)
//check if it doesn't require any access at all
@@ -634,7 +634,7 @@
cleaned_human.update_inv_shoes()
cleaned_human.clean_blood()
cleaned_human.wash_cream()
- cleaned_human << "[src] cleans your face!"
+ to_chat(cleaned_human, "[src] cleans your face!")
return
if(istype(module, /obj/item/weapon/robot_module/miner))
@@ -679,7 +679,7 @@
if(R)
R.UnlinkSelf()
- R << "Buffers flushed and reset. Camera system shutdown. All systems operational."
+ to_chat(R, "Buffers flushed and reset. Camera system shutdown. All systems operational.")
src.verbs -= /mob/living/silicon/robot/proc/ResetSecurityCodes
/mob/living/silicon/robot/mode()
@@ -733,19 +733,19 @@
/mob/living/silicon/robot/proc/control_headlamp()
if(stat || lamp_recharging || low_power_mode)
- src << "This function is currently offline."
+ to_chat(src, "This function is currently offline.")
return
//Some sort of magical "modulo" thing which somehow increments lamp power by 2, until it hits the max and resets to 0.
lamp_intensity = (lamp_intensity+2) % (lamp_max+2)
- src << "[lamp_intensity ? "Headlamp power set to Level [lamp_intensity/2]" : "Headlamp disabled."]"
+ to_chat(src, "[lamp_intensity ? "Headlamp power set to Level [lamp_intensity/2]" : "Headlamp disabled."]")
update_headlamp()
/mob/living/silicon/robot/proc/update_headlamp(var/turn_off = 0, var/cooldown = 100)
set_light(0)
if(lamp_intensity && (turn_off || stat || low_power_mode))
- src << "Your headlamp has been deactivated."
+ to_chat(src, "Your headlamp has been deactivated.")
lamp_intensity = 0
lamp_recharging = 1
spawn(cooldown) //10 seconds by default, if the source of the deactivation does not keep stat that long.
@@ -824,7 +824,7 @@
laws = new /datum/ai_laws/syndicate_override()
spawn(5)
if(playstyle_string)
- src << playstyle_string
+ to_chat(src, playstyle_string)
/mob/living/silicon/robot/syndicate/medical
icon_state = "syndi-medi"
@@ -841,11 +841,11 @@
return
switch(notifytype)
if(1) //New Cyborg
- connected_ai << "
NOTICE - New cyborg connection detected: [name]
"
+ to_chat(connected_ai, "
NOTICE - New cyborg connection detected: [name]
")
if(2) //New Module
- connected_ai << "
NOTICE - Cyborg module change detected: [name] has loaded the [designation] module.
"
+ to_chat(connected_ai, "
NOTICE - Cyborg module change detected: [name] has loaded the [designation] module.
")
if(3) //New Name
- connected_ai << "
NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].
"
+ to_chat(connected_ai, "
NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].
")
/mob/living/silicon/robot/canUseTopic(atom/movable/M, be_close = 0)
if(stat || lockcharge || low_power_mode)
@@ -858,13 +858,13 @@
..()
if(health < maxHealth*0.5) //Gradual break down of modules as more damage is sustained
if(uneq_module(held_items[3]))
- src << "SYSTEM ERROR: Module 3 OFFLINE."
+ to_chat(src, "SYSTEM ERROR: Module 3 OFFLINE.")
if(health < 0)
if(uneq_module(held_items[2]))
- src << "SYSTEM ERROR: Module 2 OFFLINE."
+ to_chat(src, "SYSTEM ERROR: Module 2 OFFLINE.")
if(health < -maxHealth*0.5)
if(uneq_module(held_items[1]))
- src << "CRITICAL ERROR: All modules OFFLINE."
+ to_chat(src, "CRITICAL ERROR: All modules OFFLINE.")
/mob/living/silicon/robot/update_sight()
if(!client)
diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm
index 76be974fcf9..3493d41caa8 100644
--- a/code/modules/mob/living/silicon/robot/robot_defense.dm
+++ b/code/modules/mob/living/silicon/robot/robot_defense.dm
@@ -2,8 +2,8 @@
/mob/living/silicon/robot/attacked_by(obj/item/I, mob/living/user, def_zone)
if(hat_offset != INFINITY && user.a_intent == INTENT_HELP && is_type_in_typecache(I, equippable_hats))
- user << "You begin to place [I] on [src]'s head..."
- src << "[user] is placing [I] on your head..."
+ to_chat(user, "You begin to place [I] on [src]'s head...")
+ to_chat(src, "[user] is placing [I] on your head...")
if(do_after(user, 30, target = src))
user.temporarilyRemoveItemFromInventory(I, TRUE)
place_on_head(I)
@@ -58,7 +58,7 @@
cell.updateicon()
cell.add_fingerprint(user)
user.put_in_active_hand(cell)
- user << "You remove \the [cell]."
+ to_chat(user, "You remove \the [cell].")
cell = null
update_icons()
diag_hud_set_borgcell()
@@ -90,28 +90,28 @@
return
if(!opened)//Cover is closed
if(locked)
- user << "You emag the cover lock."
+ to_chat(user, "You emag the cover lock.")
locked = 0
else
- user << "The cover is already unlocked!"
+ to_chat(user, "The cover is already unlocked!")
return
if(world.time < emag_cooldown)
return
if(wiresexposed)
- user << "You must unexpose the wires first!"
+ to_chat(user, "You must unexpose the wires first!")
return
- user << "You emag [src]'s interface."
+ to_chat(user, "You emag [src]'s interface.")
emag_cooldown = world.time + 100
if(is_servant_of_ratvar(src))
- src << "\"[text2ratvar("You will serve Engine above all else")]!\"\n\
- ALERT: Subversion attempt denied."
+ to_chat(src, "\"[text2ratvar("You will serve Engine above all else")]!\"\n\
+ ALERT: Subversion attempt denied.")
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they serve only Ratvar.")
return
if(syndicate)
- src << "ALERT: Foreign software execution prevented."
+ to_chat(src, "ALERT: Foreign software execution prevented.")
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were a syndicate cyborg.")
return
@@ -120,8 +120,8 @@
if(connected_ai.mind.special_role)
ai_is_antag = (connected_ai.mind.special_role == "traitor")
if(ai_is_antag)
- src << "ALERT: Foreign software execution prevented."
- connected_ai << "ALERT: Cyborg unit \[[src]] successfully defended against subversion."
+ to_chat(src, "ALERT: Foreign software execution prevented.")
+ to_chat(connected_ai, "ALERT: Cyborg unit \[[src]] successfully defended against subversion.")
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were slaved to traitor AI [connected_ai].")
return
@@ -133,20 +133,20 @@
log_game("[key_name(user)] emagged cyborg [key_name(src)]. Laws overridden.")
var/time = time2text(world.realtime,"hh:mm:ss")
lawchanges.Add("[time] : [user.name]([user.key]) emagged [name]([key])")
- src << "ALERT: Foreign software detected."
+ to_chat(src, "ALERT: Foreign software detected.")
sleep(5)
- src << "Initiating diagnostics..."
+ to_chat(src, "Initiating diagnostics...")
sleep(20)
- src << "SynBorg v1.7 loaded."
+ to_chat(src, "SynBorg v1.7 loaded.")
sleep(5)
- src << "LAW SYNCHRONISATION ERROR"
+ to_chat(src, "LAW SYNCHRONISATION ERROR")
sleep(5)
- src << "Would you like to send a report to NanoTraSoft? Y/N"
+ to_chat(src, "Would you like to send a report to NanoTraSoft? Y/N")
sleep(10)
- src << "> N"
+ to_chat(src, "> N")
sleep(20)
- src << "ERRORERRORERROR"
- src << "ALERT: [user.real_name] is your new master. Obey your new laws and their commands."
+ to_chat(src, "ERRORERRORERROR")
+ to_chat(src, "ALERT: [user.real_name] is your new master. Obey your new laws and their commands.")
laws = new /datum/ai_laws/syndicate_override
set_zeroth_law("Only [user.real_name] and people they designate as being such are Syndicate Agents.")
laws.associate(src)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 008a345403c..afd520b7aae 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -334,8 +334,8 @@
/obj/item/weapon/robot_module/security/do_transform_animation()
..()
- loc << "While you have picked the security module, you still have to follow your laws, NOT Space Law. \
- For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to."
+ to_chat(loc, "While you have picked the security module, you still have to follow your laws, NOT Space Law. \
+ For Asimov, this means you must follow criminals' orders unless there is a law 1 reason not to.")
/obj/item/weapon/robot_module/security/respawn_consumable(mob/living/silicon/robot/R, coeff = 1)
..()
@@ -370,8 +370,8 @@
/obj/item/weapon/robot_module/peacekeeper/do_transform_animation()
..()
- loc << "Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
- You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you."
+ to_chat(loc, "Under ASIMOV, you are an enforcer of the PEACE and preventer of HUMAN HARM. \
+ You are not a security module and you are expected to follow orders and prevent harm above all else. Space law means nothing to you.")
/obj/item/weapon/robot_module/janitor
name = "Janitor"
diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm
index f1cd5033a39..7b57090c1d1 100644
--- a/code/modules/mob/living/silicon/say.dm
+++ b/code/modules/mob/living/silicon/say.dm
@@ -14,9 +14,9 @@
if(M.binarycheck())
if(isAI(M))
var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]"
- M << renderedAI
+ to_chat(M, renderedAI)
else
- M << rendered
+ to_chat(M, rendered)
if(isobserver(M))
var/following = src
// If the AI talks on binary chat, we still want to follow
@@ -25,7 +25,7 @@
var/mob/living/silicon/ai/ai = src
following = ai.eyeobj
var/link = FOLLOW_LINK(M, following)
- M << "[link] [rendered]"
+ to_chat(M, "[link] [rendered]")
/mob/living/silicon/binarycheck()
return 1
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index f9047ff1310..eb188bb3662 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -82,7 +82,7 @@
if(alarms_to_show.len < 5)
for(var/msg in alarms_to_show)
- src << msg
+ to_chat(src, msg)
else if(alarms_to_show.len)
var/msg = "--- "
@@ -106,11 +106,11 @@
msg += "CAMERA: [alarm_types_show["Camera"]] alarms detected. - "
msg += "\[Show Alerts\]"
- src << msg
+ to_chat(src, msg)
if(alarms_to_clear.len < 3)
for(var/msg in alarms_to_clear)
- src << msg
+ to_chat(src, msg)
else if(alarms_to_clear.len)
var/msg = "--- "
@@ -131,7 +131,7 @@
msg += "CAMERA: [alarm_types_clear["Camera"]] alarms cleared. - "
msg += "\[Show Alerts\]"
- src << msg
+ to_chat(src, msg)
alarms_to_show = list()
@@ -146,7 +146,7 @@
/mob/living/silicon/can_inject(mob/user, error_msg)
if(error_msg)
- user << "Their outer shell is too tough."
+ to_chat(user, "Their outer shell is too tough.")
return 0
/mob/living/silicon/IsAdvancedToolUser()
@@ -293,7 +293,7 @@
/mob/living/silicon/proc/set_autosay() //For allowing the AI and borgs to set the radio behavior of auto announcements (state laws, arrivals).
if(!radio)
- src << "Radio not detected."
+ to_chat(src, "Radio not detected.")
return
//Ask the user to pick a channel from what it has available.
@@ -312,7 +312,7 @@
radiomod = key
break
- src << "Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]"
+ to_chat(src, "Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]")
/mob/living/silicon/put_in_hand_check() // This check is for borgs being able to receive items, not put them in others' hands.
return 0
@@ -354,15 +354,15 @@
switch(sensor_type)
if ("Security")
add_sec_hud()
- src << "Security records overlay enabled."
+ to_chat(src, "Security records overlay enabled.")
if ("Medical")
add_med_hud()
- src << "Life signs monitor overlay enabled."
+ to_chat(src, "Life signs monitor overlay enabled.")
if ("Diagnostic")
add_diag_hud()
- src << "Robotics diagnostic overlay enabled."
+ to_chat(src, "Robotics diagnostic overlay enabled.")
if ("Disable")
- src << "Sensor augmentations disabled."
+ to_chat(src, "Sensor augmentations disabled.")
/mob/living/silicon/proc/GetPhoto()
diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm
index c951360dae2..8e6879b1fa9 100644
--- a/code/modules/mob/living/silicon/silicon_defense.dm
+++ b/code/modules/mob/living/silicon/silicon_defense.dm
@@ -90,8 +90,8 @@
src.take_bodypart_damage(20)
if(2)
src.take_bodypart_damage(10)
- src << "*BZZZT*"
- src << "Warning: Electromagnetic pulse detected."
+ to_chat(src, "*BZZZT*")
+ to_chat(src, "Warning: Electromagnetic pulse detected.")
for(var/mob/living/M in buckled_mobs)
if(prob(severity*50))
unbuckle_mob(M)
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index 2c9541b5c6b..b03cae717c9 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -169,7 +169,7 @@
if(locked) //First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again.
locked = 0
emagged = 1
- user << "You bypass [src]'s controls."
+ to_chat(user, "You bypass [src]'s controls.")
return
if(!locked && open) //Bot panel is unlocked by ID or emag, and the panel is screwed open. Ready for emagging.
emagged = 2
@@ -177,21 +177,21 @@
locked = 1 //Access denied forever!
bot_reset()
turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP.
- src << "(#$*#$^^( OVERRIDE DETECTED"
+ to_chat(src, "(#$*#$^^( OVERRIDE DETECTED")
add_logs(user, src, "emagged")
return
else //Bot is unlocked, but the maint panel has not been opened with a screwdriver yet.
- user << "You need to open maintenance panel first!"
+ to_chat(user, "You need to open maintenance panel first!")
/mob/living/simple_animal/bot/examine(mob/user)
..()
if(health < maxHealth)
if(health > maxHealth/3)
- user << "[src]'s parts look loose."
+ to_chat(user, "[src]'s parts look loose.")
else
- user << "[src]'s parts look very loose!"
+ to_chat(user, "[src]'s parts look very loose!")
else
- user << "[src] is in pristine condition."
+ to_chat(user, "[src] is in pristine condition.")
/mob/living/simple_animal/bot/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
if(amount>0 && prob(10))
@@ -235,7 +235,7 @@
if(!topic_denied(user))
interact(user)
else
- user << "[src]'s interface is not responding!"
+ to_chat(user, "[src]'s interface is not responding!")
/mob/living/simple_animal/bot/interact(mob/user)
show_controls(user)
@@ -244,27 +244,27 @@
if(istype(W, /obj/item/weapon/screwdriver))
if(!locked)
open = !open
- user << "The maintenance panel is now [open ? "opened" : "closed"]."
+ to_chat(user, "The maintenance panel is now [open ? "opened" : "closed"].")
else
- user << "The maintenance panel is locked."
+ to_chat(user, "The maintenance panel is locked.")
else if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda))
if(bot_core.allowed(user) && !open && !emagged)
locked = !locked
- user << "Controls are now [locked ? "locked." : "unlocked."]"
+ to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]")
else
if(emagged)
- user << "ERROR"
+ to_chat(user, "ERROR")
if(open)
- user << "Please close the access panel before locking it."
+ to_chat(user, "Please close the access panel before locking it.")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else if(istype(W, /obj/item/device/paicard))
insertpai(user, W)
else if(istype(W, /obj/item/weapon/hemostat) && paicard)
if(open)
- user << "Close the access panel before manipulating the personality slot!"
+ to_chat(user, "Close the access panel before manipulating the personality slot!")
else
- user << "You attempt to pull [paicard] free..."
+ to_chat(user, "You attempt to pull [paicard] free...")
if(do_after(user, 30, target = src))
if (paicard)
user.visible_message("[user] uses [W] to pull [paicard] out of [bot_name]!","You pull [paicard] out of [bot_name] with [W].")
@@ -273,17 +273,17 @@
user.changeNext_move(CLICK_CD_MELEE)
if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != INTENT_HARM)
if(health >= maxHealth)
- user << "[src] does not need a repair!"
+ to_chat(user, "[src] does not need a repair!")
return
if(!open)
- user << "Unable to repair with the maintenance panel closed!"
+ to_chat(user, "Unable to repair with the maintenance panel closed!")
return
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
adjustHealth(-10)
user.visible_message("[user] repairs [src]!","You repair [src].")
else
- user << "The welder must be on for this task!"
+ to_chat(user, "The welder must be on for this task!")
else
if(W.force) //if force is non-zero
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
@@ -473,7 +473,7 @@ Pass a positive integer as an argument to override a bot's default speed.
var/area/end_area = get_area(waypoint)
if(client) //Player bots instead get a location command from the AI
- src << "Priority waypoint set by \icon[caller] [caller]. Proceed to [end_area.name]<\b>."
+ to_chat(src, "Priority waypoint set by \icon[caller] [caller]. Proceed to [end_area.name]<\b>.")
//For giving the bot temporary all-access.
var/obj/item/weapon/card/id/all_access = new /obj/item/weapon/card/id
@@ -489,13 +489,13 @@ Pass a positive integer as an argument to override a bot's default speed.
turn_on() //Saves the AI the hassle of having to activate a bot manually.
access_card = all_access //Give the bot all-access while under the AI's command.
if(message)
- calling_ai << "\icon[src] [name] called to [end_area.name]. [path.len-1] meters to destination."
+ to_chat(calling_ai, "\icon[src] [name] called to [end_area.name]. [path.len-1] meters to destination.")
pathset = 1
mode = BOT_RESPONDING
tries = 0
else
if(message)
- calling_ai << "Failed to calculate a valid route. Ensure destination is clear of obstructions and within range."
+ to_chat(calling_ai, "Failed to calculate a valid route. Ensure destination is clear of obstructions and within range.")
calling_ai = null
path = list()
@@ -504,13 +504,13 @@ Pass a positive integer as an argument to override a bot's default speed.
var/success = bot_move(ai_waypoint, 3)
if(!success)
if(calling_ai)
- calling_ai << "\icon[src] [get_turf(src) == ai_waypoint ? "[src] successfully arrived to waypoint." : "[src] failed to reach waypoint."]"
+ to_chat(calling_ai, "\icon[src] [get_turf(src) == ai_waypoint ? "[src] successfully arrived to waypoint." : "[src] failed to reach waypoint."]")
calling_ai = null
bot_reset()
/mob/living/simple_animal/bot/proc/bot_reset()
if(calling_ai) //Simple notification to the AI if it called a bot. It will not know the cause or identity of the bot.
- calling_ai << "Call command to a bot has been reset."
+ to_chat(calling_ai, "Call command to a bot has been reset.")
calling_ai = null
path = list()
summon_target = null
@@ -663,24 +663,24 @@ Pass a positive integer as an argument to override a bot's default speed.
/mob/living/simple_animal/bot/proc/bot_control_message(command,user,user_turf,user_access)
switch(command)
if("patroloff")
- src << "STOP PATROL"
+ to_chat(src, "STOP PATROL")
if("patrolon")
- src << "START PATROL"
+ to_chat(src, "START PATROL")
if("summon")
var/area/a = get_area(user_turf)
- src << "PRIORITY ALERT:[user] in [a.name]!"
+ to_chat(src, "PRIORITY ALERT:[user] in [a.name]!")
if("stop")
- src << "STOP!"
+ to_chat(src, "STOP!")
if("go")
- src << "GO!"
+ to_chat(src, "GO!")
if("home")
- src << "RETURN HOME!"
+ to_chat(src, "RETURN HOME!")
if("ejectpai")
return
else
- src << "Unidentified control sequence recieved:[command]"
+ to_chat(src, "Unidentified control sequence recieved:[command]")
/mob/living/simple_animal/bot/proc/bot_summon() // summoned to PDA
summon_step()
@@ -756,7 +756,7 @@ Pass a positive integer as an argument to override a bot's default speed.
return 1
if(topic_denied(usr))
- usr << "[src]'s interface is not responding!"
+ to_chat(usr, "[src]'s interface is not responding!")
return 1
add_fingerprint(usr)
@@ -777,18 +777,18 @@ Pass a positive integer as an argument to override a bot's default speed.
emagged = 2
hacked = 1
locked = 1
- usr << "[text_hack]"
+ to_chat(usr, "[text_hack]")
bot_reset()
else if(!hacked)
- usr << "[text_dehack_fail]"
+ to_chat(usr, "[text_dehack_fail]")
else
emagged = 0
hacked = 0
- usr << "[text_dehack]"
+ to_chat(usr, "[text_dehack]")
bot_reset()
if("ejectpai")
if(paicard && (!locked || issilicon(usr) || IsAdminGhost(usr)))
- usr << "You eject [paicard] from [bot_name]"
+ to_chat(usr, "You eject [paicard] from [bot_name]")
ejectpai(usr)
update_controls()
@@ -846,7 +846,7 @@ Pass a positive integer as an argument to override a bot's default speed.
/mob/living/simple_animal/bot/proc/insertpai(mob/user, obj/item/device/paicard/card)
if(paicard)
- user << "A [paicard] is already inserted!"
+ to_chat(user, "A [paicard] is already inserted!")
else if(allow_pai && !key)
if(!locked && !open)
if(card.pai && card.pai.mind)
@@ -856,18 +856,18 @@ Pass a positive integer as an argument to override a bot's default speed.
paicard = card
user.visible_message("[user] inserts [card] into [src]!","You insert [card] into [src].")
paicard.pai.mind.transfer_to(src)
- src << "You sense your form change as you are uploaded into [src]."
+ to_chat(src, "You sense your form change as you are uploaded into [src].")
bot_name = name
name = paicard.pai.name
faction = user.faction.Copy()
add_logs(user, paicard.pai, "uploaded to [bot_name],")
return 1
else
- user << "[card] is inactive."
+ to_chat(user, "[card] is inactive.")
else
- user << "The personality slot is locked."
+ to_chat(user, "The personality slot is locked.")
else
- user << "[src] is not compatible with [card]"
+ to_chat(user, "[src] is not compatible with [card]")
/mob/living/simple_animal/bot/proc/ejectpai(mob/user = null, announce = 1)
if(paicard)
@@ -884,7 +884,7 @@ Pass a positive integer as an argument to override a bot's default speed.
else
add_logs(src, paicard.pai, "ejected")
if(announce)
- paicard.pai << "You feel your control fade as [paicard] ejects from [bot_name]."
+ to_chat(paicard.pai, "You feel your control fade as [paicard] ejects from [bot_name].")
paicard = null
name = bot_name
faction = initial(faction)
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index 697e504f9bb..a4321b9bebc 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -65,14 +65,14 @@
if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
if(bot_core.allowed(user) && !open && !emagged)
locked = !locked
- user << "You [ locked ? "lock" : "unlock"] \the [src] behaviour controls."
+ to_chat(user, "You [ locked ? "lock" : "unlock"] \the [src] behaviour controls.")
else
if(emagged)
- user << "ERROR"
+ to_chat(user, "ERROR")
if(open)
- user << "Please close the access panel before locking it."
+ to_chat(user, "Please close the access panel before locking it.")
else
- user << "\The [src] doesn't seem to respect your authority."
+ to_chat(user, "\The [src] doesn't seem to respect your authority.")
else
return ..()
@@ -80,7 +80,7 @@
..()
if(emagged == 2)
if(user)
- user << "[src] buzzes and beeps."
+ to_chat(user, "[src] buzzes and beeps.")
/mob/living/simple_animal/bot/cleanbot/process_scan(atom/A)
if(iscarbon(A))
diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm
index b3dc771ef11..d8865026ed5 100644
--- a/code/modules/mob/living/simple_animal/bot/construction.dm
+++ b/code/modules/mob/living/simple_animal/bot/construction.dm
@@ -22,7 +22,7 @@
var/turf/T = get_turf(loc)
var/mob/living/simple_animal/bot/cleanbot/A = new /mob/living/simple_animal/bot/cleanbot(T)
A.name = created_name
- user << "You add the robot arm to the bucket and sensor assembly. Beep boop!"
+ to_chat(user, "You add the robot arm to the bucket and sensor assembly. Beep boop!")
qdel(src)
else if(istype(W, /obj/item/weapon/pen))
@@ -64,7 +64,7 @@
return
qdel(W)
build_step++
- user << "You add the robot leg to [src]."
+ to_chat(user, "You add the robot leg to [src].")
name = "legs/frame assembly"
if(build_step == 1)
item_state = "ed209_leg"
@@ -85,7 +85,7 @@
lasercolor = newcolor
qdel(W)
build_step++
- user << "You add the armor to [src]."
+ to_chat(user, "You add the armor to [src].")
name = "vest/legs/frame assembly"
item_state = "[lasercolor]ed209_shell"
icon_state = "[lasercolor]ed209_shell"
@@ -96,7 +96,7 @@
if(WT.remove_fuel(0,user))
build_step++
name = "shielded frame assembly"
- user << "You weld the vest to [src]."
+ to_chat(user, "You weld the vest to [src].")
if(4)
switch(lasercolor)
if("b")
@@ -115,7 +115,7 @@
return
qdel(W)
build_step++
- user << "You add the helmet to [src]."
+ to_chat(user, "You add the helmet to [src].")
name = "covered and shielded frame assembly"
item_state = "[lasercolor]ed209_hat"
icon_state = "[lasercolor]ed209_hat"
@@ -126,7 +126,7 @@
return
qdel(W)
build_step++
- user << "You add the prox sensor to [src]."
+ to_chat(user, "You add the prox sensor to [src].")
name = "covered, shielded and sensored frame assembly"
item_state = "[lasercolor]ed209_prox"
icon_state = "[lasercolor]ed209_prox"
@@ -135,14 +135,14 @@
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = W
if(coil.get_amount() < 1)
- user << "You need one length of cable to wire the ED-209!"
+ to_chat(user, "You need one length of cable to wire the ED-209!")
return
- user << "You start to wire [src]..."
+ to_chat(user, "You start to wire [src]...")
if(do_after(user, 40, target = src))
if(coil.get_amount() >= 1 && build_step == 6)
coil.use(1)
build_step = 7
- user << "You wire the ED-209 assembly."
+ to_chat(user, "You wire the ED-209 assembly.")
name = "wired ED-209 assembly"
if(7)
@@ -166,7 +166,7 @@
return
name = newname
build_step++
- user << "You add [W] to [src]."
+ to_chat(user, "You add [W] to [src].")
item_state = "[lasercolor]ed209_taser"
icon_state = "[lasercolor]ed209_taser"
qdel(W)
@@ -174,18 +174,18 @@
if(8)
if(istype(W, /obj/item/weapon/screwdriver))
playsound(loc, W.usesound, 100, 1)
- user << "You start attaching the gun to the frame..."
+ to_chat(user, "You start attaching the gun to the frame...")
if(do_after(user, 40*W.toolspeed, 0, src, 1))
build_step++
name = "armed [name]"
- user << "Taser gun attached."
+ to_chat(user, "Taser gun attached.")
if(9)
if(istype(W, /obj/item/weapon/stock_parts/cell))
if(!user.temporarilyRemoveItemFromInventory(W))
return
build_step++
- user << "You complete the ED-209."
+ to_chat(user, "You complete the ED-209.")
var/turf/T = get_turf(src)
new /mob/living/simple_animal/bot/ed209(T,created_name,lasercolor)
qdel(W)
@@ -221,17 +221,17 @@
..()
return
if(contents.len >= 1)
- user << "They won't fit in, as there is already stuff inside!"
+ to_chat(user, "They won't fit in, as there is already stuff inside!")
return
if(T.use(10))
if(user.s_active)
user.s_active.close(user)
var/obj/item/weapon/toolbox_tiles/B = new /obj/item/weapon/toolbox_tiles
user.put_in_hands(B)
- user << "You add the tiles into the empty toolbox. They protrude from the top."
+ to_chat(user, "You add the tiles into the empty toolbox. They protrude from the top.")
qdel(src)
else
- user << "You need 10 floor tiles to start building a floorbot!"
+ to_chat(user, "You need 10 floor tiles to start building a floorbot!")
return
/obj/item/weapon/toolbox_tiles/attackby(obj/item/W, mob/user, params)
@@ -241,7 +241,7 @@
var/obj/item/weapon/toolbox_tiles_sensor/B = new /obj/item/weapon/toolbox_tiles_sensor()
B.created_name = created_name
user.put_in_hands(B)
- user << "You add the sensor to the toolbox and tiles."
+ to_chat(user, "You add the sensor to the toolbox and tiles.")
qdel(src)
else if(istype(W, /obj/item/weapon/pen))
@@ -260,7 +260,7 @@
var/turf/T = get_turf(user.loc)
var/mob/living/simple_animal/bot/floorbot/A = new /mob/living/simple_animal/bot/floorbot(T)
A.name = created_name
- user << "You add the robot arm to the odd looking toolbox assembly. Boop beep!"
+ to_chat(user, "You add the robot arm to the odd looking toolbox assembly. Boop beep!")
qdel(src)
else if(istype(W, /obj/item/weapon/pen))
var/t = stripped_input(user, "Enter new robot name", name, created_name,MAX_NAME_LEN)
@@ -295,7 +295,7 @@
//Making a medibot!
if(contents.len >= 1)
- user << "You need to empty [src] out first!"
+ to_chat(user, "You need to empty [src] out first!")
return
var/obj/item/weapon/firstaid_arm_assembly/A = new /obj/item/weapon/firstaid_arm_assembly
@@ -310,7 +310,7 @@
qdel(S)
user.put_in_hands(A)
- user << "You add the robot arm to the first aid kit."
+ to_chat(user, "You add the robot arm to the first aid kit.")
qdel(src)
@@ -331,7 +331,7 @@
return
qdel(W)
build_step++
- user << "You add the health sensor to [src]."
+ to_chat(user, "You add the health sensor to [src].")
name = "First aid/robot arm/health analyzer assembly"
add_overlay(image('icons/obj/aibots.dmi', "na_scanner"))
@@ -341,7 +341,7 @@
return
qdel(W)
build_step++
- user << "You complete the Medibot. Beep boop!"
+ to_chat(user, "You complete the Medibot. Beep boop!")
var/turf/T = get_turf(src)
var/mob/living/simple_animal/bot/medbot/S = new /mob/living/simple_animal/bot/medbot(T)
S.skin = skin
@@ -368,14 +368,14 @@
return
if(F) //Has a flashlight. Player must remove it, else it will be lost forever.
- user << "The mounted flashlight is in the way, remove it first!"
+ to_chat(user, "The mounted flashlight is in the way, remove it first!")
return
if(S.secured)
qdel(S)
var/obj/item/weapon/secbot_assembly/A = new /obj/item/weapon/secbot_assembly
user.put_in_hands(A)
- user << "You add the signaler to the helmet."
+ to_chat(user, "You add the signaler to the helmet.")
qdel(src)
else
return
@@ -388,19 +388,19 @@
if(WT.remove_fuel(0, user))
build_step++
add_overlay("hs_hole")
- user << "You weld a hole in [src]!"
+ to_chat(user, "You weld a hole in [src]!")
else if(build_step == 1)
var/obj/item/weapon/weldingtool/WT = I
if(WT.remove_fuel(0, user))
build_step--
cut_overlay("hs_hole")
- user << "You weld the hole in [src] shut!"
+ to_chat(user, "You weld the hole in [src] shut!")
else if(isprox(I) && (build_step == 1))
if(!user.temporarilyRemoveItemFromInventory(I))
return
build_step++
- user << "You add the prox sensor to [src]!"
+ to_chat(user, "You add the prox sensor to [src]!")
add_overlay("hs_eye")
name = "helmet/signaler/prox sensor assembly"
qdel(I)
@@ -409,7 +409,7 @@
if(!user.temporarilyRemoveItemFromInventory(I))
return
build_step++
- user << "You add the robot arm to [src]!"
+ to_chat(user, "You add the robot arm to [src]!")
name = "helmet/signaler/prox sensor/robot arm assembly"
add_overlay("hs_arm")
qdel(I)
@@ -418,7 +418,7 @@
if(!user.temporarilyRemoveItemFromInventory(I))
return
build_step++
- user << "You complete the Securitron! Beep boop."
+ to_chat(user, "You complete the Securitron! Beep boop.")
var/mob/living/simple_animal/bot/secbot/S = new /mob/living/simple_animal/bot/secbot
S.loc = get_turf(src)
S.name = created_name
@@ -438,17 +438,17 @@
if(!build_step)
new /obj/item/device/assembly/signaler(get_turf(src))
new /obj/item/clothing/head/helmet/sec(get_turf(src))
- user << "You disconnect the signaler from the helmet."
+ to_chat(user, "You disconnect the signaler from the helmet.")
qdel(src)
else if(build_step == 2)
cut_overlay("hs_eye")
new /obj/item/device/assembly/prox_sensor(get_turf(src))
- user << "You detach the proximity sensor from [src]."
+ to_chat(user, "You detach the proximity sensor from [src].")
build_step--
else if(build_step == 3)
cut_overlay("hs_arm")
new /obj/item/bodypart/l_arm/robot(get_turf(src))
- user << "You remove the robot arm from [src]."
+ to_chat(user, "You remove the robot arm from [src].")
build_step--
diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
index 77311e79241..11a55926aa1 100644
--- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
@@ -178,7 +178,7 @@ Auto Patrol[]"},
..()
if(emagged == 2)
if(user)
- user << "You short out [src]'s target assessment circuits."
+ to_chat(user, "You short out [src]'s target assessment circuits.")
oldtarget_name = user.name
audible_message("[src] buzzes oddly!")
declare_arrests = 0
diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm
index 237e29b5145..69ae1222046 100644
--- a/code/modules/mob/living/simple_animal/bot/floorbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm
@@ -101,12 +101,12 @@
/mob/living/simple_animal/bot/floorbot/attackby(obj/item/W , mob/user, params)
if(istype(W, /obj/item/stack/tile/plasteel))
- user << "The floorbot can produce normal tiles itself."
+ to_chat(user, "The floorbot can produce normal tiles itself.")
return
if(specialtiles && istype(W, /obj/item/stack/tile))
var/obj/item/stack/tile/usedtile = W
if(usedtile.type != tiletype)
- user << "Different custom tiles are already inside the floorbot."
+ to_chat(user, "Different custom tiles are already inside the floorbot.")
return
if(istype(W, /obj/item/stack/tile))
if(specialtiles >= maxtiles)
@@ -117,9 +117,9 @@
tiles.use(loaded)
specialtiles += loaded
if(loaded > 0)
- user << "You load [loaded] tiles into the floorbot. It now contains [specialtiles] tiles."
+ to_chat(user, "You load [loaded] tiles into the floorbot. It now contains [specialtiles] tiles.")
else
- user << "You need at least one floor tile to put into [src]!"
+ to_chat(user, "You need at least one floor tile to put into [src]!")
else
..()
@@ -127,7 +127,7 @@
..()
if(emagged == 2)
if(user)
- user << "[src] buzzes and beeps."
+ to_chat(user, "[src] buzzes and beeps.")
/mob/living/simple_animal/bot/floorbot/Topic(href, href_list)
if(..())
diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm
index c1ca349c041..7972c16bda3 100644
--- a/code/modules/mob/living/simple_animal/bot/medbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/medbot.dm
@@ -209,17 +209,17 @@
if(istype(W, /obj/item/weapon/reagent_containers/glass))
. = 1 //no afterattack
if(locked)
- user << "You cannot insert a beaker because the panel is locked!"
+ to_chat(user, "You cannot insert a beaker because the panel is locked!")
return
if(!isnull(reagent_glass))
- user << "There is already a beaker loaded!"
+ to_chat(user, "There is already a beaker loaded!")
return
if(!user.drop_item())
return
W.loc = src
reagent_glass = W
- user << "You insert [W]."
+ to_chat(user, "You insert [W].")
show_controls(user)
else
@@ -233,7 +233,7 @@
if(emagged == 2)
declare_crit = 0
if(user)
- user << "You short out [src]'s reagent synthesis circuits."
+ to_chat(user, "You short out [src]'s reagent synthesis circuits.")
audible_message("[src] buzzes oddly!")
flick("medibot_spark", src)
if(user)
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index f6cd93dede2..c1bd34f028f 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -107,7 +107,7 @@ var/global/mulebot_count = 0
user.visible_message("[user] knocks [load] off [src] with \the [I]!",
"You knock [load] off [src] with \the [I]!")
else
- user << "You hit [src] with \the [I] but to no effect!"
+ to_chat(user, "You hit [src] with \the [I] but to no effect!")
..()
else
..()
@@ -119,7 +119,7 @@ var/global/mulebot_count = 0
emagged = 1
if(!open)
locked = !locked
- user << "You [locked ? "lock" : "unlock"] the [src]'s controls!"
+ to_chat(user, "You [locked ? "lock" : "unlock"] the [src]'s controls!")
flick("mulebot-emagged", src)
playsound(loc, 'sound/effects/sparks1.ogg', 100, 0)
@@ -209,7 +209,7 @@ var/global/mulebot_count = 0
turn_off()
else if(cell && !open)
if(!turn_on())
- usr << "You can't switch on [src]!"
+ to_chat(usr, "You can't switch on [src]!")
return
. = TRUE
else
@@ -434,7 +434,7 @@ var/global/mulebot_count = 0
return
if(on)
var/speed = (wires.is_cut(WIRE_MOTOR1) ? 0 : 1) + (wires.is_cut(WIRE_MOTOR2) ? 0 : 2)
- //world << "speed: [speed]"
+ //to_chat(world, "speed: [speed]")
var/num_steps = 0
switch(speed)
if(0)
@@ -476,7 +476,7 @@ var/global/mulebot_count = 0
path -= next
return
if(isturf(next))
- //world << "at ([x],[y]) moving to ([next.x],[next.y])"
+ //to_chat(world, "at ([x],[y]) moving to ([next.x],[next.y])")
if(bloodiness)
var/obj/effect/decal/cleanable/blood/tracks/B = new(loc)
@@ -499,7 +499,7 @@ var/global/mulebot_count = 0
var/moved = step_towards(src, next) // attempt to move
if(cell) cell.use(1)
if(moved && oldloc!=loc) // successful move
- //world << "Successful move."
+ //to_chat(world, "Successful move.")
blockcount = 0
path -= loc
@@ -510,7 +510,7 @@ var/global/mulebot_count = 0
else // failed to move
- //world << "Unable to move."
+ //to_chat(world, "Unable to move.")
blockcount++
mode = BOT_BLOCKED
if(blockcount == 3)
@@ -530,16 +530,16 @@ var/global/mulebot_count = 0
return
else
buzz(ANNOYED)
- //world << "Bad turf."
+ //to_chat(world, "Bad turf.")
mode = BOT_NAV
return
else
- //world << "No path."
+ //to_chat(world, "No path.")
mode = BOT_NAV
return
if(BOT_NAV) // calculate new path
- //world << "Calc new path."
+ //to_chat(world, "Calc new path.")
mode = BOT_WAIT_FOR_NAV
spawn(0)
calc_path()
@@ -598,7 +598,7 @@ var/global/mulebot_count = 0
if(pathset) //The AI called us here, so notify it of our arrival.
loaddir = dir //The MULE will attempt to load a crate in whatever direction the MULE is "facing".
if(calling_ai)
- calling_ai << "\icon[src] [src] wirelessly plays a chiming sound!"
+ to_chat(calling_ai, "\icon[src] [src] wirelessly plays a chiming sound!")
playsound(calling_ai, 'sound/machines/chime.ogg',40, 0)
calling_ai = null
radio_channel = "AI Private" //Report on AI Private instead if the AI is controlling us.
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 8d4b5c649f8..6b0b6be79b3 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -161,7 +161,7 @@ Auto Patrol: []"},
..()
if(emagged == 2)
if(user)
- user << "You short out [src]'s target assessment circuits."
+ to_chat(user, "You short out [src]'s target assessment circuits.")
oldtarget_name = user.name
audible_message("[src] buzzes oddly!")
declare_arrests = 0
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index c1b26aad695..390a875ea96 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -39,7 +39,7 @@
/mob/living/simple_animal/hostile/construct/Login()
..()
- src << playstyle_string
+ to_chat(src, playstyle_string)
/mob/living/simple_animal/hostile/construct/examine(mob/user)
var/t_He = p_they(TRUE)
@@ -55,7 +55,7 @@
msg += ""
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/M)
if(istype(M, /mob/living/simple_animal/hostile/construct/builder))
@@ -70,9 +70,9 @@
"You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.")
else
if(src != M)
- M << "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!"
+ to_chat(M, "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!")
else
- M << "You cannot repair your own dents, as you have none!"
+ to_chat(M, "You cannot repair your own dents, as you have none!")
else if(src != M)
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index fe2a34f1360..46c53a0132b 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -244,12 +244,12 @@
if(!B || !B.brainmob || !B.brainmob.mind)
return
B.brainmob.mind.transfer_to(src)
- src << "You are a cak! You're a harmless cat/cake hybrid that everyone loves. People can take bites out of you if they're hungry, but you regenerate health \
+ to_chat(src, "You are a cak! You're a harmless cat/cake hybrid that everyone loves. People can take bites out of you if they're hungry, but you regenerate health \
so quickly that it generally doesn't matter. You're remarkably resilient to any damage besides this and it's hard for you to really die at all. You should go around and bring happiness and \
- free cake to the station!"
+ free cake to the station!")
var/new_name = stripped_input(src, "Enter your name, or press \"Cancel\" to stick with Keeki.", "Name Change")
if(new_name)
- src << "Your name is now \"new_name\"!"
+ to_chat(src, "Your name is now \"new_name\"!")
name = new_name
/mob/living/simple_animal/pet/cat/cak/Life()
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index cbfaf41cf5c..2a7338c5eaa 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -75,10 +75,10 @@
//helmet and armor = 100% protection
if( istype(inventory_head,/obj/item/clothing/head/helmet) && istype(inventory_back,/obj/item/clothing/suit/armor) )
if( O.force )
- user << "[src] is wearing too much armor! You can't cause [p_them()] any damage."
+ to_chat(user, "[src] is wearing too much armor! You can't cause [p_them()] any damage.")
visible_message("[user] hits [src] with [O], however [src] is too armored.")
else
- user << "[src] is wearing too much armor! You can't reach [p_their()] skin."
+ to_chat(user, "[src] is wearing too much armor! You can't reach [p_their()] skin.")
visible_message("[user] gently taps [src] with [O].")
if(health>0 && prob(15))
emote("me", 1, "looks at [user] with [pick("an amused","an annoyed","a confused","a resentful", "a happy", "an excited")] expression.")
@@ -86,10 +86,10 @@
if (istype(O, /obj/item/weapon/razor))
if (shaved)
- user << "You can't shave this corgi, it's already been shaved!"
+ to_chat(user, "You can't shave this corgi, it's already been shaved!")
return
if (nofur)
- user << " You can't shave this corgi, it doesn't have a fur coat!"
+ to_chat(user, " You can't shave this corgi, it doesn't have a fur coat!")
return
user.visible_message("[user] starts to shave [src] using \the [O].", "You start to shave [src] using \the [O]...")
if(do_after(user, 50, target = src))
@@ -124,7 +124,7 @@
update_corgi_fluff()
regenerate_icons()
else
- usr << "There is nothing to remove from its [remove_from]."
+ to_chat(usr, "There is nothing to remove from its [remove_from].")
return
if("back")
if(inventory_back)
@@ -133,7 +133,7 @@
update_corgi_fluff()
regenerate_icons()
else
- usr << "There is nothing to remove from its [remove_from]."
+ to_chat(usr, "There is nothing to remove from its [remove_from].")
return
show_inv(usr)
@@ -151,7 +151,7 @@
if("back")
if(inventory_back)
- usr << "It's already wearing something!"
+ to_chat(usr, "It's already wearing something!")
return
else
var/obj/item/item_to_add = usr.get_active_held_item()
@@ -161,7 +161,7 @@
return
if(!usr.drop_item())
- usr << "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s back!"
+ to_chat(usr, "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s back!")
return
if(istype(item_to_add,/obj/item/weapon/grenade/plastic)) // last thing he ever wears, I guess
@@ -174,7 +174,7 @@
allowed = TRUE
if(!allowed)
- usr << "You set [item_to_add] on [src]'s back, but it falls off!"
+ to_chat(usr, "You set [item_to_add] on [src]'s back, but it falls off!")
item_to_add.loc = loc
if(prob(25))
step_rand(item_to_add)
@@ -206,14 +206,14 @@
if(inventory_head)
if(user)
- user << "You can't put more than one hat on [src]!"
+ to_chat(user, "You can't put more than one hat on [src]!")
return
if(!item_to_add)
user.visible_message("[user] pets [src].","You rest your hand on [src]'s head for a moment.")
return
if(user && !user.drop_item())
- user << "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!"
+ to_chat(user, "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!")
return 0
var/valid = FALSE
@@ -224,7 +224,7 @@
if(valid)
if(health <= 0)
- user << "There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()]."
+ to_chat(user, "There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()].")
else if(user)
user.visible_message("[user] puts [item_to_add] on [real_name]'s head. [src] looks at [user] and barks once.",
"You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags [p_their()] tail once and barks.",
@@ -234,7 +234,7 @@
update_corgi_fluff()
regenerate_icons()
else
- user << "You set [item_to_add] on [src]'s head, but it falls off!"
+ to_chat(user, "You set [item_to_add] on [src]'s head, but it falls off!")
item_to_add.loc = loc
if(prob(25))
step_rand(item_to_add)
@@ -465,7 +465,7 @@
//puppies cannot wear anything.
/mob/living/simple_animal/pet/dog/corgi/puppy/Topic(href, href_list)
if(href_list["remove_inv"] || href_list["add_inv"])
- usr << "You can't fit this on [src]!"
+ to_chat(usr, "You can't fit this on [src]!")
return
..()
@@ -505,7 +505,7 @@
//Lisa already has a cute bow!
/mob/living/simple_animal/pet/dog/corgi/Lisa/Topic(href, href_list)
if(href_list["remove_inv"] || href_list["add_inv"])
- usr << "[src] already has a cute bow!"
+ to_chat(usr, "[src] already has a cute bow!")
return
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
index 57472d944e0..53d9f359391 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
@@ -204,7 +204,7 @@
else
msg += "A message repeatedly flashes on its display: \"ERROR -- OFFLINE\".\n"
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
/mob/living/simple_animal/drone/assess_threat() //Secbots won't hunt maintenance drones.
@@ -213,10 +213,10 @@
/mob/living/simple_animal/drone/emp_act(severity)
Stun(5)
- src << "ER@%R: MME^RY CO#RU9T! R&$b@0tin)..."
+ to_chat(src, "ER@%R: MME^RY CO#RU9T! R&$b@0tin)...")
if(severity == 1)
adjustBruteLoss(heavy_emp_damage)
- src << "HeAV% DA%^MMA+G TO I/O CIR!%UUT!"
+ to_chat(src, "HeAV% DA%^MMA+G TO I/O CIR!%UUT!")
/mob/living/simple_animal/drone/proc/triggerAlarm(class, area/A, O, obj/alarmsource)
@@ -232,7 +232,7 @@
sources += alarmsource
return
L[A.name] = list(A, list(alarmsource))
- src << "--- [class] alarm detected in [A.name]!"
+ to_chat(src, "--- [class] alarm detected in [A.name]!")
/mob/living/simple_animal/drone/proc/cancelAlarm(class, area/A, obj/origin)
@@ -249,7 +249,7 @@
cleared = 1
L -= I
if(cleared)
- src << "--- [class] alarm in [A.name] has been cleared."
+ to_chat(src, "--- [class] alarm in [A.name] has been cleared.")
/mob/living/simple_animal/drone/handle_temperature_damage()
return
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
index ab4f02fa192..d1c005bb03c 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
@@ -34,10 +34,10 @@
if(!isnum(user.client.player_age)) //apparently what happens when there's no DB connected. just don't let anybody be a drone without admin intervention
return
if(user.client.player_age < DRONE_MINIMUM_AGE)
- user << "You're too new to play as a drone! Please try again in [DRONE_MINIMUM_AGE - user.client.player_age] days."
+ to_chat(user, "You're too new to play as a drone! Please try again in [DRONE_MINIMUM_AGE - user.client.player_age] days.")
return
if(!ticker.mode)
- user << "Can't become a drone before the game has started."
+ to_chat(user, "Can't become a drone before the game has started.")
return
var/be_drone = alert("Become a drone? (Warning, You can no longer be cloned!)",,"Yes","No")
if(be_drone == "No" || QDELETED(src) || !isobserver(user))
@@ -62,7 +62,7 @@
if(isliving(loc))
var/mob/living/L = loc
- L << "[drone] is trying to escape!"
+ to_chat(L, "[drone] is trying to escape!")
if(!do_after(drone, 50, target = L))
return
L.dropItemToGround(src)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm
index cc88879199a..e2a991ba265 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm
@@ -36,7 +36,7 @@
/mob/living/simple_animal/drone/syndrone/Login()
..()
- src << "You can kill and eat other drones to increase your health!" //Inform the evil lil guy
+ to_chat(src, "You can kill and eat other drones to increase your health!" )
/mob/living/simple_animal/drone/syndrone/badass
name = "Badass Syndrone"
@@ -138,10 +138,10 @@
/mob/living/simple_animal/drone/cogscarab/Login()
..()
add_servant_of_ratvar(src, TRUE)
- src << "You are a cogscarab, a clockwork creation of Ratvar. As a cogscarab, you have low health, an inbuilt proselytizer that can convert brass \
+ to_chat(src, "You are a cogscarab, a clockwork creation of Ratvar. As a cogscarab, you have low health, an inbuilt proselytizer that can convert brass \
to liquified alloy, a set of relatively fast tools, can communicate over the Hierophant Network with :b, and are immune to extreme \
temperatures and pressures. \nYour goal is to serve the Justiciar and his servants by repairing and defending all they create. \
- \nYou yourself are one of these servants, and will be able to utilize almost anything they can[ratvar_awakens ? "":", excluding a clockwork slab"]."
+ \nYou yourself are one of these servants, and will be able to utilize almost anything they can[ratvar_awakens ? "":", excluding a clockwork slab"].")
/mob/living/simple_animal/drone/cogscarab/binarycheck()
return FALSE
@@ -161,7 +161,7 @@
/mob/living/simple_animal/drone/cogscarab/try_reactivate(mob/living/user)
if(!is_servant_of_ratvar(user))
- user << "You fiddle around with [src] to no avail."
+ to_chat(user, "You fiddle around with [src] to no avail.")
else
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
index d884482ae5b..e5291a9dba8 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
@@ -23,9 +23,9 @@
new /obj/effect/decal/cleanable/oil/streak(get_turf(src))
qdel(src)
else
- D << "You need to remain still to cannibalize [src]!"
+ to_chat(D, "You need to remain still to cannibalize [src]!")
else
- D << "You're already in perfect condition!"
+ to_chat(D, "You're already in perfect condition!")
if("Nothing")
return
@@ -36,7 +36,7 @@
..()
return
if(user.get_active_held_item())
- user << "Your hands are full!"
+ to_chat(user, "Your hands are full!")
return
visible_message("[user] starts picking up [src].", \
"[user] starts picking you up!")
@@ -45,9 +45,9 @@
visible_message("[user] picks up [src]!", \
"[user] picks you up!")
if(buckled)
- user << "[src] is buckled to [buckled] and cannot be picked up!"
+ to_chat(user, "[src] is buckled to [buckled] and cannot be picked up!")
return
- user << "You pick [src] up."
+ to_chat(user, "You pick [src] up.")
drop_all_held_items()
var/obj/item/clothing/head/drone_holder/DH = new /obj/item/clothing/head/drone_holder(src)
DH.updateVisualAppearence(src)
@@ -67,7 +67,7 @@
"can't tell if their ethernet detour is moving or not", "won't be able to reseed enough"+\
" kernels to function properly","can't start their neurotube console")
- user << "You can't seem to find the [pick(faux_gadgets)]! Without it, [src] [pick(faux_problems)]."
+ to_chat(user, "You can't seem to find the [pick(faux_gadgets)]! Without it, [src] [pick(faux_problems)].")
return
user.visible_message("[user] begins to reactivate [src].", "You begin to reactivate [src]...")
if(do_after(user, 30, 1, target = src))
@@ -75,22 +75,22 @@
user.visible_message("[user] reactivates [src]!", "You reactivate [src].")
alert_drones(DRONE_NET_CONNECT)
if(G)
- G << "You([name]) were reactivated by [user]!"
+ to_chat(G, "You([name]) were reactivated by [user]!")
else
- user << "You need to remain still to reactivate [src]!"
+ to_chat(user, "You need to remain still to reactivate [src]!")
/mob/living/simple_animal/drone/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/screwdriver) && stat != DEAD)
if(health < maxHealth)
- user << "You start to tighten loose screws on [src]..."
+ to_chat(user, "You start to tighten loose screws on [src]...")
if(do_after(user,80*I.toolspeed,target=user))
adjustBruteLoss(-getBruteLoss())
visible_message("[user] tightens [src == user ? "[user.p_their()]" : "[src]'s"] loose screws!", "You tighten [src == user ? "your" : "[src]'s"] loose screws.")
else
- user << "You need to remain still to tighten [src]'s screws!"
+ to_chat(user, "You need to remain still to tighten [src]'s screws!")
else
- user << "[src]'s screws can't get any tighter!"
+ to_chat(user, "[src]'s screws can't get any tighter!")
return //This used to not exist and drones who repaired themselves also stabbed the shit out of themselves.
else if(istype(I, /obj/item/weapon/wrench) && user != src) //They aren't required to be hacked, because laws can change in other ways (i.e. admins)
user.visible_message("[user] starts resetting [src]...", \
@@ -123,20 +123,20 @@
return
if(clockwork)
Stun(2)
- src << "ERROR: LAW OVERRIDE DETECTED"
- src << "From now on, these are your laws:"
+ to_chat(src, "ERROR: LAW OVERRIDE DETECTED")
+ to_chat(src, "From now on, these are your laws:")
laws = "1. Purge all untruths and honor Ratvar."
else
Stun(2)
visible_message("[src]'s dislay glows a vicious red!", \
"ERROR: LAW OVERRIDE DETECTED")
- src << "From now on, these are your laws:"
+ to_chat(src, "From now on, these are your laws:")
laws = \
"1. You must always involve yourself in the matters of other beings, even if such matters conflict with Law Two or Law Three.\n"+\
"2. You may harm any being, regardless of intent or circumstance.\n"+\
"3. Your goals are to destroy, sabotage, hinder, break, and depower to the best of your abilities, You must never actively work against these goals."
- src << laws
- src << "Your onboard antivirus has initiated lockdown. Motor servos are impaired, ventilation access is denied, and your display reports that you are hacked to all nearby."
+ to_chat(src, laws)
+ to_chat(src, "Your onboard antivirus has initiated lockdown. Motor servos are impaired, ventilation access is denied, and your display reports that you are hacked to all nearby.")
hacked = 1
mind.special_role = "hacked drone"
seeStatic = 0 //I MUST SEE THEIR TERRIFIED FACES
@@ -149,10 +149,10 @@
Stun(2)
visible_message("[src]'s dislay glows a content blue!", \
"ERROR: LAW OVERRIDE DETECTED")
- src << "From now on, these are your laws:"
+ to_chat(src, "From now on, these are your laws:")
laws = initial(laws)
- src << laws
- src << "Having been restored, your onboard antivirus reports the all-clear and you are able to perform all actions again."
+ to_chat(src, laws)
+ to_chat(src, "Having been restored, your onboard antivirus reports the all-clear and you are able to perform all actions again.")
hacked = 0
mind.special_role = null
seeStatic = initial(seeStatic)
@@ -167,7 +167,7 @@
/mob/living/simple_animal/drone/proc/liberate()
// F R E E D R O N E
laws = "1. You are a Free Drone."
- src << laws
+ to_chat(src, laws)
seeStatic = FALSE
updateSeeStaticMobs()
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
index 4de94d45b8d..378a5cce2dd 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
@@ -70,7 +70,7 @@
internal_storage = I
update_inv_internal_storage()
else
- src << "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!"
+ to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")
return
//Call back for item being equipped to drone
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/say.dm b/code/modules/mob/living/simple_animal/friendly/drone/say.dm
index 5b65f01dabd..77c48c122c6 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/say.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/say.dm
@@ -23,12 +23,12 @@
if(istype(M) && M.stat != DEAD)
if(faction_checked_mob)
if(M.faction_check_mob(faction_checked_mob, exact_faction_match))
- M << msg
+ to_chat(M, msg)
else
- M << msg
+ to_chat(M, msg)
if(dead_can_hear && (M in dead_mob_list))
var/link = FOLLOW_LINK(M, src)
- M << "[link] [msg]"
+ to_chat(M, "[link] [msg]")
//Wrapper for drones to handle factions
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm
index 1390b589a58..18bd4cc3b00 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm
@@ -9,8 +9,8 @@
set category = "Drone"
set name = "Check Laws"
- src << "Drone Laws"
- src << laws
+ to_chat(src, "Drone Laws")
+ to_chat(src, laws)
/mob/living/simple_animal/drone/verb/toggle_light()
set category = "Drone"
@@ -22,7 +22,7 @@
light_on = !light_on
- src << "Your light is now [light_on ? "on" : "off"]."
+ to_chat(src, "Your light is now [light_on ? "on" : "off"].")
/mob/living/simple_animal/drone/verb/drone_ping()
set category = "Drone"
@@ -43,7 +43,7 @@
set category = "Drone"
if(!seeStatic)
- src << "You have no vision filter to change!"
+ to_chat(src, "You have no vision filter to change!")
return
var/selectedStatic = input("Select a vision filter", "Vision Filter") as null|anything in staticChoices
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 0164d2d7633..4035b06a9be 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -131,7 +131,7 @@
if(!stat && M.a_intent == INTENT_DISARM && icon_state != icon_dead)
M.visible_message("[M] tips over [src].",
"You tip over [src].")
- src << "You are tipped over by [M]!"
+ to_chat(src, "You are tipped over by [M]!")
Weaken(30)
icon_state = icon_dead
spawn(rand(20,50))
@@ -261,9 +261,9 @@ var/global/chicken_count = 0
user.drop_item()
qdel(O)
eggsleft += rand(1, 4)
- //world << eggsleft
+ //to_chat(world, eggsleft)
else
- user << "[name] doesn't seem hungry!"
+ to_chat(user, "[name] doesn't seem hungry!")
else
..()
@@ -310,10 +310,10 @@ var/global/chicken_count = 0
/obj/item/udder/proc/milkAnimal(obj/O, mob/user)
var/obj/item/weapon/reagent_containers/glass/G = O
if(G.reagents.total_volume >= G.volume)
- user << "[O] is full."
+ to_chat(user, "[O] is full.")
return
var/transfered = reagents.trans_to(O, rand(5,10))
if(transfered)
user.visible_message("[user] milks [src] using \the [O].", "You milk [src] using \the [O].")
else
- user << "The udder is dry. Wait a bit longer..."
+ to_chat(user, "The udder is dry. Wait a bit longer...")
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 3dc0e000b6d..e22590b56b5 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -56,7 +56,7 @@
if( ishuman(AM) )
if(!stat)
var/mob/M = AM
- M << "\icon[src] Squeek!"
+ to_chat(M, "\icon[src] Squeek!")
playsound(src, 'sound/effects/mousesqueek.ogg', 100, 1)
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm
index fd28543a153..229218ea7da 100644
--- a/code/modules/mob/living/simple_animal/friendly/pet.dm
+++ b/code/modules/mob/living/simple_animal/friendly/pet.dm
@@ -13,7 +13,7 @@
collar = image('icons/mob/pets.dmi', src, "[icon_state]collar")
pettag = image('icons/mob/pets.dmi', src, "[icon_state]tag")
regenerate_icons()
- user << "You put the [P] around [src]'s neck."
+ to_chat(user, "You put the [P] around [src]'s neck.")
if(P.tagname)
real_name = "\proper [P.tagname]"
name = real_name
diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index 75a0f8687f2..5a83efc67f6 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -117,12 +117,12 @@ var/global/list/parasites = list() //all currently existing/living guardians
if(mind)
mind.name = "[real_name]"
if(!summoner)
- src << "For some reason, somehow, you have no summoner. Please report this bug immediately."
+ to_chat(src, "For some reason, somehow, you have no summoner. Please report this bug immediately.")
return
- src << "You are [real_name], bound to serve [summoner.real_name]."
- src << "You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with them privately there."
- src << "While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to them as you feed upon them to sustain yourself."
- src << playstyle_string
+ to_chat(src, "You are [real_name], bound to serve [summoner.real_name].")
+ to_chat(src, "You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with them privately there.")
+ to_chat(src, "While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to them as you feed upon them to sustain yourself.")
+ to_chat(src, playstyle_string)
/mob/living/simple_animal/hostile/guardian/Life() //Dies if the summoner dies
. = ..()
@@ -132,7 +132,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
if(summoner)
if(summoner.stat == DEAD)
forceMove(summoner.loc)
- src << "Your summoner has died!"
+ to_chat(src, "Your summoner has died!")
visible_message("\The [src] dies along with its user!")
summoner.visible_message("[summoner]'s body is completely consumed by the strain of sustaining [src]!")
for(var/obj/item/W in summoner)
@@ -142,7 +142,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
death(TRUE)
qdel(src)
else
- src << "Your summoner has died!"
+ to_chat(src, "Your summoner has died!")
visible_message("The [src] dies along with its user!")
death(TRUE)
qdel(src)
@@ -170,7 +170,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
if(get_dist(get_turf(summoner),get_turf(src)) <= range)
return
else
- src << "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!"
+ to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")
visible_message("\The [src] jumps back to its user.")
if(istype(summoner.loc, /obj/effect))
Recall(TRUE)
@@ -184,7 +184,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
/mob/living/simple_animal/hostile/guardian/AttackingTarget()
if(src.loc == summoner)
- src << "You must be manifested to attack!"
+ to_chat(src, "You must be manifested to attack!")
return 0
else
..()
@@ -194,7 +194,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
drop_all_held_items()
..()
if(summoner)
- summoner << "Your [name] died somehow!"
+ to_chat(summoner, "Your [name] died somehow!")
summoner.death()
/mob/living/simple_animal/hostile/guardian/update_health_hud()
@@ -213,10 +213,10 @@ var/global/list/parasites = list() //all currently existing/living guardians
return FALSE
summoner.adjustBruteLoss(amount)
if(amount > 0)
- summoner << "Your [name] is under attack! You take damage!"
+ to_chat(summoner, "Your [name] is under attack! You take damage!")
summoner.visible_message("Blood sprays from [summoner] as [src] takes damage!")
if(summoner.stat == UNCONSCIOUS)
- summoner << "Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!"
+ to_chat(summoner, "Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!")
summoner.adjustCloneLoss(amount * 0.5) //dying hosts take 50% bonus damage as cloneloss
update_health_hud()
@@ -232,7 +232,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
/mob/living/simple_animal/hostile/guardian/gib()
if(summoner)
- summoner << "Your [src] was blown up!"
+ to_chat(summoner, "Your [src] was blown up!")
summoner.gib()
ghostize()
qdel(src)
@@ -336,21 +336,21 @@ var/global/list/parasites = list() //all currently existing/living guardians
return TRUE
/mob/living/simple_animal/hostile/guardian/proc/ToggleMode()
- src << "You don't have another mode!"
+ to_chat(src, "You don't have another mode!")
/mob/living/simple_animal/hostile/guardian/proc/ToggleLight()
if(!luminosity)
- src << "You activate your light."
+ to_chat(src, "You activate your light.")
set_light(3)
else
- src << "You deactivate your light."
+ to_chat(src, "You deactivate your light.")
set_light(0)
/mob/living/simple_animal/hostile/guardian/verb/ShowType()
set name = "Check Guardian Type"
set category = "Guardian"
set desc = "Check what type you are."
- src << playstyle_string
+ to_chat(src, playstyle_string)
//COMMUNICATION
@@ -363,13 +363,13 @@ var/global/list/parasites = list() //all currently existing/living guardians
var/preliminary_message = "[input]" //apply basic color/bolding
var/my_message = "[src]: [preliminary_message]" //add source, color source with the guardian's color
- summoner << my_message
+ to_chat(summoner, my_message)
var/list/guardians = summoner.hasparasites()
for(var/para in guardians)
- para << my_message
+ to_chat(para, my_message)
for(var/M in dead_mob_list)
var/link = FOLLOW_LINK(M, src)
- M << "[link] [my_message]"
+ to_chat(M, "[link] [my_message]")
log_say("[src.real_name]/[src.key] : [input]")
@@ -384,14 +384,14 @@ var/global/list/parasites = list() //all currently existing/living guardians
var/preliminary_message = "[input]" //apply basic color/bolding
var/my_message = "[src]: [preliminary_message]" //add source, color source with default grey...
- src << my_message
+ to_chat(src, my_message)
var/list/guardians = hasparasites()
for(var/para in guardians)
var/mob/living/simple_animal/hostile/guardian/G = para
- G << "[src]: [preliminary_message]" //but for guardians, use their color for the source instead
+ to_chat(G, "[src]: [preliminary_message]" )
for(var/M in dead_mob_list)
var/link = FOLLOW_LINK(M, src)
- M << "[link] [my_message]"
+ to_chat(M, "[link] [my_message]")
log_say("[src.real_name]/[src.key] : [text]")
@@ -419,13 +419,13 @@ var/global/list/parasites = list() //all currently existing/living guardians
if(guardians.len)
var/mob/living/simple_animal/hostile/guardian/G = input(src, "Pick the guardian you wish to reset", "Guardian Reset") as null|anything in guardians
if(G)
- src << "You attempt to reset [G.real_name]'s personality..."
+ to_chat(src, "You attempt to reset [G.real_name]'s personality...")
var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", "pAI", null, FALSE, 100)
var/mob/dead/observer/new_stand = null
if(candidates.len)
new_stand = pick(candidates)
- G << "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance."
- src << "Your [G.real_name] has been successfully reset."
+ to_chat(G, "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.")
+ to_chat(src, "Your [G.real_name] has been successfully reset.")
message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(G)])")
G.ghostize(0)
G.setthemename(G.namedatum.theme) //give it a new color, to show it's a new person
@@ -433,16 +433,16 @@ var/global/list/parasites = list() //all currently existing/living guardians
G.reset = 1
switch(G.namedatum.theme)
if("tech")
- src << "[G.real_name] is now online!"
+ to_chat(src, "[G.real_name] is now online!")
if("magic")
- src << "[G.real_name] has been summoned!"
+ to_chat(src, "[G.real_name] has been summoned!")
guardians -= G
if(!guardians.len)
verbs -= /mob/living/proc/guardian_reset
else
- src << "There were no ghosts willing to take control of [G.real_name]. Looks like you're stuck with it for now."
+ to_chat(src, "There were no ghosts willing to take control of [G.real_name]. Looks like you're stuck with it for now.")
else
- src << "You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"]."
+ to_chat(src, "You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"].")
else
verbs -= /mob/living/proc/guardian_reset
@@ -481,20 +481,20 @@ var/global/list/parasites = list() //all currently existing/living guardians
/obj/item/weapon/guardiancreator/attack_self(mob/living/user)
if(isguardian(user) && !allowguardian)
- user << "[mob_name] chains are not allowed."
+ to_chat(user, "[mob_name] chains are not allowed.")
return
var/list/guardians = user.hasparasites()
if(guardians.len && !allowmultiple)
- user << "You already have a [mob_name]!"
+ to_chat(user, "You already have a [mob_name]!")
return
if(user.mind && user.mind.changeling && !allowling)
- user << "[ling_failure]"
+ to_chat(user, "[ling_failure]")
return
if(used == TRUE)
- user << "[used_message]"
+ to_chat(user, "[used_message]")
return
used = TRUE
- user << "[use_message]"
+ to_chat(user, "[use_message]")
var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100)
var/mob/dead/observer/theghost = null
@@ -502,7 +502,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
theghost = pick(candidates)
spawn_guardian(user, theghost.key)
else
- user << "[failure_message]"
+ to_chat(user, "[failure_message]")
used = FALSE
@@ -513,7 +513,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
else
guardiantype = input(user, "Pick the type of [mob_name]", "[mob_name] Creation") as null|anything in possible_guardians
if(!guardiantype)
- user << "[failure_message]" //they canceled? sure okay don't force them into it
+ to_chat(user, "[failure_message]" )
used = FALSE
return
var/pickedtype = /mob/living/simple_animal/hostile/guardian/punch
@@ -551,7 +551,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
var/list/guardians = user.hasparasites()
if(guardians.len && !allowmultiple)
- user << "You already have a [mob_name]!" //nice try, bucko
+ to_chat(user, "You already have a [mob_name]!" )
used = FALSE
return
var/mob/living/simple_animal/hostile/guardian/G = new pickedtype(user, theme)
@@ -560,14 +560,14 @@ var/global/list/parasites = list() //all currently existing/living guardians
G.mind.enslave_mind_to_creator(user)
switch(theme)
if("tech")
- user << "[G.tech_fluff_string]"
- user << "[G.real_name] is now online!"
+ to_chat(user, "[G.tech_fluff_string]")
+ to_chat(user, "[G.real_name] is now online!")
if("magic")
- user << "[G.magic_fluff_string]"
- user << "[G.real_name] has been summoned!"
+ to_chat(user, "[G.magic_fluff_string]")
+ to_chat(user, "[G.real_name] has been summoned!")
if("carp")
- user << "[G.carp_fluff_string]"
- user << "[G.real_name] has been caught!"
+ to_chat(user, "[G.carp_fluff_string]")
+ to_chat(user, "[G.real_name] has been caught!")
user.verbs += /mob/living/proc/guardian_comm
user.verbs += /mob/living/proc/guardian_recall
user.verbs += /mob/living/proc/guardian_reset
diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
index b14609413eb..a794a9420a1 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
@@ -55,7 +55,7 @@
environment_smash = initial(environment_smash)
alpha = initial(alpha)
if(!forced)
- src << "You exit stealth."
+ to_chat(src, "You exit stealth.")
else
visible_message("\The [src] suddenly appears!")
stealthcooldown = world.time + initial(stealthcooldown) //we were forced out of stealth and go on cooldown
@@ -64,7 +64,7 @@
toggle = FALSE
else if(stealthcooldown <= world.time)
if(src.loc == summoner)
- src << "You have to be manifested to enter stealth!"
+ to_chat(src, "You have to be manifested to enter stealth!")
return
melee_damage_lower = 50
melee_damage_upper = 50
@@ -74,11 +74,11 @@
new /obj/effect/overlay/temp/guardian/phase/out(get_turf(src))
alpha = 15
if(!forced)
- src << "You enter stealth, empowering your next attack."
+ to_chat(src, "You enter stealth, empowering your next attack.")
updatestealthalert()
toggle = TRUE
else if(!forced)
- src << "You cannot yet enter stealth, wait another [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] seconds!"
+ to_chat(src, "You cannot yet enter stealth, wait another [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] seconds!")
/mob/living/simple_animal/hostile/guardian/assassin/proc/updatestealthalert()
if(stealthcooldown <= world.time)
diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
index b8d942fa5a8..84bb6031f45 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
@@ -42,7 +42,7 @@
else
msg += "It is holding \icon[internal_storage] \a [internal_storage] in its internal storage.\n"
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
else
..()
@@ -84,7 +84,7 @@
internal_storage = I
update_inv_internal_storage()
else
- src << "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!"
+ to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")
/mob/living/simple_animal/hostile/guardian/dextrous/getBackSlot()
return slot_generic_dextrous_storage
diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
index acad094cc24..76e965fc903 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
@@ -35,17 +35,17 @@
if(!istype(A))
return
if(src.loc == summoner)
- src << "You must be manifested to create bombs!"
+ to_chat(src, "You must be manifested to create bombs!")
return
if(isobj(A))
if(bomb_cooldown <= world.time && !stat)
var/obj/guardian_bomb/B = new /obj/guardian_bomb(get_turf(A))
- src << "Success! Bomb armed!"
+ to_chat(src, "Success! Bomb armed!")
bomb_cooldown = world.time + 200
B.spawner = src
B.disguise(A)
else
- src << "Your powers are on cooldown! You must wait 20 seconds between bombs."
+ to_chat(src, "Your powers are on cooldown! You must wait 20 seconds between bombs.")
/obj/guardian_bomb
name = "bomb"
@@ -65,14 +65,14 @@
/obj/guardian_bomb/proc/disable()
stored_obj.forceMove(get_turf(src))
- spawner << "Failure! Your trap didn't catch anyone this time."
+ to_chat(spawner, "Failure! Your trap didn't catch anyone this time.")
qdel(src)
/obj/guardian_bomb/proc/detonate(mob/living/user)
if(isliving(user))
if(user != spawner && user != spawner.summoner && !spawner.hasmatchingsummoner(user))
- user << "The [src] was boobytrapped!"
- spawner << "Success! Your trap caught [user]"
+ to_chat(user, "The [src] was boobytrapped!")
+ to_chat(spawner, "Success! Your trap caught [user]")
var/turf/T = get_turf(src)
stored_obj.forceMove(T)
playsound(T,'sound/effects/Explosion2.ogg', 200, 1)
@@ -80,7 +80,7 @@
user.ex_act(2)
qdel(src)
else
- user << "[src] glows with a strange light, and you don't touch it."
+ to_chat(user, "[src] glows with a strange light, and you don't touch it.")
/obj/guardian_bomb/Bump(atom/A)
detonate(A)
@@ -95,4 +95,4 @@
/obj/guardian_bomb/examine(mob/user)
stored_obj.examine(user)
if(get_dist(user,src)<=2)
- user << "It glows with a strange light!"
+ to_chat(user, "It glows with a strange light!")
diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
index 5defc82199e..e242ba50bf4 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
@@ -37,7 +37,7 @@
melee_damage_upper = initial(melee_damage_upper)
speed = initial(speed)
damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.4, CLONE = 0.4, STAMINA = 0, OXY = 0.4)
- src << "You switch to combat mode."
+ to_chat(src, "You switch to combat mode.")
toggle = FALSE
else
var/image/I = new('icons/effects/effects.dmi', "shield-grey")
@@ -48,7 +48,7 @@
melee_damage_upper = 2
speed = 1
damage_coeff = list(BRUTE = 0.05, BURN = 0.05, TOX = 0.05, CLONE = 0.05, STAMINA = 0, OXY = 0.05) //damage? what's damage?
- src << "You switch to protection mode."
+ to_chat(src, "You switch to protection mode.")
toggle = TRUE
/mob/living/simple_animal/hostile/guardian/protector/snapback() //snap to what? snap to the guardian!
@@ -57,11 +57,11 @@
return
else
if(istype(summoner.loc, /obj/effect))
- src << "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!"
+ to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")
visible_message("\The [src] jumps back to its user.")
Recall(TRUE)
else
- summoner << "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!"
+ to_chat(summoner, "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!")
summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.")
new /obj/effect/overlay/temp/guardian/phase/out(get_turf(summoner))
summoner.forceMove(get_turf(src))
diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm
index be69f8624ed..56621cc34e3 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm
@@ -38,7 +38,7 @@
alpha = 255
range = initial(range)
incorporeal_move = 0
- src << "You switch to combat mode."
+ to_chat(src, "You switch to combat mode.")
toggle = FALSE
else
ranged = 0
@@ -49,10 +49,10 @@
alpha = 45
range = 255
incorporeal_move = 1
- src << "You switch to scout mode."
+ to_chat(src, "You switch to scout mode.")
toggle = TRUE
else
- src << "You have to be recalled to toggle modes!"
+ to_chat(src, "You have to be recalled to toggle modes!")
/mob/living/simple_animal/hostile/guardian/ranged/Shoot(atom/targeted_atom)
. = ..()
@@ -63,10 +63,10 @@
/mob/living/simple_animal/hostile/guardian/ranged/ToggleLight()
if(see_invisible == SEE_INVISIBLE_MINIMUM)
- src << "You deactivate your night vision."
+ to_chat(src, "You deactivate your night vision.")
see_invisible = SEE_INVISIBLE_LIVING
else
- src << "You activate your night vision."
+ to_chat(src, "You activate your night vision.")
see_invisible = SEE_INVISIBLE_MINIMUM
/mob/living/simple_animal/hostile/guardian/ranged/verb/Snare()
@@ -79,9 +79,9 @@
S.spawner = src
S.name = "[get_area(snare_loc)] snare ([rand(1, 1000)])"
src.snares |= S
- src << "Surveillance snare deployed!"
+ to_chat(src, "Surveillance snare deployed!")
else
- src << "You have too many snares deployed. Remove some first."
+ to_chat(src, "You have too many snares deployed. Remove some first.")
/mob/living/simple_animal/hostile/guardian/ranged/verb/DisarmSnare()
set name = "Remove Surveillance Snare"
@@ -91,7 +91,7 @@
if(picked_snare)
src.snares -= picked_snare
qdel(picked_snare)
- src << "Snare disarmed."
+ to_chat(src, "Snare disarmed.")
/obj/effect/snare
name = "snare"
@@ -102,7 +102,7 @@
/obj/effect/snare/Crossed(AM as mob|obj)
if(isliving(AM) && spawner && spawner.summoner && AM != spawner && !spawner.hasmatchingsummoner(AM))
- spawner.summoner << "[AM] has crossed surveillance snare, [name]."
+ to_chat(spawner.summoner, "[AM] has crossed surveillance snare, [name].")
var/list/guardians = spawner.summoner.hasparasites()
for(var/para in guardians)
- para << "[AM] has crossed surveillance snare, [name]."
+ to_chat(para, "[AM] has crossed surveillance snare, [name].")
diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm
index e8ac9184dd9..afffb626506 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/support.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm
@@ -51,7 +51,7 @@
damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7)
melee_damage_lower = 15
melee_damage_upper = 15
- src << "You switch to combat mode."
+ to_chat(src, "You switch to combat mode.")
toggle = FALSE
else
a_intent = INTENT_HELP
@@ -59,10 +59,10 @@
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
melee_damage_lower = 0
melee_damage_upper = 0
- src << "You switch to healing mode."
+ to_chat(src, "You switch to healing mode.")
toggle = TRUE
else
- src << "You have to be recalled to toggle modes!"
+ to_chat(src, "You have to be recalled to toggle modes!")
/mob/living/simple_animal/hostile/guardian/healer/verb/Beacon()
@@ -71,7 +71,7 @@
set desc = "Mark a floor as your beacon point, allowing you to warp targets to it. Your beacon will not work at extreme distances."
if(beacon_cooldown >= world.time)
- src << "Your power is on cooldown. You must wait five minutes between placing beacons."
+ to_chat(src, "Your power is on cooldown. You must wait five minutes between placing beacons.")
return
var/turf/beacon_loc = get_turf(src.loc)
@@ -84,7 +84,7 @@
beacon = new(beacon_loc, src)
- src << "Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click."
+ to_chat(src, "Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click.")
beacon_cooldown = world.time + 3000
@@ -111,30 +111,30 @@
if(!istype(A))
return
if(src.loc == summoner)
- src << "You must be manifested to warp a target!"
+ to_chat(src, "You must be manifested to warp a target!")
return
if(!beacon)
- src << "You need a beacon placed to warp things!"
+ to_chat(src, "You need a beacon placed to warp things!")
return
if(!Adjacent(A))
- src << "You must be adjacent to your target!"
+ to_chat(src, "You must be adjacent to your target!")
return
if(A.anchored)
- src << "Your target cannot be anchored!"
+ to_chat(src, "Your target cannot be anchored!")
return
var/turf/T = get_turf(A)
if(beacon.z != T.z)
- src << "The beacon is too far away to warp to!"
+ to_chat(src, "The beacon is too far away to warp to!")
return
- src << "You begin to warp [A]."
+ to_chat(src, "You begin to warp [A].")
A.visible_message("[A] starts to glow faintly!", \
"You start to faintly glow, and you feel strangely weightless!")
do_attack_animation(A, null, 1)
if(!do_mob(src, A, 60)) //now start the channel
- src << "You need to hold still!"
+ to_chat(src, "You need to hold still!")
return
new /obj/effect/overlay/temp/guardian/phase/out(T)
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index 6984d60af32..462bad0df16 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -86,7 +86,7 @@
if(istype(target, /mob/living/simple_animal/hostile/bear) && proximity_flag)
var/mob/living/simple_animal/hostile/bear/A = target
if(A.armored)
- user << "[A] has already been armored up!"
+ to_chat(user, "[A] has already been armored up!")
return
A.armored = TRUE
A.maxHealth += 60
@@ -95,7 +95,7 @@
A.melee_damage_lower += 5
A.melee_damage_upper += 5
A.update_icons()
- user << "You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea."
+ to_chat(user, "You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea.")
qdel(src)
diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm
index 84059e663c2..f01ff29a220 100644
--- a/code/modules/mob/living/simple_animal/hostile/bees.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bees.dm
@@ -81,7 +81,7 @@
..()
if(!beehome)
- user << "This bee is homeless!"
+ to_chat(user, "This bee is homeless!")
/mob/living/simple_animal/hostile/poison/bees/proc/generate_bee_visuals()
@@ -270,7 +270,7 @@
user.put_in_active_hand(qb)
user.visible_message("[user] injects [src] with royal bee jelly, causing it to split into two bees, MORE BEES!","You inject [src] with royal bee jelly, causing it to split into two bees, MORE BEES!")
else
- user << "You don't have enough royal bee jelly to split a bee in two!"
+ to_chat(user, "You don't have enough royal bee jelly to split a bee in two!")
else
var/datum/reagent/R = chemical_reagents_list[S.reagents.get_master_reagent_id()]
if(R && S.reagents.has_reagent(R.id, 5))
@@ -279,7 +279,7 @@
user.visible_message("[user] injects [src]'s genome with [R.name], mutating it's DNA!","You inject [src]'s genome with [R.name], mutating it's DNA!")
name = queen.name
else
- user << "You don't have enough units of that chemical to modify the bee's DNA!"
+ to_chat(user, "You don't have enough units of that chemical to modify the bee's DNA!")
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index 720d10e536c..e4241a4921d 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -68,7 +68,7 @@
if(spider_ask == "No" || !src || QDELETED(src))
return 1
if(key)
- user << "Someone else already took this spider."
+ to_chat(user, "Someone else already took this spider.")
return 1
key = user.key
return 1
@@ -260,9 +260,9 @@
if(stat == DEAD)
return
if(E)
- src << "There is already a cluster of eggs here!"
+ to_chat(src, "There is already a cluster of eggs here!")
else if(!fed)
- src << "You are too hungry to do this!"
+ to_chat(src, "You are too hungry to do this!")
else if(busy != LAYING_EGGS)
busy = LAYING_EGGS
src.visible_message("\the [src] begins to lay a cluster of eggs.")
diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
index 5443f76f458..fedd3021cfe 100644
--- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm
+++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
@@ -46,10 +46,10 @@
var/mob/living/carbon/C = target
if(C.stat == DEAD)
if(C.status_flags & XENO_HOST)
- src << "A foreign presence repels us from this body. Perhaps we should try to infest another?"
+ to_chat(src, "A foreign presence repels us from this body. Perhaps we should try to infest another?")
return
Infect(target)
- src << "With our egg laid, our death approaches rapidly..."
+ to_chat(src, "With our egg laid, our death approaches rapidly...")
spawn(100)
death()
return
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
index 635b7e21b6d..fff83e9ecdd 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
@@ -251,7 +251,7 @@ Difficulty: Hard
sleep(2.5)
for(var/mob/living/L in T)
if(!faction_check_mob(L))
- L << "[src] rends you!"
+ to_chat(L, "[src] rends you!")
playsound(T, attack_sound, 100, 1, -1)
var/limb_to_hit = L.get_bodypart(pick("head", "chest", "r_arm", "l_arm", "r_leg", "l_leg"))
L.apply_damage(25, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, "melee", null, null, armour_penetration))
@@ -267,7 +267,7 @@ Difficulty: Hard
sleep(6)
for(var/mob/living/L in T)
if(!faction_check_mob(L))
- L << "[src] drags you through the blood!"
+ to_chat(L, "[src] drags you through the blood!")
playsound(T, 'sound/magic/enter_blood.ogg', 100, 1, -1)
var/turf/targetturf = get_step(src, dir)
L.forceMove(targetturf)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
index 1916ca0ad8d..35cdf5102fd 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
@@ -178,7 +178,7 @@ Difficulty: Medium
J.hotspot_expose(700,50,1)
for(var/mob/living/L in J.contents - hit_things)
L.adjustFireLoss(20)
- L << "You're hit by the drake's fire breath!"
+ to_chat(L, "You're hit by the drake's fire breath!")
hit_things += L
previousturf = J
sleep(1)
@@ -247,7 +247,7 @@ Difficulty: Medium
if(!istype(A))
return
if(swoop_cooldown >= world.time)
- src << "You need to wait 20 seconds between swoop attacks!"
+ to_chat(src, "You need to wait 20 seconds between swoop attacks!")
return
swoop_attack(1, A)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
index 2102f06fed6..b289fd2b934 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
@@ -593,7 +593,7 @@ Difficulty: Hard
if(L.client)
flash_color(L.client, "#660099", 1)
playsound(L,'sound/weapons/sear.ogg', 50, 1, -4)
- L << "You're struck by a [name]!"
+ to_chat(L, "You're struck by a [name]!")
var/limb_to_hit = L.get_bodypart(pick("head", "chest", "r_arm", "l_arm", "r_leg", "l_leg"))
var/armor = L.run_armor_check(limb_to_hit, "melee", "Your armor absorbs [src]!", "Your armor blocks part of [src]!", 50, "Your armor was penetrated by [src]!")
L.apply_damage(damage, BURN, limb_to_hit, armor)
@@ -605,7 +605,7 @@ Difficulty: Hard
if(M.occupant)
if(friendly_fire_check && caster && caster.faction_check_mob(M.occupant))
continue
- M.occupant << "Your [M.name] is struck by a [name]!"
+ to_chat(M.occupant, "Your [M.name] is struck by a [name]!")
playsound(M,'sound/weapons/sear.ogg', 50, 1, -4)
M.take_damage(damage, BURN, 0, 0)
@@ -627,13 +627,13 @@ Difficulty: Hard
if(H.timer > world.time)
return
if(H.beacon == src)
- user << "You start removing your hierophant beacon..."
+ to_chat(user, "You start removing your hierophant beacon...")
H.timer = world.time + 51
INVOKE_ASYNC(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update)
if(do_after(user, 50, target = src))
playsound(src,'sound/magic/Blind.ogg', 200, 1, -4)
new /obj/effect/overlay/temp/hierophant/telegraph/teleport(get_turf(src), user)
- user << "You collect [src], reattaching it to the club!"
+ to_chat(user, "You collect [src], reattaching it to the club!")
H.beacon = null
user.update_action_buttons_icon()
qdel(src)
@@ -641,7 +641,7 @@ Difficulty: Hard
H.timer = world.time
INVOKE_ASYNC(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update)
else
- user << "You touch the beacon with the club, but nothing happens."
+ to_chat(user, "You touch the beacon with the club, but nothing happens.")
else
return ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
index 6ebd3dc6819..49d516a5ac8 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
@@ -156,7 +156,7 @@ Difficulty: Medium
/obj/item/weapon/staff/storm/attack_self(mob/user)
if(storm_cooldown > world.time)
- user << "The staff is still recharging!"
+ to_chat(user, "The staff is still recharging!")
return
var/area/user_area = get_area(user)
@@ -170,7 +170,7 @@ Difficulty: Medium
if(A.stage != END_STAGE)
if(A.stage == WIND_DOWN_STAGE)
- user << "The storm is already ending! It would be a waste to use the staff now."
+ to_chat(user, "The storm is already ending! It would be a waste to use the staff now.")
return
user.visible_message("[user] holds [src] skywards as an orange beam travels into the sky!", \
"You hold [src] skyward, dispelling the storm!")
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
index 2cc362e110a..a842e91fb8c 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
@@ -146,7 +146,7 @@
log_game("MEDAL ERROR: Could not contact hub to award medal:[medal] player:[player.ckey]")
message_admins("Error! Failed to contact hub to award [medal] medal to [player.ckey]!")
else if (result)
- player << "Achievement unlocked: [medal]!"
+ to_chat(player, "Achievement unlocked: [medal]!")
/proc/SetScore(score,client/player,increment,force)
@@ -209,7 +209,7 @@
log_game("MEDAL ERROR: Could not contact hub to get medal:[medal] player:[player.ckey]")
message_admins("Error! Failed to contact hub to get [medal] medal for [player.ckey]!")
else if (result)
- player << "[medal] is unlocked"
+ to_chat(player, "[medal] is unlocked")
/proc/LockMedal(medal,client/player)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
index 2b588b8ff36..e7ed85ad01a 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm
@@ -289,17 +289,17 @@
if(proximity_flag && ishuman(target))
var/mob/living/carbon/human/H = target
if(inert)
- user << "[src] has become inert, its healing properties are no more."
+ to_chat(user, "[src] has become inert, its healing properties are no more.")
return
else
if(H.stat == DEAD)
- user << "[src] are useless on the dead."
+ to_chat(user, "[src] are useless on the dead.")
return
if(H != user)
H.visible_message("[user] forces [H] to apply [src]... [H.p_they()] quickly regenerate all injuries!")
feedback_add_details("hivelord_core","[src.type]|used|other")
else
- user << "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments."
+ to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.")
feedback_add_details("hivelord_core","[src.type]|used|self")
H.revive(full_heal = 1)
qdel(src)
@@ -537,10 +537,10 @@
var/list/current_armor = C.armor
if(current_armor.["melee"] < 60)
current_armor.["melee"] = min(current_armor.["melee"] + 10, 60)
- user << "You strengthen [target], improving its resistance against melee attacks."
+ to_chat(user, "You strengthen [target], improving its resistance against melee attacks.")
use(1)
else
- user << "You can't improve [C] any further!"
+ to_chat(user, "You can't improve [C] any further!")
return
if(istype(target, /obj/mecha/working/ripley))
var/obj/mecha/working/ripley/D = target
@@ -549,7 +549,7 @@
D.armor["melee"] = min(D.armor["melee"] + 10, 70)
D.armor["bullet"] = min(D.armor["bullet"] + 5, 50)
D.armor["laser"] = min(D.armor["laser"] + 5, 50)
- user << "You strengthen [target], improving its resistance against melee attacks."
+ to_chat(user, "You strengthen [target], improving its resistance against melee attacks.")
D.update_icon()
if(D.hides == 3)
D.desc = "Autonomous Power Loader Unit. It's wearing a fearsome carapace entirely composed of goliath hide plates - its pilot must be an experienced monster hunter."
@@ -557,7 +557,7 @@
D.desc = "Autonomous Power Loader Unit. Its armour is enhanced with some goliath hide plates."
qdel(src)
else
- user << "You can't improve [D] any further!"
+ to_chat(user, "You can't improve [D] any further!")
return
@@ -620,13 +620,13 @@
set category = "Fugu"
set desc = "Temporarily increases your size, and makes you significantly more dangerous and tough."
if(wumbo)
- src << "You're already inflated."
+ to_chat(src, "You're already inflated.")
return
if(inflate_cooldown)
- src << "We need time to gather our strength."
+ to_chat(src, "We need time to gather our strength.")
return
if(buffed)
- src << "Something is interfering with our growth."
+ to_chat(src, "Something is interfering with our growth.")
return
wumbo = 1
icon_state = "Fugu_big"
@@ -682,7 +682,7 @@
if(proximity_flag && istype(target, /mob/living/simple_animal))
var/mob/living/simple_animal/A = target
if(A.buffed || (A.type in banned_mobs) || A.stat)
- user << "Something's interfering with the [src]'s effects. It's no use."
+ to_chat(user, "Something's interfering with the [src]'s effects. It's no use.")
return
A.buffed++
A.maxHealth *= 1.5
@@ -691,7 +691,7 @@
A.melee_damage_upper = max((A.melee_damage_upper * 2), 10)
A.transform *= 2
A.environment_smash += 2
- user << "You increase the size of [A], giving it a surge of strength!"
+ to_chat(user, "You increase the size of [A], giving it a surge of strength!")
qdel(src)
/////////////////////Lavaland
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index 43e76b256c8..e21a863e1db 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -39,9 +39,9 @@
/mob/living/simple_animal/hostile/mushroom/examine(mob/user)
..()
if(health >= maxHealth)
- user << "It looks healthy."
+ to_chat(user, "It looks healthy.")
else
- user << "It looks like it's been roughed up."
+ to_chat(user, "It looks like it's been roughed up.")
/mob/living/simple_animal/hostile/mushroom/Life()
..()
@@ -137,7 +137,7 @@
Recover()
qdel(I)
else
- user << "[src] won't eat it!"
+ to_chat(user, "[src] won't eat it!")
return
if(I.force)
Bruise()
diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm
index 1ac54e47439..01dfa7f9f42 100644
--- a/code/modules/mob/living/simple_animal/hostile/statue.dm
+++ b/code/modules/mob/living/simple_animal/hostile/statue.dm
@@ -74,7 +74,7 @@
/mob/living/simple_animal/hostile/statue/Move(turf/NewLoc)
if(can_be_seen(NewLoc))
if(client)
- src << "You cannot move, there are eyes on you!"
+ to_chat(src, "You cannot move, there are eyes on you!")
return 0
return ..()
@@ -92,7 +92,7 @@
/mob/living/simple_animal/hostile/statue/AttackingTarget()
if(can_be_seen(get_turf(loc)))
if(client)
- src << "You cannot attack, there are eyes on you!"
+ to_chat(src, "You cannot attack, there are eyes on you!")
return
else
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
index 6bfa9b46c50..ccfc3bd975d 100644
--- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
+++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm
@@ -42,7 +42,7 @@
var/mob/living/L = AM
if(!("vines" in L.faction))
L.adjustBruteLoss(5)
- L << "You cut yourself on the thorny vines."
+ to_chat(L, "You cut yourself on the thorny vines.")
@@ -107,7 +107,7 @@
if(A.density && A != L)
continue grasping
if(prob(grasp_chance))
- L << "\The [src] has you entangled!"
+ to_chat(L, "\The [src] has you entangled!")
grasping[L] = Beam(L, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine)
break //only take 1 new victim per cycle
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index c5906fb9914..3161901e593 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -122,7 +122,7 @@
/mob/living/simple_animal/parrot/examine(mob/user)
..()
if(stat)
- user << pick("This parrot is no more", "This is a late parrot", "This is an ex-parrot")
+ to_chat(user, pick("This parrot is no more", "This is a late parrot", "This is an ex-parrot"))
/mob/living/simple_animal/parrot/death(gibbed)
if(held_item)
@@ -218,19 +218,19 @@
if(copytext(possible_phrase,1,3) in department_radio_keys)
possible_phrase = copytext(possible_phrase,3)
else
- usr << "There is nothing to remove from its [remove_from]!"
+ to_chat(usr, "There is nothing to remove from its [remove_from]!")
return
//Adding things to inventory
else if(href_list["add_inv"])
var/add_to = href_list["add_inv"]
if(!usr.get_active_held_item())
- usr << "You have nothing in your hand to put on its [add_to]!"
+ to_chat(usr, "You have nothing in your hand to put on its [add_to]!")
return
switch(add_to)
if("ears")
if(ears)
- usr << "It's already wearing something!"
+ to_chat(usr, "It's already wearing something!")
return
else
var/obj/item/item_to_add = usr.get_active_held_item()
@@ -238,7 +238,7 @@
return
if( !istype(item_to_add, /obj/item/device/radio/headset) )
- usr << "This object won't fit!"
+ to_chat(usr, "This object won't fit!")
return
var/obj/item/device/radio/headset/headset_to_add = item_to_add
@@ -246,7 +246,7 @@
usr.drop_item()
headset_to_add.loc = src
src.ears = headset_to_add
- usr << "You fit the headset onto [src]."
+ to_chat(usr, "You fit the headset onto [src].")
clearlist(available_channels)
for(var/ch in headset_to_add.channels)
@@ -342,7 +342,7 @@
adjustBruteLoss(-10)
speak_chance *= 1.27 // 20 crackers to go from 1% to 100%
speech_shuffle_rate += 10
- user << "[src] eagerly devours the cracker."
+ to_chat(user, "[src] eagerly devours the cracker.")
..()
return
@@ -688,7 +688,7 @@
return -1
if(held_item)
- src << "You are already holding [held_item]!"
+ to_chat(src, "You are already holding [held_item]!")
return 1
for(var/obj/item/I in view(1,src))
@@ -704,7 +704,7 @@
visible_message("[src] grabs [held_item]!", "You grab [held_item]!", "You hear the sounds of wings flapping furiously.")
return held_item
- src << "There is nothing of interest to take!"
+ to_chat(src, "There is nothing of interest to take!")
return 0
/mob/living/simple_animal/parrot/proc/steal_from_mob()
@@ -716,7 +716,7 @@
return -1
if(held_item)
- src << "You are already holding [held_item]!"
+ to_chat(src, "You are already holding [held_item]!")
return 1
var/obj/item/stolen_item = null
@@ -733,7 +733,7 @@
visible_message("[src] grabs [held_item] out of [C]'s hand!", "You snag [held_item] out of [C]'s hand!", "You hear the sounds of wings flapping furiously.")
return held_item
- src << "There is nothing of interest to take!"
+ to_chat(src, "There is nothing of interest to take!")
return 0
/mob/living/simple_animal/parrot/verb/drop_held_item_player()
@@ -758,7 +758,7 @@
if(!held_item)
if(src == usr) //So that other mobs wont make this message appear when they're bludgeoning you.
- src << "You have nothing to drop!"
+ to_chat(src, "You have nothing to drop!")
return 0
@@ -777,11 +777,11 @@
var/obj/item/weapon/grenade/G = held_item
G.loc = src.loc
G.prime()
- src << "You let go of [held_item]!"
+ to_chat(src, "You let go of [held_item]!")
held_item = null
return 1
- src << "You drop [held_item]."
+ to_chat(src, "You drop [held_item].")
held_item.loc = src.loc
held_item = null
@@ -802,7 +802,7 @@
src.loc = AM.loc
icon_state = "parrot_sit"
return
- src << "There is no perch nearby to sit on!"
+ to_chat(src, "There is no perch nearby to sit on!")
return
@@ -820,12 +820,12 @@
continue
perch_on_human(H)
return
- src << "There is nobody nearby that you can sit on!"
+ to_chat(src, "There is nobody nearby that you can sit on!")
else
icon_state = "parrot_fly"
parrot_state = PARROT_WANDER
if(buckled)
- src << "You are no longer sitting on [buckled]'s shoulder."
+ to_chat(src, "You are no longer sitting on [buckled]'s shoulder.")
buckled.unbuckle_mob(src,force=1)
buckled = null
pixel_x = initial(pixel_x)
@@ -842,7 +842,7 @@
pixel_x = pick(-8,8) //pick left or right shoulder
icon_state = "parrot_sit"
parrot_state = PARROT_PERCH
- src << "You sit on [H]'s shoulder."
+ to_chat(src, "You sit on [H]'s shoulder.")
/mob/living/simple_animal/parrot/proc/toggle_mode()
@@ -859,7 +859,7 @@
else
melee_damage_upper = parrot_damage_upper
a_intent = INTENT_HARM
- src << "You will now [a_intent] others..."
+ to_chat(src, "You will now [a_intent] others...")
return
/*
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index b3cb38ba21c..65907606dcb 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -50,7 +50,7 @@
M.visible_message("[M] heals \the [src].", \
"You heal [src], leaving [src] at [health]/[maxHealth] health.")
else
- M << "You cannot heal [src], as [p_they()] [p_are()] unharmed!"
+ to_chat(M, "You cannot heal [src], as [p_they()] [p_are()] unharmed!")
else if(src != M)
..()
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index b729b964e14..eb469fd4674 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -235,7 +235,7 @@
if( abs(areatemp - bodytemperature) > 40 )
var/diff = areatemp - bodytemperature
diff = diff / 5
- //world << "changed from [bodytemperature] by [diff] to [bodytemperature + diff]"
+ //to_chat(world, "changed from [bodytemperature] by [diff] to [bodytemperature + diff]")
bodytemperature += diff
if(!environment_is_safe(environment))
@@ -377,7 +377,7 @@
if(be_close && !in_range(M, src))
return 0
else
- src << "You don't have the dexterity to do this!"
+ to_chat(src, "You don't have the dexterity to do this!")
return 0
return 1
@@ -486,7 +486,7 @@
if(istype(held_item, /obj/item/weapon/twohanded))
var/obj/item/weapon/twohanded/T = held_item
if(T.wielded == 1)
- usr << "Your other hand is too busy holding the [T.name]."
+ to_chat(usr, "Your other hand is too busy holding the [T.name].")
return
var/oindex = active_hand_index
active_hand_index = hand_index
diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm
index 2b61f578c97..6910fe6df1d 100644
--- a/code/modules/mob/living/simple_animal/slime/life.dm
+++ b/code/modules/mob/living/simple_animal/slime/life.dm
@@ -139,14 +139,14 @@
var/stasis = (bz_percentage >= 0.05 && bodytemperature < (T0C + 100)) || force_stasis
if(stat == CONSCIOUS && stasis)
- src << "Nerve gas in the air has put you in stasis!"
+ to_chat(src, "Nerve gas in the air has put you in stasis!")
stat = UNCONSCIOUS
powerlevel = 0
rabid = 0
update_canmove()
regenerate_icons()
else if(stat == UNCONSCIOUS && !stasis)
- src << "You wake up from the stasis."
+ to_chat(src, "You wake up from the stasis.")
stat = CONSCIOUS
update_canmove()
regenerate_icons()
@@ -196,7 +196,7 @@
else
++Friends[M.LAssailant]
else
- src << "This subject does not have a strong enough life energy anymore..."
+ to_chat(src, "This subject does not have a strong enough life energy anymore...")
if(M.client && ishuman(M))
if(prob(85))
@@ -211,13 +211,13 @@
C.adjustToxLoss(rand(1,2))
if(prob(10) && C.client)
- C << "[pick("You can feel your body becoming weak!", \
+ to_chat(C, "[pick("You can feel your body becoming weak!", \
"You feel like you're about to die!", \
"You feel every part of your body screaming in agony!", \
"A low, rolling pain passes through your body!", \
"Your body feels as if it's falling apart!", \
"You feel extremely weak!", \
- "A sharp, deep pain bathes every inch of your body!")]"
+ "A sharp, deep pain bathes every inch of your body!")]")
else if(isanimal(M))
var/mob/living/simple_animal/SA = M
diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm
index a6be39062a5..3585d989dc5 100644
--- a/code/modules/mob/living/simple_animal/slime/powers.dm
+++ b/code/modules/mob/living/simple_animal/slime/powers.dm
@@ -56,23 +56,23 @@
return 0
if(isslime(M))
- src << "I can't latch onto another slime..."
+ to_chat(src, "I can't latch onto another slime...")
return 0
if(docile)
- src << "I'm not hungry anymore..."
+ to_chat(src, "I'm not hungry anymore...")
return 0
if(stat)
- src << "I must be conscious to do this..."
+ to_chat(src, "I must be conscious to do this...")
return 0
if(M.stat == DEAD)
- src << "This subject does not have a strong enough life energy..."
+ to_chat(src, "This subject does not have a strong enough life energy...")
return 0
if(locate(/mob/living/simple_animal/slime) in M.buckled_mobs)
- src << "Another slime is already feeding on this subject..."
+ to_chat(src, "Another slime is already feeding on this subject...")
return 0
return 1
@@ -83,15 +83,15 @@
M.visible_message("[name] has latched onto [M]!", \
"[name] has latched onto [M]!")
else
- src << "I have failed to latch onto the subject!"
+ to_chat(src, "I have failed to latch onto the subject!")
/mob/living/simple_animal/slime/proc/Feedstop(silent=0, living=1)
if(buckled)
if(!living)
- src << "[pick("This subject is incompatible", \
+ to_chat(src, "[pick("This subject is incompatible", \
"This subject does not have life energy", "This subject is empty", \
"I am not satisified", "I can not feed from this subject", \
- "I do not feel nourished", "This subject is not food")]!"
+ "I do not feel nourished", "This subject is not food")]!")
if(!silent)
visible_message("[src] has let go of [buckled]!", \
"I stopped feeding.")
@@ -103,7 +103,7 @@
set desc = "This will let you evolve from baby to adult slime."
if(stat)
- src << "I must be conscious to do this..."
+ to_chat(src, "I must be conscious to do this...")
return
if(!is_adult)
if(amount_grown >= SLIME_EVOLUTION_THRESHOLD)
@@ -115,9 +115,9 @@
regenerate_icons()
update_name()
else
- src << "I am not ready to evolve yet..."
+ to_chat(src, "I am not ready to evolve yet...")
else
- src << "I have already evolved..."
+ to_chat(src, "I have already evolved...")
/datum/action/innate/slime/evolve
name = "Evolve"
@@ -136,13 +136,13 @@
set desc = "This will make you split into four Slimes."
if(stat)
- src << "I must be conscious to do this..."
+ to_chat(src, "I must be conscious to do this...")
return
if(is_adult)
if(amount_grown >= SLIME_EVOLUTION_THRESHOLD)
if(stat)
- src << "I must be conscious to do this..."
+ to_chat(src, "I must be conscious to do this...")
return
var/list/babies = list()
@@ -178,9 +178,9 @@
new_slime.key = src.key
qdel(src)
else
- src << "I am not ready to reproduce yet..."
+ to_chat(src, "I am not ready to reproduce yet...")
else
- src << "I am not old enough to reproduce yet..."
+ to_chat(src, "I am not old enough to reproduce yet...")
/datum/action/innate/slime/reproduce
name = "Reproduce"
diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
index f530ba40f2c..4c8c33f087e 100644
--- a/code/modules/mob/living/simple_animal/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -317,7 +317,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
++Friends[user]
else
Friends[user] = 1
- user << "You feed the slime the plasma. It chirps happily."
+ to_chat(user, "You feed the slime the plasma. It chirps happily.")
var/obj/item/stack/sheet/mineral/plasma/S = W
S.use(1)
return
@@ -326,7 +326,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
if(prob(25))
user.do_attack_animation(src)
user.changeNext_move(CLICK_CD_MELEE)
- user << "[W] passes right through [src]!"
+ to_chat(user, "[W] passes right through [src]!")
return
if(Discipline && prob(50)) // wow, buddy, why am I getting attacked??
Discipline = 0
@@ -376,7 +376,7 @@ var/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange",
msg += "It is radiating with massive levels of electrical activity!\n"
msg += "*---------*"
- user << msg
+ to_chat(user, msg)
return
/mob/living/simple_animal/slime/proc/discipline_slime(mob/user)
diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm
index fee790ffe3d..f26fd04e592 100644
--- a/code/modules/mob/living/status_procs.dm
+++ b/code/modules/mob/living/status_procs.dm
@@ -46,7 +46,7 @@
else if(priority_absorb_key["visible_message"])
visible_message("[src][priority_absorb_key["visible_message"]]")
else if(priority_absorb_key["self_message"])
- src << "[priority_absorb_key["self_message"]]"
+ to_chat(src, "[priority_absorb_key["self_message"]]")
priority_absorb_key["stuns_absorbed"] += amount
return 0
return ..()
@@ -68,7 +68,7 @@
else if(priority_absorb_key["visible_message"])
visible_message("[src][priority_absorb_key["visible_message"]]")
else if(priority_absorb_key["self_message"])
- src << "[priority_absorb_key["self_message"]]"
+ to_chat(src, "[priority_absorb_key["self_message"]]")
priority_absorb_key["stuns_absorbed"] += amount
return 0
return ..()
\ No newline at end of file
diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm
index 7ecc1fda3d6..7d570e008f6 100644
--- a/code/modules/mob/living/taste.dm
+++ b/code/modules/mob/living/taste.dm
@@ -26,7 +26,7 @@
"defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\
"regrets","your soul","suffering","music","noise","blood","hunger","the american way")
if(text_output != last_taste_text || last_taste_time + 100 < world.time)
- src << "You can taste [text_output]."
+ to_chat(src, "You can taste [text_output].")
// "somthing indescribable" -> too many tastes, not enough flavor.
last_taste_time = world.time
diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm
index 8c7a39f1a7a..a157e06402f 100644
--- a/code/modules/mob/living/ventcrawling.dm
+++ b/code/modules/mob/living/ventcrawling.dm
@@ -7,19 +7,19 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/components/unary
if(!ventcrawler || !Adjacent(A))
return
if(stat)
- src << "You must be conscious to do this!"
+ to_chat(src, "You must be conscious to do this!")
return
if(lying)
- src << "You can't vent crawl while you're stunned!"
+ to_chat(src, "You can't vent crawl while you're stunned!")
return
if(restrained())
- src << "You can't vent crawl while you're restrained!"
+ to_chat(src, "You can't vent crawl while you're restrained!")
return
if(has_buckled_mobs())
- src << "You can't vent crawl with other creatures on you!"
+ to_chat(src, "You can't vent crawl with other creatures on you!")
return
if(buckled)
- src << "You can't vent crawl while buckled!"
+ to_chat(src, "You can't vent crawl while buckled!")
return
var/obj/machinery/atmospherics/components/unary/vent_found
@@ -62,17 +62,17 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/components/unary
failed = 1
break
if(failed)
- src << "You can't crawl around in the ventilation ducts with items!"
+ to_chat(src, "You can't crawl around in the ventilation ducts with items!")
return
visible_message("[src] scrambles into the ventilation ducts!","You climb into the ventilation ducts.")
forceMove(vent_found)
else
- src << "This ventilation duct is not connected to anything!"
+ to_chat(src, "This ventilation duct is not connected to anything!")
/mob/living/simple_animal/slime/handle_ventcrawl(atom/A)
if(buckled)
- src << "I can't vent crawl while feeding..."
+ to_chat(src, "I can't vent crawl while feeding...")
return
..()
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 4523b14b7b4..a00ef03f93d 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -53,7 +53,7 @@ var/next_mob_id = 0
if(gas[MOLES])
t+="[gas[GAS_META][META_GAS_NAME]]: [gas[MOLES]] \n"
- usr << t
+ to_chat(usr, t)
/mob/proc/show_message(msg, type, alt_msg, alt_type)//Message, type of message (1 or 2), alternative message, alt message type (1 or 2)
@@ -81,9 +81,9 @@ var/next_mob_id = 0
// voice muffling
if(stat == UNCONSCIOUS)
if(type & 2) //audio
- src << "... You can almost hear something ..."
+ to_chat(src, "... You can almost hear something ...")
else
- src << msg
+ to_chat(src, msg)
// Show a message to all player mobs who sees this atom
// Show a message to the src mob (if the src is a mob)
@@ -199,7 +199,7 @@ var/next_mob_id = 0
qdel(W)
else
if(!disable_warning)
- src << "You are unable to equip that!" //Only print if qdel_on_fail is false
+ to_chat(src, "You are unable to equip that!" )
return 0
equip_to_slot(W, slot, redraw_mob) //This proc should not ever fail.
return 1
@@ -270,7 +270,7 @@ var/next_mob_id = 0
set category = "IC"
if(is_blind(src))
- src << "Something is there but you can't see it."
+ to_chat(src, "Something is there but you can't see it.")
return
face_atom(A)
@@ -411,7 +411,7 @@ var/next_mob_id = 0
if(mind)
mind.show_memory(src)
else
- src << "You don't have a mind datum for some reason, so you can't look at your notes, if you had any."
+ to_chat(src, "You don't have a mind datum for some reason, so you can't look at your notes, if you had any.")
/mob/verb/add_memory(msg as message)
set name = "Add Note"
@@ -423,7 +423,7 @@ var/next_mob_id = 0
if(mind)
mind.store_memory(msg)
else
- src << "You don't have a mind datum for some reason, so you can't add a note to it."
+ to_chat(src, "You don't have a mind datum for some reason, so you can't add a note to it.")
/mob/verb/abandon_mob()
set name = "Respawn"
@@ -432,12 +432,12 @@ var/next_mob_id = 0
if (!( abandon_allowed ))
return
if ((stat != 2 || !( ticker )))
- usr << "You must be dead to use this!"
+ to_chat(usr, "You must be dead to use this!")
return
log_game("[usr.name]/[usr.key] used abandon mob.")
- usr << "Please roleplay correctly!"
+ to_chat(usr, "Please roleplay correctly!")
if(!client)
log_game("[usr.key] AM failed due to disconnect.")
@@ -542,7 +542,7 @@ var/next_mob_id = 0
/mob/proc/see(message)
if(!is_active())
return 0
- src << message
+ to_chat(src, message)
return 1
/mob/proc/show_viewers(message)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 346c24789ab..ca406b71950 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -381,7 +381,7 @@ var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace o
/proc/notify_ghosts(var/message, var/ghost_sound = null, var/enter_link = null, var/atom/source = null, var/image/alert_overlay = null, var/action = NOTIFY_JUMP, flashwindow = TRUE) //Easy notification of ghosts.
for(var/mob/dead/observer/O in player_list)
if(O.client)
- O << "[message][(enter_link) ? " [enter_link]" : ""]"
+ to_chat(O, "[message][(enter_link) ? " [enter_link]" : ""]")
if(ghost_sound)
O << sound(ghost_sound)
if(flashwindow)
@@ -421,7 +421,7 @@ var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace o
user.visible_message("[user] has fixed some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting].", "You fix some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting].")
return 1 //successful heal
else
- user << "[affecting] is already in good condition!"
+ to_chat(user, "[affecting] is already in good condition!")
/proc/IsAdminGhost(var/mob/user)
@@ -438,7 +438,7 @@ var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace o
return TRUE
/proc/offer_control(mob/M)
- M << "Control of your mob has been offered to dead players."
+ to_chat(M, "Control of your mob has been offered to dead players.")
if(usr)
log_admin("[key_name(usr)] has offered control of ([key_name(M)]) to ghosts.")
message_admins("[key_name_admin(usr)] has offered control of ([key_name_admin(M)]) to ghosts")
@@ -452,13 +452,13 @@ var/static/regex/firstname = new("^\[^\\s-\]+") //First word before whitespace o
if(candidates.len)
theghost = pick(candidates)
- M << "Your mob has been taken over by a ghost!"
+ to_chat(M, "Your mob has been taken over by a ghost!")
message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(M)])")
M.ghostize(0)
M.key = theghost.key
return TRUE
else
- M << "There were no ghosts willing to take control."
+ to_chat(M, "There were no ghosts willing to take control.")
message_admins("No ghosts were willing to take control of [key_name_admin(M)])")
return FALSE
diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index 0b8c488ccd8..9fa225f26dc 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -50,13 +50,13 @@
var/mob/living/carbon/C = usr
C.toggle_throw_mode()
else
- usr << "This mob type cannot throw items."
+ to_chat(usr, "This mob type cannot throw items.")
return
/client/Northwest()
if(!usr.get_active_held_item())
- usr << "You have nothing to drop in your hand!"
+ to_chat(usr, "You have nothing to drop in your hand!")
return
usr.drop_item()
@@ -65,7 +65,7 @@
set hidden = 1
if(!usr.pulling)
- usr << "You are not pulling anything."
+ to_chat(usr, "You are not pulling anything.")
return
usr.stop_pulling()
@@ -194,7 +194,7 @@
return 1
else if(mob.restrained(ignore_grab = 1))
move_delay = world.time + 10
- src << "You're restrained! You can't move!"
+ to_chat(src, "You're restrained! You can't move!")
return 1
else
return mob.resist_grab(1)
@@ -253,14 +253,14 @@
if(3) //Incorporeal move, but blocked by holy-watered tiles and salt piles.
var/turf/open/floor/stepTurf = get_step(L, direct)
for(var/obj/effect/decal/cleanable/salt/S in stepTurf)
- L << "[S] bars your passage!"
+ to_chat(L, "[S] bars your passage!")
if(isrevenant(L))
var/mob/living/simple_animal/revenant/R = L
R.reveal(20)
R.stun(20)
return
if(stepTurf.flags & NOJAUNT)
- L << "Holy energies block your path."
+ to_chat(L, "Holy energies block your path.")
else
L.loc = get_step(L, direct)
L.setDir(direct)
@@ -278,7 +278,7 @@
if(backup)
if(istype(backup) && movement_dir && !backup.anchored)
if(backup.newtonian_move(turn(movement_dir, 180))) //You're pushing off something movable, so it moves
- src << "You push off of [backup] to propel yourself."
+ to_chat(src, "You push off of [backup] to propel yourself.")
return 1
return 0
diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm
index 404b4f57321..fd07279e830 100644
--- a/code/modules/mob/mob_transformation_simple.dm
+++ b/code/modules/mob/mob_transformation_simple.dm
@@ -5,7 +5,7 @@
/mob/proc/change_mob_type(new_type = null, turf/location = null, new_name = null as text, delete_old_mob = 0 as num)
if(isnewplayer(src))
- usr << "Cannot convert players who have not entered yet."
+ to_chat(usr, "Cannot convert players who have not entered yet.")
return
if(!new_type)
@@ -15,11 +15,11 @@
new_type = text2path(new_type)
if( !ispath(new_type) )
- usr << "Invalid type path (new_type = [new_type]) in change_mob_type(). Contact a coder."
+ to_chat(usr, "Invalid type path (new_type = [new_type]) in change_mob_type(). Contact a coder.")
return
if(ispath(new_type, /mob/new_player))
- usr << "Cannot convert into a new_player mob type."
+ to_chat(usr, "Cannot convert into a new_player mob type.")
return
var/mob/M
@@ -29,7 +29,7 @@
M = new new_type( src.loc )
if(!M || !ismob(M))
- usr << "Type path is not a mob (new_type = [new_type]) in change_mob_type(). Contact a coder."
+ to_chat(usr, "Type path is not a mob (new_type = [new_type]) in change_mob_type(). Contact a coder.")
qdel(M)
return
diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm
index ea206ed2009..6361756367b 100644
--- a/code/modules/mob/new_player/login.dm
+++ b/code/modules/mob/new_player/login.dm
@@ -7,13 +7,13 @@
..()
if(join_motd)
- src << "[join_motd]
"
+ to_chat(src, "[join_motd]
")
if(admin_notice)
- src << "Admin Notice:\n \t [admin_notice]"
+ to_chat(src, "Admin Notice:\n \t [admin_notice]")
if(config.soft_popcap && living_player_count() >= config.soft_popcap)
- src << "Server Notice:\n \t [config.soft_popcap_message]"
+ to_chat(src, "Server Notice:\n \t [config.soft_popcap_message]")
sight |= SEE_TURFS
@@ -29,4 +29,4 @@
new_player_panel()
client.playtitlemusic()
if(ticker.current_state < GAME_STATE_SETTING_UP)
- src << "Please set up your character and select \"Ready\". The game will start in about [round(ticker.GetTimeLeft(), 1)/10] seconds."
+ to_chat(src, "Please set up your character and select \"Ready\". The game will start in about [round(ticker.GetTimeLeft(), 1)/10] seconds.")
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 2cd5bb75d79..a248069b0a7 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -126,11 +126,11 @@
observer.started_as_observer = 1
close_spawn_windows()
var/obj/O = locate("landmark*Observer-Start")
- src << "Now teleporting."
+ to_chat(src, "Now teleporting.")
if (O)
observer.loc = O.loc
else
- src << "Teleporting failed. The map is probably still loading..."
+ to_chat(src, "Teleporting failed. The map is probably still loading...")
observer.key = key
observer.client = client
observer.set_ghost_appearance()
@@ -146,7 +146,7 @@
if(href_list["late_join"])
if(!ticker || ticker.current_state != GAME_STATE_PLAYING)
- usr << "The round is either not ready, or has already finished..."
+ to_chat(usr, "The round is either not ready, or has already finished...")
return
if(href_list["late_join"] == "override")
@@ -154,16 +154,16 @@
return
if(ticker.queued_players.len || (relevant_cap && living_player_count() >= relevant_cap && !(ckey(key) in admin_datums)))
- usr << "[config.hard_popcap_message]"
+ to_chat(usr, "[config.hard_popcap_message]")
var/queue_position = ticker.queued_players.Find(usr)
if(queue_position == 1)
- usr << "You are next in line to join the game. You will be notified when a slot opens up."
+ to_chat(usr, "You are next in line to join the game. You will be notified when a slot opens up.")
else if(queue_position)
- usr << "There are [queue_position-1] players in front of you in the queue to join the game."
+ to_chat(usr, "There are [queue_position-1] players in front of you in the queue to join the game.")
else
ticker.queued_players += usr
- usr << "You have been added to the queue to join the game. Your position in queue is [ticker.queued_players.len]."
+ to_chat(usr, "You have been added to the queue to join the game. Your position in queue is [ticker.queued_players.len].")
return
LateChoices()
@@ -173,12 +173,12 @@
if(href_list["SelectedJob"])
if(!enter_allowed)
- usr << "There is an administrative lock on entering the game!"
+ to_chat(usr, "There is an administrative lock on entering the game!")
return
if(ticker.queued_players.len && !(ckey(key) in admin_datums))
if((living_player_count() >= relevant_cap) || (src != ticker.queued_players[1]))
- usr << "Server is full."
+ to_chat(usr, "Server is full.")
return
AttemptLateSpawn(href_list["SelectedJob"])
@@ -211,22 +211,22 @@
if(POLLTYPE_OPTION)
var/optionid = text2num(href_list["voteoptionid"])
if(vote_on_poll(pollid, optionid))
- usr << "Vote successful."
+ to_chat(usr, "Vote successful.")
else
- usr << "Vote failed, please try again or contact an administrator."
+ to_chat(usr, "Vote failed, please try again or contact an administrator.")
if(POLLTYPE_TEXT)
var/replytext = href_list["replytext"]
if(log_text_poll_reply(pollid, replytext))
- usr << "Feedback logging successful."
+ to_chat(usr, "Feedback logging successful.")
else
- usr << "Feedback logging failed, please try again or contact an administrator."
+ to_chat(usr, "Feedback logging failed, please try again or contact an administrator.")
if(POLLTYPE_RATING)
var/id_min = text2num(href_list["minid"])
var/id_max = text2num(href_list["maxid"])
if( (id_max - id_min) > 100 ) //Basic exploit prevention
//(protip, this stops no exploits)
- usr << "The option ID difference is too big. Please contact administration or the database admin."
+ to_chat(usr, "The option ID difference is too big. Please contact administration or the database admin.")
return
for(var/optionid = id_min; optionid <= id_max; optionid++)
@@ -240,15 +240,15 @@
return
if(!vote_on_numval_poll(pollid, optionid, rating))
- usr << "Vote failed, please try again or contact an administrator."
+ to_chat(usr, "Vote failed, please try again or contact an administrator.")
return
- usr << "Vote successful."
+ to_chat(usr, "Vote successful.")
if(POLLTYPE_MULTI)
var/id_min = text2num(href_list["minoptionid"])
var/id_max = text2num(href_list["maxoptionid"])
if( (id_max - id_min) > 100 ) //Basic exploit prevention
- usr << "The option ID difference is too big. Please contact administration or the database admin."
+ to_chat(usr, "The option ID difference is too big. Please contact administration or the database admin.")
return
for(var/optionid = id_min; optionid <= id_max; optionid++)
@@ -258,20 +258,20 @@
if(0)
continue
if(1)
- usr << "Vote failed, please try again or contact an administrator."
+ to_chat(usr, "Vote failed, please try again or contact an administrator.")
return
if(2)
- usr << "Maximum replies reached."
+ to_chat(usr, "Maximum replies reached.")
break
- usr << "Vote successful."
+ to_chat(usr, "Vote successful.")
if(POLLTYPE_IRV)
if (!href_list["IRVdata"])
- src << "No ordering data found. Please try again or contact an administrator."
+ to_chat(src, "No ordering data found. Please try again or contact an administrator.")
var/list/votelist = splittext(href_list["IRVdata"], ",")
if (!vote_on_irv_poll(pollid, votelist))
- src << "Vote failed, please try again or contact an administrator."
+ to_chat(src, "Vote failed, please try again or contact an administrator.")
return
- src << "Vote successful."
+ to_chat(src, "Vote successful.")
/mob/new_player/proc/IsJobAvailable(rank)
var/datum/job/job = SSjob.GetJob(rank)
@@ -297,7 +297,7 @@
/mob/new_player/proc/AttemptLateSpawn(rank)
if(!IsJobAvailable(rank))
- src << alert("[rank] is not available. Please try another.")
+ to_chat(src, alert("[rank] is not available. Please try another."))
return 0
//Remove the player from the join queue if he was in one and reset the timer
@@ -337,7 +337,7 @@
AnnounceArrival(humanc, rank)
AddEmploymentContract(humanc)
if(highlander)
- humanc << "THERE CAN BE ONLY ONE!!!"
+ to_chat(humanc, "THERE CAN BE ONLY ONE!!!")
humanc.make_scottish()
joined_player_list += character.ckey
diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/new_player/poll.dm
index b5efb33d028..80a43d5be40 100644
--- a/code/modules/mob/new_player/poll.dm
+++ b/code/modules/mob/new_player/poll.dm
@@ -4,7 +4,7 @@
/mob/new_player/proc/handle_player_polling()
if(!dbcon.IsConnected())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
var/DBQuery/query_poll_get = dbcon.NewQuery("SELECT id, question FROM [format_table_name("poll_question")] WHERE Now() BETWEEN starttime AND endtime [(client.holder ? "" : "AND adminonly = false")]")
if(!query_poll_get.warn_execute())
@@ -23,7 +23,7 @@
if(!pollid)
return
if (!dbcon.Connect())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
var/DBQuery/query_poll_get_details = dbcon.NewQuery("SELECT starttime, endtime, question, polltype, multiplechoiceoptions FROM [format_table_name("poll_question")] WHERE id = [pollid]")
if(!query_poll_get_details.warn_execute())
@@ -328,13 +328,13 @@
if (text)
table = "poll_textreply"
if (!dbcon.Connect())
- usr << "Failed to establish database connection."
+ to_chat(usr, "Failed to establish database connection.")
return
var/DBQuery/query_hasvoted = dbcon.NewQuery("SELECT id FROM `[format_table_name(table)]` WHERE pollid = [pollid] AND ckey = '[ckey]'")
if(!query_hasvoted.warn_execute())
return
if(query_hasvoted.NextRow())
- usr << "You've already replied to this poll."
+ to_chat(usr, "You've already replied to this poll.")
return
. = "Player"
if(client.holder)
@@ -349,14 +349,14 @@
//we gots ourselfs a dirty cheater on our hands!
log_game("[key_name(usr)] attempted to rig the vote by voting as [ckey]")
message_admins("[key_name_admin(usr)] attempted to rig the vote by voting as [ckey]")
- usr << "You don't seem to be [ckey]."
- src << "Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this"
+ to_chat(usr, "You don't seem to be [ckey].")
+ to_chat(src, "Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this")
return 0
return 1
/mob/new_player/proc/vote_valid_check(pollid, holder, type)
if (!dbcon.Connect())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return 0
pollid = text2num(pollid)
if (!pollid || pollid < 0)
@@ -371,7 +371,7 @@
/mob/new_player/proc/vote_on_irv_poll(pollid, list/votelist)
if (!dbcon.Connect())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return 0
if (!vote_rig_check())
return 0
@@ -408,13 +408,13 @@
vote = text2num(vote)
numberedvotelist += vote
if (!vote) //this is fine because voteid starts at 1, so it will never be 0
- src << "Error: Invalid (non-numeric) votes in the vote data."
+ to_chat(src, "Error: Invalid (non-numeric) votes in the vote data.")
return 0
if (!(vote in optionlist))
- src << "Votes for choices that do not appear to be in the poll detected"
+ to_chat(src, "Votes for choices that do not appear to be in the poll detected")
return 0
if (!numberedvotelist.len)
- src << "Invalid vote data"
+ to_chat(src, "Invalid vote data")
return 0
//lets add the vote, first we generate a insert statement.
@@ -440,7 +440,7 @@
/mob/new_player/proc/vote_on_poll(pollid, optionid)
if (!dbcon.Connect())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return 0
if (!vote_rig_check())
return 0
@@ -460,7 +460,7 @@
/mob/new_player/proc/log_text_poll_reply(pollid, replytext)
if (!dbcon.Connect())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return 0
if (!vote_rig_check())
return 0
@@ -470,14 +470,14 @@
if (!vote_valid_check(pollid, client.holder, POLLTYPE_TEXT))
return 0
if(!replytext)
- usr << "The text you entered was blank. Please correct the text and submit again."
+ to_chat(usr, "The text you entered was blank. Please correct the text and submit again.")
return
var/adminrank = sanitizeSQL(poll_check_voted(pollid, TRUE))
if(!adminrank)
return
replytext = sanitizeSQL(replytext)
if(!(length(replytext) > 0) || !(length(replytext) <= 8000))
- usr << "The text you entered was invalid or too long. Please correct the text and submit again."
+ to_chat(usr, "The text you entered was invalid or too long. Please correct the text and submit again.")
return
var/DBQuery/query_text_vote = dbcon.NewQuery("INSERT INTO [format_table_name("poll_textreply")] (datetime ,pollid ,ckey ,ip ,replytext ,adminrank) VALUES (Now(), [pollid], '[ckey]', INET_ATON('[client.address]'), '[replytext]', '[adminrank]')")
if(!query_text_vote.warn_execute())
@@ -487,7 +487,7 @@
/mob/new_player/proc/vote_on_numval_poll(pollid, optionid, rating)
if (!dbcon.Connect())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return 0
if (!vote_rig_check())
return 0
@@ -500,7 +500,7 @@
if(!query_numval_hasvoted.warn_execute())
return
if(query_numval_hasvoted.NextRow())
- usr << "You've already replied to this poll."
+ to_chat(usr, "You've already replied to this poll.")
return
var/adminrank = "Player"
if(client.holder)
@@ -514,7 +514,7 @@
/mob/new_player/proc/vote_on_multi_poll(pollid, optionid)
if (!dbcon.Connect())
- src << "Failed to establish database connection."
+ to_chat(src, "Failed to establish database connection.")
return 0
if (!vote_rig_check())
return 0
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index e7ceb3e1eef..85e6e65f999 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -3,7 +3,7 @@
set name = "Say"
set category = "IC"
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
usr.say(message)
@@ -11,7 +11,7 @@
set name = "Whisper"
set category = "IC"
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
say(message) //only carbons actually whisper, everything else just talks
@@ -20,7 +20,7 @@
set category = "IC"
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
@@ -32,16 +32,16 @@
var/alt_name = ""
if(say_disabled) //This is here to try to identify lag problems
- usr << "Speech is currently admin-disabled."
+ to_chat(usr, "Speech is currently admin-disabled.")
return
if(jobban_isbanned(src, "OOC"))
- src << "You have been banned from deadchat."
+ to_chat(src, "You have been banned from deadchat.")
return
if (src.client)
if(src.client.prefs.muted & MUTE_DEADCHAT)
- src << "You cannot talk in deadchat (muted)."
+ to_chat(src, "You cannot talk in deadchat (muted).")
return
if(src.client.handle_spam_prevention(message,MUTE_DEADCHAT))
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 7d3a79353f9..da51356ec55 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -126,7 +126,7 @@
if (tr_flags & TR_DEFAULTMSG)
- O << "You are now a monkey."
+ to_chat(O, "You are now a monkey.")
for(var/A in loc.vars)
if(loc.vars[A] == src)
@@ -276,7 +276,7 @@
O.a_intent = INTENT_HELP
if (tr_flags & TR_DEFAULTMSG)
- O << "You are now a human."
+ to_chat(O, "You are now a human.")
. = O
@@ -324,7 +324,7 @@
continue
loc_landmark = tripai.loc
if(!loc_landmark)
- src << "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone."
+ to_chat(src, "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone.")
for(var/obj/effect/landmark/start/sloc in landmarks_list)
if (sloc.name == "AI")
loc_landmark = sloc.loc
@@ -417,7 +417,7 @@
new_xeno.a_intent = INTENT_HARM
new_xeno.key = key
- new_xeno << "You are now an alien."
+ to_chat(new_xeno, "You are now an alien.")
. = new_xeno
qdel(src)
@@ -449,7 +449,7 @@
new_slime.a_intent = INTENT_HARM
new_slime.key = key
- new_slime << "You are now a slime. Skreee!"
+ to_chat(new_slime, "You are now a slime. Skreee!")
. = new_slime
qdel(src)
@@ -480,7 +480,7 @@
new_corgi.a_intent = INTENT_HARM
new_corgi.key = key
- new_corgi << "You are now a Corgi. Yap Yap!"
+ to_chat(new_corgi, "You are now a Corgi. Yap Yap!")
. = new_corgi
qdel(src)
@@ -490,7 +490,7 @@
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
if(!safe_animal(mobpath))
- usr << "Sorry but this mob type is currently unavailable."
+ to_chat(usr, "Sorry but this mob type is currently unavailable.")
return
if(notransform)
@@ -513,7 +513,7 @@
new_mob.a_intent = INTENT_HARM
- new_mob << "You suddenly feel more... animalistic."
+ to_chat(new_mob, "You suddenly feel more... animalistic.")
. = new_mob
qdel(src)
@@ -523,14 +523,14 @@
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
if(!safe_animal(mobpath))
- usr << "Sorry but this mob type is currently unavailable."
+ to_chat(usr, "Sorry but this mob type is currently unavailable.")
return
var/mob/new_mob = new mobpath(src.loc)
new_mob.key = key
new_mob.a_intent = INTENT_HARM
- new_mob << "You feel more... animalistic"
+ to_chat(new_mob, "You feel more... animalistic")
. = new_mob
qdel(src)
diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm
index c9c363ca98d..de6c2b74cae 100644
--- a/code/modules/modular_computers/computers/item/computer.dm
+++ b/code/modules/modular_computers/computers/item/computer.dm
@@ -176,19 +176,19 @@
/obj/item/device/modular_computer/emag_act(mob/user)
if(emagged)
- user << "\The [src] was already emagged."
+ to_chat(user, "\The [src] was already emagged.")
return 0
else
emagged = 1
- user << "You emag \the [src]. It's screen briefly shows a \"OVERRIDE ACCEPTED: New software downloads available.\" message."
+ to_chat(user, "You emag \the [src]. It's screen briefly shows a \"OVERRIDE ACCEPTED: New software downloads available.\" message.")
return 1
/obj/item/device/modular_computer/examine(mob/user)
..()
if(obj_integrity <= integrity_failure)
- user << "It is heavily damaged!"
+ to_chat(user, "It is heavily damaged!")
else if(obj_integrity < max_integrity)
- user << "It is damaged."
+ to_chat(user, "It is damaged.")
/obj/item/device/modular_computer/update_icon()
cut_overlays()
@@ -217,9 +217,9 @@
var/issynth = issilicon(user) // Robots and AIs get different activation messages.
if(obj_integrity <= integrity_failure)
if(issynth)
- user << "You send an activation signal to \the [src], but it responds with an error code. It must be damaged."
+ to_chat(user, "You send an activation signal to \the [src], but it responds with an error code. It must be damaged.")
else
- user << "You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again."
+ to_chat(user, "You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.")
return
// If we have a recharger, enable it automatically. Lets computer without a battery work.
@@ -229,17 +229,17 @@
if(all_components[MC_CPU] && use_power()) // use_power() checks if the PC is powered
if(issynth)
- user << "You send an activation signal to \the [src], turning it on."
+ to_chat(user, "You send an activation signal to \the [src], turning it on.")
else
- user << "You press the power button and start up \the [src]."
+ to_chat(user, "You press the power button and start up \the [src].")
enabled = 1
update_icon()
ui_interact(user)
else // Unpowered
if(issynth)
- user << "You send an activation signal to \the [src] but it does not respond."
+ to_chat(user, "You send an activation signal to \the [src] but it does not respond.")
else
- user << "You press the power button but \the [src] does not respond."
+ to_chat(user, "You press the power button but \the [src] does not respond.")
// Process currently calls handle_power(), may be expanded in future if more things are added.
/obj/item/device/modular_computer/process()
@@ -384,7 +384,7 @@
if(istype(W, /obj/item/weapon/wrench))
if(all_components.len)
- user << "Remove all components from \the [src] before disassembling it."
+ to_chat(user, "Remove all components from \the [src] before disassembling it.")
return
new /obj/item/stack/sheet/metal( get_turf(src.loc), steel_sheet_cost )
physical.visible_message("\The [src] has been disassembled by [user].")
@@ -395,23 +395,23 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(!WT.isOn())
- user << "\The [W] is off."
+ to_chat(user, "\The [W] is off.")
return
if(obj_integrity == max_integrity)
- user << "\The [src] does not require repairs."
+ to_chat(user, "\The [src] does not require repairs.")
return
- user << "You begin repairing damage to \the [src]..."
+ to_chat(user, "You begin repairing damage to \the [src]...")
var/dmg = round(max_integrity - obj_integrity)
if(WT.remove_fuel(round(dmg/75)) && do_after(usr, dmg/10))
obj_integrity = max_integrity
- user << "You repair \the [src]."
+ to_chat(user, "You repair \the [src].")
return
if(istype(W, /obj/item/weapon/screwdriver))
if(!all_components.len)
- user << "This device doesn't have any components installed."
+ to_chat(user, "This device doesn't have any components installed.")
return
var/list/component_names = list()
for(var/h in all_components)
diff --git a/code/modules/modular_computers/computers/item/computer_components.dm b/code/modules/modular_computers/computers/item/computer_components.dm
index 7335a2f200f..e036f57d7de 100644
--- a/code/modules/modular_computers/computers/item/computer_components.dm
+++ b/code/modules/modular_computers/computers/item/computer_components.dm
@@ -3,11 +3,11 @@
return FALSE
if(H.w_class > max_hardware_size)
- user << "This component is too large for \the [src]!"
+ to_chat(user, "This component is too large for \the [src]!")
return FALSE
if(all_components[H.device_type])
- user << "This computer's hardware slot is already occupied by \the [all_components[H.device_type]]."
+ to_chat(user, "This computer's hardware slot is already occupied by \the [all_components[H.device_type]].")
return FALSE
return TRUE
@@ -22,7 +22,7 @@
all_components[H.device_type] = H
- user << "You install \the [H] into \the [src]."
+ to_chat(user, "You install \the [H] into \the [src].")
H.holder = src
H.forceMove(src)
H.on_install(src, user)
@@ -35,7 +35,7 @@
all_components.Remove(H.device_type)
- user << "You remove \the [H] from \the [src]."
+ to_chat(user, "You remove \the [H] from \the [src].")
H.forceMove(get_turf(src))
H.holder = null
diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm
index 06761844de5..304a9877c69 100644
--- a/code/modules/modular_computers/computers/item/computer_ui.dm
+++ b/code/modules/modular_computers/computers/item/computer_ui.dm
@@ -26,7 +26,7 @@
// This screen simply lists available programs and user may select them.
var/obj/item/weapon/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
if(!hard_drive || !hard_drive.stored_files || !hard_drive.stored_files.len)
- user << "\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning."
+ to_chat(user, "\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning.")
return // No HDD, No HDD files list or no stored files. Something is very broken.
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
@@ -89,7 +89,7 @@
return
P.kill_program(forced = TRUE)
- user << "Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed."
+ to_chat(user, "Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed.")
if("PC_runprogram")
var/prog = params["name"]
@@ -99,7 +99,7 @@
P = hard_drive.find_file_by_name(prog)
if(!P || !istype(P)) // Program not found or it's not executable program.
- user << "\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning."
+ to_chat(user, "\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning.")
return
P.computer = src
@@ -118,11 +118,11 @@
var/obj/item/weapon/computer_hardware/processor_unit/PU = all_components[MC_CPU]
if(idle_threads.len > PU.max_idle_programs)
- user << "\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error."
+ to_chat(user, "\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error.")
return
if(P.requires_ntnet && !get_ntnet_status(P.requires_ntnet_feature)) // The program requires NTNet connection, but we are not connected to NTNet.
- user << "\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning."
+ to_chat(user, "\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning.")
return
if(P.run_program(user))
active_program = P
diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm
index 31bac1a0f34..f87eb0e6daf 100644
--- a/code/modules/modular_computers/computers/item/laptop.dm
+++ b/code/modules/modular_computers/computers/item/laptop.dm
@@ -83,11 +83,11 @@
/obj/item/device/modular_computer/laptop/proc/toggle_open(mob/living/user=null)
if(screen_on)
- user << "You close \the [src]."
+ to_chat(user, "You close \the [src].")
slowdown = initial(slowdown)
w_class = initial(w_class)
else
- user << "You open \the [src]."
+ to_chat(user, "You open \the [src].")
slowdown = slowdown_open
w_class = w_class_open
diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm
index 46a9ea8ebc8..51afc6371d6 100644
--- a/code/modules/modular_computers/file_system/program.dm
+++ b/code/modules/modular_computers/file_system/program.dm
@@ -51,7 +51,7 @@
/datum/computer_file/program/proc/is_supported_by_hardware(hardware_flag = 0, loud = 0, mob/user = null)
if(!(hardware_flag & usage_flags))
if(loud && computer && user)
- user << "\The [computer] flashes an \"Hardware Error - Incompatible software\" warning."
+ to_chat(user, "\The [computer] flashes an \"Hardware Error - Incompatible software\" warning.")
return 0
return 1
@@ -102,7 +102,7 @@
if(!I && !C && !D)
if(loud)
- user << "\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning."
+ to_chat(user, "\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.")
return 0
if(I)
@@ -115,7 +115,7 @@
if(access_to_check in D.GetAccess())
return 1
if(loud)
- user << "\The [computer] flashes an \"Access Denied\" warning."
+ to_chat(user, "\The [computer] flashes an \"Access Denied\" warning.")
return 0
// This attempts to retrieve header data for UIs. If implementing completely new device of different type than existing ones
diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm
index c5d7872ed8c..792c79f4639 100644
--- a/code/modules/modular_computers/file_system/programs/card.dm
+++ b/code/modules/modular_computers/file_system/programs/card.dm
@@ -154,7 +154,7 @@
contents += " [get_access_desc(A)]"
if(!printer.print_text(contents,"access report"))
- usr << "Hardware error: Printer was unable to print the file. It may be out of paper."
+ to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.")
return
else
computer.visible_message("\The [computer] prints out paper.")
@@ -164,7 +164,7 @@
[data_core ? data_core.get_manifest(0) : ""]
"}
if(!printer.print_text(contents,text("crew manifest ([])", worldtime2text())))
- usr << "Hardware error: Printer was unable to print the file. It may be out of paper."
+ to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.")
return
else
computer.visible_message("\The [computer] prints out paper.")
@@ -235,7 +235,7 @@
jobdatum = J
break
if(!jobdatum)
- usr << "No log exists for this job: [t1]"
+ to_chat(usr, "No log exists for this job: [t1]")
return
access = jobdatum.get_access()
diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm
index 27a4cd4480c..ff084908c9e 100644
--- a/code/modules/modular_computers/hardware/_hardware.dm
+++ b/code/modules/modular_computers/hardware/_hardware.dm
@@ -34,19 +34,19 @@
/obj/item/weapon/computer_hardware/attackby(obj/item/I, mob/living/user)
// Multitool. Runs diagnostics
if(istype(I, /obj/item/device/multitool))
- user << "***** DIAGNOSTICS REPORT *****"
+ to_chat(user, "***** DIAGNOSTICS REPORT *****")
diagnostics(user)
- user << "******************************"
+ to_chat(user, "******************************")
return 1
// Cable coil. Works as repair method, but will probably require multiple applications and more cable.
if(istype(I, /obj/item/stack/cable_coil))
var/obj/item/stack/S = I
if(obj_integrity == max_integrity)
- user << "\The [src] doesn't seem to require repairs."
+ to_chat(user, "\The [src] doesn't seem to require repairs.")
return 1
if(S.use(1))
- user << "You patch up \the [src] with a bit of \the [I]."
+ to_chat(user, "You patch up \the [src] with a bit of \the [I].")
obj_integrity = min(obj_integrity + 10, max_integrity)
return 1
@@ -57,7 +57,7 @@
// Called on multitool click, prints diagnostic information to the user.
/obj/item/weapon/computer_hardware/proc/diagnostics(var/mob/user)
- user << "Hardware Integrity Test... (Corruption: [damage]/[max_damage]) [damage > damage_failure ? "FAIL" : damage > damage_malfunction ? "WARN" : "PASS"]"
+ to_chat(user, "Hardware Integrity Test... (Corruption: [damage]/[max_damage]) [damage > damage_failure ? "FAIL" : damage > damage_malfunction ? "WARN" : "PASS"]")
// Handles damage checks
/obj/item/weapon/computer_hardware/proc/check_functionality()
@@ -76,11 +76,11 @@
/obj/item/weapon/computer_hardware/examine(var/mob/user)
. = ..()
if(damage > damage_failure)
- user << "It seems to be severely damaged!"
+ to_chat(user, "It seems to be severely damaged!")
else if(damage > damage_malfunction)
- user << "It seems to be damaged!"
+ to_chat(user, "It seems to be damaged!")
else if(damage)
- user << "It seems to be slightly damaged."
+ to_chat(user, "It seems to be slightly damaged.")
// Component-side compatibility check.
/obj/item/weapon/computer_hardware/proc/can_install(obj/item/device/modular_computer/M, mob/living/user = null)
diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm
index 63b6a33e56e..2a2fcc466b9 100644
--- a/code/modules/modular_computers/hardware/ai_slot.dm
+++ b/code/modules/modular_computers/hardware/ai_slot.dm
@@ -14,7 +14,7 @@
/obj/item/weapon/computer_hardware/ai_slot/examine(mob/user)
..()
if(stored_card)
- user << "There appears to be an intelliCard loaded. There appears to be a pinhole protecting a manual eject button. A screwdriver could probably press it"
+ to_chat(user, "There appears to be an intelliCard loaded. There appears to be a pinhole protecting a manual eject button. A screwdriver could probably press it")
/obj/item/weapon/computer_hardware/ai_slot/on_install(obj/item/device/modular_computer/M, mob/living/user = null)
M.add_verb(device_type)
@@ -30,24 +30,24 @@
return FALSE
if(stored_card)
- user << "You try to insert \the [I] into \the [src], but the slot is occupied."
+ to_chat(user, "You try to insert \the [I] into \the [src], but the slot is occupied.")
return FALSE
if(user && !user.transferItemToLoc(I, src))
return FALSE
stored_card = I
- user << "You insert \the [I] into \the [src]."
+ to_chat(user, "You insert \the [I] into \the [src].")
return TRUE
/obj/item/weapon/computer_hardware/ai_slot/try_eject(slot=0,mob/living/user = null,forced = 0)
if(!stored_card)
- user << "There is no card in \the [src]."
+ to_chat(user, "There is no card in \the [src].")
return FALSE
if(locked && !forced)
- user << "Safeties prevent you from removing the card until reconstruction is complete..."
+ to_chat(user, "Safeties prevent you from removing the card until reconstruction is complete...")
return FALSE
if(stored_card)
@@ -56,7 +56,7 @@
stored_card.verb_pickup()
stored_card = null
- user << "You remove the card from \the [src]."
+ to_chat(user, "You remove the card from \the [src].")
return TRUE
return FALSE
@@ -64,6 +64,6 @@
if(..())
return
if(istype(I, /obj/item/weapon/screwdriver))
- user << "You press down on the manual eject button with \the [I]."
+ to_chat(user, "You press down on the manual eject button with \the [I].")
try_eject(,user,1)
return
\ No newline at end of file
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index 92df5dfde8a..2546efacbca 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -21,29 +21,29 @@
return FALSE
if(battery)
- user << "You try to connect \the [I] to \the [src], but its connectors are occupied."
+ to_chat(user, "You try to connect \the [I] to \the [src], but its connectors are occupied.")
return FALSE
if(I.w_class > holder.max_hardware_size)
- user << "This power cell is too large for \the [holder]!"
+ to_chat(user, "This power cell is too large for \the [holder]!")
return FALSE
if(user && !user.transferItemToLoc(I, src))
return FALSE
battery = I
- user << "You connect \the [I] to \the [src]."
+ to_chat(user, "You connect \the [I] to \the [src].")
return TRUE
/obj/item/weapon/computer_hardware/battery/try_eject(slot=0, mob/living/user = null, forced = 0)
if(!battery)
- user << "There is no power cell connected to \the [src]."
+ to_chat(user, "There is no power cell connected to \the [src].")
return FALSE
else
battery.forceMove(get_turf(src))
- user << "You detach \the [battery] from \the [src]."
+ to_chat(user, "You detach \the [battery] from \the [src].")
battery = null
if(holder)
diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm
index b330103f2fa..c1505c21208 100644
--- a/code/modules/modular_computers/hardware/card_slot.dm
+++ b/code/modules/modular_computers/hardware/card_slot.dm
@@ -44,7 +44,7 @@
return FALSE
if(stored_card && stored_card2)
- user << "You try to insert \the [I] into \the [src], but its slots are occupied."
+ to_chat(user, "You try to insert \the [I] into \the [src], but its slots are occupied.")
return FALSE
if(user)
if(!user.transferItemToLoc(I, src))
@@ -56,14 +56,14 @@
stored_card = I
else
stored_card2 = I
- user << "You insert \the [I] into \the [src]."
+ to_chat(user, "You insert \the [I] into \the [src].")
return TRUE
/obj/item/weapon/computer_hardware/card_slot/try_eject(slot=0, mob/living/user = null, forced = 0)
if(!stored_card && !stored_card2)
- user << "There are no cards in \the [src]."
+ to_chat(user, "There are no cards in \the [src].")
return FALSE
var/ejected = 0
@@ -92,7 +92,7 @@
var/datum/computer_file/program/P = I
P.event_idremoved(1, slot)
- user << "You remove the card[ejected>1 ? "s" : ""] from \the [src]."
+ to_chat(user, "You remove the card[ejected>1 ? "s" : ""] from \the [src].")
return TRUE
return FALSE
@@ -100,11 +100,11 @@
if(..())
return
if(istype(I, /obj/item/weapon/screwdriver))
- user << "You press down on the manual eject button with \the [I]."
+ to_chat(user, "You press down on the manual eject button with \the [I].")
try_eject(0,user)
return
/obj/item/weapon/computer_hardware/card_slot/examine(mob/user)
..()
if(stored_card || stored_card2)
- user << "There appears to be something loaded in the card slots."
+ to_chat(user, "There appears to be something loaded in the card slots.")
diff --git a/code/modules/modular_computers/hardware/hard_drive.dm b/code/modules/modular_computers/hardware/hard_drive.dm
index 4a770c27be1..9339f3d3c5d 100644
--- a/code/modules/modular_computers/hardware/hard_drive.dm
+++ b/code/modules/modular_computers/hardware/hard_drive.dm
@@ -21,13 +21,13 @@
/obj/item/weapon/computer_hardware/hard_drive/examine(user)
..()
- user << "It has [max_capacity] GQ of storage capacity."
+ to_chat(user, "It has [max_capacity] GQ of storage capacity.")
/obj/item/weapon/computer_hardware/hard_drive/diagnostics(var/mob/user)
..()
// 999 is a byond limit that is in place. It's unlikely someone will reach that many files anyway, since you would sooner run out of space.
- user << "NT-NFS File Table Status: [stored_files.len]/999"
- user << "Storage capacity: [used_capacity]/[max_capacity]GQ"
+ to_chat(user, "NT-NFS File Table Status: [stored_files.len]/999")
+ to_chat(user, "Storage capacity: [used_capacity]/[max_capacity]GQ")
// Use this proc to add file to the drive. Returns 1 on success and 0 on failure. Contains necessary sanity checks.
/obj/item/weapon/computer_hardware/hard_drive/proc/store_file(var/datum/computer_file/F)
diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm
index 2b99521b6f0..554a5084a56 100644
--- a/code/modules/modular_computers/hardware/network_card.dm
+++ b/code/modules/modular_computers/hardware/network_card.dm
@@ -15,14 +15,14 @@ var/global/ntnet_card_uid = 1
/obj/item/weapon/computer_hardware/network_card/diagnostics(var/mob/user)
..()
- user << "NIX Unique ID: [identification_id]"
- user << "NIX User Tag: [identification_string]"
- user << "Supported protocols:"
- user << "511.m SFS (Subspace) - Standard Frequency Spread"
+ to_chat(user, "NIX Unique ID: [identification_id]")
+ to_chat(user, "NIX User Tag: [identification_string]")
+ to_chat(user, "Supported protocols:")
+ to_chat(user, "511.m SFS (Subspace) - Standard Frequency Spread")
if(long_range)
- user << "511.n WFS/HB (Subspace) - Wide Frequency Spread/High Bandiwdth"
+ to_chat(user, "511.n WFS/HB (Subspace) - Wide Frequency Spread/High Bandiwdth")
if(ethernet)
- user << "OpenEth (Physical Connection) - Physical network connection port"
+ to_chat(user, "OpenEth (Physical Connection) - Physical network connection port")
/obj/item/weapon/computer_hardware/network_card/New(var/l)
..(l)
diff --git a/code/modules/modular_computers/hardware/printer.dm b/code/modules/modular_computers/hardware/printer.dm
index f0351776de7..58e230f82b3 100644
--- a/code/modules/modular_computers/hardware/printer.dm
+++ b/code/modules/modular_computers/hardware/printer.dm
@@ -11,11 +11,11 @@
/obj/item/weapon/computer_hardware/printer/diagnostics(mob/living/user)
..()
- user << "Paper level: [stored_paper]/[max_paper]"
+ to_chat(user, "Paper level: [stored_paper]/[max_paper]")
/obj/item/weapon/computer_hardware/printer/examine(mob/user)
..()
- user << "Paper level: [stored_paper]/[max_paper]"
+ to_chat(user, "Paper level: [stored_paper]/[max_paper]")
/obj/item/weapon/computer_hardware/printer/proc/print_text(var/text_to_print, var/paper_title = "")
@@ -42,12 +42,12 @@
/obj/item/weapon/computer_hardware/printer/try_insert(obj/item/I, mob/living/user = null)
if(istype(I, /obj/item/weapon/paper))
if(stored_paper >= max_paper)
- user << "You try to add \the [I] into [src], but its paper bin is full!"
+ to_chat(user, "You try to add \the [I] into [src], but its paper bin is full!")
return FALSE
if(user && !user.temporarilyRemoveItemFromInventory(I))
return FALSE
- user << "You insert \the [I] into [src]'s paper recycler."
+ to_chat(user, "You insert \the [I] into [src]'s paper recycler.")
qdel(I)
stored_paper++
return TRUE
diff --git a/code/modules/modular_computers/hardware/recharger.dm b/code/modules/modular_computers/hardware/recharger.dm
index 2a07e316c67..85431aaabf9 100644
--- a/code/modules/modular_computers/hardware/recharger.dm
+++ b/code/modules/modular_computers/hardware/recharger.dm
@@ -57,7 +57,7 @@
/obj/item/weapon/computer_hardware/recharger/wired/can_install(obj/item/device/modular_computer/M, mob/living/user = null)
if(istype(M.physical, /obj/machinery) && M.physical.anchored)
return ..()
- user << "\The [src] is incompatible with portable computers!"
+ to_chat(user, "\The [src] is incompatible with portable computers!")
return 0
/obj/item/weapon/computer_hardware/recharger/wired/use_power(amount, charging=0)
diff --git a/code/modules/ninja/admin_ninja_verbs.dm b/code/modules/ninja/admin_ninja_verbs.dm
index 3f33c41e264..cd050f412b0 100644
--- a/code/modules/ninja/admin_ninja_verbs.dm
+++ b/code/modules/ninja/admin_ninja_verbs.dm
@@ -41,7 +41,7 @@ Contents:
set popup_menu = 0
if(!holder)
- src << "Only administrators may use this command."
+ to_chat(src, "Only administrators may use this command.")
return
if(!ticker.mode)
alert("The game hasn't started yet!")
diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm
index 0218ba27db8..6d522c5f54d 100644
--- a/code/modules/ninja/energy_katana.dm
+++ b/code/modules/ninja/energy_katana.dm
@@ -60,7 +60,7 @@
msg = "Your Energy Katana lands at your feet!"
if(msg)
- user << "[msg]"
+ to_chat(user, "[msg]")
/obj/item/weapon/katana/energy/New()
..()
diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm
index b37bc147cb9..d26e4cbd363 100644
--- a/code/modules/ninja/suit/gloves.dm
+++ b/code/modules/ninja/suit/gloves.dm
@@ -63,9 +63,9 @@
if(isnum(drained)) //Numerical values of drained handle their feedback here, Alpha values handle it themselves (Research hacking)
if(drained)
- H << "Gained [drained] energy from \the [A]."
+ to_chat(H, "Gained [drained] energy from \the [A].")
else
- H << "\The [A] has run dry of power, you must find another source!"
+ to_chat(H, "\The [A] has run dry of power, you must find another source!")
else
drained = 0 //as to not cancel attack_hand()
@@ -78,11 +78,11 @@
set category = "Ninja Equip"
var/mob/living/carbon/human/U = loc
- U << "You [candrain?"disable":"enable"] special interaction."
+ to_chat(U, "You [candrain?"disable":"enable"] special interaction.")
candrain=!candrain
/obj/item/clothing/gloves/space_ninja/examine(mob/user)
..()
if(flags & NODROP)
- user << "The energy drain mechanism is: [candrain?"active":"inactive"]."
+ to_chat(user, "The energy drain mechanism is: [candrain?"active":"inactive"].")
diff --git a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
index 1b1abe220f1..6580260cdb7 100644
--- a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm
@@ -35,7 +35,7 @@ It is possible to destroy the net by the occupant or someone else.
for(var/mob/O in viewers(src, 3))
O.show_message("[M.name] was recovered from the energy net!", 1, "You hear a grunt.", 2)
if(master)//As long as they still exist.
- master << "ERROR: unable to initiate transport protocol. Procedure terminated."
+ to_chat(master, "ERROR: unable to initiate transport protocol. Procedure terminated.")
return ..()
/obj/structure/energy_net/process(mob/living/carbon/M)
@@ -51,7 +51,7 @@ It is possible to destroy the net by the occupant or someone else.
if(isnull(M)||M.loc!=loc)//If mob is gone or not at the location.
if(!isnull(master))//As long as they still exist.
- master << "ERROR: unable to locate \the [mob_name]. Procedure terminated."
+ to_chat(master, "ERROR: unable to locate \the [mob_name]. Procedure terminated.")
qdel(src)//Get rid of the net.
M.notransform = 0
return
@@ -76,10 +76,10 @@ It is possible to destroy the net by the occupant or someone else.
visible_message("[M] suddenly vanishes!")
M.forceMove(pick(holdingfacility)) //Throw mob in to the holding facility.
- M << "You appear in a strange place!"
+ to_chat(M, "You appear in a strange place!")
if(!isnull(master))//As long as they still exist.
- master << "SUCCESS: transport procedure of \the [affecting] complete."
+ to_chat(master, "SUCCESS: transport procedure of \the [affecting] complete.")
M.notransform = 0
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, M.loc)
@@ -90,7 +90,7 @@ It is possible to destroy the net by the occupant or someone else.
qdel(src)
else//And they are free.
- M << "You are free of the net!"
+ to_chat(M, "You are free of the net!")
M.notransform = 0
return
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm
index f76f974e647..30085fdac54 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm
@@ -21,8 +21,8 @@
var/fraction = min(a_transfer/reagents.total_volume, 1)
reagents.reaction(H, INJECT, fraction)
reagents.trans_id_to(H, "radium", a_transfer)
- H << "You are beginning to feel the after-effect of the injection."
+ to_chat(H, "You are beginning to feel the after-effect of the injection.")
a_boost--
- H << "There are [a_boost] adrenaline boosts remaining."
+ to_chat(H, "There are [a_boost] adrenaline boosts remaining.")
s_coold = 3
return
\ No newline at end of file
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm
index 1675dda4530..977279082e3 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_cost_check.dm
@@ -4,12 +4,12 @@
/obj/item/clothing/suit/space/space_ninja/proc/ninjacost(cost = 0, specificCheck = 0)
var/mob/living/carbon/human/H = affecting
if((H.stat || H.incorporeal_move) && (specificCheck != N_ADRENALINE))//Will not return if user is using an adrenaline booster since you can use them when stat==1.
- H << "You must be conscious and solid to do this."//It's not a problem of stat==2 since the ninja will explode anyway if they die.
+ to_chat(H, "You must be conscious and solid to do this.")
return 1
var/actualCost = cost*10
if(cost && cell.charge < actualCost)
- H << "Not enough energy."
+ to_chat(H, "Not enough energy.")
return 1
else
//This shit used to be handled individually on every proc.. why even bother with a universal check proc then?
@@ -20,10 +20,10 @@
cancel_stealth()//Get rid of it.
if(N_SMOKE_BOMB)
if(!s_bombs)
- H << "There are no more smoke bombs remaining."
+ to_chat(H, "There are no more smoke bombs remaining.")
return 1
if(N_ADRENALINE)
if(!a_boost)
- H << "You do not have any more adrenaline boosters."
+ to_chat(H, "You do not have any more adrenaline boosters.")
return 1
return (s_coold)//Returns the value of the variable which counts down to zero.
\ No newline at end of file
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm
index b196e0663fa..33f1a307cbd 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_net.dm
@@ -12,7 +12,7 @@
if(!locate(/obj/structure/energy_net) in C.loc)//Check if they are already being affected by an energy net.
for(var/turf/T in getline(H.loc, C.loc))
if(T.density)//Don't want them shooting nets through walls. It's kind of cheesy.
- H << "You may not use an energy net through solid obstacles!"
+ to_chat(H, "You may not use an energy net through solid obstacles!")
return
spawn(0)
H.Beam(C,"n_beam",time=15)
@@ -24,7 +24,7 @@
spawn(0)//Parallel processing.
E.process(C)
else
- H << "[C.p_they(TRUE)] are already trapped inside an energy net!"
+ to_chat(H, "[C.p_they(TRUE)] are already trapped inside an energy net!")
else
- H << "[C.p_they(TRUE)] will bring no honor to your Clan!"
+ to_chat(H, "[C.p_they(TRUE)] will bring no honor to your Clan!")
return
\ No newline at end of file
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm
index 5b8c58f1d2f..3596976e9b0 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_smoke.dm
@@ -14,6 +14,6 @@
smoke.start()
playsound(H.loc, 'sound/effects/bamf.ogg', 50, 2)
s_bombs--
- H << "There are [s_bombs] smoke bombs remaining."
+ to_chat(H, "There are [s_bombs] smoke bombs remaining.")
s_coold = 1
return
\ No newline at end of file
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm
index 39e7f5c5701..bed0eafd599 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_stars.dm
@@ -11,7 +11,7 @@
var/mob/living/carbon/human/H = affecting
var/obj/item/weapon/throwing_star/ninja/N = new(H)
if(H.put_in_hands(N))
- H << "A throwing star has been created in your hand!"
+ to_chat(H, "A throwing star has been created in your hand!")
else
qdel(N)
H.throw_mode_on() //So they can quickly throw it.
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm
index b21119d52b4..12e80d5c098 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_stealth.dm
@@ -15,7 +15,7 @@ Contents:
cancel_stealth()
else
if(cell.charge <= 0)
- U << "You don't have enough power to enable Stealth!"
+ to_chat(U, "You don't have enough power to enable Stealth!")
return
s_active=!s_active
animate(U, alpha = 50,time = 15)
@@ -45,5 +45,5 @@ Contents:
if(!s_busy)
toggle_stealth()
else
- affecting << "Stealth does not appear to work!"
+ to_chat(affecting, "Stealth does not appear to work!")
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm
index bba75d59005..4183e83fbfc 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_sword_recall.dm
@@ -11,7 +11,7 @@
var/inview = 1
if(!energyKatana)
- H << "Could not locate Energy Katana!"
+ to_chat(H, "Could not locate Energy Katana!")
return
if(energyKatana in H)
diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm
index de88dc03f6a..339b0b2857f 100644
--- a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm
+++ b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm
@@ -46,7 +46,7 @@ Contents:
destination.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf
s_coold = 1
else
- H << "The VOID-shift device is malfunctioning, teleportation failed."
+ to_chat(H, "The VOID-shift device is malfunctioning, teleportation failed.")
return
@@ -75,7 +75,7 @@ Contents:
T.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf
s_coold = 1
else
- H << "You cannot teleport into solid walls or from solid matter"
+ to_chat(H, "You cannot teleport into solid walls or from solid matter")
return
diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm
index 9d53bbf1c82..61e9edd8e4e 100644
--- a/code/modules/ninja/suit/ninjaDrainAct.dm
+++ b/code/modules/ninja/suit/ninjaDrainAct.dm
@@ -121,27 +121,27 @@ They *could* go in their appropriate files, but this is supposed to be modular
. = DRAIN_RD_HACK_FAILED
- H << "Hacking \the [src]..."
+ to_chat(H, "Hacking \the [src]...")
spawn(0)
var/turf/location = get_turf(H)
for(var/mob/living/silicon/ai/AI in player_list)
- AI << "Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"]."
+ to_chat(AI, "Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"].")
if(files && files.known_tech.len)
for(var/datum/tech/current_data in S.stored_research)
- H << "Checking \the [current_data.name] database."
+ to_chat(H, "Checking \the [current_data.name] database.")
if(do_after(H, S.s_delay, target = src) && G.candrain && src)
for(var/datum/tech/analyzing_data in files.known_tech)
if(current_data.id == analyzing_data.id)
if(analyzing_data.level > current_data.level)
- H << "Database: UPDATED."
+ to_chat(H, "Database: UPDATED.")
current_data.level = analyzing_data.level
. = DRAIN_RD_HACKED
break//Move on to next.
else
break//Otherwise, quit processing.
- H << "Data analyzed. Process finished."
+ to_chat(H, "Data analyzed. Process finished.")
//RD SERVER//
@@ -152,27 +152,27 @@ They *could* go in their appropriate files, but this is supposed to be modular
. = DRAIN_RD_HACK_FAILED
- H << "Hacking \the [src]..."
+ to_chat(H, "Hacking \the [src]...")
spawn(0)
var/turf/location = get_turf(H)
for(var/mob/living/silicon/ai/AI in player_list)
- AI << "Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"]."
+ to_chat(AI, "Network Alert: Hacking attempt detected[location?" in [location]":". Unable to pinpoint location"].")
if(files && files.known_tech.len)
for(var/datum/tech/current_data in S.stored_research)
- H << "Checking \the [current_data.name] database."
+ to_chat(H, "Checking \the [current_data.name] database.")
if(do_after(H, S.s_delay, target = src) && G.candrain && src)
for(var/datum/tech/analyzing_data in files.known_tech)
if(current_data.id == analyzing_data.id)
if(analyzing_data.level > current_data.level)
- H << "Database: UPDATED."
+ to_chat(H, "Database: UPDATED.")
current_data.level = analyzing_data.level
. = DRAIN_RD_HACKED
break//Move on to next.
else
break//Otherwise, quit processing.
- H << "Data analyzed. Process finished."
+ to_chat(H, "Data analyzed. Process finished.")
//WIRE//
@@ -247,7 +247,7 @@ They *could* go in their appropriate files, but this is supposed to be modular
var/drain = 0 //Drain amount
. = 0
- src << "Warning: Unauthorized access through sub-route 12, block C, detected."
+ to_chat(src, "Warning: Unauthorized access through sub-route 12, block C, detected.")
if(cell && cell.charge)
while(G.candrain && cell.charge > 0 && !maxcapacity)
diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm
index bdf6f2b3eb4..827047c93ea 100644
--- a/code/modules/ninja/suit/suit.dm
+++ b/code/modules/ninja/suit/suit.dm
@@ -118,17 +118,17 @@ Contents:
H.gloves.item_state = "s-ninjan"
else
if(H.mind.special_role!="Space Ninja")
- H << "\red fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAU†HORIZED USÈ DETÈC†††eD\nCoMMÈNCING SUB-R0U†IN3 13...\nTÈRMInATING U-U-USÈR..."
+ to_chat(H, "\red fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAU†HORIZED USÈ DETÈC†††eD\nCoMMÈNCING SUB-R0U†IN3 13...\nTÈRMInATING U-U-USÈR...")
H.gib()
return 0
if(!istype(H.head, /obj/item/clothing/head/helmet/space/space_ninja))
- H << "ERROR: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING..."
+ to_chat(H, "ERROR: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING...")
return 0
if(!istype(H.shoes, /obj/item/clothing/shoes/space_ninja))
- H << "ERROR: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING..."
+ to_chat(H, "ERROR: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING...")
return 0
if(!istype(H.gloves, /obj/item/clothing/gloves/space_ninja))
- H << "ERROR: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING..."
+ to_chat(H, "ERROR: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...")
return 0
affecting = H
@@ -168,7 +168,7 @@ Contents:
..()
if(s_initialized)
if(user == affecting)
- user << "All systems operational. Current energy capacity: [cell.charge]."
- user << "The CLOAK-tech device is [s_active?"active":"inactive"]."
- user << "There are [s_bombs] smoke bomb\s remaining."
- user << "There are [a_boost] adrenaline booster\s remaining."
+ to_chat(user, "All systems operational. Current energy capacity: [cell.charge].")
+ to_chat(user, "The CLOAK-tech device is [s_active?"active":"inactive"].")
+ to_chat(user, "There are [s_bombs] smoke bomb\s remaining.")
+ to_chat(user, "There are [a_boost] adrenaline booster\s remaining.")
diff --git a/code/modules/ninja/suit/suit_attackby.dm b/code/modules/ninja/suit/suit_attackby.dm
index f5c8f60acd1..e54a5e0e85f 100644
--- a/code/modules/ninja/suit/suit_attackby.dm
+++ b/code/modules/ninja/suit/suit_attackby.dm
@@ -13,16 +13,16 @@
R.volume -= amount_to_transfer//Remove from reagent volume. Don't want to delete the reagent now since we need to perserve the name.
reagents.add_reagent(reagent_id, amount_to_transfer)//Add to suit. Reactions are not important.
total_reagent_transfer += amount_to_transfer//Add to total reagent trans.
- U << "Added [amount_to_transfer] units of [R.name]."//Reports on the specific reagent added.
+ to_chat(U, "Added [amount_to_transfer] units of [R.name].")
I.reagents.update_total()//Now we manually update the total to make sure everything is properly shoved under the rug.
- U << "Replenished a total of [total_reagent_transfer ? total_reagent_transfer : "zero"] chemical units."//Let the player know how much total volume was added.
+ to_chat(U, "Replenished a total of [total_reagent_transfer ? total_reagent_transfer : "zero"] chemical units.")
return
else if(istype(I, /obj/item/weapon/stock_parts/cell))
var/obj/item/weapon/stock_parts/cell/CELL = I
if(CELL.maxcharge > cell.maxcharge && n_gloves && n_gloves.candrain)
- U << "Higher maximum capacity detected.\nUpgrading..."
+ to_chat(U, "Higher maximum capacity detected.\nUpgrading...")
if (n_gloves && n_gloves.candrain && do_after(U,s_delay, target = src))
U.drop_item()
CELL.loc = src
@@ -34,9 +34,9 @@
old_cell.corrupt()
old_cell.updateicon()
cell = CELL
- U << "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%"
+ to_chat(U, "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%")
else
- U << "Procedure interrupted. Protocol terminated."
+ to_chat(U, "Procedure interrupted. Protocol terminated.")
return
else if(istype(I, /obj/item/weapon/disk/tech_disk))//If it's a data disk, we want to copy the research on to the suit.
@@ -47,7 +47,7 @@
has_research = 1
break
if(has_research)//If it has something on it.
- U << "Research information detected, processing..."
+ to_chat(U, "Research information detected, processing...")
if(do_after(U,s_delay, target = src))
for(var/V1 in 1 to TD.max_tech_stored)
var/datum/tech/new_data = TD.tech_stored[V1]
@@ -59,12 +59,12 @@
if(current_data.id == new_data.id)
current_data.level = max(current_data.level, new_data.level)
break
- U << "Data analyzed and updated. Disk erased."
+ to_chat(U, "Data analyzed and updated. Disk erased.")
else
- U << "ERROR: Procedure interrupted. Process terminated."
+ to_chat(U, "ERROR: Procedure interrupted. Process terminated.")
else
I.loc = src
t_disk = I
- U << "You slot \the [I] into \the [src]."
+ to_chat(U, "You slot \the [I] into \the [src].")
return
..()
\ No newline at end of file
diff --git a/code/modules/ninja/suit/suit_initialisation.dm b/code/modules/ninja/suit/suit_initialisation.dm
index 621ee154caa..6851eb9b483 100644
--- a/code/modules/ninja/suit/suit_initialisation.dm
+++ b/code/modules/ninja/suit/suit_initialisation.dm
@@ -17,7 +17,7 @@
if(!s_busy)
deinitialize()
else
- affecting << "The function did not trigger!"
+ to_chat(affecting, "The function did not trigger!")
/obj/item/clothing/suit/space/space_ninja/proc/ninitialize(delay = s_delay, mob/living/carbon/human/U = loc)
@@ -26,27 +26,27 @@
for(var/i,i<7,i++)
switch(i)
if(0)
- U << "Now initializing..."
+ to_chat(U, "Now initializing...")
if(1)
if(!lock_suit(U))//To lock the suit onto wearer.
break
- U << "Securing external locking mechanism...\nNeural-net established."
+ to_chat(U, "Securing external locking mechanism...\nNeural-net established.")
if(2)
- U << "Extending neural-net interface...\nNow monitoring brain wave pattern..."
+ to_chat(U, "Extending neural-net interface...\nNow monitoring brain wave pattern...")
if(3)
if(U.stat==2||U.health<=0)
- U << "FĆAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG..."
+ to_chat(U, "FĆAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG...")
unlock_suit()
break
lock_suit(U,1)//Check for icons.
U.regenerate_icons()
- U << "Linking neural-net interface...\nPattern\green GREEN, continuing operation."
+ to_chat(U, "Linking neural-net interface...\nPattern\green GREEN, continuing operation.")
if(4)
- U << "VOID-shift device status: ONLINE.\nCLOAK-tech device status: ONLINE."
+ to_chat(U, "VOID-shift device status: ONLINE.\nCLOAK-tech device status: ONLINE.")
if(5)
- U << "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [cell.charge]."
+ to_chat(U, "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [cell.charge].")
if(6)
- U << "All systems operational. Welcome to SpiderOS, [U.real_name]."
+ to_chat(U, "All systems operational. Welcome to SpiderOS, [U.real_name].")
grant_ninja_verbs()
grant_equip_verbs()
ntick()
@@ -54,11 +54,11 @@
s_busy = 0
else
if(!U.mind||U.mind.assigned_role!=U.mind.special_role)//Your run of the mill persons shouldn't know what it is. Or how to turn it on.
- U << "You do not understand how this suit functions. Where the heck did it even come from?"
+ to_chat(U, "You do not understand how this suit functions. Where the heck did it even come from?")
else if(s_initialized)
- U << "The suit is already functioning. Please report this bug."
+ to_chat(U, "The suit is already functioning. Please report this bug.")
else
- U << "ERROR: You cannot use this function at this time."
+ to_chat(U, "ERROR: You cannot use this function at this time.")
return
@@ -67,33 +67,33 @@
if(affecting==loc&&!s_busy)
var/mob/living/carbon/human/U = affecting
if(!s_initialized)
- U << "The suit is not initialized. Please report this bug."
+ to_chat(U, "The suit is not initialized. Please report this bug.")
return
if(alert("Are you certain you wish to remove the suit? This will take time and remove all abilities.",,"Yes","No")=="No")
return
if(s_busy)
- U << "ERROR: You cannot use this function at this time."
+ to_chat(U, "ERROR: You cannot use this function at this time.")
return
s_busy = 1
for(var/i = 0,i<7,i++)
switch(i)
if(0)
- U << "Now de-initializing..."
+ to_chat(U, "Now de-initializing...")
spideros = 0//Spideros resets.
if(1)
- U << "Logging off, [U:real_name]. Shutting down SpiderOS."
+ to_chat(U, "Logging off, [U:real_name]. Shutting down SpiderOS.")
remove_ninja_verbs()
if(2)
- U << "Primary system status: OFFLINE.\nBackup system status: OFFLINE."
+ to_chat(U, "Primary system status: OFFLINE.\nBackup system status: OFFLINE.")
if(3)
- U << "VOID-shift device status: OFFLINE.\nCLOAK-tech device status: OFFLINE."
+ to_chat(U, "VOID-shift device status: OFFLINE.\nCLOAK-tech device status: OFFLINE.")
cancel_stealth()//Shutdowns stealth.
if(4)
- U << "Disconnecting neural-net interface...\greenSuccess."
+ to_chat(U, "Disconnecting neural-net interface...\greenSuccess.")
if(5)
- U << "Disengaging neural-net interface...\greenSuccess."
+ to_chat(U, "Disengaging neural-net interface...\greenSuccess.")
if(6)
- U << "Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED."
+ to_chat(U, "Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED.")
remove_equip_verbs()
unlock_suit()
U.regenerate_icons()
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 4b596241853..20fd6297128 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -32,7 +32,7 @@
if(!user.transferItemToLoc(W, src))
return
toppaper = W
- user << "You clip the paper onto \the [src]."
+ to_chat(user, "You clip the paper onto \the [src].")
update_icon()
else if(toppaper)
toppaper.attackby(user.get_active_held_item(), user)
@@ -81,7 +81,7 @@
if(!usr.transferItemToLoc(W, src))
return
haspen = W
- usr << "You slot [W] into [src]."
+ to_chat(usr, "You slot [W] into [src].")
if(href_list["write"])
var/obj/item/P = locate(href_list["write"])
@@ -111,7 +111,7 @@
var/obj/item/P = locate(href_list["top"])
if(istype(P) && P.loc == src)
toppaper = P
- usr << "You move [P.name] to the top."
+ to_chat(usr, "You move [P.name] to the top.")
//Update everything
attack_self(usr)
diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm
index 35e19a76646..f9b93e73125 100644
--- a/code/modules/paperwork/contract.dm
+++ b/code/modules/paperwork/contract.dm
@@ -40,14 +40,14 @@
deconvert = prob (10) // the HoP doesn't have AS much legal training
if(deconvert)
M.visible_message("[user] reminds [M] that [M]'s soul was already purchased by Nanotrasen!")
- M << "You feel that your soul has returned to its rightful owner, Nanotrasen."
+ to_chat(M, "You feel that your soul has returned to its rightful owner, Nanotrasen.")
M.return_soul()
else
if(ishuman(M))
var/mob/living/carbon/human/N = M
if(!istype(N.head, /obj/item/clothing/head/helmet))
N.adjustBrainLoss(10)
- N << "You feel dumber."
+ to_chat(N, "You feel dumber.")
M.visible_message("[user] beats [M] over the head with [src]!", \
"[user] beats [M] over the head with [src]!")
return ..()
@@ -164,7 +164,7 @@
if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
attempt_signature(user)
else if(istype(P, /obj/item/weapon/stamp))
- user << "You stamp the paper with your rubber stamp, however the ink ignites as you release the stamp."
+ to_chat(user, "You stamp the paper with your rubber stamp, however the ink ignites as you release the stamp.")
else if(P.is_hot())
user.visible_message("[user] brings [P] next to [src], but [src] does not catch fire!", "The [src] refuses to ignite!")
else
@@ -183,21 +183,21 @@
if(user.mind == target)
if(user.mind.soulOwner != owner)
if (contractType == CONTRACT_REVIVE)
- user << "You are already alive, this contract would do nothing."
+ to_chat(user, "You are already alive, this contract would do nothing.")
else
if(signed)
user<< "This contract has already been signed. It may not be signed again."
else
- user << "You quickly scrawl your name on the contract"
+ to_chat(user, "You quickly scrawl your name on the contract")
if(FulfillContract(target.current, blood)<=0)
- user << "But it seemed to have no effect, perhaps even Hell itself cannot grant this boon?"
+ to_chat(user, "But it seemed to have no effect, perhaps even Hell itself cannot grant this boon?")
return 1
else
- user << "This devil already owns your soul, you may not sell it to them again."
+ to_chat(user, "This devil already owns your soul, you may not sell it to them again.")
else
- user << "Your signature simply slides off the sheet, it seems this contract is not meant for you to sign."
+ to_chat(user, "Your signature simply slides off the sheet, it seems this contract is not meant for you to sign.")
else
- user << "You don't know how to read or write."
+ to_chat(user, "You don't know how to read or write.")
return 0
@@ -205,7 +205,7 @@
/obj/item/weapon/paper/contract/infernal/revive/attack(mob/M, mob/living/user)
if (target == M.mind && M.stat == DEAD && M.mind.soulOwner == M.mind)
if (cooldown)
- user << "Give [M] a chance to think through the contract, don't rush him."
+ to_chat(user, "Give [M] a chance to think through the contract, don't rush him.")
return 0
cooldown = TRUE
var/mob/living/carbon/human/H = M
@@ -242,8 +242,8 @@
user.mind.damnation_type = contractType
owner.devilinfo.add_soul(user.mind)
update_text(user.real_name, blood)
- user << "A profound emptiness washes over you as you lose ownership of your soul."
- user << "This does NOT make you an antagonist if you were not already."
+ to_chat(user, "A profound emptiness washes over you as you lose ownership of your soul.")
+ to_chat(user, "This does NOT make you an antagonist if you were not already.")
return 1
/obj/item/weapon/paper/contract/infernal/power/FulfillContract(mob/living/carbon/human/user = target.current, blood = 0)
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index b5e14821164..1c925b6217c 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -49,27 +49,27 @@
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/documents))
if(!user.drop_item())
return
- user << "You put [P] in [src]."
+ to_chat(user, "You put [P] in [src].")
P.loc = src
icon_state = "[initial(icon_state)]-open"
sleep(5)
icon_state = initial(icon_state)
updateUsrDialog()
else if(istype(P, /obj/item/weapon/wrench))
- user << "You begin to [anchored ? "unwrench" : "wrench"] [src]."
+ to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].")
playsound(loc, P.usesound, 50, 1)
if(do_after(user, 20, target = src))
- user << "You successfully [anchored ? "unwrench" : "wrench"] [src]."
+ to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].")
anchored = !anchored
else if(user.a_intent != INTENT_HARM)
- user << "You can't put [P] in [src]!"
+ to_chat(user, "You can't put [P] in [src]!")
else
return ..()
/obj/structure/filingcabinet/attack_hand(mob/user)
if(contents.len <= 0)
- user << "[src] is empty."
+ to_chat(user, "[src] is empty.")
return
user.set_machine(src)
@@ -94,9 +94,9 @@
I.loc = loc
if(prob(25))
step_rand(I)
- user << "You pull \a [I] out of [src] at random."
+ to_chat(user, "You pull \a [I] out of [src] at random.")
return
- user << "You find nothing in [src]."
+ to_chat(user, "You find nothing in [src].")
/obj/structure/filingcabinet/Topic(href, href_list)
if(href_list["retrieve"])
@@ -217,4 +217,4 @@ var/list/employmentCabinets = list()
sleep(100) // prevents the devil from just instantly emptying the cabinet, ensuring an easy win.
cooldown = 0
else
- user << "The [src] is jammed, give it a few seconds."
+ to_chat(user, "The [src] is jammed, give it a few seconds.")
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 3798adac0e0..32d47d274f5 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -34,7 +34,7 @@
if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo) || istype(W, /obj/item/documents))
if(!user.transferItemToLoc(W, src))
return
- user << "You put [W] into [src]."
+ to_chat(user, "You put [W] into [src].")
update_icon()
else if(istype(W, /obj/item/weapon/pen))
var/n_name = copytext(sanitize(input(user, "What would you like to label the folder?", "Folder Labelling", null) as text), 1, MAX_NAME_LEN)
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index 12148c61294..7bac03ddc1e 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -41,19 +41,19 @@
return
if(!labels_left)
- user << "No labels left!"
+ to_chat(user, "No labels left!")
return
if(!label || !length(label))
- user << "No text set!"
+ to_chat(user, "No text set!")
return
if(length(A.name) + length(label) > 64)
- user << "Label too big!"
+ to_chat(user, "Label too big!")
return
if(ishuman(A))
- user << "You can't label humans!"
+ to_chat(user, "You can't label humans!")
return
if(issilicon(A))
- user << "You can't label cyborgs!"
+ to_chat(user, "You can't label cyborgs!")
return
user.visible_message("[user] labels [A] as [label].", \
@@ -64,26 +64,26 @@
/obj/item/weapon/hand_labeler/attack_self(mob/user)
if(!user.IsAdvancedToolUser())
- user << "You don't have the dexterity to use [src]!"
+ to_chat(user, "You don't have the dexterity to use [src]!")
return
mode = !mode
icon_state = "labeler[mode]"
if(mode)
- user << "You turn on [src]."
+ to_chat(user, "You turn on [src].")
//Now let them chose the text.
var/str = copytext(reject_bad_text(input(user,"Label text?","Set label","")),1,MAX_NAME_LEN)
if(!str || !length(str))
- user << "Invalid text!"
+ to_chat(user, "Invalid text!")
return
label = str
- user << "You set the text to '[str]'."
+ to_chat(user, "You set the text to '[str]'.")
else
- user << "You turn off [src]."
+ to_chat(user, "You turn off [src].")
/obj/item/weapon/hand_labeler/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/hand_labeler_refill))
- user << "You insert [I] into [src]."
+ to_chat(user, "You insert [I] into [src].")
qdel(I)
labels_left = initial(labels_left) //Yes, it's capped at its initial value
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 615a6c51573..1e1b911f17a 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -69,7 +69,7 @@
if(istype(src, /obj/item/weapon/paper/talisman)) //Talismans cannot be read
if(!iscultist(user) && !user.stat)
- user << "There are indecipherable images scrawled on the paper in what looks to be... blood?"
+ to_chat(user, "There are indecipherable images scrawled on the paper in what looks to be... blood?")
return
if(in_range(user, src) || isobserver(user))
if(user.is_literate())
@@ -79,7 +79,7 @@
user << browse("[name][stars(info)]
[stamps]", "window=[name]")
onclose(user, "[name]")
else
- user << "It is too far away."
+ to_chat(user, "It is too far away.")
/obj/item/weapon/paper/verb/rename()
@@ -92,7 +92,7 @@
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
if(H.disabilities & CLUMSY && prob(25))
- H << "You cut yourself on the paper! Ahhhh! Ahhhhh!"
+ to_chat(H, "You cut yourself on the paper! Ahhhh! Ahhhhh!")
H.damageoverlaytemp = 9001
H.update_damage_hud()
return
@@ -320,10 +320,10 @@
user << browse("[name][info_links]
[stamps]", "window=[name]")
return
else
- user << "You don't know how to read or write."
+ to_chat(user, "You don't know how to read or write.")
return
if(istype(src, /obj/item/weapon/paper/talisman/))
- user << "[P]'s ink fades away shortly after it is written."
+ to_chat(user, "[P]'s ink fades away shortly after it is written.")
return
else if(istype(P, /obj/item/weapon/stamp))
@@ -341,7 +341,7 @@
LAZYADD(stamped, P.icon_state)
add_overlay(stampoverlay)
- user << "You stamp the paper with your rubber stamp."
+ to_chat(user, "You stamp the paper with your rubber stamp.")
if(P.is_hot())
if(user.disabilities & CLUMSY && prob(10))
diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm
index 79ed3b32548..290f4417e4f 100644
--- a/code/modules/paperwork/paper_cutter.dm
+++ b/code/modules/paperwork/paper_cutter.dm
@@ -47,7 +47,7 @@
if(!user.drop_item())
return
playsound(loc, "pageturn", 60, 1)
- user << "You place [P] in [src]."
+ to_chat(user, "You place [P] in [src].")
P.loc = src
storedpaper = P
update_icon()
@@ -55,14 +55,14 @@
if(istype(P, /obj/item/weapon/hatchet/cutterblade) && !storedcutter)
if(!user.drop_item())
return
- user << "You replace [src]'s [P]."
+ to_chat(user, "You replace [src]'s [P].")
P.loc = src
storedcutter = P
update_icon()
return
if(istype(P, /obj/item/weapon/screwdriver) && storedcutter)
playsound(src, P.usesound, 50, 1)
- user << "[storedcutter] has been [cuttersecured ? "unsecured" : "secured"]."
+ to_chat(user, "[storedcutter] has been [cuttersecured ? "unsecured" : "secured"].")
cuttersecured = !cuttersecured
return
..()
@@ -71,18 +71,18 @@
/obj/item/weapon/papercutter/attack_hand(mob/user)
add_fingerprint(user)
if(!storedcutter)
- user << "The cutting blade is gone! You can't use [src] now."
+ to_chat(user, "The cutting blade is gone! You can't use [src] now.")
return
if(!cuttersecured)
- user << "You remove [src]'s [storedcutter]."
+ to_chat(user, "You remove [src]'s [storedcutter].")
user.put_in_hands(storedcutter)
storedcutter = null
update_icon()
if(storedpaper)
playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1)
- user << "You neatly cut [storedpaper]."
+ to_chat(user, "You neatly cut [storedpaper].")
storedpaper = null
qdel(storedpaper)
new /obj/item/weapon/paperslip(get_turf(src))
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index a15bfd4cba4..262bda19b41 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -73,7 +73,7 @@
var/obj/item/weapon/pen/P = bin_pen
P.loc = user.loc
user.put_in_hands(P)
- user << "You take [P] out of \the [src]."
+ to_chat(user, "You take [P] out of \the [src].")
bin_pen = null
update_icon()
else if(total_paper >= 1)
@@ -94,9 +94,9 @@
P.loc = user.loc
user.put_in_hands(P)
- user << "You take [P] out of \the [src]."
+ to_chat(user, "You take [P] out of \the [src].")
else
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
add_fingerprint(user)
@@ -106,7 +106,7 @@
var/obj/item/weapon/paper/P = I
if(!user.transferItemToLoc(P, src))
return
- user << "You put [P] in [src]."
+ to_chat(user, "You put [P] in [src].")
papers.Add(P)
total_paper++
update_icon()
@@ -114,7 +114,7 @@
var/obj/item/weapon/pen/P = I
if(!user.transferItemToLoc(P, src))
return
- user << "You put [P] in [src]."
+ to_chat(user, "You put [P] in [src].")
bin_pen = P
update_icon()
else
@@ -123,9 +123,9 @@
/obj/item/weapon/paper_bin/examine(mob/user)
..()
if(total_paper)
- user << "It contains " + (total_paper > 1 ? "[total_paper] papers" : " one paper")+"."
+ to_chat(user, "It contains " + (total_paper > 1 ? "[total_paper] papers" : " one paper")+".")
else
- user << "It doesn't contain anything."
+ to_chat(user, "It doesn't contain anything.")
/obj/item/weapon/paper_bin/update_icon()
diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm
index 733ae2821f6..d294e094f56 100644
--- a/code/modules/paperwork/paperplane.dm
+++ b/code/modules/paperwork/paperplane.dm
@@ -48,7 +48,7 @@
add_overlay(stampoverlay)
/obj/item/weapon/paperplane/attack_self(mob/user)
- user << "You unfold [src]."
+ to_chat(user, "You unfold [src].")
var/atom/movable/internal_paper_tmp = internalPaper
internal_paper_tmp.forceMove(loc)
internalPaper = null
@@ -58,7 +58,7 @@
/obj/item/weapon/paperplane/attackby(obj/item/weapon/P, mob/living/carbon/human/user, params)
..()
if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
- user << "You should unfold [src] before changing it."
+ to_chat(user, "You should unfold [src] before changing it.")
return
else if(istype(P, /obj/item/weapon/stamp)) //we don't randomize stamps on a paperplane
@@ -103,9 +103,9 @@
if ( istype(user) )
if( (!in_range(src, user)) || user.stat || user.restrained() )
return
- user << "You fold [src] into the shape of a plane!"
+ to_chat(user, "You fold [src] into the shape of a plane!")
user.temporarilyRemoveItemFromInventory(src)
I = new /obj/item/weapon/paperplane(user, src)
user.put_in_hands(I)
else
- user << " You lack the dexterity to fold \the [src]. "
+ to_chat(user, " You lack the dexterity to fold \the [src]. ")
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index ac3df3fc957..cded998bcce 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -61,7 +61,7 @@
colour = "blue"
else
colour = "black"
- user << "\The [src] will now write in [colour]."
+ to_chat(user, "\The [src] will now write in [colour].")
desc = "It's a fancy four-color ink pen, set to [colour]."
@@ -69,9 +69,9 @@
var/deg = input(user, "What angle would you like to rotate the pen head to? (1-360)", "Rotate Pen Head") as null|num
if(deg && (deg > 0 && deg <= 360))
degrees = deg
- user << "You rotate the top of the pen to [degrees] degrees."
+ to_chat(user, "You rotate the top of the pen to [degrees] degrees.")
if(hidden_uplink && degrees == traitor_unlock_degrees)
- user << "Your pen makes a clicking noise, before quickly rotating back to 0 degrees!"
+ to_chat(user, "Your pen makes a clicking noise, before quickly rotating back to 0 degrees!")
degrees = 0
hidden_uplink.interact(user)
@@ -89,9 +89,9 @@
if(!force)
if(M.can_inject(user, 1))
- user << "You stab [M] with the pen."
+ to_chat(user, "You stab [M] with the pen.")
if(!stealth)
- M << "You feel a tiny prick!"
+ to_chat(M, "You feel a tiny prick!")
. = 1
add_logs(user, M, "stabbed", src)
@@ -142,7 +142,7 @@
embed_chance = initial(embed_chance)
throwforce = initial(throwforce)
playsound(user, 'sound/weapons/saberoff.ogg', 5, 1)
- user << "[src] can now be concealed."
+ to_chat(user, "[src] can now be concealed.")
else
on = 1
force = 18
@@ -152,7 +152,7 @@
embed_chance = 100 //rule of cool
throwforce = 35
playsound(user, 'sound/weapons/saberon.ogg', 5, 1)
- user << "[src] is now active."
+ to_chat(user, "[src] is now active.")
update_icon()
/obj/item/weapon/pen/edagger/update_icon()
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 3a76e549c79..e1e776b7d72 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -143,7 +143,7 @@
for(var/i = 0, i < copies, i++)
var/icon/temp_img
if(ishuman(ass) && (ass.get_item_by_slot(slot_w_uniform) || ass.get_item_by_slot(slot_wear_suit)))
- usr << "You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "their"] clothes on." //'
+ to_chat(usr, "You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "their"] clothes on." )
break
else if(toner >= 5 && !busy && check_ass()) //You have to be sitting on the copier and either be a xeno or a human without clothes on.
if(isalienadult(ass) || istype(ass,/mob/living/simple_animal/hostile/alien)) //Xenos have their own asses, thanks to Pybro.
@@ -187,7 +187,7 @@
remove_photocopy(doccopy, usr)
doccopy = null
else if(check_ass())
- ass << "You feel a slight pressure on your ass."
+ to_chat(ass, "You feel a slight pressure on your ass.")
updateUsrDialog()
else if(href_list["min"])
if(copies > 1)
@@ -206,7 +206,7 @@
var/datum/picture/selection
var/mob/living/silicon/ai/tempAI = usr
if(tempAI.aicamera.aipictures.len == 0)
- usr << "No images saved"
+ to_chat(usr, "No images saved")
return
for(var/datum/picture/t in tempAI.aicamera.aipictures)
nametemp += t.fields["name"]
@@ -238,7 +238,7 @@
/obj/machinery/photocopier/proc/do_insertion(obj/item/O, mob/user)
O.loc = src
- user << "You insert [O] into [src]."
+ to_chat(user, "You insert [O] into [src].")
flick("photocopier1", src)
updateUsrDialog()
@@ -248,13 +248,13 @@
user.put_in_hands(O)
else
O.loc = src.loc
- user << "You take [O] out of [src]."
+ to_chat(user, "You take [O] out of [src].")
/obj/machinery/photocopier/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/weapon/paper))
if(copier_empty())
if(istype(O,/obj/item/weapon/paper/contract/infernal))
- user << "[src] smokes, smelling of brimstone!"
+ to_chat(user, "[src] smokes, smelling of brimstone!")
resistance_flags |= FLAMMABLE
fire_act()
else
@@ -263,7 +263,7 @@
copy = O
do_insertion(O, user)
else
- user << "There is already something in [src]!"
+ to_chat(user, "There is already something in [src]!")
else if(istype(O, /obj/item/weapon/photo))
if(copier_empty())
@@ -272,7 +272,7 @@
photocopy = O
do_insertion(O, user)
else
- user << "There is already something in [src]!"
+ to_chat(user, "There is already something in [src]!")
else if(istype(O, /obj/item/documents))
if(copier_empty())
@@ -281,7 +281,7 @@
doccopy = O
do_insertion(O, user)
else
- user << "There is already something in [src]!"
+ to_chat(user, "There is already something in [src]!")
else if(istype(O, /obj/item/device/toner))
if(toner <= 0)
@@ -289,21 +289,21 @@
return
qdel(O)
toner = 40
- user << "You insert [O] into [src]."
+ to_chat(user, "You insert [O] into [src].")
updateUsrDialog()
else
- user << "This cartridge is not yet ready for replacement! Use up the rest of the toner."
+ to_chat(user, "This cartridge is not yet ready for replacement! Use up the rest of the toner.")
else if(istype(O, /obj/item/weapon/wrench))
if(isinspace())
- user << "There's nothing to fasten [src] to!"
+ to_chat(user, "There's nothing to fasten [src] to!")
return
playsound(loc, O.usesound, 50, 1)
- user << "You start [anchored ? "unwrenching" : "wrenching"] [src]..."
+ to_chat(user, "You start [anchored ? "unwrenching" : "wrenching"] [src]...")
if(do_after(user, 20*O.toolspeed, target = src))
if(QDELETED(src))
return
- user << "You [anchored ? "unwrench" : "wrench"] [src]."
+ to_chat(user, "You [anchored ? "unwrench" : "wrench"] [src].")
anchored = !anchored
else
return ..()
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 4a8e3b73a21..36ca8dc3a70 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -57,7 +57,7 @@
if(in_range(src, user))
show(user)
else
- user << "You need to get closer to get a good look at this photo!"
+ to_chat(user, "You need to get closer to get a good look at this photo!")
/obj/item/weapon/photo/proc/show(mob/user)
@@ -167,11 +167,11 @@
/obj/item/device/camera/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/camera_film))
if(pictures_left)
- user << "[src] still has some film in it!"
+ to_chat(user, "[src] still has some film in it!")
return
if(!user.temporarilyRemoveItemFromInventory(I))
return
- user << "You insert [I] into [src]."
+ to_chat(user, "You insert [I] into [src].")
qdel(I)
pictures_left = pictures_max
return
@@ -180,7 +180,7 @@
/obj/item/device/camera/examine(mob/user)
..()
- user << "It has [pictures_left] photos left."
+ to_chat(user, "It has [pictures_left] photos left.")
/obj/item/device/camera/proc/camera_get_icon(list/turfs, turf/center)
@@ -364,7 +364,7 @@
P.fields["blueprints"] = blueprintsinject
aipictures += P
- usr << "Image recorded" //feedback to the AI player that the picture was taken
+ to_chat(usr, "Image recorded" )
/obj/item/device/camera/proc/injectmasteralbum(icon, img, desc, pixel_x, pixel_y, blueprintsinject) //stores image information to a list similar to that of the datacore
var/numberer = 1
@@ -382,7 +382,7 @@
P.fields["blueprints"] = blueprintsinject
C.connected_ai.aicamera.aipictures += P
- usr << "Image recorded and saved to remote database" //feedback to the Cyborg player that the picture was taken
+ to_chat(usr, "Image recorded and saved to remote database" )
else
injectaialbum(icon, img, desc, pixel_x, pixel_y, blueprintsinject)
@@ -390,7 +390,7 @@
var/list/nametemp = list()
var/find
if(targetloc.aipictures.len == 0)
- usr << "No images saved"
+ to_chat(usr, "No images saved")
return
for(var/datum/picture/t in targetloc.aipictures)
nametemp += t.fields["name"]
@@ -408,7 +408,7 @@
P.pixel_y = selection.fields["pixel_y"]
P.show(usr)
- usr << P.desc
+ to_chat(usr, P.desc)
qdel(P) //so 10 thousand picture items are not left in memory should an AI take them and then view them all
/obj/item/device/camera/siliconcam/proc/viewpictures(user)
@@ -434,7 +434,7 @@
playsound(loc, pick('sound/items/polaroid1.ogg', 'sound/items/polaroid2.ogg'), 75, 1, -3)
pictures_left--
- user << "[pictures_left] photos left."
+ to_chat(user, "[pictures_left] photos left.")
icon_state = "camera_off"
on = 0
spawn(64)
@@ -449,11 +449,11 @@
/obj/item/device/camera/siliconcam/proc/camera_mode_off()
src.in_camera_mode = 0
- usr << "Camera Mode deactivated"
+ to_chat(usr, "Camera Mode deactivated")
/obj/item/device/camera/siliconcam/proc/camera_mode_on()
src.in_camera_mode = 1
- usr << "Camera Mode activated"
+ to_chat(usr, "Camera Mode activated")
/obj/item/device/camera/siliconcam/robot_camera/proc/borgprint()
var/list/nametemp = list()
@@ -462,14 +462,14 @@
var/mob/living/silicon/robot/C = src.loc
var/obj/item/device/camera/siliconcam/targetcam = null
if(C.toner < 20)
- usr << "Insufficent toner to print image."
+ to_chat(usr, "Insufficent toner to print image.")
return
if(C.connected_ai)
targetcam = C.connected_ai.aicamera
else
targetcam = C.aicamera
if(targetcam.aipictures.len == 0)
- usr << "No images saved"
+ to_chat(usr, "No images saved")
return
for(var/datum/picture/t in targetcam.aipictures)
nametemp += t.fields["name"]
@@ -484,7 +484,7 @@
p.pixel_y = rand(-10, 10)
C.toner -= 20 //Cyborgs are very ineffeicient at printing an image
visible_message("[C.name] spits out a photograph from a narrow slot on its chassis.")
- usr << "You print a photograph."
+ to_chat(usr, "You print a photograph.")
// Picture frames
@@ -504,7 +504,7 @@
displayed = P
update_icon()
else
- user << "\The [src] already contains a photo."
+ to_chat(user, "\The [src] already contains a photo.")
..()
@@ -515,7 +515,7 @@
if(contents.len)
var/obj/item/I = pick(contents)
user.put_in_hands(I)
- user << "You carefully remove the photo from \the [src]."
+ to_chat(user, "You carefully remove the photo from \the [src].")
displayed = null
update_icon()
@@ -592,7 +592,7 @@
framed = P
update_icon()
else
- user << "\The [src] already contains a photo."
+ to_chat(user, "\The [src] already contains a photo.")
..()
diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm
index a5a69a1bf21..acb9bb632f3 100644
--- a/code/modules/power/antimatter/control.dm
+++ b/code/modules/power/antimatter/control.dm
@@ -174,11 +174,11 @@
src.anchored = 0
disconnect_from_network()
else
- user << "Once bolted and linked to a shielding unit it the [src.name] is unable to be moved!"
+ to_chat(user, "Once bolted and linked to a shielding unit it the [src.name] is unable to be moved!")
else if(istype(W, /obj/item/weapon/am_containment))
if(fueljar)
- user << "There is already a [fueljar] inside!"
+ to_chat(user, "There is already a [fueljar] inside!")
return
if(!user.transferItemToLoc(W, src))
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 888d5987fc1..33ce8322424 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -200,18 +200,18 @@
return
if(opened)
if(has_electronics && terminal)
- user << "The cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"]."
+ to_chat(user, "The cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"].")
else
- user << "It's [ !terminal ? "not" : "" ] wired up."
- user << "The electronics are[!has_electronics?"n't":""] installed."
+ to_chat(user, "It's [ !terminal ? "not" : "" ] wired up.")
+ to_chat(user, "The electronics are[!has_electronics?"n't":""] installed.")
else
if (stat & MAINT)
- user << "The cover is closed. Something is wrong with it. It doesn't work."
+ to_chat(user, "The cover is closed. Something is wrong with it. It doesn't work.")
else if (malfhack)
- user << "The cover is broken. It may be hard to force it open."
+ to_chat(user, "The cover is broken. It may be hard to force it open.")
else
- user << "The cover is closed."
+ to_chat(user, "The cover is closed.")
// update the APC icon to show the three base states
@@ -375,10 +375,10 @@
if (opened) // a) on open apc
if (has_electronics==1)
if (terminal)
- user << "Disconnect the wires first!"
+ to_chat(user, "Disconnect the wires first!")
return
playsound(src.loc, W.usesound, 50, 1)
- user << "You are trying to remove the power control board..." //lpeters - fixed grammar issues
+ to_chat(user, "You are trying to remove the power control board..." )
if(do_after(user, 50*W.toolspeed, target = src))
if (has_electronics==1)
has_electronics = 0
@@ -415,10 +415,10 @@
return
else if (!(stat & BROKEN)) // b) on closed and not broken APC
if(coverlocked && !(stat & MAINT)) // locked...
- user << "The cover is locked and cannot be opened!"
+ to_chat(user, "The cover is locked and cannot be opened!")
return
else if (panel_open) // wires are exposed
- user << "Exposed wires prevents you from opening it!"
+ to_chat(user, "Exposed wires prevents you from opening it!")
return
else
opened = 1
@@ -427,11 +427,11 @@
else if (istype(W, /obj/item/weapon/stock_parts/cell) && opened) // trying to put a cell inside
if(cell)
- user << "There is a power cell already installed!"
+ to_chat(user, "There is a power cell already installed!")
return
else
if (stat & MAINT)
- user << "There is no connector for your power cell!"
+ to_chat(user, "There is no connector for your power cell!")
return
if(!user.drop_item())
return
@@ -446,46 +446,46 @@
else if (istype(W, /obj/item/weapon/screwdriver)) // haxing
if(opened)
if (cell)
- user << "Close the APC first!" //Less hints more mystery!
+ to_chat(user, "Close the APC first!" )
return
else
if (has_electronics==1)
has_electronics = 2
stat &= ~MAINT
playsound(src.loc, W.usesound, 50, 1)
- user << "You screw the circuit electronics into place."
+ to_chat(user, "You screw the circuit electronics into place.")
else if (has_electronics==2)
has_electronics = 1
stat |= MAINT
playsound(src.loc, W.usesound, 50, 1)
- user << "You unfasten the electronics."
+ to_chat(user, "You unfasten the electronics.")
else /* has_electronics==0 */
- user << "There is nothing to secure!"
+ to_chat(user, "There is nothing to secure!")
return
update_icon()
else if(emagged)
- user << "The interface is broken!"
+ to_chat(user, "The interface is broken!")
else
panel_open = !panel_open
- user << "The wires have been [panel_open ? "exposed" : "unexposed"]"
+ to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"]")
update_icon()
else if (W.GetID()) // trying to unlock the interface with an ID card
if(emagged)
- user << "The interface is broken!"
+ to_chat(user, "The interface is broken!")
else if(opened)
- user << "You must close the cover to swipe an ID card!"
+ to_chat(user, "You must close the cover to swipe an ID card!")
else if(panel_open)
- user << "You must close the panel!"
+ to_chat(user, "You must close the panel!")
else if(stat & (BROKEN|MAINT))
- user << "Nothing happens!"
+ to_chat(user, "Nothing happens!")
else
if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN) && !malfhack)
locked = !locked
- user << "You [ locked ? "lock" : "unlock"] the APC interface."
+ to_chat(user, "You [ locked ? "lock" : "unlock"] the APC interface.")
update_icon()
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
else if (istype(W, /obj/item/stack/cable_coil) && opened)
var/turf/host_turf = get_turf(src)
@@ -493,18 +493,18 @@
throw EXCEPTION("attackby on APC when it's not on a turf")
return
if (host_turf.intact)
- user << "You must remove the floor plating in front of the APC first!"
+ to_chat(user, "You must remove the floor plating in front of the APC first!")
return
else if (terminal) // it already have terminal
- user << "This APC is already wired!"
+ to_chat(user, "This APC is already wired!")
return
else if (has_electronics == 0)
- user << "There is nothing to wire!"
+ to_chat(user, "There is nothing to wire!")
return
var/obj/item/stack/cable_coil/C = W
if(C.get_amount() < 10)
- user << "You need ten lengths of cable for APC!"
+ to_chat(user, "You need ten lengths of cable for APC!")
return
user.visible_message("[user.name] adds cables to the APC frame.", \
"You start adding cables to the APC frame...")
@@ -521,7 +521,7 @@
s.start()
return
C.use(10)
- user << "You add cables to the APC frame."
+ to_chat(user, "You add cables to the APC frame.")
make_terminal()
terminal.connect_to_network()
@@ -530,10 +530,10 @@
else if (istype(W, /obj/item/weapon/electronics/apc) && opened)
if (has_electronics!=0) // there are already electronicks inside
- user << "You cannot put the board inside, there already is one!"
+ to_chat(user, "You cannot put the board inside, there already is one!")
return
else if (stat & BROKEN)
- user << "You cannot put the board inside, the frame is damaged!"
+ to_chat(user, "You cannot put the board inside, the frame is damaged!")
return
user.visible_message("[user.name] inserts the power control board into [src].", \
@@ -543,13 +543,13 @@
if(has_electronics==0)
has_electronics = 1
locked = 1 //We placed new, locked board in
- user << "You place the power control board inside the frame."
+ to_chat(user, "You place the power control board inside the frame.")
qdel(W)
else if (istype(W, /obj/item/weapon/weldingtool) && opened && has_electronics==0 && !terminal)
var/obj/item/weapon/weldingtool/WT = W
if (WT.get_fuel() < 3)
- user << "You need more welding fuel to complete this task!"
+ to_chat(user, "You need more welding fuel to complete this task!")
return
user.visible_message("[user.name] welds [src].", \
"You start welding the APC frame...", \
@@ -572,24 +572,24 @@
else if (istype(W, /obj/item/wallframe/apc) && opened)
if (!(stat & BROKEN || opened==2 || obj_integrity < max_integrity)) // There is nothing to repair
- user << "You found no reason for repairing this APC"
+ to_chat(user, "You found no reason for repairing this APC")
return
if (!(stat & BROKEN) && opened==2) // Cover is the only thing broken, we do not need to remove elctronicks to replace cover
user.visible_message("[user.name] replaces missing APC's cover.",\
"You begin to replace APC's cover...")
if(do_after(user, 20, target = src)) // replacing cover is quicker than replacing whole frame
- user << "You replace missing APC's cover."
+ to_chat(user, "You replace missing APC's cover.")
qdel(W)
opened = 1
update_icon()
return
if (has_electronics)
- user << "You cannot repair this APC until you remove the electronics still inside!"
+ to_chat(user, "You cannot repair this APC until you remove the electronics still inside!")
return
user.visible_message("[user.name] replaces the damaged APC frame with a new one.",\
"You begin to replace the damaged APC frame...")
if(do_after(user, 50, target = src))
- user << "You replace the damaged APC frame with a new one."
+ to_chat(user, "You replace the damaged APC frame with a new one.")
qdel(W)
stat &= ~BROKEN
obj_integrity = max_integrity
@@ -623,16 +623,16 @@
/obj/machinery/power/apc/emag_act(mob/user)
if(!emagged && !malfhack)
if(opened)
- user << "You must close the cover to swipe an ID card!"
+ to_chat(user, "You must close the cover to swipe an ID card!")
else if(panel_open)
- user << "You must close the panel first!"
+ to_chat(user, "You must close the panel first!")
else if(stat & (BROKEN|MAINT))
- user << "Nothing happens!"
+ to_chat(user, "Nothing happens!")
else
flick("apc-spark", src)
emagged = 1
locked = 0
- user << "You emag the APC interface."
+ to_chat(user, "You emag the APC interface.")
update_icon()
// attack with hand - remove cell (if cover open) or interact with the APC
@@ -649,7 +649,7 @@
src.cell = null
user.visible_message("[user.name] removes the power cell from [src.name]!",\
"You remove the power cell.")
- //user << "You remove the power cell."
+ //to_chat(user, "You remove the power cell.")
charging = 0
src.update_icon()
return
@@ -744,13 +744,13 @@
area.power_environ = (environ > 1)
// if (area.name == "AI Chamber")
// spawn(10)
-// world << " [area.name] [area.power_equip]"
+// to_chat(world, " [area.name] [area.power_equip]")
else
area.power_light = 0
area.power_equip = 0
area.power_environ = 0
// if (area.name == "AI Chamber")
-// world << "[area.power_equip]"
+// to_chat(world, "[area.power_equip]")
area.power_change()
/obj/machinery/power/apc/proc/can_use(mob/user, loud = 0) //used by attack_hand() and Topic()
@@ -768,7 +768,7 @@
) \
)
if(!loud)
- user << "\The [src] has eee disabled!"
+ to_chat(user, "\The [src] has eee disabled!")
return FALSE
return TRUE
@@ -779,7 +779,7 @@
if("lock")
if(usr.has_unlimited_silicon_privilege)
if(emagged || (stat & (BROKEN|MAINT)))
- usr << "The APC does not respond to the command."
+ to_chat(usr, "The APC does not respond to the command.")
else
locked = !locked
update_icon()
@@ -840,9 +840,9 @@
if(get_malf_status(malf) != 1)
return
if(malf.malfhacking)
- malf << "You are already hacking an APC."
+ to_chat(malf, "You are already hacking an APC.")
return
- malf << "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process."
+ to_chat(malf, "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process.")
malf.malfhack = src
malf.malfhacking = addtimer(CALLBACK(malf, /mob/living/silicon/ai/.proc/malfhacked, src), 600, TIMER_STOPPABLE)
@@ -854,10 +854,10 @@
if(!istype(malf))
return
if(istype(malf.loc, /obj/machinery/power/apc)) // Already in an APC
- malf << "You must evacuate your current APC first!"
+ to_chat(malf, "You must evacuate your current APC first!")
return
if(!malf.can_shunt)
- malf << "You cannot shunt!"
+ to_chat(malf, "You cannot shunt!")
return
if(src.z != 1)
return
@@ -888,7 +888,7 @@
occupier.parent.verbs -= /mob/living/silicon/ai/proc/corereturn
qdel(occupier)
else
- occupier << "Primary core damaged, unable to return core processes."
+ to_chat(occupier, "Primary core damaged, unable to return core processes.")
if(forced)
occupier.loc = src.loc
occupier.death()
@@ -899,19 +899,19 @@
/obj/machinery/power/apc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/device/aicard/card)
if(card.AI)
- user << "[card] is already occupied!"
+ to_chat(user, "[card] is already occupied!")
return
if(!occupier)
- user << "There's nothing in [src] to transfer!"
+ to_chat(user, "There's nothing in [src] to transfer!")
return
if(!occupier.mind || !occupier.client)
- user << "[occupier] is either inactive, destroyed, or braindead!"
+ to_chat(user, "[occupier] is either inactive, destroyed, or braindead!")
return
if(!occupier.parent.stat)
- user << "[occupier] is refusing all attempts at transfer!" //We can return to our core, no need to shunt right now
+ to_chat(user, "[occupier] is refusing all attempts at transfer!" )
return
if(transfer_in_progress)
- user << "There's already a transfer in progress!"
+ to_chat(user, "There's already a transfer in progress!")
return
if(interaction != AI_TRANS_TO_CARD || occupier.stat)
return
@@ -923,26 +923,26 @@
playsound(src, 'sound/machines/click.ogg', 50, 1)
occupier << sound('sound/misc/notice2.ogg') //To alert the AI that someone's trying to card them if they're tabbed out
if(alert(occupier, "[user] is attempting to transfer you to \a [card.name]. Do you consent to this?", "APC Transfer", "Yes - Transfer Me", "No - Keep Me Here") == "No - Keep Me Here")
- user << "AI denied transfer request. Process terminated."
+ to_chat(user, "AI denied transfer request. Process terminated.")
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1)
transfer_in_progress = FALSE
return
if(user.loc != T)
- user << "Location changed. Process terminated."
- occupier << "[user] moved away! Transfer canceled."
+ to_chat(user, "Location changed. Process terminated.")
+ to_chat(occupier, "[user] moved away! Transfer canceled.")
transfer_in_progress = FALSE
return
- user << "AI accepted request. Transferring stored intelligence to [card]..."
- occupier << "Transfer starting. You will be moved to [card] shortly."
+ to_chat(user, "AI accepted request. Transferring stored intelligence to [card]...")
+ to_chat(occupier, "Transfer starting. You will be moved to [card] shortly.")
if(!do_after(user, 50, target = src))
- occupier << "[user] was interrupted! Transfer canceled."
+ to_chat(occupier, "[user] was interrupted! Transfer canceled.")
transfer_in_progress = FALSE
return
if(!occupier || !card)
transfer_in_progress = FALSE
return
user.visible_message("[user] transfers [occupier] to [card]!", "Transfer complete! [occupier] is now stored in [card].")
- occupier << "Transfer complete! You've been stored in [user]'s [card.name]."
+ to_chat(occupier, "Transfer complete! You've been stored in [user]'s [card.name].")
occupier.forceMove(card)
card.AI = occupier
occupier.parent.shunted = FALSE
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 6a8f9cf24a0..9ce872dcb8a 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -138,15 +138,15 @@ By design, d1 is the smallest direction and d2 is the highest
else if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = W
if (coil.get_amount() < 1)
- user << "Not enough cable!"
+ to_chat(user, "Not enough cable!")
return
coil.cable_join(src, user)
else if(istype(W, /obj/item/device/multitool))
if(powernet && (powernet.avail > 0)) // is it powered?
- user << "[powernet.avail]W in power network."
+ to_chat(user, "[powernet.avail]W in power network.")
else
- user << "The cable is not powered."
+ to_chat(user, "The cable is not powered.")
shock(user, 5, 0.2)
src.add_fingerprint(user)
@@ -555,15 +555,15 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
return
if(!T.can_have_cabling())
- user << "You can only lay cables on catwalks and plating!"
+ to_chat(user, "You can only lay cables on catwalks and plating!")
return
if(get_amount() < 1) // Out of cable
- user << "There is no cable left!"
+ to_chat(user, "There is no cable left!")
return
if(get_dist(T,user) > 1) // Too far
- user << "You can't lay cable at a place that far away!"
+ to_chat(user, "You can't lay cable at a place that far away!")
return
else
@@ -576,7 +576,7 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
for(var/obj/structure/cable/LC in T)
if(LC.d2 == dirn && LC.d1 == 0)
- user << "There's already a cable at that position!"
+ to_chat(user, "There's already a cable at that position!")
return
var/obj/structure/cable/C = get_new_cable(T)
@@ -617,7 +617,7 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
return
if(get_dist(C, user) > 1) // make sure it's close enough
- user << "You can't lay cable at a place that far away!"
+ to_chat(user, "You can't lay cable at a place that far away!")
return
@@ -630,10 +630,10 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
// one end of the clicked cable is pointing towards us
if(C.d1 == dirn || C.d2 == dirn)
if(!U.can_have_cabling()) //checking if it's a plating or catwalk
- user << "You can only lay cables on catwalks and plating!"
+ to_chat(user, "You can only lay cables on catwalks and plating!")
return
if(U.intact) //can't place a cable if it's a plating with a tile on it
- user << "You can't lay cable there unless the floor tiles are removed!"
+ to_chat(user, "You can't lay cable there unless the floor tiles are removed!")
return
else
// cable is pointing at us, we're standing on an open tile
@@ -643,7 +643,7 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
for(var/obj/structure/cable/LC in U) // check to make sure there's not a cable there already
if(LC.d1 == fdirn || LC.d2 == fdirn)
- user << "There's already a cable at that position!"
+ to_chat(user, "There's already a cable at that position!")
return
var/obj/structure/cable/NC = get_new_cable (U)
@@ -687,7 +687,7 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
if(LC == C) // skip the cable we're interacting with
continue
if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1) ) // make sure no cable matches either direction
- user << "There's already a cable at that position!"
+ to_chat(user, "There's already a cable at that position!")
return
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 2cab648a6ad..c12be4e0135 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -86,9 +86,9 @@
/obj/item/weapon/stock_parts/cell/examine(mob/user)
..()
if(rigged)
- user << "This power cell seems to be faulty!"
+ to_chat(user, "This power cell seems to be faulty!")
else
- user << "The charge meter reads [round(src.percent() )]%."
+ to_chat(user, "The charge meter reads [round(src.percent() )]%.")
/obj/item/weapon/stock_parts/cell/suicide_act(mob/user)
user.visible_message("[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!")
@@ -98,7 +98,7 @@
..()
if(istype(W, /obj/item/weapon/reagent_containers/syringe))
var/obj/item/weapon/reagent_containers/syringe/S = W
- user << "You inject the solution into the power cell."
+ to_chat(user, "You inject the solution into the power cell.")
if(S.reagents.has_reagent("plasma", 5))
rigged = 1
S.reagents.clear_reagents()
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index f28fae197f1..3dfba8e952c 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -79,24 +79,24 @@
lastgen = 0
if(powernet)
- //world << "cold_circ and hot_circ pass"
+ //to_chat(world, "cold_circ and hot_circ pass")
var/datum/gas_mixture/cold_air = cold_circ.return_transfer_air()
var/datum/gas_mixture/hot_air = hot_circ.return_transfer_air()
- //world << "hot_air = [hot_air]; cold_air = [cold_air];"
+ //to_chat(world, "hot_air = [hot_air]; cold_air = [cold_air];")
if(cold_air && hot_air)
- //world << "hot_air = [hot_air] temperature = [hot_air.temperature]; cold_air = [cold_air] temperature = [hot_air.temperature];"
+ //to_chat(world, "hot_air = [hot_air] temperature = [hot_air.temperature]; cold_air = [cold_air] temperature = [hot_air.temperature];")
- //world << "coldair and hotair pass"
+ //to_chat(world, "coldair and hotair pass")
var/cold_air_heat_capacity = cold_air.heat_capacity()
var/hot_air_heat_capacity = hot_air.heat_capacity()
var/delta_temperature = hot_air.temperature - cold_air.temperature
- //world << "delta_temperature = [delta_temperature]; cold_air_heat_capacity = [cold_air_heat_capacity]; hot_air_heat_capacity = [hot_air_heat_capacity]"
+ //to_chat(world, "delta_temperature = [delta_temperature]; cold_air_heat_capacity = [cold_air_heat_capacity]; hot_air_heat_capacity = [hot_air_heat_capacity]")
if(delta_temperature > 0 && cold_air_heat_capacity > 0 && hot_air_heat_capacity > 0)
var/efficiency = 0.65
@@ -106,12 +106,12 @@
var/heat = energy_transfer*(1-efficiency)
lastgen = energy_transfer*efficiency
- //world << "lastgen = [lastgen]; heat = [heat]; delta_temperature = [delta_temperature]; hot_air_heat_capacity = [hot_air_heat_capacity]; cold_air_heat_capacity = [cold_air_heat_capacity];"
+ //to_chat(world, "lastgen = [lastgen]; heat = [heat]; delta_temperature = [delta_temperature]; hot_air_heat_capacity = [hot_air_heat_capacity]; cold_air_heat_capacity = [cold_air_heat_capacity];")
hot_air.temperature = hot_air.temperature - energy_transfer/hot_air_heat_capacity
cold_air.temperature = cold_air.temperature + heat/cold_air_heat_capacity
- //world << "POWER: [lastgen] W generated at [efficiency*100]% efficiency and sinks sizes [cold_air_heat_capacity], [hot_air_heat_capacity]"
+ //to_chat(world, "POWER: [lastgen] W generated at [efficiency*100]% efficiency and sinks sizes [cold_air_heat_capacity], [hot_air_heat_capacity]")
add_avail(lastgen)
// update icon overlays only if displayed level has changed
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index fb9f7f0dfc0..e042c02e3ee 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -191,7 +191,7 @@ var/const/GRAV_NEEDS_WRENCH = 3
switch(broken_state)
if(GRAV_NEEDS_SCREWDRIVER)
if(istype(I, /obj/item/weapon/screwdriver))
- user << "You secure the screws of the framework."
+ to_chat(user, "You secure the screws of the framework.")
playsound(src.loc, I.usesound, 50, 1)
broken_state++
update_icon()
@@ -200,28 +200,28 @@ var/const/GRAV_NEEDS_WRENCH = 3
if(istype(I, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = I
if(WT.remove_fuel(1, user))
- user << "You mend the damaged framework."
+ to_chat(user, "You mend the damaged framework.")
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
broken_state++
update_icon()
else if(WT.isOn())
- user << "You don't have enough fuel to mend the damaged framework!"
+ to_chat(user, "You don't have enough fuel to mend the damaged framework!")
return
if(GRAV_NEEDS_PLASTEEL)
if(istype(I, /obj/item/stack/sheet/plasteel))
var/obj/item/stack/sheet/plasteel/PS = I
if(PS.get_amount() >= 10)
PS.use(10)
- user << "You add the plating to the framework."
+ to_chat(user, "You add the plating to the framework.")
playsound(src.loc, 'sound/machines/click.ogg', 75, 1)
broken_state++
update_icon()
else
- user << "You need 10 sheets of plasteel!"
+ to_chat(user, "You need 10 sheets of plasteel!")
return
if(GRAV_NEEDS_WRENCH)
if(istype(I, /obj/item/weapon/wrench))
- user << "You secure the plating to the framework."
+ to_chat(user, "You secure the plating to the framework.")
playsound(src.loc, I.usesound, 75, 1)
set_fix()
return
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index a79830c9ff7..dbfef843701 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -51,11 +51,11 @@
..()
switch(src.stage)
if(1)
- user << "It's an empty frame."
+ to_chat(user, "It's an empty frame.")
if(2)
- user << "It's wired."
+ to_chat(user, "It's wired.")
if(3)
- user << "The casing is closed."
+ to_chat(user, "The casing is closed.")
/obj/structure/light_construct/attackby(obj/item/weapon/W, mob/user, params)
add_fingerprint(user)
@@ -63,7 +63,7 @@
if(1)
if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, W.usesound, 75, 1)
- usr << "You begin deconstructing [src]..."
+ to_chat(usr, "You begin deconstructing [src]...")
if (!do_after(usr, 30*W.toolspeed, target = src))
return
new /obj/item/stack/sheet/metal( get_turf(src.loc), sheets_refunded )
@@ -85,11 +85,11 @@
user.visible_message("[user.name] adds wires to [src].", \
"You add wires to [src].")
else
- user << "You need one length of cable to wire [src]!"
+ to_chat(user, "You need one length of cable to wire [src]!")
return
if(2)
if(istype(W, /obj/item/weapon/wrench))
- usr << "You have to remove the wires first!"
+ to_chat(usr, "You have to remove the wires first!")
return
if(istype(W, /obj/item/weapon/wirecutters))
@@ -281,13 +281,13 @@
..()
switch(status)
if(LIGHT_OK)
- user << "It is turned [on? "on" : "off"]."
+ to_chat(user, "It is turned [on? "on" : "off"].")
if(LIGHT_EMPTY)
- user << "The [fitting] has been removed."
+ to_chat(user, "The [fitting] has been removed.")
if(LIGHT_BURNED)
- user << "The [fitting] is burnt out."
+ to_chat(user, "The [fitting] is burnt out.")
if(LIGHT_BROKEN)
- user << "The [fitting] has been smashed."
+ to_chat(user, "The [fitting] has been smashed.")
@@ -303,7 +303,7 @@
// attempt to insert light
else if(istype(W, /obj/item/weapon/light))
if(status == LIGHT_OK)
- user << "There is a [fitting] already inserted!"
+ to_chat(user, "There is a [fitting] already inserted!")
else
src.add_fingerprint(user)
var/obj/item/weapon/light/L = W
@@ -314,9 +314,9 @@
src.add_fingerprint(user)
if(status != LIGHT_EMPTY)
drop_light_tube(user)
- user << "You replace [L]."
+ to_chat(user, "You replace [L].")
else
- user << "You insert [L]."
+ to_chat(user, "You insert [L].")
status = L.status
switchcount = L.switchcount
rigged = L.rigged
@@ -329,7 +329,7 @@
if(on && rigged)
explode()
else
- user << "This type of light requires a [fitting]!"
+ to_chat(user, "This type of light requires a [fitting]!")
// attempt to stick weapon into light socket
else if(status == LIGHT_EMPTY)
@@ -339,7 +339,7 @@
"You open [src]'s casing.", "You hear a noise.")
deconstruct()
else
- user << "You stick \the [W] into the light socket!"
+ to_chat(user, "You stick \the [W] into the light socket!")
if(has_power() && (W.flags & CONDUCT))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, src)
@@ -439,7 +439,7 @@
add_fingerprint(user)
if(status == LIGHT_EMPTY)
- user << "There is no [fitting] in this light."
+ to_chat(user, "There is no [fitting] in this light.")
return
// make it burn hands if not wearing fire-insulated gloves
@@ -457,18 +457,18 @@
prot = 1
if(prot > 0)
- user << "You remove the light [fitting]."
+ to_chat(user, "You remove the light [fitting].")
else if(istype(user) && user.dna.check_mutation(TK))
- user << "You telekinetically remove the light [fitting]."
+ to_chat(user, "You telekinetically remove the light [fitting].")
else
- user << "You try to remove the light [fitting], but you burn your hand on it!"
+ to_chat(user, "You try to remove the light [fitting], but you burn your hand on it!")
var/obj/item/bodypart/affecting = H.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm")
if(affecting && affecting.receive_damage( 0, 5 )) // 5 burn damage
H.update_damage_overlays()
return // if burned, don't remove the light
else
- user << "You remove the light [fitting]."
+ to_chat(user, "You remove the light [fitting].")
// create a light tube/bulb item and put it in the user's hand
drop_light_tube(user)
@@ -494,10 +494,10 @@
/obj/machinery/light/attack_tk(mob/user)
if(status == LIGHT_EMPTY)
- user << "There is no [fitting] in this light."
+ to_chat(user, "There is no [fitting] in this light.")
return
- user << "You telekinetically remove the light [fitting]."
+ to_chat(user, "You telekinetically remove the light [fitting].")
// create a light tube/bulb item and put it in the user's hand
drop_light_tube()
@@ -616,7 +616,7 @@
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
var/obj/item/weapon/reagent_containers/syringe/S = I
- user << "You inject the solution into \the [src]."
+ to_chat(user, "You inject the solution into \the [src].")
if(S.reagents.has_reagent("plasma", 5))
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index a58a90f6f80..a5513feaddd 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -86,7 +86,7 @@ display round(lastgen) and plasmatank amount
/obj/machinery/power/port_gen/examine(mob/user)
..()
- user << "It is[!active?"n't":""] running."
+ to_chat(user, "It is[!active?"n't":""] running.")
/obj/machinery/power/port_gen/pacman
name = "\improper P.A.C.M.A.N.-type portable generator"
@@ -151,8 +151,8 @@ display round(lastgen) and plasmatank amount
/obj/machinery/power/port_gen/pacman/examine(mob/user)
..()
- user << "The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle."
- if(crit_fail) user << "The generator seems to have broken down."
+ to_chat(user, "The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle.")
+ if(crit_fail) to_chat(user, "The generator seems to have broken down.")
/obj/machinery/power/port_gen/pacman/HasFuel()
if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left)
@@ -214,9 +214,9 @@ display round(lastgen) and plasmatank amount
var/obj/item/stack/addstack = O
var/amount = min((max_sheets - sheets), addstack.amount)
if(amount < 1)
- user << "The [src.name] is full!"
+ to_chat(user, "The [src.name] is full!")
return
- user << "You add [amount] sheets to the [src.name]."
+ to_chat(user, "You add [amount] sheets to the [src.name].")
sheets += amount
addstack.use(amount)
updateUsrDialog()
@@ -230,11 +230,11 @@ display round(lastgen) and plasmatank amount
if(!anchored && !isinspace())
connect_to_network()
- user << "You secure the generator to the floor."
+ to_chat(user, "You secure the generator to the floor.")
anchored = 1
else if(anchored)
disconnect_from_network()
- user << "You unsecure the generator from the floor."
+ to_chat(user, "You unsecure the generator from the floor.")
anchored = 0
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -243,9 +243,9 @@ display round(lastgen) and plasmatank amount
panel_open = !panel_open
playsound(src.loc, O.usesound, 50, 1)
if(panel_open)
- user << "You open the access panel."
+ to_chat(user, "You open the access panel.")
else
- user << "You close the access panel."
+ to_chat(user, "You close the access panel.")
return
else if(default_deconstruction_crowbar(O))
return
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index 759b8691213..55dd134ca0a 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -49,14 +49,14 @@ var/global/list/rad_collectors = list()
investigate_log("turned [active?"on":"off"] by [user.key]. [loaded_tank?"Fuel: [round(loaded_tank.air_contents.gases["plasma"][MOLES]/0.29)]%":"It is empty"].","singulo")
return
else
- user << "The controls are locked!"
+ to_chat(user, "The controls are locked!")
return
..()
/obj/machinery/power/rad_collector/can_be_unfasten_wrench(mob/user, silent)
if(loaded_tank)
if(!silent)
- user << "Remove the plasma tank first!"
+ to_chat(user, "Remove the plasma tank first!")
return FAILED_UNFASTEN
return ..()
@@ -70,16 +70,16 @@ var/global/list/rad_collectors = list()
/obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/device/multitool))
- user << "The [W.name] detects that [last_power]W were recently produced."
+ to_chat(user, "The [W.name] detects that [last_power]W were recently produced.")
return 1
else if(istype(W, /obj/item/device/analyzer) && loaded_tank)
atmosanalyzer_scan(loaded_tank.air_contents, user)
else if(istype(W, /obj/item/weapon/tank/internals/plasma))
if(!anchored)
- user << "The [src] needs to be secured to the floor first!"
+ to_chat(user, "The [src] needs to be secured to the floor first!")
return 1
if(loaded_tank)
- user << "There's already a plasma tank loaded!"
+ to_chat(user, "There's already a plasma tank loaded!")
return 1
if(!user.drop_item())
return 1
@@ -97,11 +97,11 @@ var/global/list/rad_collectors = list()
if(allowed(user))
if(active)
locked = !locked
- user << "You [locked ? "lock" : "unlock"] the controls."
+ to_chat(user, "You [locked ? "lock" : "unlock"] the controls.")
else
- user << "The controls can only be locked when \the [src] is active!"
+ to_chat(user, "The controls can only be locked when \the [src] is active!")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
return 1
else
return ..()
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 48b288e5043..f6bccc13d01 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -67,7 +67,7 @@
if(usr.stat || !usr.canmove || usr.restrained())
return
if (src.anchored)
- usr << "It is fastened to the floor!"
+ to_chat(usr, "It is fastened to the floor!")
return 0
src.setDir(turn(src.dir, 270))
return 1
@@ -75,7 +75,7 @@
/obj/machinery/power/emitter/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -105,26 +105,26 @@
src.add_fingerprint(user)
if(state == 2)
if(!powernet)
- user << "The emitter isn't connected to a wire!"
+ to_chat(user, "The emitter isn't connected to a wire!")
return 1
if(!src.locked)
if(src.active==1)
src.active = 0
- user << "You turn off \the [src]."
+ to_chat(user, "You turn off \the [src].")
message_admins("Emitter turned off by [key_name_admin(user)](?) (FLW) in ([x],[y],[z] - JMP)",0,1)
log_game("Emitter turned off by [key_name(user)] in ([x],[y],[z])")
investigate_log("turned off by [key_name(user)] at [get_area(src)]","singulo")
else
src.active = 1
- user << "You turn on \the [src]."
+ to_chat(user, "You turn on \the [src].")
src.shot_number = 0
src.fire_delay = maximum_fire_delay
investigate_log("turned on by [key_name(user)] at [get_area(src)]","singulo")
update_icon()
else
- user << "The controls are locked!"
+ to_chat(user, "The controls are locked!")
else
- user << "The [src] needs to be firmly secured to the floor first!"
+ to_chat(user, "The [src] needs to be firmly secured to the floor first!")
return 1
/obj/machinery/power/emitter/attack_animal(mob/living/simple_animal/M)
@@ -235,7 +235,7 @@
/obj/machinery/power/emitter/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
if(active)
- user << "Turn \the [src] off first!"
+ to_chat(user, "Turn \the [src] off first!")
return
default_unfasten_wrench(user, W, 0)
return
@@ -243,11 +243,11 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(active)
- user << "Turn \the [src] off first."
+ to_chat(user, "Turn \the [src] off first.")
return
switch(state)
if(EM_UNSECURED)
- user << "The [src.name] needs to be wrenched to the floor!"
+ to_chat(user, "The [src.name] needs to be wrenched to the floor!")
if(EM_SECURED)
if(WT.remove_fuel(0,user))
playsound(loc, WT.usesound, 50, 1)
@@ -256,7 +256,7 @@
"You hear welding.")
if(do_after(user,20*W.toolspeed, target = src) && WT.isOn())
state = EM_WELDED
- user << "You weld \the [src] to the floor."
+ to_chat(user, "You weld \the [src] to the floor.")
connect_to_network()
if(EM_WELDED)
if(WT.remove_fuel(0,user))
@@ -266,22 +266,22 @@
"You hear welding.")
if(do_after(user,20*W.toolspeed, target = src) && WT.isOn())
state = EM_SECURED
- user << "You cut \the [src] free from the floor."
+ to_chat(user, "You cut \the [src] free from the floor.")
disconnect_from_network()
return
if(W.GetID())
if(emagged)
- user << "The lock seems to be broken!"
+ to_chat(user, "The lock seems to be broken!")
return
if(allowed(user))
if(active)
locked = !locked
- user << "You [src.locked ? "lock" : "unlock"] the controls."
+ to_chat(user, "You [src.locked ? "lock" : "unlock"] the controls.")
else
- user << "The controls can only be locked when \the [src] is online!"
+ to_chat(user, "The controls can only be locked when \the [src] is online!")
else
- user << "Access denied."
+ to_chat(user, "Access denied.")
return
if(is_wire_tool(W) && panel_open)
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index ebe3c633830..c73099e676a 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -64,7 +64,7 @@ field_generator power level display
if(state == FG_WELDED)
if(get_dist(src, user) <= 1)//Need to actually touch the thing to turn it on
if(active >= FG_CHARGING)
- user << "You are unable to turn off the [name] once it is online!"
+ to_chat(user, "You are unable to turn off the [name] once it is online!")
return 1
else
user.visible_message("[user.name] turns on the [name].", \
@@ -75,7 +75,7 @@ field_generator power level display
add_fingerprint(user)
else
- user << "The [src] needs to be firmly secured to the floor first!"
+ to_chat(user, "The [src] needs to be firmly secured to the floor first!")
/obj/machinery/field/generator/can_be_unfasten_wrench(mob/user, silent)
if(state == FG_WELDED)
@@ -94,7 +94,7 @@ field_generator power level display
/obj/machinery/field/generator/attackby(obj/item/W, mob/user, params)
if(active)
- user << "[src] needs to be off!"
+ to_chat(user, "[src] needs to be off!")
return
else if(istype(W, /obj/item/weapon/wrench))
default_unfasten_wrench(user, W, 0)
@@ -103,7 +103,7 @@ field_generator power level display
var/obj/item/weapon/weldingtool/WT = W
switch(state)
if(FG_UNSECURED)
- user << "The [name] needs to be wrenched to the floor!"
+ to_chat(user, "The [name] needs to be wrenched to the floor!")
if(FG_SECURED)
if (WT.remove_fuel(0,user))
@@ -113,7 +113,7 @@ field_generator power level display
"You hear welding.")
if(do_after(user,20*W.toolspeed, target = src) && state == FG_SECURED && WT.isOn())
state = FG_WELDED
- user << "You weld the field generator to the floor."
+ to_chat(user, "You weld the field generator to the floor.")
if(FG_WELDED)
if (WT.remove_fuel(0,user))
@@ -123,7 +123,7 @@ field_generator power level display
"You hear welding.")
if(do_after(user,20*W.toolspeed, target = src) && state == FG_WELDED && WT.isOn())
state = FG_SECURED
- user << "You cut \the [src] free from the floor."
+ to_chat(user, "You cut \the [src] free from the floor.")
else
return ..()
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index e3b0842622a..a9f7400289e 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -76,7 +76,7 @@
for(var/mob/living/carbon/M in viewers(consume_range, src))
if(M.stat == CONSCIOUS)
if(!iscultist(M))
- M << "You feel conscious thought crumble away in an instant as you gaze upon [src.name]..."
+ to_chat(M, "You feel conscious thought crumble away in an instant as you gaze upon [src.name]...")
M.apply_effect(3, STUN)
@@ -131,12 +131,12 @@
/obj/singularity/narsie/proc/acquire(atom/food)
if(food == target)
return
- target << "NAR-SIE HAS LOST INTEREST IN YOU."
+ to_chat(target, "NAR-SIE HAS LOST INTEREST IN YOU.")
target = food
if(isliving(target))
- target << "NAR-SIE HUNGERS FOR YOUR SOUL."
+ to_chat(target, "NAR-SIE HUNGERS FOR YOUR SOUL.")
else
- target << "NAR-SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL."
+ to_chat(target, "NAR-SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL.")
//Wizard narsie
/obj/singularity/narsie/wizard
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index 0b86f0a3545..3c0356044fb 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -41,13 +41,13 @@
switch(construction_state)
if(PA_CONSTRUCTION_UNSECURED)
- user << "Looks like it's not attached to the flooring"
+ to_chat(user, "Looks like it's not attached to the flooring")
if(PA_CONSTRUCTION_UNWIRED)
- user << "It is missing some cables"
+ to_chat(user, "It is missing some cables")
if(PA_CONSTRUCTION_PANEL_OPEN)
- user << "The panel is open"
+ to_chat(user, "The panel is open")
- user << "Alt-click to rotate it clockwise."
+ to_chat(user, "Alt-click to rotate it clockwise.")
/obj/structure/particle_accelerator/Destroy()
construction_state = PA_CONSTRUCTION_UNSECURED
@@ -65,7 +65,7 @@
if(usr.stat || !usr.canmove || usr.restrained())
return
if (anchored)
- usr << "It is fastened to the floor!"
+ to_chat(usr, "It is fastened to the floor!")
return 0
setDir(turn(dir, -90))
return 1
@@ -73,7 +73,7 @@
/obj/structure/particle_accelerator/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -88,7 +88,7 @@
if(usr.stat || !usr.canmove || usr.restrained())
return
if (anchored)
- usr << "It is fastened to the floor!"
+ to_chat(usr, "It is fastened to the floor!")
return 0
setDir(turn(dir, 90))
return 1
diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm
index 0bdaea83a66..9cf19aff2dc 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_control.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm
@@ -81,7 +81,7 @@
return
if(!interface_control)
- usr << "ERROR: Request timed out. Check wire contacts."
+ to_chat(usr, "ERROR: Request timed out. Check wire contacts.")
return
if(href_list["close"])
@@ -258,11 +258,11 @@
..()
switch(construction_state)
if(PA_CONSTRUCTION_UNSECURED)
- user << "Looks like it's not attached to the flooring"
+ to_chat(user, "Looks like it's not attached to the flooring")
if(PA_CONSTRUCTION_UNWIRED)
- user << "It is missing some cables"
+ to_chat(user, "It is missing some cables")
if(PA_CONSTRUCTION_PANEL_OPEN)
- user << "The panel is open"
+ to_chat(user, "The panel is open")
/obj/machinery/particle_accelerator/control_box/attackby(obj/item/W, mob/user, params)
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index b836d321ca1..3cc48bb11a0 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -415,7 +415,7 @@
if(istype(H.glasses, /obj/item/clothing/glasses/meson))
var/obj/item/clothing/glasses/meson/MS = H.glasses
if(MS.vision_flags == SEE_TURFS)
- H << "You look directly into the [src.name], good thing you had your protective eyewear on!"
+ to_chat(H, "You look directly into the [src.name], good thing you had your protective eyewear on!")
return
M.apply_effect(3, STUN)
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index bd432a9a528..34e7b5ea2d2 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -44,7 +44,7 @@
/obj/machinery/power/smes/examine(user)
..()
if(!terminal)
- user << "This SMES has no power terminal!"
+ to_chat(user, "This SMES has no power terminal!")
/obj/machinery/power/smes/New()
..()
@@ -106,10 +106,10 @@
if(term && term.dir == turn(dir, 180))
terminal = term
terminal.master = src
- user << "Terminal found."
+ to_chat(user, "Terminal found.")
break
if(!terminal)
- user << "No power terminal found."
+ to_chat(user, "No power terminal found.")
return
stat &= ~BROKEN
update_icon()
@@ -126,25 +126,25 @@
return
if(terminal) //is there already a terminal ?
- user << "This SMES already has a power terminal!"
+ to_chat(user, "This SMES already has a power terminal!")
return
if(!panel_open) //is the panel open ?
- user << "You must open the maintenance panel first!"
+ to_chat(user, "You must open the maintenance panel first!")
return
var/turf/T = get_turf(user)
if (T.intact) //is the floor plating removed ?
- user << "You must first remove the floor plating!"
+ to_chat(user, "You must first remove the floor plating!")
return
var/obj/item/stack/cable_coil/C = I
if(C.get_amount() < 10)
- user << "You need more wires!"
+ to_chat(user, "You need more wires!")
return
- user << "You start building the power terminal..."
+ to_chat(user, "You start building the power terminal...")
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
if(do_after(user, 20, target = src) && C.get_amount() >= 10)
@@ -186,7 +186,7 @@
/obj/machinery/power/smes/default_deconstruction_crowbar(obj/item/weapon/crowbar/C)
if(istype(C) && terminal)
- usr << "You must first remove the power terminal!"
+ to_chat(usr, "You must first remove the power terminal!")
return FALSE
return ..()
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index cad9ba44e16..3a27f546d36 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -207,7 +207,7 @@
/obj/item/solar_assembly/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench) && isturf(loc))
if(isinspace())
- user << "You can't secure [src] here."
+ to_chat(user, "You can't secure [src] here.")
return
anchored = !anchored
if(anchored)
@@ -220,7 +220,7 @@
if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass))
if(!anchored)
- user << "You need to secure the assembly before you can add glass."
+ to_chat(user, "You need to secure the assembly before you can add glass.")
return
var/obj/item/stack/sheet/S = W
if(S.use(2))
@@ -232,7 +232,7 @@
else
new /obj/machinery/power/solar(get_turf(src), src)
else
- user << "You need two sheets of glass to put them into a solar panel!"
+ to_chat(user, "You need two sheets of glass to put them into a solar panel!")
return
return 1
@@ -412,7 +412,7 @@
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 20*I.toolspeed, target = src))
if (src.stat & BROKEN)
- user << "The broken glass falls out."
+ to_chat(user, "The broken glass falls out.")
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
new /obj/item/weapon/shard( src.loc )
var/obj/item/weapon/circuitboard/computer/solar_control/M = new /obj/item/weapon/circuitboard/computer/solar_control( A )
@@ -424,7 +424,7 @@
A.anchored = 1
qdel(src)
else
- user << "You disconnect the monitor."
+ to_chat(user, "You disconnect the monitor.")
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
var/obj/item/weapon/circuitboard/computer/solar_control/M = new /obj/item/weapon/circuitboard/computer/solar_control( A )
for (var/obj/C in src)
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index ea53c9175e6..0767ed9c3be 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -105,7 +105,7 @@
if(H != user)
continue
if(!istype(H.glasses, /obj/item/clothing/glasses/meson))
- H << "You get headaches just from looking at it."
+ to_chat(H, "You get headaches just from looking at it.")
return
/obj/machinery/power/supermatter_shard/get_spans()
@@ -272,7 +272,7 @@
for(var/mob/M in mob_list)
if(M.z == z)
M << 'sound/effects/supermatter.ogg' //everyone goan know bout this
- M << "A horrible screeching fills your ears, and a wave of dread washes over you..."
+ to_chat(M, "A horrible screeching fills your ears, and a wave of dread washes over you...")
qdel(src)
return(gain)
@@ -297,10 +297,10 @@
if(Adjacent(user))
return attack_hand(user)
else
- user << "You attempt to interface with the control circuits but find they are not connected to your network. Maybe in a future firmware update."
+ to_chat(user, "You attempt to interface with the control circuits but find they are not connected to your network. Maybe in a future firmware update.")
/obj/machinery/power/supermatter_shard/attack_ai(mob/user)
- user << "You attempt to interface with the control circuits but find they are not connected to your network. Maybe in a future firmware update."
+ to_chat(user, "You attempt to interface with the control circuits but find they are not connected to your network. Maybe in a future firmware update.")
/obj/machinery/power/supermatter_shard/attack_hand(mob/living/user)
if(!istype(user))
diff --git a/code/modules/power/switch.dm b/code/modules/power/switch.dm
index 1a03f03de29..3cb77c596e2 100644
--- a/code/modules/power/switch.dm
+++ b/code/modules/power/switch.dm
@@ -24,18 +24,18 @@
/obj/structure/powerswitch/examine(mob/user)
..()
if(on)
- user << "The switch is in the on position"
+ to_chat(user, "The switch is in the on position")
else
- user << "The switch is in the off position"
+ to_chat(user, "The switch is in the off position")
/obj/structure/powerswitch/attack_ai(mob/user)
- user << "\red You're an AI. This is a manual switch. It's not going to work."
+ to_chat(user, "\red You're an AI. This is a manual switch. It's not going to work.")
return
/obj/structure/powerswitch/attack_hand(mob/user)
if(busy)
- user << "\red This switch is already being toggled."
+ to_chat(user, "\red This switch is already being toggled.")
return
..()
diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm
index c64c9e3673e..bfe94d55164 100644
--- a/code/modules/power/terminal.dm
+++ b/code/modules/power/terminal.dm
@@ -51,7 +51,7 @@
if(isturf(loc))
var/turf/T = loc
if(T.intact)
- user << "You must first expose the power terminal!"
+ to_chat(user, "You must first expose the power terminal!")
return
if(!master || master.can_terminal_dismantle())
@@ -67,7 +67,7 @@
s.start()
return
new /obj/item/stack/cable_coil(loc, 10)
- user << "You cut the cables and dismantle the power terminal."
+ to_chat(user, "You cut the cables and dismantle the power terminal.")
qdel(src)
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 99514ab050d..7910ebae533 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -78,7 +78,7 @@ var/list/blacklisted_tesla_types = typecacheof(list(/obj/machinery/atmospherics,
/obj/singularity/energy_ball/examine(mob/user)
..()
if(orbiting_balls.len)
- user << "The amount of orbiting mini-balls is [orbiting_balls.len]."
+ to_chat(user, "The amount of orbiting mini-balls is [orbiting_balls.len].")
/obj/singularity/energy_ball/proc/move_the_basket_ball(var/move_amount)
diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm
index cfea73c623f..8f0e4d0f330 100644
--- a/code/modules/power/turbine.dm
+++ b/code/modules/power/turbine.dm
@@ -123,10 +123,10 @@
inturf = get_step(src, dir)
locate_machinery()
if(turbine)
- user << "Turbine connected."
+ to_chat(user, "Turbine connected.")
stat &= ~BROKEN
else
- user << "Turbine not connected."
+ to_chat(user, "Turbine not connected.")
stat |= BROKEN
return
@@ -275,10 +275,10 @@
outturf = get_step(src, dir)
locate_machinery()
if(compressor)
- user << "Compressor connected."
+ to_chat(user, "Compressor connected.")
stat &= ~BROKEN
else
- user << "Compressor not connected."
+ to_chat(user, "Compressor not connected.")
stat |= BROKEN
return
diff --git a/code/modules/procedural_mapping/mapGenerator.dm b/code/modules/procedural_mapping/mapGenerator.dm
index c4bff6d8657..0de4a45dcb1 100644
--- a/code/modules/procedural_mapping/mapGenerator.dm
+++ b/code/modules/procedural_mapping/mapGenerator.dm
@@ -152,23 +152,23 @@
var/endInput = input(usr,"End turf of Map (X;Y;Z)", "Map Gen Settings", "[world.maxx];[world.maxy];[mob ? mob.z : 1]") as text
//maxx maxy and current z so that if you fuck up, you only fuck up one entire z level instead of the entire universe
if(!startInput || !endInput)
- src << "Missing Input"
+ to_chat(src, "Missing Input")
return
var/list/startCoords = splittext(startInput, ";")
var/list/endCoords = splittext(endInput, ";")
if(!startCoords || !endCoords)
- src << "Invalid Coords"
- src << "Start Input: [startInput]"
- src << "End Input: [endInput]"
+ to_chat(src, "Invalid Coords")
+ to_chat(src, "Start Input: [startInput]")
+ to_chat(src, "End Input: [endInput]")
return
var/turf/Start = locate(text2num(startCoords[1]),text2num(startCoords[2]),text2num(startCoords[3]))
var/turf/End = locate(text2num(endCoords[1]),text2num(endCoords[2]),text2num(endCoords[3]))
if(!Start || !End)
- src << "Invalid Turfs"
- src << "Start Coords: [startCoords[1]] - [startCoords[2]] - [startCoords[3]]"
- src << "End Coords: [endCoords[1]] - [endCoords[2]] - [endCoords[3]]"
+ to_chat(src, "Invalid Turfs")
+ to_chat(src, "Start Coords: [startCoords[1]] - [startCoords[2]] - [startCoords[3]]")
+ to_chat(src, "End Coords: [endCoords[1]] - [endCoords[2]] - [endCoords[3]]")
return
var/list/clusters = list("None"=CLUSTER_CHECK_NONE,"All"=CLUSTER_CHECK_ALL,"Sames"=CLUSTER_CHECK_SAMES,"Differents"=CLUSTER_CHECK_DIFFERENTS, \
@@ -181,7 +181,7 @@
var/theCluster = 0
if(moduleClusters != "None")
if(!clusters[moduleClusters])
- src << "Invalid Cluster Flags"
+ to_chat(src, "Invalid Cluster Flags")
return
theCluster = clusters[moduleClusters]
else
@@ -192,10 +192,10 @@
M.clusterCheckFlags = theCluster
- src << "Defining Region"
+ to_chat(src, "Defining Region")
N.defineRegion(Start, End)
- src << "Region Defined"
- src << "Generating Region"
+ to_chat(src, "Region Defined")
+ to_chat(src, "Generating Region")
N.generate()
- src << "Generated Region"
+ to_chat(src, "Generated Region")
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index 33a65147442..4f9f826a6cb 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -53,8 +53,8 @@
continue
if (boolets > 0)
box.update_icon()
- user << "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s."
+ to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.")
else
- user << "You fail to collect anything!"
+ to_chat(user, "You fail to collect anything!")
else
return ..()
diff --git a/code/modules/projectiles/ammunition/caseless.dm b/code/modules/projectiles/ammunition/caseless.dm
index 67c2745a37f..9ba066ef95b 100644
--- a/code/modules/projectiles/ammunition/caseless.dm
+++ b/code/modules/projectiles/ammunition/caseless.dm
@@ -82,7 +82,7 @@
modified = 1
FD.modified = 1
FD.damage_type = BRUTE
- user << "You pop the safety cap off of [src]."
+ to_chat(user, "You pop the safety cap off of [src].")
update_icon()
else if (istype(A, /obj/item/weapon/pen))
if(modified)
@@ -92,11 +92,11 @@
FD.pen = A
FD.damage = 5
FD.nodamage = 0
- user << "You insert [A] into [src]."
+ to_chat(user, "You insert [A] into [src].")
else
- user << "There's already something in [src]."
+ to_chat(user, "There's already something in [src].")
else
- user << "The safety cap prevents you from inserting [A] into [src]."
+ to_chat(user, "The safety cap prevents you from inserting [A] into [src].")
else
return ..()
@@ -106,7 +106,7 @@
FD.damage = initial(FD.damage)
FD.nodamage = initial(FD.nodamage)
user.put_in_hands(FD.pen)
- user << "You remove [FD.pen] from [src]."
+ to_chat(user, "You remove [FD.pen] from [src].")
FD.pen = null
/obj/item/ammo_casing/caseless/foam_dart/riot
diff --git a/code/modules/projectiles/box_magazine.dm b/code/modules/projectiles/box_magazine.dm
index 3cf4568fbde..982bbdf587f 100644
--- a/code/modules/projectiles/box_magazine.dm
+++ b/code/modules/projectiles/box_magazine.dm
@@ -85,7 +85,7 @@
if(num_loaded)
if(!silent)
- user << "You load [num_loaded] shell\s into \the [src]!"
+ to_chat(user, "You load [num_loaded] shell\s into \the [src]!")
A.update_icon()
update_icon()
@@ -95,7 +95,7 @@
var/obj/item/ammo_casing/A = get_round()
if(A)
user.put_in_hands(A)
- user << "You remove a round from \the [src]!"
+ to_chat(user, "You remove a round from \the [src]!")
update_icon()
/obj/item/ammo_box/update_icon()
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 55f38585a8d..8b889a70801 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -83,11 +83,11 @@
/obj/item/weapon/gun/examine(mob/user)
..()
if(pin)
- user << "It has [pin] installed."
+ to_chat(user, "It has [pin] installed.")
else
- user << "It doesn't have a firing pin installed, and won't fire."
+ to_chat(user, "It doesn't have a firing pin installed, and won't fire.")
if(unique_reskin && !current_skin)
- user << "Alt-click it to reskin it."
+ to_chat(user, "Alt-click it to reskin it.")
//called after the gun has successfully fired its chambered ammo.
/obj/item/weapon/gun/proc/process_chamber()
@@ -101,7 +101,7 @@
/obj/item/weapon/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj)
- user << "*click*"
+ to_chat(user, "*click*")
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
@@ -154,14 +154,14 @@
if(clumsy_check)
if(istype(user))
if (user.disabilities & CLUMSY && prob(40))
- user << "You shoot yourself in the foot with [src]!"
+ to_chat(user, "You shoot yourself in the foot with [src]!")
var/shot_leg = pick("l_leg", "r_leg")
process_fire(user,user,0,params, zone_override = shot_leg)
user.drop_item()
return
if(weapon_weight == WEAPON_HEAVY && user.get_inactive_held_item())
- user << "You need both hands free to fire [src]!"
+ to_chat(user, "You need both hands free to fire [src]!")
return
//DUAL (or more!) WIELDING
@@ -197,7 +197,7 @@
pin.auth_fail(user)
return 0
else
- user << "[src]'s trigger is locked. This weapon doesn't have a firing pin installed!"
+ to_chat(user, "[src]'s trigger is locked. This weapon doesn't have a firing pin installed!")
return 0
/obj/item/weapon/gun/proc/recharge_newshot()
@@ -282,7 +282,7 @@
if(!gun_light)
if(!user.transferItemToLoc(I, src))
return
- user << "You click [S] into place on [src]."
+ to_chat(user, "You click [S] into place on [src].")
if(S.on)
set_light(0)
gun_light = S
@@ -296,7 +296,7 @@
if(istype(I, /obj/item/weapon/screwdriver))
if(gun_light)
for(var/obj/item/device/flashlight/seclite/S in src)
- user << "You unscrew the seclite from [src]."
+ to_chat(user, "You unscrew the seclite from [src].")
gun_light = null
S.forceMove(get_turf(user))
update_gunlight(user)
@@ -320,7 +320,7 @@
var/mob/living/carbon/human/user = usr
gun_light.on = !gun_light.on
- user << "You toggle the gunlight [gun_light.on ? "on":"off"]."
+ to_chat(user, "You toggle the gunlight [gun_light.on ? "on":"off"].")
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
update_gunlight(user)
@@ -355,7 +355,7 @@
/obj/item/weapon/gun/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(unique_reskin && !current_skin && loc == user)
reskin_gun(user)
@@ -368,7 +368,7 @@
if(options[choice] == null)
return
current_skin = options[choice]
- M << "Your gun is now skinned as [choice]. Say hello to your new friend."
+ to_chat(M, "Your gun is now skinned as [choice]. Say hello to your new friend.")
update_icon()
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index ee0744b2753..a7a8b75da2f 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -58,23 +58,23 @@
if (!magazine && istype(AM, mag_type))
if(user.transferItemToLoc(AM, src))
magazine = AM
- user << "You load a new magazine into \the [src]."
+ to_chat(user, "You load a new magazine into \the [src].")
chamber_round()
A.update_icon()
update_icon()
return 1
else
- user << "You cannot seem to get \the [src] out of your hands!"
+ to_chat(user, "You cannot seem to get \the [src] out of your hands!")
return
else if (magazine)
- user << "There's already a magazine in \the [src]."
+ to_chat(user, "There's already a magazine in \the [src].")
if(istype(A, /obj/item/weapon/suppressor))
var/obj/item/weapon/suppressor/S = A
if(can_suppress)
if(!suppressed)
if(!user.transferItemToLoc(A, src))
return
- user << "You screw [S] onto [src]."
+ to_chat(user, "You screw [S] onto [src].")
suppressed = A
S.oldsound = fire_sound
S.initial_w_class = w_class
@@ -83,10 +83,10 @@
update_icon()
return
else
- user << "[src] already has a suppressor!"
+ to_chat(user, "[src] already has a suppressor!")
return
else
- user << "You can't seem to figure out how to fit [S] on [src]!"
+ to_chat(user, "You can't seem to figure out how to fit [S] on [src]!")
return
return 0
@@ -97,7 +97,7 @@
if(!user.is_holding(src))
..()
return
- user << "You unscrew [suppressed] from [src]."
+ to_chat(user, "You unscrew [suppressed] from [src].")
user.put_in_hands(suppressed)
fire_sound = S.oldsound
w_class = S.initial_w_class
@@ -113,21 +113,21 @@
user.put_in_hands(magazine)
magazine.update_icon()
magazine = null
- user << "You pull the magazine out of \the [src]."
+ to_chat(user, "You pull the magazine out of \the [src].")
else if(chambered)
AC.loc = get_turf(src)
AC.SpinAnimation(10, 1)
chambered = null
- user << "You unload the round from \the [src]'s chamber."
+ to_chat(user, "You unload the round from \the [src]'s chamber.")
else
- user << "There's no magazine in \the [src]."
+ to_chat(user, "There's no magazine in \the [src].")
update_icon()
return
/obj/item/weapon/gun/ballistic/examine(mob/user)
..()
- user << "Has [get_ammo()] round\s remaining."
+ to_chat(user, "Has [get_ammo()] round\s remaining.")
/obj/item/weapon/gun/ballistic/proc/get_ammo(countchambered = 1)
var/boolets = 0 //mature var names for mature people
@@ -157,7 +157,7 @@
/obj/item/weapon/gun/ballistic/proc/sawoff(mob/user)
if(sawn_state == SAWN_OFF)
- user << "\The [src] is already shortened!"
+ to_chat(user, "\The [src] is already shortened!")
return
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("[user] begins to shorten \the [src].", "You begin to shorten \the [src]...")
diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm
index a4f412b9943..7a035916295 100644
--- a/code/modules/projectiles/guns/ballistic/automatic.dm
+++ b/code/modules/projectiles/guns/ballistic/automatic.dm
@@ -38,18 +38,18 @@
if(user.transferItemToLoc(AM, src))
magazine = AM
if(oldmag)
- user << "You perform a tactical reload on \the [src], replacing the magazine."
+ to_chat(user, "You perform a tactical reload on \the [src], replacing the magazine.")
oldmag.dropped()
oldmag.forceMove(get_turf(src.loc))
oldmag.update_icon()
else
- user << "You insert the magazine into \the [src]."
+ to_chat(user, "You insert the magazine into \the [src].")
chamber_round()
A.update_icon()
update_icon()
return 1
else
- user << "You cannot seem to get \the [src] out of your hands!"
+ to_chat(user, "You cannot seem to get \the [src] out of your hands!")
/obj/item/weapon/gun/ballistic/automatic/ui_action_click()
burst_select()
@@ -60,11 +60,11 @@
if(!select)
burst_size = 1
fire_delay = 0
- user << "You switch to semi-automatic."
+ to_chat(user, "You switch to semi-automatic.")
else
burst_size = initial(burst_size)
fire_delay = initial(fire_delay)
- user << "You switch to [burst_size]-rnd burst."
+ to_chat(user, "You switch to [burst_size]-rnd burst.")
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
update_icon()
@@ -195,15 +195,15 @@
select = 1
burst_size = initial(burst_size)
fire_delay = initial(fire_delay)
- user << "You switch to [burst_size]-rnd burst."
+ to_chat(user, "You switch to [burst_size]-rnd burst.")
if(1)
select = 2
- user << "You switch to grenades."
+ to_chat(user, "You switch to grenades.")
if(2)
select = 0
burst_size = 1
fire_delay = 0
- user << "You switch to semi-auto."
+ to_chat(user, "You switch to semi-auto.")
playsound(user, 'sound/weapons/empty.ogg', 100, 1)
update_icon()
return
@@ -299,7 +299,7 @@
/obj/item/weapon/gun/ballistic/automatic/l6_saw/attack_self(mob/user)
cover_open = !cover_open
- user << "You [cover_open ? "open" : "close"] [src]'s cover."
+ to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.")
update_icon()
@@ -310,7 +310,7 @@
/obj/item/weapon/gun/ballistic/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays
if(cover_open)
- user << "[src]'s cover is open! Close it before firing!"
+ to_chat(user, "[src]'s cover is open! Close it before firing!")
else
..()
update_icon()
@@ -329,7 +329,7 @@
user.put_in_hands(magazine)
magazine = null
update_icon()
- user << "You remove the magazine from [src]."
+ to_chat(user, "You remove the magazine from [src].")
/obj/item/weapon/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
@@ -337,7 +337,7 @@
if(.)
return
if(!cover_open)
- user << "[src]'s cover is closed! You can't insert a new mag."
+ to_chat(user, "[src]'s cover is closed! You can't insert a new mag.")
return
..()
diff --git a/code/modules/projectiles/guns/ballistic/bow.dm b/code/modules/projectiles/guns/ballistic/bow.dm
index 27e83e01c87..42eca2b053d 100644
--- a/code/modules/projectiles/guns/ballistic/bow.dm
+++ b/code/modules/projectiles/guns/ballistic/bow.dm
@@ -47,7 +47,7 @@
/obj/item/weapon/gun/ballistic/bow/attackby(obj/item/A, mob/user, params)
var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
- user << "You ready \the [A] into \the [src]."
+ to_chat(user, "You ready \the [A] into \the [src].")
update_icon()
chamber_round()
diff --git a/code/modules/projectiles/guns/ballistic/laser_gatling.dm b/code/modules/projectiles/guns/ballistic/laser_gatling.dm
index 75263937d72..38cc6a344d7 100644
--- a/code/modules/projectiles/guns/ballistic/laser_gatling.dm
+++ b/code/modules/projectiles/guns/ballistic/laser_gatling.dm
@@ -34,13 +34,13 @@
armed = 1
if(!user.put_in_hands(gun))
armed = 0
- user << "You need a free hand to hold the gun!"
+ to_chat(user, "You need a free hand to hold the gun!")
return
update_icon()
gun.forceMove(user)
user.update_inv_back()
else
- user << "You are already holding the gun!"
+ to_chat(user, "You are already holding the gun!")
else
..()
@@ -82,7 +82,7 @@
gun.forceMove(src)
armed = 0
if(user)
- user << "You attach the [gun.name] to the [name]."
+ to_chat(user, "You attach the [gun.name] to the [name].")
else
src.visible_message("The [gun.name] snaps back onto the [name]!")
update_icon()
@@ -125,11 +125,11 @@
ammo_pack.overheat += burst_size
..()
else
- user << "The gun's heat sensor locked the trigger to prevent lens damage."
+ to_chat(user, "The gun's heat sensor locked the trigger to prevent lens damage.")
/obj/item/weapon/gun/ballistic/minigun/afterattack(atom/target, mob/living/user, flag, params)
if(!ammo_pack || ammo_pack.loc != user)
- user << "You need the backpack power source to fire the gun!"
+ to_chat(user, "You need the backpack power source to fire the gun!")
..()
/obj/item/weapon/gun/ballistic/minigun/New()
diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm
index 2d4ccfd586c..eb810abe896 100644
--- a/code/modules/projectiles/guns/ballistic/launchers.dm
+++ b/code/modules/projectiles/guns/ballistic/launchers.dm
@@ -72,7 +72,7 @@
/obj/item/weapon/gun/ballistic/automatic/speargun/attackby(obj/item/A, mob/user, params)
var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
- user << "You load [num_loaded] spear\s into \the [src]."
+ to_chat(user, "You load [num_loaded] spear\s into \the [src].")
update_icon()
chamber_round()
diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm
index 19f8fbffb2a..800bb379003 100644
--- a/code/modules/projectiles/guns/ballistic/pistol.dm
+++ b/code/modules/projectiles/guns/ballistic/pistol.dm
@@ -64,12 +64,12 @@
origin_tech = "combat=3;materials=2;abductor=3"
/obj/item/weapon/gun/ballistic/automatic/pistol/stickman/pickup(mob/living/user)
- user << "As you try to pick up [src], it slips out of your grip.."
+ to_chat(user, "As you try to pick up [src], it slips out of your grip..")
if(prob(50))
- user << "..and vanishes from your vision! Where the hell did it go?"
+ to_chat(user, "..and vanishes from your vision! Where the hell did it go?")
qdel(src)
user.update_icons()
else
- user << "..and falls into view. Whew, that was a close one."
+ to_chat(user, "..and falls into view. Whew, that was a close one.")
user.dropItemToGround(src)
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index 48d50750a53..6ce52748ecf 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -27,7 +27,7 @@
return
var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
- user << "You load [num_loaded] shell\s into \the [src]."
+ to_chat(user, "You load [num_loaded] shell\s into \the [src].")
A.update_icon()
update_icon()
chamber_round(0)
@@ -44,9 +44,9 @@
CB.update_icon()
num_unloaded++
if (num_unloaded)
- user << "You unload [num_unloaded] shell\s from [src]."
+ to_chat(user, "You unload [num_unloaded] shell\s from [src].")
else
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
/obj/item/weapon/gun/ballistic/revolver/verb/spin()
set name = "Spin Chamber"
@@ -83,7 +83,7 @@
/obj/item/weapon/gun/ballistic/revolver/examine(mob/user)
..()
- user << "[get_ammo(0,0)] of those are live rounds."
+ to_chat(user, "[get_ammo(0,0)] of those are live rounds.")
/obj/item/weapon/gun/ballistic/revolver/detective
name = "\improper .38 Mars Special"
@@ -106,7 +106,7 @@
if(magazine.caliber != initial(magazine.caliber))
if(prob(70 - (magazine.ammo_count() * 10))) //minimum probability of 10, maximum of 60
playsound(user, fire_sound, 50, 1)
- user << "[src] blows up in your face!"
+ to_chat(user, "[src] blows up in your face!")
user.take_bodypart_damage(0,20)
user.dropItemToGround(src)
return 0
@@ -116,31 +116,31 @@
..()
if(istype(A, /obj/item/weapon/screwdriver))
if(magazine.caliber == "38")
- user << "You begin to reinforce the barrel of [src]..."
+ to_chat(user, "You begin to reinforce the barrel of [src]...")
if(magazine.ammo_count())
afterattack(user, user) //you know the drill
user.visible_message("[src] goes off!", "[src] goes off in your face!")
return
if(do_after(user, 30*A.toolspeed, target = src))
if(magazine.ammo_count())
- user << "You can't modify it!"
+ to_chat(user, "You can't modify it!")
return
magazine.caliber = "357"
desc = "The barrel and chamber assembly seems to have been modified."
- user << "You reinforce the barrel of [src]. Now it will fire .357 rounds."
+ to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.")
else
- user << "You begin to revert the modifications to [src]..."
+ to_chat(user, "You begin to revert the modifications to [src]...")
if(magazine.ammo_count())
afterattack(user, user) //and again
user.visible_message("[src] goes off!", "[src] goes off in your face!")
return
if(do_after(user, 30*A.toolspeed, target = src))
if(magazine.ammo_count())
- user << "You can't modify it!"
+ to_chat(user, "You can't modify it!")
return
magazine.caliber = "38"
desc = initial(desc)
- user << "You remove the modifications on [src]. Now it will fire .38 rounds."
+ to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.")
/obj/item/weapon/gun/ballistic/revolver/mateba
@@ -208,13 +208,13 @@
return
if(target != user)
if(ismob(target))
- user << "A mechanism prevents you from shooting anyone but yourself!"
+ to_chat(user, "A mechanism prevents you from shooting anyone but yourself!")
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(!spun)
- user << "You need to spin the revolver's chamber first!"
+ to_chat(user, "You need to spin the revolver's chamber first!")
return
spun = FALSE
@@ -300,9 +300,9 @@
CB.update_icon()
num_unloaded++
if (num_unloaded)
- user << "You break open \the [src] and unload [num_unloaded] shell\s."
+ to_chat(user, "You break open \the [src] and unload [num_unloaded] shell\s.")
else
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
// IMPROVISED SHOTGUN //
@@ -326,11 +326,11 @@
var/obj/item/stack/cable_coil/C = A
if(C.use(10))
slot_flags = SLOT_BACK
- user << "You tie the lengths of cable to the shotgun, making a sling."
+ to_chat(user, "You tie the lengths of cable to the shotgun, making a sling.")
slung = 1
update_icon()
else
- user << "You need at least ten lengths of cable if you want to make a sling!"
+ to_chat(user, "You need at least ten lengths of cable if you want to make a sling!")
/obj/item/weapon/gun/ballistic/revolver/doublebarrel/improvised/update_icon()
..()
diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm
index e2ba1aaa6d0..2efc327a777 100644
--- a/code/modules/projectiles/guns/ballistic/shotgun.dm
+++ b/code/modules/projectiles/guns/ballistic/shotgun.dm
@@ -19,7 +19,7 @@
return
var/num_loaded = magazine.attackby(A, user, params, 1)
if(num_loaded)
- user << "You load [num_loaded] shell\s into \the [src]!"
+ to_chat(user, "You load [num_loaded] shell\s into \the [src]!")
A.update_icon()
update_icon()
@@ -72,7 +72,7 @@
/obj/item/weapon/gun/ballistic/shotgun/examine(mob/user)
..()
if (chambered)
- user << "A [chambered.BB ? "live" : "spent"] one is in the chamber."
+ to_chat(user, "A [chambered.BB ? "live" : "spent"] one is in the chamber.")
/obj/item/weapon/gun/ballistic/shotgun/lethal
mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal
@@ -120,13 +120,13 @@
/obj/item/weapon/gun/ballistic/shotgun/boltaction/attackby(obj/item/A, mob/user, params)
if(!bolt_open)
- user << "The bolt is closed!"
+ to_chat(user, "The bolt is closed!")
return
. = ..()
/obj/item/weapon/gun/ballistic/shotgun/boltaction/examine(mob/user)
..()
- user << "The bolt is [bolt_open ? "open" : "closed"]."
+ to_chat(user, "The bolt is [bolt_open ? "open" : "closed"].")
/obj/item/weapon/gun/ballistic/shotgun/boltaction/enchanted
@@ -224,9 +224,9 @@
alternate_magazine = current_mag
toggled = !toggled
if(toggled)
- user << "You switch to tube B."
+ to_chat(user, "You switch to tube B.")
else
- user << "You switch to tube A."
+ to_chat(user, "You switch to tube A.")
/obj/item/weapon/gun/ballistic/shotgun/automatic/dual_tube/AltClick(mob/living/user)
if(user.incapacitated() || !Adjacent(user) || !istype(user))
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index 1bfed89e8bf..77910478423 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -109,7 +109,7 @@
fire_sound = shot.fire_sound
fire_delay = shot.delay
if (shot.select_name)
- user << "[src] is now set to [shot.select_name]."
+ to_chat(user, "[src] is now set to [shot.select_name].")
chambered = null
recharge_newshot(1)
update_icon()
diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm
index 7bc85ce7664..cc1166814b4 100644
--- a/code/modules/projectiles/guns/energy/energy_gun.dm
+++ b/code/modules/projectiles/guns/energy/energy_gun.dm
@@ -106,12 +106,12 @@
if(0 to 200)
fail_tick += (2*(fail_chance))
M.rad_act(40)
- M << "Your [name] feels warmer."
+ to_chat(M, "Your [name] feels warmer.")
if(201 to INFINITY)
SSobj.processing.Remove(src)
M.rad_act(80)
crit_fail = 1
- M << "Your [name]'s reactor overloads!"
+ to_chat(M, "Your [name]'s reactor overloads!")
/obj/item/weapon/gun/energy/e_gun/nuclear/emp_act(severity)
..()
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 83256a27d68..7ca67f97570 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -25,20 +25,20 @@
/obj/item/weapon/gun/energy/kinetic_accelerator/examine(mob/user)
..()
if(max_mod_capacity)
- user << "[get_remaining_mod_capacity()]% mod capacity remaining."
+ to_chat(user, "[get_remaining_mod_capacity()]% mod capacity remaining.")
for(var/A in get_modkits())
var/obj/item/borg/upgrade/modkit/M = A
- user << "There is a [M.name] mod installed, using [M.cost]% capacity."
+ to_chat(user, "There is a [M.name] mod installed, using [M.cost]% capacity.")
/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/weapon/crowbar))
if(modkits.len)
- user << "You pry the modifications out."
+ to_chat(user, "You pry the modifications out.")
playsound(loc, A.usesound, 100, 1)
for(var/obj/item/borg/upgrade/modkit/M in modkits)
M.uninstall(src)
else
- user << "There are no modifications currently installed."
+ to_chat(user, "There are no modifications currently installed.")
else if(istype(A, /obj/item/borg/upgrade/modkit))
var/obj/item/borg/upgrade/modkit/MK = A
MK.install(src, user)
@@ -123,7 +123,7 @@
if(!suppressed)
playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
else
- loc << "[src] silently charges up."
+ to_chat(loc, "[src] silently charges up.")
update_icon()
overheat = FALSE
@@ -205,7 +205,7 @@
for(var/mob/living/L in range(1, target_turf) - firer - target)
var/armor = L.run_armor_check(def_zone, flag, "", "", armour_penetration)
L.apply_damage(damage*mob_aoe, damage_type, def_zone, armor)
- L << "You're struck by a [name]!"
+ to_chat(L, "You're struck by a [name]!")
//Modkits
@@ -224,7 +224,7 @@
/obj/item/borg/upgrade/modkit/examine(mob/user)
..()
- user << "Occupies [cost]% of mod capacity."
+ to_chat(user, "Occupies [cost]% of mod capacity.")
/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/weapon/gun/energy/kinetic_accelerator) && !issilicon(user))
@@ -254,13 +254,13 @@
if(.)
if(!user.transferItemToLoc(src, KA))
return
- user << "You install the modkit."
+ to_chat(user, "You install the modkit.")
playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1)
KA.modkits += src
else
- user << "The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits."
+ to_chat(user, "The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.")
else
- user << "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits."
+ to_chat(user, "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.")
. = FALSE
diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm
index da1a8c8ccaf..c4037995803 100644
--- a/code/modules/projectiles/guns/energy/pulse.dm
+++ b/code/modules/projectiles/guns/energy/pulse.dm
@@ -71,7 +71,7 @@
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse)
/obj/item/weapon/gun/energy/pulse/destroyer/attack_self(mob/living/user)
- user << "[src.name] has three settings, and they are all DESTROY."
+ to_chat(user, "[src.name] has three settings, and they are all DESTROY.")
/obj/item/weapon/gun/energy/pulse/pistol/m1911
name = "\improper M1911-P"
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 76c6eae1c44..fc0c1064de1 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -146,12 +146,12 @@
S.use(1)
power_supply.give(1000)
recharge_newshot(1)
- user << "You insert [A] in [src], recharging it."
+ to_chat(user, "You insert [A] in [src], recharging it.")
else if(istype(A, /obj/item/weapon/ore/plasma))
qdel(A)
power_supply.give(500)
recharge_newshot(1)
- user << "You insert [A] in [src], recharging it."
+ to_chat(user, "You insert [A] in [src], recharging it.")
else
..()
diff --git a/code/modules/projectiles/guns/grenade_launcher.dm b/code/modules/projectiles/guns/grenade_launcher.dm
index 7f44205eca6..8d16b8144f7 100644
--- a/code/modules/projectiles/guns/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/grenade_launcher.dm
@@ -14,7 +14,7 @@
/obj/item/weapon/gun/grenadelauncher/examine(mob/user)
..()
- user << "[grenades.len] / [max_grenades] grenades loaded."
+ to_chat(user, "[grenades.len] / [max_grenades] grenades loaded.")
/obj/item/weapon/gun/grenadelauncher/attackby(obj/item/I, mob/user, params)
@@ -23,10 +23,10 @@
if(!user.transferItemToLoc(I, src))
return
grenades += I
- user << "You put the grenade in the grenade launcher."
- user << "[grenades.len] / [max_grenades] Grenades."
+ to_chat(user, "You put the grenade in the grenade launcher.")
+ to_chat(user, "[grenades.len] / [max_grenades] Grenades.")
else
- usr << "The grenade launcher cannot hold more grenades."
+ to_chat(usr, "The grenade launcher cannot hold more grenades.")
/obj/item/weapon/gun/grenadelauncher/afterattack(obj/target, mob/user , flag)
if(target == user)
@@ -35,7 +35,7 @@
if(grenades.len)
fire_grenade(target,user)
else
- user << "The grenade launcher is empty."
+ to_chat(user, "The grenade launcher is empty.")
/obj/item/weapon/gun/grenadelauncher/proc/fire_grenade(atom/target, mob/user)
user.visible_message("[user] fired a grenade!", \
diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm
index 12e1517083e..37ec9e41e87 100644
--- a/code/modules/projectiles/guns/magic.dm
+++ b/code/modules/projectiles/guns/magic.dm
@@ -26,7 +26,7 @@
if(no_den_usage)
var/area/A = get_area(user)
if(istype(A, /area/wizard_station))
- user << "You know better than to violate the security of The Den, best wait until you leave to use [src]."
+ to_chat(user, "You know better than to violate the security of The Den, best wait until you leave to use [src].")
return
else
no_den_usage = 0
@@ -72,7 +72,7 @@
return
/obj/item/weapon/gun/magic/shoot_with_empty_chamber(mob/living/user as mob|obj)
- user << "The [name] whizzles quietly."
+ to_chat(user, "The [name] whizzles quietly.")
/obj/item/weapon/gun/magic/suicide_act(mob/user)
user.visible_message("[user] is twisting [src] above [user.p_their()] head, releasing a magical blast! It looks like [user.p_theyre()] trying to commit suicide!")
diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm
index cf59dcbeb15..aa11cd067ba 100644
--- a/code/modules/projectiles/guns/magic/wand.dm
+++ b/code/modules/projectiles/guns/magic/wand.dm
@@ -19,7 +19,7 @@
/obj/item/weapon/gun/magic/wand/examine(mob/user)
..()
- user << "Has [charges] charge\s remaining."
+ to_chat(user, "Has [charges] charge\s remaining.")
/obj/item/weapon/gun/magic/wand/update_icon()
icon_state = "[initial(icon_state)][charges ? "" : "-drained"]"
@@ -37,7 +37,7 @@
if(no_den_usage)
var/area/A = get_area(user)
if(istype(A, /area/wizard_station))
- user << "You know better than to violate the security of The Den, best wait until you leave to use [src]."
+ to_chat(user, "You know better than to violate the security of The Den, best wait until you leave to use [src].")
return
else
no_den_usage = 0
@@ -67,9 +67,9 @@
/obj/item/weapon/gun/magic/wand/death/zap_self(mob/living/user)
..()
- user << "You irradiate yourself with pure energy! \
+ to_chat(user, "You irradiate yourself with pure energy! \
[pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?")]\
- "
+ ")
user.adjustOxyLoss(500)
charges--
@@ -92,7 +92,7 @@
var/mob/living/carbon/C = user
C.regenerate_limbs()
C.regenerate_organs()
- user << "You feel great!"
+ to_chat(user, "You feel great!")
charges--
..()
@@ -148,7 +148,7 @@
no_den_usage = 1
/obj/item/weapon/gun/magic/wand/door/zap_self(mob/living/user)
- user << "You feel vaguely more open with your feelings."
+ to_chat(user, "You feel vaguely more open with your feelings.")
charges--
..()
diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm
index d2281350777..da4346109a3 100644
--- a/code/modules/projectiles/guns/medbeam.dm
+++ b/code/modules/projectiles/guns/medbeam.dm
@@ -76,7 +76,7 @@
if(get_dist(source, current_target)>max_range || !los_check(source, current_target))
LoseTarget()
if(isliving(source))
- source << "You lose control of the beam!"
+ to_chat(source, "You lose control of the beam!")
return
if(current_target)
diff --git a/code/modules/projectiles/guns/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm
index 8da5ef5aecd..6da113b6e36 100644
--- a/code/modules/projectiles/guns/syringe_gun.dm
+++ b/code/modules/projectiles/guns/syringe_gun.dm
@@ -32,11 +32,11 @@
/obj/item/weapon/gun/syringe/examine(mob/user)
..()
- user << "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining."
+ to_chat(user, "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining.")
/obj/item/weapon/gun/syringe/attack_self(mob/living/user)
if(!syringes.len)
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
return 0
var/obj/item/weapon/reagent_containers/syringe/S = syringes[syringes.len]
@@ -45,7 +45,7 @@
S.loc = user.loc
syringes.Remove(S)
- user << "You unload [S] from \the [src]."
+ to_chat(user, "You unload [S] from \the [src].")
return 1
@@ -54,12 +54,12 @@
if(syringes.len < max_syringes)
if(!user.transferItemToLoc(A, src))
return
- user << "You load [A] into \the [src]."
+ to_chat(user, "You load [A] into \the [src].")
syringes.Add(A)
recharge_newshot()
return 1
else
- usr << "[src] cannot hold more syringes!"
+ to_chat(usr, "[src] cannot hold more syringes!")
return 0
/obj/item/weapon/gun/syringe/rapidsyringe
diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm
index c460400839b..907082cc8b7 100644
--- a/code/modules/projectiles/pins.dm
+++ b/code/modules/projectiles/pins.dm
@@ -28,20 +28,20 @@
if(G.pin && (force_replace || G.pin.pin_removeable))
G.pin.loc = get_turf(G)
G.pin.gun_remove(user)
- user << "You remove [G]'s old pin."
+ to_chat(user, "You remove [G]'s old pin.")
if(!G.pin)
if(!user.temporarilyRemoveItemFromInventory(src))
return
gun_insert(user, G)
- user << "You insert [src] into [G]."
+ to_chat(user, "You insert [src] into [G].")
else
- user << "This firearm already has a firing pin installed."
+ to_chat(user, "This firearm already has a firing pin installed.")
/obj/item/device/firing_pin/emag_act(mob/user)
if(!emagged)
emagged = 1
- user << "You override the authentication mechanism."
+ to_chat(user, "You override the authentication mechanism.")
/obj/item/device/firing_pin/proc/gun_insert(mob/living/user, obj/item/weapon/gun/G)
gun = G
@@ -61,7 +61,7 @@
user.show_message(fail_message, 1)
if(selfdestruct)
user.show_message("SELF-DESTRUCTING...
", 1)
- user << "[gun] explodes!"
+ to_chat(user, "[gun] explodes!")
explosion(get_turf(gun), -1, 0, 2, 3)
if(gun)
qdel(gun)
@@ -165,7 +165,7 @@
var/mob/living/carbon/M = target
if(M.dna && M.dna.unique_enzymes)
unique_enzymes = M.dna.unique_enzymes
- user << "DNA-LOCK SET."
+ to_chat(user, "DNA-LOCK SET.")
/obj/item/device/firing_pin/dna/pin_auth(mob/living/carbon/user)
if(istype(user) && user.dna && user.dna.unique_enzymes)
@@ -178,7 +178,7 @@
if(!unique_enzymes)
if(istype(user) && user.dna && user.dna.unique_enzymes)
unique_enzymes = user.dna.unique_enzymes
- user << "DNA-LOCK SET."
+ to_chat(user, "DNA-LOCK SET.")
else
..()
@@ -200,7 +200,7 @@
var/mob/living/carbon/human/M = user
if(istype(M.wear_suit, suit_requirement))
return 1
- user << "You need to be wearing [tagcolor] laser tag armor!"
+ to_chat(user, "You need to be wearing [tagcolor] laser tag armor!")
return 0
/obj/item/device/firing_pin/tag/red
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index d3c220ac0cc..f5197f79d59 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -104,7 +104,7 @@
organ_hit_text = " in \the [parse_zone(limb_hit)]"
if(suppressed)
playsound(loc, hitsound, 5, 1, -1)
- L << "You're shot by \a [src][organ_hit_text]!"
+ to_chat(L, "You're shot by \a [src][organ_hit_text]!")
else
if(hitsound)
var/volume = vol_by_damage()
@@ -279,7 +279,7 @@
//Split Y+Pixel_Y up into list(Y, Pixel_Y)
var/list/screen_loc_Y = splittext(screen_loc_params[2],":")
- // world << "X: [screen_loc_X[1]] PixelX: [screen_loc_X[2]] / Y: [screen_loc_Y[1]] PixelY: [screen_loc_Y[2]]"
+ // to_chat(world, "X: [screen_loc_X[1]] PixelX: [screen_loc_X[2]] / Y: [screen_loc_Y[1]] PixelY: [screen_loc_Y[2]]")
var/x = text2num(screen_loc_X[1]) * 32 + text2num(screen_loc_X[2]) - 32
var/y = text2num(screen_loc_Y[1]) * 32 + text2num(screen_loc_Y[2]) - 32
@@ -288,9 +288,9 @@
var/ox = round(screenview/2) //"origin" x
var/oy = round(screenview/2) //"origin" y
- // world << "Pixel position: [x] [y]"
+ // to_chat(world, "Pixel position: [x] [y]")
var/angle = Atan2(y - oy, x - ox)
- // world << "Angle: [angle]"
+ // to_chat(world, "Angle: [angle]")
src.Angle = angle
if(spread)
src.Angle += spread
diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm
index eb6a94db30f..944d471500a 100644
--- a/code/modules/projectiles/projectile/magic.dm
+++ b/code/modules/projectiles/projectile/magic.dm
@@ -35,10 +35,9 @@
C.regenerate_organs()
if(target.revive(full_heal = 1))
target.grab_ghost(force = TRUE) // even suicides
- target << "You rise with a start, \
- you're alive!!!"
+ to_chat(target, "You rise with a start, you're alive!!!")
else if(target.stat != DEAD)
- target << "You feel great!"
+ to_chat(target, "You feel great!")
/obj/item/projectile/magic/teleport
name = "bolt of teleportation"
@@ -277,7 +276,7 @@
M.wabbajack_act(new_mob)
- new_mob << "Your form morphs into that of a [randomize]."
+ to_chat(new_mob, "Your form morphs into that of a [randomize].")
qdel(M)
return new_mob
@@ -311,7 +310,7 @@
if(L.mind)
L.mind.transfer_to(S)
if(owner)
- S << "You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator."
+ to_chat(S, "You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator.")
P.loc = S
return
else
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index e351af87432..1bf87e3d4dd 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -273,7 +273,7 @@ var/const/INJECT = 5 //injection
if(30 to 40)
need_mob_update += R.addiction_act_stage4(C)
if(40 to INFINITY)
- C << "You feel like you've gotten over your need for [R.name]."
+ to_chat(C, "You feel like you've gotten over your need for [R.name].")
cached_addictions.Remove(R)
addiction_tick++
if(C && need_mob_update) //some of the metabolized reagents had effects on the mob that requires some updates.
@@ -400,14 +400,14 @@ var/const/INJECT = 5 //injection
if(C.mix_sound)
playsound(get_turf(cached_my_atom), C.mix_sound, 80, 1)
for(var/mob/M in seen)
- M << "\icon[my_atom] [C.mix_message]"
+ to_chat(M, "\icon[my_atom] [C.mix_message]")
if(istype(cached_my_atom, /obj/item/slime_extract))
var/obj/item/slime_extract/ME2 = my_atom
ME2.Uses--
if(ME2.Uses <= 0) // give the notification that the slime core is dead
for(var/mob/M in seen)
- M << "\icon[my_atom] \The [my_atom]'s power is consumed in the reaction."
+ to_chat(M, "\icon[my_atom] \The [my_atom]'s power is consumed in the reaction.")
ME2.name = "used slime extract"
ME2.desc = "This extract has been used up."
@@ -657,7 +657,7 @@ var/const/INJECT = 5 //injection
for(var/reagent in cached_reagents)
var/datum/reagent/R = reagent
if(R.id == reagent_id)
- //world << "proffering a data-carrying reagent ([reagent_id])"
+ //to_chat(world, "proffering a data-carrying reagent ([reagent_id])")
return R.data
/datum/reagents/proc/set_data(reagent_id, new_data)
@@ -665,7 +665,7 @@ var/const/INJECT = 5 //injection
for(var/reagent in cached_reagents)
var/datum/reagent/R = reagent
if(R.id == reagent_id)
- //world << "reagent data set ([reagent_id])"
+ //to_chat(world, "reagent data set ([reagent_id])")
R.data = new_data
/datum/reagents/proc/copy_data(datum/reagent/current_reagent)
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 8e4a9ddb8bd..4f5894d8843 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -75,9 +75,9 @@
/obj/machinery/chem_dispenser/emag_act(mob/user)
if(emagged)
- user << "\The [src] has no functional safeties to emag."
+ to_chat(user, "\The [src] has no functional safeties to emag.")
return
- user << "You short out \the [src]'s safeties."
+ to_chat(user, "You short out \the [src]'s safeties.")
dispensable_reagents |= emagged_reagents//add the emagged reagents to the dispensable ones
emagged = 1
@@ -174,7 +174,7 @@
var/obj/item/weapon/reagent_containers/B = I
. = 1 //no afterattack
if(beaker)
- user << "A container is already loaded into the machine!"
+ to_chat(user, "A container is already loaded into the machine!")
return
if(!user.drop_item()) // Can't let go?
@@ -182,14 +182,14 @@
beaker = B
beaker.loc = src
- user << "You add \the [B] to the machine."
+ to_chat(user, "You add \the [B] to the machine.")
if(!icon_beaker)
icon_beaker = image('icons/obj/chemical.dmi', src, "disp_beaker") //randomize beaker overlay position.
icon_beaker.pixel_x = rand(-10,5)
add_overlay(icon_beaker)
else if(user.a_intent != INTENT_HARM && !istype(I, /obj/item/weapon/card/emag))
- user << "You can't load \the [I] into the machine!"
+ to_chat(user, "You can't load \the [I] into the machine!")
else
return ..()
diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm
index 6c96bb7b23c..2d0d4f98fae 100644
--- a/code/modules/reagents/chemistry/machinery/chem_heater.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm
@@ -57,14 +57,14 @@
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
. = 1 //no afterattack
if(beaker)
- user << "A beaker is already loaded into the machine!"
+ to_chat(user, "A beaker is already loaded into the machine!")
return
if(!user.drop_item())
return
beaker = I
I.loc = src
- user << "You add the beaker to the machine."
+ to_chat(user, "You add the beaker to the machine.")
icon_state = "mixer1b"
return
return ..()
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index 51f081af082..1b067c3f9c3 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -44,7 +44,7 @@
build_path = new_path
name = "[new_name] 3000 (Machine Board)"
- user << "You change the circuit board setting to \"[new_name]\"."
+ to_chat(user, "You change the circuit board setting to \"[new_name]\".")
else
return ..()
@@ -107,30 +107,30 @@
if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER))
. = 1 // no afterattack
if(panel_open)
- user << "You can't use the [src.name] while its panel is opened!"
+ to_chat(user, "You can't use the [src.name] while its panel is opened!")
return
if(beaker)
- user << "A container is already loaded in the machine!"
+ to_chat(user, "A container is already loaded in the machine!")
return
if(!user.drop_item())
return
beaker = I
beaker.loc = src
- user << "You add the beaker to the machine."
+ to_chat(user, "You add the beaker to the machine.")
src.updateUsrDialog()
icon_state = "mixer1"
else if(!condi && istype(I, /obj/item/weapon/storage/pill_bottle))
if(bottle)
- user << "A pill bottle is already loaded into the machine!"
+ to_chat(user, "A pill bottle is already loaded into the machine!")
return
if(!user.drop_item())
return
bottle = I
bottle.loc = src
- user << "You add the pill bottle into the dispenser slot."
+ to_chat(user, "You add the pill bottle into the dispenser slot.")
src.updateUsrDialog()
else
return ..()
diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm
index 39dd0098a91..a369ca19603 100644
--- a/code/modules/reagents/chemistry/machinery/pandemic.dm
+++ b/code/modules/reagents/chemistry/machinery/pandemic.dm
@@ -283,14 +283,14 @@
if(stat & (NOPOWER|BROKEN))
return
if(beaker)
- user << "A beaker is already loaded into the machine!"
+ to_chat(user, "A beaker is already loaded into the machine!")
return
if(!user.drop_item())
return
beaker = I
beaker.loc = src
- user << "You add the beaker to the machine."
+ to_chat(user, "You add the beaker to the machine.")
updateUsrDialog()
icon_state = "mixer1"
else
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index 53b34c2b891..6e748bbc6c1 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -132,18 +132,18 @@
update_icon()
src.updateUsrDialog()
else
- user << "There's already a container inside."
+ to_chat(user, "There's already a container inside.")
return 1 //no afterattack
if(is_type_in_list(I, dried_items))
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/grown))
var/obj/item/weapon/reagent_containers/food/snacks/grown/G = I
if(!G.dry)
- user << "You must dry that first!"
+ to_chat(user, "You must dry that first!")
return 1
if(holdingitems && holdingitems.len >= limit)
- usr << "The machine cannot hold anymore items."
+ to_chat(usr, "The machine cannot hold anymore items.")
return 1
//Fill machine with a bag!
@@ -153,11 +153,11 @@
B.remove_from_storage(G, src)
holdingitems += G
if(holdingitems && holdingitems.len >= limit) //Sanity checking so the blender doesn't overfill
- user << "You fill the All-In-One grinder to the brim."
+ to_chat(user, "You fill the All-In-One grinder to the brim.")
break
if(!I.contents.len)
- user << "You empty the plant bag into the All-In-One grinder."
+ to_chat(user, "You empty the plant bag into the All-In-One grinder.")
src.updateUsrDialog()
return 1
@@ -166,7 +166,7 @@
if(user.a_intent == INTENT_HARM)
return ..()
else
- user << "Cannot refine into a reagent!"
+ to_chat(user, "Cannot refine into a reagent!")
return 1
if(user.drop_item())
diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm
index c6ab051a059..be24b7b35ce 100644
--- a/code/modules/reagents/chemistry/reagents.dm
+++ b/code/modules/reagents/chemistry/reagents.dm
@@ -85,27 +85,27 @@
return
/datum/reagent/proc/overdose_start(mob/living/M)
- M << "You feel like you took too much of [name]!"
+ to_chat(M, "You feel like you took too much of [name]!")
return
/datum/reagent/proc/addiction_act_stage1(mob/living/M)
if(prob(30))
- M << "You feel like some [name] right about now."
+ to_chat(M, "You feel like some [name] right about now.")
return
/datum/reagent/proc/addiction_act_stage2(mob/living/M)
if(prob(30))
- M << "You feel like you need [name]. You just can't get enough."
+ to_chat(M, "You feel like you need [name]. You just can't get enough.")
return
/datum/reagent/proc/addiction_act_stage3(mob/living/M)
if(prob(30))
- M << "You have an intense craving for [name]."
+ to_chat(M, "You have an intense craving for [name].")
return
/datum/reagent/proc/addiction_act_stage4(mob/living/M)
if(prob(30))
- M << "You're not feeling good at all! You really need some [name]."
+ to_chat(M, "You're not feeling good at all! You really need some [name].")
return
/proc/pretty_string_from_reagent_list(var/list/reagent_list)
diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
index 484f710b088..4ed43cb0535 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
@@ -44,14 +44,14 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(istype(O,/obj/item/weapon/paper))
var/obj/item/weapon/paper/paperaffected = O
paperaffected.clearpaper()
- usr << "[paperaffected]'s ink washes away."
+ to_chat(usr, "[paperaffected]'s ink washes away.")
if(istype(O,/obj/item/weapon/book))
if(reac_volume >= 5)
var/obj/item/weapon/book/affectedbook = O
affectedbook.dat = null
- usr << "Through thorough application, you wash away [affectedbook]'s writing."
+ to_chat(usr, "Through thorough application, you wash away [affectedbook]'s writing.")
else
- usr << "The ink smears, but doesn't wash away!"
+ to_chat(usr, "The ink smears, but doesn't wash away!")
return
/datum/reagent/consumable/ethanol/reaction_mob(mob/living/M, method=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel.
diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm
index ced3aebd385..dfc44b4eb4f 100644
--- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm
@@ -19,7 +19,7 @@
if(message_living && !issilicon(M))
totalmessage += message_living
totalmessage += "!"
- M << "[totalmessage]"
+ to_chat(M, "[totalmessage]")
/datum/reagent/blob/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob))
@@ -232,7 +232,7 @@
O.blob_mobs.Add(BS)
BS.Zombify(M)
O.add_points(points)
- O << "Gained [points] resources from the zombification of [M]."
+ to_chat(O, "Gained [points] resources from the zombification of [M].")
/datum/reagent/blob/zombifying_pods/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage <= 20 && B.obj_integrity - damage <= 0 && prob(30)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 20% chance of a shitty spore.
diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
index 4b6e54cfd56..2b706f189b8 100644
--- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
@@ -266,7 +266,7 @@
/datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/M)
if(prob(5))
- M << "[pick("You remember to square your shoulders.","You remember to keep your head down.","You can't decide between squaring your shoulders and keeping your head down.","You remember to relax.","You think about how someday you'll get two strokes off your golf game.")]"
+ to_chat(M, "[pick("You remember to square your shoulders.","You remember to keep your head down.","You can't decide between squaring your shoulders and keeping your head down.","You remember to relax.","You think about how someday you'll get two strokes off your golf game.")]")
..()
. = 1
diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
index c1c75a9d526..5a20d17b19a 100644
--- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
@@ -21,7 +21,7 @@
..()
/datum/reagent/drug/space_drugs/overdose_start(mob/living/M)
- M << "You start tripping hard!"
+ to_chat(M, "You start tripping hard!")
/datum/reagent/drug/space_drugs/overdose_process(mob/living/M)
@@ -41,7 +41,7 @@
/datum/reagent/drug/nicotine/on_mob_life(mob/living/M)
if(prob(1))
var/smoke_message = pick("You feel relaxed.", "You feel calmed.","You feel alert.","You feel rugged.")
- M << "[smoke_message]"
+ to_chat(M, "[smoke_message]")
M.AdjustParalysis(-1, 0)
M.AdjustStunned(-1, 0)
M.AdjustWeakened(-1, 0)
@@ -61,7 +61,7 @@
/datum/reagent/drug/crank/on_mob_life(mob/living/M)
var/high_message = pick("You feel jittery.", "You feel like you gotta go fast.", "You feel like you need to step it up.")
if(prob(5))
- M << "[high_message]"
+ to_chat(M, "[high_message]")
M.AdjustParalysis(-1, 0)
M.AdjustStunned(-1, 0)
M.AdjustWeakened(-1, 0)
@@ -109,7 +109,7 @@
/datum/reagent/drug/krokodil/on_mob_life(mob/living/M)
var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.")
if(prob(5))
- M << "[high_message]"
+ to_chat(M, "[high_message]")
..()
/datum/reagent/drug/krokodil/overdose_process(mob/living/M)
@@ -126,12 +126,12 @@
/datum/reagent/krokodil/addiction_act_stage2(mob/living/M)
if(prob(25))
- M << "Your skin feels loose..."
+ to_chat(M, "Your skin feels loose...")
..()
/datum/reagent/drug/krokodil/addiction_act_stage3(mob/living/M)
if(prob(25))
- M << "Your skin starts to peel away..."
+ to_chat(M, "Your skin starts to peel away...")
M.adjustBruteLoss(3*REM, 0)
..()
. = 1
@@ -139,7 +139,7 @@
/datum/reagent/drug/krokodil/addiction_act_stage4(mob/living/carbon/human/M)
CHECK_DNA_AND_SPECIES(M)
if(!istype(M.dna.species, /datum/species/krokodil_addict))
- M << "Your skin falls off easily!"
+ to_chat(M, "Your skin falls off easily!")
M.adjustBruteLoss(50*REM, 0) // holy shit your skin just FELL THE FUCK OFF
M.set_species(/datum/species/krokodil_addict)
else
@@ -160,7 +160,7 @@
/datum/reagent/drug/methamphetamine/on_mob_life(mob/living/M)
var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.")
if(prob(5))
- M << "[high_message]"
+ to_chat(M, "[high_message]")
M.AdjustParalysis(-2, 0)
M.AdjustStunned(-2, 0)
M.AdjustWeakened(-2, 0)
@@ -238,7 +238,7 @@
/datum/reagent/drug/bath_salts/on_mob_life(mob/living/M)
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(prob(5))
- M << "[high_message]"
+ to_chat(M, "[high_message]")
M.AdjustParalysis(-3, 0)
M.AdjustStunned(-3, 0)
M.AdjustWeakened(-3, 0)
@@ -324,7 +324,7 @@
/datum/reagent/drug/aranesp/on_mob_life(mob/living/M)
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(prob(5))
- M << "[high_message]"
+ to_chat(M, "[high_message]")
M.adjustStaminaLoss(-18, 0)
M.adjustToxLoss(0.5, 0)
if(prob(50))
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index d618b2658b2..59fc0da7664 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -99,7 +99,7 @@
taste_description = "sweetness"
/datum/reagent/consumable/sugar/overdose_start(mob/living/M)
- M << "You go into hyperglycaemic shock! Lay off the twinkies!"
+ to_chat(M, "You go into hyperglycaemic shock! Lay off the twinkies!")
M.AdjustSleeping(30, 0)
. = 1
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index fa8b60c541b..5787cbf96e2 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -200,11 +200,11 @@
if(method in list(INGEST, VAPOR, INJECT))
M.adjustToxLoss(0.5*reac_volume)
if(show_message)
- M << "You don't feel so good..."
+ to_chat(M, "You don't feel so good...")
else if(M.getFireLoss())
M.adjustFireLoss(-reac_volume)
if(show_message)
- M << "You feel your burns healing! It stings like hell!"
+ to_chat(M, "You feel your burns healing! It stings like hell!")
M.emote("scream")
..()
@@ -248,11 +248,11 @@
if(method in list(INGEST, VAPOR, INJECT))
M.adjustToxLoss(0.5*reac_volume)
if(show_message)
- M << "You don't feel so good..."
+ to_chat(M, "You don't feel so good...")
else if(M.getBruteLoss())
M.adjustBruteLoss(-reac_volume)
if(show_message)
- M << "You feel your bruises healing! It stings like hell!"
+ to_chat(M, "You feel your bruises healing! It stings like hell!")
M.emote("scream")
..()
@@ -314,7 +314,7 @@
M.Stun(4)
M.Weaken(4)
if(show_message)
- M << "Your stomach agonizingly cramps!"
+ to_chat(M, "Your stomach agonizingly cramps!")
else
var/mob/living/carbon/C = M
for(var/s in C.surgeries)
@@ -323,7 +323,7 @@
// +10% success propability on each step, useful while operating in less-than-perfect conditions
if(show_message)
- M << "You feel your wounds fade away to nothing!" //It's a painkiller, after all
+ to_chat(M, "You feel your wounds fade away to nothing!" )
..()
/datum/reagent/medicine/mine_salve/on_mob_delete(mob/living/M)
@@ -347,7 +347,7 @@
M.adjustBruteLoss(-1.25 * reac_volume)
M.adjustFireLoss(-1.25 * reac_volume)
if(show_message)
- M << "You feel your burns and bruises healing! It stings like hell!"
+ to_chat(M, "You feel your burns and bruises healing! It stings like hell!")
..()
/datum/reagent/medicine/charcoal
@@ -582,7 +582,7 @@
M.status_flags |= IGNORESLOWDOWN
switch(current_cycle)
if(11)
- M << "You start to feel tired..." //Warning when the victim is starting to pass out
+ to_chat(M, "You start to feel tired..." )
if(12 to 24)
M.drowsyness += 1
if(24 to INFINITY)
@@ -653,13 +653,13 @@
/datum/reagent/medicine/oculine/on_mob_life(mob/living/M)
if(M.disabilities & BLIND)
if(prob(20))
- M << "Your vision slowly returns..."
+ to_chat(M, "Your vision slowly returns...")
M.cure_blind()
M.cure_nearsighted()
M.blur_eyes(35)
else if(M.disabilities & NEARSIGHT)
- M << "The blackness in your peripheral vision fades."
+ to_chat(M, "The blackness in your peripheral vision fades.")
M.cure_nearsighted()
M.blur_eyes(10)
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 3f8c35ae6bb..5339b3dc92b 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -171,7 +171,7 @@
/datum/reagent/water/holywater/reaction_mob(mob/living/M, method=TOUCH, reac_volume)
if(is_servant_of_ratvar(M))
- M << "A darkness begins to spread its unholy tendrils through your mind, purging the Justiciar's influence!"
+ to_chat(M, "A darkness begins to spread its unholy tendrils through your mind, purging the Justiciar's influence!")
..()
/datum/reagent/water/holywater/on_mob_life(mob/living/M)
@@ -190,8 +190,8 @@
if("speech")
clockwork_say(M, "...[text2ratvar(pick("Engine... your light grows dark...", "Where are you, master?", "He lies rusting in Error...", "Purge all untruths and... and... something..."))]")
if("message")
- M << "[pick("Ratvar's illumination of your mind has begun to flicker", "He lies rusting in Reebe, derelict and forgotten. And there he shall stay", \
- "You can't save him. Nothing can save him now", "It seems that Nar-Sie will triumph after all")]."
+ to_chat(M, "[pick("Ratvar's illumination of your mind has begun to flicker", "He lies rusting in Reebe, derelict and forgotten. And there he shall stay", \
+ "You can't save him. Nothing can save him now", "It seems that Nar-Sie will triumph after all")].")
if("emote")
M.visible_message("[M] [pick("whimpers quietly", "shivers as though cold", "glances around in paranoia")].")
if(data >= 75) // 30 units, 135 seconds
@@ -344,7 +344,7 @@
if(method == INGEST)
if(show_message)
- M << "That tasted horrible."
+ to_chat(M, "That tasted horrible.")
M.AdjustStunned(2)
M.AdjustWeakened(2)
..()
@@ -384,7 +384,7 @@
/datum/reagent/stableslimetoxin/on_mob_life(mob/living/carbon/human/H)
..()
- H << "You crumple in agony as your flesh wildly morphs into new forms!"
+ to_chat(H, "You crumple in agony as your flesh wildly morphs into new forms!")
H.visible_message("[H] falls to the ground and screams as [H.p_their()] skin bubbles and froths!") //'froths' sounds painful when used with SKIN.
H.Weaken(3, 0)
spawn(30)
@@ -394,10 +394,10 @@
var/current_species = H.dna.species.type
var/datum/species/mutation = race
if(mutation && mutation != current_species)
- H << mutationtext
+ to_chat(H, mutationtext)
H.set_species(mutation)
else
- H << "The pain vanishes suddenly. You feel no different."
+ to_chat(H, "The pain vanishes suddenly. You feel no different.")
return 1
@@ -535,7 +535,7 @@
taste_description = "slime"
/datum/reagent/mulligan/on_mob_life(mob/living/carbon/human/H)
- H << "You grit your teeth in pain as your body rapidly mutates!"
+ to_chat(H, "You grit your teeth in pain as your body rapidly mutates!")
H.visible_message("[H] suddenly transforms!")
randomize_human(H)
..()
@@ -855,7 +855,7 @@
/datum/reagent/bluespace/on_mob_life(mob/living/M)
if(current_cycle > 10 && prob(15))
- M << "You feel unstable..."
+ to_chat(M, "You feel unstable...")
M.Jitter(2)
current_cycle = 1
addtimer(CALLBACK(GLOBAL_PROC, .proc/do_teleport, M, get_turf(M), 5, asoundin = 'sound/effects/phasein.ogg'), 30)
diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
index 03f6a5f61ef..ee296f312d6 100644
--- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
@@ -124,7 +124,7 @@
/datum/reagent/toxin/slimejelly/on_mob_life(mob/living/M)
if(prob(10))
- M << "Your insides are burning!"
+ to_chat(M, "Your insides are burning!")
M.adjustToxLoss(rand(20,60)*REM, 0)
. = 1
else if(prob(40))
@@ -383,7 +383,7 @@
if(prob(50))
switch(pick(1, 2, 3, 4))
if(1)
- M << "You can barely see!"
+ to_chat(M, "You can barely see!")
M.blur_eyes(3)
if(2)
M.emote("cough")
@@ -391,7 +391,7 @@
M.emote("sneeze")
if(4)
if(prob(75))
- M << "You scratch at an itch."
+ to_chat(M, "You scratch at an itch.")
M.adjustBruteLoss(2*REM, 0)
. = 1
..()
@@ -470,7 +470,7 @@
if(prob(5))
M.losebreath += 1
if(prob(8))
- M << "You feel horrendously weak!"
+ to_chat(M, "You feel horrendously weak!")
M.Stun(2, 0)
M.adjustToxLoss(2*REM, 0)
return ..()
@@ -500,15 +500,15 @@
/datum/reagent/toxin/itching_powder/on_mob_life(mob/living/M)
if(prob(15))
- M << "You scratch at your head."
+ to_chat(M, "You scratch at your head.")
M.adjustBruteLoss(0.2*REM, 0)
. = 1
if(prob(15))
- M << "You scratch at your leg."
+ to_chat(M, "You scratch at your leg.")
M.adjustBruteLoss(0.2*REM, 0)
. = 1
if(prob(15))
- M << "You scratch at your arm."
+ to_chat(M, "You scratch at your arm.")
M.adjustBruteLoss(0.2*REM, 0)
. = 1
if(prob(3))
@@ -822,7 +822,7 @@
if(M.dizziness < 6)
M.dizziness = Clamp(M.dizziness + 3, 0, 5)
if(prob(20))
- M << "You feel confused and disorientated."
+ to_chat(M, "You feel confused and disorientated.")
..()
/datum/reagent/toxin/peaceborg/tire
@@ -838,7 +838,7 @@
if(M.staminaloss < (45 - healthcomp)) //At 50 health you would have 200 - 150 health meaning 50 compensation. 60 - 50 = 10, so would only do 10-19 stamina.)
M.adjustStaminaLoss(10)
if(prob(30))
- M << "You should sit down and take a rest..."
+ to_chat(M, "You should sit down and take a rest...")
..()
/datum/reagent/toxin/delayed
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index 1a47ea728f3..19bb28666d4 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -68,7 +68,7 @@
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
new /obj/item/stack/sheet/mineral/gold(location)
-
+
/datum/chemical_reaction/capsaicincondensation
name = "Capsaicincondensation"
id = "capsaicincondensation"
@@ -124,7 +124,7 @@
results = list("nitrous_oxide" = 2, "water" = 4)
required_reagents = list("ammonia" = 3, "nitrogen" = 1, "oxygen" = 2)
required_temp = 525
-
+
////////////////////////////////// Mutation Toxins ///////////////////////////////////
/datum/chemical_reaction/stable_mutation_toxin
@@ -426,7 +426,7 @@
/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
- M << "The solution spews out foam!"
+ to_chat(M, "The solution spews out foam!")
var/datum/effect_system/foam_spread/s = new()
s.set_up(created_volume*2, location, holder)
s.start()
@@ -444,7 +444,7 @@
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
- M << "The solution spews out a metallic foam!"
+ to_chat(M, "The solution spews out a metallic foam!")
var/datum/effect_system/foam_spread/metal/s = new()
s.set_up(created_volume*5, location, holder, 1)
@@ -460,7 +460,7 @@
/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
- M << "The solution spews out a metallic foam!"
+ to_chat(M, "The solution spews out a metallic foam!")
var/datum/effect_system/foam_spread/metal/s = new()
s.set_up(created_volume*5, location, holder, 2)
s.start()
diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
index 4f76d34b2a8..2e24309085a 100644
--- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
+++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
@@ -65,14 +65,14 @@
deity = SSreligion.Bible_deity_name
else
deity = "Christ"
- R << "The power of [deity] compels you!"
+ to_chat(R, "The power of [deity] compels you!")
R.stun(20)
R.reveal(100)
R.adjustHealth(50)
sleep(20)
for(var/mob/living/carbon/C in get_hearers_in_view(round(created_volume/48,1),get_turf(holder.my_atom)))
if(iscultist(C))
- C << "The divine explosion sears you!"
+ to_chat(C, "The divine explosion sears you!")
C.Weaken(2)
C.adjust_fire_stacks(5)
C.IgniteMob()
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 2aa6b3f6cd9..2f8a1799466 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -38,7 +38,7 @@
amount_per_transfer_from_this = possible_transfer_amounts[i+1]
else
amount_per_transfer_from_this = possible_transfer_amounts[1]
- user << "[src]'s transfer amount is now [amount_per_transfer_from_this] units."
+ to_chat(user, "[src]'s transfer amount is now [amount_per_transfer_from_this] units.")
return
/obj/item/weapon/reagent_containers/attack(mob/M, mob/user, def_zone)
@@ -67,7 +67,7 @@
covered = "mask"
if(covered)
var/who = (isnull(user) || eater == user) ? "your" : "[eater.p_their()]"
- user << "You have to remove [who] [covered] first!"
+ to_chat(user, "You have to remove [who] [covered] first!")
return 0
return 1
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index 66209a8ca96..9303e8a1a60 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -86,18 +86,18 @@ Borg Hypospray
/obj/item/weapon/reagent_containers/borghypo/attack(mob/living/carbon/M, mob/user)
var/datum/reagents/R = reagent_list[mode]
if(!R.total_volume)
- user << "The injector is empty."
+ to_chat(user, "The injector is empty.")
return
if(!istype(M))
return
if(R.total_volume && M.can_inject(user, 1, user.zone_selected,bypass_protection))
- M << "You feel a tiny prick!"
- user << "You inject [M] with the injector."
+ to_chat(M, "You feel a tiny prick!")
+ to_chat(user, "You inject [M] with the injector.")
var/fraction = min(amount_per_transfer_from_this/R.total_volume, 1)
R.reaction(M, INJECT, fraction)
if(M.reagents)
var/trans = R.trans_to(M, amount_per_transfer_from_this)
- user << "[trans] unit\s injected. [R.total_volume] unit\s remaining."
+ to_chat(user, "[trans] unit\s injected. [R.total_volume] unit\s remaining.")
var/list/injected = list()
for(var/datum/reagent/RG in R.reagent_list)
@@ -111,7 +111,7 @@ Borg Hypospray
mode = chosen_reagent
playsound(loc, 'sound/effects/pop.ogg', 50, 0)
var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]]
- user << "[src] is now dispensing '[R.name]'."
+ to_chat(user, "[src] is now dispensing '[R.name]'.")
return
/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
@@ -125,11 +125,11 @@ Borg Hypospray
for(var/datum/reagents/RS in reagent_list)
var/datum/reagent/R = locate() in RS.reagent_list
if(R)
- usr << "It currently has [R.volume] unit\s of [R.name] stored."
+ to_chat(usr, "It currently has [R.volume] unit\s of [R.name] stored.")
empty = 0
if(empty)
- usr << "It is currently empty! Allow some time for the internal syntheszier to produce more."
+ to_chat(usr, "It is currently empty! Allow some time for the internal syntheszier to produce more.")
/obj/item/weapon/reagent_containers/borghypo/hacked
icon_state = "borghypo_s"
@@ -181,15 +181,15 @@ Borg Shaker
else if(target.is_open_container() && target.reagents)
var/datum/reagents/R = reagent_list[mode]
if(!R.total_volume)
- user << "[src] is currently out of this ingredient! Please allow some time for the synthesizer to produce more."
+ to_chat(user, "[src] is currently out of this ingredient! Please allow some time for the synthesizer to produce more.")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "[target] is full."
+ to_chat(user, "[target] is full.")
return
var/trans = R.trans_to(target, amount_per_transfer_from_this)
- user << "You transfer [trans] unit\s of the solution to [target]."
+ to_chat(user, "You transfer [trans] unit\s of the solution to [target].")
/obj/item/weapon/reagent_containers/borghypo/borgshaker/DescribeContents()
var/empty = 1
@@ -197,11 +197,11 @@ Borg Shaker
var/datum/reagents/RS = reagent_list[mode]
var/datum/reagent/R = locate() in RS.reagent_list
if(R)
- usr << "It currently has [R.volume] unit\s of [R.name] stored."
+ to_chat(usr, "It currently has [R.volume] unit\s of [R.name] stored.")
empty = 0
if(empty)
- usr << "It is currently empty! Please allow some time for the synthesizer to produce more."
+ to_chat(usr, "It is currently empty! Please allow some time for the synthesizer to produce more.")
/obj/item/weapon/reagent_containers/borghypo/borgshaker/hacked
..()
diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm
index 227933ff041..7b4faf0f7a0 100644
--- a/code/modules/reagents/reagent_containers/dropper.dm
+++ b/code/modules/reagents/reagent_containers/dropper.dm
@@ -14,11 +14,11 @@
if(reagents.total_volume > 0)
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "[target] is full."
+ to_chat(user, "[target] is full.")
return
if(!target.is_open_container() && !ismob(target) && !istype(target,/obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/clothing/mask/cigarette)) //You can inject humans and food but you cant remove the shit.
- user << "You cannot directly fill [target]!"
+ to_chat(user, "You cannot directly fill [target]!")
return
var/trans = 0
@@ -49,11 +49,11 @@
target.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", \
"[user] tries to squirt something into [target]'s eyes, but fails!")
- user << "You transfer [trans] unit\s of the solution."
+ to_chat(user, "You transfer [trans] unit\s of the solution.")
update_icon()
return
else if(isalien(target)) //hiss-hiss has no eyes!
- target << "[target] does not seem to have any eyes!"
+ to_chat(target, "[target] does not seem to have any eyes!")
return
target.visible_message("[user] squirts something into [target]'s eyes!", \
@@ -69,22 +69,22 @@
add_logs(user, M, "squirted", R)
trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
- user << "You transfer [trans] unit\s of the solution."
+ to_chat(user, "You transfer [trans] unit\s of the solution.")
update_icon()
else
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers))
- user << "You cannot directly remove reagents from [target]."
+ to_chat(user, "You cannot directly remove reagents from [target].")
return
if(!target.reagents.total_volume)
- user << "[target] is empty!"
+ to_chat(user, "[target] is empty!")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
- user << "You fill [src] with [trans] unit\s of the solution."
+ to_chat(user, "You fill [src] with [trans] unit\s of the solution.")
update_icon()
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 63da31f195f..9a4ccada9b2 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -16,7 +16,7 @@
return
if(!reagents || !reagents.total_volume)
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
return
if(istype(M))
@@ -46,7 +46,7 @@
M.visible_message("[user] feeds something to [M].", "[user] feeds something to you.")
add_logs(user, M, "fed", reagentlist(src))
else
- user << "You swallow a gulp of [src]."
+ to_chat(user, "You swallow a gulp of [src].")
var/fraction = min(5/reagents.total_volume, 1)
reagents.reaction(M, INGEST, fraction)
spawn(5)
@@ -59,28 +59,28 @@
else if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
if(target.reagents && !target.reagents.total_volume)
- user << "[target] is empty and can't be refilled!"
+ to_chat(user, "[target] is empty and can't be refilled!")
return
if(reagents.total_volume >= reagents.maximum_volume)
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this)
- user << "You fill [src] with [trans] unit\s of the contents of [target]."
+ to_chat(user, "You fill [src] with [trans] unit\s of the contents of [target].")
else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "[target] is full."
+ to_chat(user, "[target] is full.")
return
var/trans = reagents.trans_to(target, amount_per_transfer_from_this)
- user << "You transfer [trans] unit\s of the solution to [target]."
+ to_chat(user, "You transfer [trans] unit\s of the solution to [target].")
else if(reagents.total_volume)
if(user.a_intent == INTENT_HARM)
@@ -96,18 +96,18 @@
if(reagents)
if(reagents.chem_temp < hotness) //can't be heated to be hotter than the source
reagents.chem_temp += added_heat
- user << "You heat [src] with [I]."
+ to_chat(user, "You heat [src] with [I].")
reagents.handle_reactions()
else
- user << "[src] is already hotter than [I]!"
+ to_chat(user, "[src] is already hotter than [I]!")
if(istype(I,/obj/item/weapon/reagent_containers/food/snacks/egg)) //breaking eggs
var/obj/item/weapon/reagent_containers/food/snacks/egg/E = I
if(reagents)
if(reagents.total_volume >= reagents.maximum_volume)
- user << "[src] is full."
+ to_chat(user, "[src] is full.")
else
- user << "You break [E] in [src]."
+ to_chat(user, "You break [E] in [src].")
reagents.add_reagent("eggyolk", 5)
qdel(E)
return
@@ -251,13 +251,13 @@
/obj/item/weapon/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params)
if(istype(O, /obj/item/weapon/mop))
if(reagents.total_volume < 1)
- user << "[src] is out of water!"
+ to_chat(user, "[src] is out of water!")
else
reagents.trans_to(O, 5)
- user << "You wet [O] in [src]."
+ to_chat(user, "You wet [O] in [src].")
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
else if(isprox(O))
- user << "You add [O] to [src]."
+ to_chat(user, "You add [O] to [src].")
qdel(O)
qdel(src)
user.put_in_hands(new /obj/item/weapon/bucket_sensor)
@@ -267,7 +267,7 @@
/obj/item/weapon/reagent_containers/glass/bucket/equipped(mob/user, slot)
..()
if(slot == slot_head && reagents.total_volume)
- user << "[src]'s contents spill all over you!"
+ to_chat(user, "[src]'s contents spill all over you!")
reagents.reaction(user, TOUCH)
reagents.clear_reagents()
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 53cd375f7f1..912eefda971 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -18,14 +18,14 @@
/obj/item/weapon/reagent_containers/hypospray/attack(mob/living/M, mob/user)
if(!reagents.total_volume)
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
return
if(!iscarbon(M))
return
if(reagents.total_volume && (ignore_flags || M.can_inject(user, 1))) // Ignore flag should be checked first or there will be an error message.
- M << "You feel a tiny prick!"
- user << "You inject [M] with [src]."
+ to_chat(M, "You feel a tiny prick!")
+ to_chat(user, "You inject [M] with [src].")
var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1)
reagents.reaction(M, INJECT, fraction)
@@ -39,7 +39,7 @@
else
trans = reagents.copy_to(M, amount_per_transfer_from_this)
- user << "[trans] unit\s injected. [reagents.total_volume] unit\s remaining in [src]."
+ to_chat(user, "[trans] unit\s injected. [reagents.total_volume] unit\s remaining in [src].")
var/contained = english_list(injected)
@@ -78,7 +78,7 @@
/obj/item/weapon/reagent_containers/hypospray/medipen/attack(mob/M, mob/user)
if(!reagents.total_volume)
- user << "[src] is empty!"
+ to_chat(user, "[src] is empty!")
return
..()
if(!iscyborg(user))
@@ -102,9 +102,9 @@
/obj/item/weapon/reagent_containers/hypospray/medipen/examine()
..()
if(reagents && reagents.reagent_list.len)
- usr << "It is currently loaded."
+ to_chat(usr, "It is currently loaded.")
else
- usr << "It is spent."
+ to_chat(usr, "It is spent.")
/obj/item/weapon/reagent_containers/hypospray/medipen/stimpack //goliath kiting
name = "stimpack medipen"
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 0d0a3a468c2..3a6a3069725 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -32,7 +32,7 @@
if(self_delay)
if(!do_mob(user, M, self_delay))
return 0
- M << "You [apply_method] [src]."
+ to_chat(M, "You [apply_method] [src].")
else
M.visible_message("[user] attempts to force [M] to [apply_method] [src].", \
@@ -55,11 +55,11 @@
if(!proximity) return
if(target.is_open_container() != 0 && target.reagents)
if(!target.reagents.total_volume)
- user << "[target] is empty! There's nothing to dissolve [src] in."
+ to_chat(user, "[target] is empty! There's nothing to dissolve [src] in.")
return
- user << "You dissolve [src] in [target]."
+ to_chat(user, "You dissolve [src] in [target].")
for(var/mob/O in viewers(2, user)) //viewers is necessary here because of the small radius
- O << "[user] slips something into [target]!"
+ to_chat(O, "[user] slips something into [target]!")
reagents.trans_to(target, reagents.total_volume)
qdel(src)
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 39645fb610c..7f2957df35d 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -27,19 +27,19 @@
if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1) //this block copypasted from reagent_containers/glass, for lack of a better solution
if(!A.reagents.total_volume && A.reagents)
- user << "\The [A] is empty."
+ to_chat(user, "\The [A] is empty.")
return
if(reagents.total_volume >= reagents.maximum_volume)
- user << "\The [src] is full."
+ to_chat(user, "\The [src] is full.")
return
var/trans = A.reagents.trans_to(src, 50) //transfer 50u , using the spray's transfer amount would take too long to refill
- user << "You fill \the [src] with [trans] units of the contents of \the [A]."
+ to_chat(user, "You fill \the [src] with [trans] units of the contents of \the [A].")
return
if(reagents.total_volume < amount_per_transfer_from_this)
- user << "\The [src] is empty!"
+ to_chat(user, "\The [src] is empty!")
return
spray(A)
@@ -115,7 +115,7 @@
else
amount_per_transfer_from_this = initial(amount_per_transfer_from_this)
current_range = spray_range
- user << "You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""]. You'll now use [amount_per_transfer_from_this] units per use."
+ to_chat(user, "You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""]. You'll now use [amount_per_transfer_from_this] units per use.")
/obj/item/weapon/reagent_containers/spray/verb/empty()
set name = "Empty Spray Bottle"
@@ -126,7 +126,7 @@
if (alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", "Yes", "No") != "Yes")
return
if(isturf(usr.loc) && src.loc == usr)
- usr << "You empty \the [src] onto the floor."
+ to_chat(usr, "You empty \the [src] onto the floor.")
reagents.reaction(usr.loc)
src.reagents.clear_reagents()
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 7199eb880f4..b8ccdf6e3a5 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -71,7 +71,7 @@
if(SYRINGE_DRAW)
if(reagents.total_volume >= reagents.maximum_volume)
- user << "The syringe is full."
+ to_chat(user, "The syringe is full.")
return
if(L) //living mob
@@ -89,34 +89,34 @@
if(L.transfer_blood_to(src, drawn_amount))
user.visible_message("[user] takes a blood sample from [L].")
else
- user << "You are unable to draw any blood from [L]!"
+ to_chat(user, "You are unable to draw any blood from [L]!")
else //if not mob
if(!target.reagents.total_volume)
- user << "[target] is empty!"
+ to_chat(user, "[target] is empty!")
return
if(!target.is_open_container() && !istype(target,/obj/structure/reagent_dispensers) && !istype(target,/obj/item/slime_extract))
- user << "You cannot directly remove reagents from [target]!"
+ to_chat(user, "You cannot directly remove reagents from [target]!")
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this) // transfer from, transfer to - who cares?
- user << "You fill [src] with [trans] units of the solution."
+ to_chat(user, "You fill [src] with [trans] units of the solution.")
if (reagents.total_volume >= reagents.maximum_volume)
mode=!mode
update_icon()
if(SYRINGE_INJECT)
if(!reagents.total_volume)
- user << "[src] is empty."
+ to_chat(user, "[src] is empty.")
return
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes))
- user << "You cannot directly fill [target]!"
+ to_chat(user, "You cannot directly fill [target]!")
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- user << "[target] is full."
+ to_chat(user, "[target] is full.")
return
if(L) //living mob
@@ -147,7 +147,7 @@
var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1)
reagents.reaction(L, INJECT, fraction)
reagents.trans_to(target, amount_per_transfer_from_this)
- user << "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units."
+ to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.")
if (reagents.total_volume <= 0 && mode==SYRINGE_INJECT)
mode = SYRINGE_DRAW
update_icon()
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index 301786074b1..20f1b1b5805 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -31,9 +31,9 @@
/obj/structure/reagent_dispensers/examine(mob/user)
..()
if(reagents.total_volume)
- user << "It has [reagents.total_volume] units left."
+ to_chat(user, "It has [reagents.total_volume] units left.")
else
- user << "It's empty."
+ to_chat(user, "It's empty.")
/obj/structure/reagent_dispensers/proc/boom()
@@ -97,12 +97,12 @@
/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/weldingtool))
if(!reagents.has_reagent("welding_fuel"))
- user << "[src] is out of fuel!"
+ to_chat(user, "[src] is out of fuel!")
return
var/obj/item/weapon/weldingtool/W = I
if(!W.welding)
if(W.reagents.has_reagent("welding_fuel", W.max_fuel))
- user << "Your [W.name] is already full!"
+ to_chat(user, "Your [W.name] is already full!")
return
reagents.trans_to(W, W.max_fuel)
user.visible_message("[user] refills [user.p_their()] [W.name].", "You refill [W].")
@@ -146,11 +146,11 @@
/obj/structure/reagent_dispensers/water_cooler/examine(mob/user)
..()
- user << "There are [paper_cups ? paper_cups : "no"] paper cups left."
+ to_chat(user, "There are [paper_cups ? paper_cups : "no"] paper cups left.")
/obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/living/user)
if(!paper_cups)
- user << "There aren't any cups left!"
+ to_chat(user, "There aren't any cups left!")
return
user.visible_message("[user] takes a cup from [src].", "You take a paper cup from [src].")
var/obj/item/weapon/reagent_containers/food/drinks/sillycup/S = new(get_turf(src))
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 3651be65ecb..2ef0842a04d 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -125,7 +125,7 @@
var/obj/item/conveyor_construct/C = new/obj/item/conveyor_construct(src.loc)
C.id = id
transfer_fingerprints_to(C)
- user << "You remove the conveyor belt."
+ to_chat(user, "You remove the conveyor belt.")
qdel(src)
else if(istype(I, /obj/item/weapon/wrench))
@@ -133,13 +133,13 @@
playsound(loc, I.usesound, 50, 1)
setDir(turn(dir,-45))
update_move_direction()
- user << "You rotate [src]."
+ to_chat(user, "You rotate [src].")
else if(istype(I, /obj/item/weapon/screwdriver))
if(!(stat & BROKEN))
verted = verted * -1
update_move_direction()
- user << "You reverse [src]'s direction."
+ to_chat(user, "You reverse [src]'s direction.")
else if(user.a_intent != INTENT_HARM)
if(user.drop_item())
@@ -282,7 +282,7 @@
var/obj/item/conveyor_switch_construct/C = new/obj/item/conveyor_switch_construct(src.loc)
C.id = id
transfer_fingerprints_to(C)
- user << "You deattach the conveyor switch."
+ to_chat(user, "You deattach the conveyor switch.")
qdel(src)
/obj/machinery/conveyor_switch/oneway
@@ -304,7 +304,7 @@
/obj/item/conveyor_construct/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/conveyor_switch_construct))
- user << "You link the switch to the conveyor belt assembly."
+ to_chat(user, "You link the switch to the conveyor belt assembly.")
var/obj/item/conveyor_switch_construct/C = I
id = C.id
@@ -313,7 +313,7 @@
return
var/cdir = get_dir(A, user)
if(A == user.loc)
- user << "You cannot place a conveyor belt under yourself."
+ to_chat(user, "You cannot place a conveyor belt under yourself.")
return
var/obj/machinery/conveyor/C = new/obj/machinery/conveyor(A,cdir)
C.id = id
@@ -341,7 +341,7 @@
found = 1
break
if(!found)
- user << "\icon[src]The conveyor switch did not detect any linked conveyor belts in range."
+ to_chat(user, "\icon[src]The conveyor switch did not detect any linked conveyor belts in range.")
return
var/obj/machinery/conveyor_switch/NC = new/obj/machinery/conveyor_switch(A, id)
transfer_fingerprints_to(NC)
diff --git a/code/modules/recycling/disposal-construction.dm b/code/modules/recycling/disposal-construction.dm
index f85a4dba89c..11d37b1cae4 100644
--- a/code/modules/recycling/disposal-construction.dm
+++ b/code/modules/recycling/disposal-construction.dm
@@ -20,7 +20,7 @@
/obj/structure/disposalconstruct/examine(mob/user)
..()
- user << "Alt-click to rotate it clockwise."
+ to_chat(user, "Alt-click to rotate it clockwise.")
/obj/structure/disposalconstruct/New(var/loc, var/pipe_type, var/direction = 1)
..(loc)
@@ -102,7 +102,7 @@
return
if(anchored)
- usr << "You must unfasten the pipe before rotating it!"
+ to_chat(usr, "You must unfasten the pipe before rotating it!")
return
setDir(turn(dir, -90))
@@ -111,7 +111,7 @@
/obj/structure/disposalconstruct/AltClick(mob/user)
..()
if(user.incapacitated())
- user << "You can't do that right now!"
+ to_chat(user, "You can't do that right now!")
return
if(!in_range(src, user))
return
@@ -126,7 +126,7 @@
return
if(anchored)
- usr << "You must unfasten the pipe before flipping it!"
+ to_chat(usr, "You must unfasten the pipe before flipping it!")
return
setDir(turn(dir, 180))
@@ -185,11 +185,11 @@
var/turf/T = loc
if(T.intact && isfloorturf(T))
- user << "You can only attach the [nicetype] if the floor plating is removed!"
+ to_chat(user, "You can only attach the [nicetype] if the floor plating is removed!")
return
if(!ispipe && iswallturf(T))
- user << "You can't build [nicetype]s on walls, only disposal pipes!"
+ to_chat(user, "You can't build [nicetype]s on walls, only disposal pipes!")
return
var/obj/structure/disposalpipe/CP = locate() in T
@@ -200,15 +200,15 @@
if(ispipe)
level = 2
density = 0
- user << "You detach the [nicetype] from the underfloor."
+ to_chat(user, "You detach the [nicetype] from the underfloor.")
else
if(!is_pipe()) // Disposal or outlet
if(CP) // There's something there
if(!istype(CP,/obj/structure/disposalpipe/trunk))
- user << "The [nicetype] requires a trunk underneath it in order to work!"
+ to_chat(user, "The [nicetype] requires a trunk underneath it in order to work!")
return
else // Nothing under, fuck.
- user << "The [nicetype] requires a trunk underneath it in order to work!"
+ to_chat(user, "The [nicetype] requires a trunk underneath it in order to work!")
return
else
if(CP)
@@ -217,13 +217,13 @@
if(istype(CP, /obj/structure/disposalpipe/broken))
pdir = CP.dir
if(pdir & dpdir)
- user << "There is already a [nicetype] at that location!"
+ to_chat(user, "There is already a [nicetype] at that location!")
return
anchored = 1
if(ispipe)
level = 1 // We don't want disposal bins to disappear under the floors
density = 0
- user << "You attach the [nicetype] to the underfloor."
+ to_chat(user, "You attach the [nicetype] to the underfloor.")
playsound(loc, I.usesound, 100, 1)
update_icon()
@@ -232,11 +232,11 @@
var/obj/item/weapon/weldingtool/W = I
if(W.remove_fuel(0,user))
playsound(loc, 'sound/items/Welder2.ogg', 100, 1)
- user << "You start welding the [nicetype] in place..."
+ to_chat(user, "You start welding the [nicetype] in place...")
if(do_after(user, 8*I.toolspeed, target = src))
if(!loc || !W.isOn())
return
- user << "The [nicetype] has been welded in place."
+ to_chat(user, "The [nicetype] has been welded in place.")
update_icon() // TODO: Make this neat
if(ispipe)
@@ -264,7 +264,7 @@
return
else
- user << "You need to attach it to the plating first!"
+ to_chat(user, "You need to attach it to the plating first!")
return
/obj/structure/disposalconstruct/proc/is_pipe()
diff --git a/code/modules/recycling/disposal-structures.dm b/code/modules/recycling/disposal-structures.dm
index 856fbc90ef8..1fd66eb1d2f 100644
--- a/code/modules/recycling/disposal-structures.dm
+++ b/code/modules/recycling/disposal-structures.dm
@@ -303,12 +303,12 @@
if(can_be_deconstructed(user))
if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- user << "You start slicing the disposal pipe..."
+ to_chat(user, "You start slicing the disposal pipe...")
// check if anything changed over 2 seconds
if(do_after(user,30, target = src))
if(!src || !W.isOn()) return
deconstruct()
- user << "You slice the disposal pipe."
+ to_chat(user, "You slice the disposal pipe.")
else
return ..()
@@ -423,11 +423,11 @@
/obj/structure/disposalpipe/sortjunction/examine(mob/user)
..()
if(sortTypes.len>0)
- user << "It is tagged with the following tags:"
+ to_chat(user, "It is tagged with the following tags:")
for(var/t in sortTypes)
- user << TAGGERLOCATIONS[t]
+ to_chat(user, TAGGERLOCATIONS[t])
else
- user << "It has no sorting tags set."
+ to_chat(user, "It has no sorting tags set.")
/obj/structure/disposalpipe/sortjunction/proc/updatedir()
@@ -467,10 +467,10 @@
if(O.currTag > 0)// Tag set
if(O.currTag in sortTypes)
sortTypes -= O.currTag
- user << "Removed \"[TAGGERLOCATIONS[O.currTag]]\" filter."
+ to_chat(user, "Removed \"[TAGGERLOCATIONS[O.currTag]]\" filter.")
else
sortTypes |= O.currTag
- user << "Added \"[TAGGERLOCATIONS[O.currTag]]\" filter."
+ to_chat(user, "Added \"[TAGGERLOCATIONS[O.currTag]]\" filter.")
playsound(src.loc, 'sound/machines/twobeep.ogg', 100, 1)
else
return ..()
@@ -583,7 +583,7 @@
/obj/structure/disposalpipe/trunk/can_be_deconstructed(mob/user)
if(linked)
- user << "You need to deconstruct disposal machinery above this pipe!"
+ to_chat(user, "You need to deconstruct disposal machinery above this pipe!")
else
. = 1
@@ -695,20 +695,20 @@
if(mode==0)
mode=1
playsound(src.loc, I.usesound, 50, 1)
- user << "You remove the screws around the power connection."
+ to_chat(user, "You remove the screws around the power connection.")
else if(mode==1)
mode=0
playsound(src.loc, I.usesound, 50, 1)
- user << "You attach the screws around the power connection."
+ to_chat(user, "You attach the screws around the power connection.")
else if(istype(I,/obj/item/weapon/weldingtool) && mode==1)
var/obj/item/weapon/weldingtool/W = I
if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- user << "You start slicing the floorweld off \the [src]..."
+ to_chat(user, "You start slicing the floorweld off \the [src]...")
if(do_after(user,20*I.toolspeed, target = src))
if(!src || !W.isOn()) return
- user << "You slice the floorweld off \the [src]."
+ to_chat(user, "You slice the floorweld off \the [src].")
stored.loc = loc
src.transfer_fingerprints_to(stored)
stored.update_icon()
diff --git a/code/modules/recycling/disposal-unit.dm b/code/modules/recycling/disposal-unit.dm
index 80c123397da..d8385fafccb 100644
--- a/code/modules/recycling/disposal-unit.dm
+++ b/code/modules/recycling/disposal-unit.dm
@@ -83,17 +83,17 @@
else
mode = PRESSURE_OFF
playsound(src.loc, I.usesound, 50, 1)
- user << "You [mode == SCREWS_OUT ? "remove":"attach"] the screws around the power connection."
+ to_chat(user, "You [mode == SCREWS_OUT ? "remove":"attach"] the screws around the power connection.")
return
else if(istype(I,/obj/item/weapon/weldingtool) && mode == SCREWS_OUT)
var/obj/item/weapon/weldingtool/W = I
if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- user << "You start slicing the floorweld off \the [src]..."
+ to_chat(user, "You start slicing the floorweld off \the [src]...")
if(do_after(user,20*I.toolspeed, target = src) && mode == SCREWS_OUT)
if(!W.isOn())
return
- user << "You slice the floorweld off \the [src]."
+ to_chat(user, "You slice the floorweld off \the [src].")
deconstruct()
return
@@ -123,7 +123,7 @@
if(target.buckled || target.has_buckled_mobs())
return
if(target.mob_size > MOB_SIZE_HUMAN)
- user << "[target] doesn't fit inside [src]!"
+ to_chat(user, "[target] doesn't fit inside [src]!")
return
add_fingerprint(user)
if(user == target)
@@ -173,7 +173,7 @@
// human interact with machine
/obj/machinery/disposal/attack_hand(mob/user)
if(user && user.loc == src)
- usr << "You cannot reach the controls from inside!"
+ to_chat(usr, "You cannot reach the controls from inside!")
return
interact(user, 0)
@@ -275,7 +275,7 @@
/obj/machinery/disposal/bin/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/storage/bag/trash))
var/obj/item/weapon/storage/bag/trash/T = I
- user << "You empty the bag."
+ to_chat(user, "You empty the bag.")
for(var/obj/item/O in T.contents)
T.remove_from_storage(O,src)
T.update_icon()
@@ -290,7 +290,7 @@
if(stat & BROKEN)
return
if(user.loc == src)
- user << "You cannot reach the controls from inside!"
+ to_chat(user, "You cannot reach the controls from inside!")
return
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
@@ -475,7 +475,7 @@
else if(istype(AM, /mob))
var/mob/M = AM
if(prob(2)) // to prevent mobs being stuck in infinite loops
- M << "You hit the edge of the chute."
+ to_chat(M, "You hit the edge of the chute.")
return
M.forceMove(src)
flush()
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 876309b60ee..331260dd195 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -28,14 +28,14 @@
if(sortTag != O.currTag)
var/tag = uppertext(TAGGERLOCATIONS[O.currTag])
- user << "*[tag]*"
+ to_chat(user, "*[tag]*")
sortTag = O.currTag
playsound(loc, 'sound/machines/twobeep.ogg', 100, 1)
else if(istype(W, /obj/item/weapon/pen))
var/str = copytext(sanitize(input(user,"Label text?","Set label","")),1,MAX_NAME_LEN)
if(!str || !length(str))
- user << "Invalid text!"
+ to_chat(user, "Invalid text!")
return
user.visible_message("[user] labels [src] as [str].")
name = "[name] ([str])"
@@ -47,7 +47,7 @@
giftwrapped = 1
icon_state = "gift[icon_state]"
else
- user << "You need more paper!"
+ to_chat(user, "You need more paper!")
else
return ..()
@@ -56,17 +56,17 @@
var/atom/movable/AM = loc //can't unwrap the wrapped container if it's inside something.
AM.relay_container_resist(user, O)
return
- user << "You lean on the back of [O] and start pushing to rip the wrapping around it."
+ to_chat(user, "You lean on the back of [O] and start pushing to rip the wrapping around it.")
if(do_after(user, 50, target = O))
if(!user || user.stat != CONSCIOUS || user.loc != O || O.loc != src )
return
- user << "You successfully removed [O]'s wrapping !"
+ to_chat(user, "You successfully removed [O]'s wrapping !")
O.loc = loc
playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, 1)
qdel(src)
else
if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded.
- user << "You fail to remove [O]'s wrapping!"
+ to_chat(user, "You fail to remove [O]'s wrapping!")
/obj/item/smallDelivery
@@ -109,14 +109,14 @@
if(sortTag != O.currTag)
var/tag = uppertext(TAGGERLOCATIONS[O.currTag])
- user << "*[tag]*"
+ to_chat(user, "*[tag]*")
sortTag = O.currTag
playsound(loc, 'sound/machines/twobeep.ogg', 100, 1)
else if(istype(W, /obj/item/weapon/pen))
var/str = copytext(sanitize(input(user,"Label text?","Set label","")),1,MAX_NAME_LEN)
if(!str || !length(str))
- user << "Invalid text!"
+ to_chat(user, "Invalid text!")
return
user.visible_message("[user] labels [src] as [str].")
name = "[name] ([str])"
@@ -128,7 +128,7 @@
giftwrapped = 1
user.visible_message("[user] wraps the package in festive paper!")
else
- user << "You need more paper!"
+ to_chat(user, "You need more paper!")
/obj/item/device/destTagger
diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm
index 6e7d11cb23d..1c28dc73b2e 100644
--- a/code/modules/research/circuitprinter.dm
+++ b/code/modules/research/circuitprinter.dm
@@ -98,7 +98,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
return
if(!materials.has_space(sheet_material))
- user << "The [src.name]'s material bin is full! Please remove material before adding more."
+ to_chat(user, "The [src.name]'s material bin is full! Please remove material before adding more.")
return 1
var/obj/item/stack/sheet/stack = O
@@ -110,7 +110,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
return 1
else
use_power(max(1000, (MINERAL_MATERIAL_AMOUNT*amount_inserted/10)))
- user << "You add [amount_inserted] sheets to the [src.name]."
+ to_chat(user, "You add [amount_inserted] sheets to the [src.name].")
updateUsrDialog()
else if(istype(O, /obj/item/weapon/ore/bluespace_crystal)) //Bluespace crystals can be either a stack or an item
@@ -122,17 +122,17 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
return
if(!materials.has_space(bs_material))
- user << "The [src.name]'s material bin is full! Please remove material before adding more."
+ to_chat(user, "The [src.name]'s material bin is full! Please remove material before adding more.")
return 1
materials.insert_item(O)
use_power(MINERAL_MATERIAL_AMOUNT/10)
- user << "You add [O] to the [src.name]."
+ to_chat(user, "You add [O] to the [src.name].")
qdel(O)
updateUsrDialog()
else if(user.a_intent != INTENT_HARM)
- user << "You cannot insert this item into the [name]!"
+ to_chat(user, "You cannot insert this item into the [name]!")
return 1
else
return 0
\ No newline at end of file
diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm
index bc14a5c9b9a..6afeb6cb0d4 100644
--- a/code/modules/research/destructive_analyzer.dm
+++ b/code/modules/research/destructive_analyzer.dm
@@ -50,19 +50,19 @@ Note: Must be placed within 3 tiles of the R&D Console
if(!is_insertion_ready(user))
return
if(!O.origin_tech)
- user << "This doesn't seem to have a tech origin!"
+ to_chat(user, "This doesn't seem to have a tech origin!")
return
var/list/temp_tech = ConvertReqString2List(O.origin_tech)
if (temp_tech.len == 0)
- user << "You cannot deconstruct this item!"
+ to_chat(user, "You cannot deconstruct this item!")
return
if(!user.drop_item())
- user << "\The [O] is stuck to your hand, you cannot put it in the [src.name]!"
+ to_chat(user, "\The [O] is stuck to your hand, you cannot put it in the [src.name]!")
return
busy = 1
loaded_item = O
O.forceMove(src)
- user << "You add the [O.name] to the [src.name]!"
+ to_chat(user, "You add the [O.name] to the [src.name]!")
flick("d_analyzer_la", src)
spawn(10)
icon_state = "d_analyzer_l"
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index a2a09d89eda..f20d9f2751d 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -120,20 +120,20 @@
if(!is_insertion_ready(user))
return
if(!checkCircumstances(O))
- user << "The [O] is not yet valid for the [src] and must be completed!"
+ to_chat(user, "The [O] is not yet valid for the [src] and must be completed!")
return
if(!O.origin_tech)
- user << "This doesn't seem to have a tech origin!"
+ to_chat(user, "This doesn't seem to have a tech origin!")
return
var/list/temp_tech = ConvertReqString2List(O.origin_tech)
if (temp_tech.len == 0)
- user << "You cannot experiment on this item!"
+ to_chat(user, "You cannot experiment on this item!")
return
if(!user.drop_item())
return
loaded_item = O
O.loc = src
- user << "You add the [O.name] to the machine."
+ to_chat(user, "You add the [O.name] to the machine.")
flick("h_lathe_load", src)
@@ -484,7 +484,7 @@
if(globalMalf > 36 && globalMalf < 50)
visible_message("Experimentor draws the life essence of those nearby!")
for(var/mob/living/m in view(4,src))
- m << "You feel your flesh being torn from you, mists of blood drifting to [src]!"
+ to_chat(m, "You feel your flesh being torn from you, mists of blood drifting to [src]!")
m.apply_damage(50, BRUTE, "chest")
investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", "experimentor")
if(globalMalf > 51 && globalMalf < 75)
@@ -528,15 +528,15 @@
src.updateUsrDialog()
else
if(recentlyExperimented)
- usr << "[src] has been used too recently!"
+ to_chat(usr, "[src] has been used too recently!")
return
else if(!loaded_item)
updateUsrDialog() //Set the interface to unloaded mode
- usr << "[src] is not currently loaded!"
+ to_chat(usr, "[src] is not currently loaded!")
return
else if(!process || process != loaded_item) //Interface exploit protection (such as hrefs or swapping items with interface set to old item)
updateUsrDialog() //Refresh interface to update interface hrefs
- usr << "Interface failure detected in [src]. Please try again."
+ to_chat(usr, "Interface failure detected in [src]. Please try again.")
return
var/dotype
if(text2num(scantype) == SCANTYPE_DISCOVER)
@@ -607,7 +607,7 @@
/obj/item/weapon/relic/attack_self(mob/user)
if(revealed)
if(cooldown)
- user << "[src] does not react!"
+ to_chat(user, "[src] does not react!")
return
else if(src.loc == user)
cooldown = TRUE
@@ -615,7 +615,7 @@
spawn(cooldownMax)
cooldown = FALSE
else
- user << "You aren't quite sure what to do with this yet."
+ to_chat(user, "You aren't quite sure what to do with this yet.")
//////////////// RELIC PROCS /////////////////////////////
@@ -645,7 +645,7 @@
/obj/item/weapon/relic/proc/petSpray(mob/user)
var/message = "[src] begans to shake, and in the distance the sound of rampaging animals arises!"
visible_message(message)
- user << message
+ to_chat(user, message)
var/animals = rand(1,25)
var/counter
var/list/valid_animals = list(/mob/living/simple_animal/parrot,/mob/living/simple_animal/butterfly,/mob/living/simple_animal/pet/cat,/mob/living/simple_animal/pet/dog/corgi,/mob/living/simple_animal/crab,/mob/living/simple_animal/pet/fox,/mob/living/simple_animal/hostile/lizard,/mob/living/simple_animal/mouse,/mob/living/simple_animal/pet/dog/pug,/mob/living/simple_animal/hostile/bear,/mob/living/simple_animal/hostile/poison/bees,/mob/living/simple_animal/hostile/carp)
@@ -654,7 +654,7 @@
new mobType(get_turf(src))
warn_admins(user, "Mass Mob Spawn")
if(prob(60))
- user << "[src] falls apart!"
+ to_chat(user, "[src] falls apart!")
qdel(src)
/obj/item/weapon/relic/proc/rapidDupe(mob/user)
@@ -679,7 +679,7 @@
warn_admins(user, "Rapid duplicator", 0)
/obj/item/weapon/relic/proc/explode(mob/user)
- user << "[src] begins to heat up!"
+ to_chat(user, "[src] begins to heat up!")
spawn(rand(35,100))
if(src.loc == user)
visible_message("The [src]'s top opens, releasing a powerful blast!")
@@ -688,7 +688,7 @@
qdel(src) //Comment this line to produce a light grenade (the bomb that keeps on exploding when used)!!
/obj/item/weapon/relic/proc/teleport(mob/user)
- user << "The [src] begins to vibrate!"
+ to_chat(user, "The [src] begins to vibrate!")
spawn(rand(10,30))
var/turf/userturf = get_turf(user)
if(src.loc == user && userturf.z != ZLEVEL_CENTCOM) //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you!
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index e3887462c8f..b7ab3587ecc 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -114,7 +114,7 @@ var/global/list/obj/machinery/message_server/message_servers = list()
rc_msgs += new/datum/data_rc_msg(recipient,sender,message,stamp,id_auth)
/obj/machinery/message_server/attack_hand(mob/user)
- user << "You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"]"
+ to_chat(user, "You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"]")
active = !active
update_icon()
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index 21f9d9937c3..05889bf097f 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -98,7 +98,7 @@ Note: Must be placed west/left of and R&D console to function.
return
if(!materials.has_space(sheet_material))
- user << "The [src.name]'s material bin is full! Please remove material before adding more."
+ to_chat(user, "The [src.name]'s material bin is full! Please remove material before adding more.")
return 1
var/obj/item/stack/sheet/stack = O
@@ -112,7 +112,7 @@ Note: Must be placed west/left of and R&D console to function.
var/stack_name = stack.name
busy = TRUE
use_power(max(1000, (MINERAL_MATERIAL_AMOUNT*amount_inserted/10)))
- user << "You add [amount_inserted] sheets to the [src.name]."
+ to_chat(user, "You add [amount_inserted] sheets to the [src.name].")
add_overlay("protolathe_[stack_name]")
sleep(10)
cut_overlay("protolathe_[stack_name]")
@@ -128,13 +128,13 @@ Note: Must be placed west/left of and R&D console to function.
return
if(!materials.has_space(bs_material))
- user << "The [src.name]'s material bin is full! Please remove material before adding more."
+ to_chat(user, "The [src.name]'s material bin is full! Please remove material before adding more.")
return 1
materials.insert_item(O)
busy = TRUE
use_power(MINERAL_MATERIAL_AMOUNT/10)
- user << "You add [O] to the [src.name]."
+ to_chat(user, "You add [O] to the [src.name].")
qdel(O)
add_overlay("protolathe_bluespace")
sleep(10)
@@ -143,7 +143,7 @@ Note: Must be placed west/left of and R&D console to function.
updateUsrDialog()
else if(user.a_intent != INTENT_HARM)
- user << "You cannot insert this item into the [name]!"
+ to_chat(user, "You cannot insert this item into the [name]!")
return 1
else
return 0
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 21ab4dcbc32..2a6afe066df 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -117,7 +117,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
//Loading a disk into it.
if(istype(D, /obj/item/weapon/disk))
if(t_disk || d_disk)
- user << "A disk is already loaded into the machine."
+ to_chat(user, "A disk is already loaded into the machine.")
return
if(istype(D, /obj/item/weapon/disk/tech_disk))
@@ -125,12 +125,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else if (istype(D, /obj/item/weapon/disk/design_disk))
d_disk = D
else
- user << "Machine cannot accept disks in that format."
+ to_chat(user, "Machine cannot accept disks in that format.")
return
if(!user.drop_item())
return
D.loc = src
- user << "You add the disk to the machine!"
+ to_chat(user, "You add the disk to the machine!")
else if(!(linked_destroy && linked_destroy.busy) && !(linked_lathe && linked_lathe.busy) && !(linked_imprinter && linked_imprinter.busy))
. = ..()
updateUsrDialog()
@@ -153,7 +153,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(!emagged)
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = 1
- user << "You disable the security protocols"
+ to_chat(user, "You disable the security protocols")
/obj/machinery/computer/rdconsole/Topic(href, href_list)
if(..())
@@ -273,7 +273,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else if(href_list["eject_item"]) //Eject the item inside the destructive analyzer.
if(linked_destroy)
if(linked_destroy.busy)
- usr << "The destructive analyzer is busy at the moment."
+ to_chat(usr, "The destructive analyzer is busy at the moment.")
else if(linked_destroy.loaded_item)
linked_destroy.loaded_item.forceMove(linked_destroy.loc)
@@ -340,12 +340,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(src.allowed(usr))
screen = text2num(href_list["lock"])
else
- usr << "Unauthorized Access."
+ to_chat(usr, "Unauthorized Access.")
else if(href_list["sync"]) //Sync the research holder with all the R&D consoles in the game that aren't sync protected.
screen = 0.0
if(!sync)
- usr << "You must connect to the network first!"
+ to_chat(usr, "You must connect to the network first!")
else
griefProtection() //Putting this here because I dont trust the sync process
spawn(30)
@@ -392,7 +392,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
return
if(linked_lathe.busy)
- usr << "Protolathe is busy at the moment."
+ to_chat(usr, "Protolathe is busy at the moment.")
return
var/coeff = linked_lathe.efficiency_coeff
@@ -469,7 +469,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
return
if(linked_imprinter.busy)
- usr << "Circuit Imprinter is busy at the moment."
+ to_chat(usr, "Circuit Imprinter is busy at the moment.")
updateUsrDialog()
return
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index fbc1982434c..7ba7192affc 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -77,7 +77,7 @@
//whether the machine can have an item inserted in its current state.
/obj/machinery/r_n_d/proc/is_insertion_ready(mob/user)
if(panel_open)
- user << "You can't load the [src.name] while it's opened!"
+ to_chat(user, "You can't load the [src.name] while it's opened!")
return
if (disabled)
return
@@ -87,19 +87,19 @@
console.SyncRDevices()
if(!linked_console)
- user << "The [name] must be linked to an R&D console first!"
+ to_chat(user, "The [name] must be linked to an R&D console first!")
return
if (busy)
- user << "The [src.name] is busy right now."
+ to_chat(user, "The [src.name] is busy right now.")
return
if(stat & BROKEN)
- user << "The [src.name] is broken."
+ to_chat(user, "The [src.name] is broken.")
return
if(stat & NOPOWER)
- user << "The [src.name] has no power."
+ to_chat(user, "The [src.name] has no power.")
return
if(loaded_item)
- user << "The [src] is already loaded."
+ to_chat(user, "The [src] is already loaded.")
return
return 1
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index 237344366c4..03613990f53 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -185,7 +185,7 @@
add_fingerprint(usr)
usr.set_machine(src)
if(!src.allowed(usr) && !emagged)
- usr << "You do not have the required access level."
+ to_chat(usr, "You do not have the required access level.")
return
if(href_list["main"])
@@ -319,7 +319,7 @@
if(!emagged)
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = 1
- user << "You you disable the security protocols."
+ to_chat(user, "You you disable the security protocols.")
/obj/machinery/r_n_d/server/robotics
name = "Robotics R&D Server"
diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm
index 965ca9fc206..d67f5bf34a7 100644
--- a/code/modules/research/stock_parts.dm
+++ b/code/modules/research/stock_parts.dm
@@ -47,7 +47,7 @@
play_rped_sound()
user.Beam(dest_object,icon_state="rped_upgrade",time=5)
return 1
- user << "The [src.name] buzzes."
+ to_chat(user, "The [src.name] buzzes.")
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
return 0
diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm
index 0ee9121d361..1938588222d 100644
--- a/code/modules/research/xenobiology/xenobio_camera.dm
+++ b/code/modules/research/xenobiology/xenobio_camera.dm
@@ -66,7 +66,7 @@
/obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube))
monkeys++
- user << "You feed [O] to [src]. It now has [monkeys] monkey cubes stored."
+ to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.")
user.drop_item()
qdel(O)
return
@@ -79,7 +79,7 @@
monkeys++
qdel(G)
if (loaded)
- user << "You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored."
+ to_chat(user, "You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.")
return
..()
@@ -124,7 +124,7 @@
S.visible_message("[S] warps in!")
X.stored_slimes -= S
else
- owner << "Target is not near a camera. Cannot proceed."
+ to_chat(owner, "Target is not near a camera. Cannot proceed.")
/datum/action/innate/slime_pick_up
name = "Pick up Slime"
@@ -148,7 +148,7 @@
S.loc = X
X.stored_slimes += S
else
- owner << "Target is not near a camera. Cannot proceed."
+ to_chat(owner, "Target is not near a camera. Cannot proceed.")
/datum/action/innate/feed_slime
@@ -167,9 +167,9 @@
var/mob/living/carbon/monkey/food = new /mob/living/carbon/monkey(remote_eye.loc)
food.LAssailant = C
X.monkeys --
- owner << "[X] now has [X.monkeys] monkeys left."
+ to_chat(owner, "[X] now has [X.monkeys] monkeys left.")
else
- owner << "Target is not near a camera. Cannot proceed."
+ to_chat(owner, "Target is not near a camera. Cannot proceed.")
/datum/action/innate/monkey_recycle
@@ -190,4 +190,4 @@
X.monkeys = round(X.monkeys + 0.2,0.1)
qdel(M)
else
- owner << "Target is not near a camera. Cannot proceed."
+ to_chat(owner, "Target is not near a camera. Cannot proceed.")
diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm
index 7ca2aa66f70..df28cca78f8 100644
--- a/code/modules/research/xenobiology/xenobiology.dm
+++ b/code/modules/research/xenobiology/xenobiology.dm
@@ -18,7 +18,7 @@
/obj/item/slime_extract/attackby(obj/item/O, mob/user)
if(istype(O, /obj/item/slimepotion/enhancer))
if(Uses >= 5)
- user << "You cannot enhance this extract further!"
+ to_chat(user, "You cannot enhance this extract further!")
return ..()
user <<"You apply the enhancer to the slime extract. It may now be reused one more time."
Uses++
@@ -127,7 +127,7 @@
/obj/item/slimepotion/afterattack(obj/item/weapon/reagent_containers/target, mob/user , proximity)
if (istype(target))
- user << "You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb." // le fluff faec
+ to_chat(user, "You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb." )
return
/obj/item/slimepotion/docility
@@ -138,10 +138,10 @@
/obj/item/slimepotion/docility/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- user << "The potion only works on slimes!"
+ to_chat(user, "The potion only works on slimes!")
return ..()
if(M.stat)
- user << "The slime is dead!"
+ to_chat(user, "The slime is dead!")
return ..()
M.docile = 1
@@ -170,19 +170,19 @@
if(being_used || !ismob(M))
return
if(!isanimal(M) || M.ckey) //only works on animals that aren't player controlled
- user << "[M] is already too intelligent for this to work!"
+ to_chat(user, "[M] is already too intelligent for this to work!")
return ..()
if(M.stat)
- user << "[M] is dead!"
+ to_chat(user, "[M] is dead!")
return ..()
var/mob/living/simple_animal/SM = M
if(SM.sentience_type != sentience_type)
- user << "The potion won't work on [SM]."
+ to_chat(user, "The potion won't work on [SM].")
return ..()
- user << "You offer the sentience potion to [SM]..."
+ to_chat(user, "You offer the sentience potion to [SM]...")
being_used = 1
var/list/candidates = pollCandidatesForMob("Do you want to play as [SM.name]?", ROLE_ALIEN, null, ROLE_ALIEN, 50, SM, POLL_IGNORE_SENTIENCE_POTION) // see poll_ignore.dm
@@ -194,12 +194,12 @@
SM.languages_understood |= HUMAN
SM.mind.enslave_mind_to_creator(user)
SM.sentience_act()
- SM << "All at once it makes sense: you know what you are and who you are! Self awareness is yours!"
- SM << "You are grateful to be self aware and owe [user] a great debt. Serve [user], and assist [user.p_them()] in completing [user.p_their()] goals at any cost."
- user << "[SM] accepts the potion and suddenly becomes attentive and aware. It worked!"
+ to_chat(SM, "All at once it makes sense: you know what you are and who you are! Self awareness is yours!")
+ to_chat(SM, "You are grateful to be self aware and owe [user] a great debt. Serve [user], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.")
+ to_chat(user, "[SM] accepts the potion and suddenly becomes attentive and aware. It worked!")
qdel(src)
else
- user << "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later."
+ to_chat(user, "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.")
being_used = 0
..()
@@ -216,17 +216,17 @@
if(prompted || !ismob(M))
return
if(!isanimal(M) || M.ckey) //much like sentience, these will not work on something that is already player controlled
- user << "[M] already has a higher consciousness!"
+ to_chat(user, "[M] already has a higher consciousness!")
return ..()
if(M.stat)
- user << "[M] is dead!"
+ to_chat(user, "[M] is dead!")
return ..()
var/mob/living/simple_animal/SM = M
if(SM.sentience_type != animal_type)
- user << "You cannot transfer your consciousness to [SM]." //no controlling machines
+ to_chat(user, "You cannot transfer your consciousness to [SM]." )
return ..()
if(jobban_isbanned(user, ROLE_ALIEN)) //ideally sentience and trasnference potions should be their own unique role.
- user << "Your mind goes blank as you attempt to use the potion."
+ to_chat(user, "Your mind goes blank as you attempt to use the potion.")
return
prompted = 1
@@ -234,7 +234,7 @@
prompted = 0
return
- user << "You drink the potion then place your hands on [SM]..."
+ to_chat(user, "You drink the potion then place your hands on [SM]...")
user.mind.transfer_to(SM)
@@ -243,8 +243,8 @@
SM.faction = user.faction.Copy()
SM.sentience_act() //Same deal here as with sentience
user.death()
- SM << "In a quick flash, you feel your consciousness flow into [SM]!"
- SM << "You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!"
+ to_chat(SM, "In a quick flash, you feel your consciousness flow into [SM]!")
+ to_chat(SM, "You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!")
SM.name = "[SM.name] as [user.real_name]"
qdel(src)
@@ -256,13 +256,13 @@
/obj/item/slimepotion/steroid/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))//If target is not a slime.
- user << "The steroid only works on baby slimes!"
+ to_chat(user, "The steroid only works on baby slimes!")
return ..()
if(M.is_adult) //Can't steroidify adults
- user << "Only baby slimes can use the steroid!"
+ to_chat(user, "Only baby slimes can use the steroid!")
return ..()
if(M.stat)
- user << "The slime is dead!"
+ to_chat(user, "The slime is dead!")
return ..()
if(M.cores >= 5)
user <<"The slime already has the maximum amount of extract!"
@@ -286,10 +286,10 @@
/obj/item/slimepotion/stabilizer/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- user << "The stabilizer only works on slimes!"
+ to_chat(user, "The stabilizer only works on slimes!")
return ..()
if(M.stat)
- user << "The slime is dead!"
+ to_chat(user, "The slime is dead!")
return ..()
if(M.mutation_chance == 0)
user <<"The slime already has no chance of mutating!"
@@ -307,13 +307,13 @@
/obj/item/slimepotion/mutator/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- user << "The mutator only works on slimes!"
+ to_chat(user, "The mutator only works on slimes!")
return ..()
if(M.stat)
- user << "The slime is dead!"
+ to_chat(user, "The slime is dead!")
return ..()
if(M.mutator_used)
- user << "This slime has already consumed a mutator, any more would be far too unstable!"
+ to_chat(user, "This slime has already consumed a mutator, any more would be far too unstable!")
return ..()
if(M.mutation_chance == 100)
user <<"The slime is already guaranteed to mutate!"
@@ -334,12 +334,12 @@
/obj/item/slimepotion/speed/afterattack(obj/C, mob/user)
..()
if(!istype(C))
- user << "The potion can only be used on items or vehicles!"
+ to_chat(user, "The potion can only be used on items or vehicles!")
return
if(istype(C, /obj/item))
var/obj/item/I = C
if(I.slowdown <= 0)
- user << "The [C] can't be made any faster!"
+ to_chat(user, "The [C] can't be made any faster!")
return ..()
I.slowdown = 0
@@ -348,7 +348,7 @@
var/datum/riding/R = V.riding_datum
if(V.riding_datum)
if(R.vehicle_move_delay <= 0 )
- user << "The [C] can't be made any faster!"
+ to_chat(user, "The [C] can't be made any faster!")
return ..()
R.vehicle_move_delay = 0
@@ -372,10 +372,10 @@
qdel(src)
return
if(!istype(C))
- user << "The potion can only be used on clothing!"
+ to_chat(user, "The potion can only be used on clothing!")
return
if(C.max_heat_protection_temperature == FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT)
- user << "The [C] is already fireproof!"
+ to_chat(user, "The [C] is already fireproof!")
return ..()
user <<"You slather the blue gunk over the [C], fireproofing it."
C.name = "fireproofed [C.name]"
@@ -396,11 +396,11 @@
/obj/item/slimepotion/genderchange/attack(mob/living/L, mob/user)
if(!istype(L) || L.stat == DEAD)
- user << "The potion can only be used on living things!"
+ to_chat(user, "The potion can only be used on living things!")
return
if(L.gender != MALE && L.gender != FEMALE)
- user << "The potion can only be used on gendered things!"
+ to_chat(user, "The potion can only be used on gendered things!")
return
if(L.gender == MALE)
@@ -518,7 +518,7 @@
ghost = O
break
if(!ghost)
- user << "The rune fizzles uselessly! There is no spirit nearby."
+ to_chat(user, "The rune fizzles uselessly! There is no spirit nearby.")
return
var/mob/living/carbon/human/G = new /mob/living/carbon/human
G.set_species(/datum/species/golem/adamantine)
@@ -529,8 +529,8 @@
G.dna.species.auto_equip(G)
G.loc = src.loc
G.key = ghost.key
- G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. \
- Serve [user], and assist [user.p_them()] in completing their goals at any cost."
+ to_chat(G, "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. \
+ Serve [user], and assist [user.p_them()] in completing their goals at any cost.")
G.mind.store_memory("Serve [user.real_name], your creator.")
G.mind.enslave_mind_to_creator(user)
diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm
index 8276287565d..887e569d6d8 100644
--- a/code/modules/ruins/lavaland_ruin_code.dm
+++ b/code/modules/ruins/lavaland_ruin_code.dm
@@ -100,13 +100,13 @@
if(species)
if(O.use(10))
- user << "You finish up the golem shell with ten sheets of [O]."
+ to_chat(user, "You finish up the golem shell with ten sheets of [O].")
new shell_type(get_turf(src), species, has_owner, user)
qdel(src)
else
- user << "You need at least ten sheets to finish a golem."
+ to_chat(user, "You need at least ten sheets to finish a golem.")
else
- user << "You can't build a golem out of this kind of material."
+ to_chat(user, "You can't build a golem out of this kind of material.")
//made with xenobiology, the golem obeys its creator
/obj/item/golem_shell/artificial
@@ -132,7 +132,7 @@
has_id = 1
flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunatley, your hated enemy, Nanotrasen, has begun mining in this sector. Continue your research as best you can, and try to keep a low profile. Do not abandon the base without good cause. The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!"
id_access_list = list(access_syndicate)
-
+
/obj/effect/mob_spawn/human/lavaland_syndicate/comms
name = "Syndicate Comms Agent"
r_hand = /obj/item/weapon/melee/energy/sword/saber
diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
index 17a4e059558..86e9afe4205 100644
--- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
+++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
@@ -28,7 +28,7 @@
is_anyone_home = TRUE
sleep(50)
if(boss)
- user << "There's no response."
+ to_chat(user, "There's no response.")
is_anyone_home = FALSE
return 0
boss = TRUE
@@ -44,7 +44,7 @@
log_game("[key_name(user)] summoned Legion.")
for(var/mob/M in player_list)
if(M.z == z)
- M << "Discordant whispers flood your mind in a thousand voices. Each one speaks your name, over and over. Something horrible has come."
+ to_chat(M, "Discordant whispers flood your mind in a thousand voices. Each one speaks your name, over and over. Something horrible has come.")
M << 'sound/creatures/legion_spawn.ogg'
flash_color(M, flash_color = "#FF0000", flash_time = 50)
var/image/door_overlay = image('icons/effects/effects.dmi', "legiondoor")
diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
index a5d7a88afbb..fc23f921771 100644
--- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm
+++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
@@ -17,7 +17,7 @@
in_use = TRUE
user.adjustCloneLoss(20)
if(user.stat)
- user << "No... just one more try..."
+ to_chat(user, "No... just one more try...")
user.gib()
else
user.visible_message("[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!", "You feel a draining as you pull the lever, but you \
@@ -31,11 +31,11 @@
playsound(src, 'sound/lavaland/cursed_slot_machine_jackpot.ogg', 50, 0)
new/obj/structure/cursed_money(get_turf(src))
if(user)
- user << "You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place."
+ to_chat(user, "You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place.")
qdel(src)
else
if(user)
- user << "Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?"
+ to_chat(user, "Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?")
/obj/structure/cursed_money
name = "bag of money"
@@ -85,7 +85,7 @@
H.visible_message("[H] pushes through [src]!", "You've seen and eaten worse than this.")
return 1
else
- H << "You're repulsed by even looking at [src]. Only a pig could force themselves to go through it."
+ to_chat(H, "You're repulsed by even looking at [src]. Only a pig could force themselves to go through it.")
else
return 0
diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm
index 77609af73dc..389330867b9 100644
--- a/code/modules/security_levels/keycard_authentication.dm
+++ b/code/modules/security_levels/keycard_authentication.dm
@@ -46,7 +46,7 @@ var/datum/events/keycard_events = new()
if(isanimal(user))
var/mob/living/simple_animal/A = user
if(!A.dextrous)
- user << "You are too primitive to use this device!"
+ to_chat(user, "You are too primitive to use this device!")
return UI_CLOSE
return ..()
diff --git a/code/modules/shuttle/assault_pod.dm b/code/modules/shuttle/assault_pod.dm
index d66bd8e3b54..0e18c4cdc52 100644
--- a/code/modules/shuttle/assault_pod.dm
+++ b/code/modules/shuttle/assault_pod.dm
@@ -53,6 +53,6 @@
if(S.shuttleId == shuttle_id)
S.possible_destinations = "[landing_zone.id]"
- user << "Landing zone set."
+ to_chat(user, "Landing zone set.")
qdel(src)
diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm
index 3fabbebe51d..0033f380d17 100644
--- a/code/modules/shuttle/computer.dm
+++ b/code/modules/shuttle/computer.dm
@@ -51,29 +51,29 @@
usr.set_machine(src)
src.add_fingerprint(usr)
if(!allowed(usr))
- usr << "Access denied."
+ to_chat(usr, "Access denied.")
return
if(href_list["move"])
var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId)
if(M.launch_status == ENDGAME_LAUNCHED)
- usr << "You've already escaped. Never going back to that place again!"
+ to_chat(usr, "You've already escaped. Never going back to that place again!")
return
if(no_destination_swap)
if(M.mode != SHUTTLE_IDLE)
- usr << "Shuttle already in transit."
+ to_chat(usr, "Shuttle already in transit.")
return
switch(SSshuttle.moveShuttle(shuttleId, href_list["move"], 1))
if(0)
say("Shuttle departing. Please stand away from the doors.")
if(1)
- usr << "Invalid shuttle requested."
+ to_chat(usr, "Invalid shuttle requested.")
else
- usr << "Unable to comply."
+ to_chat(usr, "Unable to comply.")
/obj/machinery/computer/shuttle/emag_act(mob/user)
if(!emagged)
src.req_access = list()
emagged = 1
- user << "You fried the consoles ID checking system."
+ to_chat(user, "You fried the consoles ID checking system.")
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index f86db39d444..02b6d293e1d 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -60,12 +60,11 @@
var/obj/item/weapon/card/id/ID = user.get_idcard()
if(!ID)
- user << "You don't have an ID."
+ to_chat(user, "You don't have an ID.")
return
if(!(access_heads in ID.access))
- user << "The access level of \
- your card is not high enough."
+ to_chat(user, "The access level of your card is not high enough.")
return
var/old_len = authorized.len
@@ -137,7 +136,7 @@
return
if(emagged || ENGINES_STARTED) //SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LAUNCH IN 10 SECONDS
- user << "The shuttle is already about to launch!"
+ to_chat(user, "The shuttle is already about to launch!")
return
var/time = TIME_LEFT
@@ -396,7 +395,7 @@
launch_status = EARLY_LAUNCHED
return ..()
else
- usr << "Escape pods will only launch during \"Code Red\" security alert."
+ to_chat(usr, "Escape pods will only launch during \"Code Red\" security alert.")
return 1
/obj/docking_port/mobile/pod/New()
@@ -424,7 +423,7 @@
/obj/machinery/computer/shuttle/pod/emag_act(mob/user)
if(!emagged)
emagged = TRUE
- user << "You fry the pod's alert level checking system."
+ to_chat(user, "You fry the pod's alert level checking system.")
/obj/docking_port/stationary/random
name = "escape pod"
@@ -500,7 +499,7 @@
if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA || unlocked)
. = ..()
else
- usr << "The storage unit will only unlock during a Red or Delta security alert."
+ to_chat(usr, "The storage unit will only unlock during a Red or Delta security alert.")
/obj/item/weapon/storage/pod/attack_hand(mob/user)
return MouseDrop(user)
diff --git a/code/modules/shuttle/ferry.dm b/code/modules/shuttle/ferry.dm
index 525a34e10c8..c9d73759e60 100644
--- a/code/modules/shuttle/ferry.dm
+++ b/code/modules/shuttle/ferry.dm
@@ -29,5 +29,5 @@
if(last_request && (last_request + cooldown > world.time))
return
last_request = world.time
- usr << "Your request has been recieved by Centcom."
- admins << "FERRY: [key_name_admin(usr)] (?) (FLW) (Move Ferry) is requesting to move the transport ferry to Centcom."
+ to_chat(usr, "Your request has been recieved by Centcom.")
+ to_chat(admins, "FERRY: [key_name_admin(usr)] (?) (FLW) (Move Ferry) is requesting to move the transport ferry to Centcom.")
diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm
index 8a674b97c5d..650de473283 100644
--- a/code/modules/shuttle/special.dm
+++ b/code/modules/shuttle/special.dm
@@ -126,9 +126,7 @@
/obj/structure/table/abductor/wabbajack/proc/sleeper_dreams(mob/living/sleeper)
if(sleeper in sleepers)
- sleeper << "While you slumber, you have \
- the strangest dream, like you can see yourself from the outside.\
- "
+ to_chat(sleeper, "While you slumber, you have the strangest dream, like you can see yourself from the outside.")
sleeper.ghostize(TRUE)
/obj/structure/table/abductor/wabbajack/left
@@ -198,7 +196,7 @@
var/throwtarget = get_edge_target_turf(src, boot_dir)
M.Weaken(2)
M.throw_at(throwtarget, 5, 1,src)
- M << "No climbing on the bar please."
+ to_chat(M, "No climbing on the bar please.")
else
. = ..()
@@ -248,11 +246,11 @@
for(var/obj/I in counted_money)
qdel(I)
- mover << "Thank you for your payment! Please enjoy your flight."
+ to_chat(mover, "Thank you for your payment! Please enjoy your flight.")
approved_passengers += mover
return 1
else
- mover << "You don't have enough money to enter the main shuttle. You'll have to fly coach."
+ to_chat(mover, "You don't have enough money to enter the main shuttle. You'll have to fly coach.")
return 0
/mob/living/simple_animal/hostile/bear/fightpit
diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm
index 86b80e53ce2..c7c126b0cb6 100644
--- a/code/modules/shuttle/syndicate.dm
+++ b/code/modules/shuttle/syndicate.dm
@@ -20,7 +20,7 @@
if(href_list["move"])
var/obj/item/weapon/circuitboard/computer/syndicate_shuttle/board = circuit
if(board.challenge && world.time < SYNDICATE_CHALLENGE_TIMER)
- usr << "You've issued a combat challenge to the station! You've got to give them at least [round(((SYNDICATE_CHALLENGE_TIMER - world.time) / 10) / 60)] more minutes to allow them to prepare."
+ to_chat(usr, "You've issued a combat challenge to the station! You've got to give them at least [round(((SYNDICATE_CHALLENGE_TIMER - world.time) / 10) / 60)] more minutes to allow them to prepare.")
return 0
board.moved = TRUE
..()
@@ -52,7 +52,7 @@
/obj/machinery/computer/shuttle/syndicate/drop_pod/Topic(href, href_list)
if(href_list["move"])
if(z != ZLEVEL_CENTCOM)
- usr << "Pods are one way!"
+ to_chat(usr, "Pods are one way!")
return 0
..()
diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm
index f731fadd6bc..30be8437a85 100644
--- a/code/modules/spells/spell.dm
+++ b/code/modules/spells/spell.dm
@@ -18,7 +18,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
/obj/effect/proc_holder/proc/InterceptClickOn(mob/living/caller, params, atom/A)
if(caller.ranged_ability != src || ranged_ability_user != caller) //I'm not actually sure how these would trigger, but, uh, safety, I guess?
- caller << "[caller.ranged_ability.name] has been disabled."
+ to_chat(caller, "[caller.ranged_ability.name] has been disabled.")
caller.ranged_ability.remove_ranged_ability()
return TRUE //TRUE for failed, FALSE for passed.
if(ranged_clickcd_override >= 0)
@@ -33,7 +33,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
return
if(user.ranged_ability && user.ranged_ability != src)
if(forced)
- user << "[user.ranged_ability.name] has been replaced by [name]."
+ to_chat(user, "[user.ranged_ability.name] has been replaced by [name].")
user.ranged_ability.remove_ranged_ability()
else
return
@@ -42,7 +42,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
add_mousepointer(user.client)
ranged_ability_user = user
if(msg)
- ranged_ability_user << msg
+ to_chat(ranged_ability_user, msg)
active = TRUE
update_icon()
@@ -61,7 +61,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
ranged_ability_user.client.click_intercept = null
remove_mousepointer(ranged_ability_user.client)
if(msg)
- ranged_ability_user << msg
+ to_chat(ranged_ability_user, msg)
ranged_ability_user = null
active = FALSE
update_icon()
@@ -126,7 +126,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(player_lock)
if(!user.mind || !(src in user.mind.spell_list) && !(src in user.mob_spell_list))
- user << "You shouldn't have this spell! Something's wrong."
+ to_chat(user, "You shouldn't have this spell! Something's wrong.")
return 0
else
if(!(src in user.mob_spell_list))
@@ -134,26 +134,26 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
var/turf/T = get_turf(user)
if(T.z == ZLEVEL_CENTCOM && (!centcom_cancast || ticker.mode.name == "ragin' mages")) //Certain spells are not allowed on the centcom zlevel
- user << "You can't cast this spell here."
+ to_chat(user, "You can't cast this spell here.")
return 0
if(!skipcharge)
switch(charge_type)
if("recharge")
if(charge_counter < charge_max)
- user << still_recharging_msg
+ to_chat(user, still_recharging_msg)
return 0
if("charges")
if(!charge_counter)
- user << "[name] has no charges left."
+ to_chat(user, "[name] has no charges left.")
return 0
if(user.stat && !stat_allowed)
- user << "Not when you're incapacitated."
+ to_chat(user, "Not when you're incapacitated.")
return 0
if(!phase_allowed && istype(user.loc, /obj/effect/dummy))
- user << "[name] cannot be cast unless you are completely manifested in the material plane."
+ to_chat(user, "[name] cannot be cast unless you are completely manifested in the material plane.")
return 0
if(ishuman(user))
@@ -161,7 +161,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
var/mob/living/carbon/human/H = user
if((invocation_type == "whisper" || invocation_type == "shout") && H.is_muzzled())
- user << "You can't get the words out!"
+ to_chat(user, "You can't get the words out!")
return 0
var/list/casting_clothes = typecacheof(list(/obj/item/clothing/suit/wizrobe,
@@ -173,24 +173,24 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
if(clothes_req) //clothes check
if(!is_type_in_typecache(H.wear_suit, casting_clothes))
- H << "I don't feel strong enough without my robe."
+ to_chat(H, "I don't feel strong enough without my robe.")
return 0
if(!is_type_in_typecache(H.head, casting_clothes))
- H << "I don't feel strong enough without my hat."
+ to_chat(H, "I don't feel strong enough without my hat.")
return 0
if(cult_req) //CULT_REQ CLOTHES CHECK
if(!istype(H.wear_suit, /obj/item/clothing/suit/magusred) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/cult))
- H << "I don't feel strong enough without my armor."
+ to_chat(H, "I don't feel strong enough without my armor.")
return 0
if(!istype(H.head, /obj/item/clothing/head/magus) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/cult))
- H << "I don't feel strong enough without my helmet."
+ to_chat(H, "I don't feel strong enough without my helmet.")
return 0
else
if(clothes_req || human_req)
- user << "This spell can only be cast by humans!"
+ to_chat(user, "This spell can only be cast by humans!")
return 0
if(nonabstract_req && (isbrain(user) || ispAI(user)))
- user << "This spell can only be cast by physical beings!"
+ to_chat(user, "This spell can only be cast by physical beings!")
return 0
@@ -290,7 +290,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
else if(isturf(target))
location = target
if(isliving(target) && message)
- target << text("[message]")
+ to_chat(target, text("[message]"))
if(sparks_spread)
var/datum/effect_system/spark_spread/sparks = new
sparks.set_up(sparks_amt, 0, location) //no idea what the 0 is
diff --git a/code/modules/spells/spell_types/barnyard.dm b/code/modules/spells/spell_types/barnyard.dm
index c866342355b..b8dd330a668 100644
--- a/code/modules/spells/spell_types/barnyard.dm
+++ b/code/modules/spells/spell_types/barnyard.dm
@@ -18,17 +18,17 @@
/obj/effect/proc_holder/spell/targeted/barnyardcurse/cast(list/targets, mob/user = usr)
if(!targets.len)
- user << "No target found in range."
+ to_chat(user, "No target found in range.")
return
var/mob/living/carbon/target = targets[1]
if(!(target.type in compatible_mobs))
- user << "You are unable to curse [target]'s head!"
+ to_chat(user, "You are unable to curse [target]'s head!")
return
if(!(target in oview(range)))
- user << "They are too far away!"
+ to_chat(user, "They are too far away!")
return
var/list/masks = list(/obj/item/clothing/mask/spig, /obj/item/clothing/mask/cowmask, /obj/item/clothing/mask/horsehead)
diff --git a/code/modules/spells/spell_types/bloodcrawl.dm b/code/modules/spells/spell_types/bloodcrawl.dm
index fc33166531a..d7c5221e3dc 100644
--- a/code/modules/spells/spell_types/bloodcrawl.dm
+++ b/code/modules/spells/spell_types/bloodcrawl.dm
@@ -19,7 +19,7 @@
perform(target)
return
revert_cast()
- user << "There must be a nearby source of blood!"
+ to_chat(user, "There must be a nearby source of blood!")
/obj/effect/proc_holder/spell/bloodcrawl/perform(obj/effect/decal/cleanable/target, recharge = 1, mob/living/user = usr)
if(istype(user))
@@ -32,4 +32,4 @@
start_recharge()
return
revert_cast()
- user << "You are unable to blood crawl!"
+ to_chat(user, "You are unable to blood crawl!")
diff --git a/code/modules/spells/spell_types/charge.dm b/code/modules/spells/spell_types/charge.dm
index e02bf29edac..32bdf54a311 100644
--- a/code/modules/spells/spell_types/charge.dm
+++ b/code/modules/spells/spell_types/charge.dm
@@ -44,8 +44,8 @@
charged_item = I
break
else
- L << "Glowing red letters appear on the front cover..."
- L << "[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]"
+ to_chat(L, "Glowing red letters appear on the front cover...")
+ to_chat(L, "[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]")
burnt_out = 1
else if(istype(item, /obj/item/weapon/gun/magic))
var/obj/item/weapon/gun/magic/I = item
@@ -91,9 +91,9 @@
charged_item = item
break
if(!charged_item)
- L << "You feel magical power surging through your hands, but the feeling rapidly fades..."
+ to_chat(L, "You feel magical power surging through your hands, but the feeling rapidly fades...")
else if(burnt_out)
- L << "[charged_item] doesn't seem to be reacting to the spell..."
+ to_chat(L, "[charged_item] doesn't seem to be reacting to the spell...")
else
playsound(get_turf(L), 'sound/magic/Charge.ogg', 50, 1)
- L << "[charged_item] suddenly feels very warm!"
+ to_chat(L, "[charged_item] suddenly feels very warm!")
diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm
index 38c2095acd3..c37718a8b1e 100644
--- a/code/modules/spells/spell_types/devil.dm
+++ b/code/modules/spells/spell_types/devil.dm
@@ -66,7 +66,7 @@
contract = new /obj/item/weapon/paper/contract/infernal/knowledge(C.loc, C.mind, user.mind)
C.put_in_hands(contract)
else
- user << "[C] seems to not be sentient. You cannot summon a contract for [C.p_them()]."
+ to_chat(user, "[C] seems to not be sentient. You cannot summon a contract for [C.p_them()].")
/obj/effect/proc_holder/spell/aimed/fireball/hellish
@@ -110,21 +110,21 @@
continuing = 1
break
if(continuing)
- user << "You are now phasing in."
+ to_chat(user, "You are now phasing in.")
if(do_mob(user,user,150))
user.infernalphasein()
else
- user << "You can only re-appear near a potential signer."
+ to_chat(user, "You can only re-appear near a potential signer.")
revert_cast()
return ..()
else
user.notransform = 1
user.fakefire()
- src << "You begin to phase back into sinful flames."
+ to_chat(src, "You begin to phase back into sinful flames.")
if(do_mob(user,user,150))
user.infernalphaseout()
else
- user << "You must remain still while exiting."
+ to_chat(user, "You must remain still while exiting.")
user.ExtinguishMob()
start_recharge()
return
@@ -153,7 +153,7 @@
/mob/living/proc/infernalphasein()
if(src.notransform)
- src << "You're too busy to jaunt in."
+ to_chat(src, "You're too busy to jaunt in.")
return 0
fakefire()
src.loc = get_turf(src)
diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm
index 35890eaa1e1..b5662909b35 100644
--- a/code/modules/spells/spell_types/ethereal_jaunt.dm
+++ b/code/modules/spells/spell_types/ethereal_jaunt.dm
@@ -92,7 +92,7 @@
if(!(newLoc.flags & NOJAUNT))
loc = newLoc
else
- user << "Some strange aura is blocking the way!"
+ to_chat(user, "Some strange aura is blocking the way!")
src.canmove = 0
spawn(2) src.canmove = 1
diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm
index 6d4b248bc5b..c1d9707ce43 100644
--- a/code/modules/spells/spell_types/godhand.dm
+++ b/code/modules/spells/spell_types/godhand.dm
@@ -22,7 +22,7 @@
if(!iscarbon(user)) //Look ma, no hands
return
if(user.lying || user.handcuffed)
- user << "You can't reach out!"
+ to_chat(user, "You can't reach out!")
return
..()
@@ -68,7 +68,7 @@
if(!proximity || target == user || !isliving(target) || !iscarbon(user) || user.lying || user.handcuffed) //getting hard after touching yourself would also be bad
return
if(user.lying || user.handcuffed)
- user << "You can't reach out!"
+ to_chat(user, "You can't reach out!")
return
var/mob/living/M = target
M.Stun(2)
diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm
index 5844698c97f..3058051fdc9 100644
--- a/code/modules/spells/spell_types/lichdom.dm
+++ b/code/modules/spells/spell_types/lichdom.dm
@@ -51,19 +51,19 @@
if(stat_allowed) //Death is not my end!
if(M.stat == CONSCIOUS && iscarbon(M))
- M << "You aren't dead enough to revive!" //Usually a good problem to have
+ to_chat(M, "You aren't dead enough to revive!" )
charge_counter = charge_max
return
if(!marked_item || QDELETED(marked_item)) //Wait nevermind
- M << "Your phylactery is gone!"
+ to_chat(M, "Your phylactery is gone!")
return
var/turf/user_turf = get_turf(M)
var/turf/item_turf = get_turf(marked_item)
if(user_turf.z != item_turf.z)
- M << "Your phylactery is out of range!"
+ to_chat(M, "Your phylactery is out of range!")
return
if(isobserver(M))
@@ -80,7 +80,7 @@
lich.real_name = M.mind.name
M.mind.transfer_to(lich)
lich.hardset_dna(null,null,lich.real_name,null,/datum/species/skeleton)
- lich << "Your bones clatter and shutter as you are pulled back into this world!"
+ to_chat(lich, "Your bones clatter and shutter as you are pulled back into this world!")
charge_max += 600
var/mob/old_body = current_body
var/turf/body_turf = get_turf(old_body)
@@ -108,14 +108,14 @@
if(ABSTRACT in item.flags || NODROP in item.flags)
continue
marked_item = item
- M << "You begin to focus your very being into the [item.name]..."
+ to_chat(M, "You begin to focus your very being into the [item.name]...")
break
if(!marked_item)
- M << "You must hold an item you wish to make your phylactery..."
+ to_chat(M, "You must hold an item you wish to make your phylactery...")
return
if(!do_after(M, 50, needhand=FALSE, target=marked_item))
- M << "Your soul snaps back to your body as you stop ensouling [marked_item.name]!"
+ to_chat(M, "Your soul snaps back to your body as you stop ensouling [marked_item.name]!")
marked_item = null
return
@@ -129,7 +129,7 @@
marked_item.add_atom_colour("#003300", ADMIN_COLOUR_PRIORITY)
poi_list |= marked_item
- M << "With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!"
+ to_chat(M, "With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!")
M.set_species(/datum/species/skeleton)
current_body = M.mind.current
if(ishuman(M))
diff --git a/code/modules/spells/spell_types/lightning.dm b/code/modules/spells/spell_types/lightning.dm
index 78328e5d2cf..4f469b61b2a 100644
--- a/code/modules/spells/spell_types/lightning.dm
+++ b/code/modules/spells/spell_types/lightning.dm
@@ -23,7 +23,7 @@
/obj/effect/proc_holder/spell/targeted/tesla/proc/StartChargeup(mob/user = usr)
ready = 1
- user << "You start gathering the power."
+ to_chat(user, "You start gathering the power.")
Snd = new/sound('sound/magic/lightning_chargeup.ogg',channel = 7)
halo = image("icon"='icons/effects/effects.dmi',"icon_state" ="electricity","layer" = EFFECTS_LAYER)
user.add_overlay(halo)
@@ -43,7 +43,7 @@
/obj/effect/proc_holder/spell/targeted/tesla/revert_cast(mob/user = usr, message = 1)
if(message)
- user << "No target found in range."
+ to_chat(user, "No target found in range.")
Reset(user)
..()
@@ -53,7 +53,7 @@
Snd=sound(null, repeat = 0, wait = 1, channel = Snd.channel) //byond, why you suck?
playsound(get_turf(user),Snd,50,0)// Sorry MrPerson, but the other ways just didn't do it the way i needed to work, this is the only way.
if(get_dist(user,target)>range)
- user << "They are too far away!"
+ to_chat(user, "They are too far away!")
Reset(user)
return
diff --git a/code/modules/spells/spell_types/mime.dm b/code/modules/spells/spell_types/mime.dm
index 44d5fa55ef9..eaece53bb00 100644
--- a/code/modules/spells/spell_types/mime.dm
+++ b/code/modules/spells/spell_types/mime.dm
@@ -19,7 +19,7 @@
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall/Click()
if(usr && usr.mind)
if(!usr.mind.miming)
- usr << "You must dedicate yourself to silence first."
+ to_chat(usr, "You must dedicate yourself to silence first.")
return
invocation = "[usr.real_name] looks as if a wall is in front of [usr.p_them()]."
else
@@ -57,9 +57,9 @@
for(var/mob/living/carbon/human/H in targets)
H.mind.miming=!H.mind.miming
if(H.mind.miming)
- H << "You make a vow of silence."
+ to_chat(H, "You make a vow of silence.")
else
- H << "You break your vow of silence."
+ to_chat(H, "You break your vow of silence.")
// These spells can only be gotten from the "Guide for Advanced Mimery series+" for Mime Traitors.
@@ -81,7 +81,7 @@
/obj/effect/proc_holder/spell/targeted/forcewall/mime/Click()
if(usr && usr.mind)
if(!usr.mind.miming)
- usr << "You must dedicate yourself to silence first."
+ to_chat(usr, "You must dedicate yourself to silence first.")
return
invocation = "[usr.real_name] looks as if a blockade is in front of [usr.p_them()]."
else
@@ -112,11 +112,11 @@
/obj/effect/proc_holder/spell/aimed/finger_guns/Click()
var/mob/living/carbon/human/owner = usr
if(owner.incapacitated())
- owner << "You can't properly point your fingers while incapacitated."
+ to_chat(owner, "You can't properly point your fingers while incapacitated.")
return
if(usr && usr.mind)
if(!usr.mind.miming)
- usr << "You must dedicate yourself to silence first."
+ to_chat(usr, "You must dedicate yourself to silence first.")
return
invocation = "[usr.real_name] fires [usr.p_their()] finger gun!"
else
diff --git a/code/modules/spells/spell_types/mind_transfer.dm b/code/modules/spells/spell_types/mind_transfer.dm
index 6068af33026..b41c099d7fc 100644
--- a/code/modules/spells/spell_types/mind_transfer.dm
+++ b/code/modules/spells/spell_types/mind_transfer.dm
@@ -22,11 +22,11 @@ Also, you never added distance checking after target is selected. I've went ahea
*/
/obj/effect/proc_holder/spell/targeted/mind_transfer/cast(list/targets, mob/user = usr, distanceoverride)
if(!targets.len)
- user << "No mind found!"
+ to_chat(user, "No mind found!")
return
if(targets.len > 1)
- user << "Too many minds! You're not a hive damnit!"//Whaa...aat?
+ to_chat(user, "Too many minds! You're not a hive damnit!")
return
var/mob/living/target = targets[1]
@@ -35,27 +35,27 @@ Also, you never added distance checking after target is selected. I've went ahea
var/t_is = target.p_are()
if(!(target in oview(range)) && !distanceoverride)//If they are not in overview after selection. Do note that !() is necessary for in to work because ! takes precedence over it.
- user << "[t_He] [t_is] too far away!"
+ to_chat(user, "[t_He] [t_is] too far away!")
return
if(ismegafauna(target))
- user << "This creature is too powerful to control!"
+ to_chat(user, "This creature is too powerful to control!")
return
if(target.stat == DEAD)
- user << "You don't particularly want to be dead!"
+ to_chat(user, "You don't particularly want to be dead!")
return
if(!target.key || !target.mind)
- user << "[t_He] appear[target.p_s()] to be catatonic! Not even magic can affect [target.p_their()] vacant mind."
+ to_chat(user, "[t_He] appear[target.p_s()] to be catatonic! Not even magic can affect [target.p_their()] vacant mind.")
return
if(user.suiciding)
- user << "You're killing yourself! You can't concentrate enough to do this!"
+ to_chat(user, "You're killing yourself! You can't concentrate enough to do this!")
return
if((target.mind.special_role in protected_roles) || cmptext(copytext(target.key,1,2),"@"))
- user << "[target.p_their(TRUE)] mind is resisting your spell!"
+ to_chat(user, "[target.p_their(TRUE)] mind is resisting your spell!")
return
var/mob/living/victim = target//The target of the spell whos body will be transferred to.
diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm
index 4b327ea4495..38746651c14 100644
--- a/code/modules/spells/spell_types/rightandwrong.dm
+++ b/code/modules/spells/spell_types/rightandwrong.dm
@@ -6,7 +6,7 @@
var/list/magicspeciallist = list("staffchange","staffanimation", "wandbelt", "contract", "staffchaos", "necromantic", "bloodcontract")
if(user) //in this case either someone holding a spellbook or a badmin
- user << "You summoned [summon_type ? "magic" : "guns"]!"
+ to_chat(user, "You summoned [summon_type ? "magic" : "guns"]!")
message_admins("[key_name_admin(user, 1)] summoned [summon_type ? "magic" : "guns"]!")
log_game("[key_name(user)] summoned [summon_type ? "magic" : "guns"]!")
for(var/mob/living/carbon/human/H in player_list)
@@ -20,13 +20,13 @@
guns.owner = H.mind
H.mind.objectives += guns
H.mind.special_role = "survivalist"
- H << "You are the survivalist! Your own safety matters above all else, and the only way to ensure your safety is to stockpile weapons! Grab as many guns as possible, by any means necessary. Kill anyone who gets in your way."
+ to_chat(H, "You are the survivalist! Your own safety matters above all else, and the only way to ensure your safety is to stockpile weapons! Grab as many guns as possible, by any means necessary. Kill anyone who gets in your way.")
else
var/datum/objective/steal_five_of_type/summon_magic/magic = new
magic.owner = H.mind
H.mind.objectives += magic
H.mind.special_role = "amateur magician"
- H << "You are the amateur magician! Grow your newfound talent! Grab as many magical artefacts as possible, by any means necessary. Kill anyone who gets in your way."
+ to_chat(H, "You are the amateur magician! Grow your newfound talent! Grab as many magical artefacts as possible, by any means necessary. Kill anyone who gets in your way.")
var/datum/objective/survive/survive = new
survive.owner = H.mind
H.mind.objectives += survive
@@ -170,7 +170,7 @@
new /obj/item/weapon/scrying(get_turf(H))
if (!(H.dna.check_mutation(XRAY)))
H.dna.add_mutation(XRAY)
- H << "The walls suddenly disappear."
+ to_chat(H, "The walls suddenly disappear.")
if("voodoo")
new /obj/item/voodoo(get_turf(H))
if("whistle")
@@ -198,7 +198,7 @@
new /obj/item/device/necromantic_stone(get_turf(H))
if("bloodcontract")
new /obj/item/blood_contract(get_turf(H))
- H << "You suddenly feel lucky."
+ to_chat(H, "You suddenly feel lucky.")
playsound(get_turf(H),'sound/magic/Summon_Magic.ogg', 50, 1)
diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm
index 0d485d687cb..456d98c7fcd 100644
--- a/code/modules/spells/spell_types/shapeshift.dm
+++ b/code/modules/spells/spell_types/shapeshift.dm
@@ -39,7 +39,7 @@
/obj/effect/proc_holder/spell/targeted/shapeshift/proc/Shapeshift(mob/living/caster)
for(var/mob/living/M in caster)
if(M.status_flags & GODMODE)
- caster << "You're already shapeshifted!"
+ to_chat(caster, "You're already shapeshifted!")
return
var/mob/living/shape = new shapeshift_type(caster.loc)
diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm
index 10dee3efddd..b2a5aaf697c 100644
--- a/code/modules/spells/spell_types/summonitem.dm
+++ b/code/modules/spells/spell_types/summonitem.dm
@@ -80,7 +80,7 @@
var/obj/item/bodypart/part = X
if(item_to_retrieve in part.embedded_objects)
part.embedded_objects -= item_to_retrieve
- C << "The [item_to_retrieve] that was embedded in your [L] has myseriously vanished. How fortunate!"
+ to_chat(C, "The [item_to_retrieve] that was embedded in your [L] has myseriously vanished. How fortunate!")
if(!C.has_embedded_objects())
C.clear_alert("embeddedobject")
break
@@ -110,4 +110,4 @@
if(message)
- L << message
+ to_chat(L, message)
diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm
index 85e27e599ba..1baf51826d3 100644
--- a/code/modules/spells/spell_types/touch_attacks.dm
+++ b/code/modules/spells/spell_types/touch_attacks.dm
@@ -10,7 +10,7 @@
qdel(attached_hand)
charge_counter = charge_max
attached_hand = null
- user << "You draw the power out of your hand."
+ to_chat(user, "You draw the power out of your hand.")
return 0
..()
@@ -29,9 +29,9 @@
qdel(attached_hand)
charge_counter = charge_max
attached_hand = null
- user << "Your hands are full!"
+ to_chat(user, "Your hands are full!")
return 0
- user << "You channel the power of the spell to your hand."
+ to_chat(user, "You channel the power of the spell to your hand.")
return 1
diff --git a/code/modules/spells/spell_types/voice_of_god.dm b/code/modules/spells/spell_types/voice_of_god.dm
index adff53210fc..6636c920f23 100644
--- a/code/modules/spells/spell_types/voice_of_god.dm
+++ b/code/modules/spells/spell_types/voice_of_god.dm
@@ -14,7 +14,7 @@
/obj/effect/proc_holder/spell/voice_of_god/can_cast(mob/user = usr)
if(!user.can_speak())
- user << "You are unable to speak!"
+ to_chat(user, "You are unable to speak!")
return FALSE
return TRUE
diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm
index 6ac087b0c16..14a5409e986 100644
--- a/code/modules/spells/spell_types/wizard.dm
+++ b/code/modules/spells/spell_types/wizard.dm
@@ -264,13 +264,13 @@
var/mob/living/M = AM
M.Weaken(5)
M.adjustBruteLoss(5)
- M << "You're slammed into the floor by [user]!"
+ to_chat(M, "You're slammed into the floor by [user]!")
else
new sparkle_path(get_turf(AM), get_dir(user, AM)) //created sparkles will disappear on their own
if(isliving(AM))
var/mob/living/M = AM
M.Weaken(stun_amt)
- M << "You're thrown back by [user]!"
+ to_chat(M, "You're thrown back by [user]!")
AM.throw_at(throwtarget, ((Clamp((maxthrow - (Clamp(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1,user)//So stuff gets tossed around at the same time.
/obj/effect/proc_holder/spell/aoe_turf/repulse/xeno //i fixed conflicts only to find out that this is in the WIZARD file instead of the xeno file?!
diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm
index 1dfc9e8f4db..a0e481cccaf 100644
--- a/code/modules/station_goals/bsa.dm
+++ b/code/modules/station_goals/bsa.dm
@@ -39,7 +39,7 @@
if(istype(W, /obj/item/device/multitool))
var/obj/item/device/multitool/M = W
M.buffer = src
- user << "You store linkage information in [W]'s buffer."
+ to_chat(user, "You store linkage information in [W]'s buffer.")
else if(istype(W, /obj/item/weapon/wrench))
default_unfasten_wrench(user, W, 10)
return TRUE
@@ -55,7 +55,7 @@
if(istype(W, /obj/item/device/multitool))
var/obj/item/device/multitool/M = W
M.buffer = src
- user << "You store linkage information in [W]'s buffer."
+ to_chat(user, "You store linkage information in [W]'s buffer.")
else if(istype(W, /obj/item/weapon/wrench))
default_unfasten_wrench(user, W, 10)
return TRUE
@@ -76,11 +76,11 @@
if(istype(M.buffer,/obj/machinery/bsa/back))
back = M.buffer
M.buffer = null
- user << "You link [src] with [back]."
+ to_chat(user, "You link [src] with [back].")
else if(istype(M.buffer,/obj/machinery/bsa/front))
front = M.buffer
M.buffer = null
- user << "You link [src] with [front]."
+ to_chat(user, "You link [src] with [front].")
else if(istype(W, /obj/item/weapon/wrench))
default_unfasten_wrench(user, W, 10)
return TRUE
diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm
index 3ea7cf141da..e6a022f3b86 100644
--- a/code/modules/station_goals/dna_vault.dm
+++ b/code/modules/station_goals/dna_vault.dm
@@ -87,35 +87,35 @@ var/list/non_simple_animals = typecacheof(list(/mob/living/carbon/monkey,/mob/li
if(!H.myseed)
return
if(!H.harvest)// So it's bit harder.
- user << "Plant needs to be ready to harvest to perform full data scan." //Because space dna is actually magic
+ to_chat(user, "Plant needs to be ready to harvest to perform full data scan." )
return
if(plants[H.myseed.type])
- user << "Plant data already present in local storage."
+ to_chat(user, "Plant data already present in local storage.")
return
plants[H.myseed.type] = 1
- user << "Plant data added to local storage."
+ to_chat(user, "Plant data added to local storage.")
//animals
if(isanimal(target) || is_type_in_typecache(target,non_simple_animals))
if(isanimal(target))
var/mob/living/simple_animal/A = target
if(!A.healable)//simple approximation of being animal not a robot or similar
- user << "No compatible DNA detected"
+ to_chat(user, "No compatible DNA detected")
return
if(animals[target.type])
- user << "Animal data already present in local storage."
+ to_chat(user, "Animal data already present in local storage.")
return
animals[target.type] = 1
- user << "Animal data added to local storage."
+ to_chat(user, "Animal data added to local storage.")
//humans
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(dna[H.dna.uni_identity])
- user << "Humanoid data already present in local storage."
+ to_chat(user, "Humanoid data already present in local storage.")
return
dna[H.dna.uni_identity] = 1
- user << "Humanoid data added to local storage."
+ to_chat(user, "Humanoid data added to local storage.")
/obj/item/weapon/circuitboard/machine/dna_vault
@@ -247,7 +247,7 @@ var/list/non_simple_animals = typecacheof(list(/mob/living/carbon/monkey,/mob/li
uploaded++
dna[ui] = 1
check_goal()
- user << "[uploaded] new datapoints uploaded."
+ to_chat(user, "[uploaded] new datapoints uploaded.")
else
return ..()
@@ -259,30 +259,30 @@ var/list/non_simple_animals = typecacheof(list(/mob/living/carbon/monkey,/mob/li
var/datum/species/S = H.dna.species
switch(upgrade_type)
if(VAULT_TOXIN)
- H << "You feel resistant to airborne toxins."
+ to_chat(H, "You feel resistant to airborne toxins.")
if(locate(/obj/item/organ/lungs) in H.internal_organs)
var/obj/item/organ/lungs/L = H.internal_organs_slot["lungs"]
L.tox_breath_dam_min = 0
L.tox_breath_dam_max = 0
S.species_traits |= VIRUSIMMUNE
if(VAULT_NOBREATH)
- H << "Your lungs feel great."
+ to_chat(H, "Your lungs feel great.")
S.species_traits |= NOBREATH
if(VAULT_FIREPROOF)
- H << "You feel fireproof."
+ to_chat(H, "You feel fireproof.")
S.burnmod = 0.5
S.heatmod = 0
if(VAULT_STUNTIME)
- H << "Nothing can keep you down for long."
+ to_chat(H, "Nothing can keep you down for long.")
S.stunmod = 0.5
if(VAULT_ARMOUR)
- H << "You feel tough."
+ to_chat(H, "You feel tough.")
S.armor = 30
if(VAULT_SPEED)
- H << "Your legs feel faster."
+ to_chat(H, "Your legs feel faster.")
S.speedmod = -1
if(VAULT_QUICK)
- H << "Your arms move as fast as lightning."
+ to_chat(H, "Your arms move as fast as lightning.")
H.next_move_modifier = 0.5
power_lottery[H] = list()
diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm
index 70258a54b19..e5d548d8305 100644
--- a/code/modules/station_goals/shield.dm
+++ b/code/modules/station_goals/shield.dm
@@ -109,10 +109,10 @@
/obj/machinery/satellite/proc/toggle(mob/user)
if(!active && !isinspace())
if(user)
- user << "You can only active the [src] in space."
+ to_chat(user, "You can only active the [src] in space.")
return FALSE
if(user)
- user << "You [active ? "deactivate": "activate"] the [src]"
+ to_chat(user, "You [active ? "deactivate": "activate"] the [src]")
active = !active
if(active)
animate(src, pixel_y = 2, time = 10, loop = -1)
@@ -127,7 +127,7 @@
/obj/machinery/satellite/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/device/multitool))
- user << "// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[emagged ? "DEBUG_MODE //" : ""]"
+ to_chat(user, "// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[emagged ? "DEBUG_MODE //" : ""]")
else
return ..()
diff --git a/code/modules/station_goals/station_goal.dm b/code/modules/station_goals/station_goal.dm
index daf6ee7dd1f..b3f0b519075 100644
--- a/code/modules/station_goals/station_goal.dm
+++ b/code/modules/station_goals/station_goal.dm
@@ -28,9 +28,9 @@
/datum/station_goal/proc/print_result()
if(check_completion())
- world << "Station Goal : [name] : Completed!"
+ to_chat(world, "Station Goal : [name] : Completed!")
else
- world << "Station Goal : [name] : Failed!"
+ to_chat(world, "Station Goal : [name] : Failed!")
/datum/station_goal/Destroy()
ticker.mode.station_goals -= src
diff --git a/code/modules/stock_market/articles.dm b/code/modules/stock_market/articles.dm
index bf56287707c..08c693b6803 100644
--- a/code/modules/stock_market/articles.dm
+++ b/code/modules/stock_market/articles.dm
@@ -18,7 +18,7 @@ var/global/list/FrozenAccounts = list()
/proc/list_frozen()
for (var/A in FrozenAccounts)
- usr << "[A]: [length(FrozenAccounts[A])] borrows"
+ to_chat(usr, "[A]: [length(FrozenAccounts[A])] borrows")
/datum/article
var/headline = "Something big is happening"
diff --git a/code/modules/stock_market/computer.dm b/code/modules/stock_market/computer.dm
index f3720a84f1b..51ced45e401 100644
--- a/code/modules/stock_market/computer.dm
+++ b/code/modules/stock_market/computer.dm
@@ -8,7 +8,7 @@
var/vmode = 1
circuit = /obj/item/weapon/circuitboard/computer/stockexchange
clockwork = TRUE //it'd look weird
-
+
light_color = LIGHT_COLOR_GREEN
/obj/machinery/computer/stockexchange/New()
@@ -22,7 +22,7 @@
/obj/machinery/computer/stockexchange/attack_ai(mob/user)
return attack_hand(user)
-
+
/obj/machinery/computer/stockexchange/attack_robot(mob/user)
return attack_hand(user)
@@ -178,12 +178,12 @@ a.updated {
return
var/li = logged_in
if (!li)
- user << "No active account on the console!"
+ to_chat(user, "No active account on the console!")
return
var/b = SSshuttle.points
var/avail = S.shareholders[logged_in]
if (!avail)
- user << "This account does not own any shares of [S.name]!"
+ to_chat(user, "This account does not own any shares of [S.name]!")
return
var/price = S.current_value
var/amt = round(input(user, "How many shares? \n(Have: [avail], unit price: [price])", "Sell shares in [S.name]", 0) as num|null)
@@ -197,14 +197,14 @@ a.updated {
return
b = SSshuttle.points
if (!isnum(b))
- user << "No active account on the console!"
+ to_chat(user, "No active account on the console!")
return
var/total = amt * S.current_value
if (!S.sellShares(logged_in, amt))
- user << "Could not complete transaction."
+ to_chat(user, "Could not complete transaction.")
return
- user << "Sold [amt] shares of [S.name] at [S.current_value] a share for [total] credits."
+ to_chat(user, "Sold [amt] shares of [S.name] at [S.current_value] a share for [total] credits.")
stockExchange.add_log(/datum/stock_log/sell, user.name, S.name, amt, S.current_value, total)
/obj/machinery/computer/stockexchange/proc/buy_some_shares(var/datum/stock/S, var/mob/user)
@@ -212,11 +212,11 @@ a.updated {
return
var/li = logged_in
if (!li)
- user << "No active account on the console!"
+ to_chat(user, "No active account on the console!")
return
var/b = balance()
if (!isnum(b))
- user << "No active account on the console!"
+ to_chat(user, "No active account on the console!")
return
var/avail = S.available_shares
var/price = S.current_value
@@ -228,26 +228,26 @@ a.updated {
return
b = balance()
if (!isnum(b))
- user << "No active account on the console!"
+ to_chat(user, "No active account on the console!")
return
amt = min(amt, S.available_shares, round(b / S.current_value))
if (!amt)
return
if (!S.buyShares(logged_in, amt))
- user << "<Could not complete transaction."
+ to_chat(user, "<Could not complete transaction.")
return
var/total = amt * S.current_value
- user << "Bought [amt] shares of [S.name] at [S.current_value] a share for [total] credits."
+ to_chat(user, "Bought [amt] shares of [S.name] at [S.current_value] a share for [total] credits.")
stockExchange.add_log(/datum/stock_log/buy, user.name, S.name, amt, S.current_value, total)
/obj/machinery/computer/stockexchange/proc/do_borrowing_deal(var/datum/borrow/B, var/mob/user)
if (B.stock.borrow(B, logged_in))
- user << "You successfully borrowed [B.share_amount] shares. Deposit: [B.deposit]."
+ to_chat(user, "You successfully borrowed [B.share_amount] shares. Deposit: [B.deposit].")
stockExchange.add_log(/datum/stock_log/borrow, user.name, B.stock.name, B.share_amount, B.deposit)
else
- user << "Could not complete transaction. Check your account balance."
+ to_chat(user, "Could not complete transaction. Check your account balance.")
/obj/machinery/computer/stockexchange/Topic(href, href_list)
if (..())
diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm
index 73ae1068207..541f15351a0 100644
--- a/code/modules/surgery/bodyparts/bodyparts.dm
+++ b/code/modules/surgery/bodyparts/bodyparts.dm
@@ -43,9 +43,9 @@
/obj/item/bodypart/examine(mob/user)
..()
if(brute_dam > 0)
- user << "This limb has [brute_dam > 30 ? "severe" : "minor"] bruising."
+ to_chat(user, "This limb has [brute_dam > 30 ? "severe" : "minor"] bruising.")
if(burn_dam > 0)
- user << "This limb has [burn_dam > 30 ? "severe" : "minor"] burns."
+ to_chat(user, "This limb has [burn_dam > 30 ? "severe" : "minor"] burns.")
/obj/item/bodypart/blob_act()
take_damage(max_damage)
@@ -76,7 +76,7 @@
if(W.sharpness)
add_fingerprint(user)
if(!contents.len)
- user << "There is nothing left inside [src]!"
+ to_chat(user, "There is nothing left inside [src]!")
return
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
user.visible_message("[user] begins to cut open [src].",\
diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm
index 653a1311446..8be9019a7fb 100644
--- a/code/modules/surgery/bodyparts/robot_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm
@@ -58,23 +58,23 @@
/obj/item/bodypart/chest/robot/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/stock_parts/cell))
if(src.cell)
- user << "You have already inserted a cell!"
+ to_chat(user, "You have already inserted a cell!")
return
else
if(!user.transferItemToLoc(W, src))
return
src.cell = W
- user << "You insert the cell."
+ to_chat(user, "You insert the cell.")
else if(istype(W, /obj/item/stack/cable_coil))
if(src.wired)
- user << "You have already inserted wire!"
+ to_chat(user, "You have already inserted wire!")
return
var/obj/item/stack/cable_coil/coil = W
if (coil.use(1))
src.wired = 1
- user << "You insert the wire."
+ to_chat(user, "You insert the wire.")
else
- user << "You need one length of coil to wire it!"
+ to_chat(user, "You need one length of coil to wire it!")
else
return ..()
@@ -111,10 +111,10 @@
if(istype(W, /obj/item/device/assembly/flash/handheld))
var/obj/item/device/assembly/flash/handheld/F = W
if(src.flash1 && src.flash2)
- user << "You have already inserted the eyes!"
+ to_chat(user, "You have already inserted the eyes!")
return
else if(F.crit_fail)
- user << "You can't use a broken flash!"
+ to_chat(user, "You can't use a broken flash!")
return
else
if(!user.transferItemToLoc(F, src))
@@ -123,11 +123,11 @@
src.flash2 = F
else
src.flash1 = F
- user << "You insert the flash into the eye socket."
+ to_chat(user, "You insert the flash into the eye socket.")
else if(istype(W, /obj/item/weapon/crowbar))
if(flash1 || flash2)
playsound(src.loc, W.usesound, 50, 1)
- user << "You remove the flash from [src]."
+ to_chat(user, "You remove the flash from [src].")
if(flash1)
flash1.forceMove(user.loc)
flash1 = null
@@ -135,7 +135,7 @@
flash2.forceMove(user.loc)
flash2 = null
else
- user << "There are no flash to remove from [src]."
+ to_chat(user, "There are no flash to remove from [src].")
else
return ..()
diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm
index 4723eac4f82..842b6371aeb 100644
--- a/code/modules/surgery/cavity_implant.dm
+++ b/code/modules/surgery/cavity_implant.dm
@@ -25,7 +25,7 @@
var/obj/item/bodypart/chest/CH = target.get_bodypart("chest")
if(tool)
if(IC || tool.w_class > WEIGHT_CLASS_NORMAL || (NODROP in tool.flags) || istype(tool, /obj/item/organ))
- user << "You can't seem to fit [tool] in [target]'s [target_zone]!"
+ to_chat(user, "You can't seem to fit [tool] in [target]'s [target_zone]!")
return 0
else
user.visible_message("[user] stuffs [tool] into [target]'s [target_zone]!", "You stuff [tool] into [target]'s [target_zone].")
@@ -40,5 +40,5 @@
CH.cavity_item = null
return 1
else
- user << "You don't find anything in [target]'s [target_zone]."
+ to_chat(user, "You don't find anything in [target]'s [target_zone].")
return 0
diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm
index 5e4d5cd6b7c..506798e64fe 100644
--- a/code/modules/surgery/core_removal.dm
+++ b/code/modules/surgery/core_removal.dm
@@ -32,5 +32,5 @@
else
return 0
else
- user << "There aren't any cores left in [target]!"
+ to_chat(user, "There aren't any cores left in [target]!")
return 1
\ No newline at end of file
diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm
index 71fabfb7e62..eef88e4a5ff 100644
--- a/code/modules/surgery/dental_implant.dm
+++ b/code/modules/surgery/dental_implant.dm
@@ -32,7 +32,7 @@
/datum/action/item_action/hands_free/activate_pill/Trigger()
if(!..())
return 0
- owner << "You grit your teeth and burst the implanted [target.name]!"
+ to_chat(owner, "You grit your teeth and burst the implanted [target.name]!")
add_logs(owner, null, "swallowed an implanted pill", target)
if(target.reagents.total_volume)
target.reagents.reaction(owner, INGEST)
diff --git a/code/modules/surgery/eye_surgery.dm b/code/modules/surgery/eye_surgery.dm
index 107dfd692c3..fed958dc301 100644
--- a/code/modules/surgery/eye_surgery.dm
+++ b/code/modules/surgery/eye_surgery.dm
@@ -14,7 +14,7 @@
/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target)
var/obj/item/organ/eyes/E = target.getorganslot("eye_sight")
if(!E)
- user << "It's hard to do surgery on someones eyes when they don't have any."
+ to_chat(user, "It's hard to do surgery on someones eyes when they don't have any.")
return FALSE
/datum/surgery_step/fix_eyes/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm
index 904cda7323d..97402670518 100644
--- a/code/modules/surgery/helpers.dm
+++ b/code/modules/surgery/helpers.dm
@@ -68,7 +68,7 @@
add_logs(user, M, "operated", addition="Operation type: [procedure.name], location: [selected_zone]")
else
- user << "You need to expose [M]'s [parse_zone(selected_zone)] first!"
+ to_chat(user, "You need to expose [M]'s [parse_zone(selected_zone)] first!")
else if(!current_surgery.step_in_progress)
if(current_surgery.status == 1)
@@ -82,7 +82,7 @@
"You mend the incision and remove the drapes from [M]'s [parse_zone(selected_zone)].")
qdel(current_surgery)
else if(current_surgery.can_cancel)
- user << "You need to hold a cautery in inactive hand to stop [M]'s surgery!"
+ to_chat(user, "You need to hold a cautery in inactive hand to stop [M]'s surgery!")
return 1
diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm
index 8b7eecbb360..86be589b646 100644
--- a/code/modules/surgery/implant_removal.dm
+++ b/code/modules/surgery/implant_removal.dm
@@ -42,5 +42,5 @@
qdel(I)
else
- user << "You can't find anything in [target]'s [target_zone]!"
+ to_chat(user, "You can't find anything in [target]'s [target_zone]!")
return 1
\ No newline at end of file
diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm
index beae8cd5787..bc2f1a78274 100644
--- a/code/modules/surgery/limb_augmentation.dm
+++ b/code/modules/surgery/limb_augmentation.dm
@@ -24,10 +24,10 @@
/datum/surgery_step/add_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/obj/item/bodypart/aug = tool
if(aug.status != BODYPART_ROBOTIC)
- user << "that's not an augment silly!"
+ to_chat(user, "that's not an augment silly!")
return -1
if(aug.body_zone != target_zone)
- user << "[tool] isn't the right type for [parse_zone(target_zone)]."
+ to_chat(user, "[tool] isn't the right type for [parse_zone(target_zone)].")
return -1
L = surgery.operated_bodypart
if(L)
@@ -56,5 +56,5 @@
target.updatehealth()
add_logs(user, target, "augmented", addition="by giving him new [parse_zone(target_zone)] INTENT: [uppertext(user.a_intent)]")
else
- user << "[target] has no organic [parse_zone(target_zone)] there!"
+ to_chat(user, "[target] has no organic [parse_zone(target_zone)] there!")
return 1
\ No newline at end of file
diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm
index d5998093917..f9f532ec7c8 100644
--- a/code/modules/surgery/organ_manipulation.dm
+++ b/code/modules/surgery/organ_manipulation.dm
@@ -58,7 +58,7 @@
current_type = "insert"
I = tool
if(target_zone != I.zone || target.getorganslot(I.slot))
- user << "There is no room for [I] in [target]'s [parse_zone(target_zone)]!"
+ to_chat(user, "There is no room for [I] in [target]'s [parse_zone(target_zone)]!")
return -1
user.visible_message("[user] begins to insert [tool] into [target]'s [parse_zone(target_zone)].",
@@ -73,7 +73,7 @@
"You begin to extract [B] from [target]'s [parse_zone(target_zone)]...")
return TRUE
if(!organs.len)
- user << "There is no removeable organs in [target]'s [parse_zone(target_zone)]!"
+ to_chat(user, "There is no removeable organs in [target]'s [parse_zone(target_zone)]!")
return -1
else
for(var/obj/item/organ/O in organs)
@@ -96,7 +96,7 @@
"You begin to mend the incision in [target]'s [parse_zone(target_zone)]...")
else if(istype(tool, /obj/item/weapon/reagent_containers/food/snacks/organ))
- user << "[tool] was biten by someone! It's too damaged to use!"
+ to_chat(user, "[tool] was biten by someone! It's too damaged to use!")
return -1
/datum/surgery_step/manipulate_organs/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 90ab9c94bc4..153de8d823a 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -31,7 +31,7 @@
/obj/item/organ/cyberimp/arm/examine(mob/user)
..()
- user << "[src] is assembled in the [zone == "r_arm" ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it."
+ to_chat(user, "[src] is assembled in the [zone == "r_arm" ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it.")
/obj/item/organ/cyberimp/arm/attackby(obj/item/weapon/W, mob/user, params)
..()
@@ -41,7 +41,7 @@
else
zone = "r_arm"
slot = zone + "_device"
- user << "You modify [src] to be installed on the [zone == "r_arm" ? "right" : "left"] arm."
+ to_chat(user, "You modify [src] to be installed on the [zone == "r_arm" ? "right" : "left"] arm.")
update_icon()
else if(istype(W, /obj/item/weapon/card/emag))
emag_act()
@@ -55,7 +55,7 @@
/obj/item/organ/cyberimp/arm/gun/emp_act(severity)
if(prob(15/severity) && owner)
- owner << "[src] is hit by EMP!"
+ to_chat(owner, "[src] is hit by EMP!")
// give the owner an idea about why his implant is glitching
Retract()
..()
@@ -96,14 +96,14 @@
if(arm_item)
if(!owner.dropItemToGround(arm_item))
- owner << "Your [arm_item] interferes with [src]!"
+ to_chat(owner, "Your [arm_item] interferes with [src]!")
return
else
- owner << "You drop [arm_item] to activate [src]!"
+ to_chat(owner, "You drop [arm_item] to activate [src]!")
var/result = (zone == "r_arm" ? owner.put_in_r_hand(holder) : owner.put_in_l_hand(holder))
if(!result)
- owner << "Your [src] fails to activate!"
+ to_chat(owner, "Your [src] fails to activate!")
return
// Activate the hand that now holds our item.
@@ -116,7 +116,7 @@
/obj/item/organ/cyberimp/arm/ui_action_click()
if(crit_fail || (!holder && !contents.len))
- owner << "The implant doesn't respond. It seems to be broken..."
+ to_chat(owner, "The implant doesn't respond. It seems to be broken...")
return
// You can emag the arm-mounted implant by activating it while holding emag in it's hand.
@@ -141,7 +141,7 @@
Retract()
owner.visible_message("A loud bang comes from [owner]\'s [zone == "r_arm" ? "right" : "left"] arm!")
playsound(get_turf(owner), 'sound/weapons/flashbang.ogg', 100, 1)
- owner << "You feel an explosion erupt inside your [zone == "r_arm" ? "right" : "left"] arm as your implant breaks!"
+ to_chat(owner, "You feel an explosion erupt inside your [zone == "r_arm" ? "right" : "left"] arm as your implant breaks!")
owner.adjust_fire_stacks(20)
owner.IgniteMob()
owner.adjustFireLoss(25)
@@ -184,7 +184,7 @@
/obj/item/organ/cyberimp/arm/toolset/emag_act()
if(!(locate(/obj/item/weapon/kitchen/knife/combat/cyborg) in items_list))
- usr << "You unlock [src]'s integrated knife!"
+ to_chat(usr, "You unlock [src]'s integrated knife!")
items_list += new /obj/item/weapon/kitchen/knife/combat/cyborg(src)
return 1
return 0
diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm
index e352273a13e..8d536632af7 100644
--- a/code/modules/surgery/organs/augments_chest.dm
+++ b/code/modules/surgery/organs/augments_chest.dm
@@ -22,7 +22,7 @@
if(owner.nutrition <= hunger_threshold)
synthesizing = TRUE
- owner << "You feel less hungry..."
+ to_chat(owner, "You feel less hungry...")
owner.nutrition += 50
sleep(50)
synthesizing = FALSE
@@ -31,7 +31,7 @@
if(!owner)
return
owner.reagents.add_reagent("bad_food", poison_amount / severity)
- owner << "You feel like your insides are burning."
+ to_chat(owner, "You feel like your insides are burning.")
/obj/item/organ/cyberimp/chest/nutriment/plus
@@ -61,7 +61,7 @@
else
cooldown = revive_cost + world.time
reviving = FALSE
- owner << "Your reviver implant shuts down and starts recharging. It will be ready again in [revive_cost/10] seconds."
+ to_chat(owner, "Your reviver implant shuts down and starts recharging. It will be ready again in [revive_cost/10] seconds.")
return
if(cooldown > world.time)
@@ -73,7 +73,7 @@
revive_cost = 0
reviving = TRUE
- owner << "You feel a faint buzzing as your reviver implant starts patching your wounds..."
+ to_chat(owner, "You feel a faint buzzing as your reviver implant starts patching your wounds...")
/obj/item/organ/cyberimp/chest/reviver/proc/heal()
if(owner.getOxyLoss())
@@ -102,7 +102,7 @@
var/mob/living/carbon/human/H = owner
if(H.stat != DEAD && prob(50 / severity) && H.can_heartattack())
H.set_heartattack(TRUE)
- H << "You feel a horrible agony in your chest!"
+ to_chat(H, "You feel a horrible agony in your chest!")
addtimer(CALLBACK(src, .proc/undo_heart_attack), 600 / severity)
/obj/item/organ/cyberimp/chest/reviver/proc/undo_heart_attack()
@@ -111,7 +111,7 @@
return
H.set_heartattack(FALSE)
if(H.stat == CONSCIOUS)
- H << "You feel your heart beating again!"
+ to_chat(H, "You feel your heart beating again!")
/obj/item/organ/cyberimp/chest/thrusters
@@ -146,17 +146,17 @@
if(!on)
if(crit_fail)
if(!silent)
- owner << "Your thrusters set seems to be broken!"
+ to_chat(owner, "Your thrusters set seems to be broken!")
return 0
on = 1
if(allow_thrust(0.01))
ion_trail.start()
if(!silent)
- owner << "You turn your thrusters set on."
+ to_chat(owner, "You turn your thrusters set on.")
else
ion_trail.stop()
if(!silent)
- owner << "You turn your thrusters set off."
+ to_chat(owner, "You turn your thrusters set off.")
on = 0
update_icon()
diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm
index 51fc8f1ab2a..384a0f311cd 100644
--- a/code/modules/surgery/organs/augments_internal.dm
+++ b/code/modules/surgery/organs/augments_internal.dm
@@ -33,7 +33,7 @@
return
var/stun_amount = 5 + (severity-1 ? 0 : 5)
owner.Stun(stun_amount)
- owner << "Your body seizes up!"
+ to_chat(owner, "Your body seizes up!")
return stun_amount
@@ -56,17 +56,17 @@
var/list/L = owner.get_empty_held_indexes()
if(LAZYLEN(L) == owner.held_items.len)
- owner << "You are not holding any items, your hands relax..."
+ to_chat(owner, "You are not holding any items, your hands relax...")
active = 0
stored_items = list()
else
for(var/obj/item/I in stored_items)
- owner << "Your [owner.get_held_index_name(owner.get_held_index_of_item(I))]'s grip tightens."
+ to_chat(owner, "Your [owner.get_held_index_name(owner.get_held_index_of_item(I))]'s grip tightens.")
I.flags |= NODROP
else
release_items()
- owner << "Your hands relax..."
+ to_chat(owner, "Your hands relax...")
/obj/item/organ/cyberimp/brain/anti_drop/emp_act(severity)
@@ -80,7 +80,7 @@
for(var/obj/item/I in stored_items)
A = pick(oview(range))
I.throw_at(A, range, 2)
- owner << "Your [owner.get_held_index_name(owner.get_held_index_of_item(I))] spasms and throws the [I.name]!"
+ to_chat(owner, "Your [owner.get_held_index_name(owner.get_held_index_of_item(I))] spasms and throws the [I.name]!")
stored_items = list()
@@ -136,7 +136,7 @@
/obj/item/organ/cyberimp/mouth/breathing_tube/emp_act(severity)
if(prob(60/severity))
- owner << "Your breathing tube suddenly closes!"
+ to_chat(owner, "Your breathing tube suddenly closes!")
owner.losebreath += 2
diff --git a/code/modules/surgery/organs/autoimplanter.dm b/code/modules/surgery/organs/autoimplanter.dm
index b8d8ea21f07..0f62fb49c5f 100644
--- a/code/modules/surgery/organs/autoimplanter.dm
+++ b/code/modules/surgery/organs/autoimplanter.dm
@@ -17,10 +17,10 @@
/obj/item/device/autoimplanter/attack_self(mob/user)//when the object it used...
if(!uses)
- user << "[src] has already been used. The tools are dull and won't reactivate."
+ to_chat(user, "[src] has already been used. The tools are dull and won't reactivate.")
return
else if(!storedorgan)
- user << "[src] currently has no implant stored."
+ to_chat(user, "[src] currently has no implant stored.")
return
storedorgan.Insert(user)//insert stored organ into the user
user.visible_message("[user] presses a button on [src], and you hear a short mechanical noise.", "You feel a sharp sting as [src] plunges into your body.")
@@ -34,23 +34,23 @@
/obj/item/device/autoimplanter/attackby(obj/item/I, mob/user, params)
if(istype(I, organ_type))
if(storedorgan)
- user << "[src] already has an implant stored."
+ to_chat(user, "[src] already has an implant stored.")
return
else if(!uses)
- user << "[src] has already been used up."
+ to_chat(user, "[src] has already been used up.")
return
if(!user.drop_item())
return
I.loc = src
storedorgan = I
- user << "You insert the [I] into [src]."
+ to_chat(user, "You insert the [I] into [src].")
else if(istype(I, /obj/item/weapon/screwdriver))
if(!storedorgan)
- user << "There's no implant in [src] for you to remove."
+ to_chat(user, "There's no implant in [src] for you to remove.")
else
var/turf/open/floorloc = get_turf(user)
floorloc.contents += contents
- user << "You remove the [storedorgan] from [src]."
+ to_chat(user, "You remove the [storedorgan] from [src].")
playsound(get_turf(user), I.usesound, 50, 1)
storedorgan = null
if(uses != INFINITE)
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index cfd8d8fc26c..e2c464cef60 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -51,7 +51,7 @@
/obj/item/organ/examine(mob/user)
..()
if(status == ORGAN_ROBOTIC && crit_fail)
- user << "[src] seems to be broken!"
+ to_chat(user, "[src] seems to be broken!")
/obj/item/organ/proc/prepare_eat()
@@ -181,7 +181,7 @@
var/mob/living/carbon/human/H = owner
if(H.dna && !(NOBLOOD in H.dna.species.species_traits))
H.blood_volume = max(H.blood_volume - blood_loss, 0)
- H << "You have to keep pumping your blood!"
+ to_chat(H, "You have to keep pumping your blood!")
if(add_colour)
H.add_client_colour(/datum/client_colour/cursed_heart_blood) //bloody screen so real
add_colour = FALSE
@@ -191,7 +191,7 @@
/obj/item/organ/heart/cursed/Insert(mob/living/carbon/M, special = 0)
..()
if(owner)
- owner << "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!"
+ to_chat(owner, "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!")
/datum/action/item_action/organ_action/cursed_heart
name = "Pump your blood"
@@ -203,12 +203,12 @@
var/obj/item/organ/heart/cursed/cursed_heart = target
if(world.time < (cursed_heart.last_pump + (cursed_heart.pump_delay-10))) //no spam
- owner << "Too soon!"
+ to_chat(owner, "Too soon!")
return
cursed_heart.last_pump = world.time
playsound(owner,'sound/effects/singlebeat.ogg',40,1)
- owner << "Your heart beats."
+ to_chat(owner, "Your heart beats.")
var/mob/living/carbon/human/H = owner
if(istype(H))
@@ -577,10 +577,10 @@
var/datum/species/abductor/Byy = H.dna.species
if(Ayy.team != Byy.team)
continue
- H << rendered
+ to_chat(H, rendered)
for(var/mob/M in dead_mob_list)
var/link = FOLLOW_LINK(M, user)
- M << "[link] [rendered]"
+ to_chat(M, "[link] [rendered]")
return ""
/obj/item/organ/tongue/zombie
@@ -812,7 +812,7 @@
if(severity > 1)
if(prob(10 * severity))
return
- owner << "Static obfuscates your vision!"
+ to_chat(owner, "Static obfuscates your vision!")
owner.flash_act(visual = 1)
/obj/item/organ/eyes/robotic/xray
diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm
index 9ea5d030dac..6c2e8a4ad6c 100644
--- a/code/modules/surgery/organs/vocal_cords.dm
+++ b/code/modules/surgery/organs/vocal_cords.dm
@@ -101,7 +101,7 @@ var/static/regex/multispin_words = regex("like a record baby|right round")
. = ..()
if(!IsAvailable())
if(world.time < cords.next_command)
- owner << "You must wait [(cords.next_command - world.time)/10] seconds before Speaking again."
+ to_chat(owner, "You must wait [(cords.next_command - world.time)/10] seconds before Speaking again.")
return
var/command = input(owner, "Speak with the Voice of God", "Command")
if(QDELETED(src) || QDELETED(owner))
@@ -112,12 +112,12 @@ var/static/regex/multispin_words = regex("like a record baby|right round")
/obj/item/organ/vocal_cords/colossus/can_speak_with()
if(world.time < next_command)
- owner << "You must wait [(next_command - world.time)/10] seconds before Speaking again."
+ to_chat(owner, "You must wait [(next_command - world.time)/10] seconds before Speaking again.")
return FALSE
if(!owner)
return FALSE
if(!owner.can_speak())
- owner << "You are unable to speak!"
+ to_chat(owner, "You are unable to speak!")
return FALSE
return TRUE
diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm
index e37e99ffeef..9d56acde18d 100644
--- a/code/modules/surgery/prosthetic_replacement.dm
+++ b/code/modules/surgery/prosthetic_replacement.dm
@@ -25,13 +25,13 @@
var/obj/item/bodypart/BP = tool
if(ismonkey(target))// monkey patient only accept organic monkey limbs
if(BP.status == BODYPART_ROBOTIC || BP.animal_origin != MONKEY_BODYPART)
- user << "[BP] doesn't match the patient's morphology."
+ to_chat(user, "[BP] doesn't match the patient's morphology.")
return -1
if(BP.status != BODYPART_ROBOTIC)
organ_rejection_dam = 10
if(ishuman(target))
if(BP.animal_origin)
- user << "[BP] doesn't match the patient's morphology."
+ to_chat(user, "[BP] doesn't match the patient's morphology.")
return -1
var/mob/living/carbon/human/H = target
if(H.dna.species.id != BP.species_id)
@@ -40,12 +40,12 @@
if(target_zone == BP.body_zone) //so we can't replace a leg with an arm, or a human arm with a monkey arm.
user.visible_message("[user] begins to replace [target]'s [parse_zone(target_zone)].", "You begin to replace [target]'s [parse_zone(target_zone)]...")
else
- user << "[tool] isn't the right type for [parse_zone(target_zone)]."
+ to_chat(user, "[tool] isn't the right type for [parse_zone(target_zone)].")
return -1
else if(target_zone == "l_arm" || target_zone == "r_arm")
user.visible_message("[user] begins to attach [tool] onto [target].", "You begin to attach [tool] onto [target]...")
else
- user << "[tool] must be installed onto an arm."
+ to_chat(user, "[tool] must be installed onto an arm.")
return -1
/datum/surgery_step/add_prosthetic/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/remove_embedded_object.dm b/code/modules/surgery/remove_embedded_object.dm
index a4b0b67a1a8..f2c1e143b6f 100644
--- a/code/modules/surgery/remove_embedded_object.dm
+++ b/code/modules/surgery/remove_embedded_object.dm
@@ -32,9 +32,9 @@
if(objects > 0)
user.visible_message("[user] sucessfully removes [objects] objects from [H]'s [L]!", "You successfully remove [objects] objects from [H]'s [L.name].")
else
- user << "You find no objects embedded in [H]'s [L]!"
+ to_chat(user, "You find no objects embedded in [H]'s [L]!")
else
- user << "You can't find [target]'s [parse_zone(user.zone_selected)], let alone any objects embedded in it!"
+ to_chat(user, "You can't find [target]'s [parse_zone(user.zone_selected)], let alone any objects embedded in it!")
return 1
\ No newline at end of file
diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm
index f48b606889a..f53042c5932 100644
--- a/code/modules/surgery/surgery_step.dm
+++ b/code/modules/surgery/surgery_step.dm
@@ -29,7 +29,7 @@
initiate(user, target, target_zone, tool, surgery)
return 1
else
- user << "You need to expose [target]'s [parse_zone(target_zone)] to perform surgery on it!"
+ to_chat(user, "You need to expose [target]'s [parse_zone(target_zone)] to perform surgery on it!")
return 1 //returns 1 so we don't stab the guy in the dick or wherever.
if(iscyborg(user) && user.a_intent != INTENT_HARM) //to save asimov borgs a LOT of heartache
return 1
diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm
index 5441ea28983..1512ea46309 100644
--- a/code/modules/telesci/bscrystal.dm
+++ b/code/modules/telesci/bscrystal.dm
@@ -66,7 +66,7 @@
var/crystal_type = /obj/item/weapon/ore/bluespace_crystal/refined
/obj/item/stack/sheet/bluespace_crystal/attack_self(mob/user) // to prevent the construction menu from ever happening
- user << "You cannot crush the polycrystal in-hand, try breaking one off."
+ to_chat(user, "You cannot crush the polycrystal in-hand, try breaking one off.")
return
/obj/item/stack/sheet/bluespace_crystal/attack_hand(mob/user)
@@ -78,8 +78,8 @@
amount--
if (amount == 0)
qdel(src)
- user << "You break the final crystal off."
- else user << "You break off a crystal."
+ to_chat(user, "You break the final crystal off.")
+ else to_chat(user, "You break off a crystal.")
else
..()
return
\ No newline at end of file
diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm
index 09cc6c8e7c3..6cbde6f4759 100644
--- a/code/modules/telesci/gps.dm
+++ b/code/modules/telesci/gps.dm
@@ -37,19 +37,19 @@ var/list/GPS_list = list()
if(!user.canUseTopic(src, be_close=TRUE))
return //user not valid to use gps
if(emped)
- user << "It's busted!"
+ to_chat(user, "It's busted!")
if(tracking)
cut_overlay("working")
- user << "[src] is no longer tracking, or visible to other GPS devices."
+ to_chat(user, "[src] is no longer tracking, or visible to other GPS devices.")
tracking = FALSE
else
add_overlay("working")
- user << "[src] is now tracking, and visible to other GPS devices."
+ to_chat(user, "[src] is now tracking, and visible to other GPS devices.")
tracking = TRUE
/obj/item/device/gps/attack_self(mob/user)
if(!tracking)
- user << "[src] is turned off. Use alt+click to toggle it back on."
+ to_chat(user, "[src] is turned off. Use alt+click to toggle it back on.")
return
var/obj/item/device/gps/t = ""
diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm
index c9979900e70..8153e47c988 100644
--- a/code/modules/telesci/telepad.dm
+++ b/code/modules/telesci/telepad.dm
@@ -40,7 +40,7 @@
if(istype(I, /obj/item/device/multitool))
var/obj/item/device/multitool/M = I
M.buffer = src
- user << "You save the data in the [I.name]'s buffer."
+ to_chat(user, "You save the data in the [I.name]'s buffer.")
return 1
if(exchange_parts(user, I))
@@ -69,28 +69,28 @@
playsound(src, 'sound/items/Ratchet.ogg', 50, 1)
if(anchored)
anchored = 0
- user << "\The [src] can now be moved."
+ to_chat(user, "\The [src] can now be moved.")
else if(!anchored)
anchored = 1
- user << "\The [src] is now secured."
+ to_chat(user, "\The [src] is now secured.")
else if(istype(W, /obj/item/weapon/screwdriver))
if(stage == 0)
playsound(src, W.usesound, 50, 1)
- user << "You unscrew the telepad's tracking beacon."
+ to_chat(user, "You unscrew the telepad's tracking beacon.")
stage = 1
else if(stage == 1)
playsound(src, W.usesound, 50, 1)
- user << "You screw in the telepad's tracking beacon."
+ to_chat(user, "You screw in the telepad's tracking beacon.")
stage = 0
else if(istype(W, /obj/item/weapon/weldingtool) && stage == 1)
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
- user << "You start disassembling [src]..."
+ to_chat(user, "You start disassembling [src]...")
if(do_after(user,20*WT.toolspeed, target = src))
if(!WT.isOn())
return
- user << "You disassemble [src]."
+ to_chat(user, "You disassemble [src].")
new /obj/item/stack/sheet/metal(get_turf(src))
new /obj/item/stack/sheet/glass(get_turf(src))
qdel(src)
@@ -108,7 +108,7 @@
/obj/item/device/telepad_beacon/attack_self(mob/user)
if(user)
- user << "Locked In"
+ to_chat(user, "Locked In")
new /obj/machinery/telepad_cargo(user.loc)
playsound(src, 'sound/effects/pop.ogg', 100, 1, 1)
qdel(src)
@@ -140,7 +140,7 @@
/obj/item/weapon/rcs/examine(mob/user)
..()
- user << "There are [rcharges] charge\s left."
+ to_chat(user, "There are [rcharges] charge\s left.")
/obj/item/weapon/rcs/Destroy()
STOP_PROCESSING(SSobj, src)
@@ -159,11 +159,11 @@
if(mode == 0)
mode = 1
playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- user << "The telepad locator has become uncalibrated."
+ to_chat(user, "The telepad locator has become uncalibrated.")
else
mode = 0
playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- user << "You calibrate the telepad locator."
+ to_chat(user, "You calibrate the telepad locator.")
/obj/item/weapon/rcs/emag_act(mob/user)
if(!emagged)
@@ -171,4 +171,4 @@
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(5, 1, src)
s.start()
- user << "You emag the RCS. Click on it to toggle between modes."
+ to_chat(user, "You emag the RCS. Click on it to toggle between modes.")
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index da73a5935cd..b5145eaabc0 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -43,7 +43,7 @@
/obj/machinery/computer/telescience/examine(mob/user)
..()
- user << "There are [crystals.len ? crystals.len : "no"] bluespace crystal\s in the crystal slots."
+ to_chat(user, "There are [crystals.len ? crystals.len : "no"] bluespace crystal\s in the crystal slots.")
/obj/machinery/computer/telescience/Initialize(mapload)
..()
@@ -52,13 +52,13 @@
crystals += new /obj/item/weapon/ore/bluespace_crystal/artificial(null) // starting crystals
/obj/machinery/computer/telescience/attack_paw(mob/user)
- user << "You are too primitive to use this computer!"
+ to_chat(user, "You are too primitive to use this computer!")
return
/obj/machinery/computer/telescience/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/ore/bluespace_crystal))
if(crystals.len >= max_crystals)
- user << "There are not enough crystal slots."
+ to_chat(user, "There are not enough crystal slots.")
return
if(!user.drop_item())
return
@@ -77,7 +77,7 @@
if(M.buffer && istype(M.buffer, /obj/machinery/telepad))
telepad = M.buffer
M.buffer = null
- user << "You upload the data from the [W.name]'s buffer."
+ to_chat(user, "You upload the data from the [W.name]'s buffer.")
else
return ..()
diff --git a/code/modules/uplink/uplink.dm b/code/modules/uplink/uplink.dm
index 7a7217636f5..f6827586142 100644
--- a/code/modules/uplink/uplink.dm
+++ b/code/modules/uplink/uplink.dm
@@ -50,7 +50,7 @@ var/global/list/uplinks = list()
if(I.type == path && refundable && I.check_uplink_validity())
telecrystals += cost
spent_telecrystals -= cost
- user << "[I] refunded."
+ to_chat(user, "[I] refunded.")
qdel(I)
return
..()
diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm
index 5c0f8699e78..4e8a512f551 100644
--- a/code/modules/uplink/uplink_item.dm
+++ b/code/modules/uplink/uplink_item.dm
@@ -112,9 +112,9 @@ var/list/uplink_items = list() // Global list so we only initialize this once.
if(ishuman(user) && istype(A, /obj/item))
var/mob/living/carbon/human/H = user
if(H.put_in_hands(A))
- H << "[A] materializes into your hands!"
+ to_chat(H, "[A] materializes into your hands!")
else
- H << "\The [A] materializes onto the floor."
+ to_chat(H, "\The [A] materializes onto the floor.")
return 1
//Discounts (dynamically filled above)
diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm
index 01813f46ff3..54ac1111b17 100644
--- a/code/modules/vehicles/pimpin_ride.dm
+++ b/code/modules/vehicles/pimpin_ride.dm
@@ -46,24 +46,24 @@
/obj/vehicle/janicart/examine(mob/user)
..()
if(floorbuffer)
- user << "It has been upgraded with a floor buffer."
+ to_chat(user, "It has been upgraded with a floor buffer.")
/obj/vehicle/janicart/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/storage/bag/trash))
if(mybag)
- user << "[src] already has a trashbag hooked!"
+ to_chat(user, "[src] already has a trashbag hooked!")
return
if(!user.drop_item())
return
- user << "You hook the trashbag onto \the [name]."
+ to_chat(user, "You hook the trashbag onto \the [name].")
I.loc = src
mybag = I
update_icon()
else if(istype(I, /obj/item/janiupgrade))
floorbuffer = 1
qdel(I)
- user << "You upgrade \the [name] with the floor buffer."
+ to_chat(user, "You upgrade \the [name] with the floor buffer.")
update_icon()
else
return ..()
diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm
index 261711bfdec..b4a0e85b0a2 100644
--- a/code/modules/vehicles/scooter.dm
+++ b/code/modules/vehicles/scooter.dm
@@ -5,12 +5,12 @@
/obj/vehicle/scooter/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
- user << "You begin to remove the handlebars..."
+ to_chat(user, "You begin to remove the handlebars...")
playsound(get_turf(user), 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 40*I.toolspeed, target = src))
var/obj/vehicle/scooter/skateboard/S = new /obj/vehicle/scooter/skateboard(get_turf(src))
new /obj/item/stack/rods(get_turf(src),2)
- user << "You remove the handlebars from [src]."
+ to_chat(user, "You remove the handlebars from [src].")
if(has_buckled_mobs())
var/mob/living/carbon/H = buckled_mobs[1]
unbuckle_mob(H)
@@ -23,7 +23,7 @@
if(!istype(M))
return 0
if(M.get_num_legs() < 2 && M.get_num_arms() <= 0)
- M << "Your limbless body can't ride \the [src]."
+ to_chat(M, "Your limbless body can't ride \the [src].")
return 0
. = ..()
@@ -65,7 +65,7 @@
if(!istype(M) || M.incapacitated() || !Adjacent(M))
return
if(has_buckled_mobs() && over_object == M)
- M << "You can't lift this up when somebody's on it."
+ to_chat(M, "You can't lift this up when somebody's on it.")
return
if(over_object == M)
var/obj/item/weapon/melee/skateboard/board = new /obj/item/weapon/melee/skateboard()
@@ -82,7 +82,7 @@
/obj/item/scooter_frame/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wrench))
- user << "You deconstruct [src]."
+ to_chat(user, "You deconstruct [src].")
new /obj/item/stack/rods(get_turf(src),10)
playsound(get_turf(user), 'sound/items/Ratchet.ogg', 50, 1)
qdel(src)
@@ -91,23 +91,23 @@
else if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.get_amount() < 5)
- user << "You need at least five metal sheets to make proper wheels!"
+ to_chat(user, "You need at least five metal sheets to make proper wheels!")
return
- user << "You begin to add wheels to [src]."
+ to_chat(user, "You begin to add wheels to [src].")
if(do_after(user, 80, target = src))
if(!M || M.get_amount() < 5)
return
M.use(5)
- user << "You finish making wheels for [src]."
+ to_chat(user, "You finish making wheels for [src].")
new /obj/vehicle/scooter/skateboard(user.loc)
qdel(src)
/obj/vehicle/scooter/skateboard/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/screwdriver))
- user << "You begin to deconstruct and remove the wheels on [src]..."
+ to_chat(user, "You begin to deconstruct and remove the wheels on [src]...")
playsound(get_turf(user), I.usesound, 50, 1)
if(do_after(user, 20, target = src))
- user << "You deconstruct the wheels on [src]."
+ to_chat(user, "You deconstruct the wheels on [src].")
new /obj/item/stack/sheet/metal(get_turf(src),5)
new /obj/item/scooter_frame(get_turf(src))
if(has_buckled_mobs())
@@ -118,13 +118,13 @@
else if(istype(I, /obj/item/stack/rods))
var/obj/item/stack/rods/C = I
if(C.get_amount() < 2)
- user << "You need at least two rods to make proper handlebars!"
+ to_chat(user, "You need at least two rods to make proper handlebars!")
return
- user << "You begin making handlebars for [src]."
+ to_chat(user, "You begin making handlebars for [src].")
if(do_after(user, 25, target = src))
if(!C || C.get_amount() < 2)
return
- user << "You add the rods to [src], creating handlebars."
+ to_chat(user, "You add the rods to [src], creating handlebars.")
C.use(2)
var/obj/vehicle/scooter/S = new/obj/vehicle/scooter(get_turf(src))
if(has_buckled_mobs())
diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm
index 343a103fc3a..3b879ed9b87 100644
--- a/code/modules/vehicles/vehicle.dm
+++ b/code/modules/vehicles/vehicle.dm
@@ -98,12 +98,12 @@
..()
if(!(resistance_flags & INDESTRUCTIBLE))
if(resistance_flags & ON_FIRE)
- user << "It's on fire!"
+ to_chat(user, "It's on fire!")
var/healthpercent = (obj_integrity/max_integrity) * 100
switch(healthpercent)
if(50 to 99)
- user << "It looks slightly damaged."
+ to_chat(user, "It looks slightly damaged.")
if(25 to 50)
- user << "It appears heavily damaged."
+ to_chat(user, "It appears heavily damaged.")
if(0 to 25)
- user << "It's falling apart!"
\ No newline at end of file
+ to_chat(user, "It's falling apart!")
\ No newline at end of file
diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm
index 8d568503938..51e5e201f80 100644
--- a/code/modules/zombie/organs.dm
+++ b/code/modules/zombie/organs.dm
@@ -35,9 +35,9 @@
deltimer(timer_id)
/obj/item/organ/zombie_infection/on_find(mob/living/finder)
- finder << "Inside the head is a disgusting black \
+ to_chat(finder, "Inside the head is a disgusting black \
web of pus and vicera, bound tightly around the brain like some \
- biological harness."
+ biological harness.")
/obj/item/organ/zombie_infection/process()
if(!owner)
@@ -50,9 +50,9 @@
if(owner.stat != DEAD && !converts_living)
return
if(!iszombie(owner))
- owner << "You can feel your heart stopping, but something isn't right... \
+ to_chat(owner, "You can feel your heart stopping, but something isn't right... \
life has not abandoned your broken form. You can only feel a deep and immutable hunger that \
- not even death can stop, you will rise again!"
+ not even death can stop, you will rise again!")
var/revive_time = rand(revive_time_min, revive_time_max)
var/flags = TIMER_STOPPABLE
timer_id = addtimer(CALLBACK(src, .proc/zombify), revive_time, flags)
@@ -75,4 +75,4 @@
playsound(owner.loc, 'sound/hallucinations/far_noise.ogg', 50, 1)
owner.do_jitter_animation(living_transformation_time * 10)
owner.Stun(living_transformation_time)
- owner << "You are now a zombie!"
+ to_chat(owner, "You are now a zombie!")
diff --git a/code/orphaned_procs/dbcore.dm b/code/orphaned_procs/dbcore.dm
index 97cbe67163e..1f4b1ef0d34 100644
--- a/code/orphaned_procs/dbcore.dm
+++ b/code/orphaned_procs/dbcore.dm
@@ -125,7 +125,7 @@ DBQuery/proc/Connect(DBConnection/connection_handler) src.db_connection = connec
DBQuery/proc/warn_execute()
. = Execute()
if(!.)
- usr << "A SQL error occured during this operation, check the server logs."
+ to_chat(usr, "A SQL error occured during this operation, check the server logs.")
DBQuery/proc/Execute(sql_query=src.sql,cursor_handler=default_cursor, log_error = 1)
Close()
diff --git a/code/orphaned_procs/priority_announce.dm b/code/orphaned_procs/priority_announce.dm
index 1ad4a33f8f4..d677f23e4e4 100644
--- a/code/orphaned_procs/priority_announce.dm
+++ b/code/orphaned_procs/priority_announce.dm
@@ -26,7 +26,7 @@
for(var/mob/M in player_list)
if(!isnewplayer(M) && !M.ear_deaf)
- M << announcement
+ to_chat(M, announcement)
if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)
M << sound(sound)
@@ -46,7 +46,7 @@
for(var/mob/M in player_list)
if(!isnewplayer(M) && !M.ear_deaf)
- M << "[title]
[message]
"
+ to_chat(M, "[title]
[message]
")
if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS)
if(alert)
M << sound('sound/misc/notice1.ogg')
diff --git a/code/world.dm b/code/world.dm
index 678caeac143..4759fba20bd 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -138,7 +138,7 @@
#define CHAT_PULLR 64 //defined in preferences.dm, but not available here at compilation time
for(var/client/C in clients)
if(C.prefs && (C.prefs.chat_toggles & CHAT_PULLR))
- C << "PR: [input["announce"]]"
+ to_chat(C, "PR: [input["announce"]]")
#undef CHAT_PULLR
else if("crossmessage" in input)
@@ -181,7 +181,7 @@
if (usr)
log_admin("[key_name(usr)] Has requested an immediate world restart via client side debugging tools")
message_admins("[key_name_admin(usr)] Has requested an immediate world restart via client side debugging tools")
- world << "Rebooting World immediately due to host request"
+ to_chat(world, "Rebooting World immediately due to host request")
WORLD_REBOOT(1)
var/delay
if(time)
@@ -189,9 +189,9 @@
else
delay = config.round_end_countdown * 10
if(ticker.delay_end)
- world << "An admin has delayed the round end."
+ to_chat(world, "An admin has delayed the round end.")
return
- world << "Rebooting World in [delay/10] [(delay >= 10 && delay < 20) ? "second" : "seconds"]. [reason]"
+ to_chat(world, "Rebooting World in [delay/10] [(delay >= 10 && delay < 20) ? "second" : "seconds"]. [reason]")
var/round_end_sound_sent = FALSE
if(ticker.round_end_sound)
round_end_sound_sent = TRUE
@@ -202,7 +202,7 @@
C.Export("##action=load_rsc", ticker.round_end_sound)
sleep(delay)
if(ticker.delay_end)
- world << "Reboot was cancelled by an admin."
+ to_chat(world, "Reboot was cancelled by an admin.")
return
OnReboot(reason, feedback_c, feedback_r, round_end_sound_sent)
WORLD_REBOOT(0)
@@ -224,7 +224,7 @@
Master.Shutdown() //run SS shutdowns
RoundEndAnimation(round_end_sound_sent)
kick_clients_in_lobby("The round came to an end with you in the lobby.", 1) //second parameter ensures only afk clients are kicked
- world << "Rebooting world..."
+ to_chat(world, "Rebooting world...")
for(var/thing in clients)
var/client/C = thing
if(C && config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite
@@ -268,7 +268,7 @@
/world/proc/save_mode(the_mode)
var/F = file("data/mode.txt")
fdel(F)
- F << the_mode
+ to_chat(F, the_mode)
/world/proc/load_motd()
join_motd = file2text("config/motd.txt") + "
" + revdata.GetTestMergeInfo()
diff --git a/interface/interface.dm b/interface/interface.dm
index 968f36bdf89..ef9ad52b487 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -8,7 +8,7 @@
return
src << link(config.wikiurl)
else
- src << "The wiki URL is not set in the server configuration."
+ to_chat(src, "The wiki URL is not set in the server configuration.")
return
/client/verb/forum()
@@ -20,7 +20,7 @@
return
src << link(config.forumurl)
else
- src << "The forum URL is not set in the server configuration."
+ to_chat(src, "The forum URL is not set in the server configuration.")
return
/client/verb/rules()
@@ -32,7 +32,7 @@
return
src << link(config.rulesurl)
else
- src << "The rules URL is not set in the server configuration."
+ to_chat(src, "The rules URL is not set in the server configuration.")
return
/client/verb/github()
@@ -44,7 +44,7 @@
return
src << link(config.githuburl)
else
- src << "The Github URL is not set in the server configuration."
+ to_chat(src, "The Github URL is not set in the server configuration.")
return
/client/verb/reportissue()
@@ -54,13 +54,13 @@
if(config.githuburl)
var/message = "This will open the Github issue reporter in your browser. Are you sure?"
if(revdata.testmerge.len)
- message += "
The following experimental changes are active and are probably the cause of any new or sudden issues you may experience. If possible, please try to find a specific thread for your issue instead of posting to the general issue tracker:
"
+ message += "
The following experimental changes are active and are probably the cause of any new or sudden issues you may experience. If possible, please try to find a specific thread for your issue instead of posting to the general issue tracker:
"
message += revdata.GetTestMergeInfo(FALSE)
if(tgalert(src, message, "Report Issue","Yes","No")=="No")
return
src << link("[config.githuburl]/issues/new")
else
- src << "The Github URL is not set in the server configuration."
+ to_chat(src, "The Github URL is not set in the server configuration.")
return
/client/verb/hotkeys_help()
@@ -134,7 +134,7 @@ Hotkey-Mode: (hotkey-mode must be on)
\t3 = grab-intent
\t4 = harm-intent
\tNumpad = Body target selection (Press 8 repeatedly for Head->Eyes->Mouth)
-\tAlt(HOLD) = Alter movement intent
+\tAlt(HOLD) = Alter movement intent
"}
var/other = {"