Commit graph

777 commits

Author SHA1 Message Date
mattsc
5e676307dc Micro AIs: consistently use underscores in ids and file names
This was still a mix of underscores and hyphens from the development
phase(s) done by a number of different people.
2013-07-03 20:04:09 -07:00
mattsc
bd76e51af9 Multipack Wolves MAI bug fix: move a misplaced 'end'
This caused the AI to become inactive when the show_pack_number= key
was not set.
2013-07-03 19:15:58 -07:00
mattsc
969c6aef03 Messenger MAI: keep messenger at final waypoint once it gets there
Previously this caused an error message and jumping back and forth
between the last waypoint and an adjacent hex.
2013-07-03 18:44:42 -07:00
mattsc
bce61017f1 New Hang Out Micro AI and test scenario 2013-07-03 17:10:49 -07:00
mattsc
a277f760eb Goto MAI: Set ca_score and max_score default to 300,000 2013-07-02 18:17:22 -07:00
mattsc
b7fdf80ec2 Messenger Escort MAI: add optional ca_score parameter 2013-07-02 17:34:24 -07:00
mattsc
3059a11602 [micro_ai] tag: make ca_score a universal optional key for all Micro AIs
This does not mean that all the MAIs do anything with this yet, only
that it is passed to all MAIs for which it is set.  It needs to be
implemented on a one-by-one basis.  Only the Goto MAI uses this option
so far.
2013-07-02 16:57:11 -07:00
mattsc
ec11244c1e Recruiting Micro AIs: rename variables
This is necessary because there is now no distinction between
parameters passed as keys or tags in the [micro_ai] tag setup functions
for all MAIs.  No change in functionality.
2013-07-02 13:18:20 -07:00
mattsc
417a3bb42d [micro_ai] tag setup functions: clean up to eliminate lots of duplicate code
As a side effect, key ca_id= is now an optional parameter for all MAIs.
 It did not make sense to disentangle this into a separate commit.
2013-07-02 13:18:20 -07:00
mattsc
d92d96fd07 Guardian and Patrol MAI: check if unit exists even for Behavior CAs
This works around a bug which causes BCAs not to be removed when a
scenario is reloaded from a middle-of-scenario save.
2013-06-27 13:27:29 -07:00
mattsc
1e02ffc77b Zone Guardian MAI: ensure functionality even if no goal hex is found
In that case, the guardian stays put where it is.
2013-06-27 12:24:45 -07:00
mattsc
79f2147034 Zone Guardian MAI: only use reachable zone hexes as goals for the unit
This is done so that the unit does not leave the zone in order to get
to a far away zone hex.  Exception: if none of the zone hexes are
reachable, then all of them are possible goals, so that the unit moves
toward the zone.
2013-06-27 12:04:36 -07:00
mattsc
59f90c5338 Fix indenting 2013-06-27 07:49:37 -07:00
mattsc
3b3b16ce55 Patrols MAI scenario: add a second Micro AI type (zone guardian) to Side 2
This demonstrates how to set up several MAIs for the same side.
2013-06-27 07:05:17 -07:00
mattsc
e6f69ae056 All MAIs: add optional existing_engine parameter to engine init function
This lets us add the Micro AI candidate actions to an already existing
Lua AI engine and thus combine several MAIs.
2013-06-26 19:15:28 -07:00
mattsc
3e5e317954 Guardians MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 19:03:32 -07:00
mattsc
6e40d48970 Healer Support MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 18:52:19 -07:00
mattsc
09bb809e73 Bottleneck MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 18:23:36 -07:00
mattsc
0caee11712 Goto MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 17:32:00 -07:00
mattsc
2741dd297b Animals MAIs: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 15:17:12 -07:00
mattsc
5f5206465e Lurker MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 15:00:59 -07:00
mattsc
493af0053b Patrol MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 14:55:30 -07:00
mattsc
0d4383c4ac Messenger Escort MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 14:51:43 -07:00
mattsc
778ab615d1 Recruit MAIs: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 14:32:15 -07:00
mattsc
e4bdb188e7 Protect Unit MAI: rename internal engine functions
No change of functionality.  This is done to ensure that function names
are unique, a necessary step toward making different MAIs combinable.
2013-06-26 14:31:21 -07:00
mattsc
b83e68711c Goto MAI: Ensure that persistent data always are in WML table format
This also means that keys cannot contain certain symbols and, as a
result, potentially user-provided strings need to be stored in the
values, not keys.  This fixes bug #20924 about the Goto MAI corrupting
saves.
2013-06-22 07:51:14 -07:00
mattsc
d11edb6ec7 Make Experimental AI available in MP and SP
This is done through a new macro EXPERIMENTAL_AI.  Previously, it was
only available as a multiplayer AI.
2013-06-14 20:35:31 -07:00
Alarantalara
62c2bbcb20 Merge AI-demo and mainline experimental recruit logic
Slight speed improvement when close to unowned vilages. Correct score
for time of day damage estimates for encountering the enemy near end of
game.
2013-06-14 18:03:44 -04:00
mattsc
bf3517d1e4 ExpAI: make recruiting work with all keys of [damage] special
Previously there would be an error, and subsequently no recruiting, if
the multiply= key was not set.
2013-06-13 07:51:06 -07:00
mattsc
66913d3aa8 Return Guardian MAI: bug fix for situation when return hex is occupied 2013-06-10 19:50:13 -07:00
Espreon
7bfe81e824 'End scenario' -> 'End Scenario'. 2013-06-08 20:11:26 -04:00
mattsc
e6ec4152d2 ExpAI: make recruiting work with all keys of [chance_to_hit] special
Previously there would be an error, and subsequently no recruiting, if
the value= key was not set.
2013-06-07 19:17:21 -07:00
mattsc
f06daf98fd Micro AIs: minor grammar fixes 2013-06-07 07:34:17 -07:00
mattsc
ec21fad877 Healer Support MAI: make [filter] work correctly when aggression=0
Previously, all healers were excluded from attacks when aggression=0
was set, not only those specified in [filter].
2013-06-07 06:48:55 -07:00
mattsc
2139c84188 Zone guardian MAI: add optional station_x,station_y= keys 2013-06-06 19:24:13 -07:00
mattsc
3fadf4cc31 Goto Micro AI: do not exclude leaders by default
The MAI accidentally excluded units with canrecruit=yes.  Thanks H-Hour.
2013-06-06 13:20:00 -07:00
flix
2965da1731 Add comments to data/ai/formula/new_recruitment.fai 2013-06-01 23:41:27 +03:00
flix/Felix Bauer
29e8584738 Add new aspect 'advancements'
As part of a GSoC proposal I added a new aspect so a scenario editor can control advancements in two ways:
1. Define a aspect with a string-value like "Swordsman, Knight", so the units of interesst will always advance to this
2. Use the LUA-Engine and return a function of the form advance(x, y) which will itself return a string-value
    like "Swordsman, Knight". Everytime a ai-unit advances advance(x, y) will be called.
