mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 08:37:43 +01:00
Check plumbing verb upgrade + t-ray view verb (#42218)
cl YoYoBatty add: Added a ghost verb that lets you t-ray view underfloor objects admin: Checking plumbing verb checks every atmospheric component instead of just pipes code: Check plumbing verb is less snowflakey /cl
This commit is contained in:
@@ -7,18 +7,18 @@
|
||||
SSblackbox.record_feedback("tally", "admin_verb", 1, "Check Plumbing") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
//all plumbing - yes, some things might get stated twice, doesn't matter.
|
||||
for (var/obj/machinery/atmospherics/plumbing in GLOB.machines)
|
||||
if (plumbing.nodealert)
|
||||
to_chat(usr, "Unconnected [plumbing.name] located at [ADMIN_VERBOSEJMP(plumbing)]")
|
||||
for(var/obj/machinery/atmospherics/components/pipe in GLOB.machines)
|
||||
if(pipe.z && (!pipe.nodes || !pipe.nodes.len || (null in pipe.nodes)))
|
||||
to_chat(usr, "Unconnected [pipe.name] located at [ADMIN_VERBOSEJMP(pipe)]")
|
||||
|
||||
//Manifolds
|
||||
for (var/obj/machinery/atmospherics/pipe/manifold/pipe in GLOB.machines)
|
||||
if (!pipe.nodes[1] || !pipe.nodes[2] || !pipe.nodes[3])
|
||||
for(var/obj/machinery/atmospherics/pipe/manifold/pipe in GLOB.machines)
|
||||
if(pipe.z && (!pipe.nodes || !pipe.nodes.len || (null in pipe.nodes)))
|
||||
to_chat(usr, "Unconnected [pipe.name] located at [ADMIN_VERBOSEJMP(pipe)]")
|
||||
|
||||
//Pipes
|
||||
for (var/obj/machinery/atmospherics/pipe/simple/pipe in GLOB.machines)
|
||||
if (!pipe.nodes[1] || !pipe.nodes[2])
|
||||
for(var/obj/machinery/atmospherics/pipe/simple/pipe in GLOB.machines)
|
||||
if(pipe.z && (!pipe.nodes || !pipe.nodes.len || (null in pipe.nodes)))
|
||||
to_chat(usr, "Unconnected [pipe.name] located at [ADMIN_VERBOSEJMP(pipe)]")
|
||||
|
||||
/client/proc/powerdebug()
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
resistance_flags = FIRE_PROOF
|
||||
max_integrity = 200
|
||||
obj_flags = CAN_BE_HIT | ON_BLUEPRINTS
|
||||
var/nodealert = 0
|
||||
var/can_unwrench = 0
|
||||
var/initialize_directions = 0
|
||||
var/pipe_color
|
||||
|
||||
@@ -43,12 +43,10 @@
|
||||
if(!air)
|
||||
air = new
|
||||
var/list/possible_expansions = list(base)
|
||||
while(possible_expansions.len>0)
|
||||
while(possible_expansions.len)
|
||||
for(var/obj/machinery/atmospherics/borderline in possible_expansions)
|
||||
|
||||
var/list/result = borderline.pipeline_expansion(src)
|
||||
|
||||
if(result.len>0)
|
||||
if(result && result.len)
|
||||
for(var/obj/machinery/atmospherics/P in result)
|
||||
if(istype(P, /obj/machinery/atmospherics/pipe))
|
||||
var/obj/machinery/atmospherics/pipe/item = P
|
||||
|
||||
@@ -61,7 +61,8 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER)
|
||||
verbs += list(
|
||||
/mob/dead/observer/proc/dead_tele,
|
||||
/mob/dead/observer/proc/open_spawners_menu,
|
||||
/mob/dead/observer/proc/view_gas)
|
||||
/mob/dead/observer/proc/view_gas,
|
||||
/mob/dead/observer/proc/tray_view)
|
||||
|
||||
if(icon_state in GLOB.ghost_forms_with_directions_list)
|
||||
ghostimage_default = image(src.icon,src,src.icon_state + "_nodir")
|
||||
@@ -351,7 +352,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You're already stuck out of your body!</span>")
|
||||
return FALSE
|
||||
|
||||
|
||||
can_reenter_corpse = FALSE
|
||||
do_not_resuscitate = TRUE
|
||||
to_chat(src, "You can now no longer be brought back into your body. You can undo this at any time by using the Do Not Resuscitate verb again.")
|
||||
@@ -863,3 +864,31 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
spawners_menu = new(src)
|
||||
|
||||
spawners_menu.ui_interact(src)
|
||||
|
||||
/mob/dead/observer/proc/tray_view()
|
||||
set category = "Ghost"
|
||||
set name = "T-ray view"
|
||||
set desc = "Toggles a view of sub-floor objects"
|
||||
|
||||
var/static/t_ray_view = FALSE
|
||||
t_ray_view = !t_ray_view
|
||||
|
||||
var/list/t_ray_images = list()
|
||||
var/static/list/stored_t_ray_images = list()
|
||||
for(var/obj/O in orange(client.view, src) )
|
||||
if(O.level != 1)
|
||||
continue
|
||||
|
||||
if(O.invisibility == INVISIBILITY_MAXIMUM)
|
||||
var/image/I = new(loc = get_turf(O))
|
||||
var/mutable_appearance/MA = new(O)
|
||||
MA.alpha = 128
|
||||
MA.dir = O.dir
|
||||
I.appearance = MA
|
||||
t_ray_images += I
|
||||
stored_t_ray_images += t_ray_images
|
||||
if(t_ray_images.len)
|
||||
if(t_ray_view)
|
||||
client.images += t_ray_images
|
||||
else
|
||||
client.images -= stored_t_ray_images
|
||||
|
||||
Reference in New Issue
Block a user