Fixes an issue where the auxiliary event handlers for 'attack end' in
this macro might break if the affected unit or units are removed from
the map by a pre-existing 'attack end' event handler.
Unfortunately this still results in log warnings about failing to
auto-store unit/second_unit, but it's better than breaking WML execution
entirely.
20190313 23:36:48 error engine: failed to auto-store $second_unit at (9,40)
The alternative I contemplated was to force unit/second_unit to be valid
in the event handlers by using empty filters, but then that would result
in the event handler being triggered *later* by another valid unit. This
is especially problematic since the event handler handles special
knowledge about the unit's WML ([specials][original_chance_to_hit]).
That option would not produce any spurious error messages but would
definitely cause new problems, especially when interacting with other
FCTH substitutions in the same scenario.
Ultimately FCTH's design is a bit questionable and relies too much on
state that may be broken by an external agent intentionally or otherwise
and produce unusual results.
Closes#3982.
[ci skip]
In Caves of the Basilisk, give the monsters names so their descriptions
would show in-game. The descriptions show in the tooltip, so
a non-empty name is required in order for players to be able to summon
th tooltip.
Show ability of a selected unit as active/inactive with respect to
mouseover hex. For example, selecting an Elvish Ranger that stands on a
forest and highlighting a water hex should show the "ambush" ability in
gray.
data/core/editor/items.cfg defines the names for the items. The file is
included by data/core/editor/_main.cfg, which has a #textdomain binding
to wesnoth-editor at the top. The strings end up bound to that
textdomain by the game, but wmlxgettext doesn’t have any way to see this
so it binds them to the default textdomain instead, which is wesnoth,
not wesnoth-editor. The game ends up looking for the strings in
wesnoth-editor instead.
The easiest solution right now is to explicitly bind items.cfg to the
wesnoth textdomain so as to not require moving catalogue entries in the
po files around to wesnoth-editor. It really should've been
wesnoth-editor in the first place but it's too late to fix that now
without giving translators a migraine. It's a pity either way given how
useless the scenario editor is in practice.
[ci skip]
Icon [short_arrow_left_25-pressed.png] exists, but is not used anywhere.
Widgets in [menu_button_default.cfg] and [multimenu_button_default.cfg]
were using [short_arrow_left_25-active.png] for the "pressed" state.
This will less often wrap the text of the descriptions.
For many of the zombies is more possible, but it has been taken care to have the
linebreak for 'required xp' and in the variation list the same on all their pages.
The reason for the 319px height on some of them is:
- It's still taking enough space to have 'required xp' on a new line.
- It does for both the WC and Soulless not interfere with the description text.
- The swimmer can't be smaller than 319px without cutting any non-tranaparent
pixel. To have more structure the goblin/dwarf/dog use the same.
[ci skip]