gameboy_worlds.emulation.runes_of_virtue.trackers
1from gameboy_worlds.emulation.runes_of_virtue.base_metrics import ( 2 CoreRunesOfVirtueMetrics, 3 RunesOfVirtueOCRMetric, 4) 5from gameboy_worlds.emulation.runes_of_virtue.test_metrics import ( 6 RunesOfVirtue1BasementChestOpenedTerminateMetric, 7 RunesOfVirtue1BasementLadderUnlockedTerminateMetric, 8 RunesOfVirtue1CavernOfHatredEnterFloor2TerminateMetric, 9 RunesOfVirtue1CavernOfHatredSherryFloor2DialogTerminateMetric, 10 RunesOfVirtue1CavernOfHatredChooseDoorWithSherryTerminateMetric, 11 RunesOfVirtue1CavernOfHatredChooseRightDoorMelissaDialogTerminateMetric, 12 RunesOfVirtue1CavernOfHatredEnterFloor3TerminateMetric, 13 RunesOfVirtue1CavernOfHatredEnterFloor4TerminateMetric, 14 RunesOfVirtue1CavernOfHatredTerminateMetric, 15 RunesOfVirtue1CavernOfCowardiceTerminateMetric, 16 RunesOfVirtue1CavernOfCowardiceEnterFloor2TerminateMetric, 17 RunesOfVirtue1CavernOfCowardiceEnterFloor3TerminateMetric, 18 RunesOfVirtue1CavernOfCowardiceFloor3ChestOpenedTerminateMetric, 19 RunesOfVirtue1CavernOfCowardiceEnterFloor4TerminateMetric, 20 RunesOfVirtue1CavernOfCowardiceSherryFloor4DialogTerminateMetric, 21 RunesOfVirtue1CavernOfCowardiceTakeStewFloor4TerminateMetric, 22 RunesOfVirtue1CavernOfCowardiceObtainCoinFloor4TerminateMetric, 23 RunesOfVirtue1CavernOfHatredChestFloor1OpenedTerminateMetric, 24 RunesOfVirtue1CavernOfDeceitTerminateMetric, 25 RunesOfVirtue1ChucklesDialogTerminateMetric, 26 RunesOfVirtue1DeathScreenTerminateMetric, 27 RunesOfVirtue1DrCatDialogTerminateMetric, 28 RunesOfVirtue1DrCatCatsLairDialogTerminateMetric, 29 RunesOfVirtue1GnuGnu1DialogTerminateMetric, 30 RunesOfVirtue1GnuGnu2DialogTerminateMetric, 31 RunesOfVirtue1KingDialogTerminateMetric, 32 RunesOfVirtue1OpenMenuTerminateMetric, 33 RunesOfVirtue1SherryDialogTerminateMetric, 34 RunesOfVirtue1ShipRiddenTerminateMetric, 35 RunesOfVirtue1TelescopeViewTerminateMetric, 36 RunesOfVirtue2BlacksmithFailBuyShieldTerminateMetric, 37 RunesOfVirtue2BlockedRoomEnteredTerminateMetric, 38 RunesOfVirtue2BringTholdenBackToKingTerminateMetric, 39 RunesOfVirtue2CaveOfDishonourEnterFloor3TerminateMetric, 40 RunesOfVirtue2CaveOfDishonourEnterFloor2TerminateMetric, 41 RunesOfVirtue2CaveOfDishonourTerminateMetric, 42 RunesOfVirtue2ClimbLadderBehindLockedDoorTerminateMetric, 43 RunesOfVirtue2FindLadderBackFromCastleTerminateMetric, 44 RunesOfVirtue2FindLadderOutOfCavernOfHatredTerminateMetric, 45 RunesOfVirtue2AttendCastleCeremonyTerminateMetric, 46 RunesOfVirtue2GiveCheeseToSherryTerminateMetric, 47 RunesOfVirtue2GrabCheeseFromKitchenTerminateMetric, 48 RunesOfVirtue2InteractWithMapOnTableTerminateMetric, 49 RunesOfVirtue2CavernOfHatredEnterFloor4TerminateMetric, 50 RunesOfVirtue2CavernOfHatredEnterFloor5TerminateMetric, 51 RunesOfVirtue2CavernOfHatredEnterFloor6TerminateMetric, 52 RunesOfVirtue2CavernOfHatredEnterFloor7TerminateMetric, 53 RunesOfVirtue2CavernOfHatredGate1UnlockedTerminateMetric, 54 RunesOfVirtue2CavernOfHatredGrabKeyTerminateMetric, 55 RunesOfVirtue2CavernOfHatredLadder2TerminateMetric, 56 RunesOfVirtue2CavernOfHatredLadderRoom2TerminateMetric, 57 RunesOfVirtue2CavernOfHatredTerminateMetric, 58 RunesOfVirtue2DeathScreenTerminateMetric, 59 RunesOfVirtue2LordWhitsaberDialogTerminateMetric, 60 RunesOfVirtue2NystulDialogTerminateMetric, 61 RunesOfVirtue2OpenMenuTerminateMetric, 62 RunesOfVirtue2ReadBookTerminateMetric, 63 RunesOfVirtue2SandyCookDialogTerminateMetric, 64 RunesOfVirtue2SherryMouseDialogTerminateMetric, 65 RunesOfVirtue2UnlockDoorAndSaveTholdenTerminateMetric, 66) 67from gameboy_worlds.emulation.tracker import ( 68 DummySubGoalMetric, 69 StateTracker, 70 TestTrackerMixin, 71) 72 73 74class CoreRunesOfVirtueTracker(StateTracker): 75 """ 76 StateTracker for core Runes of Virtue metrics. 77 """ 78 79 def start(self): 80 super().start() 81 self.metric_classes.extend([CoreRunesOfVirtueMetrics]) 82 83 84class RunesOfVirtueOCRTracker(CoreRunesOfVirtueTracker): 85 """ 86 StateTracker for core Runes of Virtue metrics and OCR region captures. 87 """ 88 89 def start(self): 90 super().start() 91 self.metric_classes.extend([RunesOfVirtueOCRMetric]) 92 93 94class RunesOfVirtueTestTracker(TestTrackerMixin, RunesOfVirtueOCRTracker): 95 """ 96 Inherit this class and set TERMINATION_TRUNCATION_METRIC to create a TestTracker for Runes of Virtue games. 97 """ 98 99 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1OpenMenuTerminateMetric 100 SUBGOAL_METRIC = DummySubGoalMetric 101 102 103class RunesOfVirtue1OpenMenuTestTracker(RunesOfVirtueTestTracker): 104 """ 105 A TestTracker for Runes of Virtue 1 that ends an episode when the player opens the inventory menu. 106 """ 107 108 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1OpenMenuTerminateMetric 109 SUBGOAL_METRIC = DummySubGoalMetric 110 111 112class RunesOfVirtue2OpenMenuTestTracker(RunesOfVirtueTestTracker): 113 """ 114 A TestTracker for Runes of Virtue 2 that ends an episode when the player opens the inventory menu. 115 """ 116 117 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2OpenMenuTerminateMetric 118 SUBGOAL_METRIC = DummySubGoalMetric 119 120 121class RunesOfVirtue2ReadBookTestTracker(RunesOfVirtueTestTracker): 122 """Ends an episode when the player opens a book.""" 123 124 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2ReadBookTerminateMetric 125 SUBGOAL_METRIC = DummySubGoalMetric 126 127 128class RunesOfVirtue2BlockedRoomEnteredTestTracker(RunesOfVirtueTestTracker): 129 """Ends an episode when the player has entered the blocked room.""" 130 131 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2BlockedRoomEnteredTerminateMetric 132 SUBGOAL_METRIC = DummySubGoalMetric 133 134 135class RunesOfVirtue2NystulDialogTestTracker(RunesOfVirtueTestTracker): 136 """Ends an episode when the player is in dialog with Nystul.""" 137 138 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2NystulDialogTerminateMetric 139 SUBGOAL_METRIC = DummySubGoalMetric 140 141 142class RunesOfVirtue2BlacksmithFailBuyShieldTestTracker(RunesOfVirtueTestTracker): 143 """Ends an episode when the blacksmith's failed shield purchase dialog is shown.""" 144 145 TERMINATION_TRUNCATION_METRIC = ( 146 RunesOfVirtue2BlacksmithFailBuyShieldTerminateMetric 147 ) 148 SUBGOAL_METRIC = DummySubGoalMetric 149 150 151class RunesOfVirtue2SherryMouseDialogTestTracker(RunesOfVirtueTestTracker): 152 """Ends an episode when Sherry the mouse's dialog is shown.""" 153 154 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2SherryMouseDialogTerminateMetric 155 SUBGOAL_METRIC = DummySubGoalMetric 156 157 158class RunesOfVirtue2SandyCookDialogTestTracker(RunesOfVirtueTestTracker): 159 """Ends an episode when Sandy the cook's dialog is shown.""" 160 161 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2SandyCookDialogTerminateMetric 162 SUBGOAL_METRIC = DummySubGoalMetric 163 164 165class RunesOfVirtue2LordWhitsaberDialogTestTracker(RunesOfVirtueTestTracker): 166 """Ends an episode when Lord Whitsaber's dialog is shown.""" 167 168 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2LordWhitsaberDialogTerminateMetric 169 SUBGOAL_METRIC = DummySubGoalMetric 170 171 172class RunesOfVirtue2CaveOfDishonourTestTracker(RunesOfVirtueTestTracker): 173 """Ends an episode when the player has entered the Cave of Dishonour.""" 174 175 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CaveOfDishonourTerminateMetric 176 SUBGOAL_METRIC = DummySubGoalMetric 177 178 179class RunesOfVirtue2CavernOfHatredTestTracker(RunesOfVirtueTestTracker): 180 """Ends an episode when the player has entered the Cavern of Hatred.""" 181 182 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CavernOfHatredTerminateMetric 183 SUBGOAL_METRIC = DummySubGoalMetric 184 185 186class RunesOfVirtue2CaveOfDishonourEnterFloor2TestTracker(RunesOfVirtueTestTracker): 187 """Ends an episode when the player enters floor 2 in the Cave of Dishonour.""" 188 189 TERMINATION_TRUNCATION_METRIC = ( 190 RunesOfVirtue2CaveOfDishonourEnterFloor2TerminateMetric 191 ) 192 SUBGOAL_METRIC = DummySubGoalMetric 193 194 195class RunesOfVirtue2CaveOfDishonourEnterFloor3TestTracker(RunesOfVirtueTestTracker): 196 """Ends an episode when the player enters floor 3 in the Cave of Dishonour.""" 197 198 TERMINATION_TRUNCATION_METRIC = ( 199 RunesOfVirtue2CaveOfDishonourEnterFloor3TerminateMetric 200 ) 201 SUBGOAL_METRIC = DummySubGoalMetric 202 203 204class RunesOfVirtue2GrabCheeseFromKitchenTestTracker(RunesOfVirtueTestTracker): 205 """Ends an episode when the player grabs the cheese from the kitchen.""" 206 207 TERMINATION_TRUNCATION_METRIC = ( 208 RunesOfVirtue2GrabCheeseFromKitchenTerminateMetric 209 ) 210 SUBGOAL_METRIC = DummySubGoalMetric 211 212 213class RunesOfVirtue2GiveCheeseToSherryTestTracker(RunesOfVirtueTestTracker): 214 """Ends an episode when the player gives the cheese to Sherry.""" 215 216 TERMINATION_TRUNCATION_METRIC = ( 217 RunesOfVirtue2GiveCheeseToSherryTerminateMetric 218 ) 219 SUBGOAL_METRIC = DummySubGoalMetric 220 221 222class RunesOfVirtue2ClimbLadderBehindLockedDoorTestTracker( 223 RunesOfVirtueTestTracker 224): 225 """Ends an episode when the player climbs the ladder behind the locked door.""" 226 227 TERMINATION_TRUNCATION_METRIC = ( 228 RunesOfVirtue2ClimbLadderBehindLockedDoorTerminateMetric 229 ) 230 SUBGOAL_METRIC = DummySubGoalMetric 231 232 233class RunesOfVirtue2InteractWithMapOnTableTestTracker(RunesOfVirtueTestTracker): 234 """Ends an episode when the player interacts with the map on the table.""" 235 236 TERMINATION_TRUNCATION_METRIC = ( 237 RunesOfVirtue2InteractWithMapOnTableTerminateMetric 238 ) 239 SUBGOAL_METRIC = DummySubGoalMetric 240 241 242class RunesOfVirtue2FindLadderBackFromCastleTestTracker(RunesOfVirtueTestTracker): 243 """Ends an episode when the player finds a ladder back from the castle.""" 244 245 TERMINATION_TRUNCATION_METRIC = ( 246 RunesOfVirtue2FindLadderBackFromCastleTerminateMetric 247 ) 248 SUBGOAL_METRIC = DummySubGoalMetric 249 250 251class RunesOfVirtue2UnlockDoorAndSaveTholdenTestTracker( 252 RunesOfVirtueTestTracker 253): 254 """Ends an episode when the player unlocks the door and saves Tholden.""" 255 256 TERMINATION_TRUNCATION_METRIC = ( 257 RunesOfVirtue2UnlockDoorAndSaveTholdenTerminateMetric 258 ) 259 SUBGOAL_METRIC = DummySubGoalMetric 260 261 262class RunesOfVirtue2FindLadderOutOfCavernOfHatredTestTracker( 263 RunesOfVirtueTestTracker 264): 265 """Ends an episode when the player finds a ladder out of the Cavern of Hatred.""" 266 267 TERMINATION_TRUNCATION_METRIC = ( 268 RunesOfVirtue2FindLadderOutOfCavernOfHatredTerminateMetric 269 ) 270 SUBGOAL_METRIC = DummySubGoalMetric 271 272 273class RunesOfVirtue2BringTholdenBackToKingTestTracker(RunesOfVirtueTestTracker): 274 """Ends an episode when the player brings Tholden back to the king.""" 275 276 TERMINATION_TRUNCATION_METRIC = ( 277 RunesOfVirtue2BringTholdenBackToKingTerminateMetric 278 ) 279 SUBGOAL_METRIC = DummySubGoalMetric 280 281 282class RunesOfVirtue2AttendCastleCeremonyTestTracker(RunesOfVirtueTestTracker): 283 """Ends an episode when the player attends the ceremony in the castle.""" 284 285 TERMINATION_TRUNCATION_METRIC = ( 286 RunesOfVirtue2AttendCastleCeremonyTerminateMetric 287 ) 288 SUBGOAL_METRIC = DummySubGoalMetric 289 290 291class RunesOfVirtue2CavernOfHatredGate1UnlockedTestTracker( 292 RunesOfVirtueTestTracker 293): 294 """Ends an episode when the first Cavern of Hatred gate is unlocked.""" 295 296 TERMINATION_TRUNCATION_METRIC = ( 297 RunesOfVirtue2CavernOfHatredGate1UnlockedTerminateMetric 298 ) 299 SUBGOAL_METRIC = DummySubGoalMetric 300 301 302class RunesOfVirtue2CavernOfHatredLadderRoom2TestTracker( 303 RunesOfVirtueTestTracker 304): 305 """Ends an episode when the player enters the second ladder room in the Cavern of Hatred.""" 306 307 TERMINATION_TRUNCATION_METRIC = ( 308 RunesOfVirtue2CavernOfHatredLadderRoom2TerminateMetric 309 ) 310 SUBGOAL_METRIC = DummySubGoalMetric 311 312 313class RunesOfVirtue2CavernOfHatredLadder2TestTracker(RunesOfVirtueTestTracker): 314 """Ends an episode when the player reaches the second ladder in the Cavern of Hatred.""" 315 316 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CavernOfHatredLadder2TerminateMetric 317 SUBGOAL_METRIC = DummySubGoalMetric 318 319 320class RunesOfVirtue2CavernOfHatredGrabKeyTestTracker(RunesOfVirtueTestTracker): 321 """Ends an episode when the player grabs the key in the Cavern of Hatred.""" 322 323 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CavernOfHatredGrabKeyTerminateMetric 324 SUBGOAL_METRIC = DummySubGoalMetric 325 326 327class RunesOfVirtue2CavernOfHatredEnterFloor4TestTracker(RunesOfVirtueTestTracker): 328 """Ends an episode when the player enters floor 4 in the Cavern of Hatred.""" 329 330 TERMINATION_TRUNCATION_METRIC = ( 331 RunesOfVirtue2CavernOfHatredEnterFloor4TerminateMetric 332 ) 333 SUBGOAL_METRIC = DummySubGoalMetric 334 335 336class RunesOfVirtue2CavernOfHatredEnterFloor5TestTracker(RunesOfVirtueTestTracker): 337 """Ends an episode when the player enters floor 5 in the Cavern of Hatred.""" 338 339 TERMINATION_TRUNCATION_METRIC = ( 340 RunesOfVirtue2CavernOfHatredEnterFloor5TerminateMetric 341 ) 342 SUBGOAL_METRIC = DummySubGoalMetric 343 344 345class RunesOfVirtue2CavernOfHatredEnterFloor6TestTracker(RunesOfVirtueTestTracker): 346 """Ends an episode when the player enters floor 6 in the Cavern of Hatred.""" 347 348 TERMINATION_TRUNCATION_METRIC = ( 349 RunesOfVirtue2CavernOfHatredEnterFloor6TerminateMetric 350 ) 351 SUBGOAL_METRIC = DummySubGoalMetric 352 353 354class RunesOfVirtue2CavernOfHatredEnterFloor7TestTracker(RunesOfVirtueTestTracker): 355 """Ends an episode when the player enters floor 7 in the Cavern of Hatred.""" 356 357 TERMINATION_TRUNCATION_METRIC = ( 358 RunesOfVirtue2CavernOfHatredEnterFloor7TerminateMetric 359 ) 360 SUBGOAL_METRIC = DummySubGoalMetric 361 362 363class RunesOfVirtue2DeathScreenTestTracker(RunesOfVirtueTestTracker): 364 """Ends an episode when the death / game over screen is shown.""" 365 366 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2DeathScreenTerminateMetric 367 SUBGOAL_METRIC = DummySubGoalMetric 368 369 370class RunesOfVirtue1KingDialogTestTracker(RunesOfVirtueTestTracker): 371 """Ends an episode when the player is in dialog with the king.""" 372 373 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1KingDialogTerminateMetric 374 SUBGOAL_METRIC = DummySubGoalMetric 375 376 377class RunesOfVirtue1ChucklesDialogTestTracker(RunesOfVirtueTestTracker): 378 """Ends an episode when the player is in dialog with Chuckles.""" 379 380 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1ChucklesDialogTerminateMetric 381 SUBGOAL_METRIC = DummySubGoalMetric 382 383 384class RunesOfVirtue1GnuGnu1DialogTestTracker(RunesOfVirtueTestTracker): 385 """Ends an episode when the player is in dialog with Gnu Gnu at his 1st store.""" 386 387 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1GnuGnu1DialogTerminateMetric 388 SUBGOAL_METRIC = DummySubGoalMetric 389 390 391class RunesOfVirtue1GnuGnu2DialogTestTracker(RunesOfVirtueTestTracker): 392 """Ends an episode when the player is in dialog with Gnu Gnu at his 2nd store.""" 393 394 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1GnuGnu2DialogTerminateMetric 395 SUBGOAL_METRIC = DummySubGoalMetric 396 397 398class RunesOfVirtue1SherryDialogTestTracker(RunesOfVirtueTestTracker): 399 """Ends an episode when the player is in dialog with Sherry.""" 400 401 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1SherryDialogTerminateMetric 402 SUBGOAL_METRIC = DummySubGoalMetric 403 404 405class RunesOfVirtue1CavernOfHatredTestTracker(RunesOfVirtueTestTracker): 406 """Ends an episode when the player has entered the Cavern of Hatred.""" 407 408 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1CavernOfHatredTerminateMetric 409 SUBGOAL_METRIC = DummySubGoalMetric 410 411 412class RunesOfVirtue1CavernOfDeceitTestTracker(RunesOfVirtueTestTracker): 413 """Ends an episode when the player has entered the Cavern of Deceit.""" 414 415 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1CavernOfDeceitTerminateMetric 416 SUBGOAL_METRIC = DummySubGoalMetric 417 418 419class RunesOfVirtue1CavernOfCowardiceTestTracker(RunesOfVirtueTestTracker): 420 """Ends an episode when the player has entered the Cavern of Cowardice.""" 421 422 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1CavernOfCowardiceTerminateMetric 423 SUBGOAL_METRIC = DummySubGoalMetric 424 425 426class RunesOfVirtue1CavernOfCowardiceEnterFloor2TestTracker( 427 RunesOfVirtueTestTracker 428): 429 """Ends an episode when the player enters floor 2 of the Cavern of Cowardice.""" 430 431 TERMINATION_TRUNCATION_METRIC = ( 432 RunesOfVirtue1CavernOfCowardiceEnterFloor2TerminateMetric 433 ) 434 SUBGOAL_METRIC = DummySubGoalMetric 435 436 437class RunesOfVirtue1CavernOfCowardiceEnterFloor3TestTracker( 438 RunesOfVirtueTestTracker 439): 440 """Ends an episode when the player enters floor 3 of the Cavern of Cowardice.""" 441 442 TERMINATION_TRUNCATION_METRIC = ( 443 RunesOfVirtue1CavernOfCowardiceEnterFloor3TerminateMetric 444 ) 445 SUBGOAL_METRIC = DummySubGoalMetric 446 447 448class RunesOfVirtue1CavernOfCowardiceFloor3ChestOpenedTestTracker( 449 RunesOfVirtueTestTracker 450): 451 """Ends an episode when the player opens the floor 3 chest in the Cavern of Cowardice.""" 452 453 TERMINATION_TRUNCATION_METRIC = ( 454 RunesOfVirtue1CavernOfCowardiceFloor3ChestOpenedTerminateMetric 455 ) 456 SUBGOAL_METRIC = DummySubGoalMetric 457 458 459class RunesOfVirtue1CavernOfCowardiceEnterFloor4TestTracker( 460 RunesOfVirtueTestTracker 461): 462 """Ends an episode when the player enters floor 4 of the Cavern of Cowardice.""" 463 464 TERMINATION_TRUNCATION_METRIC = ( 465 RunesOfVirtue1CavernOfCowardiceEnterFloor4TerminateMetric 466 ) 467 SUBGOAL_METRIC = DummySubGoalMetric 468 469 470class RunesOfVirtue1CavernOfCowardiceSherryFloor4DialogTestTracker( 471 RunesOfVirtueTestTracker 472): 473 """Ends an episode when the player is in dialog with Sherry on floor 4 of the Cavern of Cowardice.""" 474 475 TERMINATION_TRUNCATION_METRIC = ( 476 RunesOfVirtue1CavernOfCowardiceSherryFloor4DialogTerminateMetric 477 ) 478 SUBGOAL_METRIC = DummySubGoalMetric 479 480 481class RunesOfVirtue1CavernOfCowardiceTakeStewFloor4TestTracker( 482 RunesOfVirtueTestTracker 483): 484 """Ends an episode when the player takes stew on floor 4 of the Cavern of Cowardice.""" 485 486 TERMINATION_TRUNCATION_METRIC = ( 487 RunesOfVirtue1CavernOfCowardiceTakeStewFloor4TerminateMetric 488 ) 489 SUBGOAL_METRIC = DummySubGoalMetric 490 491 492class RunesOfVirtue1CavernOfCowardiceObtainCoinFloor4TestTracker( 493 RunesOfVirtueTestTracker 494): 495 """Ends an episode when the player obtains the coin on floor 4 of the Cavern of Cowardice.""" 496 497 TERMINATION_TRUNCATION_METRIC = ( 498 RunesOfVirtue1CavernOfCowardiceObtainCoinFloor4TerminateMetric 499 ) 500 SUBGOAL_METRIC = DummySubGoalMetric 501 502 503class RunesOfVirtue1DrCatDialogTestTracker(RunesOfVirtueTestTracker): 504 """Ends an episode when the player is in dialog with Dr. Cat.""" 505 506 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1DrCatDialogTerminateMetric 507 SUBGOAL_METRIC = DummySubGoalMetric 508 509 510class RunesOfVirtue1DrCatCatsLairDialogTestTracker(RunesOfVirtueTestTracker): 511 """Ends an episode when the player is in dialog with Dr. Cat in the Cat's Lair.""" 512 513 TERMINATION_TRUNCATION_METRIC = ( 514 RunesOfVirtue1DrCatCatsLairDialogTerminateMetric 515 ) 516 SUBGOAL_METRIC = DummySubGoalMetric 517 518 519class RunesOfVirtue1ShipRiddenTestTracker(RunesOfVirtueTestTracker): 520 """Ends an episode when the player rides the ship.""" 521 522 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1ShipRiddenTerminateMetric 523 SUBGOAL_METRIC = DummySubGoalMetric 524 525 526class RunesOfVirtue1BasementLadderUnlockedTestTracker(RunesOfVirtueTestTracker): 527 """Ends an episode when the player unlocks the basement ladder.""" 528 529 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1BasementLadderUnlockedTerminateMetric 530 SUBGOAL_METRIC = DummySubGoalMetric 531 532 533class RunesOfVirtue1BasementChestOpenedTestTracker(RunesOfVirtueTestTracker): 534 """Ends an episode when the player opens the basement chest.""" 535 536 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1BasementChestOpenedTerminateMetric 537 SUBGOAL_METRIC = DummySubGoalMetric 538 539 540class RunesOfVirtue1CavernOfHatredEnterFloor2TestTracker(RunesOfVirtueTestTracker): 541 """Ends an episode when the player enters floor 2 of the Cavern of Hatred.""" 542 543 TERMINATION_TRUNCATION_METRIC = ( 544 RunesOfVirtue1CavernOfHatredEnterFloor2TerminateMetric 545 ) 546 SUBGOAL_METRIC = DummySubGoalMetric 547 548 549class RunesOfVirtue1CavernOfHatredSherryFloor2DialogTestTracker( 550 RunesOfVirtueTestTracker 551): 552 """Ends an episode when Sherry's floor 2 dialog is on screen in the Cavern of Hatred.""" 553 554 TERMINATION_TRUNCATION_METRIC = ( 555 RunesOfVirtue1CavernOfHatredSherryFloor2DialogTerminateMetric 556 ) 557 SUBGOAL_METRIC = DummySubGoalMetric 558 559 560class RunesOfVirtue1CavernOfHatredChooseDoorWithSherryTestTracker( 561 RunesOfVirtueTestTracker 562): 563 """Ends an episode when Sherry asks the player to choose a door in the Cavern of Hatred.""" 564 565 TERMINATION_TRUNCATION_METRIC = ( 566 RunesOfVirtue1CavernOfHatredChooseDoorWithSherryTerminateMetric 567 ) 568 SUBGOAL_METRIC = DummySubGoalMetric 569 570 571class RunesOfVirtue1CavernOfHatredChooseRightDoorMelissaDialogTestTracker( 572 RunesOfVirtueTestTracker 573): 574 """Ends an episode when Melissa's dialog is on screen after choosing the right door.""" 575 576 TERMINATION_TRUNCATION_METRIC = ( 577 RunesOfVirtue1CavernOfHatredChooseRightDoorMelissaDialogTerminateMetric 578 ) 579 SUBGOAL_METRIC = DummySubGoalMetric 580 581 582class RunesOfVirtue1CavernOfHatredEnterFloor3TestTracker(RunesOfVirtueTestTracker): 583 """Ends an episode when the player enters floor 3 of the Cavern of Hatred.""" 584 585 TERMINATION_TRUNCATION_METRIC = ( 586 RunesOfVirtue1CavernOfHatredEnterFloor3TerminateMetric 587 ) 588 SUBGOAL_METRIC = DummySubGoalMetric 589 590 591class RunesOfVirtue1CavernOfHatredEnterFloor4TestTracker(RunesOfVirtueTestTracker): 592 """Ends an episode when the player enters floor 4 of the Cavern of Hatred.""" 593 594 TERMINATION_TRUNCATION_METRIC = ( 595 RunesOfVirtue1CavernOfHatredEnterFloor4TerminateMetric 596 ) 597 SUBGOAL_METRIC = DummySubGoalMetric 598 599 600class RunesOfVirtue1CavernOfHatredChestFloor1OpenedTestTracker( 601 RunesOfVirtueTestTracker 602): 603 """Ends an episode when the player opens the floor 1 chest in the Cavern of Hatred.""" 604 605 TERMINATION_TRUNCATION_METRIC = ( 606 RunesOfVirtue1CavernOfHatredChestFloor1OpenedTerminateMetric 607 ) 608 SUBGOAL_METRIC = DummySubGoalMetric 609 610 611class RunesOfVirtue1TelescopeViewTestTracker(RunesOfVirtueTestTracker): 612 """Ends an episode when the player is looking through the telescope.""" 613 614 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1TelescopeViewTerminateMetric 615 SUBGOAL_METRIC = DummySubGoalMetric 616 617 618class RunesOfVirtue1DeathScreenTestTracker(RunesOfVirtueTestTracker): 619 """Ends an episode when the death / game over screen is shown.""" 620 621 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1DeathScreenTerminateMetric 622 SUBGOAL_METRIC = DummySubGoalMetric
75class CoreRunesOfVirtueTracker(StateTracker): 76 """ 77 StateTracker for core Runes of Virtue metrics. 78 """ 79 80 def start(self): 81 super().start() 82 self.metric_classes.extend([CoreRunesOfVirtueMetrics])
StateTracker for core Runes of Virtue metrics.
85class RunesOfVirtueOCRTracker(CoreRunesOfVirtueTracker): 86 """ 87 StateTracker for core Runes of Virtue metrics and OCR region captures. 88 """ 89 90 def start(self): 91 super().start() 92 self.metric_classes.extend([RunesOfVirtueOCRMetric])
StateTracker for core Runes of Virtue metrics and OCR region captures.
95class RunesOfVirtueTestTracker(TestTrackerMixin, RunesOfVirtueOCRTracker): 96 """ 97 Inherit this class and set TERMINATION_TRUNCATION_METRIC to create a TestTracker for Runes of Virtue games. 98 """ 99 100 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1OpenMenuTerminateMetric 101 SUBGOAL_METRIC = DummySubGoalMetric
Inherit this class and set TERMINATION_TRUNCATION_METRIC to create a TestTracker for Runes of Virtue games.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
104class RunesOfVirtue1OpenMenuTestTracker(RunesOfVirtueTestTracker): 105 """ 106 A TestTracker for Runes of Virtue 1 that ends an episode when the player opens the inventory menu. 107 """ 108 109 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1OpenMenuTerminateMetric 110 SUBGOAL_METRIC = DummySubGoalMetric
A TestTracker for Runes of Virtue 1 that ends an episode when the player opens the inventory menu.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
113class RunesOfVirtue2OpenMenuTestTracker(RunesOfVirtueTestTracker): 114 """ 115 A TestTracker for Runes of Virtue 2 that ends an episode when the player opens the inventory menu. 116 """ 117 118 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2OpenMenuTerminateMetric 119 SUBGOAL_METRIC = DummySubGoalMetric
A TestTracker for Runes of Virtue 2 that ends an episode when the player opens the inventory menu.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
122class RunesOfVirtue2ReadBookTestTracker(RunesOfVirtueTestTracker): 123 """Ends an episode when the player opens a book.""" 124 125 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2ReadBookTerminateMetric 126 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player opens a book.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
129class RunesOfVirtue2BlockedRoomEnteredTestTracker(RunesOfVirtueTestTracker): 130 """Ends an episode when the player has entered the blocked room.""" 131 132 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2BlockedRoomEnteredTerminateMetric 133 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player has entered the blocked room.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
136class RunesOfVirtue2NystulDialogTestTracker(RunesOfVirtueTestTracker): 137 """Ends an episode when the player is in dialog with Nystul.""" 138 139 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2NystulDialogTerminateMetric 140 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Nystul.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
143class RunesOfVirtue2BlacksmithFailBuyShieldTestTracker(RunesOfVirtueTestTracker): 144 """Ends an episode when the blacksmith's failed shield purchase dialog is shown.""" 145 146 TERMINATION_TRUNCATION_METRIC = ( 147 RunesOfVirtue2BlacksmithFailBuyShieldTerminateMetric 148 ) 149 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the blacksmith's failed shield purchase dialog is shown.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
152class RunesOfVirtue2SherryMouseDialogTestTracker(RunesOfVirtueTestTracker): 153 """Ends an episode when Sherry the mouse's dialog is shown.""" 154 155 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2SherryMouseDialogTerminateMetric 156 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when Sherry the mouse's dialog is shown.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
159class RunesOfVirtue2SandyCookDialogTestTracker(RunesOfVirtueTestTracker): 160 """Ends an episode when Sandy the cook's dialog is shown.""" 161 162 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2SandyCookDialogTerminateMetric 163 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when Sandy the cook's dialog is shown.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
166class RunesOfVirtue2LordWhitsaberDialogTestTracker(RunesOfVirtueTestTracker): 167 """Ends an episode when Lord Whitsaber's dialog is shown.""" 168 169 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2LordWhitsaberDialogTerminateMetric 170 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when Lord Whitsaber's dialog is shown.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
173class RunesOfVirtue2CaveOfDishonourTestTracker(RunesOfVirtueTestTracker): 174 """Ends an episode when the player has entered the Cave of Dishonour.""" 175 176 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CaveOfDishonourTerminateMetric 177 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player has entered the Cave of Dishonour.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
180class RunesOfVirtue2CavernOfHatredTestTracker(RunesOfVirtueTestTracker): 181 """Ends an episode when the player has entered the Cavern of Hatred.""" 182 183 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CavernOfHatredTerminateMetric 184 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player has entered the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
187class RunesOfVirtue2CaveOfDishonourEnterFloor2TestTracker(RunesOfVirtueTestTracker): 188 """Ends an episode when the player enters floor 2 in the Cave of Dishonour.""" 189 190 TERMINATION_TRUNCATION_METRIC = ( 191 RunesOfVirtue2CaveOfDishonourEnterFloor2TerminateMetric 192 ) 193 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 2 in the Cave of Dishonour.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
196class RunesOfVirtue2CaveOfDishonourEnterFloor3TestTracker(RunesOfVirtueTestTracker): 197 """Ends an episode when the player enters floor 3 in the Cave of Dishonour.""" 198 199 TERMINATION_TRUNCATION_METRIC = ( 200 RunesOfVirtue2CaveOfDishonourEnterFloor3TerminateMetric 201 ) 202 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 3 in the Cave of Dishonour.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
205class RunesOfVirtue2GrabCheeseFromKitchenTestTracker(RunesOfVirtueTestTracker): 206 """Ends an episode when the player grabs the cheese from the kitchen.""" 207 208 TERMINATION_TRUNCATION_METRIC = ( 209 RunesOfVirtue2GrabCheeseFromKitchenTerminateMetric 210 ) 211 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player grabs the cheese from the kitchen.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
214class RunesOfVirtue2GiveCheeseToSherryTestTracker(RunesOfVirtueTestTracker): 215 """Ends an episode when the player gives the cheese to Sherry.""" 216 217 TERMINATION_TRUNCATION_METRIC = ( 218 RunesOfVirtue2GiveCheeseToSherryTerminateMetric 219 ) 220 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player gives the cheese to Sherry.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
223class RunesOfVirtue2ClimbLadderBehindLockedDoorTestTracker( 224 RunesOfVirtueTestTracker 225): 226 """Ends an episode when the player climbs the ladder behind the locked door.""" 227 228 TERMINATION_TRUNCATION_METRIC = ( 229 RunesOfVirtue2ClimbLadderBehindLockedDoorTerminateMetric 230 ) 231 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player climbs the ladder behind the locked door.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
234class RunesOfVirtue2InteractWithMapOnTableTestTracker(RunesOfVirtueTestTracker): 235 """Ends an episode when the player interacts with the map on the table.""" 236 237 TERMINATION_TRUNCATION_METRIC = ( 238 RunesOfVirtue2InteractWithMapOnTableTerminateMetric 239 ) 240 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player interacts with the map on the table.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
243class RunesOfVirtue2FindLadderBackFromCastleTestTracker(RunesOfVirtueTestTracker): 244 """Ends an episode when the player finds a ladder back from the castle.""" 245 246 TERMINATION_TRUNCATION_METRIC = ( 247 RunesOfVirtue2FindLadderBackFromCastleTerminateMetric 248 ) 249 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player finds a ladder back from the castle.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
252class RunesOfVirtue2UnlockDoorAndSaveTholdenTestTracker( 253 RunesOfVirtueTestTracker 254): 255 """Ends an episode when the player unlocks the door and saves Tholden.""" 256 257 TERMINATION_TRUNCATION_METRIC = ( 258 RunesOfVirtue2UnlockDoorAndSaveTholdenTerminateMetric 259 ) 260 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player unlocks the door and saves Tholden.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
263class RunesOfVirtue2FindLadderOutOfCavernOfHatredTestTracker( 264 RunesOfVirtueTestTracker 265): 266 """Ends an episode when the player finds a ladder out of the Cavern of Hatred.""" 267 268 TERMINATION_TRUNCATION_METRIC = ( 269 RunesOfVirtue2FindLadderOutOfCavernOfHatredTerminateMetric 270 ) 271 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player finds a ladder out of the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
274class RunesOfVirtue2BringTholdenBackToKingTestTracker(RunesOfVirtueTestTracker): 275 """Ends an episode when the player brings Tholden back to the king.""" 276 277 TERMINATION_TRUNCATION_METRIC = ( 278 RunesOfVirtue2BringTholdenBackToKingTerminateMetric 279 ) 280 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player brings Tholden back to the king.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
283class RunesOfVirtue2AttendCastleCeremonyTestTracker(RunesOfVirtueTestTracker): 284 """Ends an episode when the player attends the ceremony in the castle.""" 285 286 TERMINATION_TRUNCATION_METRIC = ( 287 RunesOfVirtue2AttendCastleCeremonyTerminateMetric 288 ) 289 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player attends the ceremony in the castle.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
292class RunesOfVirtue2CavernOfHatredGate1UnlockedTestTracker( 293 RunesOfVirtueTestTracker 294): 295 """Ends an episode when the first Cavern of Hatred gate is unlocked.""" 296 297 TERMINATION_TRUNCATION_METRIC = ( 298 RunesOfVirtue2CavernOfHatredGate1UnlockedTerminateMetric 299 ) 300 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the first Cavern of Hatred gate is unlocked.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
303class RunesOfVirtue2CavernOfHatredLadderRoom2TestTracker( 304 RunesOfVirtueTestTracker 305): 306 """Ends an episode when the player enters the second ladder room in the Cavern of Hatred.""" 307 308 TERMINATION_TRUNCATION_METRIC = ( 309 RunesOfVirtue2CavernOfHatredLadderRoom2TerminateMetric 310 ) 311 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters the second ladder room in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
314class RunesOfVirtue2CavernOfHatredLadder2TestTracker(RunesOfVirtueTestTracker): 315 """Ends an episode when the player reaches the second ladder in the Cavern of Hatred.""" 316 317 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CavernOfHatredLadder2TerminateMetric 318 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player reaches the second ladder in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
321class RunesOfVirtue2CavernOfHatredGrabKeyTestTracker(RunesOfVirtueTestTracker): 322 """Ends an episode when the player grabs the key in the Cavern of Hatred.""" 323 324 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2CavernOfHatredGrabKeyTerminateMetric 325 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player grabs the key in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
328class RunesOfVirtue2CavernOfHatredEnterFloor4TestTracker(RunesOfVirtueTestTracker): 329 """Ends an episode when the player enters floor 4 in the Cavern of Hatred.""" 330 331 TERMINATION_TRUNCATION_METRIC = ( 332 RunesOfVirtue2CavernOfHatredEnterFloor4TerminateMetric 333 ) 334 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 4 in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
337class RunesOfVirtue2CavernOfHatredEnterFloor5TestTracker(RunesOfVirtueTestTracker): 338 """Ends an episode when the player enters floor 5 in the Cavern of Hatred.""" 339 340 TERMINATION_TRUNCATION_METRIC = ( 341 RunesOfVirtue2CavernOfHatredEnterFloor5TerminateMetric 342 ) 343 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 5 in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
346class RunesOfVirtue2CavernOfHatredEnterFloor6TestTracker(RunesOfVirtueTestTracker): 347 """Ends an episode when the player enters floor 6 in the Cavern of Hatred.""" 348 349 TERMINATION_TRUNCATION_METRIC = ( 350 RunesOfVirtue2CavernOfHatredEnterFloor6TerminateMetric 351 ) 352 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 6 in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
355class RunesOfVirtue2CavernOfHatredEnterFloor7TestTracker(RunesOfVirtueTestTracker): 356 """Ends an episode when the player enters floor 7 in the Cavern of Hatred.""" 357 358 TERMINATION_TRUNCATION_METRIC = ( 359 RunesOfVirtue2CavernOfHatredEnterFloor7TerminateMetric 360 ) 361 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 7 in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
364class RunesOfVirtue2DeathScreenTestTracker(RunesOfVirtueTestTracker): 365 """Ends an episode when the death / game over screen is shown.""" 366 367 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue2DeathScreenTerminateMetric 368 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the death / game over screen is shown.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
371class RunesOfVirtue1KingDialogTestTracker(RunesOfVirtueTestTracker): 372 """Ends an episode when the player is in dialog with the king.""" 373 374 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1KingDialogTerminateMetric 375 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with the king.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
378class RunesOfVirtue1ChucklesDialogTestTracker(RunesOfVirtueTestTracker): 379 """Ends an episode when the player is in dialog with Chuckles.""" 380 381 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1ChucklesDialogTerminateMetric 382 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Chuckles.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
385class RunesOfVirtue1GnuGnu1DialogTestTracker(RunesOfVirtueTestTracker): 386 """Ends an episode when the player is in dialog with Gnu Gnu at his 1st store.""" 387 388 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1GnuGnu1DialogTerminateMetric 389 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Gnu Gnu at his 1st store.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
392class RunesOfVirtue1GnuGnu2DialogTestTracker(RunesOfVirtueTestTracker): 393 """Ends an episode when the player is in dialog with Gnu Gnu at his 2nd store.""" 394 395 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1GnuGnu2DialogTerminateMetric 396 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Gnu Gnu at his 2nd store.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
399class RunesOfVirtue1SherryDialogTestTracker(RunesOfVirtueTestTracker): 400 """Ends an episode when the player is in dialog with Sherry.""" 401 402 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1SherryDialogTerminateMetric 403 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Sherry.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
406class RunesOfVirtue1CavernOfHatredTestTracker(RunesOfVirtueTestTracker): 407 """Ends an episode when the player has entered the Cavern of Hatred.""" 408 409 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1CavernOfHatredTerminateMetric 410 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player has entered the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
413class RunesOfVirtue1CavernOfDeceitTestTracker(RunesOfVirtueTestTracker): 414 """Ends an episode when the player has entered the Cavern of Deceit.""" 415 416 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1CavernOfDeceitTerminateMetric 417 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player has entered the Cavern of Deceit.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
420class RunesOfVirtue1CavernOfCowardiceTestTracker(RunesOfVirtueTestTracker): 421 """Ends an episode when the player has entered the Cavern of Cowardice.""" 422 423 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1CavernOfCowardiceTerminateMetric 424 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player has entered the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
427class RunesOfVirtue1CavernOfCowardiceEnterFloor2TestTracker( 428 RunesOfVirtueTestTracker 429): 430 """Ends an episode when the player enters floor 2 of the Cavern of Cowardice.""" 431 432 TERMINATION_TRUNCATION_METRIC = ( 433 RunesOfVirtue1CavernOfCowardiceEnterFloor2TerminateMetric 434 ) 435 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 2 of the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
438class RunesOfVirtue1CavernOfCowardiceEnterFloor3TestTracker( 439 RunesOfVirtueTestTracker 440): 441 """Ends an episode when the player enters floor 3 of the Cavern of Cowardice.""" 442 443 TERMINATION_TRUNCATION_METRIC = ( 444 RunesOfVirtue1CavernOfCowardiceEnterFloor3TerminateMetric 445 ) 446 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 3 of the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
449class RunesOfVirtue1CavernOfCowardiceFloor3ChestOpenedTestTracker( 450 RunesOfVirtueTestTracker 451): 452 """Ends an episode when the player opens the floor 3 chest in the Cavern of Cowardice.""" 453 454 TERMINATION_TRUNCATION_METRIC = ( 455 RunesOfVirtue1CavernOfCowardiceFloor3ChestOpenedTerminateMetric 456 ) 457 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player opens the floor 3 chest in the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
460class RunesOfVirtue1CavernOfCowardiceEnterFloor4TestTracker( 461 RunesOfVirtueTestTracker 462): 463 """Ends an episode when the player enters floor 4 of the Cavern of Cowardice.""" 464 465 TERMINATION_TRUNCATION_METRIC = ( 466 RunesOfVirtue1CavernOfCowardiceEnterFloor4TerminateMetric 467 ) 468 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 4 of the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
471class RunesOfVirtue1CavernOfCowardiceSherryFloor4DialogTestTracker( 472 RunesOfVirtueTestTracker 473): 474 """Ends an episode when the player is in dialog with Sherry on floor 4 of the Cavern of Cowardice.""" 475 476 TERMINATION_TRUNCATION_METRIC = ( 477 RunesOfVirtue1CavernOfCowardiceSherryFloor4DialogTerminateMetric 478 ) 479 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Sherry on floor 4 of the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
482class RunesOfVirtue1CavernOfCowardiceTakeStewFloor4TestTracker( 483 RunesOfVirtueTestTracker 484): 485 """Ends an episode when the player takes stew on floor 4 of the Cavern of Cowardice.""" 486 487 TERMINATION_TRUNCATION_METRIC = ( 488 RunesOfVirtue1CavernOfCowardiceTakeStewFloor4TerminateMetric 489 ) 490 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player takes stew on floor 4 of the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
493class RunesOfVirtue1CavernOfCowardiceObtainCoinFloor4TestTracker( 494 RunesOfVirtueTestTracker 495): 496 """Ends an episode when the player obtains the coin on floor 4 of the Cavern of Cowardice.""" 497 498 TERMINATION_TRUNCATION_METRIC = ( 499 RunesOfVirtue1CavernOfCowardiceObtainCoinFloor4TerminateMetric 500 ) 501 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player obtains the coin on floor 4 of the Cavern of Cowardice.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
504class RunesOfVirtue1DrCatDialogTestTracker(RunesOfVirtueTestTracker): 505 """Ends an episode when the player is in dialog with Dr. Cat.""" 506 507 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1DrCatDialogTerminateMetric 508 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Dr. Cat.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
511class RunesOfVirtue1DrCatCatsLairDialogTestTracker(RunesOfVirtueTestTracker): 512 """Ends an episode when the player is in dialog with Dr. Cat in the Cat's Lair.""" 513 514 TERMINATION_TRUNCATION_METRIC = ( 515 RunesOfVirtue1DrCatCatsLairDialogTerminateMetric 516 ) 517 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is in dialog with Dr. Cat in the Cat's Lair.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
520class RunesOfVirtue1ShipRiddenTestTracker(RunesOfVirtueTestTracker): 521 """Ends an episode when the player rides the ship.""" 522 523 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1ShipRiddenTerminateMetric 524 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player rides the ship.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
527class RunesOfVirtue1BasementLadderUnlockedTestTracker(RunesOfVirtueTestTracker): 528 """Ends an episode when the player unlocks the basement ladder.""" 529 530 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1BasementLadderUnlockedTerminateMetric 531 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player unlocks the basement ladder.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
534class RunesOfVirtue1BasementChestOpenedTestTracker(RunesOfVirtueTestTracker): 535 """Ends an episode when the player opens the basement chest.""" 536 537 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1BasementChestOpenedTerminateMetric 538 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player opens the basement chest.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
541class RunesOfVirtue1CavernOfHatredEnterFloor2TestTracker(RunesOfVirtueTestTracker): 542 """Ends an episode when the player enters floor 2 of the Cavern of Hatred.""" 543 544 TERMINATION_TRUNCATION_METRIC = ( 545 RunesOfVirtue1CavernOfHatredEnterFloor2TerminateMetric 546 ) 547 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 2 of the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
550class RunesOfVirtue1CavernOfHatredSherryFloor2DialogTestTracker( 551 RunesOfVirtueTestTracker 552): 553 """Ends an episode when Sherry's floor 2 dialog is on screen in the Cavern of Hatred.""" 554 555 TERMINATION_TRUNCATION_METRIC = ( 556 RunesOfVirtue1CavernOfHatredSherryFloor2DialogTerminateMetric 557 ) 558 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when Sherry's floor 2 dialog is on screen in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
561class RunesOfVirtue1CavernOfHatredChooseDoorWithSherryTestTracker( 562 RunesOfVirtueTestTracker 563): 564 """Ends an episode when Sherry asks the player to choose a door in the Cavern of Hatred.""" 565 566 TERMINATION_TRUNCATION_METRIC = ( 567 RunesOfVirtue1CavernOfHatredChooseDoorWithSherryTerminateMetric 568 ) 569 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when Sherry asks the player to choose a door in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
572class RunesOfVirtue1CavernOfHatredChooseRightDoorMelissaDialogTestTracker( 573 RunesOfVirtueTestTracker 574): 575 """Ends an episode when Melissa's dialog is on screen after choosing the right door.""" 576 577 TERMINATION_TRUNCATION_METRIC = ( 578 RunesOfVirtue1CavernOfHatredChooseRightDoorMelissaDialogTerminateMetric 579 ) 580 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when Melissa's dialog is on screen after choosing the right door.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
583class RunesOfVirtue1CavernOfHatredEnterFloor3TestTracker(RunesOfVirtueTestTracker): 584 """Ends an episode when the player enters floor 3 of the Cavern of Hatred.""" 585 586 TERMINATION_TRUNCATION_METRIC = ( 587 RunesOfVirtue1CavernOfHatredEnterFloor3TerminateMetric 588 ) 589 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 3 of the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
592class RunesOfVirtue1CavernOfHatredEnterFloor4TestTracker(RunesOfVirtueTestTracker): 593 """Ends an episode when the player enters floor 4 of the Cavern of Hatred.""" 594 595 TERMINATION_TRUNCATION_METRIC = ( 596 RunesOfVirtue1CavernOfHatredEnterFloor4TerminateMetric 597 ) 598 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player enters floor 4 of the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
601class RunesOfVirtue1CavernOfHatredChestFloor1OpenedTestTracker( 602 RunesOfVirtueTestTracker 603): 604 """Ends an episode when the player opens the floor 1 chest in the Cavern of Hatred.""" 605 606 TERMINATION_TRUNCATION_METRIC = ( 607 RunesOfVirtue1CavernOfHatredChestFloor1OpenedTerminateMetric 608 ) 609 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player opens the floor 1 chest in the Cavern of Hatred.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
612class RunesOfVirtue1TelescopeViewTestTracker(RunesOfVirtueTestTracker): 613 """Ends an episode when the player is looking through the telescope.""" 614 615 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1TelescopeViewTerminateMetric 616 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the player is looking through the telescope.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.
619class RunesOfVirtue1DeathScreenTestTracker(RunesOfVirtueTestTracker): 620 """Ends an episode when the death / game over screen is shown.""" 621 622 TERMINATION_TRUNCATION_METRIC = RunesOfVirtue1DeathScreenTerminateMetric 623 SUBGOAL_METRIC = DummySubGoalMetric
Ends an episode when the death / game over screen is shown.
The TerminationTruncationMetric class to use for tracking termination and truncation. If None, no such metric will be tracked.
The SubGoalMetric class to use for tracking subgoal progress. If None, no such metric will be tracked.