module Dodge.Item.Craftable where
import Dodge.Data
import Dodge.Default.Weapon
--import Dodge.Particle.Bullet.HitEffect
--import Dodge.WorldEvent.HitEffect
import Color
--import Dodge.Picture.Layer
--import Picture
--import Geometry
import Control.Lens

makeTypeCraftNum :: Int -> CraftType -> Item
makeTypeCraftNum i ct = defaultCraftable
    { _itInvSize = 0.5
    , _itCurseStatus = Uncursed
    , _itConsumption = ItemItselfConsumable $ IcAmount i
    }
    & itType . iyBase .~ CRAFT ct

makeTypeCraft :: CraftType -> Item
makeTypeCraft = makeTypeCraftNum 1

incendiaryModule :: Item
incendiaryModule = makeTypeCraft INCENDIARYMODULE
    & itInvSize .~ 1
    & itInvColor .~ chartreuse
bounceModule :: Item
bounceModule = makeTypeCraft BOUNCEMODULE
    & itInvSize .~ 1
    & itInvColor .~ chartreuse
teleportModule :: Item
teleportModule = makeTypeCraft TELEPORTMODULE
    & itInvSize .~ 1
    & itInvColor .~ chartreuse
timeModule :: Item
timeModule = makeTypeCraft TIMEMODULE
    & itInvSize .~ 1
    & itInvColor .~ chartreuse
sizeModule :: Item
sizeModule = makeTypeCraft SIZEMODULE
    & itInvSize .~ 1
    & itInvColor .~ chartreuse
gravityModule :: Item
gravityModule = makeTypeCraft GRAVITYMODULE
    & itInvSize .~ 1
    & itInvColor .~ chartreuse

pipe :: Item
pipe = makeTypeCraft PIPE

plateCraft :: Item
plateCraft = makeTypeCraft PLATE
