dovin-3.0.1: A proof assistant for Magic: The Gathering puzzles.
Safe HaskellNone
LanguageHaskell2010

Dovin.Effects

Description

Effects are continuous effects, such as "other creatures get +1/+1". Note that dependencies (613.8) are not implemented, and must be emulated with correct timestamps if needed.

They are typically added to a card using withEffect or addEffect.

Synopsis

Documentation

effectPTSetF :: (Card -> EffectMonad (Int, Int)) -> LayeredEffectPart Source #

Layer 7B effect to set the power and toughness of a creature.

effectPTAdjustF :: (Card -> EffectMonad (Int, Int)) -> LayeredEffectPart Source #

Layer 7C effect to adjust the power and toughness of a creature.

effectNoAbilities :: LayeredEffectPart Source #

Layer 6 effect to remove all abilities from a card. This doesn't temporary abilities added by addEffect.

effectAddAbility :: CardAttribute -> LayeredEffectPart Source #

Layer 6 effect to add an ability to a card. In practice, it adds adds a new CardAttribute.

effectAddType :: CardAttribute -> LayeredEffectPart Source #

Layer 4 effect to add a type to a card. Since card types are modeled explicitly, it instead adds a new CardAttribute.

resolveEffects :: GameMonad () Source #

Internal algorithm to apply re-calculate the state of the board by applying all effects.

enabledInPlay :: EffectMonad Bool Source #

Effect enabled definition to apply when a card is in play.

askCards :: CardMatcher -> EffectMonad [Card] Source #

Return cards fitting the given matcher.

askSelf :: EffectMonad Card Source #

The card that is generating the effect being applied.