summaryrefslogtreecommitdiff
path: root/plugins/liquids.cpp
diff options
context:
space:
mode:
authorAlexander Gavrilov2012-04-26 18:51:39 +0400
committerAlexander Gavrilov2012-04-26 18:51:39 +0400
commit82a0e52a3eeb55d62dd51cf92b5b1b26d0cc4c66 (patch)
tree4388ab4532ab7dc4b47147cf2368de4a3ece00e6 /plugins/liquids.cpp
parent16ee049664765f2644d2ef83ad15d5ab101cd4e2 (diff)
downloaddfhack-82a0e52a3eeb55d62dd51cf92b5b1b26d0cc4c66.tar.gz
dfhack-82a0e52a3eeb55d62dd51cf92b5b1b26d0cc4c66.tar.bz2
dfhack-82a0e52a3eeb55d62dd51cf92b5b1b26d0cc4c66.tar.xz
Add api to check the walkable cache, and update flow_forbid in liquids.
Diffstat (limited to 'plugins/liquids.cpp')
-rw-r--r--plugins/liquids.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/plugins/liquids.cpp b/plugins/liquids.cpp
index 8ca66daf..f644398f 100644
--- a/plugins/liquids.cpp
+++ b/plugins/liquids.cpp
@@ -388,6 +388,7 @@ command_result df_liquids_execute(color_ostream &out)
mcache.setTemp2At(*iter,10015);
df::tile_designation des = mcache.designationAt(*iter);
des.bits.flow_size = 0;
+ des.bits.flow_forbid = false;
mcache.setDesignationAt(*iter, des);
iter ++;
}
@@ -494,6 +495,9 @@ command_result df_liquids_execute(color_ostream &out)
mcache.setTemp1At(current,10015);
mcache.setTemp2At(current,10015);
}
+ // mark the tile passable or impassable like the game does
+ des.bits.flow_forbid = des.bits.flow_size &&
+ (des.bits.liquid_type == tile_liquid::Magma || des.bits.flow_size > 3);
mcache.setDesignationAt(current,des);
}
seen_blocks.insert(mcache.BlockAt(current / 16));