The Epic Construction Update (#5976)

How to build machine blueprints!

Use steel sheets like normal, then rotate the frame how you like it using the directional arrow. From here use a Multitool to finalize it and then wire it up like you would before.
This commit is contained in:
Lady Fowl
2019-09-10 22:07:46 +03:00
committed by Erki
parent abd926b14a
commit d6ff38ef96
164 changed files with 2571 additions and 1055 deletions
+2 -2
View File
@@ -31,11 +31,11 @@
switch(anchored)
if(0)
anchored = 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] secures [src.name] to the floor.", "You secure [src.name] to the floor.", "You hear a ratchet")
if(1)
anchored = 0
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
playsound(src.loc, W.usesound, 75, 1)
user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", "You unsecure [src.name] from the floor.", "You hear a ratchet")
return
+1 -1
View File
@@ -29,7 +29,7 @@ LINEN BINS
/obj/item/weapon/bedsheet/attackby(obj/item/I, mob/user)
if(is_sharp(I))
user.visible_message("<span class='notice'>\The [user] begins cutting up [src] with [I].</span>", "<span class='notice'>You begin cutting up [src] with [I].</span>")
if(do_after(user, 50))
if(do_after(user, 50/I.toolspeed))
to_chat(user, "<span class='notice'>You cut [src] into pieces!</span>")
for(var/i in 1 to rand(2,5))
new /obj/item/weapon/reagent_containers/glass/rag(get_turf(src))
@@ -276,7 +276,7 @@
"You hear a welding torch on metal."
)
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
if (!do_after(user, 2 SECONDS, act_target = src, extra_checks = CALLBACK(src, .proc/is_closed)))
if (!do_after(user, 2/W.toolspeed SECONDS, act_target = src, extra_checks = CALLBACK(src, .proc/is_closed)))
return
if(!WT.remove_fuel(0,user))
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
@@ -91,7 +91,7 @@
"You hear a welding torch on metal."
)
playsound(loc, 'sound/items/Welder2.ogg', 50, 1)
if (!do_after(user, 2 SECONDS, act_target = src, extra_checks = CALLBACK(src, .proc/is_open)))
if (!do_after(user, 2/W.toolspeed SECONDS, act_target = src, extra_checks = CALLBACK(src, .proc/is_open)))
return
if(!WT.remove_fuel(0,user))
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
@@ -115,33 +115,33 @@
else if(W.isscrewdriver() && canbemoved)
if(screwed)
to_chat(user, "<span class='notice'>You start to unscrew the locker from the floor...</span>")
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
if (do_after(user, 10 SECONDS, act_target = src))
playsound(loc, W.usesound, 50, 1)
if (do_after(user, 10/W.toolspeed SECONDS, act_target = src))
to_chat(user, "<span class='notice'>You unscrew the locker!</span>")
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
screwed = 0
else if(!screwed && wrenched)
to_chat(user, "<span class='notice'>You start to screw the locker to the floor...</span>")
playsound(src, 'sound/items/Welder.ogg', 80, 1)
if (do_after(user, 15, act_target = src))
if (do_after(user, 15/W.toolspeed SECONDS, act_target = src))
to_chat(user, "<span class='notice'>You screw the locker!</span>")
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
screwed = 1
else if(W.iswrench() && canbemoved)
if(wrenched && !screwed)
to_chat(user, "<span class='notice'>You start to unfasten the bolts holding the locker in place...</span>")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
if (do_after(user, 15 SECONDS, act_target = src))
playsound(loc, W.usesound, 50, 1)
if (do_after(user, 15/W.toolspeed SECONDS, act_target = src))
to_chat(user, "<span class='notice'>You unfasten the locker's bolts!</span>")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
wrenched = 0
anchored = 0
else if(!wrenched)
to_chat(user, "<span class='notice'>You start to fasten the bolts holding the locker in place...</span>")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
if (do_after(user, 15, act_target = src))
playsound(loc, W.usesound, 50, 1)
if (do_after(user, 15/W.toolspeed SECONDS, act_target = src))
to_chat(user, "<span class='notice'>You fasten the locker's bolts!</span>")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
wrenched = 1
anchored = 1
else if(!opened)
+10 -10
View File
@@ -166,7 +166,7 @@
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
if(istext(glass))
user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src || !WT.isOn()) return
to_chat(user, "<span class='notice'>You welded the [glass] plating off!</span>")
var/M = text2path("/obj/item/stack/material/[glass]")
@@ -174,14 +174,14 @@
glass = 0
else if(glass == 1)
user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src || !WT.isOn()) return
to_chat(user, "<span class='notice'>You welded the glass panel out!</span>")
new /obj/item/stack/material/glass/reinforced(src.loc)
glass = 0
else if(!anchored)
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src || !WT.isOn()) return
to_chat(user, "<span class='notice'>You dissasembled the airlock assembly!</span>")
new /obj/item/stack/material/steel(src.loc, 4)
@@ -191,13 +191,13 @@
return
else if(W.iswrench() && state == 0)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
if(anchored)
user.visible_message("[user] begins unsecuring the airlock assembly from the floor.", "You starts unsecuring the airlock assembly from the floor.")
else
user.visible_message("[user] begins securing the airlock assembly to the floor.", "You starts securing the airlock assembly to the floor.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You [anchored? "un" : ""]secured the airlock assembly!</span>")
anchored = !anchored
@@ -217,7 +217,7 @@
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You cut the airlock wires.!</span>")
new/obj/item/stack/cable_coil(src.loc, 1)
@@ -229,7 +229,7 @@
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
EL.inuse = 1
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
EL.inuse = 0
if(!src) return
user.drop_from_inventory(EL,src)
@@ -250,7 +250,7 @@
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("\The [user] starts removing the electronics from the airlock assembly.", "You start removing the electronics from the airlock assembly.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You removed the airlock electronics!</span>")
src.state = 1
@@ -284,10 +284,10 @@
glass = material_name
else if(W.isscrewdriver() && state == 2 )
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
to_chat(user, "<span class='notice'>Now finishing the airlock.</span>")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You finish the airlock!</span>")
var/path
+15
View File
@@ -209,6 +209,21 @@
..()
icon_state = "firstbush_[rand(1, 4)]"
/obj/structure/flora/ausbushes/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if(istype(W,/obj/item/weapon/material/scythe/sickle))
if(prob(50))
new /obj/item/stack/material/wood(get_turf(src), 2)
if(prob(40))
new /obj/item/stack/material/wood(get_turf(src), 4)
if(prob(10))
var/pickberry = pick(list(/obj/item/seeds/berryseed,/obj/item/seeds/blueberryseed))
new /obj/item/stack/material/wood(get_turf(src), 4)
new pickberry(get_turf(src), 4)
to_chat(usr, "<span class='notice'>You find some seeds as you hack the bush away!</span>")
to_chat(usr, "<span class='notice'>You slice at the bush!</span>")
qdel(src)
playsound(src.loc, 'sound/effects/woodcutting.ogg', 50, 1)
/obj/structure/flora/ausbushes/reedbush
icon_state = "reedbush_1"
+19 -19
View File
@@ -56,22 +56,22 @@
/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob)
if(W.iswrench() && state == 0)
if(anchored && !reinf_material)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
to_chat(user, "<span class='notice'>Now disassembling the girder...</span>")
if(do_after(user,40))
if(do_after(user,40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You dissasembled the girder!</span>")
dismantle()
else if(!anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
to_chat(user, "<span class='notice'>Now securing the girder...</span>")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
to_chat(user, "<span class='notice'>You secured the girder!</span>")
reset_girder()
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,30))
if(do_after(user,30/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
@@ -80,7 +80,7 @@
var/obj/item/weapon/melee/energy/WT = W
if(WT.active)
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,30))
if(do_after(user,30/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
@@ -90,7 +90,7 @@
else if(istype(W, /obj/item/weapon/melee/energy/blade))
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,30))
if(do_after(user,30/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
@@ -99,7 +99,7 @@
var/obj/item/weapon/melee/chainsword/WT = W
if(WT.active)
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,60))
if(do_after(user,60/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
@@ -113,21 +113,21 @@
else if(W.isscrewdriver())
if(state == 2)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
to_chat(user, "<span class='notice'>Now unsecuring support struts...</span>")
if(do_after(user,40))
if(do_after(user,40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You unsecured the support struts!</span>")
state = 1
else if(anchored && !reinf_material)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
reinforcing = !reinforcing
to_chat(user, "<span class='notice'>\The [src] can now be [reinforcing? "reinforced" : "constructed"]!</span>")
else if(W.iswirecutter() && state == 1)
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
to_chat(user, "<span class='notice'>Now removing support struts...</span>")
if(do_after(user,40))
if(do_after(user,40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You removed the support struts!</span>")
reinf_material.place_dismantled_product(get_turf(src))
@@ -137,7 +137,7 @@
else if(W.iscrowbar() && state == 0 && anchored)
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
to_chat(user, "<span class='notice'>Now dislodging the girder...</span>")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You dislodged the girder!</span>")
icon_state = "displaced"
@@ -273,15 +273,15 @@
/obj/structure/girder/cult/attackby(obj/item/W as obj, mob/user as mob)
if(W.iswrench())
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
to_chat(user, "<span class='notice'>Now disassembling the girder...</span>")
if(do_after(user,40))
if(do_after(user,40/W.toolspeed))
to_chat(user, "<span class='notice'>You dissasembled the girder!</span>")
dismantle()
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,30))
if(do_after(user,30/W.toolspeed))
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
@@ -294,7 +294,7 @@
var/obj/item/weapon/melee/energy/WT = W
if(WT.active)
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,30))
if(do_after(user,30/W.toolspeed))
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
else
@@ -303,7 +303,7 @@
else if(istype(W, /obj/item/weapon/melee/energy/blade))
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,30))
if(do_after(user,30/W.toolspeed))
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
@@ -311,7 +311,7 @@
var/obj/item/weapon/melee/chainsword/WT = W
if(WT.active)
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
if(do_after(user,60))
if(do_after(user,60/W.toolspeed))
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
dismantle()
else
+2 -2
View File
@@ -75,7 +75,7 @@
/obj/structure/lattice/catwalk/attackby(obj/item/C, mob/user)
if (C.iswelder())
var/obj/item/weapon/weldingtool/WT = C
if (do_after(user, 5, act_target = src) && WT.remove_fuel(1, user))
if (do_after(user, 5/C.toolspeed, act_target = src) && WT.remove_fuel(1, user))
to_chat(user, "<span class='notice'>You slice apart [src].</span>")
playsound(src, 'sound/items/Welder.ogg', 50, 1)
new /obj/item/stack/rods{amount = 3}(loc)
@@ -85,7 +85,7 @@
if (C.isscrewdriver())
anchored = !anchored
to_chat(user, "<span class='notice'>You [anchored ? "" : "un"]anchor [src].</span>")
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
playsound(src, C.usesound, 50, 1)
queue_smooth(src)
queue_smooth_neighbors(src)
else
+4 -4
View File
@@ -415,18 +415,18 @@
/obj/structure/device/piano/attackby(obj/item/O as obj, mob/user as mob)
if (O.iswrench())
if (anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, O.usesound, 50, 1)
to_chat(user, "<span class='notice'>You begin to loosen \the [src]'s casters...</span>")
if (do_after(user, 40))
if (do_after(user, 40/O.toolspeed))
user.visible_message( \
"[user] loosens \the [src]'s casters.", \
"<span class='notice'>You have loosened \the [src]. Now it can be pulled somewhere else.</span>", \
"You hear ratchet.")
src.anchored = 0
else
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, O.usesound, 50, 1)
to_chat(user, "<span class='notice'>You begin to tighten \the [src] to the floor...</span>")
if (do_after(user, 20))
if (do_after(user, 20/O.toolspeed))
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
"<span class='notice'>You have tightened \the [src]'s casters. Now it can be played again</span>.", \
@@ -95,7 +95,7 @@
/obj/structure/bed/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.iswrench())
if(can_dismantle)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
dismantle()
qdel(src)
else if(istype(W,/obj/item/stack))
@@ -115,7 +115,7 @@
/obj/item/weapon/stool/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.iswrench())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
dismantle()
qdel(src)
else if(istype(W,/obj/item/stack))
+13 -4
View File
@@ -30,7 +30,7 @@
/obj/structure/bed/chair/e_chair/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.iswrench())
var/obj/structure/bed/chair/C = new /obj/structure/bed/chair(loc)
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
C.set_dir(dir)
part.forceMove(get_turf(src))
part.master = null
@@ -187,7 +187,7 @@
/obj/structure/metronome/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(W.iswrench())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(src.loc, W.usesound, 50, 1)
if(anchored)
to_chat(user, "<span class='notice'>You unanchor \the [src] and it destabilizes.</span>")
STOP_PROCESSING(SSfast_process, src)
@@ -239,6 +239,12 @@
var/locked
var/obj/machinery/chakraconsole/connected
component_types = list(
/obj/item/weapon/circuitboard/crystelpod,
/obj/item/weapon/stock_parts/capacitor = 2,
/obj/item/weapon/stock_parts/scanning_module = 2
)
/obj/machinery/chakrapod/Destroy()
if (connected)
connected.connected = null
@@ -404,8 +410,6 @@
update_use_power(2)
flick("[initial(icon_state)]-anim", src)
update_icon()
for(var/obj/Obj in src)
Obj.forceMove(get_turf(src))
src.add_fingerprint(user)
return
@@ -419,6 +423,11 @@
var/obj/machinery/chakrapod/connected
var/crystal = 0
var/working = 0
component_types = list(
/obj/item/weapon/circuitboard/crystelpodconsole,
/obj/item/weapon/stock_parts/capacitor = 1,
/obj/item/weapon/stock_parts/scanning_module = 2
)
/obj/machinery/chakraconsole/ex_act(severity)
+3 -3
View File
@@ -48,7 +48,7 @@
if(I.iscrowbar())
to_chat(user, "<span class='notice'>You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"].</span>")
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
if(do_after(user, 30))
if(do_after(user, 30/I.toolspeed))
user.visible_message("<span class='notice'>[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!</span>", "<span class='notice'>You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!</span>", "You hear grinding porcelain.")
cistern = !cistern
update_icon()
@@ -178,8 +178,8 @@
if(I.iswrench())
var/newtemp = input(user, "What setting would you like to set the temperature valve to?", "Water Temperature Valve") in temperature_settings
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with \the [I].</span>")
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 50))
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 50/I.toolspeed))
watertemp = newtemp
user.visible_message("<span class='notice'>[user] adjusts the shower with \the [I].</span>", "<span class='notice'>You adjust the shower with \the [I].</span>")
add_fingerprint(user)
@@ -75,7 +75,7 @@ obj/structure/windoor_assembly/Destroy()
user.visible_message("[user] dissassembles the windoor assembly.", "You start to dissassemble the windoor assembly.")
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src || !WT.isOn()) return
to_chat(user, "<span class='notice'>You dissasembled the windoor assembly!</span>")
new /obj/item/stack/material/glass/reinforced(get_turf(src), 5)
@@ -88,10 +88,10 @@ obj/structure/windoor_assembly/Destroy()
//Wrenching an unsecure assembly anchors it in place. Step 4 complete
if(W.iswrench() && !anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You've secured the windoor assembly!</span>")
src.anchored = 1
@@ -102,10 +102,10 @@ obj/structure/windoor_assembly/Destroy()
//Unwrenching an unsecure assembly un-anchors it. Step 4 undone
else if(W.iswrench() && anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] unsecures the windoor assembly to the floor.", "You start to unsecure the windoor assembly to the floor.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You've unsecured the windoor assembly!</span>")
src.anchored = 0
@@ -122,7 +122,7 @@ obj/structure/windoor_assembly/Destroy()
return
to_chat(user, "<span class='notice'>You start to reinforce the windoor with rods.</span>")
if(do_after(user,40) && !secure)
if(do_after(user,40/W.toolspeed) && !secure)
if (R.use(4))
to_chat(user, "<span class='notice'>You reinforce the windoor.</span>")
src.secure = "secure_"
@@ -136,7 +136,7 @@ obj/structure/windoor_assembly/Destroy()
user.visible_message("[user] wires the windoor assembly.", "You start to wire the windoor assembly.")
var/obj/item/stack/cable_coil/CC = W
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if (CC.use(1))
to_chat(user, "<span class='notice'>You wire the windoor!</span>")
src.state = "02"
@@ -154,7 +154,7 @@ obj/structure/windoor_assembly/Destroy()
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
to_chat(user, "<span class='notice'>You cut the windoor wires.!</span>")
@@ -184,10 +184,10 @@ obj/structure/windoor_assembly/Destroy()
//Screwdriver to remove airlock electronics. Step 6 undone.
else if(W.isscrewdriver() && src.electronics)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
playsound(src.loc, W.usesound, 100, 1)
user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to uninstall electronics from the airlock assembly.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src || !src.electronics) return
to_chat(user, "<span class='notice'>You've removed the airlock electronics!</span>")
if(src.secure)
@@ -207,7 +207,7 @@ obj/structure/windoor_assembly/Destroy()
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] pries the windoor into the frame.", "You start prying the windoor into the frame.")
if(do_after(user, 40))
if(do_after(user, 40/W.toolspeed))
if(!src) return
+4 -4
View File
@@ -225,21 +225,21 @@
if(reinf && state >= 1)
state = 3 - state
update_nearby_icons()
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
to_chat(user, (state == 1 ? "<span class='notice'>You have unfastened the window from the frame.</span>" : "<span class='notice'>You have fastened the window to the frame.</span>"))
else if(reinf && state == 0)
anchored = !anchored
update_nearby_icons()
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
to_chat(user, (anchored ? "<span class='notice'>You have fastened the frame to the floor.</span>" : "<span class='notice'>You have unfastened the frame from the floor.</span>"))
else if(!reinf)
anchored = !anchored
update_nearby_icons()
playsound(loc, 'sound/items/Screwdriver.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
to_chat(user, (anchored ? "<span class='notice'>You have fastened the window to the floor.</span>" : "<span class='notice'>You have unfastened the window.</span>"))
else if(W.iscrowbar() && reinf && state <= 1)
state = 1 - state
playsound(loc, 'sound/items/Crowbar.ogg', 75, 1)
playsound(loc, W.usesound, 75, 1)
to_chat(user, (state ? "<span class='notice'>You have pried the window into the frame.</span>" : "<span class='notice'>You have pried the window out of the frame.</span>"))
else if(W.iswrench() && !anchored && (!state || !reinf))
if(!glasstype)