46 lines
1.0 KiB
Haskell
46 lines
1.0 KiB
Haskell
module Dodge.Item.Craftable where
|
|
|
|
import Dodge.Default.Item
|
|
import Control.Lens
|
|
import Dodge.Data.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
|
|
|
|
--bounceModule :: Item
|
|
--bounceModule = bulletBodyCraft BounceBullet
|
|
|
|
teleportModule :: Item
|
|
teleportModule = makeTypeCraft TELEPORTMODULE
|
|
|
|
timeModule :: Item
|
|
timeModule = makeTypeCraft TIMEMODULE
|
|
|
|
sizeModule :: Item
|
|
sizeModule = makeTypeCraft SIZEMODULE
|
|
|
|
gravityModule :: Item
|
|
gravityModule = makeTypeCraft GRAVITYMODULE
|
|
|
|
pipe :: Item
|
|
pipe = makeTypeCraft PIPE
|
|
|
|
plateCraft :: Item
|
|
plateCraft = makeTypeCraft PLATE
|