Files
healer-man/docs/ROM_KNIGHT_PANTHER_DODGE_PROC_2026-10-02.md
T

2.6 KiB

RoM Knight/Rogue Panther's Blessing dodge proc

Source contract

The current CoA Knight/Rogue skill list 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:

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.