Files
loop/src/Dodge/Creature/Vocalization.hs
T

19 lines
559 B
Haskell

module Dodge.Creature.Vocalization where
import Control.Lens
import Dodge.Data.World
import Sound.Data
import System.Random
vocalizationTest :: Creature -> Maybe SoundID
vocalizationTest cr = case cr ^? crVocalization . vcCoolDown of
Just 0 -> Just $ _vcSound $ _crVocalization cr
_ -> Nothing
resetCrVocCoolDown :: World -> Creature -> Creature
resetCrVocCoolDown w cr = case cr ^? crVocalization . vcMaxCoolDown of
Just (i,j) -> cr & crVocalization . vcCoolDown .~ x
where
x = fst $ randomR (i,j) (_randGen w)
Nothing -> cr