app

Safe Haskell None
Language Haskell2010

Card

Contents

Synopsis

Documentation

data Team #

Constructors

Beastmen  
Evil  
Human  
Sylvan  
Undead  
ZKnights  
Instances
Bounded Team #  
Instance details

Defined in Card

Methods

minBound :: Team #

maxBound :: Team #

Enum Team #  
Instance details

Defined in Card

Methods

succ :: Team -> Team #

pred :: Team -> Team #

toEnum :: Int -> Team #

fromEnum :: Team -> Int #

enumFrom :: Team -> [Team] #

enumFromThen :: Team -> Team -> [Team] #

enumFromTo :: Team -> Team -> [Team] #

enumFromThenTo :: Team -> Team -> Team -> [Team] #

Eq Team #  
Instance details

Defined in Card

Methods

(==) :: Team -> Team -> Bool #

(/=) :: Team -> Team -> Bool #

Ord Team #  
Instance details

Defined in Card

Methods

compare :: Team -> Team -> Ordering #

(<) :: Team -> Team -> Bool #

(<=) :: Team -> Team -> Bool #

(>) :: Team -> Team -> Bool #

(>=) :: Team -> Team -> Bool #

max :: Team -> Team -> Team #

min :: Team -> Team -> Team #

Show Team #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> Team -> ShowS #

show :: Team -> String #

showList :: [Team] -> ShowS #

Generic Team #  
Instance details

Defined in Card

Associated Types

type Rep Team :: Type -> Type #

Methods

from :: Team -> Rep Team x #

to :: Rep Team x -> Team #

FromJSON Team #  
Instance details

Defined in Json

type Rep Team #  
Instance details

Defined in Card

type Rep Team = D1 (MetaData "Team" "Card" "main" False) ((C1 (MetaCons "Beastmen" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Evil" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Human" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "Sylvan" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Undead" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ZKnights" PrefixI False) (U1 :: Type -> Type))))

data Phase #

Constructors

Core

Phase for data in core algorithms (AI, Game); not for rendering. Creatures in this phase have actual hitpoints, actual attack, etc.

UI

Phase for data in UI algorithms: contains more data related to drawing cards. Data in this phase is _formal_, i.e. hitpoints are the maximum (pristine) hitpoints, attack is formal attack (before maluses or bonuses), etc.

type family ItemType (p :: Phase) where ... #

Equations

ItemType UI = ItemObject UI  
ItemType Core = Item  

type family ManaType (p :: Phase) where ... #

Equations

ManaType UI = Mana  
ManaType Core = ()  

type family OffsetType (p :: Phase) where ... #

Equations

OffsetType UI = Int  
OffsetType Core = ()  

type family SkillType (p :: Phase) where ... #

Equations

SkillType UI = Skill  
SkillType Core = State  

type family TeamsType (p :: Phase) where ... #

Equations

TeamsType UI = [Team]  
TeamsType Core = ()  

type family MaybeTextType (p :: Phase) where ... #

Equations

MaybeTextType UI = Maybe String  
MaybeTextType Core = ()  

type family TextType (p :: Phase) where ... #

Equations

TextType UI = String  
TextType Core = ()  

type family TileType (p :: Phase) where ... #

Equations

TileType UI = Tile  
TileType Core = ()  

type family TransientType (p :: Phase) where ... #

Equations

TransientType UI = ()  
TransientType Core = Bool  

type Forall (c :: Type -> Constraint) (p :: Phase) = (c (ItemType p), c (ManaType p), c (MaybeTextType p), c (OffsetType p), c (SkillType p), c (TeamsType p), c (TextType p), c (TileType p), c (TransientType p)) #

data CreatureKind #

All kinds of creature

Instances
Bounded CreatureKind #  
Instance details

Defined in Card

Enum CreatureKind #  
Instance details

Defined in Card

Eq CreatureKind #  
Instance details

Defined in Card

Ord CreatureKind #  
Instance details

Defined in Card

Show CreatureKind #  
Instance details

Defined in Card

Generic CreatureKind #  
Instance details

Defined in Card

Associated Types

type Rep CreatureKind :: Type -> Type #

FromJSON CreatureKind #  
Instance details

Defined in Json

type Rep CreatureKind #  
Instance details

Defined in Card

type Rep CreatureKind = D1 (MetaData "CreatureKind" "Card" "main" False) (((((C1 (MetaCons "Abomination" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Archer" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Assassin" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Bear" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Beholder" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Bird" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Captain" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Church" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Daemon" PrefixI False) (U1 :: Type -> Type))))) :+: (((C1 (MetaCons "Defender" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Falcon" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Falconer" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "General" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Ghost" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Guardian" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "King" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Knight" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Necromancer" PrefixI False) (U1 :: Type -> Type)))))) :+: ((((C1 (MetaCons "Minotaur" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Mummy" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Ogre" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Priest" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Ranger" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Skeleton" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Shade" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Spearman" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Specter" PrefixI False) (U1 :: Type -> Type))))) :+: (((C1 (MetaCons "Squire" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Swordsman" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Trebuchet" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Tree" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Troll" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Vampire" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Veteran" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Warrior" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Worm" PrefixI False) (U1 :: Type -> Type)))))))

data CreatureID #

The identifier of a creature. Not all identifiers are actually mapped by Model.

Constructors

CreatureID  

Fields

Instances
Eq CreatureID #  
Instance details

Defined in Card

Ord CreatureID #  
Instance details

Defined in Card

Show CreatureID #  
Instance details

Defined in Card

Generic CreatureID #  
Instance details

Defined in Card

Associated Types

type Rep CreatureID :: Type -> Type #

FromJSON CreatureID #  
Instance details

Defined in Json

Key CreatureID #  
Instance details

Defined in Card

Methods

toID :: CreatureID -> ID #

Key (CreatureID, [Item]) #  
Instance details

Defined in Card

Methods

toID :: (CreatureID, [Item]) -> ID #

type Rep CreatureID #  
Instance details

Defined in Card

data Creature (p :: Phase) #

Constructors

Creature  

Fields

Instances
Unlift Creature #  
Instance details

Defined in Card

Methods

unlift :: Creature UI -> Creature Core #

Mlift Creature #

Translates a Core Creature into an UI one, keeping its stats An alternative implementation could return the pristine, formal, UI card.

Instance details

Defined in Shared

Methods

mlift :: Model -> Creature Core -> Maybe (Creature UI) #

Forall Eq p => Eq (Creature p) #  
Instance details

Defined in Card

Methods

(==) :: Creature p -> Creature p -> Bool #

(/=) :: Creature p -> Creature p -> Bool #

Forall Ord p => Ord (Creature p) #  
Instance details

Defined in Card

Methods

compare :: Creature p -> Creature p -> Ordering #

(<) :: Creature p -> Creature p -> Bool #

(<=) :: Creature p -> Creature p -> Bool #

(>) :: Creature p -> Creature p -> Bool #

(>=) :: Creature p -> Creature p -> Bool #

max :: Creature p -> Creature p -> Creature p #

min :: Creature p -> Creature p -> Creature p #

Forall Show p => Show (Creature p) #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> Creature p -> ShowS #

show :: Creature p -> String #

showList :: [Creature p] -> ShowS #

Generic (Creature p) #  
Instance details

Defined in Card

Associated Types

type Rep (Creature p) :: Type -> Type #

Methods

from :: Creature p -> Rep (Creature p) x #

to :: Rep (Creature p) x -> Creature p #

Dealer (Creature p) #  
Instance details

Defined in Card

Methods

dealer :: Creature p -> Bool #

Itemizable (Creature Core) #  
Instance details

Defined in Card

Methods

getItems :: Creature Core -> [Item] #

Itemizable (Creature UI) #  
Instance details

Defined in Card

Methods

getItems :: Creature UI -> [Item] #

Startable (Creature Core) #  
Instance details

Defined in CardInstances

Methods

start :: Creature Core -> Creature Core #

Stupid (Creature Core) #  
Instance details

Defined in BoardInstances

Methods

isStupid :: Creature Core -> Player -> Card -> Bool #

Has (Creature Core) State #  
Instance details

Defined in Card

Methods

has :: Creature Core -> State -> Bool #

doesNotHave :: Creature Core -> State -> Bool #

Has (Creature Core) Item #  
Instance details

Defined in Card

Methods

has :: Creature Core -> Item -> Bool #

doesNotHave :: Creature Core -> Item -> Bool #

To (Creature Core) [State] #  
Instance details

Defined in Card

Methods

to :: Creature Core -> [State] #

PlayerIndexed (Map Card (Creature Core)) Core #

Generic access to creatures in 'Core phase. XXX @smelc Can this be abstracted over the phase if the type family applies to the entire Map? To remove the 'UI instance below.

Instance details

Defined in Board

Methods

getp :: Player -> T Core -> Map Card (Creature Core) #

setp :: Map Card (Creature Core) -> Player -> T Core -> T Core #

type Rep (Creature p) #  
Instance details

Defined in Card

class Itemizable a where #

Methods

getItems :: a -> [Item] #

Instances
Itemizable (Creature Core) #  
Instance details

Defined in Card

Methods

getItems :: Creature Core -> [Item] #

Itemizable (Creature UI) #  
Instance details

Defined in Card

Methods

getItems :: Creature UI -> [Item] #

data Neutral #

Constructors

Health  
HuntingHorn  
InfernalHaste  
Life  
Pandemonium  
Plague  
StrengthPot  
Instances
Bounded Neutral #  
Instance details

Defined in Card

Enum Neutral #  
Instance details

Defined in Card

Eq Neutral #  
Instance details

Defined in Card

Methods

(==) :: Neutral -> Neutral -> Bool #

(/=) :: Neutral -> Neutral -> Bool #

Ord Neutral #  
Instance details

Defined in Card

Show Neutral #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> Neutral -> ShowS #

show :: Neutral -> String #

showList :: [Neutral] -> ShowS #

Generic Neutral #  
Instance details

Defined in Card

Associated Types

type Rep Neutral :: Type -> Type #

Methods

from :: Neutral -> Rep Neutral x #

to :: Rep Neutral x -> Neutral #

FromJSON Neutral #  
Instance details

Defined in Json

Key Neutral #  
Instance details

Defined in Card

Methods

toID :: Neutral -> ID #

type Rep Neutral #  
Instance details

Defined in Card

