mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-04 06:22:14 +00:00
map with water piping, bugfixes, optimizations
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
var/obj/parent
|
||||
|
||||
update_icon()
|
||||
icon_state = "intact[invisibility ? "-f" : "" ]"
|
||||
icon_state = "fixture[invisibility ? "-f" : "" ]"
|
||||
|
||||
hide(var/i)
|
||||
if(level == 1 && istype(loc, /turf/simulated))
|
||||
|
||||
@@ -100,6 +100,7 @@ obj/machinery/water/trinary/filter
|
||||
hide(var/i)
|
||||
if(level == 1 && istype(loc, /turf/simulated))
|
||||
invisibility = i ? 101 : 0
|
||||
density = !i
|
||||
update_icon()
|
||||
|
||||
initialize()
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
overlays = new()
|
||||
if(connected_device)
|
||||
overlays += "inserted[icon_type]"
|
||||
overlays += "inserted"
|
||||
|
||||
if(connected_device.reagents.total_volume)
|
||||
var/obj/effect/overlay = new/obj
|
||||
@@ -209,4 +209,5 @@
|
||||
|
||||
/obj/machinery/water/glass_connector/wall
|
||||
icon_state = "intact-w"
|
||||
icon_type = "-w"
|
||||
icon_type = "-w"
|
||||
density = 0
|
||||
@@ -89,21 +89,35 @@ var/global/list/datum/water/pipe_network/water_pipe_networks = list()
|
||||
reagents_transient = new(0)
|
||||
reagents_transient.my_atom = new/obj()
|
||||
|
||||
// it's more efficient to avoid .add_reagent, etc more then once per reagent type
|
||||
for(var/datum/reagents/R in reagents)
|
||||
// add in each reagents
|
||||
reagents_transient.maximum_volume += R.maximum_volume
|
||||
R.copy_to(reagents_transient, R.total_volume)
|
||||
|
||||
for (var/datum/reagent/re in R.reagent_list)
|
||||
var/datum/reagent/rr = reagents_transient.has_reagent(re.id)
|
||||
if(!rr)
|
||||
reagents_transient.add_reagent(re.id, re.volume, re.data)
|
||||
else
|
||||
rr.volume += re.volume
|
||||
reagents_transient.update_total()
|
||||
|
||||
if(reagents_transient.total_volume > 0)
|
||||
update = 1
|
||||
|
||||
//Update individual reagents by volume ratio
|
||||
for(var/datum/reagents/R in reagents)
|
||||
R.clear_reagents()
|
||||
for(var/datum/reagent/re in reagents_transient.reagent_list)
|
||||
R.add_reagent(re.id, re.volume \
|
||||
* R.maximum_volume \
|
||||
/ reagents_transient.maximum_volume)
|
||||
var/datum/reagent/rr = R.has_reagent(re.id)
|
||||
if(!rr)
|
||||
R.add_reagent(re.id, re.volume \
|
||||
* R.maximum_volume \
|
||||
/ reagents_transient.maximum_volume, re.data)
|
||||
else
|
||||
rr.volume = re.volume \
|
||||
* R.maximum_volume \
|
||||
/ reagents_transient.maximum_volume
|
||||
R.update_total()
|
||||
return 1
|
||||
|
||||
proc/return_pressure_transient()
|
||||
@@ -181,20 +195,31 @@ proc/equalize_reagents(var/list/datum/reagents/reagents)
|
||||
var/datum/reagents/reagents_transient = new(0)
|
||||
reagents_transient.my_atom = new/obj()
|
||||
|
||||
// it's more efficient to avoid .add_reagent, etc more then once per reagent type
|
||||
for(var/datum/reagents/R in reagents)
|
||||
// add in each reagent
|
||||
// add in each reagents
|
||||
reagents_transient.maximum_volume += R.maximum_volume
|
||||
R.copy_to(reagents_transient, R.total_volume)
|
||||
|
||||
//Allow reagents to react
|
||||
reagents_transient.handle_reactions()
|
||||
for (var/datum/reagent/re in R.reagent_list)
|
||||
var/datum/reagent/rr = reagents_transient.has_reagent(re.id)
|
||||
if(!rr)
|
||||
reagents_transient.add_reagent(re.id, re.volume, re.data)
|
||||
else
|
||||
rr.volume += re.volume
|
||||
reagents_transient.update_total()
|
||||
|
||||
if(reagents_transient.total_volume > 0)
|
||||
//Update individual reagents by volume ratio
|
||||
for(var/datum/reagents/R in reagents)
|
||||
R.clear_reagents()
|
||||
for(var/datum/reagent/re in reagents_transient.reagent_list)
|
||||
R.add_reagent(re.id, re.volume \
|
||||
* R.maximum_volume \
|
||||
/ reagents_transient.maximum_volume)
|
||||
var/datum/reagent/rr = R.has_reagent(re.id)
|
||||
if(!rr)
|
||||
R.add_reagent(re.id, re.volume \
|
||||
* R.maximum_volume \
|
||||
/ reagents_transient.maximum_volume, re.data)
|
||||
else
|
||||
rr.volume = re.volume \
|
||||
* R.maximum_volume \
|
||||
/ reagents_transient.maximum_volume
|
||||
R.update_total()
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user