Skip to content

Add flags for ineligible characters and green-con mobs#57

Merged
ajbtech merged 2 commits into
mainfrom
claude/non-standard-xp-flags
May 29, 2026
Merged

Add flags for ineligible characters and green-con mobs#57
ajbtech merged 2 commits into
mainfrom
claude/non-standard-xp-flags

Conversation

@ajbtech

@ajbtech ajbtech commented May 29, 2026

Copy link
Copy Markdown
Owner

Summary

Extends the existing 11% cap asterisk (*) pattern to cover two other cases where XP is non-standard.

Symbol Meaning
* 11% per-mob cap applied — excess XP is lost (existing)
Character is too far below the highest party member to receive XP (level-spread eligibility)
Mob cons green to the highest party member — no XP awarded

The and flags appear in both the XP / kill cell (with a tooltip) and the kills → lvl / time → lvl cells (as —† or —‡ instead of a bare ).

Engine changes

eligible: boolean is threaded through the pipeline so the UI doesn't have to re-implement eligibility logic in the DOM layer:

  • src/split.jsAllocation gains eligible
  • src/award.jsAward gains eligible
  • src/kills.jsPlayerKills gains eligible
  • src/ui.js — reads player.eligible to choose the right flag

Test plan

  • node --test — 201 tests pass
  • npm run lint
  • npm run format:check
  • Manually verify: add a very low-level character to a high-level party → appears
  • Manually verify: set mob level low enough to cons green → appears
  • Verify * still appears for the 11% cap case

Generated by Claude Code

claude added 2 commits May 29, 2026 19:17
The 11% cap asterisk (*) already appears in the XP/kill cell. Two more
flags now appear in the same cell and in the kills/time columns:

  † — character is too far below the highest party member to receive XP
      (level-spread eligibility check)
  ‡ — mob cons green to the highest party member, so no XP is awarded

The eligible flag is threaded through split.js → award.js → kills.js
so the UI can distinguish "zero XP because ineligible" from "zero XP
because green con" without re-implementing eligibility logic in the DOM.
@ajbtech ajbtech merged commit 2bf07d6 into main May 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants