static int cfun_ai_get_caution(lua_State *L) { double caution = get_readonly_context(L).get_caution(); lua_pushnumber(L, caution); return 1; }
static int cfun_ai_recalculate_move_maps_enemy(lua_State *L) { get_readonly_context(L).recalculate_move_maps_enemy(); return 1; }
static int cfun_ai_get_attack_depth(lua_State *L) { int attack_depth = get_readonly_context(L).get_attack_depth(); lua_pushnumber(L, attack_depth); return 1; }
static int cfun_ai_get_villages_per_scout(lua_State *L) { int villages_per_scout = get_readonly_context(L).get_villages_per_scout(); lua_pushnumber(L, villages_per_scout); return 1; }
static int cfun_ai_is_src_dst_enemy_valid(lua_State *L) { bool valid = get_readonly_context(L).is_src_dst_enemy_valid_lua(); lua_pushboolean(L, valid); return 1; }
static int cfun_ai_get_leader_goal(lua_State *L) { config goal = get_readonly_context(L).get_leader_goal(); luaW_pushconfig(L, goal); return 1; }
static int cfun_ai_get_enemy_srcdst(lua_State *L) { move_map enemy_src_dst = get_readonly_context(L).get_enemy_dstsrc(); push_move_map(L, enemy_src_dst); return 1; }
static int cfun_ai_get_scout_village_targeting(lua_State *L) { double scout_village_targeting = get_readonly_context(L).get_scout_village_targeting(); lua_pushnumber(L, scout_village_targeting); return 1; }
static int cfun_ai_get_simple_targeting(lua_State *L) { bool simple_targeting = get_readonly_context(L).get_simple_targeting(); lua_pushboolean(L, simple_targeting); return 1; }
static int cfun_ai_get_number_of_possible_recruits_to_force_recruit(lua_State *L) { double noprtfr = get_readonly_context(L).get_number_of_possible_recruits_to_force_recruit(); // @note: abbreviation lua_pushnumber(L, noprtfr); return 1; }
static int cfun_ai_get_recruitment_ignore_bad_movement(lua_State *L) { bool recruitment_ignore_bad_movement = get_readonly_context(L).get_recruitment_ignore_bad_movement(); lua_pushboolean(L, recruitment_ignore_bad_movement); return 1; }
static int cfun_ai_get_passive_leader_shares_keep(lua_State *L) { bool passive_leader_shares_keep = get_readonly_context(L).get_passive_leader_shares_keep(); lua_pushboolean(L, passive_leader_shares_keep); return 1; }
static int cfun_ai_get_passive_leader(lua_State *L) { bool passive_leader = get_readonly_context(L).get_passive_leader(); lua_pushboolean(L, passive_leader); return 1; }
static int cfun_ai_get_leader_value(lua_State *L) { double leader_value = get_readonly_context(L).get_leader_value(); lua_pushnumber(L, leader_value); return 1; }
static int cfun_ai_get_grouping(lua_State *L) { std::string grouping = get_readonly_context(L).get_grouping(); lua_pushstring(L, grouping.c_str()); return 1; }
static int cfun_ai_get_support_villages(lua_State *L) { bool support_villages = get_readonly_context(L).get_support_villages(); lua_pushboolean(L, support_villages); return 1; }
static int cfun_ai_get_leader_aggression(lua_State *L) { double leader_aggression = get_readonly_context(L).get_leader_aggression(); lua_pushnumber(L, leader_aggression); return 1; }
static int cfun_ai_get_village_value(lua_State *L) { double village_value = get_readonly_context(L).get_village_value(); lua_pushnumber(L, village_value); return 1; }
static int cfun_ai_get_leader_ignores_keep(lua_State *L) { bool leader_ignores_keep = get_readonly_context(L).get_leader_ignores_keep(); lua_pushboolean(L, leader_ignores_keep); return 1; }
static int cfun_ai_get_dstsrc(lua_State *L) { move_map dst_src = get_readonly_context(L).get_dstsrc(); push_move_map(L, dst_src); return 1; }