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 :: 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) -> 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 | |
|
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 :: MonadVocab m => m PlayerStereoSource
Default stereotype.
visualStereo :: MonadVocab m => m PlayerStereoSource
manualStereo :: MonadVocab m => m PlayerStereoSource
consumeStereo :: MonadVocab m => m PlayerStereoSource