diff options
author | Nicholas Feinberg <pleasingfung@gmail.com> | 2014-07-13 00:10:30 -0700 |
---|---|---|
committer | Nicholas Feinberg <pleasingfung@gmail.com> | 2014-07-13 00:33:57 -0700 |
commit | cfb61905c56eeeb599c04d43f7be9efdaad15e89 (patch) | |
tree | 92033bdb46857585911d6f80228a3583455baaba /crawl-ref/source/fight.cc | |
parent | 9b6b733bccd0de2af35eb6c28e94e4708a92004d (diff) | |
download | crawl-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.cc | 6 |
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); |