46
DF Suggestions / Re: The Fluid Body: A theory for hydro physics in Dwarf Fortress
« on: September 05, 2016, 09:36:46 pm »
MORE SCIENCE!
This time with accidental dwarf drowning~
Upon re-embarking to my test fortress, all of those fresh water tiles sitting adjacent to the salt water ones became salt water again. The only ones that did not were the water tiles sitting directly inside the aquifer I had mined out. Seems to imply that for each tile, there's some kind of trigger that switches it from containing 'salt' water and 'fresh' water, and that flag reloads upon map load. As for why it managed to over-write with salt water, probably has something to do with the tile type and its connection to open ocean. All tiles on Conglomerate turned salty, and all tiles on Dolomite turned fresh. When I separated some fresh water using a floodgate, it still become salty upon re-entry. Probably means its tile-dependant.
This definitely leads me to believe when salt water flows onto a tile that spawns regular water, it triggers it to be a 'salt' tile, and vice versa for when regular water flows onto a tile that naturally spawns salt water. These values are refreshed upon map reload, so water can spontaneously alter its salt content.
Stagnant water appears to do a similar thing and just become regular water when the map is re-loaded, even when its sitting on a murky tile. I'm assuming it only remains stagnant if the pool itself is unbroken. Curiously, this implies the check for stagnant water is not a cellular one, but rather examines the entire pool of water before assigning whether the water is stagnant.
So if you want a pool of always-fresh water, just channel out a single tile adjacent to a stagnant water source, then save and reload - BAM! The water is perfectly pure~
Water purification is so easy.
EDIT: This only appears to happen on ocean zones.
Also fun- DROWNING!
I made a small, functioning fortress at the beach, complete with a little fresh water well that dug into an aquifer. However, upon reloading, several levels of my fortress spontaneous filled with water and ended up drowning a few of my dwarves. It shouldn't have had the pressure to rise up the single z tile to the well, so that couldn't be the case. So what was it?
After examining the after-effects, I think I know what happened and I believe it's a quirk of salt water/ocean tiles. Whenever the map reloaded, any tile that was designated as naturally salt-containing and contained any amount of salt water resulting in it filling up to a 7/7 volume. This does make some sense; it allows the ocean itself to be completely full whenever the map reloads, as you would expect it to be. However, as a byproduct of this workaround, any salt water tile - even if it can't path to the ocean, even if its a 1/7 puddle of water - so long as its somewhere above a conglomerate or other 'naturally salt water' tile, it will refill both itself.
Yes; Salt Water will sponteanously refill itself when it is above a Conglomerate Floor upon map reload.
I tested this by channeling out 6x3 room above some of the flooded conglomerate tiles, and yes, upon reload they spontaneously were filled with water. This effect likely happens at every tile up to sea level. Incredible.
Curiously, when salt water isn't on congomerate tiles, it doesn't experience this effect. Possibly it even gets deleted. I imagine it's likely limited to only tiles that are considered to be ocean floor. Hilariously, if you tile out a conglomerate floor and dump some salt water on it, it ALSO will fill to 7/7. Manual flooring does it too!
Salt water also appears to be deleted from tiles that are not conglomerate, probably some kind of 1/7 water removal thing. I wonder if salt water at 7/7 above regular tiles would turn into fresh water? The aquifer tiles appear to have done that. I don't know if I can say that with certainty yet though. Probably won't test further though.
I lost about 4-5 dwarves to this little science experiment. Sudden drowning is a curious thing.
This time with accidental dwarf drowning~
Upon re-embarking to my test fortress, all of those fresh water tiles sitting adjacent to the salt water ones became salt water again. The only ones that did not were the water tiles sitting directly inside the aquifer I had mined out. Seems to imply that for each tile, there's some kind of trigger that switches it from containing 'salt' water and 'fresh' water, and that flag reloads upon map load. As for why it managed to over-write with salt water, probably has something to do with the tile type and its connection to open ocean. All tiles on Conglomerate turned salty, and all tiles on Dolomite turned fresh. When I separated some fresh water using a floodgate, it still become salty upon re-entry. Probably means its tile-dependant.
This definitely leads me to believe when salt water flows onto a tile that spawns regular water, it triggers it to be a 'salt' tile, and vice versa for when regular water flows onto a tile that naturally spawns salt water. These values are refreshed upon map reload, so water can spontaneously alter its salt content.
Stagnant water appears to do a similar thing and just become regular water when the map is re-loaded, even when its sitting on a murky tile. I'm assuming it only remains stagnant if the pool itself is unbroken. Curiously, this implies the check for stagnant water is not a cellular one, but rather examines the entire pool of water before assigning whether the water is stagnant.
So if you want a pool of always-fresh water, just channel out a single tile adjacent to a stagnant water source, then save and reload - BAM! The water is perfectly pure~
Water purification is so easy.
EDIT: This only appears to happen on ocean zones.
Also fun- DROWNING!
I made a small, functioning fortress at the beach, complete with a little fresh water well that dug into an aquifer. However, upon reloading, several levels of my fortress spontaneous filled with water and ended up drowning a few of my dwarves. It shouldn't have had the pressure to rise up the single z tile to the well, so that couldn't be the case. So what was it?
After examining the after-effects, I think I know what happened and I believe it's a quirk of salt water/ocean tiles. Whenever the map reloaded, any tile that was designated as naturally salt-containing and contained any amount of salt water resulting in it filling up to a 7/7 volume. This does make some sense; it allows the ocean itself to be completely full whenever the map reloads, as you would expect it to be. However, as a byproduct of this workaround, any salt water tile - even if it can't path to the ocean, even if its a 1/7 puddle of water - so long as its somewhere above a conglomerate or other 'naturally salt water' tile, it will refill both itself.
Yes; Salt Water will sponteanously refill itself when it is above a Conglomerate Floor upon map reload.
I tested this by channeling out 6x3 room above some of the flooded conglomerate tiles, and yes, upon reload they spontaneously were filled with water. This effect likely happens at every tile up to sea level. Incredible.
Curiously, when salt water isn't on congomerate tiles, it doesn't experience this effect. Possibly it even gets deleted. I imagine it's likely limited to only tiles that are considered to be ocean floor. Hilariously, if you tile out a conglomerate floor and dump some salt water on it, it ALSO will fill to 7/7. Manual flooring does it too!
Salt water also appears to be deleted from tiles that are not conglomerate, probably some kind of 1/7 water removal thing. I wonder if salt water at 7/7 above regular tiles would turn into fresh water? The aquifer tiles appear to have done that. I don't know if I can say that with certainty yet though. Probably won't test further though.
I lost about 4-5 dwarves to this little science experiment. Sudden drowning is a curious thing.








