[heal_unit] set's as side-effect an variable, which contains the heal amount
of one of the healed units.
It's more likely that this will just add a variable with authors not being aware
to clean it afterwards, than the case being that someone want's this behaviour.
I assume that this happens is an unintended side-effect from former code refactoring,
the original implementation of this macro was not doing this.
[ci skip]
Update the list of files installed by "scons install-pytools", dropping Python2
versions and adding their Python3 replacements. This doesn't update any
`import` statements, as the tools have already been ported to use the Python3
modules - the scons script was out of date and was still bundling the wrong
versions.
Note for anyone looking at the history - although most of the current
tools have a '3' in the name just to indicate that they're the Python 3 version,
there's a double-meaning to that number in wmlparser3.py's name. There was a
`wmlparser2.py`, where the `2` indicates a redesign of the original.
The data/tools/README.md file was renamed from plain README without being
converted to Markdown format. This commit touches about half of that file;
headings in that half are updated to be Markdown, but to reduce the diff the
other headings aren't updated.
Nameless abilities are relatively common outside of mainline in
particular as they are used for implementation details of more complex
abilities.
Fixes#3060.
The Update All codepath is unique in that it doesn't trigger a re-read
of add-on versions until the very end, once the full run has completed.
The problem with this is that install_addon_with_checks() may update
dependencies of individual add-ons in the process, resulting in
redundant downloads of any affected add-ons if the player isn't paying
attention.
Address this by triggering a re-read of add-on versions after every
single update batch that results in a download.
Closes#3273.