diff options
Diffstat (limited to 'src/scripting/luautil.cpp')
-rw-r--r-- | src/scripting/luautil.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/scripting/luautil.cpp b/src/scripting/luautil.cpp index 7dd2b199..8d166469 100644 --- a/src/scripting/luautil.cpp +++ b/src/scripting/luautil.cpp @@ -237,6 +237,18 @@ AbilityManager::AbilityInfo *checkAbility(lua_State *s, int p) return abilityInfo; } +const AttributeManager::AttributeInfo *checkAttribute(lua_State *s, int p) +{ + const AttributeManager::AttributeInfo *attributeInfo; + if (lua_isnumber(s, p)) + attributeInfo = attributeManager->getAttributeInfo(luaL_checkint(s, p)); + else + attributeInfo = attributeManager->getAttributeInfo(luaL_checkstring(s, p)); + + luaL_argcheck(s, attributeInfo != nullptr, p, "invalid attribute"); + return attributeInfo; +} + unsigned char checkWalkMask(lua_State *s, int p) { const char *stringMask = luaL_checkstring(s, p); |