| 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
| Binary FactionKind Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind | |||||
| Generic FactionKind Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Associated Types
| |||||
| Show FactionKind Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind Methods showsPrec :: Int -> FactionKind -> ShowS # show :: FactionKind -> String # showList :: [FactionKind] -> ShowS # | |||||
| Eq FactionKind Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind | |||||
| type Rep FactionKind Source # | |||||
Defined in Game.LambdaHack.Content.FactionKind type Rep FactionKind = D1 ('MetaData "FactionKind" "Game.LambdaHack.Content.FactionKind" "LambdaHack-0.11.0.1-BLuOaw8nuizISmzkanqI8h" 'False) (C1 ('MetaCons "FactionKind" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "fname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "ffreq") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Freqs FactionKind))) :*: (S1 ('MetaSel ('Just "fteam") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TeamContinuity) :*: S1 ('MetaSel ('Just "fgroups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Freqs ItemKind)))) :*: ((S1 ('MetaSel ('Just "fskillsOther") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Skills) :*: S1 ('MetaSel ('Just "fcanEscape") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "fneverEmpty") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "fhiCondPoly") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 HiCondPoly)))) :*: (((S1 ('MetaSel ('Just "fhasGender") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "finitDoctrine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Doctrine)) :*: (S1 ('MetaSel ('Just "fspawnsFast") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "fhasPointman") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "fhasUI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "finitUnderAI") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "fenemyTeams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TeamContinuity]) :*: S1 ('MetaSel ('Just "falliedTeams") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TeamContinuity])))))) | |||||
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 | |||||
| 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-BLuOaw8nuizISmzkanqI8h" '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
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-BLuOaw8nuizISmzkanqI8h" '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.