Safe Haskell | None |
---|---|
Language | Haskell2010 |
- 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 :: ChAtoms m => PlayerStereo -> m (Atom PlayerStereo)
- registerStereoM :: ChAtoms 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 ()
- mergeRecipe :: MonadVocab m => Recipe -> StereoBuilderT m ()
- mergeSkillM :: MonadVocab m => m Skill -> StereoBuilderT m ()
- mergeRecipeM :: MonadVocab m => m Recipe -> StereoBuilderT m ()
- defaultStereo :: MonadVocab m => m PlayerStereo
- visualStereo :: MonadVocab m => m PlayerStereo
- manualStereo :: MonadVocab m => m PlayerStereo
- consumeStereo :: MonadVocab m => m PlayerStereo
Primitives
statsStereo :: ((StatKey -> Int) -> StatKey -> Int) -> PlayerStereo Source
Create a stereotype that carries a stats modifier
skillsStereo :: [Skill] -> PlayerStereo Source
Create a stereotype that carries skills
skillStereoM :: Monad m => m Skill -> m PlayerStereo Source
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 :: ChAtoms m => PlayerStereo -> m (Atom PlayerStereo) Source
Register the given stereotype and return its atom.
registerStereoM :: ChAtoms 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 | |
|
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
mergeRecipe :: MonadVocab m => Recipe -> StereoBuilderT m () Source
Merge the given pure recipe into the built stereotype
mergeSkillM :: MonadVocab m => m Skill -> StereoBuilderT m () Source
Merge the given monadic skill into the built stereotype
mergeRecipeM :: MonadVocab m => m Recipe -> StereoBuilderT m () Source
Merge the given monadic recipe into the built stereotype
Default stereos
defaultStereo :: MonadVocab m => m PlayerStereo Source
Default stereotype.
visualStereo :: MonadVocab m => m PlayerStereo Source
manualStereo :: MonadVocab m => m PlayerStereo Source
consumeStereo :: MonadVocab m => m PlayerStereo Source