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

@@ -117,14 +117,13 @@
return
examine()
set src in view()
..()
if((in_range(src, usr) || loc == usr))
examine(mob/user)
..(user)
if((in_range(src, user) || loc == user))
if(secured)
usr << "\The [src] is ready!"
user << "\The [src] is ready!"
else
usr << "\The [src] can be attached!"
user << "\The [src] can be attached!"
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/weapon/tank/bombtank = null //the second part of the bomb is a phoron tank
/obj/item/device/onetankbomb/examine()
..()
bombtank.examine()
/obj/item/device/onetankbomb/examine(mob/user)
..(user)
user.examinate(bombtank)
/obj/item/device/onetankbomb/update_icon()
if(bombtank)

View File

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

View File

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

View File

@@ -196,11 +196,6 @@ BLIND // can't see anything
species_restricted = list("exclude","Unathi","Tajara")
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()
if (ismob(src.loc))
var/mob/M = src.loc
@@ -387,20 +382,19 @@ BLIND // can't see anything
return
return
/obj/item/clothing/under/examine()
set src in view()
..()
/obj/item/clothing/under/examine(mob/user)
..(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 clipped to it."
user << "\A [hastie] is clipped to it."
/obj/item/clothing/under/proc/set_sensors(mob/usr as mob)
var/mob/M = usr

View File

@@ -23,10 +23,9 @@
user << "You enable the mag-pulse traction system."
user.update_inv_shoes() //so our mob-overlays update
examine()
set src in view()
..()
examine(mob/user)
..(user)
var/state = "disabled"
if(src.flags&NOSLIP)
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
canremove = 1
/obj/item/clothing/shoes/magboots/vox/examine()
set src in view()
..()
/obj/item/clothing/shoes/magboots/vox/examine(mob/user)
..(user)
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)
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
user << "\blue User scanned as [camera.c_tag]. Camera activated."
/obj/item/clothing/head/helmet/space/rig/ert/examine()
..()
if(get_dist(usr,src) <= 1)
usr << "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
/obj/item/clothing/head/helmet/space/rig/ert/examine(mob/user)
if(..(user, 1))
user << "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
/obj/item/clothing/suit/space/rig/ert
name = "emergency response team suit"

View File

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

View File

@@ -257,13 +257,12 @@
holstered.emp_act(severity)
..()
/obj/item/clothing/tie/holster/examine()
set src in view()
..()
/obj/item/clothing/tie/holster/examine(mob/user)
..(user)
if (holstered)
usr << "A [holstered] is holstered here."
user << "A [holstered] is holstered here."
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)
..()

View File

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

View File

@@ -45,10 +45,3 @@
user.visible_message("[user] finishes wiping off the [A]!")
A.clean_blood()
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."
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()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "\blue Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth]."
/obj/item/weapon/spacecash/ewallet/examine(mob/user)
..(user)
if (!(user in view(2)) && user!=src.loc) return
user << "\blue Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth]."

View File

@@ -202,12 +202,12 @@
update_icon()
user.visible_message("\The [user] [concealed ? "conceals" : "reveals"] their hand.")
/obj/item/weapon/hand/examine()
..()
if((!concealed || src.loc == usr) && cards.len)
usr << "It contains: "
/obj/item/weapon/hand/examine(mob/user)
..(user)
if((!concealed || src.loc == user) && cards.len)
user << "It contains: "
for(var/datum/playingcard/P in cards)
usr << "The [P.name]."
user << "The [P.name]."
/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.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)
usr << "It's tagged as variety #[seed.uid]."
user << "It's tagged as variety #[seed.uid]."
/obj/item/seeds/cutting
name = "cuttings"

View File

@@ -36,35 +36,29 @@
else
stored_ore[O.name] = 1
/obj/structure/ore_box/examine()
set name = "Examine"
set category = "IC"
set src in view(usr.client) //If it can be seen, it can be examined.
/obj/structure/ore_box/examine(mob/user)
user << "That's an [src]."
user << desc
if (!( usr ))
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.
if(!istype(user, /mob/living/carbon/human)) //Only living, intelligent creatures with hands can check the contents of ore boxes.
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
add_fingerprint(usr)
add_fingerprint(user)
if(!contents.len)
usr << "It is empty."
user << "It is empty."
return
if(world.time > last_update + 10)
update_ore_count()
last_update = world.time
usr << "It holds:"
user << "It holds:"
for(var/ore in stored_ore)
usr << "- [stored_ore[ore]] [ore]"
user << "- [stored_ore[ore]] [ore]"
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
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
@@ -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.add_hiddenprint(src)
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."
callHook("debrain", list(brainmob))
/obj/item/organ/brain/examine() // -- TLE
set src in oview(12)
if (!( usr ))
return
usr << "This is \icon[src] \an [name]."
/obj/item/organ/brain/examine(mob/user) // -- TLE
..(user)
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
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)

View File

@@ -92,15 +92,10 @@
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?")
/obj/item/device/mmi/posibrain/examine()
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>"
/obj/item/device/mmi/posibrain/examine(mob/user)
if(!..(user))
return
var/msg = "<span class='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n[desc]\n"
msg += "<span class='warning'>"
@@ -113,7 +108,7 @@
else
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
msg += "<span class='info'>*---------*</span>"
usr << msg
user << msg
return
/obj/item/device/mmi/posibrain/emp_act(severity)

View File

@@ -47,15 +47,15 @@ var/const/MAX_ACTIVE_TIME = 400
else
del(src)
/obj/item/clothing/mask/facehugger/examine()
..()
/obj/item/clothing/mask/facehugger/examine(mob/user)
..(user)
switch(stat)
if(DEAD,UNCONSCIOUS)
usr << "\red \b [src] is not moving."
user << "\red \b [src] is not moving."
if(CONSCIOUS)
usr << "\red \b [src] seems to be active."
user << "\red \b [src] seems to be active."
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
/obj/item/clothing/mask/facehugger/attackby()

View File

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

View File

@@ -1,11 +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 << "<span class='notice'>Something is there but you can't see it.</span>"
return
/mob/living/carbon/human/examine(mob/user)
var/skipgloves = 0
var/skipsuitstorage = 0
var/skipjumpsuit = 0
@@ -447,7 +440,7 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period.
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.
/proc/hasHUD(mob/M as mob, hudtype)

View File

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

View File

@@ -1,12 +1,6 @@
/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 << "<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"
/mob/living/carbon/slime/examine(mob/user)
..(user)
var/msg = ""
if (src.stat == DEAD)
msg += "<span class='deadsay'>It is limp and unresponsive.</span>\n"
else
@@ -33,5 +27,5 @@
msg += "<span class='warning'><B>It is radiating with massive levels of electrical activity!</B></span>\n"
msg += "*---------*</span>"
usr << msg
user << msg
return

View File

@@ -1,13 +1,7 @@
/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 << "<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"
/mob/living/carbon/monkey/examine(mob/user)
..(user)
var/msg = ""
if (src.handcuffed)
msg += "It is \icon[src.handcuffed] handcuffed!\n"
if (src.wear_mask)
@@ -41,5 +35,5 @@
msg += "*---------*</span>"
usr << msg
user << msg
return

View File

@@ -193,6 +193,11 @@ var/list/ai_verbs_default = list(
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)
real_name = pickedName
name = pickedName

View File

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

View File

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

View File

@@ -413,17 +413,10 @@
else
src << "<span class='warning'>You are too small to pull that.</span>"
/mob/living/silicon/pai/examine()
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!"
/mob/living/silicon/pai/examine(mob/user)
..(user)
var/msg = ""
switch(src.stat)
if(CONSCIOUS)
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.
msg += "\nIt is [pose]"
usr << msg
user << msg
// No binary for pAIs.
/mob/living/silicon/pai/binarycheck()

View File

@@ -43,10 +43,10 @@
if(drone_progress >= 100)
visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.")
/obj/machinery/drone_fabricator/examine()
..()
if(produce_drones && drone_progress >= 100 && istype(usr,/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>"
/obj/machinery/drone_fabricator/examine(mob/user)
..(user)
if(produce_drones && drone_progress >= 100 && istype(user,/mob/dead) && config.allow_drone_spawn && count_drones() < config.max_maint_drones)
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()
var/drones = 0

View File

@@ -1,12 +1,7 @@
/mob/living/silicon/robot/examine()
set src in oview()
/mob/living/silicon/robot/examine(mob/user)
..(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>[custom_name ? ", [modtype] [braintype]" : ""]!\n"
var/msg = ""
msg += "<span class='warning'>"
if (src.getBruteLoss())
if (src.getBruteLoss() < 75)
@@ -42,5 +37,5 @@
pose = addtext(pose,".") //Makes sure all emotes end with a period.
msg += "\nIt is [pose]"
usr << msg
user << msg
return

View File

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

View File

@@ -44,10 +44,9 @@
del src
return
/mob/living/simple_animal/construct/examine()
set src in oview()
var/msg = "<span cass='info'>*---------*\nThis is \icon[src] \a <EM>[src]</EM>!\n"
/mob/living/simple_animal/construct/examine(mob/user)
..(user)
var/msg = ""
if (src.health < src.maxHealth)
msg += "<span class='warning'>"
if (src.health >= src.maxHealth/2)
@@ -57,7 +56,7 @@
msg += "</span>"
msg += "*---------*</span>"
usr << msg
user << msg
return
/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."
return 0
/mob/living/simple_animal/spiderbot/examine()
..()
/mob/living/simple_animal/spiderbot/examine(mob/user)
..(user)
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 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>"
return
@@ -216,6 +216,7 @@ var/list/slot_equipment_priority = list( \
if(P)
del(P) // qdel
face_atom(A)
return 1

View File

@@ -59,21 +59,19 @@
return
icon_state = "paper"
/obj/item/weapon/paper/examine()
set src in oview(1)
/obj/item/weapon/paper/examine(mob/user)
// ..() //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.
// Now you need to be next to the paper in order to read it.
if(in_range(usr, src))
if(!(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/dead/observer) || istype(usr, /mob/living/silicon)))
usr << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[stars(info)][stamps]</BODY></HTML>", "window=[name]")
onclose(usr, "[name]")
if(in_range(user, src))
if(!(istype(user, /mob/living/carbon/human) || istype(user, /mob/dead/observer) || istype(user, /mob/living/silicon)))
user << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[stars(info)][stamps]</BODY></HTML>", "window=[name]")
onclose(user, "[name]")
else
usr << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[info][stamps]</BODY></HTML>", "window=[name]")
onclose(usr, "[name]")
user << browse("<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[info][stamps]</BODY></HTML>", "window=[name]")
onclose(user, "[name]")
else
usr << "<span class='notice'>It is too far away.</span>"
user << "<span class='notice'>It is too far away.</span>"
return
/obj/item/weapon/paper/verb/rename()
@@ -91,7 +89,7 @@
return
/obj/item/weapon/paper/attack_self(mob/living/user as mob)
examine()
user.examinate(src)
if(rigged && (Holiday == "April Fool's Day"))
if(spam_flag == 0)
spam_flag = 1
@@ -118,7 +116,7 @@
if(user.zone_sel.selecting == "eyes")
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>")
M << examine()
M.examinate(src)
else if(user.zone_sel.selecting == "mouth") // lipstick wiping
if(ishuman(M))

View File

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

View File

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

View File

@@ -33,7 +33,7 @@
var/photo_size = 3
/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)
if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
@@ -43,13 +43,12 @@
scribble = txt
..()
/obj/item/weapon/photo/examine()
set src in oview(1)
if(in_range(usr, src))
show(usr)
usr << desc
/obj/item/weapon/photo/examine(mob/user)
if(in_range(user, src))
show(user)
user << desc
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)
user << browse_rsc(img, "tmp_photo.png")

View File

@@ -67,10 +67,9 @@
return
/obj/item/weapon/fuel/examine()
set src in view(1)
if(usr && !usr.stat)
usr << "A magnetic storage ring, it contains [fuel]kg of [content ? content : "nothing"]."
/obj/item/weapon/fuel/examine(mob/user)
if(get_dist(src, user) <= 1)
user << "A magnetic storage ring, it contains [fuel]kg of [content ? content : "nothing"]."
/obj/item/weapon/fuel/proc/injest(mob/M as mob)
switch(content)

View File

@@ -199,32 +199,29 @@
spawn(5)
src.update()
/obj/machinery/power/apc/examine()
set src in oview(1)
if(usr /*&& !usr.stat*/)
usr << "A control terminal for the area electrical systems."
..()
/obj/machinery/power/apc/examine(mob/user)
if(..(user, 1))
user << "A control terminal for the area electrical systems."
if(stat & BROKEN)
usr << "Looks broken."
user << "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"]."
user << "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."
user << "There are some wires but no any electronics."
else if (has_electronics && !terminal)
usr << "Electronics installed but not wired."
user << "Electronics installed but not wired."
else /* if (!has_electronics && !terminal) */
usr << "There is no electronics nor connected wires."
user << "There is no electronics nor connected wires."
else
if (stat & MAINT)
usr << "The cover is closed. Something wrong with it: it doesn't work."
user << "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."
user << "The cover is broken. It may be hard to force it open."
else
usr << "The cover is closed."
user << "The cover is closed."
// update the APC icon to show the three base states

View File

@@ -24,12 +24,12 @@
/obj/machinery/power/breakerbox/activated/initialize()
set_state(1)
/obj/machinery/power/breakerbox/examine()
usr << "Large machine with heavy duty switching circuits used for advanced grid control"
/obj/machinery/power/breakerbox/examine(mob/user)
user << "Large machine with heavy duty switching circuits used for advanced grid control"
if(on)
usr << "\green It seems to be online."
user << "\green It seems to be online."
else
usr << "\red It seems to be offline"
user << "\red It seems to be offline"
/obj/machinery/power/breakerbox/attack_ai(mob/user)
if(busy)

View File

