37 lines
822 B
Haskell
37 lines
822 B
Haskell
module Dodge.Item.Craftable (
|
|
makeTypeCraft,
|
|
makeTypeCraftNum,
|
|
pipe,
|
|
metalPlate,
|
|
) where
|
|
|
|
import Control.Lens
|
|
import Dodge.Data.Item
|
|
import Dodge.Default.Item
|
|
|
|
makeTypeCraftNum :: Int -> CraftType -> [Item]
|
|
makeTypeCraftNum i ct =
|
|
replicate i $
|
|
defaultCraftItem
|
|
& itType .~ CRAFT ct
|
|
|
|
makeTypeCraft :: CraftType -> Item
|
|
makeTypeCraft = head . makeTypeCraftNum 1
|
|
|
|
--energyBallCraft :: EnergyBallType -> Item
|
|
--energyBallCraft ebt = makeTypeCraft (ENERGYBALLCRAFT ebt) & itInvSize .~ 1
|
|
|
|
--incendiaryModule :: Item
|
|
--incendiaryModule = energyBallCraft IncBall
|
|
|
|
--bulletBodyCraft :: BulletEffect -> Item
|
|
--bulletBodyCraft ebt =
|
|
-- makeTypeCraft (BULBODYCRAFT ebt)
|
|
-- & itInvSize .~ 1
|
|
|
|
pipe :: Item
|
|
pipe = makeTypeCraft PIPE
|
|
|
|
metalPlate :: Item
|
|
metalPlate = makeTypeCraft PLATE
|