diff options
author | Philipp Sehmisch <crush@themanaworld.org> | 2009-09-23 20:06:16 +0200 |
---|---|---|
committer | Philipp Sehmisch <crush@themanaworld.org> | 2009-09-23 20:15:52 +0200 |
commit | b2bbb73f3fab10b238a61bf3aa185d80e6d2070f (patch) | |
tree | 91d26f1d93fd81d9378894f63b66ac7409ddb23b /src/game-server/monster.cpp | |
parent | 5ae62661c90389d6456e5be75d240fb95b68b2cb (diff) | |
download | manaserv-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.cpp | 14 |
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) { |