app

Safe Haskell None
Language Haskell2010

Effect

Description

Module defining core and UI effects. Core effects affect boards while UI effects affect UI boards.

Synopsis

Documentation

data DeathCause #

Animations recorded upon death. If you are looking for the same thing in the more general case of the creature not dying, look at fadeOut. TODO smelc remove me, superseded by fadeOut in T@.

Constructors

DeathByBleed

Creature was killed by bleeding

DeathByFear

Creature was killed by fear

DeathByBreathIce

Creature killed by BreathIce attack

DeathByTerror

Creature was killed by terror

NoDeath

Creature was not killed

UsualDeath

Creature was killed for a reason we do not track precisely

Instances
Eq DeathCause #  
Instance details

Defined in Effect

Show DeathCause #  
Instance details

Defined in Effect

Generic DeathCause #  
Instance details

Defined in Effect

Associated Types

type Rep DeathCause :: Type -> Type #

Semigroup DeathCause #  
Instance details

Defined in Effect

Monoid DeathCause #  
Instance details

Defined in Effect

type Rep DeathCause #  
Instance details

Defined in Effect

type Rep DeathCause = D1 (MetaData "DeathCause" "Effect" "main" False) ((C1 (MetaCons "DeathByBleed" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "DeathByFear" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "DeathByBreathIce" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "DeathByTerror" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "NoDeath" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "UsualDeath" PrefixI False) (U1 :: Type -> Type))))

isDead :: DeathCause -> Bool #

Whether this death cause represents a death

data DecoChange #

A change in the value of the deco map

Constructors

NoDecoChange

No change

Appears Deco

A new Deco appears

Instances
Eq DecoChange #  
Instance details

Defined in Effect

Show DecoChange #  
Instance details

Defined in Effect

Generic DecoChange #  
Instance details

Defined in Effect

Associated Types

type Rep DecoChange :: Type -> Type #

Semigroup DecoChange #  
Instance details

Defined in Effect

Monoid DecoChange #  
Instance details

Defined in Effect

type Rep DecoChange #  
Instance details

Defined in Effect

type Rep DecoChange = D1 (MetaData "DecoChange" "Effect" "main" False) (C1 (MetaCons "NoDecoChange" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Appears" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Deco)))

data Deco #

Constructors

Forest  
Instances
Bounded Deco #  
Instance details

Defined in Effect

Methods

minBound :: Deco #

maxBound :: Deco #

Enum Deco #  
Instance details

Defined in Effect

Methods

succ :: Deco -> Deco #

pred :: Deco -> Deco #

toEnum :: Int -> Deco #

fromEnum :: Deco -> Int #

enumFrom :: Deco -> [Deco] #

enumFromThen :: Deco -> Deco -> [Deco] #

enumFromTo :: Deco -> Deco -> [Deco] #

enumFromThenTo :: Deco -> Deco -> Deco -> [Deco] #

Eq Deco #  
Instance details

Defined in Effect

Methods

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

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

Show Deco #  
Instance details

Defined in Effect

Methods

showsPrec :: Int -> Deco -> ShowS #

show :: Deco -> String #

showList :: [Deco] -> ShowS #

Generic Deco #  
Instance details

Defined in Effect

Associated Types

type Rep Deco :: Type -> Type #

Methods

from :: Deco -> Rep Deco x #

to :: Rep Deco x -> Deco #

Semigroup Deco #  
Instance details

Defined in Effect

Methods

(<>) :: Deco -> Deco -> Deco #

sconcat :: NonEmpty Deco -> Deco #

stimes :: Integral b => b -> Deco -> Deco #

PlayerIndexed (Map Card Deco) Core #

Generic access to the deco in 'Core phase.

Instance details

Defined in Board

Methods

getp :: Player -> T Core -> Map Card Deco #

setp :: Map Card Deco -> Player -> T Core -> T Core #

type Rep Deco #  
Instance details

Defined in Effect

type Rep Deco = D1 (MetaData "Deco" "Effect" "main" False) (C1 (MetaCons "Forest" PrefixI False) (U1 :: Type -> Type))

data T #

Initially this type was for displaying animations only. However Game also uses for Core stuff internally (see applyEffectOnBoard). Unfortunate :-( So be careful when changing related code.

This type mostly deals with the defender, even though there is the attackBump field (could this field be removed?)

Constructors

T  

Fields

Instances
Eq T #  
Instance details

Defined in Effect

Methods

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

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

Show T #  
Instance details

Defined in Effect

Methods

showsPrec :: Int -> T -> ShowS #

show :: T -> String #

showList :: [T] -> ShowS #

Generic T #  
Instance details

Defined in Effect

Associated Types

type Rep T :: Type -> Type #

Methods

from :: T -> Rep T x #

to :: Rep T x -> T #

Semigroup T #  
Instance details

Defined in Effect

Methods

(<>) :: T -> T -> T #

sconcat :: NonEmpty T -> T #

stimes :: Integral b => b -> T -> T #

Monoid T #  
Instance details

Defined in Effect

Methods

mempty :: T #

mappend :: T -> T -> T #

mconcat :: [T] -> T #

PlayerIndexed (Map Card T) UI #

Generic access to effects in 'UI phase

Instance details

Defined in Board

Methods

getp :: Player -> T0 UI -> Map Card T #

setp :: Map Card T -> Player -> T0 UI -> T0 UI #

type Rep T #  
Instance details

Defined in Effect

type Ts = Map Card T #