Skip to content

Commit

Permalink
Remove weapon strength weighting
Browse files Browse the repository at this point in the history
Makes to-hit be purely determined by dex, and to-dam by strength. This should
make the effects of dex/str slightly more noticeable, and more importantly
removes the mostly insignificant differences between weapons with different
strength weights.
  • Loading branch information
Chris Campbell committed Jan 12, 2016
1 parent 78c3604 commit d466a24
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 110 deletions.
30 changes: 5 additions & 25 deletions crawl-ref/source/attack.cc
Expand Up @@ -141,7 +141,7 @@ bool attack::handle_phase_end()
int attack::calc_to_hit(bool random)
{
int mhit = attacker->is_player() ?
15 + (calc_stat_to_hit_base() / 2)
15 + (you.dex() / 2)
: calc_mon_to_hit_base();

#ifdef DEBUG_DIAGNOSTICS
Expand Down Expand Up @@ -1211,12 +1211,11 @@ string attack::defender_name(bool allow_reflexive)
int attack::player_stat_modify_damage(int damage)
{
int dammod = 39;
const int dam_stat_val = calc_stat_to_dam_base();

if (dam_stat_val > 11)
dammod += (random2(dam_stat_val - 11) * 2);
else if (dam_stat_val < 9)
dammod -= (random2(9 - dam_stat_val) * 3);
if (you.strength() > 11)
dammod += (random2(you.strength() - 11) * 2);
else if (you.strength() < 9)
dammod -= (random2(9 - you.strength()) * 3);

damage *= dammod;
damage /= 39;
Expand Down Expand Up @@ -1333,25 +1332,6 @@ int attack::calc_base_unarmed_damage()
return damage;
}

// TODO: Potentially remove, consider integrating with other to-hit or stat
// calculating methods
// weighted average of strength and dex, between (str+dex)/2 and dex
int attack::calc_stat_to_hit_base()
{
const int weight = weapon ? weapon_str_weight(*weapon) : 4;

// dex is modified by strength towards the average, by the
// weighted amount weapon_str_weight() / 20.
return you.dex() + (you.strength() - you.dex()) * weight / 20;
}

// weighted average of strength and dex, between str and (str+dex)/2
int attack::calc_stat_to_dam_base()
{
const int weight = weapon ? 10 - weapon_str_weight(*weapon) : 6;
return you.strength() + (you.dex() - you.strength()) * weight / 20;
}

int attack::calc_damage()
{
if (attacker->is_monster())
Expand Down
2 changes: 0 additions & 2 deletions crawl-ref/source/attack.h
Expand Up @@ -128,8 +128,6 @@ class attack
virtual int weapon_damage() = 0;
virtual int get_weapon_plus();
virtual int calc_base_unarmed_damage();
int calc_stat_to_hit_base();
int calc_stat_to_dam_base();
virtual int calc_mon_to_hit_base() = 0;
virtual int apply_damage_modifiers(int damage, int damage_max) = 0;
virtual int calc_damage();
Expand Down
130 changes: 57 additions & 73 deletions crawl-ref/source/itemprop.cc
Expand Up @@ -179,8 +179,6 @@ struct weapon_def
int hit;
/// The number of aut it takes to swing the weapon with 0 skill.
int speed;
/// The extent to which str is more useful than dex; ranges 0-10.
int str_weight;

/// The weapon skill corresponding to this weapon's use.
skill_type skill;
Expand Down Expand Up @@ -310,13 +308,13 @@ static int Weapon_index[NUM_WEAPONS];
static const weapon_def Weapon_prop[] =
{
// Maces & Flails
{ WPN_CLUB, "club", 5, 3, 13, 7,
{ WPN_CLUB, "club", 5, 3, 13,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_CRUSHING, 10, 0, {} },
{ WPN_ROD, "rod", 5, 3, 13, 7,
{ WPN_ROD, "rod", 5, 3, 13,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_CRUSHING, 0, 0, {} },
{ WPN_WHIP, "whip", 6, 2, 11, 2,
{ WPN_WHIP, "whip", 6, 2, 11,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_SLASHING, 4, 0, {
{ SPWPN_NORMAL, 34 },
Expand All @@ -332,17 +330,17 @@ static const weapon_def Weapon_prop[] =
{ SPWPN_ANTIMAGIC, 1 },
}},
#if TAG_MAJOR_VERSION == 34
{ WPN_HAMMER, "hammer", 7, 3, 13, 7,
{ WPN_HAMMER, "hammer", 7, 3, 13,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_CRUSHING, 0, 0, M_AND_F_BRANDS },
#endif
{ WPN_MACE, "mace", 8, 3, 14, 8,
{ WPN_MACE, "mace", 8, 3, 14,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_CRUSHING, 9, 10, M_AND_F_BRANDS },
{ WPN_FLAIL, "flail", 10, 0, 14, 8,
{ WPN_FLAIL, "flail", 10, 0, 14,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_CRUSHING, 8, 10, M_AND_F_BRANDS },
{ WPN_MORNINGSTAR, "morningstar", 13, -2, 15, 8,
{ WPN_MORNINGSTAR, "morningstar", 13, -2, 15,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_CRUSHING | DAM_PIERCE, 7, 10, {
{ SPWPN_PROTECTION, 30 },
Expand All @@ -358,16 +356,16 @@ static const weapon_def Weapon_prop[] =
{ SPWPN_PAIN, 2 },
{ SPWPN_VAMPIRISM, 2 },
}},
{ WPN_DEMON_WHIP, "demon whip", 11, 1, 11, 2,
{ WPN_DEMON_WHIP, "demon whip", 11, 1, 11,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_SLASHING, 0, 2, DEMON_BRANDS },
{ WPN_SACRED_SCOURGE, "sacred scourge", 12, 0, 11, 2,
{ WPN_SACRED_SCOURGE, "sacred scourge", 12, 0, 11,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_SLASHING, 0, 0, HOLY_BRANDS },
{ WPN_DIRE_FLAIL, "dire flail", 13, -3, 13, 9,
{ WPN_DIRE_FLAIL, "dire flail", 13, -3, 13,
SK_MACES_FLAILS, SIZE_MEDIUM, SIZE_BIG, MI_NONE,
DAMV_CRUSHING | DAM_PIERCE, 2, 10, M_AND_F_BRANDS },
{ WPN_EVENINGSTAR, "eveningstar", 15, -1, 15, 8,
{ WPN_EVENINGSTAR, "eveningstar", 15, -1, 15,
SK_MACES_FLAILS, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_CRUSHING | DAM_PIERCE, 0, 2, {
{ SPWPN_PROTECTION, 30 },
Expand All @@ -383,18 +381,18 @@ static const weapon_def Weapon_prop[] =
{ SPWPN_PAIN, 2 },
{ SPWPN_VAMPIRISM, 2 },
}},
{ WPN_GREAT_MACE, "great mace", 17, -4, 17, 9,
{ WPN_GREAT_MACE, "great mace", 17, -4, 17,
SK_MACES_FLAILS, SIZE_MEDIUM, SIZE_BIG, MI_NONE,
DAMV_CRUSHING, 3, 10, M_AND_F_BRANDS },
{ WPN_GIANT_CLUB, "giant club", 20, -6, 16, 10,
{ WPN_GIANT_CLUB, "giant club", 20, -6, 16,
SK_MACES_FLAILS, SIZE_LARGE, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CRUSHING, 1, 10, {} },
{ WPN_GIANT_SPIKED_CLUB, "giant spiked club", 22, -7, 19, 10,
{ WPN_GIANT_SPIKED_CLUB, "giant spiked club", 22, -7, 19,
SK_MACES_FLAILS, SIZE_LARGE, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CRUSHING | DAM_PIERCE, 1, 10, {} },

// Short Blades
{ WPN_DAGGER, "dagger", 4, 6, 10, 1,
{ WPN_DAGGER, "dagger", 4, 6, 10,
SK_SHORT_BLADES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_PIERCING, 10, 10, {
{ SPWPN_VENOM, 28 },
Expand All @@ -411,85 +409,85 @@ static const weapon_def Weapon_prop[] =
{ SPWPN_DISTORTION, 1 },
{ SPWPN_ANTIMAGIC, 1 },
}},
{ WPN_QUICK_BLADE, "quick blade", 5, 6, 7, 0,
{ WPN_QUICK_BLADE, "quick blade", 5, 6, 7,
SK_SHORT_BLADES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_PIERCING, 0, 2, {} },
{ WPN_SHORT_SWORD, "short sword", 6, 4, 11, 2,
{ WPN_SHORT_SWORD, "short sword", 6, 4, 11,
SK_SHORT_BLADES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_PIERCING, 8, 10, SBL_BRANDS },
{ WPN_RAPIER, "rapier", 7, 4, 12, 2,
{ WPN_RAPIER, "rapier", 7, 4, 12,
SK_SHORT_BLADES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_PIERCING, 8, 10, SBL_BRANDS },
{ WPN_CUTLASS, "cutlass", 7, 4, 12, 2,
{ WPN_CUTLASS, "cutlass", 7, 4, 12,
SK_SHORT_BLADES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_SLICING | DAM_PIERCE, 0, 0, {}},


// Long Blades
{ WPN_FALCHION, "falchion", 8, 2, 13, 3,
{ WPN_FALCHION, "falchion", 8, 2, 13,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_SLICING, 7, 10, LBL_BRANDS }, // DAMV_CHOPPING...?
{ WPN_LONG_SWORD, "long sword", 10, 1, 14, 3,
{ WPN_LONG_SWORD, "long sword", 10, 1, 14,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_SLICING, 7, 10, LBL_BRANDS },
{ WPN_SCIMITAR, "scimitar", 12, -2, 14, 3,
{ WPN_SCIMITAR, "scimitar", 12, -2, 14,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_SLICING, 6, 10, LBL_BRANDS },
{ WPN_DEMON_BLADE, "demon blade", 13, -1, 13, 3,
{ WPN_DEMON_BLADE, "demon blade", 13, -1, 13,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_SLICING, 0, 2, DEMON_BRANDS },
{ WPN_EUDEMON_BLADE, "eudemon blade", 14, -2, 12, 3,
{ WPN_EUDEMON_BLADE, "eudemon blade", 14, -2, 12,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_SLICING, 0, 0, HOLY_BRANDS },
{ WPN_DOUBLE_SWORD, "double sword", 15, -1, 15, 3,
{ WPN_DOUBLE_SWORD, "double sword", 15, -1, 15,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE,
DAMV_SLICING, 0, 2, LBL_BRANDS },
{ WPN_GREAT_SWORD, "great sword", 16, -3, 16, 5,
{ WPN_GREAT_SWORD, "great sword", 16, -3, 16,
SK_LONG_BLADES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_SLICING, 6, 10, LBL_BRANDS },
{ WPN_TRIPLE_SWORD, "triple sword", 19, -4, 19, 5,
{ WPN_TRIPLE_SWORD, "triple sword", 19, -4, 19,
SK_LONG_BLADES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_SLICING, 0, 2, LBL_BRANDS },
#if TAG_MAJOR_VERSION == 34
{ WPN_BLESSED_FALCHION, "old falchion", 8, 2, 13, 3,
{ WPN_BLESSED_FALCHION, "old falchion", 8, 2, 13,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_SLICING, 0, 0, {} },
{ WPN_BLESSED_LONG_SWORD, "old long sword", 10, 1, 14, 3,
{ WPN_BLESSED_LONG_SWORD, "old long sword", 10, 1, 14,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_SLICING, 0, 0, {} },
{ WPN_BLESSED_SCIMITAR, "old scimitar", 12, -2, 14, 3,
{ WPN_BLESSED_SCIMITAR, "old scimitar", 12, -2, 14,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_SLICING, 0, 0, {} },
{ WPN_BLESSED_DOUBLE_SWORD, "old double sword", 15, -1, 15, 3,
{ WPN_BLESSED_DOUBLE_SWORD, "old double sword", 15, -1, 15,
SK_LONG_BLADES, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE,
DAMV_SLICING, 0, 0, {} },
{ WPN_BLESSED_GREAT_SWORD, "old great sword", 16, -3, 16, 5,
{ WPN_BLESSED_GREAT_SWORD, "old great sword", 16, -3, 16,
SK_LONG_BLADES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_SLICING, 0, 0, {} },
{ WPN_BLESSED_TRIPLE_SWORD, "old triple sword",19, -4, 19, 5,
{ WPN_BLESSED_TRIPLE_SWORD, "old triple sword",19, -4, 19,
SK_LONG_BLADES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_SLICING, 0, 0, {} },
#endif

// Axes
{ WPN_HAND_AXE, "hand axe", 7, 3, 13, 6,
{ WPN_HAND_AXE, "hand axe", 7, 3, 13,
SK_AXES, SIZE_LITTLE, SIZE_LITTLE, MI_NONE,
DAMV_CHOPPING, 9, 10, AXE_BRANDS },
{ WPN_WAR_AXE, "war axe", 11, 0, 15, 7,
{ WPN_WAR_AXE, "war axe", 11, 0, 15,
SK_AXES, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_CHOPPING, 7, 10, AXE_BRANDS },
{ WPN_BROAD_AXE, "broad axe", 13, -2, 16, 8,
{ WPN_BROAD_AXE, "broad axe", 13, -2, 16,
SK_AXES, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE,
DAMV_CHOPPING, 4, 10, AXE_BRANDS },
{ WPN_BATTLEAXE, "battleaxe", 15, -4, 17, 8,
{ WPN_BATTLEAXE, "battleaxe", 15, -4, 17,
SK_AXES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CHOPPING, 6, 10, AXE_BRANDS },
{ WPN_EXECUTIONERS_AXE, "executioner's axe", 18, -6, 20, 9,
{ WPN_EXECUTIONERS_AXE, "executioner's axe", 18, -6, 20,
SK_AXES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CHOPPING, 0, 2, AXE_BRANDS },

// Polearms
{ WPN_SPEAR, "spear", 6, 4, 11, 3,
{ WPN_SPEAR, "spear", 6, 4, 11,
SK_POLEARMS, SIZE_LITTLE, SIZE_SMALL, MI_NONE,
DAMV_PIERCING, 8, 10, {
{ SPWPN_NORMAL, 46 },
Expand All @@ -502,34 +500,34 @@ static const weapon_def Weapon_prop[] =
{ SPWPN_PAIN, 2 },
{ SPWPN_ANTIMAGIC, 2 },
}},
{ WPN_TRIDENT, "trident", 9, 1, 13, 4,
{ WPN_TRIDENT, "trident", 9, 1, 13,
SK_POLEARMS, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE,
DAMV_PIERCING, 6, 10, POLEARM_BRANDS },
{ WPN_HALBERD, "halberd", 13, -3, 15, 5,
{ WPN_HALBERD, "halberd", 13, -3, 15,
SK_POLEARMS, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CHOPPING | DAM_PIERCE, 5, 10, POLEARM_BRANDS },
{ WPN_SCYTHE, "scythe", 14, -4, 20, 7,
{ WPN_SCYTHE, "scythe", 14, -4, 20,
SK_POLEARMS, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_SLICING, 2, 0, POLEARM_BRANDS },
{ WPN_DEMON_TRIDENT, "demon trident", 12, 1, 13, 4,
{ WPN_DEMON_TRIDENT, "demon trident", 12, 1, 13,
SK_POLEARMS, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE,
DAMV_PIERCING, 0, 2, DEMON_BRANDS },
{ WPN_TRISHULA, "trishula", 13, 0, 13, 4,
{ WPN_TRISHULA, "trishula", 13, 0, 13,
SK_POLEARMS, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE,
DAMV_PIERCING, 0, 0, HOLY_BRANDS },
{ WPN_GLAIVE, "glaive", 15, -3, 17, 6,
{ WPN_GLAIVE, "glaive", 15, -3, 17,
SK_POLEARMS, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CHOPPING, 5, 10, POLEARM_BRANDS },
{ WPN_BARDICHE, "bardiche", 18, -6, 20, 8,
{ WPN_BARDICHE, "bardiche", 18, -6, 20,
SK_POLEARMS, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CHOPPING, 1, 2, POLEARM_BRANDS },

// Staves
// WPN_STAFF is for weapon stats for magical staves only.
{ WPN_STAFF, "staff", 5, 5, 12, 3,
{ WPN_STAFF, "staff", 5, 5, 12,
SK_STAVES, SIZE_LITTLE, SIZE_MEDIUM, MI_NONE,
DAMV_CRUSHING, 0, 0, {} },
{ WPN_QUARTERSTAFF, "quarterstaff", 10, 3, 13, 3,
{ WPN_QUARTERSTAFF, "quarterstaff", 10, 3, 13,
SK_STAVES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_CRUSHING, 8, 10, {
{ SPWPN_NORMAL, 50 },
Expand All @@ -542,7 +540,7 @@ static const weapon_def Weapon_prop[] =
{ SPWPN_HOLY_WRATH, 2 },
{ SPWPN_ANTIMAGIC, 2 },
}},
{ WPN_LAJATANG, "lajatang", 16,-3, 14, 3,
{ WPN_LAJATANG, "lajatang", 16,-3, 14,
SK_STAVES, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_NONE,
DAMV_SLICING, 2, 2, {
{ SPWPN_NORMAL, 34 },
Expand All @@ -557,34 +555,34 @@ static const weapon_def Weapon_prop[] =
}},

// Range weapons
{ WPN_BLOWGUN, "blowgun", 0, 2, 10, 0,
{ WPN_BLOWGUN, "blowgun", 0, 2, 10,
SK_THROWING, SIZE_LITTLE, SIZE_LITTLE, MI_NEEDLE,
DAMV_NON_MELEE, 5, 0, {
{ SPWPN_EVASION, 3 },
{ SPWPN_NORMAL, 97 },
}},

{ WPN_HUNTING_SLING, "hunting sling", 5, 2, 12, 1,
{ WPN_HUNTING_SLING, "hunting sling", 5, 2, 12,
SK_SLINGS, SIZE_LITTLE, SIZE_LITTLE, MI_STONE,
DAMV_NON_MELEE, 8, 10, RANGED_BRANDS },
{ WPN_GREATSLING, "greatsling", 8, -1, 14, 1,
{ WPN_GREATSLING, "greatsling", 8, -1, 14,
SK_SLINGS, SIZE_LITTLE, SIZE_SMALL, MI_STONE,
DAMV_NON_MELEE, 2, 2, RANGED_BRANDS },

{ WPN_HAND_CROSSBOW, "hand crossbow", 12, 5, 15, 5,
{ WPN_HAND_CROSSBOW, "hand crossbow", 12, 5, 15,
SK_CROSSBOWS, SIZE_LITTLE, SIZE_LITTLE, MI_BOLT,
DAMV_NON_MELEE, 7, 10, RANGED_BRANDS },
{ WPN_ARBALEST, "arbalest", 18, 2, 19, 8,
{ WPN_ARBALEST, "arbalest", 18, 2, 19,
SK_CROSSBOWS, SIZE_LITTLE, NUM_SIZE_LEVELS, MI_BOLT,
DAMV_NON_MELEE, 5, 10, RANGED_BRANDS },
{ WPN_TRIPLE_CROSSBOW, "triple crossbow", 22, 0, 23, 9,
{ WPN_TRIPLE_CROSSBOW, "triple crossbow", 22, 0, 23,
SK_CROSSBOWS, SIZE_SMALL, NUM_SIZE_LEVELS, MI_BOLT,
DAMV_NON_MELEE, 0, 2, RANGED_BRANDS },

{ WPN_SHORTBOW, "shortbow", 9, 2, 13, 2,
{ WPN_SHORTBOW, "shortbow", 9, 2, 13,
SK_BOWS, SIZE_LITTLE, NUM_SIZE_LEVELS, MI_ARROW,
DAMV_NON_MELEE, 8, 10, RANGED_BRANDS },
{ WPN_LONGBOW, "longbow", 15, 0, 17, 3,
{ WPN_LONGBOW, "longbow", 15, 0, 17,
SK_BOWS, SIZE_MEDIUM, NUM_SIZE_LEVELS, MI_ARROW,
DAMV_NON_MELEE, 2, 10, RANGED_BRANDS },
};
Expand Down Expand Up @@ -1909,20 +1907,6 @@ bool is_brandable_weapon(const item_def &wpn, bool allow_ranged, bool divine)
return true;
}

int weapon_str_weight(const item_def &wpn)
{
if (!is_weapon(wpn))
return 5;

if (wpn.base_type == OBJ_STAVES)
return Weapon_prop[ Weapon_index[WPN_STAFF] ].str_weight;

if (wpn.base_type == OBJ_RODS)
return Weapon_prop[ Weapon_index[WPN_ROD] ].str_weight;

return Weapon_prop[ Weapon_index[wpn.sub_type] ].str_weight;
}

/**
* Returns the skill used by the given item to attack.
*
Expand Down
2 changes: 0 additions & 2 deletions crawl-ref/source/itemprop.h
Expand Up @@ -145,8 +145,6 @@ int single_damage_type(const item_def &item) PURE;

bool is_brandable_weapon(const item_def &wpn, bool allow_ranged, bool divine = false);

int weapon_str_weight(const item_def &wpn) PURE;

skill_type item_attack_skill(const item_def &item) PURE;
skill_type item_attack_skill(object_class_type wclass, int wtype) IMMUTABLE;

Expand Down

0 comments on commit d466a24

Please sign in to comment.