mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-31 09:08:56 +01:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 2020_04_17_LoadBalancing
This commit is contained in:
@@ -40,8 +40,8 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/rcd/examine(mob/user)
|
||||
..()
|
||||
to_chat(user, display_resources())
|
||||
. = ..()
|
||||
. += display_resources()
|
||||
|
||||
// Used to show how much stuff (matter units, cell charge, etc) is left inside.
|
||||
/obj/item/weapon/rcd/proc/display_resources()
|
||||
|
||||
@@ -33,8 +33,9 @@ RSF
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
|
||||
/obj/item/weapon/rsf/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
to_chat(user,"<span class='notice'>It currently holds [stored_matter]/30 fabrication-units.</span>")
|
||||
. = ..()
|
||||
if(get_dist(user, src) == 0)
|
||||
. += "<span class='notice'>It currently holds [stored_matter]/30 fabrication-units.</span>"
|
||||
|
||||
/obj/item/weapon/rsf/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
|
||||
@@ -149,22 +149,21 @@ CIGARETTE PACKETS ARE IN FANCY.DM
|
||||
..()
|
||||
|
||||
/obj/item/clothing/mask/smokable/examine(mob/user)
|
||||
..()
|
||||
if(is_pipe)
|
||||
return
|
||||
var/smoke_percent = round((smoketime / max_smoketime) * 100)
|
||||
switch(smoke_percent)
|
||||
if(90 to INFINITY)
|
||||
to_chat(user, "[src] is still fresh.")
|
||||
if(60 to 90)
|
||||
to_chat(user, "[src] has a good amount of burn time remaining.")
|
||||
if(30 to 60)
|
||||
to_chat(user, "[src] is about half finished.")
|
||||
if(10 to 30)
|
||||
to_chat(user, "[src] is starting to burn low.")
|
||||
else
|
||||
to_chat(user, "[src] is nearly burnt out!")
|
||||
|
||||
. = ..()
|
||||
|
||||
if(!is_pipe)
|
||||
var/smoke_percent = round((smoketime / max_smoketime) * 100)
|
||||
switch(smoke_percent)
|
||||
if(90 to INFINITY)
|
||||
. += "[src] is still fresh."
|
||||
if(60 to 90)
|
||||
. += "[src] has a good amount of burn time remaining."
|
||||
if(30 to 60)
|
||||
. += "[src] is about half finished."
|
||||
if(10 to 30)
|
||||
. += "[src] is starting to burn low."
|
||||
else
|
||||
. += "[src] is nearly burnt out!"
|
||||
|
||||
/obj/item/clothing/mask/smokable/proc/light(var/flavor_text = "[usr] lights the [name].")
|
||||
if(!src.lit)
|
||||
|
||||
@@ -177,6 +177,30 @@
|
||||
build_path = /obj/machinery/computer/aifixer
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BIO = 2)
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/helm
|
||||
name = T_BOARD("helm control console")
|
||||
build_path = /obj/machinery/computer/ship/helm
|
||||
|
||||
/obj/item/weapon/circuitboard/engine
|
||||
name = T_BOARD("engine control console")
|
||||
build_path = /obj/machinery/computer/ship/engines
|
||||
|
||||
/obj/item/weapon/circuitboard/nav
|
||||
name = T_BOARD("navigation console")
|
||||
build_path = /obj/machinery/computer/ship/navigation
|
||||
|
||||
/obj/item/weapon/circuitboard/nav/tele
|
||||
name = T_BOARD("navigation telescreen")
|
||||
build_path = /obj/machinery/computer/ship/navigation/telescreen
|
||||
|
||||
/obj/item/weapon/circuitboard/sensors
|
||||
name = T_BOARD("sensors console")
|
||||
build_path = /obj/machinery/computer/ship/sensors
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/area_atmos
|
||||
name = T_BOARD("area air control console")
|
||||
build_path = /obj/machinery/computer/area_atmos
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
#ifndef T_BOARD
|
||||
#error T_BOARD macro is not defined but we need it!
|
||||
#endif
|
||||
|
||||
//
|
||||
// Shuttle control console. Board tries to auto-link the computer if built on a shuttle.
|
||||
//
|
||||
/obj/item/weapon/circuitboard/shuttle_console
|
||||
origin_tech = list(TECH_DATA = 3)
|
||||
var/shuttle_category = null // Shuttle datum's category must exactly equal this to auto-detect
|
||||
var/shuttle_tag = null // If set, link constructed console to this shuttle. If null, auto-detect.
|
||||
|
||||
/obj/item/weapon/circuitboard/shuttle_console/deconstruct(obj/machinery/computer/shuttle_control/M)
|
||||
shuttle_tag = M.shuttle_tag
|
||||
if(shuttle_tag)
|
||||
name = T_BOARD("[shuttle_tag] control console")
|
||||
|
||||
// Try to auto-link the shuttle computer if it is constructed on a shuttle (and not pre-programmed)
|
||||
/obj/item/weapon/circuitboard/shuttle_console/construct(obj/machinery/computer/shuttle_control/M)
|
||||
if(!shuttle_tag)
|
||||
shuttle_tag = auto_detect_shuttle(M) // We don't have a preset tag, so lets try to auto-link.
|
||||
if(shuttle_tag && M.set_shuttle_tag(shuttle_tag))
|
||||
log_and_message_admins("[key_name_admin(usr)] built a [M] for [shuttle_tag] at [ADMIN_COORDJMP(M)]")
|
||||
M.ping("[M] auto-links with shuttle [shuttle_tag]")
|
||||
|
||||
// Return shuttle_tag of shuttle of current area
|
||||
/obj/item/weapon/circuitboard/shuttle_console/proc/auto_detect_shuttle(obj/machinery/computer/shuttle_control/M)
|
||||
var/area/A = get_area(M)
|
||||
if(!A || !(A in SSshuttles.shuttle_areas))
|
||||
return // Definately not on a shuttle
|
||||
for(var/shuttle_name in SSshuttles.shuttles)
|
||||
var/datum/shuttle/S = SSshuttles.shuttles[shuttle_name]
|
||||
if(A in S.find_childfree_areas())
|
||||
// Found the owning shuttle! Return it if its a valid type
|
||||
return (S.category == shuttle_category) ? S.name : null
|
||||
|
||||
// Overmap shuttle console.
|
||||
/obj/item/weapon/circuitboard/shuttle_console/explore
|
||||
name = T_BOARD("long range shuttle control console")
|
||||
build_path = /obj/machinery/computer/shuttle_control/explore
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 4)
|
||||
shuttle_category = /datum/shuttle/autodock/overmap
|
||||
|
||||
// Multi-shuttle console
|
||||
/obj/item/weapon/circuitboard/shuttle_console/multi
|
||||
name = T_BOARD("multi-route shuttle control console")
|
||||
build_path = /obj/machinery/computer/shuttle_control/multi
|
||||
shuttle_category = /datum/shuttle/autodock/multi
|
||||
|
||||
// Basic "ferry" shuttle console
|
||||
/obj/item/weapon/circuitboard/shuttle_console/ferry
|
||||
name = T_BOARD("basic shuttle control console")
|
||||
build_path = /obj/machinery/computer/shuttle_control
|
||||
shuttle_category = /datum/shuttle/autodock/ferry
|
||||
@@ -130,8 +130,8 @@
|
||||
create_reagents(volume)
|
||||
|
||||
/obj/item/weapon/reagent_containers/ecig_cartridge/examine(mob/user as mob)//to see how much left
|
||||
..()
|
||||
to_chat(user, "The cartridge has [reagents.total_volume] units of liquid remaining.")
|
||||
. = ..()
|
||||
. += "The cartridge has [reagents.total_volume] units of liquid remaining."
|
||||
|
||||
//flavours
|
||||
/obj/item/weapon/reagent_containers/ecig_cartridge/blank
|
||||
|
||||
@@ -40,8 +40,9 @@
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/extinguisher/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
to_chat(user, "[bicon(src)] [src.name] contains [src.reagents.total_volume] units of water left!")
|
||||
. = ..()
|
||||
if(get_dist(user, src) == 0)
|
||||
. += "[src] has [src.reagents.total_volume] units of water left!"
|
||||
|
||||
/obj/item/weapon/extinguisher/attack_self(mob/user as mob)
|
||||
safety = !safety
|
||||
|
||||
@@ -164,8 +164,9 @@
|
||||
|
||||
|
||||
/obj/item/weapon/wrapping_paper/examine(mob/user)
|
||||
if(..(user, 1))
|
||||
to_chat(user, "There is about [src.amount] square units of paper left!")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "There is about [src.amount] square units of paper left!"
|
||||
|
||||
/obj/item/weapon/wrapping_paper/attack(mob/target as mob, mob/user as mob)
|
||||
if (!istype(target, /mob/living/carbon/human)) return
|
||||
|
||||
@@ -118,9 +118,9 @@
|
||||
to_chat(user, "<span class='warning'>\The [W] is empty.</span>")
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/examine(mob/user)
|
||||
..(user)
|
||||
. = ..()
|
||||
if(detonator)
|
||||
to_chat(user, "With attached [detonator.name]")
|
||||
. += "It has [detonator.name] attached to it."
|
||||
|
||||
/obj/item/weapon/grenade/chem_grenade/activate(mob/user as mob)
|
||||
if(active) return
|
||||
|
||||
@@ -45,13 +45,12 @@
|
||||
|
||||
|
||||
/obj/item/weapon/grenade/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
. = ..()
|
||||
if(get_dist(user, src) == 0)
|
||||
if(det_time > 1)
|
||||
to_chat(user, "The timer is set to [det_time/10] seconds.")
|
||||
return
|
||||
if(det_time == null)
|
||||
return
|
||||
to_chat(user, "\The [src] is set for instant detonation.")
|
||||
. += "The timer is set to [det_time/10] seconds."
|
||||
else if(det_time == null)
|
||||
. += "\The [src] is set for instant detonation."
|
||||
|
||||
|
||||
/obj/item/weapon/grenade/attack_self(mob/user as mob)
|
||||
|
||||
@@ -32,12 +32,11 @@
|
||||
var/survey_points = 0 // For redeeming at explorer equipment vendors.
|
||||
|
||||
/obj/item/weapon/card/id/examine(mob/user)
|
||||
set src in oview(1)
|
||||
if(in_range(usr, src))
|
||||
show(usr)
|
||||
to_chat(usr,desc)
|
||||
. = ..()
|
||||
if(in_range(user, src))
|
||||
show(user) //Not chat related
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>It is too far away.</span>")
|
||||
. += "<span class='warning'>It is too far away to read.</span>"
|
||||
|
||||
/obj/item/weapon/card/id/proc/prevent_tracking()
|
||||
return 0
|
||||
|
||||
@@ -227,7 +227,8 @@ Implant Specifics:<BR>"}
|
||||
<b>Integrity:</b> Implant will occasionally be degraded by the body's immune system and thus will occasionally malfunction."}
|
||||
return dat
|
||||
|
||||
/obj/item/weapon/implant/explosive/hear_talk(mob/M as mob, msg)
|
||||
/obj/item/weapon/implant/explosive/hear_talk(mob/M, list/message_pieces, verb)
|
||||
var/msg = multilingual_to_message(message_pieces)
|
||||
hear(msg)
|
||||
return
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
IC.emp_act(severity)
|
||||
|
||||
/obj/item/weapon/implant/integrated_circuit/examine(mob/user)
|
||||
IC.examine(user)
|
||||
return IC.examine(user)
|
||||
|
||||
/obj/item/weapon/implant/integrated_circuit/attackby(var/obj/item/O, var/mob/user)
|
||||
if(O.is_crowbar() || istype(O, /obj/item/device/integrated_electronics) || istype(O, /obj/item/integrated_circuit) || O.is_screwdriver() || istype(O, /obj/item/weapon/cell/device) )
|
||||
|
||||
@@ -113,9 +113,9 @@ obj/item/weapon/chainsaw/proc/get_fuel()
|
||||
return reagents.get_reagent_amount("fuel")
|
||||
|
||||
obj/item/weapon/chainsaw/examine(mob/user)
|
||||
if(..(user,0))
|
||||
if(max_fuel)
|
||||
to_chat(usr, "<span class = 'notice'>The [src] feels like it contains roughtly [get_fuel()] units of fuel left.</span>")
|
||||
. = ..()
|
||||
if(max_fuel && get_dist(user, src) == 0)
|
||||
. += "<span class = 'notice'>The [src] feels like it contains roughtly [get_fuel()] units of fuel left.</span>"
|
||||
|
||||
obj/item/weapon/chainsaw/suicide_act(mob/user)
|
||||
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
|
||||
|
||||
@@ -36,13 +36,11 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/material/gravemarker/examine(mob/user)
|
||||
..()
|
||||
if(get_dist(src, user) < 4)
|
||||
if(grave_name)
|
||||
to_chat(user, "Here Lies [grave_name]")
|
||||
if(get_dist(src, user) < 2)
|
||||
if(epitaph)
|
||||
to_chat(user, epitaph)
|
||||
. = ..()
|
||||
if(grave_name && get_dist(src, user) < 4)
|
||||
. += "Here Lies [grave_name]"
|
||||
if(epitaph && get_dist(src, user) < 2)
|
||||
. += epitaph
|
||||
|
||||
/obj/item/weapon/material/gravemarker/update_icon()
|
||||
if(icon_changes)
|
||||
|
||||
@@ -41,7 +41,8 @@
|
||||
|
||||
/obj/item/weapon/material/sharpeningkit/examine(mob/user, distance)
|
||||
. = ..()
|
||||
to_chat(user, "There [uses == 1 ? "is" : "are"] [uses] [material] [uses == 1 ? src.material.sheet_singular_name : src.material.sheet_plural_name] left for use.")
|
||||
. += "There [uses == 1 ? "is" : "are"] [uses] [material] [uses == 1 ? src.material.sheet_singular_name : src.material.sheet_plural_name] left for use."
|
||||
|
||||
/obj/item/weapon/material/sharpeningkit/Initialize()
|
||||
. = ..()
|
||||
setrepair()
|
||||
|
||||
@@ -86,14 +86,12 @@
|
||||
return null
|
||||
|
||||
/obj/item/weapon/melee/energy/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
|
||||
if(use_cell)
|
||||
. = ..()
|
||||
if(use_cell && Adjacent(user))
|
||||
if(bcell)
|
||||
to_chat(user, "<span class='notice'>The blade is [round(bcell.percent())]% charged.</span>")
|
||||
if(!bcell)
|
||||
to_chat(user, "<span class='warning'>The blade does not have a power source installed.</span>")
|
||||
. += "<span class='notice'>The blade is [round(bcell.percent())]% charged.</span>"
|
||||
else
|
||||
. += "<span class='warning'>The blade does not have a power source installed.</span>"
|
||||
|
||||
/obj/item/weapon/melee/energy/attack_self(mob/living/user as mob)
|
||||
if(use_cell)
|
||||
@@ -200,8 +198,8 @@
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/melee/energy/examine(mob/user)
|
||||
..()
|
||||
to_chat(user, "<span class='notice'>Alt-click to recolor it.</span>")
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click to recolor it.</span>"
|
||||
|
||||
/*
|
||||
* Energy Axe
|
||||
|
||||
@@ -215,8 +215,8 @@
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/shield/energy/examine(mob/user)
|
||||
..()
|
||||
to_chat(user, "<span class='notice'>Alt-click to recolor it.</span>")
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click to recolor it.</span>"
|
||||
|
||||
/obj/item/weapon/shield/riot/tele
|
||||
name = "telescopic shield"
|
||||
|
||||
@@ -363,13 +363,12 @@
|
||||
max_storage_space = ITEMSIZE_COST_NORMAL * 5
|
||||
|
||||
/obj/item/weapon/storage/backpack/parachute/examine(mob/user)
|
||||
var/msg = desc
|
||||
if(get_dist(src, user) <= 1)
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(parachute)
|
||||
msg += " It seems to be packed."
|
||||
. += "It seems to be packed."
|
||||
else
|
||||
msg += " It seems to be unpacked."
|
||||
to_chat(user, msg)
|
||||
. += "It seems to be unpacked."
|
||||
|
||||
/obj/item/weapon/storage/backpack/parachute/handleParachute()
|
||||
parachute = FALSE //If you parachute in, the parachute has probably been used.
|
||||
|
||||
@@ -142,34 +142,36 @@
|
||||
if(O)
|
||||
gather_all(get_turf(src), user)
|
||||
|
||||
/obj/item/weapon/storage/bag/ore/proc/rangedload(atom/A, mob/user)
|
||||
var/obj/item/weapon/ore/O = locate() in get_turf(A)
|
||||
if(O)
|
||||
gather_all(get_turf(A), user)
|
||||
|
||||
/obj/item/weapon/storage/bag/ore/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
|
||||
if(!Adjacent(user)) //Can only check the contents of ore bags if you can physically reach them.
|
||||
return
|
||||
return .
|
||||
|
||||
if(istype(user, /mob/living))
|
||||
add_fingerprint(user)
|
||||
|
||||
if(!contents.len)
|
||||
to_chat(user, "It is empty.")
|
||||
return
|
||||
. += "It is empty."
|
||||
|
||||
if(world.time > last_update + 10)
|
||||
else if(world.time > last_update + 10)
|
||||
update_ore_count()
|
||||
last_update = world.time
|
||||
|
||||
to_chat(user, "<span class='notice'>It holds:</span>")
|
||||
for(var/ore in stored_ore)
|
||||
to_chat(user, "<span class='notice'>- [stored_ore[ore]] [ore]</span>")
|
||||
return
|
||||
. += "<span class='notice'>It holds:</span>"
|
||||
for(var/ore in stored_ore)
|
||||
. += "<span class='notice'>- [stored_ore[ore]] [ore]</span>"
|
||||
|
||||
/obj/item/weapon/storage/bag/ore/open(mob/user as mob) //No opening it for the weird UI of having shit-tons of ore inside it.
|
||||
if(world.time > last_update + 10)
|
||||
update_ore_count()
|
||||
last_update = world.time
|
||||
examine(user)
|
||||
user.examinate(src)
|
||||
|
||||
/obj/item/weapon/storage/bag/ore/proc/update_ore_count() //Stolen from ore boxes.
|
||||
|
||||
|
||||
@@ -203,6 +203,11 @@
|
||||
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
||||
starts_with = list(/obj/item/ammo_casing/a145 = 7)
|
||||
|
||||
/obj/item/weapon/storage/box/sniperammo/highvel
|
||||
name = "box of 14.5mm sabot shells"
|
||||
desc = "It has a picture of a gun and several warning symbols on the front.<br>WARNING: Live ammunition. Misuse may result in serious injury or death."
|
||||
starts_with = list(/obj/item/ammo_casing/a145/highvel = 7)
|
||||
|
||||
/obj/item/weapon/storage/box/flashbangs
|
||||
name = "box of flashbangs (WARNING)"
|
||||
desc = "<B>WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.</B>"
|
||||
|
||||
@@ -26,17 +26,15 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/fancy/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
. = ..()
|
||||
|
||||
if(contents.len <= 0)
|
||||
to_chat(user, "There are no [icon_type]s left in the box.")
|
||||
else if(contents.len == 1)
|
||||
to_chat(user, "There is one [icon_type] left in the box.")
|
||||
else
|
||||
to_chat(user, "There are [contents.len] [icon_type]s in the box.")
|
||||
|
||||
return
|
||||
if(Adjacent(user))
|
||||
if(!contents.len)
|
||||
. += "There are no [icon_type]s left in the box."
|
||||
else if(contents.len == 1)
|
||||
. += "There is one [icon_type] left in the box."
|
||||
else
|
||||
. += "There are [contents.len] [icon_type]s in the box."
|
||||
|
||||
/*
|
||||
* Egg Box
|
||||
|
||||
@@ -24,7 +24,7 @@ MRE Stuff
|
||||
|
||||
/obj/item/weapon/storage/mre/examine(mob/user)
|
||||
. = ..()
|
||||
to_chat(user, meal_desc)
|
||||
. += meal_desc
|
||||
|
||||
/obj/item/weapon/storage/mre/update_icon()
|
||||
if(opened)
|
||||
|
||||
@@ -29,8 +29,9 @@
|
||||
use_sound = 'sound/items/storage/briefcase.ogg'
|
||||
|
||||
examine(mob/user)
|
||||
if(..(user, 1))
|
||||
to_chat(user, "The service panel is [src.open ? "open" : "closed"].")
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "The service panel is [src.open ? "open" : "closed"]."
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(locked)
|
||||
|
||||
@@ -722,10 +722,10 @@
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/trinketbox/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(open && contents.len)
|
||||
var/display_item = contents[1]
|
||||
to_chat(user, "<span class='notice'>\The [src] contains \the [display_item]!</span>")
|
||||
. += "<span class='notice'>\The [src] contains \the [display_item]!</span>"
|
||||
|
||||
/obj/item/weapon/storage/AllowDrop()
|
||||
return TRUE
|
||||
|
||||
@@ -101,13 +101,13 @@
|
||||
set_light(0)
|
||||
|
||||
/obj/item/weapon/melee/baton/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
. = ..()
|
||||
|
||||
if(bcell)
|
||||
to_chat(user, "<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>")
|
||||
if(!bcell)
|
||||
to_chat(user, "<span class='warning'>The baton does not have a power source installed.</span>")
|
||||
if(Adjacent(user, src))
|
||||
if(bcell)
|
||||
. += "<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>"
|
||||
if(!bcell)
|
||||
. += "<span class='warning'>The baton does not have a power source installed.</span>"
|
||||
|
||||
/obj/item/weapon/melee/baton/attackby(obj/item/weapon/W, mob/user)
|
||||
if(use_external_power)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
/obj/item/weapon/tank/jetpack/examine(mob/user)
|
||||
. = ..()
|
||||
if(air_contents.total_moles < 5)
|
||||
to_chat(user, "<span class='danger'>The meter on \the [src] indicates you are almost out of gas!</span>")
|
||||
. += "<span class='danger'>The meter on \the [src] indicates you are almost out of gas!</span>"
|
||||
playsound(user, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
/obj/item/weapon/tank/jetpack/verb/toggle_rockets()
|
||||
@@ -116,8 +116,8 @@
|
||||
var/obj/item/weapon/rig/holder
|
||||
|
||||
/obj/item/weapon/tank/jetpack/rig/examine()
|
||||
to_chat(usr, "It's a jetpack. If you can see this, report it on the bug tracker.")
|
||||
return 0
|
||||
. = ..()
|
||||
. += "It's a jetpack. If you can see this, report it on the bug tracker."
|
||||
|
||||
/obj/item/weapon/tank/jetpack/rig/allow_thrust(num, mob/living/user as mob)
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/oxygen/examine(mob/user)
|
||||
if(..(user, 0) && air_contents.gas["oxygen"] < 10)
|
||||
to_chat(user, text("<span class='warning'>The meter on \the [src] indicates you are almost out of oxygen!</span>"))
|
||||
//playsound(usr, 'sound/effects/alert.ogg', 50, 1)
|
||||
. = ..()
|
||||
if(loc == user && (air_contents.gas["oxygen"] < 10))
|
||||
. += "<span class='warning'>The meter on \the [src] indicates you are almost out of oxygen!</span>"
|
||||
|
||||
/obj/item/weapon/tank/oxygen/yellow
|
||||
desc = "A tank of oxygen, this one is yellow."
|
||||
@@ -60,8 +60,9 @@
|
||||
icon_state = "oxygen"
|
||||
|
||||
/obj/item/weapon/tank/air/examine(mob/user)
|
||||
if(..(user, 0) && air_contents.gas["oxygen"] < 1 && loc==user)
|
||||
to_chat(user, "<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>")
|
||||
. = ..()
|
||||
if(loc == user && (air_contents.gas["oxygen"] < 1))
|
||||
. += "<span class='warning'>The meter on \the [src] indicates you are almost out of air!</span>"
|
||||
user << sound('sound/effects/alert.ogg')
|
||||
|
||||
/obj/item/weapon/tank/air/Initialize()
|
||||
@@ -153,8 +154,9 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/emergency/oxygen/examine(mob/user)
|
||||
if(..(user, 0) && air_contents.gas["oxygen"] < 0.2 && loc==user)
|
||||
to_chat(user, text("<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>"))
|
||||
. = ..()
|
||||
if(loc == user && (air_contents.gas["oxygen"] < 0.2))
|
||||
. += "<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>"
|
||||
user << sound('sound/effects/alert.ogg')
|
||||
|
||||
/obj/item/weapon/tank/emergency/oxygen/engi
|
||||
@@ -228,8 +230,9 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/nitrogen/examine(mob/user)
|
||||
if(..(user, 0) && air_contents.gas["nitrogen"] < 10)
|
||||
to_chat(user, text("<span class='danger'>The meter on \the [src] indicates you are almost out of nitrogen!</span>"))
|
||||
. = ..()
|
||||
if(loc == user && (air_contents.gas["nitrogen"] < 10))
|
||||
. += "<span class='danger'>The meter on \the [src] indicates you are almost out of nitrogen!</span>"
|
||||
//playsound(user, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
/obj/item/weapon/tank/stasis/nitro_cryo // Synthmorph bags need to have initial pressure within safe bounds for human atmospheric pressure, but low temperature to stop unwanted degredation.
|
||||
|
||||
@@ -82,8 +82,8 @@ var/list/global/tank_gauge_cache = list()
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/tank/examine(mob/user)
|
||||
. = ..(user, 0)
|
||||
if(.)
|
||||
. = ..()
|
||||
if(loc == user)
|
||||
var/celsius_temperature = air_contents.temperature - T0C
|
||||
var/descriptive
|
||||
switch(celsius_temperature)
|
||||
@@ -101,12 +101,12 @@ var/list/global/tank_gauge_cache = list()
|
||||
descriptive = "cold"
|
||||
else
|
||||
descriptive = "bitterly cold"
|
||||
to_chat(user, "<span class='notice'>\The [src] feels [descriptive].</span>")
|
||||
. += "<span class='notice'>\The [src] feels [descriptive].</span>"
|
||||
|
||||
if(src.proxyassembly.assembly || wired)
|
||||
to_chat(user, "<span class='warning'>It seems to have [wired? "some wires ": ""][wired && src.proxyassembly.assembly? "and ":""][src.proxyassembly.assembly ? "some sort of assembly ":""]attached to it.</span>")
|
||||
. += "<span class='warning'>It seems to have [wired? "some wires ": ""][wired && src.proxyassembly.assembly? "and ":""][src.proxyassembly.assembly ? "some sort of assembly ":""]attached to it.</span>"
|
||||
if(src.valve_welded)
|
||||
to_chat(user, "<span class='warning'>\The [src] emergency relief valve has been welded shut!</span>")
|
||||
. += "<span class='warning'>\The [src] emergency relief valve has been welded shut!</span>"
|
||||
|
||||
|
||||
/obj/item/weapon/tank/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
@@ -22,12 +22,12 @@
|
||||
var/list/tools = list()
|
||||
var/current_tool = 1
|
||||
|
||||
/obj/item/weapon/combitool/examine()
|
||||
..()
|
||||
if(loc == usr && tools.len)
|
||||
to_chat(usr, "It has the following fittings:")
|
||||
/obj/item/weapon/combitool/examine(mob/user)
|
||||
. = ..()
|
||||
if(loc == user && tools.len)
|
||||
. += "It has the following fittings:"
|
||||
for(var/obj/item/tool in tools)
|
||||
to_chat(usr, "[bicon(tool)] - [tool.name][tools[current_tool]==tool?" (selected)":""]")
|
||||
. += "[bicon(tool)] - [tool.name][tools[current_tool]==tool?" (selected)":""]")
|
||||
|
||||
/obj/item/weapon/combitool/New()
|
||||
..()
|
||||
|
||||
@@ -56,9 +56,9 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/weldingtool/examine(mob/user)
|
||||
if(..(user, 0))
|
||||
if(max_fuel)
|
||||
to_chat(user, "[bicon(src)] The [src.name] contains [get_fuel()]/[src.max_fuel] units of fuel!")
|
||||
. = ..()
|
||||
if(max_fuel && loc == user)
|
||||
. += "It contains [get_fuel()]/[src.max_fuel] units of fuel!"
|
||||
|
||||
/obj/item/weapon/weldingtool/attack(atom/A, mob/living/user, def_zone)
|
||||
if(ishuman(A) && user.a_intent == I_HELP)
|
||||
@@ -556,13 +556,12 @@
|
||||
return power_supply
|
||||
|
||||
/obj/item/weapon/weldingtool/electric/examine(mob/user)
|
||||
if(get_dist(src, user) > 1)
|
||||
to_chat(user, desc)
|
||||
else
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
if(power_supply)
|
||||
to_chat(user, "[bicon(src)] The [src.name] has [get_fuel()] charge left.")
|
||||
. += "It [src.name] has [get_fuel()] charge left."
|
||||
else
|
||||
to_chat(user, "[bicon(src)] The [src.name] has no power cell!")
|
||||
. += "It [src.name] has no power cell!"
|
||||
|
||||
/obj/item/weapon/weldingtool/electric/get_fuel()
|
||||
if(use_external_power)
|
||||
|
||||
@@ -144,9 +144,8 @@
|
||||
src.add_fingerprint(usr)
|
||||
|
||||
/obj/item/weapon/weldpack/examine(mob/user)
|
||||
..(user)
|
||||
to_chat(user, "[bicon(src)] [src.reagents.total_volume] units of fuel left!")
|
||||
return
|
||||
. = ..()
|
||||
. += "It has [src.reagents.total_volume] units of fuel left!"
|
||||
|
||||
/obj/item/weapon/weldpack/survival
|
||||
name = "emergency welding kit"
|
||||
|
||||
Reference in New Issue
Block a user