More(village related) aspects exposed to lua(http://wiki.wesnoth.org/LuaAI)
This commit is contained in:
parent
65db78e77d
commit
5c7d4d64e5
3 changed files with 78 additions and 11 deletions
|
@ -197,37 +197,52 @@ Gs^Fp , Gs^Fp , Wwf , Wwf , Mm , Rd
|
|||
[aspect]
|
||||
id=number_of_possible_recruits_to_force_recruit
|
||||
engine=lua
|
||||
value="0.34"
|
||||
value=0.34
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=passive_leader
|
||||
engine=lua
|
||||
value="true"
|
||||
value=true
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=passive_leader_shares_keep
|
||||
engine=lua
|
||||
code="return true"
|
||||
code=return true
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=scout_village_targeting
|
||||
engine=lua
|
||||
value="0.36"
|
||||
value=0.36
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=simple_targeting
|
||||
engine=lua
|
||||
value="true"
|
||||
value=true
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=recruitment_ignore_bad_combat
|
||||
engine=lua
|
||||
value="false"
|
||||
value=false
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=recruitment_ignore_bad_movement
|
||||
id=village_value
|
||||
engine=lua
|
||||
value="true"
|
||||
value=1.2
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=support_villages
|
||||
engine=lua
|
||||
value=true
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=villages_per_scout
|
||||
engine=lua
|
||||
value=2
|
||||
[/aspect]
|
||||
[aspect]
|
||||
id=grouping
|
||||
engine=lua
|
||||
value="'defensive'"
|
||||
[/aspect]
|
||||
version=10710
|
||||
[engine]
|
||||
|
@ -275,6 +290,10 @@ function my_ai:do_moves()
|
|||
wesnoth.message('Recruit. ignore bc: ' , tostring(ai.get_recruitment_ignore_bad_combat()))
|
||||
wesnoth.message('Recruit. ignore bm: ' , tostring(ai.get_recruitment_ignore_bad_movement()))
|
||||
wesnoth.message('nofprtfr: ' , ai.get_number_of_possible_recruits_to_force_recruit())
|
||||
wesnoth.message('Grouping: ' .. ai.get_grouping())
|
||||
wesnoth.message('Support villages: ' .. tostring(ai.get_support_villages()))
|
||||
wesnoth.message('Village value: ' .. ai.get_village_value())
|
||||
wesnoth.message('Villages per scout: ' .. ai.get_villages_per_scout())
|
||||
|
||||
my_leader = wesnoth.get_units({canrecruit = true, side = ai.side})[1]
|
||||
x,y = ai.suitable_keep(my_leader)
|
||||
|
|
|
@ -262,6 +262,11 @@ static int cfun_ai_get_attack_depth(lua_State *L)
|
|||
return 1;
|
||||
}
|
||||
|
||||
//static int cfun_ai_get_avoid(lua_State *L)
|
||||
//{
|
||||
// return 1;
|
||||
//}
|
||||
|
||||
static int cfun_ai_get_caution(lua_State *L)
|
||||
{
|
||||
double caution = get_readonly_context(L).get_caution();
|
||||
|
@ -269,6 +274,13 @@ static int cfun_ai_get_caution(lua_State *L)
|
|||
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_leader_aggression(lua_State *L)
|
||||
{
|
||||
double leader_aggression = get_readonly_context(L).get_leader_aggression();
|
||||
|
@ -332,6 +344,26 @@ static int cfun_ai_get_simple_targeting(lua_State *L)
|
|||
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_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_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;
|
||||
}
|
||||
|
||||
lua_ai_context* lua_ai_context::create(lua_State *L, char const *code, ai::engine_lua *engine)
|
||||
{
|
||||
|
@ -355,15 +387,19 @@ lua_ai_context* lua_ai_context::create(lua_State *L, char const *code, ai::engin
|
|||
{ "get_aggression", &cfun_ai_get_aggression },
|
||||
{ "get_attack_depth", &cfun_ai_get_attack_depth }, // { "get_", &cfun_ai_get_}, little template # TODELETE
|
||||
{ "get_caution", &cfun_ai_get_caution },
|
||||
{ "get_grouping", &cfun_ai_get_grouping },
|
||||
{ "get_leader_aggression", &cfun_ai_get_leader_aggression },
|
||||
{ "get_leader_value", &cfun_ai_get_leader_value },
|
||||
{ "get_number_of_possible_recruits_to_force_recruit", &cfun_ai_get_number_of_possible_recruits_to_force_recruit},
|
||||
{ "get_passive_leader", &cfun_ai_get_passive_leader},
|
||||
{ "get_passive_leader", &cfun_ai_get_passive_leader },
|
||||
{ "get_passive_leader_shares_keep", &cfun_ai_get_passive_leader_shares_keep},
|
||||
{ "get_recruitment_ignore_bad_combat", &cfun_ai_get_recruitment_ignore_bad_combat},
|
||||
{ "get_recruitment_ignore_bad_movement", &cfun_ai_get_recruitment_ignore_bad_movement},
|
||||
{ "get_scout_village_targeting", &cfun_ai_get_scout_village_targeting},
|
||||
{ "get_simple_targeting", &cfun_ai_get_simple_targeting},
|
||||
{ "get_scout_village_targeting", &cfun_ai_get_scout_village_targeting },
|
||||
{ "get_simple_targeting", &cfun_ai_get_simple_targeting },
|
||||
{ "get_support_villages", &cfun_ai_get_support_villages },
|
||||
{ "get_village_value", &cfun_ai_get_village_value },
|
||||
{ "get_villages_per_scout", &cfun_ai_get_villages_per_scout },
|
||||
{ "move", &cfun_ai_execute_move_partial },
|
||||
{ "move_full", &cfun_ai_execute_move_full },
|
||||
{ "recall", &cfun_ai_execute_recall },
|
||||
|
|
|
@ -368,6 +368,9 @@ static register_lua_aspect_factory< lua_aspect<int> >
|
|||
static register_lua_aspect_factory< lua_aspect<double> >
|
||||
caution__lua_aspect_factory("caution*lua_aspect");
|
||||
|
||||
static register_lua_aspect_factory< lua_aspect<std::string> >
|
||||
grouping__lua_aspect_factory("grouping*lua_aspect");
|
||||
|
||||
static register_lua_aspect_factory< lua_aspect<double> >
|
||||
leader_aggression__lua_aspect_factory("leader_aggression*lua_aspect");
|
||||
|
||||
|
@ -395,6 +398,15 @@ static register_lua_aspect_factory< lua_aspect<double> >
|
|||
static register_lua_aspect_factory< lua_aspect<bool> >
|
||||
simple_targeting__lua_aspect_factory("simple_targeting*lua_aspect");
|
||||
|
||||
static register_lua_aspect_factory< lua_aspect<bool> >
|
||||
support_villages__lua_aspect_factory("support_villages*lua_aspect");
|
||||
|
||||
static register_lua_aspect_factory< lua_aspect<double> >
|
||||
village_value__lua_aspect_factory("village_value*lua_aspect");
|
||||
|
||||
static register_lua_aspect_factory< lua_aspect<int> >
|
||||
villages_per_scout__lua_aspect_factory("villages_per_scout*lua_aspect");
|
||||
|
||||
void registry::init()
|
||||
{
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue