diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-07-30 03:43:01 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-07-30 03:43:01 +0000 |
commit | 3c989a01d352922446048417952ef96f537863d9 (patch) | |
tree | d55ab99222472f8bc97633a00777a600b022faac | |
parent | e1eaf149bf86f69dbdc8afa9ef28e94640c2c124 (diff) | |
download | crawl-ref-3c989a01d352922446048417952ef96f537863d9.tar.gz crawl-ref-3c989a01d352922446048417952ef96f537863d9.zip |
Fixed feature timeout not working right for bazaars.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1949 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r-- | crawl-ref/source/defines.h | 2 | ||||
-rw-r--r-- | crawl-ref/source/dungeon.cc | 6 | ||||
-rw-r--r-- | crawl-ref/source/misc.cc | 9 | ||||
-rw-r--r-- | crawl-ref/source/misc.h | 3 |
4 files changed, 11 insertions, 9 deletions
diff --git a/crawl-ref/source/defines.h b/crawl-ref/source/defines.h index 2ad611e620..c71b24926b 100644 --- a/crawl-ref/source/defines.h +++ b/crawl-ref/source/defines.h @@ -55,7 +55,7 @@ // number of monster enchantments #define NUM_MON_ENCHANTS 6 // non-monster for mgrd[][] -- (MNST + 1) {dlb}: -#define NON_MONSTER 201 +#define NON_MONSTER (MAX_MONSTERS + 1) #define MAX_SUBTYPES 50 diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc index 937482cb7a..cb6391feb4 100644 --- a/crawl-ref/source/dungeon.cc +++ b/crawl-ref/source/dungeon.cc @@ -3034,7 +3034,8 @@ static bool build_minivaults(int level_number, int force_vault, link_items(); const dungeon_feature_type newgrid = grd[vx][vy]; grd[vx][vy] = oldgrid; - dungeon_terrain_changed(coord_def(vx, vy), newgrid); + dungeon_terrain_changed(coord_def(vx, vy), newgrid, + true, true); env_remove_markers_at(coord_def(vx, vy), MAT_ANY); } } @@ -3577,7 +3578,8 @@ static bool build_vaults(int level_number, int force_vault, int rune_subst, link_items(); const dungeon_feature_type newgrid = grd[vx][vy]; grd[vx][vy] = oldgrid; - dungeon_terrain_changed(coord_def(vx, vy), newgrid); + dungeon_terrain_changed(coord_def(vx, vy), newgrid, + true, true); env_remove_markers_at(coord_def(vx, vy), MAT_ANY); } } diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index d929e2b449..345c2e41e5 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -551,9 +551,6 @@ static bool dgn_shift_feature(const coord_def &pos) } env_move_markers(pos, dest); dungeon_events.move_listeners(pos, dest); - - if (see_grid(dest) && is_notable_terrain(dfeat)) - seen_notable_thing(dfeat, dest.x, dest.y); } return (true); } @@ -599,11 +596,13 @@ static void dgn_check_terrain_monsters(const coord_def &pos) void dungeon_terrain_changed(const coord_def &pos, dungeon_feature_type nfeat, - bool affect_player) + bool affect_player, + bool preserve_features) { if (nfeat != DNGN_UNSEEN) { - dgn_shift_feature(pos); + if (preserve_features) + dgn_shift_feature(pos); unnotice_feature(level_pos(level_id::current(), pos)); grd(pos) = nfeat; if (is_notable_terrain(nfeat) && see_grid(pos)) diff --git a/crawl-ref/source/misc.h b/crawl-ref/source/misc.h index 7bbfd4a602..bceb4692bb 100644 --- a/crawl-ref/source/misc.h +++ b/crawl-ref/source/misc.h @@ -173,7 +173,8 @@ void run_environment_effects(); // Terrain changed under 'pos', perform necessary effects. void dungeon_terrain_changed(const coord_def &pos, dungeon_feature_type feat = DNGN_UNSEEN, - bool affect_player = true); + bool affect_player = true, + bool preserve_features = false); ////////////////////////////////////////////////////////////////////// // Places and names |