diff options
author | Adam Borowski <kilobyte@angband.pl> | 2010-06-26 22:24:27 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2010-06-26 23:34:26 +0200 |
commit | 0485a567bd424ee678c25efe712e07d29f739b0d (patch) | |
tree | 7a9e864065a077a76c5a93da943e643a0b5b4c8a /crawl-ref/source/travel.h | |
parent | b2d9aad9849b63eb9d711144d299d140ee8c668d (diff) | |
download | crawl-ref-0485a567bd424ee678c25efe712e07d29f739b0d.tar.gz crawl-ref-0485a567bd424ee678c25efe712e07d29f739b0d.zip |
Reimplement all monster-related actions as delayed ones. Remove apply_to_all_dungeons().
Functional changes:
* Yred's penance won't insta-enslave mons you merely marked.
* Xom-gifted pet perm daevas won't abandon you if you drop TSO.
(I've actually had this happen to me in a real game!)
Diffstat (limited to 'crawl-ref/source/travel.h')
-rw-r--r-- | crawl-ref/source/travel.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/crawl-ref/source/travel.h b/crawl-ref/source/travel.h index 000f197520..b970f88a0f 100644 --- a/crawl-ref/source/travel.h +++ b/crawl-ref/source/travel.h @@ -321,6 +321,7 @@ struct LevelInfo { LevelInfo() : stairs(), excludes(), stair_distances(), id() { + da_counters.init(0); } void save(writer&) const; @@ -363,6 +364,8 @@ struct LevelInfo // current level. bool is_known_branch(unsigned char branch) const; + FixedVector<int, NUM_DA_COUNTERS> da_counters; + private: // Gets a list of coordinates of all player-known stairs on the current // level. @@ -421,6 +424,7 @@ public: { return levels.find(lev) != levels.end(); } + std::vector<level_id> known_levels() const; const level_pos &get_waypoint(int number) const { @@ -445,6 +449,11 @@ public: bool is_known_branch(unsigned char branch) const; + void update_da_counters(); // of the current level + + unsigned int query_da_counter(daction_type c); + void clear_da_counter(daction_type c); + private: void fixup_levels(); |