From c943ac8eeb172f19afd602863de9a2e7d7610707 Mon Sep 17 00:00:00 2001 From: Erik Schilling Date: Tue, 17 Jul 2012 12:07:54 +0200 Subject: Made chr_get_level capable of retrieving skill levels Reviewed-by: bjorn. --- src/scripting/lua.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/scripting/lua.cpp') diff --git a/src/scripting/lua.cpp b/src/scripting/lua.cpp index 4c849180..9e904cc9 100644 --- a/src/scripting/lua.cpp +++ b/src/scripting/lua.cpp @@ -714,13 +714,22 @@ static int chr_unequip_item(lua_State *s) } /** - * chr_get_level(Character*): int level - * Tells the character current level. + * chr_get_level(Character* [, skill]): int level + * Tells the character current level. If a skill is passed as 2nd argument it + * will return the skill level. */ static int chr_get_level(lua_State *s) { Character *ch = checkCharacter(s, 1); - lua_pushinteger(s, ch->getLevel()); + if (lua_gettop(s) > 1) + { + int skillId = checkSkill(s, 2); + lua_pushinteger(s, ch->levelForExp(ch->getExperience(skillId))); + } + else + { + lua_pushinteger(s, ch->getLevel()); + } return 1; } -- cgit v1.2.3-70-g09d2