Skip to content

[Feature]: Roll multiple/variable dice ("roll two six-sided dice") #2199

Description

@dearsishs

Description

Effect::RollDie can only roll a single die, and the Oracle parser only matches "roll a ...". Cards that roll multiple or a variable number of dice are unsupported.

Steps to reproduce

  1. Parse a card whose text is "roll two six-sided dice", "roll X six-sided dice", or "roll two d12".
  2. Inspect the parsed Effect / resolve the ability.

Expected behavior

The effect rolls the specified number of dice (each independently, same sides/modifier/results), e.g. "roll two six-sided dice" rolls two d6.

Actual behavior

Only a single die is rolled; the multi/variable-count forms either fail to parse (fall through to Unimplemented) or silently roll one die.

Impact

~10–15 dice-matters cards (AFR / CLB / dice precons) do not roll the correct number of dice.

Component

  • crates/engine/src/types/ability.rs (Effect::RollDie — needs a count axis, mirroring FlipCoins { count })
  • crates/engine/src/parser/oracle_effect/imperative.rs (roll-die parser)
  • crates/engine/src/game/effects/roll_die.rs (resolver)

CR 706.1 (number of dice to roll).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions