All the relevant examine changes.

This commit is contained in:
PsiOmega
2014-11-05 08:57:27 +01:00
parent e19a79a340
commit bc438e21ad
135 changed files with 665 additions and 876 deletions

View File

@@ -200,12 +200,9 @@
if(frequency) if(frequency)
set_frequency(frequency) set_frequency(frequency)
/obj/machinery/atmospherics/binary/dp_vent_pump/examine() /obj/machinery/atmospherics/binary/dp_vent_pump/examine(mob/user)
set src in oview(1) if(..(user, 1))
..() user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
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/power_change() /obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat var/old_stat = stat

View File

@@ -201,7 +201,7 @@
..() ..()
/obj/machinery/atmospherics/unary/freezer/examine() /obj/machinery/atmospherics/unary/freezer/examine(mob/user)
..() ..(user)
if (opened) if (opened)
usr << "The maintenance hatch is open." user << "The maintenance hatch is open."

View File

@@ -184,7 +184,7 @@
..() ..()
/obj/machinery/atmospherics/unary/heater/examine() /obj/machinery/atmospherics/unary/heater/examine(mob/user)
..() ..(user)
if (opened) if (opened)
usr << "The maintenance hatch is open." user << "The maintenance hatch is open."

View File

@@ -375,15 +375,13 @@
else else
..() ..()
/obj/machinery/atmospherics/unary/vent_pump/examine() /obj/machinery/atmospherics/unary/vent_pump/examine(mob/user)
set src in oview(1) if(..(user, 1))
..() user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
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"
else else
usr << "You are too far away to read the gauge." user << "You are too far away to read the gauge."
if(welded) if(welded)
usr << "It seems welded shut." user << "It seems welded shut."
/obj/machinery/atmospherics/unary/vent_pump/power_change() /obj/machinery/atmospherics/unary/vent_pump/power_change()
var/old_stat = stat var/old_stat = stat

View File

@@ -260,13 +260,11 @@
new /obj/item/pipe(loc, make_from=src) new /obj/item/pipe(loc, make_from=src)
del(src) del(src)
/obj/machinery/atmospherics/unary/vent_scrubber/examine() /obj/machinery/atmospherics/unary/vent_scrubber/examine(mob/user)
set src in oview(1) if(..(user, 1))
..() user << "A small gauge in the corner reads [round(last_flow_rate, 0.1)] L/s; [round(last_power_draw)] W"
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"
else 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() /obj/machinery/atmospherics/unary/vent_scrubber/Del()
if(initial_loc) if(initial_loc)

View File

@@ -16,12 +16,12 @@
else else
return temp_access 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) if (world.time < expiration_time)
usr << "<span class='notice'>This pass expires at [worldtime2text(expiration_time)].</span>" user << "<span class='notice'>This pass expires at [worldtime2text(expiration_time)].</span>"
else else
usr << "<span class='warning'>It expired at [worldtime2text(expiration_time)].</span>" user << "<span class='warning'>It expired at [worldtime2text(expiration_time)].</span>"
/obj/item/weapon/card/id/guest/read() /obj/item/weapon/card/id/guest/read()
if (world.time > expiration_time) if (world.time > expiration_time)

View File

@@ -63,16 +63,13 @@
user.visible_message("\blue [user] gathers up[could_fill ? " " : " most of "]the pile of items and puts it into [src].") user.visible_message("\blue [user] gathers up[could_fill ? " " : " most of "]the pile of items and puts it into [src].")
update_icon() update_icon()
examine() examine(mob/user)
set src in view() ..(user)
..() user << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]."
if(src in usr) if(seal_torn && !contents.len)
usr << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]." user << "The seal on the bag is broken."
if(seal_torn && !contents.len) else
usr << "The seal on the bag is broken." user << "The seal on the bag is[seal_torn ? ", however, not intact" : " intact"]."
else
usr << "The seal on the bag is[seal_torn ? ", however, not intact" : " intact"]."
return
update_icon() update_icon()
if(contents.len) if(contents.len)

View File

@@ -46,8 +46,7 @@
user << "\blue The pack is already full!" user << "\blue The pack is already full!"
return return
/obj/item/weapon/weldpack/examine() /obj/item/weapon/weldpack/examine(mob/user)
set src in usr ..(user)
usr << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume) user << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume)
..()
return return

View File

@@ -303,7 +303,6 @@
// Simple helper to face what you clicked on, in case it should be needed in more than one place // 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) /mob/proc/face_atom(var/atom/A)
// Snowflake for space vines. // Snowflake for space vines.
var/is_buckled = 0 var/is_buckled = 0
if(buckled) if(buckled)
@@ -312,8 +311,7 @@
is_buckled = 1 is_buckled = 1
else else
is_buckled = 0 is_buckled = 0
if( is_buckled || !A || !x || !y || !A.x || !A.y || (stat && !isobserver(src))) return
if( stat || is_buckled || !A || !x || !y || !A.x || !A.y ) return
var/dx = A.x - x var/dx = A.x - x
var/dy = A.y - y var/dy = A.y - y
if(!dx && !dy) return if(!dx && !dy) return
@@ -325,7 +323,7 @@
else else
if(dx > 0) direction = EAST if(dx > 0) direction = EAST
else direction = WEST else direction = WEST
usr.dir = direction dir = direction
if(buckled && buckled.movable) if(buckled && buckled.movable)
buckled.dir = direction buckled.dir = direction
buckled.handle_rotation() buckled.handle_rotation()

View File

@@ -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 // 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) /atom/proc/attack_ghost(mob/dead/observer/user as mob)
if(user.client && user.client.inquisitive_ghost) if(user.client && user.client.inquisitive_ghost)
examine(user) user.examinate(src)
return return
// --------------------------------------- // ---------------------------------------

View File

@@ -20,7 +20,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
runewords-=cultwords[word] runewords-=cultwords[word]
/obj/effect/rune /obj/effect/rune
desc = "" desc = "A strange collection of symbols drawn in blood."
anchored = 1 anchored = 1
icon = 'icons/obj/rune.dmi' icon = 'icons/obj/rune.dmi'
icon_state = "1" 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) for(var/mob/living/silicon/ai/AI in player_list)
AI.client.images += blood AI.client.images += blood
examine() examine(mob/user)
set src in view(2) ..()
if(iscultist(user))
if(!iscultist(usr)) user << "This spell circle reads: <i>[word1] [word2] [word3]</i>."
usr << "A strange collection of symbols drawn in blood."
return
/* Explosions... really?
if(desc && !usr.stat)
usr << "It reads: <i>[desc]</i>."
sleep(30)
explosion(src.loc, 0, 2, 5, 5)
if(src)
del(src)
*/
if(!desc)
usr << "A spell circle drawn in blood. It reads: <i>[word1] [word2] [word3]</i>."
else
usr << "Explosive Runes inscription in blood. It reads: <i>[desc]</i>."
return
attackby(I as obj, user as mob) 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." user << "You copy the translation notes from your tome."
examine() examine(mob/user)
set src in usr if(!iscultist(user))
if(!iscultist(usr)) user << "An old, dusty tome with frayed edges and a sinister looking cover."
usr << "An old, dusty tome with frayed edges and a sinister looking cover."
else 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 /obj/item/weapon/book/tome/imbued //admin tome, spawns working runes without waiting
w_class = 2.0 w_class = 2.0

View File

@@ -3,13 +3,6 @@
var/imbue = null var/imbue = null
var/uses = 0 var/uses = 0
examine()
set src in view(2)
..()
return
attack_self(mob/living/user as mob) attack_self(mob/living/user as mob)
if(iscultist(user)) if(iscultist(user))
var/delete = 1 var/delete = 1

View File

