Skip to content

Support Sorcery Ward aegis calculation#1927

Closed
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/sorcery-ward-aegis
Closed

Support Sorcery Ward aegis calculation#1927
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/sorcery-ward-aegis

Conversation

@unrealdreamz
Copy link
Copy Markdown
Contributor

Summary

Refs #280

Adds calculation support for Sorcery Ward's barrier value from armour and evasion, including Sorcery Ward effect scaling and the all-damage barrier variant.

Root Cause

The exported Sorcery Ward skill data already includes aegis_unique_shield_max_value_from_%_armour_evasion = 30, but SkillStatMap had no mapping for that stat. As a result, the granted Sorcery Ward skill could exist without producing an aegis pool for defence/EHP calculations. The related Sorcery Ward effect and all-damage barrier passive lines also were not parsed.

Fix

  • Map Sorcery Ward's armour/evasion percentage stat into an aegis buff:
    • elemental aegis by default
    • shared aegis when the all-damage barrier condition is present
  • Parse increased/reduced Sorcery Ward effect so ascendancy passives scale the barrier value.
  • Parse Sorcery Ward's Barrier can also take Physical and Chaos Damage from Hits as the condition that switches the barrier from elemental-only aegis to shared aegis.
  • Add focused defence specs for both elemental-only and all-damage Sorcery Ward behaviour.

Validation

Commands run locally:

PASS lua compile src/Data/SkillStatMap.lua
PASS lua compile src/Modules/ModParser.lua
PASS lua compile spec/System/TestDefence_spec.lua

git diff --check
# passed

git diff --cached --check
# passed

git show --check --stat --oneline --no-renames HEAD
# passed; commit 417803bcd Support Sorcery Ward aegis calculation

Tooling unavailable in this checkout/host, so the targeted Busted spec and Docker suite could not be executed locally:

lua=NOT FOUND
luajit=NOT FOUND
busted=NOT FOUND
docker=NOT FOUND
docker-compose=NOT FOUND

Risk / Rollback

Low-to-moderate risk. The new stat mapping is scoped to Sorcery Ward's exported aegis stat and the new parser entries are exact Sorcery Ward lines. If the aegis model needs adjustment, rollback is just the three touched files: src/Data/SkillStatMap.lua, src/Modules/ModParser.lua, and spec/System/TestDefence_spec.lua.

@LocalIdentity
Copy link
Copy Markdown
Contributor

Does not correctly use a different guard type and have correct breakdowns
Does not apply the sorcery ward effect mod to the buff

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