diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index 2dbc8f38a6..c4a0d48dde 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -1,21 +1,3 @@
-<<<<<<< HEAD
-/* Windoor (window door) assembly -Nodrak
- * Step 1: Create a windoor out of rglass
- * Step 2: Add r-glass to the assembly to make a secure windoor (Optional)
- * Step 3: Rotate or Flip the assembly to face and open the way you want
- * Step 4: Wrench the assembly in place
- * Step 5: Add cables to the assembly
- * Step 6: Set access for the door.
- * Step 7: Screwdriver the door to complete
- */
-
-
-/obj/structure/windoor_assembly
- icon = 'icons/obj/doors/windoor.dmi'
-
- name = "windoor Assembly"
- icon_state = "l_windoor_assembly01"
-=======
/* Windoor (window door) assembly -Nodrak
* Step 1: Create a windoor out of rglass
* Step 2: Add r-glass to the assembly to make a secure windoor (Optional)
@@ -33,358 +15,357 @@
name = "windoor Assembly"
icon_state = "l_windoor_assembly01"
desc = "A small glass and wire assembly for windoors."
->>>>>>> 3e4d747... Adds desc to things lacking them. (#31086)
anchored = FALSE
density = FALSE
- dir = NORTH
-
- var/ini_dir
- var/obj/item/electronics/airlock/electronics = null
- var/created_name = null
-
- //Vars to help with the icon's name
- var/facing = "l" //Does the windoor open to the left or right?
+ dir = NORTH
+
+ var/ini_dir
+ var/obj/item/electronics/airlock/electronics = null
+ var/created_name = null
+
+ //Vars to help with the icon's name
+ var/facing = "l" //Does the windoor open to the left or right?
var/secure = FALSE //Whether or not this creates a secure windoor
- var/state = "01" //How far the door assembly has progressed
- CanAtmosPass = ATMOS_PASS_PROC
-
-/obj/structure/windoor_assembly/examine(mob/user)
- ..()
- to_chat(user, "Alt-click to rotate it clockwise.")
-
-/obj/structure/windoor_assembly/New(loc, set_dir)
- ..()
- if(set_dir)
- dir = set_dir
- ini_dir = dir
- air_update_turf(1)
-
-/obj/structure/windoor_assembly/Destroy()
+ var/state = "01" //How far the door assembly has progressed
+ CanAtmosPass = ATMOS_PASS_PROC
+
+/obj/structure/windoor_assembly/examine(mob/user)
+ ..()
+ to_chat(user, "Alt-click to rotate it clockwise.")
+
+/obj/structure/windoor_assembly/New(loc, set_dir)
+ ..()
+ if(set_dir)
+ dir = set_dir
+ ini_dir = dir
+ air_update_turf(1)
+
+/obj/structure/windoor_assembly/Destroy()
density = FALSE
- air_update_turf(1)
- return ..()
-
-/obj/structure/windoor_assembly/Move()
- var/turf/T = loc
- ..()
- setDir(ini_dir)
- move_update_air(T)
-
-/obj/structure/windoor_assembly/update_icon()
- icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]"
-
+ air_update_turf(1)
+ return ..()
+
+/obj/structure/windoor_assembly/Move()
+ var/turf/T = loc
+ ..()
+ setDir(ini_dir)
+ move_update_air(T)
+
+/obj/structure/windoor_assembly/update_icon()
+ icon_state = "[facing]_[secure ? "secure_" : ""]windoor_assembly[state]"
+
/obj/structure/windoor_assembly/CanPass(atom/movable/mover, turf/target)
- if(istype(mover) && mover.checkpass(PASSGLASS))
- return 1
- if(get_dir(loc, target) == dir) //Make sure looking at appropriate border
- return !density
- if(istype(mover, /obj/structure/window))
- var/obj/structure/window/W = mover
- if(!valid_window_location(loc, W.ini_dir))
- return FALSE
- else if(istype(mover, /obj/structure/windoor_assembly))
- var/obj/structure/windoor_assembly/W = mover
- if(!valid_window_location(loc, W.ini_dir))
- return FALSE
- else if(istype(mover, /obj/machinery/door/window) && !valid_window_location(loc, mover.dir))
- return FALSE
- return 1
-
-/obj/structure/windoor_assembly/CanAtmosPass(turf/T)
- if(get_dir(loc, T) == dir)
- return !density
- else
- return 1
-
-/obj/structure/windoor_assembly/CheckExit(atom/movable/mover as mob|obj, turf/target)
- if(istype(mover) && mover.checkpass(PASSGLASS))
- return 1
- if(get_dir(loc, target) == dir)
- return !density
- else
- return 1
-
-
-/obj/structure/windoor_assembly/attackby(obj/item/W, mob/user, params)
- //I really should have spread this out across more states but thin little windoors are hard to sprite.
- add_fingerprint(user)
- switch(state)
- if("01")
- if(istype(W, /obj/item/weldingtool) && !anchored )
- var/obj/item/weldingtool/WT = W
- if (WT.remove_fuel(0,user))
- user.visible_message("[user] disassembles the windoor assembly.", "You start to disassemble the windoor assembly...")
- playsound(loc, 'sound/items/welder2.ogg', 50, 1)
-
- if(do_after(user, 40*W.toolspeed, target = src))
- if(!src || !WT.isOn()) return
- to_chat(user, "You disassemble the windoor assembly.")
- var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5)
- RG.add_fingerprint(user)
- if(secure)
- var/obj/item/stack/rods/R = new (get_turf(src), 4)
- R.add_fingerprint(user)
- qdel(src)
- else
- return
-
- //Wrenching an unsecure assembly anchors it in place. Step 4 complete
- if(istype(W, /obj/item/wrench) && !anchored)
- for(var/obj/machinery/door/window/WD in loc)
- if(WD.dir == dir)
- to_chat(user, "There is already a windoor in that location!")
- return
- playsound(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*W.toolspeed, target = src))
- if(!src || anchored)
- return
- for(var/obj/machinery/door/window/WD in loc)
- if(WD.dir == dir)
- to_chat(user, "There is already a windoor in that location!")
- return
- to_chat(user, "You secure the windoor assembly.")
+ if(istype(mover) && mover.checkpass(PASSGLASS))
+ return 1
+ if(get_dir(loc, target) == dir) //Make sure looking at appropriate border
+ return !density
+ if(istype(mover, /obj/structure/window))
+ var/obj/structure/window/W = mover
+ if(!valid_window_location(loc, W.ini_dir))
+ return FALSE
+ else if(istype(mover, /obj/structure/windoor_assembly))
+ var/obj/structure/windoor_assembly/W = mover
+ if(!valid_window_location(loc, W.ini_dir))
+ return FALSE
+ else if(istype(mover, /obj/machinery/door/window) && !valid_window_location(loc, mover.dir))
+ return FALSE
+ return 1
+
+/obj/structure/windoor_assembly/CanAtmosPass(turf/T)
+ if(get_dir(loc, T) == dir)
+ return !density
+ else
+ return 1
+
+/obj/structure/windoor_assembly/CheckExit(atom/movable/mover as mob|obj, turf/target)
+ if(istype(mover) && mover.checkpass(PASSGLASS))
+ return 1
+ if(get_dir(loc, target) == dir)
+ return !density
+ else
+ return 1
+
+
+/obj/structure/windoor_assembly/attackby(obj/item/W, mob/user, params)
+ //I really should have spread this out across more states but thin little windoors are hard to sprite.
+ add_fingerprint(user)
+ switch(state)
+ if("01")
+ if(istype(W, /obj/item/weldingtool) && !anchored )
+ var/obj/item/weldingtool/WT = W
+ if (WT.remove_fuel(0,user))
+ user.visible_message("[user] disassembles the windoor assembly.", "You start to disassemble the windoor assembly...")
+ playsound(loc, 'sound/items/welder2.ogg', 50, 1)
+
+ if(do_after(user, 40*W.toolspeed, target = src))
+ if(!src || !WT.isOn()) return
+ to_chat(user, "You disassemble the windoor assembly.")
+ var/obj/item/stack/sheet/rglass/RG = new (get_turf(src), 5)
+ RG.add_fingerprint(user)
+ if(secure)
+ var/obj/item/stack/rods/R = new (get_turf(src), 4)
+ R.add_fingerprint(user)
+ qdel(src)
+ else
+ return
+
+ //Wrenching an unsecure assembly anchors it in place. Step 4 complete
+ if(istype(W, /obj/item/wrench) && !anchored)
+ for(var/obj/machinery/door/window/WD in loc)
+ if(WD.dir == dir)
+ to_chat(user, "There is already a windoor in that location!")
+ return
+ playsound(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*W.toolspeed, target = src))
+ if(!src || anchored)
+ return
+ for(var/obj/machinery/door/window/WD in loc)
+ if(WD.dir == dir)
+ to_chat(user, "There is already a windoor in that location!")
+ return
+ to_chat(user, "You secure the windoor assembly.")
anchored = TRUE
- if(secure)
- name = "secure anchored windoor assembly"
- else
- name = "anchored windoor assembly"
-
- //Unwrenching an unsecure assembly un-anchors it. Step 4 undone
- else if(istype(W, /obj/item/wrench) && anchored)
- playsound(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*W.toolspeed, target = src))
- if(!src || !anchored)
- return
- to_chat(user, "You unsecure the windoor assembly.")
+ if(secure)
+ name = "secure anchored windoor assembly"
+ else
+ name = "anchored windoor assembly"
+
+ //Unwrenching an unsecure assembly un-anchors it. Step 4 undone
+ else if(istype(W, /obj/item/wrench) && anchored)
+ playsound(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*W.toolspeed, target = src))
+ if(!src || !anchored)
+ return
+ to_chat(user, "You unsecure the windoor assembly.")
anchored = FALSE
- if(secure)
- name = "secure windoor assembly"
- else
- name = "windoor assembly"
-
- //Adding plasteel makes the assembly a secure windoor assembly. Step 2 (optional) complete.
- else if(istype(W, /obj/item/stack/sheet/plasteel) && !secure)
- var/obj/item/stack/sheet/plasteel/P = W
- if(P.get_amount() < 2)
- to_chat(user, "You need more plasteel to do this!")
- return
- to_chat(user, "You start to reinforce the windoor with plasteel...")
-
- if(do_after(user,40, target = src))
- if(!src || secure || P.get_amount() < 2)
- return
-
- P.use(2)
- to_chat(user, "You reinforce the windoor.")
+ if(secure)
+ name = "secure windoor assembly"
+ else
+ name = "windoor assembly"
+
+ //Adding plasteel makes the assembly a secure windoor assembly. Step 2 (optional) complete.
+ else if(istype(W, /obj/item/stack/sheet/plasteel) && !secure)
+ var/obj/item/stack/sheet/plasteel/P = W
+ if(P.get_amount() < 2)
+ to_chat(user, "You need more plasteel to do this!")
+ return
+ to_chat(user, "You start to reinforce the windoor with plasteel...")
+
+ if(do_after(user,40, target = src))
+ if(!src || secure || P.get_amount() < 2)
+ return
+
+ P.use(2)
+ to_chat(user, "You reinforce the windoor.")
secure = TRUE
- if(anchored)
- name = "secure anchored windoor assembly"
- else
- name = "secure windoor assembly"
-
- //Adding cable to the assembly. Step 5 complete.
- else if(istype(W, /obj/item/stack/cable_coil) && anchored)
- user.visible_message("[user] wires the windoor assembly.", "You start to wire the windoor assembly...")
-
- if(do_after(user, 40, target = src))
- if(!src || !anchored || src.state != "01")
- return
- var/obj/item/stack/cable_coil/CC = W
- if(!CC.use(1))
- to_chat(user, "You need more cable to do this!")
- return
- to_chat(user, "You wire the windoor.")
- state = "02"
- if(secure)
- name = "secure wired windoor assembly"
- else
- name = "wired windoor assembly"
- else
- return ..()
-
- if("02")
-
- //Removing wire from the assembly. Step 5 undone.
- if(istype(W, /obj/item/wirecutters))
- playsound(loc, W.usesound, 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*W.toolspeed, target = src))
- if(!src || state != "02")
- return
-
- to_chat(user, "You cut the windoor wires.")
- new/obj/item/stack/cable_coil(get_turf(user), 1)
- state = "01"
- if(secure)
- name = "secure anchored windoor assembly"
- else
- name = "anchored windoor assembly"
-
- //Adding airlock electronics for access. Step 6 complete.
- else if(istype(W, /obj/item/electronics/airlock))
- if(!user.drop_item())
- return
- playsound(loc, W.usesound, 100, 1)
- user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly...")
- W.loc = src
-
- if(do_after(user, 40, target = src))
- if(!src || electronics)
- W.loc = src.loc
- return
- to_chat(user, "You install the airlock electronics.")
- name = "near finished windoor assembly"
- electronics = W
- else
- W.loc = loc
-
- //Screwdriver to remove airlock electronics. Step 6 undone.
- else if(istype(W, /obj/item/screwdriver))
- if(!electronics)
- return
-
- playsound(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*W.toolspeed, target = src))
- if(!src || !electronics)
- return
- to_chat(user, "You remove the airlock electronics.")
- name = "wired windoor assembly"
- var/obj/item/electronics/airlock/ae
- ae = electronics
- electronics = null
- ae.loc = loc
-
- else if(istype(W, /obj/item/pen))
- var/t = stripped_input(user, "Enter the name for the door.", name, created_name,MAX_NAME_LEN)
- if(!t)
- return
- if(!in_range(src, usr) && loc != usr)
- return
- created_name = t
- return
-
-
-
- //Crowbar to complete the assembly, Step 7 complete.
- else if(istype(W, /obj/item/crowbar))
- if(!electronics)
- to_chat(usr, "The assembly is missing electronics!")
- return
- usr << browse(null, "window=windoor_access")
- playsound(loc, W.usesound, 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*W.toolspeed, target = src))
-
- if(loc && electronics)
-
+ if(anchored)
+ name = "secure anchored windoor assembly"
+ else
+ name = "secure windoor assembly"
+
+ //Adding cable to the assembly. Step 5 complete.
+ else if(istype(W, /obj/item/stack/cable_coil) && anchored)
+ user.visible_message("[user] wires the windoor assembly.", "You start to wire the windoor assembly...")
+
+ if(do_after(user, 40, target = src))
+ if(!src || !anchored || src.state != "01")
+ return
+ var/obj/item/stack/cable_coil/CC = W
+ if(!CC.use(1))
+ to_chat(user, "You need more cable to do this!")
+ return
+ to_chat(user, "You wire the windoor.")
+ state = "02"
+ if(secure)
+ name = "secure wired windoor assembly"
+ else
+ name = "wired windoor assembly"
+ else
+ return ..()
+
+ if("02")
+
+ //Removing wire from the assembly. Step 5 undone.
+ if(istype(W, /obj/item/wirecutters))
+ playsound(loc, W.usesound, 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*W.toolspeed, target = src))
+ if(!src || state != "02")
+ return
+
+ to_chat(user, "You cut the windoor wires.")
+ new/obj/item/stack/cable_coil(get_turf(user), 1)
+ state = "01"
+ if(secure)
+ name = "secure anchored windoor assembly"
+ else
+ name = "anchored windoor assembly"
+
+ //Adding airlock electronics for access. Step 6 complete.
+ else if(istype(W, /obj/item/electronics/airlock))
+ if(!user.drop_item())
+ return
+ playsound(loc, W.usesound, 100, 1)
+ user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly...")
+ W.loc = src
+
+ if(do_after(user, 40, target = src))
+ if(!src || electronics)
+ W.loc = src.loc
+ return
+ to_chat(user, "You install the airlock electronics.")
+ name = "near finished windoor assembly"
+ electronics = W
+ else
+ W.loc = loc
+
+ //Screwdriver to remove airlock electronics. Step 6 undone.
+ else if(istype(W, /obj/item/screwdriver))
+ if(!electronics)
+ return
+
+ playsound(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*W.toolspeed, target = src))
+ if(!src || !electronics)
+ return
+ to_chat(user, "You remove the airlock electronics.")
+ name = "wired windoor assembly"
+ var/obj/item/electronics/airlock/ae
+ ae = electronics
+ electronics = null
+ ae.loc = loc
+
+ else if(istype(W, /obj/item/pen))
+ var/t = stripped_input(user, "Enter the name for the door.", name, created_name,MAX_NAME_LEN)
+ if(!t)
+ return
+ if(!in_range(src, usr) && loc != usr)
+ return
+ created_name = t
+ return
+
+
+
+ //Crowbar to complete the assembly, Step 7 complete.
+ else if(istype(W, /obj/item/crowbar))
+ if(!electronics)
+ to_chat(usr, "The assembly is missing electronics!")
+ return
+ usr << browse(null, "window=windoor_access")
+ playsound(loc, W.usesound, 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*W.toolspeed, target = src))
+
+ if(loc && electronics)
+
density = TRUE //Shouldn't matter but just incase
- to_chat(user, "You finish the windoor.")
-
- if(secure)
- var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(loc)
- if(facing == "l")
- windoor.icon_state = "leftsecureopen"
- windoor.base_state = "leftsecure"
- else
- windoor.icon_state = "rightsecureopen"
- windoor.base_state = "rightsecure"
- windoor.setDir(dir)
+ to_chat(user, "You finish the windoor.")
+
+ if(secure)
+ var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(loc)
+ if(facing == "l")
+ windoor.icon_state = "leftsecureopen"
+ windoor.base_state = "leftsecure"
+ else
+ windoor.icon_state = "rightsecureopen"
+ windoor.base_state = "rightsecure"
+ windoor.setDir(dir)
windoor.density = FALSE
-
- if(electronics.one_access)
- windoor.req_one_access = electronics.accesses
- else
- windoor.req_access = electronics.accesses
- windoor.electronics = electronics
- electronics.loc = windoor
- if(created_name)
- windoor.name = created_name
- qdel(src)
- windoor.close()
-
-
- else
- var/obj/machinery/door/window/windoor = new /obj/machinery/door/window(loc)
- if(facing == "l")
- windoor.icon_state = "leftopen"
- windoor.base_state = "left"
- else
- windoor.icon_state = "rightopen"
- windoor.base_state = "right"
- windoor.setDir(dir)
+
+ if(electronics.one_access)
+ windoor.req_one_access = electronics.accesses
+ else
+ windoor.req_access = electronics.accesses
+ windoor.electronics = electronics
+ electronics.loc = windoor
+ if(created_name)
+ windoor.name = created_name
+ qdel(src)
+ windoor.close()
+
+
+ else
+ var/obj/machinery/door/window/windoor = new /obj/machinery/door/window(loc)
+ if(facing == "l")
+ windoor.icon_state = "leftopen"
+ windoor.base_state = "left"
+ else
+ windoor.icon_state = "rightopen"
+ windoor.base_state = "right"
+ windoor.setDir(dir)
windoor.density = FALSE
-
- windoor.req_access = electronics.accesses
- windoor.electronics = electronics
- electronics.loc = windoor
- if(created_name)
- windoor.name = created_name
- qdel(src)
- windoor.close()
-
-
- else
- return ..()
-
- //Update to reflect changes(if applicable)
- update_icon()
-
-
-//Rotates the windoor assembly clockwise
-/obj/structure/windoor_assembly/verb/revrotate()
- set name = "Rotate Windoor Assembly"
- set category = "Object"
- set src in oview(1)
- if(usr.stat || !usr.canmove || usr.restrained())
- return
- if(anchored)
- to_chat(usr, "[src] cannot be rotated while it is fastened to the floor!")
- return FALSE
-
- var/target_dir = turn(dir, 270)
-
- if(!valid_window_location(loc, target_dir))
- to_chat(usr, "[src] cannot be rotated in that direction!")
- return FALSE
-
- setDir(target_dir)
-
- ini_dir = dir
- update_icon()
- return TRUE
-
-/obj/structure/windoor_assembly/AltClick(mob/user)
- ..()
- if(user.incapacitated())
- to_chat(user, "You can't do that right now!")
- return
- if(!in_range(src, user))
- return
- else
- revrotate()
-
-//Flips the windoor assembly, determines whather the door opens to the left or the right
-/obj/structure/windoor_assembly/verb/flip()
- set name = "Flip Windoor Assembly"
- set category = "Object"
- set src in oview(1)
- if(usr.stat || !usr.canmove || usr.restrained())
- return
-
- if(facing == "l")
- to_chat(usr, "The windoor will now slide to the right.")
- facing = "r"
- else
- facing = "l"
- to_chat(usr, "The windoor will now slide to the left.")
-
- update_icon()
- return
+
+ windoor.req_access = electronics.accesses
+ windoor.electronics = electronics
+ electronics.loc = windoor
+ if(created_name)
+ windoor.name = created_name
+ qdel(src)
+ windoor.close()
+
+
+ else
+ return ..()
+
+ //Update to reflect changes(if applicable)
+ update_icon()
+
+
+//Rotates the windoor assembly clockwise
+/obj/structure/windoor_assembly/verb/revrotate()
+ set name = "Rotate Windoor Assembly"
+ set category = "Object"
+ set src in oview(1)
+ if(usr.stat || !usr.canmove || usr.restrained())
+ return
+ if(anchored)
+ to_chat(usr, "[src] cannot be rotated while it is fastened to the floor!")
+ return FALSE
+
+ var/target_dir = turn(dir, 270)
+
+ if(!valid_window_location(loc, target_dir))
+ to_chat(usr, "[src] cannot be rotated in that direction!")
+ return FALSE
+
+ setDir(target_dir)
+
+ ini_dir = dir
+ update_icon()
+ return TRUE
+
+/obj/structure/windoor_assembly/AltClick(mob/user)
+ ..()
+ if(user.incapacitated())
+ to_chat(user, "You can't do that right now!")
+ return
+ if(!in_range(src, user))
+ return
+ else
+ revrotate()
+
+//Flips the windoor assembly, determines whather the door opens to the left or the right
+/obj/structure/windoor_assembly/verb/flip()
+ set name = "Flip Windoor Assembly"
+ set category = "Object"
+ set src in oview(1)
+ if(usr.stat || !usr.canmove || usr.restrained())
+ return
+
+ if(facing == "l")
+ to_chat(usr, "The windoor will now slide to the right.")
+ facing = "r"
+ else
+ facing = "l"
+ to_chat(usr, "The windoor will now slide to the left.")
+
+ update_icon()
+ return