Skip to content

Add Predator's Mark support (Pounce's ally-based DamageTaken curse)#2135

Open
mataide wants to merge 4 commits into
PathOfBuildingCommunity:devfrom
mataide:feature/pounce_mark
Open

Add Predator's Mark support (Pounce's ally-based DamageTaken curse)#2135
mataide wants to merge 4 commits into
PathOfBuildingCommunity:devfrom
mataide:feature/pounce_mark

Conversation

@mataide

@mataide mataide commented Jun 8, 2026

Copy link
Copy Markdown

Description of the problem being solved:

Predator's Mark (WolfPounceMarkPlayer), the hidden mark triggered by Pounce, had no PoB support. The skill causes the marked enemy to take increased damage based on the number of allies near it, but the stat was never mapped, no config option existed, and the gem tooltip showed the stat line as unsupported.

This PR adds full support for Predator's Mark:

  • statMap in WolfPounceMarkPlayer: maps skill_wolf_mark_damage_taken_+%_per_nearby_enemy to DamageTaken INC (Multiplier:AlliesInSummonerRange, GlobalEffect:Curse), and marks the cap stat as supported so the tooltip renders in green
  • Config option # of Allies in Range: (appears in Skill Options when Pounce is active; uses ifEnemyMult = "AlliesInSummonerRange")
  • CalcPerform handler: reads the config value, caps it at 15 (since cap/rate = 45/3 = 15), and writes to enemyDB.multipliers["AlliesInSummonerRange"]; also sets output.PredatorsMarkAllies for the CalcSections row
  • CalcSections row: Predator's Mark Allies row in the offence section, visible when Pounce is active and allies > 0

Steps taken to verify a working solution:

  • Config option # of Allies in Range: appears in Skill Options when Pounce is in the skill list, hidden otherwise
  • Setting allies increases enemy DamageTaken INC in CalcBreakdown (3% per ally at base, scales with quality)
  • Cap enforced: setting 15 and 20 allies produces identical output
  • Predator's Mark Allies row is visible in the calcsTab offence section when Pounce is active and allies > 0
  • Gem tooltip stat line "Marked target takes X% increased damage for each of its enemies within 6 metres of it, up to Y%" renders in green (supported)
  • Predator's Mark config option does not affect builds without Pounce
  • Added automated tests to TestSkills_spec.lua covering the scaling and cap

Link to a build that showcases this PR:

Add a Pounce gem to any Druid build, set # of Allies in Range: 5 in the Config tab → Skill Options, and observe the DamageTaken increase in the CalcBreakdown.

@LocalIdentity LocalIdentity left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We already calculate MinionPresenceCount in CalcPerform so that value should be used for the mod

duration = true,
},
statMap = {
["skill_wolf_mark_damage_taken_+%_per_nearby_enemy"] = {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting of the mod is not consistent with other mods where we have it all on 1 line

Comment thread src/Modules/CalcSections.lua Outdated
{ breakdown = "ParryRangeProj" },
{ label = "Range modifiers", modName = "ParryRangeProj", cfg = "skill" },
}, },
-- Predator's Mark

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This stat doesn't need to exist imo. Maybe one for MinionPresenceCount would be ok though

@LocalIdentity

Copy link
Copy Markdown
Contributor

Changes to the lua gem files also need to have the same change in the txt file that generates them

…t source

- act_str.lua + act_str.txt: change AlliesInSummonerRange -> MinionPresenceCount,
  collapse mod() to single line per project convention, add txt source change
- CalcPerform: read already-computed MinionPresenceCount from player modDB
  and bridge it to enemyDB (capped at 15); remove custom ConfigAlliesInSummonerRange
- ConfigOptions: remove custom alliesInRange option; existing
  multiplierMinionsInPresence (# of Minions in your Presence) handles it
- CalcSections: remove Predator's Mark Allies display row
- TestSkills_spec: update to use multiplierMinionsInPresence config var

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

3 participants