Add flags for ineligible characters and green-con mobs#57
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the existing 11% cap asterisk (
*) pattern to cover two other cases where XP is non-standard.*†‡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: booleanis threaded through the pipeline so the UI doesn't have to re-implement eligibility logic in the DOM layer:src/split.js—Allocationgainseligiblesrc/award.js—Awardgainseligiblesrc/kills.js—PlayerKillsgainseligiblesrc/ui.js— readsplayer.eligibleto choose the right flagTest plan
node --test— 201 tests passnpm run lintnpm run format:check†appears‡appears*still appears for the 11% cap caseGenerated by Claude Code