gameboy_worlds.emulation.survival_kids.test_metrics

Test metrics for Survival Kids benchmark tasks.

  1"""Test metrics for Survival Kids benchmark tasks."""
  2
  3from gameboy_worlds.emulation.survival_kids.parsers import SurvivalKidsParser
  4from gameboy_worlds.emulation.tracker import (
  5    RegionChangedTerminationMetric,
  6    RegionMatchTerminationMetric,
  7    TerminationMetric,
  8)
  9
 10
 11class StatusBarChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
 12    REQUIRED_PARSER = SurvivalKidsParser
 13    _CHANGED_NAMED_REGION = "status_bar"
 14    _CHANGE_MAE_THRESHOLD = 10
 15
 16
 17class HpChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
 18    REQUIRED_PARSER = SurvivalKidsParser
 19    _CHANGED_NAMED_REGION = "hp_area"
 20    _CHANGE_MAE_THRESHOLD = 10
 21
 22
 23class HungerChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
 24    REQUIRED_PARSER = SurvivalKidsParser
 25    _CHANGED_NAMED_REGION = "hunger_area"
 26    _CHANGE_MAE_THRESHOLD = 10
 27
 28
 29class ResolveHungerTerminateMetric(HungerChangedTerminateMetric):
 30    pass
 31
 32
 33class ThirstChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
 34    REQUIRED_PARSER = SurvivalKidsParser
 35    _CHANGED_NAMED_REGION = "thirst_area"
 36    _CHANGE_MAE_THRESHOLD = 10
 37
 38
 39class DrinkWaterTerminateMetric(ThirstChangedTerminateMetric):
 40    pass
 41
 42
 43class StaminaChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
 44    REQUIRED_PARSER = SurvivalKidsParser
 45    _CHANGED_NAMED_REGION = "stamina_area"
 46    _CHANGE_MAE_THRESHOLD = 10
 47
 48
 49class GameViewportChangedTerminateMetric(
 50    RegionChangedTerminationMetric, TerminationMetric
 51):
 52    REQUIRED_PARSER = SurvivalKidsParser
 53    _CHANGED_NAMED_REGION = "game_viewport"
 54    _CHANGE_MAE_THRESHOLD = 10
 55
 56
 57class GrassCutTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
 58    REQUIRED_PARSER = SurvivalKidsParser
 59    _TERMINATION_NAMED_REGION = "game_viewport"
 60    _TERMINATION_TARGET_NAME = "grass_cut"
 61
 62
 63class GrassCutBeforeSharpStoneTerminateMetric(
 64    RegionMatchTerminationMetric, TerminationMetric
 65):
 66    REQUIRED_PARSER = SurvivalKidsParser
 67    _TERMINATION_NAMED_REGION = "game_viewport"
 68    _TERMINATION_TARGET_NAME = "grass_cut_before_sharp_stone"
 69
 70
 71class GrassCutBeforePickupLogTerminateMetric(
 72    RegionMatchTerminationMetric, TerminationMetric
 73):
 74    REQUIRED_PARSER = SurvivalKidsParser
 75    _TERMINATION_NAMED_REGION = "game_viewport"
 76    _TERMINATION_TARGET_NAME = "grass_cut_before_pickup_log"
 77
 78
 79class GrassCutBeforePushStone2TerminateMetric(
 80    RegionMatchTerminationMetric, TerminationMetric
 81):
 82    REQUIRED_PARSER = SurvivalKidsParser
 83    _TERMINATION_NAMED_REGION = "game_viewport"
 84    _TERMINATION_TARGET_NAME = "grass_cut_before_push_stone_2"
 85
 86
 87class AnimalKilledTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
 88    REQUIRED_PARSER = SurvivalKidsParser
 89    _TERMINATION_NAMED_REGION = "game_viewport"
 90    _TERMINATION_TARGET_NAME = "animal_killed"
 91
 92
 93class Chapter1PathClearedTerminateMetric(
 94    RegionMatchTerminationMetric, TerminationMetric
 95):
 96    REQUIRED_PARSER = SurvivalKidsParser
 97    _TERMINATION_NAMED_REGION = "game_viewport"
 98    _TERMINATION_TARGET_NAME = "chapter1_path_cleared"
 99
100
101class PathAfterBlockingGrassTerminateMetric(
102    RegionMatchTerminationMetric, TerminationMetric
103):
104    REQUIRED_PARSER = SurvivalKidsParser
105    _TERMINATION_NAMED_REGION = "game_viewport"
106    _TERMINATION_TARGET_NAME = "path_after_blocking_grass"
107
108
109class PathAfterBlockingGrassC1TerminateMetric(
110    RegionMatchTerminationMetric, TerminationMetric
111):
112    REQUIRED_PARSER = SurvivalKidsParser
113    _TERMINATION_NAMED_REGION = "game_viewport"
114    _TERMINATION_TARGET_NAME = "path_after_blocking_grass_c1"
115
116
117class NearPryStoneTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
118    REQUIRED_PARSER = SurvivalKidsParser
119    _TERMINATION_NAMED_REGION = "game_viewport"
120    _TERMINATION_TARGET_NAME = "near_pry_stone"
121
122
123class NearPushStone2TerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
124    REQUIRED_PARSER = SurvivalKidsParser
125    _TERMINATION_NAMED_REGION = "screen"
126    _TERMINATION_TARGET_NAME = "near_push_stone_2"
127
128
129class PathAfterPriedStoneTerminateMetric(
130    RegionMatchTerminationMetric, TerminationMetric
131):
132    REQUIRED_PARSER = SurvivalKidsParser
133    _TERMINATION_NAMED_REGION = "game_viewport"
134    _TERMINATION_TARGET_NAME = "path_after_pried_stone"
135
136
137class StonePushedOpen2TerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
138    REQUIRED_PARSER = SurvivalKidsParser
139    _TERMINATION_NAMED_REGION = "game_viewport"
140    _TERMINATION_TARGET_NAME = "stone_pushed_open_2"
141
142
143class PathAfterPushedStone2TerminateMetric(
144    RegionMatchTerminationMetric, TerminationMetric
145):
146    REQUIRED_PARSER = SurvivalKidsParser
147    _TERMINATION_NAMED_REGION = "game_viewport"
148    _TERMINATION_TARGET_NAME = "path_after_pushed_stone_2"
149
150
151class InTheShelterTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
152    REQUIRED_PARSER = SurvivalKidsParser
153    _TERMINATION_NAMED_REGION = "game_viewport"
154    _TERMINATION_TARGET_NAME = "in_the_shelter"
155
156
157class NewPath1FoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
158    REQUIRED_PARSER = SurvivalKidsParser
159    _TERMINATION_NAMED_REGION = "game_viewport"
160    _TERMINATION_TARGET_NAME = "new_path_1_found"
161
162
163class NewPath2FoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
164    REQUIRED_PARSER = SurvivalKidsParser
165    _TERMINATION_NAMED_REGION = "game_viewport"
166    _TERMINATION_TARGET_NAME = "new_path_2_found"
167
168
169class SharpStoneFoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
170    REQUIRED_PARSER = SurvivalKidsParser
171    _TERMINATION_NAMED_REGION = "game_viewport"
172    _TERMINATION_TARGET_NAME = "sharp_stone_found"
173
174
175class DayReferenceTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
176    REQUIRED_PARSER = SurvivalKidsParser
177    _TERMINATION_NAMED_REGION = "screen"
178    _TERMINATION_TARGET_NAME = "day_reference"
179
180
181class AfternoonReferenceTerminateMetric(
182    RegionMatchTerminationMetric, TerminationMetric
183):
184    REQUIRED_PARSER = SurvivalKidsParser
185    _TERMINATION_NAMED_REGION = "screen"
186    _TERMINATION_TARGET_NAME = "afternoon_reference"
187
188
189class NightReferenceTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
190    REQUIRED_PARSER = SurvivalKidsParser
191    _TERMINATION_NAMED_REGION = "screen"
192    _TERMINATION_TARGET_NAME = "night_reference"
193
194
195class EnteredShelterTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
196    REQUIRED_PARSER = SurvivalKidsParser
197    _TERMINATION_NAMED_REGION = "screen"
198    _TERMINATION_TARGET_NAME = "entered_shelter"
199
200
201class FoundRiverTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
202    REQUIRED_PARSER = SurvivalKidsParser
203    _TERMINATION_NAMED_REGION = "screen"
204    _TERMINATION_TARGET_NAME = "found_river"
205
206
207class WaterMenuOpenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
208    REQUIRED_PARSER = SurvivalKidsParser
209    _TERMINATION_NAMED_REGION = "screen"
210    _TERMINATION_TARGET_NAME = "water_menu_open"
211
212
213class WaterAvailableDialogueTerminateMetric(
214    RegionMatchTerminationMetric, TerminationMetric
215):
216    REQUIRED_PARSER = SurvivalKidsParser
217    _TERMINATION_NAMED_REGION = "dialogue_area"
218    _TERMINATION_TARGET_NAME = "water_available_dialogue"
219
220
221class PryStoneDialogueTerminateMetric(
222    RegionMatchTerminationMetric, TerminationMetric
223):
224    REQUIRED_PARSER = SurvivalKidsParser
225    _TERMINATION_NAMED_REGION = "dialogue_area"
226    _TERMINATION_TARGET_NAME = "pry_stone_dialogue"
227
228
229class PushStoneDialogue2TerminateMetric(
230    RegionMatchTerminationMetric, TerminationMetric
231):
232    REQUIRED_PARSER = SurvivalKidsParser
233    _TERMINATION_NAMED_REGION = "screen"
234    _TERMINATION_TARGET_NAME = "push_stone_dialogue_2"
235
236
237class AfterFillingWaterTerminateMetric(
238    RegionMatchTerminationMetric, TerminationMetric
239):
240    REQUIRED_PARSER = SurvivalKidsParser
241    _TERMINATION_NAMED_REGION = "screen"
242    _TERMINATION_TARGET_NAME = "after_filling_water"
243
244
245class AfterDrinkingWaterTerminateMetric(
246    RegionMatchTerminationMetric, TerminationMetric
247):
248    REQUIRED_PARSER = SurvivalKidsParser
249    _TERMINATION_NAMED_REGION = "screen"
250    _TERMINATION_TARGET_NAME = "after_drinking_water"
251
252
253class GotTheWaterTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
254    REQUIRED_PARSER = SurvivalKidsParser
255    _TERMINATION_NAMED_REGION = "screen"
256    _TERMINATION_TARGET_NAME = "got_the_water"
257
258
259class GotTheStickTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
260    REQUIRED_PARSER = SurvivalKidsParser
261    _TERMINATION_NAMED_REGION = "screen"
262    _TERMINATION_TARGET_NAME = "got_the_stick"
263
264
265class GotTheTreeBarkTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
266    REQUIRED_PARSER = SurvivalKidsParser
267    _TERMINATION_NAMED_REGION = "screen"
268    _TERMINATION_TARGET_NAME = "got_the_tree_bark"
269
270
271class GotTheSharpStoneTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
272    REQUIRED_PARSER = SurvivalKidsParser
273    _TERMINATION_NAMED_REGION = "screen"
274    _TERMINATION_TARGET_NAME = "got_the_sharp_stone"
275
276
277class GotTheStoneTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
278    REQUIRED_PARSER = SurvivalKidsParser
279    _TERMINATION_NAMED_REGION = "screen"
280    _TERMINATION_TARGET_NAME = "got_the_stone"
281
282
283class GotTheVineTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
284    REQUIRED_PARSER = SurvivalKidsParser
285    _TERMINATION_NAMED_REGION = "screen"
286    _TERMINATION_TARGET_NAME = "got_the_vine"
287
288
289class GotTheBrdfeatherTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
290    REQUIRED_PARSER = SurvivalKidsParser
291    _TERMINATION_NAMED_REGION = "screen"
292    _TERMINATION_TARGET_NAME = "got_the_brdfeather"
293
294
295class InventoryOpenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
296    REQUIRED_PARSER = SurvivalKidsParser
297    _TERMINATION_NAMED_REGION = "menu_area"
298    _TERMINATION_TARGET_NAME = "inventory_open"
299
300
301class InventoryOpenWithClubTerminateMetric(
302    RegionMatchTerminationMetric, TerminationMetric
303):
304    REQUIRED_PARSER = SurvivalKidsParser
305    _TERMINATION_NAMED_REGION = "menu_area"
306    _TERMINATION_TARGET_NAME = "inventory_open_with_club"
307
308
309class InventoryOpenWithClubNearPryStoneTerminateMetric(
310    RegionMatchTerminationMetric, TerminationMetric
311):
312    REQUIRED_PARSER = SurvivalKidsParser
313    _TERMINATION_NAMED_REGION = "menu_area"
314    _TERMINATION_TARGET_NAME = "inventory_open_with_club_near_pry_stone"
315
316
317class InventoryOpenWithClubNearPushStone2TerminateMetric(
318    RegionMatchTerminationMetric, TerminationMetric
319):
320    REQUIRED_PARSER = SurvivalKidsParser
321    _TERMINATION_NAMED_REGION = "menu_area"
322    _TERMINATION_TARGET_NAME = "inventory_open_with_club_near_push_stone_2"
323
324
325class InventoryAfterFireLitTerminateMetric(
326    RegionMatchTerminationMetric, TerminationMetric
327):
328    REQUIRED_PARSER = SurvivalKidsParser
329    _TERMINATION_NAMED_REGION = "menu_area"
330    _TERMINATION_TARGET_NAME = "inventory_after_fire_lit"
331
332
333class InventorySelectItemTerminateMetric(
334    RegionMatchTerminationMetric, TerminationMetric
335):
336    REQUIRED_PARSER = SurvivalKidsParser
337    _TERMINATION_NAMED_REGION = "screen"
338    _TERMINATION_TARGET_NAME = "inventory_select_item"
339
340
341class PickupItemDialogueTerminateMetric(
342    RegionMatchTerminationMetric, TerminationMetric
343):
344    REQUIRED_PARSER = SurvivalKidsParser
345    _TERMINATION_NAMED_REGION = "dialogue_area"
346    _TERMINATION_TARGET_NAME = "pickup_item_dialogue"
347
348
349class CanteenPickupDialogueTerminateMetric(
350    RegionMatchTerminationMetric, TerminationMetric
351):
352    REQUIRED_PARSER = SurvivalKidsParser
353    _TERMINATION_NAMED_REGION = "dialogue_area"
354    _TERMINATION_TARGET_NAME = "canteen_pickup_dialogue"
355
356
357class GotTheClamTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
358    REQUIRED_PARSER = SurvivalKidsParser
359    _TERMINATION_NAMED_REGION = "dialogue_area"
360    _TERMINATION_TARGET_NAME = "got_the_clam"
361
362
363class LogFoundDialogueTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
364    REQUIRED_PARSER = SurvivalKidsParser
365    _TERMINATION_NAMED_REGION = "dialogue_area"
366    _TERMINATION_TARGET_NAME = "log_found_dialogue"
367
368
369class GotTheLogTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
370    REQUIRED_PARSER = SurvivalKidsParser
371    _TERMINATION_NAMED_REGION = "dialogue_area"
372    _TERMINATION_TARGET_NAME = "got_the_log"
373
374
375class BagIconTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
376    REQUIRED_PARSER = SurvivalKidsParser
377    _TERMINATION_NAMED_REGION = "bag_icon_area"
378    _TERMINATION_TARGET_NAME = "bag_icon"
379
380
381class ObjectTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
382    REQUIRED_PARSER = SurvivalKidsParser
383    _TERMINATION_NAMED_REGION = "object_area"
384    _TERMINATION_TARGET_NAME = "bag_icon"
385
386
387class HelmetFoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
388    REQUIRED_PARSER = SurvivalKidsParser
389    _TERMINATION_NAMED_REGION = "game_viewport"
390    _TERMINATION_TARGET_NAME = "helmet_found"
391
392
393class KnifeEquippedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
394    REQUIRED_PARSER = SurvivalKidsParser
395    _TERMINATION_NAMED_REGION = "equipped_item_area"
396    _TERMINATION_TARGET_NAME = "knife_equipped"
397
398
399class KnifeEquippedScreenTerminateMetric(
400    RegionMatchTerminationMetric, TerminationMetric
401):
402    REQUIRED_PARSER = SurvivalKidsParser
403    _TERMINATION_NAMED_REGION = "screen"
404    _TERMINATION_TARGET_NAME = "knife_equipped"
405
406
407class ClubEquippedScreenTerminateMetric(
408    RegionMatchTerminationMetric, TerminationMetric
409):
410    REQUIRED_PARSER = SurvivalKidsParser
411    _TERMINATION_NAMED_REGION = "screen"
412    _TERMINATION_TARGET_NAME = "club_equipped"
413
414
415class SelectClubNearPryStoneTerminateMetric(
416    RegionMatchTerminationMetric, TerminationMetric
417):
418    REQUIRED_PARSER = SurvivalKidsParser
419    _TERMINATION_NAMED_REGION = "screen"
420    _TERMINATION_TARGET_NAME = "select_club_near_pry_stone"
421
422
423class KnifeChosenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
424    REQUIRED_PARSER = SurvivalKidsParser
425    _TERMINATION_NAMED_REGION = "choose_item_area"
426    _TERMINATION_TARGET_NAME = "knife_chosen"
427
428
429class MergeMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
430    REQUIRED_PARSER = SurvivalKidsParser
431    _TERMINATION_NAMED_REGION = "merge_menu_area"
432    _TERMINATION_TARGET_NAME = "merge_menu"
433
434
435class MergeConfirmTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
436    REQUIRED_PARSER = SurvivalKidsParser
437    _TERMINATION_NAMED_REGION = "merge_confirm_area"
438    _TERMINATION_TARGET_NAME = "merge_confirm"
439
440
441class CanteenEquippedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
442    REQUIRED_PARSER = SurvivalKidsParser
443    _TERMINATION_NAMED_REGION = "equipped_items_area"
444    _TERMINATION_TARGET_NAME = "canteen_equipped"
445
446
447class CanteenChosenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
448    REQUIRED_PARSER = SurvivalKidsParser
449    _TERMINATION_NAMED_REGION = "choose_item_area"
450    _TERMINATION_TARGET_NAME = "canteen_chosen"
451
452
453class KindlingMergedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
454    REQUIRED_PARSER = SurvivalKidsParser
455    _TERMINATION_NAMED_REGION = "inventory_select_area"
456    _TERMINATION_TARGET_NAME = "kindling_merged"
457
458
459class SelectKindlingTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
460    REQUIRED_PARSER = SurvivalKidsParser
461    _TERMINATION_NAMED_REGION = "choose_item_area"
462    _TERMINATION_TARGET_NAME = "select_kindling"
463
464
465class UseKindlingTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
466    REQUIRED_PARSER = SurvivalKidsParser
467    _TERMINATION_NAMED_REGION = "equipped_item_area"
468    _TERMINATION_TARGET_NAME = "use_kindling"
469
470
471class FireLitTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
472    REQUIRED_PARSER = SurvivalKidsParser
473    _TERMINATION_NAMED_REGION = "game_viewport"
474    _TERMINATION_TARGET_NAME = "fire_lit"
475
476
477class TakeLeaveMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
478    REQUIRED_PARSER = SurvivalKidsParser
479    _TERMINATION_NAMED_REGION = "item_action_menu_two_options"
480    _TERMINATION_TARGET_NAME = "take_leave_menu"
481
482
483class SelectTakeTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
484    REQUIRED_PARSER = SurvivalKidsParser
485    _TERMINATION_NAMED_REGION = "item_action_menu"
486    _TERMINATION_TARGET_NAME = "select_take"
487
488
489class SelectDropTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
490    REQUIRED_PARSER = SurvivalKidsParser
491    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
492    _TERMINATION_TARGET_NAME = "select_drop"
493
494
495class SelectMeatTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
496    REQUIRED_PARSER = SurvivalKidsParser
497    _TERMINATION_NAMED_REGION = "inventory_description_area"
498    _TERMINATION_TARGET_NAME = "select_meat"
499
500
501class SelectClubTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
502    REQUIRED_PARSER = SurvivalKidsParser
503    _TERMINATION_NAMED_REGION = "inventory_description_area"
504    _TERMINATION_TARGET_NAME = "select_club"
505
506
507class SelectLogTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
508    REQUIRED_PARSER = SurvivalKidsParser
509    _TERMINATION_NAMED_REGION = "inventory_description_area"
510    _TERMINATION_TARGET_NAME = "select_log"
511
512
513class LogInventoryActionMenuTerminateMetric(
514    RegionMatchTerminationMetric, TerminationMetric
515):
516    REQUIRED_PARSER = SurvivalKidsParser
517    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
518    _TERMINATION_TARGET_NAME = "log_action_menu"
519
520
521class LogInventorySelectTakeTerminateMetric(
522    RegionMatchTerminationMetric, TerminationMetric
523):
524    REQUIRED_PARSER = SurvivalKidsParser
525    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
526    _TERMINATION_TARGET_NAME = "log_select_take"
527
528
529class CanteenTakeLeaveMenuTerminateMetric(
530    RegionMatchTerminationMetric, TerminationMetric
531):
532    REQUIRED_PARSER = SurvivalKidsParser
533    _TERMINATION_NAMED_REGION = "item_action_menu"
534    _TERMINATION_TARGET_NAME = "canteen_take_leave_menu"
535
536
537class CanteenActionMenuTerminateMetric(
538    RegionMatchTerminationMetric, TerminationMetric
539):
540    REQUIRED_PARSER = SurvivalKidsParser
541    _TERMINATION_NAMED_REGION = "item_use_menu_area"
542    _TERMINATION_TARGET_NAME = "canteen_action_menu"
543
544
545class CanteenUseSelectedTerminateMetric(
546    RegionMatchTerminationMetric, TerminationMetric
547):
548    REQUIRED_PARSER = SurvivalKidsParser
549    _TERMINATION_NAMED_REGION = "item_use_menu_area"
550    _TERMINATION_TARGET_NAME = "canteen_use_selected"
551
552
553class CanteenDrinkSelectedTerminateMetric(
554    RegionMatchTerminationMetric, TerminationMetric
555):
556    REQUIRED_PARSER = SurvivalKidsParser
557    _TERMINATION_NAMED_REGION = "item_use_menu_area"
558    _TERMINATION_TARGET_NAME = "canteen_drink_selected"
559
560
561class FeatherTakeLeaveMenuTerminateMetric(
562    RegionMatchTerminationMetric, TerminationMetric
563):
564    REQUIRED_PARSER = SurvivalKidsParser
565    _TERMINATION_NAMED_REGION = "item_action_menu_two_options"
566    _TERMINATION_TARGET_NAME = "feather_take_leave_menu"
567
568
569class FruitFoundDialogueTerminateMetric(
570    RegionMatchTerminationMetric, TerminationMetric
571):
572    REQUIRED_PARSER = SurvivalKidsParser
573    _TERMINATION_NAMED_REGION = "dialogue_area"
574    _TERMINATION_TARGET_NAME = "fruit_found_dialogue"
575
576
577class FruitActionMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
578    REQUIRED_PARSER = SurvivalKidsParser
579    _TERMINATION_NAMED_REGION = "item_action_menu"
580    _TERMINATION_TARGET_NAME = "fruit_action_menu"
581
582
583class FruitEatSelectedTerminateMetric(
584    RegionMatchTerminationMetric, TerminationMetric
585):
586    REQUIRED_PARSER = SurvivalKidsParser
587    _TERMINATION_NAMED_REGION = "item_action_menu"
588    _TERMINATION_TARGET_NAME = "fruit_eat_selected"
589
590
591class LogActionMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
592    REQUIRED_PARSER = SurvivalKidsParser
593    _TERMINATION_NAMED_REGION = "item_action_menu"
594    _TERMINATION_TARGET_NAME = "log_action_menu"
595
596
597class LogSelectTakeTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
598    REQUIRED_PARSER = SurvivalKidsParser
599    _TERMINATION_NAMED_REGION = "item_action_menu"
600    _TERMINATION_TARGET_NAME = "log_select_take"
601
602
603class FruitTakenDialogueTerminateMetric(
604    RegionMatchTerminationMetric, TerminationMetric
605):
606    REQUIRED_PARSER = SurvivalKidsParser
607    _TERMINATION_NAMED_REGION = "dialogue_area"
608    _TERMINATION_TARGET_NAME = "fruit_taken_dialogue"
609
610
611class FruitEatenDialogueTerminateMetric(
612    RegionMatchTerminationMetric, TerminationMetric
613):
614    REQUIRED_PARSER = SurvivalKidsParser
615    _TERMINATION_NAMED_REGION = "screen"
616    _TERMINATION_TARGET_NAME = "fruit_eaten"
617
618
619class FruitEatenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
620    REQUIRED_PARSER = SurvivalKidsParser
621    _TERMINATION_NAMED_REGION = "hunger_area"
622    _TERMINATION_TARGET_NAME = "fruit_eaten"
623
624
625class TreeBarkPickupDialogueTerminateMetric(
626    RegionMatchTerminationMetric, TerminationMetric
627):
628    REQUIRED_PARSER = SurvivalKidsParser
629    _TERMINATION_NAMED_REGION = "dialogue_area"
630    _TERMINATION_TARGET_NAME = "tree_bark_pickup_dialogue"
631
632
633# Condensed tasks not yet in benchmark/tests/survival_kids.csv:
634# - Pick up the feather: needs a stable feather pickup dialogue or inventory signal.
635# - Select Eat on the meat: needs meat_eat_selected capture.
636# - Eat the meat: needs meat_eaten_dialogue capture.
637# - Drink from the canteen: needs final drink success/HUD signal, not just menu selection.
638# - Clear blocking grass and move forward: needs a tighter grass/path metric or subgoals.
639class MeatActionMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
640    REQUIRED_PARSER = SurvivalKidsParser
641    _TERMINATION_NAMED_REGION = "item_action_menu"
642    _TERMINATION_TARGET_NAME = "meat_take_eat_leave_menu"
643
644
645class CookedMeatActionMenuTerminateMetric(
646    RegionMatchTerminationMetric, TerminationMetric
647):
648    REQUIRED_PARSER = SurvivalKidsParser
649    _TERMINATION_NAMED_REGION = "item_action_menu"
650    _TERMINATION_TARGET_NAME = "cooked_meat_action_menu"
651
652
653class CookedMeatEatSelectedTerminateMetric(
654    RegionMatchTerminationMetric, TerminationMetric
655):
656    REQUIRED_PARSER = SurvivalKidsParser
657    _TERMINATION_NAMED_REGION = "item_action_menu"
658    _TERMINATION_TARGET_NAME = "cooked_meat_eat_selected"
659
660
661class MeatBurnSelectedTerminateMetric(
662    RegionMatchTerminationMetric, TerminationMetric
663):
664    REQUIRED_PARSER = SurvivalKidsParser
665    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
666    _TERMINATION_TARGET_NAME = "meat_burn_selected"
667
668
669class BurnConfirmTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
670    REQUIRED_PARSER = SurvivalKidsParser
671    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
672    _TERMINATION_TARGET_NAME = "burn_confirm"
673
674
675class MeatEatSelectedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
676    REQUIRED_PARSER = SurvivalKidsParser
677    _TERMINATION_NAMED_REGION = "item_action_menu"
678    _TERMINATION_TARGET_NAME = "meat_eat_selected"
679
680
681class MeatEatenDialogueTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
682    REQUIRED_PARSER = SurvivalKidsParser
683    _TERMINATION_NAMED_REGION = "dialogue_area"
684    _TERMINATION_TARGET_NAME = "meat_eaten_dialogue"
685
686
687class MeatCookedDialogueTerminateMetric(
688    RegionMatchTerminationMetric, TerminationMetric
689):
690    REQUIRED_PARSER = SurvivalKidsParser
691    _TERMINATION_NAMED_REGION = "dialogue_area"
692    _TERMINATION_TARGET_NAME = "meat_cooked_dialogue"
693
694
695class CookedMeatEatenDialogueTerminateMetric(
696    RegionMatchTerminationMetric, TerminationMetric
697):
698    REQUIRED_PARSER = SurvivalKidsParser
699    _TERMINATION_NAMED_REGION = "dialogue_area"
700    _TERMINATION_TARGET_NAME = "cooked_meat_eaten_dialogue"
701
702
703class CookedMeatStoredTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
704    REQUIRED_PARSER = SurvivalKidsParser
705    _TERMINATION_NAMED_REGION = "dialogue_area"
706    _TERMINATION_TARGET_NAME = "cooked_meat_stored"
12class StatusBarChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
13    REQUIRED_PARSER = SurvivalKidsParser
14    _CHANGED_NAMED_REGION = "status_bar"
15    _CHANGE_MAE_THRESHOLD = 10

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

