Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uniques update for Affliction League #6883

Merged
merged 53 commits into from
Dec 4, 2023

Conversation

sida-wang
Copy link
Contributor

@sida-wang sida-wang commented Dec 1, 2023

Implements the following mods:

Attacks with this Weapon have Added Maximum Lightning Damage equal to 20% of player Maximum Energy Shield (Ephemeral Edge)
Culling Strike against Frozen Enemies
Summoned Skeletons gain Added Chaos Damage equal to 20-30% of Maximum Energy Shield on your Equipped Shield

  • Added in ModParser

Count as having maximum number of Endurance Charges
Count as having maximum number of Frenzy Charges
Count as having maximum number of Power Charges

  • Added as flags in Mod Parser HaveMaximumFrenzyCharges, HaveMaximumEnduranceCharges, HaveMaximumPowerCharges
  • Added logic to CalcPerform.lua to set charges to max right before calculation of total charges due to the following assumptions:
    • Always on effect
    • Shouldn't be affected by Maven's belts as it has nothing to do with minimum charges

You are at Maximum Chance to Block Spell Damage if you have not Blocked Recently

  • Added in ModParser using a flag condition, similar to Mistwall
  • Updated CalcDefence to set spell block and projectile spell block chance

Skills gain base energy shield cost equal to 200% of base mana cost

  • Added in ModParser
  • Updated logic in CalcOffence to support base ES cost

When hit, gain a random movement speed modifier from 40% reduced to 100% increased until hit again
When enemies deal elemental damage to you, their resistance to that element becomes 0 for 4 seconds

  • Added in ModParser and Config Options

-2 to socketed skill gems per socketed gem
(maximum life | accuracy rating | mana | all elemental resistances) per empty (red | green | blue | white) socket on any equipped item
Defences from equipped body armour are doubled if it has no socketed gems
(all elemental resistances | maximum life | movement speed) if you have (an) equipped (helmet | gloves | boots) with no socketed gems

  • Added in ModParser
  • Created Multiplier tags for SocketedGemsIn{Slot}
  • Updated CalcSetup.lua to calculate multipliers based off item sockets and socket groups
  • Updated Config Options to provide an override for empty sockets
    This implementation likely needs a detailed review due to my inexperience with the codebase.

Unique updates

Includes variant updates for:

  • Heatshiver
  • Kaom's spirit
  • Anima Stone
  • Ashes of the Stars
  • Annihilation's Approach
  • Ralakesh's Impatience
  • Replica Bones of Ullr
  • Replica Dragonfang's Flight
  • Ephemeral Edge
  • Replica Perfect Form
  • Replica Mistwall
  • Replica Bitterdream
  • Replica Oro's Sacrifice
  • Dead Reckoning

Adds support for new uniques:

  • Replica Covenant
  • Replica Badge of the Brotherhood
  • Pragmatism
  • The Trickster's Smile
  • The Untouched Soul
  • Gamblesprint
  • Ixchel's Temptation

Affliction Ascendancy updates

  • Adds support for the Oath of the Maji node

Other chores

  • Migrated Ancestor uniques out of New.lua and added into core drop pool
  • Honoured Alliance and Warrior's Tale set to No longer obtainable per forum post
  • Update Sources for Endless Misery, Soul's Wick, Spirit Guards, Dead Reckoning
  • Updated Leagues/Sources for Metamorph Uniques moving to the core drop pool

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the patch notes on Ralakesh's Impatience, I was under the impression that "Count as having maximum number of X Charges" would not actually affect the number of charges you have, but rather make conditions like "You have Onslaught while at maximum Endurance Charges" (found on Ahn's Heritage) always true.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I agree with your read as well - it doesn't actually set the number of charges you have and you're still free to gain charges normally.

However I was under the impression that you still have all the buffs that come with the charges which was why I was setting it after any other calculations that used the charges.

Just to check that we're on the same page, are you just suggesting that the setting of the charges in CalcPeform.lua should come after the TotalCharges in line 613? Or are you thinking that it requires a different implementation?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I don't expect "Count as having maximum number of X Charges" to actually provide the buff. In my mind, the buff comes from the charges themselves, and "counting as having max charges" says nothing about actually providing charges, so I assumed no buff. Usually the wording "minimum chargers are equal to maximum" for when the buff is actually provided.

Currently "while at maximum charges" is parsed as a StatThreshold, with charges needing to be equal to max charges. I am thinking a different implementation could be to change the threshold into a "HaveMaximumCharges"-condition, and then in CalcPerform, set the condition to true if charges==max and not already set. I cannot say for sure if that is the best way to do it.

@Paliak Paliak added the enhancement New feature, calculation, or mod label Dec 4, 2023
@LocalIdentity LocalIdentity merged commit 025cc6a into PathOfBuildingCommunity:dev Dec 4, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature, calculation, or mod
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants