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
		
	
	
	
		
			826 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			826 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| -- |
 | |
| 
 | |
| module Xanthous.Entities.RawsSpec (main, test) where
 | |
| 
 | |
| import Test.Prelude
 | |
| import Xanthous.Entities.Raws
 | |
| import Xanthous.Entities.RawTypes
 | |
|        (_Creature, entityName, generateParams, HasEquippedItem (equippedItem))
 | |
| 
 | |
| main :: IO ()
 | |
| main = defaultMain test
 | |
| 
 | |
| test :: TestTree
 | |
| test = testGroup "Xanthous.Entities.Raws"
 | |
|   [ testGroup "raws"
 | |
|     [ testCase "are all valid" $ raws `deepseq` pure ()
 | |
|     , testCase "all CreatureEquippedItems reference existent entity names" $
 | |
|       let notFound
 | |
|             = raws
 | |
|               ^.. folded
 | |
|               . _Creature
 | |
|               . generateParams
 | |
|               . _Just
 | |
|               . equippedItem
 | |
|               . _Just
 | |
|               . entityName
 | |
|               . filtered (isNothing . raw)
 | |
|       in null notFound @? ("Some entities weren't found: " <> show notFound)
 | |
|     ]
 | |
|   ]
 |