summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemprop.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/itemprop.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/itemprop.cc')
-rw-r--r--crawl-ref/source/itemprop.cc19
1 files changed, 13 insertions, 6 deletions
diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc
index cee9fbfc28..f2d52efc05 100644
--- a/crawl-ref/source/itemprop.cc
+++ b/crawl-ref/source/itemprop.cc
@@ -345,14 +345,19 @@ static const weapon_def Weapon_prop[] =
{ WPN_HUNTING_SLING, "hunting sling", 5, 2, 12, 20, 1,
SK_SLINGS, SIZE_LITTLE, SIZE_LITTLE, MI_STONE,
DAMV_NON_MELEE, 10 },
- { WPN_GREATSLING, "greatsling", 8, -1, 14, 20, 1,
+ { WPN_GREATSLING, "greatsling", 8, -1, 14, 30, 1,
SK_SLINGS, SIZE_LITTLE, SIZE_SMALL, MI_STONE,
DAMV_NON_MELEE, 2 },
-
- { WPN_CROSSBOW, "crossbow", 5, 4, 15, 150, 8,
- SK_CROSSBOWS, SIZE_LITTLE, NUM_SIZE_LEVELS, MI_BOLT,
+ { WPN_HAND_CROSSBOW, "hand crossbow", 11, 5, 15, 50, 5,
+ SK_CROSSBOWS, SIZE_LITTLE, SIZE_LITTLE, MI_BOLT,
+ DAMV_NON_MELEE, 10 },
+ { WPN_ARBALEST, "arbalest", 20, 2, 19, 150, 8,
+ SK_CROSSBOWS, SIZE_LITTLE, NUM_SIZE_LEVELS, MI_BOLT,
DAMV_NON_MELEE, 10 },
+ { WPN_TRIPLE_CROSSBOW, "triple crossbow", 24, 0, 22, 250, 9,
+ SK_CROSSBOWS, SIZE_SMALL, NUM_SIZE_LEVELS, MI_BOLT,
+ DAMV_NON_MELEE, 2 },
{ WPN_SHORTBOW, "shortbow", 8, 1, 13, 90, 2,
SK_BOWS, SIZE_LITTLE, NUM_SIZE_LEVELS, MI_ARROW,
@@ -380,7 +385,7 @@ static const missile_def Missile_prop[] =
{ MI_NEEDLE, "needle", 0, 1, false },
{ MI_STONE, "stone", 2, 6, true },
{ MI_ARROW, "arrow", 0, 5, false },
- { MI_BOLT, "bolt", 9, 5, false },
+ { MI_BOLT, "bolt", 0, 5, false },
{ MI_LARGE_ROCK, "large rock", 20, 600, true },
{ MI_SLING_BULLET, "sling bullet", 5, 4, false },
{ MI_JAVELIN, "javelin", 10, 80, true },
@@ -1252,10 +1257,10 @@ int weapon_rarity(int w_type)
case WPN_LONG_SWORD:
case WPN_MORNINGSTAR:
case WPN_WAR_AXE:
+ case WPN_HAND_CROSSBOW:
return 7;
case WPN_BATTLEAXE:
- case WPN_CROSSBOW:
case WPN_GREAT_SWORD:
case WPN_SCIMITAR:
case WPN_TRIDENT:
@@ -1264,6 +1269,7 @@ int weapon_rarity(int w_type)
case WPN_GLAIVE:
case WPN_HALBERD:
case WPN_BLOWGUN:
+ case WPN_ARBALEST:
return 5;
case WPN_BROAD_AXE:
@@ -1290,6 +1296,7 @@ int weapon_rarity(int w_type)
case WPN_EXECUTIONERS_AXE:
case WPN_QUICK_BLADE:
case WPN_CLAYMORE:
+ case WPN_TRIPLE_CROSSBOW:
case WPN_DEMON_WHIP:
case WPN_DEMON_BLADE:
case WPN_DEMON_TRIDENT: