diff options
author | Griffin Smith <grfn@gws.fyi> | 2021-06-19T15·49-0400 |
---|---|---|
committer | grfn <grfn@gws.fyi> | 2021-06-23T21·52+0000 |
commit | d8bd8e7eea5dcef4901bee14b8fe3027fd8605ac (patch) | |
tree | 0b9e02b87175ff8d16baa5a7d8a1c60a267cea28 /users/grfn/xanthous/src/Xanthous/Entities/Raws.hs | |
parent | 8b97683f6ef53605130542ea6de1e587b353aa5b (diff) |
feat(xanthous) Generate random volume+density for items r/2679
Generate random volumes and densities for items based on the ranges for those two quantities in the raw when building instances of items. Since this is the first time creating an item is impure, this also lifts entity generation into a (random) monadic context Change-Id: I2de4880e8144f7ff9e1304eb32806ed1d7affa18 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3226 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
Diffstat (limited to 'users/grfn/xanthous/src/Xanthous/Entities/Raws.hs')
-rw-r--r-- | users/grfn/xanthous/src/Xanthous/Entities/Raws.hs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/users/grfn/xanthous/src/Xanthous/Entities/Raws.hs b/users/grfn/xanthous/src/Xanthous/Entities/Raws.hs index d4cae7ccc299..441e870160a5 100644 --- a/users/grfn/xanthous/src/Xanthous/Entities/Raws.hs +++ b/users/grfn/xanthous/src/Xanthous/Entities/Raws.hs @@ -12,6 +12,7 @@ import Data.FileEmbed import qualified Data.Yaml as Yaml import Xanthous.Prelude import System.FilePath.Posix +import Control.Monad.Random (MonadRandom) -------------------------------------------------------------------------------- import Xanthous.Entities.RawTypes import Xanthous.Game.State @@ -52,8 +53,8 @@ rawsWithType = mapFromList . itoListOf (ifolded . _RawType) $ raws -------------------------------------------------------------------------------- -entityFromRaw :: EntityRaw -> SomeEntity +entityFromRaw :: MonadRandom m => EntityRaw -> m SomeEntity entityFromRaw (Creature creatureType) - = SomeEntity $ Creature.newWithType creatureType + = SomeEntity <$> Creature.newWithType creatureType entityFromRaw (Item itemType) - = SomeEntity $ Item.newWithType itemType + = SomeEntity <$> Item.newWithType itemType |