Skip to content

Commit 5ba87d3

Browse files
committed
Merge branch 'dev' into 0.80.x
2 parents 6d7c172 + e2c0ca4 commit 5ba87d3

7 files changed

Lines changed: 284 additions & 1353 deletions

File tree

mpf/core/randomizer.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ def loop(self, loop):
109109
def _next_not_random(self, conditional_args):
110110
total_items = len(self.items)
111111
current_item_index = self.data['current_item_index']
112+
112113
if current_item_index >= total_items:
113114
if not self.loop:
114115
raise StopIteration
@@ -118,13 +119,20 @@ def _next_not_random(self, conditional_args):
118119
next_item_index = current_item_index
119120

120121
rotated_option_list = self.items[next_item_index:] + self.items[:next_item_index]
122+
found_it = False
121123
while len(rotated_option_list):
122124
next_item = rotated_option_list.pop(0)
123125
next_item_index += 1
124126
event = next_item[0]
125127
if not event.condition or (self._template_type and event.condition.evaluate(conditional_args)):
128+
found_it = True
126129
break
127130

131+
if not found_it and self.fallback_value:
132+
self.data['current_item'] = self.fallback_value
133+
self.data['current_item_index'] = 0
134+
return self.fallback_value
135+
128136
self.data['current_item'] = next_item
129137
self.data['current_item_index'] = next_item_index
130138

0 commit comments

Comments
 (0)