diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-03-20 21:17:47 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-03-20 21:17:47 +0000 |
commit | 55ac5bbc1fc165f7bd82ac9136283a416027119a (patch) | |
tree | 655527c92c0e3fc7e5e258a2f01c2d47d16a0167 /crawl-ref/source/makeitem.cc | |
parent | 54d8ea2eb8b8836a6ec8e8a7eb29549c9df80fb9 (diff) | |
download | crawl-ref-55ac5bbc1fc165f7bd82ac9136283a416027119a.tar.gz crawl-ref-55ac5bbc1fc165f7bd82ac9136283a416027119a.zip |
Another one of those mixed commits.
* Fix 1915277: Blade Hands time-out removing bardings.
* Ely's Lesser Healing costs range(0,1) piety (avg. 0.5)
* Allow synonym for "yes" in yesnoquit(), and use it for eating (e=y).
Also, in preparation for 0.4 (yes, I can't wait) finally disallow random
generation of weapons of orc slaying. Demon lords use a check of their
own and as a randart property it's also allowed, which I think is fine.
Allow random generation of nets and increase shop prices for nets and
javelins.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3766 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/makeitem.cc')
-rw-r--r-- | crawl-ref/source/makeitem.cc | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc index 5f6178d173..c4fd26ec6e 100644 --- a/crawl-ref/source/makeitem.cc +++ b/crawl-ref/source/makeitem.cc @@ -1248,9 +1248,6 @@ static brand_type determine_weapon_brand(const item_def& item, int item_level) if (one_chance_in(8)) rc = SPWPN_PROTECTION; - if (one_chance_in(10)) - rc = SPWPN_ORC_SLAYING; - if (one_chance_in(8)) rc = coinflip() ? SPWPN_FLAMING : SPWPN_FREEZING; @@ -1294,9 +1291,6 @@ static brand_type determine_weapon_brand(const item_def& item, int item_level) if (one_chance_in(7)) rc = SPWPN_PROTECTION; - if (one_chance_in(8)) - rc = SPWPN_ORC_SLAYING; - if (one_chance_in(12)) rc = SPWPN_DRAINING; @@ -1340,9 +1334,6 @@ static brand_type determine_weapon_brand(const item_def& item, int item_level) rc = SPWPN_VORPAL; } - if (one_chance_in(6)) - rc = SPWPN_ORC_SLAYING; - if (one_chance_in(4)) rc = coinflip() ? SPWPN_FLAMING : SPWPN_FREEZING; @@ -1405,9 +1396,6 @@ static brand_type determine_weapon_brand(const item_def& item, int item_level) rc = SPWPN_VORPAL; if (one_chance_in(6)) - rc = SPWPN_ORC_SLAYING; - - if (one_chance_in(6)) rc = coinflip() ? SPWPN_FLAMING : SPWPN_FREEZING; if (one_chance_in(6)) @@ -1752,6 +1740,7 @@ static void generate_missile_item(item_def& item, int force_type, 10, MI_NEEDLE, 5, MI_SLING_BULLET, 2, MI_JAVELIN, + 1, MI_THROWING_NET, 0); // no fancy rocks -- break out before we get to racial/special stuff @@ -1762,10 +1751,16 @@ static void generate_missile_item(item_def& item, int force_type, } else if (item.sub_type == MI_STONE) { - item.quantity = 1+random2(9) + random2(12) + random2(15) + random2(12); + item.quantity = 1+ random2(9) + random2(12) + random2(15) + random2(12); + return; + } + else if (item.sub_type == MI_THROWING_NET) // no fancy nets, either + { + item.quantity = 1 + one_chance_in(4); // and only one, rarely two return; } + set_equip_race(item, determine_missile_race(item, item_race)); if (!no_brand) set_item_ego_type( item, OBJ_MISSILES, @@ -1779,9 +1774,9 @@ static void generate_missile_item(item_def& item, int force_type, item.quantity = random_range(2, 8); } else if (get_ammo_brand( item ) != SPMSL_NORMAL) - item.quantity = 1+random2(9) + random2(12) + random2(12); + item.quantity = 1 + random2(9) + random2(12) + random2(12); else - item.quantity = 1+random2(9) + random2(12) + random2(12) + random2(15); + item.quantity = 1+ random2(9) + random2(12) + random2(12) + random2(15); if (10 + item_level >= random2(100)) item.plus += random2(5); @@ -2772,7 +2767,7 @@ int items( int allow_uniques, // not just true-false, default: item.base_type = OBJ_GOLD; if (force_good) - item.quantity = 150+random2(150) + random2(random2(random2(2000))); + item.quantity = 150+ random2(150) + random2(random2(random2(2000))); else item.quantity = 1 + random2avg(19, 2) + random2(item_level); break; |