| BattleSession.kt |   | 86% |   | 64% | 37 | 144 | 39 | 382 | 14 | 109 | 0 | 1 |
| BattleSessionRunAttemptResolver.kt |   | 74% |   | 56% | 26 | 49 | 30 | 109 | 1 | 16 | 0 | 2 |
| BattleSessionLifecycleEventPayloads.kt |   | 53% | | n/a | 32 | 47 | 8 | 45 | 32 | 47 | 1 | 10 |
| BattleSessionQueuedActionEventPayloads.kt |   | 54% | | n/a | 33 | 40 | 0 | 40 | 33 | 40 | 0 | 7 |
| BattleSessionFaintHookStateManager.kt |   | 52% |   | 60% | 7 | 15 | 11 | 31 | 1 | 5 | 0 | 1 |
| BattleSessionExecutedActionEventPayloads.kt |   | 51% | | n/a | 19 | 25 | 1 | 25 | 19 | 25 | 0 | 5 |
| BattleSessionSwitchActionExecutor.kt |   | 74% |   | 50% | 7 | 9 | 3 | 33 | 0 | 2 | 0 | 1 |
| BattleSessionActionInvalidationResolver.kt |   | 80% |   | 65% | 15 | 28 | 11 | 53 | 0 | 6 | 0 | 1 |
| BattleSessionSwitchBoostStateSupport.kt |   | 78% |   | 57% | 6 | 10 | 6 | 33 | 0 | 3 | 0 | 1 |
| BattleSessionHookLifecycleProcessor.kt |   | 66% |   | 66% | 6 | 13 | 7 | 30 | 4 | 10 | 0 | 1 |
| BattleSessionState.kt |   | 42% | | n/a | 3 | 10 | 3 | 10 | 3 | 10 | 0 | 1 |
| BattleSessionLifecycleCoordinator.kt |   | 88% |   | 56% | 7 | 15 | 3 | 74 | 0 | 7 | 0 | 1 |
| BattleSessionRunActionExecutor.kt |   | 79% |   | 56% | 6 | 10 | 0 | 41 | 0 | 2 | 0 | 1 |
| DefaultBattleSessionCommandFactory.kt |   | 69% | | n/a | 5 | 14 | 33 | 95 | 5 | 14 | 0 | 1 |
| BattleSessionWinnerResolver.kt |   | 69% |   | 75% | 2 | 6 | 6 | 24 | 0 | 2 | 0 | 1 |
| BattleFieldEffectDurationManager.kt |   | 82% |   | 80% | 4 | 13 | 9 | 57 | 3 | 9 | 0 | 1 |
| BattleSessionSetupCoordinator.kt |   | 92% |   | 75% | 3 | 12 | 5 | 77 | 2 | 10 | 0 | 1 |
| BattleSessionSkippedActionEventPayload.kt |   | 36% | | n/a | 6 | 7 | 1 | 7 | 6 | 7 | 0 | 1 |
| BattleSessionEffectExecutionCoordinator.kt |   | 86% |   | 65% | 8 | 17 | 1 | 60 | 0 | 4 | 0 | 1 |
| CaptureChoice.kt |   | 60% | | n/a | 4 | 11 | 3 | 11 | 4 | 11 | 0 | 1 |
| BattleSessionCaptureActionHandler.kt |   | 74% |   | 50% | 3 | 6 | 7 | 33 | 0 | 3 | 0 | 1 |
| BattleSessionChoiceValidator.kt |   | 88% |   | 62% | 5 | 20 | 5 | 42 | 1 | 12 | 0 | 1 |
| BattleSideConditionDurationManager.kt |   | 88% |   | 75% | 5 | 12 | 3 | 48 | 2 | 7 | 0 | 1 |
| DefaultBattleSessionFactory.kt |   | 84% | | n/a | 1 | 3 | 6 | 55 | 1 | 3 | 0 | 1 |
| InMemoryBattleSessionChoiceHandlerRegistry.kt |   | 80% |   | 50% | 3 | 6 | 1 | 17 | 0 | 3 | 0 | 2 |
| InMemoryBattleSessionActionHandlerRegistry.kt |   | 80% |   | 50% | 3 | 6 | 1 | 17 | 0 | 3 | 0 | 2 |
| SwitchChoice.kt |   | 63% | | n/a | 2 | 8 | 1 | 8 | 2 | 8 | 0 | 1 |
| BattleUnitEffectDurationManager.kt |   | 92% |   | 85% | 4 | 18 | 3 | 74 | 2 | 10 | 0 | 1 |
| DefaultBattleSessionActionSortingStrategy.kt |   | 93% |   | 55% | 9 | 22 | 4 | 39 | 0 | 12 | 0 | 1 |
| BattleSessionItemAction.kt |   | 82% | | n/a | 3 | 12 | 1 | 12 | 3 | 12 | 0 | 1 |
| BattleSessionActionSpeedResolver.kt |   | 92% |   | 67% | 9 | 20 | 3 | 29 | 0 | 6 | 0 | 1 |
| BattleSessionMoveAction.kt |   | 89% | | n/a | 1 | 16 | 1 | 16 | 1 | 16 | 0 | 1 |
| MoveChoice.kt |  | 89% | | n/a | 4 | 16 | 3 | 16 | 4 | 16 | 0 | 1 |
| BattleSessionMoveChoiceHandler.kt |  | 87% |   | 50% | 2 | 5 | 0 | 23 | 0 | 3 | 0 | 1 |
| BattleSessionItemChoiceHandler.kt |  | 87% |   | 50% | 2 | 5 | 0 | 23 | 0 | 3 | 0 | 1 |
| BattleSessionCaptureChoiceHandler.kt |  | 87% |   | 50% | 2 | 5 | 0 | 22 | 0 | 3 | 0 | 1 |
| BattleSessionItemActionHandler.kt |  | 85% |   | 50% | 2 | 5 | 1 | 27 | 0 | 3 | 0 | 1 |
| BattleSessionSwitchChoiceHandler.kt |  | 85% |   | 50% | 2 | 5 | 0 | 17 | 0 | 3 | 0 | 1 |
| ItemChoice.kt |  | 84% | | n/a | 4 | 12 | 3 | 12 | 4 | 12 | 0 | 1 |
| BattleSessionRunChoiceHandler.kt |  | 84% |   | 50% | 2 | 5 | 0 | 14 | 0 | 3 | 0 | 1 |
| BattleSessionWaitChoiceHandler.kt |  | 84% |   | 50% | 2 | 5 | 0 | 14 | 0 | 3 | 0 | 1 |
| BattleSessionMoveActionHandler.kt |  | 82% |   | 50% | 2 | 5 | 1 | 21 | 0 | 3 | 0 | 1 |
| BattleSessionUnitRelationResolver.kt |  | 82% |   | 55% | 8 | 11 | 1 | 11 | 0 | 2 | 0 | 1 |
| BattleSessionWaitActionHandler.kt |  | 78% |   | 50% | 2 | 5 | 1 | 11 | 0 | 3 | 0 | 1 |
| BattleSessionSwitchActionHandler.kt |  | 77% |   | 50% | 2 | 5 | 1 | 10 | 0 | 3 | 0 | 1 |
| BattleSessionRunActionHandler.kt |  | 77% |   | 50% | 2 | 5 | 1 | 10 | 0 | 3 | 0 | 1 |
| BattleSessionCaptureResult.kt |  | 76% | | n/a | 4 | 9 | 0 | 9 | 4 | 9 | 0 | 1 |
| BattleSessionReplacementResolver.kt |  | 89% |  | 100% | 1 | 5 | 1 | 22 | 1 | 4 | 0 | 1 |
| BattleSessionChoiceActionMapper.kt |  | 93% |   | 91% | 1 | 8 | 1 | 50 | 0 | 2 | 0 | 1 |
| BattleEffectDurationAdvanceResult.kt |  | 80% | | n/a | 1 | 9 | 1 | 9 | 1 | 9 | 0 | 2 |
| BattleSessionActionExecutionSupport.kt |  | 94% |  | 100% | 1 | 9 | 1 | 37 | 1 | 7 | 0 | 1 |
| BattleSessionEffectAttributeResolver.kt |  | 90% |   | 83% | 3 | 12 | 1 | 20 | 0 | 3 | 0 | 1 |
| BattleSessionDirectDamageApplier.kt |  | 95% |   | 50% | 5 | 7 | 2 | 44 | 0 | 2 | 0 | 1 |
| DefaultReplacementStrategy.kt |  | 93% |   | 77% | 5 | 13 | 0 | 22 | 0 | 2 | 0 | 1 |
| BattleSessionActionQueue.kt |  | 90% | | n/a | 1 | 6 | 1 | 17 | 1 | 6 | 0 | 1 |
| BattleSessionReplacementPlanResolver.kt |  | 95% |   | 78% | 3 | 10 | 0 | 28 | 0 | 3 | 0 | 1 |
| BattleSessionCaptureAction.kt |  | 92% | | n/a | 2 | 11 | 0 | 11 | 2 | 11 | 0 | 1 |
| WaitChoice.kt |  | 86% | | n/a | 2 | 7 | 1 | 7 | 2 | 7 | 0 | 1 |
| BattleSessionMutationProcessor.kt |  | 97% |   | 83% | 2 | 10 | 2 | 58 | 0 | 4 | 0 | 1 |
| BattleSessionMoveOrderAttributeResolver.kt |  | 90% |   | 50% | 3 | 4 | 1 | 7 | 0 | 1 | 0 | 1 |
| BattleSessionRunAction.kt |  | 91% | | n/a | 0 | 6 | 0 | 6 | 0 | 6 | 0 | 1 |
| BattleSessionBeforeTurnStep.kt |  | 86% |   | 50% | 1 | 4 | 1 | 8 | 0 | 3 | 0 | 1 |
| BattleSessionAutoReplacementExecutor.kt |  | 98% |   | 75% | 2 | 6 | 0 | 43 | 0 | 2 | 0 | 1 |
| RunChoice.kt |  | 93% | | n/a | 1 | 6 | 0 | 6 | 1 | 6 | 0 | 1 |
| QueuedBattleSessionMoveAction.kt | | 80% | | n/a | 1 | 3 | 0 | 3 | 1 | 3 | 0 | 1 |
| BattleSessionSwitchingChoice.kt | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| BattleSessionAttachedHookDispatcher.kt |  | 95% |   | 50% | 1 | 4 | 1 | 19 | 0 | 3 | 0 | 1 |
| BattleSessionReplacementPlan.kt |  | 98% |   | 83% | 2 | 18 | 0 | 12 | 0 | 12 | 0 | 2 |
| BattleSessionQuery.kt |  | 100% |  | 100% | 0 | 17 | 0 | 17 | 0 | 13 | 0 | 1 |
| BattleSessionActionExecutor.kt |  | 100% |  | 100% | 0 | 5 | 0 | 28 | 0 | 2 | 0 | 1 |
| BattleSessionPublicationRecorder.kt |  | 100% | | n/a | 0 | 8 | 0 | 26 | 0 | 8 | 0 | 1 |
| BattleSessionEventType.kt |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 | 0 | 1 |
| BattleSessionCaptureResourceUsage.kt |  | 100% | | n/a | 0 | 12 | 0 | 12 | 0 | 12 | 0 | 1 |
| BattleSessionActionFactory.kt |  | 100% | | n/a | 0 | 7 | 0 | 46 | 0 | 7 | 0 | 1 |
| BattleSessionSwitchAction.kt |  | 100% | | n/a | 0 | 8 | 0 | 8 | 0 | 8 | 0 | 1 |
| BattleSessionActionKind.kt |  | 100% | | n/a | 0 | 3 | 0 | 8 | 0 | 3 | 0 | 1 |
| BattleSessionChoiceFactory.kt |  | 100% | | n/a | 0 | 7 | 0 | 46 | 0 | 7 | 0 | 1 |
| BattleSessionActionExecutionResult.kt |  | 100% | | n/a | 0 | 7 | 0 | 7 | 0 | 7 | 0 | 1 |
| BattleSessionWaitAction.kt |  | 100% | | n/a | 0 | 7 | 0 | 7 | 0 | 7 | 0 | 1 |
| BattleSessionTurnStatus.kt |  | 100% |  | 100% | 0 | 5 | 0 | 11 | 0 | 2 | 0 | 2 |
| BattleSessionPublication.kt |  | 100% | | n/a | 0 | 6 | 0 | 6 | 0 | 6 | 0 | 1 |
| DefaultBattleSessionTurnPipeline.kt |  | 100% | | n/a | 0 | 4 | 0 | 10 | 0 | 4 | 0 | 2 |
| BattleSessionChoiceStatus.kt |  | 100% | | n/a | 0 | 8 | 0 | 8 | 0 | 8 | 0 | 1 |
| BattleSessionEventPayload.kt |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 | 0 | 1 |
| BattleSessionChoiceKind.kt |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 | 0 | 1 |
| BattleSessionTurnContext.kt |  | 100% | | n/a | 0 | 6 | 0 | 4 | 0 | 6 | 0 | 1 |
| BattleSessionDefaultTurnStepFactory.kt |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 | 0 | 1 |
| BattleSessionTurnResultRecorder.kt |  | 100% | | n/a | 0 | 2 | 0 | 7 | 0 | 2 | 0 | 1 |
| BattleSessionTurnAdvanceStep.kt |  | 100% |  | 100% | 0 | 4 | 0 | 8 | 0 | 3 | 0 | 1 |
| BattleSessionStructuredEventProjector.kt |  | 100% |  | 100% | 0 | 4 | 0 | 8 | 0 | 3 | 0 | 1 |
| BattleSessionReplacementRequest.kt |  | 100% | | n/a | 0 | 4 | 0 | 4 | 0 | 4 | 0 | 1 |
| BattleSessionQueuedActionExecutionStep.kt |  | 100% | | n/a | 0 | 3 | 0 | 5 | 0 | 3 | 0 | 1 |
| BattleSessionResourceLedgerProjector.kt |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 3 | 0 | 1 |
| BattleSessionEvent.kt |  | 100% | | n/a | 0 | 4 | 0 | 4 | 0 | 4 | 0 | 1 |
| BattleSessionBattleLogProjector.kt |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 3 | 0 | 1 |
| DefaultBattleSessionEventPublisher.kt |  | 100% | | n/a | 0 | 2 | 0 | 6 | 0 | 2 | 0 | 1 |
| BattleSessionTurnResult.kt |  | 100% | | n/a | 0 | 3 | 0 | 3 | 0 | 3 | 0 | 1 |
| BattleSessionTurnValidationStep.kt |  | 100% | | n/a | 0 | 3 | 0 | 5 | 0 | 3 | 0 | 1 |
| BattleSessionResourceUsageKind.kt |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
| BattleSessionSwitchingAction.kt | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |