Before this change villages had a certain set % chance to grant player a unit upon capture. Now the chance to get a unit is dependent on difficulty, value of units player has already received and the amount of villages already captured.
No string changes, just adjusting when the hints at the top-left of the screen
appear and disappear.
The hint about crowns now appears after recruiting both elves, so that there
are units to compare the leader to, who have the same orb color but no crown.
The hint about traits appears when told to attack the quintain with the elves.
The player will probably find a strong or dexterous trait, and Delfador already
comments about those traits after attacking. Even if neither elf has those,
speedy or robust could also influence whether to use melee or ranged attacks.
There's now no hint on screen when first choosing which village to use for
healing; previously it was the hint about crowns which didn't seem relevant.
No strings are added in this commit, but a hint about checking the quintain's
movement range would fit here, see <https://r.wesnoth.org/t54644>.
(cherry picked from commit f7a0f119de)
Testing by effectively droiding the player's side, the enemy side still lost even with 480 gold and otherwise default difficulty settings. So upping enemy side gold to 480 for all difficulty levels.
Barrow Wight's definition includes a couple of attack name strings
from the wesnoth-units textdomain bound to wesnoth-ei by default
instead, which creates two unnecessary extra strings for translators
to translate. This change fixes this by binding these two strings to
wesnoth-units so their existing translations can be used.
(Pyre Wight does not require this change since it already uses the
wesnoth-units textdomain for the single attack name it uses.)
(cherry picked from commit d6a8c98211)
* Fix#8460 [effect] apply_to=variation
Previously the code could apply the variation effects
last, so that codes like
```
[effect]
apply_to=variation
..
[/effect]
[effect]
apply_to=hitpoints
heal_full=yes
[/effect]
```
Would not set the unit hitpoints to the new variations
hitpoints because the variation effect was applied after
the healing effect.
In 1.16 this worked because healing was applied a little
too often but that lead also to bugs like #8342
* f prev
* f prev
* f prev
* f prev
* f prev
* Create modification_effect_type_variation.cfg
* Update wml_test_schedule
The idea of using multiples of 5 seems like a way to avoid having to change
multiple campaigns' ranks at once, because it leaves space to rearrange a
mainline campaign between two other campaigns.
But enforcing "it must be a multiple of 5, even if that means changing other
campaigns" loses the advantage of using multiples. For example, WoF currently
has rank=152, which triggers the warning, which has caused a PR to be opened
that changes WoF, SoF, LoW and SotA - because keeping them in order requires
four campaigns to change.
(cherry picked from commit 42822ac374)
This version uses SDL_GetTicks() as a monotonic source to avoid the
previous version's pitfalls, namely the fact that the game's framerate
may not necessarily be a constant, and in particular, the old code
assumed a completely different framerate than what we ended up with
after the texture-based rendering changes in 1.17.x, resulting in an
almost-unnoticeable text fade due to the update() function being
called WAY more often than before.
Note that the reliance on SDL_GetTicks() means the timings break
at some point after 49 days of game runtime, exactly once. This
should result in a visible "jitter" effect if the 32-bits ticks value
wraps around in the middle of a fade sequence, but other than that
it's not that big of a deal to warrant requiring SDL 2.0.18+ for the
64-bit version.
(cherry picked from commit db30ca53ae)
Since wmllint gets confused if a side's contained [ai] block comes after any of its contained [unit] blocks. This refactor should make the side 2 code block more human readable too.