diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index 2d1b72b89db..a00900fd35a 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -59,11 +59,14 @@ vs_control/var airflow_medium_pressure_NAME = "Airflow - Heavy Movement Threshold %" airflow_medium_pressure_DESC = "Percent of 1 Atm. at which items with the largest weight classes will move." airflow_heavy_pressure = 95 - airflow_heavy_pressure_NAME = "Airflow - Dense Movement Threshold %" - airflow_heavy_pressure_DESC = "Percent of 1 Atm. at which items with canisters and closets will move." - airflow_heaviest_pressure = 100 - airflow_heaviest_pressure_NAME = "Airflow - Mob Stunning Threshold %" - airflow_heaviest_pressure_DESC = "Percent of 1 Atm. at which mobs will be stunned by airflow." + airflow_heavy_pressure_NAME = "Airflow - Mob Movement Threshold %" + airflow_heavy_pressure_DESC = "Percent of 1 Atm. at which mobs will move." + airflow_dense_pressure = 120 + airflow_dense_pressure_NAME = "Airflow - Dense Movement Threshold %" + airflow_dense_pressure_DESC = "Percent of 1 Atm. at which items with canisters and closets will move." + airflow_stun_pressure = 100 + airflow_stun_pressure_NAME = "Airflow - Mob Stunning Threshold %" + airflow_stun_pressure_DESC = "Percent of 1 Atm. at which mobs will be stunned by airflow." airflow_stun_cooldown = 60 airflow_stun_cooldown_NAME = "Aiflow Stunning - Cooldown" airflow_stun_cooldown_DESC = "How long, in tenths of a second, to wait before stunning them again." @@ -113,10 +116,15 @@ atom/movable/proc/check_airflow_movable(n) if(anchored && !ismob(src)) return 0 - if(!istype(src,/obj/item) && n < vsc.airflow_heavy_pressure) return 0 + if(!istype(src,/obj/item) && n < vsc.airflow_dense_pressure) return 0 return 1 +mob/check_airflow_movable(n) + if(n < vsc.airflow_heavy_pressure) + return 0 + return 1 + mob/dead/observer/check_airflow_movable() return 0 @@ -172,7 +180,7 @@ proc/Airflow(zone/A,zone/B) if(M.last_airflow > world.time - vsc.airflow_delay) continue //Check for knocking people over - if(ismob(M) && n > vsc.airflow_heaviest_pressure) + if(ismob(M) && n > vsc.airflow_stun_pressure) if(M:nodamage) continue M:airflow_stun() @@ -230,7 +238,7 @@ proc/AirflowSpace(zone/A) if(M.last_airflow > world.time - vsc.airflow_delay) continue - if(ismob(M) && n > vsc.airflow_medium_pressure) + if(ismob(M) && n > vsc.airflow_stun_pressure) if(M:nodamage) continue M:airflow_stun() diff --git a/code/ZAS/Creation.dm b/code/ZAS/Creation.dm index b283cd56d43..baa83bfe370 100644 --- a/code/ZAS/Creation.dm +++ b/code/ZAS/Creation.dm @@ -35,6 +35,7 @@ zone for(var/turf/simulated/T in contents) if(T.zone && T.zone == src) T.zone = null + air_master.tiles_to_update |= T for(var/zone/Z in connected_zones) if(src in Z.connected_zones) Z.connected_zones.Remove(src) diff --git a/code/ZAS/FEA_turf_tile.dm b/code/ZAS/FEA_turf_tile.dm index 177afbc9de1..76a9b4e7013 100644 --- a/code/ZAS/FEA_turf_tile.dm +++ b/code/ZAS/FEA_turf_tile.dm @@ -205,7 +205,7 @@ turf if(!CanPass(null, T, 1.5, 1) && CanPass(src, T, 0, 0)) //Normally would block it, instead lets make a connection to it. if(zone) zone.AddSpace(T) - else if(!CanPass(src, T, 0, 0)) //I block the air, disconnect from it if connected. + else if(!CanPass(src, T, 0, 0) || !CanPass(T, src, 0, 0)) //I block the air or it blocks air, disconnect from it if connected. if(zone && T in zone.space_tiles) zone.RemoveSpace(T) else if(zone) diff --git a/code/ZAS/Variable Settings.dm b/code/ZAS/Variable Settings.dm index c83008d72d3..56dd21a9e21 100644 --- a/code/ZAS/Variable Settings.dm +++ b/code/ZAS/Variable Settings.dm @@ -49,9 +49,12 @@ vs_control proc/ChangeSetting(mob/user,ch) var/vw var/how = "Text" + var/display_description = ch if(ch in plc.settings) vw = plc.vars[ch] - if("[ch]_METHOD" in vars) + if("[ch]_NAME" in plc.vars) + display_description = plc.vars["[ch]_NAME"] + if("[ch]_METHOD" in plc.vars) how = plc.vars["[ch]_METHOD"] else if(isnum(vw)) @@ -60,6 +63,8 @@ vs_control how = "Text" else vw = vars[ch] + if("[ch]_NAME" in vars) + display_description = vars["[ch]_NAME"] if("[ch]_METHOD" in vars) how = vars["[ch]_METHOD"] else @@ -91,7 +96,7 @@ vs_control vars[ch] = vw if(how == "Toggle") newvar = (newvar?"ON":"OFF") - world << "\blue [key_name(user)] changed the setting [ch] to [newvar]." + world << "\blue [key_name(user)] changed the setting [display_description] to [newvar]." //user << "[which] has been changed to [newvar]." if(ch in plc.settings) ChangeSettingsDialog(user,plc.settings)