diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
index 8de40b636b6..736137e7b55 100644
--- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
@@ -393,9 +393,9 @@
/obj/machinery/atmospherics/unary/vent_pump/examine(mob/user)
- ..(user)
+ . = ..()
if(welded)
- to_chat(user, "It seems welded shut.")
+ . += "It seems welded shut."
/obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat
diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
index 20218f7f2d0..5844407e777 100644
--- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
@@ -65,9 +65,9 @@
return ..()
/obj/machinery/atmospherics/unary/vent_pump/examine(mob/user)
- ..(user)
+ . = ..()
if(welded)
- to_chat(user, "It seems welded shut.")
+ . += "It seems welded shut."
/obj/machinery/atmospherics/unary/vent_scrubber/auto_use_power()
if(!powered(power_channel))
diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm
index b3b86ac13e1..df957eaa11e 100644
--- a/code/__DEFINES/components.dm
+++ b/code/__DEFINES/components.dm
@@ -40,7 +40,7 @@
#define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params)
#define COMPONENT_NO_AFTERATTACK 1 //Return this in response if you don't want afterattack to be called
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human)
-#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob)
+#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob, result)
#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" //from base of atom/get_examine_name(): (/mob, list/overrides)
//Positions for overrides list
#define EXAMINE_POSITION_ARTICLE 1
diff --git a/code/datums/components/decal.dm b/code/datums/components/decal.dm
index bdc1d3a2f6f..26d4653b25a 100644
--- a/code/datums/components/decal.dm
+++ b/code/datums/components/decal.dm
@@ -71,5 +71,5 @@
if(strength >= cleanable)
qdel(src)
-/datum/component/decal/proc/examine(datum/source, mob/user)
- to_chat(user, description)
\ No newline at end of file
+/datum/component/decal/proc/examine(datum/source, mob/user, var/list/examine_list)
+ examine_list += description
\ No newline at end of file
diff --git a/code/datums/components/ducttape.dm b/code/datums/components/ducttape.dm
index 5bbf99198fd..85568f7a09c 100644
--- a/code/datums/components/ducttape.dm
+++ b/code/datums/components/ducttape.dm
@@ -17,8 +17,8 @@
if(I.loc == user)
RT.Grant(user)
-/datum/component/proc/add_tape_text(datum/source, mob/user)
- to_chat(user, "There's some sticky tape attached to [source].")
+/datum/component/proc/add_tape_text(datum/source, mob/user, list/examine_list)
+ examine_list += "There's some sticky tape attached to [source]."
/datum/component/ducttape/proc/add_tape_overlay(obj/item/O)
tape_overlay = new('icons/obj/bureaucracy.dmi', "tape")
diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index 92c8c6b108d..8d44679fa4a 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -49,13 +49,13 @@
var/mat_path = possible_mats[id]
materials[id] = new mat_path()
-/datum/component/material_container/proc/OnExamine(datum/source, mob/user)
+/datum/component/material_container/proc/OnExamine(datum/source, mob/user, list/examine_list)
if(show_on_examine)
for(var/I in materials)
var/datum/material/M = materials[I]
var/amt = amount(M.id)
if(amt)
- to_chat(user, "It has [amt] units of [lowertext(M.name)] stored.")
+ examine_list += "It has [amt] units of [lowertext(M.name)] stored."
/datum/component/material_container/proc/OnAttackBy(datum/source, obj/item/I, mob/living/user)
var/list/tc = allowed_typecache
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index dc84c1836dd..da1ce847e54 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -272,7 +272,7 @@
//All atoms
-/atom/proc/examine(mob/user, var/distance = -1, var/infix = "", var/suffix = "")
+/atom/proc/examine(mob/user, infix = "", suffix = "")
//This reformat names to get a/an properly working on item descriptions when they are bloody
var/f_name = "\a [src][infix]."
if(src.blood_DNA && !istype(src, /obj/effect/decal))
@@ -284,33 +284,30 @@
f_name += "blood-stained [name][infix]!"
else
f_name += "oil-stained [name][infix]."
-
- to_chat(user, "[bicon(src)] That's [f_name] [suffix]")
+ . = list("[bicon(src)] That's [f_name] [suffix]")
if(desc)
- to_chat(user, desc)
+ . += desc
if(reagents)
if(container_type & TRANSPARENT)
- to_chat(user, "It contains:")
+ . += "It contains:"
if(reagents.reagent_list.len)
if(user.can_see_reagents()) //Show each individual reagent
for(var/I in reagents.reagent_list)
var/datum/reagent/R = I
- to_chat(user, "[R.volume] units of [R.name]")
+ . += "[R.volume] units of [R.name]"
else //Otherwise, just show the total volume
if(reagents && reagents.reagent_list.len)
- to_chat(user, "[reagents.total_volume] units of various reagents.")
+ . += "[reagents.total_volume] units of various reagents."
else
- to_chat(user, "Nothing. ")
+ . += "Nothing."
else if(container_type & AMOUNT_VISIBLE)
if(reagents.total_volume)
- to_chat(user, "It has [reagents.total_volume] unit\s left.")
+ . += "It has [reagents.total_volume] unit\s left."
else
- to_chat(user, "It's empty.")
+ . += "It's empty."
- SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user)
-
- return distance == -1 || (get_dist(src, user) <= distance) || isobserver(user) //observers do not have a range limit
+ SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .)
/atom/proc/relaymove()
return
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index ed06ec4086d..890728d9069 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -207,8 +207,8 @@
return
/obj/structure/blob/examine(mob/user)
- ..(user)
- to_chat(user, "It looks like it's made of [get_chem_name()].")
+ . = ..()
+ . += "It looks like it's made of [get_chem_name()]."
/obj/structure/blob/proc/get_chem_name()
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 7ef5baced97..0d70822dd01 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -281,9 +281,9 @@
/obj/item/cult_shift/examine(mob/user)
. = ..()
if(uses)
- to_chat(user, "It has [uses] uses remaining.")
+ . += "It has [uses] uses remaining."
else
- to_chat(user, "It seems drained.")
+ . += "It seems drained."
/obj/item/cult_shift/proc/handle_teleport_grab(turf/T, mob/user)
var/mob/living/carbon/C = user
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index c6a6a3b7490..0620b97718a 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -50,8 +50,8 @@
/obj/structure/cult/functional/examine(mob/user)
. = ..()
if(iscultist(user) && cooldowntime > world.time)
- to_chat(user, "The magic in [src] is weak, it will be ready to use again in [getETA()].")
- to_chat(user, "\The [src] is [anchored ? "":"not "]secured to the floor.")
+ . += "The magic in [src] is weak, it will be ready to use again in [getETA()]."
+ . += "\The [src] is [anchored ? "":"not "]secured to the floor."
/obj/structure/cult/functional/attackby(obj/I, mob/user, params)
if(HULK in user.mutations)
diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index fb6bb95a4a8..24db67c952b 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -46,11 +46,11 @@
..()
/obj/item/tome/examine(mob/user)
- ..()
+ . = ..()
if(iscultist(user) || user.stat == DEAD)
- to_chat(user, "The scriptures of [SSticker.cultdat.entity_title3]. Allows the scribing of runes and access to the knowledge archives of the cult of [SSticker.cultdat.entity_name].")
- 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.")
+ . += "The scriptures of [SSticker.cultdat.entity_title3]. Allows the scribing of runes and access to the knowledge archives of the cult of [SSticker.cultdat.entity_name]."
+ . += "Striking another cultist with it will purge holy water from them."
+ . += "Striking a noncultist, however, will sear their flesh."
/obj/item/tome/attack(mob/living/M, mob/living/user)
if(!istype(M))
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 56f07d52826..4f647e2d576 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -50,13 +50,13 @@ To draw a rune, use an arcane tome.
AI.client.images += blood
/obj/effect/rune/examine(mob/user)
- ..()
+ . = ..()
if(iscultist(user) || user.stat == DEAD) //If they're a cultist or a ghost, tell them the effects
- to_chat(user, "Name: [cultist_name]")
- to_chat(user, "Effects: [capitalize(cultist_desc)]")
- to_chat(user, "Required Acolytes: [req_cultists]")
+ . += "Name: [cultist_name]"
+ . += "Effects: [capitalize(cultist_desc)]"
+ . += "Required Acolytes: [req_cultists]"
if(req_keyword && keyword)
- to_chat(user, "Keyword: [keyword]")
+ . += "Keyword: [keyword]"
/obj/effect/rune/attackby(obj/I, mob/user, params)
if(istype(I, /obj/item/tome) && iscultist(user))
@@ -754,9 +754,9 @@ var/list/teleport_runes = list()
var/mob/living/affecting = null
/obj/effect/rune/astral/examine(mob/user)
- ..()
+ . = ..()
if(affecting)
- to_chat(user, "A translucent field encases [user] above the rune!")
+ . += "A translucent field encases [user] above the rune!"
/obj/effect/rune/astral/can_invoke(mob/living/user)
if(rune_in_use)
@@ -826,9 +826,9 @@ var/list/teleport_runes = list()
invoke_damage = 2
/obj/effect/rune/wall/examine(mob/user)
- ..()
+ . = ..()
if(density)
- to_chat(user, "There is a barely perceptible shimmering of the air above [src].")
+ . += "There is a barely perceptible shimmering of the air above [src]."
/obj/effect/rune/wall/invoke(var/list/invokers)
var/mob/living/user = invokers[1]
diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm
index 179425d320d..f7aaf2c1ebd 100644
--- a/code/game/gamemodes/cult/talisman.dm
+++ b/code/game/gamemodes/cult/talisman.dm
@@ -12,12 +12,13 @@
SEND_SIGNAL(src, COMSIG_OBJ_UPDATE_ICON)
/obj/item/paper/talisman/examine(mob/user)
+ . = ..()
if(iscultist(user) || user.stat == DEAD)
- to_chat(user, "Name: [cultist_name]")
- to_chat(user, "Effect: [cultist_desc]")
- to_chat(user, "Uses Remaining: [uses]")
+ . += "Name: [cultist_name]"
+ . += "Effect: [cultist_desc]"
+ . += "Uses Remaining: [uses]"
else
- to_chat(user, "You see strange symbols on the paper. Are they supposed to mean something?")
+ . += "You see strange symbols on the paper. Are they supposed to mean something?"
/obj/item/paper/talisman/attack_self(mob/living/user)
if(!iscultist(user))
diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm
index 93b307f0105..197524c0e38 100644
--- a/code/game/gamemodes/devil/true_devil/_true_devil.dm
+++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm
@@ -93,7 +93,7 @@
else if(health < (maxHealth/2))
msg += "You can see hellfire inside of it's wounds.\n"
msg += "*---------*"
- to_chat(user, msg)
+ . = list(msg)
/mob/living/carbon/true_devil/IsAdvancedToolUser()
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index 232396d951a..539df377b71 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -563,16 +563,16 @@ Congratulations! You are now trained for invasive xenobiology research!"}
. = ..()
/obj/item/abductor_baton/examine(mob/user)
- ..()
+ . = ..()
switch(mode)
if(BATON_STUN)
- to_chat(user, "The baton is in stun mode.")
+ . += "The baton is in stun mode."
if(BATON_SLEEP)
- to_chat(user, "The baton is in sleep inducement mode.")
+ . += "The baton is in sleep inducement mode."
if(BATON_CUFF)
- to_chat(user, "The baton is in restraining mode.")
+ . += "The baton is in restraining mode."
if(BATON_PROBE)
- to_chat(user, "The baton is in probing mode.")
+ . += "The baton is in probing mode."
/obj/item/radio/headset/abductor
name = "alien headset"
diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm
index fc7fcce72e0..a527f055466 100644
--- a/code/game/gamemodes/miniantags/guardian/guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/guardian.dm
@@ -309,7 +309,7 @@
/obj/item/guardiancreator/examine(mob/user, distance)
. = ..()
if(used)
- to_chat(user, "[used_message]")
+ . += "[used_message]"
/obj/item/guardiancreator/proc/spawn_guardian(mob/living/user, key)
var/guardian_type = "Standard"
diff --git a/code/game/gamemodes/miniantags/guardian/types/bomb.dm b/code/game/gamemodes/miniantags/guardian/types/bomb.dm
index fbe4458693f..b69487644f0 100644
--- a/code/game/gamemodes/miniantags/guardian/types/bomb.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/bomb.dm
@@ -82,6 +82,6 @@
return FALSE // Disarm or blow up. No picking up
/obj/item/guardian_bomb/examine(mob/user)
- stored_obj.examine(user)
- if(get_dist(user,src) <= 2)
- to_chat(user, "Looks odd!")
+ . = stored_obj.examine(user)
+ if(get_dist(user, src) <= 2)
+ . += "Looks odd!"
diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm
index 1da936b64ee..ef90f44f4a0 100644
--- a/code/game/gamemodes/miniantags/morph/morph.dm
+++ b/code/game/gamemodes/miniantags/morph/morph.dm
@@ -38,6 +38,8 @@
var/atom/movable/form = null
var/morph_time = 0
+ var/list/examine_text_list
+
var/playstyle_string = "You are a morph.
As an abomination created primarily with changeling cells, \
you may take the form of anything nearby by shift-clicking it. This process will alert any nearby \
observers, and can only be performed once every five seconds.
While morphed, you move faster, but do \
@@ -57,16 +59,11 @@
/mob/living/simple_animal/hostile/morph/examine(mob/user)
if(morphed)
- if(form)
- form.examine(user) // Refactor examine to return desc so it's static? Not sure if worth it
- // If the object you've disguised as has been deleted, your cover's probably blown
- else
- ..()
- if(get_dist(user,src)<=3)
- to_chat(user, "It doesn't look quite right...")
+ . = examine_text_list.Copy()
+ if(get_dist(user, src) <= 3)
+ . += "It doesn't look quite right..."
else
- ..()
- return
+ . = ..()
/mob/living/simple_animal/hostile/morph/proc/allowed(atom/movable/A) // make it into property/proc ? not sure if worth it
if(istype(A,/obj/screen))
@@ -109,7 +106,7 @@
melee_damage_lower = 5
melee_damage_upper = 5
speed = 0
-
+ examine_text_list = form.examine(src)
morph_time = world.time + MORPH_COOLDOWN
return
@@ -118,7 +115,7 @@
return
morphed = 0
form = null
-
+ examine_text_list = null // Free that memory
visible_message("[src] suddenly collapses in on itself, dissolving into a pile of green flesh!", \
"You reform to your normal body.")
name = initial(name)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm
index f0d8ede6634..e363c849eb9 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant.dm
@@ -374,11 +374,11 @@
qdel(src)
/obj/item/ectoplasm/revenant/examine(mob/user)
- ..(user)
+ . = ..()
if(inert)
- to_chat(user, "It seems inert.")
+ . += "It seems inert."
else if(reforming)
- to_chat(user, "It is shifting and distorted. It would be wise to destroy this.")
+ . += "It is shifting and distorted. It would be wise to destroy this."
/obj/item/ectoplasm/revenant/proc/reform()
if(inert || !src)
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index 07ee2219157..57be7349aa7 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -77,13 +77,11 @@
.()
/obj/item/pinpointer/examine(mob/user)
- ..(user)
- if(!shows_nuke_timer)
- return
-
- for(var/obj/machinery/nuclearbomb/bomb in GLOB.machines)
- if(bomb.timing)
- to_chat(user, "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]")
+ . = ..()
+ if(shows_nuke_timer)
+ for(var/obj/machinery/nuclearbomb/bomb in GLOB.machines)
+ if(bomb.timing)
+ . += "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]"
/obj/item/pinpointer/advpinpointer
name = "advanced pinpointer"
@@ -310,12 +308,12 @@
return 0
/obj/item/pinpointer/operative/examine(mob/user)
- ..()
+ . = ..()
if(active)
if(nearest_op)
- to_chat(user, "Nearest operative detected is [nearest_op.real_name].")
+ . += "Nearest operative detected is [nearest_op.real_name]."
else
- to_chat(user, "No operatives detected within scanning range.")
+ . += "No operatives detected within scanning range."
/obj/item/pinpointer/crew
name = "crew pinpointer"
@@ -395,9 +393,6 @@
spawn(5)
.()
-/obj/item/pinpointer/crew/examine(mob/user)
- ..(user)
-
/obj/item/pinpointer/crew/centcom
name = "centcom pinpointer"
desc = "A handheld tracking device that tracks crew based on remote centcom sensors."
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index a71b51c58f0..f67a8f28a5d 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -181,13 +181,13 @@
desc = "A wicked machine used by those skilled in magical arts. It is inactive"
/obj/structure/constructshell/examine(mob/user)
- if(..(user, 0))
- if(iscultist(user) || iswizard(user) || user.stat == DEAD)
- 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.")
+ . = ..()
+ if(in_range(user, src) && (iscultist(user) || iswizard(user) || user.stat == DEAD))
+ . += "A construct shell, used to house bound souls from a soulstone."
+ . += "Placing a soulstone with a soul into this shell allows you to produce your choice of the following:"
+ . += "An Artificer, which can produce more shells and soulstones, as well as fortifications."
+ . += "A Wraith, which does high damage and can jaunt through walls, though it is quite fragile."
+ . += "A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow."
/obj/structure/constructshell/attackby(obj/item/O as obj, mob/user as mob, params)
if(istype(O, /obj/item/soulstone))
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 0fc8581cd2d..8a445814ca2 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -1033,11 +1033,11 @@
update_icon()
/obj/machinery/alarm/examine(mob/user)
- ..(user)
+ . = ..()
if(buildstage < 2)
- to_chat(user, "It is not wired.")
+ . += "It is not wired."
if(buildstage < 1)
- to_chat(user, "The circuit is missing.")
+ . += "The circuit is missing."
/obj/machinery/alarm/all_access
name = "all-access air alarm"
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 4777cdcc5f2..f7e1dc15240 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -113,7 +113,7 @@
else
t += "The connect error light is blinking."
- to_chat(user, t)
+ . = list(t)
/obj/machinery/meter/Click()
if(istype(usr, /mob/living/silicon/ai)) // ghosts can call ..() for examine
diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm
index 71e1310f96b..eabd81c8e04 100644
--- a/code/game/machinery/atmoalter/portable_atmospherics.dm
+++ b/code/game/machinery/atmoalter/portable_atmospherics.dm
@@ -95,9 +95,9 @@
replace_tank(user, TRUE)
/obj/machinery/portable_atmospherics/examine(mob/user)
- ..()
+ . = ..()
if(holding)
- to_chat(user, "\The [src] contains [holding]. Alt-click [src] to remove it.")
+ . += "\The [src] contains [holding]. Alt-click [src] to remove it."
/obj/machinery/portable_atmospherics/proc/replace_tank(mob/living/user, close_valve, obj/item/tank/new_tank)
if(holding)
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 0d4455399b0..813120b7c42 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -32,10 +32,10 @@
overlays.Cut()
/obj/machinery/cell_charger/examine(mob/user)
- ..()
- to_chat(user, "There's [charging ? "a" : "no"] cell in the charger.")
+ . = ..()
+ . += "There's [charging ? "a" : "no"] cell in the charger."
if(charging)
- to_chat(user, "Current charge: [round(charging.percent(), 1)]%")
+ . += "Current charge: [round(charging.percent(), 1)]%"
/obj/machinery/cell_charger/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/stock_parts/cell))
diff --git a/code/game/machinery/chiller.dm b/code/game/machinery/chiller.dm
index d2f76a7c42a..afb17f3c90a 100644
--- a/code/game/machinery/chiller.dm
+++ b/code/game/machinery/chiller.dm
@@ -25,12 +25,12 @@
return
/obj/machinery/space_heater/air_conditioner/examine(mob/user)
- ..(user)
- to_chat(user, "The air conditioner is [on ? "on" : "off"] and the hatch is [open ? "open" : "closed"].")
+ . = ..()
+ . += "The air conditioner is [on ? "on" : "off"] and the hatch is [open ? "open" : "closed"]."
if(open)
- to_chat(user, "The power cell is [cell ? "installed" : "missing"].")
+ . += "The power cell is [cell ? "installed" : "missing"]."
else
- to_chat(user, "The charge meter reads [cell ? round(cell.percent(),1) : 0]%")
+ . += "The charge meter reads [cell ? round(cell.percent(),1) : 0]%"
/obj/machinery/space_heater/air_conditioner/emp_act(severity)
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index ca0eff0aa95..26e6b8f4d7f 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -164,19 +164,19 @@
to_chat(user, "You flip the write-protect tab to [read_only ? "protected" : "unprotected"].")
/obj/item/disk/data/examine(mob/user)
- ..(user)
- to_chat(user, "The write-protect tab is set to [read_only ? "protected" : "unprotected"].")
+ . = ..()
+ . += "The write-protect tab is set to [read_only ? "protected" : "unprotected"]."
//Clonepod
/obj/machinery/clonepod/examine(mob/user)
- ..()
+ . = ..()
if(mess)
- to_chat(user, "It's filled with blood and viscera. You swear you can see it moving...")
+ . += "It's filled with blood and viscera. You swear you can see it moving..."
if(!occupant || stat & (NOPOWER|BROKEN))
return
if(occupant && occupant.stat != DEAD)
- to_chat(user, "Current clone cycle is [round(get_completion())]% complete.")
+ . += "Current clone cycle is [round(get_completion())]% complete."
/obj/machinery/clonepod/return_air() //non-reactive air
var/datum/gas_mixture/GM = new
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 695e01103ea..a56d5c40236 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -980,13 +980,12 @@
var/active = 0 //if the ship is on
/obj/item/orion_ship/examine(mob/user)
- ..()
- if(!(in_range(user, src)))
- return
- if(!active)
- to_chat(user, "There's a little switch on the bottom. It's flipped down.")
- else
- to_chat(user, "There's a little switch on the bottom. It's flipped up.")
+ . = ..()
+ if(in_range(user, src))
+ if(!active)
+ . += "There's a little switch on the bottom. It's flipped down."
+ else
+ . += "There's a little switch on the bottom. It's flipped up."
/obj/item/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)
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index a34a49ca051..c0384e63b94 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -57,7 +57,7 @@
board_type = "machine"
/obj/item/circuitboard/examine(mob/user)
- ..()
+ . = ..()
if(LAZYLEN(req_components))
var/list/nice_list = list()
for(var/B in req_components)
@@ -65,7 +65,7 @@
if(!ispath(A))
continue
nice_list += list("[req_components[A]] [initial(A.name)]")
- to_chat(user,"Required components: [english_list(nice_list)].")
+ . += "Required components: [english_list(nice_list)]."
/obj/item/circuitboard/message_monitor
name = "Circuit board (Message Monitor)"
diff --git a/code/game/machinery/defib_mount.dm b/code/game/machinery/defib_mount.dm
index 77d68590efa..4f27dfa4be5 100644
--- a/code/game/machinery/defib_mount.dm
+++ b/code/game/machinery/defib_mount.dm
@@ -42,15 +42,15 @@
return ..()
/obj/machinery/defibrillator_mount/examine(mob/user)
- ..()
+ . = ..()
if(defib)
- to_chat(user, "There is a defib unit hooked up. Alt-click to remove it.")
+ . += "There is a defib unit hooked up. Alt-click to remove it."
if(security_level >= SEC_LEVEL_RED)
- to_chat(user, "Due to a security situation, its locking clamps can be toggled by swiping any ID.")
+ . += "Due to a security situation, its locking clamps can be toggled by swiping any ID."
else
- to_chat(user, "Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access.")
+ . += "Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access."
else
- to_chat(user, "There are a pair of bolts in the defib unit housing securing the [src] to the wall.")
+ . += "There are a pair of bolts in the defib unit housing securing the [src] to the wall."
/obj/machinery/defibrillator_mount/process()
if(defib && defib.bcell && defib.bcell.charge < defib.bcell.maxcharge && is_operational())
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 6785c5ed8ff..4d8b3280599 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -183,7 +183,7 @@
/obj/item/grenade/barrier/examine(mob/user)
. = ..()
- to_chat(user, "Alt-click to toggle modes.")
+ . += "Alt-click to toggle modes."
/obj/item/grenade/barrier/AltClick(mob/living/carbon/user)
if(!istype(user) || !user.Adjacent(src) || user.incapacitated())
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index a80209dea65..5b4742de317 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -501,38 +501,38 @@ About the new airlock wires panel:
update_icon(AIRLOCK_CLOSED)
/obj/machinery/door/airlock/examine(mob/user)
- ..()
+ . = ..()
if(emagged)
- to_chat(user, "Its access panel is smoking slightly.")
+ . += "Its access panel is smoking slightly."
if(note)
if(!in_range(user, src))
- to_chat(user, "There's a [note.name] pinned to the front. You can't [note_type() == "note" ? "read" : "see"] it from here.")
+ . += "There's a [note.name] pinned to the front. You can't [note_type() == "note" ? "read" : "see"] it from here."
else
- to_chat(user, "There's a [note.name] pinned to the front...")
+ . += "There's a [note.name] pinned to the front..."
note.examine(user)
- to_chat(user, "Use an empty hand on the airlock on grab mode to remove [note.name].")
+ . += "Use an empty hand on the airlock on grab mode to remove [note.name]."
if(panel_open)
switch(security_level)
if(AIRLOCK_SECURITY_NONE)
- to_chat(user, "Its wires are exposed!")
+ . += "Its wires are exposed!"
if(AIRLOCK_SECURITY_METAL)
- to_chat(user, "Its wires are hidden behind a welded metal cover.")
+ . += "Its wires are hidden behind a welded metal cover."
if(AIRLOCK_SECURITY_PLASTEEL_I_S)
- to_chat(user, "There is some shredded plasteel inside.")
+ . += "There is some shredded plasteel inside."
if(AIRLOCK_SECURITY_PLASTEEL_I)
- to_chat(user, "Its wires are behind an inner layer of plasteel.")
+ . += "Its wires are behind an inner layer of plasteel."
if(AIRLOCK_SECURITY_PLASTEEL_O_S)
- to_chat(user, "There is some shredded plasteel inside.")
+ . += "There is some shredded plasteel inside."
if(AIRLOCK_SECURITY_PLASTEEL_O)
- to_chat(user, "There is a welded plasteel cover hiding its wires.")
+ . += "There is a welded plasteel cover hiding its wires."
if(AIRLOCK_SECURITY_PLASTEEL)
- to_chat(user, "There is a protective grille over its panel.")
+ . += "There is a protective grille over its panel."
else if(security_level)
if(security_level == AIRLOCK_SECURITY_METAL)
- to_chat(user, "It looks a bit stronger.")
+ . += "It looks a bit stronger."
else
- to_chat(user, "It looks very robust.")
+ . += "It looks very robust."
/obj/machinery/door/airlock/attack_ghost(mob/user)
if(panel_open)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 773c54d2808..ee304b8eca1 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -33,15 +33,15 @@
var/active_alarm = FALSE
/obj/machinery/door/firedoor/examine(mob/user)
- ..()
+ . = ..()
if(!density)
- to_chat(user, "It is open, but could be pried closed.")
+ . += "It is open, but could be pried closed."
else if(!welded)
- to_chat(user, "It is closed, but could be pried open. Deconstruction would require it to be welded shut.")
+ . += "It is closed, but could be pried open. Deconstruction would require it to be welded shut."
else if(boltslocked)
- to_chat(user, "It is welded shut. The floor bolts have been locked by screws.")
+ . += "It is welded shut. The floor bolts have been locked by screws."
else
- to_chat(user, "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor.")
+ . += "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor."
/obj/machinery/door/firedoor/closed
icon_state = "door_closed"
@@ -289,18 +289,18 @@
var/reinforced = 0
/obj/structure/firelock_frame/examine(mob/user)
- ..()
+ . = ..()
switch(constructionStep)
if(CONSTRUCTION_PANEL_OPEN)
- to_chat(user, "It is unbolted from the floor. A small loosely connected metal plate is covering the wires.")
+ . += "It is unbolted from the floor. A small loosely connected metal plate is covering the wires."
if(!reinforced)
- to_chat(user, "It could be reinforced with plasteel.")
+ . += "It could be reinforced with plasteel."
if(CONSTRUCTION_WIRES_EXPOSED)
- to_chat(user, "The maintenance plate has been pried away, and wires are trailing.")
+ . += "The maintenance plate has been pried away, and wires are trailing."
if(CONSTRUCTION_GUTTED)
- to_chat(user, "The maintenance panel is missing wires and the circuit board is loosely connected.")
+ . += "The maintenance panel is missing wires and the circuit board is loosely connected."
if(CONSTRUCTION_NOCIRCUIT)
- to_chat(user, "There are no firelock electronics in the frame. The frame could be cut apart.")
+ . += "There are no firelock electronics in the frame. The frame could be cut apart."
/obj/structure/firelock_frame/update_icon()
..()
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 549b5be3929..84a3fba6632 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -54,9 +54,9 @@
icon_state = "[base_state]open"
/obj/machinery/door/window/examine(mob/user)
- ..()
+ . = ..()
if(emagged)
- to_chat(user, "Its access panel is smoking slightly.")
+ . += "Its access panel is smoking slightly."
/obj/machinery/door/window/proc/open_and_close()
open()
diff --git a/code/game/machinery/guestpass.dm b/code/game/machinery/guestpass.dm
index 450260f5f79..4bc080fca67 100644
--- a/code/game/machinery/guestpass.dm
+++ b/code/game/machinery/guestpass.dm
@@ -17,15 +17,15 @@
return temp_access
/obj/item/card/id/guest/examine(mob/user)
- ..(user)
+ . = ..()
if(world.time < expiration_time)
- to_chat(user, "This pass expires at [station_time_timestamp("hh:mm:ss", expiration_time)].")
+ . += "This pass expires at [station_time_timestamp("hh:mm:ss", expiration_time)]."
else
- to_chat(user, "It expired at [station_time_timestamp("hh:mm:ss", expiration_time)].")
- to_chat(user, "It grants access to following areas:")
+ . += "It expired at [station_time_timestamp("hh:mm:ss", expiration_time)]."
+ . += "It grants access to following areas:"
for(var/A in temp_access)
- to_chat(user, "[get_access_desc(A)].")
- to_chat(user, "Issuing reason: [reason].")
+ . += "[get_access_desc(A)]."
+ . += "Issuing reason: [reason]."
/////////////////////////////////////////////
//Guest pass terminal////////////////////////
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index e6d967c8eb4..fc23507d73b 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -479,8 +479,9 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
/obj/effect/overlay/holo_pad_hologram/examine(mob/user)
if(Impersonation)
- return Impersonation.examine(user)
- return ..()
+ . = Impersonation.examine(user)
+ else
+ . = ..()
/obj/effect/overlay/holoray
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index f3be556a184..144b441d2de 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -56,9 +56,9 @@
return ..()
/obj/machinery/iv_drip/examine(mob/user)
- ..(user)
+ . = ..()
if(bag)
- bag.examine(user)
+ . += bag.examine(user)
/obj/machinery/iv_drip/Move(NewLoc, direct)
. = ..()
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index ee6bd060c16..b1e335c1ce9 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -70,8 +70,8 @@
icon_state = "light0"
/obj/machinery/light_switch/examine(mob/user)
- if(..(user, 1))
- to_chat(user, "A light switch. It is [on? "on" : "off"].")
+ . = ..()
+ . += "A light switch. It is [on? "on" : "off"]."
/obj/machinery/light_switch/attack_ghost(mob/user)
if(user.can_advanced_admin_interact())
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index fad3f21c3fc..4129af82a5d 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -490,27 +490,27 @@ Class Procs:
return 0
/obj/machinery/proc/display_parts(mob/user)
- to_chat(user, "Following parts detected in the machine:")
+ . = list("Following parts detected in the machine:")
for(var/obj/item/C in component_parts)
- to_chat(user, "[bicon(C)] [C.name]")
+ . += "[bicon(C)] [C.name]"
/obj/machinery/examine(mob/user)
- ..()
+ . = ..()
if(stat & BROKEN)
- to_chat(user, "It looks broken and non-functional.")
+ . += "It looks broken and non-functional."
if(!(resistance_flags & INDESTRUCTIBLE))
if(burn_state == ON_FIRE)
- to_chat(user, "It's on fire!")
+ . += "It's on fire!"
var/healthpercent = (obj_integrity/max_integrity) * 100
switch(healthpercent)
if(50 to 99)
- to_chat(user, "It looks slightly damaged.")
+ . += "It looks slightly damaged."
if(25 to 50)
- to_chat(user, "It appears heavily damaged.")
+ . += "It appears heavily damaged."
if(0 to 25)
- to_chat(user, "It's falling apart!")
+ . += "It's falling apart!"
if(user.research_scanner && component_parts)
- display_parts(user)
+ . += display_parts(user)
/obj/machinery/proc/on_assess_perp(mob/living/carbon/human/perp)
return 0
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index 5abfc313047..ff5410f6953 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -177,21 +177,21 @@
icon_state = icon_state_idle
/obj/machinery/recharger/examine(mob/user)
- ..()
+ . = ..()
if(charging && (!in_range(user, src) && !issilicon(user) && !isobserver(user)))
- to_chat(user, "You're too far away to examine [src]'s contents and display!")
+ . += "You're too far away to examine [src]'s contents and display!"
return
if(charging)
- to_chat(user, "\The [src] contains:")
- to_chat(user, "- \A [charging].")
+ . += "\The [src] contains:"
+ . += "- \A [charging]."
if(!(stat & (NOPOWER|BROKEN)))
var/obj/item/stock_parts/cell/C = charging.get_cell()
- to_chat(user, "The status display reads:")
+ . += "The status display reads:"
if(using_power)
- to_chat(user, "- Recharging [(C.chargerate/C.maxcharge)*100]% cell charge per cycle.")
+ . += "- Recharging [(C.chargerate/C.maxcharge)*100]% cell charge per cycle."
if(charging)
- to_chat(user, "- \The [charging]'s cell is at [C.percent()]%.")
+ . += "- \The [charging]'s cell is at [C.percent()]%."
// Atlantis: No need for that copy-pasta code, just use var to store icon_states instead.
/obj/machinery/recharger/wallcharger
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 99d3b135a08..eb3052dd909 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -41,10 +41,10 @@ var/const/SAFETY_COOLDOWN = 100
amount_produced = min(100, amt_made)
/obj/machinery/recycler/examine(mob/user)
- ..(user)
- 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"].")
+ . = ..()
+ . += "The power light is [(stat & NOPOWER) ? "off" : "on"]."
+ . += "The safety-mode light is [safety_mode ? "on" : "off"]."
+ . += "The safety-sensors status light is [emagged ? "off" : "on"]."
/obj/machinery/recycler/power_change()
..()
diff --git a/code/game/machinery/snow_machine.dm b/code/game/machinery/snow_machine.dm
index 2ae3bf22977..cc59f0a3017 100644
--- a/code/game/machinery/snow_machine.dm
+++ b/code/game/machinery/snow_machine.dm
@@ -25,8 +25,8 @@
RefreshParts()
/obj/machinery/snow_machine/examine(mob/user)
- ..()
- to_chat(user, "The internal reservoir indicates it is [infinite_snow ? "100" : round(reagents.total_volume / reagents.maximum_volume * 100)]% full.")
+ . = ..()
+ . += "The internal reservoir indicates it is [infinite_snow ? "100" : round(reagents.total_volume / reagents.maximum_volume * 100)]% full."
/obj/machinery/snow_machine/RefreshParts()
power_efficiency = 0
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index ccba902b058..3fde4116fa3 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -35,12 +35,12 @@
return
/obj/machinery/space_heater/examine(mob/user)
- ..(user)
- to_chat(user, "The heater is [on ? "on" : "off"] and the hatch is [open ? "open" : "closed"].")
+ . = ..()
+ . += "The heater is [on ? "on" : "off"] and the hatch is [open ? "open" : "closed"]."
if(open)
- to_chat(user, "The power cell is [cell ? "installed" : "missing"].")
+ . += "The power cell is [cell ? "installed" : "missing"]."
else
- to_chat(user, "The charge meter reads [cell ? round(cell.percent(),1) : 0]%")
+ . += "The charge meter reads [cell ? round(cell.percent(),1) : 0]%"
/obj/machinery/space_heater/emp_act(severity)
if(stat & (BROKEN|NOPOWER))
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index 642676c6eff..94d1162349f 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -136,9 +136,9 @@
return 0
/obj/machinery/status_display/examine(mob/user)
- . = ..(user)
+ . = ..()
if(mode != STATUS_DISPLAY_BLANK && mode != STATUS_DISPLAY_ALERT)
- to_chat(user, "The display says:
\t[sanitize(message1)]
\t[sanitize(message2)]")
+ . += "The display says:
\t[sanitize(message1)]
\t[sanitize(message2)]"
/obj/machinery/status_display/proc/set_message(m1, m2)
if(m1)
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index 3630beb1f6c..b2692b6621b 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -90,8 +90,8 @@
return ..()
/obj/machinery/syndicatebomb/examine(mob/user)
- ..(user)
- to_chat(user, "A digital display on it reads \"[seconds_remaining()]\".")
+ . = ..()
+ . += "A digital display on it reads \"[seconds_remaining()]\"."
/obj/machinery/syndicatebomb/update_icon()
icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]"
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 517d6dd4019..8e6afaf0a20 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -169,23 +169,23 @@
radio.subspace_transmission = 1
/obj/mecha/examine(mob/user)
- ..(user)
+ . = ..()
var/integrity = health/initial(health)*100
switch(integrity)
if(85 to 100)
- to_chat(user, "It's fully intact.")
+ . += "It's fully intact."
if(65 to 85)
- to_chat(user, "It's slightly damaged.")
+ . += "It's slightly damaged."
if(45 to 65)
- to_chat(user, "It's badly damaged.")
+ . += "It's badly damaged."
if(25 to 45)
- to_chat(user, "It's heavily damaged.")
+ . += "It's heavily damaged."
else
- to_chat(user, "It's falling apart.")
+ . += "It's falling apart."
if(equipment && equipment.len)
- to_chat(user, "It's equipped with:")
+ . += "It's equipped with:"
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
- to_chat(user, "[bicon(ME)] [ME]")
+ . += "[bicon(ME)] [ME]"
/obj/mecha/hear_talk(mob/M, list/message_pieces)
if(M == occupant && radio.broadcasting)
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index c5e3417d89d..3308acffcd8 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -142,8 +142,8 @@ var/global/list/image/splatter_cache = list()
icon_state = "writing1"
/obj/effect/decal/cleanable/blood/writing/examine(mob/user)
- ..(user)
- to_chat(user, "It reads: \"[message]\"")
+ . = ..()
+ . += "It reads: \"[message]\""
/obj/effect/decal/cleanable/blood/gibs
name = "gibs"
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index 464d5c277fd..fa64bedd2ac 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -33,7 +33,7 @@
/obj/structure/glowshroom/examine(mob/user)
. = ..()
- to_chat(user, "This is a [generation]\th generation [name]!")
+ . += "This is a [generation]\th generation [name]!"
/obj/structure/glowshroom/Destroy()
QDEL_NULL(myseed)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 25c39c3e9f1..a618a57076f 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -168,7 +168,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
src.loc = T
-/obj/item/examine(mob/user, var/distance = -1)
+/obj/item/examine(mob/user)
var/size
switch(src.w_class)
if(WEIGHT_CLASS_TINY)
@@ -184,7 +184,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
if(WEIGHT_CLASS_GIGANTIC)
size = "gigantic"
- . = ..(user, distance, "", "It is a [size] item.")
+ . = ..(user, "", "It is a [size] item.")
if(user.research_scanner) //Mob has a research scanner active.
var/msg = "*--------*
"
@@ -205,7 +205,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
else
msg += "No extractable materials detected.
"
msg += "*--------*"
- to_chat(user, msg)
+ . += msg
/obj/item/afterattack(atom/target, mob/user, proximity, params)
SEND_SIGNAL(src, COMSIG_ITEM_AFTERATTACK, target, user, proximity, params)
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index f331ff72f94..e9cb80f398c 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -68,8 +68,8 @@
/obj/item/lightreplacer/examine(mob/user)
- ..()
- to_chat(user, status_string())
+ . = ..()
+ . += status_string()
/obj/item/lightreplacer/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/stack/sheet/glass))
diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm
index 35074718862..69beb04f67c 100644
--- a/code/game/objects/items/devices/pipe_painter.dm
+++ b/code/game/objects/items/devices/pipe_painter.dm
@@ -29,5 +29,5 @@
mode = input("Which colour do you want to use?", "Pipe Painter", mode) in modes
/obj/item/pipe_painter/examine(mob/user)
- ..(user)
- to_chat(user, "It is in [mode] mode.")
+ . = ..()
+ . += "It is in [mode] mode."
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index bf7ee23eed0..0ef3b0b0728 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -48,12 +48,11 @@
/obj/item/radio/headset/list_channels(var/mob/user)
return list_secure_channels()
-/obj/item/radio/headset/examine(mob/user, var/distance = -1)
- if(!(..(user, 1) && radio_desc))
- return
-
- to_chat(user, "The following channels are available:")
- to_chat(user, radio_desc)
+/obj/item/radio/headset/examine(mob/user)
+ . = ..()
+ if(in_range(src, user) && radio_desc)
+ . += "The following channels are available:"
+ . += radio_desc
/obj/item/radio/headset/handle_message_mode(mob/living/M as mob, list/message_pieces, channel)
if(channel == "special")
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 73c5dc8b41f..aab926f768e 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -595,14 +595,13 @@ var/global/list/default_medbay_channels = list(
return null
-/obj/item/radio/examine(mob/user, var/distance = -1)
- . = ..(user, distance)
- if((in_range(src, user) || loc == user))
+/obj/item/radio/examine(mob/user)
+ . = ..()
+ if(in_range(src, user) || loc == user)
if(b_stat)
- user.show_message("\the [src] can be attached and modified!")
+ . += "\the [src] can be attached and modified!"
else
- user.show_message("\the [src] can not be modified or attached!")
- return .
+ . += "\the [src] can not be modified or attached!"
/obj/item/radio/attackby(obj/item/W as obj, mob/user as mob, params)
..()
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 6c5b9cae2d6..dbe22162b57 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -339,8 +339,8 @@ proc/healthscan(mob/user, mob/living/M, mode = 1, upgraded = FALSE)
var/accuracy // 0 is the best accuracy.
/obj/item/analyzer/examine(mob/user)
- .=..()
- to_chat(user, "Alt-click [src] to activate the barometer function.")
+ . = ..()
+ . += "Alt-click [src] to activate the barometer function."
/obj/item/analyzer/attack_self(mob/user as mob)
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index d3d0a2fe6bb..ed8dfebba23 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -26,8 +26,9 @@
return ..()
/obj/item/taperecorder/examine(mob/user)
- if(..(user, 1))
- to_chat(user, "The wire panel is [open_panel ? "opened" : "closed"].")
+ . = ..()
+ if(in_range(user, src))
+ . += "The wire panel is [open_panel ? "opened" : "closed"]."
/obj/item/taperecorder/attackby(obj/item/I, mob/user)
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index a738b6f03d4..61561131219 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -31,11 +31,11 @@ effective or pretty fucking useless.
var/max_uses = 5
/obj/item/batterer/examine(mob/user)
- ..(user)
+ . = ..()
if(times_used >= max_uses)
- to_chat(user, "[src] is out of charge.")
+ . += "[src] is out of charge."
if(times_used < max_uses)
- to_chat(user, "[src] has [max_uses-times_used] charges left.")
+ . += "[src] has [max_uses-times_used] charges left."
/obj/item/batterer/attack_self(mob/living/carbon/user, flag = 0, emp = 0)
if(!user)
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index f0830f34c40..20b1c64f61d 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -49,12 +49,13 @@
return ..()
/obj/item/stack/examine(mob/user)
- if(..(user, 1))
+ . = ..()
+ if(in_range(user, src))
if(singular_name)
- to_chat(user, "There are [amount] [singular_name]\s in the stack.")
+ . += "There are [amount] [singular_name]\s in the stack."
else
- to_chat(user, "There are [amount] [name]\s in the stack.")
- to_chat(user,"Alt-click to take a custom amount.")
+ . += "There are [amount] [name]\s in the stack."
+ . +="Alt-click to take a custom amount."
/obj/item/stack/proc/add(newamount)
amount += newamount
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index edc7b855c99..41476b9453c 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -641,13 +641,14 @@ obj/item/toy/cards/singlecard
obj/item/toy/cards/singlecard/examine(mob/user)
- if(..(user, 0))
+ . = ..()
+ if(get_dist(user, src) <= 0)
if(ishuman(user))
var/mob/living/carbon/human/cardUser = user
if(cardUser.get_item_by_slot(slot_l_hand) == src || cardUser.get_item_by_slot(slot_r_hand) == src)
cardUser.visible_message("[cardUser] checks [cardUser.p_their()] card.", "The card reads: [src.cardname]")
else
- to_chat(cardUser, "You need to have the card in your hand to check it.")
+ . += "You need to have the card in your hand to check it."
obj/item/toy/cards/singlecard/verb/Flip()
@@ -1470,9 +1471,9 @@ obj/item/toy/cards/deck/syndicate/black
fake_bullets = rand(2, 7)
/obj/item/toy/russian_revolver/trick_revolver/examine(mob/user) //Sneaky sneaky
- ..()
- to_chat(user, "Has [fake_bullets] round\s remaining.")
- to_chat(user, "[fake_bullets] of those are live rounds.")
+ . = ..()
+ . += "Has [fake_bullets] round\s remaining."
+ . += "[fake_bullets] of those are live rounds."
/obj/item/toy/russian_revolver/trick_revolver/post_shot(user)
to_chat(user, "[src] did look pretty dodgey!")
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index ec916a4a228..c386e4feba0 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -82,8 +82,8 @@ GLOBAL_LIST_INIT(rcd_door_types, list(
/obj/item/rcd/examine(mob/user)
. = ..()
- to_chat(user, "MATTER: [matter]/[max_matter] matter-units.")
- to_chat(user, "MODE: [mode].")
+ . += "MATTER: [matter]/[max_matter] matter-units."
+ . += "MODE: [mode]."
/obj/item/rcd/Destroy()
QDEL_NULL(spark_system)
diff --git a/code/game/objects/items/weapons/RCL.dm b/code/game/objects/items/weapons/RCL.dm
index befe979078c..10e52fc716a 100644
--- a/code/game/objects/items/weapons/RCL.dm
+++ b/code/game/objects/items/weapons/RCL.dm
@@ -57,9 +57,9 @@
..()
/obj/item/twohanded/rcl/examine(mob/user)
- ..()
+ . = ..()
if(loaded)
- to_chat(user, "It contains [loaded.amount]/[max_amount] cables.")
+ . += "It contains [loaded.amount]/[max_amount] cables."
/obj/item/twohanded/rcl/Destroy()
QDEL_NULL(loaded)
diff --git a/code/game/objects/items/weapons/bee_briefcase.dm b/code/game/objects/items/weapons/bee_briefcase.dm
index f370e186bcf..157868e3db4 100644
--- a/code/game/objects/items/weapons/bee_briefcase.dm
+++ b/code/game/objects/items/weapons/bee_briefcase.dm
@@ -23,12 +23,12 @@
return ..()
/obj/item/bee_briefcase/examine(mob/user)
- ..()
+ . = ..()
if(loc == user)
if(bees_left)
- to_chat(user, "There are [bees_left] bees still inside in briefcase!")
+ . += "There are [bees_left] bees still inside in briefcase!"
else
- to_chat(user, "The bees are gone... Colony collapse disorder?")
+ . += "The bees are gone... Colony collapse disorder?"
/obj/item/bee_briefcase/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/reagent_containers/syringe))
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 917bf7f032c..055986dff30 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -118,20 +118,21 @@
SetOwnerInfo(H)
/obj/item/card/id/examine(mob/user)
- if(..(user, 1))
+ . = ..()
+ if(in_range(user, src))
show(usr)
else
- to_chat(user, "It is too far away.")
+ . += "It is too far away."
if(guest_pass)
- to_chat(user, "There is a guest pass attached to this ID card")
+ . += "There is a guest pass attached to this ID card"
if(world.time < guest_pass.expiration_time)
- to_chat(user, "It expires at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)].")
+ . += "It expires at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)]."
else
- to_chat(user, "It expired at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)].")
- to_chat(user, "It grants access to following areas:")
+ . += "It expired at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)]."
+ . += "It grants access to following areas:"
for(var/A in guest_pass.temp_access)
- to_chat(user, "[get_access_desc(A)].")
- to_chat(user, "Issuing reason: [guest_pass.reason].")
+ . += "[get_access_desc(A)]."
+ . += "Issuing reason: [guest_pass.reason]."
/obj/item/card/id/proc/show(mob/user as mob)
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper)
@@ -141,7 +142,6 @@
popup.set_content(dat)
popup.set_title_image(usr.browse_rsc_icon(src.icon, src.icon_state))
popup.open()
- return
/obj/item/card/id/attack_self(mob/user as mob)
user.visible_message("[user] shows you: [bicon(src)] [src.name]. The assignment on the card: [src.assignment]",\
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index 45309b381c0..4eeee2c81c9 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -44,8 +44,8 @@
update_charge()
/obj/item/defibrillator/examine(mob/user)
- ..(user)
- to_chat(user, "Ctrl-click to remove the paddles from the defibrillator.")
+ . = ..()
+ . += "Ctrl-click to remove the paddles from the defibrillator."
/obj/item/defibrillator/proc/update_power()
if(bcell)
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index 674329abacb..f0f8af4e0d3 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -40,7 +40,7 @@
/obj/item/extinguisher/examine(mob/user)
. = ..()
- to_chat(user, "The safety is [safety ? "on" : "off"].")
+ . += "The safety is [safety ? "on" : "off"]."
/obj/item/extinguisher/New()
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index d7038fcd752..701b72c1821 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -141,9 +141,9 @@
update_icon()
/obj/item/flamethrower/examine(mob/user)
- ..()
+ . = ..()
if(ptank)
- to_chat(user, "[src] has \a [ptank] attached. Alt-click to remove it.")
+ . += "[src] has \a [ptank] attached. Alt-click to remove it."
/obj/item/flamethrower/proc/toggle_igniter(mob/user)
if(!ptank)
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 10bbb7c7cb5..91c6252d9b2 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -37,7 +37,7 @@
return ..()
/obj/item/grenade/chem_grenade/examine(mob/user)
- ..(user)
+ . = ..()
display_timer = (stage == READY && !nadeassembly) //show/hide the timer based on assembly state
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index ca6177c04fa..b58330a248b 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -62,5 +62,5 @@
qdel(src)
/obj/item/grenade/iedcasing/examine(mob/user)
- ..()
- to_chat(user, "You can't tell when it will explode!")
+ . = ..()
+ . += "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 09fdfe5a27f..b8372f18a1e 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -48,12 +48,12 @@
/obj/item/grenade/examine(mob/user)
- ..(user)
+ . = ..()
if(display_timer)
if(det_time > 1)
- to_chat(user, "The timer is set to [det_time/10] second\s.")
+ . += "The timer is set to [det_time/10] second\s."
else
- to_chat(user, "\The [src] is set for instant detonation.")
+ . += "\The [src] is set for instant detonation."
/obj/item/grenade/attack_self(mob/user as mob)
if(!active)
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index d496d7a9f01..33d72c1ebb5 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -47,7 +47,7 @@
/obj/item/nullrod/examine(mob/living/user)
. = ..()
if(sanctify_force)
- to_chat(user, "It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'")
+ . += "It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'"
/obj/item/nullrod/proc/reskin_holy_weapon(mob/M)
var/list/holy_weapons_list = typesof(/obj/item/nullrod)
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 52e0b24ec4d..a2e5791851d 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -330,10 +330,10 @@
add_fingerprint(user)
/obj/item/melee/energy/cleaving_saw/examine(mob/user)
- ..()
- to_chat(user, "It is [active ? "open, will cleave enemies in a wide arc and deal additional damage to fauna":"closed, and can be used for rapid consecutive attacks that cause fauna to bleed"].
\
+ . = ..()
+ . += "It is [active ? "open, will cleave enemies in a wide arc and deal additional damage to fauna":"closed, and can be used for rapid consecutive attacks that cause fauna to bleed"].
\
Both modes will build up existing bleed effects, doing a burst of high damage if the bleed is built up high enough.
\
- Transforming it immediately after an attack causes the next attack to come out faster.")
+ Transforming it immediately after an attack causes the next attack to come out faster."
/obj/item/melee/energy/cleaving_saw/suicide_act(mob/user)
user.visible_message("[user] is [active ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!")
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index 7c5c6f9421f..a98ebed84da 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -106,8 +106,8 @@
reagents.add_reagent(refill_reagent, refill_rate)
/obj/item/mop/advanced/examine(mob/user)
- ..()
- to_chat(user, "The condenser switch is set to [refill_enabled ? "ON" : "OFF"].")
+ . = ..()
+ . += "The condenser switch is set to [refill_enabled ? "ON" : "OFF"]."
/obj/item/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 503228e58d7..a73bb3249d4 100644
--- a/code/game/objects/items/weapons/pneumaticCannon.dm
+++ b/code/game/objects/items/weapons/pneumaticCannon.dm
@@ -22,16 +22,14 @@
return ..()
/obj/item/pneumatic_cannon/examine(mob/user)
- ..()
+ . = ..()
if(!in_range(user, src))
- to_chat(user, "You'll need to get closer to see any more.")
- return
- for(var/obj/item/I in loadedItems)
- spawn(0)
- to_chat(user, "[bicon(I)] It has \the [I] loaded.")
- if(tank)
- to_chat(user, "[bicon(tank)] It has \the [tank] mounted onto it.")
-
+ . += "You'll need to get closer to see any more."
+ else
+ if(tank)
+ . += "[bicon(tank)] It has \the [tank] mounted onto it."
+ for(var/obj/item/I in loadedItems)
+ . += "[bicon(I)] It has \the [I] loaded."
/obj/item/pneumatic_cannon/attackby(obj/item/W, mob/user, params)
..()
diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm
index a2315544d35..7dbe16a668a 100644
--- a/code/game/objects/items/weapons/powerfist.dm
+++ b/code/game/objects/items/weapons/powerfist.dm
@@ -21,12 +21,11 @@
return ..()
/obj/item/melee/powerfist/examine(mob/user)
- ..()
+ . = ..()
if(!in_range(user, src))
- to_chat(user, "You'll need to get closer to see any more.")
- return
- if(tank)
- to_chat(user, "[bicon(tank)] It has [tank] mounted onto it.")
+ . += "You'll need to get closer to see any more."
+ else if(tank)
+ . += "[bicon(tank)] It has [tank] mounted onto it."
/obj/item/melee/powerfist/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/tank))
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 0fefed4323a..32d8c4d14fa 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -29,20 +29,20 @@
/obj/item/storage/backpack/examine(mob/user)
var/space_used = 0
- if(!..(user, 1))
- return
- for(var/obj/item/I in contents)
- space_used += I.w_class
- if(!space_used)
- to_chat(user, " [src] is empty.")
- else if(space_used <= max_combined_w_class*0.6)
- to_chat(user, " [src] still has plenty of remaining space.")
- else if(space_used <= max_combined_w_class*0.8)
- to_chat(user, " [src] is beginning to run out of space.")
- else if(space_used < max_combined_w_class)
- to_chat(user, " [src] doesn't have much space left.")
- else
- to_chat(user, " [src] is full.")
+ . = ..()
+ if(in_range(user, src))
+ for(var/obj/item/I in contents)
+ space_used += I.w_class
+ if(!space_used)
+ . += " [src] is empty."
+ else if(space_used <= max_combined_w_class*0.6)
+ . += " [src] still has plenty of remaining space."
+ else if(space_used <= max_combined_w_class*0.8)
+ . += " [src] is beginning to run out of space."
+ else if(space_used < max_combined_w_class)
+ . += " [src] doesn't have much space left."
+ else
+ . += " [src] is full."
/*
* Backpack Types
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 603a86b072b..027910ebcb4 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -26,15 +26,15 @@
return
/obj/item/storage/fancy/examine(mob/user)
- if(!..(user, 1))
- return
-
- if(contents.len <= 0)
- to_chat(user, "There are no [src.icon_type]s left in the box.")
- else if(contents.len == 1)
- to_chat(user, "There is one [src.icon_type] left in the box.")
- else
- to_chat(user, "There are [src.contents.len] [src.icon_type]s in the box.")
+ . = ..()
+ if(in_range(user, src))
+ var/len = LAZYLEN(contents)
+ if(len <= 0)
+ . += "There are no [src.icon_type]s left in the box."
+ else if(len == 1)
+ . += "There is one [src.icon_type] left in the box."
+ else
+ . += "There are [src.contents.len] [src.icon_type]s in the box."
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index aeaa7991420..a91d1e10f62 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -28,8 +28,9 @@
max_combined_w_class = 14
/obj/item/storage/secure/examine(mob/user)
- if(..(user, 1))
- to_chat(user, text("The service panel is [open ? "open" : "closed"]."))
+ . = ..()
+ if(in_range(user, src))
+ . += "The service panel is [open ? "open" : "closed"]."
/obj/item/storage/secure/attackby(obj/item/W as obj, mob/user as mob, params)
if(locked)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 6d81cdd2dac..6fba277ec35 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -73,13 +73,13 @@
icon_state = "[base_icon]"
/obj/item/melee/baton/examine(mob/user)
- ..(user)
+ . = ..()
if(isrobot(loc))
- to_chat(user, "This baton is drawing power directly from your own internal charge.")
+ . += "This baton is drawing power directly from your own internal charge."
if(bcell)
- to_chat(user, "The baton is [round(bcell.percent())]% charged.")
+ . += "The baton is [round(bcell.percent())]% charged."
if(!bcell)
- to_chat(user, "The baton does not have a power source installed.")
+ . += "The baton does not have a power source installed."
/obj/item/melee/baton/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stock_parts/cell))
diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm
index 21f43073b73..d7da7044d7c 100644
--- a/code/game/objects/items/weapons/tanks/jetpack.dm
+++ b/code/game/objects/items/weapons/tanks/jetpack.dm
@@ -35,11 +35,9 @@
/obj/item/tank/jetpack/examine(mob/user)
- if(!..(user, 0))
- return
-
- if(air_contents.oxygen < 10)
- to_chat(user, "The meter on [src] indicates you are almost out of air!")
+ . = ..()
+ if(get_dist(user, src) <= 0 && air_contents.oxygen < 10)
+ . += "The meter on [src] indicates you are almost out of air!"
playsound(user, 'sound/effects/alert.ogg', 50, 1)
@@ -156,11 +154,9 @@
air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
/obj/item/tank/jetpack/carbondioxide/examine(mob/user)
- if(!..(user, 0))
- return
-
- if(air_contents.carbon_dioxide < 10)
- to_chat(user, "The meter on [src] indicates you are almost out of air!")
+ . = ..()
+ if(get_dist(user, src) <= 0 && air_contents.carbon_dioxide < 10)
+ . += "The meter on [src] indicates you are almost out of air!"
playsound(user, 'sound/effects/alert.ogg', 50, 1)
/obj/item/tank/jetpack/suit
@@ -229,8 +225,7 @@
actions_types = list(/datum/action/item_action/toggle_jetpack, /datum/action/item_action/jetpack_stabilization)
/obj/item/tank/jetpack/rig/examine()
- to_chat(usr, "It's a jetpack. If you can see this, report it on the bug tracker.")
- return 0
+ . = list("It's a jetpack. If you can see this, report it on the bug tracker.")
/obj/item/tank/jetpack/rig/allow_thrust(num, mob/living/user)
if(!on)
diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm
index fc4f3438aa1..55b0225bc2d 100644
--- a/code/game/objects/items/weapons/tanks/tank_types.dm
+++ b/code/game/objects/items/weapons/tanks/tank_types.dm
@@ -23,10 +23,9 @@
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
/obj/item/tank/oxygen/examine(mob/user)
- if(..(user, 0))
- if(air_contents.oxygen < 10)
- to_chat(user, text("The meter on the [src.name] indicates you are almost out of air!"))
- //playsound(usr, 'sound/effects/alert.ogg', 50, 1)
+ . = ..()
+ if(get_dist(user, src) <= 0 && air_contents.oxygen < 10)
+ . += "The meter on [src] indicates you are almost out of air!"
obj/item/tank/oxygen/empty/New()
..()
@@ -72,10 +71,10 @@ obj/item/tank/oxygen/empty/New()
item_state = "air"
/obj/item/tank/air/examine(mob/user)
- if(..(user, 0))
- if(air_contents.oxygen < 1 && loc==usr)
- to_chat(user, "The meter on the [src.name] indicates you are almost out of air!")
- user << sound('sound/effects/alert.ogg')
+ . = ..()
+ if(get_dist(user, src) <= 0 && air_contents.oxygen < 1)
+ . += "The meter on [src] indicates you are almost out of air!"
+ playsound(user, 'sound/effects/alert.ogg', 50, 1)
/obj/item/tank/air/New()
..()
@@ -121,10 +120,10 @@ obj/item/tank/oxygen/empty/New()
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
/obj/item/tank/plasma/plasmaman/examine(mob/user)
- if(..(user, 0))
- if(air_contents.toxins < 0.2 && loc==usr)
- to_chat(user, text("The meter on the [src.name] indicates you are almost out of plasma!"))
- user << sound('sound/effects/alert.ogg')
+ . = ..()
+ if(get_dist(user, src) <= 0 && air_contents.toxins < 0.2)
+ . += "The meter on [src] indicates you are almost out of plasma!"
+ playsound(user, 'sound/effects/alert.ogg', 50, 1)
/obj/item/tank/plasma/plasmaman/belt
@@ -159,10 +158,10 @@ obj/item/tank/oxygen/empty/New()
air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
/obj/item/tank/emergency_oxygen/examine(mob/user)
- if(..(user, 0))
- if(air_contents.oxygen < 0.2 && loc==usr)
- to_chat(user, text("The meter on the [src.name] indicates you are almost out of air!"))
- user << sound('sound/effects/alert.ogg')
+ . = ..()
+ if(get_dist(user, src) <= 0 && air_contents.oxygen < 0.2)
+ . += "The meter on [src] indicates you are almost out of air!"
+ playsound(user, 'sound/effects/alert.ogg', 50, 1)
obj/item/tank/emergency_oxygen/empty/New()
..()
@@ -215,10 +214,9 @@ obj/item/tank/emergency_oxygen/double/empty/New()
air_contents.nitrogen = (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)
/obj/item/tank/nitrogen/examine(mob/user)
- if(..(user, 0))
- if(air_contents.nitrogen < 10)
- to_chat(user, text("The meter on the [src.name] indicates you are almost out of air!"))
- //playsound(usr, 'sound/effects/alert.ogg', 50, 1)
+ . = ..()
+ if(get_dist(user, src) <= 0 && air_contents.nitrogen < 10)
+ . += "The meter on the [src.name] indicates you are almost out of air!"
/obj/item/tank/emergency_oxygen/vox
name = "vox specialized nitrogen tank"
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index a155cd5c053..bf69b8e8804 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -76,8 +76,7 @@
/obj/item/tank/examine(mob/user)
- if(!..(user, 0))
- return
+ . = ..()
var/obj/icon = src
if(istype(loc, /obj/item/assembly))
@@ -85,7 +84,7 @@
if(!in_range(src, user))
if(icon == src)
- to_chat(user, "It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer.")
+ . += "It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer."
return
var/celsius_temperature = air_contents.temperature-T0C
@@ -104,9 +103,7 @@
else
descriptive = "furiously hot"
- to_chat(user, "\The [bicon(icon)][src] feels [descriptive]")
-
- return
+ . += "\The [bicon(icon)][src] feels [descriptive]"
/obj/item/tank/blob_act()
if(prob(50))
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 7afb1885ea2..ec821a753a9 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -344,8 +344,9 @@
update_icon()
/obj/item/weldingtool/examine(mob/user)
- if(..(user, 0))
- to_chat(user, "It contains [get_fuel()] unit\s of fuel out of [max_fuel].")
+ . = ..()
+ if(get_dist(user, src) <= 0)
+ . += "It contains [get_fuel()] unit\s of fuel out of [max_fuel]."
/obj/item/weldingtool/suicide_act(mob/user)
user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!")
diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm
index c3773ccf5ed..46d43320f92 100644
--- a/code/game/objects/items/weapons/vending_items.dm
+++ b/code/game/objects/items/weapons/vending_items.dm
@@ -28,11 +28,11 @@
. = ..()
var/num = get_part_rating()
if (num == INFINITY)
- to_chat(user, "It's sealed tight, completely full of supplies.")
+ . += "It's sealed tight, completely full of supplies."
else if (num == 0)
- to_chat(user, "It's empty!")
+ . += "It's empty!"
else
- to_chat(user, "It can restock [num] item\s.")
+ . += "It can restock [num] item\s."
/obj/item/vending_refill/get_part_rating()
if (!products || !contraband || !premium)
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 58a2d0464fc..54cdda2a80b 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -160,15 +160,15 @@
return 1
/obj/structure/examine(mob/user)
- ..()
+ . = ..()
if(!(resistance_flags & INDESTRUCTIBLE))
if(burn_state == ON_FIRE)
- to_chat(user, "It's on fire!")
+ . += "It's on fire!"
if(broken)
- to_chat(user, "It appears to be broken.")
+ . += "It appears to be broken."
var/examine_status = examine_status(user)
if(examine_status)
- to_chat(user, examine_status)
+ . += 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/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index af57fb360f3..e942215b6cd 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -244,14 +244,13 @@ LINEN BINS
/obj/structure/bedsheetbin/examine(mob/user)
- ..(user)
+ . = ..()
if(amount < 1)
- to_chat(user, "There are no bed sheets in the bin.")
- return
- if(amount == 1)
- to_chat(user, "There is one bed sheet in the bin.")
- return
- to_chat(user, "There are [amount] bed sheets in the bin.")
+ . += "There are no bed sheets in the bin."
+ else if(amount == 1)
+ . += "There is one bed sheet in the bin."
+ else
+ . += "There are [amount] bed sheets in the bin."
/obj/structure/bedsheetbin/update_icon()
diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
index d22f0a59a61..affc44cc09d 100644
--- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
@@ -17,7 +17,7 @@
/obj/structure/closet/fireaxecabinet/examine(mob/user)
. = ..()
- to_chat(user, "Use a multitool to lock/unlock it.")
+ . += "Use a multitool to lock/unlock it."
/obj/structure/closet/fireaxecabinet/attackby(var/obj/item/O as obj, var/mob/living/user as mob) //Marker -Agouri
if(isrobot(user) || locked)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 497644a1926..623ead7bc62 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -148,12 +148,12 @@ GLOBAL_LIST_INIT(captain_display_cases, list())
start_showpiece_type = /obj/item/gun/projectile/automatic/pistol
/obj/structure/displaycase/examine(mob/user)
- ..(user)
- to_chat(user, "Peering through the glass, you see that it contains:")
+ . = ..()
+ . += "Peering through the glass, you see that it contains:"
if(occupant)
- to_chat(user, "[bicon(occupant)] \A [occupant].")
+ . += "[bicon(occupant)] \A [occupant]."
else
- to_chat(user, "Nothing.")
+ . += "Nothing."
/obj/structure/displaycase/proc/dump()
if(occupant)
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index b21754cae96..c2c11356d60 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -30,28 +30,28 @@
return ..()
/obj/structure/door_assembly/examine(mob/user)
- ..()
+ . = ..()
var/doorname = ""
if(created_name)
doorname = ", written on it is '[created_name]'"
switch(state)
if(AIRLOCK_ASSEMBLY_NEEDS_WIRES)
if(anchored)
- to_chat(user, "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring.")
+ . += "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring."
else
- to_chat(user, "The assembly is welded together, but the anchoring bolts are unwrenched.")
+ . += "The assembly is welded together, but the anchoring bolts are unwrenched."
if(AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS)
- to_chat(user, "The maintenance panel is wired, but the circuit slot is empty.")
+ . += "The maintenance panel is wired, but the circuit slot is empty."
if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
- to_chat(user, "The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open.")
+ . += "The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open."
if(!mineral && !glass && !noglass)
- to_chat(user, "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows and mineral covers.")
+ . += "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows and mineral covers."
else if(!mineral && glass && !noglass)
- to_chat(user, "There is a small paper placard on the assembly[doorname]. There are empty slots for mineral covers.")
+ . += "There is a small paper placard on the assembly[doorname]. There are empty slots for mineral covers."
else if(mineral && !glass && !noglass)
- to_chat(user, "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows.")
+ . += "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows."
else
- to_chat(user, "There is a small paper placard on the assembly[doorname].")
+ . += "There is a small paper placard on the assembly[doorname]."
/obj/structure/door_assembly/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/pen))
diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm
index 303862ff66f..1bd5ef9546d 100644
--- a/code/game/objects/structures/extinguisher.dm
+++ b/code/game/objects/structures/extinguisher.dm
@@ -29,8 +29,8 @@
has_extinguisher = new/obj/item/extinguisher
/obj/structure/extinguisher_cabinet/examine(mob/user)
- ..()
- to_chat(user, "Alt-click to [opened ? "close":"open"] it.")
+ . = ..()
+ . += "Alt-click to [opened ? "close":"open"] it."
/obj/structure/extinguisher_cabinet/AltClick(mob/living/user)
if(!istype(user) || user.incapacitated())
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index b3468668f5a..11c0038632f 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -14,16 +14,16 @@
. = ..()
switch(state)
if(GIRDER_REINF)
- to_chat(user, "The support struts are screwed in place.")
+ . += "The support struts are screwed in place."
if(GIRDER_REINF_STRUTS)
- to_chat(user, "The support struts are unscrewed and the inner grille is intact.")
+ . += "The support struts are unscrewed and the inner grille is intact."
if(GIRDER_NORMAL)
if(can_displace)
- to_chat(user, "The bolts are lodged in place.")
+ . += "The bolts are lodged in place."
if(GIRDER_DISPLACED)
- to_chat(user, "The bolts are loosened, but the screws are holding [src] together.")
+ . += "The bolts are loosened, but the screws are holding [src] together."
if(GIRDER_DISASSEMBLED)
- to_chat(user, "[src] is disassembled! You probably shouldn't be able to see this examine message.")
+ . += "[src] is disassembled! You probably shouldn't be able to see this examine message."
/obj/structure/girder/proc/refundMetal(metalAmount) //refunds metal used in construction when deconstructed
for(var/i=0;i < metalAmount;i++)
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index 1e3cb331cd1..7635ee49598 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -54,11 +54,11 @@
obj_break()
/obj/structure/grille/examine(mob/user)
- ..()
+ . = ..()
if(anchored)
- to_chat(user, "It's secured in place with screws. The rods look like they could be cut through.")
+ . += "It's secured in place with screws. The rods look like they could be cut through."
if(!anchored)
- to_chat(user, "The anchoring screws are unscrewed. The rods look like they could be cut through.")
+ . += "The anchoring screws are unscrewed. The rods look like they could be cut through."
/obj/structure/grille/ratvar_act()
if(broken)
diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm
index 6d32aec248e..eba923d5ea4 100644
--- a/code/game/objects/structures/guillotine.dm
+++ b/code/game/objects/structures/guillotine.dm
@@ -33,7 +33,7 @@
return ..()
/obj/structure/guillotine/examine(mob/user)
- ..()
+ . = ..()
var/msg = ""
@@ -53,9 +53,7 @@
msg += "
"
msg += "Someone appears to be strapped in. You can help them out, or you can harm them by activating the guillotine."
- to_chat(user, msg)
-
- return msg
+ . += msg
/obj/structure/guillotine/attack_hand(mob/user)
add_fingerprint(user)
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index c1233aaee0c..5aab6610f8c 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -22,11 +22,11 @@
QDEL_IN(LAT, 0)
/obj/structure/lattice/examine(mob/user)
- ..()
- deconstruction_hints(user)
+ . = ..()
+ . += deconstruction_hints(user)
/obj/structure/lattice/proc/deconstruction_hints(mob/user)
- to_chat(user, "The rods look like they could be cut. There's space for more rods or a tile.")
+ return "The rods look like they could be cut. There's space for more rods or a tile."
/obj/structure/lattice/attackby(obj/item/C, mob/user, params)
if(resistance_flags & INDESTRUCTIBLE)
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index f01cc8c41ca..948a39ba93e 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -21,8 +21,9 @@
return ..()
/obj/structure/mopbucket/examine(mob/user)
- if(..(user, 1))
- to_chat(usr, "[bicon(src)] [src] contains [reagents.total_volume] units of water left!")
+ . = ..()
+ if(in_range(user, src))
+ . += "[bicon(src)] [src] contains [reagents.total_volume] units of water left!"
/obj/structure/mopbucket/attackby(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/mop))
diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm
index c175dca567b..12586dc742c 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)
- to_chat(user, "[src] are screwed to the floor.")
+ . += "[src] are screwed to the floor."
if(PLASTIC_FLAPS_DETACHED)
- to_chat(user, "[src] are no longer screwed to the floor, and the flaps can be sliced apart.")
+ . += "[src] are no longer screwed to the floor, and the flaps can be sliced apart."
/obj/structure/plasticflaps/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index 68a3081fc22..d847601de18 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -79,9 +79,9 @@ GLOBAL_LIST_EMPTY(safes)
/obj/structure/safe/examine(mob/user)
. = ..()
- to_chat(user, "This model appears to have [number_of_tumblers] tumblers.")
+ . += "This model appears to have [number_of_tumblers] tumblers."
if(open)
- to_chat(user, "The inside of the the door has numbers written on it: [get_combination()]")
+ . += "The inside of the the door has numbers written on it: [get_combination()]"
/obj/structure/safe/blob_act()
return
diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm
index b6f66350f1f..dc82b824e34 100644
--- a/code/game/objects/structures/spirit_board.dm
+++ b/code/game/objects/structures/spirit_board.dm
@@ -11,8 +11,8 @@
var/lastuser = null
/obj/structure/spirit_board/examine(mob/user)
- ..(user)
- to_chat(user, "[initial(desc)] The planchette is sitting at \"[planchette]\".")
+ . = ..()
+ . += "[initial(desc)] The planchette is sitting at \"[planchette]\"."
/obj/structure/spirit_board/attack_hand(mob/user as mob)
if(..())
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index d4296e1df2f..ba2a80b945f 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -41,11 +41,11 @@
update_icon()
/obj/structure/table/examine(mob/user)
- ..()
- deconstruction_hints(user)
+ . = ..()
+ . += deconstruction_hints(user)
/obj/structure/table/proc/deconstruction_hints(mob/user)
- to_chat(user, "The top is screwed on, but the main bolts are also visible.")
+ return "The top is screwed on, but the main bolts are also visible."
/obj/structure/table/update_icon()
if(smooth && !flipped)
@@ -648,8 +648,8 @@
max_integrity = 20
/obj/structure/rack/examine(mob/user)
- ..()
- to_chat(user, "It's held together by a couple of bolts.")
+ . = ..()
+ . += "It's held together by a couple of bolts."
/obj/structure/rack/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0)
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index 1124745d8b3..0eee91ee068 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -28,8 +28,8 @@
var/state = "01" //How far the door assembly has progressed
/obj/structure/windoor_assembly/examine(mob/user)
- ..()
- to_chat(user, "Alt-click to rotate it clockwise.")
+ . = ..()
+ . += "Alt-click to rotate it clockwise."
obj/structure/windoor_assembly/New(loc, set_dir)
..()
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 4090420525d..a083ec96af0 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -49,23 +49,23 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
var/hitsound = 'sound/effects/Glasshit.ogg'
/obj/structure/window/examine(mob/user)
- ..()
+ . = ..()
if(reinf)
if(anchored && state == WINDOW_SCREWED_TO_FRAME)
- to_chat(user, "The window is screwed to the frame.")
+ . += "The window is screwed to the frame."
else if(anchored && state == WINDOW_IN_FRAME)
- to_chat(user, "The window is unscrewed but pried into the frame.")
+ . += "The window is unscrewed but pried into the frame."
else if(anchored && state == WINDOW_OUT_OF_FRAME)
- to_chat(user, "The window is out of the frame, but could be pried in. It is screwed to the floor.")
+ . += "The window is out of the frame, but could be pried in. It is screwed to the floor."
else if(!anchored)
- to_chat(user, "The window is unscrewed from the floor, and could be deconstructed by wrenching.")
+ . += "The window is unscrewed from the floor, and could be deconstructed by wrenching."
else
if(anchored)
- to_chat(user, "The window is screwed to the floor.")
+ . += "The window is screwed to the floor."
else
- to_chat(user, "The window is unscrewed from the floor, and could be deconstructed by wrenching.")
+ . += "The window is unscrewed from the floor, and could be deconstructed by wrenching."
if(!anchored && !fulltile)
- to_chat(user, "Alt-click to rotate it.")
+ . += "Alt-click to rotate it."
/obj/structure/window/New(Loc, direct)
..()
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index 7fabcb0b957..b446625a9e9 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -37,7 +37,7 @@
. = ..()
if(unfastened)
- to_chat(user, "It has been unfastened.")
+ . += "It has been unfastened."
/turf/simulated/floor/plating/attackby(obj/item/C, mob/user, params)
if(..())
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index c0a4aa928d2..ed72fb88993 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -56,21 +56,21 @@
//Appearance
/turf/simulated/wall/examine(mob/user)
- . = ..(user)
+ . = ..()
if(!damage)
- to_chat(user, "It looks fully intact.")
+ . += "It looks fully intact."
else
var/dam = damage / damage_cap
if(dam <= 0.3)
- to_chat(user, "It looks slightly damaged.")
+ . += "It looks slightly damaged."
else if(dam <= 0.6)
- to_chat(user, "It looks moderately damaged.")
+ . += "It looks moderately damaged."
else
- to_chat(user, "It looks heavily damaged.")
+ . += "It looks heavily damaged."
if(rotting)
- to_chat(user, "There is fungus growing on [src].")
+ . += "There is fungus growing on [src]."
/turf/simulated/wall/proc/update_icon()
if(!damage_overlays[1]) //list hasn't been populated
diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm
index 1ae3332e9b3..ae4d7588b97 100644
--- a/code/game/turfs/simulated/walls_reinforced.dm
+++ b/code/game/turfs/simulated/walls_reinforced.dm
@@ -17,22 +17,22 @@
var/can_be_reinforced = 1
/turf/simulated/wall/r_wall/examine(mob/user)
- ..()
+ . = ..()
switch(d_state)
if(RWALL_INTACT)
- to_chat(user, "The outer grille is fully intact.")
+ . += "The outer grille is fully intact."
if(RWALL_SUPPORT_LINES)
- to_chat(user, "The outer grille has been cut, and the support lines are screwed securely to the outer cover.")
+ . += "The outer grille has been cut, and the support lines are screwed securely to the outer cover."
if(RWALL_COVER)
- to_chat(user, "The support lines have been unscrewed, and the metal cover is welded firmly in place.")
+ . += "The support lines have been unscrewed, and the metal cover is welded firmly in place."
if(RWALL_CUT_COVER)
- to_chat(user, "The metal cover has been sliced through, and is connected loosely to the girder.")
+ . += "The metal cover has been sliced through, and is connected loosely to the girder."
if(RWALL_BOLTS)
- to_chat(user, "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place.")
+ . += "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place."
if(RWALL_SUPPORT_RODS)
- to_chat(user, "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder.")
+ . += "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder."
if(RWALL_SHEATH)
- to_chat(user, "The support rods have been sliced through, and the outer sheath is connected loosely to the girder.")
+ . += "The support rods have been sliced through, and the outer sheath is connected loosely to the girder."
/turf/simulated/wall/r_wall/attackby(obj/item/I, mob/user, params)
if(try_repair(I, user, params))
diff --git a/code/modules/arcade/arcade_base.dm b/code/modules/arcade/arcade_base.dm
index c3158e9ccba..38c034927bc 100644
--- a/code/modules/arcade/arcade_base.dm
+++ b/code/modules/arcade/arcade_base.dm
@@ -22,18 +22,18 @@
qdel(src)
/obj/machinery/arcade/examine(mob/user)
- ..(user)
+ . = ..()
if(freeplay)
- to_chat(user, "Someone enabled freeplay on this machine!")
+ . += "Someone enabled freeplay on this machine!"
else
if(token_price)
- to_chat(user, "\The [src.name] costs [token_price] credits per play.")
+ . += "\The [src.name] costs [token_price] credits per play."
if(!tokens)
- to_chat(user, "\The [src.name] has no available play credits. Better feed the machine!")
+ . += "\The [src.name] has no available play credits. Better feed the machine!"
else if(tokens == 1)
- to_chat(user, "\The [src.name] has only 1 play credit left!")
+ . += "\The [src.name] has only 1 play credit left!"
else
- to_chat(user, "\The [src.name] has [tokens] play credits!")
+ . += "\The [src.name] has [tokens] play credits!"
/obj/machinery/arcade/attack_hand(mob/user as mob)
if(..())
diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm
index 5e0b463af30..d8ee727f2f8 100644
--- a/code/modules/assembly/assembly.dm
+++ b/code/modules/assembly/assembly.dm
@@ -128,12 +128,12 @@
STOP_PROCESSING(SSobj, src)
/obj/item/assembly/examine(mob/user)
- ..()
+ . = ..()
if(in_range(src, user) || loc == user)
if(secured)
- to_chat(user, "[src] is ready!")
+ . += "[src] is ready!"
else
- to_chat(user, "[src] can be attached!")
+ . += "[src] can be attached!"
/obj/item/assembly/attack_self(mob/user)
if(!user)
diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm
index 058dd4cd0f2..e0454d5f5ea 100644
--- a/code/modules/assembly/bomb.dm
+++ b/code/modules/assembly/bomb.dm
@@ -13,8 +13,8 @@
origin_tech = "materials=1;engineering=1"
/obj/item/onetankbomb/examine(mob/user)
- ..(user)
- user.examinate(bombtank)
+ . = ..()
+ . += bombtank.examine(user)
/obj/item/onetankbomb/update_icon()
if(bombtank)
diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm
index d19682d1eb9..ac4613575e8 100644
--- a/code/modules/assembly/holder.dm
+++ b/code/modules/assembly/holder.dm
@@ -70,12 +70,12 @@
/obj/item/assembly_holder/examine(mob/user)
- ..(user)
+ . = ..()
if(in_range(src, user) || loc == user)
if(secured)
- to_chat(user, "[src] is ready!")
+ . += "[src] is ready!"
else
- to_chat(user, "[src] can be attached!")
+ . += "[src] can be attached!"
/obj/item/assembly_holder/HasProximity(atom/movable/AM)
diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm
index 37f5916d535..b9d3ee2afc1 100644
--- a/code/modules/assembly/infrared.dm
+++ b/code/modules/assembly/infrared.dm
@@ -29,8 +29,8 @@
return "The assembly is [secured ? "secure" : "not secure"]. The infrared trigger is [on ? "on" : "off"]."
/obj/item/assembly/infra/examine(mob/user)
- ..()
- to_chat(user, describe())
+ . = ..()
+ . += describe()
/obj/item/assembly/infra/activate()
if(!..())
diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm
index 3610ec8b451..912eff95981 100644
--- a/code/modules/assembly/mousetrap.dm
+++ b/code/modules/assembly/mousetrap.dm
@@ -9,9 +9,9 @@
bomb_name = "contact mine"
/obj/item/assembly/mousetrap/examine(mob/user)
- ..(user)
+ . = ..()
if(armed)
- to_chat(user, "It looks like it's armed.")
+ . += "It looks like it's armed."
/obj/item/assembly/mousetrap/activate()
if(..())
diff --git a/code/modules/awaymissions/mission_code/spacehotel.dm b/code/modules/awaymissions/mission_code/spacehotel.dm
index d2fda046d7e..e9c74d73ea9 100644
--- a/code/modules/awaymissions/mission_code/spacehotel.dm
+++ b/code/modules/awaymissions/mission_code/spacehotel.dm
@@ -121,8 +121,8 @@
return ..()
/obj/machinery/door/unpowered/hotel_door/examine(mob/user)
- ..()
- to_chat(user, "This room is currently [occupant ? "" : "un"]occupied.")
+ . = ..()
+ . += "This room is currently [occupant ? "" : "un"]occupied."
/obj/machinery/door/unpowered/hotel_door/allowed(mob/living/carbon/user)
for(var/obj/item/card/hotel_card/C in user.get_all_slots())
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index d37c6fe9807..a65f6819d81 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -710,19 +710,19 @@ BLIND // can't see anything
return FALSE
/obj/item/clothing/under/examine(mob/user)
- ..(user)
- switch(src.sensor_mode)
+ . = ..()
+ switch(sensor_mode)
if(0)
- to_chat(user, "Its sensors appear to be disabled.")
+ . += "Its sensors appear to be disabled."
if(1)
- to_chat(user, "Its binary life sensors appear to be enabled.")
+ . += "Its binary life sensors appear to be enabled."
if(2)
- to_chat(user, "Its vital tracker appears to be enabled.")
+ . += "Its vital tracker appears to be enabled."
if(3)
- to_chat(user, "Its vital tracker and tracking beacon appear to be enabled.")
+ . += "Its vital tracker and tracking beacon appear to be enabled."
if(accessories.len)
for(var/obj/item/clothing/accessory/A in accessories)
- to_chat(user, "\A [A] is attached to it.")
+ . += "\A [A] is attached to it."
/obj/item/clothing/under/verb/rollsuit()
diff --git a/code/modules/clothing/gloves/rings.dm b/code/modules/clothing/gloves/rings.dm
index 9a512ca2cd5..6bef80bfe6d 100644
--- a/code/modules/clothing/gloves/rings.dm
+++ b/code/modules/clothing/gloves/rings.dm
@@ -21,11 +21,11 @@
icon_state = initial(icon_state)
/obj/item/clothing/gloves/ring/examine(mob/user)
- ..(user)
+ . = ..()
if(!fluff_material)
- to_chat(user, "This one is made of [material].")
+ . += "This one is made of [material]."
if(stud)
- to_chat(user, "It is adorned with a single gem.")
+ . += "It is adorned with a single gem."
/obj/item/clothing/gloves/ring/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/stack/sheet/mineral/diamond))
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 7a5bd2255da..b029f180fa7 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -33,8 +33,8 @@
return flags & NOSLIP
/obj/item/clothing/shoes/magboots/examine(mob/user)
- ..(user)
- to_chat(user, "Its [magpulse_name] appears to be [magpulse ? "enabled" : "disabled"].")
+ . = ..()
+ . += "Its [magpulse_name] appears to be [magpulse ? "enabled" : "disabled"]."
/obj/item/clothing/shoes/magboots/advance
diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index 620ed257a09..c52fe271966 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -233,6 +233,6 @@
flags &= ~NODROP
/obj/item/clothing/shoes/magboots/vox/examine(mob/user)
- ..(user)
+ . = ..()
if(magpulse)
- to_chat(user, "It would be hard to take these off without relaxing your grip first.")//theoretically this message should only be seen by the wearer when the claws are equipped.
+ . += "It would be hard to take these off without relaxing your grip first."//theoretically this message should only be seen by the wearer when the claws are equipped.
diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm
index d47f06b125b..c8891fde00d 100644
--- a/code/modules/clothing/spacesuits/breaches.dm
+++ b/code/modules/clothing/spacesuits/breaches.dm
@@ -215,7 +215,7 @@ var/global/list/breach_burn_descriptors = list(
..()
/obj/item/clothing/suit/space/examine(mob/user)
- ..(user)
+ . = ..()
if(can_breach && breaches && breaches.len)
for(var/datum/breach/B in breaches)
- to_chat(user, "It has \a [B.descriptor].")
+ . += "It has \a [B.descriptor]."
diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm
index 416aaace5a3..9f4590038be 100644
--- a/code/modules/clothing/spacesuits/ert.dm
+++ b/code/modules/clothing/spacesuits/ert.dm
@@ -26,8 +26,9 @@
to_chat(user, "User scanned as [camera.c_tag]. Camera activated.")
/obj/item/clothing/head/helmet/space/hardsuit/ert/examine(mob/user)
- if(..(user, 1) && has_camera)
- to_chat(user, "This helmet has a built-in camera. It's [camera ? "" : "in"]active.")
+ . = ..()
+ if(in_range(user, src) && has_camera)
+ . += "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
/obj/item/clothing/suit/space/hardsuit/ert
name = "emergency response team suit"
diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm
index 12df59f70d7..19c10a31c58 100644
--- a/code/modules/clothing/spacesuits/rig/modules/modules.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm
@@ -55,15 +55,15 @@
var/list/stat_rig_module/stat_modules = new()
-/obj/item/rig_module/examine()
- ..()
+/obj/item/rig_module/examine(mob/user)
+ . = ..()
switch(damage)
if(0)
- to_chat(usr, "It is undamaged.")
+ . += "It is undamaged."
if(1)
- to_chat(usr, "It is badly damaged.")
+ . += "It is badly damaged."
if(2)
- to_chat(usr, "It is almost completely destroyed.")
+ . += "It is almost completely destroyed."
/obj/item/rig_module/attackby(obj/item/W as obj, mob/user as mob)
diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm
index b463a513764..dd1a6a895c3 100644
--- a/code/modules/clothing/spacesuits/rig/rig.dm
+++ b/code/modules/clothing/spacesuits/rig/rig.dm
@@ -84,18 +84,18 @@
var/datum/wires/rig/wires
var/datum/effect_system/spark_spread/spark_system
-/obj/item/rig/examine()
- to_chat(usr, "This is [bicon(src)][src.name].")
- to_chat(usr, "[src.desc]")
+/obj/item/rig/examine(mob/user)
+ . = list("This is [src].")
+ . += "[desc]"
if(wearer)
for(var/obj/item/piece in list(helmet,gloves,chest,boots))
if(!piece || piece.loc != wearer)
continue
- to_chat(usr, "[bicon(piece)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed.")
+ . += "[bicon(piece)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed."
- if(src.loc == usr)
- to_chat(usr, "The maintenance panel is [open ? "open" : "closed"].")
- to_chat(usr, "Hardsuit systems are [offline ? "offline" : "online"].")
+ if(loc == usr)
+ . += "The maintenance panel is [open ? "open" : "closed"]."
+ . += "Hardsuit systems are [offline ? "offline" : "online"]."
/obj/item/rig/get_cell()
return cell
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index 9b1a0dbc146..216ac78f450 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -665,9 +665,9 @@
return access_id ? access_id.GetAccess() : ..()
/obj/item/clothing/accessory/petcollar/examine(mob/user)
- ..()
+ . = ..()
if(access_id)
- to_chat(user, "There is [bicon(access_id)] \a [access_id] clipped onto it.")
+ . += "There is [bicon(access_id)] \a [access_id] clipped onto it."
/obj/item/clothing/accessory/petcollar/equipped(mob/living/simple_animal/user)
if(istype(user))
diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm
index 29b89e8418d..9da7223be0c 100644
--- a/code/modules/clothing/under/accessories/holster.dm
+++ b/code/modules/clothing/under/accessories/holster.dm
@@ -87,11 +87,11 @@
..()
/obj/item/clothing/accessory/holster/examine(mob/user)
- ..(user)
+ . = ..()
if(holstered)
- to_chat(user, "A [holstered] is holstered here.")
+ . += "A [holstered] is holstered here."
else
- to_chat(user, "It is empty.")
+ . += "It is empty."
/obj/item/clothing/accessory/holster/on_attached(obj/item/clothing/under/S, mob/user as mob)
..()
diff --git a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm
index 5c38361e0b2..617e0284848 100644
--- a/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm
+++ b/code/modules/clothing/under/jobs/plasmamen/_plasmamen.dm
@@ -15,8 +15,8 @@
item_color = "plasmaman"
/obj/item/clothing/under/plasmaman/examine(mob/user)
- ..()
- to_chat(user, "There are [extinguishes_left] extinguisher charges left in this suit.")
+ . = ..()
+ . += "There are [extinguishes_left] extinguisher charges left in this suit."
/obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H)
if(!istype(H))
diff --git a/code/modules/countdown/countdown.dm b/code/modules/countdown/countdown.dm
index 8769e5e321a..d8094f5bdf3 100644
--- a/code/modules/countdown/countdown.dm
+++ b/code/modules/countdown/countdown.dm
@@ -20,7 +20,7 @@
/obj/effect/countdown/examine(mob/user)
. = ..()
- to_chat(user, "This countdown is displaying: [displayed_text]")
+ . += "This countdown is displaying: [displayed_text]"
/obj/effect/countdown/proc/attach(atom/A)
attached_to = A
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index c7330151b00..ef02ce39b1a 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -423,7 +423,7 @@
color = "#ffffff"
/obj/structure/spacevine/examine(mob/user)
- ..()
+ . = ..()
var/text = "This one is a"
if(mutations.len)
for(var/A in mutations)
@@ -432,7 +432,7 @@
else
text += " normal"
text += " vine."
- to_chat(user, text)
+ . += text
/obj/structure/spacevine/proc/wither()
for(var/datum/spacevine_mutation/SM in mutations)
diff --git a/code/modules/fish/fishtank.dm b/code/modules/fish/fishtank.dm
index 33acde9861d..f827b061b93 100644
--- a/code/modules/fish/fishtank.dm
+++ b/code/modules/fish/fishtank.dm
@@ -369,7 +369,7 @@
////////////////////////////// Feel free to try cleaning it up if you think of a better way to do it.
/obj/machinery/fishtank/examine(mob/user)
- ..(user)
+ . = ..()
var/examine_message = ""
//Approximate water level
@@ -474,8 +474,7 @@
//Finally, report the full examine_message constructed from the above reports
- to_chat(user, "[examine_message]")
- return examine_message
+ . += "[examine_message]"
//////////////////////////////
// ATACK PROCS //
diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm
index d85b882e7db..57a4e4e9bcc 100644
--- a/code/modules/food_and_drinks/drinks/drinks.dm
+++ b/code/modules/food_and_drinks/drinks/drinks.dm
@@ -108,19 +108,19 @@
return FALSE
/obj/item/reagent_containers/food/drinks/examine(mob/user)
- if(!..(user, 1))
- return
- if(!reagents || reagents.total_volume == 0)
- to_chat(user, " \The [src] is empty!")
- else if(reagents.total_volume <= volume/4)
- to_chat(user, " \The [src] is almost empty!")
- else if(reagents.total_volume <= volume*0.66)
- to_chat(user, " \The [src] is half full!")// We're all optimistic, right?!
+ . = ..()
+ if(in_range(user, src))
+ if(!reagents || reagents.total_volume == 0)
+ . += " \The [src] is empty!"
+ else if(reagents.total_volume <= volume/4)
+ . += " \The [src] is almost empty!"
+ else if(reagents.total_volume <= volume*0.66)
+ . += " \The [src] is half full!"// We're all optimistic, right?!
- else if(reagents.total_volume <= volume*0.90)
- to_chat(user, " \The [src] is almost full!")
- else
- to_chat(user, " \The [src] is full!")
+ else if(reagents.total_volume <= volume*0.90)
+ . += " \The [src] is almost full!"
+ else
+ . += " \The [src] is full!"
////////////////////////////////////////////////////////////////////////////////
/// Drinks. END
diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm
index bebef085297..ef2ad5f777b 100644
--- a/code/modules/food_and_drinks/food/customizables.dm
+++ b/code/modules/food_and_drinks/food/customizables.dm
@@ -387,10 +387,10 @@
return ..()
/obj/item/reagent_containers/food/snacks/customizable/examine(mob/user)
- ..(user)
+ . = ..()
if(LAZYLEN(ingredients))
var/whatsinside = pick(ingredients)
- to_chat(user, " You think you can see [whatsinside] in there.")
+ . += " You think you can see [whatsinside] in there."
/obj/item/reagent_containers/food/snacks/customizable/proc/newname()
diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm
index 672285b84d3..b2f0f5eb690 100644
--- a/code/modules/food_and_drinks/food/snacks.dm
+++ b/code/modules/food_and_drinks/food/snacks.dm
@@ -71,15 +71,15 @@
return
/obj/item/reagent_containers/food/snacks/examine(mob/user)
- if(..(user, 0))
- if(bitecount==0)
- return
- else if(bitecount==1)
- to_chat(user, "[src] was bitten by someone!")
- else if(bitecount<=3)
- to_chat(user, "[src] was bitten [bitecount] times!")
- else
- to_chat(user, "[src] was bitten multiple times!")
+ . = ..()
+ if(in_range(user, src))
+ if(bitecount > 0)
+ if(bitecount==1)
+ . += "[src] was bitten by someone!"
+ else if(bitecount<=3)
+ . += "[src] was bitten [bitecount] times!"
+ else
+ . += "[src] was bitten multiple times!"
/obj/item/reagent_containers/food/snacks/attackby(obj/item/W, mob/user, params)
@@ -180,7 +180,7 @@
/obj/item/reagent_containers/food/snacks/sliceable/examine(mob/user)
. = ..()
- to_chat(user, "Alt-click to put something small inside.")
+ . += "Alt-click to put something small inside."
/obj/item/reagent_containers/food/snacks/sliceable/AltClick(mob/user)
var/obj/item/I = user.get_active_hand()
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index 872bdc8e327..7be44052729 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -39,8 +39,8 @@
..()
/obj/item/deck/examine(mob/user)
- ..()
- to_chat(user,"It contains [cards.len ? cards.len : "no"] cards")
+ . = ..()
+ . +="It contains [cards.len ? cards.len : "no"] cards"
/obj/item/deck/attack_hand(mob/user as mob)
draw_card(user)
@@ -313,11 +313,11 @@
user.visible_message("[user] [concealed ? "conceals" : "reveals"] their hand.")
/obj/item/cardhand/examine(mob/user)
- ..(user)
+ . = ..()
if((!concealed) && cards.len)
- to_chat(user,"It contains:")
+ . +="It contains:"
for(var/datum/playingcard/P in cards)
- to_chat(user,"the [P.name].")
+ . +="the [P.name]."
// Datum action here
diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm
index 21ba7cb89e2..ef1a10cd85f 100644
--- a/code/modules/hydroponics/beekeeping/beebox.dm
+++ b/code/modules/hydroponics/beekeeping/beebox.dm
@@ -127,25 +127,25 @@
/obj/structure/beebox/examine(mob/user)
- ..()
+ . = ..()
if(!queen_bee)
- to_chat(user, "There is no queen bee! There won't bee any honeycomb without a queen!")
+ . += "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))
- to_chat(user, "This place is a BUZZ with activity... there are lots of bees!")
+ . += "This place is a BUZZ with activity... there are lots of bees!"
- 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.")
+ . += "[bee_resources]/100 resource supply."
+ . += "[bee_resources]% towards a new honeycomb."
+ . += "[bee_resources*2]% towards a new bee."
if(honeycombs.len)
var/plural = honeycombs.len > 1
- to_chat(user, "There [plural? "are" : "is"] [honeycombs.len] uncollected honeycomb[plural ? "s":""] in the apiary.")
+ . += "There [plural? "are" : "is"] [honeycombs.len] uncollected honeycomb[plural ? "s":""] in the apiary."
if(honeycombs.len >= get_max_honeycomb())
- to_chat(user, "there's no room for more honeycomb!")
+ . += "there's no room for more honeycomb!"
/obj/structure/beebox/attackby(obj/item/I, mob/user, params)
diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm
index e701406897c..f194c48e019 100644
--- a/code/modules/hydroponics/fermenting_barrel.dm
+++ b/code/modules/hydroponics/fermenting_barrel.dm
@@ -17,7 +17,7 @@
/obj/structure/fermenting_barrel/examine(mob/user)
. = ..()
- to_chat(user, "It is currently [open ? "open, letting you pour liquids in." : "closed, letting you draw liquids from the tap."] ")
+ . += "It is currently [open ? "open, letting you pour liquids in." : "closed, letting you draw liquids from the tap."] "
/obj/structure/fermenting_barrel/proc/makeWine(obj/item/reagent_containers/food/snacks/grown/G)
if(G.reagents)
diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm
index 87c98f211f6..17246d6cba1 100644
--- a/code/modules/hydroponics/gene_modder.dm
+++ b/code/modules/hydroponics/gene_modder.dm
@@ -479,8 +479,8 @@
to_chat(user, "You flip the write-protect tab to [read_only ? "protected" : "unprotected"].")
/obj/item/disk/plantgene/examine(mob/user)
- ..()
- to_chat(user, "The write-protect tab is set to [read_only ? "protected" : "unprotected"].")
+ . = ..()
+ . += "The write-protect tab is set to [read_only ? "protected" : "unprotected"]."
/*
diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm
index 63d21bced03..c64faba07ad 100644
--- a/code/modules/hydroponics/grown.dm
+++ b/code/modules/hydroponics/grown.dm
@@ -55,11 +55,11 @@
return 0
/obj/item/reagent_containers/food/snacks/grown/examine(user)
- ..()
+ . = ..()
if(seed)
for(var/datum/plant_gene/trait/T in seed.genes)
if(T.examine_line)
- to_chat(user, T.examine_line)
+ . += T.examine_line
/obj/item/reagent_containers/food/snacks/grown/attackby(obj/item/O, mob/user, params)
..()
diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 2d3adacefbf..7e31c1a7b7e 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -339,32 +339,32 @@
/obj/machinery/hydroponics/examine(user)
- ..()
+ . = ..()
if(myseed)
- to_chat(user, "It has [myseed.plantname] planted.")
+ . += "It has [myseed.plantname] planted."
if (dead)
- to_chat(user, "It's dead!")
+ . += "It's dead!"
else if (harvest)
- to_chat(user, "It's ready to harvest.")
+ . += "It's ready to harvest."
else if (plant_health <= (myseed.endurance / 2))
- to_chat(user, "It looks unhealthy.")
+ . += "It looks unhealthy."
else
- to_chat(user, "[src] is empty.")
+ . += "[src] is empty."
if(!self_sustaining)
- to_chat(user, "Water: [waterlevel]/[maxwater]")
- to_chat(user, "Nutrient: [nutrilevel]/[maxnutri]")
+ . += "Water: [waterlevel]/[maxwater]"
+ . += "Nutrient: [nutrilevel]/[maxnutri]"
if(self_sufficiency_progress > 0)
var/percent_progress = round(self_sufficiency_progress * 100 / self_sufficiency_req)
- to_chat(user, "Treatment for self-sustenance are [percent_progress]% complete.")
+ . += "Treatment for self-sustenance are [percent_progress]% complete."
else
- to_chat(user, "It doesn't require any water or nutrients.")
+ . += "It doesn't require any water or nutrients."
if(weedlevel >= 5)
- to_chat(user, "[src] is filled with weeds!")
+ . += "[src] is filled with weeds!"
if(pestlevel >= 5)
- to_chat(user, "[src] is filled with tiny worms!")
- to_chat(user, "") // Empty line for readability.
+ . += "[src] is filled with tiny worms!"
+ . += "" // Empty line for readability.
/obj/machinery/hydroponics/proc/weedinvasion() // If a weed growth is sufficient, this happens.
diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm
index d340e6069cc..df943d6f30d 100644
--- a/code/modules/mining/equipment/kinetic_crusher.dm
+++ b/code/modules/mining/equipment/kinetic_crusher.dm
@@ -32,12 +32,12 @@
return ..()
/obj/item/twohanded/kinetic_crusher/examine(mob/living/user)
- ..()
- to_chat(user, "Mark a large creature with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage.")
- to_chat(user, "Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage].")
+ . = ..()
+ . += "Mark a large creature with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage."
+ . += "Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage]."
for(var/t in trophies)
var/obj/item/crusher_trophy/T = t
- to_chat(user, "It has \a [T] attached, which causes [T.effect_desc()].")
+ . += "It has \a [T] attached, which causes [T.effect_desc()]."
/obj/item/twohanded/kinetic_crusher/attackby(obj/item/I, mob/living/user)
if(iscrowbar(I))
@@ -191,8 +191,8 @@
var/denied_type = /obj/item/crusher_trophy
/obj/item/crusher_trophy/examine(mob/living/user)
- ..()
- to_chat(user, "Causes [effect_desc()] when attached to a kinetic crusher.")
+ . = ..()
+ . += "Causes [effect_desc()] when attached to a kinetic crusher."
/obj/item/crusher_trophy/proc/effect_desc()
return "errors"
diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm
index 0f174ff748f..e2a7c192153 100644
--- a/code/modules/mining/equipment/lazarus_injector.dm
+++ b/code/modules/mining/equipment/lazarus_injector.dm
@@ -59,11 +59,11 @@
malfunctioning = 1
/obj/item/lazarus_injector/examine(mob/user)
- ..(user)
+ . = ..()
if(!loaded)
- to_chat(user, "[src] is empty.")
+ . += "[src] is empty."
if(malfunctioning)
- to_chat(user, "The display on [src] seems to be flickering.")
+ . += "The display on [src] seems to be flickering."
/*********************Mob Capsule*************************/
diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm
index 3a31e59cd55..9ae6bb19fa0 100644
--- a/code/modules/mining/equipment/marker_beacons.dm
+++ b/code/modules/mining/equipment/marker_beacons.dm
@@ -35,9 +35,9 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
update_icon()
/obj/item/stack/marker_beacon/examine(mob/user)
- ..()
- to_chat(user, "Use in-hand to place a [singular_name].")
- to_chat(user, "Alt-click to select a color. Current color is [picked_color].")
+ . = ..()
+ . += "Use in-hand to place a [singular_name]."
+ . += "Alt-click to select a color. Current color is [picked_color]."
/obj/item/stack/marker_beacon/update_icon()
icon_state = "[initial(icon_state)][lowertext(picked_color)]"
@@ -92,8 +92,8 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
qdel(src)
/obj/structure/marker_beacon/examine(mob/user)
- ..()
- to_chat(user, "Alt-click to select a color. Current color is [picked_color].")
+ . = ..()
+ . += "Alt-click to select a color. Current color is [picked_color]."
/obj/structure/marker_beacon/update_icon()
while(!picked_color || !GLOB.marker_beacon_colors[picked_color])
diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm
index 972ca9af868..5e71a4438b2 100644
--- a/code/modules/mining/equipment/survival_pod.dm
+++ b/code/modules/mining/equipment/survival_pod.dm
@@ -27,8 +27,8 @@
/obj/item/survivalcapsule/examine(mob/user)
. = ..()
get_template()
- to_chat(user, "This capsule has the [template.name] stored.")
- to_chat(user, template.description)
+ . += "This capsule has the [template.name] stored."
+ . += template.description
/obj/item/survivalcapsule/attack_self()
// Can't grab when capsule is New() because templates aren't loaded then
diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm
index 2d09c6a8e7a..06f543c5907 100644
--- a/code/modules/mining/fulton.dm
+++ b/code/modules/mining/fulton.dm
@@ -14,8 +14,8 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
var/max_force_fulton = MOVE_FORCE_STRONG
/obj/item/extraction_pack/examine(mob/user)
- ..()
- to_chat(user, "It has [uses_left] use\s remaining.")
+ . = ..()
+ . += "It has [uses_left] use\s remaining."
/obj/item/extraction_pack/attack_self(mob/user)
var/list/possible_beacons = list()
diff --git a/code/modules/mining/lavaland/loot/hierophant_loot.dm b/code/modules/mining/lavaland/loot/hierophant_loot.dm
index d86226943a2..a25d822af8c 100644
--- a/code/modules/mining/lavaland/loot/hierophant_loot.dm
+++ b/code/modules/mining/lavaland/loot/hierophant_loot.dm
@@ -27,8 +27,8 @@
var/friendly_fire_check = FALSE //if the blasts we make will consider our faction against the faction of hit targets
/obj/item/hierophant_club/examine(mob/user)
- ..()
- to_chat(user, "The[beacon ? " beacon is not currently":"re is a beacon"] attached.")
+ . = ..()
+ . += "The[beacon ? " beacon is not currently":"re is a beacon"] attached."
/obj/item/hierophant_club/suicide_act(mob/living/user)
atom_say("Xverwpsgexmrk...")
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index 8f85908a995..b20bcb347de 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -275,8 +275,8 @@
..()
/obj/item/card/mining_point_card/examine(mob/user)
- ..(user)
- to_chat(user, "There's [points] points on the card.")
+ . = ..()
+ . += "There's [points] points on the card."
/**********************Conscription Kit**********************/
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index fc4a14c6e6d..b00883c4cdd 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -97,9 +97,9 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER)
return ..()
/mob/dead/observer/examine(mob/user)
- ..()
+ . = ..()
if(!invisibility)
- to_chat(user, "It seems extremely obvious.")
+ . += "It seems extremely obvious."
// This seems stupid, but it's the easiest way to avoid absolutely ridiculous shit from happening
// Copying an appearance directly from a mob includes it's verb list, it's invisibility, it's alpha, and it's density
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index e5bea0357eb..1d39eb03c88 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -43,16 +43,15 @@ var/const/MAX_ACTIVE_TIME = 400
Attach(M)
/obj/item/clothing/mask/facehugger/examine(mob/user)
- ..(user)
- if(!real)//So that giant red text about probisci doesn't show up.
- return
- switch(stat)
- if(DEAD,UNCONSCIOUS)
- to_chat(user, "[src] is not moving.")
- if(CONSCIOUS)
- to_chat(user, "[src] seems to be active!")
- if(sterile)
- to_chat(user, "It looks like the proboscis has been removed.")
+ . = ..()
+ if(real)//So that giant red text about probisci doesn't show up for fake ones
+ switch(stat)
+ if(DEAD,UNCONSCIOUS)
+ . += "[src] is not moving."
+ if(CONSCIOUS)
+ . += "[src] seems to be active!"
+ if(sterile)
+ . += "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/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm
index 6b194315f1d..ffe70211a37 100644
--- a/code/modules/mob/living/carbon/brain/MMI.dm
+++ b/code/modules/mob/living/carbon/brain/MMI.dm
@@ -169,7 +169,7 @@
/obj/item/mmi/examine(mob/user)
. = ..()
if(radio)
- to_chat(user, "A radio is installed on [src].")
+ . += "A radio is installed on [src]."
/obj/item/mmi/proc/install_radio()
radio = new(src)
diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm
index af1d7680aca..3017257069a 100644
--- a/code/modules/mob/living/carbon/brain/brain_item.dm
+++ b/code/modules/mob/living/carbon/brain/brain_item.dm
@@ -50,11 +50,11 @@
to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a [initial(src.name)].")
/obj/item/organ/internal/brain/examine(mob/user) // -- TLE
- ..(user)
+ . = ..()
if(brainmob && brainmob.client)//if thar be a brain inside... the brain.
- to_chat(user, "You can feel the small spark of life still left in this one.")
+ . += "You can feel the small spark of life still left in this one."
else
- to_chat(user, "This one seems particularly lifeless. Perhaps it will regain some of its luster later..")
+ . += "This one seems particularly lifeless. Perhaps it will regain some of its luster later.."
/obj/item/organ/internal/brain/remove(var/mob/living/user,special = 0)
if(dna)
diff --git a/code/modules/mob/living/carbon/brain/robotic_brain.dm b/code/modules/mob/living/carbon/brain/robotic_brain.dm
index 6528d9c252e..320152a7bee 100644
--- a/code/modules/mob/living/carbon/brain/robotic_brain.dm
+++ b/code/modules/mob/living/carbon/brain/robotic_brain.dm
@@ -166,12 +166,9 @@
/obj/item/mmi/robotic_brain/examine(mob/user)
- to_chat(user, "Its speaker is turned [silenced ? "off" : "on"].")
- to_chat(user, "*---------*")
+ . += "Its speaker is turned [silenced ? "off" : "on"]."
+ . += "*---------*"
. = ..()
- if(!.)
- to_chat(user, "*---------*")
- return
var/list/msg = list("")
@@ -187,7 +184,7 @@
else
msg += "It appears to be completely inactive.\n"
msg += "*---------*"
- to_chat(user, msg.Join(""))
+ . += msg.Join("")
/obj/item/mmi/robotic_brain/emp_act(severity)
if(!brainmob)
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 1862fe5cffa..7a18e881eb6 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -374,7 +374,7 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\n[p_they(TRUE)] [p_are()] [pose]"
- to_chat(user, msg)
+ . = list(msg)
//Helper procedure. Called by /mob/living/carbon/human/examine() and /mob/living/carbon/human/Topic() to determine HUD access to security and medical records.
/proc/hasHUD(mob/M as mob, hudtype)
diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm
index c519ba0846a..1b8a4fa43c3 100644
--- a/code/modules/mob/living/silicon/ai/examine.dm
+++ b/code/modules/mob/living/silicon/ai/examine.dm
@@ -1,9 +1,5 @@
/mob/living/silicon/ai/examine(mob/user)
- to_chat(user, "*---------*")
- if(!..(user))
- to_chat(user, "*---------*")
- return
-
+ . = ..()
var/msg = ""
if(src.stat == DEAD)
msg += "It appears to be powered-down.\n"
@@ -26,7 +22,7 @@
msg += ""
msg += "*---------*"
- to_chat(user, msg)
+ . += msg
user.showLaws(src)
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index d2e52c39197..cb6b3eaa104 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -525,8 +525,7 @@
density = 0 //this is reset every canmove update otherwise
/mob/living/silicon/pai/examine(mob/user)
- to_chat(user, "*---------*")
- ..(user)
+ . = ..()
var/msg = ""
@@ -544,7 +543,7 @@
msg += "\nIt is [pose]"
msg += "\n*---------*"
- to_chat(user, msg)
+ . += msg
/mob/living/silicon/pai/bullet_act(var/obj/item/projectile/Proj)
..(Proj)
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
index 35bbad68b6a..50463b17bec 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm
@@ -46,9 +46,9 @@
visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.")
/obj/machinery/drone_fabricator/examine(mob/user)
- ..(user)
+ . = ..()
if(produce_drones && drone_progress >= 100 && istype(user,/mob/dead) && config.allow_drone_spawn && count_drones() < config.max_maint_drones)
- to_chat(user, "
A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone.")
+ . += "
A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone."
/obj/machinery/drone_fabricator/proc/count_drones()
var/drones = 0
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index 98b540347ac..56d01fea839 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -1,6 +1,5 @@
/mob/living/silicon/robot/examine(mob/user)
- to_chat(user, "*---------*")
- ..(user)
+ . = ..()
var/msg = ""
if(module)
@@ -55,5 +54,5 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\nIt is [pose]"
- to_chat(user, msg)
+ . += msg
user.showLaws(src)
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index 76f88220eda..1fba341fd59 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -232,14 +232,14 @@
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)
- to_chat(user, "[src]'s parts look loose.")
+ . += "[src]'s parts look loose."
else
- to_chat(user, "[src]'s parts look very loose!")
+ . += "[src]'s parts look very loose!"
else
- to_chat(user, "[src] is in pristine condition.")
+ . += "[src] is in pristine condition."
/mob/living/simple_animal/bot/adjustHealth(amount, updating_health = TRUE)
if(amount > 0 && prob(10))
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index 218693b7dc3..35fde25b202 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -48,8 +48,7 @@
updateglow()
/mob/living/simple_animal/hostile/construct/examine(mob/user)
- to_chat(user, "*---------*")
- ..(user)
+ . = ..()
var/msg = ""
if(src.health < src.maxHealth)
@@ -61,7 +60,7 @@
msg += ""
msg += "*---------*"
- to_chat(user, msg)
+ . += msg
/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/M)
if(istype(M, /mob/living/simple_animal/hostile/construct/builder))
diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm
index 540e4bbf28e..6349c50851d 100644
--- a/code/modules/mob/living/simple_animal/hostile/bees.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bees.dm
@@ -79,9 +79,9 @@
beehome = null
/mob/living/simple_animal/hostile/poison/bees/examine(mob/user)
- ..()
+ . = ..()
if(!bee_syndicate && !beehome)
- to_chat(user, "This bee is homeless!")
+ . += "This bee is homeless!"
/mob/living/simple_animal/hostile/poison/bees/proc/generate_bee_visuals()
overlays.Cut()
diff --git a/code/modules/mob/living/simple_animal/hostile/headslug.dm b/code/modules/mob/living/simple_animal/hostile/headslug.dm
index 99c11431695..d2329162da7 100644
--- a/code/modules/mob/living/simple_animal/hostile/headslug.dm
+++ b/code/modules/mob/living/simple_animal/hostile/headslug.dm
@@ -24,9 +24,9 @@
var/egg_lain = 0
/mob/living/simple_animal/hostile/headslug/examine(mob/user)
- ..()
+ . = ..()
if(stat == DEAD)
- to_chat(desc = "It appears to be dead.")
+ . += "It appears to be dead."
/mob/living/simple_animal/hostile/headslug/proc/Infect(mob/living/carbon/victim)
var/obj/item/organ/internal/body_egg/changeling_egg/egg = new(victim)
diff --git a/code/modules/mob/living/simple_animal/hostile/hellhound.dm b/code/modules/mob/living/simple_animal/hostile/hellhound.dm
index 2f149fbf3ee..d83ca04d6c4 100644
--- a/code/modules/mob/living/simple_animal/hostile/hellhound.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hellhound.dm
@@ -72,7 +72,7 @@
msgs += "It is currently licking its wounds, regenerating the damage to its body!"
else
msgs += "It is currently resting."
- to_chat(usr,msgs.Join("
"))
+ . += msgs.Join("
")
/mob/living/simple_animal/hostile/hellhound/Life(seconds, times_fired)
. = ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.dm b/code/modules/mob/living/simple_animal/hostile/illusion.dm
index 29739a9d867..3756fabf522 100644
--- a/code/modules/mob/living/simple_animal/hostile/illusion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/illusion.dm
@@ -40,9 +40,9 @@
/mob/living/simple_animal/hostile/illusion/examine(mob/user)
if(parent_mob)
- parent_mob.examine(user)
+ . = parent_mob.examine(user)
else
- return ..()
+ . = ..()
/mob/living/simple_animal/hostile/illusion/AttackingTarget()
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index 99689bf5040..927056c29db 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -36,11 +36,11 @@
var/image/cap_dead = null
/mob/living/simple_animal/hostile/mushroom/examine(mob/user)
- ..(user)
+ . = ..()
if(health >= maxHealth)
- to_chat(user, "It looks healthy.")
+ . += "It looks healthy."
else
- to_chat(user, "It looks like it's been roughed up.")
+ . += "It looks like it's been roughed up."
/mob/living/simple_animal/hostile/mushroom/Life(seconds, times_fired)
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
index 8f4ef5c7810..92c01d7d72b 100644
--- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm
+++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
@@ -81,11 +81,11 @@
START_PROCESSING(SSprocessing, src)
/obj/structure/spawner/nether/examine(mob/user)
- ..()
+ . = ..()
if(isskeleton(user) || iszombie(user))
- to_chat(user, "A direct link to another dimension full of creatures very happy to see you. You can see your house from here!")
+ . += "A direct link to another dimension full of creatures very happy to see you. You can see your house from here!"
else
- to_chat(user, "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea.")
+ . += "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea."
/obj/structure/spawner/nether/attack_hand(mob/user)
. = ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
index 23d7b30691b..d6d64096ff1 100644
--- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
+++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/terror_spiders.dm
@@ -220,7 +220,7 @@ var/global/list/ts_spiderling_list = list()
// --------------------------------------------------------------------------------
/mob/living/simple_animal/hostile/poison/terror_spider/examine(mob/user)
- ..()
+ . = ..()
var/list/msgs = list()
if(stat == DEAD)
msgs += "It appears to be dead.\n"
@@ -241,7 +241,7 @@ var/global/list/ts_spiderling_list = list()
msgs += "It appears to be regenerating quickly."
if(killcount >= 1)
msgs += "It has blood dribbling from its mouth."
- to_chat(usr,msgs.Join("
"))
+ . += msgs.Join("
")
/mob/living/simple_animal/hostile/poison/terror_spider/New()
..()
diff --git a/code/modules/mob/living/simple_animal/posessed_object.dm b/code/modules/mob/living/simple_animal/posessed_object.dm
index f290dd7f2ef..acd71fdcaff 100644
--- a/code/modules/mob/living/simple_animal/posessed_object.dm
+++ b/code/modules/mob/living/simple_animal/posessed_object.dm
@@ -20,11 +20,11 @@
var/obj/item/possessed_item
/mob/living/simple_animal/possessed_object/examine(mob/user)
- possessed_item.examine(user)
+ . = possessed_item.examine(user)
if(health > (maxHealth / 30))
- to_chat(usr, "[src] appears to be floating without any support!")
+ . += "[src] appears to be floating without any support!"
else
- to_chat(usr, "[src] appears to be having trouble staying afloat!")
+ . += "[src] appears to be having trouble staying afloat!"
/mob/living/simple_animal/possessed_object/do_attack_animation(atom/A, visual_effect_icon, used_item, no_effect, end_pixel_y)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 502adb937e3..da08f257268 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -140,7 +140,7 @@
/mob/living/simple_animal/examine(mob/user)
. = ..()
if(stat == DEAD)
- to_chat(user, "Upon closer examination, [p_they()] appear[p_s()] to be dead.")
+ . += "Upon closer examination, [p_they()] appear[p_s()] to be dead."
/mob/living/simple_animal/updatehealth(reason = "none given")
..(reason)
diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
index a325ecfdefe..d9326b78ab3 100644
--- a/code/modules/mob/living/simple_animal/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -427,34 +427,35 @@
++Discipline
/mob/living/simple_animal/slime/examine(mob/user)
- to_chat(user, "*---------*\nThis is [bicon(src)] \a [src]!")
+ . = ..()
+ . += "*---------*\nThis is [bicon(src)] \a [src]!"
if(stat == DEAD)
- to_chat(user, "It is limp and unresponsive.")
+ . += "It is limp and unresponsive."
else
if(stat == UNCONSCIOUS) // Slime stasis
- to_chat(user, "It appears to be alive but unresponsive.")
+ . += "It appears to be alive but unresponsive."
if(getBruteLoss())
- to_chat(user, "")
+ . += ""
if (getBruteLoss() < 40)
- to_chat(user, "It has some punctures in its flesh!")
+ . += "It has some punctures in its flesh!"
else
- to_chat(user, "It has severe punctures and tears in its flesh!")
- to_chat(user, "\n")
+ . += "It has severe punctures and tears in its flesh!"
+ . += "\n"
switch(powerlevel)
if(2 to 3)
- to_chat(user, "It is flickering gently with a little electrical activity.")
+ . += "It is flickering gently with a little electrical activity."
if(4 to 5)
- to_chat(user, "It is glowing gently with moderate levels of electrical activity.")
+ . += "It is glowing gently with moderate levels of electrical activity."
if(6 to 9)
- to_chat(user, "It is glowing brightly with high levels of electrical activity.")
+ . += "It is glowing brightly with high levels of electrical activity."
if(10)
- to_chat(user, "It is radiating with massive levels of electrical activity!")
+ . += "It is radiating with massive levels of electrical activity!"
- to_chat(user, "*---------*")
+ . += "*---------*"
/mob/living/simple_animal/slime/proc/discipline_slime(mob/user)
if(stat)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 8e35233be06..c9e77e294d2 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -580,7 +580,8 @@ var/list/slot_equipment_priority = list( \
client.update_description_holders(A, is_antag)
face_atom(A)
- A.examine(src)
+ var/list/result = A.examine(src)
+ to_chat(src, result.Join("\n"))
//same as above
//note: ghosts can point, this is intended
diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm
index 75aa563dd86..bed0533e2d8 100644
--- a/code/modules/modular_computers/computers/item/computer.dm
+++ b/code/modules/modular_computers/computers/item/computer.dm
@@ -178,11 +178,11 @@
return 1
/obj/item/modular_computer/examine(mob/user)
- ..()
+ . = ..()
if(obj_integrity <= integrity_failure)
- to_chat(user, "It is heavily damaged!")
+ . += "It is heavily damaged!"
else if(obj_integrity < max_integrity)
- to_chat(user, "It is damaged.")
+ . += "It is damaged."
/obj/item/modular_computer/update_icon()
overlays.Cut()
diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm
index fd75987c948..9752cbf3149 100644
--- a/code/modules/modular_computers/hardware/_hardware.dm
+++ b/code/modules/modular_computers/hardware/_hardware.dm
@@ -82,11 +82,11 @@
/obj/item/computer_hardware/examine(var/mob/user)
. = ..()
if(damage > damage_failure)
- to_chat(user, "It seems to be severely damaged!")
+ . += "It seems to be severely damaged!"
else if(damage > damage_malfunction)
- to_chat(user, "It seems to be damaged!")
+ . += "It seems to be damaged!"
else if(damage)
- to_chat(user, "It seems to be slightly damaged.")
+ . += "It seems to be slightly damaged."
// Component-side compatibility check.
/obj/item/computer_hardware/proc/can_install(obj/item/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 0c9abdf352f..1a112b248a5 100644
--- a/code/modules/modular_computers/hardware/ai_slot.dm
+++ b/code/modules/modular_computers/hardware/ai_slot.dm
@@ -16,9 +16,9 @@
/obj/item/computer_hardware/ai_slot/examine(mob/user)
- ..()
+ . = ..()
if(stored_card)
- 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")
+ . += "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/computer_hardware/ai_slot/on_install(obj/item/modular_computer/M, mob/living/user = null)
M.add_verb(device_type)
diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm
index 2872007b998..fc1abc207a5 100644
--- a/code/modules/modular_computers/hardware/card_slot.dm
+++ b/code/modules/modular_computers/hardware/card_slot.dm
@@ -107,6 +107,6 @@
return
/obj/item/computer_hardware/card_slot/examine(mob/user)
- ..()
+ . = ..()
if(stored_card || stored_card2)
- to_chat(user, "There appears to be something loaded in the card slots.")
+ . += "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 172092fd2e2..82c4aa5f62c 100644
--- a/code/modules/modular_computers/hardware/hard_drive.dm
+++ b/code/modules/modular_computers/hardware/hard_drive.dm
@@ -20,8 +20,8 @@
store_file(new/datum/computer_file/program/filemanager(src)) // File manager, allows text editor functions and basic file manipulation.
/obj/item/computer_hardware/hard_drive/examine(user)
- ..()
- to_chat(user, "It has [max_capacity] GQ of storage capacity.")
+ . = ..()
+ . += "It has [max_capacity] GQ of storage capacity."
/obj/item/computer_hardware/hard_drive/diagnostics(var/mob/user)
..()
diff --git a/code/modules/modular_computers/hardware/printer.dm b/code/modules/modular_computers/hardware/printer.dm
index 60f711ad960..0db45f33e6e 100644
--- a/code/modules/modular_computers/hardware/printer.dm
+++ b/code/modules/modular_computers/hardware/printer.dm
@@ -14,8 +14,8 @@
to_chat(user, "Paper level: [stored_paper]/[max_paper]")
/obj/item/computer_hardware/printer/examine(mob/user)
- ..()
- to_chat(user, "Paper level: [stored_paper]/[max_paper]")
+ . = ..()
+ . += "Paper level: [stored_paper]/[max_paper]"
/obj/item/computer_hardware/printer/proc/print_text(var/text_to_print, var/paper_title = "")
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index dc16101eac7..efd1df29a5d 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -38,8 +38,9 @@
toppaper = locate(/obj/item/paper_bundle) in src
/obj/item/clipboard/examine(mob/user)
- if(..(user, 1) && toppaper)
- toppaper.examine(user)
+ . = ..()
+ if(in_range(user, src) && toppaper)
+ . += toppaper.examine(user)
obj/item/clipboard/proc/penPlacement(mob/user, obj/item/pen/P, placing)
if(placing)
diff --git a/code/modules/paperwork/frames.dm b/code/modules/paperwork/frames.dm
index 3aa4cc3d148..5270da810be 100644
--- a/code/modules/paperwork/frames.dm
+++ b/code/modules/paperwork/frames.dm
@@ -137,10 +137,10 @@
playsound(PF.loc, usesound, 100, 1)
-/obj/item/picture_frame/examine(mob/user, var/distance = -1, var/infix = "", var/suffix = "")
- ..()
+/obj/item/picture_frame/examine(mob/user, var/infix = "", var/suffix = "")
+ . = ..()
if(displayed)
- displayed.examine(user, distance, infix, suffix)
+ . += displayed.examine(user, infix, suffix)
/obj/item/picture_frame/attack_self(mob/user)
if(displayed)
@@ -245,11 +245,11 @@
else
return ..()
-/obj/structure/sign/picture_frame/examine(mob/user, var/distance = -1, var/infix = "", var/suffix = "")
+/obj/structure/sign/picture_frame/examine(mob/user, var/infix = "", var/suffix = "")
if(frame)
- frame.examine(user, distance, infix, suffix)
+ . += frame.examine(user, infix, suffix)
else
- ..()
+ . = ..()
/obj/structure/sign/picture_frame/attack_hand(mob/user)
if(frame)
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index d7ea9db01ea..1586870013e 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -60,13 +60,14 @@
icon_state = "paper"
/obj/item/paper/examine(mob/user)
+ . = ..()
if(user.is_literate())
if(in_range(user, src) || istype(user, /mob/dead/observer))
show_content(user)
else
- to_chat(user, "You have to go closer if you want to read it.")
+ . += "You have to go closer if you want to read it."
else
- to_chat(user, "You don't know how to read.")
+ . += "You don't know how to read."
/obj/item/paper/proc/show_content(var/mob/user, var/forceshow = 0, var/forcestars = 0, var/infolinks = 0, var/view = 1)
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper)
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index 704ec5b5819..ecc26ba0cff 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -100,10 +100,11 @@
to_chat(user, "You must hold \the [P] steady to burn \the [src].")
/obj/item/paper_bundle/examine(mob/user)
- if(..(user, 1))
- src.show_content(user)
+ . = ..()
+ if(in_range(user, src))
+ show_content(user)
else
- to_chat(user, "It is too far away.")
+ . += "It is too far away."
/obj/item/paper_bundle/proc/show_content(mob/user as mob)
var/dat
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index c9169a09757..4ee6974f076 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -100,11 +100,12 @@
/obj/item/paper_bin/examine(mob/user)
- if(..(user, 1))
+ . = ..()
+ if(in_range(user, src))
if(amount)
- to_chat(usr, "There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.")
+ . += "There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin."
else
- to_chat(usr, "There are no papers in the bin.")
+ . += "There are no papers in the bin."
/obj/item/paper_bin/update_icon()
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index de3f2ad52d6..c7d79655870 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -74,10 +74,11 @@
to_chat(user, "You must hold \the [P] steady to burn \the [src].")
/obj/item/photo/examine(mob/user)
- if(..(user, 1) || isobserver(user))
+ . = ..()
+ if(in_range(user, src) || isobserver(user))
show(user)
else
- to_chat(user, "It is too far away.")
+ . += "It is too far away."
/obj/item/photo/proc/show(mob/user as mob)
usr << browse_rsc(img, "tmp_photo.png")
@@ -539,8 +540,9 @@ var/list/SpookyGhosts = list("ghost","shade","shade2","ghost-narsie","horror","s
to_chat(user, "You switch the camera [on ? "on" : "off"].")
/obj/item/videocam/examine(mob/user)
- if(..(user, 1))
- to_chat(user, "This video camera can send live feeds to the entertainment network. It's [camera ? "" : "in"]active.")
+ . = ..()
+ if(in_range(user, src))
+ . += "This video camera can send live feeds to the entertainment network. It's [camera ? "" : "in"]active."
/obj/item/videocam/hear_talk(mob/M as mob, list/message_pieces)
var/msg = multilingual_to_message(message_pieces)
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 2942ace8ee2..12e8ba163f2 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -229,27 +229,26 @@
addtimer(CALLBACK(src, .proc/update), 5)
/obj/machinery/power/apc/examine(mob/user)
- if(..(user, 1))
+ . = ..()
+ if(in_range(user, src))
if(stat & BROKEN)
- to_chat(user, "Looks broken.")
- return
- if(opened)
+ . += "Looks broken."
+ else if(opened)
if(has_electronics && terminal)
- to_chat(user, "The cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"].")
+ . += "The cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"]."
else if(!has_electronics && terminal)
- to_chat(user, "There are some wires but no electronics.")
+ . += "There are some wires but no electronics."
else if(has_electronics && !terminal)
- to_chat(user, "Electronics installed but not wired.")
+ . += "Electronics installed but not wired."
else /* if(!has_electronics && !terminal) */
- to_chat(user, "There is no electronics nor connected wires.")
-
+ . += "There is no electronics nor connected wires."
else
if(stat & MAINT)
- to_chat(user, "The cover is closed. Something wrong with it: it doesn't work.")
+ . += "The cover is closed. Something wrong with it: it doesn't work."
else if(malfhack)
- to_chat(user, "The cover is broken. It may be hard to force it open.")
+ . += "The cover is broken. It may be hard to force it open."
else
- to_chat(user, "The cover is closed.")
+ . += "The cover is closed."
// update the APC icon to show the three base states
// also add overlays for indicator lights
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 68eaec16040..198c5f64356 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -595,15 +595,14 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai
w_class = WEIGHT_CLASS_SMALL
/obj/item/stack/cable_coil/examine(mob/user)
- if(!..(user, 1))
- return
-
- if(get_amount() == 1)
- to_chat(user, "A short piece of power cable.")
- else if(get_amount() == 2)
- to_chat(user, "A piece of power cable.")
- else
- to_chat(user, "A coil of power cable. There are [get_amount()] lengths of cable in the coil.")
+ . = ..()
+ if(in_range(user, src))
+ if(get_amount() == 1)
+ . += "A short piece of power cable."
+ else if(get_amount() == 2)
+ . += "A piece of power cable."
+ else
+ . += "A coil of power cable. There are [get_amount()] lengths of cable in the coil."
// Items usable on a cable coil :
// - Wirecutters : cut them duh !
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 33b423c6360..c1429ebdee9 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -85,11 +85,11 @@
return power_used
/obj/item/stock_parts/cell/examine(mob/user)
- ..()
+ . = ..()
if(rigged)
- to_chat(user, "This power cell seems to be faulty!")
+ . += "This power cell seems to be faulty!"
else
- to_chat(user, "The charge meter reads [round(percent() )]%.")
+ . += "The charge meter reads [round(percent() )]%."
/obj/item/stock_parts/cell/suicide_act(mob/user)
to_chat(viewers(user), "[user] is licking the electrodes of the [src]! It looks like [user.p_theyre()] trying to commit suicide.")
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 7aa21b1974a..3e272f43091 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -28,14 +28,15 @@
icon_state = "bulb-construct-stage1"
/obj/machinery/light_construct/examine(mob/user)
- if(..(user, 2))
- switch(src.stage)
+ . = ..()
+ if(get_dist(user, src) <= 2)
+ switch(stage)
if(1)
- to_chat(usr, "It's an empty frame.")
+ . += "It's an empty frame."
if(2)
- to_chat(usr, "It's wired.")
+ . += "It's wired."
if(3)
- to_chat(usr, "The casing is closed.")
+ . += "The casing is closed."
/obj/machinery/light_construct/attackby(obj/item/W as obj, mob/living/user as mob, params)
src.add_fingerprint(user)
@@ -284,16 +285,17 @@
// examine verb
/obj/machinery/light/examine(mob/user)
- if(..(user, 1))
+ . = ..()
+ if(in_range(user, src))
switch(status)
if(LIGHT_OK)
- to_chat(user, "[desc] It is turned [on? "on" : "off"].")
+ . += "[desc] It is turned [on? "on" : "off"]."
if(LIGHT_EMPTY)
- to_chat(user, "[desc] The [fitting] has been removed.")
+ . += "[desc] The [fitting] has been removed."
if(LIGHT_BURNED)
- to_chat(user, "[desc] The [fitting] is burnt out.")
+ . += "[desc] The [fitting] is burnt out."
if(LIGHT_BROKEN)
- to_chat(user, "[desc] The [fitting] has been smashed.")
+ . += "[desc] The [fitting] has been smashed."
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index bf2563fe310..203fbd9b734 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -52,12 +52,12 @@
return
/obj/machinery/power/port_gen/examine(mob/user)
- if(!..(user,1 ))
- return
- if(active)
- to_chat(usr, "The generator is on.")
- else
- to_chat(usr, "The generator is off.")
+ . = ..()
+ if(!in_range(user, src))
+ if(active)
+ . += "The generator is on."
+ else
+ . += "The generator is off."
/obj/machinery/power/port_gen/emp_act(severity)
var/duration = 6000 //ten minutes
@@ -154,13 +154,13 @@
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
/obj/machinery/power/port_gen/pacman/examine(mob/user)
- ..(user)
- to_chat(user, "\The [src] appears to be producing [power_gen*power_output] W.")
- to_chat(user, "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper.")
+ . = ..()
+ . += "\The [src] appears to be producing [power_gen*power_output] W."
+ . += "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper."
if(IsBroken())
- to_chat(user, "\The [src] seems to have broken down.")
+ . += "\The [src] seems to have broken down."
if(overheating)
- to_chat(user, "\The [src] is overheating!")
+ . += "\The [src] is overheating!"
/obj/machinery/power/port_gen/pacman/HasFuel()
var/needed_sheets = power_output / time_per_sheet
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index 62d52c587c9..d58d800b77e 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -133,7 +133,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
desc = text("The [name] is assembled")
if(powered)
desc = desc_holder
- ..(user)
+ . = ..()
/obj/structure/particle_accelerator/attackby(obj/item/W, mob/user, params)
if(istool(W))
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 19948c94a36..754479a69ca 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -57,9 +57,10 @@
energy = 0 // ensure we dont have miniballs of miniballs
/obj/singularity/energy_ball/examine(mob/user)
- ..()
- if(orbiting_balls.len)
- to_chat(user, "The amount of orbiting mini-balls is [orbiting_balls.len].")
+ . = ..()
+ var/len = LAZYLEN(orbiting_balls)
+ if(len)
+ . += "The amount of orbiting mini-balls is [len]."
/obj/singularity/energy_ball/proc/move_the_basket_ball(var/move_amount)
diff --git a/code/modules/power/treadmill.dm b/code/modules/power/treadmill.dm
index 36f3ac15df4..5a1cc12c701 100644
--- a/code/modules/power/treadmill.dm
+++ b/code/modules/power/treadmill.dm
@@ -168,8 +168,8 @@
update_icon()
/obj/machinery/treadmill_monitor/examine(mob/user)
- ..()
- to_chat(user, "The display reads:[line1]
[line2]
")
+ . = ..()
+ . += "The display reads:[line1]
[line2]
"
/obj/machinery/treadmill_monitor/update_icon()
overlays.Cut()
diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm
index bf6df41006a..2f422e227b3 100644
--- a/code/modules/projectiles/ammunition/magazines.dm
+++ b/code/modules/projectiles/ammunition/magazines.dm
@@ -236,10 +236,10 @@
if(ammo && is_rubber())
overlays += image('icons/obj/ammo.dmi', icon_state = "enforcer-r")
-/obj/item/ammo_box/magazine/enforcer/examine(mob/user, var/distance)
- ..()
- if(distance <= 2)
- to_chat(user, "It seems to be loaded with [is_rubber() ? "rubber" : "lethal"] bullets.")//only can see the topmost one.
+/obj/item/ammo_box/magazine/enforcer/examine(mob/user)
+ . = ..()
+ if(get_dist(user, src) <= 2)
+ . += "It seems to be loaded with [is_rubber() ? "rubber" : "lethal"] bullets."//only can see the topmost one.
/obj/item/ammo_box/magazine/enforcer/proc/is_rubber()//if the topmost bullet is a rubber one
var/ammo = ammo_count()
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index fbc29da0391..510e8f60264 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -85,17 +85,17 @@
return ..()
/obj/item/gun/examine(mob/user)
- ..()
+ . = ..()
if(unique_reskin && !current_skin)
- to_chat(user, "Alt-click it to reskin it.")
+ . += "Alt-click it to reskin it."
if(unique_rename)
- to_chat(user, "Use a pen on it to rename it.")
+ . += "Use a pen on it to rename it."
if(bayonet)
- to_chat(user, "It has \a [bayonet] [can_bayonet ? "" : "permanently "]affixed to it.")
+ . += "It has \a [bayonet] [can_bayonet ? "" : "permanently "]affixed to it."
if(can_bayonet) //if it has a bayonet and this is false, the bayonet is permanent.
- to_chat(user, "[bayonet] looks like it can be unscrewed from [src].")
+ . += "[bayonet] looks like it can be unscrewed from [src]."
else if(can_bayonet)
- to_chat(user, "It has a bayonet lug on it.")
+ . += "It has a bayonet lug on it."
/obj/item/gun/proc/process_chamber()
return 0
diff --git a/code/modules/projectiles/guns/dartgun.dm b/code/modules/projectiles/guns/dartgun.dm
index 97f4eaebf1c..0a50b844f4a 100644
--- a/code/modules/projectiles/guns/dartgun.dm
+++ b/code/modules/projectiles/guns/dartgun.dm
@@ -56,13 +56,14 @@
update_icon()
/obj/item/gun/dartgun/examine(mob/user)
- if(..(user, 2))
+ . = ..()
+ if(get_dist(user, src) <= 2)
if(beakers.len)
- to_chat(user, "[src] contains:")
+ . += "[src] contains:"
for(var/obj/item/reagent_containers/glass/beaker/B in beakers)
if(B.reagents && B.reagents.reagent_list.len)
for(var/datum/reagent/R in B.reagents.reagent_list)
- to_chat(user, "[R.volume] units of [R.name]")
+ . += "[R.volume] units of [R.name]"
/obj/item/gun/dartgun/attackby(obj/item/I as obj, mob/user as mob, params)
if(istype(I, /obj/item/dart_cartridge))
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 9c1ea1a7a9f..f64cba9632c 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -28,12 +28,13 @@
var/empty_state = "kineticgun_empty"
/obj/item/gun/energy/kinetic_accelerator/examine(mob/user)
- if(..(user, 1))
+ . = ..()
+ if(in_range(user, src))
if(max_mod_capacity)
- to_chat(user, "[get_remaining_mod_capacity()]% mod capacity remaining.")
+ . += "[get_remaining_mod_capacity()]% mod capacity remaining."
for(var/A in get_modkits())
var/obj/item/borg/upgrade/modkit/M = A
- to_chat(user, "There is a [M.name] mod installed, using [M.cost]% capacity.")
+ . += "There is a [M.name] mod installed, using [M.cost]% capacity."
/obj/item/gun/energy/kinetic_accelerator/attackby(obj/item/I, mob/user)
if(iscrowbar(I))
@@ -257,8 +258,9 @@
var/minebot_exclusive = FALSE
/obj/item/borg/upgrade/modkit/examine(mob/user)
- if(..(user, 1))
- to_chat(user, "Occupies [cost]% of mod capacity.")
+ . = ..()
+ if(in_range(user, src))
+ . += "Occupies [cost]% of mod capacity."
/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/gun/energy/kinetic_accelerator) && !issilicon(user))
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index d51f9446b49..5a9e87aa119 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -159,9 +159,9 @@
can_charge = 0
/obj/item/gun/energy/plasmacutter/examine(mob/user)
- ..()
+ . = ..()
if(power_supply)
- to_chat(user, "[src] is [round(power_supply.percent())]% charged.")
+ . += "[src] is [round(power_supply.percent())]% charged."
/obj/item/gun/energy/plasmacutter/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/stack/sheet/mineral/plasma))
diff --git a/code/modules/projectiles/guns/grenade_launcher.dm b/code/modules/projectiles/guns/grenade_launcher.dm
index 81b8451eb77..af7cffbe7c8 100644
--- a/code/modules/projectiles/guns/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/grenade_launcher.dm
@@ -14,8 +14,9 @@
materials = list(MAT_METAL=2000)
/obj/item/gun/grenadelauncher/examine(mob/user)
- if(..(user, 2))
- to_chat(user, "[grenades.len] / [max_grenades] grenades.")
+ . = ..()
+ if(get_dist(user, src) <= 2)
+ . += "[grenades.len] / [max_grenades] grenades."
/obj/item/gun/grenadelauncher/attackby(obj/item/I as obj, mob/user as mob, params)
if((istype(I, /obj/item/grenade)))
diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm
index 1a5ecc178d1..544ca67a361 100644
--- a/code/modules/projectiles/guns/magic/wand.dm
+++ b/code/modules/projectiles/guns/magic/wand.dm
@@ -18,8 +18,8 @@
..()
/obj/item/gun/magic/wand/examine(mob/user)
- ..()
- to_chat(user, "Has [charges] charge\s remaining.")
+ . = ..()
+ . += "Has [charges] charge\s remaining."
/obj/item/gun/magic/wand/update_icon()
icon_state = "[initial(icon_state)][charges ? "" : "-drained"]"
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index 15efee700d2..133331f8e44 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -149,8 +149,8 @@
return
/obj/item/gun/projectile/examine(mob/user)
- ..()
- to_chat(user, "Has [get_ammo()] round\s remaining.")
+ . = ..()
+ . += "Has [get_ammo()] round\s remaining."
/obj/item/gun/projectile/proc/get_ammo(countchambered = 1)
var/boolets = 0 //mature var names for mature people
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 6f977f2e024..99ec51f9fdd 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -84,8 +84,8 @@
return boolets
/obj/item/gun/projectile/revolver/examine(mob/user)
- ..()
- to_chat(user, "[get_ammo(0,0)] of those are live rounds.")
+ . = ..()
+ . += "[get_ammo(0,0)] of those are live rounds."
/obj/item/gun/projectile/revolver/detective
desc = "A cheap Martian knock-off of a classic law enforcement firearm. Uses .38-special rounds."
@@ -467,7 +467,7 @@
f_name = "a "
f_name += "blood-stained [name]!"
- to_chat(user, "[bicon(src)] That's [f_name]")
+ . = list("[bicon(src)] That's [f_name]")
if(desc)
- to_chat(user, desc)
+ . += desc
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index 8b658911b3b..ee6b013af0d 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -66,9 +66,9 @@
chambered = AC
/obj/item/gun/projectile/shotgun/examine(mob/user)
- ..()
+ . = ..()
if(chambered)
- to_chat(user, "A [chambered.BB ? "live" : "spent"] one is in the chamber.")
+ . += "A [chambered.BB ? "live" : "spent"] one is in the chamber."
/obj/item/gun/projectile/shotgun/isHandgun() //You cannot, in fact, holster a shotgun.
return 0
@@ -239,8 +239,8 @@
. = ..()
/obj/item/gun/projectile/shotgun/boltaction/examine(mob/user)
- ..()
- to_chat(user, "The bolt is [bolt_open ? "open" : "closed"].")
+ . = ..()
+ . += "The bolt is [bolt_open ? "open" : "closed"]."
/obj/item/gun/projectile/shotgun/boltaction/enchanted
name = "enchanted bolt action rifle"
diff --git a/code/modules/projectiles/guns/rocket.dm b/code/modules/projectiles/guns/rocket.dm
index 983c6f319fd..53de1a16854 100644
--- a/code/modules/projectiles/guns/rocket.dm
+++ b/code/modules/projectiles/guns/rocket.dm
@@ -16,8 +16,8 @@
var/list/rockets = new/list()
/obj/item/gun/rocketlauncher/examine(mob/user)
- ..()
- to_chat(user, "[rockets.len] / [max_rockets] rockets.")
+ . = ..()
+ . += "[rockets.len] / [max_rockets] rockets."
/obj/item/gun/rocketlauncher/Destroy()
QDEL_LIST(rockets)
diff --git a/code/modules/projectiles/guns/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm
index ca18cdcd82e..04cf2d248d3 100644
--- a/code/modules/projectiles/guns/syringe_gun.dm
+++ b/code/modules/projectiles/guns/syringe_gun.dm
@@ -46,8 +46,8 @@
..()
/obj/item/gun/syringe/examine(mob/user)
- ..()
- to_chat(user, "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining.")
+ . = ..()
+ . += "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining."
/obj/item/gun/syringe/attack_self(mob/living/user as mob)
if(!syringes.len)
diff --git a/code/modules/projectiles/guns/throw.dm b/code/modules/projectiles/guns/throw.dm
index 97bb65f5d02..58f3db026e1 100644
--- a/code/modules/projectiles/guns/throw.dm
+++ b/code/modules/projectiles/guns/throw.dm
@@ -12,7 +12,7 @@
var/projectile_speed = 1
var/projectile_range = 1
-/obj/item/gun/throw/proc/notify_ammo_count(mob/user)
+/obj/item/gun/throw/proc/notify_ammo_count()
return
/obj/item/gun/throw/proc/get_throwrange()
@@ -31,9 +31,9 @@
return count
/obj/item/gun/throw/examine(mob/user)
- ..()
- to_chat(user, "It is [to_launch ? "loaded with \a [to_launch]" : "not loaded"].")
- notify_ammo_count(user)
+ . = ..()
+ . += "It is [to_launch ? "loaded with \a [to_launch]" : "not loaded"]."
+ . += notify_ammo_count()
/obj/item/gun/throw/Destroy()
QDEL_NULL(to_launch)
@@ -53,7 +53,7 @@
to_chat(user, "You load [I] into [src].")
if(!to_launch)
process_chamber()
- notify_ammo_count(user)
+ to_chat(user, notify_ammo_count())
else
to_chat(user, "[src] cannot hold any more projectiles.")
else
diff --git a/code/modules/projectiles/guns/throw/crossbow.dm b/code/modules/projectiles/guns/throw/crossbow.dm
index 9c87f7949a9..ca626534320 100644
--- a/code/modules/projectiles/guns/throw/crossbow.dm
+++ b/code/modules/projectiles/guns/throw/crossbow.dm
@@ -39,11 +39,11 @@
icon_state = "[initial(icon_state)]-drawn"
/obj/item/gun/throw/crossbow/examine(mob/user)
- ..()
+ . = ..()
if(cell)
- to_chat(user, "\A [cell] is mounted onto [src]. Battery cell charge: [cell.charge]/[cell.maxcharge]")
+ . += "\A [cell] is mounted onto [src]. Battery cell charge: [cell.charge]/[cell.maxcharge]"
else
- to_chat(user, "It has an empty mount for a battery cell.")
+ . += "It has an empty mount for a battery cell."
/obj/item/gun/throw/crossbow/modify_projectile(obj/item/I, on_chamber = 0)
if(cell && on_chamber && istype(I, /obj/item/arrow/rod))
diff --git a/code/modules/projectiles/guns/throw/pielauncher.dm b/code/modules/projectiles/guns/throw/pielauncher.dm
index ed3a70ad032..69dcc166aae 100644
--- a/code/modules/projectiles/guns/throw/pielauncher.dm
+++ b/code/modules/projectiles/guns/throw/pielauncher.dm
@@ -21,8 +21,8 @@
loaded_projectiles += P
process_chamber()
-/obj/item/gun/throw/piecannon/notify_ammo_count(mob/user)
- to_chat(user, "[src] has [get_ammocount()] of [max_capacity] pies left.")
+/obj/item/gun/throw/piecannon/notify_ammo_count()
+ return "[src] has [get_ammocount()] of [max_capacity] pies left."
/obj/item/gun/throw/piecannon/update_icon()
if(to_launch)
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 7c53761a70f..3719ac81776 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -105,11 +105,11 @@
return ..()
/obj/machinery/chem_dispenser/examine(mob/user)
- ..()
+ . = ..()
if(panel_open)
- to_chat(user, "[src]'s maintenance hatch is open!")
+ . += "[src]'s maintenance hatch is open!"
if(in_range(user, src) || isobserver(user))
- to_chat(user, "The status display reads:
Recharging [recharge_amount] power units per interval.
Power efficiency increased by [round((powerefficiency * 1000) - 100, 1)]%.")
+ . += "The status display reads:
Recharging [recharge_amount] power units per interval.
Power efficiency increased by [round((powerefficiency * 1000) - 100, 1)]%."
/obj/machinery/chem_dispenser/process()
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index e15e6316cb1..fa86a25f11c 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -102,16 +102,15 @@
return
/obj/item/reagent_containers/borghypo/examine(mob/user)
- if(!..(user, 2))
- return
+ . = ..()
+ if(get_dist(user, src) <= 2)
+ var/empty = TRUE
- var/empty = 1
+ for(var/datum/reagents/RS in reagent_list)
+ var/datum/reagent/R = locate() in RS.reagent_list
+ if(R)
+ . += "It currently has [R.volume] units of [R.name] stored."
+ empty = FALSE
- for(var/datum/reagents/RS in reagent_list)
- var/datum/reagent/R = locate() in RS.reagent_list
- if(R)
- to_chat(user, "It currently has [R.volume] units of [R.name] stored.")
- empty = 0
-
- if(empty)
- to_chat(user, "It is currently empty. Allow some time for the internal syntheszier to produce more.")
+ if(empty)
+ . += "It is currently empty. Allow some time for the internal syntheszier to produce more."
diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm
index 5221ae5e600..edf1624ea3a 100644
--- a/code/modules/reagents/reagent_containers/glass_containers.dm
+++ b/code/modules/reagents/reagent_containers/glass_containers.dm
@@ -51,10 +51,9 @@
base_name = name
/obj/item/reagent_containers/glass/examine(mob/user)
- if(!..(user, 2))
- return
- if(!is_open_container())
- to_chat(user, "Airtight lid seals it completely.")
+ . = ..()
+ if(get_dist(user, src) <= 2 && !is_open_container())
+ . += "Airtight lid seals it completely."
/obj/item/reagent_containers/glass/attack(mob/M, mob/user, def_zone)
if(!is_open_container())
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 0309f3e2e7e..de0b8c3bae6 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -122,11 +122,11 @@
icon_state = "[initial(icon_state)]0"
/obj/item/reagent_containers/hypospray/autoinjector/examine()
- ..()
+ . = ..()
if(reagents && reagents.reagent_list.len)
- to_chat(usr, "It is currently loaded.")
+ . += "It is currently loaded."
else
- to_chat(usr, "It is spent.")
+ . += "It is spent."
/obj/item/reagent_containers/hypospray/autoinjector/teporone //basilisks
name = "teporone autoinjector"
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index d8ee5d88309..482b8b20ccd 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -83,8 +83,9 @@
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.")
/obj/item/reagent_containers/spray/examine(mob/user)
- if(..(user, 0) && user == loc)
- to_chat(user, "[round(reagents.total_volume)] units left.")
+ . = ..()
+ if(get_dist(user, src) && user == loc)
+ . += "[round(reagents.total_volume)] units left."
/obj/item/reagent_containers/spray/verb/empty()
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index fc9d5d56134..41fa898905d 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -116,10 +116,9 @@
boom()
/obj/structure/reagent_dispensers/fueltank/examine(mob/user)
- if(!..(user, 2))
- return
- if(rig)
- to_chat(usr, "There is some kind of device rigged to the tank.")
+ . = ..()
+ if(get_dist(user, src) <= 2 && rig)
+ . += "There is some kind of device rigged to the tank."
/obj/structure/reagent_dispensers/fueltank/attack_hand()
if(rig)
@@ -224,9 +223,9 @@
var/paper_cups = 25 //Paper cups left from the cooler
/obj/structure/reagent_dispensers/water_cooler/examine(mob/user)
- if(!..(user, 2))
- return
- to_chat(user, "There are [paper_cups ? paper_cups : "no"] paper cups left.")
+ . = ..()
+ if(get_dist(user, src) <= 2)
+ . += "There are [paper_cups ? paper_cups : "no"] paper cups left."
/obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/living/user)
if(!paper_cups)
diff --git a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm
index cde2007d643..fa30c9eb273 100644
--- a/code/modules/ruins/lavalandruin_code/dead_ratvar.dm
+++ b/code/modules/ruins/lavalandruin_code/dead_ratvar.dm
@@ -23,7 +23,7 @@
/obj/effect/clockwork/overlay/examine(mob/user)
if(linked)
- linked.examine(user)
+ return linked.examine(user)
/obj/effect/clockwork/overlay/ex_act()
return FALSE
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 44f27b5deb4..219753d4524 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -30,8 +30,8 @@
transform = matrix(-1, 0, 0, 0, 1, 0)
/obj/item/organ/internal/cyberimp/arm/examine(mob/user)
- ..()
- to_chat(user, "[src] is assembled in the [parent_organ == "r_arm" ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it.")
+ . = ..()
+ . += "[src] is assembled in the [parent_organ == "r_arm" ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it."
/obj/item/organ/internal/cyberimp/arm/attackby(obj/item/I, mob/user, params)
if(isscrewdriver(I))
diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm
index 29a13cf1e08..5b82fdf8c23 100644
--- a/code/modules/surgery/organs/organ.dm
+++ b/code/modules/surgery/organs/organ.dm
@@ -145,12 +145,12 @@
return 0
/obj/item/organ/examine(mob/user)
- ..(user)
+ . = ..()
if(status & ORGAN_DEAD)
if(!is_robotic())
- to_chat(user, "The decay has set in.")
+ . += "The decay has set in."
else
- to_chat(user, "It looks in need of repairs.")
+ . += "It looks in need of repairs."
/obj/item/organ/proc/handle_germ_effects()
//** Handle the effects of infections
diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm
index 893e9719fb4..8ff937eea6f 100644
--- a/code/modules/telesci/telepad.dm
+++ b/code/modules/telesci/telepad.dm
@@ -136,8 +136,8 @@
rcell = new(src)
/obj/item/rcs/examine(mob/user)
- ..(user)
- to_chat(user, "There are [round(rcell.charge/chargecost)] charge\s left.")
+ . = ..()
+ . += "There are [round(rcell.charge/chargecost)] charge\s left."
/obj/item/rcs/Destroy()
QDEL_NULL(rcell)
diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm
index 1deedc434a9..0f737823d5b 100644
--- a/code/modules/telesci/telesci_computer.dm
+++ b/code/modules/telesci/telesci_computer.dm
@@ -42,8 +42,8 @@
return ..()
/obj/machinery/computer/telescience/examine(mob/user)
- ..(user)
- to_chat(user, "There are [crystals ? crystals : "no"] bluespace crystal\s in the crystal slots.")
+ . = ..()
+ . += "There are [crystals ? crystals : "no"] bluespace crystal\s in the crystal slots."
/obj/machinery/computer/telescience/Initialize()
..()
diff --git a/code/modules/vehicle/ambulance.dm b/code/modules/vehicle/ambulance.dm
index f10f9d9769c..29fb4e0108f 100644
--- a/code/modules/vehicle/ambulance.dm
+++ b/code/modules/vehicle/ambulance.dm
@@ -107,7 +107,7 @@
/obj/structure/bed/amb_trolley/examine(mob/user)
. = ..()
- to_chat(user, "Drag [src]'s sprite over the ambulance to (de)attach it.")
+ . += "Drag [src]'s sprite over the ambulance to (de)attach it."
/obj/structure/bed/amb_trolley/MouseDrop(obj/over_object as obj)
..()
diff --git a/code/modules/vehicle/janicart.dm b/code/modules/vehicle/janicart.dm
index 0f4382c92d1..2445e983fd3 100644
--- a/code/modules/vehicle/janicart.dm
+++ b/code/modules/vehicle/janicart.dm
@@ -56,9 +56,9 @@
/obj/vehicle/janicart/examine(mob/user)
- ..()
+ . = ..()
if(floorbuffer)
- to_chat(user, "It has been upgraded with a floor buffer.")
+ . += "It has been upgraded with a floor buffer."
/obj/vehicle/janicart/attackby(obj/item/I, mob/user, params)