Buff regular windows more and place them on Metastation (#69246)

The feedback on the previous version of this PR made me realize that the windows weren't buffed enough to be seen as actual companions to regular walls. This PR buffs the windows to the level that the old reinforced windows were. They have 50 melee armor, take 14 hits to destroy and deconstruction consists of screwdriver -> crowbar -> screwdriver

This pull request changes all reinforced windows in low security areas on Metasation with regular windows.

Areas with normal walls that still have reinforced windows:
Arrivals
Departures
Security stations

Because the regular windows are buffed so much in this PR they are arguably stronger than the regular walls (its easier to smash the windows, but the walls take less tool time) so I don't really see any reason to not place this on almost every place with regular walls
This commit is contained in:
Vincent
2022-08-30 23:42:27 +02:00
committed by GitHub
parent 90dcd591f9
commit 8167a0cd9f
2 changed files with 1952 additions and 1897 deletions
+61 -25
View File
@@ -10,7 +10,7 @@
max_integrity = 50
can_be_unanchored = TRUE
resistance_flags = ACID_PROOF
armor = list(MELEE = 30, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100)
armor = list(MELEE = 50, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 80, ACID = 100)
can_atmos_pass = ATMOS_PASS_PROC
rad_insulation = RAD_VERY_LIGHT_INSULATION
pass_flags_self = PASSGLASS
@@ -36,20 +36,16 @@
/obj/structure/window/examine(mob/user)
. = ..()
if(reinf)
if(anchored && state == WINDOW_SCREWED_TO_FRAME)
switch(state)
if(WINDOW_SCREWED_TO_FRAME)
. += span_notice("The window is <b>screwed</b> to the frame.")
else if(anchored && state == WINDOW_IN_FRAME)
if(WINDOW_IN_FRAME)
. += span_notice("The window is <i>unscrewed</i> but <b>pried</b> into the frame.")
else if(anchored && state == WINDOW_OUT_OF_FRAME)
. += span_notice("The window is out of the frame, but could be <i>pried</i> in. It is <b>screwed</b> to the floor.")
else if(!anchored)
. += span_notice("The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.")
else
if(anchored)
. += span_notice("The window is <b>screwed</b> to the floor.")
else
. += span_notice("The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.")
if(WINDOW_OUT_OF_FRAME)
if (anchored)
. += span_notice("The window is <b>screwed</b> to the floor.")
else
. += span_notice("The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.")
/obj/structure/window/Initialize(mapload, direct)
. = ..()
@@ -58,6 +54,9 @@
if(reinf && anchored)
state = RWINDOW_SECURE
if(!reinf && anchored)
state = WINDOW_SCREWED_TO_FRAME
air_update_turf(TRUE, TRUE)
if(fulltile)
@@ -200,12 +199,31 @@
return TOOL_ACT_TOOLTYPE_SUCCESS
/obj/structure/window/screwdriver_act(mob/living/user, obj/item/tool)
if((flags_1 & NODECONSTRUCT_1) || (reinf && state >= RWINDOW_FRAME_BOLTED))
if(flags_1 & NODECONSTRUCT_1)
return
to_chat(user, span_notice("You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor..."))
if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_anchored, anchored)))
set_anchored(!anchored)
to_chat(user, span_notice("You [anchored ? "fasten the window to":"unfasten the window from"] the floor."))
switch(state)
if(WINDOW_SCREWED_TO_FRAME)
to_chat(user, span_notice("You begin to unscrew the window from the frame..."))
if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
state = WINDOW_IN_FRAME
to_chat(user, span_notice("You unfasten the window from the frame."))
if(WINDOW_IN_FRAME)
to_chat(user, span_notice("You begin to screw the window to the frame..."))
if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
state = WINDOW_SCREWED_TO_FRAME
to_chat(user, span_notice("You fasten the window to the frame."))
if(WINDOW_OUT_OF_FRAME)
if(anchored)
to_chat(user, span_notice("You begin to unscrew the frame from the floor..."))
if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
set_anchored(FALSE)
to_chat(user, span_notice("You unfasten the frame from the floor."))
else
to_chat(user, span_notice("You begin to screw the frame from to floor..."))
if(tool.use_tool(src, user, decon_speed, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
set_anchored(TRUE)
to_chat(user, span_notice("You fasten the frame to the floor."))
return TOOL_ACT_TOOLTYPE_SUCCESS
/obj/structure/window/wrench_act(mob/living/user, obj/item/tool)
@@ -226,14 +244,21 @@
return TOOL_ACT_TOOLTYPE_SUCCESS
/obj/structure/window/crowbar_act(mob/living/user, obj/item/tool)
if(!anchored || !reinf)
if(!anchored || (flags_1 & NODECONSTRUCT_1))
return FALSE
if((flags_1 & NODECONSTRUCT_1) || (state != WINDOW_OUT_OF_FRAME))
return FALSE
to_chat(user, span_notice("You begin to lever the window into the frame..."))
if(tool.use_tool(src, user, 10 SECONDS, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
state = RWINDOW_SECURE
to_chat(user, span_notice("You pry the window into the frame."))
switch(state)
if(WINDOW_IN_FRAME)
to_chat(user, span_notice("You begin to lever the window out of the frame..."))
if(tool.use_tool(src, user, 10 SECONDS, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
state = WINDOW_OUT_OF_FRAME
to_chat(user, span_notice("You pry the window out of the frame."))
if(WINDOW_OUT_OF_FRAME)
to_chat(user, span_notice("You begin to lever the window back into the frame..."))
if(tool.use_tool(src, user, 5 SECONDS, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
state = WINDOW_SCREWED_TO_FRAME
to_chat(user, span_notice("You pry the window back into the frame."))
return TOOL_ACT_TOOLTYPE_SUCCESS
/obj/structure/window/attackby(obj/item/I, mob/living/user, params)
@@ -474,6 +499,17 @@
return ..()
/obj/structure/window/reinforced/crowbar_act(mob/living/user, obj/item/tool)
if(!anchored)
return FALSE
if((flags_1 & NODECONSTRUCT_1) || (state != WINDOW_OUT_OF_FRAME))
return FALSE
to_chat(user, span_notice("You begin to lever the window back into the frame..."))
if(tool.use_tool(src, user, 10 SECONDS, volume = 75, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
state = RWINDOW_SECURE
to_chat(user, span_notice("You pry the window back into the frame."))
return TOOL_ACT_TOOLTYPE_SUCCESS
/obj/structure/window/proc/cool_bolts()
if(state == RWINDOW_BOLTS_HEATED)
state = RWINDOW_SECURE