summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
authorNicholas Feinberg <pleasingfung@gmail.com>2014-07-13 00:10:30 -0700
committerNicholas Feinberg <pleasingfung@gmail.com>2014-07-13 00:33:57 -0700
commitcfb61905c56eeeb599c04d43f7be9efdaad15e89 (patch)
tree92033bdb46857585911d6f80228a3583455baaba /crawl-ref/source/fight.cc
parent9b6b733bccd0de2af35eb6c28e94e4708a92004d (diff)
downloadcrawl-ref-cfb61905c56eeeb599c04d43f7be9efdaad15e89.tar.gz
crawl-ref-cfb61905c56eeeb599c04d43f7be9efdaad15e89.zip
Rebalance crossbows
Again as a result of the ranged weapons rebalance, crossbows needed to change. The analogy here is long blades' to bows' m&f; better return on skill investment & a higher power cap, but rarer. Hand crossbows are added as a starting type, "something like an armour-piercing dagger"; crossbows are upgraded to arbalests (a little worse than a glaive), and a new rare triple crossbow type is added on the top end (a little worse than a bardiche, though with a lower skill cost.) Please note that the triple crossbow historically existed & is extremely verisimilitudinous. Hellfire is now an arbalest, and Sniper is now a triple crossbow (well, a "heavy crossbow", since it has mindelay of 27 instead of 22, and since I didn't want to have to change the sprite). All crossbows have a mindelay of at least 1.0; this is an attempt to differentiate them. Possibly something more ambitious will be attempted in 1.6, but this is a first step.
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r--crawl-ref/source/fight.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index 71bb9c3a25..ea24c76969 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -712,7 +712,11 @@ int weapon_min_delay(const item_def &weapon)
if (min_delay > 7)
min_delay = 7;
- // ... unless it would take more than skill 27 to get there (dark maul).
+ // ...except crossbows...
+ if (range_skill(weapon) == SK_CROSSBOWS && min_delay < 10)
+ min_delay = 10;
+
+ // ... and unless it would take more than skill 27 to get there.
// Round up the reduction from skill, so that min delay is rounded down.
min_delay = max(min_delay, base - (MAX_SKILL_LEVEL + 1)/2);