summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/itemprop.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-03-05 16:53:45 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-03-05 16:53:45 +0000
commitbea81c5e9f1672797459f48245e37122c90bb4b6 (patch)
treec5faf4f6e9048a78e790bed9b17efb7f71f290ec /crawl-ref/source/itemprop.cc
parent91b3a4bcce5335372cf9369169a337c12157cde9 (diff)
downloadcrawl-ref-bea81c5e9f1672797459f48245e37122c90bb4b6.tar.gz
crawl-ref-bea81c5e9f1672797459f48245e37122c90bb4b6.zip
Fixed unacquirable lajatangs (Matt).
Moved weapon acquirement probability numbers into itemprop.cc. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@980 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/itemprop.cc')
-rw-r--r--crawl-ref/source/itemprop.cc99
1 files changed, 51 insertions, 48 deletions
diff --git a/crawl-ref/source/itemprop.cc b/crawl-ref/source/itemprop.cc
index 34ce306f2a..1df988ee0e 100644
--- a/crawl-ref/source/itemprop.cc
+++ b/crawl-ref/source/itemprop.cc
@@ -162,6 +162,7 @@ struct weapon_def
bool throwable;
int dam_type;
+ int acquire_weight;
};
static int Weapon_index[NUM_WEAPONS];
@@ -170,139 +171,139 @@ static weapon_def Weapon_prop[NUM_WEAPONS] =
// Maces & Flails
{ WPN_WHIP, "whip", 4, 2, 13, 30, 2,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLASHING },
+ DAMV_SLASHING, 0 },
{ WPN_CLUB, "club", 5, 3, 13, 50, 7,
SK_MACES_FLAILS, HANDS_ONE, SIZE_SMALL, MI_NONE, true,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 0 },
{ WPN_HAMMER, "hammer", 7, 3, 13, 90, 7,
SK_MACES_FLAILS, HANDS_ONE, SIZE_SMALL, MI_NONE, false,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 0 },
{ WPN_MACE, "mace", 8, 3, 14, 120, 8,
SK_MACES_FLAILS, HANDS_ONE, SIZE_SMALL, MI_NONE, false,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 10 },
{ WPN_FLAIL, "flail", 9, 2, 15, 130, 8,
SK_MACES_FLAILS, HANDS_ONE, SIZE_SMALL, MI_NONE, false,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 10 },
{ WPN_ANCUS, "ancus", 9, 2, 14, 120, 8,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 10 },
{ WPN_MORNINGSTAR, "morningstar", 10, -1, 15, 140, 8,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_PIERCING | DAM_BLUDGEON },
+ DAMV_PIERCING | DAM_BLUDGEON, 10 },
{ WPN_DEMON_WHIP, "demon whip", 10, 1, 13, 30, 2,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLASHING },
+ DAMV_SLASHING, 2 },
{ WPN_SPIKED_FLAIL, "spiked flail", 12, -2, 16, 190, 8,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_PIERCING | DAM_BLUDGEON },
+ DAMV_PIERCING | DAM_BLUDGEON, 10 },
{ WPN_EVENINGSTAR, "eveningstar", 12, -1, 15, 180, 8,
SK_MACES_FLAILS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_PIERCING | DAM_BLUDGEON },
+ DAMV_PIERCING | DAM_BLUDGEON, 2 },
{ WPN_DIRE_FLAIL, "dire flail", 13, -3, 14, 240, 9,
SK_MACES_FLAILS, HANDS_DOUBLE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_PIERCING | DAM_BLUDGEON },
+ DAMV_PIERCING | DAM_BLUDGEON, 10 },
{ WPN_GREAT_MACE, "great mace", 16, -4, 18, 270, 9,
SK_MACES_FLAILS, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 10 },
{ WPN_GIANT_CLUB, "giant club", 18, -6, 19, 330, 10,
SK_MACES_FLAILS, HANDS_TWO, SIZE_BIG, MI_NONE, false,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 0 },
{ WPN_GIANT_SPIKED_CLUB, "giant spiked club", 20, -7, 20, 350, 10,
SK_MACES_FLAILS, HANDS_TWO, SIZE_BIG, MI_NONE, false,
- DAMV_PIERCING | DAM_BLUDGEON },
+ DAMV_PIERCING | DAM_BLUDGEON, 0 },
// Short blades
{ WPN_KNIFE, "knife", 3, 5, 10, 10, 1,
SK_SHORT_BLADES, HANDS_ONE, SIZE_LITTLE, MI_NONE, false,
- DAMV_STABBING | DAM_SLICE },
+ DAMV_STABBING | DAM_SLICE, 0 },
{ WPN_DAGGER, "dagger", 4, 6, 10, 20, 1,
SK_SHORT_BLADES, HANDS_ONE, SIZE_LITTLE, MI_NONE, true,
- DAMV_STABBING | DAM_SLICE },
+ DAMV_STABBING | DAM_SLICE, 10 },
{ WPN_QUICK_BLADE, "quick blade", 5, 6, 7, 50, 0,
SK_SHORT_BLADES, HANDS_ONE, SIZE_LITTLE, MI_NONE, false,
- DAMV_STABBING | DAM_SLICE },
+ DAMV_STABBING | DAM_SLICE, 2 },
{ WPN_SHORT_SWORD, "short sword", 6, 4, 11, 80, 2,
SK_SHORT_BLADES, HANDS_ONE, SIZE_SMALL, MI_NONE, false,
- DAMV_SLICING | DAM_PIERCE },
+ DAMV_SLICING | DAM_PIERCE, 10 },
{ WPN_SABRE, "sabre", 7, 4, 12, 90, 2,
SK_SHORT_BLADES, HANDS_ONE, SIZE_SMALL, MI_NONE, false,
- DAMV_SLICING | DAM_PIERCE },
+ DAMV_SLICING | DAM_PIERCE, 10 },
// Long swords
{ WPN_FALCHION, "falchion", 8, 2, 13, 170, 4,
SK_LONG_SWORDS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLICING }, // or perhaps DAMV_CHOPPING is more apt?
+ DAMV_SLICING, 10 }, // or perhaps DAMV_CHOPPING is more apt?
{ WPN_LONG_SWORD, "long sword", 10, 1, 14, 160, 3,
SK_LONG_SWORDS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 10 },
{ WPN_SCIMITAR, "scimitar", 11, -1, 14, 170, 3,
SK_LONG_SWORDS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 10 },
{ WPN_KATANA, "katana", 13, 2, 13, 160, 3,
SK_LONG_SWORDS, HANDS_HALF, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 2 },
{ WPN_DEMON_BLADE, "demon blade", 13, -1, 15, 200, 4,
SK_LONG_SWORDS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 2 },
{ WPN_BLESSED_BLADE, "blessed blade", 14, 0, 14, 200, 4,
SK_LONG_SWORDS, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 0 },
{ WPN_DOUBLE_SWORD, "double sword", 15, -2, 16, 220, 5,
SK_LONG_SWORDS, HANDS_HALF, SIZE_MEDIUM, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 2 },
{ WPN_GREAT_SWORD, "great sword", 16, -3, 17, 250, 6,
SK_LONG_SWORDS, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 10 },
{ WPN_TRIPLE_SWORD, "triple sword", 19, -4, 19, 260, 6,
SK_LONG_SWORDS, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 2 },
// Axes
{ WPN_HAND_AXE, "hand axe", 7, 3, 13, 80, 6,
SK_AXES, HANDS_ONE, SIZE_SMALL, MI_NONE, true,
- DAMV_CHOPPING },
+ DAMV_CHOPPING, 10 },
{ WPN_WAR_AXE, "war axe", 11, 0, 16, 180, 7,
SK_AXES, HANDS_ONE, SIZE_MEDIUM, MI_NONE, false,
- DAMV_CHOPPING },
+ DAMV_CHOPPING, 10 },
{ WPN_BROAD_AXE, "broad axe", 14, -2, 17, 230, 8,
SK_AXES, HANDS_HALF, SIZE_MEDIUM, MI_NONE, false,
- DAMV_CHOPPING },
+ DAMV_CHOPPING, 10 },
{ WPN_BATTLEAXE, "battleaxe", 17, -4, 18, 250, 8,
SK_AXES, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_CHOPPING },
+ DAMV_CHOPPING, 10 },
{ WPN_EXECUTIONERS_AXE, "executioner\'s axe", 20, -6, 20, 280, 9,
SK_AXES, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_CHOPPING },
+ DAMV_CHOPPING, 2 },
// Polearms
{ WPN_SPEAR, "spear", 6, 3, 12, 50, 3,
SK_POLEARMS, HANDS_HALF, SIZE_SMALL, MI_NONE, true,
- DAMV_PIERCING },
+ DAMV_PIERCING, 10 },
{ WPN_TRIDENT, "trident", 9, 2, 14, 160, 4,
SK_POLEARMS, HANDS_HALF, SIZE_MEDIUM, MI_NONE, false,
- DAMV_PIERCING },
+ DAMV_PIERCING, 10 },
{ WPN_DEMON_TRIDENT, "demon trident", 13, 0, 14, 160, 4,
SK_POLEARMS, HANDS_HALF, SIZE_MEDIUM, MI_NONE, false,
- DAMV_PIERCING },
+ DAMV_PIERCING, 2 },
{ WPN_HALBERD, "halberd", 13, -3, 16, 200, 5,
SK_POLEARMS, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_CHOPPING | DAM_PIERCE },
+ DAMV_CHOPPING | DAM_PIERCE, 10 },
{ WPN_SCYTHE, "scythe", 14, -4, 20, 220, 7,
SK_POLEARMS, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 10 },
{ WPN_GLAIVE, "glaive", 15, -3, 18, 200, 6,
SK_POLEARMS, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_CHOPPING },
+ DAMV_CHOPPING, 10 },
{ WPN_LOCHABER_AXE, "lochaber axe", 18, -6, 20, 200, 8,
SK_POLEARMS, HANDS_TWO, SIZE_LARGE, MI_NONE, false,
- DAMV_CHOPPING },
+ DAMV_CHOPPING, 2 },
{ WPN_QUARTERSTAFF, "quarterstaff", 9, 2, 12, 180, 7,
SK_STAVES, HANDS_DOUBLE, SIZE_LARGE, MI_NONE, false,
- DAMV_CRUSHING },
+ DAMV_CRUSHING, 10 },
{ WPN_LAJATANG, "lajatang", 14, -3, 14, 200, 3,
SK_STAVES, HANDS_DOUBLE, SIZE_LARGE, MI_NONE, false,
- DAMV_SLICING },
+ DAMV_SLICING, 2 },
// Range weapons
// Notes:
@@ -312,22 +313,22 @@ static weapon_def Weapon_prop[NUM_WEAPONS] =
// - str weight is used for speed and applying dex to skill
{ WPN_BLOWGUN, "blowgun", 0, 2, 10, 20, 0,
SK_DARTS, HANDS_HALF, SIZE_LITTLE, MI_NEEDLE, false,
- DAMV_NON_MELEE },
+ DAMV_NON_MELEE, 0 },
{ WPN_SLING, "sling", 0, 2, 11, 20, 1,
SK_SLINGS, HANDS_HALF, SIZE_LITTLE, MI_STONE, false,
- DAMV_NON_MELEE },
+ DAMV_NON_MELEE, 10 },
{ WPN_HAND_CROSSBOW, "hand crossbow", 3, 4, 15, 70, 5,
SK_CROSSBOWS, HANDS_HALF, SIZE_SMALL, MI_DART, false,
- DAMV_NON_MELEE },
+ DAMV_NON_MELEE, 10 },
{ WPN_CROSSBOW, "crossbow", 5, 4, 15, 150, 8,
SK_CROSSBOWS, HANDS_TWO, SIZE_MEDIUM, MI_BOLT, false,
- DAMV_NON_MELEE },
+ DAMV_NON_MELEE, 10 },
{ WPN_BOW, "bow", 3, 1, 11, 90, 2,
SK_BOWS, HANDS_TWO, SIZE_MEDIUM, MI_ARROW, false,
- DAMV_NON_MELEE },
+ DAMV_NON_MELEE, 10 },
{ WPN_LONGBOW, "longbow", 6, 0, 12, 120, 3,
SK_BOWS, HANDS_TWO, SIZE_LARGE, MI_ARROW, false,
- DAMV_NON_MELEE },
+ DAMV_NON_MELEE, 10 },
};
struct missile_def
@@ -1845,6 +1846,8 @@ int property( const item_def &item, int prop_type )
return (Weapon_prop[ Weapon_index[item.sub_type] ].hit);
else if (prop_type == PWPN_SPEED)
return (Weapon_prop[ Weapon_index[item.sub_type] ].speed);
+ else if (prop_type == PWPN_ACQ_WEIGHT)
+ return (Weapon_prop[ Weapon_index[item.sub_type] ].acquire_weight);
break;
case OBJ_MISSILES: