First commit of liquid simulation stuff

This commit is contained in:
ZomgPonies
2014-05-23 14:31:29 -04:00
parent 6faa9e3be9
commit fac32af2f1
3 changed files with 26 additions and 5 deletions
+15 -1
View File
@@ -26,6 +26,7 @@ datum/controller/game_controller
var/powernets_cost = 0
var/nano_cost = 0
var/events_cost = 0
var/puddles_cost
var/ticker_cost = 0
var/gc_cost = 0
var/total_cost = 0
@@ -214,6 +215,11 @@ datum/controller/game_controller/proc/process()
processEvents()
events_cost = (world.timeofday - timer) / 10
//PUDDLES
timer = world.timeofday
processPuddles()
puddles_cost = (world.timeofday - timer) / 10
//TICKER
timer = world.timeofday
last_thing_processed = ticker.type
@@ -227,7 +233,7 @@ datum/controller/game_controller/proc/process()
gc_cost = (world.timeofday - timer) / 10
//TIMING
total_cost = air_cost + sun_cost + mobs_cost + diseases_cost + machines_cost + objects_cost + networks_cost + powernets_cost + nano_cost + events_cost + ticker_cost + gc_cost
total_cost = air_cost + sun_cost + mobs_cost + diseases_cost + machines_cost + objects_cost + networks_cost + powernets_cost + nano_cost + events_cost + puddles_cost + ticker_cost + gc_cost
var/end_time = world.timeofday
if(end_time < start_time)
@@ -318,6 +324,14 @@ datum/controller/game_controller/proc/process()
checkEvent()
/datum/controller/game_controller/proc/processPuddles()
last_thing_processed = /datum/puddle
for (var/datum/puddle/Puddle in puddles)
if (Puddle)
Puddle.process()
continue
datum/controller/game_controller/proc/Recover() //Mostly a placeholder for now.
var/msg = "## DEBUG: [time2text(world.timeofday)] MC restarted. Reports:\n"
for(var/varname in master_controller.vars)
+11 -4
View File
@@ -74,7 +74,7 @@ obj/effect/liquid/proc/spread()
//world << "DEBUG: liquid spread!"
var/surrounding_volume = 0
var/list/spread_directions = list(1,2,4,8)
var/turf/loc_turf = loc
var/turf/loc_turf = get_turf(src)
for(var/direction in spread_directions)
var/turf/T = get_step(src,direction)
if(!T)
@@ -137,24 +137,31 @@ obj/effect/liquid/Destroy()
obj/effect/liquid/proc/update_icon2()
//icon_state = num2text( max(1,min(7,(floor(volume),10)/10)) )
overlays = null
switch(volume)
if(0 to 0.1)
if(0 to 0.2)
del(src)
if(0.1 to 5)
if(0.2 to 5)
icon_state = "1"
overlays += image('icons/effects/liquid.dmi', src , "1-1", 5)
if(5 to 10)
icon_state = "2"
overlays += image('icons/effects/liquid.dmi', src , "2-1", 5)
if(10 to 20)
icon_state = "3"
overlays += image('icons/effects/liquid.dmi', src , "3-1", 5)
if(20 to 30)
icon_state = "4"
overlays += image('icons/effects/liquid.dmi', src , "4-1", 5)
if(30 to 40)
icon_state = "5"
overlays += image('icons/effects/liquid.dmi', src , "5-1", 5)
if(40 to 50)
icon_state = "6"
overlays += image('icons/effects/liquid.dmi', src , "6-1", 5)
if(50 to INFINITY)
icon_state = "7"
layer = 5
turf/proc/can_accept_liquid(from_direction)
return 0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB