gameboy_worlds.emulation.deja_vu.test_metrics

  1import numpy as np
  2
  3from gameboy_worlds.emulation.deja_vu.parsers import DejaVu1StateParser, DejaVu2StateParser
  4from gameboy_worlds.emulation.parser import StateParser
  5from gameboy_worlds.emulation.tracker import (
  6    RegionMatchTerminationMetric,
  7    RegionMatchTerminationOnlyMetric,
  8    SingleRegionMatchSubGoal,
  9    SubGoal,
 10    SubGoalMetric,
 11    TerminationMetric,
 12    AnyRegionMatchSubGoal
 13)
 14
 15# class DejaVuCoatSubGoalMetric(SubGoalMetric):
 16#     """SubGoalMetric for the take_coat_test task, tracking 'Take' action selection as an intermediate step."""
 17
 18#     REQUIRED_PARSER = DejaVu1StateParser
 19#     SUBGOALS = [SelectedTakeActionSubGoal]
 20
 21# class DejaVuCoatTerminationMetric(RegionMatchTerminationMetric, TerminationMetric):
 22
 23# deja_vu_1 termination metrics
 24class TakenCoatTerminationMetric(RegionMatchTerminationOnlyMetric):
 25    REQUIRED_PARSER = DejaVu1StateParser
 26
 27    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 28    _TERMINATION_TARGET_NAME = "took_coat"
 29
 30class TakenGunTerminationMetric(RegionMatchTerminationOnlyMetric):
 31    REQUIRED_PARSER = DejaVu1StateParser
 32
 33    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 34    _TERMINATION_TARGET_NAME = "took_gun"
 35
 36class OpenedDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
 37    REQUIRED_PARSER = DejaVu1StateParser
 38
 39    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 40    _TERMINATION_TARGET_NAME = "opened_door"
 41
 42class ClosedDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
 43    REQUIRED_PARSER = DejaVu1StateParser
 44
 45    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 46    _TERMINATION_TARGET_NAME = "closed_door"
 47
 48class OpenedPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
 49    REQUIRED_PARSER = DejaVu1StateParser
 50
 51    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 52    _TERMINATION_TARGET_NAME = "opened_pocket"
 53
 54class OpenedWalletTerminationMetric(RegionMatchTerminationOnlyMetric):
 55    REQUIRED_PARSER = DejaVu1StateParser
 56
 57    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 58    _TERMINATION_TARGET_NAME = "opened_wallet"
 59
 60class ClosedPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
 61    REQUIRED_PARSER = DejaVu1StateParser
 62
 63    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 64    _TERMINATION_TARGET_NAME = "closed_pocket"
 65
 66class ClosedWalletTerminationMetric(RegionMatchTerminationOnlyMetric):
 67    REQUIRED_PARSER = DejaVu1StateParser
 68
 69    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 70    _TERMINATION_TARGET_NAME = "closed_wallet"
 71
 72class CheckedCoatTerminationMetric(RegionMatchTerminationOnlyMetric):
 73    REQUIRED_PARSER = DejaVu1StateParser
 74
 75    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 76    _TERMINATION_TARGET_NAME = "checked_coat"
 77
 78class CheckedGunTerminationMetric(RegionMatchTerminationOnlyMetric):
 79    REQUIRED_PARSER = DejaVu1StateParser
 80
 81    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 82    _TERMINATION_TARGET_NAME = "checked_gun"
 83
 84class OpenedSpigotTerminationMetric(RegionMatchTerminationOnlyMetric):
 85    REQUIRED_PARSER = DejaVu1StateParser
 86
 87    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 88    _TERMINATION_TARGET_NAME = "opened_spigot"
 89
 90class HitBottleTerminationMetric(RegionMatchTerminationOnlyMetric):
 91    REQUIRED_PARSER = DejaVu1StateParser
 92
 93    _TERMINATION_NAMED_REGION = "dialogue_box_area"
 94    _TERMINATION_TARGET_NAME = "hit_bottle"
 95
 96class EnteredCellarTerminationMetric(RegionMatchTerminationOnlyMetric):
 97    REQUIRED_PARSER = DejaVu1StateParser
 98
 99    _TERMINATION_NAMED_REGION = "dialogue_box_area"
