Safe Haskell | None |
---|---|
Language | Haskell2010 |
Game.LambdaHack.Common.Misc
Description
Hacks that haven't found their home yet.
- data FactionId
- data LevelId
- data ActorId
- data Container
- data CStore
- data SLore
- data ItemDialogMode
- data GroupName a
- data Tactic
- toGroupName :: Text -> GroupName a
- describeTactic :: Tactic -> Text
- makePhrase :: [Part] -> Text
- makeSentence :: [Part] -> Text
- squashedWWandW :: [Part] -> (Part, Person)
- normalLevelBound :: (Int, Int)
- appDataDir :: IO FilePath
- xM :: Int -> Int64
- xD :: Double -> Double
- minusM :: Int64
- minusM1 :: Int64
- oneM :: Int64
- tenthM :: Int64
- workaroundOnMainThreadMVar :: MVar (IO ())
Game object identifiers
A unique identifier of a faction in a game.
Abstract level identifiers.
A unique identifier of an actor in the dungeon.
Item containers
Item container type.
Actor's item stores.
Item slot and lore categories.
data ItemDialogMode Source #
Assorted
Instances
Tactic of non-leader actors. Apart of determining AI operation,
each tactic implies a skill modifier, that is added to the non-leader skills
defined in fskillsOther
field of Player
.
Constructors
TExplore | if enemy nearby, attack, if no items, etc., explore unknown |
TFollow | always follow leader's target or his position if no target |
TFollowNoItems | follow but don't do any item management nor use |
TMeleeAndRanged | only melee and do ranged combat |
TMeleeAdjacent | only melee (or wait) |
TBlock | always only wait, even if enemy in melee range |
TRoam | if enemy nearby, attack, if no items, etc., roam randomly |
TPatrol | find an open and uncrowded area, patrol it according
to sight radius and fallback temporarily to |
toGroupName :: Text -> GroupName a Source #
describeTactic :: Tactic -> Text Source #
makePhrase :: [Part] -> Text Source #
Re-exported English phrase creation functions, applied to default irregular word sets.
makeSentence :: [Part] -> Text Source #
Re-exported English phrase creation functions, applied to default irregular word sets.
squashedWWandW :: [Part] -> (Part, Person) Source #
Apply the WWandW
constructor, first representing repetitions
as CardinalWs
.
The parts are not sorted, only grouped, to keep the order.
The internal structure of speech parts is compared, not their string
rendering, so some coincidental clashes are avoided (and code is simpler).
normalLevelBound :: (Int, Int) Source #
Level bounds.
appDataDir :: IO FilePath Source #
Personal data directory for the game. Depends on the OS and the game,
e.g., for LambdaHack under Linux it's ~/.LambdaHack/
.
workaroundOnMainThreadMVar :: MVar (IO ()) Source #
Orphan instances
Binary NominalDiffTime Source # | |
NFData Part Source # | |
NFData Person Source # | |
NFData Polarity Source # | |
(Enum k, Binary k) => Binary (EnumSet k) Source # | |
Enum k => Keyed (EnumMap k) Source # | |
Zip (EnumMap k) Source # | |
Enum k => ZipWithKey (EnumMap k) Source # | |
Enum k => Indexable (EnumMap k) Source # | |
Enum k => Lookup (EnumMap k) Source # | |
Enum k => Adjustable (EnumMap k) Source # | |
Enum k => FoldableWithKey (EnumMap k) Source # | |
Enum k => TraversableWithKey (EnumMap k) Source # | |
(Enum k, Binary k, Binary e) => Binary (EnumMap k e) Source # | |
(Hashable k, Eq k, Binary k, Binary v) => Binary (HashMap k v) Source # | |
(Enum k, Hashable k, Hashable e) => Hashable (EnumMap k e) Source # | |