diff options
-rw-r--r-- | crawl-ref/source/dungeon.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc index 39f599bb2e..d8372805a9 100644 --- a/crawl-ref/source/dungeon.cc +++ b/crawl-ref/source/dungeon.cc @@ -4435,8 +4435,15 @@ bool dgn_place_map(const map_def *mdef, bool clobber, bool make_no_exits, { std::vector<map_marker *> markers = env.markers.get_markers_at(coord_def(x, y)); + std::vector<map_marker*> to_remove; for (int i = 0, size = markers.size(); i < size; ++i) + { markers[i]->activate(); + if (markers[i]->property("post_activate_remove") != "") + to_remove.push_back(markers[i]); + } + for (unsigned int i = 0; i < to_remove.size(); i++) + env.markers.remove(to_remove[i]); if (!you.see_cell(coord_def(x, y))) set_terrain_changed(x, y); |