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 d6a8c982118c9c043819688fe5c372eb0fea7330)
* 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 42822ac374cc74515bbb253ebaf0819da4010def)
currently the editor defaults to its maps directory even when you open a map file somewhere without it being in an "add-on", for example opening a map in a mainline campaign's maps folder.
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 db30ca53ae32eee37f805aa4aefb3e08de65de9c)
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.
This enables the client to show the [server_id] info (for 1.16+
campaignd instances that provide the relevant fields) in the UI so
the user can more easily know which instance they are connected to
in case they do not handle that information directly themselves (e.g.
when entering a port number of their own).
The server info shown in the bottom left is changed from "<encryption
status> <server address>" to add "— <server id> (<server version>)"
right after it, with the server version in parentheses being included
only if debug mode is enabled to avoid redundancy or confusing values
(such as "wesnoth.org — 1.18 (1.17.19+dev)").
The logic is that the strings included the names of WML tags, but
weren't clear that they were WML tags, and so the tag names are
being translated.
This reverts almost all of the string changes of PR #7600, which
were in commit f5be4cffb7b34fdd2ac875cf0f76fc8db7e23cef, as well
as a few similar strings which weren't in 1.16.x.
(cherry picked from commit fb758041cab9f0d6bc79755668e0ac002bd57975)
static variables are only initialized the first time they are encountered, even if they are only defined in the body of the method. therefore their value here is set to the first language used when this method is called, but won't change later if the language changes because they've already been initialized.
Fixes#8393
previously it would excute the end turn and the next move
which made it very hard to get into the state directly
after a turn was started, epsecially in sp that often uses
side turn events this is imo desirable
The deleted line was only reached when do_replay() found an end of a replay when at_end() returned false, which can only happen in the rare case that the last replay command was a chat command
NAMED_LOYAL_UNIT has the loyal trait built in, so this results in an
extra copy of it being granted to the unit.
(cherry picked from commit c64777433ae35af2895adaddd1677eccd6f4541d)
These functions are not used anywhere, and they have other issues besides the one fixed in this commit – they're implied to return all moves, but they only return one move for each possibly destination hex. However, this will make them at least be minimally usable.