diff options
-rw-r--r-- | crawl-ref/source/externs.h | 1 | ||||
-rw-r--r-- | crawl-ref/source/misc.cc | 5 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/rltiles/dc-dngn.txt | 2 | ||||
-rw-r--r-- | crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_closed.png | bin | 0 -> 1072 bytes | |||
-rw-r--r-- | crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_open.png | bin | 0 -> 743 bytes | |||
-rw-r--r-- | crawl-ref/source/tags.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/tags.h | 5 | ||||
-rw-r--r-- | crawl-ref/source/tilepick.cc | 8 |
9 files changed, 23 insertions, 3 deletions
diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h index e92533690a..79d9929901 100644 --- a/crawl-ref/source/externs.h +++ b/crawl-ref/source/externs.h @@ -836,6 +836,7 @@ public: FixedVector<spell_type, 25> spells; char spell_no; game_direction_type char_direction; + bool opened_zot; unsigned short pet_target; diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index d4e63f1186..c1ba8b9d93 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -2117,7 +2117,7 @@ void down_stairs( int old_level, dungeon_feature_type force_stair, mpr("You fall through a shaft!"); } - if (stair_find == DNGN_ENTER_ZOT) + if (stair_find == DNGN_ENTER_ZOT && !you.opened_zot) { const int num_runes = runes_in_pack(); @@ -2135,6 +2135,9 @@ void down_stairs( int old_level, dungeon_feature_type force_stair, } return; } + // TODO: This needs a better message! + mpr("The gate opens wide!"); + you.opened_zot = true; } // Bail if any markers veto the move. diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index da6f72f4a6..088d71361d 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -6015,6 +6015,7 @@ void player::init() entry_cause_god = GOD_NO_GOD; where_are_you = BRANCH_MAIN_DUNGEON; char_direction = GDT_DESCENDING; + opened_zot = false; prev_targ = MHITNOT; pet_target = MHITNOT; diff --git a/crawl-ref/source/rltiles/dc-dngn.txt b/crawl-ref/source/rltiles/dc-dngn.txt index 9ee9c62db5..2ca3801855 100644 --- a/crawl-ref/source/rltiles/dc-dngn.txt +++ b/crawl-ref/source/rltiles/dc-dngn.txt @@ -411,6 +411,8 @@ dngn_shallow_water_murky_disturbance2 %rim 1 dngn_enter_hell DNGN_ENTER_HELL +dngn_enter_zot_closed DNGN_ENTER_ZOT_CLOSED +dngn_enter_zot_open DNGN_ENTER_ZOT_OPEN %rim 0 dngn_enter_labyrinth DNGN_ENTER_LABYRINTH dngn_enter_dis DNGN_ENTER_DIS diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_closed.png b/crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_closed.png Binary files differnew file mode 100644 index 0000000000..3d163d39d5 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_closed.png diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_open.png b/crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_open.png Binary files differnew file mode 100644 index 0000000000..f50faa176d --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/dngn_enter_zot_open.png diff --git a/crawl-ref/source/tags.cc b/crawl-ref/source/tags.cc index 1ec80784d6..cb460903fb 100644 --- a/crawl-ref/source/tags.cc +++ b/crawl-ref/source/tags.cc @@ -836,6 +836,7 @@ static void tag_construct_you(writer &th) marshallByte(th, you.max_level); marshallByte(th, you.where_are_you); marshallByte(th, you.char_direction); + marshallByte(th, you.opened_zot); marshallByte(th, you.your_level); marshallByte(th, you.is_undead); marshallShort(th, you.unrand_reacts); @@ -1251,6 +1252,9 @@ static void tag_read_you(reader &th, char minorVersion) you.max_level = unmarshallByte(th); you.where_are_you = static_cast<branch_type>( unmarshallByte(th) ); you.char_direction = static_cast<game_direction_type>(unmarshallByte(th)); + if (minorVersion >= TAG_MINOR_ZOT_OPEN) + you.opened_zot = (bool) unmarshallByte(th); + you.your_level = unmarshallByte(th); you.is_undead = static_cast<undead_state_type>(unmarshallByte(th)); you.unrand_reacts = unmarshallShort(th); diff --git a/crawl-ref/source/tags.h b/crawl-ref/source/tags.h index c9df422832..f07b3616b0 100644 --- a/crawl-ref/source/tags.h +++ b/crawl-ref/source/tags.h @@ -63,9 +63,12 @@ enum tag_minor_version TAG_MINOR_SVNREV = 13, // Added SVN revision TAG_MINOR_PORTEXT = 14, // Keep track of portal vault extensions. TAG_MINOR_RELIGION = 15, // Keep track of ghosts' religions. + // XXX: Release 0.5 -> switch to major version 6 + // Does that mean we can remove all the above minor version checks? TAG_MINOR_ARTEFACT = 16, // Turned fixed arts into unrandarts. TAG_MINOR_JIYVA = 17, // Added some player bits for Jiyva. - TAG_MINOR_VERSION = 17 // Current version. (Keep equal to max.) + TAG_MINOR_ZOT_OPEN = 18, // Remember whether Zot was opened. + TAG_MINOR_VERSION = 18 // Current version. (Keep equal to max.) }; diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index f47f0a44de..800fb0f650 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -2448,7 +2448,6 @@ int tileidx_feature(int object, int gx, int gy) case DNGN_ENTER_VAULTS: case DNGN_ENTER_CRYPT: case DNGN_ENTER_HALL_OF_BLADES: - case DNGN_ENTER_ZOT: case DNGN_ENTER_TEMPLE: case DNGN_ENTER_SNAKE_PIT: case DNGN_ENTER_ELVEN_HALLS: @@ -2457,6 +2456,11 @@ int tileidx_feature(int object, int gx, int gy) case DNGN_ENTER_SHOALS: return TILE_DNGN_ENTER; + case DNGN_ENTER_ZOT: + if (you.opened_zot) + return TILE_DNGN_ENTER_ZOT_OPEN; + return TILE_DNGN_ENTER_ZOT_CLOSED; + case DNGN_RETURN_FROM_ORCISH_MINES: case DNGN_RETURN_FROM_HIVE: case DNGN_RETURN_FROM_LAIR: @@ -2662,6 +2666,7 @@ void tileidx_unseen(unsigned int &fg, unsigned int &bg, int ch, case '\\': fg = TILE_STAFF_OFFSET; break; case '^': bg = TILE_DNGN_TRAP_ZOT; break; case '_': + case 220: case 131: fg = TILE_UNSEEN_ALTAR; break; case '~': fg = TILE_UNSEEN_ITEM; break; case '{': @@ -2672,6 +2677,7 @@ void tileidx_unseen(unsigned int &fg, unsigned int &bg, int ch, case 128: //old case 254: bg = TILE_DNGN_CLOSED_DOOR; break; case 129: bg = TILE_DNGN_RETURN; break; + case 239: case 132: fg = TILE_UNSEEN_ENTRANCE; break; case 136: bg = TILE_DNGN_ENTER; break; case 141: bg = TILE_DNGN_LAVA; break; |