diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index a338f1a92c1..06227e64ccf 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -298,11 +298,10 @@ else return ..() -/obj/machinery/atmospherics/unary/vent_pump/examine() - set src in oview(1) +/obj/machinery/atmospherics/unary/vent_pump/examine(mob/user) ..() if(welded) - usr << "It seems welded shut." + user << "It seems welded shut." /obj/machinery/atmospherics/unary/vent_pump/power_change() if(powered(power_channel)) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index f784638362a..94f8c73a33c 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -202,7 +202,7 @@ return /atom/proc/ShiftClick(var/mob/user) if(user.client && user.client.eye == user) - examine() + user.examinate(src) return /* diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm index deaec8acf8a..d067d49f4b2 100644 --- a/code/_onclick/observer.dm +++ b/code/_onclick/observer.dm @@ -55,7 +55,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.examinate(src) return // --------------------------------------- diff --git a/code/game/atoms.dm b/code/game/atoms.dm index d8b0638b193..4502ff7675f 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -200,22 +200,30 @@ its easier to just keep the beam vertical. //I've found that 3 ticks provided a nice balance for my use. for(var/obj/effect/overlay/beam/O in orange(10,src)) if(O.BeamSource==src) qdel(O) +/atom/proc/examine(mob/user) + //This reformat names to get a/an properly working on item descriptions when they are bloody + var/f_name = "\a [src]." + if(src.blood_DNA) + if(gender == PLURAL) + f_name = "some " + else + f_name = "a " + f_name += "blood-stained [name]!" -//All atoms -/atom/verb/examine() - set name = "Examine" - set category = "IC" - set src in oview(12) //make it work from farther away + user << "\icon[src] That's [f_name]" - if (!( usr )) - return - usr.face_atom(src) - usr << "\icon[src]That's \a [src]." //changed to "That's" from "This is" because "This is some metal sheets" sounds dumb compared to "That's some metal sheets" ~Carn if(desc) - usr << desc + user << desc // *****RM - //usr << "[name]: Dn:[density] dir:[dir] cont:[contents] icon:[icon] is:[icon_state] loc:[loc]" - return + //user << "[name]: Dn:[density] dir:[dir] cont:[contents] icon:[icon] is:[icon_state] loc:[loc]" + + if(reagents && is_open_container()) //is_open_container() isn't really the right proc for this, but w/e + user << "It contains:" + if(reagents.reagent_list.len) + for(var/datum/reagent/R in reagents.reagent_list) + user << "[R.volume] units of [R.name]" + else + user << "Nothing." /atom/proc/relaymove() return diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 4e66a3d1ecc..33f9322f2f5 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -99,7 +99,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", /obj/effect/rune - desc = "" + desc = "A strange collection of symbols drawn in blood." anchored = 1 icon = 'icons/obj/rune.dmi' icon_state = "1" @@ -146,25 +146,11 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", for(var/mob/living/silicon/ai/AI in player_list) AI.client.images += blood -/obj/effect/rune/examine() - set src in view(2) +/obj/effect/rune/examine(mob/user) + ..() + if(iscultist(user)) + user << "This spell circle reads: [word1] [word2] [word3]." - 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) - qdel(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 /obj/effect/rune/attackby(I as obj, user as mob) @@ -349,6 +335,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", /obj/item/weapon/tome name = "arcane tome" + desc = "An old, dusty tome with frayed edges and a sinister looking cover." icon_state ="tome" throw_speed = 2 throw_range = 5 @@ -695,13 +682,10 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", user << "You copy the translation notes from your tome." -/obj/item/weapon/tome/examine() - set src in usr +/obj/item/weapon/tome/examine(mob/user) ..() - if(!iscultist(usr)) - usr << "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." + if(iscultist(user)) + 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." /obj/item/weapon/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 2417819e6ce..1fd9ea37360 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/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index fb957f4c866..0b07f069680 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -54,12 +54,11 @@ the_disk = locate() point_at(the_disk) -/obj/item/weapon/pinpointer/examine() +/obj/item/weapon/pinpointer/examine(mob/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 name = "advanced pinpointer" diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 2e7ec9e798d..0467c3c3d62 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -917,7 +917,7 @@ FIRE ALARM */ /obj/machinery/firealarm name = "fire alarm" - desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever." + desc = "\"Pull this in case of emergency\". Thus, keep pulling it forever." icon = 'icons/obj/monitors.dmi' icon_state = "fire0" var/detecting = 1.0 diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 2daf551c730..8758bb4aa8d 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -80,10 +80,9 @@ t += "The connect error light is blinking." return t -/obj/machinery/meter/examine() - set src in view(3) +/obj/machinery/meter/examine(mob/user) ..() - usr << status() + user << status() /obj/machinery/meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index 947bbe77df4..e800a4b9967 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -42,15 +42,15 @@ if(!locked && open) emagged = 2 -/obj/machinery/bot/examine() - set src in view() +/obj/machinery/bot/examine(mob/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!" - return + user << "[src]'s parts look very loose." + else + user << "[src] is in pristine condition." /obj/machinery/bot/attack_alien(var/mob/living/carbon/alien/user as mob) user.changeNext_move(CLICK_CD_MELEE) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 875f983fcbd..543516c36a7 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -26,12 +26,11 @@ else overlays.Cut() -/obj/machinery/cell_charger/examine() - set src in oview(5) +/obj/machinery/cell_charger/examine(mob/user) ..() - usr << "There's [charging ? "a" : "no"] cell in the charger." + user << "There's [charging ? "a" : "no"] cell in the charger." if(charging) - usr << "Current charge: [charging.charge]" + user << "Current charge: [round(charging.percent(), 1)]%" /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 dc12c7dec60..1a11545a0f0 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -85,11 +85,9 @@ read_only = !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) +/obj/item/weapon/disk/data/examine(mob/user) ..() - usr << "The write-protect tab is set to [src.read_only ? "protected" : "unprotected"]." - return + user << "The write-protect tab is set to [src.read_only ? "protected" : "unprotected"]." //Health Tracker Implant diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 0bffb385460..e5acc1ea5af 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -85,19 +85,16 @@ open_machine() return -/obj/machinery/atmospherics/unary/cryo_cell/examine() +/obj/machinery/atmospherics/unary/cryo_cell/examine(mob/user) ..() - if(in_range(usr, src)) - usr << "You can just about make out some loose objects floating in the murk:" - for(var/obj/O in src) - if(O != beaker) - usr << O.name - for(var/mob/M in src) - if(M != occupant) - usr << M.name + var/list/otherstuff = contents - beaker + if(otherstuff.len > 0) + user << "You can just about make out some loose objects floating in the murk:" + for(var/atom/movable/floater in otherstuff) + user << "\icon[floater] [floater.name]" else - usr << "Too far away to view contents." + user << "Seems empty." /obj/machinery/atmospherics/unary/cryo_cell/attack_hand(mob/user) if(stat & (NOPOWER|BROKEN)) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 05ca63b045c..ea104d8a86d 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -36,11 +36,9 @@ else icon_state = "light0" -/obj/machinery/light_switch/examine() - set src in oview(1) +/obj/machinery/light_switch/examine(mob/user) ..() - if(usr && !usr.stat) - usr << "It is [on? "on" : "off"]." + user << "It is [on? "on" : "off"]." /obj/machinery/light_switch/attack_paw(mob/user) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 5c7f1851bce..c58fe27df3f 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -19,12 +19,11 @@ var/const/SAFETY_COOLDOWN = 100 ..() update_icon() -/obj/machinery/recycler/examine() - set src in view() +/obj/machinery/recycler/examine(mob/user) ..() - usr << "The power light is [(stat & NOPOWER) ? "off" : "on"]." - usr << "The safety-mode light is [safety_mode ? "on" : "off"]." - usr << "The safety-sensors status light is [emagged ? "off" : "on"]." + user << "The power light is [(stat & NOPOWER) ? "off" : "on"]." + user << "The safety-mode light is [safety_mode ? "on" : "off"]." + user << "The safety-sensors status light is [emagged ? "off" : "on"]." /obj/machinery/recycler/power_change() ..() diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index a9f62333726..08ee0a278b8 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -27,18 +27,14 @@ overlays += "sheater-open" return -/obj/machinery/space_heater/examine() - set src in oview(12) - if (!( usr )) - return - ..() +/obj/machinery/space_heater/examine(mob/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 << "A power cell is [cell ? "installed" : "missing"]." else - usr << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%" - return + user << "The charge meter reads [cell ? round(cell.percent(),1) : 0]%." /obj/machinery/space_heater/emp_act(severity) if(stat & (BROKEN|NOPOWER)) diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 1e68c29d017..5ef5602e803 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -122,12 +122,11 @@ line1 = "" update_display(line1, line2) -/obj/machinery/status_display/examine() - set src in view() +/obj/machinery/status_display/examine(mob/user) . = ..() switch(mode) if(1,2,4) - usr << "The display says:
\t[message1]
\t[message2]" + user << "The display says:
\t[message1]
\t[message2]" /obj/machinery/status_display/proc/set_message(m1, m2) diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 65fd8b10523..c22f5980c5f 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -41,9 +41,9 @@ ..() -/obj/machinery/syndicatebomb/examine() +/obj/machinery/syndicatebomb/examine(mob/user) ..() - usr << "A digital display on it reads \"[timer]\"." + user << "A digital display on it reads \"[timer]\"." /obj/machinery/syndicatebomb/update_icon() icon_state = "[initial(icon_state)][active ? "-active" : "-inactive"][open_panel ? "-wires" : ""]" diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 22f292604e3..1096f5d5533 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -213,25 +213,24 @@ else return 0 -/obj/mecha/examine() - set src in view() +/obj/mecha/examine(mob/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 diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 4739bb01ddf..a35dbda9186 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -6,13 +6,6 @@ layer = 2.1 anchored = 1 - -/obj/effect/decal/cleanable/crayon/examine() - set src in view(2) - ..() - return - - /obj/effect/decal/cleanable/crayon/New(location,main = "#FFFFFF", var/type = "rune") ..() loc = location diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index c7818ed01ed..2c36dc9ca5b 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -86,9 +86,8 @@ src.loc = T -/obj/item/examine() - set src in view() - +/obj/item/examine(mob/user) //This might be spammy. Remove? + ..() var/size switch(src.w_class) if(1.0) @@ -106,25 +105,13 @@ else //if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking" - //This reformat names to get a/an properly working on item descriptions when they are bloody - var/f_name = "\a [src]" - if(src.blood_DNA) - f_name = "a bloody [name]" - - var/determiner var/pronoun if(src.gender == PLURAL) - determiner = "These are" pronoun = "They are" else - determiner = "This is" pronoun = "It is" - usr << "\icon[src][determiner] [f_name]. [pronoun] a [size] item." //e.g. These are some gloves. They are a small item. or This is a toolbox. It is a bulky item. - - if(src.desc) - usr << src.desc - return + user << "[pronoun] a [size] item." //e.g. They are a small item. or It is a bulky item. /obj/item/attack_hand(mob/user as mob) if (!user) return diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index e04b99cf265..f3d85bccb70 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -249,10 +249,6 @@ emp_cur_charges = min(emp_cur_charges+1, emp_max_charges) return 1 -/obj/item/device/flashlight/emp/examine() - ..() - return - /obj/item/device/flashlight/emp/attack(mob/living/M as mob, mob/living/user as mob) if(on && user.zone_sel.selecting == "eyes") // call original attack proc only if aiming at the eyes ..() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 2b844aaa029..bd52904b789 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -66,10 +66,9 @@ failmsg = "The [name]'s refill light blinks red." ..() -/obj/item/device/lightreplacer/examine() - set src in view(2) +/obj/item/device/lightreplacer/examine(mob/user) ..() - usr << "It has [uses] lights remaining." + user << "It has [uses] light\s remaining." /obj/item/device/lightreplacer/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/weapon/card/emag) && emagged == 0) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index f279be66aed..e41c84f971f 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -443,16 +443,12 @@ return get_hearers_in_view(canhear_range, src) -/obj/item/device/radio/examine() - set src in view() - +/obj/item/device/radio/examine(mob/user) ..() - if ((in_range(src, usr) || loc == usr)) - if (b_stat) - usr.show_message("\the [src] can be attached and modified!") - else - usr.show_message("\the [src] can not be modified or attached!") - return + if (b_stat) + user << "[name] can be attached and modified." + else + user << "[name] can not be modified or attached." /obj/item/device/radio/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 094cbd93a40..02867db2e4d 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -26,10 +26,9 @@ update_icon() -/obj/item/device/taperecorder/examine() - set src in view(1) +/obj/item/device/taperecorder/examine(mob/user) ..() - usr << "The wire panel is [open_panel ? "opened" : "closed"]." + user << "The wire panel is [open_panel ? "opened" : "closed"]." /obj/item/device/taperecorder/attackby(obj/item/I, mob/user) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 9921a1ea472..38c95e33cfd 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -32,25 +32,23 @@ src.loc = null ..() -/obj/item/stack/examine() - set src in view(1) +/obj/item/stack/examine(mob/user) ..() if (is_cyborg) if(src.singular_name) - usr << "There is enough energy for [src.get_amount()] [src.singular_name]\s." + user << "There is enough energy for [src.get_amount()] [src.singular_name]\s." else - usr << "There is enough energy for [src.get_amount()]." + user << "There is enough energy for [src.get_amount()]." return if(src.singular_name) if(src.get_amount()>1) - usr << "There are [src.get_amount()] [src.singular_name]\s in the stack." + user << "There are [src.get_amount()] [src.singular_name]\s in the stack." else - usr << "There is [src.get_amount()] [src.singular_name] in the stack." + user << "There is [src.get_amount()] [src.singular_name] in the stack." else if(src.get_amount()>1) - usr << "There are [src.get_amount()] in the stack." + user << "There are [src.get_amount()] in the stack." else - usr << "There is [src.get_amount()] in the stack." - return + user << "There is [src.get_amount()] in the stack." /obj/item/stack/proc/get_amount() if (is_cyborg) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 756a2884c77..df72dcfe7fd 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -109,7 +109,7 @@ */ /obj/item/toy/gun name = "cap gun" - desc = "There are 0 caps left. Looks almost like the real thing! Ages 8 and up. Please recycle in an autolathe when you're out of caps!" + desc = "Looks almost like the real thing! Ages 8 and up. Please recycle in an autolathe when you're out of caps." icon = 'icons/obj/gun.dmi' icon_state = "revolver" item_state = "gun" @@ -121,12 +121,9 @@ attack_verb = list("struck", "pistol whipped", "hit", "bashed") var/bullets = 7.0 -/obj/item/toy/gun/examine() - set src in usr - - src.desc = text("There are [] cap\s left. Looks almost like the real thing! Ages 8 and up.", src.bullets) +/obj/item/toy/gun/examine(mob/user) ..() - return + user << "There [bullets == 1 ? "is" : "are"] [bullets] cap\s left." /obj/item/toy/gun/attackby(obj/item/toy/ammo/gun/A as obj, mob/user as mob) @@ -168,7 +165,7 @@ /obj/item/toy/ammo/gun name = "ammo-caps" - desc = "There are 7 caps left! Make sure to recyle the box in an autolathe when it gets empty." + desc = "Make sure to recyle the box in an autolathe when it gets empty." icon = 'icons/obj/ammo.dmi' icon_state = "357-7" w_class = 1.0 @@ -178,8 +175,10 @@ /obj/item/toy/ammo/gun/update_icon() src.icon_state = text("357-[]", src.amount_left) - src.desc = text("There are [] cap\s left! Make sure to recycle the box in an autolathe when it gets empty.", src.amount_left) - return + +/obj/item/toy/ammo/gun/examine(mob/user) + ..() + user << "There [amount_left == 1 ? "is" : "are"] [amount_left] cap\s left." /* * Toy crossbow @@ -195,11 +194,10 @@ attack_verb = list("attacked", "struck", "hit") var/bullets = 5 -/obj/item/toy/crossbow/examine() - set src in view(2) +/obj/item/toy/crossbow/examine(mob/user) ..() if (bullets) - usr << "It is loaded with [bullets] foam darts!" + user << "It is loaded with [bullets] foam dart\s." /obj/item/toy/crossbow/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/toy/ammo/crossbow)) @@ -817,10 +815,9 @@ obj/item/toy/cards/singlecard pixel_x = -5 -obj/item/toy/cards/singlecard/examine() - set src in usr.contents - if(ishuman(usr)) - var/mob/living/carbon/human/cardUser = usr +obj/item/toy/cards/singlecard/examine(mob/user) + if(ishuman(user)) + var/mob/living/carbon/human/cardUser = user if(cardUser.get_item_by_slot(slot_l_hand) == src || cardUser.get_item_by_slot(slot_r_hand) == src) cardUser.visible_message("[cardUser] checks \his card.", "The card reads: [src.cardname]") else diff --git a/code/game/objects/items/weapons/airlock_painter.dm b/code/game/objects/items/weapons/airlock_painter.dm index fbf40592fb4..209ef6c386f 100644 --- a/code/game/objects/items/weapons/airlock_painter.dm +++ b/code/game/objects/items/weapons/airlock_painter.dm @@ -42,10 +42,10 @@ else return 1 -/obj/item/weapon/airlock_painter/examine() +/obj/item/weapon/airlock_painter/examine(mob/user) ..() if(!ink) - usr << "It doesn't have a toner cardridge installed." + user << "It doesn't have a toner cardridge installed." return var/ink_level = "high" if(ink.charges < 1) @@ -54,7 +54,8 @@ ink_level = "low" else if((ink.charges/ink.max_charges) > 1) //Over 100% (admin var edit) ink_level = "dangerously high" - usr << "Its ink levels look [ink_level]." + user << "Its ink levels look [ink_level]." + /obj/item/weapon/airlock_painter/attackby(obj/item/weapon/W, mob/user) ..() diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 29e4534a1fe..83e8c61a90b 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -79,10 +79,10 @@ src.add_fingerprint(user) return -/obj/item/weapon/card/id/examine() +/obj/item/weapon/card/id/examine(mob/user) ..() if(mining_points) - usr << "There's [mining_points] mining equipment redemption points loaded onto this card." + user << "There's [mining_points] mining equipment redemption point\s loaded onto this card." /obj/item/weapon/card/id/GetAccess() return access diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index b4aa07a66bf..b6201fbefba 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -36,12 +36,6 @@ create_reagents(max_water) reagents.add_reagent("water", max_water) -/obj/item/weapon/extinguisher/examine() - set src in usr - ..() - usr << "It contains [src.reagents.total_volume] units of water!" - return - /obj/item/weapon/extinguisher/attack_self(mob/user as mob) safety = !safety src.icon_state = "[sprite_name][!safety]" diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 7d8a694085b..2078dfc93bf 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -21,8 +21,7 @@ name = "[initial(name)] casing" // By adding the " casing" part here we can use initial(name) to get the final name, making it nice to say "large grenade" when it is a large grenade. -/obj/item/weapon/grenade/chem_grenade/examine() - set src in usr +/obj/item/weapon/grenade/chem_grenade/examine(mob/user) display_timer = (stage == READY && !nadeassembly) //show/hide the timer based on assembly state ..() diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm index e2e203d9621..f76f605a17b 100644 --- a/code/game/objects/items/weapons/grenades/ghettobomb.dm +++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm @@ -97,8 +97,7 @@ explosion(src.loc,-1,-1,-1, flame_range = range) // no explosive damage, only a large fireball. qdel(src) -/obj/item/weapon/grenade/iedcasing/examine() - set src in usr +/obj/item/weapon/grenade/iedcasing/examine(mob/user) ..() if(assembled == 3) - usr << "You can't tell when it will explode!" + user << "You can't tell when it will explode!" diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 66f2a70d0e6..a049f4e795a 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -45,14 +45,13 @@ return*/ -/obj/item/weapon/grenade/examine() - set src in usr +/obj/item/weapon/grenade/examine(mob/user) ..() if(display_timer) if(det_time > 1) - usr << "The timer is set to [det_time/10] seconds." + user << "The timer is set to [det_time/10] second\s." else - usr << "\The [src] is set for instant detonation." + user << "\The [src] is set for instant detonation." /obj/item/weapon/grenade/attack_self(mob/user as mob) diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index f9558b784c8..1e0414ff121 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -24,19 +24,14 @@ src.icon_state = "[src.icon_type]box[total_contents]" return -/obj/item/weapon/storage/fancy/examine() - set src in oview(1) +/obj/item/weapon/storage/fancy/examine(mob/user) ..() 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) - usr << "There is one [src.icon_type] left in the box." + user << "There is one [src.icon_type] left in the box." else - usr << "There are [src.contents.len] [src.icon_type]s in the box." - - return - - + user << "There are [src.contents.len] [src.icon_type]s in the box." /* * Donut Box diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm index 212a52cbf18..fee8cb5347a 100644 --- a/code/game/objects/items/weapons/storage/secure.dm +++ b/code/game/objects/items/weapons/storage/secure.dm @@ -27,10 +27,9 @@ max_w_class = 2 max_combined_w_class = 14 -/obj/item/weapon/storage/secure/examine() - set src in oview(1) +/obj/item/weapon/storage/secure/examine(mob/user) ..() - usr << text("The service panel is [src.open ? "open" : "closed"].") + user << text("The service panel is [src.open ? "open" : "closed"].") /obj/item/weapon/storage/secure/attackby(obj/item/weapon/W as obj, mob/user as mob) if(locked) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index cf6061596dd..99289eb3a1c 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -52,13 +52,12 @@ else icon_state = "[initial(name)]" -/obj/item/weapon/melee/baton/examine() - set src in view(1) +/obj/item/weapon/melee/baton/examine(mob/user) ..() if(bcell) - usr <<"The baton is [round(bcell.percent())]% charged." + user <<"The baton is [round(bcell.percent())]% charged." if(!bcell) - usr <<"The baton does not have a power source installed." + user <<"The baton does not have a power source installed." /obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user) if(istype(W, /obj/item/weapon/stock_parts/cell)) diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index 56f1cc49056..6af3b539a8b 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -23,14 +23,6 @@ return -/obj/item/weapon/tank/oxygen/examine() - set src in usr - ..() - if(air_contents.oxygen < 10) - usr << text("The meter on the [src.name] indicates you are almost out of air!") - playsound(usr, 'sound/effects/alert.ogg', 50, 1) - - /obj/item/weapon/tank/oxygen/yellow desc = "A tank of oxygen, this one is yellow." icon_state = "oxygen_f" @@ -69,13 +61,6 @@ icon_state = "oxygen" -/obj/item/weapon/tank/air/examine() - set src in usr - ..() - if(air_contents.oxygen < 1 && loc==usr) - usr << "The meter on the [src.name] indicates you are almost out of air!" - usr << sound('sound/effects/alert.ogg') - /obj/item/weapon/tank/air/New() ..() @@ -138,14 +123,6 @@ src.air_contents.oxygen = (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) return - -/obj/item/weapon/tank/emergency_oxygen/examine() - set src in usr - ..() - if(air_contents.oxygen < 0.2 && loc==usr) - usr << text("The meter on the [src.name] indicates you are almost out of air!") - usr << sound('sound/effects/alert.ogg') - /obj/item/weapon/tank/emergency_oxygen/engi name = "extended-capacity emergency oxygen tank" icon_state = "emergency_engi" diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm index cdb07a9e566..6540268103c 100644 --- a/code/game/objects/items/weapons/tanks/tanks.dm +++ b/code/game/objects/items/weapons/tanks/tanks.dm @@ -36,13 +36,13 @@ ..() -/obj/item/weapon/tank/examine() +/obj/item/weapon/tank/examine(mob/user) var/obj/icon = src ..() if (istype(src.loc, /obj/item/assembly)) icon = src.loc - if (!in_range(src, usr)) - if (icon == src) usr << "If you want any more information you'll need to get closer." + if (!in_range(src, user)) + if (icon == src) user << "If you want any more information you'll need to get closer." return var/celsius_temperature = src.air_contents.temperature-T0C @@ -61,9 +61,7 @@ else descriptive = "furiously hot" - usr << "It feels [descriptive]" - - return + user << "It feels [descriptive]." /obj/item/weapon/tank/blob_act() if(prob(50)) diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm index 1df8270a496..b82ff3b8939 100644 --- a/code/game/objects/items/weapons/tanks/watertank.dm +++ b/code/game/objects/items/weapons/tanks/watertank.dm @@ -18,14 +18,6 @@ ..() create_reagents(volume) noz = make_noz() - return - -/obj/item/weapon/watertank/examine() - set src in usr - ..() - for(var/datum/reagent/R in reagents.reagent_list) - usr << "[round(R.volume)] units of [R.name] left." - return /obj/item/weapon/watertank/ui_action_click() if (usr.get_item_by_slot(slot_back) == src) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 0ff49f7cb63..e4bdb4cd5f2 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -151,10 +151,9 @@ reagents.add_reagent("fuel", max_fuel) -/obj/item/weapon/weldingtool/examine() - set src in usr +/obj/item/weapon/weldingtool/examine(mob/user) ..() - usr << "It contains [get_fuel()]/[max_fuel] units of fuel!" + user << "It contains [get_fuel()] unit\s of fuel out of [max_fuel]." /obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user) @@ -445,4 +444,4 @@ throw_speed = 3 throw_range = 3 m_amt = 66 - icon_state = "crowbar_large" \ No newline at end of file + icon_state = "crowbar_large" diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm index b78713e389f..a45dbf4e606 100644 --- a/code/game/objects/items/weapons/vending_items.dm +++ b/code/game/objects/items/weapons/vending_items.dm @@ -20,13 +20,12 @@ if(isnum(amt) && amt > -1) charges = amt -/obj/item/weapon/vending_refill/examine() - set src in usr +/obj/item/weapon/vending_refill/examine(mob/user) ..() if(charges) - usr << "It can restock [charges] item(s)." + user << "It can restock [charges] item(s)." else - usr << "It's empty!" + user << "It's empty!" //NOTE I decided to go for about 1/3 of a machine's capacity diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 1f5b47a9e9d..289ecce7fd6 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -163,15 +163,14 @@ LINEN BINS var/obj/item/hidden = null -/obj/structure/bedsheetbin/examine() +/obj/structure/bedsheetbin/examine(mob/user) ..() if(amount < 1) - usr << "There are no bed sheets in the bin." - return - if(amount == 1) - usr << "There is one bed sheet in the bin." - return - usr << "There are [amount] bed sheets in the bin." + user << "There are no bed sheets in the bin." + else if(amount == 1) + user << "There is one bed sheet in the bin." + else + user << "There are [amount] bed sheets in the bin." /obj/structure/bedsheetbin/update_icon() diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 5fe1ebf7ca5..0e6416867dd 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -20,12 +20,6 @@ create_reagents(100) -/obj/structure/janitorialcart/examine() - set src in usr - ..() - usr << "It contains [reagents.total_volume] unit\s of liquid!" - //everything else is visible, so doesn't need to be mentioned - /obj/structure/janitorialcart/proc/wet_mop(obj/item/weapon/mop, mob/user) if(reagents.total_volume < 1) user << "[src] is out of water!" @@ -176,12 +170,10 @@ create_reagents(100) -/obj/structure/stool/bed/chair/janicart/examine() - set src in usr +/obj/structure/stool/bed/chair/janicart/examine(mob/user) ..() - usr << "It contains [reagents.total_volume] unit\s of water!" 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) diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 7a98605ce26..43975af4b0f 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -12,12 +12,6 @@ /obj/structure/mopbucket/New() create_reagents(100) - -/obj/structure/mopbucket/examine() - set src in usr - ..() - usr << "It contains [reagents.total_volume] unit\s of water!" - /obj/structure/mopbucket/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/mop)) if(reagents.total_volume < 1) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 3097608333e..1dc4107d0a3 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -124,15 +124,12 @@ return -/obj/item/device/assembly/examine() - set src in view() +/obj/item/device/assembly/examine(mob/user) ..() - if((in_range(src, usr) || loc == usr)) - if(secured) - usr << "\The [src] is ready!" - else - usr << "\The [src] can be attached!" - return + if(secured) + user << "\The [src] is secured and ready to be used." + else + user << "\The [src] can be attached to other things." /obj/item/device/assembly/attack_self(mob/user as mob) diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index af2f1a73b59..9cbf195ef97 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -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/weapon/tank/bombtank = null //the second part of the bomb is a plasma tank -/obj/item/device/onetankbomb/examine() +/obj/item/device/onetankbomb/examine(mob/user) ..() - bombtank.examine() + user.examinate(bombtank) /obj/item/device/onetankbomb/update_icon() if(bombtank) diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index b2bde69df19..3bd27af3549 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -55,15 +55,13 @@ master.update_icon() -/obj/item/device/assembly_holder/examine() - set src in view() +/obj/item/device/assembly_holder/examine(mob/user) ..() - if ((in_range(src, usr) || src.loc == usr)) - if (src.secured) - usr << "\The [src] is ready!" - else - usr << "\The [src] can be attached!" - return + if(secured) + user << "\The [src] is secured and ready to be used." + else + user << "\The [src] can be attached to other things." + /obj/item/device/assembly_holder/HasProximity(atom/movable/AM as mob|obj) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 130390dec5b..2e951f9f539 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -7,10 +7,10 @@ var/armed = 0 -/obj/item/device/assembly/mousetrap/examine() +/obj/item/device/assembly/mousetrap/examine(mob/user) ..() if(armed) - usr << "It looks like it's armed." + user << "It looks like it's armed." /obj/item/device/assembly/mousetrap/activate() if(..()) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 8dae6424bb8..a1cce65e935 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -198,20 +198,19 @@ BLIND // can't see anything return 1 -/obj/item/clothing/under/examine() - set src in view() +/obj/item/clothing/under/examine(mob/user) ..() switch(src.sensor_mode) if(0) - usr << "Its sensors appear to be disabled." + user << "Its sensors appear to be disabled." if(1) - usr << "Its binary life sensors appear to be enabled." + user << "Its binary life sensors appear to be enabled." if(2) - usr << "Its vital tracker appears to be enabled." + user << "Its vital tracker appears to be enabled." 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) - usr << "\A [hastie] is attached to it." + user << "\A [hastie] is attached to it." atom/proc/generate_uniform(index,t_color) var/icon/female_uniform_icon = icon("icon"='icons/mob/uniform.dmi', "icon_state"="[t_color]_s") diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 0a35967a5c4..fba012bfee8 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -31,10 +31,9 @@ /obj/item/clothing/shoes/magboots/negates_gravity() return flags & NOSLIP -/obj/item/clothing/shoes/magboots/examine() - set src in view() +/obj/item/clothing/shoes/magboots/examine(mob/user) ..() - usr << "Its mag-pulse traction system appears to be [magpulse ? "enabled" : "disabled"]." + user << "Its mag-pulse traction system appears to be [magpulse ? "enabled" : "disabled"]." /obj/item/clothing/shoes/magboots/advance @@ -48,4 +47,4 @@ desc = "Reverse-engineered magnetic boots that have a heavy magnetic pull. Property of Gorlex Marauders." name = "blood-red magboots" icon_state = "syndiemag0" - magboot_state = "syndiemag" \ No newline at end of file + magboot_state = "syndiemag" diff --git a/code/modules/events/ninja.dm b/code/modules/events/ninja.dm index 7e15d10946a..aa1497767fa 100644 --- a/code/modules/events/ninja.dm +++ b/code/modules/events/ninja.dm @@ -2247,21 +2247,20 @@ ________________________________________________________________________________ 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) ..() if(s_initialized) - var/mob/living/carbon/human/U = affecting - if(s_control) - U << "All systems operational. Current energy capacity: [cell.charge]." - if(!kamikaze) - U << "The CLOAK-tech device is [s_active?"active":"inactive"]." + if(user == affecting) + if(s_control) + user << "All systems operational. Current energy capacity: [cell.charge]." + if(!kamikaze) + user << "The CLOAK-tech device is [s_active?"active":"inactive"]." + else + user << "KAMIKAZE MODE ENGAGED!" + user << "There are [s_bombs] smoke bomb\s remaining." + user << "There are [a_boost] adrenaline booster\s remaining." else - U << "KAMIKAZE MODE ENGAGED!" - U << "There are [s_bombs] smoke bombs remaining." - U << "There are [a_boost] adrenaline boosters remaining." - else - U << "�rr�R �a��a�� No-�-� f��N� 3RR�r" + user << "�rr�R �a��a�� No-�-� f��N� 3RR�r" /* =================================================================================== @@ -2506,12 +2505,10 @@ ________________________________________________________________________________ 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) ..() if(flags & NODROP) - var/mob/living/carbon/human/U = loc - U << "The energy drain mechanism is: [candrain?"active":"inactive"]." + user << "The energy drain mechanism is: [candrain?"active":"inactive"]." /* =================================================================================== @@ -2585,9 +2582,9 @@ ________________________________________________________________________________ voice = "Unknown" return -/obj/item/clothing/mask/gas/voice/space_ninja/examine() +/obj/item/clothing/mask/gas/voice/space_ninja/examine(mob/user) ..() - usr << "Voice mimicking algorithm is set [!vchange?"inactive":"active"]." + user << "Voice mimicking algorithm is set [!vchange?"inactive":"active"]." /* =================================================================================== diff --git a/code/modules/food&drinks/drinks/drinks.dm b/code/modules/food&drinks/drinks/drinks.dm index b3ec99101bf..798ab613253 100644 --- a/code/modules/food&drinks/drinks/drinks.dm +++ b/code/modules/food&drinks/drinks/drinks.dm @@ -87,22 +87,6 @@ return -/obj/item/weapon/reagent_containers/food/drinks/examine() - set src in view() - ..() - if (!(usr in range(0)) && usr!=src.loc) return - if(!reagents || reagents.total_volume==0) - usr << "\The [src] is empty!" - else if (reagents.total_volume<=src.volume/4) - usr << "\The [src] is almost empty!" - else if (reagents.total_volume<=src.volume*0.66) - usr << "\The [src] is half full!" - else if (reagents.total_volume<=src.volume*0.90) - usr << "\The [src] is almost full!" - else - usr << "\The [src] is full!" - - //////////////////////////////////////////////////////////////////////////////// /// Drinks. END //////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/food&drinks/food/snacks.dm b/code/modules/food&drinks/food/snacks.dm index 34625cda3fc..07eb64cbe03 100644 --- a/code/modules/food&drinks/food/snacks.dm +++ b/code/modules/food&drinks/food/snacks.dm @@ -107,19 +107,16 @@ return -/obj/item/weapon/reagent_containers/food/snacks/examine() - set src in view() +/obj/item/weapon/reagent_containers/food/snacks/examine(mob/user) ..() - if(!(usr in range(1)) && usr != loc) - return if(bitecount == 0) return else if(bitecount == 1) - usr << "[src] was bitten by someone!" + user << "[src] was bitten by someone!" else if(bitecount <= 3) - usr << "[src] was bitten [bitecount] times!" + user << "[src] was bitten [bitecount] times!" else - usr << "[src] was bitten multiple times!" + user << "[src] was bitten multiple times!" /obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W, mob/user) diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 8aa2b1b019f..f9d34d489e5 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -392,9 +392,9 @@ user << "There's no points left on [src]." ..() -/obj/item/weapon/card/mining_point_card/examine() +/obj/item/weapon/card/mining_point_card/examine(mob/user) ..() - usr << "There's [points] points on the card." + user << "There's [points] point\s on the card." /**********************Jaunter**********************/ @@ -533,13 +533,10 @@ /obj/item/clothing/mask/facehugger/toy desc = "A toy often used to play pranks on other miners by putting it in their beds. It takes a bit to recharge after latching onto something." throwforce = 0 + real = 0 sterile = 1 tint = 3 //Makes it feel more authentic when it latches on -/obj/item/clothing/mask/facehugger/toy/examine()//So that giant red text about probisci doesn't show up. - if(desc) - usr << desc - /obj/item/clothing/mask/facehugger/toy/Die() return @@ -725,12 +722,12 @@ if(!malfunctioning) malfunctioning = 1 -/obj/item/weapon/lazarus_injector/examine() +/obj/item/weapon/lazarus_injector/examine(mob/user) ..() if(!loaded) - usr << "[src] is empty." + user << "[src] is empty." if(malfunctioning) - usr << "The display on [src] seems to be flickering." + user << "The display on [src] seems to be flickering." /**********************Mining Scanner**********************/ /obj/item/device/t_scanner/mining_scanner diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 645dd8d9772..bb07bb2f569 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -148,8 +148,8 @@ density = 0 anchored = 1 -/obj/machinery/mineral/labor_points_checker/attack_hand(user as mob) - examine(user) +/obj/machinery/mineral/labor_points_checker/attack_hand(mob/user) + user.examinate(src) /obj/machinery/mineral/labor_points_checker/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/weapon/card/id)) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index bac012618e0..a1e9c378f4e 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -111,10 +111,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 S.Crossed(src) -/mob/dead/observer/examine() - if(usr) - usr << desc - /mob/dead/observer/can_use_hands() return 0 /mob/dead/observer/is_active() return 0 diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index c59d83cd26e..fecd02cc271 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -22,7 +22,7 @@ var/const/MAX_ACTIVE_TIME = 400 var/stat = CONSCIOUS //UNCONSCIOUS is the idle state in this case var/sterile = 0 - + var/real = 1 //0 for the toy, 1 for real. Sure I could istype, but fuck that. var/strength = 5 var/attached = 0 @@ -44,16 +44,17 @@ var/const/MAX_ACTIVE_TIME = 400 user.unEquip(src) Attach(M) -/obj/item/clothing/mask/facehugger/examine() +/obj/item/clothing/mask/facehugger/examine(mob/user) ..() + if(!real)//So that giant red text about probisci doesn't show up. + return switch(stat) if(DEAD,UNCONSCIOUS) - usr << "[src] is not moving." + user << "[src] is not moving." if(CONSCIOUS) - usr << "[src] seems to be active." + user << "[src] seems to be active!" if (sterile) - usr << "It looks like the proboscis has been removed." - return + user << "It looks like the proboscis has been removed." /obj/item/clothing/mask/facehugger/attackby(var/obj/item/O,var/mob/m) if(O.force) diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 45c4ee7b62f..0c98d53c218 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -33,15 +33,12 @@ brainmob << "You feel slightly disoriented. That's normal when you're just a brain." -/obj/item/organ/brain/examine() - set src in oview(12) - if(!usr) return - +/obj/item/organ/brain/examine(mob/user) ..() if(brainmob && brainmob.client) - 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 - usr << "This one seems particularly lifeless. Perhaps it will regain some of it's luster later.." + user << "This one seems particularly lifeless. Perhaps it will regain some of its luster later." /obj/item/organ/brain/attack(mob/living/carbon/M, mob/user) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index d2249e11184..9ebc3a496e1 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -1,10 +1,4 @@ -/mob/living/carbon/human/examine() - set src in view() - - if(!usr || !src) return - if( usr.sdisabilities & BLIND || usr.blinded || usr.stat==UNCONSCIOUS ) - usr << "Something is there but you can't see it." - return +/mob/living/carbon/human/examine(mob/user) var/list/obscured = check_obscured_slots() var/skipface = 0 @@ -156,7 +150,7 @@ else if(istype(wear_id, /obj/item/weapon/card/id)) //just in case something other than a PDA/ID card somehow gets in the ID slot :[ var/obj/item/weapon/card/id/idcard = wear_id id = idcard.registered_name - if(id && (id != real_name) && (get_dist(src, usr) <= 1) && prob(10)) + if(id && (id != real_name) && (get_dist(src, user) <= 1) && prob(10)) msg += "[t_He] [t_is] wearing \icon[wear_id] \a [wear_id] yet something doesn't seem right...\n" else*/ msg += "[t_He] [t_is] wearing \icon[wear_id] \a [wear_id].\n" @@ -233,7 +227,7 @@ if(nutrition < 100) msg += "[t_He] [t_is] severely malnourished.\n" else if(nutrition >= 500) - if(usr.nutrition < 100) + if(user.nutrition < 100) msg += "[t_He] [t_is] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n" else msg += "[t_He] [t_is] quite chubby.\n" @@ -256,10 +250,10 @@ msg += "[t_He] [t_is] moving [t_his] body in an unnatural and blatantly inhuman manner.\n" - if(istype(usr, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = usr + if(istype(user, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = user if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/hud/security/sunglasses)) - if(!usr.stat && usr != src) //|| !usr.canmove || usr.restrained()) Fluff: Sechuds have eye-tracking technology and sets 'arrest' to people that the wearer looks and blinks at. + if(!user.stat && user != src) //|| !user.canmove || user.restrained()) Fluff: Sechuds have eye-tracking technology and sets 'arrest' to people that the wearer looks and blinks at. var/criminal = "None" var/perpname = get_face_name(get_id_name("")) @@ -276,4 +270,4 @@ msg += "*---------*" - usr << msg + user << msg diff --git a/code/modules/mob/living/carbon/monkey/examine.dm b/code/modules/mob/living/carbon/monkey/examine.dm index 6fc0a1d4772..a3686d7a478 100644 --- a/code/modules/mob/living/carbon/monkey/examine.dm +++ b/code/modules/mob/living/carbon/monkey/examine.dm @@ -1,11 +1,4 @@ -/mob/living/carbon/monkey/examine() - set src in oview() - - if(!usr || !src) return - if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) ) - usr << "Something is there but you can't see it." - return - +/mob/living/carbon/monkey/examine(mob/user) var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" if (src.handcuffed) @@ -47,5 +40,4 @@ msg += "*---------*" - usr << msg - return \ No newline at end of file + user << msg \ No newline at end of file diff --git a/code/modules/mob/living/carbon/slime/examine.dm b/code/modules/mob/living/carbon/slime/examine.dm index e687e435637..609addde9f5 100644 --- a/code/modules/mob/living/carbon/slime/examine.dm +++ b/code/modules/mob/living/carbon/slime/examine.dm @@ -1,37 +1,31 @@ -/mob/living/carbon/slime/examine() - set src in oview() - - if(!usr || !src) return - if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) ) - usr << "Something is there but you can't see it." - return - - var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" - if (src.stat == DEAD) - msg += "It is limp and unresponsive.\n" - else - if (src.getBruteLoss()) - msg += "" - if (src.getBruteLoss() < 40) - msg += "It has some punctures in its flesh!" - else - msg += "It has severe punctures and tears in its flesh!" - msg += "\n" - - switch(powerlevel) - - if(2 to 3) - msg += "It is flickering gently with a little electrical activity.\n" - - if(4 to 5) - msg += "It is glowing gently with moderate levels of electrical activity.\n" - - if(6 to 9) - msg += "It is glowing brightly with high levels of electrical activity.\n" - - if(10) - msg += "It is radiating with massive levels of electrical activity!\n" - - msg += "*---------*" - usr << msg +/mob/living/carbon/slime/examine(mob/user) + + var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" + if (src.stat == DEAD) + msg += "It is limp and unresponsive.\n" + else + if (src.getBruteLoss()) + msg += "" + if (src.getBruteLoss() < 40) + msg += "It has some punctures in its flesh!" + else + msg += "It has severe punctures and tears in its flesh!" + msg += "\n" + + switch(powerlevel) + + if(2 to 3) + msg += "It is flickering gently with a little electrical activity.\n" + + if(4 to 5) + msg += "It is glowing gently with moderate levels of electrical activity.\n" + + if(6 to 9) + msg += "It is glowing brightly with high levels of electrical activity.\n" + + if(10) + msg += "It is radiating with massive levels of electrical activity!\n" + + msg += "*---------*" + user << msg return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm index 1a36ce5a9b7..033a5bcd970 100644 --- a/code/modules/mob/living/silicon/ai/examine.dm +++ b/code/modules/mob/living/silicon/ai/examine.dm @@ -1,11 +1,4 @@ -/mob/living/silicon/ai/examine() - set src in oview() - - if(!usr || !src) return - if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) ) - usr << "Something is there but you can't see it." - return - +/mob/living/silicon/ai/examine(mob/user) var/msg = "*---------*\nThis is \icon[src] [src]!\n" if (src.stat == DEAD) msg += "It appears to be powered-down.\n" @@ -27,5 +20,4 @@ msg += "" msg += "*---------*" - usr << msg - return \ No newline at end of file + user << msg \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm index 26010d63535..79268c87673 100644 --- a/code/modules/mob/living/silicon/pai/examine.dm +++ b/code/modules/mob/living/silicon/pai/examine.dm @@ -1,27 +1,2 @@ /mob/living/silicon/pai/examine() //removed as it was pointless...moved to the pai-card instead. - /* This is totaly pointless because this mob is contained inside a card! - set src in oview() - - var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" - if (src.stat == DEAD) - msg += "It appears to be offline.\n" - else - msg += "" - if (src.getBruteLoss()) - if (src.getBruteLoss() < 30) - msg += "It looks slightly dented.\n" - else - msg += "Its casing appears cracked and broken!\n" - if (src.getFireLoss()) - if (src.getFireLoss() < 30) - msg += "It looks slightly charred!\n" - else - msg += "Its casing is melted and heat-warped!\n" - if (src.stat == UNCONSCIOUS) - msg += "It doesn't seem to be responding and its text-output is lagging.\n" - msg += "" - msg += "*---------*" - - usr << msg - */ return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm index 0b8521249ca..15457054fbc 100644 --- a/code/modules/mob/living/silicon/robot/examine.dm +++ b/code/modules/mob/living/silicon/robot/examine.dm @@ -1,11 +1,4 @@ -/mob/living/silicon/robot/examine() - set src in oview() - - if(!usr || !src) return - if( (usr.sdisabilities & BLIND || usr.blinded || usr.stat) && !istype(usr,/mob/dead/observer) ) - usr << "Something is there but you can't see it." - return - +/mob/living/silicon/robot/examine(mob/user) var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" var/obj/act_module = get_active_hand() if(act_module) @@ -41,5 +34,4 @@ if(DEAD) msg += "It looks like its system is corrupted and requires a reset.\n" msg += "*---------*" - usr << msg - return + user << msg diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 6b6e01220af..db36be554f2 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -43,9 +43,7 @@ qdel(src) return -/mob/living/simple_animal/construct/examine() - set src in oview() - +/mob/living/simple_animal/construct/examine(mob/user) var/msg = "*---------*\nThis is \icon[src] \a [src]!\n" if (src.health < src.maxHealth) msg += "" @@ -56,8 +54,7 @@ msg += "" msg += "*---------*" - usr << msg - return + user << msg /mob/living/simple_animal/construct/Bump(atom/movable/AM as mob|obj, yes) if ((!( yes ) || now_pushing)) diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 5ac42db3fe5..bbd5accf7e4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -31,12 +31,12 @@ var/image/cap_living = null //Where we store our cap icons so we dont generate them constantly to update our icon var/image/cap_dead = null -/mob/living/simple_animal/hostile/mushroom/examine() +/mob/living/simple_animal/hostile/mushroom/examine(mob/user) ..() if(health >= maxHealth) - usr << "It looks healthy." + user << "It looks healthy." else - usr << "It looks like it's been roughed up." + user << "It looks like it's been roughed up." /mob/living/simple_animal/hostile/mushroom/Life() ..() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index eebe552a8d6..923eb6d42ba 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -285,6 +285,18 @@ var/list/slot_equipment_priority = list( \ user << browse(dat, "window=mob\ref[src];size=325x500") onclose(user, "mob\ref[src]") +//mob verbs are faster than object verbs. See http://www.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/examine() +/mob/verb/examinate(atom/A as mob|obj|turf in view()) //It used to be oview(12), but I can't really say why + set name = "Examine" + set category = "IC" + +// if( (sdisabilities & BLIND || blinded || stat) && !istype(src,/mob/dead/observer) ) + if(is_blind(src)) + src << "Something is there but you can't see it." + return + + face_atom(A) + A.examine(src) /mob/verb/mode() set name = "Activate Held Object" diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm index d71b89782c6..78a8fe94662 100644 --- a/code/modules/paperwork/clipboard.dm +++ b/code/modules/paperwork/clipboard.dm @@ -103,7 +103,7 @@ if(href_list["read"]) var/obj/item/weapon/paper/P = locate(href_list["read"]) if(istype(P) && P.loc == src) - P.examine() + usr.examinate(P) if(href_list["top"]) var/obj/item/P = locate(href_list["top"]) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index 529d6ce79db..a0ee5982c54 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -67,7 +67,7 @@ if(href_list["read"]) var/obj/item/I = locate(href_list["read"]) if(istype(I) && I.loc == src) - I.examine() + usr.examinate(I) //Update everything attack_self(usr) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index ca7439f8d12..0482bee113c 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -48,20 +48,17 @@ icon_state = "paper" -/obj/item/weapon/paper/examine() - set src in oview(1) - - if(is_blind(usr)) - return - if(in_range(usr, src)) - if( !(ishuman(usr) || isobserver(usr) || issilicon(usr)) ) - usr << browse("[name][stars(info)]
[stamps]", "window=[name]") - onclose(usr, "[name]") +/obj/item/weapon/paper/examine(mob/user) + ..() + if(in_range(user, src)) + if( !(ishuman(user) || isobserver(user) || issilicon(user)) ) + user << browse("[name][stars(info)]
[stamps]", "window=[name]") + onclose(user, "[name]") else - usr << browse("[name][info]
[stamps]", "window=[name]") - onclose(usr, "[name]") + user << browse("[name][info]
[stamps]", "window=[name]") + onclose(user, "[name]") else - usr << "It is too far away." + user << "It is too far away." /obj/item/weapon/paper/verb/rename() @@ -80,7 +77,7 @@ /obj/item/weapon/paper/attack_self(mob/user) - examine() + user.examinate(src) if(rigged && (events.holiday == "April Fool's Day")) if(spam_flag == 0) spam_flag = 1 diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 3d3bbbcf63c..6632e754829 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -74,13 +74,12 @@ update_icon() -/obj/item/weapon/paper_bin/examine() - set src in oview(1) +/obj/item/weapon/paper_bin/examine(mob/user) ..() if(amount) - usr << "It contains " + (amount > 1 ? "[amount] papers" : " one paper")+"." + user << "It contains " + (amount > 1 ? "[amount] papers" : " one paper")+"." else - usr << "It doesn't contain anything." + user << "It doesn't contain anything." /obj/item/weapon/paper_bin/update_icon() diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 88fa0d37683..1586b5c6ae5 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -35,7 +35,7 @@ /obj/item/weapon/photo/attack_self(mob/user) - examine() + user.examinate(src) /obj/item/weapon/photo/attackby(obj/item/weapon/P, mob/user) @@ -47,15 +47,13 @@ ..() -/obj/item/weapon/photo/examine() - set src in oview(1) - if(is_blind(usr)) return +/obj/item/weapon/photo/examine(mob/user) + ..() - if(in_range(usr, src)) - show(usr) - usr << desc + if(in_range(user, src)) + show(user) else - usr << "It is too far away." + user << "You need to get closer to get a good look at this photo." /obj/item/weapon/photo/proc/show(mob/user) @@ -150,9 +148,9 @@ ..() -/obj/item/device/camera/examine() +/obj/item/device/camera/examine(mob/user) ..() - usr << "It has [pictures_left] photos left." + user << "It has [pictures_left] photos left." /obj/item/device/camera/proc/camera_get_icon(list/turfs, turf/center) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 98d63f963a0..63d967b579d 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -184,31 +184,25 @@ spawn(5) src.update() -/obj/machinery/power/apc/examine() - set src in oview(1) - - if(usr /*&& !usr.stat*/) - ..() - if(stat & BROKEN) - usr << "Looks broken." - return - if(opened) - if(has_electronics && terminal) - usr << "The cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"]." - else if (!has_electronics && terminal) - usr << "There are some wires but no any electronics." - else if (has_electronics && !terminal) - usr << "Electronics installed but not wired." - else /* if (!has_electronics && !terminal) */ - usr << "There is no electronics nor connected wires." - +/obj/machinery/power/apc/examine(mob/user) + ..() + if(stat & BROKEN) + user << "Looks broken." + return + if(opened) + if(has_electronics && terminal) + user << "The cover is [opened==2?"removed":"open"] and the power cell is [ cell ? "installed" : "missing"]." else - if (stat & MAINT) - usr << "The cover is closed. Something wrong with it: it doesn't work." - else if (malfhack) - usr << "The cover is broken. It may be hard to force it open." - else - usr << "The cover is closed." + user << "It's [!terminal?" not":""]wired up." + user << "The electronics are[!has_electronics?"n't":""] installed." + + else + if (stat & MAINT) + user << "The cover is closed. Something is wrong with it. It doesn't work." + else if (malfhack) + user << "The cover is broken. It may be hard to force it open." + else + user << "The cover is closed." // update the APC icon to show the three base states diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index ba869fce07f..dcdc62358c8 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -463,6 +463,7 @@ obj/structure/cable/proc/avail() /obj/item/stack/cable_coil name = "cable coil" + gender = NEUTER //That's a cable coil sounds better than that's some cable coils icon = 'icons/obj/power.dmi' icon_state = "coil_red" item_state = "coil_red" @@ -478,6 +479,7 @@ obj/structure/cable/proc/avail() flags = CONDUCT slot_flags = SLOT_BELT attack_verb = list("whipped", "lashed", "disciplined", "flogged") + singular_name = "cable piece" /obj/item/stack/cable_coil/cyborg is_cyborg = 1 @@ -533,20 +535,6 @@ obj/structure/cable/proc/avail() name = "cable coil" -/obj/item/stack/cable_coil/examine() - set src in view(1) - - if (is_cyborg) - usr << "A cable synthesizer. Currently has energy for [get_amount()] lengths of cable." - else - if(get_amount() == 1) - usr << "A short piece of power cable." - else if(get_amount() == 2) - usr << "A piece of power cable." - else - usr << "A coil of power cable. There are [get_amount()] lengths of cable in the coil." - - /obj/item/stack/cable_coil/verb/make_restraint() set name = "Make Cable Restraints" set category = "Object" diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 2b60ba46e4d..96a84396d35 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -5,9 +5,9 @@ /obj/item/weapon/stock_parts/cell/New() ..() charge = maxcharge + desc = "This cell has a power rating of [maxcharge], and you should not swallow it." - spawn(5) - updateicon() + updateicon() /obj/item/weapon/stock_parts/cell/proc/updateicon() overlays.Cut() @@ -50,13 +50,12 @@ return power_used -/obj/item/weapon/stock_parts/cell/examine() - set src in view(1) +/obj/item/weapon/stock_parts/cell/examine(mob/user) ..() - if(usr /*&& !usr.stat*/) - usr << "This cell has a power rating of [maxcharge], and you should not swallow it.\nThe charge meter reads [round(src.percent() )]%." - if(crit_fail) - usr << "This power cell seems to be faulty." + if(crit_fail || rigged) + user << "This power cell seems to be faulty!" + else + user << "The charge meter reads [round(src.percent() )]%." /obj/item/weapon/stock_parts/cell/attack_self(mob/user as mob) src.add_fingerprint(user) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 43551762fa9..6f2acec9a21 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -84,20 +84,15 @@ if (fixture_type == "bulb") icon_state = "bulb-construct-stage1" -/obj/machinery/light_construct/examine() - set src in view() +/obj/machinery/light_construct/examine(mob/user) ..() - if (!(usr in view(2))) return switch(src.stage) if(1) - usr << "It's an empty frame." - return + user << "It's an empty frame." if(2) - usr << "It's wired." - return + user << "It's wired." if(3) - usr << "The casing is closed." - return + user << "The casing is closed." /obj/machinery/light_construct/attackby(obj/item/weapon/W as obj, mob/user as mob) src.add_fingerprint(user) @@ -317,19 +312,17 @@ update() // examine verb -/obj/machinery/light/examine() - set src in oview(1) +/obj/machinery/light/examine(mob/user) ..() - if(usr && !usr.stat) - switch(status) - if(LIGHT_OK) - usr << "It is turned [on? "on" : "off"]." - if(LIGHT_EMPTY) - usr << "The [fitting] has been removed." - if(LIGHT_BURNED) - usr << "The [fitting] is burnt out." - if(LIGHT_BROKEN) - usr << "The [fitting] has been smashed." + switch(status) + if(LIGHT_OK) + user << "It is turned [on? "on" : "off"]." + if(LIGHT_EMPTY) + user << "The [fitting] has been removed." + if(LIGHT_BURNED) + user << "The [fitting] is burnt out." + if(LIGHT_BROKEN) + user << "The [fitting] has been smashed." diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index 5bb5c072507..dc5a4cc8a06 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -31,7 +31,7 @@ tank [un]loading stuff /obj/machinery/power/port_gen/attack_hand(mob/user) turn on/off -/obj/machinery/power/port_gen/examine() +/obj/machinery/power/port_gen/examine(mob/user) display round(lastgen) and plasmatank amount */ @@ -84,13 +84,9 @@ display round(lastgen) and plasmatank amount if(!anchored) return -/obj/machinery/power/port_gen/examine() - set src in oview(1) +/obj/machinery/power/port_gen/examine(mob/user) ..() - if(active) - usr << "It is running." - else - usr << "It isn't running." + user << "It is[!active?"n't":""] running." /obj/machinery/power/port_gen/pacman name = "\improper P.A.C.M.A.N.-type portable generator" @@ -142,10 +138,10 @@ display round(lastgen) and plasmatank amount power_gen = round(initial(power_gen) * temp_rating * 2) consumption = consumption_coeff -/obj/machinery/power/port_gen/pacman/examine() +/obj/machinery/power/port_gen/pacman/examine(mob/user) ..() - usr << "The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle." - if(crit_fail) usr << "The generator seems to have broken down." + user << "The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle." + if(crit_fail) user << "The generator seems to have broken down." /obj/machinery/power/port_gen/pacman/HasFuel() if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left) diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm index 85684c8e756..41c8d44135f 100644 --- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm +++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm @@ -110,7 +110,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin src.dir = turn(src.dir, 90) return 1 -/obj/structure/particle_accelerator/examine() +/obj/structure/particle_accelerator/examine(mob/user) switch(src.construction_state) if(0) src.desc = text("A [name], looks like it's not attached to the flooring") @@ -123,7 +123,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin if(powered) src.desc = src.desc_holder ..() - return /obj/structure/particle_accelerator/attackby(obj/item/W, mob/user) @@ -303,7 +302,7 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin /obj/machinery/particle_accelerator/update_icon() return -/obj/machinery/particle_accelerator/examine() +/obj/machinery/particle_accelerator/examine(mob/user) switch(src.construction_state) if(0) src.desc = text("A [name], looks like it's not attached to the flooring") @@ -316,7 +315,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin if(powered) src.desc = src.desc_holder ..() - return /obj/machinery/particle_accelerator/attackby(obj/item/W, mob/user) diff --git a/code/modules/power/switch.dm b/code/modules/power/switch.dm index 844c88a0b83..1a03f03de29 100644 --- a/code/modules/power/switch.dm +++ b/code/modules/power/switch.dm @@ -21,12 +21,12 @@ icon_state_off = "switch-up" -/obj/structure/powerswitch/examine() +/obj/structure/powerswitch/examine(mob/user) ..() if(on) - usr << "The switch is in the on position" + user << "The switch is in the on position" else - usr << "The switch is in the off position" + user << "The switch is in the off position" /obj/structure/powerswitch/attack_ai(mob/user) user << "\red You're an AI. This is a manual switch. It's not going to work." diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index b6d5446ce0d..ad7246f8359 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -17,10 +17,9 @@ max_charges = Ceiling(max_charges / 2) ..() -/obj/item/weapon/gun/magic/wand/examine() +/obj/item/weapon/gun/magic/wand/examine(mob/user) ..() - usr << "Has [charges] charge\s remaining." - return + user << "Has [charges] charge\s remaining." /obj/item/weapon/gun/magic/wand/update_icon() icon_state = "[initial(icon_state)][charges ? "" : "-drained"]" diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 71fed16e43c..01d1f6f354f 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -69,10 +69,9 @@ return -/obj/item/weapon/gun/projectile/examine() +/obj/item/weapon/gun/projectile/examine(mob/user) ..() - usr << "Has [get_ammo()] round\s remaining." - return + user << "Has [get_ammo()] round\s remaining." /obj/item/weapon/gun/projectile/proc/get_ammo(var/countchambered = 1) var/boolets = 0 //mature var names for mature people diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index d313deaa92b..b61923d6b44 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -45,9 +45,9 @@ boolets += magazine.ammo_count(countempties) return boolets -/obj/item/weapon/gun/projectile/revolver/examine() +/obj/item/weapon/gun/projectile/revolver/examine(mob/user) ..() - usr << "[get_ammo(0,0)] of those are live rounds." + user << "[get_ammo(0,0)] of those are live rounds." /obj/item/weapon/gun/projectile/revolver/detective desc = "A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-special rounds." diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 73f77560692..019396875d7 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -47,10 +47,10 @@ update_icon() //I.E. fix the desc return 1 -/obj/item/weapon/gun/projectile/shotgun/examine() +/obj/item/weapon/gun/projectile/shotgun/examine(mob/user) ..() if (chambered) - usr << "A [chambered.BB ? "live" : "spent"] one is in the chamber." + user << "A [chambered.BB ? "live" : "spent"] one is in the chamber." /obj/item/weapon/gun/projectile/shotgun/combat name = "combat shotgun" diff --git a/code/modules/reagents/grenade_launcher.dm b/code/modules/reagents/grenade_launcher.dm index 986141ccda6..15e8f7ef51c 100644 --- a/code/modules/reagents/grenade_launcher.dm +++ b/code/modules/reagents/grenade_launcher.dm @@ -12,12 +12,9 @@ var/max_grenades = 3 m_amt = 2000 -/obj/item/weapon/gun/grenadelauncher/examine() - set src in view() +/obj/item/weapon/gun/grenadelauncher/examine(mob/user) ..() - if(!(usr in view(2)) && usr != loc) - return - usr << "[grenades] / [max_grenades] grenades." + user << "[grenades] / [max_grenades] grenades loaded." /obj/item/weapon/gun/grenadelauncher/attackby(obj/item/I as obj, mob/user as mob) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 15ced044b95..6fe8b06f328 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -108,9 +108,10 @@ Borg Hypospray user << "[src] is now dispensing '[R.name]'." return -/obj/item/weapon/reagent_containers/borghypo/examine() +/obj/item/weapon/reagent_containers/borghypo/examine(mob/user) + usr = user ..() - DescribeContents() + DescribeContents() //Because using the standardized reagents datum was just too cool for whatever fuckwit wrote this /obj/item/weapon/reagent_containers/borghypo/proc/DescribeContents() var/empty = 1 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index d4d778451c4..8a194fd4e9d 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -32,15 +32,7 @@ /mob/living/simple_animal/hostile/retaliate/goat ) -/obj/item/weapon/reagent_containers/glass/examine() - set src in view() - ..() - if(!(usr in view(2)) && usr != loc) - return - if(reagents && reagents.reagent_list.len) - usr << "It contains:" - for(var/datum/reagent/R in reagents.reagent_list) - usr << "[R.volume] units of [R.name]" + /obj/item/weapon/reagent_containers/glass/afterattack(obj/target, mob/user, proximity) if(!proximity) return // not adjacent diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 92109b168f7..87b82950be1 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -76,14 +76,6 @@ spray_currentrange = (spray_currentrange == 1 ? spray_maxrange : 1) user << "You [amount_per_transfer_from_this == 10 ? "remove" : "fix"] the nozzle. You'll now use [amount_per_transfer_from_this] units per spray." - -/obj/item/weapon/reagent_containers/spray/examine() - set src in usr - ..() - for(var/datum/reagent/R in reagents.reagent_list) - usr << "[round(R.volume)] units of [R.name] left." - return - /obj/item/weapon/reagent_containers/spray/verb/empty() set name = "Empty Spray Bottle" diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 2e24d578572..46a9dfa4da0 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -39,17 +39,6 @@ src.verbs -= /obj/structure/reagent_dispensers/verb/set_APTFT ..() -/obj/structure/reagent_dispensers/examine() - set src in view() - ..() - if (!(usr in view(2)) && usr!=src.loc) return - usr << "It contains:" - if(reagents && reagents.reagent_list.len) - for(var/datum/reagent/R in reagents.reagent_list) - usr << "[R.volume] units of [R.name]" - else - usr << "Nothing." - /obj/structure/reagent_dispensers/verb/set_APTFT() //set amount_per_transfer_from_this set name = "Set transfer amount" set category = "Object" diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/reagents/syringe_gun.dm index 83c5f3dcfb4..6e913260b32 100644 --- a/code/modules/reagents/syringe_gun.dm +++ b/code/modules/reagents/syringe_gun.dm @@ -39,10 +39,9 @@ newshot() ..() -/obj/item/weapon/gun/syringe/examine() +/obj/item/weapon/gun/syringe/examine(mob/user) ..() - usr << "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining." - return + user << "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining." /obj/item/weapon/gun/syringe/attack_self(mob/living/user as mob) if(!syringes.len) diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index 351f83d1385..38ad69d80a1 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -161,11 +161,9 @@ return -/obj/item/weapon/packageWrap/examine() - if(src in usr) - usr << "There are [amount] units of package wrap left." +/obj/item/weapon/packageWrap/examine(mob/user) ..() - return + user << "There are [amount] units of package wrap left." /obj/item/device/destTagger diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index e9873c7c732..3182d2030b7 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -120,9 +120,10 @@ /obj/item/weapon/rcs/New() ..() processing_objects.Add(src) -/obj/item/weapon/rcs/examine() - desc = "Use this to send crates and closets to cargo telepads. There are [rcharges] charges left." + +/obj/item/weapon/rcs/examine(mob/user) ..() + user << "There are [rcharges] charge\s left." /obj/item/weapon/rcs/Destroy() processing_objects.Remove(src) diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index edb9916eb06..82c0ae2a817 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -40,9 +40,9 @@ inserted_gps = null ..() -/obj/machinery/computer/telescience/examine() +/obj/machinery/computer/telescience/examine(mob/user) ..() - usr << "There are [crystals.len ? crystals.len : "no"] bluespace crystals in the crystal slots." + user << "There are [crystals.len ? crystals.len : "no"] bluespace crystal\s in the crystal slots." /obj/machinery/computer/telescience/initialize() ..()