The corresponding wikipage (http://wiki.wesnoth.org/AiWML) is going to be updated soon.
2013-06-01 17:21:12 +03:00
Espreon
3f20785d02 Split all of the AI-related strings (except for the AI controller's) into a new 'wesnoth-ai' textdomain. Includes a pot-update for 'wesnoth' as a side effect. 2013-05-22 22:19:43 -04:00
Espreon
edcf801caa Ran wmlindent. 2013-05-22 22:19:42 -04:00
Espreon
cadb752ccf Made various strings translatable; disambiguated and split some strings; eliminated an Earth name. 2013-05-22 22:19:42 -04:00
Espreon
5203d7d7b5 Filter for id instead of name; converted some tabs to spaces. 2013-05-22 18:02:43 -04:00
Espreon
30419e93c3 Marked various files as having no translatables. 2013-05-22 17:02:51 -04:00
Espreon
6278b6f312 Eliminated double spaces. 2013-05-20 20:33:53 -04:00
mattsc
29acfbd532 Recruiting AIs: add more combinations to terrain strings for finding keeps 2013-05-16 20:22:02 -07:00
mattsc
a44a9a0d45 Recruiting AIs: add more combinations to terrain strings for finding castles 2013-05-16 20:14:11 -07:00
mattsc
04f7993ed5 Micro and experimental AIs: turn off some debug output 2013-05-16 11:22:39 -07:00
jleldridge
8665d09ac4 Changed healer support mai to use new location_set.of_pairs() method to create avoid_map. 2013-05-16 00:21:40 -04:00
jleldridge
fc7455b81b Added ability for Healer Support mai to avoid certain tiles based on standard ai avoid aspect. 2013-05-14 16:08:12 -04:00
mattsc
78f753e4dc Revert "LuaAI: (1) persistent storage mechanism now available and working properly (2) old/incomplete mechanism not removed, subject to future deprecation"
This reverts commit 754f2c2b3d.
2013-05-13 13:15:22 -07:00