Merge branch 'dev-freeze' into dev

Conflicts:
	html/changelog.html
	maps/tgstation2.dmm
This commit is contained in:
Chinsky
2013-10-10 14:37:41 +04:00
9 changed files with 74 additions and 43 deletions
-3
View File
@@ -6,9 +6,6 @@ Indirect connections will not merge the two zones after they reach equilibrium.
#define CONNECTION_INDIRECT 1
#define CONNECTION_CLOSED 0
#define ZONE_ACTIVE 1
#define ZONE_SLEEPING 0
/connection
var/turf/simulated/A
var/turf/simulated/B
-4
View File
@@ -50,12 +50,8 @@ Important Procedures
air_master.process()
This first processes the air_master update/rebuild lists then processes all groups and tiles for air calculations
*/
#define ZONE_ACTIVE 1
#define ZONE_SLEEPING 0
var/tick_multiplier = 2
atom/proc/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
+6 -10
View File
@@ -80,7 +80,7 @@ obj
if(firelevel > vsc.IgnitionLevel)
var/turf/simulated/floor/S = loc
if(!S.zone) src.gc_del() //Cannot exist where zones are broken.
if(!S.zone) del src //Cannot exist where zones are broken.
if(istype(S))
var
@@ -139,17 +139,17 @@ obj
else
src.gc_del()
del src
S.assume_air(flow) //Then put it back where you found it.
else
src.gc_del()
del src
else
src.gc_del()
del src
else
src.gc_del()
del src
for(var/mob/living/carbon/human/M in loc)
@@ -160,17 +160,13 @@ obj
..()
if(!istype(loc, /turf))
src.gc_del()
del src
dir = pick(cardinal)
//sd_SetLuminosity(3,2,0)
firelevel = fl
air_master.active_hotspots.Add(src)
proc/gc_del()
loc = null
air_master.active_hotspots.Remove(src)
Del()
if (istype(loc, /turf/simulated))
//sd_SetLuminosity(0)
+16 -6
View File
@@ -43,6 +43,8 @@
/turf/simulated/var/tmp/air_check_directions = 0 //Do not modify this, just add turf to air_master.tiles_to_update
/turf/simulated/var/tmp/unsim_check_directions = 0 //See above.
/turf/simulated/var/tmp/obj/fire/active_hotspot
/turf/simulated/proc/update_visuals()
@@ -128,9 +130,16 @@
var/air_directions_archived = air_check_directions
air_check_directions = 0
var/unsim_directions_archived = unsim_check_directions
unsim_check_directions = 0
for(var/direction in cardinal)
if(ZAirPass(get_step(src,direction)))
air_check_directions |= direction
var/turf/check_turf = get_step(src, direction)
if(ZAirPass(check_turf))
if(istype(check_turf, /turf/simulated))
air_check_directions |= direction
else if(istype(check_turf, /turf/space) || istype(check_turf, /turf/unsimulated))
unsim_check_directions |= direction
if(!zone && !blocks_air) //No zone, but not a wall.
for(var/direction in DoorDirections) //Check door directions first.
@@ -166,13 +175,14 @@
if(!istype(T))
continue
//I can connect to air in this direction
if(air_check_directions & direction && !(air_directions_archived & direction))
//I can connect to air or space in this direction
if((air_check_directions & direction && !(air_directions_archived & direction)) || \
(unsim_check_directions & direction && !(unsim_directions_archived & direction)))
ZConnect(src,T)
//Something like a wall was built, changing the geometry.
else if(!(air_check_directions & direction) && air_directions_archived & direction)
else if((!(air_check_directions & direction) && air_directions_archived & direction) || \
(!(unsim_check_directions & direction) && unsim_directions_archived & direction))
var/turf/NT = get_step(T, direction)
//If the tile is in our own zone, and we cannot connect to it, better rebuild.
+3
View File
@@ -326,6 +326,9 @@ var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs
archived_air.copy_from(air)
/zone/proc/CheckStatus()
return status
/zone/proc/assume_air(var/datum/gas_mixture/giver)
if(status == ZONE_ACTIVE)
return air.merge(giver)
+15 -6
View File
@@ -70,6 +70,7 @@
power_change()
if(powered(ENVIRON))
stat &= ~NOPOWER
latetoggle()
else
stat |= NOPOWER
return
@@ -197,19 +198,27 @@
nextstate = CLOSED
process()
latetoggle()
if(operating || stat & NOPOWER || !nextstate)
return
switch(nextstate)
if(OPEN)
spawn()
open()
nextstate = null
open()
if(CLOSED)
spawn()
close()
nextstate = null
nextstate = null
close()
return
open()
..()
latetoggle()
return
close()
..()
latetoggle()
return
do_animate(animation)
switch(animation)
+21 -14
View File
@@ -203,8 +203,15 @@
var/old_lumcount = lighting_lumcount - initial(lighting_lumcount)
if(ispath(N, /turf/simulated/floor))
//if the old turf had a zone, connect the new turf to it as well - Cael
//Adjusted by SkyMarshal 5/10/13 - The air master will handle the addition of the new turf.
if(zone)
zone.RemoveTurf(src)
if(!zone.CheckStatus())
zone.SetStatus(ZONE_ACTIVE)
var/turf/simulated/W = new N( locate(src.x, src.y, src.z) )
W.Assimilate_Air()
//W.Assimilate_Air()
W.lighting_lumcount += old_lumcount
if(old_lumcount != W.lighting_lumcount)
@@ -214,20 +221,17 @@
if (istype(W,/turf/simulated/floor))
W.RemoveLattice()
//if the old turf had a zone, connect the new turf to it as well - Cael
if(src.zone)
src.zone.RemoveTurf(src)
W.zone = src.zone
W.zone.AddTurf(W)
if(air_master)
air_master.AddTurfToUpdate(src)
W.levelupdate()
return W
else
/*if(istype(src, /turf/simulated) && src.zone)
src.zone.rebuild = 1*/
if(zone)
zone.RemoveTurf(src)
if(!zone.CheckStatus())
zone.SetStatus(ZONE_ACTIVE)
var/turf/W = new N( locate(src.x, src.y, src.z) )
W.lighting_lumcount += old_lumcount
@@ -235,18 +239,19 @@
W.lighting_changed = 1
lighting_controller.changed_turfs += W
if(src.zone)
src.zone.RemoveTurf(src)
W.zone = src.zone
W.zone.AddTurf(W)
if(air_master)
air_master.AddTurfToUpdate(src)
W.levelupdate()
return W
//Commented out by SkyMarshal 5/10/13 - If you are patching up space, it should be vacuum.
// If you are replacing a wall, you have increased the volume of the room without increasing the amount of gas in it.
// As such, this will no longer be used.
//////Assimilate Air//////
/*
/turf/simulated/proc/Assimilate_Air()
var/aoxy = 0//Holders to assimilate air from nearby turfs
var/anitro = 0
@@ -290,6 +295,8 @@
S.air.toxins = air.toxins
S.air.temperature = air.temperature
S.air.update_values()
*/
/turf/proc/ReplaceWithLattice()
src.ChangeTurf(/turf/space)
+4
View File
@@ -737,3 +737,7 @@ var/list/RESTRICTED_CAMERA_NETWORKS = list( //Those networks can only be accesse
//Language flags.
#define WHITELISTED 1 // Language is available if the speaker is whitelisted.
#define RESTRICTED 2 // Language can only be accquired by spawning or an admin.
//Flags for zone sleeping
#define ZONE_ACTIVE 1
#define ZONE_SLEEPING 0
+9
View File
@@ -95,6 +95,15 @@ should be listed in the changelog upon commit though. Thanks. -->
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>18 September 2013</h2>
<h3 class='author'>Kilakk updated:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>Fax machines! The Captain and IA agents can use the fax machine to send properly formatted messages to Central Command.</li>
<li class='imageadd'>Gave the fax machine a fancy animated sprite. Thanks Cajoes!</li>
</ul>
</div>
<div class="commit sansserif">
<h2 class="date">August 8th, 2013</h2>
<h3 class="author">Erthilo updated:</h3>