Skip to content

[E-PF2E-2] Multiple Attack Penalty (MAP) #967

@alxjrvs

Description

@alxjrvs

Part of #942

Phase 2: Multiple Attack Penalty (MAP)

Updated 2026-03-24: Game packages now use .randsum.json specs + codegen. This extends the PF2e spec from Phase 1.

Scope

Extend the PF2e spec to support MAP — a penalty applied based on which attack in a sequence this is.

Acceptance Criteria

  • Spec accepts mapAttack: "first" | "second" | "third" and agile: boolean inputs
  • First attack: no penalty; second: -5 (or -4 agile); third: -10 (or -8 agile)
  • Penalty applied to modifier before degree calculation
  • Result includes the applied penalty value
  • Rolls without MAP input behave identically to Phase 1
  • Depends on Phase 1 ([E-PF2E-1] Core roll and degrees of success #966)

Mechanics Reference

  • Standard MAP: first +0, second -5, third -10
  • Agile MAP: first +0, second -4, third -8
  • MAP is stateless — the caller tracks attack count, not the spec

Out of Scope

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgame-packageA game-specific dice packagephaseA phase within an epic

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions