28 lines
2.6 KiB
Markdown
28 lines
2.6 KiB
Markdown
# RoM Knight/Rogue Panther's Blessing dodge proc
|
|
|
|
## Source contract
|
|
|
|
The current CoA [Knight/Rogue skill list](https://chroniclesofarcadia.com/wiki/skills/list/6-3?locale=ru) identifies 493047 as Panther's Blessing, a level-45 passive. Its current tooltip says a dodge restores 10% HP and 1% MP. This identity is separate from level-50 God's Vengeance 499934.
|
|
|
|
The current skill row publishes no rank curve, and the tooltip does not define the percentage bases or integer rounding. The simulator therefore applies the flat published 10% and 1% values to the actor's own maximum HP and mana pools, rounds each request to a whole point, and caps each restore at the current maximum. These are explicit simulator interpretations, not separately published CoA details.
|
|
|
|
The local RuneWaker 493183 child describes a different shield-conditioned chance to grant +2 Dodge. Its chance and required shield check are unavailable, so the child stays suppressed while the current CoA proc runs independently.
|
|
|
|
## Runtime ownership and boundaries
|
|
|
|
`src/game/romKnightPanthersBlessingRuntime.ts` owns the exact Knight-primary/Rogue-secondary, learned-passive, living-owner, resolved-dodge gate and the pool-basis calculation. `src/game/combatStore.ts` owns both real-player and generated-companion incoming-hit resolution, so it applies the helper there and records the HP and mana outcomes under `rom-knight-rom-rogue-elite-45`.
|
|
|
|
The trigger is the combat resolver's actual `combatResult.dodged` outcome. Misses, parries, blocks, ordinary hits, other class pairs, and an unlearned level-45 passive do not trigger it. The generic `damagePlayer` adapter has no dodge result and does not synthesize one. The current resolver exposes dodge for melee attack kinds; this runtime does not add another chance roll, cooldown, shield requirement, rank scaling, or event source.
|
|
|
|
The player scalar pools and player actor snapshot are updated together when present. Companion health and mana are written through the authoritative actor and mirrored to the party member.
|
|
|
|
## Validation
|
|
|
|
Focused validation:
|
|
|
|
```text
|
|
npm test -- --run src/game/romKnightPantherDodgeProc.integration.test.ts src/game/romKnightPanthersBlessingRuntime.test.ts src/game/romKnightOverrides.test.ts
|
|
```
|
|
|
|
The focused command passed all 21 tests across the integration, helper, and catalog files. The integration cases cover a capped player restore, a generated-companion restore and mirror, below-level gating for both actor paths, and the no-synthetic-dodge boundaries for direct damage and a spell hit. The catalog test confirms the stale 493183 child remains absent.
|