diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2012-03-04 16:52:41 +0100 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2012-03-05 20:25:48 +0100 |
commit | d4f9a3370ed27cdae23da6f8c94c68619431cd48 (patch) | |
tree | b36d4895c4c48a20c94cb34917e49719f56a294f /src/game-server/character.cpp | |
parent | 9f67ba0e68d0a85944268c55045c28d6d12983b5 (diff) | |
download | manaserv-d4f9a3370ed27cdae23da6f8c94c68619431cd48.tar.gz manaserv-d4f9a3370ed27cdae23da6f8c94c68619431cd48.tar.bz2 manaserv-d4f9a3370ed27cdae23da6f8c94c68619431cd48.tar.xz manaserv-d4f9a3370ed27cdae23da6f8c94c68619431cd48.zip |
Added possibility to make a being attack an other being
This allows the script to let the character perform a scripted attack but
the character still gets xp and killed monsters give drops.
You can now call:
mana.being_damage(target, dmg, dmg_delta, accurancy, type, element, source,
skill)
While on it I also added checks to the being_damage function.
Reviewed-by: bjorn, Bertram.
Diffstat (limited to 'src/game-server/character.cpp')
-rw-r--r-- | src/game-server/character.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/game-server/character.cpp b/src/game-server/character.cpp index 950c6496..14b49bca 100644 --- a/src/game-server/character.cpp +++ b/src/game-server/character.cpp @@ -186,11 +186,15 @@ void Character::perform() { int damageBase = getModifiedAttribute(ATTR_STR); int damageDelta = damageBase / 2; - Damage knuckleDamage(skillManager->getDefaultSkillId(), - damageBase, damageDelta, 2, ELEMENT_NEUTRAL, - DAMAGE_PHYSICAL, - (getSize() < DEFAULT_TILE_LENGTH) ? - DEFAULT_TILE_LENGTH : getSize()); + Damage knuckleDamage; + knuckleDamage.skill = skillManager->getDefaultSkillId(); + knuckleDamage.base = damageBase; + knuckleDamage.delta = damageDelta; + knuckleDamage.cth = 2; + knuckleDamage.element = ELEMENT_NEUTRAL; + knuckleDamage.type = DAMAGE_PHYSICAL; + knuckleDamage.range = (getSize() < DEFAULT_TILE_LENGTH) ? + DEFAULT_TILE_LENGTH : getSize(); AutoAttack knuckleAttack(knuckleDamage, 7, 3); mAutoAttacks.add(knuckleAttack); |