Add an `equippedItems` field to the CreatureType raw, which provides a chance for generating that creature with an item equipped, which goes into a new `inventory` field on the creature entity itself. Currently the creature doesn't actually *use* this equipped item, but it's a step. This commit also adds a broken-dagger equipped 90% of the time to the "husk" creature. Change-Id: I6416c0678ba7bc1b002c5ce6119f7dc97dd86437
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| --------------------------------------------------------------------------------
 | |
| module Xanthous.Game.StateSpec (main, test) where
 | |
| --------------------------------------------------------------------------------
 | |
| import           Test.Prelude
 | |
| --------------------------------------------------------------------------------
 | |
| import           Xanthous.Game.State
 | |
| import           Xanthous.Entities.Raws (raws)
 | |
| import           Xanthous.Generators.Level.LevelContents (entityFromRaw)
 | |
| import           Control.Monad.Random (evalRandT)
 | |
| import           System.Random (getStdGen)
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| main :: IO ()
 | |
| main = defaultMain test
 | |
| 
 | |
| test :: TestTree
 | |
| test = testGroup "Xanthous.Game.StateSpec"
 | |
|   [ testGroup "entityTypeName"
 | |
|     [ testCase "for a creature" $ do
 | |
|         let gormlakRaw = raws ^?! ix "gormlak"
 | |
|         creature <- runRand $ entityFromRaw gormlakRaw
 | |
|         entityTypeName creature @?= "Creature"
 | |
|     , testCase "for an item" $ do
 | |
|         let stickRaw = raws ^?! ix "stick"
 | |
|         item <- runRand $ entityFromRaw stickRaw
 | |
|         entityTypeName item @?= "Item"
 | |
|     ]
 | |
|   ]
 | |
|   where
 | |
|     runRand x = evalRandT x =<< getStdGen
 |