Tank control console improvements(and migrates multitool to new attack chain) (#28252)

* Allows multiple inlets and outlets

* Starts adding range to multimeter and fixes some stuff

* Migrates multitool to new attack chain and increases the scanning range

* adds vent scrubbers

* Fixes scrubber control

* moves uplink multitool to new attack chain as well

* oops

* reverts putting injectors and vents into their own component due to numbered input stuttering

* Allows vent pressure reference to be changed

* Fix bugs when adding or removing devices

* tgui rebuild

* Makes the UI look nicer

* Update tgui.bundle.js

* add range to sensor multitool interaction as well

* Update tgui.bundle.js

* Update tgui.bundle.js

* Update tgui.bundle.js

* Update tgui.bundle.js

* review changes

* reeee

* Update tgui.bundle.js
This commit is contained in:
Migratingcocofruit
2025-04-06 12:40:47 +03:00
committed by GitHub
parent a12792f17e
commit 00573a16fd
6 changed files with 525 additions and 223 deletions
+2 -1
View File
@@ -456,7 +456,8 @@ GLOBAL_LIST_EMPTY(world_uplinks)
..()
hidden_uplink = new(src)
/obj/item/multitool/uplink/attack_self__legacy__attackchain(mob/user as mob)
/obj/item/multitool/uplink/activate_self(mob/user as mob)
. = ..()
if(hidden_uplink)
hidden_uplink.trigger(user)
+12 -1
View File
@@ -25,6 +25,7 @@
toolspeed = 1
tool_behaviour = TOOL_MULTITOOL
hitsound = 'sound/weapons/tap.ogg'
new_attack_chain = TRUE
/// Reference to whatever machine is held in the buffer
var/obj/machinery/buffer // TODO - Make this a soft ref to tie into whats below
/// Soft-ref for linked stuff. This should be used over the above var.
@@ -47,7 +48,8 @@
buffer = null
return ..()
/obj/item/multitool/attack_self__legacy__attackchain(mob/user)
/obj/item/multitool/activate_self(mob/user)
. = ..()
if(!COOLDOWN_FINISHED(src, cd_apc_scan))
return
COOLDOWN_START(src, cd_apc_scan, 1.5 SECONDS)
@@ -61,6 +63,15 @@
return
to_chat(user, "<span class='notice'>APC detected [get_dist(src, apc)] meter\s [dir2text(get_dir(src, apc))].</span>")
/obj/item/multitool/ranged_interact_with_atom(atom/target, mob/living/user, list/modifiers)
. = ..()
if(!(istype(target, /obj/machinery/atmospherics/unary) || istype(target, /obj/machinery/atmospherics/air_sensor)))
return
if(!(target in view(5, user)))
to_chat(user,"<span class='warning'>[target] out of multitool range. Please get within 5 meters and try again.<span>")
return
return target.multitool_act(user, src)
// Syndicate device disguised as a multitool; it will turn red when an AI camera is nearby.
/obj/item/multitool/ai_detect
var/track_cooldown = 0