Skip to content

[E-PF2E-3] Fortune/Misfortune and Hero Point reroll #968

@alxjrvs

Description

@alxjrvs

Part of #942

Phase 3: Fortune/Misfortune and Hero Point reroll

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

Scope

Extend the PF2e spec to support fortune, misfortune, and hero point reroll — all of which involve rolling twice and taking the higher or lower result.

Acceptance Criteria

  • fortune: true — rolls twice, takes the higher d20 result before degree calculation
  • misfortune: true — rolls twice, takes the lower d20 result
  • heroPoint: true — rerolls; takes the reroll if higher, otherwise keeps original
  • Fortune and misfortune are mutually exclusive — spec validation rejects both being true
  • Natural 1/20 degree shift applies to the kept roll, not the discarded roll
  • MAP from Phase 2 applies to both rolls when combined
  • Result includes both kept and discarded roll values
  • Depends on Phase 1 ([E-PF2E-1] Core roll and degrees of success #966)

Mechanics Reference

  • Fortune: take higher of two d20 rolls
  • Misfortune: take lower of two d20 rolls
  • Hero point: reroll; keep if higher than original
  • Mutual exclusion: fortune + misfortune is invalid input

Out of Scope

  • Incapacitation trait
  • Persistent roll state

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