module Content.ModeKindPlayer
( playerHero, playerAntiHero, playerCivilian
, playerMonster, playerAntiMonster, playerAnimal
, playerHorror, playerMonsterTourist, playerHunamConvict
, playerAnimalMagnificent, playerAnimalExquisite
, hiHeroShort, hiHeroMedium, hiHeroLong, hiDweller
) where
import Prelude ()
import Game.LambdaHack.Core.Prelude
import Content.ItemKindActor
import Content.ItemKindOrgan
import qualified Game.LambdaHack.Content.ItemKind as IK
import Game.LambdaHack.Content.ModeKind
import Game.LambdaHack.Definition.Ability
playerHero, playerAntiHero, playerCivilian, playerMonster, playerAntiMonster, playerAnimal, playerHorror, playerMonsterTourist, playerHunamConvict, playerAnimalMagnificent, playerAnimalExquisite :: Player
playerHero :: Player
playerHero = Player :: Text
-> [GroupName ItemKind]
-> Skills
-> Bool
-> Bool
-> HiCondPoly
-> Bool
-> Doctrine
-> Maybe AutoLeader
-> Bool
-> Bool
-> Player
Player
{ fname :: Text
fname = Text
"Explorer"
, fgroups :: [GroupName ItemKind]
fgroups = [GroupName ItemKind
HERO]
, fskillsOther :: Skills
fskillsOther = Skills
meleeAdjacent
, fcanEscape :: Bool
fcanEscape = Bool
True
, fneverEmpty :: Bool
fneverEmpty = Bool
True
, fhiCondPoly :: HiCondPoly
fhiCondPoly = HiCondPoly
hiHeroLong
, fhasGender :: Bool
fhasGender = Bool
True
, fdoctrine :: Doctrine
fdoctrine = Doctrine
TExplore
, fleaderMode :: Maybe AutoLeader
fleaderMode = AutoLeader -> Maybe AutoLeader
forall a. a -> Maybe a
Just (AutoLeader -> Maybe AutoLeader) -> AutoLeader -> Maybe AutoLeader
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> AutoLeader
AutoLeader Bool
False Bool
False
, fhasUI :: Bool
fhasUI = Bool
True
, funderAI :: Bool
funderAI = Bool
False
}
playerAntiHero :: Player
playerAntiHero = Player
playerHero
{ fleaderMode :: Maybe AutoLeader
fleaderMode = AutoLeader -> Maybe AutoLeader
forall a. a -> Maybe a
Just (AutoLeader -> Maybe AutoLeader) -> AutoLeader -> Maybe AutoLeader
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> AutoLeader
AutoLeader Bool
True Bool
False
, fhasUI :: Bool
fhasUI = Bool
False
, funderAI :: Bool
funderAI = Bool
True
}
playerCivilian :: Player
playerCivilian = Player :: Text
-> [GroupName ItemKind]
-> Skills
-> Bool
-> Bool
-> HiCondPoly
-> Bool
-> Doctrine
-> Maybe AutoLeader
-> Bool
-> Bool
-> Player
Player
{ fname :: Text
fname = Text
"Civilian"
, fgroups :: [GroupName ItemKind]
fgroups = [GroupName ItemKind
HERO, GroupName ItemKind
CIVILIAN]
, fskillsOther :: Skills
fskillsOther = Skills
zeroSkills
, fcanEscape :: Bool
fcanEscape = Bool
False
, fneverEmpty :: Bool
fneverEmpty = Bool
True
, fhiCondPoly :: HiCondPoly
fhiCondPoly = HiCondPoly
hiHeroMedium
, fhasGender :: Bool
fhasGender = Bool
True
, fdoctrine :: Doctrine
fdoctrine = Doctrine
TPatrol
, fleaderMode :: Maybe AutoLeader
fleaderMode = Maybe AutoLeader
forall a. Maybe a
Nothing
, fhasUI :: Bool
fhasUI = Bool
False
, funderAI :: Bool
funderAI = Bool
True
}
playerMonster :: Player
playerMonster = Player :: Text
-> [GroupName ItemKind]
-> Skills
-> Bool
-> Bool
-> HiCondPoly
-> Bool
-> Doctrine
-> Maybe AutoLeader
-> Bool
-> Bool
-> Player
Player
{ fname :: Text
fname = Text
"Monster Hive"
, fgroups :: [GroupName ItemKind]
fgroups = [GroupName ItemKind
MONSTER, GroupName ItemKind
MOBILE_MONSTER]
, fskillsOther :: Skills
fskillsOther = Skills
zeroSkills
, fcanEscape :: Bool
fcanEscape = Bool
False
, fneverEmpty :: Bool
fneverEmpty = Bool
False
, fhiCondPoly :: HiCondPoly
fhiCondPoly = HiCondPoly
hiDweller
, fhasGender :: Bool
fhasGender = Bool
False
, fdoctrine :: Doctrine
fdoctrine = Doctrine
TExplore
, fleaderMode :: Maybe AutoLeader
fleaderMode =
AutoLeader -> Maybe AutoLeader
forall a. a -> Maybe a
Just (AutoLeader -> Maybe AutoLeader) -> AutoLeader -> Maybe AutoLeader
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> AutoLeader
AutoLeader Bool
True Bool
True
, fhasUI :: Bool
fhasUI = Bool
False
, funderAI :: Bool
funderAI = Bool
True
}
playerAntiMonster :: Player
playerAntiMonster = Player
playerMonster
{ fleaderMode :: Maybe AutoLeader
fleaderMode = AutoLeader -> Maybe AutoLeader
forall a. a -> Maybe a
Just (AutoLeader -> Maybe AutoLeader) -> AutoLeader -> Maybe AutoLeader
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> AutoLeader
AutoLeader Bool
True Bool
True
, fhasUI :: Bool
fhasUI = Bool
True
, funderAI :: Bool
funderAI = Bool
False
}
playerAnimal :: Player
playerAnimal = Player :: Text
-> [GroupName ItemKind]
-> Skills
-> Bool
-> Bool
-> HiCondPoly
-> Bool
-> Doctrine
-> Maybe AutoLeader
-> Bool
-> Bool
-> Player
Player
{ fname :: Text
fname = Text
"Animal Kingdom"
, fgroups :: [GroupName ItemKind]
fgroups = [GroupName ItemKind
ANIMAL, GroupName ItemKind
MOBILE_ANIMAL, GroupName ItemKind
IMMOBILE_ANIMAL, GroupName ItemKind
SCAVENGER]
, fskillsOther :: Skills
fskillsOther = Skills
zeroSkills
, fcanEscape :: Bool
fcanEscape = Bool
False
, fneverEmpty :: Bool
fneverEmpty = Bool
False
, fhiCondPoly :: HiCondPoly
fhiCondPoly = HiCondPoly
hiDweller
, fhasGender :: Bool
fhasGender = Bool
False
, fdoctrine :: Doctrine
fdoctrine = Doctrine
TRoam
, fleaderMode :: Maybe AutoLeader
fleaderMode = Maybe AutoLeader
forall a. Maybe a
Nothing
, fhasUI :: Bool
fhasUI = Bool
False
, funderAI :: Bool
funderAI = Bool
True
}
playerHorror :: Player
playerHorror = Player :: Text
-> [GroupName ItemKind]
-> Skills
-> Bool
-> Bool
-> HiCondPoly
-> Bool
-> Doctrine
-> Maybe AutoLeader
-> Bool
-> Bool
-> Player
Player
{ fname :: Text
fname = Text
"Horror Den"
, fgroups :: [GroupName ItemKind]
fgroups = [GroupName ItemKind
IK.HORROR]
, fskillsOther :: Skills
fskillsOther = Skills
zeroSkills
, fcanEscape :: Bool
fcanEscape = Bool
False
, fneverEmpty :: Bool
fneverEmpty = Bool
False
, fhiCondPoly :: HiCondPoly
fhiCondPoly = []
, fhasGender :: Bool
fhasGender = Bool
False
, fdoctrine :: Doctrine
fdoctrine = Doctrine
TPatrol
, fleaderMode :: Maybe AutoLeader
fleaderMode = Maybe AutoLeader
forall a. Maybe a
Nothing
, fhasUI :: Bool
fhasUI = Bool
False
, funderAI :: Bool
funderAI = Bool
True
}
playerMonsterTourist :: Player
playerMonsterTourist =
Player
playerAntiMonster { fname :: Text
fname = Text
"Monster Tourist Office"
, fcanEscape :: Bool
fcanEscape = Bool
True
, fneverEmpty :: Bool
fneverEmpty = Bool
True
, fhiCondPoly :: HiCondPoly
fhiCondPoly = HiCondPoly
hiHeroMedium
, fdoctrine :: Doctrine
fdoctrine = Doctrine
TFollow
, fleaderMode :: Maybe AutoLeader
fleaderMode = AutoLeader -> Maybe AutoLeader
forall a. a -> Maybe a
Just (AutoLeader -> Maybe AutoLeader) -> AutoLeader -> Maybe AutoLeader
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> AutoLeader
AutoLeader Bool
False Bool
False
, funderAI :: Bool
funderAI = Bool
False }
playerHunamConvict :: Player
playerHunamConvict =
Player
playerCivilian { fname :: Text
fname = Text
"Hunam Convict"
, fleaderMode :: Maybe AutoLeader
fleaderMode = AutoLeader -> Maybe AutoLeader
forall a. a -> Maybe a
Just (AutoLeader -> Maybe AutoLeader) -> AutoLeader -> Maybe AutoLeader
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> AutoLeader
AutoLeader Bool
True Bool
False
, funderAI :: Bool
funderAI = Bool
True }
playerAnimalMagnificent :: Player
playerAnimalMagnificent =
Player
playerAnimal { fname :: Text
fname = Text
"Animal Magnificent Specimen Variety"
, fneverEmpty :: Bool
fneverEmpty = Bool
True }
playerAnimalExquisite :: Player
playerAnimalExquisite =
Player
playerAnimal { fname :: Text
fname = Text
"Animal Exquisite Herds and Packs Galore"
, fneverEmpty :: Bool
fneverEmpty = Bool
True }
hiHeroLong, hiHeroMedium, hiHeroShort, hiDweller :: HiCondPoly
hiHeroShort :: HiCondPoly
hiHeroShort =
[ ( [(HiIndeterminant
HiLoot, Double
100)]
, [Outcome
forall a. Bounded a => a
minBound..Outcome
forall a. Bounded a => a
maxBound] )
, ( [(HiIndeterminant
HiConst, Double
100)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiSprint, -Double
500)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiSurvival, Double
10)]
, [Outcome]
deafeatOutcomes )
]
hiHeroMedium :: HiCondPoly
hiHeroMedium =
[ ( [(HiIndeterminant
HiLoot, Double
200)]
, [Outcome
forall a. Bounded a => a
minBound..Outcome
forall a. Bounded a => a
maxBound] )
, ( [(HiIndeterminant
HiConst, Double
200), (HiIndeterminant
HiLoss, -Double
10)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiSprint, -Double
500)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiBlitz, -Double
100)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiSurvival, Double
10)]
, [Outcome]
deafeatOutcomes )
]
hiHeroLong :: HiCondPoly
hiHeroLong =
[ ( [(HiIndeterminant
HiLoot, Double
10000)]
, [Outcome
forall a. Bounded a => a
minBound..Outcome
forall a. Bounded a => a
maxBound] )
, ( [(HiIndeterminant
HiSprint, -Double
20000)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiBlitz, -Double
100)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiSurvival, Double
10)]
, [Outcome]
deafeatOutcomes )
]
hiDweller :: HiCondPoly
hiDweller = [ ( [(HiIndeterminant
HiConst, Double
1000)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiConst, Double
1000), (HiIndeterminant
HiLoss, -Double
10)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiSprint, -Double
1000)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiBlitz, -Double
100)]
, [Outcome]
victoryOutcomes )
, ( [(HiIndeterminant
HiSurvival, Double
100)]
, [Outcome]
deafeatOutcomes )
]