Safe Haskell | None |
---|
- statsStereo :: ((StatKey -> Int) -> StatKey -> Int) -> PlayerStereo
- skillsStereo :: [Skill] -> PlayerStereo
- skillStereoM :: Monad m => m Skill -> m PlayerStereo
- addStereo :: MonadPlayer m => Atom PlayerStereo -> m ()
- replaceStereo :: MonadPlayer m => Atom PlayerStereo -> Atom PlayerStereo -> m ()
- registerStereo :: MonadAtoms m => PlayerStereo -> m (Atom PlayerStereo)
- registerStereoM :: MonadAtoms m => StereoBuilderT m () -> m (Atom PlayerStereo)
- newtype StereoBuilderT m a = StereoBuilder {
- runStereoBuilderT :: PlayerStereo -> m (a, PlayerStereo)
- mergeStereo :: Monad m => PlayerStereo -> StereoBuilderT m ()
- mergeStereoM :: Monad m => m PlayerStereo -> StereoBuilderT m ()
- mergeSkill :: MonadVocab m => Skill -> StereoBuilderT m ()
- mergeSkillM :: MonadVocab m => m Skill -> StereoBuilderT m ()
- defaultStereo :: PlayerStereo
- visualStereo :: MonadVocab m => m PlayerStereo
- manualStereo :: MonadVocab m => m PlayerStereo
Primitives
statsStereo :: ((StatKey -> Int) -> StatKey -> Int) -> PlayerStereoSource
Create a stereotype that carries a stats modifier
skillsStereo :: [Skill] -> PlayerStereoSource
Create a stereotype that carries skills
skillStereoM :: Monad m => m Skill -> m PlayerStereoSource
Create a stereotype that carries a skill from a monadic composition
Dealing with players
addStereo :: MonadPlayer m => Atom PlayerStereo -> m ()Source
Add the given stereotype to the current player.
replaceStereo :: MonadPlayer m => Atom PlayerStereo -> Atom PlayerStereo -> m ()Source
Remove one stereotype and add another
Registration
registerStereo :: MonadAtoms m => PlayerStereo -> m (Atom PlayerStereo)Source
Register the given stereotype and return its atom.
registerStereoM :: MonadAtoms m => StereoBuilderT m () -> m (Atom PlayerStereo)Source
Process the builder chain and register the resulting stereotype
Builder
newtype StereoBuilderT m a Source
For monadic stereotype construction
StereoBuilder | |
|
MonadTrans StereoBuilderT | |
MonadError SplErr m0 => MonadError SplErr (StereoBuilderT m0) | |
ChannelPrinter Bool m0 => ChannelPrinter Bool (StereoBuilderT m0) | |
ChannelPrinter Int m0 => ChannelPrinter Int (StereoBuilderT m0) | |
ChannelPrinter Handle m0 => ChannelPrinter Handle (StereoBuilderT m0) | |
ChannelPrinter PlayerId m0 => ChannelPrinter PlayerId (StereoBuilderT m0) | |
(MonadDungeon m0, ChannelPrinter PlayerId m0) => Broadcaster PlayerId (StereoBuilderT m0) | |
Monad m => Monad (StereoBuilderT m) | |
Functor m => Functor (StereoBuilderT m) | |
MonadIO m0 => MonadIO (StereoBuilderT m0) | |
MonadCounter m0 => MonadCounter (StereoBuilderT m0) | |
MonadAtoms m0 => MonadAtoms (StereoBuilderT m0) | |
MonadVocab m0 => MonadVocab (StereoBuilderT m0) | |
MonadPrinter m0 => MonadPrinter (StereoBuilderT m0) | |
MonadFinalizer m0 => MonadFinalizer (StereoBuilderT m0) | |
MonadScanner m0 => MonadScanner (StereoBuilderT m0) | |
MonadExpand m0 => MonadExpand (StereoBuilderT m0) | |
ExpanderEnv m0 => ExpanderEnv (StereoBuilderT m0) | |
MonadRandom m0 => MonadRandom (StereoBuilderT m0) | |
MonadClock m0 => MonadClock (StereoBuilderT m0) | |
ExtendedPrinter m0 => ExtendedPrinter (StereoBuilderT m0) | |
MonadDungeon m0 => MonadDungeon (StereoBuilderT m0) | |
MonadPlayer m0 => MonadPlayer (StereoBuilderT m0) | |
MonadObject m0 => MonadObject (StereoBuilderT m0) | |
MonadRoom m0 => MonadRoom (StereoBuilderT m0) | |
MonadSpawn m0 => MonadSpawn (StereoBuilderT m0) | |
HistoryEnv m0 => HistoryEnv (StereoBuilderT m0) |
mergeStereo :: Monad m => PlayerStereo -> StereoBuilderT m ()Source
Merge the given pure stereotype into the built one
mergeStereoM :: Monad m => m PlayerStereo -> StereoBuilderT m ()Source
Merge the given monadic stereotype into the built one
mergeSkill :: MonadVocab m => Skill -> StereoBuilderT m ()Source
Merge the given pure skill into the built stereotype
mergeSkillM :: MonadVocab m => m Skill -> StereoBuilderT m ()Source
Merge the given monadic skill into the built stereotype
Default stereos
defaultStereo :: PlayerStereoSource
Default stereotype.
visualStereo :: MonadVocab m => m PlayerStereoSource
manualStereo :: MonadVocab m => m PlayerStereoSource