Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
A spinoff of Card
|
Synopsis
-
data T bleed block blow drawCard fame fear green growth regen slow source stupid terror
- = Ace
- | Assassin
- | Bleed bleed
- | Block block
- | Blow blow
- | Brainless
- | BreathIce
- | Charge
- | Discipline
- | DrawCard drawCard
- | Falconer
- | Fame fame
- | Fear fear
- | FearTmp
- | Flying
- | Frenzy
- | GreenAffinity green
- | Growth growth
- | Imprecise
- | King
- | Knight
- | Leader Nat
- | LongReach
- | Powerful
- | Rampage
- | Ranged
- | Regeneration regen
- | Sadism
- | Slow slow
- | StrengthPot
- | Source source
- | Squire
- | Stupid4 stupid
- | Support
- | Sylvan
- | Terror terror
- | Veteran
- | Zealot
- type Skill = T () () () () Nat () () () Nat () Nat () ()
- type State = T Nat Bool Bool Bool (Nat, Bool) Bool Bool Bool Nat Bool (Nat, Bool) Nat Bool
- isStupid :: State -> Bool
- data Pack = Pack {}
- lift :: State -> Skill
- unlift :: Skill -> State
Documentation
data T bleed block blow drawCard fame fear green growth regen slow source stupid terror #
The type of skills. Highly polymorphic, because we use
two different instances. Callers should only use
the concrete instances Skill
and State
.
Ace | |
Assassin | At turn start, moves against ponent ennemy |
Bleed bleed | Lose hitpoints at turn start |
Block block | Ignores first attack. Boolean indidcates whether skill is available. |
Blow blow | |
Brainless | Moves to random empty spot at turn start |
BreathIce | |
Charge | |
Discipline | |
DrawCard drawCard | |
Falconer | Creates falcons upon arrival. No state, because it only triggers when put on board. |
Fame fame | Contributes to score at turn beginning |
Fear fear | Creature causes fear |
FearTmp | Creatures causes fear until next turn |
Flying | Creatures moves to random free spot upon being attacked |
Frenzy | +1/+1 upon a kill |
GreenAffinity green | Creates a forest at turn beginning |
Growth growth | +1 hp at turn beginning |
Imprecise | Creature attacks a random spot |
King | |
Knight | Identifier of knight |
Leader Nat | Contributes to score when arriving |
LongReach | Can attack 2 cells away |
Powerful | Undealt damage contributes to score |
Rampage | |
Ranged | |
Regeneration regen | Regenerates the number of hitpoints at beginning of turn |
Sadism | Upon a kill, killed neighbors get -1 attack |
Slow slow |
|
StrengthPot | Strength potion in action |
Source source | Creature creates mana at beginning of turn |
Squire | Knight in front (if any) gains +1 hp and +1 attack upon arrival |
Stupid4 stupid | |
Support | |
Sylvan | +1 hp/+1 attack when in a forest |
Terror terror | Creature causes terror |
Veteran | Immune to fear and terror |
Zealot | Immune to fear |
Instances
FromJSON Skill # | |
Startable State # | |
Defined in CardInstances | |
Stupid State # | |
Startable [State] # | |
Defined in CardInstances | |
Has (Creature Core) State # | |
To (Creature Core) [State] # | |
(Eq bleed, Eq block, Eq blow, Eq drawCard, Eq fame, Eq fear, Eq green, Eq growth, Eq regen, Eq slow, Eq source, Eq stupid, Eq terror) => Eq (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) # | |
Defined in Skill (==) :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Bool # (/=) :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Bool # | |
(Ord bleed, Ord block, Ord blow, Ord drawCard, Ord fame, Ord fear, Ord green, Ord growth, Ord regen, Ord slow, Ord source, Ord stupid, Ord terror) => Ord (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) # | |
Defined in Skill compare :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Ordering # (<) :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Bool # (<=) :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Bool # (>) :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Bool # (>=) :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Bool # max :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror # min :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror # | |
(Show bleed, Show block, Show blow, Show drawCard, Show fame, Show fear, Show green, Show growth, Show regen, Show slow, Show source, Show stupid, Show terror) => Show (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) # | |
Defined in Skill showsPrec :: Int -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> ShowS # show :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> String # showList :: [T bleed block blow drawCard fame fear green growth regen slow source stupid terror] -> ShowS # | |
Generic (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) # | |
Defined in Skill type Rep (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) :: Type -> Type # from :: T bleed block blow drawCard fame fear green growth regen slow source stupid terror -> Rep (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) x # to :: Rep (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) x -> T bleed block blow drawCard fame fear green growth regen slow source stupid terror # | |
type Rep (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) # | |
Defined in Skill
type Rep (T bleed block blow drawCard fame fear green growth regen slow source stupid terror) = D1 (MetaData "T" "Skill" "main" False) (((((C1 (MetaCons "Ace" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Assassin" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Bleed" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 bleed)) :+: C1 (MetaCons "Block" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 block)))) :+: ((C1 (MetaCons "Blow" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 blow)) :+: C1 (MetaCons "Brainless" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "BreathIce" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Charge" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Discipline" PrefixI False) (U1 :: Type -> Type))))) :+: (((C1 (MetaCons "DrawCard" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 drawCard)) :+: C1 (MetaCons "Falconer" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Fame" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 fame)) :+: (C1 (MetaCons "Fear" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 fear)) :+: C1 (MetaCons "FearTmp" PrefixI False) (U1 :: Type -> Type)))) :+: ((C1 (MetaCons "Flying" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Frenzy" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "GreenAffinity" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 green)) :+: (C1 (MetaCons "Growth" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 growth)) :+: C1 (MetaCons "Imprecise" PrefixI False) (U1 :: Type -> Type)))))) :+: ((((C1 (MetaCons "King" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Knight" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Leader" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Nat)) :+: C1 (MetaCons "LongReach" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "Powerful" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Rampage" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Ranged" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Regeneration" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 regen)) :+: C1 (MetaCons "Sadism" PrefixI False) (U1 :: Type -> Type))))) :+: (((C1 (MetaCons "Slow" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 slow)) :+: C1 (MetaCons "StrengthPot" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Source" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 source)) :+: (C1 (MetaCons "Squire" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Stupid4" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 stupid))))) :+: ((C1 (MetaCons "Support" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Sylvan" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Terror" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 terror)) :+: (C1 (MetaCons "Veteran" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Zealot" PrefixI False) (U1 :: Type -> Type))))))) |
Instances
Eq Pack # | |
Show Pack # | |
Generic Pack # | |
FromJSON Pack # | |
type Rep Pack # | |
Defined in Skill
type Rep Pack = D1 (MetaData "Pack" "Skill" "main" False) (C1 (MetaCons "Pack" PrefixI True) (S1 (MetaSel (Just "skill") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Skill) :*: (S1 (MetaSel (Just "text") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String) :*: S1 (MetaSel (Just "title") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String)))) |