Commit graph

29603 commits

Author SHA1 Message Date
pentarctagon
d8cd3449e0 1.18.1+dev 2024-06-09 22:51:02 -05:00
pentarctagon
e461e35729 1.18.0 2024-06-09 22:48:59 -05:00
pentarctagon
daf204f6f7 pot-update and regenerate doc files 2024-06-09 22:46:17 -05:00
Dalas121
c2a59869cf EI items: add [filter_second] to Sentinel Shield and set delay=0 (#8984)
Delay=0 fixes an annoying animation issue, as the default is delay=500.
2024-06-09 21:12:25 -05:00
Dalas121
08358a38db EI S13: fix gaoler rebuild breaking "free prisoner" events (#8980)
Formerly, EI S13 uses various Deathblades' max-moves status instead of [filter_second] for some reason. This breaks when deathblades get rebuild, which in the bug report was caused by the sentinel shield. Use [filter_second] instead.
2024-06-09 21:12:24 -05:00
Dalas121
6cc8b2e1e1 EI S11: drop equippable items when imprisoned (#8982)
This is thematic, and also prevents cheese with shield+dacyn and baneblade+gate
2024-06-09 21:12:24 -05:00
Dalas121
cfc85d63e2 EI S10, S11, S12: Dacyn difficulty tweaks (#8976)
Resolves #8969

In EI S10, Dacyn picks up a cursed amulet and his HP drops to 1. In EI S11, Dacyn remains on very low HP, and is surrounded by orcs. There's a convenient ford hex he can hide on and be protected, but several players did not notice this hex and complained about difficulty.

In S10, this commit also drops his XP to 0. 1) showing that the amulet interferes with his MoL-ing, and 2) preventing the player from deliberately AMLA-ing Dacyn in the next scenario (partially a difficulty issue, but mostly it's bad to punish blind playthroughs / reward foreknowledge).

In S11, this commit adds a gold pile on Easy/Normal hinting towards the hex, while on Easy Dacyn's HP is fully restored. Hard is unaffected.

In S12, this commit restores Dacyn's HP on Easy (since it would be odd if he had full HP S11 but low HP S12).
2024-06-09 21:12:24 -05:00
Dalas121
f880bbaec8 EI S09: fix Grug telling Gweddry he can recruit the wild ogres after having already done so (#8981) 2024-06-09 21:12:24 -05:00
Dalas121
677e950d75 Merge branch '1.18' of https://github.com/wesnoth/wesnoth into 1.18 2024-06-09 11:24:05 -05:00
Dalas121
1a3ed67ec2 EI S10: reduce difficulty on Easy/Normal (#8956)
https://www.reddit.com/r/wesnoth/comments/1d6a3e7/eastern_invasion_is_much_better_but_still_bad/

EI's S10 is overly hard on Normal, and especially on Easy (which is intended to be a very accessible difficulty). This PR increases the available gold and adds several villages, which aid in both defense and upkeep. This PR also drastically reduces the number of orcs on lower difficulties.

We also move Owaec to his keep to help imply his ability to recruit, and remove the related just-added [note] string to avoid violating 1.18.1 string freeze.
2024-06-09 10:54:30 -05:00
Severin Glöckner
0c409d5391 terrain2wiki tool: link to images on stable 1.18 branch 2024-06-08 21:17:23 +02:00
Severin Glöckner
305166e977 terrain2wiki tool: python 3.12 compatibility 2024-06-08 21:16:18 +02:00
Steve Cotton
55aa8b44cf Add a unit test for a weapon-special activating mid-attack
A weapon with poison, which does extra damage to poisoned opponents.
This tests that the weapon-special's filter is checked on each strike,
instead of being tested once and then cached during the battle.
2024-06-08 15:50:41 +02:00
Dalas121
6408559b02
EI S06b: revert string change for 1.18.1 freeze
EI S06b objective strings were changed to be less misleading and more transparent. Revert this change, and re-implement after 1.18.1 releases and the string freeze is no longer in effect
2024-06-06 20:35:16 -05:00
newfrenchy83
b990c4c10b
Use type_adv_tree in some filters to support addons adding advancements to existing unit types (#8904)
Cherry-pick of 9dd2d5d94b
2024-06-05 11:50:46 +02:00
Steve Cotton
b1458835cc Fix the whitespace error 2024-06-02 15:15:29 +02:00
Dalas121
961a8d7835 EI: use "bonus objective" instead of "optional objective" (#8947)
"optional" may imply that the scenario will be completed once this objective is finished, which is not accurate for these scenarios.
2024-06-01 17:58:16 -05:00
Dalas121
ef4cf3d0ac EI S06b: clarify bonus objectives
https://forums.wesnoth.org/viewtopic.php?p=690528#p690528

Old verbiage suggested that the scenario would be won as soon as you moved any unit next to Yannic, and didn't give any indication that he'd need to be protected.
2024-06-01 17:57:57 -05:00
Severin Glöckner
e447ccf70d Add [part]text_alignment= to schema
[ci skip]
2024-06-01 19:24:16 +02:00
Nils Kneuper
5f1da43829 updated Chinese (Simplified) translation 2024-06-01 14:35:34 +02:00
pentarctagon
635f6f035a after last minute translation updates 2024-05-26 11:03:12 -05:00
pentarctagon
d64b602e03 string freeze pot update. 2024-05-25 21:36:13 -05:00
Steve Cotton
bcc75d840b gui/language_selection: Rephrase text about becoming a translator
The link with details about individual compaigns is useful to players,
even if they aren't looking to become translators. So move it upwards.

The text about first-time players seemed confusing to me, as the choice
is already limited to languages that the player can read. Reworded it,
but after discussion in the PR, neither version was better than just
removing it.
2024-05-26 04:09:24 +02:00
Steve Cotton
4487b32063 Put the community dialog's strings in the wesnoth-lib domain
Most of the GUI, including the title screen's "Community" button,
is already in wesnoth-lib. So making this consistent also means
we're only adding one copy of "Community" to the .pot files.

Make the whitespace in this file consistent (using tabs).
2024-05-26 04:08:39 +02:00
Dalas121
f4a1d25d3f EI S04b: add objective note regarding herb distribution.
S04b's alternative objective involves collecting herbs that semi-randomly spawn around the map, hidden under fog. Herbs spawn in all directions, but the map layout and scenario design can lead players to expect herbs to all be in the east. This objective note clarifies herb placement.

https://forums.wesnoth.org/viewtopic.php?t=57915
2024-05-24 20:21:28 -05:00
Dalas121
d5203c100d EI S06b: weaken eastern leader guards on lower difficulty
To complete EI's S06b, the player must fight through a necromancer and his bodyguards. Prior to this commit, the necromancer's bodyguards did not vary by difficulty, making Easy disproportionately difficult.

Other leaders do not need to be fought directly to win. In addition, this is an optional mission labeled as more difficult. Therefore, I haven't adjusted other leaders' guards' difficulty scaling.

https://forums.wesnoth.org/viewtopic.php?t=57915
2024-05-24 20:20:46 -05:00
Dalas121
d84ee4ae2d EI S17b: fix Mal-Ravanal pausing to capture villages
Many turns into EI S17b, a pre-existing lich changes sides and transforms into Mal-Ravanal.

Before this commit, this process would un-capture any villages previously captured by that side, causing Mal-Ravanal to waste turns retaking them.
2024-05-24 20:20:18 -05:00
Jonathan-Kelly
12aca1caa0 WoF S11: fix easy win AI exploit (#8774)
Fixes #8759
2024-05-25 09:36:14 +10:00
Jonathan-Kelly
437e6f4820 WoF: fix Lua type error with cast to number (#8773)
Lua was getting this variable without being told it is a number rather than a string. On some systems it is interpreted as a string which breaks this monster spawner code and throws Lua error messages onto the player's screen.
2024-05-25 09:35:55 +10:00
Dalas121
16db8c6dba EI: remove random traits from S16 townsfolk (#8896)
Units with traits may sometimes have quick and may sometimes not have quick. This causes civilians to randomly block certain castle hexes that the player can use to recruit.

Remove traits to prevent this random blocking. Increase MP 4->5 to prevent 2 castle hexes from always being blocked.
2024-05-22 18:27:35 -05:00
Dalas121
292dfd426a EI S09: add label to gold pile
EI's S09 has a small pile of gold some distance off the main path, visible through the shroud.

Without a label, players may over-commit units/upkeep to getting the gold without realizing it's only a small amount, and possibly worth skipping.
2024-05-22 18:27:16 -05:00
Earth-Cake
99d5190b79 liberty generals name achievement fix for dawn 2024-05-21 23:21:59 -05:00
Wedge009
4d425a87a4 wmlxgettext: Remove unused WmlDefineState class disabled-as-comment/string and resolve #8867 (Python 3.12 highlighting invalid escape sequence in string with SyntaxError).
[ci skip]
2024-05-21 23:33:54 +02:00
Dalas121
1f3982d0f9 EI: Prevent Dacyn from using the Plague Staff (#8892)
Fixes #8885
2024-05-21 11:15:08 -05:00
Wedge009
98808019d0 Tutorial S2: Only trigger comment about the 'Dumbo' orc if it is still alive after the attack.
Addresses final point in #5544.

(cherry picked from commit ef13ea4565)
2024-05-21 14:53:40 +10:00
Iris Morelle
7e45cc3bac gui/language_selection: Additional UI work for clarity
* Moved the Show All Languages checkbox from the main body to the
   bottom left of the dialog to save space and make it more obviously
   connected to the listbox.

 * Changed the Show All Languages checkbox label to reduce the word
   count a tiny bit.

 * Added text regarding translation percentages representing core
   textdomains only.

 * Added a link to gettext.wesnoth.org.
2024-05-16 22:30:18 -05:00
Iris Morelle
e786b4bd58 gui/language_selection: Use a custom label for the OK button 2024-05-16 22:29:53 -05:00
Iris Morelle
d7967f8883 gui/language_selection: Don't force even height for language column
While it sounds like a great idea on paper, in practice having the
language column have the same height on all rows causes issues because
of at least one entry having an unusually tall label because of
non-Latin characters involved in it.

[label] does not support setting the vertical alignment of text — only
the vertical alignment of the widget itself can be set. This doesn't
help in this case because the widget is always as tall as its row —
it's the text's positioning that needs adjusting.

It turns out to be a better look to have all text be vertically
centered by not letting the label's height be dictated by the row's,
and let the layout engine center the label if needed for any reason.
2024-05-16 22:29:45 -05:00
Iris Morelle
5f196160c5 gui/language_selection: Language dialog overhaul
This overhaul introduces a GUI option to show all languages regardless
of their completion threshold, as well as a side panel including a
general explanation of community translations and how players can
potentially contribute to them, plus a link to the main translations
page on the wiki.

A few points to make here:

 * The URL points to the main page on purpose, since it's meant to be
   a catch-all for all languages regardless of which one the player
   has got selected or configured (those are two different things at
   the moment).

 * There's an issue where when showing all translations, some of the
   non-Latin translation names cause the baseline of the language
   name labels to end up entirely misaligned with the completion
   labels. I am not entirely sure how to fix this right now.

 * Showing all translations alters the dialog's layout permanently. I
   believe there's no way out of this with the current GUI API.

 * We use the stock text colouring function used for unit defence
   values. This might not be entirely ideal because they are all very
   green for translation stats above the minimum threshold, so there's
   basically no variance by default until all translations are shown
   together.

 * An idea could be to add a link to the gettext.wesnoth.org stats
   page in the dialog.
2024-05-16 22:29:28 -05:00
Dalas121
21ea192584 EI S04b: Prevent aswaldan herbs from stacking (#8859)
In "Ill Humors", 2 spawn regions for aswaldan herbs overlap, which can result in both spawning on the same hex without any special visual indicator.

Credit to PointMeAtTheDawn.
2024-05-07 17:53:42 -05:00
Dalas121
f927bb344a EI: s10 fix owaec being able to enter the sanctuary (#8850)
Fixes #8843
2024-05-05 09:19:13 -05:00
Earth-Cake
48cee23179 EI - changed undead variants from 'spider' to 'ant' (#8849) 2024-05-05 08:16:24 -05:00
Nils Kneuper
96ee41d87b updated Norwegian translation credits 2024-05-04 16:02:39 +02:00
Steve Cotton
8c83da78e2 EI: Add po hints about the plague staff 2024-05-03 17:05:01 +02:00
Tahsin Jahin Khalid
ebe5149dbc HttT S16: fix li'sar missing her unrenamable=yes (#8782)
* S16: fix li'sar missing her unrenamable=yes

* S16: add one more instance of unrenamable=yes
2024-04-27 12:59:29 +06:00
Pentarctagon
4dfb946fc8 Add a button to the build info dialog to rerun the migrator. (#8791)
Add-ons: checks for any that exist in the chosen other version but not in the current version.
Preferences: adds attributes that don't exist from the chosen other version's preferences that aren't in the current version's preferences. for attributes that exist in both, use the attributes from the file that was modified most recently.
Credentials: move if the credentials file doesn't exist.

Fixes #7936
2024-04-27 00:51:36 -05:00
Jonathan-Kelly
320aa7bf88 SoF S7: fewer and slower enemy outriders
This is to counteract the swifter and deadlier Elvish Outrider after the 1.18 core unit balance changes.

(cherry picked from commit b3802f44ea)
2024-04-26 19:21:08 +02:00
newfrenchy83
fc87104995
Fix EI: Plague Staff Doesn't Gain Arcane Damage When Equipped After Holy Amulet
Fix #8745 by using ability instead of weapon special.
2024-04-24 12:51:45 +02:00
Steve Cotton
9632febdb5 Unit test cumulative resistance with a max_value
A surprising result on 1.18, the max_value attributes get added together.

In 1.19, 82499d0785 changes this to something
logical, using `min(each individual max_value)` and disregarding the cumulative
attributes.
2024-04-22 19:28:24 +02:00
Steve Cotton
9b2016a4af Unit test cumulative resistance with a base value
These tests clarify what "cumulative" means for non-leadership abilites,
which since Wesnoth 1.1.3 doesn't seem to fit the English word.

For cumulative abilities, if the base value from the unit is higher that
the ability's value, then the base value is used instead. In the case of
a Skeleton with 40% base resistance, "cumulative=yes" is equivalent to
"value,cumulative=40,no".

In all of these cases, a single ability's value is used; "cumulative"
doesn't mean that the values from multiple abilities interact.

This is all when using value=, not when using add= or sub=.
2024-04-22 19:28:24 +02:00