summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/arena.cc17
-rw-r--r--crawl-ref/source/itemname.cc6
2 files changed, 22 insertions, 1 deletions
diff --git a/crawl-ref/source/arena.cc b/crawl-ref/source/arena.cc
index 074f99518b..cd0b2896d2 100644
--- a/crawl-ref/source/arena.cc
+++ b/crawl-ref/source/arena.cc
@@ -757,6 +757,23 @@ bool arena_veto_random_monster(monster_type type)
void arena_placed_monster(monsters *monster, const mgen_data &mg,
bool first_band_member)
{
+ for (int i = 0; i < NUM_MONSTER_SLOTS; i++)
+ {
+ short it = monster->inv[i];
+ if (it != NON_ITEM)
+ {
+ item_def &item(mitm[it]);
+ item.flags |= ISFLAG_IDENT_MASK;
+
+ // Don't leak info on wands or potions.
+ if (item.base_type == OBJ_WANDS
+ || item.base_type == OBJ_POTIONS)
+ {
+ item.colour = random_colour();
+ }
+ }
+ }
+
if (arena::name_monsters && !monster->is_named())
monster->mname = make_name(random_int(), false);
diff --git a/crawl-ref/source/itemname.cc b/crawl-ref/source/itemname.cc
index cc17f9ce2e..7ae8372e2c 100644
--- a/crawl-ref/source/itemname.cc
+++ b/crawl-ref/source/itemname.cc
@@ -83,6 +83,10 @@ std::string item_def::name(description_level_type descrip,
bool quantity_words,
unsigned long ignore_flags) const
{
+ if (crawl_state.arena)
+ ignore_flags |= ISFLAG_KNOW_PLUSES | ISFLAG_KNOW_CURSE
+ | ISFLAG_COSMETIC_MASK;
+
if (descrip == DESC_NONE)
return ("");
@@ -1726,7 +1730,7 @@ id_arr& get_typeid_array()
void set_ident_type( item_def &item, item_type_id_state_type setting,
bool force )
{
- if (is_artefact(item))
+ if (is_artefact(item) || crawl_state.arena)
return;
item_type_id_state_type old_setting = get_ident_type(item);