73149 Commits

Author SHA1 Message Date
Celtic Minstrel
703d0c3cf4 Fix erroneous/useless [event] in [titlescreen_music], [lobby_music], [editor_music]
The playlist macros set the music list twice, once before the
story screen and again in prestart, but the order of tracks is different.

This means that the track order at the titlescreen and in the lobby is now the same
as the track order in a scenario using the default playlist, which previously was not the case.

Similarly, the track order in the editor is now the same as the track order
in a scenario using the full playlist.

Whether that actually matters? I have no idea. I doubt it.

In any case, as of this commit, there are no schema validation errors
at the title screen, when entering the MP Create screen, or in the map editor.
2018-10-23 22:38:19 -04:00
Celtic Minstrel
c76e5ee69b Schema: Just allow any key in [language] 2018-10-23 22:38:17 -04:00
Celtic Minstrel
24608d0632 Schema ActionWML: Small bugfixes and add undocumented stuff from perusing source code 2018-10-23 22:38:16 -04:00
Celtic Minstrel
1e33a66661 Schema: Pango formatting keys for [message] 2018-10-23 22:37:46 -04:00
Celtic Minstrel
20a81c06a6 Schema: Definition of [micro_ai] tag, including all known MicroAIs 2018-10-23 22:37:45 -04:00
Celtic Minstrel
7ab5fabbf2 Schema: Add all known ActionWML and ConditionalWML tags (based on wiki)
This also finishes up the StoryWML definition, adds validation for
map and shroud data, and a few other small schema fixes
2018-10-23 22:37:44 -04:00
Celtic Minstrel
3211014428 Fix [effect][set_specials] not correctly allowing special ability tags 2018-10-23 22:37:43 -04:00
Celtic Minstrel
da7fcaa5e1 Schema: Definition of [modify_ai] tag
Also reorder some things in [aspect] for better matching
2018-10-23 22:37:42 -04:00
Celtic Minstrel
ac3ddf6e52 Schema: Fix [elseif] requiring an [then] tag
While a lack of [then] here generally isn't desirable, a crash is far worse.
2018-10-23 22:37:41 -04:00
Celtic Minstrel
d369368ac3 Schema: Extra sanity check for [elseif] tags
Probably not technically necessary as long as conditions are processed in order
However, I think it's nice to play it safe
2018-10-23 22:37:39 -04:00
Celtic Minstrel
644ff73c92 Schema: Add feature to [switch] to allow a [case] to match the absence of the key
Use this to support the default [goal] name
2018-10-23 22:37:38 -04:00
Celtic Minstrel
6d4b789e5b Schema: Use the new globbing feature to improve [aspect] definition
Also fix [engine] switch
2018-10-23 22:37:37 -04:00
Celtic Minstrel
c2716728e5 A few more missing pieces to the AI schema 2018-10-23 22:37:36 -04:00
Celtic Minstrel
ff66583c0d Schema: Fix definition of [effect] tags for removing/modifying attacks 2018-10-23 22:37:35 -04:00
Celtic Minstrel
80fb9c01a6 Schema: Fix [switch] implementation 2018-10-23 22:37:34 -04:00
Celtic Minstrel
faa8decdc8 WIP Schema for the AI WML
Pretty much all working, except for the [aspect] tag
Also, [modify_ai] is not yet specified (needs new schema features)
2018-10-23 22:37:33 -04:00
Celtic Minstrel
efa30b3840 Schema: Accept [elseif] in [if] and change [switch][default] to [else] 2018-10-23 22:37:32 -04:00
Celtic Minstrel
6e2ed5f53f Fix matching of list types with limits 2018-10-23 22:37:30 -04:00
Celtic Minstrel
65ef12466d Use a few more conditional tag elements 2018-10-23 22:37:29 -04:00
Celtic Minstrel
ed7c3dbfbc Missed a couple weapon special definitions 2018-10-23 22:37:28 -04:00
Celtic Minstrel
bebab878e3 Support multiple super tags and even conditional super tags
Use this to conditionally import [unit] keys in [side] based on no_leader
2018-10-23 22:37:28 -04:00
Celtic Minstrel
7fc359bf16 Fix crash if a tag has conditions but no subtags 2018-10-23 22:37:26 -04:00
Celtic Minstrel
fb30b594b6 Support [switch] and [if] in [tag]
Use this new feature to validate [effect] tags
2018-10-23 22:37:24 -04:00
Celtic Minstrel
06c13291c2 Super-rudimentary documentation... 2018-10-23 22:37:22 -04:00
Celtic Minstrel
9ab1777851 Enable nesting of [type] tags
Minor cleanup of GUI2 type definitions
Disallow stuff like border=top,all
2018-10-23 22:37:18 -04:00
Celtic Minstrel
34604fdff6 Get game config and schema to use some common types
This also fixes an invalid type issue in the GUI2 schema,
and allows types to be a direct alias for other types.
2018-10-23 22:36:47 -04:00
Celtic Minstrel
3365aef28a Move GUI2 schema into the schema directory 2018-10-23 22:36:46 -04:00
Celtic Minstrel
3a65a14bcb Implement validation of the core game config WML
Currently this is disabled by default
Use --validate command-line argument to enable

The following new features were added in the schema format:
* Union, intersection, and list types
* Keys can specify a union of known types on-the-fly
* Key and tag names can include wildcards (* and ?, glob-style)
* Tags support any_key=yes, which means unrecognized subtags will be ignored
* Tags and keys support deprecated=yes (unimplemented)
* Specify max=infinite instead of max=-1
2018-10-23 22:36:40 -04:00
Jyrki Vesterinen
fa12518f86 Changed data type of display::get_overlays()
`std::multimap` is a poor fit after commit
082aa2afe24815c1c432341e9fa9dd0d84da04a8 because `std::multimap` doesn't
allow reordering of elements assigned to the same key.
2018-10-23 22:49:34 +03:00
gfgtdf
c70143077c fix test_lua_mapgen.lua after and -> all rename 2018-10-22 19:28:09 +02:00
Jyrki Vesterinen
cca79afe4b Add an option to disable FPS limiter
Cherry-pick of commit d7921f31b061ed997099f600f3e6771dee960ea6.
2018-10-22 19:34:51 +03:00
newfrenchy83
c926f2c718 Update wesnoth.cbp 2018-10-22 08:38:53 -05:00
newfrenchy83
f24f10c614 Update attack.cpp 2018-10-22 08:16:12 -05:00
Wedge009
6ef7dd77ab Properly update MSVC project files for 3d1e3b36 and e0234608.
[ci skip]
2018-10-22 15:33:18 +11:00
mattsc
09e3891668 ai_helper.move_unit_out_of_way: prevent potential for divide-by-zero
dx = dy = 0 is a perfectly acceptable choice of values when there is no preferred direction.
2018-10-21 19:30:34 -07:00
newfrenchy83
7f7217cf15 Implement certain weapon specials in the engine
Support ['specials'] in abilities except plagues, heal_on_hit and swarm, which emulate the weapon specials with [affect_adjacent] in option and the possibility to affect all weapons filtered (used with 'Initiative' in HttH or 'Formation' in UtBS). (Don't put filter_weapon in 'filter_self/opponent' like in  true weapons specials.)

Closes #3630
Closes #3620
2018-10-21 20:14:15 -05:00
josteph
1f9a614dbc en_GB: Fix broken link 2018-10-22 00:46:08 +00:00
josteph
5e92b8e80d Help: Fix some broken links in the Gameplay section.
The abilities help topic id structure is intentional, according to
generate_ability_topics() (src/help/help_impl.cpp:514).
2018-10-22 00:10:28 +00:00
josteph
c9d4dde5ae help: Add "Great River" topic
Part of #2963
2018-10-22 00:10:28 +00:00
josteph
6dacbb9e46 help: Fix broken link
Reported in #2963
2018-10-22 00:10:27 +00:00
josteph
606ac386e1 Help: Fix fatal error in the "Recruiting and Recalling" page.
The error message was, upon opening the page:

```
Parse error when parsing help text: 'Error when parsing help markup as WML: 'Unexpected characters after variable name (expected , or =)
at <unknown>:2''
```

The <bold> tag in question can be seen on old_master_20181015 here:
71a6daf961/data/core/help.cfg (L199)
2018-10-22 00:04:35 +00:00
gfgtdf
a4b2818bc5 fix not generating leaders when loading a start of scenario save
fixes #2660
2018-10-22 01:34:23 +02:00
gfgtdf
eba882b957 implement [lua]name=, fixes #3381 2018-10-22 01:34:21 +02:00
gfgtdf
50d94b3388 modifiable propertly game_config.do_healing
this controls whether during the next turn start the game will
heal units. I feel like 'game_config' is not a that good place
name for this but it is afaik the only place for those variables.
2018-10-22 01:34:20 +02:00
josteph
1876433e8f Sidebar: Give vision a tooltip since it shows as "visi…" with no way to see the actual value. 2018-10-21 22:20:19 +00:00
Steve Cotton
30764fa764
DiD S12: Alternative campaign finish by letting the hero take the book
On the third and subsequent playthroughs of Endless Night, Mal Keshar
has learned from the ending of SotA, and can leave the book to be
taken by the foolish hero's army.  This text doesn't handle the unit
that picks up the book being the hero themselves, but the hero seems
to be using the normal boss AI of staying near the castle so that
probably won't happen anyway.

He learns how to lichify level 3 necromancers at the start of the
first playthrough, which fits better with the backstory of the book.
The png icon for this is copied from SotA.

This would close issues #3165 and #3167.

[ci skip]
2018-10-21 14:33:08 -05:00
josteph
20b76b32c0 Healing: Update changelog 2018-10-21 17:36:03 +00:00
josteph
00c2ed6aa9 Healing: Perform rest healing on turn 2. 2018-10-21 17:35:59 +00:00
josteph
2f62302dc7 Healing: Add a unit test. 2018-10-21 17:34:52 +00:00
josteph
5ce2f2df37 Healing: Instead of hardcoding a turn-and-side-number check, indirect through a boolean.
This boolean may be exposed to WML in the future (ask gtgtdf).
2018-10-21 17:16:53 +00:00