diff --git a/code/game/machinery/autolathe_datums.dm b/code/game/machinery/autolathe_datums.dm
index 04ce0401628..b94f42d0c6f 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 5e3c29996f1..259012f4dbc 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 c1126464f56..3111545aecc 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 8e63a00a1e4..93dd601cea2 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 e1f0804c0e9..6f6df201dc1 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 ac2bac7e1bb..915bbbf684c 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 4fb2c56d77e..f41d8ff841a 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 c529cc9154d..03dd42b0310 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 df9d22c5dc2..94dfb9688c8 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 c1adb74feee..222d4511620 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 c0f813635f0..9fc052fde26 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 c22bc58c88a..7ff2e960490 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 d3aa156ea4b..3abf928244c 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 8c98daaa872..0cd46b7bc3c 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 2a1f9f43470..9674517a4ce 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 afad2591b81..8091454024f 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 343e54a3bf3..4861a53ffc5 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 c0ae3196ca9..09a0207ec61 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 0607c14632f..564e3a1f715 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