59 lines
1.4 KiB
Haskell
59 lines
1.4 KiB
Haskell
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 -> CombineType -> Item
|
|
makeTypeCraftNum i ct = defaultCraftable
|
|
{ _itInvSize = 0.5
|
|
, _itCurseStatus = Uncursed
|
|
, _itName = show ct
|
|
, _itType = ct
|
|
, _itConsumption = ItemItselfConsumable i
|
|
}
|
|
|
|
makeTypeCraft :: CombineType -> Item
|
|
makeTypeCraft = makeTypeCraftNum 1
|
|
|
|
makeModule :: CombineType -> Item
|
|
makeModule ct = makeTypeCraft ct
|
|
& itInvSize .~ 1
|
|
& itInvColor .~ chartreuse
|
|
|
|
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
|