summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreaverb <reaverb.Crawl@gmail.com>2014-08-08 14:01:59 -0400
committerreaverb <reaverb.Crawl@gmail.com>2014-08-09 21:12:17 -0400
commitc8d9654b7708cdf094e475a08463505e5f513616 (patch)
tree8c19451f72990ebd228eeaec921f6fa7a9047f8e
parent4bd060a9edfad801ae0c7abd331b60b5e7bd6c89 (diff)
downloadcrawl-ref-c8d9654b7708cdf094e475a08463505e5f513616.tar.gz
crawl-ref-c8d9654b7708cdf094e475a08463505e5f513616.zip
Refactor whip brand generation code
Mostly because it is low hanging fruit.
-rw-r--r--crawl-ref/source/makeitem.cc39
1 files changed, 13 insertions, 26 deletions
diff --git a/crawl-ref/source/makeitem.cc b/crawl-ref/source/makeitem.cc
index fef17a51f0..62a3a57dc9 100644
--- a/crawl-ref/source/makeitem.cc
+++ b/crawl-ref/source/makeitem.cc
@@ -1010,32 +1010,19 @@ static brand_type _determine_weapon_brand(const item_def& item, int item_level)
break;
case WPN_WHIP:
- if (one_chance_in(25))
- rc = SPWPN_ANTIMAGIC;
-
- if (one_chance_in(12))
- rc = SPWPN_HOLY_WRATH;
-
- if (one_chance_in(10))
- rc = SPWPN_PAIN;
-
- if (one_chance_in(25))
- rc = SPWPN_DISTORTION;
-
- if (one_chance_in(10))
- rc = SPWPN_VAMPIRISM;
-
- if (one_chance_in(8))
- rc = SPWPN_DRAINING;
-
- if (one_chance_in(6))
- rc = coinflip() ? SPWPN_FLAMING : SPWPN_FREEZING;
-
- if (one_chance_in(5))
- rc = SPWPN_ELECTROCUTION;
-
- if (one_chance_in(6))
- rc = SPWPN_VENOM;
+ // total weight 10,000
+ rc = random_choose_weighted(3329, rc,
+ 1666, SPWPN_VENOM,
+ 1666, SPWPN_ELECTROCUTION,
+ 694, SPWPN_DRAINING,
+ 556, SPWPN_FLAMING,
+ 555, SPWPN_FREEZING,
+ 486, SPWPN_VAMPIRISM,
+ 420, SPWPN_PAIN,
+ 315, SPWPN_HOLY_WRATH,
+ 175, SPWPN_DISTORTION,
+ 138, SPWPN_ANTIMAGIC,
+ 0);
break;
case WPN_HALBERD: