Fix benchmark maintained aura selection (#18)
This commit is contained in:
1 parent
89b6f4f79d
commit
72a67ac1e3
5 files changed
+205
-13
No files matched your search
@@ -0,0 +1,22 @@
|
||||
# Issue 18: maintenance cast selection
|
||||
|
||||
The benchmark controller scores a generic candidate list alongside the shared
|
||||
rotation. A maintained aura rejected by the shared selector must also be
|
||||
removed from that fallback list, or the next benchmark decision can cast it
|
||||
again.
|
||||
|
||||
Current, unexpired auras are passed to the selector with their actual target
|
||||
and aura ID. The selector suppresses the same applied aura only on the target
|
||||
the candidate would use. An aura on another actor does not block the cast, and
|
||||
a different aura in the same exclusive group remains eligible to replace it.
|
||||
Expired and dispelled auras are absent from the active snapshot. Periodic
|
||||
effects retain their source, target, and remaining-duration checks. An attack
|
||||
or heal that also applies an aura remains eligible for its primary effect.
|
||||
|
||||
Focused regressions cover Protection Paladin L60 Greater Blessing of Sanctuary,
|
||||
RoM Scout L30 Detection, target-scoped aura selection, and exclusive-group
|
||||
replacement. Run them with:
|
||||
|
||||
```sh
|
||||
./node_modules/.bin/vitest run src/game/benchmark/benchmarkController.maintenance.test.ts src/game/combatRotation.test.ts --reporter=dot
|
||||
```
|
||||
Reference in new issue
Block a user