From a648471bf606dbe6bc5e3db16531a5624e552747 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Tue, 12 Jun 2012 05:07:59 +0200 Subject: Lua: Remove get_lua_int() --- src/externs.h | 1 - src/lua_bind.c | 7 ------- src/spells2.c | 3 +-- src/spells3.c | 31 +++++++++++++++++++++++++------ 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/externs.h b/src/externs.h index b041f960..1b8b0377 100644 --- a/src/externs.h +++ b/src/externs.h @@ -2380,7 +2380,6 @@ extern s16b add_new_power(cptr name, cptr desc, cptr gain, cptr lose, byte le extern void find_position(int y, int x, int *yy, int *xx); extern s16b add_new_gods(char *name); -extern int get_lua_int(cptr name); extern int get_lua_list_size(cptr list_name); extern bool_ get_com_lua(cptr promtp, int *com); diff --git a/src/lua_bind.c b/src/lua_bind.c index adf0dd1e..f3c53b87 100644 --- a/src/lua_bind.c +++ b/src/lua_bind.c @@ -396,13 +396,6 @@ char lua_msg_box(cptr title) -int get_lua_int(cptr name) -{ - char buf[128]; - sprintf(buf, "return %s", name); - return exec_lua(buf); -} - int get_lua_list_size(cptr list_var) { char buf[128]; diff --git a/src/spells2.c b/src/spells2.c index 8df782a4..cdd3af66 100644 --- a/src/spells2.c +++ b/src/spells2.c @@ -8385,9 +8385,8 @@ void channel_the_elements(int y, int x, int level) case FEAT_SAND: { - int type, dur, FIERYAURA; + int type, dur; - FIERYAURA = get_lua_int("FIERYAURA"); type = (get_level(FIERYAURA, 50, 1) >= 8) ? SHIELD_GREAT_FIRE : SHIELD_FIRE; dur = randint(20) + level + get_skill(SKILL_AIR); diff --git a/src/spells3.c b/src/spells3.c index e6da0cf9..bb67ac61 100644 --- a/src/spells3.c +++ b/src/spells3.c @@ -1491,6 +1491,29 @@ static eff_type *geomancy_find_effect(eff_type effs[], int feat) return NULL; } +static u32b dir_to_eff_flags(int dir) +{ + assert(dir >= 1); + assert(dir <= 9); + + switch (dir) + { + case 1: return EFF_DIR1; + case 2: return EFF_DIR2; + case 3: return EFF_DIR3; + case 4: return EFF_DIR4; + case 5: return 0; + case 6: return EFF_DIR6; + case 7: return EFF_DIR7; + case 8: return EFF_DIR8; + case 9: return EFF_DIR9; + default: + assert(FALSE); + } + /* Default */ + return 0; +} + casting_result geomancy_elemental_wave(int item) { int dir = 0, y = 0, x = 0; @@ -1531,11 +1554,7 @@ casting_result geomancy_elemental_wave(int item) else { s16b typ = eff_ptr->low_effect; - char buf[16]; - s32b EFF_DIR; - - sprintf(buf, "EFF_DIR%d", dir); - EFF_DIR = get_lua_int(buf); + u32b dir_flag = dir_to_eff_flags(dir); if (get_level_s(ELEMENTAL_WAVE, 50) >= 20) { @@ -1549,7 +1568,7 @@ casting_result geomancy_elemental_wave(int item) eff_ptr->damage, 0, 6 + get_level_s(ELEMENTAL_WAVE, 20), - EFF_WAVE + EFF_LAST + EFF_DIR); + EFF_WAVE + EFF_LAST + dir_flag); return CAST_OBVIOUS; } -- cgit v1.2.3