diff options
author | Philipp Sehmisch <tmw@crushnet.org> | 2008-05-06 18:49:04 +0000 |
---|---|---|
committer | Philipp Sehmisch <tmw@crushnet.org> | 2008-05-06 18:49:04 +0000 |
commit | 7d559cbae9c713e15ae0c943a4d571122bf29bc6 (patch) | |
tree | d3edd6921006c28c62db25621f9ad1b44d1f0e69 /src/game-server/trigger.hpp | |
parent | 832584f65adff69659181d6fc884f779a79d62a9 (diff) | |
download | manaserv-7d559cbae9c713e15ae0c943a4d571122bf29bc6.tar.gz manaserv-7d559cbae9c713e15ae0c943a4d571122bf29bc6.tar.bz2 manaserv-7d559cbae9c713e15ae0c943a4d571122bf29bc6.tar.xz manaserv-7d559cbae9c713e15ae0c943a4d571122bf29bc6.zip |
Implemented script trigger areas which call a script function when an object steps into them.
Diffstat (limited to 'src/game-server/trigger.hpp')
-rw-r--r-- | src/game-server/trigger.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/game-server/trigger.hpp b/src/game-server/trigger.hpp index d6e4d2c9..3ca52fba 100644 --- a/src/game-server/trigger.hpp +++ b/src/game-server/trigger.hpp @@ -26,6 +26,7 @@ #include "point.h" #include "game-server/thing.hpp" +#include "scripting/script.hpp" class Object; @@ -49,6 +50,20 @@ class WarpAction : public TriggerAction unsigned short mX, mY; }; +class ScriptAction : public TriggerAction +{ + public: + ScriptAction(Script *script, std::string function, int arg) + : mScript(script), mFunction(function), mArg(arg) {} + + virtual void process(Object *obj); + + private: + Script *mScript; //Script object to be called + std::string mFunction; //Name of the function called in the script object + int mArg; //Argument passed to script function (meaning is function-specific) +}; + class TriggerArea : public Thing { public: |