summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/game-server/character.cpp7
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1c183ea1..2177c3ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-07-27 Roderic Morris <roderic@ccs.neu.edu>
+
+ * src/game-server/character.cpp: take into account weapon skills
+ in damage calculation.
+
2008-07-24 David Athay <ko2fan@gmail.com>
* src/defines.h, src/game-server/movingobject.cpp,
diff --git a/src/game-server/character.cpp b/src/game-server/character.cpp
index 3fb938c8..b2420c31 100644
--- a/src/game-server/character.cpp
+++ b/src/game-server/character.cpp
@@ -95,11 +95,12 @@ void Character::perform()
int type = ic ? ic->getModifiers().getValue(MOD_WEAPON_TYPE) : WPNTYPE_NONE;
Damage damage;
- damage.base = getModifiedAttribute(BASE_ATTR_PHY_ATK_MIN);
+ damage.base = getModifiedAttribute(BASE_ATTR_PHY_ATK_MIN) +
+ (rand() % getModifiedAttribute(CHAR_SKILL_WEAPON_BEGIN + type));
damage.delta = getModifiedAttribute(BASE_ATTR_PHY_ATK_DELTA);
damage.type = DAMAGE_PHYSICAL;
- damage.cth = getModifiedAttribute(BASE_ATTR_HIT)
- + getModifiedAttribute(CHAR_SKILL_WEAPON_BEGIN + type);
+ damage.cth = getModifiedAttribute(BASE_ATTR_HIT) +
+ getModifiedAttribute(CHAR_SKILL_WEAPON_BEGIN + type);
damage.usedSkill = CHAR_SKILL_WEAPON_BEGIN + type;
if (type)
{