fix: preserve runestone bounty flag for legacy defeated bosses #67

Merged
naomi merged 1 commits from fix/boss-runestone-repeat-kill into main 2026-03-18 13:50:20 -07:00
Owner

Summary

  • Bosses defeated before bountyRunestonesClaimed was introduced had status: "defeated" but the field undefined
  • After prestige, the preservation check (=== true) missed these bosses, so the first-kill bounty was re-awarded on the next run
  • Now also treats status === "defeated" as proof the bounty was already earned, covering the migration case

Test plan

  • Existing test: preserves bountyRunestonesClaimed flag on bosses across prestige — still passes
  • New test: sets bountyRunestonesClaimed on bosses defeated before the flag was introduced — covers the legacy save migration path
  • Full coverage maintained at 100%

Closes #52

This PR was created with help from Hikari~ 🌸

## Summary - Bosses defeated before `bountyRunestonesClaimed` was introduced had `status: "defeated"` but the field `undefined` - After prestige, the preservation check (`=== true`) missed these bosses, so the first-kill bounty was re-awarded on the next run - Now also treats `status === "defeated"` as proof the bounty was already earned, covering the migration case ## Test plan - [ ] Existing test: `preserves bountyRunestonesClaimed flag on bosses across prestige` — still passes - [ ] New test: `sets bountyRunestonesClaimed on bosses defeated before the flag was introduced` — covers the legacy save migration path - [ ] Full coverage maintained at 100% Closes #52 ✨ This PR was created with help from Hikari~ 🌸
hikari added 1 commit 2026-03-18 13:31:48 -07:00
fix: preserve bounty flag for bosses defeated before flag was introduced
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m1s
CI / Lint, Build & Test (pull_request) Successful in 1m8s
05c0faa432
Bosses killed before `bountyRunestonesClaimed` was added to the codebase
had `status: "defeated"` but the field undefined. After prestige, the
preservation check (`=== true`) missed these, so the bounty was re-awarded
next run. Now also treat `status === "defeated"` as proof the bounty was
already earned.

Closes #52
naomi merged commit aede55a13d into main 2026-03-18 13:50:20 -07:00
naomi deleted branch fix/boss-runestone-repeat-kill 2026-03-18 13:50:20 -07:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/elysium#67