Add some spacing to make it clearer what is grouped with what, move the
disengage orb's setting to be part of the partial orb's group, and add
a tooltip for it.
This dialog uses checkbox labels as section headers to indicate what the rows
of colors refer to. This commit doesn't change that, but it makes the grouping
clearer. Actual section headers would take additional space and probably not
look any better.
* Add ability to allow secondary authors to upload an add-on.
The secondary_authors attribute is a comma-delimited list of forum accounts that can also upload updates to an add-on. Secondary authors can't change the primary/secondary authors and can't delete the add-on.
The primary author can also make someone else the primary author by:
* Putting their username in the secondary_authors attribute
* Putting someone else's username in the author attribute
* Uploading the add-on while selecting themselves
This works since they are still (until the upload is done) the primary author in the database, so they are allowed to change the authors list, including in this case.
The island gives the player two fronts to progress on, and it's early enough
to give the player time to prepare for the SoE. Hint to them about improving
their recall list.
When trying to add that hint as a single-line change to the dialogue, I
reviewed the existing text and felt it didn't flow well. Reading the feedback
thread, Delfador should have more emotion about finding his childhood home
overrun; however I've gone for practical thoughts first.
The hint isn't #ifdef to only appear on easy, because the text wouldn't flow
without it - take that line out and it goes from "there are more orcs than I
thought" to "we must fight these orcs, who aren't the ones at the SoE". Also,
players who are already doing XP management can feel knowledgeable when they
see it.
Units still using this in their descriptions will have the player-visible
header change from "Special Notes:" to "Special Notes (1.14-style, please
update to the new list format)".
The SPECIAL_NOTES macro was originally removed early in the 1.17 dev cycle.
That removal was reverted and postponed in the roadmap until Jan 2023, on the
grounds that it's a lot easier to test 1.17 when the big add-ons from 1.16 can
run on it.
In 1.16, UMC that hasn't upgraded yet already has a cosmetic bug - the help
pages of units still using the {SPECIAL_NOTES} macro will include duplicate
notes (assuming the expected usage of {SPECIAL_NOTES} as a heading in
[unit_type]description=, which is followed by old-style notes). These are minor
cosmetic bugs, which are expected to be removed as UMC gets updated.
That leaves the issue of what to do with the deprecated macro in 1.18. My
feeling is that we can easily continue to support the macro, albeit with the
cosmetic bug, so we should keep it for 1.18. However we could make it clearer
that the duplicated notes should be removed from the UMC.
This also removes some docs about NOTE_*s, those macros have already been
removed after being deprecated in 3568b5ff66ece00ec09f40059e552123f356d962.
Covers the math for [attack]add=, [attack]divide=, [attack]multiply= and
[attack]sub=. The behavior is the same in 1.16.
* 5 + 2 = 7
* 5 - 3 = 2
* 5 + 2 - 3 = 2. Yes it does, that's half of why this unit test exists ...
* 5 + 2 + 3 = 8
* 5 + 3 + 2 = 8
* 5 + 2 - (-3) = 7
* 3 * 3.34 = 10
* 3 * 3.334 = 9. ... and that's the other half of why this unit test exists.
* WML: Adjust the weapon selection logic for [kill]
The previous logic simply did not make sense, especially for the secondary weapon.
For example, it would ignore the secondary weapon specification if the primary weapon was not found on the secondary unit, which does not make any sense.
The cases that this changes are:
- There is a secondary unit and a primary attack, but no matching attack was found. Previously it would use the default, now it pretends that attack exists.
- There is a secondary attack specified, but no primary attack, either because it was unspecified or because it didn't match any attack on the secondary unit
In both these cases, the animation runs as if a matching attack exists, rather than using no attack and choosing the default animation.
Adjust the log level too.
* Escape < and > even if only one of them exists
In python negative index counts from the end, so without this change or another solution
"example with only < one side" would be converted to
"example with only < one sid>example with only < one side"
* Escape < and > even if found multiple times