mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 15:14:27 +01:00
First commit of liquid simulation stuff
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user