The StateParser which implements the minimum required functionality for this MetricGroup to work.

18class HpChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
19    REQUIRED_PARSER = SurvivalKidsParser
20    _CHANGED_NAMED_REGION = "hp_area"
21    _CHANGE_MAE_THRESHOLD = 10

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

The StateParser which implements the minimum required functionality for this MetricGroup to work.

24class HungerChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
25    REQUIRED_PARSER = SurvivalKidsParser
26    _CHANGED_NAMED_REGION = "hunger_area"
27    _CHANGE_MAE_THRESHOLD = 10

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

The StateParser which implements the minimum required functionality for this MetricGroup to work.

class ResolveHungerTerminateMetric(HungerChangedTerminateMetric):
30class ResolveHungerTerminateMetric(HungerChangedTerminateMetric):
31    pass

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

34class ThirstChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
35    REQUIRED_PARSER = SurvivalKidsParser
36    _CHANGED_NAMED_REGION = "thirst_area"
37    _CHANGE_MAE_THRESHOLD = 10

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

The StateParser which implements the minimum required functionality for this MetricGroup to work.

class DrinkWaterTerminateMetric(ThirstChangedTerminateMetric):
40class DrinkWaterTerminateMetric(ThirstChangedTerminateMetric):
41    pass

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

44class StaminaChangedTerminateMetric(RegionChangedTerminationMetric, TerminationMetric):
45    REQUIRED_PARSER = SurvivalKidsParser
46    _CHANGED_NAMED_REGION = "stamina_area"
47    _CHANGE_MAE_THRESHOLD = 10

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

The StateParser which implements the minimum required functionality for this MetricGroup to work.

50class GameViewportChangedTerminateMetric(
51    RegionChangedTerminationMetric, TerminationMetric
52):
53    REQUIRED_PARSER = SurvivalKidsParser
54    _CHANGED_NAMED_REGION = "game_viewport"
55    _CHANGE_MAE_THRESHOLD = 10

Terminates the episode if a specific named region changes significantly from its appearance at the start of the episode (on reset).

Useful for detecting pickups, stat changes, or any event that alters a HUD region without having a fixed reference capture.

Subclass and set:

_CHANGED_NAMED_REGION: name of the NamedScreenRegion to monitor _CHANGE_MAE_THRESHOLD: MAE threshold above which the region is considered changed (default 10)

The StateParser which implements the minimum required functionality for this MetricGroup to work.

58class GrassCutTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
59    REQUIRED_PARSER = SurvivalKidsParser
60    _TERMINATION_NAMED_REGION = "game_viewport"
61    _TERMINATION_TARGET_NAME = "grass_cut"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

64class GrassCutBeforeSharpStoneTerminateMetric(
65    RegionMatchTerminationMetric, TerminationMetric
66):
67    REQUIRED_PARSER = SurvivalKidsParser
68    _TERMINATION_NAMED_REGION = "game_viewport"
69    _TERMINATION_TARGET_NAME = "grass_cut_before_sharp_stone"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

