Commit graph

84096 commits

Author SHA1 Message Date
Nils Kneuper
28a6a2a8b1 updated Chinese (Simplified) translation 2024-06-29 14:44:17 +02:00
Nils Kneuper
18af036313 updated French translation 2024-06-29 14:42:55 +02:00
Nils Kneuper
bcd370c149 updated Bengali translation 2024-06-29 14:28:43 +02:00
Nils Kneuper
d232827762 updated British English translation 2024-06-29 14:27:00 +02:00
gfgtdf
88113a738d
Handle require_modification as the client expects
Since 05d1e4b9ba, the client interprets require_modification="" as
defaulting to "yes". However, wesnothd was still defaulting it to
"no", causing an error message when trying to join games.

Fixes #8805 "Add-on version check prevents joining game".
2024-06-27 10:25:23 +02:00
Charles Dang
a1fe293b88 color_t: flip hex check logic for readability
Improves 6f32635788
2024-06-27 00:28:18 -04:00
Charles Dang
b505f8f744 Replace stray uses of std::make_optional
C++17 CTAD makes it unnecessary.
2024-06-27 00:27:15 -04:00
pentarctagon
291be986f6 Revert "GUI2/Addon Manager: make addon id more prominent, debug-only"
This reverts commit 78620c7d61.
2024-06-25 19:18:42 -05:00
pentarctagon
dc8637b08b Revert "GUI2/Addon Manager: hide addon id label earlier"
This reverts commit d1bf5dd778.
2024-06-25 19:18:35 -05:00
Gothyoba
16c4a57556
Tutorial: AToTB is a "novice" campaign 2024-06-25 18:42:32 +02:00
Steve Cotton
87b6371523 AToTB: Warn in the description how hard the challenging difficulty is 2024-06-25 14:03:26 +02:00
Charles Dang
19022f1181 color_t: make macOS happy 2024-06-24 20:00:39 -04:00
Charles Dang
1d5d964bb3 Expose color_t errors in palette ops 2024-06-24 20:00:39 -04:00
Charles Dang
675d963016 color_t: use utils::from_chars 2024-06-24 20:00:39 -04:00
Charles Dang
6f32635788 color_t: validate hex string input (resolves #9030) 2024-06-24 20:00:39 -04:00
Nils Kneuper
e67a91caf2 updated French translation 2024-06-22 23:07:25 +02:00
Nils Kneuper
fb71eac1b8 updated Ukrainian translation 2024-06-22 23:05:47 +02:00
newfrenchy83
77d023690a Generalize the use of max_value and add the min_value attribute
In the case of [leadership], the fact that the values of each ability can be added when cumulative=yes can justify the addition of limit values not to be exceeded, but this can also apply to heals and [regenerates] with the use of 'add' or 'multiply'.

As for [resistance], it already uses max_value, but if cumulative=yes, then all max_values can add up which could be problematic.
2024-06-19 09:18:54 -05:00
Charles Dang
d1bf5dd778 GUI2/Addon Manager: hide addon id label earlier
Should fix a find_widget failure on small resolutions when it's "hidden"
in the details layer of the widget stack.
2024-06-19 00:33:33 -04:00
newfrenchy83
42c72ce1f9 Fix damage_type types show in unit attack window
If [damage_type]apply_to= is applied to a unit that does not have the range attack equivalent to that of the user this type will still be shown, which should not be.
2024-06-18 22:39:57 +02:00
pentarctagon
1712b357c2 1.19.1+dev 2024-06-17 10:50:57 -05:00
pentarctagon
6189964a77 1.19.1 2024-06-17 10:49:01 -05:00
pentarctagon
d63e06d87a pot-update and regenerate doc files 2024-06-17 10:33:41 -05:00
pentarctagon
5e62283646 changelog_entries 2024-06-17 10:24:27 -05:00
Subhraman Sarkar
0a4b2d3202 use correct method to attach the signal
the signal is "on_left_click", so logically the correct method is connect_signal_mouse_left_click.
2024-06-17 08:48:13 -04:00
pentarctagon
552cfbca32 add a bit of extra logging 2024-06-16 23:19:02 -05:00
pentarctagon
7ac6a78893 Explicitly specify the type when returning pref values
Otherwise bool preferences at least seem to always just return false.
2024-06-16 21:43:45 -05:00
Gunter Labes
6d6bb8dc0c
Update generator calls since the method was removed in 2413e2f 2024-06-16 21:51:16 +02:00
Gunter Labes
11465fec86
Update added/removed header files in Xcode project
Header files added/removd in commits: c4c292fa3b, 43f5644e36, 3279973960, c5b1fa9dfd, d954d307bc, 01f28b12ae, 63d14217c9, 6d77fdc48c, 0e85fac29c, 0b646dec8a and 6c5a8e923d
2024-06-16 20:36:45 +02:00
Gunter Labes
bce74092ba Remove extra parens to avoid compiler warning 2024-06-16 19:53:04 +02:00
doofus-01
ae8556a4c6
dragoon/cavalier animations
* melee anim for Dragoon

* wounded bob for dragoon

* cavalier melee anim

* update copyrights
2024-06-16 08:07:07 -07:00
Pentarctagon
a2993884cd
Add berserk weapon special abilities tests (#8973)
Changes:
* CHECK_STRIKES macro now takes a comma-delimited list of strike counts for when units have a different number of strikes for different weapons, and updates the existing usage in the attacks tests
* Fixed a typo in the attacks_zero test
* Adds tests for berserk as a weapon special ability.

Berserk's handling differs from attacks as a weapon special ability:
* A value less than 1 is treated as effectively infinite rounds of combat (undocumented)
* The cumulative attribute is handled differently - in some cases it sums the values instead of using the highest single value whereas for attacks it always uses the highest single value

Also now exclude data/tests/ from scons pot-update since it was hitting the argument limit for number of arguments to a script.
2024-06-15 20:20:54 -05:00
Nils Kneuper
1ef24e461f updated Chinese (Simplified) translation 2024-06-15 12:49:04 +02:00
Nils Kneuper
e78e5e9ad8 updated French translation 2024-06-15 12:48:04 +02:00
Subhraman Sarkar
441b2bbfaa
network_download_file: replace spaces with tabs (#8999) 2024-06-14 09:05:12 -04:00
Gunter Labes
944ed026a2 Use same default id in [remove_unit_overlay] as [unit_overlay] 2024-06-13 18:02:05 +02:00
Gunter Labes
28a8959854 Fix "span" regex
This disallows matching "0-11-2" and "1," for example. It also avoids an exponential backtracking issue which could make this regex very slow.
2024-06-12 19:52:50 +02:00
loonycyborg
a7483313d9 Change id tag in appstream manifest to what is expected
Flathub linter complains about mismatched id in flatpak manifest and
appstream. Based on appstream docs it seems that reverse-DNS name is
expected without .desktop extension so appstream should be changed.
Extra <provides> and <replaces> tags added as per
https://docs.flathub.org/docs/for-app-authors/metainfo-guidelines/#renaming-id-tag
2024-06-12 04:21:22 +03:00
Dalas121
59ccd7ce8a
EI S10: add message about Owaec being able to recruit (#8987)
Owaec has a crown but little other indicator that he's a leader, and this scenario requires him to be used to recruit. Make it more obvious to the player.
2024-06-10 10:30:36 -05:00
Dalas121
6bd7832c61
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:10:53 -05:00
Dalas121
e1fa71cf16
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:10:26 -05:00
Dalas121
8efcb80685
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:09:58 -05:00
Dalas121
43d6d87939
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:09:17 -05:00
Dalas121
6da672b6e1
EI S09: fix Grug telling Gweddry he can recruit the wild ogres after having already done so (#8981) 2024-06-09 21:08:51 -05:00
Pentarctagon
971073055e
Refactor the preferences into a proper singleton. (#8930)
The current preferences handling is a mess:
* it's essentially a global config object that anything can modify in any way the caller wants, which is managed across multiple source files which have their own oddities and interdependencies.
* the general preferences has its own bit of SDL event handling and while I get the idea behind `events::sdl_handler` there's no reason to have SDL events handled in the preferences instead of just calling the relevant preferences setter for each event when it happens.
* the general preferences is where most of the preferences are handled and has its `base_manager` struct, which is part of the `manager` struct in the game preferences, which is then implicitly initialized as part of game_launcher's constructor.
* the editor preferences are the only preferences in a sub-namespace `preferences::editor` while all other preferences are just in the `preferences` namespace.
* the display, editor, and lobby preferences are all dependent on including the game preferences, the credentials are dependent on including the general preferences (but not the game preferences), the game preferences are dependent on including the general preferences, and the advanced preferences are entirely their own thing which is dependent on none of the other preference functionality and manages its own singleton.
* nothing checks whether the preferences file has actually been loaded before allowing values to be read from or written to the preferences config - if you attempt to get a value too early in wesnoth's initialization it will silently just give you whatever the default value for that preference happens to be.

With this there is instead a single access point (with exceptions handled via friend functions/classes), all predefined preferences are accessed via their own setter/getter, and all mainline preferences are defined in a single file (preference_list.hpp) so it's easily findable what preferences exist and where they're used. Having the list of all mainline preferences listed out also allows the lua preferences API to provide that full list rather than just the list of the preferences that have been set so far. Also it now checks for whether the location of the preferences file is known before attempting to load the preferences file and asserts if someone attempts to use the preferences too early.
2024-06-09 11:34:09 -05:00
Dalas121
81a1ef260d
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:29:45 -05:00
Nils Kneuper
17ff25de5c updated Ukrainian translation 2024-06-09 09:16:51 +02:00
Steve Cotton
9cc0b15fbc 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.

(cherry picked from commit 55aa8b44cf)
2024-06-08 22:08:28 +02:00
Severin Glöckner
c2fbb745f7 terrain2wiki tool: link to images on stable 1.18 branch 2024-06-08 21:18:03 +02:00
Severin Glöckner
136f96e428 German translation update 2024-06-08 21:13:19 +02:00