diff options
15 files changed, 53 insertions, 35 deletions
diff --git a/crawl-ref/source/mon-data.h b/crawl-ref/source/mon-data.h index ea44be5c0f..54f5ffb8a3 100644 --- a/crawl-ref/source/mon-data.h +++ b/crawl-ref/source/mon-data.h @@ -2159,11 +2159,11 @@ static monsterentry mondata[] = { MONS_HARPY, 'H', GREEN, "harpy", M_FLIES | M_WARM_BLOOD | M_BATTY, MR_RES_POISON, - 1000, 10, MONS_HARPY, MONS_HARPY, MH_NATURAL, -3, + 1000, 12, MONS_HARPY, MONS_HARPY, MH_NATURAL, -3, { {AT_BITE, AF_PLAIN, 10}, {AT_CLAW, AF_PLAIN, 8}, {AT_CLAW, AF_STEAL_FOOD, 5}, AT_NO_ATK }, { 7, 3, 5, 0 }, - 2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SCREECH, I_ANIMAL, + 2, 10, MST_NO_SPELLS, CE_CONTAMINATED, Z_BIG, S_SCREECH, I_NORMAL, HT_LAND, 30, DEFAULT_ENERGY, MONUSE_NOTHING, SIZE_MEDIUM }, diff --git a/crawl-ref/source/rltiles/dc-dngn.txt b/crawl-ref/source/rltiles/dc-dngn.txt index 7f4c9b3ad7..b2e577261e 100644 --- a/crawl-ref/source/rltiles/dc-dngn.txt +++ b/crawl-ref/source/rltiles/dc-dngn.txt @@ -315,21 +315,11 @@ floor/lava1 floor/lava2 floor/lava3 dngn_deep_water DNGN_DEEP_WATER -dngn_deep_water -dngn_deep_water -dngn_deep_water dngn_shallow_water DNGN_SHALLOW_WATER -dngn_shallow_water -dngn_shallow_water -dngn_shallow_water +dngn_shallow_water_disturbance DNGN_SHALLOW_WATER_DISTURBANCE dngn_deep_water_murky DNGN_DEEP_WATER_MURKY -dngn_deep_water_murky -dngn_deep_water_murky -dngn_deep_water_murky dngn_shallow_water_murky DNGN_SHALLOW_WATER_MURKY -dngn_shallow_water_murky -dngn_shallow_water_murky -dngn_shallow_water_murky +dngn_shallow_water_murky_disturbance DNGN_SHALLOW_WATER_MURKY_DISTURBANCE wall/stone2_gray0 DNGN_STONE_WALL wall/stone2_gray1 @@ -373,20 +363,23 @@ rock_stairs_down DNGN_ROCK_STAIRS_DOWN stone_stairs_up DNGN_STONE_STAIRS_UP rock_stairs_up DNGN_ROCK_STAIRS_UP +%sdir dc-dngn/shops ##dngn_enter_shop DNGN_ENTER_SHOP %shrink 0 %back dngn_enter_shop -shops/shop_general SHOP_GENERAL -shops/shop_weapon SHOP_WEAPONS -shops/shop_armour SHOP_ARMOUR -shops/shop_food SHOP_FOOD -shops/shop_books SHOP_BOOKS -shops/shop_scrolls SHOP_SCROLLS -shops/shop_wands SHOP_WANDS -shops/shop_jewellery SHOP_JEWELLERY -shops/shop_potions SHOP_POTIONS +shop_general SHOP_GENERAL +shop_weapon SHOP_WEAPONS +shop_armour SHOP_ARMOUR +shop_food SHOP_FOOD +shop_books SHOP_BOOKS +shop_scrolls SHOP_SCROLLS +shop_wands SHOP_WANDS +shop_jewellery SHOP_JEWELLERY +shop_potions SHOP_POTIONS %back none %shrink 1 +dngn_enter_shop_closed SHOP_CLOSED +%sdir dc-dngn dngn_enter_labyrinth DNGN_ENTER_LABYRINTH dngn_enter_dis DNGN_ENTER_DIS diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_enter_shop.png b/crawl-ref/source/rltiles/dc-dngn/dngn_enter_shop.png Binary files differdeleted file mode 100644 index 8018eaf621..0000000000 --- a/crawl-ref/source/rltiles/dc-dngn/dngn_enter_shop.png +++ /dev/null diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_disturbance.png b/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_disturbance.png Binary files differnew file mode 100644 index 0000000000..55fea55e82 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_disturbance.png diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_murky_disturbance.png b/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_murky_disturbance.png Binary files differnew file mode 100644 index 0000000000..75d75e96eb --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_murky_disturbance.png diff --git a/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop.png b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop.png Binary files differnew file mode 100644 index 0000000000..fb776a6f8e --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop.png diff --git a/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png Binary files differnew file mode 100644 index 0000000000..20cb78aa03 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png diff --git a/crawl-ref/source/rltiles/dc-mon.txt b/crawl-ref/source/rltiles/dc-mon.txt index 846f426cbe..273a2a168f 100644 --- a/crawl-ref/source/rltiles/dc-mon.txt +++ b/crawl-ref/source/rltiles/dc-mon.txt @@ -202,11 +202,9 @@ toenail_golem MONS_TOENAIL_GOLEM /*'8'*/ wood_golem MONS_WOOD_GOLEM /*'8'*/
## Statues
-%sdir dc-dngn
-dngn_ice_statue ICE_STATUE /*'8'*/
-dngn_silver_statue SILVER_STATUE /*'8'*/
-dngn_orange_crystal_statue ORANGE_CRYSTAL_STATUE /*'8'*/
-%sdir dc-mon
+ice_statue ICE_STATUE /*'8'*/
+silver_statue SILVER_STATUE /*'8'*/
+orange_crystal_statue ORANGE_CRYSTAL_STATUE /*'8'*/
## Gargoyles
gargoyle MONS_GARGOYLE /*'9'*/
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_ice_statue.png b/crawl-ref/source/rltiles/dc-mon/ice_statue.png Binary files differindex fa946250bd..fa946250bd 100644 --- a/crawl-ref/source/rltiles/dc-dngn/dngn_ice_statue.png +++ b/crawl-ref/source/rltiles/dc-mon/ice_statue.png diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_orange_crystal_statue.png b/crawl-ref/source/rltiles/dc-mon/orange_crystal_statue.png Binary files differindex 04cdce0087..04cdce0087 100644 --- a/crawl-ref/source/rltiles/dc-dngn/dngn_orange_crystal_statue.png +++ b/crawl-ref/source/rltiles/dc-mon/orange_crystal_statue.png diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_silver_statue.png b/crawl-ref/source/rltiles/dc-mon/silver_statue.png Binary files differindex ccd5986f35..ccd5986f35 100644 --- a/crawl-ref/source/rltiles/dc-dngn/dngn_silver_statue.png +++ b/crawl-ref/source/rltiles/dc-mon/silver_statue.png diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc index 7233e11905..455abd005a 100644 --- a/crawl-ref/source/shopping.cc +++ b/crawl-ref/source/shopping.cc @@ -1667,6 +1667,15 @@ unsigned int item_value( item_def item, bool ident ) return (valued); } // end item_value() +// Returns true if a shop is out of stock. +bool shop_is_closed(const coord_def &where) +{ + for (int i = 0; i < MAX_SHOPS; i++) + if (env.shop[i].pos == where) + return _shop_get_stock(i).empty(); + + return (false); +} void shop() { @@ -1703,12 +1712,12 @@ shop_struct *get_shop(const coord_def& where) if (grd(where) != DNGN_ENTER_SHOP) return (NULL); - // find shop + // Find shop. for (int shoppy = 0; shoppy < MAX_SHOPS; shoppy ++) { - // find shop index plus a little bit of paranoia - if (env.shop[shoppy].pos == where && - env.shop[shoppy].type != SHOP_UNASSIGNED) + // Find shop index plus a little bit of paranoia. + if (env.shop[shoppy].pos == where + && env.shop[shoppy].type != SHOP_UNASSIGNED) { return (&env.shop[shoppy]); } diff --git a/crawl-ref/source/shopping.h b/crawl-ref/source/shopping.h index 8cdb713626..67930c6fe3 100644 --- a/crawl-ref/source/shopping.h +++ b/crawl-ref/source/shopping.h @@ -18,6 +18,7 @@ int randart_value( const item_def &item ); // ident == true overrides the item ident level and gives the price // as if the item was fully id'd unsigned int item_value( item_def item, bool ident = false ); +bool shop_is_closed(const coord_def &where); void shop(); shop_struct *get_shop(const coord_def& where); diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index b6a584da64..b192db52e8 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -2245,7 +2245,12 @@ static int _tileidx_trap(trap_type type) static int _tileidx_shop(coord_def where) { + if (shop_is_closed(where)) + return TILE_SHOP_CLOSED; + const shop_struct *shop = get_shop(where); + if (!shop) + return TILE_ERROR; switch (shop->type) { @@ -2315,12 +2320,22 @@ int tileidx_feature(int object, int gx, int gy) } return TILE_DNGN_DEEP_WATER; case DNGN_SHALLOW_WATER: + { + int t = TILE_DNGN_SHALLOW_WATER; if (_is_sewers() || env.grid_colours[gx][gy] == GREEN || env.grid_colours[gx][gy] == LIGHTGREEN) { - return TILE_DNGN_SHALLOW_WATER_MURKY; + t = TILE_DNGN_SHALLOW_WATER_MURKY; } - return TILE_DNGN_SHALLOW_WATER; + if (mgrd[gx][gy] != NON_MONSTER) + { + monsters *mon = &menv[mgrd[gx][gy]]; + // Add disturbance to tile. + if (mons_is_submerged(mon)) + t++; + } + return (t); + } case DNGN_FLOOR: case DNGN_UNDISCOVERED_TRAP: return TILE_FLOOR_NORMAL; @@ -2634,7 +2649,7 @@ static inline void _finalize_tile(unsigned int *tile, // TODO enne - expose this as an option, so ziggurat can use it too. // Alternatively, allow the stone type to be set. - // + // // Hack: Swap rock/stone in crypt and tomb, because there are // only stone walls. if ((you.where_are_you == BRANCH_CRYPT || you.where_are_you == BRANCH_TOMB) diff --git a/crawl-ref/source/tilesdl.cc b/crawl-ref/source/tilesdl.cc index 039a542321..0fecc43dd4 100644 --- a/crawl-ref/source/tilesdl.cc +++ b/crawl-ref/source/tilesdl.cc @@ -190,6 +190,8 @@ bool TilesFramework::initialise() return false; } + init_player_map(); + m_region_tile = new DungeonRegion(&m_image, m_fonts[lbl_font].font, TILE_X, TILE_Y); m_region_map = new MapRegion(Options.tile_map_pixels); |