72class GrassCutBeforePickupLogTerminateMetric(
73    RegionMatchTerminationMetric, TerminationMetric
74):
75    REQUIRED_PARSER = SurvivalKidsParser
76    _TERMINATION_NAMED_REGION = "game_viewport"
77    _TERMINATION_TARGET_NAME = "grass_cut_before_pickup_log"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

80class GrassCutBeforePushStone2TerminateMetric(
81    RegionMatchTerminationMetric, TerminationMetric
82):
83    REQUIRED_PARSER = SurvivalKidsParser
84    _TERMINATION_NAMED_REGION = "game_viewport"
85    _TERMINATION_TARGET_NAME = "grass_cut_before_push_stone_2"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

88class AnimalKilledTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
89    REQUIRED_PARSER = SurvivalKidsParser
90    _TERMINATION_NAMED_REGION = "game_viewport"
91    _TERMINATION_TARGET_NAME = "animal_killed"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

94class Chapter1PathClearedTerminateMetric(
95    RegionMatchTerminationMetric, TerminationMetric
96):
97    REQUIRED_PARSER = SurvivalKidsParser
98    _TERMINATION_NAMED_REGION = "game_viewport"
99    _TERMINATION_TARGET_NAME = "chapter1_path_cleared"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

102class PathAfterBlockingGrassTerminateMetric(
103    RegionMatchTerminationMetric, TerminationMetric
104):
105    REQUIRED_PARSER = SurvivalKidsParser
106    _TERMINATION_NAMED_REGION = "game_viewport"
107    _TERMINATION_TARGET_NAME = "path_after_blocking_grass"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

110class PathAfterBlockingGrassC1TerminateMetric(
111    RegionMatchTerminationMetric, TerminationMetric
112):
113    REQUIRED_PARSER = SurvivalKidsParser
114    _TERMINATION_NAMED_REGION = "game_viewport"
115    _TERMINATION_TARGET_NAME = "path_after_blocking_grass_c1"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

118class NearPryStoneTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
119    REQUIRED_PARSER = SurvivalKidsParser
120    _TERMINATION_NAMED_REGION = "game_viewport"
121    _TERMINATION_TARGET_NAME = "near_pry_stone"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

124class NearPushStone2TerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
125    REQUIRED_PARSER = SurvivalKidsParser
126    _TERMINATION_NAMED_REGION = "screen"
127    _TERMINATION_TARGET_NAME = "near_push_stone_2"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

130class PathAfterPriedStoneTerminateMetric(
131    RegionMatchTerminationMetric, TerminationMetric
132):
133    REQUIRED_PARSER = SurvivalKidsParser
134    _TERMINATION_NAMED_REGION = "game_viewport"
135    _TERMINATION_TARGET_NAME = "path_after_pried_stone"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

138class StonePushedOpen2TerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
139    REQUIRED_PARSER = SurvivalKidsParser
140    _TERMINATION_NAMED_REGION = "game_viewport"
141    _TERMINATION_TARGET_NAME = "stone_pushed_open_2"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

144class PathAfterPushedStone2TerminateMetric(
145    RegionMatchTerminationMetric, TerminationMetric
146):
147    REQUIRED_PARSER = SurvivalKidsParser
148    _TERMINATION_NAMED_REGION = "game_viewport"
149    _TERMINATION_TARGET_NAME = "path_after_pushed_stone_2"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

152class InTheShelterTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
153    REQUIRED_PARSER = SurvivalKidsParser
154    _TERMINATION_NAMED_REGION = "game_viewport"
155    _TERMINATION_TARGET_NAME = "in_the_shelter"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

158class NewPath1FoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
159    REQUIRED_PARSER = SurvivalKidsParser
160    _TERMINATION_NAMED_REGION = "game_viewport"
161    _TERMINATION_TARGET_NAME = "new_path_1_found"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

164class NewPath2FoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
165    REQUIRED_PARSER = SurvivalKidsParser
166    _TERMINATION_NAMED_REGION = "game_viewport"
167    _TERMINATION_TARGET_NAME = "new_path_2_found"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

170class SharpStoneFoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
171    REQUIRED_PARSER = SurvivalKidsParser
172    _TERMINATION_NAMED_REGION = "game_viewport"
173    _TERMINATION_TARGET_NAME = "sharp_stone_found"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

176class DayReferenceTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
177    REQUIRED_PARSER = SurvivalKidsParser
178    _TERMINATION_NAMED_REGION = "screen"
179    _TERMINATION_TARGET_NAME = "day_reference"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

182class AfternoonReferenceTerminateMetric(
183    RegionMatchTerminationMetric, TerminationMetric
184):
185    REQUIRED_PARSER = SurvivalKidsParser
186    _TERMINATION_NAMED_REGION = "screen"
187    _TERMINATION_TARGET_NAME = "afternoon_reference"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

190class NightReferenceTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
191    REQUIRED_PARSER = SurvivalKidsParser
192    _TERMINATION_NAMED_REGION = "screen"
193    _TERMINATION_TARGET_NAME = "night_reference"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

196class EnteredShelterTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
197    REQUIRED_PARSER = SurvivalKidsParser
198    _TERMINATION_NAMED_REGION = "screen"
199    _TERMINATION_TARGET_NAME = "entered_shelter"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

202class FoundRiverTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
203    REQUIRED_PARSER = SurvivalKidsParser
204    _TERMINATION_NAMED_REGION = "screen"
205    _TERMINATION_TARGET_NAME = "found_river"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

208class WaterMenuOpenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
209    REQUIRED_PARSER = SurvivalKidsParser
210    _TERMINATION_NAMED_REGION = "screen"
211    _TERMINATION_TARGET_NAME = "water_menu_open"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

214class WaterAvailableDialogueTerminateMetric(
215    RegionMatchTerminationMetric, TerminationMetric
216):
217    REQUIRED_PARSER = SurvivalKidsParser
218    _TERMINATION_NAMED_REGION = "dialogue_area"
219    _TERMINATION_TARGET_NAME = "water_available_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

222class PryStoneDialogueTerminateMetric(
223    RegionMatchTerminationMetric, TerminationMetric
224):
225    REQUIRED_PARSER = SurvivalKidsParser
226    _TERMINATION_NAMED_REGION = "dialogue_area"
227    _TERMINATION_TARGET_NAME = "pry_stone_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

230class PushStoneDialogue2TerminateMetric(
231    RegionMatchTerminationMetric, TerminationMetric
232):
233    REQUIRED_PARSER = SurvivalKidsParser
234    _TERMINATION_NAMED_REGION = "screen"
235    _TERMINATION_TARGET_NAME = "push_stone_dialogue_2"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

238class AfterFillingWaterTerminateMetric(
239    RegionMatchTerminationMetric, TerminationMetric
240):
241    REQUIRED_PARSER = SurvivalKidsParser
242    _TERMINATION_NAMED_REGION = "screen"
243    _TERMINATION_TARGET_NAME = "after_filling_water"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

246class AfterDrinkingWaterTerminateMetric(
247    RegionMatchTerminationMetric, TerminationMetric
248):
249    REQUIRED_PARSER = SurvivalKidsParser
250    _TERMINATION_NAMED_REGION = "screen"
251    _TERMINATION_TARGET_NAME = "after_drinking_water"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

254class GotTheWaterTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
255    REQUIRED_PARSER = SurvivalKidsParser
256    _TERMINATION_NAMED_REGION = "screen"
257    _TERMINATION_TARGET_NAME = "got_the_water"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

260class GotTheStickTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
261    REQUIRED_PARSER = SurvivalKidsParser
262    _TERMINATION_NAMED_REGION = "screen"
263    _TERMINATION_TARGET_NAME = "got_the_stick"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

266class GotTheTreeBarkTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
267    REQUIRED_PARSER = SurvivalKidsParser
268    _TERMINATION_NAMED_REGION = "screen"
269    _TERMINATION_TARGET_NAME = "got_the_tree_bark"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

272class GotTheSharpStoneTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
273    REQUIRED_PARSER = SurvivalKidsParser
274    _TERMINATION_NAMED_REGION = "screen"
275    _TERMINATION_TARGET_NAME = "got_the_sharp_stone"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

278class GotTheStoneTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
279    REQUIRED_PARSER = SurvivalKidsParser
280    _TERMINATION_NAMED_REGION = "screen"
281    _TERMINATION_TARGET_NAME = "got_the_stone"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

284class GotTheVineTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
285    REQUIRED_PARSER = SurvivalKidsParser
286    _TERMINATION_NAMED_REGION = "screen"
287    _TERMINATION_TARGET_NAME = "got_the_vine"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

290class GotTheBrdfeatherTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
291    REQUIRED_PARSER = SurvivalKidsParser
292    _TERMINATION_NAMED_REGION = "screen"
293    _TERMINATION_TARGET_NAME = "got_the_brdfeather"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

296class InventoryOpenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
297    REQUIRED_PARSER = SurvivalKidsParser
298    _TERMINATION_NAMED_REGION = "menu_area"
299    _TERMINATION_TARGET_NAME = "inventory_open"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

302class InventoryOpenWithClubTerminateMetric(
303    RegionMatchTerminationMetric, TerminationMetric
304):
305    REQUIRED_PARSER = SurvivalKidsParser
306    _TERMINATION_NAMED_REGION = "menu_area"
307    _TERMINATION_TARGET_NAME = "inventory_open_with_club"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

310class InventoryOpenWithClubNearPryStoneTerminateMetric(
311    RegionMatchTerminationMetric, TerminationMetric
312):
313    REQUIRED_PARSER = SurvivalKidsParser
314    _TERMINATION_NAMED_REGION = "menu_area"
315    _TERMINATION_TARGET_NAME = "inventory_open_with_club_near_pry_stone"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

class InventoryOpenWithClubNearPushStone2TerminateMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationMetric, gameboy_worlds.emulation.tracker.TerminationMetric):
318class InventoryOpenWithClubNearPushStone2TerminateMetric(
319    RegionMatchTerminationMetric, TerminationMetric
320):
321    REQUIRED_PARSER = SurvivalKidsParser
322    _TERMINATION_NAMED_REGION = "menu_area"
323    _TERMINATION_TARGET_NAME = "inventory_open_with_club_near_push_stone_2"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

326class InventoryAfterFireLitTerminateMetric(
327    RegionMatchTerminationMetric, TerminationMetric
328):
329    REQUIRED_PARSER = SurvivalKidsParser
330    _TERMINATION_NAMED_REGION = "menu_area"
331    _TERMINATION_TARGET_NAME = "inventory_after_fire_lit"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

334class InventorySelectItemTerminateMetric(
335    RegionMatchTerminationMetric, TerminationMetric
336):
337    REQUIRED_PARSER = SurvivalKidsParser
338    _TERMINATION_NAMED_REGION = "screen"
339    _TERMINATION_TARGET_NAME = "inventory_select_item"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

