summaryrefslogtreecommitdiff
path: root/src/game-server/character.cpp
diff options
context:
space:
mode:
authorErik Schilling <ablu.erikschilling@googlemail.com>2012-03-04 16:52:41 +0100
committerErik Schilling <ablu.erikschilling@googlemail.com>2012-03-05 20:25:48 +0100
commitd4f9a3370ed27cdae23da6f8c94c68619431cd48 (patch)
treeb36d4895c4c48a20c94cb34917e49719f56a294f /src/game-server/character.cpp
parent9f67ba0e68d0a85944268c55045c28d6d12983b5 (diff)
downloadmanaserv-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.cpp14
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);