diff options
author | David Athay <ko2fan@gmail.com> | 2009-05-18 18:42:33 +0100 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2009-05-18 18:42:33 +0100 |
commit | c3c5ff134ac2e31560b421d125b35a9a73a25e5c (patch) | |
tree | deeff273aa8f93f89ee9d4eba59cc1b6fdca1d4b /src/game-server/character.cpp | |
parent | 9bf793b93df88fb38c2f29d5ec7643d11899ef2f (diff) | |
download | manaserv-c3c5ff134ac2e31560b421d125b35a9a73a25e5c.tar.gz manaserv-c3c5ff134ac2e31560b421d125b35a9a73a25e5c.tar.bz2 manaserv-c3c5ff134ac2e31560b421d125b35a9a73a25e5c.tar.xz manaserv-c3c5ff134ac2e31560b421d125b35a9a73a25e5c.zip |
Added target combat
Diffstat (limited to 'src/game-server/character.cpp')
-rw-r--r-- | src/game-server/character.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/game-server/character.cpp b/src/game-server/character.cpp index f9a9b588..e17abc2b 100644 --- a/src/game-server/character.cpp +++ b/src/game-server/character.cpp @@ -116,7 +116,7 @@ void Character::update() void Character::perform() { - if (mAction != ATTACK || mActionTime > 0) return; + if (mAction != ATTACK || mActionTime > 0 || mTarget == NULL) return; mActionTime = 1000; mAction = STAND; @@ -141,13 +141,13 @@ void Character::perform() // weapon fighting const ItemModifiers &mods = ic->getModifiers(); damage.element = mods.getValue(MOD_ELEMENT_TYPE); - performAttack(damage, ic->getAttackZone()); + performAttack(damage); } else { // No-weapon fighting. damage.element = ELEMENT_NEUTRAL; - performAttack(damage, &UNARMED_ATTACK_ZONE); + performAttack(damage); } } @@ -170,6 +170,9 @@ void Character::respawn() setAction(STAND); mAttributes[BASE_ATTR_HP].mod = -mAttributes[BASE_ATTR_HP].base + 1; modifiedAttribute(BASE_ATTR_HP); + + // reset target + mTarget = NULL; } void Character::useSpecial(int id) |