342class PickupItemDialogueTerminateMetric(
343    RegionMatchTerminationMetric, TerminationMetric
344):
345    REQUIRED_PARSER = SurvivalKidsParser
346    _TERMINATION_NAMED_REGION = "dialogue_area"
347    _TERMINATION_TARGET_NAME = "pickup_item_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

350class CanteenPickupDialogueTerminateMetric(
351    RegionMatchTerminationMetric, TerminationMetric
352):
353    REQUIRED_PARSER = SurvivalKidsParser
354    _TERMINATION_NAMED_REGION = "dialogue_area"
355    _TERMINATION_TARGET_NAME = "canteen_pickup_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

358class GotTheClamTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
359    REQUIRED_PARSER = SurvivalKidsParser
360    _TERMINATION_NAMED_REGION = "dialogue_area"
361    _TERMINATION_TARGET_NAME = "got_the_clam"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

364class LogFoundDialogueTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
365    REQUIRED_PARSER = SurvivalKidsParser
366    _TERMINATION_NAMED_REGION = "dialogue_area"
367    _TERMINATION_TARGET_NAME = "log_found_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

370class GotTheLogTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
371    REQUIRED_PARSER = SurvivalKidsParser
372    _TERMINATION_NAMED_REGION = "dialogue_area"
373    _TERMINATION_TARGET_NAME = "got_the_log"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

376class BagIconTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
377    REQUIRED_PARSER = SurvivalKidsParser
378    _TERMINATION_NAMED_REGION = "bag_icon_area"
379    _TERMINATION_TARGET_NAME = "bag_icon"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

382class ObjectTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
383    REQUIRED_PARSER = SurvivalKidsParser
384    _TERMINATION_NAMED_REGION = "object_area"
385    _TERMINATION_TARGET_NAME = "bag_icon"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

388class HelmetFoundTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
389    REQUIRED_PARSER = SurvivalKidsParser
390    _TERMINATION_NAMED_REGION = "game_viewport"
391    _TERMINATION_TARGET_NAME = "helmet_found"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

394class KnifeEquippedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
395    REQUIRED_PARSER = SurvivalKidsParser
396    _TERMINATION_NAMED_REGION = "equipped_item_area"
397    _TERMINATION_TARGET_NAME = "knife_equipped"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

400class KnifeEquippedScreenTerminateMetric(
401    RegionMatchTerminationMetric, TerminationMetric
402):
403    REQUIRED_PARSER = SurvivalKidsParser
404    _TERMINATION_NAMED_REGION = "screen"
405    _TERMINATION_TARGET_NAME = "knife_equipped"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

408class ClubEquippedScreenTerminateMetric(
409    RegionMatchTerminationMetric, TerminationMetric
410):
411    REQUIRED_PARSER = SurvivalKidsParser
412    _TERMINATION_NAMED_REGION = "screen"
413    _TERMINATION_TARGET_NAME = "club_equipped"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

416class SelectClubNearPryStoneTerminateMetric(
417    RegionMatchTerminationMetric, TerminationMetric
418):
419    REQUIRED_PARSER = SurvivalKidsParser
420    _TERMINATION_NAMED_REGION = "screen"
421    _TERMINATION_TARGET_NAME = "select_club_near_pry_stone"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

424class KnifeChosenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
425    REQUIRED_PARSER = SurvivalKidsParser
426    _TERMINATION_NAMED_REGION = "choose_item_area"
427    _TERMINATION_TARGET_NAME = "knife_chosen"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

430class MergeMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
431    REQUIRED_PARSER = SurvivalKidsParser
432    _TERMINATION_NAMED_REGION = "merge_menu_area"
433    _TERMINATION_TARGET_NAME = "merge_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

436class MergeConfirmTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
437    REQUIRED_PARSER = SurvivalKidsParser
438    _TERMINATION_NAMED_REGION = "merge_confirm_area"
439    _TERMINATION_TARGET_NAME = "merge_confirm"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

442class CanteenEquippedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
443    REQUIRED_PARSER = SurvivalKidsParser
444    _TERMINATION_NAMED_REGION = "equipped_items_area"
445    _TERMINATION_TARGET_NAME = "canteen_equipped"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

448class CanteenChosenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
449    REQUIRED_PARSER = SurvivalKidsParser
450    _TERMINATION_NAMED_REGION = "choose_item_area"
451    _TERMINATION_TARGET_NAME = "canteen_chosen"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

454class KindlingMergedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
455    REQUIRED_PARSER = SurvivalKidsParser
456    _TERMINATION_NAMED_REGION = "inventory_select_area"
457    _TERMINATION_TARGET_NAME = "kindling_merged"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

460class SelectKindlingTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
461    REQUIRED_PARSER = SurvivalKidsParser
462    _TERMINATION_NAMED_REGION = "choose_item_area"
463    _TERMINATION_TARGET_NAME = "select_kindling"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

466class UseKindlingTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
467    REQUIRED_PARSER = SurvivalKidsParser
468    _TERMINATION_NAMED_REGION = "equipped_item_area"
469    _TERMINATION_TARGET_NAME = "use_kindling"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

472class FireLitTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
473    REQUIRED_PARSER = SurvivalKidsParser
474    _TERMINATION_NAMED_REGION = "game_viewport"
475    _TERMINATION_TARGET_NAME = "fire_lit"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

478class TakeLeaveMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
479    REQUIRED_PARSER = SurvivalKidsParser
480    _TERMINATION_NAMED_REGION = "item_action_menu_two_options"
481    _TERMINATION_TARGET_NAME = "take_leave_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

484class SelectTakeTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
485    REQUIRED_PARSER = SurvivalKidsParser
486    _TERMINATION_NAMED_REGION = "item_action_menu"
487    _TERMINATION_TARGET_NAME = "select_take"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

490class SelectDropTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
491    REQUIRED_PARSER = SurvivalKidsParser
492    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
493    _TERMINATION_TARGET_NAME = "select_drop"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

496class SelectMeatTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
497    REQUIRED_PARSER = SurvivalKidsParser
498    _TERMINATION_NAMED_REGION = "inventory_description_area"
499    _TERMINATION_TARGET_NAME = "select_meat"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

502class SelectClubTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
503    REQUIRED_PARSER = SurvivalKidsParser
504    _TERMINATION_NAMED_REGION = "inventory_description_area"
505    _TERMINATION_TARGET_NAME = "select_club"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

508class SelectLogTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
509    REQUIRED_PARSER = SurvivalKidsParser
510    _TERMINATION_NAMED_REGION = "inventory_description_area"
511    _TERMINATION_TARGET_NAME = "select_log"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

514class LogInventoryActionMenuTerminateMetric(
515    RegionMatchTerminationMetric, TerminationMetric
516):
517    REQUIRED_PARSER = SurvivalKidsParser
518    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
519    _TERMINATION_TARGET_NAME = "log_action_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

522class LogInventorySelectTakeTerminateMetric(
523    RegionMatchTerminationMetric, TerminationMetric
524):
525    REQUIRED_PARSER = SurvivalKidsParser
526    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
527    _TERMINATION_TARGET_NAME = "log_select_take"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

