Skip to content

Major Update: Class Rankings

Latest

Choose a tag to compare

@KQFFE KQFFE released this 08 Apr 19:32

πŸš€ Highlights

Aggregate Class Rankings

You can now select a Base Class (e.g., Shadow, Duelist, Witch) from the dropdown to see a unified ranking of all its associated subclasses.

Shadow now includes: Assassin, Saboteur, and Trickster.
Duelist now includes: Slayer, Gladiator, and Champion.
...and so on for all seven starting classes.

Event Support

Added mappings for event-specific ascendancies like Reliquarian and Aristocrat (Scion), Antiquarian (Duelist), and more.

Corrected the character hierarchy to match Path of Exile's game structure:

Scion is now categorized as a Starting/Base Class.
Ascendant is correctly listed as a subclass (Ascendancy).

Smart Ranking Logic

The tool now uses contextual sorting to provide the most relevant data:

Base Class View

Characters are sorted strictly by Global Rank. This allows you to see the "Top 10 Shadows" regardless of which specific subclass they chose.

Ascendancy View

Sorting remains focused on Level and XP within that specific subclass.

πŸ› οΈ Improvements & Fixes

Logic & Performance

Optimized Fetching

Updated the "Smart Stop" logic in both Desktop and Web apps. The fetcher now correctly recognizes subclasses when a Base Class filter is active, preventing unnecessary API calls and infinite loading.

Re-indexing Ranks

Modified the data processor to re-calculate asc_rank after sorting. This ensures that the ranks displayed (e.g., 1 through 10) are accurate to the specific filter currently applied.

Live Updates

Improved the Desktop GUI to provide live updates during the fetching process for both "All" and "Base Class" views.
Bug Fixes

Web UI Stability

Fixed a ReferenceError in script.js where variable naming mismatches (isBaseFilter vs is_base_filter) caused the app to crash during sorting.

Rendering Fixes

Resolved an issue in the Web App where character rows were failing to render due to an undefined safeAsc variable.

Unified UI

Fixed a bug where Base Class results were being split into multiple tables; they are now displayed in a single, cohesive list.

Code Quality

Fixed an IndentationError in the Python backend that prevented the proxy server from starting.

πŸ’» Technical Changes

Centralized Mapping

Created a CLASS_TO_BASE dictionary to maintain the relationship between all current and event-specific ascendancies and their parent classes.

Data Structure

Added a group field to character objects to allow UI components to group characters logically regardless of their specific ascendancy string.