From ccb4ffd3033ac953c064b590709e0a88ff659003 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Thu, 17 May 2012 08:16:07 +0200 Subject: Lua: Rework get_level_school() callout --- src/lua_bind.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/lua_bind.c') diff --git a/src/lua_bind.c b/src/lua_bind.c index 409e005d..a019004b 100644 --- a/src/lua_bind.c +++ b/src/lua_bind.c @@ -271,13 +271,27 @@ s32b spell_chance(s32b s) } } +void get_level_school(s32b s, s32b max, s32b min, s32b *level, bool_ *na) +{ + if (level != NULL) + { + *level = exec_lua(format("local lvl, na = get_level_school(%d, %d, %d); return lvl", s, max, min)); + } + + if (na != NULL) + { + *na = exec_lua(format("local lvl, na = get_level_school(%d, %d, %d); return (na == \"n/a\")", s, max, min)); + } +} + s32b get_level(s32b s, s32b max, s32b min) { /** Ahah shall we use Magic device instead ? */ if (get_level_use_stick > -1) { return get_level_device(s, max, min); } else { - int level = exec_lua(format("local lvl, na = get_level_school(%d, %d, %d); return lvl", s, max, min)); + s32b level; + get_level_school(s, max, min, &level, NULL); return level; } } -- cgit v1.2.3