Commit graph

774 commits

Author SHA1 Message Date
mattsc
20b07c6379 Micro AIs: internal changes to AI and CA ID handling
This is needed to fix some corner cases of multiple Micro AI changes
during a scenario, such as for the bats in the Goto test scenario.
2016-04-02 07:54:57 -07:00
mattsc
91130a3df2 Fix error in Formula AI test scenario 2016-03-30 07:33:37 -07:00
Celtic Minstrel
74ce7454d9 Random Recruit MAI test: Add second [probability] tag 2016-03-30 01:04:44 -04:00
Celtic Minstrel
85a498ba15 Fast MAI: Correctly honour the attacks aspect if set 2016-03-30 01:04:42 -04:00
Celtic Minstrel
7c5c79aa20 Update all FormulaAI scripts for renamed keys
Also, note the changes in the changelog and RN
2016-03-29 13:04:21 -04:00
mattsc
ff11fecfe3 Guardians MAI test scenario: update portrait paths 2016-03-28 17:42:50 -07:00
Celtic Minstrel
c8b47e48a1 Simple Attack MAI: Fix filters being ignored 2016-03-28 14:59:38 -04:00
Celtic Minstrel
d4104e01c5 Rush Recruit MAI: Pass requested CA score to recruit engine 2016-03-28 14:58:53 -04:00
Celtic Minstrel
32c3abbbaf Micro AIs: Distinguish attribute and tag parameters and copy all of the latter
(Though currently only Protect Unit and Random Recruiting actually honour multiples of any tag.)
2016-03-28 12:54:25 -04:00
mattsc
c82ae94ae9 Random Recruiting Micro AI: fix [probability] tag 2016-03-28 07:22:52 -07:00
mattsc
1e3d80df0b Micro AI tests: do not change controller to null for active side 2016-03-27 20:39:02 -07:00
mattsc
9ed1b39b90 Random Recruiting MAI: use require() instead of dofile() 2016-03-27 20:39:02 -07:00
mattsc
263227852a Micro AI CAs: use consistent indenting 2016-03-27 20:39:02 -07:00
Celtic Minstrel
678444133e Suppress end turn confirmation in all interactive test scenarios 2016-03-27 15:13:24 -04:00
Celtic Minstrel
ba5eb7bc91 Move some AI test scenarios from data/ to data/ai/scenarios/
(And update them to modern syntax)
2016-03-27 15:13:23 -04:00
Celtic Minstrel
c79874086d MicroAIs: Update all to use the new [args] syntax
Except for Protect Unit, all of them seem to still work correctly.
2016-03-27 15:13:21 -04:00
Celtic Minstrel
c19ddba30a MicroAIs: Refactor code to make it easy for add-ons to add new ones 2016-03-26 21:57:15 -04:00
Celtic Minstrel
6ed34069fe Micro AIs: Remove tests for deprecated syntax 2016-03-26 21:57:14 -04:00
Celtic Minstrel
7df4fc3970 Fix [modify_side]switch_ai=data/dev/idle_ai.cfg 2016-03-26 16:39:43 -04:00
mattsc
df5714801c AI Arena: fix the menus 2016-03-25 14:15:34 -07:00
mattsc
09ee5c7a4b AI Arena: update [option] tags to new syntax 2016-03-25 13:58:52 -07:00
mattsc
e48908f42f Fix FAI experimental recruitment setup 2016-03-25 09:40:13 -07:00
mattsc
202aa804bb AI Arena: remove akihara_recruitment test
Since akihara_recruitment has been removed.
2016-03-24 19:34:12 -07:00
Celtic Minstrel
16ed12f7de Fix FormulaAI lurkers example 2016-03-24 17:49:02 -04:00
Celtic Minstrel
d48060bc00 Fix external Lua CA example for new syntax 2016-03-24 17:49:02 -04:00
mattsc
cccf1f8604 Change id and description of the former "Strong AI" 2016-03-24 12:57:35 -07:00
mattsc
a218e6b659 Move "Strong AI" to ai/dev/ and rename file
This means that it is now only available in debug mode.  It is not
significantly enough different from the default to be one of the main
options.
2016-03-24 12:57:35 -07:00
mattsc
c04f406bd8 Old patrol.lua: fix indenting and add deprecation message 2016-03-24 12:57:35 -07:00
mattsc
dd2d193cbd Remove move_to_targets test scenario
This was useful when the composite AI was introduced (in Wesnoth 1.7),
but does not serve a purpose any more now.
2016-03-24 10:56:45 -07:00
Celtic Minstrel
57e41387a8 Remove Strategy Formulation with RCA stage 2016-03-24 12:39:37 -04:00
Celtic Minstrel
ab443bcc18 Remove experimental recruitment 2016-03-24 12:06:10 -04:00
mattsc
be505342bf Lua AI test scenarios: rename files 2016-03-24 08:16:03 -07:00
mattsc
5774872e04 Lua AI test scenarios: update id= and name= keys 2016-03-24 08:09:59 -07:00
mattsc
961d134ee2 Fix and simplify Lua AI test scenario 2016-03-24 08:07:01 -07:00
Celtic Minstrel
d73a2486ba Deleted AI definition referencing the removed old recruitment CA 2016-03-24 00:08:11 -04:00
Celtic Minstrel
a23a368c20 Remove Akihara's recruitment and battle evaluation 2016-03-24 00:08:10 -04:00
mattsc
c60280392b Protect Unit MAI test scenario: adapt Lua engine to new syntax 2016-03-23 16:43:51 -07:00
mattsc
f920a03ebb Patrols MAI test scenario: adapt Lua engine to new syntax 2016-03-23 16:38:22 -07:00
mattsc
7c4aec9cfe Micro AI test scenario: fix incorrect aspect name 2016-03-22 18:31:42 -07:00
Celtic Minstrel
2ed5e7815f MicroAIs: Fix those that honour the avoid aspect improperly
This affects the Hang Out and Fast MAIs.
2016-03-22 07:22:22 -07:00
Celtic Minstrel
1d7c1c74f6 Improve backwards compatibility for Lua AI
This changes the following:
- Fixes the experimental AI, without changing any of its code except for that in the [engine] tag
- Returns a dummy self from the dummy Lua engine, so that external CAs are more easily switched to using [params]
- Changes the order in which parameters are passed to AI component code. The order is now:
        state/self,    params,    data
