diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/arena.cc | 17 | ||||
-rw-r--r-- | crawl-ref/source/itemname.cc | 6 |
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); |