summaryrefslogtreecommitdiff
path: root/src/game-server/character.cpp
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2009-05-18 18:42:33 +0100
committerDavid Athay <ko2fan@gmail.com>2009-05-18 18:42:33 +0100
commitc3c5ff134ac2e31560b421d125b35a9a73a25e5c (patch)
treedeeff273aa8f93f89ee9d4eba59cc1b6fdca1d4b /src/game-server/character.cpp
parent9bf793b93df88fb38c2f29d5ec7643d11899ef2f (diff)
downloadmanaserv-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.cpp9
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)