Note that we do not add an 'ignore_units' option, as allies and enemies are taken into account in different ways and we want to have a way of ignoring each type individually.
... as opposed to lining up if there are allied units in the way.
This changes (fixes) the default behavior. An optional 'no_fan_out' parameter is provided in order to restore the old behavior.
This lets the AI find paths around areas defined by [avoid] tags, rather than being stopped dead by them. See comments in the code for details.
The relevant custom cost function, custom_cost_with_avoid(), can be accessed directly as well.
This adds the correct behavior for the castle_switch, move_to_any_enemy and place_healers CAs. It was already in place for the other former ExpAI CAs (except for recruiting and spread_poison, for which it does not apply).
This automatically also adds this behavior to the Healer Support Micro AI.
It is now identical to the default AI, so we only show it in debug mode in the MP computer player selection menu. It will be moved back to be always available when there is new development happening.
* some dunefolk sprite updates
* some revisions to updates
* revise lvl1 naga sprite to look less like existing fighter
* some more sprite revisions
* some base-frame edits and partial path reorganization
* revised firetrooper base-frame
* little pilot flame for firetrooper torch standing anim
* dunefolk sunderer line base sprites
* finish dunefolk sprite directory reorg
Changes:
Make objective notes in S05, 06, 07, & 11 more blunt
S02: Slightly improve dialog
S04: Capitalization fix
S05: Dialog tweak for possible addition of nagas with ranged attack
S09: Improve flow of victory dialog
S09: Change gameplay and difficulty to eliminate tomato surprise
S11: Bump up turn limit
S12: Have saurian elders under player control
S12: Fine-turn enemy recruitment for slightly more clasher line units
In the load-game dialog, this makes deleting a file select the next
visible game save, thus it fixes#4125.
Credit and many thanks to DisherProject for the inspiration and hard
work of debugging where to fix this.
There should never again be a bug where aspects of one type return nil instead of their value.
If support for a new type isn't explicitly added either in lua_object or in impl_ai_aspect_get, it'll raise a runtime error instead of returning nil.
This allows batching all of the tests that are expected to return status zero,
which is currently 161 tests, and running the batch with a single instance of
Wesnoth. It doesn't include the changes to the run_wml_tests script to use
this new feature.
Timing on my PC:
* 4 seconds to run a single test on a debug build
* 90 seconds to run the whole batch of 161 on a debug build
* 1.2 seconds to run a single test on a release build
* 31.2 seconds to run the whole batch of 161 on a release build
The return scores were changed in commit 4999b20bd1, but the max_score values in the configurations have not been updated yet. As the relative ranking was not changed, this should not have any effect on gameplay.