-- | Attributes with special meaning to Dovin. Use these rather than strings to -- avoid typos. They should generally match Magic keywords. module Dovin.Attributes where import Data.Monoid ((<>)) import Dovin.Types -- | Return a card name suffixed by the given number. numbered :: Int -> CardName -> CardName numbered n name = name <> " " <> show n activated :: CardAttribute activated = "activated" arcane :: CardAttribute arcane = "arcane" attacking :: CardAttribute attacking = "attacking" aura :: CardAttribute aura = "aura" artifact :: CardAttribute artifact = "artifact" copy :: CardAttribute copy = "copy" creature :: CardAttribute creature = "creature" deathtouch :: CardAttribute deathtouch = "deathtouch" deathtouched :: CardAttribute deathtouched = "deathtouched" doublestrike :: CardAttribute doublestrike = "doublestrike" enchantment :: CardAttribute enchantment = "enchantment" exerted :: CardAttribute exerted = "exerted" exileWhenLeaveStack :: CardAttribute exileWhenLeaveStack = "exile-when-leave-stack" firststrike :: CardAttribute firststrike = "firststrike" flash :: CardAttribute flash = "flash" flying :: CardAttribute flying = "flying" haste :: CardAttribute haste = "haste" indestructible :: CardAttribute indestructible = "indestructible" instant :: CardAttribute instant = "instant" hexproof :: CardAttribute hexproof = "hexproof" land :: CardAttribute land = "land" legendary :: CardAttribute legendary = "legendary" lifelink :: CardAttribute lifelink = "lifelink" planeswalker :: CardAttribute planeswalker = "planeswalker" sorcery :: CardAttribute sorcery = "sorcery" storm :: CardAttribute storm = "storm" summoned :: CardAttribute summoned = "summoned" undying :: CardAttribute undying = "undying" tapped :: CardAttribute tapped = "tapped" token :: CardAttribute token = "token" trample :: CardAttribute trample = "trample" triggered :: CardAttribute triggered = "triggered" vigilance :: CardAttribute vigilance = "vigilance"