type Rep Neutral = D1 (MetaData "Neutral" "Card" "main" False) ((C1 (MetaCons "Health" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "HuntingHorn" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "InfernalHaste" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Life" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Pandemonium" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Plague" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "StrengthPot" PrefixI False) (U1 :: Type -> Type))))

data NeutralObject (p :: Phase) #

Constructors

NeutralObject  
Instances
Unlift NeutralObject #  
Instance details

Defined in Card

Lift NeutralObject #  
Instance details

Defined in Shared

Forall Eq p => Eq (NeutralObject p) #  
Instance details

Defined in Card

Forall Ord p => Ord (NeutralObject p) #  
Instance details

Defined in Card

Forall Show p => Show (NeutralObject p) #  
Instance details

Defined in Card

Generic (NeutralObject p) #  
Instance details

Defined in Card

Associated Types

type Rep (NeutralObject p) :: Type -> Type #

Methods

from :: NeutralObject p -> Rep (NeutralObject p) x #

to :: Rep (NeutralObject p) x -> NeutralObject p #

type Rep (NeutralObject p) #  
Instance details

Defined in Card

data Item #

Instances
Bounded Item #  
Instance details

Defined in Card

Methods

minBound :: Item #

maxBound :: Item #

Enum Item #  
Instance details

Defined in Card

Methods

succ :: Item -> Item #

pred :: Item -> Item #

toEnum :: Int -> Item #

fromEnum :: Item -> Int #

enumFrom :: Item -> [Item] #

enumFromThen :: Item -> Item -> [Item] #

enumFromTo :: Item -> Item -> [Item] #

enumFromThenTo :: Item -> Item -> Item -> [Item] #

Eq Item #  
Instance details

Defined in Card

Methods

(==) :: Item -> Item -> Bool #

(/=) :: Item -> Item -> Bool #

Ord Item #  
Instance details

Defined in Card

Methods

compare :: Item -> Item -> Ordering #

(<) :: Item -> Item -> Bool #

(<=) :: Item -> Item -> Bool #

(>) :: Item -> Item -> Bool #

(>=) :: Item -> Item -> Bool #

max :: Item -> Item -> Item #

min :: Item -> Item -> Item #

Show Item #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> Item -> ShowS #

show :: Item -> String #

showList :: [Item] -> ShowS #

Generic Item #  
Instance details

Defined in Card

Associated Types

type Rep Item :: Type -> Type #

Methods

from :: Item -> Rep Item x #

to :: Rep Item x -> Item #

FromJSON Item #  
Instance details

Defined in Json

Key Item #  
Instance details

Defined in Card

Methods

toID :: Item -> ID #

Has (Creature Core) Item #  
Instance details

Defined in Card

Methods

has :: Creature Core -> Item -> Bool #

doesNotHave :: Creature Core -> Item -> Bool #

Key (CreatureID, [Item]) #  
Instance details

Defined in Card

Methods

toID :: (CreatureID, [Item]) -> ID #

type Rep Item #  
Instance details

Defined in Card

type Rep Item = D1 (MetaData "Item" "Card" "main" False) (((C1 (MetaCons "AxeOfRage" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "BannerFeather" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "BowOfGaia" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "BowOfStrength" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "CloakOfGaia" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Crown" PrefixI False) (U1 :: Type -> Type)))) :+: ((C1 (MetaCons "CrushingMace" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "FlailOfTheDamned" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "SkBanner" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "SpikyMace" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "SwordOfBlood" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "SwordOfMight" PrefixI False) (U1 :: Type -> Type)))))

data Requirement #

Requirements for being able to have some item

Constructors

NoReq

No requirement

SomeReq Skill

Requirement to have some skill

requirement :: Item -> Requirement #

Requirements for being able to carry an item. Could be encoded in json, but I'm afraid complex requirements would be tartelette to implement.

data ItemObject (p :: Phase) #

Constructors

ItemObject  

Fields

Instances
Unlift ItemObject #  
Instance details

Defined in Card

Lift ItemObject #  
Instance details

Defined in Shared

Methods

lift :: Model -> ItemObject Core -> ItemObject UI #

Forall Eq p => Eq (ItemObject p) #  
Instance details

Defined in Card

Methods

(==) :: ItemObject p -> ItemObject p -> Bool #

(/=) :: ItemObject p -> ItemObject p -> Bool #

Forall Ord p => Ord (ItemObject p) #  
Instance details

Defined in Card

Forall Show p => Show (ItemObject p) #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> ItemObject p -> ShowS #

show :: ItemObject p -> String #

showList :: [ItemObject p] -> ShowS #

Generic (ItemObject p) #  
Instance details

Defined in Card

Associated Types

type Rep (ItemObject p) :: Type -> Type #

Methods

from :: ItemObject p -> Rep (ItemObject p) x #

to :: Rep (ItemObject p) x -> ItemObject p #

type Rep (ItemObject p) #  
Instance details

Defined in Card

data CardCommon (p :: Phase) #

Data that is used by all three kind of cards

Constructors

CardCommon  

Fields

Instances
Forall Eq p => Eq (CardCommon p) #  
Instance details

Defined in Card

Methods

(==) :: CardCommon p -> CardCommon p -> Bool #

(/=) :: CardCommon p -> CardCommon p -> Bool #

Forall Ord p => Ord (CardCommon p) #  
Instance details

Defined in Card

Forall Show p => Show (CardCommon p) #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> CardCommon p -> ShowS #

show :: CardCommon p -> String #

showList :: [CardCommon p] -> ShowS #

Generic (CardCommon p) #  
Instance details

Defined in Card

Associated Types

type Rep (CardCommon p) :: Type -> Type #

Methods

from :: CardCommon p -> Rep (CardCommon p) x #

to :: Rep (CardCommon p) x -> CardCommon p #

type Rep (CardCommon p) #  
Instance details

Defined in Card

data Card (p :: Phase) #

Instances
Unlift Card #  
Instance details

Defined in Card

Methods

unlift :: Card UI -> Card Core #

Mlift Card #  
Instance details

Defined in Shared

Methods

mlift :: Model -> Card Core -> Maybe (Card UI) #

Forall Eq p => Eq (Card p) #  
Instance details

Defined in Card

Methods

(==) :: Card p -> Card p -> Bool #

(/=) :: Card p -> Card p -> Bool #

Forall Ord p => Ord (Card p) #  
Instance details

Defined in Card

Methods

compare :: Card p -> Card p -> Ordering #

(<) :: Card p -> Card p -> Bool #

(<=) :: Card p -> Card p -> Bool #

(>) :: Card p -> Card p -> Bool #

(>=) :: Card p -> Card p -> Bool #

max :: Card p -> Card p -> Card p #

min :: Card p -> Card p -> Card p #

Forall Show p => Show (Card p) #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> Card p -> ShowS #

show :: Card p -> String #

showList :: [Card p] -> ShowS #

Generic (Card p) #  
Instance details

Defined in Card

Associated Types

type Rep (Card p) :: Type -> Type #

Methods

from :: Card p -> Rep (Card p) x #

to :: Rep (Card p) x -> Card p #

Key (Card Core) #  
Instance details

Defined in Card

Methods

toID :: Card Core -> ID #

Key (Card UI) #  
Instance details

Defined in Card

Methods

toID :: Card UI -> ID #

type Rep (Card p) #  
Instance details

Defined in Card

class Unlift t where #

Methods

unlift :: t UI -> t Core #

Instances
Unlift Card #  
Instance details

Defined in Card

Methods

unlift :: Card UI -> Card Core #

Unlift ItemObject #  
Instance details

Defined in Card

Unlift NeutralObject #  
Instance details

Defined in Card

Unlift Creature #  
Instance details

Defined in Card

Methods

unlift :: Creature UI -> Creature Core #

data ID #

The minimal identifier of a card. See Model to obtain | a full-fledged card from that.

Constructors

IDC CreatureID [Item]  
IDI Item  
IDN Neutral  
Instances
Eq ID #  
Instance details

Defined in Card

Methods

(==) :: ID -> ID -> Bool #

(/=) :: ID -> ID -> Bool #

Ord ID #  
Instance details

Defined in Card

Methods

compare :: ID -> ID -> Ordering #

(<) :: ID -> ID -> Bool #

(<=) :: ID -> ID -> Bool #

(>) :: ID -> ID -> Bool #

(>=) :: ID -> ID -> Bool #

max :: ID -> ID -> ID #

min :: ID -> ID -> ID #

Show ID #  
Instance details

Defined in Card

Methods

showsPrec :: Int -> ID -> ShowS #

show :: ID -> String #

showList :: [ID] -> ShowS #

Generic ID #  
Instance details

Defined in Card

Associated Types

type Rep ID :: Type -> Type #

Methods

from :: ID -> Rep ID x #

to :: Rep ID x -> ID #

Key ID #  
Instance details

Defined in Card

Methods

toID :: ID -> ID #

type Rep ID #  
Instance details

Defined in Card

groupCards :: Itemizable (Creature p) => [Card p] -> Map ID [Card p] #

rawTeamDeck #

Arguments

:: [Card UI]

The cards as loaded from disk

-> Team

The team for which to build the deck

-> [Maybe (Card Core)]

The initial deck

teamDeck #

Arguments

:: [Card UI]

The cards as loaded from disk

-> Team

The team for which to build the deck

-> [Card Core]

The initial deck

data CardTargetKind #

Constructors

Hole

Card targets empty CardSpot

Occupied

Card targets occupied CardSpot

Instances
Eq CardTargetKind #  
Instance details

Defined in Card

Show CardTargetKind #  
Instance details

Defined in Card

data TargetType #

Constructors

CardTargetType CardTargetKind

Target is a single card

PlayerTargetType

Target is an entire part of the bard

Instances
Eq TargetType #  
Instance details

Defined in Card

Show TargetType #  
Instance details

Defined in Card

targetType :: ID -> TargetType #

The kind of TargetType that a ID aims

Classes and instances

class Has a b where #

Class for runtime values having some quality. This is akin to a strongly typed entity system.

Minimal complete definition

has

Methods

has :: a -> b -> Bool #

doesNotHave :: a -> b -> Bool #

Instances
Has a b => Has (Maybe a) b #  
Instance details

Defined in Card

Methods

has :: Maybe a -> b -> Bool #

doesNotHave :: Maybe a -> b -> Bool #

Has (Creature Core) State #  
Instance details

Defined in Card

Methods

has :: Creature Core -> State -> Bool #

doesNotHave :: Creature Core -> State -> Bool #

Has (Creature Core) Item #  
Instance details

Defined in Card

Methods

has :: Creature Core -> Item -> Bool #

doesNotHave :: Creature Core -> Item -> Bool #

class To a b where #

Class from which some value can be obtained

Methods

to :: a -> b #

Instances
(Monoid b, To a b) => To (Maybe a) b #  
Instance details

Defined in Card

Methods

to :: Maybe a -> b #

To (Creature Core) [State] #  
Instance details

Defined in Card

Methods

to :: Creature Core -> [State] #

class Key a where #

A value from which a card can be obtained

Methods

toID :: a -> ID #

Instances
Key ID #  
Instance details

Defined in Card

Methods

toID :: ID -> ID #

Key Item #  
Instance details

Defined in Card

Methods

toID :: Item -> ID #

Key Neutral #  
Instance details

Defined in Card

Methods

toID :: Neutral -> ID #

Key CreatureID #  
Instance details

Defined in Card

Methods

toID :: CreatureID -> ID #

Key (Card Core) #  
Instance details

Defined in Card

Methods

toID :: Card Core -> ID #

Key (Card UI) #  
Instance details

Defined in Card

Methods

toID :: Card UI -> ID #

Key (CreatureID, [Item]) #  
Instance details

Defined in Card

Methods

toID :: (CreatureID, [Item]) -> ID #