mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-30 15:38:02 +01:00
Merge pull request #7513 from VOREStation/upstream-merge-7038
[MIRROR] Rewrite examine() to pass a list around
This commit is contained in:
@@ -80,14 +80,12 @@
|
||||
return PROCESS_KILL
|
||||
|
||||
/obj/item/device/assembly/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if((in_range(src, user) || loc == user))
|
||||
if(secured)
|
||||
to_chat(user, "\The [src] is ready!")
|
||||
. += "\The [src] is ready!"
|
||||
else
|
||||
to_chat(user, "\The [src] can be attached!")
|
||||
return
|
||||
|
||||
. += "\The [src] can be attached!"
|
||||
|
||||
/obj/item/device/assembly/attack_self(mob/user as mob)
|
||||
if(!user) return 0
|
||||
|
||||
@@ -57,12 +57,12 @@
|
||||
master.update_icon()
|
||||
|
||||
/obj/item/device/assembly_holder/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if ((in_range(src, user) || src.loc == user))
|
||||
if (src.secured)
|
||||
to_chat(user, "\The [src] is ready!")
|
||||
. += "\The [src] is ready!"
|
||||
else
|
||||
to_chat(user, "\The [src] can be attached!")
|
||||
. += "\The [src] can be attached!"
|
||||
|
||||
/obj/item/device/assembly_holder/HasProximity(atom/movable/AM as mob|obj)
|
||||
if(a_left)
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
|
||||
/obj/item/device/assembly/mousetrap/examine(var/mob/user)
|
||||
..(user)
|
||||
. = ..(user)
|
||||
if(armed)
|
||||
to_chat(user, "It looks like it's armed.")
|
||||
. += "It looks like it's armed."
|
||||
|
||||
/obj/item/device/assembly/mousetrap/update_icon()
|
||||
if(armed)
|
||||
|
||||
@@ -64,11 +64,11 @@ GLOBAL_LIST_EMPTY(all_blobs)
|
||||
return FALSE
|
||||
|
||||
/obj/structure/blob/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(!overmind)
|
||||
to_chat(user, "It seems inert.") // Dead blob.
|
||||
. += "It seems inert." // Dead blob.
|
||||
else
|
||||
to_chat(user, overmind.blob_type.desc)
|
||||
. += overmind.blob_type.desc
|
||||
|
||||
/obj/structure/blob/get_description_info()
|
||||
if(overmind)
|
||||
|
||||
@@ -851,16 +851,16 @@
|
||||
|
||||
|
||||
/obj/item/clothing/under/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
switch(src.sensor_mode)
|
||||
if(0)
|
||||
to_chat(user, "Its sensors appear to be disabled.")
|
||||
. += "Its sensors appear to be disabled."
|
||||
if(1)
|
||||
to_chat(user, "Its binary life sensors appear to be enabled.")
|
||||
. += "Its binary life sensors appear to be enabled."
|
||||
if(2)
|
||||
to_chat(user, "Its vital tracker appears to be enabled.")
|
||||
. += "Its vital tracker appears to be enabled."
|
||||
if(3)
|
||||
to_chat(user, "Its vital tracker and tracking beacon appear to be enabled.")
|
||||
. += "Its vital tracker and tracking beacon appear to be enabled."
|
||||
|
||||
/obj/item/clothing/under/proc/set_sensors(mob/usr as mob)
|
||||
var/mob/M = usr
|
||||
|
||||
@@ -67,10 +67,9 @@
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
/obj/item/clothing/examine(var/mob/user)
|
||||
..(user)
|
||||
. = ..(user)
|
||||
if(LAZYLEN(accessories))
|
||||
for(var/obj/item/clothing/accessory/A in accessories)
|
||||
to_chat(user, "\A [A] is attached to it.")
|
||||
. += "It has the following attached: [counting_english_list(accessories)]"
|
||||
|
||||
/**
|
||||
* Attach accessory A to src
|
||||
|
||||
@@ -78,11 +78,8 @@
|
||||
wearer = null
|
||||
|
||||
/obj/item/clothing/shoes/magboots/examine(mob/user)
|
||||
..(user)
|
||||
var/state = "disabled"
|
||||
if(item_flags & NOSLIP)
|
||||
state = "enabled"
|
||||
to_chat(user, "Its mag-pulse traction system appears to be [state].")
|
||||
. = ..()
|
||||
. += "Its mag-pulse traction system appears to be [item_flags & NOSLIP ? "enabled" : "disabled"]."
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox
|
||||
|
||||
@@ -126,6 +123,6 @@
|
||||
canremove = 1
|
||||
|
||||
/obj/item/clothing/shoes/magboots/vox/examine(mob/user)
|
||||
..(user)
|
||||
if (magpulse)
|
||||
to_chat(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.
|
||||
. = ..()
|
||||
if(magpulse)
|
||||
. += "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.
|
||||
@@ -224,7 +224,7 @@ var/global/list/breach_burn_descriptors = list(
|
||||
..()
|
||||
|
||||
/obj/item/clothing/suit/space/examine(mob/user)
|
||||
..(user)
|
||||
if(can_breach && breaches && breaches.len)
|
||||
. = ..()
|
||||
if(can_breach && breaches?.len)
|
||||
for(var/datum/breach/B in breaches)
|
||||
to_chat(user, "<font color='red'><B>It has \a [B.descriptor].</B></font>")
|
||||
. += "<font color='red'><B>It has \a [B.descriptor].</B></font>"
|
||||
|
||||
@@ -55,14 +55,14 @@
|
||||
var/list/stat_rig_module/stat_modules = new()
|
||||
|
||||
/obj/item/rig_module/examine()
|
||||
..()
|
||||
. = ..()
|
||||
switch(damage)
|
||||
if(0)
|
||||
to_chat(usr, "It is undamaged.")
|
||||
. += "It is undamaged."
|
||||
if(1)
|
||||
to_chat(usr, "It is badly damaged.")
|
||||
. += "It is badly damaged."
|
||||
if(2)
|
||||
to_chat(usr, "It is almost completely destroyed.")
|
||||
. += "It is almost completely destroyed."
|
||||
|
||||
/obj/item/rig_module/attackby(obj/item/W as obj, mob/user as mob)
|
||||
|
||||
|
||||
@@ -95,22 +95,21 @@
|
||||
var/datum/effect/effect/system/spark_spread/spark_system
|
||||
|
||||
/obj/item/weapon/rig/examine()
|
||||
to_chat(usr, "This is [bicon(src)][src.name].")
|
||||
to_chat(usr, "[src.desc]")
|
||||
. = ..()
|
||||
if(wearer)
|
||||
for(var/obj/item/piece in list(helmet,gloves,chest,boots))
|
||||
if(!piece || piece.loc != wearer)
|
||||
continue
|
||||
to_chat(usr, "[bicon(piece)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed.")
|
||||
. += "[bicon(piece)] \The [piece] [piece.gender == PLURAL ? "are" : "is"] deployed."
|
||||
|
||||
if(src.loc == usr)
|
||||
to_chat(usr, "The access panel is [locked? "locked" : "unlocked"].")
|
||||
to_chat(usr, "The maintenance panel is [open ? "open" : "closed"].")
|
||||
to_chat(usr, "Hardsuit systems are [offline ? "<span class='warning'>offline</span>" : "<span class='notice'>online</span>"].")
|
||||
to_chat(usr, "The cooling stystem is [cooling_on ? "active" : "inactive"].")
|
||||
. += "The access panel is [locked? "locked" : "unlocked"]."
|
||||
. += "The maintenance panel is [open ? "open" : "closed"]."
|
||||
. += "Hardsuit systems are [offline ? "<span class='warning'>offline</span>" : "<span class='notice'>online</span>"]."
|
||||
. += "The cooling stystem is [cooling_on ? "active" : "inactive"]."
|
||||
|
||||
if(open)
|
||||
to_chat(usr, "It's equipped with [english_list(installed_modules)].")
|
||||
. += "It's equipped with [english_list(installed_modules)]."
|
||||
|
||||
/obj/item/weapon/rig/New()
|
||||
..()
|
||||
|
||||
@@ -58,10 +58,10 @@
|
||||
camera.c_tag = usr.name
|
||||
to_chat(usr, "<font color='blue'>User scanned as [camera.c_tag]. Camera activated.</font>")
|
||||
|
||||
/obj/item/clothing/head/helmet/space/examine()
|
||||
..()
|
||||
if(camera_networks && get_dist(usr,src) <= 1)
|
||||
to_chat(usr, "This helmet has a built-in camera. It's [camera ? "" : "in"]active.")
|
||||
/obj/item/clothing/head/helmet/space/examine(mob/user)
|
||||
. = ..()
|
||||
if(camera_networks && Adjacent(user))
|
||||
. += "This helmet has a built-in camera. It's [camera ? "" : "in"]active."
|
||||
|
||||
/obj/item/clothing/suit/space
|
||||
name = "Space suit"
|
||||
|
||||
@@ -68,13 +68,11 @@
|
||||
var/obj/item/device/suit_cooling_unit/cooler = null// Cooling unit, for FBPs. Cannot be installed alongside a tank.
|
||||
|
||||
/obj/item/clothing/suit/space/void/examine(user)
|
||||
..(user)
|
||||
var/list/part_list = new
|
||||
. = ..()
|
||||
for(var/obj/item/I in list(helmet,boots,tank,cooler))
|
||||
part_list += "\a [I]"
|
||||
to_chat(user, "\The [src] has [english_list(part_list)] installed.")
|
||||
. += "It has \a [I] installed."
|
||||
if(tank && in_range(src,user))
|
||||
to_chat(user, "<span class='notice'>The wrist-mounted pressure gauge reads [max(round(tank.air_contents.return_pressure()),0)] kPa remaining in \the [tank].</span>")
|
||||
. += "<span class='notice'>The wrist-mounted pressure gauge reads [max(round(tank.air_contents.return_pressure()),0)] kPa remaining in \the [tank].</span>"
|
||||
|
||||
/obj/item/clothing/suit/space/void/refit_for_species(var/target_species)
|
||||
..()
|
||||
|
||||
@@ -86,11 +86,11 @@
|
||||
..()
|
||||
|
||||
/obj/item/clothing/accessory/holster/examine(mob/user)
|
||||
..(user)
|
||||
if (holstered)
|
||||
to_chat(user, "A [holstered] is holstered here.")
|
||||
. = ..(user)
|
||||
if(holstered)
|
||||
. += "A [holstered] is holstered here."
|
||||
else
|
||||
to_chat(user, "It is empty.")
|
||||
. += "It is empty."
|
||||
|
||||
/obj/item/clothing/accessory/holster/on_attached(obj/item/clothing/under/S, mob/user as mob)
|
||||
..()
|
||||
|
||||
@@ -91,5 +91,6 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/evidencebag/examine(mob/user)
|
||||
..(user)
|
||||
if (stored_item) user.examinate(stored_item)
|
||||
. = ..()
|
||||
if(stored_item)
|
||||
user.examinate(stored_item)
|
||||
|
||||
@@ -158,6 +158,6 @@ proc/spawn_money(var/sum, spawnloc, mob/living/carbon/human/human_user as mob)
|
||||
update_icon() return //space cash
|
||||
|
||||
/obj/item/weapon/spacecash/ewallet/examine(mob/user)
|
||||
..(user)
|
||||
if (!(user in view(2)) && user!=src.loc) return
|
||||
to_chat(user, "<font color='blue'>Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth].</font>")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "<span class='notice'>Charge card's owner: [src.owner_name]. Thalers remaining: [src.worth].</span>"
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
|
||||
|
||||
/obj/machinery/cash_register/examine(mob/user as mob)
|
||||
..(user)
|
||||
. = ..(user)
|
||||
if(transaction_amount)
|
||||
to_chat(user, "It has a purchase of [transaction_amount] pending[transaction_purpose ? " for [transaction_purpose]" : ""].")
|
||||
. += "It has a purchase of [transaction_amount] pending[transaction_purpose ? " for [transaction_purpose]" : ""]."
|
||||
if(cash_open)
|
||||
if(cash_stored)
|
||||
to_chat(user, "It holds [cash_stored] Thaler\s of money.")
|
||||
. += "It holds [cash_stored] Thaler\s."
|
||||
else
|
||||
to_chat(user, "It's completely empty.")
|
||||
. += "It's completely empty."
|
||||
|
||||
|
||||
/obj/machinery/cash_register/attack_hand(mob/user as mob)
|
||||
|
||||
@@ -57,10 +57,9 @@
|
||||
interact(user)
|
||||
|
||||
/obj/item/device/retail_scanner/examine(mob/user as mob)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(transaction_amount)
|
||||
to_chat(user, "It has a purchase of [transaction_amount] pending[transaction_purpose ? " for [transaction_purpose]" : ""].")
|
||||
|
||||
. += "It has a purchase of [transaction_amount] pending[transaction_purpose ? " for [transaction_purpose]" : ""]."
|
||||
|
||||
/obj/item/device/retail_scanner/interact(mob/user as mob)
|
||||
var/dat = "<h2>Retail Scanner<hr></h2>"
|
||||
|
||||
@@ -32,11 +32,11 @@
|
||||
/obj/item/weapon/material/fishing_rod/built
|
||||
strung = FALSE
|
||||
|
||||
/obj/item/weapon/material/fishing_rod/examine(mob/M as mob)
|
||||
..()
|
||||
/obj/item/weapon/material/fishing_rod/examine(mob/user)
|
||||
. = ..()
|
||||
if(Bait)
|
||||
to_chat(M, "<span class='notice'>\The [src] has \the [Bait] hanging on its hook.</span>")
|
||||
Bait.examine(M)
|
||||
. += "<span class='notice'>It has [Bait] hanging on its hook: </span>"
|
||||
. += Bait.examine(user)
|
||||
|
||||
/obj/item/weapon/material/fishing_rod/CtrlClick(mob/user)
|
||||
if((src.loc == user || Adjacent(user)) && Bait)
|
||||
|
||||
@@ -28,21 +28,21 @@
|
||||
matter = list("glass" = 60)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/examine(mob/M as mob)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
for(var/I in extras)
|
||||
if(istype(I, /obj/item/weapon/glass_extra))
|
||||
to_chat(M, "There is \a [I] in \the [src].")
|
||||
. += "There is \a [I] in \the [src]."
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/fruit_slice))
|
||||
to_chat(M, "There is \a [I] on the rim.")
|
||||
. += "There is \a [I] on the rim."
|
||||
else
|
||||
to_chat(M, "There is \a [I] somewhere on the glass. Somehow.")
|
||||
. += "There is \a [I] somewhere on the glass. Somehow."
|
||||
|
||||
if(has_ice())
|
||||
to_chat(M, "There is some ice floating in the drink.")
|
||||
. += "There is some ice floating in the drink."
|
||||
|
||||
if(has_fizz())
|
||||
to_chat(M, "It is fizzing slightly.")
|
||||
. += "It is fizzing slightly."
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/glass2/proc/has_ice()
|
||||
if(reagents.reagent_list.len > 0)
|
||||
|
||||
@@ -72,18 +72,18 @@
|
||||
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/drinks/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
if(!reagents || reagents.total_volume == 0)
|
||||
to_chat(user, "<span class='notice'>\The [src] is empty!</span>")
|
||||
else if (reagents.total_volume <= volume * 0.25)
|
||||
to_chat(user, "<span class='notice'>\The [src] is almost empty!</span>")
|
||||
else if (reagents.total_volume <= volume * 0.66)
|
||||
to_chat(user, "<span class='notice'>\The [src] is half full!</span>")
|
||||
else if (reagents.total_volume <= volume * 0.90)
|
||||
to_chat(user, "<span class='notice'>\The [src] is almost full!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>\The [src] is full!</span>")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(!reagents?.total_volume)
|
||||
. += "<span class='notice'>It is empty!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.25)
|
||||
. += "<span class='notice'>It is almost empty!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.66)
|
||||
. += "<span class='notice'>It is half full!</span>"
|
||||
else if (reagents.total_volume <= volume * 0.90)
|
||||
. += "<span class='notice'>It is almost full!</span>"
|
||||
else
|
||||
. += "<span class='notice'>It is full!</span>"
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -79,9 +79,10 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/csandwich/examine(mob/user)
|
||||
..(user)
|
||||
var/obj/item/O = pick(contents)
|
||||
to_chat(user, "<font color='blue'>You think you can see [O.name] in there.</font>")
|
||||
. = ..()
|
||||
if(contents.len)
|
||||
var/obj/item/O = pick(contents)
|
||||
. += "<font color='blue'>You think you can see [O.name] in there.</font>"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/csandwich/attack(mob/M as mob, mob/user as mob, def_zone)
|
||||
|
||||
|
||||
@@ -156,16 +156,16 @@
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
if (bitecount==0)
|
||||
return
|
||||
else if (bitecount==1)
|
||||
to_chat(user, "<font color='blue'>\The [src] was bitten by someone!</font>")
|
||||
else if (bitecount<=3)
|
||||
to_chat(user, "<font color='blue'>\The [src] was bitten [bitecount] times!</font>")
|
||||
else
|
||||
to_chat(user, "<font color='blue'>\The [src] was bitten multiple times!</font>")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(bitecount==0)
|
||||
return .
|
||||
else if (bitecount==1)
|
||||
. += "<span class='notice'>It was bitten by someone!</span>"
|
||||
else if (bitecount<=3)
|
||||
. += "<span class='notice'>It was bitten [bitecount] times!</span>"
|
||||
else
|
||||
. += "<span class='notice'>It was bitten multiple times!</span>"
|
||||
|
||||
/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))
|
||||
|
||||
@@ -39,10 +39,10 @@
|
||||
cooking = new_setting
|
||||
icon_state = new_setting ? on_icon : off_icon
|
||||
|
||||
/obj/machinery/cooker/examine()
|
||||
..()
|
||||
if(cooking_obj && Adjacent(usr))
|
||||
to_chat(usr, "You can see \a [cooking_obj] inside.")
|
||||
/obj/machinery/cooker/examine(mob/user)
|
||||
. = ..()
|
||||
if(cooking_obj && Adjacent(user))
|
||||
. += "You can see \a [cooking_obj] inside."
|
||||
|
||||
/obj/machinery/cooker/attackby(var/obj/item/I, var/mob/user)
|
||||
|
||||
|
||||
@@ -87,8 +87,8 @@
|
||||
src.startgibbing(user)
|
||||
|
||||
/obj/machinery/gibber/examine()
|
||||
..()
|
||||
to_chat(usr, "The safety guard is [emagged ? "<span class='danger'>disabled</span>" : "enabled"].")
|
||||
. = ..()
|
||||
. += "The safety guard is [emagged ? "<span class='danger'>disabled</span>" : "enabled"]."
|
||||
|
||||
/obj/machinery/gibber/emag_act(var/remaining_charges, var/mob/user)
|
||||
emagged = !emagged
|
||||
|
||||
@@ -348,11 +348,11 @@
|
||||
user.visible_message("<span class = 'notice'>\The [user] [concealed ? "conceals" : "reveals"] their hand.</span>")
|
||||
|
||||
/obj/item/weapon/hand/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if((!concealed) && cards.len)
|
||||
to_chat(user,"It contains: ")
|
||||
. += "It contains: "
|
||||
for(var/datum/playingcard/P in cards)
|
||||
to_chat(user,"\The [P.name].")
|
||||
. += "\The [P.name]."
|
||||
|
||||
/obj/item/weapon/hand/verb/Removecard()
|
||||
|
||||
|
||||
@@ -31,9 +31,9 @@
|
||||
overlays += "bees3"
|
||||
|
||||
/obj/machinery/beehive/examine(var/mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(!closed)
|
||||
to_chat(user, "The lid is open.")
|
||||
. += "The lid is open."
|
||||
|
||||
/obj/machinery/beehive/attackby(var/obj/item/I, var/mob/user)
|
||||
if(I.is_crowbar())
|
||||
|
||||
@@ -60,9 +60,9 @@ GLOBAL_LIST_BOILERPLATE(all_seed_packs, /obj/item/seeds)
|
||||
src.desc = "It's labelled as coming from [seed.display_name]."
|
||||
|
||||
/obj/item/seeds/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(seed && !seed.roundstart)
|
||||
to_chat(user, "It's tagged as variety #[seed.uid].")
|
||||
. += "It's tagged as variety #[seed.uid]."
|
||||
|
||||
/obj/item/seeds/cutting
|
||||
name = "cuttings"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/obj/machinery/portable_atmospherics/hydroponics
|
||||
name = "hydroponics tray"
|
||||
desc = "A tray usually full of fluid for growing plants."
|
||||
icon = 'icons/obj/hydroponics_machines_vr.dmi' //VOREStation Edit
|
||||
icon_state = "hydrotray3"
|
||||
density = 1
|
||||
@@ -607,32 +608,31 @@
|
||||
else if(dead)
|
||||
remove_dead(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/hydroponics/examine()
|
||||
|
||||
..()
|
||||
/obj/machinery/portable_atmospherics/hydroponics/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
if(seed)
|
||||
to_chat(usr, "<span class='notice'>[seed.display_name] are growing here.</span>")
|
||||
. += "<span class='notice'>[seed.display_name] are growing here.</span>"
|
||||
else
|
||||
to_chat(usr, "[src] is empty.")
|
||||
. += "It is empty."
|
||||
|
||||
if(!Adjacent(usr))
|
||||
return
|
||||
if(!Adjacent(user))
|
||||
return .
|
||||
|
||||
to_chat(usr, "Water: [round(waterlevel,0.1)]/100")
|
||||
to_chat(usr, "Nutrient: [round(nutrilevel,0.1)]/10")
|
||||
. += "Water: [round(waterlevel,0.1)]/100"
|
||||
. += "Nutrient: [round(nutrilevel,0.1)]/10"
|
||||
|
||||
if(seed)
|
||||
if(weedlevel >= 5)
|
||||
to_chat(usr, "\The [src] is <span class='danger'>infested with weeds</span>!")
|
||||
. += "It is <span class='danger'>infested with weeds</span>!"
|
||||
if(pestlevel >= 5)
|
||||
to_chat(usr, "\The [src] is <span class='danger'>infested with tiny worms</span>!")
|
||||
. += "It is <span class='danger'>infested with tiny worms</span>!"
|
||||
if(dead)
|
||||
to_chat(usr, "<span class='danger'>The plant is dead.</span>")
|
||||
. += "It has <span class='danger'>a dead plant</span>!"
|
||||
else if(health <= (seed.get_trait(TRAIT_ENDURANCE)/ 2))
|
||||
to_chat(usr, "The plant looks <span class='danger'>unhealthy</span>.")
|
||||
. += "It has <span class='danger'>an unhealthy plant</span>!"
|
||||
if(frozen == 1)
|
||||
to_chat(usr, "<span class='notice'>It is cryogenically frozen.</span>")
|
||||
. += "<span class='notice'>It is cryogenically frozen.</span>"
|
||||
if(mechanical)
|
||||
var/turf/T = loc
|
||||
var/datum/gas_mixture/environment
|
||||
@@ -655,7 +655,7 @@
|
||||
var/light_available = T.get_lumcount() * 5
|
||||
light_string = "a light level of [light_available] lumens"
|
||||
|
||||
to_chat(usr, "The tray's sensor suite is reporting [light_string] and a temperature of [environment.temperature]K at [environment.return_pressure()] kPa in the [environment_type] environment")
|
||||
. += "The tray's sensor suite is reporting [light_string] and a temperature of [environment.temperature]K at [environment.return_pressure()] kPa in the [environment_type] environment."
|
||||
|
||||
/obj/machinery/portable_atmospherics/hydroponics/verb/close_lid_verb()
|
||||
set name = "Toggle Tray Lid"
|
||||
|
||||
@@ -172,13 +172,10 @@
|
||||
return id_card
|
||||
|
||||
/obj/item/device/electronic_assembly/examine(mob/user)
|
||||
. = ..(user, 1)
|
||||
if(.)
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
for(var/obj/item/integrated_circuit/IC in contents)
|
||||
IC.external_examine(user)
|
||||
// for(var/obj/item/integrated_circuit/output/screen/S in contents)
|
||||
// if(S.stuff_to_display)
|
||||
// to_chat(user, "There's a little screen labeled '[S.name]', which displays '[S.stuff_to_display]'.")
|
||||
. += IC.external_examine(user)
|
||||
if(opened)
|
||||
interact(user)
|
||||
|
||||
|
||||
@@ -47,9 +47,9 @@
|
||||
..()
|
||||
|
||||
/obj/item/clothing/examine(mob/user)
|
||||
. = ..()
|
||||
if(IC)
|
||||
IC.examine(user)
|
||||
..()
|
||||
. += IC.examine(user)
|
||||
|
||||
/obj/item/clothing/CtrlShiftClick(mob/user)
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
@@ -46,10 +46,10 @@
|
||||
return
|
||||
|
||||
/obj/item/device/assembly/electronic_assembly/examine(mob/user)
|
||||
.=..(user, 1)
|
||||
. = ..()
|
||||
if(EA)
|
||||
for(var/obj/item/integrated_circuit/IC in EA.contents)
|
||||
IC.external_examine(user)
|
||||
. += IC.external_examine(user)
|
||||
|
||||
/obj/item/device/assembly/electronic_assembly/verb/toggle()
|
||||
set src in usr
|
||||
|
||||
@@ -4,28 +4,29 @@ a creative player the means to solve many problems. Circuits are held inside an
|
||||
*/
|
||||
|
||||
/obj/item/integrated_circuit/examine(mob/user)
|
||||
interact(user)
|
||||
external_examine(user)
|
||||
. = ..()
|
||||
. += external_examine(user)
|
||||
interact(user)
|
||||
|
||||
// This should be used when someone is examining while the case is opened.
|
||||
/obj/item/integrated_circuit/proc/internal_examine(mob/user)
|
||||
to_chat(user, "This board has [inputs.len] input pin\s, [outputs.len] output pin\s and [activators.len] activation pin\s.")
|
||||
. = list()
|
||||
. += "This board has [inputs.len] input pin\s, [outputs.len] output pin\s and [activators.len] activation pin\s."
|
||||
for(var/datum/integrated_io/I in inputs)
|
||||
if(I.linked.len)
|
||||
to_chat(user, "The '[I]' is connected to [I.get_linked_to_desc()].")
|
||||
. += "The '[I]' is connected to [I.get_linked_to_desc()]."
|
||||
for(var/datum/integrated_io/O in outputs)
|
||||
if(O.linked.len)
|
||||
to_chat(user, "The '[O]' is connected to [O.get_linked_to_desc()].")
|
||||
. += "The '[O]' is connected to [O.get_linked_to_desc()]."
|
||||
for(var/datum/integrated_io/activate/A in activators)
|
||||
if(A.linked.len)
|
||||
to_chat(user, "The '[A]' is connected to [A.get_linked_to_desc()].")
|
||||
any_examine(user)
|
||||
. += "The '[A]' is connected to [A.get_linked_to_desc()]."
|
||||
. += any_examine(user)
|
||||
interact(user)
|
||||
|
||||
// This should be used when someone is examining from an 'outside' perspective, e.g. reading a screen or LED.
|
||||
/obj/item/integrated_circuit/proc/external_examine(mob/user)
|
||||
any_examine(user)
|
||||
return any_examine(user)
|
||||
|
||||
/obj/item/integrated_circuit/proc/any_examine(mob/user)
|
||||
return
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
..()
|
||||
|
||||
/obj/item/integrated_circuit/memory/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
var/i
|
||||
for(i = 1, i <= outputs.len, i++)
|
||||
var/datum/integrated_io/O = outputs[i]
|
||||
@@ -30,7 +30,7 @@
|
||||
data = "[d]"
|
||||
else if(!isnull(O.data))
|
||||
data = O.data
|
||||
to_chat(user, "\The [src] has [data] saved to address [i].")
|
||||
. += "\The [src] has [data] saved to address [i]."
|
||||
|
||||
/obj/item/integrated_circuit/memory/do_work()
|
||||
for(var/i = 1 to inputs.len)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
stuff_to_display = null
|
||||
|
||||
/obj/item/integrated_circuit/output/screen/any_examine(mob/user)
|
||||
to_chat(user, "There is a little screen labeled '[name]', which displays [!isnull(stuff_to_display) ? "'[stuff_to_display]'" : "nothing"].")
|
||||
return "There is a little screen labeled '[name]', which displays [!isnull(stuff_to_display) ? "'[stuff_to_display]'" : "nothing"]."
|
||||
|
||||
/obj/item/integrated_circuit/output/screen/do_work()
|
||||
var/datum/integrated_io/I = inputs[1]
|
||||
@@ -333,7 +333,7 @@
|
||||
else
|
||||
text_output += "\an ["\improper[initial_name]"] labeled '[name]'"
|
||||
text_output += " which is currently [get_pin_data(IC_INPUT, 1) ? "lit <font color=[led_color]>¤</font>" : "unlit."]"
|
||||
to_chat(user,jointext(text_output,null))
|
||||
return jointext(text_output,null)
|
||||
|
||||
/obj/item/integrated_circuit/output/led/red
|
||||
name = "red LED"
|
||||
|
||||
@@ -471,6 +471,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f
|
||||
*/
|
||||
/obj/machinery/libraryscanner
|
||||
name = "scanner"
|
||||
desc = "A scanner for scanning in books and papers."
|
||||
icon = 'icons/obj/library.dmi'
|
||||
icon_state = "bigscanner"
|
||||
anchored = 1
|
||||
|
||||
@@ -14,7 +14,7 @@ var/global/list/total_extraction_beacons = list()
|
||||
|
||||
/obj/item/extraction_pack/examine()
|
||||
. = ..()
|
||||
usr.show_message("It has [uses_left] use\s remaining.", 1)
|
||||
. += "It has [uses_left] use\s remaining."
|
||||
|
||||
/obj/item/extraction_pack/attack_self(mob/user)
|
||||
var/list/possible_beacons = list()
|
||||
|
||||
@@ -39,26 +39,24 @@
|
||||
stored_ore[O.name] = 1
|
||||
|
||||
/obj/structure/ore_box/examine(mob/user)
|
||||
to_chat(user, "That's an [src].")
|
||||
to_chat(user, desc)
|
||||
. = ..()
|
||||
|
||||
if(!Adjacent(user)) //Can only check the contents of ore boxes if you can physically reach them.
|
||||
return
|
||||
return .
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
if(!contents.len)
|
||||
to_chat(user, "It is empty.")
|
||||
return
|
||||
. += "It is empty."
|
||||
return .
|
||||
|
||||
if(world.time > last_update + 10)
|
||||
update_ore_count()
|
||||
last_update = world.time
|
||||
|
||||
to_chat(user, "It holds:")
|
||||
. += "It holds:"
|
||||
for(var/ore in stored_ore)
|
||||
to_chat(user, "- [stored_ore[ore]] [ore]")
|
||||
return
|
||||
. += "- [stored_ore[ore]] [ore]"
|
||||
|
||||
/obj/structure/ore_box/verb/empty_box()
|
||||
set name = "Empty Ore Box"
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/card/mining_point_card/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "There's [mine_points] excavation points on the card.")
|
||||
to_chat(user, "There's [survey_points] survey points on the card.")
|
||||
. = ..()
|
||||
. += "There's [mine_points] excavation points on the card."
|
||||
. += "There's [survey_points] survey points on the card."
|
||||
|
||||
/obj/item/weapon/card/mining_point_card/survey
|
||||
mine_points = 0
|
||||
|
||||
@@ -34,9 +34,13 @@ GLOBAL_LIST_EMPTY(unique_deployable)
|
||||
|
||||
/obj/item/device/survivalcapsule/examine(mob/user)
|
||||
. = ..()
|
||||
get_template()
|
||||
to_chat(user, "This capsule has the [template.name] stored.")
|
||||
to_chat(user, template.description)
|
||||
if(!template)
|
||||
get_template()
|
||||
if(template)
|
||||
. += "This capsule has the [template.name] stored:"
|
||||
. += template.description
|
||||
else
|
||||
. += "This capsule has an unknown template stored."
|
||||
|
||||
/obj/item/device/survivalcapsule/attack_self()
|
||||
//Can't grab when capsule is New() because templates aren't loaded then
|
||||
|
||||
@@ -196,24 +196,20 @@
|
||||
return //Doesn't do anything right now because none of the things that can be done to a regular MMI make any sense for these
|
||||
|
||||
/obj/item/device/mmi/digital/examine(mob/user)
|
||||
if(!..(user))
|
||||
return
|
||||
|
||||
var/msg = "<span class='info'>*---------*</span>\nThis is [bicon(src)] \a <EM>[src]</EM>!\n[desc]\n"
|
||||
msg += "<span class='warning'>"
|
||||
. = ..()
|
||||
|
||||
if(src.brainmob && src.brainmob.key)
|
||||
switch(src.brainmob.stat)
|
||||
if(CONSCIOUS)
|
||||
if(!src.brainmob.client) msg += "It appears to be in stand-by mode.\n" //afk
|
||||
if(UNCONSCIOUS) msg += "<span class='warning'>It doesn't seem to be responsive.</span>\n"
|
||||
if(DEAD) msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
|
||||
if(!src.brainmob.client)
|
||||
. += "<span class='warning'>It appears to be in stand-by mode.</span>" //afk
|
||||
if(UNCONSCIOUS)
|
||||
. += "<span class='warning'>It doesn't seem to be responsive.</span>"
|
||||
if(DEAD)
|
||||
. += "<span class='deadsay'>It appears to be completely inactive.</span>"
|
||||
else
|
||||
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
|
||||
msg += "</span><span class='info'>*---------*</span>"
|
||||
to_chat(user,msg)
|
||||
return
|
||||
|
||||
. += "<span class='deadsay'>It appears to be completely inactive.</span>"
|
||||
|
||||
/obj/item/device/mmi/digital/emp_act(severity)
|
||||
if(!src.brainmob)
|
||||
return
|
||||
|
||||
@@ -85,25 +85,6 @@
|
||||
M.show_message("<font color='blue'>The positronic brain buzzes and beeps, and the golden lights fade away. Perhaps you could try again?</font>")
|
||||
playsound(src, 'sound/misc/buzzbeep.ogg', 50, 1)
|
||||
|
||||
/obj/item/device/mmi/digital/posibrain/examine(mob/user)
|
||||
if(!..(user))
|
||||
return
|
||||
|
||||
var/msg = "<span class='info'>*---------*</span>\nThis is [bicon(src)] \a <EM>[src]</EM>!\n[desc]\n"
|
||||
msg += "<span class='warning'>"
|
||||
|
||||
if(src.brainmob && src.brainmob.key)
|
||||
switch(src.brainmob.stat)
|
||||
if(CONSCIOUS)
|
||||
if(!src.brainmob.client) msg += "It appears to be in stand-by mode.\n" //afk
|
||||
if(UNCONSCIOUS) msg += "<span class='warning'>It doesn't seem to be responsive.</span>\n"
|
||||
if(DEAD) msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
|
||||
else
|
||||
msg += "<span class='deadsay'>It appears to be completely inactive.</span>\n"
|
||||
msg += "</span><span class='info'>*---------*</span>"
|
||||
to_chat(user,msg)
|
||||
return
|
||||
|
||||
/obj/item/device/mmi/digital/posibrain/emp_act(severity)
|
||||
if(!src.brainmob)
|
||||
return
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
/mob/living/carbon/human/examine(mob/user)
|
||||
// . = ..() //Note that we don't call parent. We build the list by ourselves.
|
||||
|
||||
var/skip_gear = 0
|
||||
var/skip_body = 0
|
||||
|
||||
if(alpha <= EFFECTIVE_INVIS)
|
||||
src.loc.examine(user)
|
||||
return
|
||||
return src.loc.examine(user) // Returns messages as if they examined wherever the human was
|
||||
|
||||
var/looks_synth = looksSynthetic()
|
||||
|
||||
@@ -75,12 +76,6 @@
|
||||
BP_L_LEG = skip_body & EXAMINE_SKIPLEGS,
|
||||
BP_R_LEG = skip_body & EXAMINE_SKIPLEGS)
|
||||
|
||||
var/list/msg = list("<span class='info'>*---------*<br>This is ")
|
||||
|
||||
msg += "[bicon(src)] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
|
||||
|
||||
msg += "<EM>[src.name]</EM>"
|
||||
|
||||
var/datum/gender/T = gender_datums[get_visible_gender()]
|
||||
|
||||
if((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)) //big suits/masks/helmets make it hard to tell their gender
|
||||
@@ -98,10 +93,11 @@
|
||||
// Just in case someone VVs the gender to something strange. It'll runtime anyway when it hits usages, better to CRASH() now with a helpful message.
|
||||
CRASH("Gender datum was null; key was '[((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)) ? PLURAL : gender]'")
|
||||
|
||||
var/name_ender = ""
|
||||
if(!((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)))
|
||||
//VOREStation Add Start
|
||||
if(custom_species)
|
||||
msg += ", a <b>[src.custom_species]</b>"
|
||||
name_ender = ", a <b>[src.custom_species]</b>"
|
||||
else if(looks_synth)
|
||||
//VOREStation Add End
|
||||
var/use_gender = "a synthetic"
|
||||
@@ -110,16 +106,12 @@
|
||||
else if(gender == FEMALE)
|
||||
use_gender = "a gynoid"
|
||||
|
||||
msg += ", <b><font color='#555555'>[use_gender]!</font></b>"
|
||||
name_ender = ", <b><font color='#555555'>[use_gender]!</font></b>[species.get_additional_examine_text(src)]"
|
||||
|
||||
else if(species.name != "Human")
|
||||
msg += ", <b><font color='[species.get_flesh_colour(src)]'>\a [species.get_examine_name()]!</font></b>"
|
||||
name_ender = ", <b><font color='[species.get_flesh_colour(src)]'>\a [species.get_examine_name()]!</font></b>[species.get_additional_examine_text(src)]"
|
||||
|
||||
var/extra_species_text = species.get_additional_examine_text(src)
|
||||
if(extra_species_text)
|
||||
msg += "[extra_species_text]"
|
||||
|
||||
msg += "<br>"
|
||||
var/list/msg = list("<span class='info'>*---------*","This is [bicon(src)] <EM>[src.name]</EM>[name_ender]")
|
||||
|
||||
//uniform
|
||||
if(w_uniform && !(skip_gear & EXAMINE_SKIPJUMPSUIT) && w_uniform.show_examine)
|
||||
@@ -142,16 +134,16 @@
|
||||
tie_msg += " Attached to it is [english_list(accessories_visible)]."
|
||||
|
||||
if(w_uniform.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(w_uniform)] \a [w_uniform].[tie_msg]<br>"
|
||||
msg += "[T.He] [T.is] wearing [bicon(w_uniform)] \a [w_uniform].[tie_msg]"
|
||||
|
||||
//head
|
||||
if(head && !(skip_gear & EXAMINE_SKIPHELMET) && head.show_examine)
|
||||
if(head.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [head.name] on [T.his] head!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(head)] [head.gender==PLURAL?"some":"a"] [(head.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [head.name] on [T.his] head!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(head)] \a [head] on [T.his] head.<br>"
|
||||
msg += "[T.He] [T.is] wearing [bicon(head)] \a [head] on [T.his] head."
|
||||
|
||||
//suit/armour
|
||||
if(wear_suit)
|
||||
@@ -162,73 +154,73 @@
|
||||
tie_msg += " Attached to it is [english_list(U.accessories)]."
|
||||
|
||||
if(wear_suit.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_suit.name][tie_msg]!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(wear_suit)] [wear_suit.gender==PLURAL?"some":"a"] [(wear_suit.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_suit.name][tie_msg]!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(wear_suit)] \a [wear_suit].[tie_msg]<br>"
|
||||
msg += "[T.He] [T.is] wearing [bicon(wear_suit)] \a [wear_suit].[tie_msg]"
|
||||
|
||||
//suit/armour storage
|
||||
if(s_store && !(skip_gear & EXAMINE_SKIPSUITSTORAGE) && s_store.show_examine)
|
||||
if(s_store.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] carrying [bicon(s_store)] [s_store.gender==PLURAL?"some":"a"] [(s_store.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [s_store.name] on [T.his] [wear_suit.name]!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] carrying [bicon(s_store)] \a [s_store] on [T.his] [wear_suit.name].<br>"
|
||||
msg += "[T.He] [T.is] carrying [bicon(s_store)] \a [s_store] on [T.his] [wear_suit.name]."
|
||||
|
||||
//back
|
||||
if(back && !(skip_gear & EXAMINE_SKIPBACKPACK) && back.show_examine)
|
||||
if(back.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(back)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [back] on [T.his] back.</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(back)] [back.gender==PLURAL?"some":"a"] [(back.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [back] on [T.his] back.</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(back)] \a [back] on [T.his] back.<br>"
|
||||
msg += "[T.He] [T.has] [bicon(back)] \a [back] on [T.his] back."
|
||||
|
||||
//left hand
|
||||
if(l_hand && l_hand.show_examine)
|
||||
if(l_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding [bicon(l_hand)] [l_hand.gender==PLURAL?"some":"a"] [(l_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [l_hand.name] in [T.his] left hand!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding [bicon(l_hand)] \a [l_hand] in [T.his] left hand.<br>"
|
||||
msg += "[T.He] [T.is] holding [bicon(l_hand)] \a [l_hand] in [T.his] left hand."
|
||||
|
||||
//right hand
|
||||
if(r_hand && r_hand.show_examine)
|
||||
if(r_hand.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] holding [bicon(r_hand)] [r_hand.gender==PLURAL?"some":"a"] [(r_hand.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [r_hand.name] in [T.his] right hand!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] holding [bicon(r_hand)] \a [r_hand] in [T.his] right hand.<br>"
|
||||
msg += "[T.He] [T.is] holding [bicon(r_hand)] \a [r_hand] in [T.his] right hand."
|
||||
|
||||
//gloves
|
||||
if(gloves && !(skip_gear & EXAMINE_SKIPGLOVES) && gloves.show_examine)
|
||||
if(gloves.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(gloves)] [gloves.gender==PLURAL?"some":"a"] [(gloves.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [gloves.name] on [T.his] hands!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(gloves)] \a [gloves] on [T.his] hands.<br>"
|
||||
msg += "[T.He] [T.has] [bicon(gloves)] \a [gloves] on [T.his] hands."
|
||||
else if(blood_DNA && !(skip_body & EXAMINE_SKIPHANDS))
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(hand_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained hands!</span>"
|
||||
|
||||
//handcuffed?
|
||||
if(handcuffed && handcuffed.show_examine)
|
||||
if(istype(handcuffed, /obj/item/weapon/handcuffs/cable))
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(handcuffed)] restrained with cable!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(handcuffed)] restrained with cable!</span>"
|
||||
else
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(handcuffed)] handcuffed!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(handcuffed)] handcuffed!</span>"
|
||||
|
||||
//buckled
|
||||
if(buckled)
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(buckled)] buckled to [buckled]!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] [bicon(buckled)] buckled to [buckled]!</span>"
|
||||
|
||||
//belt
|
||||
if(belt && !(skip_gear & EXAMINE_SKIPBELT) && belt.show_examine)
|
||||
if(belt.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(belt)] [belt.gender==PLURAL?"some":"a"] [(belt.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [belt.name] about [T.his] waist!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(belt)] \a [belt] about [T.his] waist.<br>"
|
||||
msg += "[T.He] [T.has] [bicon(belt)] \a [belt] about [T.his] waist."
|
||||
|
||||
//shoes
|
||||
if(shoes && !(skip_gear & EXAMINE_SKIPSHOES) && shoes.show_examine)
|
||||
if(shoes.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(shoes)] [shoes.gender==PLURAL?"some":"a"] [(shoes.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [shoes.name] on [T.his] feet!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.is] wearing [bicon(shoes)] \a [shoes] on [T.his] feet.<br>"
|
||||
msg += "[T.He] [T.is] wearing [bicon(shoes)] \a [shoes] on [T.his] feet."
|
||||
else if(feet_blood_DNA && !(skip_body & EXAMINE_SKIPHANDS))
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] [(feet_blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained feet!</span>"
|
||||
|
||||
//mask
|
||||
if(wear_mask && !(skip_gear & EXAMINE_SKIPMASK) && wear_mask.show_examine)
|
||||
@@ -237,24 +229,24 @@
|
||||
descriptor = "in [T.his] mouth"
|
||||
|
||||
if(wear_mask.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(wear_mask)] [wear_mask.gender==PLURAL?"some":"a"] [(wear_mask.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [wear_mask.name] [descriptor]!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(wear_mask)] \a [wear_mask] [descriptor].<br>"
|
||||
msg += "[T.He] [T.has] [bicon(wear_mask)] \a [wear_mask] [descriptor]."
|
||||
|
||||
//eyes
|
||||
if(glasses && !(skip_gear & EXAMINE_SKIPEYEWEAR) && glasses.show_examine)
|
||||
if(glasses.blood_DNA)
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] [bicon(glasses)] [glasses.gender==PLURAL?"some":"a"] [(glasses.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [glasses] covering [T.his] eyes!</span>"
|
||||
else
|
||||
msg += "[T.He] [T.has] [bicon(glasses)] \a [glasses] covering [T.his] eyes.<br>"
|
||||
msg += "[T.He] [T.has] [bicon(glasses)] \a [glasses] covering [T.his] eyes."
|
||||
|
||||
//left ear
|
||||
if(l_ear && !(skip_gear & EXAMINE_SKIPEARS) && l_ear.show_examine)
|
||||
msg += "[T.He] [T.has] [bicon(l_ear)] \a [l_ear] on [T.his] left ear.<br>"
|
||||
msg += "[T.He] [T.has] [bicon(l_ear)] \a [l_ear] on [T.his] left ear."
|
||||
|
||||
//right ear
|
||||
if(r_ear && !(skip_gear & EXAMINE_SKIPEARS) && r_ear.show_examine)
|
||||
msg += "[T.He] [T.has] [bicon(r_ear)] \a [r_ear] on [T.his] right ear.<br>"
|
||||
msg += "[T.He] [T.has] [bicon(r_ear)] \a [r_ear] on [T.his] right ear."
|
||||
|
||||
//ID
|
||||
if(wear_id && wear_id.show_examine)
|
||||
@@ -266,43 +258,50 @@
|
||||
var/obj/item/weapon/card/id/idcard = wear_id
|
||||
id = idcard.registered_name
|
||||
if(id && (id != real_name) && (get_dist(src, usr) <= 1) && prob(10))
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id] yet something doesn't seem right...</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id] yet something doesn't seem right...</span>"
|
||||
else*/
|
||||
msg += "[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id].<br>"
|
||||
msg += "[T.He] [T.is] wearing [bicon(wear_id)] \a [wear_id]."
|
||||
|
||||
//Jitters
|
||||
if(is_jittery)
|
||||
if(jitteriness >= 300)
|
||||
msg += "<span class='warning'><B>[T.He] [T.is] convulsing violently!</B></span><br>"
|
||||
msg += "<span class='warning'><B>[T.He] [T.is] convulsing violently!</B></span>"
|
||||
else if(jitteriness >= 200)
|
||||
msg += "<span class='warning'>[T.He] [T.is] extremely jittery.</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] extremely jittery.</span>"
|
||||
else if(jitteriness >= 100)
|
||||
msg += "<span class='warning'>[T.He] [T.is] twitching ever so slightly.</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] twitching ever so slightly.</span>"
|
||||
|
||||
//splints
|
||||
for(var/organ in BP_ALL)
|
||||
var/obj/item/organ/external/o = get_organ(organ)
|
||||
if(o && o.splinted && o.splinted.loc == o)
|
||||
msg += "<span class='warning'>[T.He] [T.has] \a [o.splinted] on [T.his] [o.name]!</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.has] \a [o.splinted] on [T.his] [o.name]!</span>"
|
||||
|
||||
if(suiciding)
|
||||
msg += "<span class='warning'>[T.He] appears to have commited suicide... there is no hope of recovery.</span><br>"
|
||||
msg += "<span class='warning'>[T.He] appears to have commited suicide... there is no hope of recovery.</span>"
|
||||
|
||||
msg += attempt_vr(src,"examine_weight",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_nutrition",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_bellies",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_pickup_size",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_step_size",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_nif",args) //VOREStation Code
|
||||
msg += attempt_vr(src,"examine_chimera",args) //VOREStation Code
|
||||
//VOREStation Add
|
||||
var/list/vorestrings = list()
|
||||
vorestrings += examine_weight()
|
||||
vorestrings += examine_nutrition()
|
||||
vorestrings += examine_bellies()
|
||||
vorestrings += examine_pickup_size()
|
||||
vorestrings += examine_step_size()
|
||||
vorestrings += examine_nif()
|
||||
vorestrings += examine_chimera()
|
||||
for(var/entry in vorestrings)
|
||||
if(entry == "" || entry == null)
|
||||
vorestrings -= entry
|
||||
msg += vorestrings
|
||||
//VOREStation Add End
|
||||
|
||||
if(mSmallsize in mutations)
|
||||
msg += "[T.He] [T.is] very short!<br>"
|
||||
msg += "[T.He] [T.is] very short!"
|
||||
|
||||
if (src.stat)
|
||||
msg += "<span class='warning'>[T.He] [T.is]n't responding to anything around [T.him] and seems to be asleep.</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is]n't responding to anything around [T.him] and seems to be asleep.</span>"
|
||||
if((stat == 2 || src.losebreath) && get_dist(user, src) <= 3)
|
||||
msg += "<span class='warning'>[T.He] [T.does] not appear to be breathing.</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.does] not appear to be breathing.</span>"
|
||||
if(istype(user, /mob/living/carbon/human) && !user.stat && Adjacent(user))
|
||||
user.visible_message("<b>[usr]</b> checks [src]'s pulse.", "You check [src]'s pulse.")
|
||||
spawn(15)
|
||||
@@ -313,21 +312,21 @@
|
||||
to_chat(user, "<span class='deadsay'>[T.He] [T.has] a pulse!</span>")
|
||||
|
||||
if(fire_stacks)
|
||||
msg += "[T.He] [T.is] covered in some liquid.<br>"
|
||||
msg += "[T.He] [T.is] covered in some liquid."
|
||||
if(on_fire)
|
||||
msg += "<span class='warning'>[T.He] [T.is] on fire!.</span><br>"
|
||||
msg += "<span class='warning'>[T.He] [T.is] on fire!.</span>"
|
||||
|
||||
var/ssd_msg = species.get_ssd(src)
|
||||
if(ssd_msg && (!should_have_organ("brain") || has_brain()) && stat != DEAD)
|
||||
if(!key)
|
||||
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg]. It doesn't look like [T.he] [T.is] waking up anytime soon.</span><br>"
|
||||
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg]. It doesn't look like [T.he] [T.is] waking up anytime soon.</span>"
|
||||
else if(!client)
|
||||
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg].</span><br>"
|
||||
msg += "<span class='deadsay'>[T.He] [T.is] [ssd_msg].</span>"
|
||||
//VOREStation Add Start
|
||||
if(client && ((client.inactivity / 10) / 60 > 10)) //10 Minutes
|
||||
msg += "\[Inactive for [round((client.inactivity/10)/60)] minutes\]\n"
|
||||
msg += "\[Inactive for [round((client.inactivity/10)/60)] minutes\]"
|
||||
else if(disconnect_time)
|
||||
msg += "\[Disconnected/ghosted [round(((world.realtime - disconnect_time)/10)/60)] minutes ago\]\n"
|
||||
msg += "\[Disconnected/ghosted [round(((world.realtime - disconnect_time)/10)/60)] minutes ago\]"
|
||||
//VOREStation Add End
|
||||
|
||||
var/list/wound_flavor_text = list()
|
||||
@@ -341,9 +340,9 @@
|
||||
|
||||
var/obj/item/organ/external/E = organs_by_name[organ_tag]
|
||||
if(!E)
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[T.He] [T.is] missing [T.his] [organ_descriptor].</b></span><br>"
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[T.He] [T.is] missing [T.his] [organ_descriptor].</b></span>"
|
||||
else if(E.is_stump())
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[T.He] [T.has] a stump where [T.his] [organ_descriptor] should be.</b></span><br>"
|
||||
wound_flavor_text["[organ_descriptor]"] = "<span class='warning'><b>[T.He] [T.has] a stump where [T.his] [organ_descriptor] should be.</b></span>"
|
||||
else
|
||||
continue
|
||||
|
||||
@@ -352,47 +351,51 @@
|
||||
if((temp.organ_tag in hidden) && hidden[temp.organ_tag])
|
||||
continue //Organ is hidden, don't talk about it
|
||||
if(temp.status & ORGAN_DESTROYED)
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'><b>[T.He] [T.is] missing [T.his] [temp.name].</b></span><br>"
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'><b>[T.He] [T.is] missing [T.his] [temp.name].</b></span>"
|
||||
continue
|
||||
|
||||
if(!looks_synth && temp.robotic == ORGAN_ROBOT)
|
||||
if(!(temp.brute_dam + temp.burn_dam))
|
||||
wound_flavor_text["[temp.name]"] = "[T.He] [T.has] a [temp.name].<br>"
|
||||
wound_flavor_text["[temp.name]"] = "[T.He] [T.has] a [temp.name]."
|
||||
else
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] [T.has] a [temp.name] with [temp.get_wounds_desc()]!</span><br>"
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] [T.has] a [temp.name] with [temp.get_wounds_desc()]!</span>"
|
||||
continue
|
||||
else if(temp.wounds.len > 0 || temp.open)
|
||||
if(temp.is_stump() && temp.parent_organ && organs_by_name[temp.parent_organ])
|
||||
var/obj/item/organ/external/parent = organs_by_name[temp.parent_organ]
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] has [temp.get_wounds_desc()] on [T.his] [parent.name].</span><br>"
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] has [temp.get_wounds_desc()] on [T.his] [parent.name].</span>"
|
||||
else
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] has [temp.get_wounds_desc()] on [T.his] [temp.name].</span><br>"
|
||||
wound_flavor_text["[temp.name]"] = "<span class='warning'>[T.He] has [temp.get_wounds_desc()] on [T.his] [temp.name].</span>"
|
||||
else
|
||||
wound_flavor_text["[temp.name]"] = ""
|
||||
if(temp.dislocated == 2)
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.joint] is dislocated!</span><br>"
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.joint] is dislocated!</span>"
|
||||
if(temp.brute_dam > temp.min_broken_damage || (temp.status & (ORGAN_BROKEN | ORGAN_MUTATED)))
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.name] is dented and swollen!</span><br>"
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.name] is dented and swollen!</span>"
|
||||
|
||||
if(temp.germ_level > INFECTION_LEVEL_TWO && !(temp.status & ORGAN_DEAD))
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.name] looks very infected!</span><br>"
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.name] looks very infected!</span>"
|
||||
else if(temp.status & ORGAN_DEAD)
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.name] looks rotten!</span><br>"
|
||||
wound_flavor_text["[temp.name]"] += "<span class='warning'>[T.His] [temp.name] looks rotten!</span>"
|
||||
|
||||
if(temp.status & ORGAN_BLEEDING)
|
||||
is_bleeding["[temp.name]"] += "<span class='danger'>[T.His] [temp.name] is bleeding!</span><br>"
|
||||
is_bleeding["[temp.name]"] += "<span class='danger'>[T.His] [temp.name] is bleeding!</span>"
|
||||
|
||||
if(temp.applied_pressure == src)
|
||||
applying_pressure = "<span class='info'>[T.He] is applying pressure to [T.his] [temp.name].</span><br>"
|
||||
applying_pressure = "<span class='info'>[T.He] is applying pressure to [T.his] [temp.name].</span>"
|
||||
|
||||
for(var/limb in wound_flavor_text)
|
||||
msg += wound_flavor_text[limb]
|
||||
var/flavor = wound_flavor_text[limb]
|
||||
if(flavor)
|
||||
msg += flavor
|
||||
for(var/limb in is_bleeding)
|
||||
msg += is_bleeding[limb]
|
||||
var/blood = is_bleeding[limb]
|
||||
if(blood)
|
||||
msg += blood
|
||||
for(var/implant in get_visible_implants(0))
|
||||
msg += "<span class='danger'>[src] [T.has] \a [implant] sticking out of [T.his] flesh!</span><br>"
|
||||
msg += "<span class='danger'>[src] [T.has] \a [implant] sticking out of [T.his] flesh!</span>"
|
||||
if(digitalcamo)
|
||||
msg += "[T.He] [T.is] repulsively uncanny!<br>"
|
||||
msg += "[T.He] [T.is] repulsively uncanny!"
|
||||
|
||||
if(hasHUD(user,"security"))
|
||||
var/perpname = name
|
||||
@@ -410,8 +413,8 @@
|
||||
if(R.fields["name"] == perpname)
|
||||
criminal = R.fields["criminal"]
|
||||
|
||||
msg += "<span class = 'deptradio'>Criminal status:</span> <a href='?src=\ref[src];criminal=1'>\[[criminal]\]</a><br>"
|
||||
msg += "<span class = 'deptradio'>Security records:</span> <a href='?src=\ref[src];secrecord=`'>\[View\]</a> <a href='?src=\ref[src];secrecordadd=`'>\[Add comment\]</a><br>"
|
||||
msg += "<span class='deptradio'>Criminal status:</span> <a href='?src=\ref[src];criminal=1'>\[[criminal]\]</a>"
|
||||
msg += "<span class='deptradio'>Security records:</span> <a href='?src=\ref[src];secrecord=`'>\[View\]</a> <a href='?src=\ref[src];secrecordadd=`'>\[Add comment\]</a>"
|
||||
|
||||
if(hasHUD(user,"medical"))
|
||||
var/perpname = name
|
||||
@@ -429,22 +432,22 @@
|
||||
if (R.fields["name"] == perpname)
|
||||
medical = R.fields["p_stat"]
|
||||
|
||||
msg += "<span class = 'deptradio'>Physical status:</span> <a href='?src=\ref[src];medical=1'>\[[medical]\]</a><br>"
|
||||
msg += "<span class = 'deptradio'>Medical records:</span> <a href='?src=\ref[src];medrecord=`'>\[View\]</a> <a href='?src=\ref[src];medrecordadd=`'>\[Add comment\]</a><br>"
|
||||
msg += "<span class='deptradio'>Physical status:</span> <a href='?src=\ref[src];medical=1'>\[[medical]\]</a>"
|
||||
msg += "<span class='deptradio'>Medical records:</span> <a href='?src=\ref[src];medrecord=`'>\[View\]</a> <a href='?src=\ref[src];medrecordadd=`'>\[Add comment\]</a>"
|
||||
|
||||
|
||||
if(print_flavor_text())
|
||||
msg += "[print_flavor_text()]<br>"
|
||||
var/flavor_text = print_flavor_text()
|
||||
if(flavor_text)
|
||||
msg += "[flavor_text]"
|
||||
|
||||
// VOREStation Start
|
||||
if(ooc_notes)
|
||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>\n"
|
||||
|
||||
msg += "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>\n"
|
||||
|
||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>"
|
||||
msg += "<span class='deptradio'><a href='?src=\ref[src];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>"
|
||||
// VOREStation End
|
||||
msg += "*---------*</span><br>"
|
||||
msg += applying_pressure
|
||||
msg += "*---------*</span>"
|
||||
if(applying_pressure)
|
||||
msg += applying_pressure
|
||||
|
||||
var/show_descs = show_descriptors_to(user)
|
||||
if(show_descs)
|
||||
@@ -453,9 +456,9 @@
|
||||
if(pose)
|
||||
if(!findtext(pose, regex("\[.?!]$"))) // Will be zero if the last character is not a member of [.?!]
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "<br>[T.He] [pose]"
|
||||
msg += "<br>[T.He] [pose]" //<br> intentional, extra gap.
|
||||
|
||||
to_chat(user, jointext(msg, null))
|
||||
return 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)
|
||||
|
||||
@@ -44,25 +44,25 @@
|
||||
|
||||
switch(weight_examine)
|
||||
if(0 to 74)
|
||||
message = "<span class='warning'>[t_He] [t_is] terribly lithe and frail!</span>\n"
|
||||
message = "<span class='warning'>[t_He] [t_is] terribly lithe and frail!</span>"
|
||||
if(75 to 99)
|
||||
message = "[t_He] [t_has] a very slender frame.\n"
|
||||
message = "[t_He] [t_has] a very slender frame."
|
||||
if(100 to 124)
|
||||
message = "[t_He] [t_has] a lightweight, athletic build.\n"
|
||||
message = "[t_He] [t_has] a lightweight, athletic build."
|
||||
if(125 to 174)
|
||||
message = "[t_He] [t_has] a healthy, average body.\n"
|
||||
message = "[t_He] [t_has] a healthy, average body."
|
||||
if(175 to 224)
|
||||
message = "[t_He] [t_has] a thick, [t_heavy] physique.\n"
|
||||
message = "[t_He] [t_has] a thick, [t_heavy] physique."
|
||||
if(225 to 274)
|
||||
message = "[t_He] [t_has] a plush, chubby figure.\n"
|
||||
message = "[t_He] [t_has] a plush, chubby figure."
|
||||
if(275 to 325)
|
||||
message = "[t_He] [t_has] an especially plump body with a round potbelly and large hips.\n"
|
||||
message = "[t_He] [t_has] an especially plump body with a round potbelly and large hips."
|
||||
if(325 to 374)
|
||||
message = "[t_He] [t_has] a very fat frame with a bulging potbelly, squishy rolls of pudge, very wide hips, and plump set of jiggling thighs.\n"
|
||||
message = "[t_He] [t_has] a very fat frame with a bulging potbelly, squishy rolls of pudge, very wide hips, and plump set of jiggling thighs."
|
||||
if(375 to 474)
|
||||
message = "<span class='warning'>[t_He] [t_is] incredibly obese. [t_His] massive potbelly sags over [t_his] waistline while [t_his] fat ass would probably require two chairs to sit down comfortably!</span>\n"
|
||||
message = "<span class='warning'>[t_He] [t_is] incredibly obese. [t_His] massive potbelly sags over [t_his] waistline while [t_his] fat ass would probably require two chairs to sit down comfortably!</span>"
|
||||
else
|
||||
message += "<span class='warning'>[t_He] [t_is] so morbidly obese, you wonder how [t_he] can even stand, let alone waddle around the station. [t_He] can't get any fatter without being immobilized.</span>\n"
|
||||
message += "<span class='warning'>[t_He] [t_is] so morbidly obese, you wonder how [t_he] can even stand, let alone waddle around the station. [t_He] can't get any fatter without being immobilized.</span>"
|
||||
return message //Credit to Aronai for helping me actually get this working!
|
||||
|
||||
/mob/living/carbon/human/proc/examine_nutrition()
|
||||
@@ -100,23 +100,23 @@
|
||||
t_His = "Hir"
|
||||
switch(nutrition_examine)
|
||||
if(0 to 49)
|
||||
message = "<span class='warning'>[t_He] [t_is] starving! You can hear [t_his] stomach snarling from across the room!</span>\n"
|
||||
message = "<span class='warning'>[t_He] [t_is] starving! You can hear [t_his] stomach snarling from across the room!</span>"
|
||||
if(50 to 99)
|
||||
message = "<span class='warning'>[t_He] [t_is] extremely hungry. A deep growl occasionally rumbles from [t_his] empty stomach.</span>\n"
|
||||
message = "<span class='warning'>[t_He] [t_is] extremely hungry. A deep growl occasionally rumbles from [t_his] empty stomach.</span>"
|
||||
if(100 to 499)
|
||||
return message //Well that's pretty normal, really.
|
||||
if(500 to 999) // Fat.
|
||||
message = "[t_He] [t_has] a stuffed belly, bloated fat and round from eating too much.\n"
|
||||
message = "[t_He] [t_has] a stuffed belly, bloated fat and round from eating too much."
|
||||
if(1000 to 1399)
|
||||
message = "[t_He] [t_has] a rotund, thick gut. It bulges from their body obscenely, close to sagging under its own weight.\n"
|
||||
message = "[t_He] [t_has] a rotund, thick gut. It bulges from their body obscenely, close to sagging under its own weight."
|
||||
if(1400 to 1934) // One person fully digested.
|
||||
message = "<span class='warning'>[t_He] [t_is] sporting a large, round, sagging stomach. It's contains at least their body weight worth of glorping slush.</span>\n"
|
||||
message = "<span class='warning'>[t_He] [t_is] sporting a large, round, sagging stomach. It's contains at least their body weight worth of glorping slush.</span>"
|
||||
if(1935 to 3004) // Two people.
|
||||
message = "<span class='warning'>[t_He] [t_is] engorged with a huge stomach that sags and wobbles as they move. [t_He] must have consumed at least twice their body weight. It looks incredibly soft.</span>\n"
|
||||
message = "<span class='warning'>[t_He] [t_is] engorged with a huge stomach that sags and wobbles as they move. [t_He] must have consumed at least twice their body weight. It looks incredibly soft.</span>"
|
||||
if(3005 to 4074) // Three people.
|
||||
message = "<span class='warning'>[t_His] stomach is firmly packed with digesting slop. [t_He] must have eaten at least a few times worth their body weight! It looks hard for them to stand, and [t_his] gut jiggles when they move.</span>\n"
|
||||
message = "<span class='warning'>[t_His] stomach is firmly packed with digesting slop. [t_He] must have eaten at least a few times worth their body weight! It looks hard for them to stand, and [t_his] gut jiggles when they move.</span>"
|
||||
if(4075 to INFINITY) // Four or more people.
|
||||
message = "<span class='warning'>[t_He] [t_is] so absolutely stuffed that you aren't sure how it's possible to move. [t_He] can't seem to swell any bigger. The surface of [t_his] belly looks sorely strained!</span>\n"
|
||||
message = "<span class='warning'>[t_He] [t_is] so absolutely stuffed that you aren't sure how it's possible to move. [t_He] can't seem to swell any bigger. The surface of [t_his] belly looks sorely strained!</span>"
|
||||
return message
|
||||
|
||||
//For OmniHUD records access for appropriate models
|
||||
@@ -145,18 +145,18 @@
|
||||
/mob/living/carbon/human/proc/examine_pickup_size(mob/living/H)
|
||||
var/message = ""
|
||||
if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.50)
|
||||
message = "<font color='blue'>They are small enough that you could easily pick them up!</font>\n"
|
||||
message = "<font color='blue'>They are small enough that you could easily pick them up!</font>"
|
||||
return message
|
||||
|
||||
/mob/living/carbon/human/proc/examine_step_size(mob/living/H)
|
||||
var/message = ""
|
||||
if(istype(H) && (H.get_effective_size() - src.get_effective_size()) >= 0.75)
|
||||
message = "<font color='red'>They are small enough that you could easily trample them!</font>\n"
|
||||
message = "<font color='red'>They are small enough that you could easily trample them!</font>"
|
||||
return message
|
||||
|
||||
/mob/living/carbon/human/proc/examine_nif(mob/living/carbon/human/H)
|
||||
if(nif && nif.examine_msg) //If you have one set, anyway.
|
||||
return "<span class='notice'>[nif.examine_msg]</span>\n"
|
||||
return "<span class='notice'>[nif.examine_msg]</span>"
|
||||
|
||||
/mob/living/carbon/human/proc/examine_chimera(mob/living/carbon/human/H)
|
||||
var/t_He = "It" //capitalised for use at the start of each line.
|
||||
@@ -189,8 +189,8 @@
|
||||
t_his = "hir"
|
||||
if(revive_ready == REVIVING_NOW || revive_ready == REVIVING_DONE)
|
||||
if(stat == DEAD)
|
||||
return "<span class='warning'>[t_His] body is twitching subtly.</span>\n"
|
||||
return "<span class='warning'>[t_His] body is twitching subtly.</span>"
|
||||
else
|
||||
return "<span class='notice'>[t_He] [t_appear] to be in some sort of torpor.</span>\n"
|
||||
return "<span class='notice'>[t_He] [t_appear] to be in some sort of torpor.</span>"
|
||||
if(feral)
|
||||
return "<span class='warning'>[t_He] [t_has] a crazed, wild look in [t_his] eyes!</span>\n"
|
||||
return "<span class='warning'>[t_He] [t_has] a crazed, wild look in [t_his] eyes!</span>"
|
||||
@@ -1,42 +1,39 @@
|
||||
/mob/living/silicon/ai/examine(mob/user)
|
||||
if(!..(user))
|
||||
return
|
||||
. = ..()
|
||||
|
||||
var/msg = ""
|
||||
if (src.stat == DEAD)
|
||||
msg += "<span class='deadsay'>It appears to be powered-down.</span>\n"
|
||||
. += "<span class='deadsay'>It appears to be powered-down.</span>"
|
||||
else
|
||||
msg += "<span class='warning'>"
|
||||
if (src.getBruteLoss())
|
||||
if (src.getBruteLoss() < 30)
|
||||
msg += "It looks slightly dented.\n"
|
||||
. += "<span class='warning'>It looks slightly dented.</span>"
|
||||
else
|
||||
msg += "<B>It looks severely dented!</B>\n"
|
||||
. += "<span class='warning'><B>It looks severely dented!</B></span>"
|
||||
if (src.getFireLoss())
|
||||
if (src.getFireLoss() < 30)
|
||||
msg += "It looks slightly charred.\n"
|
||||
. += "<span class='warning'>It looks slightly charred.</span>"
|
||||
else
|
||||
msg += "<B>Its casing is melted and heat-warped!</B>\n"
|
||||
. += "<span class='warning'><B>Its casing is melted and heat-warped!</B></span>"
|
||||
if (src.getOxyLoss() && (aiRestorePowerRoutine != 0 && !APU_power))
|
||||
if (src.getOxyLoss() > 175)
|
||||
msg += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER CRITICAL\" warning.</B>\n"
|
||||
. += "<span class='warning'><B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER CRITICAL\" warning.</B></span>"
|
||||
else if(src.getOxyLoss() > 100)
|
||||
msg += "<B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER LOW\" warning.</B>\n"
|
||||
. += "<span class='warning'><B>It seems to be running on backup power. Its display is blinking a \"BACKUP POWER LOW\" warning.</B></span>"
|
||||
else
|
||||
msg += "It seems to be running on backup power.\n"
|
||||
. += "<span class='warning'>It seems to be running on backup power.</span>"
|
||||
|
||||
if (src.stat == UNCONSCIOUS)
|
||||
msg += "It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\".\n"
|
||||
msg += "</span>"
|
||||
. += "<span class='warning'>It is non-responsive and displaying the text: \"RUNTIME: Sensory Overload, stack 26/3\".</span>"
|
||||
|
||||
if(deployed_shell)
|
||||
msg += "The wireless networking light is blinking.\n"
|
||||
msg += "*---------*"
|
||||
. += "The wireless networking light is blinking."
|
||||
|
||||
. += "*---------*"
|
||||
|
||||
if(hardware && (hardware.owner == src))
|
||||
msg += "<br>"
|
||||
msg += hardware.get_examine_desc()
|
||||
to_chat(user,msg)
|
||||
. += hardware.get_examine_desc()
|
||||
|
||||
user.showLaws(src)
|
||||
return
|
||||
|
||||
/mob/proc/showLaws(var/mob/living/silicon/S)
|
||||
return
|
||||
|
||||
@@ -1,26 +1,24 @@
|
||||
/mob/living/silicon/pai/examine(mob/user)
|
||||
..(user, infix = ", personal AI")
|
||||
. = ..(user, infix = ", personal AI")
|
||||
|
||||
var/msg = ""
|
||||
switch(src.stat)
|
||||
if(CONSCIOUS)
|
||||
if(!src.client) msg += "\nIt appears to be in stand-by mode.\n" //afk
|
||||
if(UNCONSCIOUS) msg += "\n<span class='warning'>It doesn't seem to be responding.</span>\n"
|
||||
if(DEAD) msg += "\n<span class='deadsay'>It looks completely unsalvageable.</span>\n"
|
||||
msg += attempt_vr(src,"examine_bellies",args) //VOREStation Edit
|
||||
|
||||
if(!src.client) . += "It appears to be in stand-by mode." //afk
|
||||
if(UNCONSCIOUS) . += "<span class='warning'>It doesn't seem to be responding.</span>"
|
||||
if(DEAD) . += "<span class='deadsay'>It looks completely unsalvageable.</span>"
|
||||
|
||||
// VOREStation Edit: Start
|
||||
. += attempt_vr(src,"examine_bellies",args) //VOREStation Edit
|
||||
if(ooc_notes)
|
||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>\n"
|
||||
. += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>"
|
||||
// VOREStation Edit: End
|
||||
|
||||
msg += "\n*---------*"
|
||||
. += "*---------*"
|
||||
|
||||
if(print_flavor_text()) msg += "\n[print_flavor_text()]\n"
|
||||
if(print_flavor_text()) . += "\n[print_flavor_text()]\n"
|
||||
|
||||
if (pose)
|
||||
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
|
||||
if(!findtext(pose, regex("\[.?!]$"))) // Will be zero if the last character is not a member of [.?!]
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "\nIt is [pose]"
|
||||
|
||||
to_chat(user,msg)
|
||||
. += "<br>It is [pose]" //Extra <br> intentional
|
||||
|
||||
@@ -179,12 +179,12 @@
|
||||
flags |= NOBLUDGEON //No more attack messages
|
||||
|
||||
/obj/item/device/dogborg/tongue/examine(user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
if(water.energy)
|
||||
to_chat(user, "<span class='notice'>[src] is wet. Just like it should be.</span>")
|
||||
if(water.energy < 5)
|
||||
to_chat(user, "<span class='notice'>[src] is dry.</span>")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(water.energy)
|
||||
. += "<span class='notice'>[src] is wet. Just like it should be.</span>"
|
||||
if(water.energy < 5)
|
||||
. += "<span class='notice'>[src] is dry.</span>"
|
||||
|
||||
/obj/item/device/dogborg/tongue/attack_self(mob/user)
|
||||
var/mob/living/silicon/robot.R = user
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
var/force_holder = null //
|
||||
|
||||
/obj/item/weapon/gripper/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(wrapped)
|
||||
to_chat(user, "<span class='notice'>\The [src] is holding \the [wrapped].</span>")
|
||||
wrapped.examine(user)
|
||||
. += "<span class='notice'>\The [src] is holding \the [wrapped].</span>"
|
||||
. += wrapped.examine(user)
|
||||
|
||||
/obj/item/weapon/gripper/CtrlClick(mob/user)
|
||||
drop_item()
|
||||
|
||||
@@ -63,9 +63,9 @@
|
||||
visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.")
|
||||
|
||||
/obj/machinery/drone_fabricator/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(produce_drones && drone_progress >= 100 && istype(user,/mob/observer/dead) && config.allow_drone_spawn && count_drones() < config.max_maint_drones)
|
||||
to_chat(user, "<BR><B>A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone.</B>")
|
||||
. += "<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/create_drone(var/client/player)
|
||||
|
||||
|
||||
@@ -1,53 +1,48 @@
|
||||
/mob/living/silicon/robot/examine(mob/user)
|
||||
var/custom_infix = custom_name ? ", [modtype] [braintype]" : ""
|
||||
..(user, infix = custom_infix)
|
||||
. = ..(user, infix = custom_infix)
|
||||
|
||||
var/msg = ""
|
||||
msg += "<span class='warning'>"
|
||||
if (src.getBruteLoss())
|
||||
if (src.getBruteLoss() < 75)
|
||||
msg += "It looks slightly dented.\n"
|
||||
. += "<span class='warning'>It looks slightly dented.</span>"
|
||||
else
|
||||
msg += "<B>It looks severely dented!</B>\n"
|
||||
. += "<span class='warning'><B>It looks severely dented!</B></span>"
|
||||
if (src.getFireLoss())
|
||||
if (src.getFireLoss() < 75)
|
||||
msg += "It looks slightly charred.\n"
|
||||
. += "<span class='warning'>It looks slightly charred.</span>"
|
||||
else
|
||||
msg += "<B>It looks severely burnt and heat-warped!</B>\n"
|
||||
msg += "</span>"
|
||||
. += "<span class='warning'><B>It looks severely burnt and heat-warped!</B></span>"
|
||||
|
||||
if(opened)
|
||||
msg += "<span class='warning'>Its cover is open and the power cell is [cell ? "installed" : "missing"].</span>\n"
|
||||
. += "<span class='warning'>Its cover is open and the power cell is [cell ? "installed" : "missing"].</span>"
|
||||
else
|
||||
msg += "Its cover is closed.\n"
|
||||
. += "Its cover is closed."
|
||||
|
||||
if(!has_power)
|
||||
msg += "<span class='warning'>It appears to be running on backup power.</span>\n"
|
||||
. += "<span class='warning'>It appears to be running on backup power.</span>"
|
||||
|
||||
switch(src.stat)
|
||||
if(CONSCIOUS)
|
||||
if(shell)
|
||||
msg += "It appears to be an [deployed ? "active" : "empty"] AI shell.\n"
|
||||
. += "It appears to be an [deployed ? "active" : "empty"] AI shell."
|
||||
else if(!src.client)
|
||||
msg += "It appears to be in stand-by mode.\n" //afk
|
||||
if(UNCONSCIOUS) msg += "<span class='warning'>It doesn't seem to be responding.</span>\n"
|
||||
if(DEAD) msg += "<span class='deadsay'>It looks completely unsalvageable.</span>\n"
|
||||
msg += attempt_vr(src,"examine_bellies_borg",args) //VOREStation Edit
|
||||
|
||||
. += "It appears to be in stand-by mode." //afk
|
||||
if(UNCONSCIOUS) . += "<span class='warning'>It doesn't seem to be responding.</span>"
|
||||
if(DEAD) . += "<span class='deadsay'>It looks completely unsalvageable.</span>"
|
||||
|
||||
// VOREStation Edit: Start
|
||||
. += attempt_vr(src,"examine_bellies_borg",args) //VOREStation Edit
|
||||
if(ooc_notes)
|
||||
msg += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>\n"
|
||||
. += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[src];ooc_notes=1'>\[View\]</a>"
|
||||
// VOREStation Edit: End
|
||||
|
||||
msg += "*---------*"
|
||||
. += "*---------*"
|
||||
|
||||
if(print_flavor_text()) msg += "\n[print_flavor_text()]\n"
|
||||
if(print_flavor_text()) . += "<br>[print_flavor_text()]"
|
||||
|
||||
if (pose)
|
||||
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
|
||||
if(!findtext(pose, regex("\[.?!]$"))) // Will be zero if the last character is not a member of [.?!]
|
||||
pose = addtext(pose,".") //Makes sure all emotes end with a period.
|
||||
msg += "\nIt is [pose]"
|
||||
. += "<br>It is [pose]" //Extra <br> intentional
|
||||
|
||||
to_chat(user,msg)
|
||||
user.showLaws(src)
|
||||
return
|
||||
|
||||
@@ -430,10 +430,9 @@
|
||||
max_doors = 5
|
||||
|
||||
/obj/item/weapon/inflatable_dispenser/examine(var/mob/user)
|
||||
if(!..(user))
|
||||
return
|
||||
to_chat(user, "It has [stored_walls] wall segment\s and [stored_doors] door segment\s stored.")
|
||||
to_chat(user, "It is set to deploy [mode ? "doors" : "walls"]")
|
||||
. = ..()
|
||||
. += "It has [stored_walls] wall segment\s and [stored_doors] door segment\s stored."
|
||||
. += "It is set to deploy [mode ? "doors" : "walls"]"
|
||||
|
||||
/obj/item/weapon/inflatable_dispenser/attack_self()
|
||||
mode = !mode
|
||||
|
||||
@@ -41,11 +41,11 @@
|
||||
return say(message)
|
||||
|
||||
// Ugly saycode so parrots can use their headsets.
|
||||
/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, used_radios)
|
||||
/mob/living/simple_mob/animal/passive/bird/parrot/handle_message_mode(message_mode, message, verb, speaking, used_radios)
|
||||
..()
|
||||
if(message_mode)
|
||||
if(my_headset && istype(my_headset, /obj/item/device/radio))
|
||||
my_headset.talk_into(src, message, message_mode, verb)
|
||||
my_headset.talk_into(src, message, message_mode, verb, speaking)
|
||||
used_radios += my_headset
|
||||
|
||||
// Clicked on while holding an object.
|
||||
@@ -90,9 +90,9 @@
|
||||
my_headset = null
|
||||
|
||||
/mob/living/simple_mob/animal/passive/bird/parrot/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(my_headset)
|
||||
to_chat(user, "It is wearing \a [my_headset].")
|
||||
. += "It is wearing \a [my_headset]."
|
||||
|
||||
/mob/living/simple_mob/animal/passive/bird/parrot/Initialize()
|
||||
if(my_headset)
|
||||
@@ -109,7 +109,7 @@
|
||||
icon_rest = "poly-held"
|
||||
icon_dead = "poly-dead"
|
||||
tt_desc = "E Ara macao"
|
||||
//my_headset = /obj/item/device/radio/headset/headset_eng //VOREStation Removal: shut up
|
||||
//my_headset = /obj/item/device/radio/headset/headset_eng //VOREStation Removal
|
||||
say_list_type = /datum/say_list/bird/poly
|
||||
|
||||
// Best Bird with best headset.
|
||||
|
||||
@@ -41,9 +41,9 @@
|
||||
// this is to prevent easy checks from the opposing force.
|
||||
/mob/living/simple_mob/illusion/examine(mob/user)
|
||||
if(copying)
|
||||
copying.examine(user)
|
||||
return
|
||||
..()
|
||||
return copying.examine(user)
|
||||
else
|
||||
return list("???")
|
||||
|
||||
/mob/living/simple_mob/illusion/bullet_act(obj/item/projectile/P)
|
||||
if(!P)
|
||||
|
||||
@@ -133,18 +133,13 @@
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_mob/construct/examine(mob/user)
|
||||
..(user)
|
||||
var/msg = "<span cass='info'>*---------*\nThis is [bicon(src)] \a <EM>[src]</EM>!\n"
|
||||
if (src.health < src.getMaxHealth())
|
||||
msg += "<span class='warning'>"
|
||||
if (src.health >= src.getMaxHealth()/2)
|
||||
msg += "It looks slightly dented.\n"
|
||||
. = ..(user)
|
||||
var/max = getMaxHealth()
|
||||
if (health < max)
|
||||
if (health >= max/2)
|
||||
. += "<span class='warning'>It looks slightly dented.</span>"
|
||||
else
|
||||
msg += "<B>It looks severely dented!</B>\n"
|
||||
msg += "</span>"
|
||||
msg += "*---------*</span>"
|
||||
|
||||
to_chat(user,msg)
|
||||
. += "<span class='warning'><B>It looks severely dented!</B></span>"
|
||||
|
||||
//Constructs levitate, can fall from a shuttle with no harm, and are piloted by either damned spirits or some otherworldly entity. Let 'em float in space.
|
||||
/mob/living/simple_mob/construct/Process_Spacemove()
|
||||
|
||||
@@ -73,25 +73,25 @@
|
||||
..()
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(hat)
|
||||
to_chat(user, "It is wearing \a [hat].")
|
||||
. += "It is wearing \a [hat]."
|
||||
|
||||
if(stat == DEAD)
|
||||
to_chat(user, "It appears to be dead.")
|
||||
. += "It appears to be dead."
|
||||
else if(incapacitated(INCAPACITATION_DISABLED))
|
||||
to_chat(user, "It appears to be incapacitated.")
|
||||
. += "It appears to be incapacitated."
|
||||
else if(harmless)
|
||||
to_chat(user, "It appears to have been pacified.")
|
||||
. += "It appears to have been pacified."
|
||||
else
|
||||
if(has_AI())
|
||||
var/datum/ai_holder/simple_mob/xenobio_slime/AI = ai_holder
|
||||
if(AI.rabid)
|
||||
to_chat(user, "It seems very, very angry and upset.")
|
||||
. += "It seems very, very angry and upset."
|
||||
else if(AI.obedience >= 5)
|
||||
to_chat(user, "It looks rather obedient.")
|
||||
. += "It looks rather obedient."
|
||||
else if(AI.discipline)
|
||||
to_chat(user, "It has been subjugated by force, at least for now.")
|
||||
. += "It has been subjugated by force, at least for now."
|
||||
|
||||
/mob/living/simple_mob/slime/xenobio/proc/make_adult()
|
||||
if(is_adult)
|
||||
|
||||
@@ -69,12 +69,11 @@
|
||||
|
||||
/mob/living/simple_mob/vore/hostile/morph/examine(mob/user)
|
||||
if(morphed)
|
||||
form.examine(user)
|
||||
if(get_dist(user,src)<=3)
|
||||
to_chat(user, "<span class='warning'>It doesn't look quite right...</span>")
|
||||
. = form.examine(user)
|
||||
if(get_dist(user, src) <= 3)
|
||||
. += "<span class='warning'>[form] doesn't look quite right...</span>"
|
||||
else
|
||||
..()
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/mob/living/simple_mob/vore/hostile/morph/ShiftClickOn(atom/movable/A)
|
||||
if(Adjacent(A))
|
||||
|
||||
@@ -237,7 +237,10 @@
|
||||
return 1
|
||||
|
||||
face_atom(A)
|
||||
A.examine(src)
|
||||
var/list/results = A.examine(src)
|
||||
if(!results || !results.len)
|
||||
results = list("You were unable to examine that. Tell a developer!")
|
||||
to_chat(src, jointext(results, "<br>"))
|
||||
|
||||
/mob/verb/pointed(atom/A as mob|obj|turf in view())
|
||||
set name = "Point To"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/obj/item/modular_computer/examine(var/mob/user)
|
||||
. = ..()
|
||||
if(damage > broken_damage)
|
||||
to_chat(user, "<span class='danger'>It is heavily damaged!</span>")
|
||||
. += "<span class='danger'>It is heavily damaged!</span>"
|
||||
else if(damage)
|
||||
to_chat(user, "It is damaged.")
|
||||
. += "It is damaged."
|
||||
|
||||
/obj/item/modular_computer/proc/break_apart()
|
||||
visible_message("\The [src] breaks apart!")
|
||||
|
||||
@@ -75,11 +75,11 @@
|
||||
/obj/item/weapon/computer_hardware/examine(var/mob/user)
|
||||
. = ..()
|
||||
if(damage > damage_failure)
|
||||
to_chat(user, "<span class='danger'>It seems to be severely damaged!</span>")
|
||||
. += "<span class='danger'>It seems to be severely damaged!</span>"
|
||||
else if(damage > damage_malfunction)
|
||||
to_chat(user, "<span class='notice'>It seems to be damaged!</span>")
|
||||
. += "<span class='notice'>It seems to be damaged!</span>"
|
||||
else if(damage)
|
||||
to_chat(user, "It seems to be slightly damaged.")
|
||||
. += "It seems to be slightly damaged."
|
||||
|
||||
// Damages the component. Contains necessary checks. Negative damage "heals" the component.
|
||||
/obj/item/weapon/computer_hardware/take_damage(var/amount)
|
||||
|
||||
@@ -70,11 +70,12 @@
|
||||
O.hide(0)
|
||||
|
||||
/turf/simulated/open/examine(mob/user, distance, infix, suffix)
|
||||
if(..(user, 2))
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
var/depth = 1
|
||||
for(var/T = GetBelow(src); isopenspace(T); T = GetBelow(T))
|
||||
depth += 1
|
||||
to_chat(user, "It is about [depth] levels deep.")
|
||||
. += "It is about [depth] levels deep."
|
||||
|
||||
/**
|
||||
* Update icon and overlays of open space to be that of the turf below, plus any visible objects on that turf.
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
if(!owner)
|
||||
// The only time we should have a null owner is if we are in nullspace. Help figure out why we were examined.
|
||||
crash_with("[src] ([type]) @ [log_info_line()] was examined by [user] @ [global.log_info_line(user)]")
|
||||
return
|
||||
return list()
|
||||
return owner.examine(user, distance, infix, suffix)
|
||||
|
||||
// Relay some stuff they hear
|
||||
|
||||
@@ -113,11 +113,11 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
|
||||
callHook("debrain", list(brainmob))
|
||||
|
||||
/obj/item/organ/internal/brain/examine(mob/user) // -- TLE
|
||||
..(user)
|
||||
. = ..()
|
||||
if(brainmob && brainmob.client)//if thar be a brain inside... the brain.
|
||||
to_chat(user, "You can feel the small spark of life still left in this one.")
|
||||
. += "You can feel the small spark of life still left in this one."
|
||||
else
|
||||
to_chat(user, "This one seems particularly lifeless. Perhaps it will regain some of its luster later..")
|
||||
. += "This one seems particularly lifeless. Perhaps it will regain some of its luster later..."
|
||||
|
||||
/obj/item/organ/internal/brain/removed(var/mob/living/user)
|
||||
|
||||
|
||||
@@ -158,9 +158,9 @@ var/list/organ_cache = list()
|
||||
handle_germ_effects()
|
||||
|
||||
/obj/item/organ/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(status & ORGAN_DEAD)
|
||||
to_chat(user, "<span class='notice'>The decay has set in.</span>")
|
||||
. += "<span class='notice'>Decay appears to have set in.</span>"
|
||||
|
||||
//A little wonky: internal organs stop calling this (they return early in process) when dead, but external ones cause further damage when dead
|
||||
/obj/item/organ/proc/handle_germ_effects()
|
||||
|
||||
@@ -146,13 +146,12 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/external/examine()
|
||||
..()
|
||||
. = ..()
|
||||
if(in_range(usr, src) || istype(usr, /mob/observer/dead))
|
||||
for(var/obj/item/I in contents)
|
||||
if(istype(I, /obj/item/organ))
|
||||
continue
|
||||
to_chat(usr, "<span class='danger'>There is \a [I] sticking out of it.</span>")
|
||||
return
|
||||
. += "<span class='danger'>There is \a [I] sticking out of it.</span>"
|
||||
|
||||
/obj/item/organ/external/attackby(obj/item/weapon/W as obj, mob/living/user as mob)
|
||||
switch(stage)
|
||||
|
||||
@@ -165,13 +165,13 @@
|
||||
/obj/machinery/shipsensors/examine(mob/user)
|
||||
. = ..()
|
||||
if(health <= 0)
|
||||
to_chat(user, "\The [src] is wrecked.")
|
||||
. += "<span class='danger'>It is wrecked.</span>"
|
||||
else if(health < max_health * 0.25)
|
||||
to_chat(user, "<span class='danger'>\The [src] looks like it's about to break!</span>")
|
||||
. += "<span class='danger'>It looks like it's about to break!</span>"
|
||||
else if(health < max_health * 0.5)
|
||||
to_chat(user, "<span class='danger'>\The [src] looks seriously damaged!</span>")
|
||||
. += "<span class='danger'>It looks seriously damaged!</span>"
|
||||
else if(health < max_health * 0.75)
|
||||
to_chat(user, "\The [src] shows signs of damage!")
|
||||
. += "It shows signs of damage!"
|
||||
|
||||
/obj/machinery/shipsensors/bullet_act(var/obj/item/projectile/Proj)
|
||||
take_damage(Proj.get_structure_damage())
|
||||
|
||||
@@ -142,12 +142,11 @@
|
||||
free_space -= length(strip_html_properly(new_text))
|
||||
|
||||
/obj/item/weapon/paper/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(in_range(user, src) || istype(user, /mob/observer/dead))
|
||||
show_content(usr)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You have to go closer if you want to read it.</span>")
|
||||
return
|
||||
. += "<span class='notice'>You have to go closer if you want to read it.</span>"
|
||||
|
||||
/obj/item/weapon/paper/proc/show_content(var/mob/user, var/forceshow=0)
|
||||
if(!(istype(user, /mob/living/carbon/human) || istype(user, /mob/observer/dead) || istype(user, /mob/living/silicon)) && !forceshow)
|
||||
|
||||
@@ -96,11 +96,11 @@
|
||||
to_chat(user, "<font color='red'>You must hold \the [P] steady to burn \the [src].</font>")
|
||||
|
||||
/obj/item/weapon/paper_bundle/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
src.show_content(user)
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
show_content(user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>It is too far away.</span>")
|
||||
return
|
||||
. += "<span class='notice'>It is too far away.</span>"
|
||||
|
||||
/obj/item/weapon/paper_bundle/proc/show_content(mob/user as mob)
|
||||
var/dat
|
||||
|
||||
@@ -94,13 +94,12 @@
|
||||
|
||||
|
||||
/obj/item/weapon/paper_bin/examine(mob/user)
|
||||
if(get_dist(src, user) <= 1)
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(amount)
|
||||
to_chat(user, "<span class='notice'>There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.</span>")
|
||||
. += "<span class='notice'>There " + (amount > 1 ? "are [amount] papers" : "is one paper") + " in the bin.</span>"
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There are no papers in the bin.</span>")
|
||||
return
|
||||
|
||||
. += "<span class='notice'>There are no papers in the bin.</span>"
|
||||
|
||||
/obj/item/weapon/paper_bin/update_icon()
|
||||
if(amount < 1)
|
||||
|
||||
@@ -26,8 +26,9 @@
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/photocopier/examine(mob/user as mob)
|
||||
if(..(user, 1))
|
||||
to_chat(user, "The screen shows there's [toner ? "[toner]" : "no"] toner left in the printer.")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "The screen shows there's [toner ? "[toner]" : "no"] toner left in the printer."
|
||||
|
||||
/obj/machinery/photocopier/attack_ai(mob/user as mob)
|
||||
return attack_hand(user)
|
||||
|
||||
@@ -51,11 +51,12 @@ var/global/photo_count = 0
|
||||
..()
|
||||
|
||||
/obj/item/weapon/photo/examine(mob/user)
|
||||
//This is one time we're not going to call parent, because photos are 'secret' unless you're close enough.
|
||||
if(in_range(user, src))
|
||||
show(user)
|
||||
to_chat(user,desc)
|
||||
return list(desc)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>It is too far away.</span>")
|
||||
return list("<span class='notice'>It is too far away to examine.</span>")
|
||||
|
||||
/obj/item/weapon/photo/proc/show(mob/user as mob)
|
||||
user << browse_rsc(img, "tmp_photo_[id].png")
|
||||
|
||||
@@ -68,8 +68,9 @@
|
||||
|
||||
|
||||
/obj/item/weapon/fuel/examine(mob/user)
|
||||
if(get_dist(src, user) <= 1)
|
||||
to_chat(user, "A magnetic storage ring, it contains [fuel]kg of [content ? content : "nothing"].")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "It contains [fuel]kg of [content ? content : "nothing"]."
|
||||
|
||||
/obj/item/weapon/fuel/proc/injest(mob/M as mob)
|
||||
switch(content)
|
||||
|
||||
+13
-12
@@ -251,29 +251,30 @@
|
||||
src.update()
|
||||
|
||||
/obj/machinery/power/apc/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(stat & BROKEN)
|
||||
to_chat(user, "This APC is broken.")
|
||||
return
|
||||
if(opened)
|
||||
. += "This APC is broken."
|
||||
|
||||
else if(opened)
|
||||
if(has_electronics && terminal)
|
||||
to_chat(user, "The cover is [opened==2?"removed":"open"] and [ cell ? "a power cell is installed" : "the power cell is missing"].")
|
||||
. += "The cover is [opened == 2 ? "removed" : "open"] and [ cell ? "a power cell is installed" : "the power cell is missing"]."
|
||||
else if (!has_electronics && terminal)
|
||||
to_chat(user, "The frame is wired, but the electronics are missing.")
|
||||
. += "The frame is wired, but the electronics are missing."
|
||||
else if (has_electronics && !terminal)
|
||||
to_chat(user, "The electronics are installed, but not wired.")
|
||||
. += "The electronics are installed, but not wired."
|
||||
else /* if (!has_electronics && !terminal) */
|
||||
to_chat(user, "It's just an empty metal frame.")
|
||||
. += "It's just an empty metal frame."
|
||||
|
||||
else
|
||||
if (wiresexposed)
|
||||
to_chat(user, "The cover is closed and the wires are exposed.")
|
||||
. += "The cover is closed and the wires are exposed."
|
||||
else if ((locked && emagged) || hacker) //Some things can cause locked && emagged. Malf AI causes hacker.
|
||||
to_chat(user, "The cover is closed, but the panel is unresponsive.")
|
||||
. += "The cover is closed, but the panel is unresponsive."
|
||||
else if(!locked && emagged) //Normal emag does this.
|
||||
to_chat(user, "The cover is closed, but the panel is flashing an error.")
|
||||
. += "The cover is closed, but the panel is flashing an error."
|
||||
else
|
||||
to_chat(user, "The cover is closed.")
|
||||
. += "The cover is closed."
|
||||
|
||||
|
||||
// update the APC icon to show the three base states
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
/obj/machinery/power/breakerbox
|
||||
name = "Breaker Box"
|
||||
desc = "Large machine with heavy duty switching circuits used for advanced grid control."
|
||||
icon = 'icons/obj/power.dmi'
|
||||
icon_state = "bbox_off"
|
||||
//directwired = 0
|
||||
@@ -40,11 +41,11 @@
|
||||
set_state(1)
|
||||
|
||||
/obj/machinery/power/breakerbox/examine(mob/user)
|
||||
to_chat(user, "Large machine with heavy duty switching circuits used for advanced grid control")
|
||||
. = ..()
|
||||
if(on)
|
||||
to_chat(user, "<font color='green'>It seems to be online.</font>")
|
||||
. += "<span class='notice'>It seems to be online.</span>"
|
||||
else
|
||||
to_chat(user, "<font color='red'>It seems to be offline.</font>")
|
||||
. += "<span class='warning'>It seems to be offline.</span>"
|
||||
|
||||
/obj/machinery/power/breakerbox/attack_ai(mob/user)
|
||||
if(update_locked)
|
||||
|
||||
@@ -609,20 +609,13 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
w_class = ITEMSIZE_SMALL
|
||||
|
||||
/obj/item/stack/cable_coil/examine(mob/user)
|
||||
var/msg = ""
|
||||
|
||||
. = ..()
|
||||
if(get_amount() == 1)
|
||||
msg += "A short piece of power cable."
|
||||
. += "Just a short piece remains."
|
||||
else if(get_amount() == 2)
|
||||
msg += "A piece of power cable."
|
||||
else
|
||||
msg += "A coil of power cable."
|
||||
|
||||
if(get_dist(src, user) <= 1)
|
||||
msg += " There are [get_amount()] lengths of cable in the coil."
|
||||
|
||||
to_chat(user, msg)
|
||||
|
||||
. += "Just a couple of short pieces remain."
|
||||
else if(Adjacent(user))
|
||||
. += "There are [get_amount()] lengths of cable in the coil."
|
||||
|
||||
/obj/item/stack/cable_coil/verb/make_restraint()
|
||||
set name = "Make Cable Restraints"
|
||||
@@ -992,12 +985,10 @@ obj/structure/cable/proc/cableColor(var/colorC)
|
||||
return 0
|
||||
|
||||
/obj/item/stack/cable_coil/alien/examine(mob/user)
|
||||
var/msg = "A spool of cable."
|
||||
. = ..()
|
||||
|
||||
if(get_dist(src, user) <= 1)
|
||||
msg += " It doesn't seem to have a beginning, or an end."
|
||||
|
||||
to_chat(user, msg)
|
||||
if(Adjacent(user))
|
||||
. += "It doesn't seem to have a beginning, or an end."
|
||||
|
||||
/obj/item/stack/cable_coil/alien/attack_hand(mob/user as mob)
|
||||
if (user.get_inactive_hand() == src)
|
||||
|
||||
@@ -145,10 +145,10 @@
|
||||
|
||||
|
||||
/obj/item/weapon/cell/examine(mob/user)
|
||||
..()
|
||||
if(get_dist(src, user) <= 1)
|
||||
to_chat(user, " It has a power rating of [maxcharge].\nThe charge meter reads [round(src.percent() )]%.")
|
||||
return
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "It has a power rating of [maxcharge]."
|
||||
. += "The charge meter reads [round(src.percent() )]%."
|
||||
|
||||
/obj/item/weapon/cell/attackby(obj/item/W, mob/user)
|
||||
..()
|
||||
|
||||
@@ -56,23 +56,22 @@ var/global/list/light_type_cache = list()
|
||||
icon_state = "tube-empty"
|
||||
|
||||
/obj/machinery/light_construct/examine(mob/user)
|
||||
if(!..(user, 2))
|
||||
return
|
||||
|
||||
switch(src.stage)
|
||||
if(1)
|
||||
to_chat(user, "It's an empty frame.")
|
||||
if(2)
|
||||
to_chat(user, "It's wired.")
|
||||
if(3)
|
||||
to_chat(user, "The casing is closed.")
|
||||
if(cell_connectors)
|
||||
if(cell)
|
||||
to_chat(user, "You see [cell] inside the casing.")
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 2)
|
||||
switch(stage)
|
||||
if(1)
|
||||
. += "It's an empty frame."
|
||||
if(2)
|
||||
. += "It's wired."
|
||||
if(3)
|
||||
. += "The casing is closed."
|
||||
if(cell_connectors)
|
||||
if(cell)
|
||||
. += "You see [cell] inside the casing."
|
||||
else
|
||||
. += "The casing has no power cell for backup power."
|
||||
else
|
||||
to_chat(user, "The casing has no power cell for backup power.")
|
||||
else
|
||||
to_chat(user, "<span class='danger'>This casing doesn't support power cells for backup power.</span>")
|
||||
. += "<span class='danger'>This casing doesn't support power cells for backup power.</span>"
|
||||
|
||||
/obj/machinery/light_construct/attack_hand(mob/user)
|
||||
. = ..()
|
||||
@@ -485,18 +484,19 @@ var/global/list/light_type_cache = list()
|
||||
|
||||
// examine verb
|
||||
/obj/machinery/light/examine(mob/user)
|
||||
. = ..()
|
||||
var/fitting = get_fitting_name()
|
||||
switch(status)
|
||||
if(LIGHT_OK)
|
||||
to_chat(user, "[desc] It is turned [on? "on" : "off"].")
|
||||
. += "It is turned [on? "on" : "off"]."
|
||||
if(LIGHT_EMPTY)
|
||||
to_chat(user, "[desc] The [fitting] has been removed.")
|
||||
. += "The [fitting] has been removed."
|
||||
if(LIGHT_BURNED)
|
||||
to_chat(user, "[desc] The [fitting] is burnt out.")
|
||||
. += "The [fitting] is burnt out."
|
||||
if(LIGHT_BROKEN)
|
||||
to_chat(user, "[desc] The [fitting] has been smashed.")
|
||||
. += "The [fitting] has been smashed."
|
||||
if(cell)
|
||||
to_chat(user, "Its backup power charge meter reads [round((cell.charge / cell.maxcharge) * 100, 0.1)]%.")
|
||||
. += "Its backup power charge meter reads [round((cell.charge / cell.maxcharge) * 100, 0.1)]%."
|
||||
|
||||
/obj/machinery/light/proc/get_fitting_name()
|
||||
var/obj/item/weapon/light/L = light_type
|
||||
|
||||
@@ -68,15 +68,15 @@
|
||||
pixel_y = (dir & 3) ? (dir == NORTH ? -y_offset : y_offset) : 0
|
||||
|
||||
/obj/structure/construction/examine(mob/user)
|
||||
if(!..(user, 2))
|
||||
return
|
||||
switch(stage)
|
||||
if(FRAME_UNFASTENED)
|
||||
to_chat(user, "It's an empty frame.")
|
||||
if(FRAME_FASTENED)
|
||||
to_chat(user, "It's fixed to the wall.")
|
||||
if(FRAME_WIRED)
|
||||
to_chat(user, "It's wired.")
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 2)
|
||||
switch(stage)
|
||||
if(FRAME_UNFASTENED)
|
||||
. += "It's an empty frame."
|
||||
if(FRAME_FASTENED)
|
||||
. += "It's fixed to the wall."
|
||||
if(FRAME_WIRED)
|
||||
. += "It's wired."
|
||||
|
||||
/obj/structure/construction/update_icon()
|
||||
icon_state = "[base_icon][stage]"
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
|
||||
|
||||
examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "<font color='blue'>The generator has [P.air_contents.phoron] units of fuel left, producing [power_gen] per cycle.</font>")
|
||||
. = ..()
|
||||
. += "<span class='notice'>The generator has [P.air_contents.phoron] units of fuel left, producing [power_gen] per cycle.</span>"
|
||||
|
||||
handleInactive()
|
||||
heat -= 2
|
||||
|
||||
@@ -48,12 +48,12 @@
|
||||
return
|
||||
|
||||
/obj/machinery/power/port_gen/examine(mob/user)
|
||||
if(!..(user,1 ))
|
||||
return
|
||||
if(active)
|
||||
to_chat(user, "<span class='notice'>The generator is on.</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The generator is off.</span>")
|
||||
. = ..()
|
||||
if(Adjacent(user)) //It literally has a light on the sprite, are you sure this is necessary?
|
||||
if(active)
|
||||
. += "<span class='notice'>The generator is on.</span>"
|
||||
else
|
||||
. += "<span class='notice'>The generator is off.</span>"
|
||||
|
||||
/obj/machinery/power/port_gen/emp_act(severity)
|
||||
var/duration = 6000 //ten minutes
|
||||
@@ -144,13 +144,13 @@
|
||||
power_gen = round(initial(power_gen) * (max(2, temp_rating) / 2))
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "\The [src] appears to be producing [power_gen*power_output] W.")
|
||||
to_chat(user, "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper.")
|
||||
. = ..()
|
||||
. += "It appears to be producing [power_gen*power_output] W."
|
||||
. += "There [sheets == 1 ? "is" : "are"] [sheets] sheet\s left in the hopper."
|
||||
if(IsBroken())
|
||||
to_chat(user, "<span class='warning'>\The [src] seems to have broken down.</span>")
|
||||
. += "<span class='warning'>It seems to have broken down.</span>"
|
||||
if(overheating)
|
||||
to_chat(user, "<span class='danger'>\The [src] is overheating!</span>")
|
||||
. += "<span class='danger'>It is overheating!</span>"
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/HasFuel()
|
||||
var/needed_sheets = power_output / time_per_sheet
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
/obj/machinery/power/rtg/examine(mob/user)
|
||||
. = ..()
|
||||
if(Adjacent(user, src) || isobserver(user))
|
||||
to_chat(user, "<span class='notice'>The status display reads: Power generation now at <b>[power_gen*0.001]</b>kW.</span>")
|
||||
. += "<span class='notice'>The status display reads: Power generation now at <b>[power_gen*0.001]</b>kW.</span>"
|
||||
|
||||
/obj/machinery/power/rtg/attackby(obj/item/I, mob/user, params)
|
||||
if(default_deconstruction_screwdriver(user, I))
|
||||
|
||||
@@ -103,9 +103,9 @@ var/global/list/rad_collectors = list()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/rad_collector/examine(mob/user)
|
||||
if (..(user, 3))
|
||||
to_chat(user, "The meter indicates that \the [src] is collecting [last_power] W.")
|
||||
return 1
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 3)
|
||||
. += "The meter indicates that it is collecting [last_power] W."
|
||||
|
||||
/obj/machinery/power/rad_collector/ex_act(severity)
|
||||
switch(severity)
|
||||
|
||||
@@ -267,15 +267,15 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/power/emitter/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
var/integrity_percentage = round((integrity / initial(integrity)) * 100)
|
||||
switch(integrity_percentage)
|
||||
if(0 to 30)
|
||||
to_chat(user, "<span class='danger'>\The [src] is close to falling apart!</span>")
|
||||
. += "<span class='danger'>It is close to falling apart!</span>"
|
||||
if(31 to 70)
|
||||
to_chat(user, "<span class='danger'>\The [src] is damaged.</span>")
|
||||
. += "<span class='danger'>It is damaged.</span>"
|
||||
if(77 to 99)
|
||||
to_chat(user, "<span class='warning'>\The [src] is slightly damaged.</span>")
|
||||
. += "<span class='warning'It is slightly damaged.</span>"
|
||||
|
||||
//R-UST port
|
||||
/obj/machinery/power/emitter/proc/get_initial_fire_delay()
|
||||
|
||||
@@ -112,20 +112,17 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
return 1
|
||||
|
||||
/obj/structure/particle_accelerator/examine(mob/user)
|
||||
switch(src.construction_state)
|
||||
. = ..()
|
||||
|
||||
switch(construction_state)
|
||||
if(0)
|
||||
src.desc = text("A [name], looks like it's not attached to the flooring")
|
||||
. += "Looks like it's not attached to the flooring."
|
||||
if(1)
|
||||
src.desc = text("A [name], it is missing some cables")
|
||||
. += "It is missing some cables."
|
||||
if(2)
|
||||
src.desc = text("A [name], the panel is open")
|
||||
. += "The panel is open."
|
||||
if(3)
|
||||
src.desc = text("The [name] is assembled")
|
||||
if(powered)
|
||||
src.desc = src.desc_holder
|
||||
..()
|
||||
return
|
||||
|
||||
. += "It is assembled."
|
||||
|
||||
/obj/structure/particle_accelerator/attackby(obj/item/W, mob/user)
|
||||
if(istool(W))
|
||||
@@ -295,19 +292,17 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
return
|
||||
|
||||
/obj/machinery/particle_accelerator/examine(mob/user)
|
||||
switch(src.construction_state)
|
||||
. = ..()
|
||||
|
||||
switch(construction_state)
|
||||
if(0)
|
||||
src.desc = text("A [name], looks like it's not attached to the flooring")
|
||||
. += "Looks like it's not attached to the flooring."
|
||||
if(1)
|
||||
src.desc = text("A [name], it is missing some cables")
|
||||
. += "It is missing some cables."
|
||||
if(2)
|
||||
src.desc = text("A [name], the panel is open")
|
||||
. += "The panel is open."
|
||||
if(3)
|
||||
src.desc = text("The [name] is assembled")
|
||||
if(powered)
|
||||
src.desc = src.desc_holder
|
||||
..()
|
||||
return
|
||||
. += "It is assembled."
|
||||
|
||||
|
||||
/obj/machinery/particle_accelerator/attackby(obj/item/W, mob/user)
|
||||
|
||||
@@ -37,11 +37,11 @@
|
||||
..()
|
||||
|
||||
/obj/machinery/particle_smasher/examine(mob/user)
|
||||
..()
|
||||
if(user in view(1))
|
||||
to_chat(user, "<span class='notice'>\The [src] contains:</span>")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "<span class='notice'>\The [src] contains:</span>"
|
||||
for(var/obj/item/I in contents)
|
||||
to_chat(user, "<span class='notice'>\the [I]</span>")
|
||||
. += "<span class='notice'>\the [I]</span>"
|
||||
|
||||
/obj/machinery/particle_smasher/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(W.type == /obj/item/device/analyzer)
|
||||
|
||||
@@ -71,10 +71,9 @@
|
||||
energy = 0 // ensure we dont have miniballs of miniballs
|
||||
|
||||
/obj/singularity/energy_ball/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(orbiting_balls.len)
|
||||
to_chat(user, "The amount of orbiting mini-balls is [orbiting_balls.len].")
|
||||
|
||||
. += "The amount of orbiting mini-balls is [orbiting_balls.len]."
|
||||
|
||||
/obj/singularity/energy_ball/proc/move_the_basket_ball(var/move_amount)
|
||||
//we face the last thing we zapped, so this lets us favor that direction a bit
|
||||
|
||||
@@ -51,9 +51,9 @@
|
||||
icon_state = "[initial(icon_state)]-spent"
|
||||
|
||||
/obj/item/ammo_casing/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if (!BB)
|
||||
to_chat(user, "This one is spent.")
|
||||
. += "This one is spent."
|
||||
|
||||
//Gun loading types
|
||||
#define SINGLE_CASING 1 //The gun only accepts ammo_casings. ammo_magazines should never have this as their mag_type.
|
||||
@@ -183,8 +183,8 @@
|
||||
icon_state = (new_state)? new_state : initial(icon_state)
|
||||
|
||||
/obj/item/ammo_magazine/examine(mob/user)
|
||||
..()
|
||||
to_chat(user, "There [(stored_ammo.len == 1)? "is" : "are"] [stored_ammo.len] round\s left!")
|
||||
. = ..()
|
||||
. += "There [(stored_ammo.len == 1)? "is" : "are"] [stored_ammo.len] round\s left!"
|
||||
|
||||
//magazine icon state caching
|
||||
/var/global/list/magazine_icondata_keys = list()
|
||||
|
||||
@@ -11,4 +11,4 @@
|
||||
|
||||
/obj/item/weapon/magnetic_ammo/examine(mob/user)
|
||||
. = ..()
|
||||
to_chat(user, "There [(remaining == 1)? "is" : "are"] [remaining] flechette\s left!")
|
||||
. += "There [(remaining == 1)? "is" : "are"] [remaining] flechette\s left!"
|
||||
@@ -50,12 +50,12 @@
|
||||
produce()
|
||||
|
||||
/obj/item/ammo_magazine/smart/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
if(attached_cell)
|
||||
to_chat(user, "<span class='notice'>\The [src] is loaded with a [attached_cell.name]. It is [round(attached_cell.percent())]% charged.</span>")
|
||||
. += "<span class='notice'>\The [src] is loaded with a [attached_cell.name]. It is [round(attached_cell.percent())]% charged.</span>"
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [src] does not appear to have a power source installed.</span>")
|
||||
. += "<span class='warning'>\The [src] does not appear to have a power source installed.</span>"
|
||||
|
||||
/obj/item/ammo_magazine/smart/update_icon()
|
||||
if(attached_cell)
|
||||
|
||||
@@ -745,7 +745,7 @@
|
||||
. = ..()
|
||||
if(firemodes.len > 1)
|
||||
var/datum/firemode/current_mode = firemodes[sel_mode]
|
||||
to_chat(user, "The fire selector is set to [current_mode.name].")
|
||||
. += "The fire selector is set to [current_mode.name]."
|
||||
|
||||
/obj/item/weapon/gun/proc/switch_firemodes(mob/user)
|
||||
if(firemodes.len <= 1)
|
||||
|
||||
@@ -178,12 +178,11 @@
|
||||
if(power_supply)
|
||||
if(charge_cost)
|
||||
var/shots_remaining = round(power_supply.charge / max(1, charge_cost)) // Paranoia
|
||||
to_chat(user, "Has [shots_remaining] shot\s remaining.")
|
||||
. += "Has [shots_remaining] shot\s remaining."
|
||||
else
|
||||
to_chat(user, "Has infinite shots remaining.")
|
||||
. += "Has infinite shots remaining."
|
||||
else
|
||||
to_chat(user, "Does not have a power cell.")
|
||||
return
|
||||
. += "Does not have a power cell."
|
||||
|
||||
/obj/item/weapon/gun/energy/update_icon(var/ignore_inhands)
|
||||
if(power_supply == null)
|
||||
|
||||
@@ -22,12 +22,12 @@
|
||||
var/empty_state = "kineticgun_empty"
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
if(max_mod_capacity)
|
||||
to_chat(user, "<b>[get_remaining_mod_capacity()]%</b> mod capacity remaining.")
|
||||
for(var/A in get_modkits())
|
||||
var/obj/item/borg/upgrade/modkit/M = A
|
||||
to_chat(user, "<span class='notice'>There is a [M.name] mod installed, using <b>[M.cost]%</b> capacity.</span>")
|
||||
. = ..()
|
||||
if(Adjacent(user) && max_mod_capacity)
|
||||
. += "<b>[get_remaining_mod_capacity()]%</b> mod capacity remaining."
|
||||
for(var/A in get_modkits())
|
||||
var/obj/item/borg/upgrade/modkit/M = A
|
||||
. += "<span class='notice'>There is a [M.name] mod installed, using <b>[M.cost]%</b> capacity.</span>"
|
||||
|
||||
/obj/item/weapon/gun/energy/kinetic_accelerator/attackby(obj/item/A, mob/user)
|
||||
if(istype(A, /obj/item/weapon/tool/crowbar))
|
||||
@@ -164,8 +164,9 @@
|
||||
var/modifier = 1 //For use in any mod kit that has numerical modifiers
|
||||
|
||||
/obj/item/borg/upgrade/modkit/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
to_chat(user, "<span class='notice'>Occupies <b>[cost]%</b> of mod capacity.</span>")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "<span class='notice'>Occupies <b>[cost]%</b> of mod capacity.</span>"
|
||||
|
||||
/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
|
||||
if(istype(A, /obj/item/weapon/gun/energy/kinetic_accelerator) && !issilicon(user))
|
||||
|
||||
@@ -208,18 +208,18 @@
|
||||
icon_state = "crossbowframe[buildstate]"
|
||||
|
||||
/obj/item/weapon/crossbowframe/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
switch(buildstate)
|
||||
if(1)
|
||||
to_chat(user, "It has a loose rod frame in place.")
|
||||
. += "It has a loose rod frame in place."
|
||||
if(2)
|
||||
to_chat(user, "It has a steel backbone welded in place.")
|
||||
. += "It has a steel backbone welded in place."
|
||||
if(3)
|
||||
to_chat(user, "It has a steel backbone and a cell mount installed.")
|
||||
. += "It has a steel backbone and a cell mount installed."
|
||||
if(4)
|
||||
to_chat(user, "It has a steel backbone, plastic lath and a cell mount installed.")
|
||||
. += "It has a steel backbone, plastic lath and a cell mount installed."
|
||||
if(5)
|
||||
to_chat(user, "It has a steel cable loosely strung across the lath.")
|
||||
. += "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))
|
||||
|
||||
@@ -36,11 +36,12 @@
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/launcher/grenade/examine(mob/user)
|
||||
if(..(user, 2))
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 2)
|
||||
var/grenade_count = grenades.len + (chambered? 1 : 0)
|
||||
to_chat(user, "Has [grenade_count] grenade\s remaining.")
|
||||
. += "Has [grenade_count] grenade\s remaining."
|
||||
if(chambered)
|
||||
to_chat(user, "\A [chambered] is chambered.")
|
||||
. += "\A [chambered] is chambered."
|
||||
|
||||
/obj/item/weapon/gun/launcher/grenade/proc/load(obj/item/weapon/grenade/G, mob/user)
|
||||
if(G.loadable)
|
||||
|
||||
@@ -99,13 +99,13 @@
|
||||
return launched
|
||||
|
||||
/obj/item/weapon/gun/launcher/pneumatic/examine(mob/user)
|
||||
if(!..(user, 2))
|
||||
return
|
||||
to_chat(user, "The valve is dialed to [pressure_setting]%.")
|
||||
if(tank)
|
||||
to_chat(user, "The tank dial reads [tank.air_contents.return_pressure()] kPa.")
|
||||
else
|
||||
to_chat(user, "Nothing is attached to the tank valve!")
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 2)
|
||||
. += "The valve is dialed to [pressure_setting]%."
|
||||
if(tank)
|
||||
. += "The tank dial reads [tank.air_contents.return_pressure()] kPa."
|
||||
else
|
||||
. += "Nothing is attached to the tank valve!"
|
||||
|
||||
/obj/item/weapon/gun/launcher/pneumatic/update_release_force(obj/item/projectile)
|
||||
if(tank)
|
||||
@@ -150,18 +150,18 @@
|
||||
icon_state = "pneumatic[buildstate]"
|
||||
|
||||
/obj/item/weapon/cannonframe/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
switch(buildstate)
|
||||
if(1)
|
||||
to_chat(user, "It has a pipe segment installed.")
|
||||
. += "It has a pipe segment installed."
|
||||
if(2)
|
||||
to_chat(user, "It has a pipe segment welded in place.")
|
||||
. += "It has a pipe segment welded in place."
|
||||
if(3)
|
||||
to_chat(user, "It has an outer chassis installed.")
|
||||
. += "It has an outer chassis installed."
|
||||
if(4)
|
||||
to_chat(user, "It has an outer chassis welded in place.")
|
||||
. += "It has an outer chassis welded in place."
|
||||
if(5)
|
||||
to_chat(user, "It has a transfer valve installed.")
|
||||
. += "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))
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
var/list/rockets = new/list()
|
||||
|
||||
/obj/item/weapon/gun/launcher/rocket/examine(mob/user)
|
||||
if(!..(user, 2))
|
||||
return
|
||||
to_chat(user, "<font color='blue'>[rockets.len] / [max_rockets] rockets.</font>")
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 2)
|
||||
. += "<font color='blue'>[rockets.len] / [max_rockets] rockets.</font>"
|
||||
|
||||
/obj/item/weapon/gun/launcher/rocket/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(istype(I, /obj/item/ammo_casing/rocket))
|
||||
|
||||
@@ -24,7 +24,9 @@
|
||||
|
||||
/obj/item/weapon/gun/magnetic/matfed/examine(mob/user)
|
||||
. = ..()
|
||||
show_ammo(user)
|
||||
var/ammotext = show_ammo()
|
||||
if(ammotext)
|
||||
. += ammotext
|
||||
|
||||
/obj/item/weapon/gun/magnetic/matfed/update_icon()
|
||||
var/list/overlays_to_add = list()
|
||||
@@ -69,9 +71,9 @@
|
||||
/obj/item/weapon/gun/magnetic/matfed/use_ammo()
|
||||
mat_storage -= mat_cost
|
||||
|
||||
/obj/item/weapon/gun/magnetic/matfed/show_ammo(var/mob/user)
|
||||
/obj/item/weapon/gun/magnetic/matfed/show_ammo()
|
||||
if(mat_storage)
|
||||
to_chat(user, "<span class='notice'>It has [mat_storage] out of [max_mat_storage] units of [ammo_material] loaded.</span>")
|
||||
return list("<span class='notice'>It has [mat_storage] out of [max_mat_storage] units of [ammo_material] loaded.</span>")
|
||||
|
||||
/obj/item/weapon/gun/magnetic/matfed/attackby(var/obj/item/thing, var/mob/user)
|
||||
if(removable_components)
|
||||
|
||||
@@ -65,14 +65,14 @@
|
||||
Tank.air_contents.remove(moles_to_pull)
|
||||
|
||||
/obj/item/weapon/gun/magnetic/gasthrower/show_ammo(var/mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
if(loaded)
|
||||
var/obj/item/weapon/tank/T = loaded
|
||||
to_chat(user, "<span class='notice'>\The [T]'s pressure meter shows: [T.air_contents.return_pressure()] kpa.</span>")
|
||||
. += "<span class='notice'>\The [T]'s pressure meter shows: [T.air_contents.return_pressure()] kpa.</span>"
|
||||
|
||||
switch(check_ammo())
|
||||
if(TRUE)
|
||||
to_chat(user, "<span class='notice'>\The [src]'s display registers a proper fuel mixture.</span>")
|
||||
. += "<span class='notice'>\The [src]'s display registers a proper fuel mixture.</span>"
|
||||
if(FALSE)
|
||||
to_chat(user, "<span class='warning'>\The [src]'s display registers an improper fuel mixture.</span>")
|
||||
. += "<span class='warning'>\The [src]'s display registers an improper fuel mixture.</span>"
|
||||
|
||||
@@ -66,28 +66,30 @@
|
||||
overlays = overlays_to_add
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/magnetic/proc/show_ammo(var/mob/user)
|
||||
/obj/item/weapon/gun/magnetic/proc/show_ammo()
|
||||
var/list/ammotext = list()
|
||||
if(loaded)
|
||||
to_chat(user, "<span class='notice'>It has \a [loaded] loaded.</span>")
|
||||
ammotext += "<span class='notice'>It has \a [loaded] loaded.</span>"
|
||||
|
||||
return ammotext
|
||||
|
||||
/obj/item/weapon/gun/magnetic/examine(var/mob/user)
|
||||
. = ..(user, 2)
|
||||
if(.)
|
||||
show_ammo(user)
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 2)
|
||||
. += show_ammo()
|
||||
|
||||
if(cell)
|
||||
to_chat(user, "<span class='notice'>The installed [cell.name] has a charge level of [round((cell.charge/cell.maxcharge)*100)]%.</span>")
|
||||
. += "<span class='notice'>The installed [cell.name] has a charge level of [round((cell.charge/cell.maxcharge)*100)]%.</span>"
|
||||
if(capacitor)
|
||||
to_chat(user, "<span class='notice'>The installed [capacitor.name] has a charge level of [round((capacitor.charge/capacitor.max_charge)*100)]%.</span>")
|
||||
. += "<span class='notice'>The installed [capacitor.name] has a charge level of [round((capacitor.charge/capacitor.max_charge)*100)]%.</span>"
|
||||
|
||||
if(!cell || !capacitor)
|
||||
to_chat(user, "<span class='notice'>The capacitor charge indicator is blinking <font color ='[COLOR_RED]'>red</font>. Maybe you should check the cell or capacitor.</span>")
|
||||
. += "<span class='notice'>The capacitor charge indicator is blinking <font color ='[COLOR_RED]'>red</font>. Maybe you should check the cell or capacitor.</span>"
|
||||
else
|
||||
if(capacitor.charge < power_cost)
|
||||
to_chat(user, "<span class='notice'>The capacitor charge indicator is <font color ='[COLOR_ORANGE]'>amber</font>.</span>")
|
||||
. += "<span class='notice'>The capacitor charge indicator is <font color ='[COLOR_ORANGE]'>amber</font>.</span>"
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The capacitor charge indicator is <font color ='[COLOR_GREEN]'>green</font>.</span>")
|
||||
return TRUE
|
||||
. += "<span class='notice'>The capacitor charge indicator is <font color ='[COLOR_GREEN]'>green</font>.</span>"
|
||||
|
||||
/obj/item/weapon/gun/magnetic/attackby(var/obj/item/thing, var/mob/user)
|
||||
|
||||
|
||||
@@ -88,22 +88,22 @@
|
||||
icon_state = "coilgun_construction_[construction_stage]"
|
||||
|
||||
/obj/item/weapon/coilgun_assembly/examine(var/mob/user)
|
||||
. = ..(user,2)
|
||||
if(.)
|
||||
. = ..()
|
||||
if(get_dist(user, src) <= 2)
|
||||
switch(construction_stage)
|
||||
if(2)
|
||||
to_chat(user, "<span class='notice'>It has a metal frame loosely shaped around the stock.</span>")
|
||||
. += "<span class='notice'>It has a metal frame loosely shaped around the stock.</span>"
|
||||
if(3)
|
||||
to_chat(user, "<span class='notice'>It has a metal frame duct-taped to the stock.</span>")
|
||||
. += "<span class='notice'>It has a metal frame duct-taped to the stock.</span>"
|
||||
if(4)
|
||||
to_chat(user, "<span class='notice'>It has a length of pipe attached to the body.</span>")
|
||||
. += "<span class='notice'>It has a length of pipe attached to the body.</span>"
|
||||
if(4)
|
||||
to_chat(user, "<span class='notice'>It has a length of pipe welded to the body.</span>")
|
||||
. += "<span class='notice'>It has a length of pipe welded to the body.</span>"
|
||||
if(6)
|
||||
to_chat(user, "<span class='notice'>It has a cable mount and capacitor jack wired to the frame.</span>")
|
||||
. += "<span class='notice'>It has a cable mount and capacitor jack wired to the frame.</span>"
|
||||
if(7)
|
||||
to_chat(user, "<span class='notice'>It has a single superconducting coil threaded onto the barrel.</span>")
|
||||
. += "<span class='notice'>It has a single superconducting coil threaded onto the barrel.</span>"
|
||||
if(8)
|
||||
to_chat(user, "<span class='notice'>It has a pair of superconducting coils threaded onto the barrel.</span>")
|
||||
. += "<span class='notice'>It has a pair of superconducting coils threaded onto the barrel.</span>"
|
||||
if(9)
|
||||
to_chat(user, "<span class='notice'>It has three superconducting coils attached to the body, waiting to be secured.</span>")
|
||||
. += "<span class='notice'>It has three superconducting coils attached to the body, waiting to be secured.</span>"
|
||||
|
||||
@@ -31,12 +31,12 @@
|
||||
|
||||
// Not going to check type repeatedly, if you code or varedit
|
||||
// load_type and get runtime errors, don't come crying to me.
|
||||
/obj/item/weapon/gun/magnetic/railgun/show_ammo(var/mob/user)
|
||||
/obj/item/weapon/gun/magnetic/railgun/show_ammo()
|
||||
var/obj/item/weapon/rcd_ammo/ammo = loaded
|
||||
if (ammo)
|
||||
to_chat(user, "<span class='notice'>There are [ammo.remaining] shot\s remaining in \the [loaded].</span>")
|
||||
return list("<span class='notice'>There are [ammo.remaining] shot\s remaining in \the [loaded].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There is nothing loaded.</span>")
|
||||
return list("<span class='notice'>There is nothing loaded.</span>")
|
||||
|
||||
/obj/item/weapon/gun/magnetic/railgun/check_ammo()
|
||||
var/obj/item/weapon/rcd_ammo/ammo = loaded
|
||||
@@ -77,9 +77,9 @@
|
||||
)
|
||||
|
||||
/obj/item/weapon/gun/magnetic/railgun/automatic/examine(var/mob/user)
|
||||
. = ..(user,1)
|
||||
if(.)
|
||||
to_chat(user, "<span class='notice'>Someone has scratched <i>Ultima Ratio Regum</i> onto the side of the barrel.</span>")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "<span class='notice'>Someone has scratched <i>Ultima Ratio Regum</i> onto the side of the barrel.</span>"
|
||||
|
||||
/obj/item/weapon/gun/magnetic/railgun/flechette
|
||||
name = "flechette gun"
|
||||
|
||||
@@ -230,11 +230,10 @@
|
||||
update_icon() //make sure to do this after unsetting ammo_magazine
|
||||
|
||||
/obj/item/weapon/gun/projectile/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(ammo_magazine)
|
||||
to_chat(user, "It has \a [ammo_magazine] loaded.")
|
||||
to_chat(user, "Has [getAmmo()] round\s remaining.")
|
||||
return
|
||||
. += "It has \a [ammo_magazine] loaded."
|
||||
. += "It has [getAmmo()] round\s remaining."
|
||||
|
||||
/obj/item/weapon/gun/projectile/proc/getAmmo()
|
||||
var/bullets = 0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user