SotBE S4: force AI to attack enemies 1 XP from leveling

.. so that it is not possible to block key positions with such units.
This commit is contained in:
mattsc 2014-01-18 16:02:04 -08:00
parent 7a1e639ca2
commit 1f1ae18749
2 changed files with 46 additions and 0 deletions

View file

@ -75,6 +75,8 @@
[/side]
{STARTING_VILLAGES 2 10}
{AI_FORCE_ATTACK_HIGH_XP_UNITS_SETUP}
{AI_FORCE_ATTACK_HIGH_XP_UNITS 2}
[side]
type=Orcish Slayer
@ -105,6 +107,7 @@
[/side]
{STARTING_VILLAGES 4 10}
{AI_FORCE_ATTACK_HIGH_XP_UNITS 4}
[side]
type=Elvish Marshal
@ -131,6 +134,7 @@
[/side]
{STARTING_VILLAGES 5 6}
{AI_FORCE_ATTACK_HIGH_XP_UNITS 5}
[side]
type=Elvish Marshal
@ -147,6 +151,7 @@
[/side]
{STARTING_VILLAGES 6 8}
{AI_FORCE_ATTACK_HIGH_XP_UNITS 6}
{BIGMAP_04}

View file

@ -183,3 +183,44 @@
[/unstore_unit]
[/event]
#enddef
#define AI_FORCE_ATTACK_HIGH_XP_UNITS_SETUP
# Function needed for Micro AI which forces attacks on units 1 XP from leveling
# Goes directly into scenario toplevel, but only once per scenario
[event]
name=preload
first_time_only=no
[lua]
code=<<
function close_to_advancing(unit)
if (unit.experience >= unit.max_experience-1) then
return true
else
return false
end
end
>>
[/lua]
[/event]
#enddef
#define AI_FORCE_ATTACK_HIGH_XP_UNITS SIDE
# Micro AI which forces attacks on units 1 XP from leveling
# Goes directly into scenario toplevel, one macro per side
[event]
name=preload
[micro_ai]
side={SIDE}
ai_type=simple_attack
action=add
ca_score=100001
[filter]
canrecruit=no
[/filter]
[filter_second]
lua_function = "close_to_advancing"
[/filter_second]
[/micro_ai]
[/event]
#enddef