diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-27 14:00:53 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-11-27 14:00:53 +0000 |
commit | 826f76090eeb25a0ea8dbc0ff52968ce14732015 (patch) | |
tree | 8659c41c2db87f12605aff2817b42752bc8b343b | |
parent | 12c403b697ccdab148c55ab2d634f3ee424c0cc0 (diff) | |
download | crawl-ref-826f76090eeb25a0ea8dbc0ff52968ce14732015.tar.gz crawl-ref-826f76090eeb25a0ea8dbc0ff52968ce14732015.zip |
* Add special tiles for the special runes (hells, demon lords).
* Really use Cocytus tiles for the Ice Cave.
* Add a small lab vault containing the trapdoor spider because it just
fits.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7655 c06c8d41-db1a-0410-9941-cceddc491573
17 files changed, 60 insertions, 6 deletions
diff --git a/crawl-ref/source/dat/lab.des b/crawl-ref/source/dat/lab.des index 47a699d5ae..6d6a3ce8b0 100644 --- a/crawl-ref/source/dat/lab.des +++ b/crawl-ref/source/dat/lab.des @@ -352,3 +352,13 @@ MAP ........ ENDMAP # Disheartened? + +############################################################################ +# A few monsters: Nothing is as it seems. +NAME: labyrinth_single_monster +TAGS: lab allow_dup generate_awake +KFEAT: x = . +KMONS: x = trapdoor spider / w:3 wandering mushroom +MAP +x +ENDMAP diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc index 75a22a57c2..b91d4c3c4e 100644 --- a/crawl-ref/source/dungeon.cc +++ b/crawl-ref/source/dungeon.cc @@ -6682,6 +6682,7 @@ static void _vitrify_wall_neighbours(const coord_def pos) } } +// Turns some connected rock or stone walls into the transparent versions. static void _labyrinth_add_glass_walls(const dgn_region ®ion) { int glass_num = random2(3) + random2(4); @@ -8269,7 +8270,7 @@ void vault_placement::apply_grid() { // NOTE: assumes *no* previous item (I think) or monster (definitely) // placement. - for ( rectangle_iterator ri(pos, pos + size - 1); ri; ++ri ) + for (rectangle_iterator ri(pos, pos + size - 1); ri; ++ri) { const coord_def &rp(*ri); const coord_def dp = rp - pos; diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc index 7d35debce6..10087e2ddb 100644 --- a/crawl-ref/source/effects.cc +++ b/crawl-ref/source/effects.cc @@ -2508,6 +2508,7 @@ void change_labyrinth(bool msg) } #ifdef WIZARD + // Remove old highlighted areas to make place for the new ones. for (rectangle_iterator ri(1); ri; ++ri) env.map(*ri).property &= ~(FPROP_HIGHLIGHT); #endif @@ -2609,6 +2610,9 @@ void change_labyrinth(bool msg) // Rather than use old_grid directly, replace with an adjacent // wall type, preferably stone, rock, or metal. + // TODO: Blood is currently left on the grid even though it turned + // into a wall or floor. Rather, it should be nudged aside to + // a grid of similar type. old_grid = grd[p.x-1][p.y]; if (!grid_is_wall(old_grid)) { @@ -2623,13 +2627,13 @@ void change_labyrinth(bool msg) old_grid = DNGN_STONE_WALL; } else if (old_grid != DNGN_ROCK_WALL && old_grid != DNGN_STONE_WALL - && old_grid != DNGN_METAL_WALL) + && old_grid != DNGN_METAL_WALL && !one_chance_in(3)) { old_grid = grd[p.x][p.y+1]; } } else if (old_grid != DNGN_ROCK_WALL && old_grid != DNGN_STONE_WALL - && old_grid != DNGN_METAL_WALL) + && old_grid != DNGN_METAL_WALL && !one_chance_in(3)) { old_grid = grd[p.x+1][p.y]; } diff --git a/crawl-ref/source/rltiles/dc-item.txt b/crawl-ref/source/rltiles/dc-item.txt index 4721c8c0b3..2d99f06d9b 100644 --- a/crawl-ref/source/rltiles/dc-item.txt +++ b/crawl-ref/source/rltiles/dc-item.txt @@ -821,8 +821,16 @@ misc_crystal MISC_CRYSTAL_BALL_OF_ENERGY misc_box MISC_EMPTY_EBONY_CASKET
misc_crystal MISC_CRYSTAL_BALL_OF_FIXATION
misc_disc MISC_DISC_OF_STORMS
-misc_rune MISC_RUNE_OF_ZOT
misc_altar MISC_PORTABLE_ALTAR_OF_NEMELEX
+misc_rune MISC_RUNE_OF_ZOT
+runes/rune_tartarus MISC_RUNE_TARTARUS
+runes/rune_cocytus MISC_RUNE_COCYTUS
+runes/rune_dis MISC_RUNE_DIS
+runes/rune_gehenna MISC_RUNE_GEHENNA
+runes/rune_cerebov MISC_RUNE_CEREBOV
+runes/rune_gloorx_vloq MISC_RUNE_GLOORX_VLOQ
+runes/rune_mnoleg MISC_RUNE_MNOLEG
+runes/rune_lom_lobon MISC_RUNE_LOM_LOBON
#OBJ_CORPSES
diff --git a/crawl-ref/source/rltiles/item/misc/runes/misc_rune_shoals.png b/crawl-ref/source/rltiles/item/misc/runes/misc_rune_shoals.png Binary files differnew file mode 100644 index 0000000000..98b2037300 --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/misc_rune_shoals.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/misc_rune_snake.png b/crawl-ref/source/rltiles/item/misc/runes/misc_rune_snake.png Binary files differnew file mode 100644 index 0000000000..bb84335cba --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/misc_rune_snake.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/misc_rune_tomb.png b/crawl-ref/source/rltiles/item/misc/runes/misc_rune_tomb.png Binary files differnew file mode 100644 index 0000000000..c77144e24c --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/misc_rune_tomb.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_cerebov.png b/crawl-ref/source/rltiles/item/misc/runes/rune_cerebov.png Binary files differnew file mode 100644 index 0000000000..822474d27f --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_cerebov.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_cocytus.png b/crawl-ref/source/rltiles/item/misc/runes/rune_cocytus.png Binary files differnew file mode 100644 index 0000000000..dc0b43d93d --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_cocytus.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_dis.png b/crawl-ref/source/rltiles/item/misc/runes/rune_dis.png Binary files differnew file mode 100644 index 0000000000..87e6cf6056 --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_dis.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_gehenna.png b/crawl-ref/source/rltiles/item/misc/runes/rune_gehenna.png Binary files differnew file mode 100644 index 0000000000..55457dcdb7 --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_gehenna.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_gloorx_vloq.png b/crawl-ref/source/rltiles/item/misc/runes/rune_gloorx_vloq.png Binary files differnew file mode 100644 index 0000000000..fcc7f739eb --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_gloorx_vloq.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_lom_lobon.png b/crawl-ref/source/rltiles/item/misc/runes/rune_lom_lobon.png Binary files differnew file mode 100644 index 0000000000..6b3fcb95da --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_lom_lobon.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_mnoleg.png b/crawl-ref/source/rltiles/item/misc/runes/rune_mnoleg.png Binary files differnew file mode 100644 index 0000000000..280c4172c0 --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_mnoleg.png diff --git a/crawl-ref/source/rltiles/item/misc/runes/rune_tartarus.png b/crawl-ref/source/rltiles/item/misc/runes/rune_tartarus.png Binary files differnew file mode 100644 index 0000000000..27cd60a965 --- /dev/null +++ b/crawl-ref/source/rltiles/item/misc/runes/rune_tartarus.png diff --git a/crawl-ref/source/tile2.cc b/crawl-ref/source/tile2.cc index 70943d6c5d..8edbbc7311 100644 --- a/crawl-ref/source/tile2.cc +++ b/crawl-ref/source/tile2.cc @@ -222,7 +222,7 @@ void WallIdx(int &wall, int &floor, int &special) floor = TILE_FLOOR_SLIME; return; } - else if (you.level_type_name == "ice_cave") + else if (you.level_type_name == "ice cave") { wall = TILE_WALL_ICE; floor = TILE_FLOOR_ICE; diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index 65e58998f0..0d2abc90ee 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -1745,6 +1745,37 @@ static int _tileidx_corpse(int mon) return TILE_ERROR; } +static int _tileidx_rune(const item_def &item) +{ + switch (item.plus) + { + case RUNE_DIS: return TILE_MISC_RUNE_DIS; + case RUNE_GEHENNA: return TILE_MISC_RUNE_GEHENNA; + case RUNE_COCYTUS: return TILE_MISC_RUNE_COCYTUS; + case RUNE_TARTARUS: return TILE_MISC_RUNE_TARTARUS; + + // special pandemonium runes: + case RUNE_MNOLEG: return TILE_MISC_RUNE_MNOLEG; + case RUNE_LOM_LOBON: return TILE_MISC_RUNE_LOM_LOBON; + case RUNE_CEREBOV: return TILE_MISC_RUNE_CEREBOV; + case RUNE_GLOORX_VLOQ: return TILE_MISC_RUNE_GLOORX_VLOQ; + + // All others use the default rune for now. + case RUNE_SLIME_PITS: + case RUNE_VAULTS: + case RUNE_SNAKE_PIT: + case RUNE_ELVEN_HALLS: + case RUNE_TOMB: + case RUNE_SWAMP: + case RUNE_SHOALS: + + // pandemonium and abyss runes: + case RUNE_DEMONIC: + case RUNE_ABYSSAL: + default: return TILE_MISC_RUNE_OF_ZOT; + } +} + static int _tileidx_misc(const item_def &item) { switch(item.sub_type) @@ -1818,7 +1849,7 @@ static int _tileidx_misc(const item_def &item) return ch; } case MISC_RUNE_OF_ZOT: - return TILE_MISC_RUNE_OF_ZOT; + return _tileidx_rune(item); } return TILE_ERROR; |