summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/source/mon-data.h4
-rw-r--r--crawl-ref/source/rltiles/dc-dngn.txt35
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_enter_shop.pngbin1366 -> 0 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_disturbance.pngbin0 -> 1112 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_murky_disturbance.pngbin0 -> 1111 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop.pngbin0 -> 1514 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.pngbin0 -> 1641 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon.txt8
-rw-r--r--crawl-ref/source/rltiles/dc-mon/ice_statue.png (renamed from crawl-ref/source/rltiles/dc-dngn/dngn_ice_statue.png)bin695 -> 695 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/orange_crystal_statue.png (renamed from crawl-ref/source/rltiles/dc-dngn/dngn_orange_crystal_statue.png)bin694 -> 694 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/silver_statue.png (renamed from crawl-ref/source/rltiles/dc-dngn/dngn_silver_statue.png)bin690 -> 690 bytes
-rw-r--r--crawl-ref/source/shopping.cc17
-rw-r--r--crawl-ref/source/shopping.h1
-rw-r--r--crawl-ref/source/tilepick.cc21
-rw-r--r--crawl-ref/source/tilesdl.cc2
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
deleted file mode 100644
index 8018eaf621..0000000000
--- a/crawl-ref/source/rltiles/dc-dngn/dngn_enter_shop.png
+++ /dev/null
Binary files differ
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
new file mode 100644
index 0000000000..55fea55e82
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_disturbance.png
Binary files differ
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
new file mode 100644
index 0000000000..75d75e96eb
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_shallow_water_murky_disturbance.png
Binary files differ
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
new file mode 100644
index 0000000000..fb776a6f8e
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop.png
Binary files differ
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
new file mode 100644
index 0000000000..20cb78aa03
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png
Binary files differ
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
index fa946250bd..fa946250bd 100644
--- a/crawl-ref/source/rltiles/dc-dngn/dngn_ice_statue.png
+++ b/crawl-ref/source/rltiles/dc-mon/ice_statue.png
Binary files differ
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
index 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
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_silver_statue.png b/crawl-ref/source/rltiles/dc-mon/silver_statue.png
index ccd5986f35..ccd5986f35 100644
--- a/crawl-ref/source/rltiles/dc-dngn/dngn_silver_statue.png
+++ b/crawl-ref/source/rltiles/dc-mon/silver_statue.png
Binary files differ
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);