diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm
index 04ce040162..b94f42d0c6 100644
--- a/code/game/machinery/autolathe_datums.dm
+++ b/code/game/machinery/autolathe_datums.dm
@@ -89,7 +89,7 @@
/datum/autolathe/recipe/rglass
name = "reinforced glass sheets"
- path = /obj/item/stack/sheet/rglass
+ path = /obj/item/stack/sheet/glass/reinforced
category = "General"
is_stack = 1
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index 5e3c29996f..259012f4db 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -87,8 +87,8 @@
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
A.amount = 5
- if(istype(P, /obj/item/stack/sheet/rglass))
- var/obj/item/stack/sheet/rglass/RG = P
+ if(istype(P, /obj/item/stack/sheet/glass/reinforced))
+ var/obj/item/stack/sheet/glass/reinforced/RG = P
if (RG.get_amount() < 2)
user << "You need two sheets of glass to put in the glass panel."
return
@@ -161,7 +161,7 @@
icon_state = "3b"
else
icon_state = "3"
- new /obj/item/stack/sheet/rglass( loc, 2 )
+ new /obj/item/stack/sheet/glass/reinforced( loc, 2 )
return
if(istype(P, /obj/item/weapon/screwdriver))
@@ -388,4 +388,4 @@ That prevents a few funky behaviors.
U << "\red ERROR: \black [A_T.name] data core is corrupted. Unable to install."
else
U << "\red ERROR: \black AI flush is in progress, cannot execute transfer protocol."
- return
\ No newline at end of file
+ return
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index c1126464f5..3111545aec 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -18,6 +18,8 @@
matter = list("glass" = 3750)
origin_tech = "materials=1"
var/created_window = /obj/structure/window/basic
+ var/is_reinforced = 0
+ var/list/construction_options = list("One Direction", "Full Window")
/obj/item/stack/sheet/glass/cyborg
name = "glass"
@@ -32,19 +34,24 @@
/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user)
..()
- if(istype(W,/obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/CC = W
- if (get_amount() < 1 || CC.get_amount() < 5)
- user << "You attach wire to the [name]."
- new /obj/item/stack/light_w(user.loc)
- else if(istype(W, /obj/item/stack/rods))
- var/obj/item/stack/rods/V = W
- if (V.get_amount() >= 1 && get_amount() >= 1)
- var/obj/item/stack/sheet/rglass/RG = new (user.loc)
+ if(!is_reinforced)
+ if(istype(W,/obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/CC = W
+ if (get_amount() < 1 || CC.get_amount() < 5)
+ user << "You attach wire to the [name]."
+ new /obj/item/stack/light_w(user.loc)
+ else if(istype(W, /obj/item/stack/rods))
+ var/obj/item/stack/rods/V = W
+ if (V.get_amount() < 1 || get_amount() < 1)
+ user << "You need one rod and one sheet of glass to make reinforced glass."
+ return
+
+ var/obj/item/stack/sheet/glass/reinforced/RG = new (user.loc)
RG.add_fingerprint(user)
RG.add_to_stacks(user)
var/obj/item/stack/sheet/glass/G = src
@@ -54,11 +61,6 @@
G.use(1)
if (!G && replace)
user.put_in_hands(RG)
- else
- user << "You need one rod and one sheet of glass to make reinforced glass."
- return
- else
- return ..()
/obj/item/stack/sheet/glass/proc/construct_window(mob/user as mob)
if(!user || !src) return 0
@@ -66,9 +68,9 @@
if(!user.IsAdvancedToolUser())
user << "\red You don't have the dexterity to do this!"
return 0
- var/title = "Sheet-Glass"
+ var/title = "Sheet-[name]"
title += " ([src.amount] sheet\s left)"
- switch(alert(title, "Would you like full tile glass or one direction?", "One Direction", "Full Window", "Cancel", null))
+ switch(input(title, "What would you like to construct?") in (construction_options + "Cancel"))
if("One Direction")
if(!src) return 1
if(src.loc != user) return 1
@@ -81,7 +83,7 @@
user << "\red There are too many windows in this location."
return 1
directions-=win.dir
- if(!(win.ini_dir in cardinal))
+ if(!(win.dir in cardinal))
user << "\red Can't let you do that."
return 1
@@ -95,113 +97,22 @@
if(!found)
dir_to_set = direction
break
- var/obj/structure/window/W
- W = new created_window( user.loc, 0 )
- W.dir = dir_to_set
- W.ini_dir = W.dir
- W.anchored = 0
+ new created_window( user.loc, dir_to_set, 1 )
src.use(1)
if("Full Window")
if(!src) return 1
if(src.loc != user) return 1
- if(src.amount < 2)
+ if(src.amount < 4)
user << "\red You need more glass to do that."
return 1
if(locate(/obj/structure/window) in user.loc)
user << "\red There is a window in the way."
return 1
- var/obj/structure/window/W
- W = new created_window( user.loc, 0 )
- W.dir = SOUTHWEST
- W.ini_dir = SOUTHWEST
- W.anchored = 0
- src.use(2)
- return 0
-
-
-/*
- * Reinforced glass sheets
- */
-/obj/item/stack/sheet/rglass
- name = "reinforced glass"
- desc = "Glass which seems to have rods or something stuck in them."
- singular_name = "reinforced glass sheet"
- icon_state = "sheet-rglass"
-
- matter = list("metal" = 1875,"glass" = 3750)
-
- origin_tech = "materials=2"
-
-/obj/item/stack/sheet/rglass/cyborg
- name = "reinforced glass"
- desc = "Glass which seems to have rods or something stuck in them."
- singular_name = "reinforced glass sheet"
- icon_state = "sheet-rglass"
-
-/obj/item/stack/sheet/rglass/attack_self(mob/user as mob)
- construct_window(user)
-
-/obj/item/stack/sheet/rglass/proc/construct_window(mob/user as mob)
- if(!user || !src) return 0
- if(!istype(user.loc,/turf)) return 0
- if(!user.IsAdvancedToolUser())
- user << "\red You don't have the dexterity to do this!"
- return 0
- var/title = "Sheet Reinf. Glass"
- title += " ([src.amount] sheet\s left)"
- switch(input(title, "Would you like full tile glass a one direction glass pane or a windoor?") in list("One Direction", "Full Window", "Windoor", "Cancel"))
- if("One Direction")
- if(!src) return 1
- if(src.loc != user) return 1
- var/list/directions = new/list(cardinal)
- var/i = 0
- for (var/obj/structure/window/win in user.loc)
- i++
- if(i >= 4)
- user << "\red There are too many windows in this location."
- return 1
- directions-=win.dir
- if(!(win.ini_dir in cardinal))
- user << "\red Can't let you do that."
- return 1
-
- //Determine the direction. It will first check in the direction the person making the window is facing, if it finds an already made window it will try looking at the next cardinal direction, etc.
- var/dir_to_set = 2
- for(var/direction in list( user.dir, turn(user.dir,90), turn(user.dir,180), turn(user.dir,270) ))
- var/found = 0
- for(var/obj/structure/window/WT in user.loc)
- if(WT.dir == direction)
- found = 1
- if(!found)
- dir_to_set = direction
- break
-
- var/obj/structure/window/W
- W = new /obj/structure/window/reinforced( user.loc, 1 )
- W.state = 0
- W.dir = dir_to_set
- W.ini_dir = W.dir
- W.anchored = 0
- src.use(1)
-
- if("Full Window")
- if(!src) return 1
- if(src.loc != user) return 1
- if(src.amount < 2)
- user << "\red You need more glass to do that."
- return 1
- if(locate(/obj/structure/window) in user.loc)
- user << "\red There is a window in the way."
- return 1
- var/obj/structure/window/W
- W = new /obj/structure/window/reinforced( user.loc, 1 )
- W.state = 0
- W.dir = SOUTHWEST
- W.ini_dir = SOUTHWEST
- W.anchored = 0
- src.use(2)
-
+ new created_window( user.loc, SOUTHWEST, 1 )
+ src.use(4)
if("Windoor")
+ if(!is_reinforced) return 1
+
if(!src || src.loc != user) return 1
if(isturf(user.loc) && locate(/obj/structure/windoor_assembly/, user.loc))
@@ -216,31 +127,33 @@
user << "\red You need more glass to do that."
return 1
- var/obj/structure/windoor_assembly/WD
- WD = new /obj/structure/windoor_assembly(user.loc)
- WD.state = "01"
- WD.anchored = 0
+ new /obj/structure/windoor_assembly(user.loc, user.dir, 1)
src.use(5)
- switch(user.dir)
- if(SOUTH)
- WD.dir = SOUTH
- WD.ini_dir = SOUTH
- if(EAST)
- WD.dir = EAST
- WD.ini_dir = EAST
- if(WEST)
- WD.dir = WEST
- WD.ini_dir = WEST
- else//If the user is facing northeast. northwest, southeast, southwest or north, default to north
- WD.dir = NORTH
- WD.ini_dir = NORTH
- else
- return 1
-
return 0
+/*
+ * Reinforced glass sheets
+ */
+/obj/item/stack/sheet/glass/reinforced
+ name = "reinforced glass"
+ desc = "Glass which has been reinforced with metal rods."
+ singular_name = "reinforced glass sheet"
+ icon_state = "sheet-rglass"
+
+ matter = list("metal" = 1875,"glass" = 3750)
+ origin_tech = "materials=2"
+
+ created_window = /obj/structure/window/reinforced
+ is_reinforced = 1
+ construction_options = list("One Direction", "Full Window", "Windoor")
+
+/obj/item/stack/sheet/glass/reinforced/cyborg
+ name = "reinforced glass"
+ desc = "Glass which has been reinforced with metal rods."
+ singular_name = "reinforced glass sheet"
+ icon_state = "sheet-rglass"
/*
* Phoron Glass sheets
@@ -254,9 +167,6 @@
origin_tech = "materials=3;phorontech=2"
created_window = /obj/structure/window/phoronbasic
-/obj/item/stack/sheet/glass/phoronglass/attack_self(mob/user as mob)
- construct_window(user)
-
/obj/item/stack/sheet/glass/phoronglass/attackby(obj/item/W, mob/user)
..()
if( istype(W, /obj/item/stack/rods) )
@@ -279,13 +189,11 @@
*/
/obj/item/stack/sheet/glass/phoronrglass
name = "reinforced phoron glass"
- desc = "Phoron glass which seems to have rods or something stuck in them."
+ desc = "Phoron glass which has been reinforced with metal rods."
singular_name = "reinforced phoron glass sheet"
icon_state = "sheet-phoronrglass"
matter = list("glass" = 7500,"metal" = 1875)
origin_tech = "materials=4;phorontech=2"
created_window = /obj/structure/window/phoronreinforced
-
-/obj/item/stack/sheet/glass/phoronrglass/attack_self(mob/user as mob)
- construct_window(user)
\ No newline at end of file
+ is_reinforced = 1
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 8e63a00a1e..93dd601cea 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -159,7 +159,7 @@ obj/structure/door_assembly
if(do_after(user, 40))
if(!src || !WT.isOn()) return
user << "\blue You welded the glass panel out!"
- new /obj/item/stack/sheet/rglass(src.loc)
+ new /obj/item/stack/sheet/glass/reinforced(src.loc)
glass = 0
else if(!anchored)
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
@@ -239,7 +239,7 @@ obj/structure/door_assembly
var/obj/item/stack/sheet/S = W
if (S)
if (S.get_amount() >= 1)
- if(istype(S, /obj/item/stack/sheet/rglass))
+ if(istype(S, /obj/item/stack/sheet/glass/reinforced))
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
if(do_after(user, 40) && !glass)
@@ -303,4 +303,4 @@ obj/structure/door_assembly
name = "Wired "
if(2)
name = "Near Finished "
- name += "[glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly"
\ No newline at end of file
+ name += "[glass == 1 ? "Window " : ""][istext(glass) ? "[glass] Airlock" : base_name] Assembly"
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index e1f0804c0e..6f6df201dc 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -123,8 +123,8 @@
return
//window placing begin
- else if(istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass))
- var/obj/item/stack/sheet/ST = W
+ else if(istype(W,/obj/item/stack/sheet/glass))
+ var/obj/item/stack/sheet/glass/ST = W
var/dir_to_set = 1
if(loc == user.loc)
dir_to_set = user.dir
@@ -153,16 +153,10 @@
if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting.
user << "There is already a window facing this way there."
return
+
+ var/wtype = ST.created_window
if (ST.use(1))
- var/obj/structure/window/WD
- if(istype(W, /obj/item/stack/sheet/rglass))
- WD = new/obj/structure/window/reinforced(loc) //reinforced window
- else
- WD = new/obj/structure/window/basic(loc) //normal window
- WD.dir = dir_to_set
- WD.ini_dir = dir_to_set
- WD.anchored = 0
- WD.state = 0
+ var/obj/structure/window/WD = new wtype(loc, dir_to_set, 1)
user << "You place the [WD] on [src]."
WD.update_icon()
return
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index ac2bac7e1b..915bbbf684 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -18,7 +18,6 @@ obj/structure/windoor_assembly
density = 0
dir = NORTH
- var/ini_dir
var/obj/item/weapon/airlock_electronics/electronics = null
//Vars to help with the icon's name
@@ -26,9 +25,17 @@ obj/structure/windoor_assembly
var/secure = "" //Whether or not this creates a secure windoor
var/state = "01" //How far the door assembly has progressed in terms of sprites
-obj/structure/windoor_assembly/New(dir=NORTH)
+obj/structure/windoor_assembly/New(Loc, start_dir=NORTH, constructed=0)
..()
- src.ini_dir = src.dir
+ if(constructed)
+ state = "01"
+ anchored = 0
+ switch(start_dir)
+ if(NORTH, SOUTH, EAST, WEST)
+ dir = start_dir
+ else //If the user is facing northeast. northwest, southeast, southwest or north, default to north
+ dir = NORTH
+
update_nearby_tiles(need_rebuild=1)
obj/structure/windoor_assembly/Del()
@@ -70,7 +77,7 @@ obj/structure/windoor_assembly/Del()
if(do_after(user, 40))
if(!src || !WT.isOn()) return
user << "\blue You dissasembled the windoor assembly!"
- new /obj/item/stack/sheet/rglass(get_turf(src), 5)
+ new /obj/item/stack/sheet/glass/reinforced(get_turf(src), 5)
if(secure)
new /obj/item/stack/rods(get_turf(src), 4)
del(src)
@@ -270,7 +277,6 @@ obj/structure/windoor_assembly/Del()
if(src.state != "01")
update_nearby_tiles(need_rebuild=1)
- src.ini_dir = src.dir
update_icon()
return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 4fb2c56d77..f41d8ff841 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -8,7 +8,6 @@
anchored = 1.0
flags = ON_BORDER
var/health = 14.0
- var/ini_dir = null
var/state = 2
var/reinf = 0
var/basestate
@@ -16,7 +15,6 @@
// var/silicate = 0 // number of units of silicate
// var/icon/silicateIcon = null // the silicated icon
-
/obj/structure/window/bullet_act(var/obj/item/projectile/Proj)
//Tasers and the like should not damage windows.
@@ -62,11 +60,16 @@
if(reinf) new /obj/item/stack/rods( loc)
del(src)
+//TODO: Make full windows a separate type of window.
+//Once a full window, it will always be a full window, so there's no point
+//having the same type for both.
+/obj/structure/window/proc/is_full_window()
+ return (dir == SOUTHWEST || dir == SOUTHEAST || dir == NORTHWEST || dir == NORTHEAST)
/obj/structure/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
if(istype(mover) && mover.checkpass(PASSGLASS))
return 1
- if(dir == SOUTHWEST || dir == SOUTHEAST || dir == NORTHWEST || dir == NORTHEAST)
+ if(is_full_window())
return 0 //full tile window, you can't move into it!
if(get_dir(loc, target) == dir)
return !density
@@ -255,7 +258,6 @@
dir = turn(dir, 90)
// updateSilicate()
update_nearby_tiles(need_rebuild=1)
- ini_dir = dir
return
@@ -272,7 +274,6 @@
dir = turn(dir, 270)
// updateSilicate()
update_nearby_tiles(need_rebuild=1)
- ini_dir = dir
return
@@ -292,18 +293,19 @@
*/
-/obj/structure/window/New(Loc,re=0)
+/obj/structure/window/New(Loc, start_dir=null, constructed=0)
..()
-// if(re) reinf = re
-
- ini_dir = dir
+ //player-constructed windows
+ if (constructed)
+ anchored = 0
+
+ if (start_dir)
+ dir = start_dir
update_nearby_tiles(need_rebuild=1)
update_nearby_icons()
- return
-
/obj/structure/window/Del()
density = 0
@@ -314,6 +316,7 @@
/obj/structure/window/Move()
+ var/ini_dir = dir
update_nearby_tiles(need_rebuild=1)
..()
dir = ini_dir
@@ -412,6 +415,13 @@
health = 40
reinf = 1
+/obj/structure/window/New(Loc, constructed=0)
+ ..()
+
+ //player-constructed windows
+ if (constructed)
+ state = 0
+
/obj/structure/window/reinforced/tinted
name = "tinted window"
desc = "It looks rather strong and opaque. Might take a few good hits to shatter it."
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index c529cc9154..03dd42b031 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -515,7 +515,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index df9d22c5dc..94dfb9688c 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -147,7 +147,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index c1adb74fee..222d451162 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -414,7 +414,8 @@
else
if (pulling)
if (istype(pulling, /obj/structure/window))
- if(pulling:ini_dir == NORTHWEST || pulling:ini_dir == NORTHEAST || pulling:ini_dir == SOUTHWEST || pulling:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = pulling
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(pulling,get_dir(pulling.loc, T)))
stop_pulling()
if (pulling)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index c0f813635f..9fc052fde2 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -584,7 +584,8 @@ var/list/robot_verbs_default = list(
if (!AM.anchored)
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index c22bc58c88..7ff2e96049 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -167,7 +167,7 @@
stacktypes = list(
/obj/item/stack/sheet/metal = 50,
/obj/item/stack/sheet/plasteel = 10,
- /obj/item/stack/sheet/rglass = 50,
+ /obj/item/stack/sheet/glass/reinforced = 50,
/obj/item/stack/rods = 50
)
@@ -188,7 +188,7 @@
stacktypes = list(
/obj/item/stack/sheet/metal = 50,
/obj/item/stack/sheet/glass = 50,
- /obj/item/stack/sheet/rglass = 50,
+ /obj/item/stack/sheet/glass/reinforced = 50,
/obj/item/stack/cable_coil = 50,
/obj/item/stack/rods = 15,
/obj/item/stack/tile/plasteel = 15
@@ -217,7 +217,7 @@
M.amount = 50
src.modules += M
- var/obj/item/stack/sheet/rglass/cyborg/R = new /obj/item/stack/sheet/rglass/cyborg(src)
+ var/obj/item/stack/sheet/glass/reinforced/cyborg/R = new (src)
R.amount = 50
src.modules += R
@@ -400,7 +400,7 @@
stacktypes = list(
/obj/item/stack/sheet/wood = 1,
/obj/item/stack/sheet/mineral/plastic = 1,
- /obj/item/stack/sheet/rglass = 5,
+ /obj/item/stack/sheet/glass/reinforced = 5,
/obj/item/stack/tile/wood = 5,
/obj/item/stack/rods = 15,
/obj/item/stack/tile/plasteel = 15,
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index d3aa156ea4..3abf928244 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -80,7 +80,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm
index 8c98daaa87..0cd46b7bc3 100644
--- a/code/modules/mob/living/simple_animal/friendly/corgi.dm
+++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm
@@ -351,7 +351,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/mob/living/simple_animal/friendly/slime.dm b/code/modules/mob/living/simple_animal/friendly/slime.dm
index 2a1f9f4347..9674517a4c 100644
--- a/code/modules/mob/living/simple_animal/friendly/slime.dm
+++ b/code/modules/mob/living/simple_animal/friendly/slime.dm
@@ -41,7 +41,8 @@
if (!( AM.anchored ))
var/t = get_dir(src, AM)
if (istype(AM, /obj/structure/window))
- if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST)
+ var/obj/structure/window/W = AM
+ if(W.is_full_window())
for(var/obj/structure/window/win in get_step(AM,t))
now_pushing = 0
return
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index afad2591b8..8091454024 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -230,7 +230,7 @@ var/list/solars_list = list()
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
return 1
- if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass))
+ if(istype(W, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/S = W
if(S.use(2))
glass_type = W.type
diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm
index 343e54a3bf..4861a53ffc 100644
--- a/code/modules/research/xenoarchaeology/finds/finds.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds.dm
@@ -235,7 +235,7 @@
possible_spawns += /obj/item/stack/sheet/metal
possible_spawns += /obj/item/stack/sheet/plasteel
possible_spawns += /obj/item/stack/sheet/glass
- possible_spawns += /obj/item/stack/sheet/rglass
+ possible_spawns += /obj/item/stack/sheet/glass/reinforced
possible_spawns += /obj/item/stack/sheet/mineral/phoron
possible_spawns += /obj/item/stack/sheet/mineral/gold
possible_spawns += /obj/item/stack/sheet/mineral/silver
diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm
index c0ae3196ca..09a0207ec6 100644
--- a/code/unused/hivebot/hive_modules.dm
+++ b/code/unused/hivebot/hive_modules.dm
@@ -48,7 +48,7 @@
M.amount = 50
src.modules += M
- var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass(src)
+ var/obj/item/stack/sheet/glass/reinforced/G = new (src)
G.amount = 50
src.modules += G
diff --git a/code/unused/mining/machine_craftlathe_unused.dm b/code/unused/mining/machine_craftlathe_unused.dm
index 0607c14632..564e3a1f71 100644
--- a/code/unused/mining/machine_craftlathe_unused.dm
+++ b/code/unused/mining/machine_craftlathe_unused.dm
@@ -170,7 +170,7 @@ proc/check_craftlathe_recipe(var/list/param_recipe)
CRAFT_ITEMS += new/datum/craftlathe_item("METAL","Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/metal)
CRAFT_ITEMS += new/datum/craftlathe_item("R METAL","Reinforced Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/r_metal)
CRAFT_ITEMS += new/datum/craftlathe_item("GLASS","Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass)
- CRAFT_ITEMS += new/datum/craftlathe_item("R GLASS","Reinforced Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/rglass)
+ CRAFT_ITEMS += new/datum/craftlathe_item("R GLASS","Reinforced Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass/reinforced)
CRAFT_ITEMS += new/datum/craftlathe_item("GOLD","Gold",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/gold)
CRAFT_ITEMS += new/datum/craftlathe_item("SILVER","Silver",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/silver)
CRAFT_ITEMS += new/datum/craftlathe_item("DIAMOND","Diamond",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/diamond)
@@ -230,4 +230,4 @@ proc/check_craftlathe_recipe(var/list/param_recipe)
- return
\ No newline at end of file
+ return