@@ -911,9 +911,8 @@ ________________________________________________________________________________
U.drop_item() U.drop_item()
return 0 return 0
/obj/item/clothing/suit/space/space_ninja/examine() /obj/item/clothing/suit/space/space_ninja/examine(mob/user)
set src in view() ..(user)
..()
if(s_initialized) if(s_initialized)
var/mob/living/carbon/human/U = affecting var/mob/living/carbon/human/U = affecting
if(s_control) if(s_control)
@@ -1168,9 +1167,8 @@ ________________________________________________________________________________
U << "You <b>[candrain?"disable":"enable"]</b> special interaction." U << "You <b>[candrain?"disable":"enable"]</b> special interaction."
candrain=!candrain candrain=!candrain
/obj/item/clothing/gloves/space_ninja/examine() /obj/item/clothing/gloves/space_ninja/examine(mob/user)
set src in view() ..(user)
..()
if(!canremove) if(!canremove)
var/mob/living/carbon/human/U = loc var/mob/living/carbon/human/U = loc
U << "The energy drain mechanism is: <B>[candrain?"active":"inactive"]</B>." U << "The energy drain mechanism is: <B>[candrain?"active":"inactive"]</B>."
@@ -1306,12 +1304,11 @@ ________________________________________________________________________________
var/mob/U = loc var/mob/U = loc
U << "Switching mode to <B>[ninja_vision.mode]</B>." U << "Switching mode to <B>[ninja_vision.mode]</B>."
/obj/item/clothing/mask/gas/voice/space_ninja/examine() /obj/item/clothing/mask/gas/voice/space_ninja/examine(mob/user)
set src in view() ..(user)
..()
usr << "<B>[ninja_vision.mode]</B> is active."//Leaving usr here since it may be on the floor or on a person. user << "<B>[ninja_vision.mode]</B> is active."
usr << "Voice mimicking algorithm is set <B>[!vchange?"inactive":"active"]</B>." user << "Voice mimicking algorithm is set <B>[!vchange?"inactive":"active"]</B>."
/* /*
=================================================================================== ===================================================================================

View File

@@ -99,7 +99,7 @@
return return
..() ..()
/obj/machinery/emergency_authentication_device/examine() /obj/machinery/emergency_authentication_device/examine(mob/user)
usr << {" user << {"
This is a specialized communications device that is able to instantly send a message to <b>NanoTrasen High Command</b> via quantum entanglement with a sister device at CentCom. This is a specialized communications device that is able to instantly send a message to <b>NanoTrasen High Command</b> via quantum entanglement with a sister device at CentCom.
The EAD's status is [get_status()]."} The EAD's status is [get_status()]."}

View File

@@ -25,14 +25,14 @@
icon_state = "pinoff" icon_state = "pinoff"
usr << "\blue You switch \the [src] off." 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) switch(mode)
if (1) if (1)
usr << "Is is calibrated for the Captain's Authentication Key." user << "Is is calibrated for the Captain's Authentication Key."
if (2) if (2)
usr << "It is calibrated for the Emergency Secondary Authentication Key." user << "It is calibrated for the Emergency Secondary Authentication Key."
else else
usr << "It is switched off." user << "It is switched off."
/datum/supply_packs/key_pinpointer /datum/supply_packs/key_pinpointer
name = "Authentication Key Pinpointer crate" name = "Authentication Key Pinpointer crate"

View File

@@ -42,11 +42,11 @@
icon_state = "pinonfar" icon_state = "pinonfar"
spawn(5) .() spawn(5) .()
examine() examine(mob/user)
..() ..(user)
for(var/obj/machinery/nuclearbomb/bomb in world) for(var/obj/machinery/nuclearbomb/bomb in world)
if(bomb.timing) 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 /obj/item/weapon/pinpointer/advpinpointer

View File

@@ -1168,12 +1168,12 @@ table tr:first-child th:first-child { border: none;}
spawn(rand(0,15)) spawn(rand(0,15))
update_icon() update_icon()
/obj/machinery/alarm/examine() /obj/machinery/alarm/examine(mob/user)
..() ..(user)
if (buildstage < 2) if (buildstage < 2)
usr << "It is not wired." user << "It is not wired."
if (buildstage < 1) if (buildstage < 1)
usr << "The circuit is missing." user << "The circuit is missing."
/* /*
AIR ALARM CIRCUIT AIR ALARM CIRCUIT
Just a object used in constructing air alarms Just a object used in constructing air alarms

View File

@@ -65,10 +65,10 @@
) )
radio_connection.post_signal(src, signal) radio_connection.post_signal(src, signal)
/obj/machinery/meter/examine() /obj/machinery/meter/examine(mob/user)
var/t = "A gas flow meter. " 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 <B>You are too far away to read it.</B>" t += "\blue <B>You are too far away to read it.</B>"
else if(stat & (NOPOWER|BROKEN)) else if(stat & (NOPOWER|BROKEN))
@@ -83,12 +83,12 @@
else else
t += "The connect error light is blinking." t += "The connect error light is blinking."
usr << t user << t
/obj/machinery/meter/Click() /obj/machinery/meter/Click()
if(istype(usr, /mob/living/silicon/ai)) // ghosts can call ..() for examine if(istype(usr, /mob/living/silicon/ai)) // ghosts can call ..() for examine
examine() usr.examinate(src)
return 1 return 1
return ..() return ..()

View File

@@ -43,14 +43,13 @@
emagged = 2 emagged = 2
log_and_message_admins("emagged [src]'s inner circuits") log_and_message_admins("emagged [src]'s inner circuits")
/obj/machinery/bot/examine() /obj/machinery/bot/examine(mob/user)
set src in view() ..(user)
..()
if (src.health < maxhealth) if (src.health < maxhealth)
if (src.health > maxhealth/3) if (src.health > maxhealth/3)
usr << "<span class='warning'>[src]'s parts look loose.</span>" user << "<span class='warning'>[src]'s parts look loose.</span>"
else else
usr << "<span class='danger'>[src]'s parts look very loose!</span>" user << "<span class='danger'>[src]'s parts look very loose!</span>"
return return
/obj/machinery/bot/attack_animal(var/mob/living/simple_animal/M as mob) /obj/machinery/bot/attack_animal(var/mob/living/simple_animal/M as mob)

View File

@@ -93,7 +93,6 @@
suffix = "#[count]" suffix = "#[count]"
name = "Mulebot ([suffix])" name = "Mulebot ([suffix])"
verbs -= /atom/movable/verb/pull
// set up the wire colours in random order // set up the wire colours in random order

View File

@@ -28,12 +28,13 @@
else else
overlays.Cut() overlays.Cut()
/obj/machinery/cell_charger/examine() /obj/machinery/cell_charger/examine(mob/user)
set src in oview(5) if(!..(user, 5))
..() return
usr << "There's [charging ? "a" : "no"] cell in the charger."
user << "There's [charging ? "a" : "no"] cell in the charger."
if(charging) if(charging)
usr << "Current charge: [charging.charge]" user << "Current charge: [charging.charge]"
/obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user) /obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user)
if(stat & BROKEN) if(stat & BROKEN)

View File

@@ -96,10 +96,9 @@
src.read_only = !src.read_only src.read_only = !src.read_only
user << "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"]." user << "You flip the write-protect tab to [src.read_only ? "protected" : "unprotected"]."
/obj/item/weapon/disk/data/examine() /obj/item/weapon/disk/data/examine(mob/user)
set src in oview(5) ..(user)
..() user << text("The write-protect tab is set to [src.read_only ? "protected" : "unprotected"].")
usr << text("The write-protect tab is set to [src.read_only ? "protected" : "unprotected"].")
return return
//Health Tracker Implant //Health Tracker Implant

View File

@@ -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)].") 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 return
/obj/item/weapon/circuitboard/unary_atmos/examine() /obj/item/weapon/circuitboard/unary_atmos/examine(mob/user)
..() ..(user)
usr << "The jumper is connecting the [dir2text(machine_dir)] pins." user << "The jumper is connecting the [dir2text(machine_dir)] pins."
/obj/item/weapon/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U) /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. //TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up.

View File

@@ -2,7 +2,7 @@
/var/const/CLOSED = 2 /var/const/CLOSED = 2
#define FIREDOOR_MAX_PRESSURE_DIFF 25 // kPa #define FIREDOOR_MAX_PRESSURE_DIFF 25 // kPa
#define FIREDOOR_MAX_TEMP 50 // <EFBFBD>C #define FIREDOOR_MAX_TEMP 50 // °C
#define FIREDOOR_MIN_TEMP 0 #define FIREDOOR_MIN_TEMP 0
// Bitflags // Bitflags
@@ -72,17 +72,14 @@
. = ..() . = ..()
/obj/machinery/door/firedoor/examine() /obj/machinery/door/firedoor/examine(mob/user)
set src in view() if(!..(user, 1) && !isAI(user))
. = ..()
if(get_dist(src, usr) > 1 && !isAI(usr))
return return
if(pdiff >= FIREDOOR_MAX_PRESSURE_DIFF) if(pdiff >= FIREDOOR_MAX_PRESSURE_DIFF)
usr << "<span class='warning'>WARNING: Current pressure differential is [pdiff]kPa! Opening door may result in injury!</span>" user << "<span class='warning'>WARNING: Current pressure differential is [pdiff]kPa! Opening door may result in injury!</span>"
usr << "<b>Sensor readings:</b>" user << "<b>Sensor readings:</b>"
for(var/index = 1; index <= tile_info.len; index++) for(var/index = 1; index <= tile_info.len; index++)
var/o = "&nbsp;&nbsp;" var/o = "&nbsp;&nbsp;"
switch(index) switch(index)
@@ -96,7 +93,7 @@
o += "WEST: " o += "WEST: "
if(tile_info[index] == null) if(tile_info[index] == null)
o += "<span class='warning'>DATA UNAVAILABLE</span>" o += "<span class='warning'>DATA UNAVAILABLE</span>"
usr << o user << o
continue continue
var/celsius = convert_k2c(tile_info[index][1]) var/celsius = convert_k2c(tile_info[index][1])
var/pressure = tile_info[index][2] var/pressure = tile_info[index][2]
@@ -107,14 +104,14 @@
o += "[celsius]&deg;C</span> " o += "[celsius]&deg;C</span> "
o += "<span style='color:blue'>" o += "<span style='color:blue'>"
o += "[pressure]kPa</span></li>" o += "[pressure]kPa</span></li>"
usr << o user << o
if(islist(users_to_open) && users_to_open.len) if(islist(users_to_open) && users_to_open.len)
var/users_to_open_string = users_to_open[1] var/users_to_open_string = users_to_open[1]
if(users_to_open.len >= 2) if(users_to_open.len >= 2)
for(var/i = 2 to users_to_open.len) for(var/i = 2 to users_to_open.len)
users_to_open_string += ", [users_to_open[i]]" 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) /obj/machinery/door/firedoor/Bumped(atom/AM)
if(p_open || operating) if(p_open || operating)

View File

@@ -146,12 +146,11 @@
mode = !mode mode = !mode
usr << "The IV drip is now [mode ? "injecting" : "taking blood"]." usr << "The IV drip is now [mode ? "injecting" : "taking blood"]."
/obj/machinery/iv_drip/examine() /obj/machinery/iv_drip/examine(mob/user)
set src in view() ..(user)
..() if (!(user in view(2)) && user!=src.loc) return
if (!(usr in view(2)) && usr!=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)
if(beaker.reagents && beaker.reagents.reagent_list.len) if(beaker.reagents && beaker.reagents.reagent_list.len)

View File

@@ -37,10 +37,9 @@
else else
icon_state = "light0" icon_state = "light0"
/obj/machinery/light_switch/examine() /obj/machinery/light_switch/examine(mob/user)
set src in oview(1) if(..(user, 1))
if(usr && !usr.stat) user << "A light switch. It is [on? "on" : "off"]."
usr << "A light switch. It is [on? "on" : "off"]."
/obj/machinery/light_switch/attack_paw(mob/user) /obj/machinery/light_switch/attack_paw(mob/user)

View File

@@ -70,8 +70,9 @@
allow_drop() allow_drop()
return 0 return 0
examine() examine(mob/user)
usr << "The charge meter reads: [round(chargepercentage())]%" ..(user)
user << "The charge meter reads: [round(chargepercentage())]%"
proc/chargepercentage() proc/chargepercentage()
return ((current_internal_charge / max_internal_charge) * 100) return ((current_internal_charge / max_internal_charge) * 100)

View File

@@ -25,18 +25,14 @@
if(open) if(open)
overlays += "sheater-open" overlays += "sheater-open"
/obj/machinery/space_heater/examine() /obj/machinery/space_heater/examine(mob/user)
set src in oview(12) ..(user)
if (!( usr ))
return
usr << "This is \icon[src] \an [src.name]."
usr << src.desc
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) if(open)
usr << "The power cell is [cell ? "installed" : "missing"]." user << "The power cell is [cell ? "installed" : "missing"]."
else else
usr << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%" user << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%"
return return
/obj/machinery/space_heater/emp_act(severity) /obj/machinery/space_heater/emp_act(severity)

View File

@@ -124,11 +124,10 @@
return 1 return 1
return 0 return 0
/obj/machinery/status_display/examine() /obj/machinery/status_display/examine(mob/user)
set src in view() . = ..(user)
. = ..()
if(mode != STATUS_DISPLAY_BLANK && mode != STATUS_DISPLAY_ALERT) if(mode != STATUS_DISPLAY_BLANK && mode != STATUS_DISPLAY_ALERT)
usr << "The display says:<br>\t[sanitize(message1)]<br>\t[sanitize(message2)]" user << "The display says:<br>\t[sanitize(message1)]<br>\t[sanitize(message2)]"
/obj/machinery/status_display/proc/set_message(m1, m2) /obj/machinery/status_display/proc/set_message(m1, m2)
if(m1) if(m1)

View File

@@ -83,7 +83,6 @@
add_cell() add_cell()
add_iterators() add_iterators()
removeVerb(/obj/mecha/verb/disconnect_from_port) removeVerb(/obj/mecha/verb/disconnect_from_port)
removeVerb(/atom/movable/verb/pull)
log_message("[src.name] created.") log_message("[src.name] created.")
loc.Entered(src) loc.Entered(src)
mechas_list += src //global mech list mechas_list += src //global mech list
@@ -165,25 +164,24 @@
else else
return 0 return 0
/obj/mecha/examine() /obj/mecha/examine(mob/user)
set src in view() ..(user)
..()
var/integrity = health/initial(health)*100 var/integrity = health/initial(health)*100
switch(integrity) switch(integrity)
if(85 to 100) if(85 to 100)
usr << "It's fully intact." user << "It's fully intact."
if(65 to 85) if(65 to 85)
usr << "It's slightly damaged." user << "It's slightly damaged."
if(45 to 65) if(45 to 65)
usr << "It's badly damaged." user << "It's badly damaged."
if(25 to 45) if(25 to 45)
usr << "It's heavily damaged." user << "It's heavily damaged."
else else
usr << "It's falling apart." user << "It's falling apart."
if(equipment && equipment.len) 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) for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
usr << "\icon[ME] [ME]" user << "\icon[ME] [ME]"
return return
@@ -1406,11 +1404,11 @@
/obj/mecha/proc/output_maintenance_dialog(obj/item/weapon/card/id/id_card,mob/user) /obj/mecha/proc/output_maintenance_dialog(obj/item/weapon/card/id/id_card,mob/user)
if(!id_card || !user) return if(!id_card || !user) return
var/maint_options = "<a href='?src=\ref[src];set_internal_tank_valve=1;user=\ref[user]'>Set Cabin Air Pressure</a>" var/maint_options = "<a href='?src=\ref[src];set_internal_tank_valve=1;user=\ref[user]'>Set Cabin Air Pressure</a>"
if (locate(/obj/item/mecha_parts/mecha_equipment/tool/passenger) in contents) if (locate(/obj/item/mecha_parts/mecha_equipment/tool/passenger) in contents)
maint_options += "<a href='?src=\ref[src];remove_passenger=1;user=\ref[user]'>Remove Passenger</a>" maint_options += "<a href='?src=\ref[src];remove_passenger=1;user=\ref[user]'>Remove Passenger</a>"
var/output = {"<html> var/output = {"<html>
<head> <head>
<style> <style>
@@ -1568,23 +1566,23 @@
for (var/obj/item/mecha_parts/mecha_equipment/tool/passenger/P in contents) for (var/obj/item/mecha_parts/mecha_equipment/tool/passenger/P in contents)
if (P.occupant) if (P.occupant)
passengers["[P.occupant]"] = P passengers["[P.occupant]"] = P
if (!passengers) if (!passengers)
user << "\red There are no passengers to remove." user << "\red There are no passengers to remove."
return return
var/pname = input(user, "Choose a passenger to forcibly remove.", "Forcibly Remove Passenger") as null|anything in passengers var/pname = input(user, "Choose a passenger to forcibly remove.", "Forcibly Remove Passenger") as null|anything in passengers
if (!pname) if (!pname)
return return
var/obj/item/mecha_parts/mecha_equipment/tool/passenger/P = passengers[pname] var/obj/item/mecha_parts/mecha_equipment/tool/passenger/P = passengers[pname]
var/mob/occupant = P.occupant var/mob/occupant = P.occupant
user.visible_message("\red [user] begins opening the hatch on \the [P]...", "\red You begin opening the hatch on \the [P]...") user.visible_message("\red [user] begins opening the hatch on \the [P]...", "\red You begin opening the hatch on \the [P]...")
if (!do_after(user, 40, needhand=0)) if (!do_after(user, 40, needhand=0))
return return
user.visible_message("\red [user] opens the hatch on \the [P] and removes [occupant]!", "\red You open the hatch on \the [P] and remove [occupant]!") user.visible_message("\red [user] opens the hatch on \the [P] and removes [occupant]!", "\red You open the hatch on \the [P] and remove [occupant]!")
P.go_out() P.go_out()
P.log_message("[occupant] was removed.") P.log_message("[occupant] was removed.")

View File

@@ -133,9 +133,9 @@ var/global/list/image/splatter_cache=list()
else else
icon_state = "writing1" icon_state = "writing1"
/obj/effect/decal/cleanable/blood/writing/examine() /obj/effect/decal/cleanable/blood/writing/examine(mob/user)
..() ..(user)
usr << "It reads: <font color='[basecolor]'>\"[message]\"<font>" user << "It reads: <font color='[basecolor]'>\"[message]\"<font>"
/obj/effect/decal/cleanable/blood/gibs /obj/effect/decal/cleanable/blood/gibs
name = "gibs" name = "gibs"

View File

@@ -5,12 +5,6 @@
layer = 2.1 layer = 2.1
anchored = 1 anchored = 1
examine()
set src in view(2)
..()
return
New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune") New(location,main = "#FFFFFF",shade = "#000000",var/type = "rune")
..() ..()
loc = location loc = location

View File

@@ -5,11 +5,7 @@
icon_state = "arrow" icon_state = "arrow"
layer = 16.0 layer = 16.0
anchored = 1 anchored = 1
mouse_opacity = 0
/obj/effect/decal/point/point()
set src in oview()
set hidden = 1
return
// Used for spray that you spray at walls, tables, hydrovats etc // Used for spray that you spray at walls, tables, hydrovats etc
/obj/effect/decal/spraystill /obj/effect/decal/spraystill

View File

@@ -102,9 +102,7 @@
src.loc = T src.loc = T
/obj/item/examine() /obj/item/examine(mob/user)
set src in view()
var/size var/size
switch(src.w_class) switch(src.w_class)
if(1.0) if(1.0)
@@ -119,9 +117,9 @@
size = "huge" size = "huge"
else else
//if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking" //if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking"
usr << "This is a [src.blood_DNA ? "bloody " : ""]\icon[src][src.name]. It is a [size] item." user << "This is a [src.blood_DNA ? "bloody " : ""]\icon[src][src.name]. It is a [size] item."
if(src.desc) if(src.desc)
usr << src.desc user << src.desc
return return
/obj/item/attack_hand(mob/user as mob) /obj/item/attack_hand(mob/user as mob)

View File

@@ -62,10 +62,9 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/obj/item/device/paicard/pai = null // A slot for a personal AI device var/obj/item/device/paicard/pai = null // A slot for a personal AI device
/obj/item/device/pda/examine() /obj/item/device/pda/examine(mob/user)
..() if(..(user, 1))
if(get_dist(usr, src) <= 1) user << "The time [worldtime2text()] is displayed in the corner of the screen."
usr << "The time [worldtime2text()] is displayed in the corner of the screen."
/obj/item/device/pda/medical /obj/item/device/pda/medical
default_cartridge = /obj/item/weapon/cartridge/medical default_cartridge = /obj/item/weapon/cartridge/medical

View File

@@ -204,6 +204,6 @@
if("P (OP)") if("P (OP)")
mode = "white_halfp" mode = "white_halfp"
/obj/item/device/floor_painter/examine() /obj/item/device/floor_painter/examine(mob/user)
..() ..(user)
usr << "It is in [mode_nice] mode." user << "It is in [mode_nice] mode."

View File

@@ -62,10 +62,9 @@
failmsg = "The [name]'s refill light blinks red." failmsg = "The [name]'s refill light blinks red."
..() ..()
/obj/item/device/lightreplacer/examine() /obj/item/device/lightreplacer/examine(mob/user)
set src in view(2) if(..(user, 2))
..() user << "It has [uses] lights remaining."
usr << "It has [uses] lights remaining."
/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user) /obj/item/device/lightreplacer/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/weapon/card/emag) && emagged == 0) if(istype(W, /obj/item/weapon/card/emag) && emagged == 0)

View File

@@ -62,9 +62,9 @@
user.drop_from_inventory(src) user.drop_from_inventory(src)
del(src) del(src)
/obj/item/device/modkit/examine() /obj/item/device/modkit/examine(mob/user)
..() ..(user)
usr << "It looks as though it modifies hardsuits to fit [target_species] users." user << "It looks as though it modifies hardsuits to fit [target_species] users."
/obj/item/device/modkit/tajaran /obj/item/device/modkit/tajaran
name = "tajaran hardsuit modification kit" name = "tajaran hardsuit modification kit"

View File

@@ -31,6 +31,6 @@
/obj/item/device/pipe_painter/attack_self(mob/user as mob) /obj/item/device/pipe_painter/attack_self(mob/user as mob)
mode = input("Which colour do you want to use?", "Pipe painter", mode) in modes mode = input("Which colour do you want to use?", "Pipe painter", mode) in modes
/obj/item/device/pipe_painter/examine() /obj/item/device/pipe_painter/examine(mob/user)
..() ..(user)
usr << "It is in [mode] mode." user << "It is in [mode] mode."

View File

@@ -489,15 +489,13 @@
return get_mobs_in_view(canhear_range, src) return get_mobs_in_view(canhear_range, src)
/obj/item/device/radio/examine() /obj/item/device/radio/examine(mob/user)
set src in view() ..(user)
if ((in_range(src, user) || loc == user))
..()
if ((in_range(src, usr) || loc == usr))
if (b_stat) if (b_stat)
usr.show_message("\blue \the [src] can be attached and modified!") user.show_message("\blue \the [src] can be attached and modified!")
else else
usr.show_message("\blue \the [src] can not be modified or attached!") user.show_message("\blue \the [src] can not be modified or attached!")
return return
/obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob) /obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob)

View File

@@ -161,26 +161,25 @@
else else
icon_state = "suitcooler0" icon_state = "suitcooler0"
/obj/item/device/suit_cooling_unit/examine() /obj/item/device/suit_cooling_unit/examine(mob/user)
set src in view(1) if(!..(user, 1))
return
..()
if (on) if (on)
if (attached_to_suit(src.loc)) if (attached_to_suit(src.loc))
usr << "It's switched on and running." user << "It's switched on and running."
else else
usr << "It's switched on, but not attached to anything." user << "It's switched on, but not attached to anything."
else else
usr << "It is switched off." user << "It is switched off."
if (cover_open) if (cover_open)
if(cell) if(cell)
usr << "The panel is open, exposing the [cell]." user << "The panel is open, exposing the [cell]."
else else
usr << "The panel is open." user << "The panel is open."
if (cell) if (cell)
usr << "The charge meter reads [round(cell.percent())]%." user << "The charge meter reads [round(cell.percent())]%."
else else
usr << "It doesn't have a power cell installed." user << "It doesn't have a power cell installed."

View File

@@ -28,11 +28,9 @@
usr << browse(null, "window=stack") usr << browse(null, "window=stack")
..() ..()
/obj/item/stack/examine() /obj/item/stack/examine(mob/user)
set src in view(1) if(..(user, 1))
..() user << "There are [src.amount] [src.singular_name]\s in the stack."
usr << "There are [src.amount] [src.singular_name]\s in the stack."
return
/obj/item/stack/attack_self(mob/user as mob) /obj/item/stack/attack_self(mob/user as mob)
list_recipes(user) list_recipes(user)

View File

@@ -136,11 +136,9 @@
attack_verb = list("struck", "pistol whipped", "hit", "bashed") attack_verb = list("struck", "pistol whipped", "hit", "bashed")
var/bullets = 7.0 var/bullets = 7.0
examine() examine(mob/user)
set src in usr if(..(user, 0))
src.desc = text("There are [] caps\s left. Looks almost like the real thing! Ages 8 and up.", src.bullets)
src.desc = text("There are [] caps\s left. Looks almost like the real thing! Ages 8 and up.", src.bullets)
..()
return return
attackby(obj/item/toy/ammo/gun/A as obj, mob/user as mob) attackby(obj/item/toy/ammo/gun/A as obj, mob/user as mob)
@@ -212,11 +210,9 @@
attack_verb = list("attacked", "struck", "hit") attack_verb = list("attacked", "struck", "hit")
var/bullets = 5 var/bullets = 5
examine() examine(mob/user)
set src in view(2) if(..(user, 2) && bullets)
..() user << "\blue It is loaded with [bullets] foam darts!"
if (bullets)
usr << "\blue It is loaded with [bullets] foam darts!"
attackby(obj/item/I as obj, mob/user as mob) attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/toy/ammo/crossbow)) if(istype(I, /obj/item/toy/ammo/crossbow))
@@ -484,11 +480,9 @@
return return
/obj/item/toy/waterflower/examine() /obj/item/toy/waterflower/examine(mob/user)
set src in usr if(..(user, 0))
usr << text("\icon[] [] units of water left!", src, src.reagents.total_volume) user << text("\icon[] [] units of water left!", src, src.reagents.total_volume)
..()
return
/* /*

View File

@@ -17,10 +17,9 @@ RSF
flags = TABLEPASS flags = TABLEPASS
w_class = 3.0 w_class = 3.0
/obj/item/weapon/rsf/examine() /obj/item/weapon/rsf/examine(mob/user)
set src in view(1) if(..(user, 0))
..() user << "It currently holds [stored_matter]/30 fabrication-units."
usr << "It currently holds [stored_matter]/30 fabrication-units."
/obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob) /obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob)
..() ..()

View File

@@ -37,11 +37,9 @@
R.my_atom = src R.my_atom = src
R.add_reagent("water", max_water) R.add_reagent("water", max_water)
/obj/item/weapon/extinguisher/examine() /obj/item/weapon/extinguisher/examine(mob/user)
set src in usr if(..(user, 0))
user << text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume)
usr << text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume)
..()
return return
/obj/item/weapon/extinguisher/attack_self(mob/user as mob) /obj/item/weapon/extinguisher/attack_self(mob/user as mob)

View File

@@ -161,12 +161,9 @@
return return
/obj/item/weapon/wrapping_paper/examine() /obj/item/weapon/wrapping_paper/examine(mob/user)
set src in oview(1) if(..(user, 1))
user << text("There is about [] square units of paper left!", src.amount)
..()
usr << text("There is about [] square units of paper left!", src.amount)
return
/obj/item/weapon/wrapping_paper/attack(mob/target as mob, mob/user as mob) /obj/item/weapon/wrapping_paper/attack(mob/target as mob, mob/user as mob)
if (!istype(target, /mob/living/carbon/human)) return if (!istype(target, /mob/living/carbon/human)) return

View File

@@ -104,11 +104,10 @@
else else
user << "\red \the [W] is empty." user << "\red \the [W] is empty."
examine() examine(mob/user)
set src in usr ..(user)
usr << desc
if(detonator) if(detonator)
usr << "With attached [detonator.name]" user << "With attached [detonator.name]"
activate(mob/user as mob) activate(mob/user as mob)
if(active) return if(active) return

View File

@@ -42,13 +42,12 @@
return*/ return*/
/obj/item/weapon/grenade/examine() /obj/item/weapon/grenade/examine(mob/user)
set src in usr if(..(user, 0))
usr << desc if(det_time > 1)
if(det_time > 1) user << "The timer is set to [det_time/10] seconds."
usr << "The timer is set to [det_time/10] seconds." return
return user << "\The [src] is set for instant detonation."
usr << "\The [src] is set for instant detonation."
/obj/item/weapon/grenade/attack_self(mob/user as mob) /obj/item/weapon/grenade/attack_self(mob/user as mob)

View File

@@ -24,16 +24,16 @@
src.icon_state = "[src.icon_type]box[total_contents]" src.icon_state = "[src.icon_type]box[total_contents]"
return return
/obj/item/weapon/storage/fancy/examine() /obj/item/weapon/storage/fancy/examine(mob/user)
set src in oview(1) if(!..(user, 1))
return
..()
if(contents.len <= 0) if(contents.len <= 0)
usr << "There are no [src.icon_type]s left in the box." user << "There are no [src.icon_type]s left in the box."
else if(contents.len == 1) else if(contents.len == 1)
usr << "There is one [src.icon_type] left in the box." user << "There is one [src.icon_type] left in the box."
else else
usr << "There are [src.contents.len] [src.icon_type]s in the box." user << "There are [src.contents.len] [src.icon_type]s in the box."
return return

View File

@@ -27,10 +27,9 @@
max_w_class = 2 max_w_class = 2
max_combined_w_class = 14 max_combined_w_class = 14
examine() examine(mob/user)
set src in oview(1) if(..(user, 1))
..() user << text("The service panel is [src.open ? "open" : "closed"].")
usr << text("The service panel is [src.open ? "open" : "closed"].")
attack_paw(mob/user as mob) attack_paw(mob/user as mob)
return attack_hand(user) return attack_hand(user)

