Defunction-ify item modules, requires more cleanup
This commit is contained in:
@@ -1,11 +1,22 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
module Dodge.Combine.Data
|
||||
(CombineType (..)
|
||||
,Detector (..)
|
||||
) where
|
||||
where
|
||||
import Dodge.Equipment.Data
|
||||
import Control.Lens
|
||||
import qualified Data.Map.Strict as M
|
||||
|
||||
-- this should probably store loaded ammo
|
||||
data ItemType = ItemType
|
||||
{_iyBase :: ItemBaseType
|
||||
,_iyModules :: M.Map ModuleSlot ItemModuleType
|
||||
}
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
-- TODO make this an enum somehow...?
|
||||
data CombineType
|
||||
data ItemBaseType
|
||||
= NOTDEFINED
|
||||
| EFFGUN String
|
||||
| AUTOEFFGUN String
|
||||
-- Weapons
|
||||
| BANGSTICK Int
|
||||
| PISTOL
|
||||
@@ -76,6 +87,7 @@ data CombineType
|
||||
| BLINKERUNSAFE
|
||||
| FORCEFIELDGUN
|
||||
| SHRINKER
|
||||
| SPAWNER
|
||||
-- Equipment
|
||||
| CLICKDETECTOR Detector
|
||||
| AUTODETECTOR Detector
|
||||
@@ -86,6 +98,7 @@ data CombineType
|
||||
| INVISIBILITYEQUIPMENT EquipSite
|
||||
| BRAINHAT
|
||||
| HEADLAMP
|
||||
| HEADLAMP1
|
||||
| POWERLEGS
|
||||
| SPEEDLEGS
|
||||
| JUMPLEGS
|
||||
@@ -141,11 +154,50 @@ data CombineType
|
||||
--
|
||||
| KEYCARD Int
|
||||
--
|
||||
| MEDKIT Int
|
||||
--
|
||||
| NoCombineType
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data ItemModuleType
|
||||
= EMPTYMODULE
|
||||
| DRUMMAG
|
||||
| BELTMAG
|
||||
| MAGNETMAG
|
||||
| INCENDBUL
|
||||
| BOUNCEBUL
|
||||
| STATICBUL
|
||||
| CONCUSBUL
|
||||
| TARGCR
|
||||
| TARGLAS
|
||||
| TARGPOS
|
||||
| MAGNETTRAJ
|
||||
| FLECHETRAJ
|
||||
| BEZIERTRAJ
|
||||
| INCENDLAS
|
||||
| SPLITLAS
|
||||
| STATICLAS
|
||||
| WEPTELE
|
||||
| LAUNCHHOME
|
||||
| EXTRABATTERY
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data Detector
|
||||
= ITEMDETECTOR
|
||||
| CREATUREDETECTOR
|
||||
| WALLDETECTOR
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data ModuleSlot
|
||||
= ModBullet
|
||||
| ModRifleMag
|
||||
| ModAutoMag
|
||||
| ModTarget
|
||||
| ModBulletTrajectory
|
||||
| ModLauncherHoming
|
||||
| ModBattery
|
||||
| ModTeleport
|
||||
| ModDualBeam
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
makeLenses ''ItemType
|
||||
|
||||
Reference in New Issue
Block a user