530class CanteenTakeLeaveMenuTerminateMetric(
531    RegionMatchTerminationMetric, TerminationMetric
532):
533    REQUIRED_PARSER = SurvivalKidsParser
534    _TERMINATION_NAMED_REGION = "item_action_menu"
535    _TERMINATION_TARGET_NAME = "canteen_take_leave_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

538class CanteenActionMenuTerminateMetric(
539    RegionMatchTerminationMetric, TerminationMetric
540):
541    REQUIRED_PARSER = SurvivalKidsParser
542    _TERMINATION_NAMED_REGION = "item_use_menu_area"
543    _TERMINATION_TARGET_NAME = "canteen_action_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

546class CanteenUseSelectedTerminateMetric(
547    RegionMatchTerminationMetric, TerminationMetric
548):
549    REQUIRED_PARSER = SurvivalKidsParser
550    _TERMINATION_NAMED_REGION = "item_use_menu_area"
551    _TERMINATION_TARGET_NAME = "canteen_use_selected"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

554class CanteenDrinkSelectedTerminateMetric(
555    RegionMatchTerminationMetric, TerminationMetric
556):
557    REQUIRED_PARSER = SurvivalKidsParser
558    _TERMINATION_NAMED_REGION = "item_use_menu_area"
559    _TERMINATION_TARGET_NAME = "canteen_drink_selected"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

562class FeatherTakeLeaveMenuTerminateMetric(
563    RegionMatchTerminationMetric, TerminationMetric
564):
565    REQUIRED_PARSER = SurvivalKidsParser
566    _TERMINATION_NAMED_REGION = "item_action_menu_two_options"
567    _TERMINATION_TARGET_NAME = "feather_take_leave_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

570class FruitFoundDialogueTerminateMetric(
571    RegionMatchTerminationMetric, TerminationMetric
572):
573    REQUIRED_PARSER = SurvivalKidsParser
574    _TERMINATION_NAMED_REGION = "dialogue_area"
575    _TERMINATION_TARGET_NAME = "fruit_found_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

578class FruitActionMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
579    REQUIRED_PARSER = SurvivalKidsParser
580    _TERMINATION_NAMED_REGION = "item_action_menu"
581    _TERMINATION_TARGET_NAME = "fruit_action_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

584class FruitEatSelectedTerminateMetric(
585    RegionMatchTerminationMetric, TerminationMetric
586):
587    REQUIRED_PARSER = SurvivalKidsParser
588    _TERMINATION_NAMED_REGION = "item_action_menu"
589    _TERMINATION_TARGET_NAME = "fruit_eat_selected"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

592class LogActionMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
593    REQUIRED_PARSER = SurvivalKidsParser
594    _TERMINATION_NAMED_REGION = "item_action_menu"
595    _TERMINATION_TARGET_NAME = "log_action_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

598class LogSelectTakeTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
599    REQUIRED_PARSER = SurvivalKidsParser
600    _TERMINATION_NAMED_REGION = "item_action_menu"
601    _TERMINATION_TARGET_NAME = "log_select_take"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

604class FruitTakenDialogueTerminateMetric(
605    RegionMatchTerminationMetric, TerminationMetric
606):
607    REQUIRED_PARSER = SurvivalKidsParser
608    _TERMINATION_NAMED_REGION = "dialogue_area"
609    _TERMINATION_TARGET_NAME = "fruit_taken_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

612class FruitEatenDialogueTerminateMetric(
613    RegionMatchTerminationMetric, TerminationMetric
614):
615    REQUIRED_PARSER = SurvivalKidsParser
616    _TERMINATION_NAMED_REGION = "screen"
617    _TERMINATION_TARGET_NAME = "fruit_eaten"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

620class FruitEatenTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
621    REQUIRED_PARSER = SurvivalKidsParser
622    _TERMINATION_NAMED_REGION = "hunger_area"
623    _TERMINATION_TARGET_NAME = "fruit_eaten"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

626class TreeBarkPickupDialogueTerminateMetric(
627    RegionMatchTerminationMetric, TerminationMetric
628):
629    REQUIRED_PARSER = SurvivalKidsParser
630    _TERMINATION_NAMED_REGION = "dialogue_area"
631    _TERMINATION_TARGET_NAME = "tree_bark_pickup_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

640class MeatActionMenuTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
641    REQUIRED_PARSER = SurvivalKidsParser
642    _TERMINATION_NAMED_REGION = "item_action_menu"
643    _TERMINATION_TARGET_NAME = "meat_take_eat_leave_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

646class CookedMeatActionMenuTerminateMetric(
647    RegionMatchTerminationMetric, TerminationMetric
648):
649    REQUIRED_PARSER = SurvivalKidsParser
650    _TERMINATION_NAMED_REGION = "item_action_menu"
651    _TERMINATION_TARGET_NAME = "cooked_meat_action_menu"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

654class CookedMeatEatSelectedTerminateMetric(
655    RegionMatchTerminationMetric, TerminationMetric
656):
657    REQUIRED_PARSER = SurvivalKidsParser
658    _TERMINATION_NAMED_REGION = "item_action_menu"
659    _TERMINATION_TARGET_NAME = "cooked_meat_eat_selected"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

662class MeatBurnSelectedTerminateMetric(
663    RegionMatchTerminationMetric, TerminationMetric
664):
665    REQUIRED_PARSER = SurvivalKidsParser
666    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
667    _TERMINATION_TARGET_NAME = "meat_burn_selected"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

670class BurnConfirmTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
671    REQUIRED_PARSER = SurvivalKidsParser
672    _TERMINATION_NAMED_REGION = "inventory_item_action_menu"
673    _TERMINATION_TARGET_NAME = "burn_confirm"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

676class MeatEatSelectedTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
677    REQUIRED_PARSER = SurvivalKidsParser
678    _TERMINATION_NAMED_REGION = "item_action_menu"
679    _TERMINATION_TARGET_NAME = "meat_eat_selected"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

682class MeatEatenDialogueTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
683    REQUIRED_PARSER = SurvivalKidsParser
684    _TERMINATION_NAMED_REGION = "dialogue_area"
685    _TERMINATION_TARGET_NAME = "meat_eaten_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

688class MeatCookedDialogueTerminateMetric(
689    RegionMatchTerminationMetric, TerminationMetric
690):
691    REQUIRED_PARSER = SurvivalKidsParser
692    _TERMINATION_NAMED_REGION = "dialogue_area"
693    _TERMINATION_TARGET_NAME = "meat_cooked_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

696class CookedMeatEatenDialogueTerminateMetric(
697    RegionMatchTerminationMetric, TerminationMetric
698):
699    REQUIRED_PARSER = SurvivalKidsParser
700    _TERMINATION_NAMED_REGION = "dialogue_area"
701    _TERMINATION_TARGET_NAME = "cooked_meat_eaten_dialogue"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.

704class CookedMeatStoredTerminateMetric(RegionMatchTerminationMetric, TerminationMetric):
705    REQUIRED_PARSER = SurvivalKidsParser
706    _TERMINATION_NAMED_REGION = "dialogue_area"
707    _TERMINATION_TARGET_NAME = "cooked_meat_stored"

Terminates the episode if a specific region matches a target. Can be used to terminate episodes when specific dialogue boxes appear, etc.

The StateParser which implements the minimum required functionality for this MetricGroup to work.