Fixes transit tube barricade spam (#42813)

* Only two transit tubes per turf can be wrenched down.

* Made a can_wrench_in_loc() proc. Placed it at start of wrench_act and afterI.use_tool.

* This aint lookin hot.

* Should be working now.

* Added proc at start of wrench_act.

* Fixed if statement and put it before to_chat.
This commit is contained in:
Coconutwarrior97
2019-03-02 09:43:53 +13:00
committed by oranges
parent d5b261572f
commit 765f8e32e0
@@ -15,6 +15,15 @@
var/flipped_build_type
var/base_icon
/obj/structure/c_transit_tube/proc/can_wrench_in_loc(mob/user)
var/turf/source_turf = get_turf(loc)
var/existing_tubes = 0
for(var/obj/structure/transit_tube/tube in source_turf)
existing_tubes +=1
if(existing_tubes >= 2)
to_chat(user, "<span class='warning'>You cannot wrench anymore transit tubes!</span> ")
return FALSE
return TRUE
/obj/structure/c_transit_tube/ComponentInitialize()
. = ..()
@@ -32,9 +41,11 @@
icon_state = "[base_icon][flipped]"
/obj/structure/c_transit_tube/wrench_act(mob/living/user, obj/item/I)
if(!can_wrench_in_loc(user))
return
to_chat(user, "<span class='notice'>You start attaching the [name]...</span>")
add_fingerprint(user)
if(I.use_tool(src, user, time_to_unwrench, volume=50))
if(I.use_tool(src, user, time_to_unwrench, volume=50, extra_checks=CALLBACK(src, .proc/can_wrench_in_loc, user)))
to_chat(user, "<span class='notice'>You attach the [name].</span>")
var/obj/structure/transit_tube/R = new build_type(loc, dir)
transfer_fingerprints_to(R)