summaryrefslogtreecommitdiff
path: root/src/game-server/monster.cpp
diff options
context:
space:
mode:
authorPhilipp Sehmisch <crush@themanaworld.org>2009-09-23 20:06:16 +0200
committerPhilipp Sehmisch <crush@themanaworld.org>2009-09-23 20:15:52 +0200
commitb2bbb73f3fab10b238a61bf3aa185d80e6d2070f (patch)
tree91d26f1d93fd81d9378894f63b66ac7409ddb23b /src/game-server/monster.cpp
parent5ae62661c90389d6456e5be75d240fb95b68b2cb (diff)
downloadmanaserv-b2bbb73f3fab10b238a61bf3aa185d80e6d2070f.tar.gz
manaserv-b2bbb73f3fab10b238a61bf3aa185d80e6d2070f.tar.bz2
manaserv-b2bbb73f3fab10b238a61bf3aa185d80e6d2070f.tar.xz
manaserv-b2bbb73f3fab10b238a61bf3aa185d80e6d2070f.zip
added script functions for monster attacks
Diffstat (limited to 'src/game-server/monster.cpp')
-rw-r--r--src/game-server/monster.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/game-server/monster.cpp b/src/game-server/monster.cpp
index 1cb6806b..68cfa88e 100644
--- a/src/game-server/monster.cpp
+++ b/src/game-server/monster.cpp
@@ -132,7 +132,19 @@ void Monster::perform()
damage.element = mCurrentAttack->element;
damage.type = mCurrentAttack->type;
- performAttack(mTarget, mCurrentAttack->range, damage);
+ int hit = performAttack(mTarget, mCurrentAttack->range, damage);
+
+ if (! mCurrentAttack->scriptFunction.empty()
+ && mScript
+ && hit > -1)
+ {
+ mScript->setMap(getMap());
+ mScript->prepare(mCurrentAttack->scriptFunction);
+ mScript->push(this);
+ mScript->push(mTarget);
+ mScript->push(hit);
+ mScript->execute();
+ }
}
if (!mAttackTime)
{