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

Add support for Holy Relic Nova triggering #4051

Merged
merged 9 commits into from
Feb 11, 2022

Conversation

Solofme
Copy link
Contributor

@Solofme Solofme commented Feb 3, 2022

Description of the problem being solved:

Summon Holy Relic's Nova skill is triggered but wasn't treated as such by PoB.
Could be further improved by refactoring to use an actor instead of a minion Boolean like other parts of the codebase.

Steps taken to verify a working solution:

  • Equip and unequip Geofri's Legacy (or Geofri's Crest after 3.17 support for it is done) => Skill cooldown
  • Enable and disable Cyclone and Static Strike => Triggering skill
  • Allocate and deallocate attack speed nodes around Templar starting area => Attack speed breakpoints
  • Allocate and deallocate Resolute Technique/other accuracy passives => Accuracy impact

Link to a build that showcases this PR:

https://pastebin.com/6JtUMH0p (credit to https://www.pathofexile.com/forum/view-thread/2717739)

Before & after screenshot:

https://imgur.com/a/v4l0Tzs

@Wires77 Wires77 requested a review from Nostrademous February 11, 2022 08:04
@Wires77 Wires77 added the enhancement New feature, calculation, or mod label Feb 11, 2022
Copy link
Member

@Wires77 Wires77 left a comment

Choose a reason for hiding this comment

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

This could definitely do with the actor treatment, but otherwise looks good.

Copy link
Contributor

@Nostrademous Nostrademous left a comment

Choose a reason for hiding this comment

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

Looks good, just add the one comment

breakdown = env.minion.breakdown
output = env.minion.output

trigRate = calcActualTriggerRate(env, source, sourceAPS, spellCount, output, breakdown, false, true)
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a reason:
trigRate = calcActualTriggerRate(env, source, sourceAPS, spellCount, output, breakdown, false, true)
isn't
trigRate = calcActualTriggerRate(env, source, sourceAPS, spellCount, env.minion.output, env.minion.breakdown, false, true)?

That should work and eliminate the need for the "ugly hack".

local sourceHitChance = GlobalCache.cachedData["CACHE"][uuid].HitChance
trigRate = trigRate * sourceHitChance / 100
if breakdown then
breakdown.Speed = {
Copy link
Contributor

Choose a reason for hiding this comment

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

use env.minion.breakdown instead of breakdown

trigRate = trigRate * sourceHitChance / 100
if breakdown then
breakdown.Speed = {
s_format("%.2fs ^8(adjusted trigger rate)", output.ServerTriggerRate),
Copy link
Contributor

Choose a reason for hiding this comment

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

Use env.minion.output instead of output

end

breakdown = breakdownBak
output = outputBak
Copy link
Contributor

Choose a reason for hiding this comment

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

unnecessary if we do it the other way

@Solofme
Copy link
Contributor Author

Solofme commented Feb 11, 2022

Indeed, good point. Thank you for the suggestion!

@Nostrademous
Copy link
Contributor

LGTM

@LocalIdentity LocalIdentity merged commit 1306820 into PathOfBuildingCommunity:dev Feb 11, 2022
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