The picker is used in the special node dialog and also in monster abilities.
Some changes were made to the game as well:
* If the rotatable wall is used for a field missile or touch ability, there's no longer an option for the designer to pick an orientation. Instead, it behaves like the rotatable wall in a radiate field ability, selecting an orientation based on the creature's facing direction.
* The magic values sent to place_spell_pattern for direct damage were rearranged to match the order of the eDamageType enum. This should have no effect, since the core place_spell_pattern function is only called by the various wrapper overloads. It also simplifies the code quite a bit.
* The Protective Circle spell pattern is now exposed to the place patten special nodes. It can be used as just a radius 4 circle, but the effect of different layers of fields can also be obtained by specifying a field type or damage type of -1.
There is also a change to the dialog engine:
* Calling setText() also implicitly calls recalcRect()
The limit of 3 saved item rectangles has been removed - you can now add as many as you want.
However, the 1 per town limit is now strictly enforced.
The saved item rectangle is now shown with a cyan border when editing town.
In effect, this is a combination of two of the previous pickers:
the location picker, and the editable string picker.
This required quite a significant rework of how the tilemap places its children.
Currently it's only used in special node editing.
I plan to add its use in many other places too though.
These are all cases where similar items stack but these ones for some reason didn't.
Gemstones/Ores: Ruby, Crystal, Rough Diamond
Powders: Dust of Hiding and Choking
Missiles: Poison Darts; Arrows of Life and Light; Burning and Exploding Arrows
Reagents: Asp Fangs
It's used not only in special node editing (for Event Happens and If Event Happened?)
but also in the Townperson Advanced, Talk Node, and Quest editors.
This just implements the guts of the dialog, without using it for anything yet.
It also fixes a bug that caused a blank page to appear in the string picker if the total number of strings was an exact multiple of 40.
Closes#563
With the new format, Author and Contact info are formatted onto the first line in the scenario picker display. The scenario designer gets 1 line to write a teaser.
Fix#593
Also fix a bug where scenario ratings were appearing as integers ingame instead of the correct "G", "PG", etc.
* Scenarios contain a string map of feature flags. The flag names are the keys, and flag versions are the values, so a typical value might be "fixed" for bug fixes or for evolving features, "V1", "V2", etc.
* The game has a map of flags to lists of supported versions. The game can therefore signal that it supports a legacy behavior for a given feature flag. The last version in the list is considered to be this build version's default behavior.
* When launching a scenario, we check to make sure the game supports the scenario's required versions of its feature flags.
* When launching a replay, we make sure the game supports the feature flags that the version of the game that made the recording did.
Fix#555Close#591