diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-09 16:45:55 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-10-09 16:45:55 +0000 |
commit | bf1c223c6c1d0909443249be9f60c9a4aabfcd7d (patch) | |
tree | 9a315d5e9a861734ecd83dc7fae8c859524f2aa0 | |
parent | 49d51f5e3057f2d209d9dd96e55b68d46ed97cd9 (diff) | |
download | crawl-ref-bf1c223c6c1d0909443249be9f60c9a4aabfcd7d.tar.gz crawl-ref-bf1c223c6c1d0909443249be9f60c9a4aabfcd7d.zip |
Trunk->0.3 merge: branded weapon/armour is always visibly special.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.3@2399 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r-- | crawl-ref/source/makeitem.cc | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc index aa20fdc9d4..c44e406385 100644 --- a/crawl-ref/source/makeitem.cc +++ b/crawl-ref/source/makeitem.cc @@ -2214,12 +2214,10 @@ int items( int allow_uniques, // not just true-false, } // if not given a racial type, and special, give shiny/runed/etc desc. - if (get_equip_race(mitm[p]) == 0 - && get_equip_desc(mitm[p]) == 0 - && (((is_random_artefact(mitm[p]) - || get_armour_ego_type( mitm[p] ) != SPARM_NORMAL) - && !one_chance_in(10)) - || (mitm[p].plus != 0 && one_chance_in(3)))) + if (get_equip_desc(mitm[p]) == 0 + && (is_random_artefact(mitm[p]) + || get_armour_ego_type( mitm[p] ) != SPARM_NORMAL + || (mitm[p].plus != 0 && !one_chance_in(3)))) { switch (random2(3)) { @@ -2900,19 +2898,15 @@ void init_rod_mp(item_def &item) static bool weapon_is_visibly_special(const item_def &item) { const int brand = get_weapon_brand(item); - const bool visibly_branded = - brand != SPWPN_NORMAL && brand != SPWPN_DISTORTION; + const bool visibly_branded = brand != SPWPN_NORMAL; - return (((is_random_artefact(item) || visibly_branded) - && !one_chance_in(10)) + return ((is_random_artefact(item) || visibly_branded) || ((item.plus != 0 || item.plus2 != 0) - && one_chance_in(3) - && brand != SPWPN_DISTORTION)) + && !one_chance_in(3))) && item.sub_type != WPN_CLUB && item.sub_type != WPN_GIANT_CLUB && item.sub_type != WPN_GIANT_SPIKED_CLUB - && get_equip_desc(item) == 0 - && get_equip_race(item) == 0; + && get_equip_desc(item) == 0; } static void give_monster_item( @@ -3941,14 +3935,19 @@ void give_armour(monsters *mon, int level) case MONS_DRACONIAN_ZEALOT: case MONS_DRACONIAN_KNIGHT: case MONS_TIAMAT: - case MONS_ORC_WIZARD: case MONS_WIZARD: - case MONS_BLORK_THE_ORC: item_race = MAKE_ITEM_NO_RACE; mitm[bp].base_type = OBJ_ARMOUR; mitm[bp].sub_type = ARM_ROBE; break; + case MONS_ORC_WIZARD: + case MONS_BLORK_THE_ORC: + item_race = MAKE_ITEM_ORCISH; + mitm[bp].base_type = OBJ_ARMOUR; + mitm[bp].sub_type = ARM_ROBE; + break; + case MONS_BORIS: level = MAKE_GOOD_ITEM; // fall-through |