Support conditional events and fallback for random_event_player #1536
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for conditional events in
random_event_player
event lists.For starters, the Randomizer class now accepts
machine
andtemplate_type
as constructor arguments, and if provided, will generate conditional templates for the items in its randomization list. When fetching the next random item, if the items are conditional template instances, they will all be evaluated and only those that are true will be returned.For flexibility, the Randomizer class also gets a new config setting:
fallback_value
. If all the conditions failed and no items will be returned, the Randomizer will return its fallback value if one is defined. If not, it will returnNone
.The RandomEventPlayer is likewise updated to pass in the new constructor arguments and set a fallback event.
Tests forthcoming!