diff options
author | Adam Borowski <kilobyte@angband.pl> | 2013-05-28 03:23:20 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2013-05-29 03:23:49 +0200 |
commit | 42993c7a02bf24d02280df06c7140851e8cabb1a (patch) | |
tree | 06e615a5e52bcdb3adaacb8f8b6647822f15908b /crawl-ref/source/spl-goditem.cc | |
parent | ba45822b41b6e70911ecd7a59a4e4f6fca56d0d1 (diff) | |
parent | 536f84b0a61318597e2980852e89e9a41d2dedb4 (diff) | |
download | crawl-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.cc | 20 |
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++; } } |