Abyss timeless jewels: two-line passives with the same roll range show one roll on both lines
Los mantenedores suelen responder en 8 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- lua
- Área
- backend-api-design
Línea de trabajo
Start in src/Classes/PassiveSpec.lua around the Abyss branch at lines 1284–1288 and compare it with the Glorious Vanity handling around line 1313. Check how changedNode.sd, changedNode.sortedStats, and stat indices align, especially for kalguur_notable_22, then inspect the related tree conquest path. Done when each passive line uses its own roll in both the displayed text and calculation; the issue includes reproduction steps and expected values.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
For Abyss timeless jewels (Destructive Aspiration, Reclaimed Malevolence, etc.), a conquered passive with two lines that share the same roll range shows the same rolled value on both lines, even when the jewel rolled them differently. Which of the two rolls is shown depends on Lua table iteration order, so it can differ between PoB sessions.
Affected legion entries at current dev:
abyss_ghastly_small_attribute35andabyss_special_small_attribute35: "Minions have (2-3)% increased Attack Speed" / "Minions have (2-3)% increased Cast Speed"vaal_notable_dodge_1: "(8-10)% chance to Avoid Elemental Ailments" / "(8-10)% chance to Avoid being Stunned"kalguur_notable_22: "20% faster Restoration of Ward" / "20% faster start of Energy Shield Recharge" (fixed text, replaced through themin ~= valuebranch)
Steps:
- Socket Destructive Aspiration with a seed and socket where a small passive becomes the Minion Attack/Cast Speed node, with different rolls for the two stats (e.g. 2% and 3%). The Timeless Jewel search window shows the two rolls separately.
- Hover the passive on the tree.
Expected: "Minions have 2% increased Attack Speed" and "Minions have 3% increased Cast Speed" (each line uses its own roll).
Actual: both lines show the same value (2% and 2%, or 3% and 3%), and the calculation uses that value for both.
Cause
For each output line, the code loops over all stats of the node with pairs() and applies each one's substitution to the line:
replaceHelperFunc replaces the literal "(min-max)" text (or the fixed value):
When both stats have the same range text, whichever stat pairs() visits first fills the placeholder on every line, and the other roll is never used. The Glorious Vanity branch already picks one stat per line via sortedStats[i] (PassiveSpec.lua#L1313), and the Timeless Jewel search reads rolls by stat index with data.getAbyssJewelComponentRoll (TreeTab.lua#L2594-L2595). Only the tree conquest path has this problem.
Possible fix
In the Abyss branch, substitute only the stat that belongs to the line instead of looping over all stats:
for statIndex, statLine in ipairs(changedNode.sd) do
local statKey = changedNode.sortedStats[statIndex]
local statMod = changedNode.stats[statKey]
statLine = replaceHelperFunc(statLine, statKey, statMod, component.rolls[statMod.index])
...
(Check that sd and sortedStats are aligned for these entries. For kalguur_notable_22, index is the reverse of line order.) The additions loop at PassiveSpec.lua#L1351 uses the same pairs(addition.stats) pattern. It is harmless for single-stat additions.
- Lenguaje dominante
- Lua
- Estrellas
- 5.5k
- Forks
- 2.4k
- Merge medio
- 6 d 14 h
- PR fusionados (30 d)
- 13
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PathOfBuildingCommunity/PathOfBuilding
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
PathOfBuildingCommunity/PathOfBuilding#10431 ·
Los mantenedores suelen responder en 8 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
PathOfBuildingCommunity/PathOfBuilding#10428 ·
Los mantenedores suelen responder en 8 días
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
PathOfBuildingCommunity/PathOfBuilding#10420 ·
Los mantenedores suelen responder en 8 días
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
PathOfBuildingCommunity/PathOfBuilding#10395 ·
Los mantenedores suelen responder en 8 días
-
bug: accuracy
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
PathOfBuildingCommunity/PathOfBuilding#9911 ·
Los mantenedores suelen responder en 8 días
Todos los issues de PathOfBuildingCommunity/PathOfBuilding
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 5 días
-
enhancement priority::low upstream
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug reviewed-by-AI
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
olimorris/codecompanion.nvim#3508 ·
Los mantenedores suelen responder en 1 día
-
The Balanced badge stays on a card after it changes to an enhancement that isn't rebalancedPosiblemente ocupada @Jr-JoshS la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 71/100
Balatro-Multiplayer/BalatroMultiplayerPvP#640 ·
Los mantenedores suelen responder en 1 día
-
Babies count as citizens for housing and the lost-fort check, though a baby uses no bed or seatAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Layr-Labs/arena-fortress#141 ·
Los mantenedores suelen responder en 1 día