diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm
index f1b5d3a973..8c9d7d7704 100644
--- a/code/datums/helper_datums/getrev.dm
+++ b/code/datums/helper_datums/getrev.dm
@@ -105,13 +105,13 @@
probs[ctag] = 1
prob_sum += config.probabilities[ctag]
if(current_odds_differ)
- src <<"Game Mode Odds for current round:"
+ to_chat(src, "Game Mode Odds for current round:")
for(var/ctag in probs)
if(config.probabilities[ctag] > 0)
var/percentage = round(config.probabilities[ctag] / prob_sum * 100, 0.1)
to_chat(src, "[ctag] [percentage]%")
- src <<"All Game Mode Odds:"
+ to_chat(src, "All Game Mode Odds:")
var/sum = 0
for(var/ctag in config.probabilities)
sum += config.probabilities[ctag]
diff --git a/code/datums/martial.dm b/code/datums/martial.dm
index cc6fa4f2c8..b20bf556d5 100644
--- a/code/datums/martial.dm
+++ b/code/datums/martial.dm
@@ -657,7 +657,7 @@
/obj/item/weapon/cqc_manual/attack_self(mob/living/carbon/human/user)
if(!istype(user) || !user)
return
- user <<"You remember the basics of CQC."
+ to_chat(user, "You remember the basics of CQC.")
var/datum/martial_art/cqc/D = new(null)
D.teach(user)
user.drop_item()
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 535247d750..5a6c34bcc4 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -1143,7 +1143,7 @@
log_admin("[key_name_admin(usr)] has made [current] unable to ascend as a devil.")
return
if(!ishuman(current) && !iscyborg(current))
- usr << "This only works on humans and cyborgs!"
+ to_chat(usr, "This only works on humans and cyborgs!")
return
SSticker.mode.devils += src
special_role = "devil"
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 2d3d19f7c0..9ff8c7c1b6 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -562,7 +562,7 @@
return
else
var/turf/currentturf = get_turf(src)
- get(src, /mob) << "You can't help but feel that you just lost something back there..."
+ to_chat(get(src, /mob), "You can't help but feel that you just lost something back there...")
var/turf/targetturf = relocate()
log_game("[src] has been moved out of bounds in [COORD(currentturf)]. Moving it to [COORD(targetturf)].")
if(HAS_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE))
@@ -627,4 +627,4 @@
/atom/movable/proc/ConveyorMove(movedir)
set waitfor = FALSE
if(!anchored && has_gravity())
- step(src, movedir)
+ step(src, movedir)
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index a7c466e746..4f09f2e362 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -556,7 +556,7 @@
var/mob/living/silicon/ai/A = usr
if(A.stat == DEAD)
- A <<"You are already dead!" //Omae Wa Mou Shindeiru
+ to_chat(A, "You are already dead!") //Omae Wa Mou Shindeiru
return
for(var/datum/AI_Module/AM in possible_modules)
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index e6365d5e65..2c28109f5f 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -471,11 +471,11 @@ Congratulations! You are now trained for invasive xenobiology research!"}
..()
switch(mode)
if(BATON_STUN)
- user <<"The baton is in stun mode."
+ to_chat(user, "The baton is in stun mode.")
if(BATON_SLEEP)
- user <<"The baton is in sleep inducement mode."
+ to_chat(user, "The baton is in sleep inducement mode.")
if(BATON_CUFF)
- user <<"The baton is in restraining mode."
+ to_chat(user, "The baton is in restraining mode.")
if(BATON_PROBE)
to_chat(user, "The baton is in probing mode.")
diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm
index b10fb16768..92cff03ec9 100644
--- a/code/game/gamemodes/miniantags/borer/borer.dm
+++ b/code/game/gamemodes/miniantags/borer/borer.dm
@@ -628,7 +628,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 10)
chemicals -= 250
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!"
+ to_chat(victim, "You bolt upright, gasping for breath!")
/mob/living/simple_animal/borer/verb/bond_brain()
set category = "Borer"
@@ -672,7 +672,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 10)
if(!bonding)
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(is_servant_of_ratvar(victim) || iscultist(victim) || victim.isloyal())
to_chat(src, "[victim]'s mind seems to be blocked by some unknown force!")
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
index c3d06bfe2c..53e92c639d 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
@@ -92,7 +92,7 @@
playsound(user, 'sound/magic/Demon_consume.ogg', 50, 1)
for(var/obj/effect/proc_holder/spell/knownspell in user.mind.spell_list)
if(knownspell.type == /obj/effect/proc_holder/spell/bloodcrawl)
- user <<"...and you don't feel any different."
+ to_chat(user, "...and you don't feel any different.")
qdel(src)
return
user.visible_message("[user]'s eyes flare a deep crimson!", \
diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm
index 753cd42a4f..0c1b870771 100644
--- a/code/game/machinery/computer/apc_control.dm
+++ b/code/game/machinery/computer/apc_control.dm
@@ -108,7 +108,7 @@
if(!authenticated) //Check for emags
var/obj/item/weapon/card/emag/E = usr.get_active_held_item()
if(E && istype(E) && usr.Adjacent(src))
- usr << "You bypass [src]'s access requirements using your emag."
+ to_chat(usr, "You bypass [src]'s access requirements using your emag.")
authenticated = TRUE
log_activity("logged in") //Auth ID doesn't change, hinting that it was illicit
if(href_list["log_out"])
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index 907d7b5a6d..ca329f61e5 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -532,7 +532,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
else
SSjob.prioritized_jobs += j
prioritycount++
- usr << "[j.title] has been successfully [priority ? "prioritized" : "unprioritized"]. Potential employees will notice your request."
+ to_chat(usr, "[j.title] has been successfully [priority ? "prioritized" : "unprioritized"]. Potential employees will notice your request.")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if ("print")
diff --git a/code/game/objects/items/weapons/holosign_creator.dm b/code/game/objects/items/weapons/holosign_creator.dm
index fb68e33f45..3b611883e6 100644
--- a/code/game/objects/items/weapons/holosign_creator.dm
+++ b/code/game/objects/items/weapons/holosign_creator.dm
@@ -87,7 +87,7 @@
var/mob/living/silicon/robot/R = user
if(shock)
- user <<"You clear all active holograms, and reset your projector to normal."
+ to_chat(user, "You clear all active holograms, and reset your projector to normal.")
holosign_type = /obj/structure/holosign/barrier/cyborg
creation_time = 5
if(signs.len)
@@ -96,7 +96,7 @@
shock = 0
return
else if(R.emagged&&!shock)
- user <<"You clear all active holograms, and overload your energy projector!"
+ to_chat(user, "You clear all active holograms, and overload your energy projector!")
holosign_type = /obj/structure/holosign/barrier/cyborg/hacked
creation_time = 30
if(signs.len)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 91372da6ae..5393f40ec6 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -60,9 +60,9 @@
/obj/item/weapon/melee/baton/examine(mob/user)
..()
if(bcell)
- user <<"The baton is [round(bcell.percent())]% charged."
+ to_chat(user, "The baton is [round(bcell.percent())]% charged.")
else
- user <<"The baton does not have a power source installed."
+ to_chat(user, "The baton does not have a power source installed.")
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/stock_parts/cell))
diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm
index e2331e13dc..8d9c668542 100644
--- a/code/game/objects/structures/fireaxe.dm
+++ b/code/game/objects/structures/fireaxe.dm
@@ -115,7 +115,7 @@
update_icon()
return
if(locked)
- user <<" The [name] won't budge!"
+ to_chat(user, "The [name] won't budge!")
return
else
open = !open
@@ -131,7 +131,7 @@
/obj/structure/fireaxecabinet/attack_tk(mob/user)
if(locked)
- user <<" The [name] won't budge!"
+ to_chat(user, "The [name] won't budge!")
return
else
open = !open
@@ -177,7 +177,7 @@
set src in oview(1)
if(locked)
- usr <<" The [name] won't budge!"
+ to_chat(usr, "The [name] won't budge!")
return
else
open = !open
diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm
index 5c197332d1..a8a998e349 100644
--- a/code/modules/atmospherics/machinery/airalarm.dm
+++ b/code/modules/atmospherics/machinery/airalarm.dm
@@ -662,7 +662,7 @@
playsound(src.loc, W.usesound, 50, 1)
if (do_after(user, 20*W.toolspeed, target = src))
if (buildstage == 1)
- user <<"You remove the air alarm electronics."
+ to_chat(user, "You remove the air alarm electronics.")
new /obj/item/weapon/electronics/airalarm( src.loc )
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
buildstage = 0
diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm
index bb4d1f1e0d..55dbc4d19b 100644
--- a/code/modules/clothing/suits/wiz_robe.dm
+++ b/code/modules/clothing/suits/wiz_robe.dm
@@ -224,5 +224,5 @@
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."
+ to_chat(user, "You charge \the [W]. It can now absorb [W.current_charges] hits.")
qdel(src)
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index cb10935323..d3fe5eb6d2 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -238,7 +238,7 @@
else if(icontype == "Angel")
icon_state = "ai-angel"
//else
- //usr <<"You can only change your display once!"
+ //to_chat(usr, "You can only change your display once!")
//return
/mob/living/silicon/ai/Stat()
@@ -351,7 +351,7 @@
if(isAI(usr))
var/mob/living/silicon/ai/AI = src
if(AI.control_disabled)
- src << "Wireless control is disabled!"
+ to_chat(src, "Wireless control is disabled!")
return
SSshuttle.cancelEvac(src)
return
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index cb385db4b8..a8ae4da97a 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -138,7 +138,7 @@
/obj/item/weapon/gun/energy/plasmacutter/examine(mob/user)
..()
if(power_supply)
- user <<"[src] is [round(power_supply.percent())]% charged."
+ to_chat(user, "[src] is [round(power_supply.percent())]% charged.")
/obj/item/weapon/gun/energy/plasmacutter/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/stack/sheet/mineral/plasma))
diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm
index 38d742c5be..04c5c63989 100644
--- a/code/modules/research/xenobiology/xenobiology.dm
+++ b/code/modules/research/xenobiology/xenobiology.dm
@@ -20,7 +20,7 @@
if(Uses >= 5)
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."
+ to_chat(user, "You apply the enhancer to the slime extract. It may now be reused one more time.")
Uses++
qdel(O)
..()
@@ -146,8 +146,8 @@
M.docile = 1
M.nutrition = 700
- M <<"You absorb the potion and feel your intense desire to feed melt away."
- user <<"You feed the slime the potion, removing its hunger and calming it."
+ to_chat(M, "You absorb the potion and feel your intense desire to feed melt away.")
+ to_chat(user, "You feed the slime the potion, removing its hunger and calming it.")
var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN)
if (!newname)
@@ -261,10 +261,10 @@
to_chat(user, "The slime is dead!")
return ..()
if(M.cores >= 5)
- user <<"The slime already has the maximum amount of extract!"
+ to_chat(user, "The slime already has the maximum amount of extract!")
return ..()
- user <<"You feed the slime the steroid. It will now produce one more extract."
+ to_chat(user, "You feed the slime the steroid. It will now produce one more extract.")
M.cores++
qdel(src)
@@ -288,10 +288,10 @@
to_chat(user, "The slime is dead!")
return ..()
if(M.mutation_chance == 0)
- user <<"The slime already has no chance of mutating!"
+ to_chat(user, "The slime already has no chance of mutating!")
return ..()
- user <<"You feed the slime the stabilizer. It is now less likely to mutate."
+ to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.")
M.mutation_chance = Clamp(M.mutation_chance-15,0,100)
qdel(src)
@@ -312,10 +312,10 @@
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!"
+ to_chat(user, "The slime is already guaranteed to mutate!")
return ..()
- user <<"You feed the slime the mutator. It is now more likely to mutate."
+ to_chat(user, "You feed the slime the mutator. It is now more likely to mutate.")
M.mutation_chance = Clamp(M.mutation_chance+12,0,100)
M.mutator_used = TRUE
qdel(src)
@@ -348,7 +348,7 @@
return ..()
R.vehicle_move_delay = 0
- user <<"You slather the red gunk over the [C], making it faster."
+ to_chat(user, "You slather the red gunk over the [C], making it faster.")
C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
C.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY)
qdel(src)
@@ -373,7 +373,7 @@
if(C.max_heat_protection_temperature == FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT)
to_chat(user, "The [C] is already fireproof!")
return ..()
- user <<"You slather the blue gunk over the [C], fireproofing it."
+ to_chat(user, "You slather the blue gunk over the [C], fireproofing it.")
C.name = "fireproofed [C.name]"
C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY)
diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm
index b4af9d9e17..ef4efd4342 100644
--- a/code/modules/shuttle/arrivals.dm
+++ b/code/modules/shuttle/arrivals.dm
@@ -177,7 +177,7 @@
Launch(TRUE)
- user << "Calling your shuttle. One moment..."
+ to_chat(user, "Calling your shuttle. One moment...")
while(mode != SHUTTLE_CALL && !damaged)
stoplag()
diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm
index d9702cd0b7..380b7e4728 100644
--- a/code/modules/spells/spell_types/area_teleport.dm
+++ b/code/modules/spells/spell_types/area_teleport.dm
@@ -47,7 +47,7 @@
L+=T
if(!L.len)
- usr <<"The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry."
+ to_chat(usr, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
return
if(target && target.buckled)
diff --git a/code/modules/spells/spell_types/charge.dm b/code/modules/spells/spell_types/charge.dm
index 32bdf54a31..c37166a244 100644
--- a/code/modules/spells/spell_types/charge.dm
+++ b/code/modules/spells/spell_types/charge.dm
@@ -26,9 +26,9 @@
if(M.mind)
for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list)
S.charge_counter = S.charge_max
- M <<"You feel raw magic flowing through you. It feels good!"
+ to_chat(M, "You feel raw magic flowing through you. It feels good!")
else
- M <<"you feel very strange for a moment, but then it passes."
+ to_chat(M, "You feel very strange for a moment, but then it passes.")
burnt_out = 1
charged_item = M
break
diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm
index c9ff892910..8e8968fb52 100644
--- a/code/modules/spells/spell_types/devil.dm
+++ b/code/modules/spells/spell_types/devil.dm
@@ -234,7 +234,7 @@
else
var/list/funky_turfs = RANGE_TURFS(1, user)
for(var/turf/closed/solid in funky_turfs)
- user << "You're too close to a wall."
+ to_chat(user, "You're too close to a wall.")
return
dancefloor_exists = TRUE
var/i = 1
diff --git a/interface/interface.dm b/interface/interface.dm
index 35b70d9caf..6ee0e7ac64 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -78,7 +78,7 @@ Admin:
mob.hotkey_help()
if(holder)
- src << adminhotkeys
+ to_chat(src, adminhotkeys)
/client/verb/changelog()
set name = "Changelog"
@@ -168,8 +168,8 @@ Any-Mode: (hotkey doesn't need to be on)
\tCtrl+Numpad = Body target selection (Press 8 repeatedly for Head->Eyes->Mouth)
"}
- src << hotkey_mode
- src << other
+ to_chat(src, hotkey_mode)
+ to_chat(src, other)
/mob/living/silicon/robot/hotkey_help()
//h = talk-wheel has a nonsense tag in it because \th is an escape sequence in BYOND.
@@ -220,8 +220,8 @@ Any-Mode: (hotkey doesn't need to be on)
\tPGDN = activate held object
"}
- src << hotkey_mode
- src << other
+ to_chat(src, hotkey_mode)
+ to_chat(src, other)
// Needed to circumvent a bug where .winset does not work when used on the window.on-size event in skins.
// Used by /datum/html_interface/nanotrasen (code/modules/html_interface/nanotrasen/nanotrasen.dm)