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)