100    _TERMINATION_TARGET_NAME = "entered_cellar"
101
102class EnteredConnectingRoomTerminationMetric(RegionMatchTerminationOnlyMetric):
103    REQUIRED_PARSER = DejaVu1StateParser
104
105    _TERMINATION_NAMED_REGION = "dialogue_box_area"
106    _TERMINATION_TARGET_NAME = "entered_connecting_room"
107
108class MadeBetTerminationMetric(RegionMatchTerminationOnlyMetric):
109    REQUIRED_PARSER = DejaVu1StateParser
110
111    _TERMINATION_NAMED_REGION = "dialogue_box_area"
112    _TERMINATION_TARGET_NAME = "made_bet"
113
114class EnteredEmptyRoomFromMapTerminationMetric(RegionMatchTerminationOnlyMetric):
115    REQUIRED_PARSER = DejaVu1StateParser
116
117    _TERMINATION_NAMED_REGION = "dialogue_box_area"
118    _TERMINATION_TARGET_NAME = "entered_empty_room"
119
120class UnlockedFrontDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
121    REQUIRED_PARSER = DejaVu1StateParser
122
123    _TERMINATION_NAMED_REGION = "dialogue_box_area"
124    _TERMINATION_TARGET_NAME = "unlocked_front_door"
125
126class MeetMuggerTerminationMetric(RegionMatchTerminationOnlyMetric):
127    REQUIRED_PARSER = DejaVu1StateParser
128
129    _TERMINATION_NAMED_REGION = "dialogue_box_area"
130    _TERMINATION_TARGET_NAME = "met_mugger"
131
132class HitMuggerTerminationMetric(RegionMatchTerminationOnlyMetric):
133    REQUIRED_PARSER = DejaVu1StateParser
134
135    _TERMINATION_NAMED_REGION = "dialogue_box_area"
136    _TERMINATION_TARGET_NAME = "hit_mugger"
137
138class UnlockedCarDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
139    REQUIRED_PARSER = DejaVu1StateParser
140
141    _TERMINATION_NAMED_REGION = "dialogue_box_area"
142    _TERMINATION_TARGET_NAME = "unlocked_car_door"
143
144class OpenedDashbrdTerminationMetric(RegionMatchTerminationOnlyMetric):
145    REQUIRED_PARSER = DejaVu1StateParser
146
147    _TERMINATION_NAMED_REGION = "dialogue_box_area"
148    _TERMINATION_TARGET_NAME = "opened_dashbrd"
149
150class ClosedDashbrdTerminationMetric(RegionMatchTerminationOnlyMetric):
151    REQUIRED_PARSER = DejaVu1StateParser
152
153    _TERMINATION_NAMED_REGION = "dialogue_box_area"
154    _TERMINATION_TARGET_NAME = "closed_dashbrd"
155
156class CheckedNote2TerminationMetric(RegionMatchTerminationOnlyMetric):
157    REQUIRED_PARSER = DejaVu1StateParser
158
159    _TERMINATION_NAMED_REGION = "dialogue_box_area"
160    _TERMINATION_TARGET_NAME = "checked_note2"
161
162class CheckedMapTerminationMetric(RegionMatchTerminationOnlyMetric):
163    REQUIRED_PARSER = DejaVu1StateParser
164
165    _TERMINATION_NAMED_REGION = "dialogue_box_area"
166    _TERMINATION_TARGET_NAME = "checked_map"
167
168class CheckedSnapshotTerminationMetric(RegionMatchTerminationOnlyMetric):
169    REQUIRED_PARSER = DejaVu1StateParser
170
171    _TERMINATION_NAMED_REGION = "dialogue_box_area"
172    _TERMINATION_TARGET_NAME = "checked_snapshot"
173
174class GoNewsstandTerminationMetric(RegionMatchTerminationOnlyMetric):
175    REQUIRED_PARSER = DejaVu1StateParser
176
177    _TERMINATION_NAMED_REGION = "dialogue_box_area"
178    _TERMINATION_TARGET_NAME = "in_front_of_newsstand"
179
180class EnteredTaxiTerminationMetric(RegionMatchTerminationOnlyMetric):
181    REQUIRED_PARSER = DejaVu1StateParser
182
183    _TERMINATION_NAMED_REGION = "dialogue_box_area"
184    _TERMINATION_TARGET_NAME = "entered_taxi"
185
186class TalkedToTaxiDriverTerminationMetric(RegionMatchTerminationOnlyMetric):
187    REQUIRED_PARSER = DejaVu1StateParser
188
189    _TERMINATION_NAMED_REGION = "dialogue_box_area"
190    _TERMINATION_TARGET_NAME = "talked_to_taxi_driver"
191
192class WenttoWestendTerminationMetric(RegionMatchTerminationOnlyMetric):
193    REQUIRED_PARSER = DejaVu1StateParser
194
195    _TERMINATION_NAMED_REGION = "dialogue_box_area"
196    _TERMINATION_TARGET_NAME = "went_to_westend"
197
198class PaidTaxiTerminationMetric(RegionMatchTerminationOnlyMetric):
199    REQUIRED_PARSER = DejaVu1StateParser
200
201    _TERMINATION_NAMED_REGION = "dialogue_box_area"
202    _TERMINATION_TARGET_NAME = "paid_taxi"
203
204class OutsideApartmentTerminationMetric(RegionMatchTerminationOnlyMetric):
205    REQUIRED_PARSER = DejaVu1StateParser
206
207    _TERMINATION_NAMED_REGION = "dialogue_box_area"
208    _TERMINATION_TARGET_NAME = "outside_apartment"
209
210class EnteredShermanTerminationMetric(RegionMatchTerminationOnlyMetric):
211    REQUIRED_PARSER = DejaVu1StateParser
212
213    _TERMINATION_NAMED_REGION = "dialogue_box_area"
214    _TERMINATION_TARGET_NAME = "entered_sherman"
215
216class WenttoOfficeTerminationMetric(RegionMatchTerminationOnlyMetric):
217    REQUIRED_PARSER = DejaVu1StateParser
218
219    _TERMINATION_NAMED_REGION = "dialogue_box_area"
220    _TERMINATION_TARGET_NAME = "stood_in_front_office"
221
222class EnteredWestendTerminationMetric(RegionMatchTerminationOnlyMetric):
223    REQUIRED_PARSER = DejaVu1StateParser
224
225    _TERMINATION_NAMED_REGION = "dialogue_box_area"
226    _TERMINATION_TARGET_NAME = "entered_westend"
227
228class OpenedElevatorDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
229    REQUIRED_PARSER = DejaVu1StateParser
230
231    _TERMINATION_NAMED_REGION = "dialogue_box_area"
232    _TERMINATION_TARGET_NAME = "opened_elevator_door"
233
234class EnteredElevatorTerminationMetric(RegionMatchTerminationOnlyMetric):
235    REQUIRED_PARSER = DejaVu1StateParser
236
237    _TERMINATION_NAMED_REGION = "dialogue_box_area"
238    _TERMINATION_TARGET_NAME = "entered_elevator"
239
240class ClosedElevatorDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
241    REQUIRED_PARSER = DejaVu1StateParser
242
243    _TERMINATION_NAMED_REGION = "dialogue_box_area"
244    _TERMINATION_TARGET_NAME = "closed_elevator_door"
245
246class CheckedPhotoTerminationMetric(RegionMatchTerminationOnlyMetric):
247    REQUIRED_PARSER = DejaVu1StateParser
248
249    _TERMINATION_NAMED_REGION = "dialogue_box_area"
250    _TERMINATION_TARGET_NAME = "checked_photo"
251
252class ShotDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
253    REQUIRED_PARSER = DejaVu1StateParser
254
255    _TERMINATION_NAMED_REGION = "game_screen_area"
256    _TERMINATION_TARGET_NAME = "shot_door"
257
258class OpenedDeskTerminationMetric(RegionMatchTerminationOnlyMetric):
259    REQUIRED_PARSER = DejaVu1StateParser
260
261    _TERMINATION_NAMED_REGION = "dialogue_box_area"
262    _TERMINATION_TARGET_NAME = "opened_desk"
263
264class UnlockedOfficeDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
265    REQUIRED_PARSER = DejaVu1StateParser
266
267    _TERMINATION_NAMED_REGION = "dialogue_box_area"
268    _TERMINATION_TARGET_NAME = "unlocked_office_door"
269
270class MadeMedicineTerminationMetric(RegionMatchTerminationOnlyMetric):
271    REQUIRED_PARSER = DejaVu1StateParser
272
273    _TERMINATION_NAMED_REGION = "dialogue_box_area"
274    _TERMINATION_TARGET_NAME = "made_medicine"
275
276class TakenMedicineTerminationMetric(RegionMatchTerminationOnlyMetric):
277    REQUIRED_PARSER = DejaVu1StateParser
278
279    _TERMINATION_NAMED_REGION = "dialogue_box_area"
280    _TERMINATION_TARGET_NAME = "taken_medicine"
281
282class ShotLockTerminationMetric(RegionMatchTerminationOnlyMetric):
283    REQUIRED_PARSER = DejaVu1StateParser
284
285    _TERMINATION_NAMED_REGION = "game_screen_area"
286    _TERMINATION_TARGET_NAME = "shot_lock"
287
288class OpenedDiaryTerminationMetric(RegionMatchTerminationOnlyMetric):
289    REQUIRED_PARSER = DejaVu1StateParser
290
291    _TERMINATION_NAMED_REGION = "dialogue_box_area"
292    _TERMINATION_TARGET_NAME = "opened_diary"
293
294class ShotGrimyOfficeDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
295    REQUIRED_PARSER = DejaVu1StateParser
296
297    _TERMINATION_NAMED_REGION = "game_screen_area"
298    _TERMINATION_TARGET_NAME = "shot_door"
299
300class CheckedDeadManTerminationMetric(RegionMatchTerminationOnlyMetric):
301    REQUIRED_PARSER = DejaVu1StateParser
302
303    _TERMINATION_NAMED_REGION = "dialogue_box_area"
304    _TERMINATION_TARGET_NAME = "checked_dead_man"
305
306class OpenedCabinetTerminationMetric(RegionMatchTerminationOnlyMetric):
307    REQUIRED_PARSER = DejaVu1StateParser
308
309    _TERMINATION_NAMED_REGION = "dialogue_box_area"
310    _TERMINATION_TARGET_NAME = "opened_cabinet"
311
312class ExitedGrimyOfficeTerminationMetric(RegionMatchTerminationOnlyMetric):
313    REQUIRED_PARSER = DejaVu1StateParser
314
315    _TERMINATION_NAMED_REGION = "dialogue_box_area"
316    _TERMINATION_TARGET_NAME = "exited_grimy_office"
317
318class OpenedWallSafeTerminationMetric(RegionMatchTerminationOnlyMetric):
319    REQUIRED_PARSER = DejaVu1StateParser
320
321    _TERMINATION_NAMED_REGION = "dialogue_box_area"
322    _TERMINATION_TARGET_NAME = "opened_wall_safe"
323
324class OpenedCarTrunkTerminationMetric(RegionMatchTerminationOnlyMetric):
325    REQUIRED_PARSER = DejaVu1StateParser
326
327    _TERMINATION_NAMED_REGION = "dialogue_box_area"
328    _TERMINATION_TARGET_NAME = "opened_car_trunk"
329
330# deja_vu_2 termination metrics
331class OpenedTrenchCoatPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
332    REQUIRED_PARSER = DejaVu2StateParser
333
334    _TERMINATION_NAMED_REGION = "dialogue_box_area"
335    _TERMINATION_TARGET_NAME = "opened_trench_coat_pocket"
336
337class OpenedBathroomDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
338    REQUIRED_PARSER = DejaVu2StateParser
339
340    _TERMINATION_NAMED_REGION = "dialogue_box_area"
341    _TERMINATION_TARGET_NAME = "opened_door"
342
343class TakenGumTerminationMetric(RegionMatchTerminationOnlyMetric):
344    REQUIRED_PARSER = DejaVu2StateParser
345
346    _TERMINATION_NAMED_REGION = "dialogue_box_area"
347    _TERMINATION_TARGET_NAME = "taken_gum"
348
349class OpenedPantsPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
350    REQUIRED_PARSER = DejaVu2StateParser
351
352    _TERMINATION_NAMED_REGION = "dialogue_box_area"
353    _TERMINATION_TARGET_NAME = "opened_pants_pocket"
354
355class TakenPantsTerminationMetric(RegionMatchTerminationOnlyMetric):
356    REQUIRED_PARSER = DejaVu2StateParser
357
358    _TERMINATION_NAMED_REGION = "dialogue_box_area"
359    _TERMINATION_TARGET_NAME = "taken_pants"
360
361class ClosedPantsPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
362    REQUIRED_PARSER = DejaVu2StateParser
363
364    _TERMINATION_NAMED_REGION = "dialogue_box_area"
365    _TERMINATION_TARGET_NAME = "closed_pants_pocket"
366
367class PutOnTrenchCoatTerminationMetric(RegionMatchTerminationOnlyMetric):
368    REQUIRED_PARSER = DejaVu2StateParser
369
370    _TERMINATION_NAMED_REGION = "dialogue_box_area"
371    _TERMINATION_TARGET_NAME = "put_on_trench_coat"
372
373class PutOnPantsTerminationMetric(RegionMatchTerminationOnlyMetric):
374    REQUIRED_PARSER = DejaVu2StateParser
375
376    _TERMINATION_NAMED_REGION = "dialogue_box_area"
377    _TERMINATION_TARGET_NAME = "put_on_pants"
378
379class OpenedWallet1TerminationMetric(RegionMatchTerminationOnlyMetric):
380    REQUIRED_PARSER = DejaVu2StateParser
381
382    _TERMINATION_NAMED_REGION = "dialogue_box_area"
383    _TERMINATION_TARGET_NAME = "opened_wallet1"
384
385class TakenNewsclip1TerminationMetric(RegionMatchTerminationOnlyMetric):
386    REQUIRED_PARSER = DejaVu2StateParser
387
388    _TERMINATION_NAMED_REGION = "dialogue_box_area"
389    _TERMINATION_TARGET_NAME = "taken_newsclip1"
390
391class TakenLicense1TerminationMetric(RegionMatchTerminationOnlyMetric):
392    REQUIRED_PARSER = DejaVu2StateParser
393
394    _TERMINATION_NAMED_REGION = "dialogue_box_area"
395    _TERMINATION_TARGET_NAME = "taken_license1"
396
397class ClosedWallet1TerminationMetric(RegionMatchTerminationOnlyMetric):
398    REQUIRED_PARSER = DejaVu2StateParser
399
400    _TERMINATION_NAMED_REGION = "dialogue_box_area"
401    _TERMINATION_TARGET_NAME = "closed_wallet1"
402
403class OpenedColdTapTerminationMetric(RegionMatchTerminationOnlyMetric):
404    REQUIRED_PARSER = DejaVu2StateParser
405
406    _TERMINATION_NAMED_REGION = "dialogue_box_area"
407    _TERMINATION_TARGET_NAME = "opened_cold_tap"
408
409class ClosedColdTapTerminationMetric(RegionMatchTerminationOnlyMetric):
410    REQUIRED_PARSER = DejaVu2StateParser
411
412    _TERMINATION_NAMED_REGION = "dialogue_box_area"
413    _TERMINATION_TARGET_NAME = "closed_cold_tap"
414
415class CheckedNewsclip1TerminationMetric(RegionMatchTerminationOnlyMetric):
416    REQUIRED_PARSER = DejaVu2StateParser
417
418    _TERMINATION_NAMED_REGION = "dialogue_box_area"
419    _TERMINATION_TARGET_NAME = "checked_newsclip1"
420
421class TakenRing1TerminationMetric(RegionMatchTerminationOnlyMetric):
422    REQUIRED_PARSER = DejaVu2StateParser
423
424    _TERMINATION_NAMED_REGION = "dialogue_box_area"
425    _TERMINATION_TARGET_NAME = "taken_ring1"
426
427class OpenedDoorFromMapTerminationMetric(RegionMatchTerminationOnlyMetric):
428    REQUIRED_PARSER = DejaVu2StateParser
429
430    _TERMINATION_NAMED_REGION = "dialogue_box_area"
431    _TERMINATION_TARGET_NAME = "opened_room_door"
432
433class ClosedDoorFromMapTerminationMetric(RegionMatchTerminationOnlyMetric):
434    REQUIRED_PARSER = DejaVu2StateParser
435
436    _TERMINATION_NAMED_REGION = "dialogue_box_area"
437    _TERMINATION_TARGET_NAME = "closed_room_door"
438
439class EnteredHallwayTerminationMetric(RegionMatchTerminationOnlyMetric):
440    REQUIRED_PARSER = DejaVu2StateParser
441
442    _TERMINATION_NAMED_REGION = "dialogue_box_area"
443    _TERMINATION_TARGET_NAME = "entered_hallway"
444
445class Bought2ChipsTerminationMetric(RegionMatchTerminationOnlyMetric):
446    REQUIRED_PARSER = DejaVu2StateParser
447
448    _TERMINATION_NAMED_REGION = "dialogue_box_area"
449    _TERMINATION_TARGET_NAME = "bought_2_chips"
450
451class ReturnedToCashierTerminationMetric(RegionMatchTerminationOnlyMetric):
452    REQUIRED_PARSER = DejaVu2StateParser
453
454    _TERMINATION_NAMED_REGION = "dialogue_box_area"
455    _TERMINATION_TARGET_NAME = "returned_cashier"
456
457class CashedOutTerminationMetric(RegionMatchTerminationOnlyMetric):
458    REQUIRED_PARSER = DejaVu2StateParser
459
460    _TERMINATION_NAMED_REGION = "dialogue_box_area"
461    _TERMINATION_TARGET_NAME = "cashed_out"
462
463class OpenedLobbyDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
464    REQUIRED_PARSER = DejaVu2StateParser
465
466    _TERMINATION_NAMED_REGION = "dialogue_box_area"
467    _TERMINATION_TARGET_NAME = "opened_lobby_door"
468
469class ExitedCasinoTerminationMetric(RegionMatchTerminationOnlyMetric):
470    REQUIRED_PARSER = DejaVu2StateParser
471
472    _TERMINATION_NAMED_REGION = "dialogue_box_area"
473    _TERMINATION_TARGET_NAME = "exited_casino"
474
475class TalkedInTrainStationTerminationMetric(RegionMatchTerminationOnlyMetric):
476    REQUIRED_PARSER = DejaVu2StateParser
477
478    _TERMINATION_NAMED_REGION = "dialogue_box_area"
479    _TERMINATION_TARGET_NAME = "talked_in_train_station"
480
481class VisitedCounterTerminationMetric(RegionMatchTerminationOnlyMetric):
482    REQUIRED_PARSER = DejaVu2StateParser
483
484    _TERMINATION_NAMED_REGION = "dialogue_box_area"
485    _TERMINATION_TARGET_NAME = "visited_counter"
486
487class TakenPamphletTerminationMetric(RegionMatchTerminationOnlyMetric):
488    REQUIRED_PARSER = DejaVu2StateParser
489
490    _TERMINATION_NAMED_REGION = "dialogue_box_area"
491    _TERMINATION_TARGET_NAME = "taken_pamphlet"
492
493class CheckedTimetableTerminationMetric(RegionMatchTerminationOnlyMetric):
494    REQUIRED_PARSER = DejaVu2StateParser
495
496    _TERMINATION_NAMED_REGION = "dialogue_box_area"
497    _TERMINATION_TARGET_NAME = "timetable"
498
499class EnteredPlatformTerminationMetric(RegionMatchTerminationOnlyMetric):
500    REQUIRED_PARSER = DejaVu2StateParser
501
502    _TERMINATION_NAMED_REGION = "game_screen_area"
503    _TERMINATION_TARGET_NAME = "on_track6"
504
505class EnteredTrainTerminationMetric(RegionMatchTerminationOnlyMetric):
506    REQUIRED_PARSER = DejaVu2StateParser
507
508    _TERMINATION_NAMED_REGION = "dialogue_box_area"
509    _TERMINATION_TARGET_NAME = "entered_train"
510
511class BoughtTicketTerminationMetric(RegionMatchTerminationOnlyMetric):
512    REQUIRED_PARSER = DejaVu2StateParser
513
514    _TERMINATION_NAMED_REGION = "dialogue_box_area"
515    _TERMINATION_TARGET_NAME = "bought_ticket"
516
517class CheckedGirlTerminationMetric(RegionMatchTerminationOnlyMetric):
518    REQUIRED_PARSER = DejaVu2StateParser
519
520    _TERMINATION_NAMED_REGION = "dialogue_box_area"
521    _TERMINATION_TARGET_NAME = "checked_girl"
522
523class CheckedSignTerminationMetric(RegionMatchTerminationOnlyMetric):
524    REQUIRED_PARSER = DejaVu2StateParser
525
526    _TERMINATION_NAMED_REGION = "dialogue_box_area"
527    _TERMINATION_TARGET_NAME = "checked_sign"
528
529class ChattedSellerTerminationMetric(RegionMatchTerminationOnlyMetric):
530    REQUIRED_PARSER = DejaVu2StateParser
531
532    _TERMINATION_NAMED_REGION = "dialogue_box_area"
533    _TERMINATION_TARGET_NAME = "chatted_seller"
534
535class BoughtNewspaperTerminationMetric(RegionMatchTerminationOnlyMetric):
536    REQUIRED_PARSER = DejaVu2StateParser
537
538    _TERMINATION_NAMED_REGION = "dialogue_box_area"
539    _TERMINATION_TARGET_NAME = "bought_newspaper"
540
541class TakenNewsclip4TerminationMetric(RegionMatchTerminationOnlyMetric):
542    REQUIRED_PARSER = DejaVu2StateParser
543
544    _TERMINATION_NAMED_REGION = "dialogue_box_area"
545    _TERMINATION_TARGET_NAME = "taken_newsclip4"
546
547class EnteredChicagoTaxiTerminationMetric(RegionMatchTerminationOnlyMetric):
548    REQUIRED_PARSER = DejaVu2StateParser
549
550    _TERMINATION_NAMED_REGION = "dialogue_box_area"
551    _TERMINATION_TARGET_NAME = "entered_chicago_taxi"
552
553class ChattedTaxiDriverTerminationMetric(RegionMatchTerminationOnlyMetric):
554    REQUIRED_PARSER = DejaVu2StateParser
555
556    _TERMINATION_NAMED_REGION = "dialogue_box_area"
557    _TERMINATION_TARGET_NAME = "chatted_taxi_driver"
558
559class EnteredMiddleRoomTerminationMetric(RegionMatchTerminationOnlyMetric):
560    REQUIRED_PARSER = DejaVu2StateParser
561
562    _TERMINATION_NAMED_REGION = "dialogue_box_area"
563    _TERMINATION_TARGET_NAME = "entered_middle_room"
564
565class LoadedGunTerminationMetric(RegionMatchTerminationOnlyMetric):
566    REQUIRED_PARSER = DejaVu2StateParser
567
568    _TERMINATION_NAMED_REGION = "dialogue_box_area"
569    _TERMINATION_TARGET_NAME = "loaded_gun"
570
571class OpenedLockTerminationMetric(RegionMatchTerminationOnlyMetric):
572    REQUIRED_PARSER = DejaVu2StateParser
573
574    _TERMINATION_NAMED_REGION = "dialogue_box_area"
575    _TERMINATION_TARGET_NAME = "opened_lock"
576
577class HitBoardTerminationMetric(RegionMatchTerminationOnlyMetric):
578    REQUIRED_PARSER = DejaVu2StateParser
579
580    _TERMINATION_NAMED_REGION = "dialogue_box_area"
581    _TERMINATION_TARGET_NAME = "hit_board"
582
583class OpenedTelephoneTerminationMetric(RegionMatchTerminationOnlyMetric):
584    REQUIRED_PARSER = DejaVu2StateParser
585
586    _TERMINATION_NAMED_REGION = "dialogue_box_area"
587    _TERMINATION_TARGET_NAME = "opened_telephone"
588
589class OpenedBoxTerminationMetric(RegionMatchTerminationOnlyMetric):
590    REQUIRED_PARSER = DejaVu2StateParser
591
592    _TERMINATION_NAMED_REGION = "dialogue_box_area"
593    _TERMINATION_TARGET_NAME = "opened_box"
594
595class OpenedPocketKnifeTerminationMetric(RegionMatchTerminationOnlyMetric):
596    REQUIRED_PARSER = DejaVu2StateParser
597
598    _TERMINATION_NAMED_REGION = "dialogue_box_area"
599    _TERMINATION_TARGET_NAME = "opened_pocket_knife"
600
601class OpenedDoorByKnifeTerminationMetric(RegionMatchTerminationOnlyMetric):
602    REQUIRED_PARSER = DejaVu2StateParser
603
604    _TERMINATION_NAMED_REGION = "dialogue_box_area"
605    _TERMINATION_TARGET_NAME = "opened_door_by_knife"
606
607class PutOnFlashlightTerminationMetric(RegionMatchTerminationOnlyMetric):
608    REQUIRED_PARSER = DejaVu2StateParser
609
610    _TERMINATION_NAMED_REGION = "dialogue_box_area"
611    _TERMINATION_TARGET_NAME = "put_on_flashlight"
612
613class EnteredJoePlaceTerminationMetric(RegionMatchTerminationOnlyMetric):
614    REQUIRED_PARSER = DejaVu2StateParser
615
616    _TERMINATION_NAMED_REGION = "dialogue_box_area"
617    _TERMINATION_TARGET_NAME = "entered_joe_place"
618
619class OpenedSlotLockTerminationMetric(RegionMatchTerminationOnlyMetric):
620    REQUIRED_PARSER = DejaVu2StateParser
621
622    _TERMINATION_NAMED_REGION = "dialogue_box_area"
623    _TERMINATION_TARGET_NAME = "opened_slot_lock"
624
625class TurnOffFlashlightTerminationMetric(RegionMatchTerminationOnlyMetric):
626    REQUIRED_PARSER = DejaVu2StateParser
627
628    _TERMINATION_NAMED_REGION = "dialogue_box_area"
629    _TERMINATION_TARGET_NAME = "turned_off_flashlight"
630
631class GotLocationFromCardTerminationMetric(RegionMatchTerminationOnlyMetric):
632    REQUIRED_PARSER = DejaVu2StateParser
633
634    _TERMINATION_NAMED_REGION = "dialogue_box_area"
635    _TERMINATION_TARGET_NAME = "got_location_from_card"
636
637class OpenedBagWithKnifeTerminationMetric(RegionMatchTerminationOnlyMetric):
638    REQUIRED_PARSER = DejaVu2StateParser
639
640    _TERMINATION_NAMED_REGION = "dialogue_box_area"
641    _TERMINATION_TARGET_NAME = "opened_bag_with_knife"
642
643class AskedAboutNametag2TerminationMetric(RegionMatchTerminationOnlyMetric):
644    REQUIRED_PARSER = DejaVu2StateParser
645
646    _TERMINATION_NAMED_REGION = "dialogue_box_area"
647    _TERMINATION_TARGET_NAME = "asked_about_nametage2"
648
649
650
651# subgoal classes
652# subgoal classes with multiple region match requirements
653class InVacuumMenuSubGoal(AnyRegionMatchSubGoal):
654    NAME = "in_vacuum_menu"
655    _NAMED_REGIONS = ["menu_title_area"]
656    _TARGET_NAMES = ["vacuum_menu"]
657
658class OpenedJoePlaceDoorSubGoal(AnyRegionMatchSubGoal):
659    NAME = "opened_joe_place_door"
660    _NAMED_REGIONS = ["dialogue_box_area"]
661    _TARGET_NAMES = ["opened_joe_place_door"]
662
663class UnlockedMiddleRoomDoorSubGoal(AnyRegionMatchSubGoal):
664    NAME = "unlocked_middle_room_door"
665    _NAMED_REGIONS = ["dialogue_box_area"]
666    _TARGET_NAMES = ["unlocked_middle_door"]
667
668class InCoatPocketMenuSubGoal(AnyRegionMatchSubGoal):
669    NAME = "in_coat_pocket_menu"
670    _NAMED_REGIONS = ["menu_title_area"]
671    _TARGET_NAMES = ["coat_pocket_menu"]
672
673class InWalletMenuSubGoal(AnyRegionMatchSubGoal):
674    NAME = "in_wallet_menu"
675    _NAMED_REGIONS = ["menu_title_area"]
676    _TARGET_NAMES = ["wallet_menu"]
677
678class InGoodsMenuSubGoal(AnyRegionMatchSubGoal):
679    NAME = "in_goods_menu"
680    _NAMED_REGIONS = ["menu_title_area"]
681    _TARGET_NAMES = ["goods_menu"]
682
683class SockoOnScreenSubGoal(AnyRegionMatchSubGoal):
684    NAME = "socko_on_screen"
685    _NAMED_REGIONS = ["game_screen_area"]
686    _TARGET_NAMES = ["socko_on_screen"]
687
688class OpenedCellarDoorOnScreenSubGoal(AnyRegionMatchSubGoal):
689    NAME = "opened_cellar_door_on_screen"
690    _NAMED_REGIONS = ["game_screen_area"]
691    _TARGET_NAMES = ["opened_cellar_door"]
692
693class InTrenchCoatPocketMenuSubGoal(AnyRegionMatchSubGoal):
694    NAME = "in_trench_coat_pocket_menu"
695    _NAMED_REGIONS = ["menu_title_area"]
696    _TARGET_NAMES = ["trench_coat_pocket_menu"]
697
698class InWallet1MenuSubGoal(AnyRegionMatchSubGoal):
699    NAME = "in_wallet1_menu"
700    _NAMED_REGIONS = ["menu_title_area"]
701    _TARGET_NAMES = ["wallet1_menu"]
702
703class Selected2ChipsSubGoal(AnyRegionMatchSubGoal):
704    NAME = "selected_2_chips"
705    _NAMED_REGIONS = ["dialogue_box_area"]
706    _TARGET_NAMES = ["selected_2_chips"]
707
708class OpenedWestendDoorSubGoal(AnyRegionMatchSubGoal):
709    NAME = "opened_westend_door"
710    _NAMED_REGIONS = ["dialogue_box_area"]
711    _TARGET_NAMES = ["opened_westend_door"]
712
713class OpenedShermanDoorSubGoal(AnyRegionMatchSubGoal):
714    NAME = "opened_sherman_door"
715    _NAMED_REGIONS = ["dialogue_box_area"]
716    _TARGET_NAMES = ["opened_sherman_door"]
717
718# subgoal classes for no action selected
719class NoActionInCellarSubGoal(AnyRegionMatchSubGoal):
720    NAME = "no_action_in_cellar"
721    _NAMED_REGIONS = ["no_action"]
722    _TARGET_NAMES = ["in_cellar"]
723
724class NoActionInEmptyRestaurantSubGoal(AnyRegionMatchSubGoal):
725    NAME = "no_action_in_empty_restaurant"
726    _NAMED_REGIONS = ["no_action"]
727    _TARGET_NAMES = ["in_empty_restaurant"]
728
729class NoActionOnPeoriaStSubGoal(AnyRegionMatchSubGoal):
730    NAME = "no_action_on_peoria_st"
731    _NAMED_REGIONS = ["no_action"]
732    _TARGET_NAMES = ["on_peoria_st"]
733
734class NoActionInLobbySubGoal(AnyRegionMatchSubGoal):
735    NAME = "no_action_in_lobby"
736    _NAMED_REGIONS = ["no_action"]
737    _TARGET_NAMES = ["in_lobby"]
738
739class NoActionInShermanLobbySubGoal(AnyRegionMatchSubGoal):
740    NAME = "no_action_in_sherman_lobby"
741    _NAMED_REGIONS = ["no_action"]
742    _TARGET_NAMES = ["in_sherman_lobby"]
743
744class NoActionInWestendLobbySubGoal(AnyRegionMatchSubGoal):
745    NAME = "no_action_in_westend_lobby"
746    _NAMED_REGIONS = ["no_action"]
747    _TARGET_NAMES = ["in_westend_lobby"]
748
749class NoActionInGrimyOfficeSubGoal(AnyRegionMatchSubGoal):
750    NAME = "no_action_in_grimy_office"
751    _NAMED_REGIONS = ["no_action"]
752    _TARGET_NAMES = ["in_grimy_office"]
753
754# subgoal classes with single region match requirement
755class UsingNametag2SubGoal(SingleRegionMatchSubGoal):
756    NAME = "using_nametag2"
757    _NAMED_REGION = "using_nametag2_item"
758
759class UsingFlashlightSubGoal(SingleRegionMatchSubGoal):
760    NAME = "using_flashlight"
761    _NAMED_REGION = "using_flashlight_item"
762
763class UsingKey4SubGoal(SingleRegionMatchSubGoal):
764    NAME = "using_key4"
765    _NAMED_REGION = "using_key4_item"
766
767class UsingKnifeSubGoal(SingleRegionMatchSubGoal):
768    NAME = "using_knife"
769    _NAMED_REGION = "using_knife_item"
770
771class UsingKey4SubGoal(SingleRegionMatchSubGoal):
772    NAME = "using_key4"
773    _NAMED_REGION = "using_key4_item"
774
775class UsingNote3SubGoal(SingleRegionMatchSubGoal):
776    NAME = "using_note3"
777    _NAMED_REGION = "using_note3_item"
778
779class UsingKey2SubGoal(SingleRegionMatchSubGoal):
780    NAME = "using_key2"
781    _NAMED_REGION = "using_key2_item"
782
783class UsingKey1SubGoal(SingleRegionMatchSubGoal):
784    NAME = "using_key1"
785    _NAMED_REGION = "using_key1_item"
786
787class UsingCashSubGoal(SingleRegionMatchSubGoal):
788    NAME = "using_cash"
789    _NAMED_REGION = "using_cash_item"
790
791class UsingBulletSubGoal(SingleRegionMatchSubGoal):
792    NAME = "using_bullet"
793    _NAMED_REGION = "using_bullet_item"
794
795class PointedAtCoatSubGoal(SingleRegionMatchSubGoal):
796    NAME = "pointed_at_coat"
797    _NAMED_REGION = "selected_coat_item"
798
799class PointedAtWalletSubGoal(SingleRegionMatchSubGoal):
800    NAME = "pointed_at_wallet"
801    _NAMED_REGION = "selected_wallet_item"
802
803class PointedAtGumSubGoal(SingleRegionMatchSubGoal):
804    NAME = "pointed_at_gum"
805    _NAMED_REGION = "selected_gum_item"
806
807class PointedAtPantsSubGoal(SingleRegionMatchSubGoal):
808    NAME = "pointed_at_pants"
809    _NAMED_REGION = "selected_pants_item"
810
811class PointedAtTrenchCoatSubGoal(SingleRegionMatchSubGoal):
812    NAME = "pointed_at_trench_coat"
813    _NAMED_REGION = "selected_trench_coat_item"
814
815class SelectedOutfitButtonSubGoal(SingleRegionMatchSubGoal):
816    NAME = "selected_outfit_button"
817    _NAMED_REGION = "selected_outfit_button"
818
819class PointedAtWallet1SubGoal(SingleRegionMatchSubGoal):
820    NAME = "pointed_at_wallet1"
821    _NAMED_REGION = "selected_wallet1_item"
822
823class PointedAtNewsclip1SubGoal(SingleRegionMatchSubGoal):
824    NAME = "pointed_at_newsclip1"
825    _NAMED_REGION = "selected_newsclip1_item"
826
827class PointedAtLicense1SubGoal(SingleRegionMatchSubGoal):
828    NAME = "pointed_at_license1"
829    _NAMED_REGION = "selected_license1_item"
830
831class PointedAt21OnMapSubGoal(SingleRegionMatchSubGoal):
832    NAME = "pointed_at_21_on_map"
833    _NAMED_REGION = "pointed_at_21_on_map"
834
835class PointedAt13OnMapSubGoal(SingleRegionMatchSubGoal):
836    NAME = "pointed_at_13_on_map"
837    _NAMED_REGION = "pointed_at_13_on_map"
838
839class PointedAt11OnMapSubGoal(SingleRegionMatchSubGoal):
840    NAME = "pointed_at_11_on_map"
841    _NAMED_REGION = "pointed_at_11_on_map"
842
843class PointedAtCoinSubGoal(SingleRegionMatchSubGoal):
844    NAME = "pointed_at_coin"
845    _NAMED_REGION = "selected_coin_item"
846
847class UsingCoinSubGoal(SingleRegionMatchSubGoal):
848    NAME = "using_coin"
849    _NAMED_REGION = "using_coin_item"
850
851class UsingKey3SubGoal(SingleRegionMatchSubGoal):
852    NAME = "using_key3"
853    _NAMED_REGION = "using_key3_item"
854
855class UsingKey2SubGoal(SingleRegionMatchSubGoal):
856    NAME = "using_key2"
857    _NAMED_REGION = "using_key2_item"
858
859class PointedAtWestendAddressSubGoal(SingleRegionMatchSubGoal):
860    NAME = "pointed_at_westend_address"
861    _NAMED_REGION = "selected_westend_address"
862
863class PointedAt25OnMapSubGoal(SingleRegionMatchSubGoal):
864    NAME = "pointed_at_25_on_map"
865    _NAMED_REGION = "pointed_at_25_on_map"
866
867class PointedAt35OnMapSubGoal(SingleRegionMatchSubGoal):
868    NAME = "pointed_at_35_on_map"
869    _NAMED_REGION = "pointed_at_35_on_map"
870
871class PointedAt41OnMapSubGoal(SingleRegionMatchSubGoal):
872    NAME = "pointed_at_41_on_map"
873    _NAMED_REGION = "pointed_at_41_on_map"
874
875class PointedAt45OnMapSubGoal(SingleRegionMatchSubGoal):
876    NAME = "pointed_at_45_on_map"
877    _NAMED_REGION = "pointed_at_45_on_map"
878
879class PointedAt52OnMapSubGoal(SingleRegionMatchSubGoal):
880    NAME = "pointed_at_52_on_map"
881    _NAMED_REGION = "pointed_at_52_on_map"
882
883class PointedAt24OnMapSubGoal(SingleRegionMatchSubGoal):
884    NAME = "pointed_at_24_on_map"
885    _NAMED_REGION = "pointed_at_24_on_map"
886
887class PointedAt54OnMapSubGoal(SingleRegionMatchSubGoal):
888    NAME = "pointed_at_54_on_map"
889    _NAMED_REGION = "pointed_at_54_on_map"
890
891
892# Action selection subgoals in menu and normal have the same target names
893# Menu action selection subgoals
894# class NoActionSelectedInMenuSubGoal(AnyRegionMatchSubGoal):
895#     NAME = "no_action_selected_in_menu"
896#     _NAMED_REGIONS = ["action_bar_in_menu"]
897#     _TARGET_NAMES = ["no_action_selected"]
898
899class SelectedWatchActionInMenuSubGoal(SingleRegionMatchSubGoal):
900    NAME = "selected_watch_action_in_menu"
901    _NAMED_REGION = "selected_watch_action_in_menu"
902
903class SelectedUseActionInMenuSubGoal(SingleRegionMatchSubGoal):
904    NAME = "selected_use_action_in_menu"
905    _NAMED_REGION = "selected_use_action_in_menu"
906
907class SelectedTakeActionInMenuSubGoal(SingleRegionMatchSubGoal):
908    NAME = "selected_take_action_in_menu"
909    _NAMED_REGION = "selected_take_action_in_menu"
910
911class SelectedOpenActionInMenuSubGoal(SingleRegionMatchSubGoal):
912    NAME = "selected_open_action_in_menu"
913    _NAMED_REGION = "selected_open_action_in_menu"
914
915class SelectedCloseActionInMenuSubGoal(SingleRegionMatchSubGoal):
916    NAME = "selected_close_action_in_menu"
917    _NAMED_REGION = "selected_close_action_in_menu"
918
919# Normal action selection subgoals
920class SelectedWatchActionInNormalSubGoal(SingleRegionMatchSubGoal):
921    NAME = "selected_watch_action_in_normal"
922    _NAMED_REGION = "selected_watch_action_in_normal"
923
924class SelectedTakeActionInNormalSubGoal(SingleRegionMatchSubGoal):
925    NAME = "selected_take_action_in_normal"
926    _NAMED_REGION = "selected_take_action_in_normal"
927
928class SelectedOpenActionInNormalSubGoal(SingleRegionMatchSubGoal):
929    NAME = "selected_open_action_in_normal"
930    _NAMED_REGION = "selected_open_action_in_normal"
931
932class SelectedCloseActionInNormalSubGoal(SingleRegionMatchSubGoal):
933    NAME = "selected_close_action_in_normal"
934    _NAMED_REGION = "selected_close_action_in_normal"
935
936class SelectedTalkActionInNormalSubGoal(SingleRegionMatchSubGoal):
937    NAME = "selected_talk_action_in_normal"
938    _NAMED_REGION = "selected_talk_action_in_normal"
939
940class SelectedHitActionInNormalSubGoal(SingleRegionMatchSubGoal):
941    NAME = "selected_hit_action_in_normal"
942    _NAMED_REGION = "selected_hit_action_in_normal"
class TakenCoatTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
25class TakenCoatTerminationMetric(RegionMatchTerminationOnlyMetric):
26    REQUIRED_PARSER = DejaVu1StateParser
27
28    _TERMINATION_NAMED_REGION = "dialogue_box_area"
29    _TERMINATION_TARGET_NAME = "took_coat"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenGunTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
31class TakenGunTerminationMetric(RegionMatchTerminationOnlyMetric):
32    REQUIRED_PARSER = DejaVu1StateParser
33
34    _TERMINATION_NAMED_REGION = "dialogue_box_area"
35    _TERMINATION_TARGET_NAME = "took_gun"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
37class OpenedDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
38    REQUIRED_PARSER = DejaVu1StateParser
39
40    _TERMINATION_NAMED_REGION = "dialogue_box_area"
41    _TERMINATION_TARGET_NAME = "opened_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
43class ClosedDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
44    REQUIRED_PARSER = DejaVu1StateParser
45
46    _TERMINATION_NAMED_REGION = "dialogue_box_area"
47    _TERMINATION_TARGET_NAME = "closed_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedPocketTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
49class OpenedPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
50    REQUIRED_PARSER = DejaVu1StateParser
51
52    _TERMINATION_NAMED_REGION = "dialogue_box_area"
53    _TERMINATION_TARGET_NAME = "opened_pocket"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedWalletTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
55class OpenedWalletTerminationMetric(RegionMatchTerminationOnlyMetric):
56    REQUIRED_PARSER = DejaVu1StateParser
57
58    _TERMINATION_NAMED_REGION = "dialogue_box_area"
59    _TERMINATION_TARGET_NAME = "opened_wallet"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedPocketTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
61class ClosedPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
62    REQUIRED_PARSER = DejaVu1StateParser
63
64    _TERMINATION_NAMED_REGION = "dialogue_box_area"
65    _TERMINATION_TARGET_NAME = "closed_pocket"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedWalletTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
67class ClosedWalletTerminationMetric(RegionMatchTerminationOnlyMetric):
68    REQUIRED_PARSER = DejaVu1StateParser
69
70    _TERMINATION_NAMED_REGION = "dialogue_box_area"
71    _TERMINATION_TARGET_NAME = "closed_wallet"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedCoatTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
73class CheckedCoatTerminationMetric(RegionMatchTerminationOnlyMetric):
74    REQUIRED_PARSER = DejaVu1StateParser
75
76    _TERMINATION_NAMED_REGION = "dialogue_box_area"
77    _TERMINATION_TARGET_NAME = "checked_coat"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedGunTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
79class CheckedGunTerminationMetric(RegionMatchTerminationOnlyMetric):
80    REQUIRED_PARSER = DejaVu1StateParser
81
82    _TERMINATION_NAMED_REGION = "dialogue_box_area"
83    _TERMINATION_TARGET_NAME = "checked_gun"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedSpigotTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
85class OpenedSpigotTerminationMetric(RegionMatchTerminationOnlyMetric):
86    REQUIRED_PARSER = DejaVu1StateParser
87
88    _TERMINATION_NAMED_REGION = "dialogue_box_area"
89    _TERMINATION_TARGET_NAME = "opened_spigot"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class HitBottleTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
91class HitBottleTerminationMetric(RegionMatchTerminationOnlyMetric):
92    REQUIRED_PARSER = DejaVu1StateParser
93
94    _TERMINATION_NAMED_REGION = "dialogue_box_area"
95    _TERMINATION_TARGET_NAME = "hit_bottle"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredCellarTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
 97class EnteredCellarTerminationMetric(RegionMatchTerminationOnlyMetric):
 98    REQUIRED_PARSER = DejaVu1StateParser
 99
100    _TERMINATION_NAMED_REGION = "dialogue_box_area"
101    _TERMINATION_TARGET_NAME = "entered_cellar"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredConnectingRoomTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
103class EnteredConnectingRoomTerminationMetric(RegionMatchTerminationOnlyMetric):
104    REQUIRED_PARSER = DejaVu1StateParser
105
106    _TERMINATION_NAMED_REGION = "dialogue_box_area"
107    _TERMINATION_TARGET_NAME = "entered_connecting_room"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class MadeBetTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
109class MadeBetTerminationMetric(RegionMatchTerminationOnlyMetric):
110    REQUIRED_PARSER = DejaVu1StateParser
111
112    _TERMINATION_NAMED_REGION = "dialogue_box_area"
113    _TERMINATION_TARGET_NAME = "made_bet"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredEmptyRoomFromMapTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
115class EnteredEmptyRoomFromMapTerminationMetric(RegionMatchTerminationOnlyMetric):
116    REQUIRED_PARSER = DejaVu1StateParser
117
118    _TERMINATION_NAMED_REGION = "dialogue_box_area"
119    _TERMINATION_TARGET_NAME = "entered_empty_room"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class UnlockedFrontDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
121class UnlockedFrontDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
122    REQUIRED_PARSER = DejaVu1StateParser
123
124    _TERMINATION_NAMED_REGION = "dialogue_box_area"
125    _TERMINATION_TARGET_NAME = "unlocked_front_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class MeetMuggerTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
127class MeetMuggerTerminationMetric(RegionMatchTerminationOnlyMetric):
128    REQUIRED_PARSER = DejaVu1StateParser
129
130    _TERMINATION_NAMED_REGION = "dialogue_box_area"
131    _TERMINATION_TARGET_NAME = "met_mugger"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class HitMuggerTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
133class HitMuggerTerminationMetric(RegionMatchTerminationOnlyMetric):
134    REQUIRED_PARSER = DejaVu1StateParser
135
136    _TERMINATION_NAMED_REGION = "dialogue_box_area"
137    _TERMINATION_TARGET_NAME = "hit_mugger"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class UnlockedCarDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
139class UnlockedCarDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
140    REQUIRED_PARSER = DejaVu1StateParser
141
142    _TERMINATION_NAMED_REGION = "dialogue_box_area"
143    _TERMINATION_TARGET_NAME = "unlocked_car_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedDashbrdTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
145class OpenedDashbrdTerminationMetric(RegionMatchTerminationOnlyMetric):
146    REQUIRED_PARSER = DejaVu1StateParser
147
148    _TERMINATION_NAMED_REGION = "dialogue_box_area"
149    _TERMINATION_TARGET_NAME = "opened_dashbrd"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedDashbrdTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
151class ClosedDashbrdTerminationMetric(RegionMatchTerminationOnlyMetric):
152    REQUIRED_PARSER = DejaVu1StateParser
153
154    _TERMINATION_NAMED_REGION = "dialogue_box_area"
155    _TERMINATION_TARGET_NAME = "closed_dashbrd"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedNote2TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
157class CheckedNote2TerminationMetric(RegionMatchTerminationOnlyMetric):
158    REQUIRED_PARSER = DejaVu1StateParser
159
160    _TERMINATION_NAMED_REGION = "dialogue_box_area"
161    _TERMINATION_TARGET_NAME = "checked_note2"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedMapTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
163class CheckedMapTerminationMetric(RegionMatchTerminationOnlyMetric):
164    REQUIRED_PARSER = DejaVu1StateParser
165
166    _TERMINATION_NAMED_REGION = "dialogue_box_area"
167    _TERMINATION_TARGET_NAME = "checked_map"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedSnapshotTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
169class CheckedSnapshotTerminationMetric(RegionMatchTerminationOnlyMetric):
170    REQUIRED_PARSER = DejaVu1StateParser
171
172    _TERMINATION_NAMED_REGION = "dialogue_box_area"
173    _TERMINATION_TARGET_NAME = "checked_snapshot"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class GoNewsstandTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
175class GoNewsstandTerminationMetric(RegionMatchTerminationOnlyMetric):
176    REQUIRED_PARSER = DejaVu1StateParser
177
178    _TERMINATION_NAMED_REGION = "dialogue_box_area"
179    _TERMINATION_TARGET_NAME = "in_front_of_newsstand"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredTaxiTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
181class EnteredTaxiTerminationMetric(RegionMatchTerminationOnlyMetric):
182    REQUIRED_PARSER = DejaVu1StateParser
183
184    _TERMINATION_NAMED_REGION = "dialogue_box_area"
185    _TERMINATION_TARGET_NAME = "entered_taxi"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TalkedToTaxiDriverTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
187class TalkedToTaxiDriverTerminationMetric(RegionMatchTerminationOnlyMetric):
188    REQUIRED_PARSER = DejaVu1StateParser
189
190    _TERMINATION_NAMED_REGION = "dialogue_box_area"
191    _TERMINATION_TARGET_NAME = "talked_to_taxi_driver"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class WenttoWestendTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
193class WenttoWestendTerminationMetric(RegionMatchTerminationOnlyMetric):
194    REQUIRED_PARSER = DejaVu1StateParser
195
196    _TERMINATION_NAMED_REGION = "dialogue_box_area"
197    _TERMINATION_TARGET_NAME = "went_to_westend"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class PaidTaxiTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
199class PaidTaxiTerminationMetric(RegionMatchTerminationOnlyMetric):
200    REQUIRED_PARSER = DejaVu1StateParser
201
202    _TERMINATION_NAMED_REGION = "dialogue_box_area"
203    _TERMINATION_TARGET_NAME = "paid_taxi"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OutsideApartmentTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
205class OutsideApartmentTerminationMetric(RegionMatchTerminationOnlyMetric):
206    REQUIRED_PARSER = DejaVu1StateParser
207
208    _TERMINATION_NAMED_REGION = "dialogue_box_area"
209    _TERMINATION_TARGET_NAME = "outside_apartment"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredShermanTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
211class EnteredShermanTerminationMetric(RegionMatchTerminationOnlyMetric):
212    REQUIRED_PARSER = DejaVu1StateParser
213
214    _TERMINATION_NAMED_REGION = "dialogue_box_area"
215    _TERMINATION_TARGET_NAME = "entered_sherman"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class WenttoOfficeTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
217class WenttoOfficeTerminationMetric(RegionMatchTerminationOnlyMetric):
218    REQUIRED_PARSER = DejaVu1StateParser
219
220    _TERMINATION_NAMED_REGION = "dialogue_box_area"
221    _TERMINATION_TARGET_NAME = "stood_in_front_office"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredWestendTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
223class EnteredWestendTerminationMetric(RegionMatchTerminationOnlyMetric):
224    REQUIRED_PARSER = DejaVu1StateParser
225
226    _TERMINATION_NAMED_REGION = "dialogue_box_area"
227    _TERMINATION_TARGET_NAME = "entered_westend"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedElevatorDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
229class OpenedElevatorDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
230    REQUIRED_PARSER = DejaVu1StateParser
231
232    _TERMINATION_NAMED_REGION = "dialogue_box_area"
233    _TERMINATION_TARGET_NAME = "opened_elevator_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredElevatorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
235class EnteredElevatorTerminationMetric(RegionMatchTerminationOnlyMetric):
236    REQUIRED_PARSER = DejaVu1StateParser
237
238    _TERMINATION_NAMED_REGION = "dialogue_box_area"
239    _TERMINATION_TARGET_NAME = "entered_elevator"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedElevatorDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
241class ClosedElevatorDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
242    REQUIRED_PARSER = DejaVu1StateParser
243
244    _TERMINATION_NAMED_REGION = "dialogue_box_area"
245    _TERMINATION_TARGET_NAME = "closed_elevator_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedPhotoTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
247class CheckedPhotoTerminationMetric(RegionMatchTerminationOnlyMetric):
248    REQUIRED_PARSER = DejaVu1StateParser
249
250    _TERMINATION_NAMED_REGION = "dialogue_box_area"
251    _TERMINATION_TARGET_NAME = "checked_photo"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ShotDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
253class ShotDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
254    REQUIRED_PARSER = DejaVu1StateParser
255
256    _TERMINATION_NAMED_REGION = "game_screen_area"
257    _TERMINATION_TARGET_NAME = "shot_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedDeskTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
259class OpenedDeskTerminationMetric(RegionMatchTerminationOnlyMetric):
260    REQUIRED_PARSER = DejaVu1StateParser
261
262    _TERMINATION_NAMED_REGION = "dialogue_box_area"
263    _TERMINATION_TARGET_NAME = "opened_desk"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class UnlockedOfficeDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
265class UnlockedOfficeDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
266    REQUIRED_PARSER = DejaVu1StateParser
267
268    _TERMINATION_NAMED_REGION = "dialogue_box_area"
269    _TERMINATION_TARGET_NAME = "unlocked_office_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class MadeMedicineTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
271class MadeMedicineTerminationMetric(RegionMatchTerminationOnlyMetric):
272    REQUIRED_PARSER = DejaVu1StateParser
273
274    _TERMINATION_NAMED_REGION = "dialogue_box_area"
275    _TERMINATION_TARGET_NAME = "made_medicine"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenMedicineTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
277class TakenMedicineTerminationMetric(RegionMatchTerminationOnlyMetric):
278    REQUIRED_PARSER = DejaVu1StateParser
279
280    _TERMINATION_NAMED_REGION = "dialogue_box_area"
281    _TERMINATION_TARGET_NAME = "taken_medicine"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ShotLockTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
283class ShotLockTerminationMetric(RegionMatchTerminationOnlyMetric):
284    REQUIRED_PARSER = DejaVu1StateParser
285
286    _TERMINATION_NAMED_REGION = "game_screen_area"
287    _TERMINATION_TARGET_NAME = "shot_lock"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedDiaryTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
289class OpenedDiaryTerminationMetric(RegionMatchTerminationOnlyMetric):
290    REQUIRED_PARSER = DejaVu1StateParser
291
292    _TERMINATION_NAMED_REGION = "dialogue_box_area"
293    _TERMINATION_TARGET_NAME = "opened_diary"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ShotGrimyOfficeDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
295class ShotGrimyOfficeDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
296    REQUIRED_PARSER = DejaVu1StateParser
297
298    _TERMINATION_NAMED_REGION = "game_screen_area"
299    _TERMINATION_TARGET_NAME = "shot_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedDeadManTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
301class CheckedDeadManTerminationMetric(RegionMatchTerminationOnlyMetric):
302    REQUIRED_PARSER = DejaVu1StateParser
303
304    _TERMINATION_NAMED_REGION = "dialogue_box_area"
305    _TERMINATION_TARGET_NAME = "checked_dead_man"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedCabinetTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
307class OpenedCabinetTerminationMetric(RegionMatchTerminationOnlyMetric):
308    REQUIRED_PARSER = DejaVu1StateParser
309
310    _TERMINATION_NAMED_REGION = "dialogue_box_area"
311    _TERMINATION_TARGET_NAME = "opened_cabinet"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ExitedGrimyOfficeTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
313class ExitedGrimyOfficeTerminationMetric(RegionMatchTerminationOnlyMetric):
314    REQUIRED_PARSER = DejaVu1StateParser
315
316    _TERMINATION_NAMED_REGION = "dialogue_box_area"
317    _TERMINATION_TARGET_NAME = "exited_grimy_office"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedWallSafeTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
319class OpenedWallSafeTerminationMetric(RegionMatchTerminationOnlyMetric):
320    REQUIRED_PARSER = DejaVu1StateParser
321
322    _TERMINATION_NAMED_REGION = "dialogue_box_area"
323    _TERMINATION_TARGET_NAME = "opened_wall_safe"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedCarTrunkTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
325class OpenedCarTrunkTerminationMetric(RegionMatchTerminationOnlyMetric):
326    REQUIRED_PARSER = DejaVu1StateParser
327
328    _TERMINATION_NAMED_REGION = "dialogue_box_area"
329    _TERMINATION_TARGET_NAME = "opened_car_trunk"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedTrenchCoatPocketTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
332class OpenedTrenchCoatPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
333    REQUIRED_PARSER = DejaVu2StateParser
334
335    _TERMINATION_NAMED_REGION = "dialogue_box_area"
336    _TERMINATION_TARGET_NAME = "opened_trench_coat_pocket"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedBathroomDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
338class OpenedBathroomDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
339    REQUIRED_PARSER = DejaVu2StateParser
340
341    _TERMINATION_NAMED_REGION = "dialogue_box_area"
342    _TERMINATION_TARGET_NAME = "opened_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenGumTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
344class TakenGumTerminationMetric(RegionMatchTerminationOnlyMetric):
345    REQUIRED_PARSER = DejaVu2StateParser
346
347    _TERMINATION_NAMED_REGION = "dialogue_box_area"
348    _TERMINATION_TARGET_NAME = "taken_gum"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedPantsPocketTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
350class OpenedPantsPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
351    REQUIRED_PARSER = DejaVu2StateParser
352
353    _TERMINATION_NAMED_REGION = "dialogue_box_area"
354    _TERMINATION_TARGET_NAME = "opened_pants_pocket"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenPantsTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
356class TakenPantsTerminationMetric(RegionMatchTerminationOnlyMetric):
357    REQUIRED_PARSER = DejaVu2StateParser
358
359    _TERMINATION_NAMED_REGION = "dialogue_box_area"
360    _TERMINATION_TARGET_NAME = "taken_pants"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedPantsPocketTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
362class ClosedPantsPocketTerminationMetric(RegionMatchTerminationOnlyMetric):
363    REQUIRED_PARSER = DejaVu2StateParser
364
365    _TERMINATION_NAMED_REGION = "dialogue_box_area"
366    _TERMINATION_TARGET_NAME = "closed_pants_pocket"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class PutOnTrenchCoatTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
368class PutOnTrenchCoatTerminationMetric(RegionMatchTerminationOnlyMetric):
369    REQUIRED_PARSER = DejaVu2StateParser
370
371    _TERMINATION_NAMED_REGION = "dialogue_box_area"
372    _TERMINATION_TARGET_NAME = "put_on_trench_coat"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class PutOnPantsTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
374class PutOnPantsTerminationMetric(RegionMatchTerminationOnlyMetric):
375    REQUIRED_PARSER = DejaVu2StateParser
376
377    _TERMINATION_NAMED_REGION = "dialogue_box_area"
378    _TERMINATION_TARGET_NAME = "put_on_pants"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedWallet1TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
380class OpenedWallet1TerminationMetric(RegionMatchTerminationOnlyMetric):
381    REQUIRED_PARSER = DejaVu2StateParser
382
383    _TERMINATION_NAMED_REGION = "dialogue_box_area"
384    _TERMINATION_TARGET_NAME = "opened_wallet1"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenNewsclip1TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
386class TakenNewsclip1TerminationMetric(RegionMatchTerminationOnlyMetric):
387    REQUIRED_PARSER = DejaVu2StateParser
388
389    _TERMINATION_NAMED_REGION = "dialogue_box_area"
390    _TERMINATION_TARGET_NAME = "taken_newsclip1"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenLicense1TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
392class TakenLicense1TerminationMetric(RegionMatchTerminationOnlyMetric):
393    REQUIRED_PARSER = DejaVu2StateParser
394
395    _TERMINATION_NAMED_REGION = "dialogue_box_area"
396    _TERMINATION_TARGET_NAME = "taken_license1"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedWallet1TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
398class ClosedWallet1TerminationMetric(RegionMatchTerminationOnlyMetric):
399    REQUIRED_PARSER = DejaVu2StateParser
400
401    _TERMINATION_NAMED_REGION = "dialogue_box_area"
402    _TERMINATION_TARGET_NAME = "closed_wallet1"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedColdTapTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
404class OpenedColdTapTerminationMetric(RegionMatchTerminationOnlyMetric):
405    REQUIRED_PARSER = DejaVu2StateParser
406
407    _TERMINATION_NAMED_REGION = "dialogue_box_area"
408    _TERMINATION_TARGET_NAME = "opened_cold_tap"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedColdTapTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
410class ClosedColdTapTerminationMetric(RegionMatchTerminationOnlyMetric):
411    REQUIRED_PARSER = DejaVu2StateParser
412
413    _TERMINATION_NAMED_REGION = "dialogue_box_area"
414    _TERMINATION_TARGET_NAME = "closed_cold_tap"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedNewsclip1TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
416class CheckedNewsclip1TerminationMetric(RegionMatchTerminationOnlyMetric):
417    REQUIRED_PARSER = DejaVu2StateParser
418
419    _TERMINATION_NAMED_REGION = "dialogue_box_area"
420    _TERMINATION_TARGET_NAME = "checked_newsclip1"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenRing1TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
422class TakenRing1TerminationMetric(RegionMatchTerminationOnlyMetric):
423    REQUIRED_PARSER = DejaVu2StateParser
424
425    _TERMINATION_NAMED_REGION = "dialogue_box_area"
426    _TERMINATION_TARGET_NAME = "taken_ring1"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedDoorFromMapTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
428class OpenedDoorFromMapTerminationMetric(RegionMatchTerminationOnlyMetric):
429    REQUIRED_PARSER = DejaVu2StateParser
430
431    _TERMINATION_NAMED_REGION = "dialogue_box_area"
432    _TERMINATION_TARGET_NAME = "opened_room_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ClosedDoorFromMapTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
434class ClosedDoorFromMapTerminationMetric(RegionMatchTerminationOnlyMetric):
435    REQUIRED_PARSER = DejaVu2StateParser
436
437    _TERMINATION_NAMED_REGION = "dialogue_box_area"
438    _TERMINATION_TARGET_NAME = "closed_room_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredHallwayTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
440class EnteredHallwayTerminationMetric(RegionMatchTerminationOnlyMetric):
441    REQUIRED_PARSER = DejaVu2StateParser
442
443    _TERMINATION_NAMED_REGION = "dialogue_box_area"
444    _TERMINATION_TARGET_NAME = "entered_hallway"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class Bought2ChipsTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
446class Bought2ChipsTerminationMetric(RegionMatchTerminationOnlyMetric):
447    REQUIRED_PARSER = DejaVu2StateParser
448
449    _TERMINATION_NAMED_REGION = "dialogue_box_area"
450    _TERMINATION_TARGET_NAME = "bought_2_chips"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ReturnedToCashierTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
452class ReturnedToCashierTerminationMetric(RegionMatchTerminationOnlyMetric):
453    REQUIRED_PARSER = DejaVu2StateParser
454
455    _TERMINATION_NAMED_REGION = "dialogue_box_area"
456    _TERMINATION_TARGET_NAME = "returned_cashier"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CashedOutTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
458class CashedOutTerminationMetric(RegionMatchTerminationOnlyMetric):
459    REQUIRED_PARSER = DejaVu2StateParser
460
461    _TERMINATION_NAMED_REGION = "dialogue_box_area"
462    _TERMINATION_TARGET_NAME = "cashed_out"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedLobbyDoorTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
464class OpenedLobbyDoorTerminationMetric(RegionMatchTerminationOnlyMetric):
465    REQUIRED_PARSER = DejaVu2StateParser
466
467    _TERMINATION_NAMED_REGION = "dialogue_box_area"
468    _TERMINATION_TARGET_NAME = "opened_lobby_door"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ExitedCasinoTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
470class ExitedCasinoTerminationMetric(RegionMatchTerminationOnlyMetric):
471    REQUIRED_PARSER = DejaVu2StateParser
472
473    _TERMINATION_NAMED_REGION = "dialogue_box_area"
474    _TERMINATION_TARGET_NAME = "exited_casino"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TalkedInTrainStationTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
476class TalkedInTrainStationTerminationMetric(RegionMatchTerminationOnlyMetric):
477    REQUIRED_PARSER = DejaVu2StateParser
478
479    _TERMINATION_NAMED_REGION = "dialogue_box_area"
480    _TERMINATION_TARGET_NAME = "talked_in_train_station"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class VisitedCounterTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
482class VisitedCounterTerminationMetric(RegionMatchTerminationOnlyMetric):
483    REQUIRED_PARSER = DejaVu2StateParser
484
485    _TERMINATION_NAMED_REGION = "dialogue_box_area"
486    _TERMINATION_TARGET_NAME = "visited_counter"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenPamphletTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
488class TakenPamphletTerminationMetric(RegionMatchTerminationOnlyMetric):
489    REQUIRED_PARSER = DejaVu2StateParser
490
491    _TERMINATION_NAMED_REGION = "dialogue_box_area"
492    _TERMINATION_TARGET_NAME = "taken_pamphlet"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedTimetableTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
494class CheckedTimetableTerminationMetric(RegionMatchTerminationOnlyMetric):
495    REQUIRED_PARSER = DejaVu2StateParser
496
497    _TERMINATION_NAMED_REGION = "dialogue_box_area"
498    _TERMINATION_TARGET_NAME = "timetable"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredPlatformTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
500class EnteredPlatformTerminationMetric(RegionMatchTerminationOnlyMetric):
501    REQUIRED_PARSER = DejaVu2StateParser
502
503    _TERMINATION_NAMED_REGION = "game_screen_area"
504    _TERMINATION_TARGET_NAME = "on_track6"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredTrainTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
506class EnteredTrainTerminationMetric(RegionMatchTerminationOnlyMetric):
507    REQUIRED_PARSER = DejaVu2StateParser
508
509    _TERMINATION_NAMED_REGION = "dialogue_box_area"
510    _TERMINATION_TARGET_NAME = "entered_train"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class BoughtTicketTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
512class BoughtTicketTerminationMetric(RegionMatchTerminationOnlyMetric):
513    REQUIRED_PARSER = DejaVu2StateParser
514
515    _TERMINATION_NAMED_REGION = "dialogue_box_area"
516    _TERMINATION_TARGET_NAME = "bought_ticket"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedGirlTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
518class CheckedGirlTerminationMetric(RegionMatchTerminationOnlyMetric):
519    REQUIRED_PARSER = DejaVu2StateParser
520
521    _TERMINATION_NAMED_REGION = "dialogue_box_area"
522    _TERMINATION_TARGET_NAME = "checked_girl"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class CheckedSignTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
524class CheckedSignTerminationMetric(RegionMatchTerminationOnlyMetric):
525    REQUIRED_PARSER = DejaVu2StateParser
526
527    _TERMINATION_NAMED_REGION = "dialogue_box_area"
528    _TERMINATION_TARGET_NAME = "checked_sign"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ChattedSellerTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
530class ChattedSellerTerminationMetric(RegionMatchTerminationOnlyMetric):
531    REQUIRED_PARSER = DejaVu2StateParser
532
533    _TERMINATION_NAMED_REGION = "dialogue_box_area"
534    _TERMINATION_TARGET_NAME = "chatted_seller"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class BoughtNewspaperTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
536class BoughtNewspaperTerminationMetric(RegionMatchTerminationOnlyMetric):
537    REQUIRED_PARSER = DejaVu2StateParser
538
539    _TERMINATION_NAMED_REGION = "dialogue_box_area"
540    _TERMINATION_TARGET_NAME = "bought_newspaper"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TakenNewsclip4TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
542class TakenNewsclip4TerminationMetric(RegionMatchTerminationOnlyMetric):
543    REQUIRED_PARSER = DejaVu2StateParser
544
545    _TERMINATION_NAMED_REGION = "dialogue_box_area"
546    _TERMINATION_TARGET_NAME = "taken_newsclip4"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredChicagoTaxiTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
548class EnteredChicagoTaxiTerminationMetric(RegionMatchTerminationOnlyMetric):
549    REQUIRED_PARSER = DejaVu2StateParser
550
551    _TERMINATION_NAMED_REGION = "dialogue_box_area"
552    _TERMINATION_TARGET_NAME = "entered_chicago_taxi"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class ChattedTaxiDriverTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
554class ChattedTaxiDriverTerminationMetric(RegionMatchTerminationOnlyMetric):
555    REQUIRED_PARSER = DejaVu2StateParser
556
557    _TERMINATION_NAMED_REGION = "dialogue_box_area"
558    _TERMINATION_TARGET_NAME = "chatted_taxi_driver"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredMiddleRoomTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
560class EnteredMiddleRoomTerminationMetric(RegionMatchTerminationOnlyMetric):
561    REQUIRED_PARSER = DejaVu2StateParser
562
563    _TERMINATION_NAMED_REGION = "dialogue_box_area"
564    _TERMINATION_TARGET_NAME = "entered_middle_room"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class LoadedGunTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
566class LoadedGunTerminationMetric(RegionMatchTerminationOnlyMetric):
567    REQUIRED_PARSER = DejaVu2StateParser
568
569    _TERMINATION_NAMED_REGION = "dialogue_box_area"
570    _TERMINATION_TARGET_NAME = "loaded_gun"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedLockTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
572class OpenedLockTerminationMetric(RegionMatchTerminationOnlyMetric):
573    REQUIRED_PARSER = DejaVu2StateParser
574
575    _TERMINATION_NAMED_REGION = "dialogue_box_area"
576    _TERMINATION_TARGET_NAME = "opened_lock"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class HitBoardTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
578class HitBoardTerminationMetric(RegionMatchTerminationOnlyMetric):
579    REQUIRED_PARSER = DejaVu2StateParser
580
581    _TERMINATION_NAMED_REGION = "dialogue_box_area"
582    _TERMINATION_TARGET_NAME = "hit_board"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedTelephoneTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
584class OpenedTelephoneTerminationMetric(RegionMatchTerminationOnlyMetric):
585    REQUIRED_PARSER = DejaVu2StateParser
586
587    _TERMINATION_NAMED_REGION = "dialogue_box_area"
588    _TERMINATION_TARGET_NAME = "opened_telephone"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedBoxTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
590class OpenedBoxTerminationMetric(RegionMatchTerminationOnlyMetric):
591    REQUIRED_PARSER = DejaVu2StateParser
592
593    _TERMINATION_NAMED_REGION = "dialogue_box_area"
594    _TERMINATION_TARGET_NAME = "opened_box"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedPocketKnifeTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
596class OpenedPocketKnifeTerminationMetric(RegionMatchTerminationOnlyMetric):
597    REQUIRED_PARSER = DejaVu2StateParser
598
599    _TERMINATION_NAMED_REGION = "dialogue_box_area"
600    _TERMINATION_TARGET_NAME = "opened_pocket_knife"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedDoorByKnifeTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
602class OpenedDoorByKnifeTerminationMetric(RegionMatchTerminationOnlyMetric):
603    REQUIRED_PARSER = DejaVu2StateParser
604
605    _TERMINATION_NAMED_REGION = "dialogue_box_area"
606    _TERMINATION_TARGET_NAME = "opened_door_by_knife"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class PutOnFlashlightTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
608class PutOnFlashlightTerminationMetric(RegionMatchTerminationOnlyMetric):
609    REQUIRED_PARSER = DejaVu2StateParser
610
611    _TERMINATION_NAMED_REGION = "dialogue_box_area"
612    _TERMINATION_TARGET_NAME = "put_on_flashlight"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class EnteredJoePlaceTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
614class EnteredJoePlaceTerminationMetric(RegionMatchTerminationOnlyMetric):
615    REQUIRED_PARSER = DejaVu2StateParser
616
617    _TERMINATION_NAMED_REGION = "dialogue_box_area"
618    _TERMINATION_TARGET_NAME = "entered_joe_place"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedSlotLockTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
620class OpenedSlotLockTerminationMetric(RegionMatchTerminationOnlyMetric):
621    REQUIRED_PARSER = DejaVu2StateParser
622
623    _TERMINATION_NAMED_REGION = "dialogue_box_area"
624    _TERMINATION_TARGET_NAME = "opened_slot_lock"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class TurnOffFlashlightTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
626class TurnOffFlashlightTerminationMetric(RegionMatchTerminationOnlyMetric):
627    REQUIRED_PARSER = DejaVu2StateParser
628
629    _TERMINATION_NAMED_REGION = "dialogue_box_area"
630    _TERMINATION_TARGET_NAME = "turned_off_flashlight"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class GotLocationFromCardTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
632class GotLocationFromCardTerminationMetric(RegionMatchTerminationOnlyMetric):
633    REQUIRED_PARSER = DejaVu2StateParser
634
635    _TERMINATION_NAMED_REGION = "dialogue_box_area"
636    _TERMINATION_TARGET_NAME = "got_location_from_card"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class OpenedBagWithKnifeTerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
638class OpenedBagWithKnifeTerminationMetric(RegionMatchTerminationOnlyMetric):
639    REQUIRED_PARSER = DejaVu2StateParser
640
641    _TERMINATION_NAMED_REGION = "dialogue_box_area"
642    _TERMINATION_TARGET_NAME = "opened_bag_with_knife"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class AskedAboutNametag2TerminationMetric(gameboy_worlds.emulation.tracker.RegionMatchTerminationOnlyMetric):
644class AskedAboutNametag2TerminationMetric(RegionMatchTerminationOnlyMetric):
645    REQUIRED_PARSER = DejaVu2StateParser
646
647    _TERMINATION_NAMED_REGION = "dialogue_box_area"
648    _TERMINATION_TARGET_NAME = "asked_about_nametage2"

