diff options
Diffstat (limited to 'src/scripting/luautil.cpp')
-rw-r--r-- | src/scripting/luautil.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/scripting/luautil.cpp b/src/scripting/luautil.cpp index 4a5bee9a..b7680c6b 100644 --- a/src/scripting/luautil.cpp +++ b/src/scripting/luautil.cpp @@ -23,6 +23,7 @@ #include "game-server/character.h" #include "game-server/npc.h" +#include "game-server/monster.h" #include "utils/logger.h" @@ -78,6 +79,16 @@ Character *getCharacter(lua_State *s, int p) return static_cast<Character *>(t); } +Monster *getMonster(lua_State *s, int p) +{ + if (!lua_islightuserdata(s, p)) + return 0; + Thing *t = static_cast<Thing *>(lua_touserdata(s, p)); + if (t->getType() != OBJECT_MONSTER) + return 0; + return static_cast<Monster *>(t); +} + Being *getBeing(lua_State *s, int p) { if (!lua_islightuserdata(s, p)) |