Derived from the core water-plant.png and water-plant2.png images.
Copyright attribution updates by octalot:
They've been darkened since the original commit, but the swamp water
tiles in data/core/images/terrain/swamp are clearly Tommy(yobbo)'s
images originally added in f7cc2f1079.
The current water-tile.png seems to be a later addition, so I've
left it attributed to "unknown".
Co-authored-by: Steve Cotton <steve@octalot.co.uk>
Before this change villages had a certain set % chance to grant player a unit upon capture. Now the chance to get a unit is dependent on difficulty, value of units player has already received and the amount of villages already captured.
No string changes, just adjusting when the hints at the top-left of the screen
appear and disappear.
The hint about crowns now appears after recruiting both elves, so that there
are units to compare the leader to, who have the same orb color but no crown.
The hint about traits appears when told to attack the quintain with the elves.
The player will probably find a strong or dexterous trait, and Delfador already
comments about those traits after attacking. Even if neither elf has those,
speedy or robust could also influence whether to use melee or ranged attacks.
There's now no hint on screen when first choosing which village to use for
healing; previously it was the hint about crowns which didn't seem relevant.
No strings are added in this commit, but a hint about checking the quintain's
movement range would fit here, see <https://r.wesnoth.org/t54644>.
(cherry picked from commit f7a0f119de)
Testing by effectively droiding the player's side, the enemy side still lost even with 480 gold and otherwise default difficulty settings. So upping enemy side gold to 480 for all difficulty levels.
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 d6a8c98211)
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.
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 c64777433a)
Just some debris embellishments to suggest that the towers at the
end of the bridges were hit with siege weapons. The defense stats
are still the same and there's no dialogue change to go with this.
Adjust Fighter line to allow for easier early leveling and more late game staying power. Add parry to secondary melee attacks in order to incentivise their use.
Has a few updates to S04a, S04b, S09 and S99 too.
Lore: this declares Khrakrahs (dragon seen in SoF) to be male.
He's been in many versions of Wesnoth that only had male drakes,
thus will surely already be male in any translation where the
gender has an effect on the wording.
There's a few "TODO for 1.19" comments added:
* In S12, the left behind units say "we must ride ... to save Wesnoth",
but it should be "you must ride".
* The intro of S13 is confusing, there's little indication of why you
only have one unit, or what mission he failed.
* In S16, Gweddry says "night approaches" on turn 1 (morning)
* wc: fix#6513 Bezoar artifact
The item now applies the effects directly instead of using [trait]s,
The lua code that added traits in the wc lua files didn't work, but the main reason why i preferred this solution instead of changing the lua files is that it makes it possible to simply remove the artifact via for example [remove_object] (which wouldn't work for artifacts using traits as those are separate modifications)
The code now also adds a dummy ability so that players know that this unit has the benefits of the healthy fearless and undead traits.
S16 (Hasty Alliance) uses more rocks and bridges, including
bridges over lava.
S19a (Snow Plains) gets some dirt roads without snow on, and the
edge of the map gets some ice and water.
S19b (Swamp of Dread) gets a wide variant of swamp terrains
instead of sand.
S22 gets more variety in the forests and grasslands.
Cherry-picked from the branch in PR #8243.
HttT S17 map height +5
According to several hundred test runs, Konrad's castle seems to be produced between y=59 and y=71 when the center of the chamber is set at y=65 as it currently is.
Because map_height=75 means that the playable map size is y=73 due to the border hexes at the top and bottom, this change probably guarantees that Konrad's castle is fully within the playable map.
EI - dra_nak_dead branch bugfix. Fixes#8414.
* S18 conditionally forwards the player to the bonus scenario, S99. One of the required conditions is that dra_nak_dead is not yes. The victory event of S12 unconditionally cleared dra_nak_dead, meaning that that test in S18 would always pass.
* S12 tests dra_nak_dead to see if he was killed in S11, and if he wasn't then it renames "Varrak-Klar" to "Chief Dra-Nak", as if Dra-Nak was pursuing the heroes. However, S12 didn't set the dra_nak_dead variable if the renamed Varrak-Klar died.
EI - S12 bugfix flying undead being drowned/trapped
* In EI S12, units were killed/lost when a bridge is destroyed.
* Flying units shouldn't be killed/lost, as they can fly.
Instead of copy-pasting the multiplayer turns over advantage function, just use that function directly.
This required making some changes to the function to better support this specific use-case,
but I think it's still better than copy-pasting it.
I split the primary functionality out into two separate pieces – calculation and display.
Thus, the main function is technically unchanged, while WoF can avoid the weird things it does
and just calculate and display how it wants.
This fixes#8368.
When Terraent was created, the mainline paladin had no standing anim. When that was added, it conflicted with Terraent's. This fixes that issue.
This also updates Terraent's other stats to match the mainline paladin's rebalanced stats.
When a unit data passed to `to_map` either lacks a side or has
side zero, implementation automatically sets it to 1, thus the
existing code worked fine. However:
1. The lack of a `side` could trigger a warning in EmmyLua. It
currently doesn't trigger that, but would with Celtic Minstrel's
planned improvements in Wesnoth's lint hints.
2. The tutorial should be good example code, and the special-case
in the C++ code that made this work is a case of "assume it's a
SP situation, and choose the result that benefits side 1".
If Mal-Talar dies in S01 then a new leader (actually just a rename)
turns up in S06b and S07b, but the replacement name, "Mel Kevek",
wasn't marked as translatable.
For the case that both necromancers from S01 were killed, S02 already
had a fallback to Mal-Bakral. This reuses it and adds documentation.