An ExileCore2 plugin that analyzes Well of Souls choices, maps visible modifiers to hidden outcomes, provides intelligent scoring with user-configurable profiles, and renders an overlay to help make optimal waystone crafting decisions.
-
Favorite weights (NEW)
- Add
+11 = Favoritefor any weight (Visible: Default/Desecrated, or Hidden). - Favorites override everything (including Banned) and render a yellow
FAVORITEbadge on the overlay. - Sliders now support -11..+11; when set to
+11they display “Favorite” and use the Favorite color. - New UI color: FavoriteWeightColor (default warm yellow) in Profiles → Appearance.
- Add
-
Robust choice panel detection
- Overlay now gates strictly on the actual 3-choices panel visibility (no longer inferred from Reveal button).
- Rectangles must be valid (non-zero size) before overlay draws, eliminating top-left flicker.
-
Panel generation tracking
- Detects when the 3-choices panel is rebuilt (element IDs/rects change).
- Clears caches and restarts detection reliably on every cycle.
-
Grace window for fast interactions
- New setting
ChoicesGraceMs(default 3000 ms). - During grace, overlay accepts empty text and fills in as choices populate.
- Prevents missed overlays when clicking quickly through Confirm → Reveal cycles.
- New setting
-
Settings
ChoicesGraceMsexposed in the menu (0–10000 ms).- Diagnostics/Profiles unchanged.
{
"schema": 2,
"active": "Default",
"profiles": {
"Default": {
"visibleDefault": { "pack size": 2.0 },
"visibleDesecrated": { "abyss pits": 5.0 },
"hidden": { "map item quantity": 8.0 },
"multDefault": 0.0,
"multDesecrated": 0.0,
"multHidden": 0.0
}
}
}Hidden Mapping (data/HiddenMap.user.json)
{
"schema": 2,
"mappings": [
{
"match": "Abysses lead to an Abyssal Depths",
"hidden": ["+20% Map Item Drop Chance"]
}
]
}- Changed Profile Settings so the background is Yellow if the weight is "Favorite"
- Changed some bugged text for better comprehension
- Favorite weight added: +11 shows a yellow FAVORITE badge and overrides all other checks (including BANNED).
- Sliders expanded to -11..+11 with textual labels (Banned, Favorite) and proper colors.
- Profiles UI adds FavoriteWeightColor (default warm yellow).
- Generalized “overrun …” handling: any visible line containing overrun resolves to the canonical “Area is overrun by the Abyssal/Abyss” slider value.
- Ensures future wording drift still maps to the configured slider.
- Weight lookups hardened: profile/dictionary paths both apply the overrun canonicalization before scoring.
- Fixed the “Area is overrun by the Abyssal” slider not affecting the overlay when the UI showed “…Abyss”; introduced an alias so both variants map to the same key.
- Added strict rectangle validity checks to eliminate flicker.
- Choice panel detection, generation tracking, and 3s grace window for fast Confirm→Reveal cycles.
- Improved grace handling and overlay stability during rapid clicks.
- Panel visibility now keyed to actual 3-choices container.
- Panel generation flips tracked for reliable rebinds.
- Grace window setting exposed in menu.
- Normalization finalized with multi-
#collapse (e.g.,1#≈#) for reliable matches. - Scoring parity for “overrun” combinations (visible weights now apply correctly).
- Overlay gating refined: draw only when panel and at least one choice are ready.
- Loader hardening:
- Case-insensitive JSON properties.
- Deterministic merge order (built-in ← seeds ← user).
- Commit-after-parse to preserve last good data on errors.
- Diagnostics clarity improved: active paths and mapping counts surfaced.
- Multi-line / combined choice support:
- Exact match → per-clause split (newline/semicolon) → safe containment fallback.
- Merges results and de-duplicates hidden mods.
- Single-source normalization across the plugin:
- Bracket runs keep the visible token.
- Alternations
a|b|ckeep the last option. - Numbers →
#; punctuation/whitespace unified.
- Profiles and mappings now share the same normalizer.
- Initial overlay gating so rendering happens only when the choice panel is present.
- Minor overlay polish (debug rectangles, bubble label tuning).
- Data paths clarified; seeds under
Source/WellCrafted/data(runtime copy handled). - Loader reads consistently from the plugin’s
datafolder.
- Diagnostics improvements: Reload Mappings, Export Current, clearer logs.
- One-shot logging for unknown hidden keys to aid mapping coverage.
- 100 ms snapshot smoothing to eliminate transient empty frames during fast interactions.
- Immediate draw preserved (no added delay).
- Baseline modular refactor (core, mapping, scoring, profiles, UI).
- Overlay with hidden mod lines and scoring.
- Profiles v2 with backups and per-tab multipliers.