View File

@@ -50,13 +50,14 @@
else else
icon_state = "[initial(name)]" icon_state = "[initial(name)]"
/obj/item/weapon/melee/baton/examine() /obj/item/weapon/melee/baton/examine(mob/user)
set src in view(1) if(!..(user, 1))
..() return
if(bcell) if(bcell)
usr <<"<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>" user <<"<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>"
if(!bcell) if(!bcell)
usr <<"<span class='warning'>The baton does not have a power source installed.</span>" user <<"<span class='warning'>The baton does not have a power source installed.</span>"
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user) /obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user)
if(istype(W, /obj/item/weapon/cell)) if(istype(W, /obj/item/weapon/cell))

View File

@@ -18,12 +18,13 @@
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow() src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
src.ion_trail.set_up(src) src.ion_trail.set_up(src)
/obj/item/weapon/tank/jetpack/examine() /obj/item/weapon/tank/jetpack/examine(mob/user)
set src in usr if(!..(user, 0))
..() return
if(air_contents.gas["oxygen"] < 10) if(air_contents.gas["oxygen"] < 10)
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>") user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
playsound(usr, 'sound/effects/alert.ogg', 50, 1) playsound(user, 'sound/effects/alert.ogg', 50, 1)
/obj/item/weapon/tank/jetpack/verb/toggle_rockets() /obj/item/weapon/tank/jetpack/verb/toggle_rockets()
set name = "Toggle Jetpack Stabilization" set name = "Toggle Jetpack Stabilization"
@@ -104,10 +105,11 @@
air_contents.adjust_gas("carbon_dioxide", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) air_contents.adjust_gas("carbon_dioxide", (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
return return
/obj/item/weapon/tank/jetpack/carbondioxide/examine() /obj/item/weapon/tank/jetpack/carbondioxide/examine(mob/user)
set src in usr if(!..(0))
..() return
if(air_contents.gas["carbon_dioxide"] < 10) if(air_contents.gas["carbon_dioxide"] < 10)
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>") user << text("\red <B>The meter on the [src.name] indicates you are almost out of carbon dioxide!</B>")
playsound(usr, 'sound/effects/alert.ogg', 50, 1) playsound(user, 'sound/effects/alert.ogg', 50, 1)
return return

View File

@@ -23,11 +23,9 @@
return return
examine() examine(mob/user)
set src in usr if(..(user, 0) && air_contents.gas["oxygen"] < 10)
..() user << text("\red <B>The meter on the [src.name] indicates you are almost out of oxygen!</B>")
if(air_contents.gas["oxygen"] < 10)
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
//playsound(usr, 'sound/effects/alert.ogg', 50, 1) //playsound(usr, 'sound/effects/alert.ogg', 50, 1)
@@ -67,12 +65,10 @@
icon_state = "oxygen" icon_state = "oxygen"
examine() examine(mob/user)
set src in usr if(..(user, 0) && air_contents.gas["oxygen"] < 1 && loc==user)
..() user << "\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"
if(air_contents.gas["oxygen"] < 1 && loc==usr) user << sound('sound/effects/alert.ogg')
usr << "\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"
usr << sound('sound/effects/alert.ogg')
/obj/item/weapon/tank/air/New() /obj/item/weapon/tank/air/New()
..() ..()
@@ -133,12 +129,10 @@
return return
examine() examine(mob/user)
set src in usr if(..(user, 0) && air_contents.gas["oxygen"] < 0.2 && loc==user)
..() user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
if(air_contents.gas["oxygen"] < 0.2 && loc==usr) user << sound('sound/effects/alert.ogg')
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
usr << sound('sound/effects/alert.ogg')
/obj/item/weapon/tank/emergency_oxygen/engi /obj/item/weapon/tank/emergency_oxygen/engi
name = "extended-capacity emergency oxygen tank" name = "extended-capacity emergency oxygen tank"
@@ -166,9 +160,7 @@
src.air_contents.adjust_gas("nitrogen", (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)) src.air_contents.adjust_gas("nitrogen", (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C))
return return
/obj/item/weapon/tank/nitrogen/examine() /obj/item/weapon/tank/nitrogen/examine(mob/user)
set src in usr if(..(user, 0) && air_contents.gas["nitrogen"] < 10)
..() user << text("\red <B>The meter on the [src.name] indicates you are almost out of nitrogen!</B>")
if(air_contents.gas["nitrogen"] < 10) //playsound(user, 'sound/effects/alert.ogg', 50, 1)
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)

View File

@@ -39,12 +39,12 @@
..() ..()
/obj/item/weapon/tank/examine() /obj/item/weapon/tank/examine(mob/user)
var/obj/icon = src var/obj/icon = src
if (istype(src.loc, /obj/item/assembly)) if (istype(src.loc, /obj/item/assembly))
icon = src.loc icon = src.loc
if (!in_range(src, usr)) if (!in_range(src, user))
if (icon == src) usr << "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer." if (icon == src) user << "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer."
return return
var/celsius_temperature = src.air_contents.temperature-T0C var/celsius_temperature = src.air_contents.temperature-T0C
@@ -63,7 +63,7 @@
else else
descriptive = "furiously hot" descriptive = "furiously hot"
usr << "\blue \The \icon[icon][src] feels [descriptive]" user << "\blue \The \icon[icon][src] feels [descriptive]"
return return

View File

@@ -161,10 +161,9 @@
return return
/obj/item/weapon/weldingtool/examine() /obj/item/weapon/weldingtool/examine(mob/user)
set src in usr if(..(user, 0))
usr << text("\icon[] [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel ) user << text("\icon[] [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel )
return
/obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob) /obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob)

View File

@@ -106,15 +106,16 @@ LINEN BINS
var/obj/item/hidden = null var/obj/item/hidden = null
/obj/structure/bedsheetbin/examine() /obj/structure/bedsheetbin/examine(mob/user)
usr << desc ..(user)
if(amount < 1) if(amount < 1)
usr << "There are no bed sheets in the bin." user << "There are no bed sheets in the bin."
return return
if(amount == 1) if(amount == 1)
usr << "There is one bed sheet in the bin." user << "There is one bed sheet in the bin."
return return
usr << "There are [amount] bed sheets in the bin." user << "There are [amount] bed sheets in the bin."
/obj/structure/bedsheetbin/update_icon() /obj/structure/bedsheetbin/update_icon()

View File

@@ -19,10 +19,9 @@
create_reagents(100) create_reagents(100)
/obj/structure/janitorialcart/examine() /obj/structure/janitorialcart/examine(mob/user)
set src in usr if(..(user, 1))
usr << "[src] \icon[src] contains [reagents.total_volume] unit\s of liquid!" user << "[src] \icon[src] contains [reagents.total_volume] unit\s of liquid!"
..()
//everything else is visible, so doesn't need to be mentioned //everything else is visible, so doesn't need to be mentioned
@@ -175,11 +174,13 @@
create_reagents(100) create_reagents(100)
/obj/structure/stool/bed/chair/janicart/examine() /obj/structure/stool/bed/chair/janicart/examine(mob/user)
set src in usr if(!..(user, 1))
usr << "\icon[src] This [callme] contains [reagents.total_volume] unit\s of water!" return
user << "\icon[src] This [callme] contains [reagents.total_volume] unit\s of water!"
if(mybag) if(mybag)
usr << "\A [mybag] is hanging on the [callme]." user << "\A [mybag] is hanging on the [callme]."
/obj/structure/stool/bed/chair/janicart/attackby(obj/item/I, mob/user) /obj/structure/stool/bed/chair/janicart/attackby(obj/item/I, mob/user)

View File

@@ -13,10 +13,9 @@
create_reagents(100) create_reagents(100)
/obj/structure/mopbucket/examine() /obj/structure/mopbucket/examine(mob/user)
set src in usr if(..(user, 1))
usr << "[src] \icon[src] contains [reagents.total_volume] unit\s of water!" user << "[src] \icon[src] contains [reagents.total_volume] unit\s of water!"
..()
/obj/structure/mopbucket/attackby(obj/item/I, mob/user) /obj/structure/mopbucket/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/mop)) if(istype(I, /obj/item/weapon/mop))

View File

@@ -9,8 +9,6 @@
return return
/obj/structure/stool/bed/chair/New() /obj/structure/stool/bed/chair/New()
if(anchored)
src.verbs -= /atom/movable/verb/pull
..() ..()
spawn(3) //sorry. i don't think there's a better way to do this. spawn(3) //sorry. i don't think there's a better way to do this.
handle_rotation() handle_rotation()
@@ -153,7 +151,7 @@
if(propelled) if(propelled)
var/mob/living/occupant = buckled_mob var/mob/living/occupant = buckled_mob
unbuckle() unbuckle()
var/def_zone = ran_zone() var/def_zone = ran_zone()
var/blocked = occupant.run_armor_check(def_zone, "melee") var/blocked = occupant.run_armor_check(def_zone, "melee")
occupant.throw_at(A, 3, propelled) occupant.throw_at(A, 3, propelled)

View File

@@ -32,22 +32,22 @@
//Appearance //Appearance
/turf/simulated/wall/examine() /turf/simulated/wall/examine(mob/user)
. = ..() . = ..(user)
if(!damage) if(!damage)
usr << "<span class='notice'>It looks fully intact.</span>" user << "<span class='notice'>It looks fully intact.</span>"
else else
var/dam = damage / damage_cap var/dam = damage / damage_cap
if(dam <= 0.3) if(dam <= 0.3)
usr << "<span class='warning'>It looks slightly damaged.</span>" user << "<span class='warning'>It looks slightly damaged.</span>"
else if(dam <= 0.6) else if(dam <= 0.6)
usr << "<span class='warning'>It looks moderately damaged.</span>" user << "<span class='warning'>It looks moderately damaged.</span>"
else else
usr << "<span class='danger'>It looks heavily damaged.</span>" user << "<span class='danger'>It looks heavily damaged.</span>"
if(rotting) if(rotting)
usr << "<span class='warning'>There is fungus growing on [src].</span>" user << "<span class='warning'>There is fungus growing on [src].</span>"
/turf/simulated/wall/proc/update_icon() /turf/simulated/wall/proc/update_icon()
if(!damage_overlays[1]) //list hasn't been populated if(!damage_overlays[1]) //list hasn't been populated

View File

@@ -117,14 +117,13 @@
return return
examine() examine(mob/user)
set src in view() ..(user)
..() if((in_range(src, user) || loc == user))
if((in_range(src, usr) || loc == usr))
if(secured) if(secured)
usr << "\The [src] is ready!" user << "\The [src] is ready!"
else else
usr << "\The [src] can be attached!" user << "\The [src] can be attached!"
return return

View File

@@ -11,9 +11,9 @@
var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a phoron tank var/obj/item/weapon/tank/bombtank = null //the second part of the bomb is a phoron tank
/obj/item/device/onetankbomb/examine() /obj/item/device/onetankbomb/examine(mob/user)
..() ..(user)
bombtank.examine() user.examinate(bombtank)
/obj/item/device/onetankbomb/update_icon() /obj/item/device/onetankbomb/update_icon()
if(bombtank) if(bombtank)

View File

@@ -84,14 +84,13 @@
src.overlays += O src.overlays += O
*/ */
examine() examine(mob/user)
set src in view() ..(user)
..() if ((in_range(src, user) || src.loc == user))
if ((in_range(src, usr) || src.loc == usr))
if (src.secured) if (src.secured)
usr << "\The [src] is ready!" user << "\The [src] is ready!"
else else
usr << "\The [src] can be attached!" user << "\The [src] can be attached!"
return return

View File

@@ -7,10 +7,10 @@
var/armed = 0 var/armed = 0
examine() examine(mob/user)
..() ..(user)
if(armed) if(armed)
usr << "It looks like it's armed." user << "It looks like it's armed."
update_icon() update_icon()
if(armed) if(armed)

View File

@@ -196,11 +196,6 @@ BLIND // can't see anything
species_restricted = list("exclude","Unathi","Tajara") species_restricted = list("exclude","Unathi","Tajara")
sprite_sheets = list("Vox" = 'icons/mob/species/vox/gloves.dmi') sprite_sheets = list("Vox" = 'icons/mob/species/vox/gloves.dmi')
/obj/item/clothing/gloves/examine()
set src in usr
..()
return
/obj/item/clothing/gloves/update_clothing_icon() /obj/item/clothing/gloves/update_clothing_icon()
if (ismob(src.loc)) if (ismob(src.loc))
var/mob/M = src.loc var/mob/M = src.loc
@@ -387,20 +382,19 @@ BLIND // can't see anything
return return
return return
/obj/item/clothing/under/examine() /obj/item/clothing/under/examine(mob/user)
set src in view() ..(user)
..()
switch(src.sensor_mode) switch(src.sensor_mode)
if(0) if(0)
usr << "Its sensors appear to be disabled." user << "Its sensors appear to be disabled."
if(1) if(1)
usr << "Its binary life sensors appear to be enabled." user << "Its binary life sensors appear to be enabled."
if(2) if(2)
usr << "Its vital tracker appears to be enabled." user << "Its vital tracker appears to be enabled."
if(3) if(3)
usr << "Its vital tracker and tracking beacon appear to be enabled." user << "Its vital tracker and tracking beacon appear to be enabled."
if(hastie) if(hastie)
usr << "\A [hastie] is clipped to it." user << "\A [hastie] is clipped to it."
/obj/item/clothing/under/proc/set_sensors(mob/usr as mob) /obj/item/clothing/under/proc/set_sensors(mob/usr as mob)
var/mob/M = usr var/mob/M = usr

View File

@@ -23,10 +23,9 @@
user << "You enable the mag-pulse traction system." user << "You enable the mag-pulse traction system."
user.update_inv_shoes() //so our mob-overlays update user.update_inv_shoes() //so our mob-overlays update
examine() examine(mob/user)
set src in view() ..(user)
..()
var/state = "disabled" var/state = "disabled"
if(src.flags&NOSLIP) if(src.flags&NOSLIP)
state = "enabled" state = "enabled"
usr << "Its mag-pulse traction system appears to be [state]." user << "Its mag-pulse traction system appears to be [state]."

View File

@@ -231,8 +231,7 @@
magpulse = 0 magpulse = 0
canremove = 1 canremove = 1
/obj/item/clothing/shoes/magboots/vox/examine() /obj/item/clothing/shoes/magboots/vox/examine(mob/user)
set src in view() ..(user)
..()
if (magpulse) if (magpulse)
usr << "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. 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.

View File

@@ -214,8 +214,8 @@ var/global/list/breach_burn_descriptors = list(
..() ..()
/obj/item/clothing/suit/space/examine() /obj/item/clothing/suit/space/examine(mob/user)
..() ..(user)
if(can_breach && breaches && breaches.len) if(can_breach && breaches && breaches.len)
for(var/datum/breach/B in breaches) for(var/datum/breach/B in breaches)
usr << "\red <B>It has \a [B.descriptor].</B>" user << "\red <B>It has \a [B.descriptor].</B>"

View File

@@ -17,10 +17,9 @@
camera.c_tag = user.name camera.c_tag = user.name
user << "\blue User scanned as [camera.c_tag]. Camera activated." user << "\blue User scanned as [camera.c_tag]. Camera activated."
/obj/item/clothing/head/helmet/space/rig/ert/examine() /obj/item/clothing/head/helmet/space/rig/ert/examine(mob/user)
..() if(..(user, 1))
if(get_dist(usr,src) <= 1) user << "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
usr << "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
/obj/item/clothing/suit/space/rig/ert /obj/item/clothing/suit/space/rig/ert
name = "emergency response team suit" name = "emergency response team suit"

View File

@@ -378,10 +378,9 @@
camera.c_tag = user.name camera.c_tag = user.name
user << "\blue User scanned as [camera.c_tag]. Camera activated." user << "\blue User scanned as [camera.c_tag]. Camera activated."
/obj/item/clothing/head/helmet/space/rig/syndi/examine() /obj/item/clothing/head/helmet/space/rig/syndi/examine(mob/user)
..() if(..(user, 1))
if(get_dist(usr,src) <= 1) user << "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
usr << "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
/obj/item/clothing/suit/space/rig/syndi /obj/item/clothing/suit/space/rig/syndi
icon_state = "rig-syndie" icon_state = "rig-syndie"

View File

@@ -257,13 +257,12 @@
holstered.emp_act(severity) holstered.emp_act(severity)
..() ..()
/obj/item/clothing/tie/holster/examine() /obj/item/clothing/tie/holster/examine(mob/user)
set src in view() ..(user)
..()
if (holstered) if (holstered)
usr << "A [holstered] is holstered here." user << "A [holstered] is holstered here."
else else
usr << "It is empty." user << "It is empty."
/obj/item/clothing/tie/holster/on_attached(obj/item/clothing/under/S, mob/user as mob) /obj/item/clothing/tie/holster/on_attached(obj/item/clothing/under/S, mob/user as mob)
..() ..()

View File

@@ -93,9 +93,9 @@
icon_state = "evidenceobj" icon_state = "evidenceobj"
return return
/obj/item/weapon/evidencebag/examine() /obj/item/weapon/evidencebag/examine(mob/user)
..() ..(user)
if (stored_item) stored_item.examine() if (stored_item) user.examinate(stored_item)
/obj/item/weapon/storage/box/evidence /obj/item/weapon/storage/box/evidence
name = "evidence bag box" name = "evidence bag box"

View File

@@ -45,10 +45,3 @@
user.visible_message("[user] finishes wiping off the [A]!") user.visible_message("[user] finishes wiping off the [A]!")
A.clean_blood() A.clean_blood()
return return
/obj/item/weapon/reagent_containers/glass/rag/examine()
if (!usr)
return
usr << "That's \a [src]."
usr << desc
return

View File

@@ -167,8 +167,7 @@ proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob)
desc = "A card that holds an amount of money." desc = "A card that holds an amount of money."
var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions. var/owner_name = "" //So the ATM can set it so the EFTPOS can put a valid name on transactions.
/obj/item/weapon/spacecash/ewallet/examine() /obj/item/weapon/spacecash/ewallet/examine(mob/user)
set src in view() ..(user)
..() if (!(user in view(2)) && user!=src.loc) return
if (!(usr in view(2)) && usr!=src.loc) return user << "\blue Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth]."
usr << "\blue Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth]."

View File

@@ -202,12 +202,12 @@
update_icon() update_icon()
user.visible_message("\The [user] [concealed ? "conceals" : "reveals"] their hand.") user.visible_message("\The [user] [concealed ? "conceals" : "reveals"] their hand.")
/obj/item/weapon/hand/examine() /obj/item/weapon/hand/examine(mob/user)
..() ..(user)
if((!concealed || src.loc == usr) && cards.len) if((!concealed || src.loc == user) && cards.len)
usr << "It contains: " user << "It contains: "
for(var/datum/playingcard/P in cards) for(var/datum/playingcard/P in cards)
usr << "The [P.name]." user << "The [P.name]."
/obj/item/weapon/hand/update_icon(var/direction = 0) /obj/item/weapon/hand/update_icon(var/direction = 0)

View File

@@ -27,10 +27,10 @@
src.name = "packet of [seed.seed_name] [seed.seed_noun]" src.name = "packet of [seed.seed_name] [seed.seed_noun]"
src.desc = "It has a picture of [seed.display_name] on the front." src.desc = "It has a picture of [seed.display_name] on the front."
/obj/item/seeds/examine() /obj/item/seeds/examine(mob/user)
..() ..(user)
if(seed && !seed.roundstart) if(seed && !seed.roundstart)
usr << "It's tagged as variety #[seed.uid]." user << "It's tagged as variety #[seed.uid]."
/obj/item/seeds/cutting /obj/item/seeds/cutting
name = "cuttings" name = "cuttings"

View File

