summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-goditem.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-05-28 03:23:20 +0200
committerAdam Borowski <kilobyte@angband.pl>2013-05-29 03:23:49 +0200
commit42993c7a02bf24d02280df06c7140851e8cabb1a (patch)
tree06e615a5e52bcdb3adaacb8f8b6647822f15908b /crawl-ref/source/spl-goditem.cc
parentba45822b41b6e70911ecd7a59a4e4f6fca56d0d1 (diff)
parent536f84b0a61318597e2980852e89e9a41d2dedb4 (diff)
downloadcrawl-ref-42993c7a02bf24d02280df06c7140851e8cabb1a.tar.gz
crawl-ref-42993c7a02bf24d02280df06c7140851e8cabb1a.zip
Merge branch 'master' into djinn
Diffstat (limited to 'crawl-ref/source/spl-goditem.cc')
-rw-r--r--crawl-ref/source/spl-goditem.cc20
1 files changed, 8 insertions, 12 deletions
diff --git a/crawl-ref/source/spl-goditem.cc b/crawl-ref/source/spl-goditem.cc
index 776404d191..25f5c2653d 100644
--- a/crawl-ref/source/spl-goditem.cc
+++ b/crawl-ref/source/spl-goditem.cc
@@ -898,23 +898,22 @@ static bool _do_imprison(int pow, const coord_def& where, bool zin)
// All traps are destroyed.
if (trap_def *ptrap = find_trap(*ai))
+ {
ptrap->destroy();
+ grd(*ai) = DNGN_FLOOR;
+ }
// Actually place the wall.
if (zin)
{
map_wiz_props_marker *marker = new map_wiz_props_marker(*ai);
marker->set_property("feature_description", "a gleaming silver wall");
- marker->set_property("tomb", "Zin");
-
- // Preserve the old feature, unless it's bare floor (or trap)
- if (grd(*ai) != DNGN_FLOOR & !feat_is_trap(grd(*ai), true))
- marker->set_property("old_feat", dungeon_feature_name(grd(*ai)));
-
env.markers.add(marker);
+ temp_change_terrain(*ai, DNGN_METAL_WALL, INFINITE_DURATION,
+ TERRAIN_CHANGE_IMPRISON);
+
// Make the walls silver.
- grd(*ai) = DNGN_METAL_WALL;
env.grid_colours(*ai) = WHITE;
env.tile_flv(*ai).feat_idx =
store_tilename_get_index("dngn_mirror_wall");
@@ -932,13 +931,10 @@ static bool _do_imprison(int pow, const coord_def& where, bool zin)
// Tomb card
else
{
- grd(*ai) = DNGN_ROCK_WALL;
- map_wiz_props_marker *marker = new map_wiz_props_marker(*ai);
- marker->set_property("tomb", "card");
- env.markers.add(marker);
+ temp_change_terrain(*ai, DNGN_ROCK_WALL, INFINITE_DURATION,
+ TERRAIN_CHANGE_TOMB);
}
- set_terrain_changed(*ai);
number_built++;
}
}