2016-03-22 07:22:22 -07:00
Celtic Minstrel
7c9e24aa29 Remove several deprecated recruitment-related aspects
- number_of_possible_recruits_to_force_recruit
- recruitment_ignore_bad_combat
- recruitment_ignore_bad_movement
2016-03-22 07:22:22 -07:00
Celtic Minstrel
ca8cb3bd6a Remove the deprecated recruitment stage, candidate action, and aspect 2016-03-22 07:22:22 -07:00
Celtic Minstrel
f8f5557eb0 Huge refactor of Lua AI engine
This commit potentially breaks any Lua AI customization, except for external Lua candidate actions.
In practice, though, Lua aspects and goals will probably continue to work for the most part.

- The ai table now has a read_only attribute.
  If true, functions that change the game state will be missing from the table.
  The read_only attribute is false in CA execution and in stages.
  It is true everywhere else.
- Every Lua AI component now supports a [args] subtag.
  The contents of this tag are passed as parameters to the component code.
  This data is immutable; components cannot alter its contents.
  (External Lua candidate actions do not receive this data.)
- Accessing the persistent engine data is now supported in all Lua components.

When calling a Lua component, the Lua engine now passes two parameters:
1. The contents of the [args] tag in the specific component.
2. The contents of the [data] tag in the Lua [engine].

The return value of the [engine] code, if any, is stored for later used.
It will be passed as the third parameter to any other Lua component.
This data can be changed, but will not be saved.
The default engine does not return any such data.
2016-03-22 07:22:22 -07:00
Celtic Minstrel
bcbba6dde3 Change ID of Idle AI 2016-03-22 07:22:22 -07:00
Celtic Minstrel
9c2027a8d8 Remove version key from AI configs
This has a lot of cascade effects and may remove support for some old syntaxes, such as [protect_unit].
2016-03-22 07:22:22 -07:00
mattsc
3d01dabce6 Protect Unit Micro AI: fix bug in AI setup 2016-03-20 10:00:02 -07:00
mattsc
11e1917d21 Guardians Micro AI test scenario: update an image path 2016-03-20 09:37:05 -07:00
mattsc
6f57ee846b Micro AIs: update to new syntax of wesnoth.put_unit() 2016-03-19 20:59:39 -07:00
mattsc
c4a34ebe2c Micro AIs: update syntax of [message][option] usages 2016-03-19 13:26:01 -07:00