summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-07 23:44:02 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-07 23:44:02 +0000
commitcdd74d0b4618ad1f8f02ee18036283c6c2214b3d (patch)
tree10aad41074679ccdf7d78a953171482e81bc53a8 /crawl-ref/source
parentf4d7abfdc292ea48cc3fcd1a8c98e0f22abd28f6 (diff)
downloadcrawl-ref-cdd74d0b4618ad1f8f02ee18036283c6c2214b3d.tar.gz
crawl-ref-cdd74d0b4618ad1f8f02ee18036283c6c2214b3d.zip
Actually replace sold out shops with the new feature DNGN_ABANDONED_SHOP.
This makes comparisons much easier and also avoids giving away information about far away shops being opened/closed. (This was only an issue if a shop only held blood potions that rotted away, but still.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7775 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/acr.cc8
-rw-r--r--crawl-ref/source/dat/descript/features.txt2
-rw-r--r--crawl-ref/source/directn.cc31
-rw-r--r--crawl-ref/source/enum.h3
-rw-r--r--crawl-ref/source/luadgn.cc3
-rw-r--r--crawl-ref/source/misc.cc2
-rw-r--r--crawl-ref/source/overmap.cc7
-rw-r--r--crawl-ref/source/rltiles/dc-dngn.txt2
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/shops/dngn_abandoned_shop.png (renamed from crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png)bin1641 -> 1641 bytes
-rw-r--r--crawl-ref/source/shopping.cc17
-rw-r--r--crawl-ref/source/shopping.h1
-rw-r--r--crawl-ref/source/stash.cc14
-rw-r--r--crawl-ref/source/tilepick.cc5
-rw-r--r--crawl-ref/source/view.cc196
14 files changed, 146 insertions, 145 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index c896fceb19..0b4ea44422 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -571,14 +571,14 @@ static void _do_wizard_command(int wiz_command, bool silent_fail)
mpr("Fake item as gift from which god (ENTER to leave alone): ",
MSGCH_PROMPT);
- char name[80];
+ char name[80];
if (!cancelable_get_line( name, sizeof( name ) ) && name[0])
{
god_type god = string_to_god(name, false);
if (god == GOD_NO_GOD)
mpr("No such god, leaving item origin alone.");
else
- {
+ {
mprf("God gift of %s.", god_name(god, false).c_str());
item.orig_monnum = -god;
}
@@ -591,7 +591,7 @@ static void _do_wizard_command(int wiz_command, bool silent_fail)
mpr("Failed to turn book into randart.");
break;
}
- }
+ }
else if (!make_item_randart( item ))
{
mpr("Failed to turn item into randart.");
@@ -1754,6 +1754,8 @@ static void _go_upstairs()
{
if (ygrd == DNGN_STONE_ARCH)
mpr("There is nothing on the other side of the stone arch.");
+ else if (ygrd == DNGN_ABANDONED_SHOP)
+ mpr("This shop appears to be closed.");
else
mpr("You can't go up here!");
return;
diff --git a/crawl-ref/source/dat/descript/features.txt b/crawl-ref/source/dat/descript/features.txt
index 76f8f8b2ea..3a916ee90b 100644
--- a/crawl-ref/source/dat/descript/features.txt
+++ b/crawl-ref/source/dat/descript/features.txt
@@ -272,6 +272,8 @@ sufficient heat.
%%%%
A wall of the weird stuff which makes up Pandemonium
%%%%
+An abandoned shop
+%%%%
An ancient bone altar of Kikubaaqudgha
%%%%
An empty arch of ancient stone
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index a2f96ef24a..d6d09117d8 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -1573,11 +1573,8 @@ std::string get_terse_square_desc(const coord_def &gc)
{
if (is_terrain_seen(gc))
{
- desc = feature_description(gc, false, DESC_PLAIN, false);
- if (!see_grid(gc))
- {
- desc = "[" + desc + "]";
- }
+ desc = "[" + feature_description(gc, false, DESC_PLAIN, false)
+ + "]";
is_feature = true;
}
else
@@ -2193,10 +2190,12 @@ static void _describe_feature(const coord_def& where, bool oos)
return;
dungeon_feature_type grid = grd(where);
- if ( grid == DNGN_SECRET_DOOR )
+ if (grid == DNGN_SECRET_DOOR)
grid = grid_secret_door_appearance(where);
- std::string desc = feature_description(grid);
+ std::string desc;
+ desc = feature_description(grid);
+
if (desc.length())
{
if (oos)
@@ -2429,6 +2428,8 @@ std::string raw_feature_description(dungeon_feature_type grid,
return ("natural trap");
case DNGN_ENTER_SHOP:
return ("shop");
+ case DNGN_ABANDONED_SHOP:
+ return ("abandoned shop");
case DNGN_ENTER_LABYRINTH:
return ("labyrinth entrance");
case DNGN_ENTER_DIS:
@@ -2575,10 +2576,10 @@ std::string feature_description(const coord_def& where, bool bloody,
description_level_type dtype, bool add_stop)
{
dungeon_feature_type grid = grd(where);
- if ( grid == DNGN_SECRET_DOOR )
+ if (grid == DNGN_SECRET_DOOR)
grid = grid_secret_door_appearance(where);
- if ( grid == DNGN_OPEN_DOOR || grid == DNGN_CLOSED_DOOR )
+ if (grid == DNGN_OPEN_DOOR || grid == DNGN_CLOSED_DOOR)
{
std::set<coord_def> all_door;
find_connected_identical(where, grd(where), all_door);
@@ -2602,16 +2603,12 @@ std::string feature_description(const coord_def& where, bool bloody,
case DNGN_TRAP_NATURAL:
return (feature_description(grid, get_trap_type(where), bloody,
dtype, add_stop));
+ case DNGN_ABANDONED_SHOP:
+ return thing_do_grammar(dtype, add_stop, false, "An abandoned shop");
+
case DNGN_ENTER_SHOP:
- {
- std::string desc = "";
- if (shop_is_closed(where))
- {
- desc = "An abandoned shop";
- return thing_do_grammar(dtype, add_stop, false, desc);
- }
return shop_name(where, add_stop);
- }
+
case DNGN_ENTER_PORTAL_VAULT:
return (thing_do_grammar(
dtype, add_stop, false,
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index dbc544072f..e8eaf0cf59 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -894,7 +894,7 @@ enum dungeon_char_type
// * Any: edit direct.cc and add a description for the feature.
// * Any: edit dat/descript.txt and add a long description if appropriate.
// * Any: check the grid_* functions in misc.cc and make sure
-// they return sane values for your new feature.
+// they return sane values for your new feature.
// * Any: edit dungeon.cc and add a symbol to map_feature() and
// vault_grid() for the feature, if you want vault maps to
// be able to use it. If you do, also update
@@ -1072,6 +1072,7 @@ enum dungeon_feature_type
DNGN_DRY_FOUNTAIN_SPARKLING,
DNGN_DRY_FOUNTAIN_BLOOD, // 205
DNGN_PERMADRY_FOUNTAIN,
+ DNGN_ABANDONED_SHOP,
NUM_REAL_FEATURES, // 207
diff --git a/crawl-ref/source/luadgn.cc b/crawl-ref/source/luadgn.cc
index 3779029295..79a97ed07b 100644
--- a/crawl-ref/source/luadgn.cc
+++ b/crawl-ref/source/luadgn.cc
@@ -1247,7 +1247,8 @@ const char *dngn_feature_names[] =
"altar_nemelex_xobeh", "altar_elyvilon", "altar_lugonu",
"altar_beogh", "", "", "", "", "", "", "fountain_blue",
"fountain_sparkling", "fountain_blood", "dry_fountain_blue",
- "dry_fountain_sparkling", "dry_fountain_blood", "permadry_fountain"
+ "dry_fountain_sparkling", "dry_fountain_blood", "permadry_fountain",
+ "abandoned_shop"
};
dungeon_feature_type dungeon_feature_by_name(const std::string &name)
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index a2f099a45d..7335e90b26 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -1683,6 +1683,8 @@ void up_stairs(dungeon_feature_type force_stair,
{
if (stair_find == DNGN_STONE_ARCH)
mpr("There is nothing on the other side of the stone arch.");
+ else if (stair_find == DNGN_ABANDONED_SHOP)
+ mpr("This shop appears to be closed.");
else
mpr("You can't go up here.");
return;
diff --git a/crawl-ref/source/overmap.cc b/crawl-ref/source/overmap.cc
index 9363db3d21..cc371f4165 100644
--- a/crawl-ref/source/overmap.cc
+++ b/crawl-ref/source/overmap.cc
@@ -410,7 +410,7 @@ std::string overview_description_string()
last_id.depth = 10000;
std::map<level_pos, shop_type>::const_iterator ci_shops;
- // there are at most 5 shops per level, plus 7 chars for the level
+ // There are at most 5 shops per level, plus 7 chars for the level
// name, plus 4 for the spacing; that makes a total of 17
// characters per shop.
const int maxcolumn = get_number_of_cols() - 17;
@@ -662,8 +662,7 @@ void _seen_other_thing( dungeon_feature_type which_thing, const coord_def& pos )
switch (which_thing)
{
case DNGN_ENTER_SHOP:
- if (!shop_is_closed(pos))
- shops_present[where] = static_cast<shop_type>(get_shop(pos)->type);
+ shops_present[where] = static_cast<shop_type>(get_shop(pos)->type);
break;
case DNGN_ENTER_PORTAL_VAULT:
@@ -696,7 +695,7 @@ void _seen_other_thing( dungeon_feature_type which_thing, const coord_def& pos )
default:
const portal_type portal = feature_to_portal(which_thing);
- if ( portal != PORTAL_NONE )
+ if (portal != PORTAL_NONE)
portals_present[where] = portal;
break;
}
diff --git a/crawl-ref/source/rltiles/dc-dngn.txt b/crawl-ref/source/rltiles/dc-dngn.txt
index b2e577261e..40ffda2fb2 100644
--- a/crawl-ref/source/rltiles/dc-dngn.txt
+++ b/crawl-ref/source/rltiles/dc-dngn.txt
@@ -378,7 +378,7 @@ shop_jewellery SHOP_JEWELLERY
shop_potions SHOP_POTIONS
%back none
%shrink 1
-dngn_enter_shop_closed SHOP_CLOSED
+dngn_abandoned_shop ABANDONED_SHOP
%sdir dc-dngn
dngn_enter_labyrinth DNGN_ENTER_LABYRINTH
diff --git a/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_abandoned_shop.png
index 20cb78aa03..20cb78aa03 100644
--- a/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png
+++ b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_abandoned_shop.png
Binary files differ
diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc
index 025b9ef4d8..0f211aa221 100644
--- a/crawl-ref/source/shopping.cc
+++ b/crawl-ref/source/shopping.cc
@@ -1668,14 +1668,11 @@ 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)
+static void _delete_shop(int i)
{
- for (int i = 0; i < MAX_SHOPS; i++)
- if (env.shop[i].pos == where)
- return _shop_get_stock(i).empty();
-
- return (false);
+ grd(you.pos()) = DNGN_ABANDONED_SHOP;
+// env.shop.erase(i);
+ unnotice_feature(level_pos(level_id::current(), you.pos()));
}
void shop()
@@ -1697,20 +1694,22 @@ void shop()
{
const shop_struct& shop = env.shop[i];
mprf("%s appears to be closed.", shop_name(shop.pos).c_str());
+ _delete_shop(i);
return;
}
const bool bought_something = _in_a_shop(i);
+ const std::string shopname = shop_name(env.shop[i].pos);
// If the shop is now empty, erase it from the overmap.
if ( _shop_get_stock(i).empty() )
- unnotice_feature(level_pos(level_id::current(), you.pos()));
+ _delete_shop(i);
burden_change();
redraw_screen();
if (bought_something)
- mprf("Thank you for shopping at %s!", shop_name(env.shop[i].pos).c_str());
+ mprf("Thank you for shopping at %s!", shopname.c_str());
}
shop_struct *get_shop(const coord_def& where)
diff --git a/crawl-ref/source/shopping.h b/crawl-ref/source/shopping.h
index 67930c6fe3..8cdb713626 100644
--- a/crawl-ref/source/shopping.h
+++ b/crawl-ref/source/shopping.h
@@ -18,7 +18,6 @@ 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/stash.cc b/crawl-ref/source/stash.cc
index a9b921f1c8..e2840eb12c 100644
--- a/crawl-ref/source/stash.cc
+++ b/crawl-ref/source/stash.cc
@@ -118,13 +118,13 @@ void describe_stash(int x, int y)
if (s)
{
std::string desc = "[Stash: "
- + s->description() + "]";
+ + s->description() + "]";
mpr(desc.c_str(), MSGCH_EXAMINE_FILTER);
}
}
}
-static void fully_identify_item(item_def *item)
+static void _fully_identify_item(item_def *item)
{
if (!item || !is_valid_item(*item))
return;
@@ -254,6 +254,7 @@ bool Stash::is_boring_feature(dungeon_feature_type feat)
case DNGN_ESCAPE_HATCH_DOWN:
case DNGN_ESCAPE_HATCH_UP:
case DNGN_ENTER_SHOP:
+ case DNGN_ABANDONED_SHOP:
case DNGN_UNDISCOVERED_TRAP:
return (true);
default:
@@ -653,7 +654,7 @@ void Stash::write(std::ostream &os, int refx, int refy,
item_def item = items[i];
if (identify)
- fully_identify_item(&item);
+ _fully_identify_item(&item);
std::string s = stash_item_name(item);
strncpy(buf, s.c_str(), sizeof buf);
@@ -961,7 +962,7 @@ void ShopInfo::write(std::ostream &os, bool identify) const
shop_item item = items[i];
if (identify)
- fully_identify_item(&item.item);
+ _fully_identify_item(&item.item);
os << " " << shop_item_name(item) << std::endl;
std::string desc = shop_item_desc(item);
@@ -1186,8 +1187,7 @@ int LevelStashes::_num_enabled_stashes() const
void LevelStashes::get_matching_stashes(
const base_pattern &search,
- std::vector<stash_search_result> &results)
- const
+ std::vector<stash_search_result> &results) const
{
std::string lplace = "{" + m_place.describe() + "}";
for (stashes_t::const_iterator iter = m_stashes.begin();
@@ -1438,7 +1438,6 @@ void StashTracker::update_visible_stashes(
LevelStashes *lev = find_current_level();
for (int cy = crawl_view.glos1.y; cy <= crawl_view.glos2.y; ++cy)
- {
for (int cx = crawl_view.glos1.x; cx <= crawl_view.glos2.x; ++cx)
{
if (!in_bounds(cx, cy) || !see_grid(cx, cy))
@@ -1458,7 +1457,6 @@ void StashTracker::update_visible_stashes(
if (grid == DNGN_ENTER_SHOP)
get_shop(cx, cy);
}
- }
if (lev && !lev->stash_count())
remove_level();
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index b192db52e8..f868e555cd 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -2245,9 +2245,6 @@ 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;
@@ -2349,6 +2346,8 @@ int tileidx_feature(int object, int gx, int gy)
return _tileidx_trap(get_trap_type(coord_def(gx, gy)));
case DNGN_ENTER_SHOP:
return _tileidx_shop(coord_def(gx,gy));
+ case DNGN_ABANDONED_SHOP:
+ return TILE_DNGN_ABANDONED_SHOP;
case DNGN_ENTER_LABYRINTH:
return TILE_DNGN_ENTER_LABYRINTH;
case DNGN_STONE_STAIRS_DOWN_I:
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 552071e5de..45cfbb0a74 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -464,12 +464,9 @@ static void _get_symbol( const coord_def& where,
}
else
{
- // Colour closed shops grey.
- if (grd(where) == DNGN_ENTER_SHOP && shop_is_closed(where))
- *colour = LIGHTGREY | colmask;
// Don't clobber with BLACK, because the colour should be
// already set.
- else if (fdef.colour != BLACK)
+ if (fdef.colour != BLACK)
*colour = fdef.colour | colmask;
if (fdef.em_colour != fdef.colour && fdef.em_colour)
@@ -679,9 +676,6 @@ screen_buffer_t colour_code_map( const coord_def& p, bool item_colour,
const bool terrain_seen = is_terrain_seen(p);
const feature_def &fdef = Feature[grid_value];
feature_colour = terrain_seen? fdef.seen_colour : fdef.map_colour;
- // Colour closed shops grey.
- if (terrain_seen && grd(p) == DNGN_ENTER_SHOP && shop_is_closed(p))
- feature_colour = LIGHTGREY;
if (terrain_seen && feature_colour != fdef.seen_em_colour
&& fdef.seen_em_colour)
@@ -2819,6 +2813,7 @@ bool is_feature(int feature, const coord_def& where)
case DNGN_ENTER_PORTAL_VAULT:
case DNGN_EXIT_PORTAL_VAULT:
case DNGN_ENTER_SHOP:
+ case DNGN_ABANDONED_SHOP:
case DNGN_ENTER_DIS:
case DNGN_ENTER_GEHENNA:
case DNGN_ENTER_COCYTUS:
@@ -3999,14 +3994,14 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_WALL;
Feature[i].colour = EC_ROCK;
Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ];
- Feature[i].minimap = MF_WALL;
+ Feature[i].minimap = MF_WALL;
break;
case DNGN_STONE_WALL:
Feature[i].dchar = DCHAR_WALL;
Feature[i].colour = EC_STONE;
Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ];
- Feature[i].minimap = MF_WALL;
+ Feature[i].minimap = MF_WALL;
break;
case DNGN_CLEAR_ROCK_WALL:
@@ -4015,19 +4010,19 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_WALL;
Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ];
Feature[i].colour = LIGHTCYAN;
- Feature[i].minimap = MF_WALL;
+ Feature[i].minimap = MF_WALL;
break;
case DNGN_OPEN_DOOR:
- Feature[i].dchar = DCHAR_DOOR_OPEN;
- Feature[i].colour = LIGHTGREY;
+ Feature[i].dchar = DCHAR_DOOR_OPEN;
+ Feature[i].colour = LIGHTGREY;
Feature[i].minimap = MF_DOOR;
break;
case DNGN_CLOSED_DOOR:
- Feature[i].dchar = DCHAR_DOOR_CLOSED;
- Feature[i].colour = LIGHTGREY;
+ Feature[i].dchar = DCHAR_DOOR_CLOSED;
+ Feature[i].colour = LIGHTGREY;
Feature[i].minimap = MF_DOOR;
break;
@@ -4035,7 +4030,7 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_WALL;
Feature[i].colour = CYAN;
Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ];
- Feature[i].minimap = MF_WALL;
+ Feature[i].minimap = MF_WALL;
break;
case DNGN_SECRET_DOOR:
@@ -4043,19 +4038,19 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_WALL;
Feature[i].colour = EC_ROCK;
Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ];
- Feature[i].minimap = MF_WALL;
+ Feature[i].minimap = MF_WALL;
break;
case DNGN_GREEN_CRYSTAL_WALL:
Feature[i].dchar = DCHAR_WALL;
Feature[i].colour = GREEN;
Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ];
- Feature[i].minimap = MF_WALL;
+ Feature[i].minimap = MF_WALL;
break;
case DNGN_ORCISH_IDOL:
- Feature[i].dchar = DCHAR_STATUE;
- Feature[i].colour = BROWN; // same as clay golem, I hope that's okay
+ Feature[i].dchar = DCHAR_STATUE;
+ Feature[i].colour = BROWN; // same as clay golem, I hope that's okay
Feature[i].minimap = MF_WALL;
break;
@@ -4063,30 +4058,30 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_WALL;
Feature[i].colour = YELLOW;
Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ];
- Feature[i].minimap = MF_WALL;
+ Feature[i].minimap = MF_WALL;
break;
case DNGN_GRANITE_STATUE:
- Feature[i].dchar = DCHAR_STATUE;
- Feature[i].colour = DARKGREY;
+ Feature[i].dchar = DCHAR_STATUE;
+ Feature[i].colour = DARKGREY;
Feature[i].minimap = MF_WALL;
break;
case DNGN_LAVA:
- Feature[i].dchar = DCHAR_WAVY;
- Feature[i].colour = RED;
+ Feature[i].dchar = DCHAR_WAVY;
+ Feature[i].colour = RED;
Feature[i].minimap = MF_LAVA;
break;
case DNGN_DEEP_WATER:
- Feature[i].dchar = DCHAR_WAVY;
- Feature[i].colour = BLUE;
+ Feature[i].dchar = DCHAR_WAVY;
+ Feature[i].colour = BLUE;
Feature[i].minimap = MF_WATER;
break;
case DNGN_SHALLOW_WATER:
- Feature[i].dchar = DCHAR_WAVY;
- Feature[i].colour = CYAN;
+ Feature[i].dchar = DCHAR_WAVY;
+ Feature[i].colour = CYAN;
Feature[i].minimap = MF_WATER;
break;
@@ -4094,14 +4089,14 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_FLOOR;
Feature[i].colour = EC_FLOOR;
Feature[i].magic_symbol = Options.char_table[ DCHAR_FLOOR_MAGIC ];
- Feature[i].minimap = MF_FLOOR;
+ Feature[i].minimap = MF_FLOOR;
break;
case DNGN_FLOOR_SPECIAL:
Feature[i].dchar = DCHAR_FLOOR;
Feature[i].colour = YELLOW;
Feature[i].magic_symbol = Options.char_table[ DCHAR_FLOOR_MAGIC ];
- Feature[i].minimap = MF_FLOOR;
+ Feature[i].minimap = MF_FLOOR;
break;
case DNGN_EXIT_HELL:
@@ -4109,7 +4104,7 @@ void init_feature_table( void )
Feature[i].colour = LIGHTRED;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = LIGHTRED;
- Feature[i].minimap = MF_STAIR_UP;
+ Feature[i].minimap = MF_STAIR_UP;
break;
case DNGN_ENTER_HELL:
@@ -4118,35 +4113,35 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = RED;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_TRAP_MECHANICAL:
Feature[i].colour = LIGHTCYAN;
Feature[i].dchar = DCHAR_TRAP;
Feature[i].map_colour = LIGHTCYAN;
- Feature[i].minimap = MF_TRAP;
+ Feature[i].minimap = MF_TRAP;
break;
case DNGN_TRAP_MAGICAL:
Feature[i].colour = MAGENTA;
Feature[i].dchar = DCHAR_TRAP;
Feature[i].map_colour = MAGENTA;
- Feature[i].minimap = MF_TRAP;
+ Feature[i].minimap = MF_TRAP;
break;
case DNGN_TRAP_NATURAL:
Feature[i].colour = BROWN;
Feature[i].dchar = DCHAR_TRAP;
Feature[i].map_colour = BROWN;
- Feature[i].minimap = MF_TRAP;
+ Feature[i].minimap = MF_TRAP;
break;
case DNGN_UNDISCOVERED_TRAP:
Feature[i].dchar = DCHAR_FLOOR;
Feature[i].colour = EC_FLOOR;
Feature[i].magic_symbol = Options.char_table[ DCHAR_FLOOR_MAGIC ];
- Feature[i].minimap = MF_FLOOR;
+ Feature[i].minimap = MF_FLOOR;
break;
case DNGN_ENTER_SHOP:
@@ -4155,7 +4150,14 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = YELLOW;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
+ break;
+
+ case DNGN_ABANDONED_SHOP:
+ Feature[i].colour = LIGHTGREY;
+ Feature[i].dchar = DCHAR_ARCH;
+ Feature[i].map_colour = LIGHTGREY;
+ Feature[i].minimap = MF_FLOOR;
break;
case DNGN_ENTER_LABYRINTH:
@@ -4164,7 +4166,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = CYAN;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ENTER_PORTAL_VAULT:
@@ -4176,14 +4178,14 @@ void init_feature_table( void )
Feature[i].colour = EC_SHIMMER_BLUE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = EC_SHIMMER_BLUE;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ESCAPE_HATCH_DOWN:
Feature[i].dchar = DCHAR_STAIRS_DOWN;
Feature[i].colour = BROWN;
Feature[i].map_colour = BROWN;
- Feature[i].minimap = MF_STAIR_DOWN;
+ Feature[i].minimap = MF_STAIR_DOWN;
break;
case DNGN_STONE_STAIRS_DOWN_I:
@@ -4194,14 +4196,14 @@ void init_feature_table( void )
Feature[i].em_colour = WHITE;
Feature[i].map_colour = RED;
Feature[i].seen_em_colour = WHITE;
- Feature[i].minimap = MF_STAIR_DOWN;
+ Feature[i].minimap = MF_STAIR_DOWN;
break;
case DNGN_ESCAPE_HATCH_UP:
Feature[i].dchar = DCHAR_STAIRS_UP;
Feature[i].colour = BROWN;
Feature[i].map_colour = BROWN;
- Feature[i].minimap = MF_STAIR_UP;
+ Feature[i].minimap = MF_STAIR_UP;
break;
case DNGN_STONE_STAIRS_UP_I:
@@ -4212,7 +4214,7 @@ void init_feature_table( void )
Feature[i].map_colour = GREEN;
Feature[i].em_colour = WHITE;
Feature[i].seen_em_colour = WHITE;
- Feature[i].minimap = MF_STAIR_UP;
+ Feature[i].minimap = MF_STAIR_UP;
break;
case DNGN_ENTER_DIS:
@@ -4221,7 +4223,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = CYAN;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ENTER_GEHENNA:
@@ -4230,7 +4232,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = RED;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ENTER_COCYTUS:
@@ -4239,7 +4241,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = LIGHTCYAN;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ENTER_TARTARUS:
@@ -4248,7 +4250,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = DARKGREY;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ENTER_ABYSS:
@@ -4257,21 +4259,21 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = EC_RANDOM;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_EXIT_ABYSS:
Feature[i].colour = EC_RANDOM;
Feature[i].dchar = DCHAR_ARCH;
Feature[i].map_colour = EC_RANDOM;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_STONE_ARCH:
Feature[i].colour = LIGHTGREY;
Feature[i].dchar = DCHAR_ARCH;
Feature[i].map_colour = LIGHTGREY;
- Feature[i].minimap = MF_FLOOR;
+ Feature[i].minimap = MF_FLOOR;
break;
case DNGN_ENTER_PANDEMONIUM:
@@ -4280,7 +4282,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = LIGHTBLUE;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_EXIT_PANDEMONIUM:
@@ -4289,7 +4291,7 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_ARCH;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = LIGHTBLUE;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_TRANSIT_PANDEMONIUM:
@@ -4297,7 +4299,7 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_ARCH;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = LIGHTGREEN;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ENTER_ORCISH_MINES:
@@ -4321,7 +4323,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = RED;
Feature[i].seen_colour = YELLOW;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ENTER_ZOT:
@@ -4330,7 +4332,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = MAGENTA;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_RETURN_FROM_ORCISH_MINES:
@@ -4353,7 +4355,7 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_STAIRS_UP;
Feature[i].map_colour = GREEN;
Feature[i].seen_colour = YELLOW;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_RETURN_FROM_ZOT:
@@ -4361,7 +4363,7 @@ void init_feature_table( void )
Feature[i].dchar = DCHAR_ARCH;
Feature[i].map_colour = LIGHTGREY;
Feature[i].seen_colour = MAGENTA;
- Feature[i].minimap = MF_STAIR_BRANCH;
+ Feature[i].minimap = MF_STAIR_BRANCH;
break;
case DNGN_ALTAR_ZIN:
@@ -4370,7 +4372,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = WHITE;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_SHINING_ONE:
@@ -4379,7 +4381,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = YELLOW;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_KIKUBAAQUDGHA:
@@ -4388,7 +4390,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = DARKGREY;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_YREDELEMNUL:
@@ -4397,7 +4399,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = EC_UNHOLY;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_XOM:
@@ -4406,7 +4408,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = EC_RANDOM;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_VEHUMET:
@@ -4415,7 +4417,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = EC_VEHUMET;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_OKAWARU:
@@ -4424,7 +4426,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = CYAN;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_MAKHLEB:
@@ -4433,7 +4435,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = EC_FIRE;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_SIF_MUNA:
@@ -4442,7 +4444,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = BLUE;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_TROG:
@@ -4451,7 +4453,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = RED;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_NEMELEX_XOBEH:
@@ -4460,7 +4462,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = LIGHTMAGENTA;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_ELYVILON:
@@ -4469,7 +4471,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = LIGHTGREY;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_LUGONU:
@@ -4478,7 +4480,7 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = GREEN;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_ALTAR_BEOGH:
@@ -4487,24 +4489,24 @@ void init_feature_table( void )
Feature[i].flags |= FFT_NOTABLE;
Feature[i].map_colour = DARKGREY;
Feature[i].seen_colour = EC_BEOGH;
- Feature[i].minimap = MF_FEATURE;
+ Feature[i].minimap = MF_FEATURE;
break;
case DNGN_FOUNTAIN_BLUE:
- Feature[i].colour = BLUE;
- Feature[i].dchar = DCHAR_FOUNTAIN;
+ Feature[i].colour = BLUE;
+ Feature[i].dchar = DCHAR_FOUNTAIN;
Feature[i].minimap = MF_FEATURE;
break;
case DNGN_FOUNTAIN_SPARKLING:
- Feature[i].colour = LIGHTBLUE;
- Feature[i].dchar = DCHAR_FOUNTAIN;
+ Feature[i].colour = LIGHTBLUE;
+ Feature[i].dchar = DCHAR_FOUNTAIN;
Feature[i].minimap = MF_FEATURE;
break;
case DNGN_FOUNTAIN_BLOOD:
- Feature[i].colour = RED;
- Feature[i].dchar = DCHAR_FOUNTAIN;
+ Feature[i].colour = RED;
+ Feature[i].dchar = DCHAR_FOUNTAIN;
Feature[i].minimap = MF_FEATURE;
break;
@@ -4512,98 +4514,98 @@ void init_feature_table( void )
case DNGN_DRY_FOUNTAIN_SPARKLING:
case DNGN_DRY_FOUNTAIN_BLOOD:
case DNGN_PERMADRY_FOUNTAIN:
- Feature[i].colour = LIGHTGREY;
- Feature[i].dchar = DCHAR_FOUNTAIN;
+ Feature[i].colour = LIGHTGREY;
+ Feature[i].dchar = DCHAR_FOUNTAIN;
Feature[i].minimap = MF_FEATURE;
break;
case DNGN_INVIS_EXPOSED:
- Feature[i].dchar = DCHAR_INVIS_EXPOSED;
+ Feature[i].dchar = DCHAR_INVIS_EXPOSED;
Feature[i].minimap = MF_MONS_HOSTILE;
break;
case DNGN_ITEM_DETECTED:
- Feature[i].dchar = DCHAR_ITEM_DETECTED;
+ Feature[i].dchar = DCHAR_ITEM_DETECTED;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_ORB:
- Feature[i].dchar = DCHAR_ITEM_ORB;
+ Feature[i].dchar = DCHAR_ITEM_ORB;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_WEAPON:
- Feature[i].dchar = DCHAR_ITEM_WEAPON;
+ Feature[i].dchar = DCHAR_ITEM_WEAPON;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_ARMOUR:
- Feature[i].dchar = DCHAR_ITEM_ARMOUR;
+ Feature[i].dchar = DCHAR_ITEM_ARMOUR;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_WAND:
- Feature[i].dchar = DCHAR_ITEM_WAND;
+ Feature[i].dchar = DCHAR_ITEM_WAND;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_FOOD:
- Feature[i].dchar = DCHAR_ITEM_FOOD;
+ Feature[i].dchar = DCHAR_ITEM_FOOD;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_SCROLL:
- Feature[i].dchar = DCHAR_ITEM_SCROLL;
+ Feature[i].dchar = DCHAR_ITEM_SCROLL;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_RING:
- Feature[i].dchar = DCHAR_ITEM_RING;
+ Feature[i].dchar = DCHAR_ITEM_RING;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_POTION:
- Feature[i].dchar = DCHAR_ITEM_POTION;
+ Feature[i].dchar = DCHAR_ITEM_POTION;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_MISSILE:
- Feature[i].dchar = DCHAR_ITEM_MISSILE;
+ Feature[i].dchar = DCHAR_ITEM_MISSILE;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_BOOK:
- Feature[i].dchar = DCHAR_ITEM_BOOK;
+ Feature[i].dchar = DCHAR_ITEM_BOOK;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_STAVE:
- Feature[i].dchar = DCHAR_ITEM_STAVE;
+ Feature[i].dchar = DCHAR_ITEM_STAVE;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_MISCELLANY:
- Feature[i].dchar = DCHAR_ITEM_MISCELLANY;
+ Feature[i].dchar = DCHAR_ITEM_MISCELLANY;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_CORPSE:
- Feature[i].dchar = DCHAR_ITEM_CORPSE;
+ Feature[i].dchar = DCHAR_ITEM_CORPSE;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_GOLD:
- Feature[i].dchar = DCHAR_ITEM_GOLD;
+ Feature[i].dchar = DCHAR_ITEM_GOLD;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_ITEM_AMULET:
- Feature[i].dchar = DCHAR_ITEM_AMULET;
+ Feature[i].dchar = DCHAR_ITEM_AMULET;
Feature[i].minimap = MF_ITEM;
break;
case DNGN_CLOUD:
- Feature[i].dchar = DCHAR_CLOUD;
+ Feature[i].dchar = DCHAR_CLOUD;
Feature[i].minimap = MF_SKIP;
break;
}