Newly picked gem keeps its level 1 attribute requirement until the group is reprocessed
维护者通常 8 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 79/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 领域
- backend
调研方向
从 src/Classes/SkillsTab.lua 中约第795–829行的宝石名称更改回调开始,然后阅读约第1226–1230行的 ProcessSocketGroup,以了解需求何时计算。检查宝石等级如何赋值,以及宝石组何时处理;完成的标志是新选中的宝石无需再次操作,就会以其默认等级显示属性需求和警告。Issue没有指定测试文件,因此请查找相关的SkillsTab测试或宝石需求测试。
由索引模型根据 Issue 内容生成。
描述
What happens
When you pick a gem into an empty gem row, its attribute requirement is worked out at gem level 1. That happens even though the row is then set to the default gem level (for example 20). The wrong requirement stays until something else reprocesses the socket group: selecting another group and coming back, editing the level, or reopening the build.
Steps:
- Skills tab, create a new socket group.
- In the first gem row, type and pick Arc (default gem level setting: e.g. "Normal maximum", so the row shows level 20).
- Look at the Int requirement: the sidebar requirement/warning, Calcs tab > Attributes "Int Requirement", or the gem's requirement in its tooltip.
Expected: the level-20 Arc Int requirement.
Actual: the level-1 Arc Int requirement. Clicking another socket group and then back to this one (or saving and reopening) changes it to the level-20 value with no edit made. A missing "you do not meet the Int requirement" warning can appear or disappear the same way.
Cause
In the gem-name change callback the group is processed before the new gem's level is set:
ProcessSocketGroup works out reqLevel/reqStr/reqDex/reqInt from gemInstance.level, which is still 1 for a new row (the instance is created with level = 1 at #L795-L804):
Then gemInstance.level = self:ProcessGemLevel(...) sets the real level, but nothing works out the requirement again. The rebuild that follows (Build.lua OnFrame -> UpdateSocketGroups -> BuildOutput) does not call ProcessSocketGroup for user groups. So CalcSetup puts the stale values into env.requirementsTableGems:
Possible fix
Call self:ProcessSocketGroup(self.displayGroup) again after gemInstance.level is assigned in the name callback, or compute the level before the first call.
- 主要语言
- Lua
- 星标
- 5.5k
- 派生
- 2.4k
- 平均合并
- 6 天 14 小时
- 30 天内合并 PR
- 13
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
PathOfBuildingCommunity/PathOfBuilding 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
PathOfBuildingCommunity/PathOfBuilding#10431 ·
维护者通常 8 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 60/100
PathOfBuildingCommunity/PathOfBuilding#10420 ·
维护者通常 8 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 65/100
PathOfBuildingCommunity/PathOfBuilding#10395 ·
维护者通常 8 天内回复
-
bug: accuracy
难度 2/5 1-3 小时 新手友好度 68/100
PathOfBuildingCommunity/PathOfBuilding#9911 ·
维护者通常 8 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
PathOfBuildingCommunity/PathOfBuilding#7548 · 4 条评论 · 1 个 reaction ·
维护者通常 8 天内回复
查看 PathOfBuildingCommunity/PathOfBuilding 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 5 天内回复
-
enhancement priority::low upstream
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
bug reviewed-by-AI
难度 2/5 1-3 小时 新手友好度 82/100
olimorris/codecompanion.nvim#3508 ·
维护者通常 1 天内回复
-
The Balanced badge stays on a card after it changes to an enhancement that isn't rebalanced可能已有人在做 @Jr-JoshS 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 71/100
Balatro-Multiplayer/BalatroMultiplayerPvP#640 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
Layr-Labs/arena-fortress#141 ·
维护者通常 1 天内回复