mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 10:33:30 +01:00
Bay12 examine overhaul.
This commit overhauls the examine system to baystation's latest system, including a more efficient verb approach, and a new status panel tab, which shows more information for pre-defined objects.
This commit is contained in:
@@ -6,11 +6,6 @@
|
||||
layer = 2.1
|
||||
anchored = 1
|
||||
|
||||
/obj/effect/decal/cleanable/crayon/examine()
|
||||
set src in view(2)
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
/obj/effect/decal/cleanable/crayon/New(location, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune")
|
||||
..()
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
layer = 16.0
|
||||
anchored = 1
|
||||
|
||||
/obj/effect/decal/point/point()
|
||||
set src in oview()
|
||||
set hidden = 1
|
||||
return
|
||||
|
||||
// Used for spray that you spray at walls, tables, hydrovats etc
|
||||
/obj/effect/decal/spraystill
|
||||
|
||||
@@ -110,9 +110,7 @@
|
||||
|
||||
src.loc = T
|
||||
|
||||
/obj/item/examine()
|
||||
set src in view()
|
||||
|
||||
/obj/item/examine(mob/user)
|
||||
var/size
|
||||
switch(src.w_class)
|
||||
if(1.0)
|
||||
@@ -127,10 +125,10 @@
|
||||
size = "huge"
|
||||
else
|
||||
//if ((CLUMSY in usr.mutations) && prob(50)) t = "funny-looking"
|
||||
usr << "This is a [src.blood_DNA ? "bloody " : ""]\icon[src][src.name]. It is a [size] item."
|
||||
user << "This is a [src.blood_DNA ? "bloody " : ""]\icon[src][src.name]. It is a [size] item."
|
||||
if(src.desc)
|
||||
usr << src.desc
|
||||
return
|
||||
user << src.desc
|
||||
|
||||
|
||||
/obj/item/attack_hand(mob/user as mob)
|
||||
if (!user) return 0
|
||||
|
||||
@@ -66,10 +66,9 @@
|
||||
failmsg = "The [name]'s refill light blinks red."
|
||||
..()
|
||||
|
||||
/obj/item/device/lightreplacer/examine()
|
||||
set src in view(2)
|
||||
..()
|
||||
usr << "It has [uses] lights remaining."
|
||||
/obj/item/device/lightreplacer/examine(mob/user)
|
||||
if(..(user, 2))
|
||||
user << "It has [uses] lights remaining."
|
||||
|
||||
/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/stack/sheet/glass))
|
||||
|
||||
@@ -62,9 +62,9 @@
|
||||
user.unEquip(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/device/modkit/examine()
|
||||
..()
|
||||
usr << "It looks as though it modifies hardsuits to fit [target_species] users."
|
||||
/obj/item/device/modkit/examine(mob/user)
|
||||
..(user)
|
||||
user << "It looks as though it modifies hardsuits to fit [target_species] users."
|
||||
|
||||
/obj/item/device/modkit/tajaran
|
||||
name = "Tajaran hardsuit modification kit"
|
||||
|
||||
@@ -28,6 +28,6 @@
|
||||
/obj/item/device/pipe_painter/attack_self(mob/user as mob)
|
||||
mode = input("Which colour do you want to use?", "Pipe painter", mode) in modes
|
||||
|
||||
/obj/item/device/pipe_painter/examine()
|
||||
..()
|
||||
usr << "It is in [mode] mode."
|
||||
/obj/item/device/pipe_painter/examine(mob/user)
|
||||
..(user)
|
||||
user << "It is in [mode] mode."
|
||||
@@ -66,7 +66,7 @@ var/global/list/default_medbay_channels = list(
|
||||
wires = new(src)
|
||||
if(radio_controller)
|
||||
initialize()
|
||||
|
||||
|
||||
internal_channels = default_internal_channels.Copy()
|
||||
|
||||
/obj/item/device/radio/initialize()
|
||||
@@ -78,8 +78,8 @@ var/global/list/default_medbay_channels = list(
|
||||
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
|
||||
|
||||
/obj/item/device/radio/attack_ghost(mob/user)
|
||||
interact(user)
|
||||
|
||||
interact(user)
|
||||
|
||||
/obj/item/device/radio/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
interact(user)
|
||||
@@ -141,18 +141,18 @@ var/global/list/default_medbay_channels = list(
|
||||
return 0
|
||||
|
||||
return user.has_internal_radio_channel_access(user, internal_channels[freq])
|
||||
|
||||
/mob/proc/has_internal_radio_channel_access(var/mob/user, var/list/req_one_accesses)
|
||||
|
||||
/mob/proc/has_internal_radio_channel_access(var/mob/user, var/list/req_one_accesses)
|
||||
var/obj/item/weapon/card/id/I = user.get_id_card()
|
||||
return has_access(list(), req_one_accesses, I ? I.GetAccess() : list())
|
||||
|
||||
/mob/living/silicon/has_internal_radio_channel_access(var/mob/user, var/list/req_one_accesses)
|
||||
|
||||
/mob/living/silicon/has_internal_radio_channel_access(var/mob/user, var/list/req_one_accesses)
|
||||
var/list/access = get_all_accesses()
|
||||
return has_access(list(), req_one_accesses, access)
|
||||
|
||||
|
||||
/mob/dead/observer/has_internal_radio_channel_access(var/mob/user, var/list/req_one_accesses)
|
||||
return can_admin_interact()
|
||||
|
||||
|
||||
/obj/item/device/radio/proc/text_wires()
|
||||
if (b_stat)
|
||||
return wires.GetInteractWindow()
|
||||
@@ -515,7 +515,7 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
|
||||
/obj/item/device/radio/examine(mob/user)
|
||||
. = ..()
|
||||
..(user)
|
||||
if ((in_range(src, user) || loc == user))
|
||||
if (b_stat)
|
||||
user.show_message("\blue \the [src] can be attached and modified!")
|
||||
@@ -564,11 +564,11 @@ var/global/list/default_medbay_channels = list(
|
||||
/obj/item/device/radio/borg/syndicate
|
||||
syndie = 1
|
||||
keyslot = new /obj/item/device/encryptionkey/syndicate
|
||||
|
||||
|
||||
/obj/item/device/radio/borg/Destroy()
|
||||
myborg = null
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/device/radio/borg/list_channels(var/mob/user)
|
||||
return list_secure_channels(user)
|
||||
|
||||
@@ -732,7 +732,7 @@ var/global/list/default_medbay_channels = list(
|
||||
|
||||
/obj/item/device/radio/off
|
||||
listening = 0
|
||||
|
||||
|
||||
/obj/item/device/radio/phone
|
||||
broadcasting = 0
|
||||
icon = 'icons/obj/items.dmi'
|
||||
|
||||
@@ -23,10 +23,9 @@
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/device/taperecorder/examine()
|
||||
set src in view(1)
|
||||
..()
|
||||
usr << "The wire panel is [open_panel ? "opened" : "closed"]."
|
||||
/obj/item/device/taperecorder/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
user << "The wire panel is [open_panel ? "opened" : "closed"]."
|
||||
|
||||
|
||||
/obj/item/device/taperecorder/attackby(obj/item/I, mob/user)
|
||||
|
||||
@@ -26,11 +26,10 @@
|
||||
usr << browse(null, "window=stack")
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/examine()
|
||||
set src in view(1)
|
||||
..()
|
||||
usr << "There are [src.amount] [src.singular_name]\s in the stack."
|
||||
return
|
||||
/obj/item/stack/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
user << "There are [src.amount] [src.singular_name]\s in the stack."
|
||||
|
||||
|
||||
/obj/item/stack/attack_self(mob/user as mob)
|
||||
list_recipes(user)
|
||||
@@ -191,7 +190,7 @@
|
||||
|
||||
/obj/item/stack/proc/get_amount()
|
||||
return amount
|
||||
|
||||
|
||||
/obj/item/stack/proc/get_max_amount()
|
||||
return max_amount
|
||||
|
||||
|
||||
@@ -138,12 +138,9 @@
|
||||
attack_verb = list("struck", "pistol whipped", "hit", "bashed")
|
||||
var/bullets = 7.0
|
||||
|
||||
examine()
|
||||
set src in usr
|
||||
|
||||
src.desc = text("There are [] caps\s left. Looks almost like the real thing! Ages 8 and up.", src.bullets)
|
||||
..()
|
||||
return
|
||||
examine(mob/user)
|
||||
if(..(user, 0))
|
||||
user << "There are [bullets] caps\s left. Looks almost like the real thing! Ages 8 and up."
|
||||
|
||||
attackby(obj/item/toy/ammo/gun/A as obj, mob/user as mob, params)
|
||||
|
||||
@@ -211,11 +208,10 @@
|
||||
attack_verb = list("attacked", "struck", "hit")
|
||||
var/bullets = 5
|
||||
|
||||
examine()
|
||||
set src in view(2)
|
||||
..()
|
||||
examine(mob/user)
|
||||
..(user)
|
||||
if (bullets)
|
||||
usr << "\blue It is loaded with [bullets] foam darts!"
|
||||
user << "\blue It is loaded with [bullets] foam darts!"
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I, /obj/item/toy/ammo/crossbow))
|
||||
@@ -844,14 +840,14 @@ obj/item/toy/cards/singlecard
|
||||
pixel_x = -5
|
||||
|
||||
|
||||
obj/item/toy/cards/singlecard/examine()
|
||||
set src in usr.contents
|
||||
if(ishuman(usr))
|
||||
var/mob/living/carbon/human/cardUser = usr
|
||||
if(cardUser.get_item_by_slot(slot_l_hand) == src || cardUser.get_item_by_slot(slot_r_hand) == src)
|
||||
cardUser.visible_message("<span class='notice'>[cardUser] checks \his card.</span>", "<span class='notice'>The card reads: [src.cardname]</span>")
|
||||
else
|
||||
cardUser << "<span class='notice'>You need to have the card in your hand to check it.</span>"
|
||||
obj/item/toy/cards/singlecard/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/cardUser = user
|
||||
if(cardUser.get_item_by_slot(slot_l_hand) == src || cardUser.get_item_by_slot(slot_r_hand) == src)
|
||||
cardUser.visible_message("<span class='notice'>[cardUser] checks \his card.</span>", "<span class='notice'>The card reads: [src.cardname]</span>")
|
||||
else
|
||||
cardUser << "<span class='notice'>You need to have the card in your hand to check it.</span>"
|
||||
|
||||
|
||||
obj/item/toy/cards/singlecard/verb/Flip()
|
||||
|
||||
@@ -116,18 +116,16 @@
|
||||
SetOwnerInfo(H)
|
||||
|
||||
/obj/item/weapon/card/id/examine(mob/user)
|
||||
set src in oview(1)
|
||||
if(in_range(usr, src))
|
||||
if(..(user, 1))
|
||||
show(usr)
|
||||
usr << desc
|
||||
else
|
||||
usr << "<span class='warning'>It is too far away.</span>"
|
||||
user << "<span class='warning'>It is too far away.</span>"
|
||||
|
||||
/obj/item/weapon/card/id/proc/show(mob/user as mob)
|
||||
if(user.client) // Send the stamp images to the client
|
||||
var/datum/asset/simple/S = new/datum/asset/simple/paper()
|
||||
send_asset_list(user.client, S.assets)
|
||||
|
||||
send_asset_list(user.client, S.assets)
|
||||
|
||||
if(!front)
|
||||
front = new(photo, dir = SOUTH)
|
||||
if(!side)
|
||||
@@ -177,7 +175,7 @@
|
||||
|
||||
/obj/item/weapon/card/id/GetID()
|
||||
return src
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/proc/is_untrackable()
|
||||
return untrackable
|
||||
|
||||
@@ -222,15 +220,15 @@
|
||||
origin_tech = "syndicate=3"
|
||||
var/registered_user = null
|
||||
untrackable = 1
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/New()
|
||||
access = initial_access.Copy()
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/vox
|
||||
name = "agent card"
|
||||
initial_access = list(access_maint_tunnels, access_vox, access_external_airlocks)
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity)
|
||||
if(!proximity)
|
||||
return
|
||||
@@ -476,7 +474,7 @@
|
||||
/obj/item/weapon/card/id/centcom/New()
|
||||
access = get_all_centcom_access()
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/card/id/nanotrasen
|
||||
name = "nanotrasen ID card"
|
||||
icon_state = "nanotrasen"
|
||||
|
||||
@@ -32,12 +32,12 @@ var/global/list/moneytypes=list(
|
||||
amount = new_amount
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/spacecash/examine()
|
||||
/obj/item/weapon/spacecash/examine(mob/user)
|
||||
if(amount>1)
|
||||
usr << "\icon[src] This is a stack of [amount] [src]s."
|
||||
user << "\icon[src] This is a stack of [amount] [src]s."
|
||||
else
|
||||
usr << "\icon[src] This is \a [src]s."
|
||||
usr << "It's worth [worth*amount] credits."
|
||||
user << "\icon[src] This is \a [src]s."
|
||||
user << "It's worth [worth*amount] credits."
|
||||
|
||||
/obj/item/weapon/spacecash/update_icon()
|
||||
icon_state = "cash[worth]"
|
||||
@@ -60,12 +60,12 @@ var/global/list/moneytypes=list(
|
||||
icon_state = "cash10"
|
||||
worth = 10
|
||||
stack_color = "#663200"
|
||||
|
||||
|
||||
/obj/item/weapon/spacecash/c20
|
||||
icon_state = "cash10"
|
||||
worth = 20
|
||||
stack_color = "#663200"
|
||||
|
||||
|
||||
/obj/item/weapon/spacecash/c50
|
||||
icon_state = "cash10"
|
||||
worth = 50
|
||||
@@ -75,7 +75,7 @@ var/global/list/moneytypes=list(
|
||||
icon_state = "cash100"
|
||||
worth = 100
|
||||
stack_color = "#663200"
|
||||
|
||||
|
||||
/obj/item/weapon/spacecash/c200
|
||||
icon_state = "cash100"
|
||||
worth = 200
|
||||
|
||||
@@ -402,6 +402,6 @@ obj/item/weapon/rollingpaperpack/attack_self(mob/user)
|
||||
M.unEquip(src)
|
||||
M.put_in_l_hand(src)
|
||||
|
||||
/obj/item/weapon/rollingpaperpack/examine()
|
||||
..()
|
||||
usr << "There are [src.papers] left"
|
||||
/obj/item/weapon/rollingpaperpack/examine(mob/user)
|
||||
..(user)
|
||||
user << "There are [src.papers] left"
|
||||
|
||||
@@ -35,15 +35,13 @@
|
||||
max_water = 30
|
||||
sprite_name = "miniFE"
|
||||
|
||||
/obj/item/weapon/extinguisher/examine()
|
||||
set src in usr
|
||||
/obj/item/weapon/extinguisher/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
usr << "\icon[src] [src.name] contains:"
|
||||
if(reagents && reagents.reagent_list.len)
|
||||
for(var/datum/reagent/R in reagents.reagent_list)
|
||||
user << "\blue [R.volume] units of [R.name]"
|
||||
|
||||
usr << "\icon[src] [src.name] contains:"
|
||||
if(reagents && reagents.reagent_list.len)
|
||||
for(var/datum/reagent/R in reagents.reagent_list)
|
||||
usr << "\blue [R.volume] units of [R.name]"
|
||||
..()
|
||||
return
|
||||
|
||||
/obj/item/weapon/extinguisher/New()
|
||||
create_reagents(max_water)
|
||||
|
||||
@@ -28,8 +28,9 @@
|
||||
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/examine(mob/user)
|
||||
..(user)
|
||||
display_timer = (stage == READY && !nadeassembly) //show/hide the timer based on assembly state
|
||||
..()
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/proc/get_trigger()
|
||||
@@ -257,7 +258,7 @@
|
||||
|
||||
if(!has_reagents)
|
||||
playsound(loc, 'sound/items/Screwdriver2.ogg', 50, 1)
|
||||
return
|
||||
return
|
||||
|
||||
if(nadeassembly)
|
||||
var/mob/M = get_mob_by_ckey(assemblyattacher)
|
||||
|
||||
@@ -126,5 +126,5 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/grenade/iedcasing/examine(mob/user)
|
||||
..()
|
||||
..(user)
|
||||
user << "You can't tell when it will explode!"
|
||||
|
||||
@@ -46,13 +46,13 @@
|
||||
return*/
|
||||
|
||||
|
||||
/obj/item/weapon/grenade/examine()
|
||||
..()
|
||||
/obj/item/weapon/grenade/examine(mob/user)
|
||||
..(user)
|
||||
if(display_timer)
|
||||
if(det_time > 1)
|
||||
usr << "The timer is set to [det_time/10] second\s."
|
||||
user << "The timer is set to [det_time/10] second\s."
|
||||
else
|
||||
usr << "\The [src] is set for instant detonation."
|
||||
user << "\The [src] is set for instant detonation."
|
||||
|
||||
/obj/item/weapon/grenade/attack_self(mob/user as mob)
|
||||
if(!active)
|
||||
|
||||
@@ -24,17 +24,16 @@
|
||||
src.icon_state = "[src.icon_type]box[total_contents]"
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/fancy/examine()
|
||||
set src in oview(1)
|
||||
/obj/item/weapon/storage/fancy/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
|
||||
if(contents.len <= 0)
|
||||
usr << "There are no [src.icon_type]s left in the box."
|
||||
user << "There are no [src.icon_type]s left in the box."
|
||||
else if(contents.len == 1)
|
||||
usr << "There is one [src.icon_type] left in the box."
|
||||
user << "There is one [src.icon_type] left in the box."
|
||||
else
|
||||
usr << "There are [src.contents.len] [src.icon_type]s in the box."
|
||||
|
||||
return
|
||||
user << "There are [src.contents.len] [src.icon_type]s in the box."
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -27,10 +27,9 @@
|
||||
max_w_class = 2
|
||||
max_combined_w_class = 14
|
||||
|
||||
examine()
|
||||
set src in oview(1)
|
||||
..()
|
||||
usr << text("The service panel is [src.open ? "open" : "closed"].")
|
||||
examine(mob/user)
|
||||
if(..(user, 1))
|
||||
user << text("The service panel is [src.open ? "open" : "closed"].")
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(locked)
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
icon_state = "[initial(icon_state)]"
|
||||
|
||||
/obj/item/weapon/melee/baton/examine(mob/user)
|
||||
..()
|
||||
..(user)
|
||||
if(bcell)
|
||||
user <<"<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>"
|
||||
if(!bcell)
|
||||
|
||||
@@ -13,63 +13,63 @@
|
||||
var/volume_rate = 500 //Needed for borg jetpack transfer
|
||||
action_button_name = "Toggle Jetpack"
|
||||
|
||||
New()
|
||||
..()
|
||||
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
|
||||
src.ion_trail.set_up(src)
|
||||
/obj/item/weapon/tank/jetpack/New()
|
||||
..()
|
||||
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
|
||||
src.ion_trail.set_up(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/tank/jetpack/examine(mob/user)
|
||||
if(!..(user, 0))
|
||||
return
|
||||
|
||||
|
||||
examine()
|
||||
set src in usr
|
||||
..()
|
||||
if(air_contents.oxygen < 10)
|
||||
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
return
|
||||
if(air_contents.oxygen < 10)
|
||||
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
playsound(user, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
verb/toggle_rockets()
|
||||
set name = "Toggle Jetpack Stabilization"
|
||||
set category = "Object"
|
||||
src.stabilization_on = !( src.stabilization_on )
|
||||
usr << "You toggle the stabilization [stabilization_on? "on":"off"]."
|
||||
return
|
||||
/obj/item/weapon/tank/jetpack/verb/toggle_rockets()
|
||||
set name = "Toggle Jetpack Stabilization"
|
||||
set category = "Object"
|
||||
src.stabilization_on = !( src.stabilization_on )
|
||||
usr << "You toggle the stabilization [stabilization_on? "on":"off"]."
|
||||
return
|
||||
|
||||
|
||||
verb/toggle()
|
||||
set name = "Toggle Jetpack"
|
||||
set category = "Object"
|
||||
on = !on
|
||||
if(on)
|
||||
icon_state = "[icon_state]-on"
|
||||
/obj/item/weapon/tank/jetpack/verb/toggle()
|
||||
set name = "Toggle Jetpack"
|
||||
set category = "Object"
|
||||
on = !on
|
||||
if(on)
|
||||
icon_state = "[icon_state]-on"
|
||||
// item_state = "[item_state]-on"
|
||||
ion_trail.start()
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
ion_trail.start()
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
// item_state = initial(item_state)
|
||||
ion_trail.stop()
|
||||
return
|
||||
ion_trail.stop()
|
||||
return
|
||||
|
||||
|
||||
proc/allow_thrust(num, mob/living/user as mob)
|
||||
if(!(src.on))
|
||||
return 0
|
||||
if((num < 0.005 || src.air_contents.total_moles() < num))
|
||||
src.ion_trail.stop()
|
||||
return 0
|
||||
/obj/item/weapon/tank/jetpack/proc/allow_thrust(num, mob/living/user as mob)
|
||||
if(!(src.on))
|
||||
return 0
|
||||
if((num < 0.005 || src.air_contents.total_moles() < num))
|
||||
src.ion_trail.stop()
|
||||
return 0
|
||||
|
||||
var/datum/gas_mixture/G = src.air_contents.remove(num)
|
||||
var/datum/gas_mixture/G = src.air_contents.remove(num)
|
||||
|
||||
var/allgases = G.carbon_dioxide + G.nitrogen + G.oxygen + G.toxins //fuck trace gases -Pete
|
||||
if(allgases >= 0.005)
|
||||
return 1
|
||||
var/allgases = G.carbon_dioxide + G.nitrogen + G.oxygen + G.toxins //fuck trace gases -Pete
|
||||
if(allgases >= 0.005)
|
||||
return 1
|
||||
|
||||
qdel(G)
|
||||
return
|
||||
qdel(G)
|
||||
return
|
||||
|
||||
ui_action_click()
|
||||
toggle()
|
||||
/obj/item/weapon/tank/jetpack/ui_action_click()
|
||||
toggle()
|
||||
|
||||
|
||||
/obj/item/weapon/tank/jetpack/void
|
||||
@@ -78,9 +78,9 @@
|
||||
icon_state = "jetpack-void"
|
||||
item_state = "jetpack-void"
|
||||
|
||||
New()
|
||||
..()
|
||||
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
/obj/item/weapon/tank/jetpack/void/New()
|
||||
..()
|
||||
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
|
||||
|
||||
/obj/item/weapon/tank/jetpack/oxygen
|
||||
@@ -89,9 +89,9 @@
|
||||
icon_state = "jetpack"
|
||||
item_state = "jetpack"
|
||||
|
||||
New()
|
||||
..()
|
||||
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
/obj/item/weapon/tank/jetpack/oxygen/New()
|
||||
..()
|
||||
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
|
||||
/obj/item/weapon/tank/jetpack/oxygen/harness
|
||||
name = "jet harness (oxygen)"
|
||||
@@ -108,9 +108,9 @@
|
||||
icon_state = "jetpack-black"
|
||||
item_state = "jetpack-black"
|
||||
|
||||
New()
|
||||
..()
|
||||
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
/obj/item/weapon/tank/jetpack/oxygenblack/New()
|
||||
..()
|
||||
air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
|
||||
/obj/item/weapon/tank/jetpack/carbondioxide
|
||||
name = "Jetpack (Carbon Dioxide)"
|
||||
@@ -119,16 +119,16 @@
|
||||
icon_state = "jetpack-black"
|
||||
item_state = "jetpack-black"
|
||||
|
||||
New()
|
||||
..()
|
||||
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
|
||||
src.ion_trail.set_up(src)
|
||||
air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
/obj/item/weapon/tank/jetpack/carbondioxide/New()
|
||||
..()
|
||||
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
|
||||
src.ion_trail.set_up(src)
|
||||
air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
|
||||
examine()
|
||||
set src in usr
|
||||
..()
|
||||
if(air_contents.carbon_dioxide < 10)
|
||||
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
/obj/item/weapon/tank/jetpack/carbondioxide/examine(mob/user)
|
||||
if(!..(0))
|
||||
return
|
||||
|
||||
if(air_contents.carbon_dioxide < 10)
|
||||
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
playsound(user, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
@@ -23,12 +23,11 @@
|
||||
return
|
||||
|
||||
|
||||
examine()
|
||||
set src in usr
|
||||
..()
|
||||
if(air_contents.oxygen < 10)
|
||||
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(air_contents.oxygen < 10)
|
||||
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
/obj/item/weapon/tank/oxygen/yellow
|
||||
@@ -69,12 +68,11 @@
|
||||
icon_state = "oxygen"
|
||||
|
||||
|
||||
examine()
|
||||
set src in usr
|
||||
..()
|
||||
if(air_contents.oxygen < 1 && loc==usr)
|
||||
usr << "\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"
|
||||
usr << sound('sound/effects/alert.ogg')
|
||||
examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(air_contents.oxygen < 1 && loc==usr)
|
||||
user << "\red <B>The meter on the [src.name] indicates you are almost out of air!</B>"
|
||||
user << sound('sound/effects/alert.ogg')
|
||||
|
||||
/obj/item/weapon/tank/air/New()
|
||||
..()
|
||||
@@ -122,12 +120,11 @@
|
||||
icon_state = "plasma_fr"
|
||||
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
|
||||
|
||||
/obj/item/weapon/tank/plasma/plasmaman/examine()
|
||||
set src in usr
|
||||
..()
|
||||
if(air_contents.toxins < 0.2 && loc==usr)
|
||||
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of plasma!</B>")
|
||||
usr << sound('sound/effects/alert.ogg')
|
||||
/obj/item/weapon/tank/plasma/plasmaman/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(air_contents.toxins < 0.2 && loc==usr)
|
||||
user << text("\red <B>The meter on the [src.name] indicates you are almost out of plasma!</B>")
|
||||
user << sound('sound/effects/alert.ogg')
|
||||
|
||||
/*
|
||||
* Emergency Oxygen
|
||||
@@ -150,12 +147,11 @@
|
||||
return
|
||||
|
||||
|
||||
examine()
|
||||
set src in usr
|
||||
..()
|
||||
if(air_contents.oxygen < 0.2 && loc==usr)
|
||||
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
usr << sound('sound/effects/alert.ogg')
|
||||
examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(air_contents.oxygen < 0.2 && loc==usr)
|
||||
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
user << sound('sound/effects/alert.ogg')
|
||||
|
||||
/obj/item/weapon/tank/emergency_oxygen/engi
|
||||
name = "extended-capacity emergency oxygen tank"
|
||||
@@ -192,12 +188,11 @@
|
||||
src.air_contents.nitrogen = (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/nitrogen/examine()
|
||||
set src in usr
|
||||
..()
|
||||
if(air_contents.nitrogen < 10)
|
||||
usr << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
/obj/item/weapon/tank/nitrogen/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(air_contents.nitrogen < 10)
|
||||
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
/obj/item/weapon/tank/emergency_oxygen/vox
|
||||
|
||||
@@ -39,12 +39,12 @@
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/tank/examine()
|
||||
/obj/item/weapon/tank/examine(mob/user)
|
||||
var/obj/icon = src
|
||||
if (istype(src.loc, /obj/item/assembly))
|
||||
icon = src.loc
|
||||
if (!in_range(src, usr))
|
||||
if (icon == src) usr << "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer."
|
||||
if (!in_range(src, user))
|
||||
if (icon == src) user << "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer."
|
||||
return
|
||||
|
||||
var/celsius_temperature = src.air_contents.temperature-T0C
|
||||
@@ -63,7 +63,7 @@
|
||||
else
|
||||
descriptive = "furiously hot"
|
||||
|
||||
usr << "\blue \The \icon[icon][src] feels [descriptive]"
|
||||
user << "\blue \The \icon[icon][src] feels [descriptive]"
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -166,10 +166,10 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/weldingtool/examine()
|
||||
set src in usr
|
||||
usr << text("\icon[] [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel )
|
||||
return
|
||||
/obj/item/weapon/weldingtool/examine(mob/user)
|
||||
if(!..(user, 0))
|
||||
user << text("\icon[] [] contains []/[] units of fuel!", src, src.name, get_fuel(),src.max_fuel )
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/weldingtool/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
charges = amt
|
||||
|
||||
/obj/item/weapon/vending_refill/examine(mob/user)
|
||||
..()
|
||||
..(user)
|
||||
if(charges)
|
||||
user << "It can restock [charges] item(s)."
|
||||
else
|
||||
|
||||
@@ -133,8 +133,8 @@ var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
|
||||
user.visible_message("<span class='notice'>[user] cleans the canvas.</span>","<span class='notice'>You clean the canvas.</span>")
|
||||
|
||||
//Examine to enlarge
|
||||
/obj/item/weapon/canvas/examine(var/mob/user = usr)
|
||||
..()
|
||||
/obj/item/weapon/canvas/examine(mob/user)
|
||||
..(user)
|
||||
if(in_range(user, src) && get_turf(src) && user.client && ishuman(user)) //Let only humans be the robust zoominators. I'm too spooked other mobs trying to use it may get broken huds.
|
||||
if(src.loc == user || get_turf(src) == get_turf(user))
|
||||
user << "<span class='notice'>[src] has to be on the ground to focus on it!</span>"
|
||||
|
||||
@@ -160,15 +160,15 @@ LINEN BINS
|
||||
var/obj/item/hidden = null
|
||||
|
||||
|
||||
/obj/structure/bedsheetbin/examine()
|
||||
usr << desc
|
||||
/obj/structure/bedsheetbin/examine(mob/user)
|
||||
..(user)
|
||||
if(amount < 1)
|
||||
usr << "There are no bed sheets in the bin."
|
||||
user << "There are no bed sheets in the bin."
|
||||
return
|
||||
if(amount == 1)
|
||||
usr << "There is one bed sheet in the bin."
|
||||
user << "There is one bed sheet in the bin."
|
||||
return
|
||||
usr << "There are [amount] bed sheets in the bin."
|
||||
user << "There are [amount] bed sheets in the bin."
|
||||
|
||||
|
||||
/obj/structure/bedsheetbin/update_icon()
|
||||
|
||||
@@ -81,13 +81,13 @@
|
||||
/obj/structure/proc/getPrint(mob/user as mob)
|
||||
return md5(user:dna:uni_identity)
|
||||
|
||||
/obj/structure/displaycase/examine()
|
||||
..()
|
||||
usr << "\blue Peering through the glass, you see that it contains:"
|
||||
/obj/structure/displaycase/examine(mob/user)
|
||||
..(user)
|
||||
user << "\blue Peering through the glass, you see that it contains:"
|
||||
if(occupant)
|
||||
usr << "\icon[occupant] \blue \A [occupant]"
|
||||
else:
|
||||
usr << "Nothing."
|
||||
user << "\icon[occupant] \blue \A [occupant]"
|
||||
else
|
||||
user << "Nothing."
|
||||
|
||||
/obj/structure/displaycase/proc/dump()
|
||||
if(occupant)
|
||||
|
||||
@@ -26,17 +26,17 @@
|
||||
processing_objects |= src
|
||||
handle_rotation()
|
||||
|
||||
/obj/structure/stool/bed/chair/cart/examine()
|
||||
set src in usr
|
||||
switch(health)
|
||||
if(75 to 99)
|
||||
usr << "\blue It appears slightly dented."
|
||||
if(40 to 74)
|
||||
usr << "\red It appears heavily dented."
|
||||
if(1 to 39)
|
||||
usr << "\red It appears severely dented."
|
||||
if((INFINITY * -1) to 0)
|
||||
usr << "It appears completely unsalvageable"
|
||||
/obj/structure/stool/bed/chair/cart/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
switch(health)
|
||||
if(75 to 99)
|
||||
usr << "\blue It appears slightly dented."
|
||||
if(40 to 74)
|
||||
usr << "\red It appears heavily dented."
|
||||
if(1 to 39)
|
||||
usr << "\red It appears severely dented."
|
||||
if((INFINITY * -1) to 0)
|
||||
usr << "It appears completely unsalvageable"
|
||||
|
||||
/obj/structure/stool/bed/chair/cart/attackby(obj/item/W, mob/user, params)
|
||||
if (istype(W, /obj/item/weapon/weldingtool))
|
||||
@@ -281,11 +281,13 @@
|
||||
R.my_atom = src
|
||||
|
||||
|
||||
/obj/structure/stool/bed/chair/cart/janicart/examine()
|
||||
..()
|
||||
usr << "\icon[src] This [name] contains [reagents.total_volume] unit\s of [reagents]!"
|
||||
/obj/structure/stool/bed/chair/cart/janicart/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
|
||||
user << "\icon[src] This [name] contains [reagents.total_volume] unit\s of [reagents]!"
|
||||
if(mybag)
|
||||
usr << "\A [mybag] is hanging on the [name]."
|
||||
user << "\A [mybag] is hanging on the [name]."
|
||||
|
||||
/obj/structure/stool/bed/chair/cart/janicart/attackby(obj/item/W, mob/user, params)
|
||||
..()
|
||||
|
||||
@@ -16,10 +16,9 @@
|
||||
..()
|
||||
reagents.add_reagent("water", 100)
|
||||
|
||||
/obj/structure/mopbucket/examine()
|
||||
set src in usr
|
||||
usr << text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume)
|
||||
..()
|
||||
/obj/structure/mopbucket/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
usr << text("\icon[] [] contains [] units of water left!", src, src.name, src.reagents.total_volume)
|
||||
|
||||
/obj/structure/mopbucket/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if (istype(W, /obj/item/weapon/mop))
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
if(A)
|
||||
O << "\blue <b>Someone has begun playing with a [src.name] in [A.name]!. (<a href='?src=\ref[O];jump=\ref[src]'>Teleport</a>)</b>"
|
||||
|
||||
/obj/structure/spirit_board/examine()
|
||||
desc = "[initial(desc)] The planchette is sitting at \"[planchette]\"."
|
||||
..()
|
||||
/obj/structure/spirit_board/examine(mob/user)
|
||||
..(user)
|
||||
user << "[initial(desc)] The planchette is sitting at \"[planchette]\"."
|
||||
|
||||
/obj/structure/spirit_board/attack_hand(mob/user as mob)
|
||||
if(..())
|
||||
|
||||
Reference in New Issue
Block a user