@@ -565,15 +565,16 @@ obj/structure/cable/proc/avail()
else
w_class = 2.0
/obj/item/stack/cable_coil/examine()
set src in view(1)
/obj/item/stack/cable_coil/examine(mob/user)
if(get_dist(src, user) > 1)
return
if(get_amount() == 1)
usr << "A short piece of power cable."
user << "A short piece of power cable."
else if(get_amount() == 2)
usr << "A piece of power cable."
user << "A piece of power cable."
else
usr << "A coil of power cable. There are [get_amount()] lengths of cable in the coil."
user << "A coil of power cable. There are [get_amount()] lengths of cable in the coil."
/obj/item/stack/cable_coil/verb/make_restraint()

View File

@@ -53,15 +53,16 @@
return amount_used
/obj/item/weapon/cell/examine()
set src in view(1)
if(usr /*&& !usr.stat*/)
if(maxcharge <= 2500)
usr << "[desc]\nThe manufacturer's label states this cell has a power rating of [maxcharge], and that you should not swallow it.\nThe charge meter reads [round(src.percent() )]%."
else
usr << "This power cell has an exciting chrome finish, as it is an uber-capacity cell type! It has a power rating of [maxcharge]!\nThe charge meter reads [round(src.percent() )]%."
/obj/item/weapon/cell/examine(mob/user)
if(get_dist(src, user) > 1)
return
if(maxcharge <= 2500)
user << "[desc]\nThe manufacturer's label states this cell has a power rating of [maxcharge], and that you should not swallow it.\nThe charge meter reads [round(src.percent() )]%."
else
user << "This power cell has an exciting chrome finish, as it is an uber-capacity cell type! It has a power rating of [maxcharge]!\nThe charge meter reads [round(src.percent() )]%."
if(crit_fail)
usr << "\red This power cell seems to be faulty."
user << "\red This power cell seems to be faulty."
/obj/item/weapon/cell/attack_self(mob/user as mob)
src.add_fingerprint(user)

View File

@@ -84,19 +84,19 @@
if (fixture_type == "bulb")
icon_state = "bulb-construct-stage1"
/obj/machinery/light_construct/examine()
set src in view()
..()
if (!(usr in view(2))) return
/obj/machinery/light_construct/examine(mob/user)
if(!..(user, 2))
return
switch(src.stage)
if(1)
usr << "It's an empty frame."
user << "It's an empty frame."
return
if(2)
usr << "It's wired."
user << "It's wired."
return
if(3)
usr << "The casing is closed."
user << "The casing is closed."
return
/obj/machinery/light_construct/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -315,18 +315,16 @@
update()
// examine verb
/obj/machinery/light/examine()
set src in oview(1)
if(usr && !usr.stat)
switch(status)
if(LIGHT_OK)
usr << "[desc] It is turned [on? "on" : "off"]."
if(LIGHT_EMPTY)
usr << "[desc] The [fitting] has been removed."
if(LIGHT_BURNED)
usr << "[desc] The [fitting] is burnt out."
if(LIGHT_BROKEN)
usr << "[desc] The [fitting] has been smashed."
/obj/machinery/light/examine(mob/user)
switch(status)
if(LIGHT_OK)
user << "[desc] It is turned [on? "on" : "off"]."
if(LIGHT_EMPTY)
user << "[desc] The [fitting] has been removed."
if(LIGHT_BURNED)
user << "[desc] The [fitting] is burnt out."
if(LIGHT_BROKEN)
user << "[desc] The [fitting] has been smashed."

View File

@@ -54,10 +54,10 @@
reliability = min(round(temp_reliability / 4), 100)
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
examine()
..()
usr << "\blue The generator has [P.air_contents.phoron] units of fuel left, producing [power_gen] per cycle."
if(crit_fail) usr << "\red The generator seems to have broken down."
examine(mob/user)
..(user)
user << "\blue The generator has [P.air_contents.phoron] units of fuel left, producing [power_gen] per cycle."
if(crit_fail) user << "\red The generator seems to have broken down."
handleInactive()
heat -= 2

View File

@@ -32,7 +32,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 phorontank amount
*/
@@ -85,8 +85,9 @@ display round(lastgen) and phorontank amount
if(!anchored)
return
/obj/machinery/power/port_gen/examine()
set src in oview(1)
/obj/machinery/power/port_gen/examine(mob/user)
if(!..(user,1 ))
return
if(active)
usr << "\blue The generator is on."
else
@@ -139,10 +140,10 @@ display round(lastgen) and phorontank amount
reliability = min(round(temp_reliability / 4), 100)
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
/obj/machinery/power/port_gen/pacman/examine()
..()
usr << "\blue The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle."
if(crit_fail) usr << "\red The generator seems to have broken down."
/obj/machinery/power/port_gen/pacman/examine(mob/user)
..(user)
user << "\blue The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle."
if(crit_fail) user << "\red The generator seems to have broken down."
/obj/machinery/power/port_gen/pacman/HasFuel()
if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left)

View File

@@ -98,10 +98,9 @@ var/global/list/rad_collectors = list()
return 1
return ..()
/obj/machinery/power/rad_collector/examine()
..()
if (get_dist(usr, src) <= 3)
usr << "The meter indicates that \the [src] is collecting [last_power] W."
/obj/machinery/power/rad_collector/examine(mob/user)
if (..(user, 3))
user << "The meter indicates that \the [src] is collecting [last_power] W."
return 1
/obj/machinery/power/rad_collector/ex_act(severity)

View File

@@ -105,7 +105,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")
@@ -299,7 +299,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")

View File

@@ -31,9 +31,9 @@
last_regen = world.time
update_icon()
/obj/item/weapon/gun/launcher/spikethrower/examine()
..()
usr << "It has [spikes] [spikes == 1 ? "spike" : "spikes"] remaining."
/obj/item/weapon/gun/launcher/spikethrower/examine(mob/user)
..(user)
user << "It has [spikes] [spikes == 1 ? "spike" : "spikes"] remaining."
/obj/item/weapon/gun/launcher/spikethrower/update_icon()
icon_state = "spikethrower[spikes]"

View File

@@ -103,13 +103,13 @@
/obj/item/weapon/gun/projectile/examine()
..()
usr << "Has [getAmmo()] round\s remaining."
/obj/item/weapon/gun/projectile/examine(mob/user)
..(user)
user << "Has [getAmmo()] round\s remaining."
// if(in_chamber && !loaded.len)
// usr << "However, it has a chambered round."
// user << "However, it has a chambered round."
// if(in_chamber && loaded.len)
// usr << "It also has a chambered round." {R}
// user << "It also has a chambered round." {R}
return
/obj/item/weapon/gun/projectile/proc/getAmmo()

View File

@@ -197,14 +197,14 @@
/obj/item/weapon/crossbowframe/update_icon()
icon_state = "crossbowframe[buildstate]"
/obj/item/weapon/crossbowframe/examine()
..()
/obj/item/weapon/crossbowframe/examine(mob/user)
..(user)
switch(buildstate)
if(1) usr << "It has a loose rod frame in place."
if(2) usr << "It has a steel backbone welded in place."
if(3) usr << "It has a steel backbone and a cell mount installed."
if(4) usr << "It has a steel backbone, plastic lath and a cell mount installed."
if(5) usr << "It has a steel cable loosely strung across the lath."
if(1) user << "It has a loose rod frame in place."
if(2) user << "It has a steel backbone welded in place."
if(3) user << "It has a steel backbone and a cell mount installed."
if(4) user << "It has a steel backbone, plastic lath and a cell mount installed."
if(5) user << "It has a steel cable loosely strung across the lath."
/obj/item/weapon/crossbowframe/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/stack/rods))

View File

@@ -98,15 +98,14 @@
in_chamber = contents[1]
return !isnull(in_chamber)
/obj/item/weapon/gun/launcher/pneumatic/examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "The valve is dialed to [pressure_setting]%."
/obj/item/weapon/gun/launcher/pneumatic/examine(mob/user)
if(!..(user, 2))
return
user << "The valve is dialed to [pressure_setting]%."
if(tank)
usr << "The tank dial reads [tank.air_contents.return_pressure()] kPa."
user << "The tank dial reads [tank.air_contents.return_pressure()] kPa."
else
usr << "Nothing is attached to the tank valve!"
user << "Nothing is attached to the tank valve!"
/obj/item/weapon/gun/launcher/pneumatic/special_check(user)
@@ -147,14 +146,14 @@
/obj/item/weapon/cannonframe/update_icon()
icon_state = "pneumatic[buildstate]"
/obj/item/weapon/cannonframe/examine()
..()
/obj/item/weapon/cannonframe/examine(mob/user)
..(user)
switch(buildstate)
if(1) usr << "It has a pipe segment installed."
if(2) usr << "It has a pipe segment welded in place."
if(3) usr << "It has an outer chassis installed."
if(4) usr << "It has an outer chassis welded in place."
if(5) usr << "It has a transfer valve installed."
if(1) user << "It has a pipe segment installed."
if(2) user << "It has a pipe segment welded in place."
if(3) user << "It has an outer chassis installed."
if(4) user << "It has an outer chassis welded in place."
if(5) user << "It has a transfer valve installed."
/obj/item/weapon/cannonframe/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W,/obj/item/pipe))

View File

@@ -17,11 +17,10 @@
var/max_rockets = 1
var/list/rockets = new/list()
/obj/item/weapon/gun/rocketlauncher/examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "\blue [rockets.len] / [max_rockets] rockets."
/obj/item/weapon/gun/rocketlauncher/examine(mob/user)
if(!..(user, 2))
return
user << "\blue [rockets.len] / [max_rockets] rockets."
/obj/item/weapon/gun/rocketlauncher/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/ammo_casing/rocket))

View File

@@ -57,18 +57,16 @@
cartridge = new /obj/item/weapon/dart_cartridge(src)
update_icon()
/obj/item/weapon/gun/dartgun/examine()
set src in view()
/obj/item/weapon/gun/dartgun/examine(mob/user)
update_icon()
..()
if (!(usr in view(2)) && usr!=src.loc)
if (!..(user, 2))
return
if (beakers.len)
usr << "\blue [src] contains:"
user << "\blue [src] contains:"
for(var/obj/item/weapon/reagent_containers/glass/beaker/B in beakers)
if(B.reagents && B.reagents.reagent_list.len)
for(var/datum/reagent/R in B.reagents.reagent_list)
usr << "\blue [R.volume] units of [R.name]"
user << "\blue [R.volume] units of [R.name]"
/obj/item/weapon/gun/dartgun/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/dart_cartridge))

View File

@@ -13,12 +13,9 @@
var/max_grenades = 3
matter = list("metal" = 2000)
examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "\icon [src] Grenade launcher:"
usr << "\blue [grenades] / [max_grenades] Grenades."
examine(mob/user)
if(..(user, 2))
user << "\blue [grenades] / [max_grenades] Grenades."
attackby(obj/item/I as obj, mob/user as mob)

View File

@@ -97,18 +97,17 @@
user << "\blue Synthesizer is now producing '[R.name]'."
return
/obj/item/weapon/reagent_containers/borghypo/examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
if(!..(user, 2))
return
var/empty = 1
for(var/datum/reagents/RS in reagent_list)
var/datum/reagent/R = locate() in RS.reagent_list
if(R)
usr << "\blue It currently has [R.volume] units of [R.name] stored."
user << "\blue It currently has [R.volume] units of [R.name] stored."
empty = 0
if(empty)
usr << "\blue It is currently empty. Allow some time for the internal syntheszier to produce more."
user << "\blue It is currently empty. Allow some time for the internal syntheszier to produce more."

View File

@@ -84,20 +84,19 @@
return ..()
/* examine()
set src in view()
..()
if (!(usr in range(0)) && usr!=src.loc) return
/* examine(mob/user)
if(!..(user, 1))
return
if(!reagents || reagents.total_volume==0)
usr << "\blue \The [src] is empty!"
user << "\blue \The [src] is empty!"
else if (reagents.total_volume<=src.volume/4)
usr << "\blue \The [src] is almost empty!"
user << "\blue \The [src] is almost empty!"
else if (reagents.total_volume<=src.volume*0.66)
usr << "\blue \The [src] is half full!"
user << "\blue \The [src] is half full!"
else if (reagents.total_volume<=src.volume*0.90)
usr << "\blue \The [src] is almost full!"
user << "\blue \The [src] is almost full!"
else
usr << "\blue \The [src] is full!"*/
user << "\blue \The [src] is full!"*/
//DRINKS

View File

@@ -122,20 +122,19 @@
return ..()
examine()
set src in view()
..()
if (!(usr in range(0)) && usr!=src.loc) return
examine(mob/user)
if(!..(user, 1))
return
if(!reagents || reagents.total_volume==0)
usr << "\blue \The [src] is empty!"
user << "\blue \The [src] is empty!"
else if (reagents.total_volume<=src.volume/4)
usr << "\blue \The [src] is almost empty!"
user << "\blue \The [src] is almost empty!"
else if (reagents.total_volume<=src.volume*0.66)
usr << "\blue \The [src] is half full!"
user << "\blue \The [src] is half full!"
else if (reagents.total_volume<=src.volume*0.90)
usr << "\blue \The [src] is almost full!"
user << "\blue \The [src] is almost full!"
else
usr << "\blue \The [src] is full!"
user << "\blue \The [src] is full!"
////////////////////////////////////////////////////////////////////////////////

View File

@@ -78,10 +78,10 @@
del(O)
..()
/obj/item/weapon/reagent_containers/food/snacks/csandwich/examine()
..()
/obj/item/weapon/reagent_containers/food/snacks/csandwich/examine(mob/user)
..(user)
var/obj/item/O = pick(contents)
usr << "\blue You think you can see [O.name] in there."
user << "\blue You think you can see [O.name] in there."
/obj/item/weapon/reagent_containers/food/snacks/csandwich/attack(mob/M as mob, mob/user as mob, def_zone)

View File

@@ -110,18 +110,17 @@
/obj/item/weapon/reagent_containers/food/snacks/afterattack(obj/target, mob/user, proximity)
return ..()
/obj/item/weapon/reagent_containers/food/snacks/examine()
set src in view()
..()
if (!(usr in range(0)) && usr!=src.loc) return
/obj/item/weapon/reagent_containers/food/snacks/examine(mob/user)
if(!..(user, 1))
return
if (bitecount==0)
return
else if (bitecount==1)
usr << "\blue \The [src] was bitten by someone!"
user << "\blue \The [src] was bitten by someone!"
else if (bitecount<=3)
usr << "\blue \The [src] was bitten [bitecount] times!"
user << "\blue \The [src] was bitten [bitecount] times!"
else
usr << "\blue \The [src] was bitten multiple times!"
user << "\blue \The [src] was bitten multiple times!"
/obj/item/weapon/reagent_containers/food/snacks/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/storage))

