Adds examine boxes. (#18370)

* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2024-02-11 21:58:20 +00:00
committed by GitHub
co-authored by Matt Atlas
parent d57c5e7c43
commit 4423d03f2f
296 changed files with 1317 additions and 1257 deletions
@@ -58,7 +58,7 @@
if (dries)
animate(src, color = "#000000", time = drytime, loop = 0, flags = ANIMATION_RELATIVE)
/obj/effect/decal/cleanable/blood/examine()
/obj/effect/decal/cleanable/blood/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
if(dries && world.time > (bleed_time + drytime))
name = dryname
desc = drydesc
@@ -189,9 +189,9 @@
else
icon_state = "writing1"
/obj/effect/decal/cleanable/blood/writing/examine(mob/user)
/obj/effect/decal/cleanable/blood/writing/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "It reads: <font color='[basecolor]'>\"[message]\"</font>")
. += "It reads: <font color='[basecolor]'>\"[message]\"</font>"
/obj/effect/decal/cleanable/blood/gibs
name = "gibs"
@@ -37,10 +37,10 @@
pixel_x = pixel_shifts[1]
pixel_y = pixel_shifts[2]
/obj/effect/plastic_explosive/examine(mob/user, distance, is_adjacent)
/obj/effect/plastic_explosive/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
to_chat(user, SPAN_WARNING("It is set to blow in [round((parent.detonate_time - world.time) / 10)] seconds."))
. += SPAN_WARNING("It is set to blow in [round((parent.detonate_time - world.time) / 10)] seconds.")
/obj/effect/plastic_explosive/attack_hand(mob/living/user)
to_chat(user, SPAN_WARNING("\The [src] is solidly attached, it doesn't budge!"))
+7 -7
View File
@@ -323,18 +323,18 @@
I.forceMove(T)
/obj/item/examine(mob/user, distance)
/obj/item/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
var/size
switch(src.w_class)
if (5.0 to INFINITY)
if (ITEMSIZE_HUGE to INFINITY)
size = "huge"
if (4.0 to 5.0)
if (ITEMSIZE_LARGE to ITEMSIZE_HUGE)
size = "bulky"
if (3.0 to 4.0)
if (ITEMSIZE_NORMAL to ITEMSIZE_LARGE)
size = "normal-sized"
if (2.0 to 3.0)
if (ITEMSIZE_SMALL to ITEMSIZE_NORMAL)
size = "small"
if (0 to 2.0)
if (0 to ITEMSIZE_SMALL)
size = "tiny"
//Changed this switch to ranges instead of tiered values, to cope with granularity and also
//things outside its range ~Nanako
@@ -342,7 +342,7 @@
. = ..(user, distance, "", "It is a [size] item.")
var/datum/component/armor/armor_component = GetComponent(/datum/component/armor)
if(armor_component)
to_chat(user, FONT_SMALL(SPAN_NOTICE("\[?\] This item has armor values. <a href=?src=\ref[src];examine_armor=1>\[Show Armor Values\]</a>")))
. += FONT_SMALL(SPAN_NOTICE("\[?\] This item has armor values. <a href=?src=\ref[src];examine_armor=1>\[Show Armor Values\]</a>"))
/obj/item/Topic(href, href_list)
if(href_list["examine_armor"])
+5 -5
View File
@@ -82,16 +82,16 @@
slowdown = 0
// Examine to see tank pressure
/obj/structure/closet/airbubble/examine(mob/user)
/obj/structure/closet/airbubble/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!isnull(internal_tank))
to_chat(user, "<span class='notice'>\The [src] has [internal_tank] attached, that displays [round(internal_tank.air_contents.return_pressure() ? internal_tank.air_contents.return_pressure() : 0)] KPa.</span>")
. += "<span class='notice'>\The [src] has [internal_tank] attached, that displays [round(internal_tank.air_contents.return_pressure() ? internal_tank.air_contents.return_pressure() : 0)] KPa.</span>"
else
to_chat(user, "<span class='notice'>\The [src] has no tank attached.</span>")
. += "<span class='notice'>\The [src] has no tank attached.</span>"
if (cell)
to_chat(user, "\The [src] has [cell] attached, the charge meter reads [round(cell.percent())]%.")
. += "\The [src] has [cell] attached, the charge meter reads [round(cell.percent())]%."
else
to_chat(user, "<span class='warning'>[src] has no power cell installed.</span>")
. += "<span class='warning'>[src] has no power cell installed.</span>"
/obj/structure/closet/airbubble/can_open()
if(zipped)
+3 -3
View File
@@ -234,11 +234,11 @@
return airtank
..()
/obj/structure/closet/body_bag/cryobag/examine(mob/user, distance, is_adjacent)
/obj/structure/closet/body_bag/cryobag/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user,"The stasis meter shows '[stasis_power]x'.")
. += "The stasis meter shows '[stasis_power]x'."
if(is_adjacent && length(contents)) //The bag's rather thick and opaque from a distance.
to_chat(user, "<span class='info'>You peer into \the [src].</span>")
. += "<span class='info'>You peer into \the [src].</span>"
for(var/mob/living/L in contents)
L.examine(arglist(args))
+2 -2
View File
@@ -124,10 +124,10 @@
w_class = ITEMSIZE_TINY
volume = 50
/obj/item/reagent_containers/powder/examine(mob/user)
/obj/item/reagent_containers/powder/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(reagents)
to_chat(user, SPAN_NOTICE("There's about [reagents.total_volume] unit\s here."))
. += SPAN_NOTICE("There's about [reagents.total_volume] unit\s here.")
/obj/item/reagent_containers/powder/Initialize()
. = ..()
+3 -3
View File
@@ -62,12 +62,12 @@
overlays = new_overlays
/obj/item/defibrillator/examine(mob/user)
/obj/item/defibrillator/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(bcell)
to_chat(user, "The charge meter is showing [bcell.percent()]% charge left.")
. += "The charge meter is showing [bcell.percent()]% charge left."
else
to_chat(user, "There is no cell inside.")
. += "There is no cell inside."
/obj/item/defibrillator/ui_action_click()
toggle_paddles()
+2 -2
View File
@@ -9,7 +9,7 @@
var/flush = 0
var/mob/living/silicon/ai/carded_ai
/obj/item/aicard/examine(mob/user)
/obj/item/aicard/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
var/message = "Status of [carded_ai] is: "
if(!carded_ai)
@@ -20,7 +20,7 @@
message += SPAN_NOTICE("active.")
else
message += SPAN_WARNING("inactive.")
to_chat(user, message)
. += message
/obj/item/aicard/attack(mob/living/silicon/decoy/M as mob, mob/user as mob, var/target_zone)
if (!istype (M, /mob/living/silicon/decoy))
@@ -15,12 +15,12 @@
if(!augment_type)
augment_type = new new_augment(src)
/obj/item/device/augment_implanter/examine(mob/user)
/obj/item/device/augment_implanter/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(augment_type)
to_chat(user, FONT_SMALL(SPAN_NOTICE("\The [augment_type] can be seen floating inside \the [src]'s biogel.")))
. += FONT_SMALL(SPAN_NOTICE("\The [augment_type] can be seen floating inside \the [src]'s biogel."))
else
to_chat(user, FONT_SMALL(SPAN_WARNING("It is spent.")))
. += FONT_SMALL(SPAN_WARNING("It is spent."))
/obj/item/device/augment_implanter/afterattack(mob/living/L, mob/user, proximity)
if(!proximity)
+6 -6
View File
@@ -477,17 +477,17 @@
playsound(usr, 'sound/machines/click.ogg', 50)
update_icon()
/obj/item/auto_cpr/examine(mob/user, distance, is_adjacent)
/obj/item/auto_cpr/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!is_adjacent)
return
to_chat(user, SPAN_NOTICE("\The [src]'s [EPP] is currently [epp_mode ? "on" : "off"], while the Auto CPR is [cpr_mode ? "on" : "off"]."))
. += SPAN_NOTICE("\The [src]'s [EPP] is currently [epp_mode ? "on" : "off"], while the Auto CPR is [cpr_mode ? "on" : "off"].")
if(battery)
to_chat(user, SPAN_NOTICE("It currently has a battery with [battery.percent()]% charge."))
. += SPAN_NOTICE("It currently has a battery with [battery.percent()]% charge.")
if(tank)
to_chat(user, SPAN_NOTICE("It has [icon2html(tank, user)] \the [tank] installed. The meter shows [round(tank.air_contents.return_pressure())]kPa, \
with the pressure set to [round(tank.distribute_pressure)]kPa.[epp_active ? " The [EPP] is active." : ""]"))
. += SPAN_NOTICE("It has [icon2html(tank, user)] \the [tank] installed. The meter shows [round(tank.air_contents.return_pressure())]kPa, \
with the pressure set to [round(tank.distribute_pressure)]kPa.[epp_active ? " The [EPP] is active." : ""]")
if(breath_mask)
to_chat(user, SPAN_NOTICE("It has [icon2html(breath_mask, user)] \the [breath_mask] installed."))
. += SPAN_NOTICE("It has [icon2html(breath_mask, user)] \the [breath_mask] installed.")
#undef EPP
+2 -2
View File
@@ -12,9 +12,9 @@
var/loaded = 1
var/mode = "completely"
/obj/item/device/dociler/examine(var/mob/user)
/obj/item/device/dociler/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "<span class='notice'>It is currently set to [mode] docile mode.</span>")
. += "<span class='notice'>It is currently set to [mode] docile mode.</span>"
/obj/item/device/dociler/attack_self(var/mob/user)
if(mode == "somewhat")
+3 -3
View File
@@ -17,13 +17,13 @@
var/last_use = 0
/obj/item/device/flash/examine(mob/user, distance)
/obj/item/device/flash/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!broken)
var/num_charges = max(0, max_charges - times_used)
to_chat(user, SPAN_NOTICE("The charge indicator shows [num_charges] charge[num_charges == 1 ? "" : "s"] remain[num_charges == 1 ? "s" : ""]."))
. += SPAN_NOTICE("The charge indicator shows [num_charges] charge[num_charges == 1 ? "" : "s"] remain[num_charges == 1 ? "s" : ""].")
else
to_chat(user, SPAN_WARNING("\The [src]'s bulb is burnt out!"))
. += SPAN_WARNING("\The [src]'s bulb is burnt out!")
/obj/item/device/flash/proc/clumsy_check(mob/user)
if(user && (user.is_clumsy()) && prob(50))
+3 -3
View File
@@ -33,13 +33,13 @@
radiation_count = SSradiation.get_rads_at_turf(get_turf(src))
update_icon()
/obj/item/device/geiger/examine(mob/user)
/obj/item/device/geiger/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
var/msg = "[scanning ? "ambient" : "stored"] Radiation level: [radiation_count ? radiation_count : "0"] IU/s."
if(radiation_count > RAD_LEVEL_LOW)
to_chat(user, SPAN_WARNING("[msg]"))
. += SPAN_WARNING("[msg]")
else
to_chat(user, SPAN_NOTICE("[msg]"))
. += SPAN_NOTICE("[msg]")
/obj/item/device/geiger/attack_self(mob/user)
scanning = !scanning
@@ -21,10 +21,10 @@
unload_warrant()
return ..()
/obj/item/device/holowarrant/examine(mob/user, distance, is_adjacent)
/obj/item/device/holowarrant/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(selected_warrant)
to_chat(user, "It's a holographic warrant for '[selected_warrant.name]'.")
. += "It's a holographic warrant for '[selected_warrant.name]'."
/obj/item/device/holowarrant/attack_self(mob/living/user as mob)
if(!LAZYLEN(SSrecords.warrants))
@@ -124,14 +124,14 @@
M.update_inv_r_ear()
M.update_inv_head()
/obj/item/device/flashlight/examine(mob/user, distance, is_adjacent)
/obj/item/device/flashlight/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(power_use && brightness_level)
to_chat(user, SPAN_NOTICE("\The [src] is set to [brightness_level]."))
. += SPAN_NOTICE("\The [src] is set to [brightness_level].")
if(cell)
to_chat(user, SPAN_NOTICE("\The [src] has \a [cell] attached. It has [round(cell.percent())]% charge remaining."))
. += SPAN_NOTICE("\The [src] has \a [cell] attached. It has [round(cell.percent())]% charge remaining.")
if(light_wedge && isturf(loc))
to_chat(user, FONT_SMALL(SPAN_NOTICE("\The [src] is facing [dir2text(dir)].")))
. += FONT_SMALL(SPAN_NOTICE("\The [src] is facing [dir2text(dir)]."))
/obj/item/device/flashlight/attack_self(mob/user)
if(always_on)
@@ -72,12 +72,12 @@
failmsg = "The [name]'s refill light blinks red."
..()
/obj/item/device/lightreplacer/examine(mob/user, distance, is_adjacent)
/obj/item/device/lightreplacer/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 2)
to_chat(user, "It has [uses] lights remaining.")
. += "It has [uses] lights remaining."
if (store_broken)
to_chat(user, "It is storing [stored()]/[max_stored] broken lights.")
. += "It is storing [stored()]/[max_stored] broken lights."
/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/stack/material) && W.get_material_name() == "glass")
@@ -76,17 +76,17 @@
status = STATUS_ACTIVE
attach(newtarget)
/obj/item/device/magnetic_lock/examine(mob/user)
/obj/item/device/magnetic_lock/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if (status == STATUS_BROKEN)
to_chat(user, "<span class='danger'>It looks broken!</span>")
. += "<span class='danger'>It looks broken!</span>"
else
if (powercell)
var/power = round(powercell.charge / powercell.maxcharge * 100)
to_chat(user, "<span class='notice'>The powercell is at [power]% charge.</span>")
. += "<span class='notice'>The powercell is at [power]% charge.</span>"
else
to_chat(user, "<span class='warning'>It has no powercell to power it!")
. += "<span class='warning'>It has no powercell to power it!"
/obj/item/device/magnetic_lock/attack_hand(var/mob/user)
add_fingerprint(user)
+2 -2
View File
@@ -69,9 +69,9 @@
user.drop_from_inventory(src,O)
qdel(src)
/obj/item/device/modkit/examine(mob/user)
/obj/item/device/modkit/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "It looks as though it modifies voidsuits to fit [target_species] users.")
. += "It looks as though it modifies voidsuits to fit [target_species] users."
/obj/item/device/modkit/tajaran
name = "tajaran voidsuit modification kit"
@@ -289,9 +289,9 @@
playsound(get_turf(src), 'sound/effects/spray3.ogg', 30, 1, -6)
return .
/obj/item/device/paint_sprayer/examine(mob/user)
/obj/item/device/paint_sprayer/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "It is configured to produce the '[decal]' decal with a direction of '[paint_dir]' using [paint_colour] paint.")
. += "It is configured to produce the '[SPAN_NOTICE(decal)]' decal with a direction of '[SPAN_NOTICE(paint_dir)]' using [SPAN_NOTICE(paint_colour)] paint."
/obj/item/device/paint_sprayer/verb/choose_colour()
set name = "Choose Colour"
@@ -13,10 +13,11 @@
var/upkeep_cost = 2
var/obj/aura/personal_shield/device/shield
/obj/item/device/personal_shield/examine(mob/user, distance, is_adjacent)
/obj/item/device/personal_shield/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
to_chat(user, SPAN_NOTICE("\The [src] has [cell.charge] charge remaining. Shield upkeep costs [upkeep_cost] charge, and blocking a shot costs [charge_per_shot] charge."))
. += SPAN_NOTICE("\The [src] has [cell.charge] charge remaining.")
. += SPAN_NOTICE("Shield upkeep costs [upkeep_cost] charge, and blocking a shot costs [SPAN_NOTICE(charge_per_shot)] charge.")
/obj/item/device/personal_shield/Initialize()
. = ..()
@@ -31,6 +31,6 @@
/obj/item/device/pipe_painter/attack_self(var/mob/user)
mode = tgui_input_list(user, "Which colour do you want to use?", "Pipe Painter", modes, mode)
/obj/item/device/pipe_painter/examine(var/mob/user)
/obj/item/device/pipe_painter/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "It is in [mode] mode.")
. += "It is in [mode] mode."
@@ -17,10 +17,10 @@ GLOBAL_LIST_EMPTY(teleportbeacons)
GLOB.teleportbeacons -= src
return ..()
/obj/item/device/radio/beacon/examine(mob/user)
/obj/item/device/radio/beacon/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(anchored)
to_chat(user, SPAN_NOTICE("It's been secured to the ground with anchoring screws."))
. += SPAN_NOTICE("It's been secured to the ground with anchoring screws.")
/obj/item/device/radio/beacon/attack_hand(mob/user)
if(anchored)
@@ -56,14 +56,14 @@
/obj/item/device/radio/headset/list_channels(var/mob/user)
return list_secure_channels()
/obj/item/device/radio/headset/examine(mob/user, distance, is_adjacent)
/obj/item/device/radio/headset/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!(is_adjacent && radio_desc))
return
to_chat(user, "The following channels are available:")
to_chat(user, radio_desc)
. += "The following channels are available:"
. += radio_desc
/obj/item/device/radio/headset/setupRadioDescription()
if(translate_binary || translate_hivenet)
@@ -515,13 +515,13 @@ var/global/list/default_interrogation_channels = list(
return get_hearers_in_view(canhear_range, src)
/obj/item/device/radio/examine(mob/user, distance, is_adjacent)
/obj/item/device/radio/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(show_modify_on_examine && (distance <= 1))
if (b_stat)
user.show_message("<span class='notice'>\The [src] can be attached and modified!</span>")
. += SPAN_NOTICE("\The [src] can be attached and modified!")
else
user.show_message("<span class='notice'>\The [src] can not be modified or attached!</span>")
. += SPAN_NOTICE("\The [src] can not be modified or attached!")
/obj/item/device/radio/attackby(obj/item/W as obj, mob/user as mob)
..()
+5 -5
View File
@@ -25,11 +25,11 @@
camera = new(src)
become_hearing_sensitive(ROUNDSTART_TRAIT)
/obj/item/device/spy_bug/examine(mob/user, distance)
/obj/item/device/spy_bug/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 0)
to_chat(user, "It's a tiny camera, microphone, and transmission device in a happy union.")
to_chat(user, "Needs to be both configured and brought in contact with monitor device to be fully functional.")
. += "It's a tiny camera, microphone, and transmission device in a happy union."
. += "Needs to be both configured and brought in contact with monitor device to be fully functional."
/obj/item/device/spy_bug/attack_self(mob/user)
radio.set_broadcasting(!radio.get_broadcasting())
@@ -68,10 +68,10 @@
radio = new(src)
become_hearing_sensitive(ROUNDSTART_TRAIT)
/obj/item/device/spy_monitor/examine(mob/user, distance)
/obj/item/device/spy_monitor/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 1)
to_chat(user, "The time '12:00' is blinking in the corner of the screen and \the [src] looks very cheaply made.")
. += "The time '12:00' is blinking in the corner of the screen and \the [src] looks very cheaply made."
/obj/item/device/spy_monitor/attack_self(mob/user)
if(operating)
@@ -210,7 +210,7 @@
M.update_inv_back()
M.update_inv_s_store()
/obj/item/device/suit_cooling_unit/examine(mob/user, distance)
/obj/item/device/suit_cooling_unit/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!distance <= 1)
@@ -218,26 +218,26 @@
if(on)
if(attached_to_suit(src.loc))
to_chat(user, SPAN_NOTICE("It's switched on and running."))
. += SPAN_NOTICE("It's switched on and running.")
else if(ishuman(loc))
var/mob/living/carbon/human/H = loc
if(H.species.flags & ACCEPTS_COOLER)
to_chat(user, SPAN_NOTICE("It's switched on and running, connected to the cooling systems of [H]."))
. += SPAN_NOTICE("It's switched on and running, connected to the cooling systems of [H].")
else
to_chat(user, SPAN_NOTICE("It's switched on, but not attached to anything."))
. += SPAN_NOTICE("It's switched on, but not attached to anything.")
else
to_chat(user, SPAN_NOTICE("It is switched off."))
. += SPAN_NOTICE("It is switched off.")
if(cover_open)
if(cell)
to_chat(user, SPAN_NOTICE("The panel is open, exposing \the [cell]."))
. += SPAN_NOTICE("The panel is open, exposing \the [cell].")
else
to_chat(user, SPAN_NOTICE("The panel is open."))
. += SPAN_NOTICE("The panel is open.")
if(cell)
to_chat(user, SPAN_NOTICE("The charge meter reads [round(cell.percent())]%."))
. += SPAN_NOTICE("The charge meter reads [round(cell.percent())]%.")
else
to_chat(user, SPAN_NOTICE("It doesn't have a power cell installed."))
. += SPAN_NOTICE("It doesn't have a power cell installed.")
/obj/item/device/suit_cooling_unit/no_cell
celltype = null
+3 -3
View File
@@ -25,10 +25,10 @@
GLOB.listening_objects += src
. = ..()
/obj/item/device/tvcamera/examine(mob/user)
/obj/item/device/tvcamera/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "Video feed is currently: [camera.status ? "<span style='color: rgb(51, 204, 51);font-weight: bold;'>Online</span>" : "<span style='color: rgb(204, 0, 0); font-weight: bold;'>Offline</span>"]")
to_chat(user, "Audio feed is currently: [radio.get_broadcasting() ? "<span style='color: rgb(51, 204, 51); font-weight: bold;'>Online</span>" : "<span style='color: rgb(204, 0, 0); font-weight: bold;'>Offline</span>"]")
. += "Video feed is currently: [camera.status ? "<span style='color: rgb(51, 204, 51);font-weight: bold;'>Online</span>" : "<span style='color: rgb(204, 0, 0); font-weight: bold;'>Offline</span>"]"
. += "Audio feed is currently: [radio.get_broadcasting() ? "<span style='color: rgb(51, 204, 51); font-weight: bold;'>Online</span>" : "<span style='color: rgb(204, 0, 0); font-weight: bold;'>Offline</span>"]"
/obj/item/device/tvcamera/attack_self(mob/user)
add_fingerprint(user)
+5 -5
View File
@@ -31,13 +31,13 @@
else
icon_state = "[initial(icon_state)]-[initial(uses)-uses]"
/obj/item/ipc_overloader/examine(mob/user, distance, is_adjacent)
/obj/item/ipc_overloader/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
if(uses)
to_chat(user, SPAN_NOTICE("It has <b>[uses]</b> uses left."))
. += SPAN_NOTICE("It has <b>[uses]</b> uses left.")
else
to_chat(user, SPAN_WARNING("It's totally spent."))
. += SPAN_WARNING("It's totally spent.")
/obj/item/ipc_overloader/attack_self(mob/user)
if(!uses)
@@ -271,11 +271,11 @@
icon_state = "box"
return ..()
/obj/item/storage/overloader/examine(mob/user)
/obj/item/storage/overloader/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
var/obj/item/ipc_overloader/overloader = locate() in contents
if(overloader)
to_chat(user, SPAN_NOTICE("This one has a <b>[overloader.name]</b> inside."))
. += SPAN_NOTICE("This one has a <b>[overloader.name]</b> inside.")
/obj/item/storage/overloader/open(mob/user)
..()
+2 -2
View File
@@ -39,11 +39,11 @@
QDEL_NULL(ball)
return ..()
/obj/item/knittingneedles/examine(mob/user, distance, is_adjacent)
/obj/item/knittingneedles/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
if(ball)
to_chat(user, "There is \the [ball] between the needles.")
. += "There is \the [ball] between the needles."
/obj/item/knittingneedles/update_icon()
if(working)
+2 -2
View File
@@ -7,9 +7,9 @@
var/new_icon_file
var/uses = 1 // Uses before the kit deletes itself.
/obj/item/device/kit/examine()
/obj/item/device/kit/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(usr, "It has [uses] use\s left.")
. += "It has [uses] use\s left."
/obj/item/device/kit/use(var/amt, var/mob/user)
uses -= amt
@@ -17,10 +17,10 @@
//To update the icon based on the power cell charge we spawn with
update_icon()
/obj/item/recharger_backpack/examine(mob/user)
/obj/item/recharger_backpack/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(powersupply)
to_chat(user, SPAN_NOTICE("The backpack display shows that the installed power cell is at [round(powersupply.percent())]%."))
. += SPAN_NOTICE("The backpack display shows that the installed power cell is at [round(powersupply.percent())]%.")
/obj/item/recharger_backpack/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/cell) && !powersupply)
+4 -4
View File
@@ -15,9 +15,9 @@
. = ..()
pick_constellation()
/obj/item/stellascope/examine(mob/user)
/obj/item/stellascope/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "\The [src] displays the \"[selected_constellation]\".")
. += "\The [src] displays the \"[selected_constellation]\"."
/obj/item/stellascope/throw_impact(atom/hit_atom)
..()
@@ -92,10 +92,10 @@
STOP_PROCESSING(SSprocessing, src)
return ..()
/obj/item/skrell_projector/examine(mob/user)
/obj/item/skrell_projector/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(selected_world && working)
to_chat(user, "\The [src] displays a hologram of [selected_world].")
. += "\The [src] displays a hologram of [selected_world]."
/obj/item/skrell_projector/attack_self(mob/user as mob)
working = !working
+2 -2
View File
@@ -7,9 +7,9 @@
var/planchette = "A"
var/lastuser = null
/obj/item/spirit_board/examine(mob/user)
/obj/item/spirit_board/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "The planchette is sitting at \"[planchette]\".")
. += "The planchette is sitting at \"[planchette]\"."
/obj/item/spirit_board/attack_hand(mob/user)
if(!isturf(loc)) //so if you want to play the use the board, you need to put it down somewhere
+3 -3
View File
@@ -70,14 +70,14 @@
else
icon_state = "[initial(icon_state)]_3"
/obj/item/stack/examine(mob/user, distance, is_adjacent)
/obj/item/stack/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
if(!iscoil())
if(!uses_charge)
to_chat(user, "There [src.amount == 1 ? "is" : "are"] <b>[src.amount]</b> [src.singular_name]\s in the stack.")
. += "There [src.amount == 1 ? "is" : "are"] <b>[src.amount]</b> [src.singular_name]\s in the stack."
else
to_chat(user, "You have enough charge to produce <b>[get_amount()]</b>.")
. += "You have enough charge to produce <b>[get_amount()]</b>."
/obj/item/stack/attack_self(mob/user)
list_recipes(user, recipes)
+2 -2
View File
@@ -61,10 +61,10 @@
to_chat(user, SPAN_WARNING("This object is far too large to wrap!"))
return
/obj/item/stack/wrapping_paper/examine(mob/user, distance, is_adjacent)
/obj/item/stack/wrapping_paper/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 1)
to_chat(user, "There [amount == 1 ? "is" : "are"] about [amount] [singular_name]\s of paper left!")
. += "There [amount == 1 ? "is" : "are"] about [amount] [singular_name]\s of paper left!"
/obj/item/stack/wrapping_paper/attack(mob/target, mob/user)
if(!ishuman(target))
+2 -2
View File
@@ -409,10 +409,10 @@
attack_verb = list("attacked", "struck", "hit")
var/dart_count = 5
/obj/item/toy/crossbow/examine(mob/user, distance, is_adjacent)
/obj/item/toy/crossbow/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 2 && dart_count)
to_chat(user, "<span class='notice'>\The [src] is loaded with [dart_count] foam dart\s.</span>")
. += "<span class='notice'>\The [src] is loaded with [dart_count] foam dart\s.</span>"
/obj/item/toy/crossbow/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/toy/ammo/crossbow))
+9 -9
View File
@@ -61,10 +61,10 @@
/obj/item/rfd/proc/can_use(var/mob/user,var/turf/T)
return (user.Adjacent(T) && user.get_active_hand() == src && !user.stat && !user.restrained())
/obj/item/rfd/examine(var/mob/user)
/obj/item/rfd/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(loc == user)
to_chat(user, "It currently holds [stored_matter]/30 matter units.")
. += "It currently holds [stored_matter]/30 matter units."
/obj/item/rfd/attack_self(mob/user)
//Change the mode
@@ -538,13 +538,13 @@
/obj/item/rfd/transformer/attack_self(mob/user)
return
/obj/item/rfd/transformer/examine(var/mob/user)
/obj/item/rfd/transformer/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(loc == user)
if(malftransformermade)
to_chat(user, "There is already a transformer machine made!")
. += "There is already a transformer machine made!"
else
to_chat(user, "It is ready to deploy a transformer machine.")
. += "It is ready to deploy a transformer machine."
/obj/item/rfd/transformer/afterattack(atom/A, mob/user as mob, proximity)
@@ -671,11 +671,11 @@
"Omni Gas Filter" = PIPE_OMNI_FILTER
)
/obj/item/rfd/piping/examine(mob/user)
/obj/item/rfd/piping/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, FONT_SMALL(SPAN_NOTICE("Change pipe category by ALT-clicking, change pipe selection by using in-hand.")))
to_chat(user, SPAN_NOTICE("Selected pipe category: <b>[selected_mode]</b>"))
to_chat(user, SPAN_NOTICE("Selected pipe: <b>[pipe_examine]</b>"))
. += FONT_SMALL(SPAN_NOTICE("Change pipe category by ALT-clicking, change pipe selection by using in-hand."))
. += SPAN_NOTICE("Selected pipe category: <b>[selected_mode]</b>.")
. += SPAN_NOTICE("Selected pipe: <b>[pipe_examine]</b>.")
/obj/item/rfd/piping/afterattack(atom/A, mob/user, proximity)
if(!proximity || !isturf(A))
@@ -20,11 +20,11 @@
unset_registered_user(registered_user)
return ..()
/obj/item/card/id/syndicate/examine(mob/user, distance, is_adjacent)
/obj/item/card/id/syndicate/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
if(user == registered_user)
to_chat(user, FONT_SMALL(SPAN_NOTICE("It is at [charge]/[initial(charge)] charge.")))
. += FONT_SMALL(SPAN_NOTICE("It is at [charge]/[initial(charge)] charge."))
/obj/item/card/id/syndicate/process()
if(electronic_warfare)
@@ -1024,10 +1024,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/trash/cigbutt/roll
icon_state = "rollbutt"
/obj/item/clothing/mask/smokable/cigarette/rolled/examine(mob/user)
/obj/item/clothing/mask/smokable/cigarette/rolled/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(filter)
to_chat(user, "Capped off one end with a filter.")
. += "It's capped off one end with a filter."
/obj/item/clothing/mask/smokable/cigarette/rolled/update_icon()
. = ..()
@@ -22,19 +22,20 @@
var/list/req_components
var/contain_parts = 1
/obj/item/circuitboard/examine(mob/user)
/obj/item/circuitboard/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(build_path)
var/obj/machine = new build_path // instantiate to get the name and desc
to_chat(user, FONT_SMALL(SPAN_NOTICE("This circuitboard will build a <b>[capitalize_first_letters(machine.name)]</b>: [machine.desc]")))
. += FONT_SMALL(SPAN_NOTICE("This circuitboard will build a <b>[capitalize_first_letters(machine.name)]</b>: [machine.desc]"))
if(board_type == BOARD_COMPUTER) // does not have build components, only goes into a frame
to_chat(user, SPAN_NOTICE("This board is used inside a <b>computer frame</b>."))
. += SPAN_NOTICE("This board is used inside a <b>computer frame</b>.")
else if(req_components)
to_chat(user, SPAN_NOTICE("To build this machine, you will require:"))
. += SPAN_NOTICE("To build this machine, you will require:")
for(var/I in req_components)
if(req_components[I] > 0)
var/obj/component = new I // instantiate to get the name
to_chat(user, SPAN_NOTICE("- [num2text(req_components[I])] <b>[capitalize_first_letters(component.name)]</b>"))
. += SPAN_NOTICE("- [num2text(req_components[I])] <b>[capitalize_first_letters(component.name)]</b>")
//Called when the circuitboard is used to contruct a new machine.
/obj/item/circuitboard/proc/construct(var/obj/machinery/M)
@@ -14,9 +14,9 @@
user.visible_message("<span class='notice'>\The [user] adjusts the jumper on the [src]'s port configuration pins.</span>", "<span class='notice'>You adjust the jumper on the port configuration pins. Now set to [dir2text(machine_dir)].</span>")
return
/obj/item/circuitboard/unary_atmos/examine()
/obj/item/circuitboard/unary_atmos/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(usr, "The jumper is connecting the [dir2text(machine_dir)] pins.")
. += "The jumper is connecting the [dir2text(machine_dir)] pins."
/obj/item/circuitboard/unary_atmos/construct(var/obj/machinery/atmospherics/unary/U)
//TODO: Move this stuff into the relevant constructor when pipe/construction.dm is cleaned up.
@@ -138,12 +138,12 @@
return
..()
/obj/item/cloaking_device/examine(mob/user)
/obj/item/cloaking_device/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if (!cell)
to_chat(user, "It needs a power cell to function.")
. += SPAN_WARNING("It needs a power cell to function.")
else
to_chat(user, "It has [cell.percent()]% power remaining")
. += SPAN_NOTICE("It has [cell.percent()]% power remaining.")
/obj/item/cloaking_device/process()
if (!cell || !cell.checked_use(power_usage*CELLRATE))
+17 -17
View File
@@ -42,12 +42,12 @@
icon_empty = "ccigoff"
icon_on = "ccigon"
/obj/item/clothing/mask/smokable/ecig/simple/examine(mob/user)
/obj/item/clothing/mask/smokable/ecig/simple/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(ec_cartridge)
to_chat(user, SPAN_NOTICE("There are [round(ec_cartridge.reagents.total_volume, 1)] unit\s of liquid remaining."))
. += SPAN_NOTICE("There are [round(ec_cartridge.reagents.total_volume, 1)] unit\s of liquid remaining.")
else
to_chat(user, SPAN_NOTICE("There's no cartridge connected."))
. += SPAN_NOTICE("There's no cartridge connected.")
/obj/item/clothing/mask/smokable/ecig/util
name = "electronic cigarette"
@@ -61,20 +61,20 @@
. = ..()
color = pick(ecig_colors)
/obj/item/clothing/mask/smokable/ecig/util/examine(mob/user)
/obj/item/clothing/mask/smokable/ecig/util/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(ec_cartridge)
to_chat(user, SPAN_NOTICE("There are [round(ec_cartridge.reagents.total_volume, 1)] unit\s of liquid remaining."))
. += SPAN_NOTICE("There are [round(ec_cartridge.reagents.total_volume, 1)] unit\s of liquid remaining.")
else
to_chat(user, SPAN_NOTICE("There's no cartridge connected."))
. += SPAN_NOTICE("There's no cartridge connected.")
if(cig_cell)
to_chat(user, SPAN_NOTICE("The power meter shows that there's about [round(cig_cell.percent(), 5)]% power remaining."))
. += SPAN_NOTICE("The power meter shows that there's about [round(cig_cell.percent(), 5)]% power remaining.")
else
to_chat(user, SPAN_NOTICE("There's no power cell connected."))
. += SPAN_NOTICE("There's no power cell connected.")
if(active)
to_chat(user, SPAN_NOTICE("It is currently turned on."))
. += SPAN_NOTICE("It is currently turned on.")
else
to_chat(user, SPAN_NOTICE("It is currently turned off."))
. += SPAN_NOTICE("It is currently turned off.")
/obj/item/clothing/mask/smokable/ecig/deluxe
name = "deluxe electronic cigarette"
@@ -85,16 +85,16 @@
icon_on = "pcigon"
cell_type = /obj/item/cell/device/high
/obj/item/clothing/mask/smokable/ecig/deluxe/examine(mob/user)
/obj/item/clothing/mask/smokable/ecig/deluxe/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(ec_cartridge)
to_chat(user, SPAN_NOTICE("There are [round(ec_cartridge.reagents.total_volume, 1)] unit\s of liquid remaining."))
. += SPAN_NOTICE("There are [round(ec_cartridge.reagents.total_volume, 1)] unit\s of liquid remaining.")
else
to_chat(user, SPAN_NOTICE("There's no cartridge connected."))
. += SPAN_NOTICE("There's no cartridge connected.")
if(cig_cell)
to_chat(user, SPAN_NOTICE("The power meter shows that there's about [round(cig_cell.percent(), 1)]% power remaining."))
. += SPAN_NOTICE("The power meter shows that there's about [round(cig_cell.percent(), 1)]% power remaining.")
else
to_chat(user, SPAN_NOTICE("There's no power cell connected."))
. += SPAN_NOTICE("There's no power cell connected.")
/obj/item/clothing/mask/smokable/ecig/proc/deactivate()
active = FALSE
@@ -248,9 +248,9 @@
volume = 20
atom_flags = ATOM_FLAG_OPEN_CONTAINER
/obj/item/reagent_containers/ecig_cartridge/examine(mob/user)
/obj/item/reagent_containers/ecig_cartridge/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "The cartridge has [reagents.total_volume] unit\s of liquid remaining.")
. += SPAN_NOTICE("The cartridge has [reagents.total_volume] unit\s of liquid remaining.")
//flavours
/obj/item/reagent_containers/ecig_cartridge/blank
@@ -56,21 +56,21 @@
to_chat(user,"<span class='notice'>\The reagents inside [src] are already secured!</span>")
return
/obj/item/reagent_containers/extinguisher_refill/examine(mob/user, distance) //Copied from inhalers.
/obj/item/reagent_containers/extinguisher_refill/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!distance <= 2)
return
if(is_open_container())
if(LAZYLEN(reagents?.reagent_volumes))
to_chat(user,"<span class='notice'>It contains [round(reagents.total_volume, accuracy)] units of non-aerosol mix.</span>")
. += SPAN_NOTICE("It contains [round(reagents.total_volume, accuracy)] units of non-aerosol mix.")
else
to_chat(user,"<span class='notice'>It is empty.</span>")
. += SPAN_NOTICE("It is empty.")
else
if(LAZYLEN(reagents?.reagent_volumes))
to_chat(user,"<span class='notice'>The reagents are secured in the aerosol mix.</span>")
. += SPAN_NOTICE("The reagents are secured in the aerosol mix.")
else
to_chat(user,"<span class='notice'>The cartridge seems spent.</span>")
. += SPAN_NOTICE("The cartridge seems spent.")
/obj/item/reagent_containers/extinguisher_refill/filled
name = "extinguisher refiller (monoammonium phosphate)"
@@ -128,11 +128,11 @@
reagents.add_reagent(/singleton/reagent/toxin/fertilizer/monoammoniumphosphate, max_water)
..()
/obj/item/extinguisher/examine(mob/user, distance)
/obj/item/extinguisher/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 0)
to_chat(user,"\The [src] contains [src.reagents.total_volume] units of reagents.")
to_chat(user,"The safety is [safety ? "on" : "off"].")
. += SPAN_NOTICE("\The [src] contains [src.reagents.total_volume] units of reagents.")
. += SPAN_NOTICE("The safety is [safety ? "on" : "off"].")
return
/obj/item/extinguisher/attack(mob/living/M, mob/living/user, target_zone)
@@ -34,17 +34,17 @@
welding_tool.forceMove(src)
update_icon()
/obj/item/flamethrower/examine(mob/user, distance, is_adjacent)
/obj/item/flamethrower/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(is_adjacent)
if(gas_tank)
to_chat(user, SPAN_NOTICE("Release pressure is set to [throw_amount] kPa. The tank has about [round(gas_tank.air_contents.return_pressure(), 10)] kPa left in it."))
. += SPAN_NOTICE("Release pressure is set to [throw_amount] kPa. The tank has about [round(gas_tank.air_contents.return_pressure(), 10)] kPa left in it.")
else
to_chat(user, SPAN_WARNING("It has no gas tank installed."))
. += SPAN_WARNING("It has no gas tank installed.")
if(igniter)
to_chat(user, SPAN_NOTICE("It has \an [igniter] installed."))
. += SPAN_NOTICE("It has \an [igniter] installed.")
else
to_chat(user, SPAN_WARNING("It has no igniter installed."))
. += SPAN_WARNING("It has no igniter installed.")
/obj/item/flamethrower/Destroy()
QDEL_NULL(welding_tool)
@@ -111,10 +111,10 @@
else
to_chat(user, "<span class='warning'>\The [W] is empty.</span>")
/obj/item/grenade/chem_grenade/examine(mob/user)
/obj/item/grenade/chem_grenade/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(detonator)
to_chat(user, "With attached [detonator.name]")
. += "With attached [detonator.name]"
/obj/item/grenade/chem_grenade/activate(mob/user as mob)
if(active) return
@@ -30,15 +30,15 @@
return 0
return 1
/obj/item/grenade/examine(mob/user, distance, is_adjacent)
/obj/item/grenade/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 0)
if(det_time > 1)
to_chat(user, "The timer is set to [det_time/10] seconds.")
. += SPAN_NOTICE("The timer is set to [det_time/10] seconds.")
return
if(det_time == null)
return
to_chat(user, "\The [src] is set for instant detonation.")
. += SPAN_NOTICE("\The [src] is set for instant detonation.")
/obj/item/grenade/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/gun/launcher/grenade))
@@ -263,10 +263,10 @@
QDEL_NULL(explosive)
return ..()
/obj/item/material/twohanded/spear/examine(mob/user)
/obj/item/material/twohanded/spear/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(explosive)
to_chat(user, "It has \the [explosive] strapped to it.")
. += "It has \the [explosive] strapped to it."
/obj/item/material/twohanded/spear/attackby(var/obj/item/I, var/mob/living/user)
if(istype(I, /obj/item/organ/external/head))
@@ -472,12 +472,12 @@
RemoveFuel(FuelToRemove)
/obj/item/material/twohanded/chainsaw/examine(mob/user, distance, is_adjacent)
/obj/item/material/twohanded/chainsaw/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 1)
to_chat(user, "A heavy-duty chainsaw meant for cutting wood. Contains <b>[round(REAGENT_VOLUME(reagents, fuel_type))]</b> unit\s of fuel.")
. += "A heavy-duty chainsaw meant for cutting wood. Contains <b>[round(REAGENT_VOLUME(reagents, fuel_type))]</b> unit\s of fuel."
if(powered)
to_chat(user, SPAN_NOTICE("It is currently powered on."))
. += SPAN_NOTICE("It is currently powered on.")
/obj/item/material/twohanded/chainsaw/attack(mob/M as mob, mob/living/user as mob)
. = ..()
+2 -2
View File
@@ -111,6 +111,6 @@
if(reagents.total_volume < 30)
reagents.add_reagent(refill_reagent, refill_rate)
/obj/item/mop/advanced/examine(mob/user)
/obj/item/mop/advanced/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, SPAN_NOTICE("\The condenser switch is set to <b>[refill_enabled ? "ON" : "OFF"]</b>."))
. += SPAN_NOTICE("\The condenser switch is set to <b>[refill_enabled ? "ON" : "OFF"]</b>.")
@@ -31,10 +31,10 @@ var/list/tape_roll_applications = list()
var/crumpled = 0
var/icon_base
/obj/item/tape/examine(mob/user, distance, is_adjacent)
/obj/item/tape/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(LAZYLEN(crumplers) && is_adjacent)
to_chat(user, SPAN_WARNING("\The [initial(name)] has been crumpled by [english_list(crumplers)]."))
. += SPAN_WARNING("\The [initial(name)] has been crumpled by [english_list(crumplers)].")
/obj/item/taperoll/police
name = "police tape"
@@ -90,10 +90,10 @@ var/list/tape_roll_applications = list()
icon_base = "engineering"
var/shield_marker = FALSE
/obj/item/tape/engineering/examine(mob/user, distance)
/obj/item/tape/engineering/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(shield_marker)
to_chat(user, SPAN_NOTICE("This strip of tape has been modified to serve as a marker for emergency shield generators to lock onto."))
. += SPAN_NOTICE("This strip of tape has been modified to serve as a marker for emergency shield generators to lock onto.")
/obj/item/tape/engineering/attackby(obj/item/W, mob/user)
if(W.ismultitool())
@@ -90,13 +90,13 @@
damage(damage)
..()
/obj/item/storage/box/examine(var/mob/user)
/obj/item/storage/box/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if (health < maxHealth)
if (health >= (maxHealth * 0.5))
to_chat(user, SPAN_WARNING("It is slightly torn."))
. += SPAN_WARNING("It is slightly torn.")
else
to_chat(user, SPAN_DANGER("It is full of tears and holes."))
. += SPAN_DANGER("It is full of tears and holes.")
// BubbleWrap - A box can be folded up to make card
/obj/item/storage/box/attack_self(mob/user as mob)
@@ -73,14 +73,14 @@
update_icon()
. = ..()
/obj/item/storage/box/fancy/examine(mob/user)
/obj/item/storage/box/fancy/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!icon_type || !storage_type)
return
if(contents.len <= 0)
to_chat(user, "There are no [src.icon_type]s left in the [src.storage_type].")
. += "There are no [src.icon_type]s left in the [src.storage_type]."
else
to_chat(user, "There [src.contents.len == 1 ? "is" : "are"] <b>[src.contents.len]</b> [src.icon_type]\s left in \the [src.storage_type].")
. += "There [src.contents.len == 1 ? "is" : "are"] <b>[src.contents.len]</b> [src.icon_type]\s left in \the [src.storage_type]."
/*
* Donut Box
@@ -35,9 +35,9 @@ MRE Stuff
/obj/item/storage/mre/attack_self(mob/user)
open(user)
/obj/item/storage/box/fancy/mre/examine(mob/user)
/obj/item/storage/box/fancy/mre/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, meal_desc)
. += meal_desc
/obj/item/storage/box/fancy/mre/menu2
name = "\improper MRE, menu 2"
@@ -28,10 +28,10 @@
max_storage_space = 16
use_sound = 'sound/items/storage/briefcase.ogg'
/obj/item/storage/secure/examine(mob/user, distance, is_adjacent)
/obj/item/storage/secure/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 1)
to_chat(user, text("The service panel is [src.open ? "open" : "closed"]."))
. += "The service panel is [src.open ? "open" : "closed"]."
/obj/item/storage/secure/attackby(obj/item/W as obj, mob/user as mob)
if(locked)
@@ -94,10 +94,10 @@
QDEL_NULL(closer)
return ..()
/obj/item/storage/examine(mob/user)
/obj/item/storage/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(isobserver(user))
to_chat(user, "It contains: [counting_english_list(contents)]")
. += "It contains: [counting_english_list(contents)]"
/obj/item/storage/MouseDrop(obj/over_object)
if(!canremove)
+3 -3
View File
@@ -59,14 +59,14 @@
else
set_light(0)
/obj/item/melee/baton/examine(mob/user, distance)
/obj/item/melee/baton/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!distance <= 1)
return
if(bcell)
to_chat(user, "<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>")
. += "<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>"
else
to_chat(user, "<span class='warning'>The baton does not have a power source installed.</span>")
. += "<span class='warning'>The baton does not have a power source installed.</span>"
/obj/item/melee/baton/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/cell))
+2 -2
View File
@@ -120,10 +120,10 @@
var/recharge_time = 1 MINUTE
var/when_recharge = 0
/obj/item/syndie/teleporter/examine(mob/user, distance)
/obj/item/syndie/teleporter/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!ready_to_use && burglars.is_antagonist(user.mind))
to_chat(user, SPAN_NOTICE("Charging: [num2loadingbar(world.time / when_recharge)]"))
. += SPAN_NOTICE("Charging: [num2loadingbar(world.time / when_recharge)]")
/obj/item/syndie/teleporter/set_initial_maptext()
held_maptext = SMALL_FONTS(7, "Ready")
@@ -45,10 +45,10 @@
var/volume_rate = 500 //Needed for borg jetpack transfer
action_button_name = "Toggle Jetpack"
/obj/item/tank/jetpack/examine(mob/user)
/obj/item/tank/jetpack/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(air_contents.total_moles < 5)
to_chat(user, "<span class='danger'>The meter on \the [src] indicates you are almost out of gas!</span>")
. += SPAN_NOTICE("The meter on \the [src] indicates you are almost out of gas!")
/obj/item/tank/jetpack/verb/toggle_rockets()
set name = "Toggle Jetpack Stabilization"
@@ -187,10 +187,6 @@
holder = null
. = ..()
/obj/item/tank/jetpack/rig/examine()
to_chat(usr, "It's a jetpack. If you can see this, report it on the bug tracker.")
return TRUE
/obj/item/tank/jetpack/rig/allow_thrust(num, mob/living/user as mob)
if(!(src.on))
@@ -21,10 +21,10 @@
/obj/item/tank/oxygen/adjust_initial_gas()
air_contents.adjust_gas(GAS_OXYGEN, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
/obj/item/tank/oxygen/examine(mob/user, distance, is_adjacent)
/obj/item/tank/oxygen/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if((is_adjacent) && air_contents.gas[GAS_OXYGEN] < 10)
to_chat(user, text("<span class='warning'>The meter on \the [src] indicates you are almost out of oxygen!</span>"))
. += SPAN_WARNING("The meter on \the [src] indicates you are almost out of oxygen!")
/obj/item/tank/oxygen/yellow
desc = "A tank of oxygen, this one is yellow."
@@ -76,10 +76,10 @@
/obj/item/tank/air/adjust_initial_gas()
air_contents.adjust_multi(GAS_OXYGEN, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * O2STANDARD, GAS_NITROGEN, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) * N2STANDARD)
/obj/item/tank/air/examine(mob/user, distance, is_adjacent)
/obj/item/tank/air/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if((is_adjacent) && air_contents.gas[GAS_OXYGEN] < 1 && loc==user)
to_chat(user, "<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>")
. += SPAN_WARNING("The meter on the [src.name] indicates you are almost out of air!")
/*
* Phoron
@@ -148,10 +148,10 @@
/obj/item/tank/emergency_oxygen/adjust_initial_gas()
air_contents.adjust_gas(GAS_OXYGEN, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
/obj/item/tank/emergency_oxygen/examine(mob/user, distance, is_adjacent)
/obj/item/tank/emergency_oxygen/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if((is_adjacent) && air_contents.gas[GAS_OXYGEN] < 0.2 && loc==user)
to_chat(user, text("<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>"))
. += SPAN_WARNING("The meter on the [src.name] indicates you are almost out of air!")
/obj/item/tank/emergency_oxygen/engi
name = "extended-capacity emergency oxygen tank"
@@ -47,7 +47,7 @@
return ..()
/obj/item/tank/examine(mob/user, distance, is_adjacent)
/obj/item/tank/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 0)
var/celsius_temperature = air_contents.temperature - T0C
@@ -65,7 +65,7 @@
descriptive = "room temperature"
else
descriptive = "cold"
to_chat(user, "<span class='notice'>\The [src] feels [descriptive].</span>")
. += SPAN_NOTICE("\The [src] feels [descriptive].")
/obj/item/tank/attackby(obj/item/W as obj, mob/user as mob)
..()
@@ -158,13 +158,13 @@ Frequency:
var/max_portals = 2
/obj/item/hand_tele/examine(mob/user, distance)
/obj/item/hand_tele/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(linked_pad)
var/area/A = get_area(linked_pad)
to_chat(user, SPAN_NOTICE("\The [src] is linked to a teleportation pad in [A.name]"))
. += SPAN_NOTICE("\The [src] is linked to a teleportation pad in [A.name]")
else
to_chat(user, SPAN_WARNING("\The [src] isn't linked to any teleportation pads!"))
. += SPAN_WARNING("\The [src] isn't linked to any teleportation pads!")
/obj/item/hand_tele/set_initial_maptext()
held_maptext = SMALL_FONTS(7, "Ready")
+7 -7
View File
@@ -339,10 +339,10 @@
STOP_PROCESSING(SSprocessing, src)
return ..()
/obj/item/weldingtool/examine(mob/user, distance, is_adjacent)
/obj/item/weldingtool/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 0)
to_chat(user, text("[icon2html(src, user)] [] contains []/[] units of fuel!", src.name, get_fuel(),src.max_fuel ))
. += "It contains [get_fuel()]/[max_fuel] units of fuel."
/obj/item/weldingtool/attackby(obj/item/W, mob/user)
if(W.isscrewdriver())
@@ -795,10 +795,10 @@
tools[tool] = image('icons/obj/tools.dmi', icon_state = "[icon_state]-[tool]")
. = ..()
/obj/item/combitool/examine(var/mob/user)
/obj/item/combitool/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(tools.len)
to_chat(user, "It has the following fittings: <b>[english_list(tools)]</b>.")
. += "It has the following fittings: <b>[english_list(tools)]</b>."
/obj/item/combitool/iswrench()
return current_tool == "wrench"
@@ -854,12 +854,12 @@
/obj/item/powerdrill/set_initial_maptext()
held_maptext = SMALL_FONTS(7, "S")
/obj/item/powerdrill/examine(var/mob/user)
/obj/item/powerdrill/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(tools.len)
to_chat(user, "It has the following fittings:")
. += "It has the following fittings:"
for(var/tool in tools)
to_chat(user, "- [tool][tools[current_tool] == tool ? " (selected)" : ""]")
. += "- [tool][tools[current_tool] == tool ? " (selected)" : ""]"
/obj/item/powerdrill/MouseEntered(location, control, params)
. = ..()
+7 -6
View File
@@ -195,17 +195,17 @@
/obj/item/trap/animal/update_icon()
icon_state = "[icon_base][deployed]"
/obj/item/trap/animal/examine(mob/user)
/obj/item/trap/animal/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(captured)
var/datum/L = captured.resolve()
if (L)
to_chat(user, "<span class='warning'>[L] is trapped inside!</span>")
. += SPAN_WARNING("[L] is trapped inside!")
return
else if(deployed)
to_chat(user, SPAN_WARNING("It's set up and ready to capture something."))
. += SPAN_WARNING("It's set up and ready to capture something.")
else
to_chat(user, "<span class='notice'>\The [src] is empty and un-deployed.</span>")
. += SPAN_NOTICE("\The [src] is empty and un-deployed.")
/obj/item/trap/animal/Crossed(atom/movable/AM)
if(!deployed || !anchored)
@@ -796,10 +796,11 @@
victim.visible_message(SPAN_ALERT("You notice something written on a plate inside the trap: <br>")+SPAN_BAD(message))
/obj/item/trap/punji/examine(mob/user, distance)
/obj/item/trap/punji/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(src.message && distance < 3)
to_chat(user, SPAN_ALERT("You notice something written on a plate inside the trap: <br>")+SPAN_BAD(message))
. += SPAN_ALERT("You notice something written on a plate inside the trap:")
. += SPAN_BAD(message)
/obj/item/trap/punji/verb/hide_under()
set src in oview(1)
+3 -3
View File
@@ -239,12 +239,12 @@
return
..()
/obj/examine(mob/user)
/obj/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if((obj_flags & OBJ_FLAG_ROTATABLE) || (obj_flags & OBJ_FLAG_ROTATABLE_ANCHORED))
to_chat(user, SPAN_SUBTLE("Can be rotated with alt-click."))
. += SPAN_SUBTLE("Can be rotated with alt-click.")
if(contaminated)
to_chat(user, SPAN_ALIEN("\The [src] has been contaminated!"))
. += SPAN_ALIEN("\The [src] has been contaminated!")
// whether mobs can unequip and drop items into us or not
/obj/proc/can_hold_dropped_items()
@@ -31,20 +31,20 @@
update_icon()
starting_maxhealth = maxhealth
/obj/structure/barricade/examine(mob/user)
/obj/structure/barricade/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, SPAN_INFO("It is recommended to stand flush to a barricade or one tile away for maximum efficiency."))
. += SPAN_INFO("It is recommended to stand flush to a barricade or one tile away for maximum efficiency.")
if(is_wired)
to_chat(user, SPAN_INFO("There is a length of wire strewn across the top of this barricade."))
. += SPAN_INFO("There is a length of wire strewn across the top of this barricade.")
switch(damage_state)
if(BARRICADE_DMG_NONE)
to_chat(user, SPAN_INFO("It appears to be in good shape."))
. += SPAN_INFO("It appears to be in good shape.")
if(BARRICADE_DMG_SLIGHT)
to_chat(user, SPAN_WARNING("It's slightly damaged, but still very functional."))
. += SPAN_WARNING("It's slightly damaged, but still very functional.")
if(BARRICADE_DMG_MODERATE)
to_chat(user, SPAN_WARNING("It's quite beat up, but it's holding together."))
. += SPAN_WARNING("It's quite beat up, but it's holding together.")
if(BARRICADE_DMG_HEAVY)
to_chat(user, SPAN_WARNING("It's crumbling apart, just a few more blows will tear it apart!"))
. += SPAN_WARNING("It's crumbling apart, just a few more blows will tear it apart!")
/obj/structure/barricade/update_icon()
overlays.Cut()
@@ -14,15 +14,15 @@
can_wire = TRUE
var/build_state = BARRICADE_BSTATE_SECURED //Look at __game.dm for barricade defines
/obj/structure/barricade/metal/examine(mob/user)
/obj/structure/barricade/metal/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
switch(build_state)
if(BARRICADE_BSTATE_SECURED)
to_chat(user, SPAN_INFO("The protection panel is still tighly screwed in place."))
. += SPAN_INFO("The protection panel is still tighly screwed in place.")
if(BARRICADE_BSTATE_UNSECURED)
to_chat(user, SPAN_INFO("The protection panel has been removed, you can see the anchor bolts."))
. += SPAN_INFO("The protection panel has been removed, you can see the anchor bolts.")
if(BARRICADE_BSTATE_MOVABLE)
to_chat(user, SPAN_INFO("The protection panel has been removed and the anchor bolts loosened. It's ready to be taken apart."))
. += SPAN_INFO("The protection panel has been removed and the anchor bolts loosened. It's ready to be taken apart.")
/obj/structure/barricade/metal/attackby(obj/item/W, mob/user)
if(W.iswelder())
@@ -42,16 +42,15 @@
else
return 0
/obj/structure/barricade/plasteel/examine(mob/user)
/obj/structure/barricade/plasteel/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
switch(build_state)
if(BARRICADE_BSTATE_SECURED)
to_chat(user, SPAN_INFO("The protection panel is still tighly screwed in place."))
. += SPAN_INFO("The protection panel is still tighly screwed in place.")
if(BARRICADE_BSTATE_UNSECURED)
to_chat(user, SPAN_INFO("The protection panel has been removed, you can see the anchor bolts."))
. += SPAN_INFO("The protection panel has been removed, you can see the anchor bolts.")
if(BARRICADE_BSTATE_MOVABLE)
to_chat(user, SPAN_INFO("The protection panel has been removed and the anchor bolts loosened. It's ready to be taken apart."))
. += SPAN_INFO("The protection panel has been removed and the anchor bolts loosened. It's ready to be taken apart.")
/obj/structure/barricade/plasteel/weld_cade(obj/item/W, mob/user)
busy = TRUE
+4 -5
View File
@@ -376,16 +376,15 @@ LINEN BINS
var/obj/item/hidden = null
/obj/structure/bedsheetbin/examine(mob/user)
/obj/structure/bedsheetbin/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(amount < 1)
to_chat(user, "There are no bed sheets in the bin.")
. += "There are no bed sheets in the bin."
return
if(amount == 1)
to_chat(user, "There is one bed sheet in the bin.")
. += "There is one bed sheet in the bin."
return
to_chat(user, "There are [amount] bed sheets in the bin.")
. += "There are [amount] bed sheets in the bin."
/obj/structure/bedsheetbin/update_icon()
+6 -6
View File
@@ -32,22 +32,22 @@ GLOBAL_LIST_EMPTY(total_active_bonfires)
GLOB.total_active_bonfires -= src
. = ..()
/obj/structure/bonfire/examine(mob/user, distance, is_adjacent)
/obj/structure/bonfire/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance > 2)
return
if(on_fire)
switch(fuel)
if(0 to 200)
to_chat(user, "\The [src] is burning weakly.")
. += "\The [src] is burning weakly."
if(200 to 600)
to_chat(user, "\The [src] is gently burning.")
. += "\The [src] is gently burning."
if(600 to 900)
to_chat(user, "\The [src] is burning steadily.")
. += "\The [src] is burning steadily."
if(900 to 1300)
to_chat(user, "The flames are dancing wildly!")
. += "The flames are dancing wildly!"
if(1300 to 2000)
to_chat(user, "The fire is roaring!")
. += "The fire is roaring!"
/obj/structure/bonfire/update_icon()
if(on_fire)
@@ -90,30 +90,30 @@
/obj/structure/closet/proc/content_info(mob/user, content_size)
if(!content_size)
to_chat(user, "\The [src] is empty.")
. = "\The [src] is empty."
else if(storage_capacity > content_size*4)
to_chat(user, "\The [src] is barely filled.")
. = "\The [src] is barely filled."
else if(storage_capacity > content_size*2)
to_chat(user, "\The [src] is less than half full.")
. = "\The [src] is less than half full."
else if(storage_capacity > content_size)
to_chat(user, "\The [src] still has some free space.")
. = "\The [src] still has some free space."
else
to_chat(user, "\The [src] is full.")
. = "\The [src] is full."
/obj/structure/closet/examine(mob/user, distance, is_adjacent)
/obj/structure/closet/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 1 && !src.opened)
var/content_size = 0
for(var/obj/item/I in contents)
if(!I.anchored)
content_size += Ceiling(I.w_class/2)
content_info(user, content_size)
. += content_info(user, content_size)
if(!src.opened && isobserver(user))
to_chat(user, "It contains: [counting_english_list(contents)]")
. += "It contains: [counting_english_list(contents)]"
if(src.opened && linked_teleporter && is_adjacent)
to_chat(user, FONT_SMALL(SPAN_NOTICE("There appears to be a device attached to the interior backplate of \the [src]...")))
. += FONT_SMALL(SPAN_NOTICE("There appears to be a device attached to the interior backplate of \the [src]..."))
/obj/structure/closet/proc/stored_weight()
var/content_size = 0
+2 -2
View File
@@ -27,7 +27,7 @@
if(our_creator)
creator = our_creator
/obj/structure/reagent_crystal/examine(mob/user)
/obj/structure/reagent_crystal/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
var/state
var/current_damage = health / initial(health)
@@ -40,7 +40,7 @@
state = SPAN_WARNING("The crystal has scratches and deeper grooves on its surface.")
if(0.8 to 1)
state = SPAN_NOTICE("The crystal looks structurally sound.")
to_chat(user, state)
. += state
/obj/structure/reagent_crystal/proc/take_damage(var/damage)
health -= damage
@@ -31,9 +31,9 @@
. = ..()
update_state()
/obj/structure/door_assembly/examine(mob/user)
/obj/structure/door_assembly/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
to_chat(user, "It is currently facing [dir2text(dir)].")
. += "It is currently facing [dir2text(dir)]."
/obj/structure/door_assembly/door_assembly_generic
base_name = "airlock"
+6 -6
View File
@@ -18,20 +18,20 @@
var/reinforcing = 0
var/plating = FALSE
/obj/structure/girder/examine(mob/user, distance, infix, suffix)
/obj/structure/girder/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
var/state
var/current_damage = health / initial(health)
switch(current_damage)
if(0 to 0.2)
state = "<span class='danger'>The support struts are collapsing!</span>"
state = SPAN_DANGER("The support struts are collapsing!")
if(0.2 to 0.4)
state = "<span class='warning'>The support struts are warped!</span>"
state = SPAN_WARNING("The support struts are warped!")
if(0.4 to 0.8)
state = "<span class='notice'>The support struts are dented, but holding together.</span>"
state = SPAN_NOTICE("The support struts are dented, but holding together.")
if(0.8 to 1)
state = "<span class='notice'>The support struts look completely intact.</span>"
to_chat(user, state)
state = SPAN_NOTICE("The support struts look completely intact.")
. += state
/obj/structure/girder/displaced
name = "displaced girder"
+5 -5
View File
@@ -13,18 +13,18 @@
. = ..()
health = maxHealth
/obj/structure/gore/examine(mob/user, distance, is_adjacent)
/obj/structure/gore/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 2)
var/health_div = health / maxHealth
if(health_div >= 0.9)
to_chat(user, SPAN_NOTICE("\The [src] appears completely intact."))
. += SPAN_NOTICE("\The [src] appears completely intact.")
else if(health_div >= 0.7)
to_chat(user, SPAN_NOTICE("\The [src] is starting to tear somewhat."))
. += SPAN_NOTICE("\The [src] is starting to tear somewhat.")
else if(health_div >= 0.4)
to_chat(user, SPAN_WARNING("\The [src] is starting to fall apart."))
. += SPAN_WARNING("\The [src] is starting to fall apart.")
else
to_chat(user, SPAN_WARNING("\The [src] is barely holding itself together!"))
. += SPAN_WARNING("\The [src] is barely holding itself together!")
/obj/structure/gore/proc/healthcheck()
if(health <= 0)
+5 -5
View File
@@ -13,18 +13,18 @@
. = ..()
health = maxHealth
/obj/structure/bed/nest/examine(mob/user, distance, is_adjacent)
/obj/structure/bed/nest/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 2)
var/health_div = health / maxHealth
if(health_div >= 0.9)
to_chat(user, SPAN_NOTICE("\The [src] appears completely intact."))
. += SPAN_NOTICE("\The [src] appears completely intact.")
else if(health_div >= 0.7)
to_chat(user, SPAN_NOTICE("\The [src] is starting to tear somewhat."))
. += SPAN_NOTICE("\The [src] is starting to tear somewhat.")
else if(health_div >= 0.4)
to_chat(user, SPAN_WARNING("\The [src] is starting to fall apart."))
. += SPAN_WARNING("\The [src] is starting to fall apart.")
else
to_chat(user, SPAN_WARNING("\The [src] is barely holding itself together!"))
. += SPAN_WARNING("\The [src] is barely holding itself together!")
/obj/structure/bed/nest/update_icon()
return
+3 -3
View File
@@ -88,14 +88,14 @@
/obj/structure/janitorialcart/proc/get_short_status()
return "Contents: [english_list(contents)]"
/obj/structure/janitorialcart/examine(mob/user, distance, is_adjacent)
/obj/structure/janitorialcart/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 1)
if (mybucket)
var/contains = mybucket.reagents.total_volume
to_chat(user, "[icon2html(src, user)] The bucket contains [contains] unit\s of liquid!")
. += "[icon2html(src, user)] The bucket contains [contains] unit\s of liquid!"
else
to_chat(user, "[icon2html(src, user)] There is no bucket mounted on it!")
. += "[icon2html(src, user)] There is no bucket mounted on it!"
//everything else is visible, so doesn't need to be mentioned
+2 -2
View File
@@ -18,10 +18,10 @@
GLOB.janitorial_supplies -= src
return ..()
/obj/structure/mopbucket/examine(mob/user, distance, is_adjacent)
/obj/structure/mopbucket/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(distance <= 1)
to_chat(user, "Contains [reagents.total_volume] unit\s of water.")
. += "It contains [reagents.total_volume] unit\s of water."
/obj/structure/mopbucket/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/mop))
+1 -1
View File
@@ -34,7 +34,7 @@
// Since Topic() never seems to interact with usr on more than a superficial
// level, it should be fine to let anyone mess with the board other than ghosts.
/obj/structure/noticeboard/examine(mob/user, distance, is_adjacent)
/obj/structure/noticeboard/examine(mob/user, distance, is_adjacent, infix, suffix)
if(is_adjacent)
var/dat = "<B>Noticeboard</B><BR>"
for(var/obj/item/paper/P in src)
+6 -6
View File
@@ -71,18 +71,18 @@
R.update_icon()
return ..()
/obj/structure/railing/examine(mob/user)
/obj/structure/railing/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(health < maxhealth)
switch(health / maxhealth)
if(0.0 to 0.5)
to_chat(user, SPAN_WARNING("It looks severely damaged!"))
. += SPAN_WARNING("It looks severely damaged!")
if(0.25 to 0.5)
to_chat(user, SPAN_WARNING("It looks damaged!"))
. += SPAN_WARNING("It looks damaged!")
if(0.5 to 1.0)
to_chat(user, SPAN_NOTICE("It has a few scrapes and dents."))
to_chat(user, FONT_SMALL(SPAN_NOTICE("\The [src] is <b>[density ? "closed" : "open"]</b> to passage.")))
to_chat(user, FONT_SMALL(SPAN_NOTICE("\The [src] is <b>[anchored ? "" : "not"] screwed</b> to the floor.")))
. += SPAN_NOTICE("It has a few scrapes and dents.")
. += FONT_SMALL(SPAN_NOTICE("\The [src] is <b>[density ? "closed" : "open"]</b> to passage."))
. += FONT_SMALL(SPAN_NOTICE("\The [src] is <b>[anchored ? "" : "not"] screwed</b> to the floor."))
/obj/structure/railing/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(istype(mover,/obj/item/projectile))
+3 -3
View File
@@ -44,13 +44,13 @@ FLOOR SAFES
space += I.w_class
I.forceMove(src)
/obj/structure/safe/examine(mob/user)
/obj/structure/safe/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(broken)
to_chat(user, SPAN_WARNING("\The [src]'s locking system has been drilled open!"))
. += SPAN_WARNING("\The [src]'s locking system has been drilled open!")
else if(time_to_drill < 300 SECONDS)
var/time_left = max(round(time_to_drill / 10), 0)
to_chat(user, SPAN_WARNING("There are only [time_left] second\s of drilling left until \the [src] is broken!"))
. += SPAN_WARNING("There are only [time_left] second\s of drilling left until \the [src] is broken!")
/obj/structure/safe/Destroy()
if(drill)
+3 -3
View File
@@ -7,12 +7,12 @@
anchored = 0
var/open = FALSE
/obj/structure/sarcophagus/examine(mob/user)
/obj/structure/sarcophagus/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(!open)
to_chat(user, "\The [src]'s lid is closed shut.")
. += "\The [src]'s lid is closed shut."
else
to_chat(user, "\The [src]'s lid is open.")
. += "\The [src]'s lid is open."
/obj/structure/sarcophagus/Initialize()
. = ..()
+2 -2
View File
@@ -58,10 +58,10 @@
lock = null
return ..()
/obj/structure/simple_door/examine(mob/user)
/obj/structure/simple_door/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(lock)
to_chat(user, "<span class='notice'>It appears to have a lock.</span>")
. += SPAN_NOTICE("It appears to have a lock.")
/obj/structure/simple_door/CollidedWith(atom/user)
..()
@@ -17,10 +17,10 @@
STOP_PROCESSING(SSprocessing, src)
return ..()
/obj/structure/bed/stool/chair/remote/examine(mob/user)
/obj/structure/bed/stool/chair/remote/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(portable_type)
to_chat(user, FONT_SMALL(SPAN_NOTICE("Can be packed up by using a wrench on it.")))
. += FONT_SMALL(SPAN_NOTICE("Can be packed up by using a wrench on it."))
/obj/structure/bed/stool/chair/remote/update_icon()
return
+9 -9
View File
@@ -33,28 +33,28 @@
atmos_canpass = CANPASS_PROC
/obj/structure/window/examine(mob/user)
/obj/structure/window/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(health == maxhealth)
to_chat(user, SPAN_NOTICE("It looks fully intact."))
. += SPAN_NOTICE("It looks fully intact.")
else
var/perc = health / maxhealth
if(perc > 0.75)
to_chat(user, SPAN_NOTICE("It has a few cracks."))
. += SPAN_NOTICE("It has a few cracks.")
else if(perc > 0.5)
to_chat(user, SPAN_WARNING("It looks slightly damaged."))
. += SPAN_WARNING("It looks slightly damaged.")
else if(perc > 0.25)
to_chat(user, SPAN_WARNING("It looks moderately damaged."))
. += SPAN_WARNING("It looks moderately damaged.")
else
to_chat(user, SPAN_DANGER("It looks heavily damaged."))
. += SPAN_DANGER("It looks heavily damaged.")
if(silicate)
if (silicate < 30)
to_chat(user, SPAN_NOTICE("It has a thin layer of silicate."))
. += SPAN_NOTICE("It has a thin layer of silicate.")
else if (silicate < 70)
to_chat(user, SPAN_NOTICE("It is covered in silicate."))
. += SPAN_NOTICE("It is covered in silicate.")
else
to_chat(user, SPAN_NOTICE("There is a thick layer of silicate covering it."))
. += SPAN_NOTICE("There is a thick layer of silicate covering it.")
/obj/structure/window/proc/update_nearby_icons()
SSicon_smooth.add_to_queue_neighbors(src)