Commit graph

29603 commits

Author SHA1 Message Date
doofus-01
f5fec569ab
1.17 - Ant Queen (#7879)
* giant ant queen

* ant  eggs

* fire ant queen

* ant zombie and soulless

* empty ant egg item image
2023-09-10 21:10:12 -07:00
doofus-01
9a1f65a282
fix some dragonfly images (#7901) 2023-09-10 21:08:07 -07:00
Gunter Labes
7b23df83ee
Fix story logic broken in aad6ce6 2023-09-08 20:50:13 +02:00
nemaara
2375d5fde3 UtBS S3: fix Garak's steadfast ability (fix #6046) 2023-09-05 15:00:10 -07:00
nemaara
6ae178d74d NR S1: word choice 2023-09-05 14:51:47 -07:00
nemaara
11cded5bc5 NR: Add ShadowOfHassen to credits 2023-09-05 14:45:34 -07:00
nemaara
57d85e7df2
TRoW: add new Jevyan sprite and buff him (#7873)
* TRoW: add new Jevyan sprite and buff him
2023-09-05 08:41:11 -07:00
doofus-01
20b031949f
1.17 various troll sprite updates (#7844)
* remove bones from troll zombie sprites

* great troll defense frames

* some wounded bobbing work

* whelp die anim

* sprite palette cleanup
2023-09-04 18:09:53 -07:00
Severin Glöckner
b4e5d13c83 fix typo
[ci skip]
2023-09-03 01:06:56 +02:00
Gunter Labes
9d3b8241fa
Remove undef left over in 2acc8e5e79 2023-08-29 17:18:29 +02:00
Gunter Labes
8cd0410754
Add missing keys and tags in [micro_ai] 2023-08-29 15:15:59 +02:00
nemaara
368103aad6 DiD: buff soul rend 2023-08-27 12:37:49 -07:00
Wedge009
4f3cde4750 LoW: Replace lingering instances of ‘old’ style gold carry over for S9, S11 and S14 (resolves #7862) 2023-08-24 15:04:25 +10:00
nemaara
5b09a348e2
Liberty: text editing and work on Harper's character (#7854) 2023-08-23 09:53:26 -07:00
Pentarctagon
e90db4a276 1.17.20+dev 2023-08-19 21:05:00 -05:00
Pentarctagon
347745f19c 1.17.20 2023-08-19 21:04:11 -05:00
Pentarctagon
f7bbb10ffb pot-update and regenerate doc files 2023-08-19 21:01:29 -05:00
Pentarctagon
a5cd9d02eb Add label description to dialog. 2023-08-19 10:13:24 -05:00
Jonathan-Kelly
9460507218
Add game logic to King of the Hill and revise map (#7792)
A side with a leader holding the hill keep gets bonus gold each turn, A treasure chest which only a leader can unlock further rewards the first player to take the hill. Each side gets two leaders. If one dies then another can be "recalled" (recruited) from the recall list at its full unit cost. Computer players will try to take the hill with one of their two leaders.
2023-08-19 11:50:02 +02:00
Jonathan-Kelly
14c7382675
Add range support for [micro_ai]side= (#7853) 2023-08-18 20:04:05 -04:00
Jonathan-Kelly
234060e08e Cut hardcoded restrictions on scenario settings
And widen the corresponding 'soft' coded limits for the multiplayer scenario creation screen.
2023-08-18 01:02:22 +02:00
newfrenchy83
985ea1113a
Fix indentation in schema 2023-08-17 21:38:56 +02:00
Hejnewar
07a64d4603
Arcane Resistances Rework
The basis for this rework is lowering the extremes in acrance resistances between units and factions. That allows for more free usage of arcane damage and helps with balance of games in which high levels are way more frequent than in standard default 1v1 or 2v2.
2023-08-17 14:25:59 +02:00
Hejnewar
f94bf19a0e
Fix song verse ability for UtBS 2023-08-17 14:20:30 +02:00
Elvish_Hunter
1693c0e0eb GUI.pyw: add a 'cancel' button to avoid running the tools on the core directory
Fixes #7728.
2023-08-16 23:06:37 +02:00
doofus-01
811a2c5b05
make soldier ant sprite a little more distinct from giant ant (#7845) 2023-08-13 20:11:52 -07:00
Steve Cotton
ec3c2af9e6 AToTB: Remove the instant-communication amulets
Having these in canon felt like a plot hole in other campaigns. If an
apprentice mage could make these amulets circa 350 YW then every village and
border-fort should have them, but Wesnoth's storylines work better if a
messenger on horseback is the usual method of long-distance communication. For
example, TSG is about a commander sent to discipline a lazy outpost, only to
find that they should have brought reinforcements. When it's the enemy trying
to communicate, DM S21 and UtBS S08 both involve stopping the messengers.

This changes the intro to have a beacons for communicating with the trade
caravans, I'm leaving it ambiguous whether it's a smoke signal or a fire
signal. Fire beacons might make more sense if the village sees the caravan's
campfires at night and, in normal usage, light the beacon to trade.

While this adds beacons to canon, they're an ancient technology with a limited
range and very limited bandwidth. There are easy plot reasons not to set
beacons up, such as the costs of having people watch for and maintain them,
there are easy plot reasons why they don't work on a given day, such as
weather, and there are easy plot reasons for attempted communication to be
ignored by assuming that it's a fire for a different purpose.

Previously suggested in https://r.wesnoth.org/p669889 .
2023-08-12 19:51:28 +02:00
newfrenchy83
2a4a073da4 Add tests for ranges and negative values in ability filters
Changed to use "-" instead of ".." as the separator by octalot,
but I believe newfrenchy83 prefers "..".
2023-08-11 21:59:06 +02:00
Steve Cotton
cc8dddea6e Support negative numbers in ranges
Adds support for using these in the weapons and ability filters:
* "-1", which was previously treated as an parse error (no number before the separator).
* "-3--1"
* "-infinity" as the lower number in the range, provided a different upper number is given.

This treats "-infinity" (with no other number), "-infinity--infinity",
"infinity" (with no other number) and "infinity-infinity" as errors. It seems
unlikely that someone would intend to use a filter that can't match any
reasonable number.

The range "-infinity-infinity" will be parsed successfully. I don't see a use
case for that, but nor do I see a reason to add extra C++ to reject it.
However, it's not added to the schema, as I think it's good for the schema to
give a warning when someone creates a filter which will accept every value
(including accepting the default, so "-infinity-infinity" accepts the unset
value too).

Includes new unit tests for the C++ and the Lua stringx.parse_range functions.
The next commit adds more WML tests, but is kept separate to credit the author.

This started as a change to move common filter functions from unit.cpp to
somewhere that they could be reused for other config-based filters. In the
process a missing feature was found and added, the move is still included in a
single Git commit because the move was required in order to make these
functions accessible to the Boost unit tests.

Two CodeBlocks project files additionally get src/utils/any.hpp added,
which was in one of them but missing from the other two. I noticed because
these are alphabetically at the start of the src/utils file list.

Thanks to @CelticMinstrel for the review comments and Xcode project updates.
2023-08-11 21:59:06 +02:00
Gunter Labes
76246291cd
Simplify campaign rank display 2023-08-11 21:41:42 +02:00
Gunter Labes
d5c76f7cc5
Use DATA variable consistently 2023-08-11 21:00:20 +02:00
Gunter Labes
73f2a6e90a
Update key bindings extraction 2023-08-11 20:56:13 +02:00
Gunter Labes
e863350260
Allow specifying the destination for the macro reference 2023-08-11 18:38:27 +02:00
Steve Cotton
20ec934658 Whitespace consistency 2023-08-11 08:37:23 +02:00
Ivo Julca
5ebc9a790a Implement event priority
For any given event name, events execute in order of decreasing priority.

Priority is a real number, and may be assigned via the `priority` attribute for
the WML [event] tag, or through the Lua APIs:

- wesnoth.game_events.add({priority = number})
- wesnoth.game_events.add_repeating(name, action, [priority])

Note that delayed variable substitution is not currently supported in the WML attribute.
2023-08-11 08:34:43 +02:00
Gunter Labes
81c31c40c5
Update jquery and tablesorter 2023-08-05 20:07:49 +02:00
Charles Dang
542fd92744 GUI2/Main Menu: used linear scaling for background (resolves #7741) 2023-08-04 15:34:52 -04:00
Gunter Labes
64f702e96d
Move {join,host}.lua to a better place 2023-08-03 22:06:27 +02:00
Gunter Labes
a0d7054360
Fix schema to allow upkeep in SUF 2023-08-03 20:09:19 +02:00
Gunter Labes
68b3eeb0ff
Fix schema to allow SUF under [advancement] 2023-08-03 19:49:52 +02:00
Celtic Minstrel
d05bc6e444
Update filesystem.lua (typo) 2023-07-23 11:58:21 -04:00
Celtic Minstrel
46ac2ff1de
Update filesystem.lua
The new include_file directive uses the "scenarios" directory as the asset type, so add it to `filesystem.asset_type`.
2023-07-23 11:58:02 -04:00
Gunter Labes
ab14e5796a
Remove ancient todo file 2023-07-20 16:16:03 +02:00
Pentarctagon
10997c39a3
Start giving the editor add-on level functionality. (#7719)
The key word of course being "start". This PR changes the editor by default to work at the add-on level instead of in its own separate scenarios and maps directories. The goal is to make the editor more useful generally, but also specifically to make it much easier for players to distribute content they create using the editor:
* When they click the Editor button on the main menu, they will first be prompted to choose an add-on (or mainline), or to create a new add-on.
* When saved, if the scenario cfg is in the format previously generated by the editor, it will be converted to the new format and to use the [multiplayer] tag, the map_file attribute, and have the map data saved to a separate .map file.
* Relatedly, the editor now knows how to handle scenarios with the map_file attribute at all (which yes, does mean that currently wesnoth's editor doesn't know how to load its own mainline scenarios from their cfg).
* When opening the file chooser dialog, it now defaults to their selected add-on's directory.

If they choose to create a new add-on, then the editor creates for them:
* a basic but functional _main.cfg.
* an empty achievements.cfg (at this point mostly just so they might see it at some point and realize achievements exist, but ideally an achievements editor dialog could be created eventually).
* an empty _server.pbl file.
* a proper add-on directory structure containing the standard set of folders (maps/, scenarios/, units/, utils/, images/, etc).

Additionally, as an initial proof of concept for actually using this new add-on level functionality, a new Add-ons dropdown has been added to the editor's top bar, with a pbl editor option. This allows populating the blank _server.pbl file as well as editing an existing _server.pbl. There is also an option to change the add-on's ID, which will update the add-on's folder name and _main.cfg.

Misc other changes:
* The ability to add a recruit list to a side has been added back as a text box on the edit side dialog. While admittedly this doesn't allow players to select units from within the editor itself, it does set the actual side's recruit list (rather than a specific unit's extra_recruits), will show the user what the current recruit list for the side is (which the previously removed implementation didn't show anywhere), and correctly sets the faction as Custom so that the recruit list is used.
* When saving an old-style editor scenario, everything that can be triggered via [event] is either moved to a start event with a specific id attribute. Exceptions to this are [time], [side], and [side][village]. This is done so that the editor can know (for the most part) what things are actually its own to safely replace. As such, aside from the three previously mentioned tags plus the start event, any other WML added to a scenario by a UMC author is preserved rather than being overwritten - the editor no longer replaces the entire contents of the scenario file.
* The editor no longer writes out cfg files missing the top level scenario tag. If it doesn't find one or this is the first save of a new scenario it defaults to [multiplayer], but otherwise it will properly handle finding [test] or [scenario] as well.
* Requires that map files have the .map extension and scenario files have the .cfg extension. Also it assumes that .map files do actually only have map data in them and the .cfg files do actually have valid WML in them. I understand that this is not a limitation it had previously, but I don't think this is an unreasonable thing to require.
* Addresses part of #7667 by just not using regex for figuring out the map_data attribute value.

Additionally, it is not possible to change the currently selected add-on without going back to the main menu, clicking the editor button, and choosing a different add-on. This is intentional - I don't want to deal with having multiple add-ons open at the same time. If someone feels really strongly otherwise, then they can implement that themselves later.
2023-07-19 15:00:14 -05:00
Gunter Labes
26ec459cb0
Revert "wmllitnt: add two missing corrections (#7765)"
This reverts commit 915d9c5aba since it just adds redundant replacements.
2023-07-19 11:24:28 +02:00
Gunter Labes
41ead12a14
Complete WC version removal 2023-07-18 21:32:58 +02:00
Gunter Labes
dcbecefe9e
Improve script to update pathfinding unit tests 2023-07-18 19:41:42 +02:00
Toranks
682b89e764
WC II - Typo and translatability of Difficulty, remove Version (#7795) 2023-07-17 22:22:53 +02:00
Pentarctagon
ac797db32a Add script to automate generating new pathfinding answers 2023-07-17 11:08:55 -05:00
Pentarctagon
9721ae4d23 Add unit movement changes from Hejnewar.
Also update the pathfinding test answers.
2023-07-17 09:11:38 -05:00