Some nice fixes for ZAS.

This commit is contained in:
SkyMarshal
2012-06-07 10:36:43 -07:00
parent 6265a600e3
commit d9fd228c68
4 changed files with 17 additions and 19 deletions

View File

@@ -59,13 +59,17 @@ vs_control/var
airflow_damage = 0.3
airflow_stun = 0.15
airflow_speed_decay = 1
airflow_delay = 25 //Time in deciseconds before they can be moved by airflow again.
airflow_delay = 35 //Time in deciseconds before they can be moved by airflow again.
airflow_mob_slowdown = 3 //Time in tenths of a second to add as a delay to each movement by a mob.\
Only active if they are fighting the pull of the airflow.
airflow_stun_cooldown = 10 //How long, in tenths of a second, to wait before stunning them again.
mob/var/last_airflow_stun = 0
mob/proc/airflow_stun()
if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0
if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
weakened = max(weakened,5)
last_airflow_stun = world.time
mob/living/silicon/airflow_stun()
return
@@ -74,6 +78,7 @@ mob/living/carbon/metroid/airflow_stun()
return
mob/living/carbon/human/airflow_stun()
if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0
if(buckled) return 0
if(wear_suit)
if(wear_suit.flags & SUITSPACE) return 0
@@ -81,6 +86,7 @@ mob/living/carbon/human/airflow_stun()
if(shoes.flags & NOSLIP) return 0
if(weakened <= 0) src << "\red The sudden rush of air knocks you over!"
weakened = max(weakened,rand(1,2))
last_airflow_stun = world.time
atom/movable/proc/check_airflow_movable(n)

View File

@@ -105,7 +105,7 @@ connection
A.zone.connected_zones -= B.zone
if(A.zone.connected_zones && !A.zone.connected_zones.len)
A.zone.connected_zones = null
if( zone_B && (!B.zone && zone_B != B.zone) )
if( zone_B && (!B.zone || zone_B != B.zone) )
if(zone_B in A.zone.connected_zones)
if(A.zone.connected_zones[zone_B] > 1)
A.zone.connected_zones[zone_B]--
@@ -122,7 +122,7 @@ connection
zone_A.connected_zones -= B.zone
if(zone_A.connected_zones && !zone_A.connected_zones.len)
zone_A.connected_zones = null
if( zone_B && (!B.zone && zone_B != B.zone) )
if( zone_B && (!B.zone || zone_B != B.zone) )
if(zone_B in zone_A.connected_zones)
if(zone_A.connected_zones[zone_B] > 1)
zone_A.connected_zones[zone_B]--
@@ -139,7 +139,7 @@ connection
B.zone.connected_zones -= A.zone
if(B.zone.connected_zones && !B.zone.connected_zones.len)
B.zone.connected_zones = null
if( zone_A && (!A.zone && zone_A != A.zone) )
if( zone_A && (!A.zone || zone_A != A.zone) )
if(zone_A in B.zone.connected_zones)
if(B.zone.connected_zones[zone_A] > 1)
B.zone.connected_zones[zone_A]--
@@ -156,7 +156,7 @@ connection
zone_B.connected_zones -= A.zone
if(zone_B.connected_zones && !zone_B.connected_zones.len)
zone_B.connected_zones = null
if( zone_A && (!A.zone && zone_A != A.zone) )
if( zone_A && (!A.zone || zone_A != A.zone) )
if(zone_A in zone_B.connected_zones)
if(zone_B.connected_zones[zone_A] > 1)
zone_B.connected_zones[zone_A]--

View File

@@ -1552,13 +1552,13 @@ proc/listclearnulls(list/list)
for(var/turf/simulated/T1 in toupdate)
for(var/obj/machinery/door/D2 in T1)
doors += D2
air_master.tiles_to_update += T1
air_master.tiles_to_update |= T1
if(fromupdate.len)
for(var/turf/simulated/T2 in fromupdate)
for(var/obj/machinery/door/D2 in T2)
doors += D2
air_master.tiles_to_update += T2
air_master.tiles_to_update |= T2
for(var/obj/O in doors)
O:update_nearby_tiles(1)

View File

@@ -69,18 +69,10 @@ var/list/supply_groups = new()
name = "\improper Airtight plastic flaps"
desc = "Heavy duty, airtight, plastic flaps."
New() //set the turf below the flaps to block air
var/turf/T = get_turf(src.loc)
if(T)
T.blocks_air = 1
..()
Del() //lazy hack to set the turf to allow air to pass if it's a simulated floor
var/turf/T = get_turf(src.loc)
if(T)
if(istype(T, /turf/simulated/floor))
T.blocks_air = 0
..()
CanPass(atom/A, turf/T, height = 0, air_group = 0)
if(!istype(A))
return 0
return ..()
/area/supplyshuttle
name = "Supply Shuttle"