Most of the Fast MAI attack utils had been taken from a more general codebase and included things not needed here. This AI is supposed to be a slimmed down version doing only the absolutely necessary in as fast as possible a fashion.
(cherry-picked from commit f4f2a441e41cea635861630eb555af9f510c9b52)
All mainline chance-to-hit weapon specials have ids, but it is not required for UMC specials.
(cherry-picked from commit 5335a2af335ffdce65097e26359e96a0cbe2c733)
The main reason for doing this, besides simplifying the code, is to avoid using the WML table dump __cfg, which is slow. This includes a change of the format in which the variables are stored, but since these are internal Micro AI utility functions, that does not matter.
(cherry-picked from commit 133568efe6851944f0b9ddaaf75ccaff0cad6a4d)
These used to be accessible only through unit.__cfg or wesnoth.unit_types. The Fast Micro AI is not included here as it requires a larger clean-up.
(cherry-picked from commit 8af988c6972abe75e985d0e43bd8186fe4826cb6)
Recalling units may increase the vision area when playing with shroud/fog.
[ci skip]
(cherry-picked from commit 5f7b1853dd61154183ad4042bd4c41510943f4d9)
The invulnerable status is player-visible and does not insert new events which
are checked at each attack.
[ci skip]
(cherry-picked from commit ddc763f3244f5fff731f61a26553566226494679)
Ensure that allying with the bandits does not trigger the lich sighted event.
It's unlikely that the bandits advanced that far though.
[ci skip]
(cherry-picked from commit 657bf305f528016c0bc6b5218c3e18587fd792d3)
Made it impossible that the undead leader can advance to a lich - though you do
sth. badly wrong if he advances at all. Also, some more 1.13 syntactic sugar.
[ci skip]
(cherry-picked from commit a46d3f1eb394af158062690e9f3a98933f90e8d9)
It shall not hinder the recruiting capabilities of side 3 if the player spawns
the monster.
[ci skip]
(cherry-picked from commit 63333c688e700de41cee571346142b7dd7d00ef6)
That way less events need to be duplicated in scenarios.
It also does not include the full Hylas death event in S7a to S9a.
Previously the Jarek event was not present in one of the final scenarios,
now both include it, but the shorter variant of it.
[ci skip]
(cherry-picked from commit 29b4196556dbe401766f48d0f46faa6a9245d351)
If no suitable forest hex is found, the radius of the locations considered is
extended instead of placing the unit next to Ethiliel.
Also, a change of behaviour:
* non-free hexes will not be considered
* the bodyguards won't be placed adjacent to other units, like the ambush
ability works normally
* this includes Ethiliel
In general that means that units may be placed farther away than before.
[ci skip]
(cherry-picked from commit e43b3507fa18e79b6e2a4893f73b8c75160d7959)
This adds on the one hand a second leader with secons keep in the same caslte.
for the same side, on the other hand ich changes the speack when they die.
They adverturers are not assuming they killed the undead masters anymore if they
saw the lich before.
(mentioned in #1954)
[ci skip]
(cherry-picked from commit f1a465b3779c0194613971fbbcae4fe43a69dd26)
This follows the earlier commit which unified side 2 and 3.
In the first rounds the AI behaves like former side 3, later like side 2.
This is seemlessly possible, because side 3's AI settings were having practical
effect at the beginning of the game, and side 2's conflicing settings don't come
into action before the recruited troops met the ones of the player.
(bug #3032)
[ci skip]
(cherry-picked from commit ee09bc3b6309950c10ed8e0800952ce3c6cd6607)
(FR #3316)
This includes changing when the overlays and ellipses for the hero units are
changed, and for better testing part of the event is split into a victory event
in S6a.
[ci skip]
(cherry-picked from commit b681ad8cd98d4ee3168257ee6116a2ac513f28ab)
- The peasants told Deoran to go for the already defeated bandit leader.
- The pesants were useless at that time - they are now instead spawned when
defeating the bandit leader or when Deoran arrives, whatever happens first.
They may still have a fight with remaining bandits – or provoke their attack.
- The dialogue when reaching the citadel after having defeated the bandits got a
slight change, to better switch to the victory dance event.
(issue #1954)
[ci skip]
(cherry-picked from commit 0c5467c28a3ca2e6be2bd2cb72e5c9266d91a3d4)
...which it neither burns or captures.
The AI has two sides which are presented as one to the player. It's not the best
approach, because it is possible that the player realizes it looking at the side
informations, e.g. how many units the enemy side has listed there.
This commit unifies both sides, while still keeping the units from formerly side
3 being unable to burn villages, but, as now being in a side with a leader, they
can capture them.
An advantage of having two sides was, that the units could have different AI
settings, and that the leaderless side was not interrested in villages.
The AI settings will be adressed in a seperate commit.
(bug #3032)
[ci skip]
(cherry-picked from commit d749005d21d3407a6bd1aff991df4ae3d0372d80)
Ethiliel remains on side 3, but a copy of her is added to the player's recall
list for next scenario. The loyal trait is obtained at that point.
[ci skip]
(cherry-picked from commit 101cb21a95836f9d96a511336c9a759bea850887)
This is a relict from when they had not their own side, and needed to be killed
to not be added to the recall list.
[ci skip]
(cherry-picked from commit baec30bb0c606f73826dace5ea771dc4c85ddf27)
This is one of the few cases where it is not only a refactoring, but has
an actual advanatge to use [show_if] - the note can be removed from the
objectives witout showing them to the player.
[ci skip]
(cherry-picked from commit 844e56b8e0dc5d241f5ab640db4bf44ef2958e66)