Skip to content

Use totem actor level for totem life#1918

Closed
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/shockwave-totem-base-stats
Closed

Use totem actor level for totem life#1918
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/shockwave-totem-base-stats

Conversation

@unrealdreamz
Copy link
Copy Markdown
Contributor

Summary

Refs #261

Use the totem skill's exported actor level when calculating totem level/life, with the previous minion-gem-level table kept as the fallback for totem sources that do not export an actor level.

Root Cause

Totem life is calculated from monsterAllyLifeTable[skillData.totemLevel], but skillData.totemLevel was always derived from data.minionLevelTable[gemLevel].

For Shockwave Totem, the exported skill stat set gives level 20 an actor level of about 97.7. The minion level table maps gem level 20 to level 40, so the totem life calculation used level 40 monster life instead of the skill's own exported actor level.

Fix

  • Add a small getTotemLevel helper beside the existing totem base-skill resolution.
  • Prefer actorLevel from the totem granted effect/stat set when present.
  • Round and clamp the result to the available monster ally life table.
  • Preserve the old data.minionLevelTable behavior as the fallback for totem sources without exported actor levels.
  • Add a regression spec for level 20 Shockwave Totem, asserting its totem level resolves to 98 and its displayed totem life uses monsterAllyLifeTable[98].

Validation

  • gh pr list --repo PathOfBuildingCommunity/PathOfBuilding-PoE2 --state open -S 'Shockwave Totem actor level totem life' --json number,title,headRefName,author,url --jq '.' -> []
  • gh pr list --repo PathOfBuildingCommunity/PathOfBuilding-PoE2 --state open -S '261 Shockwave Totem' --json number,title,headRefName,author,url --jq '.' -> []
  • git diff --check -> passed (Git emitted only local CRLF conversion warnings)
  • git diff --cached --check -> passed (Git emitted only local CRLF conversion warnings)
  • git show --check --oneline --no-renames HEAD -> passed
  • Get-Command lua, luajit, busted, docker, docker-compose -> not found on this Windows PATH, so I could not execute the Busted suite locally here.

Risk / Rollback

Risk is limited to totem level/life calculations. Totems that do not export actor levels keep the previous minion-level fallback. Rollback is the single commit on this branch.

@LocalIdentity
Copy link
Copy Markdown
Contributor

Not a problem anymore and the totem uses the players weapon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants