summaryrefslogtreecommitdiffstats
path: root/src/scripting/luautil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/scripting/luautil.cpp')
-rw-r--r--src/scripting/luautil.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/scripting/luautil.cpp b/src/scripting/luautil.cpp
index f889aa6..7dd2b19 100644
--- a/src/scripting/luautil.cpp
+++ b/src/scripting/luautil.cpp
@@ -21,6 +21,8 @@
#include "luautil.h"
+#include <string.h>
+
#include "game-server/character.h"
#include "game-server/itemmanager.h"
#include "game-server/monster.h"
@@ -235,6 +237,20 @@ AbilityManager::AbilityInfo *checkAbility(lua_State *s, int p)
return abilityInfo;
}
+unsigned char checkWalkMask(lua_State *s, int p)
+{
+ const char *stringMask = luaL_checkstring(s, p);
+ unsigned char mask = 0x00;
+ if (strchr(stringMask, 'w'))
+ mask |= Map::BLOCKMASK_WALL;
+ if (strchr(stringMask, 'c'))
+ mask |= Map::BLOCKMASK_CHARACTER;
+ if (strchr(stringMask, 'm'))
+ mask |= Map::BLOCKMASK_MONSTER;
+
+ return mask;
+}
+
MapComposite *checkCurrentMap(lua_State *s, Script *script /* = 0 */)
{