diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
index c31f6f92b7..43cab4f6ec 100644
--- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
@@ -200,12 +200,9 @@
if(frequency)
set_frequency(frequency)
-/obj/machinery/atmospherics/binary/dp_vent_pump/examine()
- set src in oview(1)
- ..()
-
- if (get_dist(usr, src) <= 1)
- usr << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
+/obj/machinery/atmospherics/binary/dp_vent_pump/examine(mob/user)
+ if(..(user, 1))
+ user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
/obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat
diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm
index bd3c3b1796..b48e1c5cbe 100644
--- a/code/ATMOSPHERICS/components/unary/cold_sink.dm
+++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm
@@ -201,7 +201,7 @@
..()
-/obj/machinery/atmospherics/unary/freezer/examine()
- ..()
+/obj/machinery/atmospherics/unary/freezer/examine(mob/user)
+ ..(user)
if (opened)
- usr << "The maintenance hatch is open."
\ No newline at end of file
+ user << "The maintenance hatch is open."
diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm
index 15d416fff0..db193cc2dd 100644
--- a/code/ATMOSPHERICS/components/unary/heat_source.dm
+++ b/code/ATMOSPHERICS/components/unary/heat_source.dm
@@ -184,7 +184,7 @@
..()
-/obj/machinery/atmospherics/unary/heater/examine()
- ..()
+/obj/machinery/atmospherics/unary/heater/examine(mob/user)
+ ..(user)
if (opened)
- usr << "The maintenance hatch is open."
\ No newline at end of file
+ user << "The maintenance hatch is open."
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 925994546e..ff43e91385 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -375,15 +375,13 @@
else
..()
-/obj/machinery/atmospherics/unary/vent_pump/examine()
- set src in oview(1)
- ..()
- if (get_dist(usr, src) <= 1)
- usr << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
+/obj/machinery/atmospherics/unary/vent_pump/examine(mob/user)
+ if(..(user, 1))
+ user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
else
- usr << "You are too far away to read the gauge."
+ user << "You are too far away to read the gauge."
if(welded)
- usr << "It seems welded shut."
+ user << "It seems welded shut."
/obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index 2bad9230e5..fdae89d97e 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -260,13 +260,11 @@
new /obj/item/pipe(loc, make_from=src)
del(src)
-/obj/machinery/atmospherics/unary/vent_scrubber/examine()
- set src in oview(1)
- ..()
- if (get_dist(usr, src) <= 1)
- usr << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
+/obj/machinery/atmospherics/unary/vent_scrubber/examine(mob/user)
+ if(..(user, 1))
+ user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
else
- usr << "You are too far away to read the gauge."
+ user << "You are too far away to read the gauge."
/obj/machinery/atmospherics/unary/vent_scrubber/Del()
if(initial_loc)
diff --git a/code/WorkInProgress/Chinsky/guestpass.dm b/code/WorkInProgress/Chinsky/guestpass.dm
index 5f798fa61a..2fc9c700bc 100644
--- a/code/WorkInProgress/Chinsky/guestpass.dm
+++ b/code/WorkInProgress/Chinsky/guestpass.dm
@@ -16,12 +16,12 @@
else
return temp_access
-/obj/item/weapon/card/id/guest/examine()
- ..()
+/obj/item/weapon/card/id/guest/examine(mob/user)
+ ..(user)
if (world.time < expiration_time)
- usr << "This pass expires at [worldtime2text(expiration_time)]."
+ user << "This pass expires at [worldtime2text(expiration_time)]."
else
- usr << "It expired at [worldtime2text(expiration_time)]."
+ user << "It expired at [worldtime2text(expiration_time)]."
/obj/item/weapon/card/id/guest/read()
if (world.time > expiration_time)
diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm
index 420345214f..ffbf4d6983 100755
--- a/code/WorkInProgress/SkyMarshal/wardrobes.dm
+++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm
@@ -63,16 +63,13 @@
user.visible_message("\blue [user] gathers up[could_fill ? " " : " most of "]the pile of items and puts it into [src].")
update_icon()
- examine()
- set src in view()
- ..()
- if(src in usr)
- usr << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]."
- if(seal_torn && !contents.len)
- usr << "The seal on the bag is broken."
- else
- usr << "The seal on the bag is[seal_torn ? ", however, not intact" : " intact"]."
- return
+ examine(mob/user)
+ ..(user)
+ user << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]."
+ if(seal_torn && !contents.len)
+ user << "The seal on the bag is broken."
+ else
+ user << "The seal on the bag is[seal_torn ? ", however, not intact" : " intact"]."
update_icon()
if(contents.len)
diff --git a/code/WorkInProgress/Wrongnumber/weldbackpack.dm b/code/WorkInProgress/Wrongnumber/weldbackpack.dm
index 18899745c9..f1c786d3e1 100644
--- a/code/WorkInProgress/Wrongnumber/weldbackpack.dm
+++ b/code/WorkInProgress/Wrongnumber/weldbackpack.dm
@@ -46,8 +46,7 @@
user << "\blue The pack is already full!"
return
-/obj/item/weapon/weldpack/examine()
- set src in usr
- usr << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume)
- ..()
+/obj/item/weapon/weldpack/examine(mob/user)
+ ..(user)
+ user << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume)
return
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 053bd48b7c..586b262259 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -303,7 +303,6 @@
// Simple helper to face what you clicked on, in case it should be needed in more than one place
/mob/proc/face_atom(var/atom/A)
-
// Snowflake for space vines.
var/is_buckled = 0
if(buckled)
@@ -312,8 +311,7 @@
is_buckled = 1
else
is_buckled = 0
-
- if( stat || is_buckled || !A || !x || !y || !A.x || !A.y ) return
+ if( is_buckled || !A || !x || !y || !A.x || !A.y || (stat && !isobserver(src))) return
var/dx = A.x - x
var/dy = A.y - y
if(!dx && !dy) return
@@ -325,7 +323,7 @@
else
if(dx > 0) direction = EAST
else direction = WEST
- usr.dir = direction
+ dir = direction
if(buckled && buckled.movable)
buckled.dir = direction
buckled.handle_rotation()
\ No newline at end of file
diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm
index aa135a6654..337a044235 100644
--- a/code/_onclick/observer.dm
+++ b/code/_onclick/observer.dm
@@ -41,7 +41,7 @@
// Oh by the way this didn't work with old click code which is why clicking shit didn't spam you
/atom/proc/attack_ghost(mob/dead/observer/user as mob)
if(user.client && user.client.inquisitive_ghost)
- examine(user)
+ user.examinate(src)
return
// ---------------------------------------
diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index e60795f5fd..ba12a7478a 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -20,7 +20,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
runewords-=cultwords[word]
/obj/effect/rune
- desc = ""
+ desc = "A strange collection of symbols drawn in blood."
anchored = 1
icon = 'icons/obj/rune.dmi'
icon_state = "1"
@@ -68,26 +68,10 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
for(var/mob/living/silicon/ai/AI in player_list)
AI.client.images += blood
- examine()
- set src in view(2)
-
- if(!iscultist(usr))
- usr << "A strange collection of symbols drawn in blood."
- return
- /* Explosions... really?
- if(desc && !usr.stat)
- usr << "It reads: [desc]."
- sleep(30)
- explosion(src.loc, 0, 2, 5, 5)
- if(src)
- del(src)
- */
- if(!desc)
- usr << "A spell circle drawn in blood. It reads: [word1] [word2] [word3]."
- else
- usr << "Explosive Runes inscription in blood. It reads: [desc]."
-
- return
+ examine(mob/user)
+ ..()
+ if(iscultist(user))
+ user << "This spell circle reads: [word1] [word2] [word3]."
attackby(I as obj, user as mob)
@@ -510,12 +494,11 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
user << "You copy the translation notes from your tome."
- examine()
- set src in usr
- if(!iscultist(usr))
- usr << "An old, dusty tome with frayed edges and a sinister looking cover."
+ examine(mob/user)
+ if(!iscultist(user))
+ user << "An old, dusty tome with frayed edges and a sinister looking cover."
else
- usr << "The scriptures of Nar-Sie, The One Who Sees, The Geometer of Blood. Contains the details of every ritual his followers could think of. Most of these are useless, though."
+ user << "The scriptures of Nar-Sie, The One Who Sees, The Geometer of Blood. Contains the details of every ritual his followers could think of. Most of these are useless, though."
/obj/item/weapon/book/tome/imbued //admin tome, spawns working runes without waiting
w_class = 2.0
diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm
index a319e83421..961f38fc0d 100644
--- a/code/game/gamemodes/cult/talisman.dm
+++ b/code/game/gamemodes/cult/talisman.dm
@@ -3,13 +3,6 @@
var/imbue = null
var/uses = 0
-
- examine()
- set src in view(2)
- ..()
- return
-
-
attack_self(mob/living/user as mob)
if(iscultist(user))
var/delete = 1
diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm
index 48b99580fd..99b127ec1b 100644
--- a/code/game/gamemodes/events/ninja_equipment.dm
+++ b/code/game/gamemodes/events/ninja_equipment.dm
@@ -911,9 +911,8 @@ ________________________________________________________________________________
U.drop_item()
return 0
-/obj/item/clothing/suit/space/space_ninja/examine()
- set src in view()
- ..()
+/obj/item/clothing/suit/space/space_ninja/examine(mob/user)
+ ..(user)
if(s_initialized)
var/mob/living/carbon/human/U = affecting
if(s_control)
@@ -1168,9 +1167,8 @@ ________________________________________________________________________________
U << "You [candrain?"disable":"enable"] special interaction."
candrain=!candrain
-/obj/item/clothing/gloves/space_ninja/examine()
- set src in view()
- ..()
+/obj/item/clothing/gloves/space_ninja/examine(mob/user)
+ ..(user)
if(!canremove)
var/mob/living/carbon/human/U = loc
U << "The energy drain mechanism is: [candrain?"active":"inactive"]."
@@ -1306,12 +1304,11 @@ ________________________________________________________________________________
var/mob/U = loc
U << "Switching mode to [ninja_vision.mode]."
-/obj/item/clothing/mask/gas/voice/space_ninja/examine()
- set src in view()
- ..()
+/obj/item/clothing/mask/gas/voice/space_ninja/examine(mob/user)
+ ..(user)
- usr << "[ninja_vision.mode] is active."//Leaving usr here since it may be on the floor or on a person.
- usr << "Voice mimicking algorithm is set [!vchange?"inactive":"active"]."
+ user << "[ninja_vision.mode] is active."
+ user << "Voice mimicking algorithm is set [!vchange?"inactive":"active"]."
/*
===================================================================================
diff --git a/code/game/gamemodes/mutiny/emergency_authentication_device.dm b/code/game/gamemodes/mutiny/emergency_authentication_device.dm
index 5bdcf27576..bedd67e64c 100644
--- a/code/game/gamemodes/mutiny/emergency_authentication_device.dm
+++ b/code/game/gamemodes/mutiny/emergency_authentication_device.dm
@@ -99,7 +99,7 @@
return
..()
-/obj/machinery/emergency_authentication_device/examine()
- usr << {"
+/obj/machinery/emergency_authentication_device/examine(mob/user)
+ user << {"
This is a specialized communications device that is able to instantly send a message to NanoTrasen High Command via quantum entanglement with a sister device at CentCom.
The EAD's status is [get_status()]."}
diff --git a/code/game/gamemodes/mutiny/key_pinpointer.dm b/code/game/gamemodes/mutiny/key_pinpointer.dm
index c481fd5bbc..7e8d628d85 100644
--- a/code/game/gamemodes/mutiny/key_pinpointer.dm
+++ b/code/game/gamemodes/mutiny/key_pinpointer.dm
@@ -25,14 +25,14 @@
icon_state = "pinoff"
usr << "\blue You switch \the [src] off."
-/obj/item/weapon/pinpointer/advpinpointer/auth_key/examine()
+/obj/item/weapon/pinpointer/advpinpointer/auth_key/examine(mob/user)
switch(mode)
if (1)
- usr << "Is is calibrated for the Captain's Authentication Key."
+ user << "Is is calibrated for the Captain's Authentication Key."
if (2)
- usr << "It is calibrated for the Emergency Secondary Authentication Key."
+ user << "It is calibrated for the Emergency Secondary Authentication Key."
else
- usr << "It is switched off."
+ user << "It is switched off."
/datum/supply_packs/key_pinpointer
name = "Authentication Key Pinpointer crate"
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index 9b49e37fae..36137a74a9 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -42,11 +42,11 @@
icon_state = "pinonfar"
spawn(5) .()
- examine()
- ..()
+ examine(mob/user)
+ ..(user)
for(var/obj/machinery/nuclearbomb/bomb in world)
if(bomb.timing)
- usr << "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]"
+ user << "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]"
/obj/item/weapon/pinpointer/advpinpointer
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 6ca98474f7..41cb13ec08 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -1168,12 +1168,12 @@ table tr:first-child th:first-child { border: none;}
spawn(rand(0,15))
update_icon()
-/obj/machinery/alarm/examine()
- ..()
+/obj/machinery/alarm/examine(mob/user)
+ ..(user)
if (buildstage < 2)
- usr << "It is not wired."
+ user << "It is not wired."
if (buildstage < 1)
- usr << "The circuit is missing."
+ user << "The circuit is missing."
/*
AIR ALARM CIRCUIT
Just a object used in constructing air alarms
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 1c99ff7344..ad7d55c2aa 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -65,10 +65,10 @@
)
radio_connection.post_signal(src, signal)
-/obj/machinery/meter/examine()
+/obj/machinery/meter/examine(mob/user)
var/t = "A gas flow meter. "
- if(get_dist(usr, src) > 3 && !(istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/dead)))
+ if(get_dist(user, src) > 3 && !(istype(user, /mob/living/silicon/ai) || istype(user, /mob/dead)))
t += "\blue You are too far away to read it."
else if(stat & (NOPOWER|BROKEN))
@@ -83,12 +83,12 @@
else
t += "The connect error light is blinking."
- usr << t
+ user << t
/obj/machinery/meter/Click()
if(istype(usr, /mob/living/silicon/ai)) // ghosts can call ..() for examine
- examine()
+ usr.examinate(src)
return 1
return ..()
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 9289c438e9..d41405aed3 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -43,14 +43,13 @@
emagged = 2
log_and_message_admins("emagged [src]'s inner circuits")
-/obj/machinery/bot/examine()
- set src in view()
- ..()
+/obj/machinery/bot/examine(mob/user)
+ ..(user)
if (src.health < maxhealth)
if (src.health > maxhealth/3)
- usr << "[src]'s parts look loose."
+ user << "[src]'s parts look loose."
else
- usr << "[src]'s parts look very loose!"
+ user << "[src]'s parts look very loose!"
return
/obj/machinery/bot/attack_animal(var/mob/living/simple_animal/M as mob)
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index ce76680b0d..0ff1bec277 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -93,7 +93,6 @@
suffix = "#[count]"
name = "Mulebot ([suffix])"
- verbs -= /atom/movable/verb/pull
// set up the wire colours in random order
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 4608944b5f..171646c4b1 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -28,12 +28,13 @@
else
overlays.Cut()
-/obj/machinery/cell_charger/examine()
- set src in oview(5)
- ..()
- usr << "There's [charging ? "a" : "no"] cell in the charger."
+/obj/machinery/cell_charger/examine(mob/user)
+ if(!..(user, 5))
+ return
+
+ user << "There's [charging ? "a" : "no"] cell in the charger."
if(charging)
- usr << "Current charge: [charging.charge]"
+ user << "Current charge: [charging.charge]"
/obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user)
if(stat & BROKEN)
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 8084ab09ff..dc1ee050aa 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -96,10 +96,9 @@
src.read_only = !src.read_only
user << "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"]."
-/obj/item/weapon/disk/data/examine()
- set src in oview(5)
- ..()
- usr << text("The write-protect tab is set to [src.read_only ? "protected" : "unprotected"].")
+/obj/item/weapon/disk/data/examine(mob/user)
+ ..(user)
+ user << text("The write-protect tab is set to [src.read_only ? "protected" : "unprotected"].")
return
//Health Tracker Implant
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 106cd2bbad..4e5b64c631 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -288,9 +288,9 @@ obj/item/weapon/circuitboard/rdserver
user.visible_message("\blue \The [user] adjusts the jumper on the [src]'s port configuration pins.", "\blue You adjust the jumper on the port configuration pins. Now set to [dir2text(machine_dir)].")
return
-/obj/item/weapon/circuitboard/unary_atmos/examine()
- ..()
- usr << "The jumper is connecting the [dir2text(machine_dir)] pins."
+/obj/item/weapon/circuitboard/unary_atmos/examine(mob/user)
+ ..(user)
+ user << "The jumper is connecting the [dir2text(machine_dir)] pins."
/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U)
//TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up.
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 88c97b9bf4..1335f4c2f8 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -2,7 +2,7 @@
/var/const/CLOSED = 2
#define FIREDOOR_MAX_PRESSURE_DIFF 25 // kPa
-#define FIREDOOR_MAX_TEMP 50 // °C
+#define FIREDOOR_MAX_TEMP 50 // °C
#define FIREDOOR_MIN_TEMP 0
// Bitflags
@@ -72,17 +72,14 @@
. = ..()
-/obj/machinery/door/firedoor/examine()
- set src in view()
- . = ..()
-
- if(get_dist(src, usr) > 1 && !isAI(usr))
+/obj/machinery/door/firedoor/examine(mob/user)
+ if(!..(user, 1) && !isAI(user))
return
if(pdiff >= FIREDOOR_MAX_PRESSURE_DIFF)
- usr << "WARNING: Current pressure differential is [pdiff]kPa! Opening door may result in injury!"
+ user << "WARNING: Current pressure differential is [pdiff]kPa! Opening door may result in injury!"
- usr << "Sensor readings:"
+ user << "Sensor readings:"
for(var/index = 1; index <= tile_info.len; index++)
var/o = " "
switch(index)
@@ -96,7 +93,7 @@
o += "WEST: "
if(tile_info[index] == null)
o += "DATA UNAVAILABLE"
- usr << o
+ user << o
continue
var/celsius = convert_k2c(tile_info[index][1])
var/pressure = tile_info[index][2]
@@ -107,14 +104,14 @@
o += "[celsius]°C "
o += ""
o += "[pressure]kPa"
- usr << o
+ user << o
if(islist(users_to_open) && users_to_open.len)
var/users_to_open_string = users_to_open[1]
if(users_to_open.len >= 2)
for(var/i = 2 to users_to_open.len)
users_to_open_string += ", [users_to_open[i]]"
- usr << "These people have opened \the [src] during an alert: [users_to_open_string]."
+ user << "These people have opened \the [src] during an alert: [users_to_open_string]."
/obj/machinery/door/firedoor/Bumped(atom/AM)
if(p_open || operating)
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index e677e6e8be..63ad92f017 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -146,12 +146,11 @@
mode = !mode
usr << "The IV drip is now [mode ? "injecting" : "taking blood"]."
-/obj/machinery/iv_drip/examine()
- set src in view()
- ..()
- if (!(usr in view(2)) && usr!=src.loc) return
+/obj/machinery/iv_drip/examine(mob/user)
+ ..(user)
+ if (!(user in view(2)) && user!=src.loc) return
- usr << "The IV drip is [mode ? "injecting" : "taking blood"]."
+ user << "The IV drip is [mode ? "injecting" : "taking blood"]."
if(beaker)
if(beaker.reagents && beaker.reagents.reagent_list.len)
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index f75ebc4171..f7c1bcfa8f 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -37,10 +37,9 @@
else
icon_state = "light0"
-/obj/machinery/light_switch/examine()
- set src in oview(1)
- if(usr && !usr.stat)
- usr << "A light switch. It is [on? "on" : "off"]."
+/obj/machinery/light_switch/examine(mob/user)
+ if(..(user, 1))
+ user << "A light switch. It is [on? "on" : "off"]."
/obj/machinery/light_switch/attack_paw(mob/user)
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index d4b5f90d68..3049a6f694 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -70,8 +70,9 @@
allow_drop()
return 0
- examine()
- usr << "The charge meter reads: [round(chargepercentage())]%"
+ examine(mob/user)
+ ..(user)
+ user << "The charge meter reads: [round(chargepercentage())]%"
proc/chargepercentage()
return ((current_internal_charge / max_internal_charge) * 100)
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index f6a1455e78..bc65e08eb4 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -25,18 +25,14 @@
if(open)
overlays += "sheater-open"
-/obj/machinery/space_heater/examine()
- set src in oview(12)
- if (!( usr ))
- return
- usr << "This is \icon[src] \an [src.name]."
- usr << src.desc
+/obj/machinery/space_heater/examine(mob/user)
+ ..(user)
- usr << "The heater is [on ? "on" : "off"] and the hatch is [open ? "open" : "closed"]."
+ user << "The heater is [on ? "on" : "off"] and the hatch is [open ? "open" : "closed"]."
if(open)
- usr << "The power cell is [cell ? "installed" : "missing"]."
+ user << "The power cell is [cell ? "installed" : "missing"]."
else
- usr << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%"
+ user << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%"
return
/obj/machinery/space_heater/emp_act(severity)
diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm
index a652cd50f0..8d7ed7fccc 100644
--- a/code/game/machinery/status_display.dm
+++ b/code/game/machinery/status_display.dm
@@ -124,11 +124,10 @@
return 1
return 0
-/obj/machinery/status_display/examine()
- set src in view()
- . = ..()
+/obj/machinery/status_display/examine(mob/user)
+ . = ..(user)
if(mode != STATUS_DISPLAY_BLANK && mode != STATUS_DISPLAY_ALERT)
- usr << "The display says:
\t[sanitize(message1)]
\t[sanitize(message2)]"
+ user << "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/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 51352e3afb..2a33539bc8 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -83,7 +83,6 @@
add_cell()
add_iterators()
removeVerb(/obj/mecha/verb/disconnect_from_port)
- removeVerb(/atom/movable/verb/pull)
log_message("[src.name] created.")
loc.Entered(src)
mechas_list += src //global mech list
@@ -165,25 +164,24 @@
else
return 0
-/obj/mecha/examine()
- set src in view()
- ..()
+/obj/mecha/examine(mob/user)
+ ..(user)
var/integrity = health/initial(health)*100
switch(integrity)
if(85 to 100)
- usr << "It's fully intact."
+ user << "It's fully intact."
if(65 to 85)
- usr << "It's slightly damaged."
+ user << "It's slightly damaged."
if(45 to 65)
- usr << "It's badly damaged."
+ user << "It's badly damaged."
if(25 to 45)
- usr << "It's heavily damaged."
+ user << "It's heavily damaged."
else
- usr << "It's falling apart."
+ user << "It's falling apart."
if(equipment && equipment.len)
- usr << "It's equipped with:"
+ user << "It's equipped with:"
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
- usr << "\icon[ME] [ME]"
+ user << "\icon[ME] [ME]"
return
@@ -1406,11 +1404,11 @@
/obj/mecha/proc/output_maintenance_dialog(obj/item/weapon/card/id/id_card,mob/user)
if(!id_card || !user) return
-
+
var/maint_options = "Set Cabin Air Pressure"
if (locate(/obj/item/mecha_parts/mecha_equipment/tool/passenger) in contents)
- maint_options += "Remove Passenger"
-
+ maint_options += "Remove Passenger"
+
var/output = {"