Safe Haskell | None |
---|---|
Language | Haskell2010 |
Game.LambdaHack.Content.FactionKind
Contents
Description
The type of kinds of factions present in a game, both human and computer-controlled.
Synopsis
- data FactionKind = FactionKind {
- fname :: Text
- ffreq :: Freqs FactionKind
- fteam :: TeamContinuity
- fgroups :: Freqs ItemKind
- fskillsOther :: Skills
- fcanEscape :: Bool
- fneverEmpty :: Bool
- fhiCondPoly :: HiCondPoly
- fhasGender :: Bool
- finitDoctrine :: Doctrine
- fspawnsFast :: Bool
- fhasPointman :: Bool
- fhasUI :: Bool
- finitUnderAI :: Bool
- fenemyTeams :: [TeamContinuity]
- falliedTeams :: [TeamContinuity]
- makeData :: [FactionKind] -> [GroupName FactionKind] -> [GroupName FactionKind] -> ContentData FactionKind
- type HiCondPoly = [HiSummand]
- type HiSummand = (HiPolynomial, [Outcome])
- type HiPolynomial = [(HiIndeterminant, Double)]
- data HiIndeterminant
- newtype TeamContinuity = TeamContinuity Int
- data Outcome
- teamExplorer :: TeamContinuity
- hiHeroLong :: HiCondPoly
- hiHeroMedium :: HiCondPoly
- hiHeroShort :: HiCondPoly
- hiDweller :: HiCondPoly
- victoryOutcomes :: [Outcome]
- deafeatOutcomes :: [Outcome]
- nameOutcomePast :: Outcome -> Text
- nameOutcomeVerb :: Outcome -> Text
- endMessageOutcome :: Outcome -> Text
- validateSingle :: FactionKind -> [Text]
- validateAll :: [FactionKind] -> ContentData FactionKind -> [Text]
Documentation
data FactionKind Source #
Properties of a particular faction.
Constructors
FactionKind | |
Fields
|
Instances
makeData :: [FactionKind] -> [GroupName FactionKind] -> [GroupName FactionKind] -> ContentData FactionKind Source #
type HiCondPoly = [HiSummand] Source #
Conditional polynomial representing score calculation for this faction.
type HiSummand = (HiPolynomial, [Outcome]) Source #
type HiPolynomial = [(HiIndeterminant, Double)] Source #
data HiIndeterminant Source #
Instances
Binary HiIndeterminant Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods put :: HiIndeterminant -> Put # get :: Get HiIndeterminant # putList :: [HiIndeterminant] -> Put # | |||||
Generic HiIndeterminant Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Associated Types
Methods from :: HiIndeterminant -> Rep HiIndeterminant x # to :: Rep HiIndeterminant x -> HiIndeterminant # | |||||
Show HiIndeterminant Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods showsPrec :: Int -> HiIndeterminant -> ShowS # show :: HiIndeterminant -> String # showList :: [HiIndeterminant] -> ShowS # | |||||
Eq HiIndeterminant Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods (==) :: HiIndeterminant -> HiIndeterminant -> Bool # (/=) :: HiIndeterminant -> HiIndeterminant -> Bool # | |||||
type Rep HiIndeterminant Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind type Rep HiIndeterminant = D1 ('MetaData "HiIndeterminant" "Game.LambdaHack.Content.FactionKind" "LambdaHack-0.11.0.1-1D7LX8pdduC5BWPZZbOgrs" 'False) ((C1 ('MetaCons "HiConst" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HiLoot" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HiSprint" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "HiBlitz" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HiSurvival" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HiKill" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HiLoss" 'PrefixI 'False) (U1 :: Type -> Type)))) |
newtype TeamContinuity Source #
Team continuity index. Starting with 1. See the comment for FactionId
.
Constructors
TeamContinuity Int |
Instances
Binary TeamContinuity Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods put :: TeamContinuity -> Put # get :: Get TeamContinuity # putList :: [TeamContinuity] -> Put # | |||||
Enum TeamContinuity Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods succ :: TeamContinuity -> TeamContinuity # pred :: TeamContinuity -> TeamContinuity # toEnum :: Int -> TeamContinuity # fromEnum :: TeamContinuity -> Int # enumFrom :: TeamContinuity -> [TeamContinuity] # enumFromThen :: TeamContinuity -> TeamContinuity -> [TeamContinuity] # enumFromTo :: TeamContinuity -> TeamContinuity -> [TeamContinuity] # enumFromThenTo :: TeamContinuity -> TeamContinuity -> TeamContinuity -> [TeamContinuity] # | |||||
Generic TeamContinuity Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Associated Types
Methods from :: TeamContinuity -> Rep TeamContinuity x # to :: Rep TeamContinuity x -> TeamContinuity # | |||||
Show TeamContinuity Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods showsPrec :: Int -> TeamContinuity -> ShowS # show :: TeamContinuity -> String # showList :: [TeamContinuity] -> ShowS # | |||||
Eq TeamContinuity Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods (==) :: TeamContinuity -> TeamContinuity -> Bool # (/=) :: TeamContinuity -> TeamContinuity -> Bool # | |||||
Ord TeamContinuity Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods compare :: TeamContinuity -> TeamContinuity -> Ordering # (<) :: TeamContinuity -> TeamContinuity -> Bool # (<=) :: TeamContinuity -> TeamContinuity -> Bool # (>) :: TeamContinuity -> TeamContinuity -> Bool # (>=) :: TeamContinuity -> TeamContinuity -> Bool # max :: TeamContinuity -> TeamContinuity -> TeamContinuity # min :: TeamContinuity -> TeamContinuity -> TeamContinuity # | |||||
type Rep TeamContinuity Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind type Rep TeamContinuity = D1 ('MetaData "TeamContinuity" "Game.LambdaHack.Content.FactionKind" "LambdaHack-0.11.0.1-1D7LX8pdduC5BWPZZbOgrs" 'True) (C1 ('MetaCons "TeamContinuity" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) |
Outcome of a game.
Constructors
Escape | the faction escaped the dungeon alive |
Conquer | the faction won by eliminating all rivals |
Defeated | the faction lost the game in another way |
Killed | the faction was eliminated |
Restart | game is restarted; the quitter quit |
Camping | game is supended |
Instances
Binary Outcome Source # | |||||
Bounded Outcome Source # | |||||
Enum Outcome Source # | |||||
Generic Outcome Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Associated Types
| |||||
Show Outcome Source # | |||||
Eq Outcome Source # | |||||
Ord Outcome Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind | |||||
type Rep Outcome Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind type Rep Outcome = D1 ('MetaData "Outcome" "Game.LambdaHack.Content.FactionKind" "LambdaHack-0.11.0.1-1D7LX8pdduC5BWPZZbOgrs" 'False) ((C1 ('MetaCons "Escape" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Conquer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Defeated" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "Killed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Restart" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Camping" 'PrefixI 'False) (U1 :: Type -> Type)))) |
victoryOutcomes :: [Outcome] Source #
deafeatOutcomes :: [Outcome] Source #
nameOutcomePast :: Outcome -> Text Source #
nameOutcomeVerb :: Outcome -> Text Source #
endMessageOutcome :: Outcome -> Text Source #
Internal operations
validateSingle :: FactionKind -> [Text] Source #
validateAll :: [FactionKind] -> ContentData FactionKind -> [Text] Source #
Validate game faction kinds together.