Skip to content

Add support for The Loyal Few conditional minion lines - #10414

Open
mcagnion wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
mcagnion:feature/abyss-loyal-few-conditions
Open

mcagnion wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
mcagnion:feature/abyss-loyal-few-conditions

Conversation

@mcagnion

@mcagnion mcagnion commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Description of the problem being solved:

The Loyal Few, a keystone added by the new Abyss timeless jewels in #10095, has three conditional minion lines that PoB did not parse, so they showed as "Not supported in PoB yet" and changed nothing:

  • Minions take 10% less Damage while you have a Zombie
  • Minions deal 10% more Damage while you have a Skeleton
  • Minions gain 10% of Non-Chaos Damage as extra Chaos Damage while you have a Spectre

Each line now applies to all minions while the player has a minion of the named type. The player gets Condition:HaveZombie, HaveSkeleton or HaveSpectre from the existing minion count loop in calcs.perform: a skill in an enabled group whose Zombie, Skeleton or Spectre limit is above 0 sets it. The minion mods read the condition from their parent, like the existing physical golem line does.

PoB has no count of minions currently alive, so "while you have a Zombie" means the build has an enabled skill that summons them with a limit above 0. A minion from a source without a minion list is not seen.

The fourth line of the keystone, Maximum number of raised Spectres, Skeletons and Zombies is 1, is handled in #10412 and stays unsupported here.

Steps taken to verify a working solution:

  • Added one calculation test per line: with Summon Raging Spirit alone the line has no effect, and it applies once the matching Zombie, Skeleton or Spectre skill is added. Each test fails without the change.
  • Made a build with a real Destructive Aspiration, seed 100, that turns Mind Over Matter into The Loyal Few, with Raise Zombie as the main skill, and opened it on dev and on this branch:
    • On dev, all four lines are "Not supported in PoB yet", and unallocating the keystone reports no changes.
    • On this branch, the three lines are supported. With Raise Zombie, Summon Skeletons and Raise Spectre together, the zombie's Hit DPS goes from 139 to 195.8, and its Average Damage from 162.7 to 229.1.
  • Added the skills one at a time on the same build: minion DamageTaken More goes from 1 to 0.9 with Raise Zombie, Damage More from 1 to 1.1 with Summon Skeletons, and the Chaos gain from 0 to 10 with Raise Spectre.
  • Repeated with each type as the main skill: alone, Summon Skeletons only gains the Skeleton line (Hit DPS 206.3 to 226.9) and Raise Spectre only the Spectre line (157.2 to 201.2). With any two skills, each of the two minions gets the two matching lines; with all three, each minion gets all three.
  • With the Raise Zombie group disabled, and with its limit brought to 0, the Zombie line has no effect.

Before screenshot:

The Loyal Few on dev:

before-loyal-few-tooltip

Minion stats on dev:

before-minion-sidebar

After screenshot:

The Loyal Few on this branch:

after-loyal-few-tooltip

Minion stats on this branch:

after-minion-sidebar

The keystone's three "while you have a Zombie/Skeleton/Spectre" lines
were unsupported or restricted to the gem of that name:

- Minions take 10% less Damage while you have a Zombie
- Minions deal 10% more Damage while you have a Skeleton
- Minions gain 10% of Non-Chaos Damage as extra Chaos Damage while you
  have a Spectre

Parse them as minion modifiers gated on a parent condition, and set
HaveZombie, HaveSkeleton and HaveSpectre in the minion count loop when
an active skill has a positive limit for that minion type.

Update the ModCache entries of these lines. Their joined multi-line
keys no longer exist, which also moves one chunk boundary.
@mcagnion
mcagnion marked this pull request as ready for review November 8, 2026 13:00
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.

1 participant