diff options
-rw-r--r-- | crawl-ref/source/files.cc | 8 | ||||
-rw-r--r-- | crawl-ref/source/view.h | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/crawl-ref/source/files.cc b/crawl-ref/source/files.cc index de584c643d..979498b696 100644 --- a/crawl-ref/source/files.cc +++ b/crawl-ref/source/files.cc @@ -1108,6 +1108,10 @@ bool load( dungeon_feature_type stair_taken, load_mode_type load_mode, } #endif + // Clear the show grid, to prevent us noticing things + // which were within the old LOS by new coordinates. + env.show.init(0); + // Try to open level savefile. #ifdef DEBUG_LEVEL_LOAD mprf(MSGCH_DIAGNOSTICS, "Try to open file %s", cha_fil.c_str()); @@ -1211,8 +1215,8 @@ bool load( dungeon_feature_type stair_taken, load_mode_type load_mode, crawl_view.set_player_at(you.pos(), load_mode != LOAD_VISITOR); // This should fix the "monster occurring under the player" bug? - if (make_changes && mgrd(you.pos()) != NON_MONSTER) - monster_teleport(&menv[mgrd(you.pos())], true, true); + if (make_changes && monster_at(you.pos())) + monster_teleport(monster_at(you.pos()), true, true); // Actually "move" the followers if applicable. if (level_type_allows_followers(you.level_type) diff --git a/crawl-ref/source/view.h b/crawl-ref/source/view.h index 6335c15a8c..ed18a4536c 100644 --- a/crawl-ref/source/view.h +++ b/crawl-ref/source/view.h @@ -66,7 +66,6 @@ void init_monsters_seens(); void beogh_follower_convert(monsters *monster, bool orc_hit = false); bool mons_near(const monsters *monster, unsigned short foe = MHITYOU); bool mon_enemies_around(const monsters *monster); -void item(void); void find_features(const std::vector<coord_def>& features, unsigned char feature, std::vector<coord_def> *found); @@ -79,7 +78,6 @@ void losight(env_show_grid &sh, feature_grid &gr, bool magic_mapping(int map_radius, int proportion, bool suppress_msg, bool force = false); - bool noisy(int loudness, const coord_def& where, const char *msg = NULL, bool mermaid = false); void blood_smell( int strength, const coord_def& where); |