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