@@ -36,35 +36,29 @@
else else
stored_ore[O.name] = 1 stored_ore[O.name] = 1
/obj/structure/ore_box/examine() /obj/structure/ore_box/examine(mob/user)
set name = "Examine" user << "That's an [src]."
set category = "IC" user << desc
set src in view(usr.client) //If it can be seen, it can be examined.
if (!( usr )) if(!istype(user, /mob/living/carbon/human)) //Only living, intelligent creatures with hands can check the contents of ore boxes.
return
usr << "That's an [src]."
usr << desc
if(!istype(usr, /mob/living/carbon/human)) //Only living, intelligent creatures with hands can check the contents of ore boxes.
return return
if(!Adjacent(usr)) //Can only check the contents of ore boxes if you can physically reach them. if(!Adjacent(user)) //Can only check the contents of ore boxes if you can physically reach them.
return return
add_fingerprint(usr) add_fingerprint(user)
if(!contents.len) if(!contents.len)
usr << "It is empty." user << "It is empty."
return return
if(world.time > last_update + 10) if(world.time > last_update + 10)
update_ore_count() update_ore_count()
last_update = world.time last_update = world.time
usr << "It holds:" user << "It holds:"
for(var/ore in stored_ore) for(var/ore in stored_ore)
usr << "- [stored_ore[ore]] [ore]" user << "- [stored_ore[ore]] [ore]"
return return

View File

@@ -200,10 +200,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
for(var/obj/effect/step_trigger/S in locate(x, y, z)) //<-- this is dumb for(var/obj/effect/step_trigger/S in locate(x, y, z)) //<-- this is dumb
S.Crossed(src) S.Crossed(src)
/mob/dead/observer/examine()
if(usr)
usr << desc
/mob/dead/observer/can_use_hands() return 0 /mob/dead/observer/can_use_hands() return 0
/mob/dead/observer/is_active() return 0 /mob/dead/observer/is_active() return 0
@@ -550,3 +546,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
W.message = message W.message = message
W.add_hiddenprint(src) W.add_hiddenprint(src)
W.visible_message("\red Invisible fingers crudely paint something in blood on [T]...") W.visible_message("\red Invisible fingers crudely paint something in blood on [T]...")
/mob/dead/observer/pointed(atom/A as mob|obj|turf in view())
if(!..())
return 0
usr.visible_message("<span class='deadsay'><b>[src]</b> points to [A]</span>")
return 1

View File

@@ -42,16 +42,12 @@
brainmob << "\blue You feel slightly disoriented. That's normal when you're just a brain." brainmob << "\blue You feel slightly disoriented. That's normal when you're just a brain."
callHook("debrain", list(brainmob)) callHook("debrain", list(brainmob))
/obj/item/organ/brain/examine() // -- TLE /obj/item/organ/brain/examine(mob/user) // -- TLE
set src in oview(12) ..(user)
if (!( usr ))
return
usr << "This is \icon[src] \an [name]."
if(brainmob && brainmob.client)//if thar be a brain inside... the brain. if(brainmob && brainmob.client)//if thar be a brain inside... the brain.
usr << "You can feel the small spark of life still left in this one." user << "You can feel the small spark of life still left in this one."
else else
usr << "This one seems particularly lifeless. Perhaps it will regain some of its luster later.." user << "This one seems particularly lifeless. Perhaps it will regain some of its luster later.."
/obj/item/organ/brain/removed(var/mob/living/target,var/mob/living/user) /obj/item/organ/brain/removed(var/mob/living/target,var/mob/living/user)

View File

@@ -92,15 +92,10 @@
for (var/mob/M in viewers(T)) for (var/mob/M in viewers(T))
M.show_message("\blue The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?") M.show_message("\blue The positronic brain buzzes quietly, and the golden lights fade away. Perhaps you could try again?")
/obj/item/device/mmi/posibrain/examine() /obj/item/device/mmi/posibrain/examine(mob/user)
if(!..(user))
set src in oview()
if(!usr || !src) return
if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) )
usr << "<span class='notice'>Something is there but you can't see it.</span>"
return return
var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n[desc]\n" var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n[desc]\n"
msg += "<span class='warning'>" msg += "<span class='warning'>"
@@ -113,7 +108,7 @@
else else
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n" msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
msg += "<span class='info'>*---------*</span>" msg += "<span class='info'>*---------*</span>"
usr << msg user << msg
return return
/obj/item/device/mmi/posibrain/emp_act(severity) /obj/item/device/mmi/posibrain/emp_act(severity)

View File

@@ -47,15 +47,15 @@ var/const/MAX_ACTIVE_TIME = 400
else else
del(src) del(src)
/obj/item/clothing/mask/facehugger/examine() /obj/item/clothing/mask/facehugger/examine(mob/user)
..() ..(user)
switch(stat) switch(stat)
if(DEAD,UNCONSCIOUS) if(DEAD,UNCONSCIOUS)
usr << "\red \b [src] is not moving." user << "\red \b [src] is not moving."
if(CONSCIOUS) if(CONSCIOUS)
usr << "\red \b [src] seems to be active." user << "\red \b [src] seems to be active."
if (sterile) if (sterile)
usr << "\red \b It looks like the proboscis has been removed." user << "\red \b It looks like the proboscis has been removed."
return return
/obj/item/clothing/mask/facehugger/attackby() /obj/item/clothing/mask/facehugger/attackby()

View File

@@ -372,7 +372,7 @@
if (!M) if (!M)
message = "<B>[src]</B> points." message = "<B>[src]</B> points."
else else
M.point() pointed(M)
if (M) if (M)
message = "<B>[src]</B> points to [M]." message = "<B>[src]</B> points to [M]."

View File

@@ -1,11 +1,4 @@
/mob/living/carbon/human/examine() /mob/living/carbon/human/examine(mob/user)
set src in view()
if(!usr || !src) return
if( usr.sdisabilities & BLIND || usr.blinded || usr.stat==UNCONSCIOUS )
usr << "<span class='notice'>Something is there but you can't see it.</span>"
return
var/skipgloves = 0 var/skipgloves = 0
var/skipsuitstorage = 0 var/skipsuitstorage = 0
var/skipjumpsuit = 0 var/skipjumpsuit = 0
@@ -447,7 +440,7 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period. pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\n[t_He] is [pose]" msg += "\n[t_He] is [pose]"
usr << msg user << 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. //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) /proc/hasHUD(mob/M as mob, hudtype)

View File

@@ -715,11 +715,11 @@
if (href_list["lookitem"]) if (href_list["lookitem"])
var/obj/item/I = locate(href_list["lookitem"]) var/obj/item/I = locate(href_list["lookitem"])
I.examine() src.examinate(I)
if (href_list["lookmob"]) if (href_list["lookmob"])
var/mob/M = locate(href_list["lookmob"]) var/mob/M = locate(href_list["lookmob"])
M.examine() src.examinate(M)
if (href_list["flavor_change"]) if (href_list["flavor_change"])
switch(href_list["flavor_change"]) switch(href_list["flavor_change"])

View File

@@ -1,12 +1,6 @@
/mob/living/carbon/slime/examine() /mob/living/carbon/slime/examine(mob/user)
set src in oview() ..(user)
var/msg = ""
if(!usr || !src) return
if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) )
usr << "<span class='notice'>Something is there but you can't see it.</span>"
return
var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n"
if (src.stat == DEAD) if (src.stat == DEAD)
msg += "<span class='deadsay'>It is limp and unresponsive.</span>\n" msg += "<span class='deadsay'>It is limp and unresponsive.</span>\n"
else else
@@ -33,5 +27,5 @@
msg += "<span class='warning'><B>It is radiating with massive levels of electrical activity!</B></span>\n" msg += "<span class='warning'><B>It is radiating with massive levels of electrical activity!</B></span>\n"
msg += "*---------*</span>" msg += "*---------*</span>"
usr << msg user << msg
return return

View File

@@ -1,13 +1,7 @@
/mob/living/carbon/monkey/examine() /mob/living/carbon/monkey/examine(mob/user)
set src in oview() ..(user)
if(!usr || !src) return
if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) )
usr << "<span class='notice'>Something is there but you can't see it.</span>"
return
var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n"
var/msg = ""
if (src.handcuffed) if (src.handcuffed)
msg += "It is \icon[src.handcuffed] handcuffed!\n" msg += "It is \icon[src.handcuffed] handcuffed!\n"
if (src.wear_mask) if (src.wear_mask)
@@ -41,5 +35,5 @@
msg += "*---------*</span>" msg += "*---------*</span>"
usr << msg user << msg
return return

View File

@@ -193,6 +193,11 @@ var/list/ai_verbs_default = list(
ai_list -= src ai_list -= src
..() ..()
/mob/living/silicon/ai/pointed(atom/A as mob|obj|turf in view())
set popup_menu = 0
set src = usr.contents
return 0
/mob/living/silicon/ai/proc/SetName(pickedName as text) /mob/living/silicon/ai/proc/SetName(pickedName as text)
real_name = pickedName real_name = pickedName
name = pickedName name = pickedName

View File

@@ -1,12 +1,8 @@
/mob/living/silicon/ai/examine() /mob/living/silicon/ai/examine(mob/user)
set src in oview() if(!..(user))
if(!usr || !src) return
if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) )
usr << "<span class='notice'>Something is there but you can't see it.</span>"
return return
var/msg = "<span class='info'>*---------*\nThis is \icon[src] <EM>[src]</EM>!\n" var/msg = ""
if (src.stat == DEAD) if (src.stat == DEAD)
msg += "<span class='deadsay'>It appears to be powered-down.</span>\n" msg += "<span class='deadsay'>It appears to be powered-down.</span>\n"
else else

View File

@@ -1,8 +1,7 @@
/mob/living/silicon/pai/examine() //removed as it was pointless...moved to the pai-card instead. /mob/living/silicon/pai/examine(mob/user) //removed as it was pointless...moved to the pai-card instead.
/* This is totally pointless because this mob is contained inside a card! /*..(user)
set src in oview()
var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n" var/msg = ""
if (src.stat == DEAD) if (src.stat == DEAD)
msg += "<span class='deadsay'>It appears to be offline.</span>\n" msg += "<span class='deadsay'>It appears to be offline.</span>\n"
else else
@@ -22,6 +21,6 @@
msg += "</span>" msg += "</span>"
msg += "*---------*</span>" msg += "*---------*</span>"
usr << msg user << msg
*/ */
return return

View File

@@ -413,17 +413,10 @@
else else
src << "<span class='warning'>You are too small to pull that.</span>" src << "<span class='warning'>You are too small to pull that.</span>"
/mob/living/silicon/pai/examine() /mob/living/silicon/pai/examine(mob/user)
..(user)
set src in oview()
if(!usr || !src) return
if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) )
usr << "<span class='notice'>Something is there but you can't see it.</span>"
return
var/msg = "<span class='info'>*---------*\nThis is \icon[src][name], a personal AI!"
var/msg = ""
switch(src.stat) switch(src.stat)
if(CONSCIOUS) if(CONSCIOUS)
if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk if(!src.client) msg += "\nIt appears to be in stand-by mode." //afk
@@ -438,7 +431,7 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period. pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\nIt is [pose]" msg += "\nIt is [pose]"
usr << msg user << msg
// No binary for pAIs. // No binary for pAIs.
/mob/living/silicon/pai/binarycheck() /mob/living/silicon/pai/binarycheck()

View File

@@ -43,10 +43,10 @@
if(drone_progress >= 100) if(drone_progress >= 100)
visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.") visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.")
/obj/machinery/drone_fabricator/examine() /obj/machinery/drone_fabricator/examine(mob/user)
..() ..(user)
if(produce_drones && drone_progress >= 100 && istype(usr,/mob/dead) && config.allow_drone_spawn && count_drones() < config.max_maint_drones) if(produce_drones && drone_progress >= 100 && istype(user,/mob/dead) && config.allow_drone_spawn && count_drones() < config.max_maint_drones)
usr << "<BR><B>A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone.</B>" user << "<BR><B>A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone.</B>"
/obj/machinery/drone_fabricator/proc/count_drones() /obj/machinery/drone_fabricator/proc/count_drones()
var/drones = 0 var/drones = 0

View File

@@ -1,12 +1,7 @@
/mob/living/silicon/robot/examine() /mob/living/silicon/robot/examine(mob/user)
set src in oview() ..(user)
if(!usr || !src) return var/msg = ""
if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) )
usr << "<span class='notice'>Something is there but you can't see it.</span>"
return
var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>[custom_name ? ", [modtype] [braintype]" : ""]!\n"
msg += "<span class='warning'>" msg += "<span class='warning'>"
if (src.getBruteLoss()) if (src.getBruteLoss())
if (src.getBruteLoss() < 75) if (src.getBruteLoss() < 75)
@@ -42,5 +37,5 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period. pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\nIt is [pose]" msg += "\nIt is [pose]"
usr << msg user << msg
return return

View File

@@ -18,7 +18,6 @@
/mob/living/simple_animal/bee/New(loc, var/obj/machinery/apiary/new_parent) /mob/living/simple_animal/bee/New(loc, var/obj/machinery/apiary/new_parent)
..() ..()
parent = new_parent parent = new_parent
verbs -= /atom/movable/verb/pull
/mob/living/simple_animal/bee/Del() /mob/living/simple_animal/bee/Del()
if(parent) if(parent)

View File

@@ -44,10 +44,9 @@
del src del src
return return
/mob/living/simple_animal/construct/examine() /mob/living/simple_animal/construct/examine(mob/user)
set src in oview() ..(user)
var/msg = ""
var/msg = "<span cass='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n"
if (src.health < src.maxHealth) if (src.health < src.maxHealth)
msg += "<span class='warning'>" msg += "<span class='warning'>"
if (src.health >= src.maxHealth/2) if (src.health >= src.maxHealth/2)
@@ -57,7 +56,7 @@
msg += "</span>" msg += "</span>"
msg += "*---------*</span>" msg += "*---------*</span>"
usr << msg user << msg
return return
/mob/living/simple_animal/construct/Bump(atom/movable/AM as mob|obj, yes) /mob/living/simple_animal/construct/Bump(atom/movable/AM as mob|obj, yes)

View File

@@ -276,7 +276,7 @@
src << "\red There is nothing of interest to take." src << "\red There is nothing of interest to take."
return 0 return 0
/mob/living/simple_animal/spiderbot/examine() /mob/living/simple_animal/spiderbot/examine(mob/user)
..() ..(user)
if(src.held_item) if(src.held_item)
usr << "It is carrying \a [src.held_item] \icon[src.held_item]." user << "It is carrying \a [src.held_item] \icon[src.held_item]."

View File

@@ -190,7 +190,7 @@ var/list/slot_equipment_priority = list( \
set name = "Examine" set name = "Examine"
set category = "IC" set category = "IC"
if(is_blind(src) || usr.stat) if((is_blind(src) || usr.stat) && !isobserver(src))
src << "<span class='notice'>Something is there but you can't see it.</span>" src << "<span class='notice'>Something is there but you can't see it.</span>"
return return
@@ -216,6 +216,7 @@ var/list/slot_equipment_priority = list( \
if(P) if(P)
del(P) // qdel del(P) // qdel
face_atom(A)
return 1 return 1

View File

@@ -59,21 +59,19 @@
return return
icon_state = "paper" icon_state = "paper"
/obj/item/weapon/paper/examine() /obj/item/weapon/paper/examine(mob/user)
set src in oview(1)
// ..() //We don't want them to see the dumb "this is a paper" thing every time. // ..() //We don't want them to see the dumb "this is a paper" thing every time.
// I didn't like the idea that people can read tiny pieces of paper from across the room. // I didn't like the idea that people can read tiny pieces of paper from across the room.
// Now you need to be next to the paper in order to read it. // Now you need to be next to the paper in order to read it.
if(in_range(usr, src)) if(in_range(user, src))
if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/dead/observer) || istype(usr, /mob/living/silicon))) if(!(istype(user, /mob/living/carbon/human) || istype(user, /mob/dead/observer) || istype(user, /mob/living/silicon)))
usr << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[stars(info)][stamps]</BODY></HTML>", "window=[name]") user << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[stars(info)][stamps]</BODY></HTML>", "window=[name]")
onclose(usr, "[name]") onclose(user, "[name]")
else else
usr << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[info][stamps]</BODY></HTML>", "window=[name]") user << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[info][stamps]</BODY></HTML>", "window=[name]")
onclose(usr, "[name]") onclose(user, "[name]")
else else
usr << "<span class='notice'>It is too far away.</span>" user << "<span class='notice'>It is too far away.</span>"
return return
/obj/item/weapon/paper/verb/rename() /obj/item/weapon/paper/verb/rename()
@@ -91,7 +89,7 @@
return return
/obj/item/weapon/paper/attack_self(mob/living/user as mob) /obj/item/weapon/paper/attack_self(mob/living/user as mob)
examine() user.examinate(src)
if(rigged && (Holiday == "April Fool's Day")) if(rigged && (Holiday == "April Fool's Day"))
if(spam_flag == 0) if(spam_flag == 0)
spam_flag = 1 spam_flag = 1
@@ -118,7 +116,7 @@
if(user.zone_sel.selecting == "eyes") if(user.zone_sel.selecting == "eyes")
user.visible_message("<span class='notice'>You show the paper to [M]. </span>", \ user.visible_message("<span class='notice'>You show the paper to [M]. </span>", \
"<span class='notice'> [user] holds up a paper and shows it to [M]. </span>") "<span class='notice'> [user] holds up a paper and shows it to [M]. </span>")
M << examine() M.examinate(src)
else if(user.zone_sel.selecting == "mouth") // lipstick wiping else if(user.zone_sel.selecting == "mouth") // lipstick wiping
if(ishuman(M)) if(ishuman(M))

View File

@@ -94,14 +94,11 @@
user << "\red You must hold \the [P] steady to burn \the [src]." user << "\red You must hold \the [P] steady to burn \the [src]."
/obj/item/weapon/paper_bundle/examine() /obj/item/weapon/paper_bundle/examine(mob/user)
set src in oview(1) if(..(user, 1))
src.attack_self(user)
usr << desc
if(in_range(usr, src))
src.attack_self(usr)
else else
usr << "<span class='notice'>It is too far away.</span>" user << "<span class='notice'>It is too far away.</span>"
return return

View File

@@ -81,13 +81,12 @@
amount++ amount++
/obj/item/weapon/paper_bin/examine() /obj/item/weapon/paper_bin/examine(mob/user)
set src in oview(1) if(get_dist(src, user) <= 1)
if(amount)
if(amount) user << "<span class='notice'>There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.</span>"
usr << "<span class='notice'>There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.</span>" else
else user << "<span class='notice'>There are no papers in the bin.</span>"
usr << "<span class='notice'>There are no papers in the bin.</span>"
return return

View File

@@ -33,7 +33,7 @@
var/photo_size = 3 var/photo_size = 3
/obj/item/weapon/photo/attack_self(mob/user as mob) /obj/item/weapon/photo/attack_self(mob/user as mob)
examine() user.examinate(src)
/obj/item/weapon/photo/attackby(obj/item/weapon/P as obj, mob/user as mob) /obj/item/weapon/photo/attackby(obj/item/weapon/P as obj, mob/user as mob)
if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon)) if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
@@ -43,13 +43,12 @@
scribble = txt scribble = txt
..() ..()
/obj/item/weapon/photo/examine() /obj/item/weapon/photo/examine(mob/user)
set src in oview(1) if(in_range(user, src))
if(in_range(usr, src)) show(user)
show(usr) user << desc
usr << desc
else else
usr << "<span class='notice'>It is too far away.</span>" user << "<span class='notice'>It is too far away.</span>"
/obj/item/weapon/photo/proc/show(mob/user as mob) /obj/item/weapon/photo/proc/show(mob/user as mob)
user << browse_rsc(img, "tmp_photo.png") user << browse_rsc(img, "tmp_photo.png")

Some files were not shown because too many files have changed in this diff Show More