View File

@@ -46,16 +46,15 @@
..()
base_name = name
examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
examine(mob/user)
if(!..(user, 2))
return
if(reagents && reagents.reagent_list.len)
usr << "\blue It contains [src.reagents.total_volume] units of liquid."
user << "\blue It contains [src.reagents.total_volume] units of liquid."
else
usr << "\blue It is empty."
user << "\blue It is empty."
if (!is_open_container())
usr << "\blue Airtight lid seals it completely."
user << "\blue Airtight lid seals it completely."
attack_self()
..()

View File

@@ -77,9 +77,9 @@
else
icon_state = "[initial(icon_state)]0"
/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine()
..()
/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user)
..(user)
if(reagents && reagents.reagent_list.len)
usr << "\blue It is currently loaded."
user << "\blue It is currently loaded."
else
usr << "\blue It is spent."
user << "\blue It is spent."

View File

@@ -94,10 +94,9 @@
user << "<span class='notice'>You adjusted the pressure nozzle. You'll now use [amount_per_transfer_from_this] units per spray.</span>"
/obj/item/weapon/reagent_containers/spray/examine()
set src in usr
..()
usr << "[round(src.reagents.total_volume)] units left."
/obj/item/weapon/reagent_containers/spray/examine(mob/user)
if(..(user, 0) && user==src.loc)
user << "[round(src.reagents.total_volume)] units left."
return
/obj/item/weapon/reagent_containers/spray/verb/empty()
@@ -142,10 +141,9 @@
..()
reagents.add_reagent("condensedcapsaicin", 40)
/obj/item/weapon/reagent_containers/spray/pepper/examine()
..()
if(get_dist(usr,src) <= 1)
usr << "The safety is [safety ? "on" : "off"]."
/obj/item/weapon/reagent_containers/spray/pepper/examine(mob/user)
if(..(user, 1))
user << "The safety is [safety ? "on" : "off"]."
/obj/item/weapon/reagent_containers/spray/pepper/attack_self(var/mob/user)
safety = !safety

View File

@@ -24,16 +24,15 @@
src.verbs -= /obj/structure/reagent_dispensers/verb/set_APTFT
..()
examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "\blue It contains:"
examine(mob/user)
if(!..(user, 2))
return
user << "\blue It contains:"
if(reagents && reagents.reagent_list.len)
for(var/datum/reagent/R in reagents.reagent_list)
usr << "\blue [R.volume] units of [R.name]"
user << "\blue [R.volume] units of [R.name]"
else
usr << "\blue Nothing."
user << "\blue Nothing."
verb/set_APTFT() //set amount_per_transfer_from_this
set name = "Set transfer amount"
@@ -95,14 +94,13 @@
..()
reagents.add_reagent("fuel",1000)
/obj/structure/reagent_dispensers/fueltank/examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
/obj/structure/reagent_dispensers/fueltank/examine(mob/user)
if(!..(user, 2))
return
if (modded)
usr << "\red Fuel faucet is wrenched open, leaking the fuel!"
user << "\red Fuel faucet is wrenched open, leaking the fuel!"
if(rig)
usr << "<span class='notice'>There is some kind of device rigged to the tank."
user << "<span class='notice'>There is some kind of device rigged to the tank."
/obj/structure/reagent_dispensers/fueltank/attack_hand()
if (rig)

View File

@@ -15,11 +15,9 @@
var/max_syringes = 1
matter = list("metal" = 2000)
/obj/item/weapon/gun/syringe/examine()
set src in view()
..()
if (!(usr in view(2)) && usr!=src.loc) return
usr << "\blue [syringes.len] / [max_syringes] syringes."
/obj/item/weapon/gun/syringe/examine(mob/user)
if(..(user, 2))
user << "\blue [syringes.len] / [max_syringes] syringes."
/obj/item/weapon/gun/syringe/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I, /obj/item/weapon/reagent_containers/syringe))

View File

@@ -100,13 +100,12 @@
I.pixel_y = -3
overlays += I
examine()
..()
if(src in oview(4))
examine(mob/user)
if(..(user, 4))
if(sortTag)
usr << "<span class='notice'>It is labeled \"[sortTag]\"</span>"
user << "<span class='notice'>It is labeled \"[sortTag]\"</span>"
if(examtext)
usr << "<span class='notice'>It has a note attached which reads, \"[examtext]\"</span>"
user << "<span class='notice'>It has a note attached which reads, \"[examtext]\"</span>"
return
/obj/item/smallDelivery
@@ -206,13 +205,12 @@
I.pixel_y = -3
overlays += I
examine()
..()
if(src in oview(4))
examine(mob/user)
if(..(user, 4))
if(sortTag)
usr << "<span class='notice'>It is labeled \"[sortTag]\"</span>"
user << "<span class='notice'>It is labeled \"[sortTag]\"</span>"
if(examtext)
usr << "<span class='notice'>It has a note attached which reads, \"[examtext]\"</span>"
user << "<span class='notice'>It has a note attached which reads, \"[examtext]\"</span>"
return
/obj/item/weapon/packageWrap
@@ -304,10 +302,10 @@
return
return
examine()
if(src in usr)
usr << "\blue There are [amount] units of package wrap left!"
..()
examine(mob/user)
if(..(user, 0))
user << "\blue There are [amount] units of package wrap left!"
return

View File

@@ -26,15 +26,9 @@
var/num_stored_bags = 10
var/obj/item/weapon/evidencebag/filled_bag
/obj/item/device/core_sampler/examine()
set src in orange(1)
if (!( usr ))
return
if(get_dist(src, usr) < 2)
usr << "That's \a [src]."
usr << "\blue Used to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining."
else
return ..()
/obj/item/device/core_sampler/examine(mob/user)
if(..(user, 2))
user << "\blue Used to extract geological core samples - this one is [sampled_turf ? "full" : "empty"], and has [num_stored_bags] bag[num_stored_bags != 1 ? "s" : ""] remaining."
/obj/item/device/core_sampler/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W,/obj/item/weapon/evidencebag))

View File

@@ -41,7 +41,6 @@
/obj/vehicle/train/cargo/engine/New()
..()
cell = new /obj/item/weapon/cell/high
verbs -= /atom/movable/verb/pull
key = new()
var/image/I = new(icon = 'icons/obj/vehicles.dmi', icon_state = "cargo_engine_overlay", layer = src.layer + 0.2) //over mobs
overlays += I
@@ -53,7 +52,7 @@
update_stats()
if(load && is_train_head())
load << "The drive motor briefly whines, then drones to a stop."
if(is_train_head() && !on)
return 0
@@ -118,7 +117,7 @@
verbs -= /obj/vehicle/train/cargo/engine/verb/stop_engine
verbs -= /obj/vehicle/train/cargo/engine/verb/start_engine
if(on)
verbs += /obj/vehicle/train/cargo/engine/verb/stop_engine
else
@@ -129,7 +128,7 @@
verbs -= /obj/vehicle/train/cargo/engine/verb/stop_engine
verbs -= /obj/vehicle/train/cargo/engine/verb/start_engine
if(!on)
verbs += /obj/vehicle/train/cargo/engine/verb/start_engine
else
@@ -175,15 +174,15 @@
else
return ..()
/obj/vehicle/train/cargo/engine/examine()
..()
/obj/vehicle/train/cargo/engine/examine(mob/user)
if(!..(user, 1))
return
if(!istype(usr, /mob/living/carbon/human))
return
if(get_dist(usr,src) <= 1)
usr << "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition."
usr << "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%"
user << "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition."
user << "The charge meter reads [cell? round(cell.percent(), 0.01) : 0]%"
/obj/vehicle/train/cargo/engine/verb/start_engine()
set name = "Start engine"
@@ -192,7 +191,7 @@
if(!istype(usr, /mob/living/carbon/human))
return
if(on)
usr << "The engine is already running."
return
@@ -210,10 +209,10 @@
set name = "Stop engine"
set category = "Object"
set src in view(1)
if(!istype(usr, /mob/living/carbon/human))
return
if(!on)
usr << "The engine is already stopped."
return
@@ -229,10 +228,10 @@
if(!istype(usr, /mob/living/carbon/human))
return
if(!key || (load && load != usr))
return
if(on)
turn_off()
@@ -291,13 +290,8 @@
/obj/vehicle/train/cargo/trolley/update_car(var/train_length, var/active_engines)
src.train_length = train_length
src.active_engines = active_engines
if(!lead && !tow)
anchored = 0
if(verbs.Find(/atom/movable/verb/pull))
return
else
verbs += /atom/movable/verb/pull
else
anchored = 1
verbs -= /atom/movable/verb/pull

View File

@@ -65,11 +65,11 @@
infect_virus2(target, src.virus2)
del src
/obj/item/weapon/virusdish/examine()
usr << "This is a virus containment dish."
/obj/item/weapon/virusdish/examine(mob/user)
user << "This is a virus containment dish."
if(src.info)
usr << "It has the following information about its contents:"
usr << src.info
user << "It has the following information about its contents:"
user << src.info
/obj/item/weapon/ruinedvirusdish
name = "ruined virus sample"