This means:
1. Adding the new CA to AI configs
2. Removing it whenever the combat CA is removed
3. Preventing conflicts for AIs that previously used overlapping scores
This CA performs attacks on enemy units so close to leveling that the
default AI's combat CA would not attack them (with some exceptions).
This is meant to keep players from being able to exploit this known
weakness of the default AI.
@zookeeper pointed out to me that spelling event names with spaces is the
standard in WML, especially when setting up event listeners. Thus, changing
spelling of the names of the events fired from WML made the codebase more
inconsistent, not less.
Follow-up of 3cbf249b. This commit changes event names to be written with
underscores everywhere where events are fired (or every place I found in a
quick search, anyway).
And the Lord said, "Thou hast already consumed My Holy Water, thou needest another not."
And, hearing the Word of the Lord, Posieden said, "Yo! Storm Trident! Dude, look in your hand!"
- Implement a way to escape special characters {|} in the CFG generator
- Eliminate null pointers to name generators
- Invalid generators now throw exceptions
- Name generating rules for different terrain elements can now be specified
(The defaults in english.cfg are still used)
According to the Wiki, since 1.13.2 message= is an alias for label=.
Using message= provokes a warning about it being deprecated.
This replaces message= with label= in the entire mainline (where it had not already been changed).
this has 2 advantages:
1) It decreased savefile size since the event is no longer sotred in
each savefile.
2) The ABILITY_FEEDING no longer assumes its used from within
[abilities]
This macro causes OOS because it changes the gamestate during the unsynced ai_turn event.
Also it doesn't handle custom recall costs.
This commit also fixes MAKE_AI_SIDE_PERSISTENT. But i think this macro should be removed too since just writing 'persistent=yes' in [side] is much easier to understand than using this macro.
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
- name=protect was a synonym for protect_location, which I consider confusing when name=target refers to a unit
- name=target_unit is of course a synonym for target, added for greater consistency of syntax