Update class mechanics, stat rulesets, and CoA reference catalogs
This commit is contained in:
1 parent
b16821e92e
commit
39458d5de6
221 files changed
+2584962
-568
No files matched your search
@@ -0,0 +1,27 @@
|
||||
# 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.
|
||||
Reference in new issue
Block a user