For each speaking part, make sure it is assigned to a unit. For parts where the conversation suffers if not delivered, recall a unit or recruit one if none are available. For parts where the missing the line does not appear to adversely effect the conversation, omit the lines if no unit can be found on the board at the time.
- add_fog removed fog and remove_fog added it
- similarly, [lift_fog] and [clear_fog] were swapped
- make sure first argument is a list of sides before trying to interpret it as one
This is meant to replace ~RIGHT() and also the newer ~LEFT(),
with one exception: ~RIGHT() will still be the standard way to
make a unit's portrait go on the right by default.
- For MAIs using aspects, make the facet ID more unique
- Only shallow-preparse the [micro_ai], rather than fully preparsing it
(This is so that filters in Micro AIs can use $this_unit if needed)
victory is an unsynced event to its potentially unsafe to change the
gamestate in it, this mostly effects LoW (which can be played as a mp
campaign) where i replaced most victory events.
But it also effects sp becasue it can casue bugs to create units in
unsynced events which are used later (here: in later scenarios), so i
replaced also all sp victory events that do that.
Note that the 'scenario_end event'+'proceed_to_next_scenario filter' has
a slightly different meaning than 'victory event': the second gets fired
when there is a local human side who won the scneario while the first
gets fired if there is any human side who on the scenario. In sp this
is the same since there are no remote human sides, but in mp this is the
reason why the first is synced and the second is not.
We could add a seperate event for this case ("before next scenario" or
similar) for easier use, but i didn't find a good name for
that yet.
- search_recall_list=yes|no (default yes)
- [else] tag which is run if no unit matches
- auto_recall=yes|no (default no) which recalls the unit if it's on the recall list
Added some features:
1) on_event now supports a comma separated list of event names in its first parameter
2) on_event now supports a number as second parameter that specifies in which order the event handlers are called.
3) on_event now passes wesnoth.current.event_context to the handler function, since the handler function will most likeley need it.
This resurrects the old check that was used to determine when it was
safe to create the buttons. It avoids it happening as a result of an
actual draw-all event, instead only happening when the GUI is being
updated.