Skip to content

Fix spectre buffs only applying from the selected spectre - #10225

Open
canuysal wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
canuysal:fix_multiple_spectre_buffs
Open

Fix spectre buffs only applying from the selected spectre#10225
canuysal wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
canuysal:fix_multiple_spectre_buffs

Conversation

@canuysal

Copy link
Copy Markdown
Contributor

Raise Spectre now instantiates every spectre in the spectre list so their buff, aura and curse skills are applied, instead of only the ones from the spectre currently selected on the skill. The selected spectre is still the only one used for minion DPS and defence calculations.

Fixes#9308.

Description of the problem being solved:

When Raise Spectre is enabled, only the spectre currently selected on the skill (defaulting to the first one in the Manage Spectres list) had its buff, aura and curse skills applied. For example, with Perfect Blood Demon, Perfect Forest Tiger and Perfect Guardian Turtle in the list, the Tiger's Haste and the Turtle's Determination were never applied unless that specific spectre was selected as the active minion. The only workaround was socketing one Raise Spectre gem per spectre.

Raise Spectre now instantiates every spectre in the spectre list so their buff, aura and curse skills are applied, instead of only the ones from the spectre currently selected on the skill. The selected spectre is still the only one used for minion DPS and defence calculations. Corpse-granted mods (ally/player/minion modifiers and the beast spectre condition) are also now applied from every spectre in the list rather than just the selected one.

This is based on the approach from the unmerged add_spectre-skill-buffs branch by @LocalIdentity (26cb0d1), rebased and adapted to the current dev codebase, with skillTypes/minionSkillTypes additionally carried into the temporary skill copy so support compatibility checks behave the same as for the main minion.

Steps taken to verify a working solution:

  • Added a regression test (spec/System/TestSpectreBuffs_spec.lua) reproducing the exact scenario above; it fails on current dev (Haste/Determination missing) and passes with this change
  • Full test suite passes in the official test container: 524 successes, 0 failures
  • Manually verified in the app that adding Perfect Forest Tiger and Perfect Guardian Turtle alongside Perfect Blood Demon now grants Haste and Determination to both the player and minions, and that removing spectres removes their buffs

Link to a build that showcases this PR:

Add perfect forest tiger - perfect blood demon, and perfect guardian turtle. Buffs should also affect players (turtle)
https://pobb.in/_S9pWnHIblbX

Before screenshot:

imageimage

After screenshot:

image

Raise Spectre now instantiates every spectre in the spectre list so their
buff, aura and curse skills are applied, instead of only the ones from the
spectre currently selected on the skill. The selected spectre is still the
only one used for minion DPS and defence calculations.
Sign up for freeto 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.

1 participant

@canuysal