From 8069f7106f92be1e447c830c92ab1628701ab782 Mon Sep 17 00:00:00 2001 From: Matthew Cline Date: Sat, 5 Dec 2009 00:51:57 -0800 Subject: Do "post_activate_remove" in dgn_place_map() Fixes MonPropsMarkers not being removed-on-activation when a vault is placed via &L. --- crawl-ref/source/dungeon.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'crawl-ref/source/dungeon.cc') 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 markers = env.markers.get_markers_at(coord_def(x, y)); + std::vector 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); -- cgit v1.2.3-54-g00ecf