RegionMatchTerminationMetric with no truncation. No truncation.

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

class InVacuumMenuSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
654class InVacuumMenuSubGoal(AnyRegionMatchSubGoal):
655    NAME = "in_vacuum_menu"
656    _NAMED_REGIONS = ["menu_title_area"]
657    _TARGET_NAMES = ["vacuum_menu"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'in_vacuum_menu'

Name of the subgoal.

class OpenedJoePlaceDoorSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
659class OpenedJoePlaceDoorSubGoal(AnyRegionMatchSubGoal):
660    NAME = "opened_joe_place_door"
661    _NAMED_REGIONS = ["dialogue_box_area"]
662    _TARGET_NAMES = ["opened_joe_place_door"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'opened_joe_place_door'

Name of the subgoal.

class UnlockedMiddleRoomDoorSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
664class UnlockedMiddleRoomDoorSubGoal(AnyRegionMatchSubGoal):
665    NAME = "unlocked_middle_room_door"
666    _NAMED_REGIONS = ["dialogue_box_area"]
667    _TARGET_NAMES = ["unlocked_middle_door"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'unlocked_middle_room_door'

Name of the subgoal.

class InCoatPocketMenuSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
669class InCoatPocketMenuSubGoal(AnyRegionMatchSubGoal):
670    NAME = "in_coat_pocket_menu"
671    _NAMED_REGIONS = ["menu_title_area"]
672    _TARGET_NAMES = ["coat_pocket_menu"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'in_coat_pocket_menu'

Name of the subgoal.

class InWalletMenuSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
674class InWalletMenuSubGoal(AnyRegionMatchSubGoal):
675    NAME = "in_wallet_menu"
676    _NAMED_REGIONS = ["menu_title_area"]
677    _TARGET_NAMES = ["wallet_menu"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'in_wallet_menu'

Name of the subgoal.

class InGoodsMenuSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
679class InGoodsMenuSubGoal(AnyRegionMatchSubGoal):
680    NAME = "in_goods_menu"
681    _NAMED_REGIONS = ["menu_title_area"]
682    _TARGET_NAMES = ["goods_menu"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'in_goods_menu'

Name of the subgoal.

class SockoOnScreenSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
684class SockoOnScreenSubGoal(AnyRegionMatchSubGoal):
685    NAME = "socko_on_screen"
686    _NAMED_REGIONS = ["game_screen_area"]
687    _TARGET_NAMES = ["socko_on_screen"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'socko_on_screen'

Name of the subgoal.

class OpenedCellarDoorOnScreenSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
689class OpenedCellarDoorOnScreenSubGoal(AnyRegionMatchSubGoal):
690    NAME = "opened_cellar_door_on_screen"
691    _NAMED_REGIONS = ["game_screen_area"]
692    _TARGET_NAMES = ["opened_cellar_door"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'opened_cellar_door_on_screen'

Name of the subgoal.

class InTrenchCoatPocketMenuSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
694class InTrenchCoatPocketMenuSubGoal(AnyRegionMatchSubGoal):
695    NAME = "in_trench_coat_pocket_menu"
696    _NAMED_REGIONS = ["menu_title_area"]
697    _TARGET_NAMES = ["trench_coat_pocket_menu"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'in_trench_coat_pocket_menu'

Name of the subgoal.

class InWallet1MenuSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
699class InWallet1MenuSubGoal(AnyRegionMatchSubGoal):
700    NAME = "in_wallet1_menu"
701    _NAMED_REGIONS = ["menu_title_area"]
702    _TARGET_NAMES = ["wallet1_menu"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'in_wallet1_menu'

Name of the subgoal.

class Selected2ChipsSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
704class Selected2ChipsSubGoal(AnyRegionMatchSubGoal):
705    NAME = "selected_2_chips"
706    _NAMED_REGIONS = ["dialogue_box_area"]
707    _TARGET_NAMES = ["selected_2_chips"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'selected_2_chips'

Name of the subgoal.

class OpenedWestendDoorSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
709class OpenedWestendDoorSubGoal(AnyRegionMatchSubGoal):
710    NAME = "opened_westend_door"
711    _NAMED_REGIONS = ["dialogue_box_area"]
712    _TARGET_NAMES = ["opened_westend_door"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'opened_westend_door'

Name of the subgoal.

class OpenedShermanDoorSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
714class OpenedShermanDoorSubGoal(AnyRegionMatchSubGoal):
715    NAME = "opened_sherman_door"
716    _NAMED_REGIONS = ["dialogue_box_area"]
717    _TARGET_NAMES = ["opened_sherman_door"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'opened_sherman_door'

Name of the subgoal.

class NoActionInCellarSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
720class NoActionInCellarSubGoal(AnyRegionMatchSubGoal):
721    NAME = "no_action_in_cellar"
722    _NAMED_REGIONS = ["no_action"]
723    _TARGET_NAMES = ["in_cellar"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'no_action_in_cellar'

Name of the subgoal.

class NoActionInEmptyRestaurantSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
725class NoActionInEmptyRestaurantSubGoal(AnyRegionMatchSubGoal):
726    NAME = "no_action_in_empty_restaurant"
727    _NAMED_REGIONS = ["no_action"]
728    _TARGET_NAMES = ["in_empty_restaurant"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'no_action_in_empty_restaurant'

Name of the subgoal.

class NoActionOnPeoriaStSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
730class NoActionOnPeoriaStSubGoal(AnyRegionMatchSubGoal):
731    NAME = "no_action_on_peoria_st"
732    _NAMED_REGIONS = ["no_action"]
733    _TARGET_NAMES = ["on_peoria_st"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'no_action_on_peoria_st'

Name of the subgoal.

class NoActionInLobbySubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
735class NoActionInLobbySubGoal(AnyRegionMatchSubGoal):
736    NAME = "no_action_in_lobby"
737    _NAMED_REGIONS = ["no_action"]
738    _TARGET_NAMES = ["in_lobby"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'no_action_in_lobby'

Name of the subgoal.

class NoActionInShermanLobbySubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
740class NoActionInShermanLobbySubGoal(AnyRegionMatchSubGoal):
741    NAME = "no_action_in_sherman_lobby"
742    _NAMED_REGIONS = ["no_action"]
743    _TARGET_NAMES = ["in_sherman_lobby"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'no_action_in_sherman_lobby'

Name of the subgoal.

class NoActionInWestendLobbySubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
745class NoActionInWestendLobbySubGoal(AnyRegionMatchSubGoal):
746    NAME = "no_action_in_westend_lobby"
747    _NAMED_REGIONS = ["no_action"]
748    _TARGET_NAMES = ["in_westend_lobby"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'no_action_in_westend_lobby'

Name of the subgoal.

class NoActionInGrimyOfficeSubGoal(gameboy_worlds.emulation.tracker.AnyRegionMatchSubGoal):
750class NoActionInGrimyOfficeSubGoal(AnyRegionMatchSubGoal):
751    NAME = "no_action_in_grimy_office"
752    _NAMED_REGIONS = ["no_action"]
753    _TARGET_NAMES = ["in_grimy_office"]

A subgoal that is completed if any of a list of specific regions matches their targets.

NAME = 'no_action_in_grimy_office'

Name of the subgoal.

class UsingNametag2SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
756class UsingNametag2SubGoal(SingleRegionMatchSubGoal):
757    NAME = "using_nametag2"
758    _NAMED_REGION = "using_nametag2_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_nametag2'

Name of the subgoal.

class UsingFlashlightSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
760class UsingFlashlightSubGoal(SingleRegionMatchSubGoal):
761    NAME = "using_flashlight"
762    _NAMED_REGION = "using_flashlight_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_flashlight'

Name of the subgoal.

class UsingKey4SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
764class UsingKey4SubGoal(SingleRegionMatchSubGoal):
765    NAME = "using_key4"
766    _NAMED_REGION = "using_key4_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_key4'

Name of the subgoal.

class UsingKnifeSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
768class UsingKnifeSubGoal(SingleRegionMatchSubGoal):
769    NAME = "using_knife"
770    _NAMED_REGION = "using_knife_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_knife'

Name of the subgoal.

class UsingNote3SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
776class UsingNote3SubGoal(SingleRegionMatchSubGoal):
777    NAME = "using_note3"
778    _NAMED_REGION = "using_note3_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_note3'

Name of the subgoal.

class UsingKey2SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
780class UsingKey2SubGoal(SingleRegionMatchSubGoal):
781    NAME = "using_key2"
782    _NAMED_REGION = "using_key2_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_key2'

Name of the subgoal.

class UsingKey1SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
784class UsingKey1SubGoal(SingleRegionMatchSubGoal):
785    NAME = "using_key1"
786    _NAMED_REGION = "using_key1_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_key1'

Name of the subgoal.

class UsingCashSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
788class UsingCashSubGoal(SingleRegionMatchSubGoal):
789    NAME = "using_cash"
790    _NAMED_REGION = "using_cash_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_cash'

Name of the subgoal.

class UsingBulletSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
792class UsingBulletSubGoal(SingleRegionMatchSubGoal):
793    NAME = "using_bullet"
794    _NAMED_REGION = "using_bullet_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_bullet'

Name of the subgoal.

class PointedAtCoatSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
796class PointedAtCoatSubGoal(SingleRegionMatchSubGoal):
797    NAME = "pointed_at_coat"
798    _NAMED_REGION = "selected_coat_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_coat'

Name of the subgoal.

class PointedAtWalletSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
800class PointedAtWalletSubGoal(SingleRegionMatchSubGoal):
801    NAME = "pointed_at_wallet"
802    _NAMED_REGION = "selected_wallet_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_wallet'

Name of the subgoal.

class PointedAtGumSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
804class PointedAtGumSubGoal(SingleRegionMatchSubGoal):
805    NAME = "pointed_at_gum"
806    _NAMED_REGION = "selected_gum_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_gum'

Name of the subgoal.

class PointedAtPantsSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
808class PointedAtPantsSubGoal(SingleRegionMatchSubGoal):
809    NAME = "pointed_at_pants"
810    _NAMED_REGION = "selected_pants_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_pants'

Name of the subgoal.

class PointedAtTrenchCoatSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
812class PointedAtTrenchCoatSubGoal(SingleRegionMatchSubGoal):
813    NAME = "pointed_at_trench_coat"
814    _NAMED_REGION = "selected_trench_coat_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_trench_coat'

Name of the subgoal.

class SelectedOutfitButtonSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
816class SelectedOutfitButtonSubGoal(SingleRegionMatchSubGoal):
817    NAME = "selected_outfit_button"
818    _NAMED_REGION = "selected_outfit_button"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_outfit_button'

Name of the subgoal.

class PointedAtWallet1SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
820class PointedAtWallet1SubGoal(SingleRegionMatchSubGoal):
821    NAME = "pointed_at_wallet1"
822    _NAMED_REGION = "selected_wallet1_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_wallet1'

Name of the subgoal.

class PointedAtNewsclip1SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
824class PointedAtNewsclip1SubGoal(SingleRegionMatchSubGoal):
825    NAME = "pointed_at_newsclip1"
826    _NAMED_REGION = "selected_newsclip1_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_newsclip1'

Name of the subgoal.

class PointedAtLicense1SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
828class PointedAtLicense1SubGoal(SingleRegionMatchSubGoal):
829    NAME = "pointed_at_license1"
830    _NAMED_REGION = "selected_license1_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_license1'

Name of the subgoal.

class PointedAt21OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
832class PointedAt21OnMapSubGoal(SingleRegionMatchSubGoal):
833    NAME = "pointed_at_21_on_map"
834    _NAMED_REGION = "pointed_at_21_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_21_on_map'

Name of the subgoal.

class PointedAt13OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
836class PointedAt13OnMapSubGoal(SingleRegionMatchSubGoal):
837    NAME = "pointed_at_13_on_map"
838    _NAMED_REGION = "pointed_at_13_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_13_on_map'

Name of the subgoal.

class PointedAt11OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
840class PointedAt11OnMapSubGoal(SingleRegionMatchSubGoal):
841    NAME = "pointed_at_11_on_map"
842    _NAMED_REGION = "pointed_at_11_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_11_on_map'

Name of the subgoal.

class PointedAtCoinSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
844class PointedAtCoinSubGoal(SingleRegionMatchSubGoal):
845    NAME = "pointed_at_coin"
846    _NAMED_REGION = "selected_coin_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_coin'

Name of the subgoal.

class UsingCoinSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
848class UsingCoinSubGoal(SingleRegionMatchSubGoal):
849    NAME = "using_coin"
850    _NAMED_REGION = "using_coin_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_coin'

Name of the subgoal.

class UsingKey3SubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
852class UsingKey3SubGoal(SingleRegionMatchSubGoal):
853    NAME = "using_key3"
854    _NAMED_REGION = "using_key3_item"

A subgoal that is completed if a specific single region matches its target.

NAME = 'using_key3'

Name of the subgoal.

class PointedAtWestendAddressSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
860class PointedAtWestendAddressSubGoal(SingleRegionMatchSubGoal):
861    NAME = "pointed_at_westend_address"
862    _NAMED_REGION = "selected_westend_address"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_westend_address'

Name of the subgoal.

class PointedAt25OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
864class PointedAt25OnMapSubGoal(SingleRegionMatchSubGoal):
865    NAME = "pointed_at_25_on_map"
866    _NAMED_REGION = "pointed_at_25_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_25_on_map'

Name of the subgoal.

class PointedAt35OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
868class PointedAt35OnMapSubGoal(SingleRegionMatchSubGoal):
869    NAME = "pointed_at_35_on_map"
870    _NAMED_REGION = "pointed_at_35_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_35_on_map'

Name of the subgoal.

class PointedAt41OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
872class PointedAt41OnMapSubGoal(SingleRegionMatchSubGoal):
873    NAME = "pointed_at_41_on_map"
874    _NAMED_REGION = "pointed_at_41_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_41_on_map'

Name of the subgoal.

class PointedAt45OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
876class PointedAt45OnMapSubGoal(SingleRegionMatchSubGoal):
877    NAME = "pointed_at_45_on_map"
878    _NAMED_REGION = "pointed_at_45_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_45_on_map'

Name of the subgoal.

class PointedAt52OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
880class PointedAt52OnMapSubGoal(SingleRegionMatchSubGoal):
881    NAME = "pointed_at_52_on_map"
882    _NAMED_REGION = "pointed_at_52_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_52_on_map'

Name of the subgoal.

class PointedAt24OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
884class PointedAt24OnMapSubGoal(SingleRegionMatchSubGoal):
885    NAME = "pointed_at_24_on_map"
886    _NAMED_REGION = "pointed_at_24_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_24_on_map'

Name of the subgoal.

class PointedAt54OnMapSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
888class PointedAt54OnMapSubGoal(SingleRegionMatchSubGoal):
889    NAME = "pointed_at_54_on_map"
890    _NAMED_REGION = "pointed_at_54_on_map"

A subgoal that is completed if a specific single region matches its target.

NAME = 'pointed_at_54_on_map'

Name of the subgoal.

class SelectedWatchActionInMenuSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
900class SelectedWatchActionInMenuSubGoal(SingleRegionMatchSubGoal):
901    NAME = "selected_watch_action_in_menu"
902    _NAMED_REGION = "selected_watch_action_in_menu"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_watch_action_in_menu'

Name of the subgoal.

class SelectedUseActionInMenuSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
904class SelectedUseActionInMenuSubGoal(SingleRegionMatchSubGoal):
905    NAME = "selected_use_action_in_menu"
906    _NAMED_REGION = "selected_use_action_in_menu"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_use_action_in_menu'

Name of the subgoal.

class SelectedTakeActionInMenuSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
908class SelectedTakeActionInMenuSubGoal(SingleRegionMatchSubGoal):
909    NAME = "selected_take_action_in_menu"
910    _NAMED_REGION = "selected_take_action_in_menu"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_take_action_in_menu'

Name of the subgoal.

class SelectedOpenActionInMenuSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
912class SelectedOpenActionInMenuSubGoal(SingleRegionMatchSubGoal):
913    NAME = "selected_open_action_in_menu"
914    _NAMED_REGION = "selected_open_action_in_menu"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_open_action_in_menu'

Name of the subgoal.

class SelectedCloseActionInMenuSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
916class SelectedCloseActionInMenuSubGoal(SingleRegionMatchSubGoal):
917    NAME = "selected_close_action_in_menu"
918    _NAMED_REGION = "selected_close_action_in_menu"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_close_action_in_menu'

Name of the subgoal.

class SelectedWatchActionInNormalSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
921class SelectedWatchActionInNormalSubGoal(SingleRegionMatchSubGoal):
922    NAME = "selected_watch_action_in_normal"
923    _NAMED_REGION = "selected_watch_action_in_normal"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_watch_action_in_normal'

Name of the subgoal.

class SelectedTakeActionInNormalSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
925class SelectedTakeActionInNormalSubGoal(SingleRegionMatchSubGoal):
926    NAME = "selected_take_action_in_normal"
927    _NAMED_REGION = "selected_take_action_in_normal"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_take_action_in_normal'

Name of the subgoal.

class SelectedOpenActionInNormalSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
929class SelectedOpenActionInNormalSubGoal(SingleRegionMatchSubGoal):
930    NAME = "selected_open_action_in_normal"
931    _NAMED_REGION = "selected_open_action_in_normal"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_open_action_in_normal'

Name of the subgoal.

class SelectedCloseActionInNormalSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
933class SelectedCloseActionInNormalSubGoal(SingleRegionMatchSubGoal):
934    NAME = "selected_close_action_in_normal"
935    _NAMED_REGION = "selected_close_action_in_normal"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_close_action_in_normal'

Name of the subgoal.

class SelectedTalkActionInNormalSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
937class SelectedTalkActionInNormalSubGoal(SingleRegionMatchSubGoal):
938    NAME = "selected_talk_action_in_normal"
939    _NAMED_REGION = "selected_talk_action_in_normal"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_talk_action_in_normal'

Name of the subgoal.

class SelectedHitActionInNormalSubGoal(gameboy_worlds.emulation.tracker.SingleRegionMatchSubGoal):
941class SelectedHitActionInNormalSubGoal(SingleRegionMatchSubGoal):
942    NAME = "selected_hit_action_in_normal"
943    _NAMED_REGION = "selected_hit_action_in_normal"

A subgoal that is completed if a specific single region matches its target.

NAME = 'selected_hit_action_in_normal'

Name of the subgoal.