diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-02-25 14:12:07 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-02-25 14:12:07 +0000 |
commit | ecf486f921ceaa06af4252191b97f3017057f74a (patch) | |
tree | 4b0aec9c68ef4e2eb60e23d03a342d430bce0f1f /crawl-ref/source/decks.cc | |
parent | 9f2bdcc6b1bc5a5ddc6a60b5edd16b22122d5901 (diff) | |
download | crawl-ref-ecf486f921ceaa06af4252191b97f3017057f74a.tar.gz crawl-ref-ecf486f921ceaa06af4252191b97f3017057f74a.zip |
Apply patch 1901117: vitrification effect for Xom (and Xom cleanup)
This needs flavour messages, and looks odd for large power because
the undiggable stone of the level also gets turned into glass
possibly resulting in huge areas of glass tiles.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3464 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/decks.cc')
-rw-r--r-- | crawl-ref/source/decks.cc | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc index 8e1e5eacec..a060dbed1d 100644 --- a/crawl-ref/source/decks.cc +++ b/crawl-ref/source/decks.cc @@ -2071,31 +2071,8 @@ static void sage_card(int power, deck_rarity_type rarity) static void glass_card(int power, deck_rarity_type rarity) { const int power_level = get_power_level(power, rarity); - int radius2; - if ( power_level == 2 ) - radius2 = 1000000; - else - { - radius2 = random2(power/40) + 2; - radius2 *= radius2; - } - - for ( int x = X_BOUND_1; x <= X_BOUND_2; ++x ) - { - for ( int y = Y_BOUND_1; y <= Y_BOUND_2; ++y ) - { - if ( distance(x,y,you.x_pos,you.y_pos) < radius2 ) - { - if ( grd[x][y] == DNGN_ROCK_WALL ) - grd[x][y] = DNGN_CLEAR_ROCK_WALL; - else if ( grd[x][y] == DNGN_STONE_WALL ) - grd[x][y] = DNGN_CLEAR_STONE_WALL; - else if ( grd[x][y] == DNGN_PERMAROCK_WALL ) - grd[x][y] = DNGN_CLEAR_PERMAROCK_WALL; - } - } - } - + const int radius = ( power_level == 2 ) ? 1000 : random2(power/40) + 2; + vitrify_area(radius); } static void dowsing_card(int power, deck_rarity_type rarity) |