Should help to address the issue with gendered verb forms or noun cases in some languages as described in #4436 . This reuses the same preexisting mechanism as in the latter part of httt_utils.cfg.
This foreshadows that the player will need to attack the north-west after
defeating the north-east enemy, which is a bit fairer to anyone playing this
scenario for the first time.
Removes a now-unused string (Darius' pre-sacrifice speech). There are no new
strings here, the others are just being moved around.
For clearing shroud, change to using radius= because clearing a circle looks
better than clearing a square.
There's no significance to whether the new plan is "Plan B" or "Plan C" - back
in Wesnoth 1.10 it seems to have been dependent on whether all the merfolk had
been rescued.
Fixes issue #5540 about Hekuba spawning on a water hex.
(cherry picked from commit 25163c06a258b2a9f4627a1345a83f52447165dd)
Until a proper solution is found for #5228 , this will have to do. It suppresses the appearance of the era in the era selection list for other scenarios.
Hmm, I guess the [campaign] tag should support the allow_era= key in future but for the moment, this will do.
This doesn't scale the campaign image (and the campaign images are generally
350x350 images anyway), so it looks a bit wrong, but it's a lot more useable
on HDPI than putting a 1050x750 limit on a treeview with a text panel.
Remove the maximum size for the character-select dialog, the window will
automatically choose the minimum size that fits the text.
Extend the map 1 hex south. This means that, if the full map fits on screen,
the horizontal center of the map (where the print statements appear) is between
the keep and the south village, thus their labels don't overlap the print
statements.
- ls:invert(w,h,[border_size]) takes an absolute complement as if the map were the given size
- ls:invert(map) takes an absolute complement relative to the specified map
- ~ls is only available in the game kernel and takes an absolute complement relative to the real map
This dialog works by setting variables in the postshow function,
so the code had to be moved around to ensure that those variables
were synchronised, not just the return value of the dialog.
The message about not having enough gold isn't necessary for the
replay, so that gets moved into the synchronised code too.