Make items recoverable from base type
This commit is contained in:
+101
-96
@@ -2,110 +2,23 @@
|
||||
module Dodge.Combine.Data
|
||||
where
|
||||
import Dodge.Equipment.Data
|
||||
import Dodge.Data.ItemAmount
|
||||
import Control.Lens
|
||||
import qualified Data.Map.Strict as M
|
||||
|
||||
-- this should probably store loaded ammo
|
||||
data ItemType = ItemType
|
||||
{_iyBase :: ItemBaseType
|
||||
{_iyBase :: ItemBaseType
|
||||
,_iyModules :: M.Map ModuleSlot ItemModuleType
|
||||
,_iyStack :: Stack
|
||||
}
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
-- TODO make this an enum somehow...?
|
||||
data ItemBaseType
|
||||
= NOTDEFINED
|
||||
| EFFGUN String
|
||||
| AUTOEFFGUN String
|
||||
-- Weapons
|
||||
| BANGSTICK Int
|
||||
| PISTOL
|
||||
| REVOLVER
|
||||
| REVOLVERX Int
|
||||
| HVAUTOGUN
|
||||
| LTAUTOGUN
|
||||
| MACHINEPISTOL
|
||||
| AUTOPISTOL
|
||||
| SMG
|
||||
| BANGCONE
|
||||
| BLUNDERBUSS
|
||||
| BIGBLUNDERBUSS
|
||||
| BIGGERBLUNDERBUSS
|
||||
| BIGGESTBLUNDERBUSS
|
||||
| GRAPESHOTCANNON
|
||||
| GRENADELAUNCHER Int -- number of chambers that can be reloaded
|
||||
-- | MORTARCONE / HANDMORTAR
|
||||
| BANGCANE
|
||||
| MINIGUN
|
||||
| MINIGUNX Int
|
||||
| BANGCANEX Int
|
||||
| RIFLE
|
||||
| REPEATER
|
||||
| AUTORIFLE
|
||||
| BURSTRIFLE
|
||||
| FASTBURSTRIFLE
|
||||
| COMPLETEBURSTRIFLE
|
||||
| BANGROD
|
||||
| ELEPHANTGUN
|
||||
| AMR
|
||||
| AUTOAMR
|
||||
| SNIPERRIFLE
|
||||
| MACHINEGUN
|
||||
| FLAMESPITTER
|
||||
| FLAMETHROWER
|
||||
| FLAMETORRENT
|
||||
| FLAMEWALL
|
||||
| BLOWTORCH
|
||||
| AUTOGUN
|
||||
| SPREADGUN
|
||||
| MULTGUN
|
||||
| LONGGUN
|
||||
| SPARKGUN
|
||||
| TESLAGUN
|
||||
| LASGUN
|
||||
| LASPULSE
|
||||
| LASGUNDUAL
|
||||
| LASGUNSWING
|
||||
| LASGUNSWAY
|
||||
| LASGUNWIDEPULSE
|
||||
| LASGUNWIDE Int
|
||||
| LASGUNFOCUS Int
|
||||
| SONICGUN
|
||||
| TRACTORGUN
|
||||
| LAUNCHER
|
||||
| LAUNCHERX Int
|
||||
-- | TRACKINGLAUNCHER
|
||||
| REMOTELAUNCHER
|
||||
| POISONSPRAYER
|
||||
| DRONELAUNCHER
|
||||
| GRENADE
|
||||
| REMOTEBOMB
|
||||
-- Utility items
|
||||
| BOOSTER
|
||||
| REWINDER
|
||||
| BLINKER
|
||||
| BLINKERUNSAFE
|
||||
| FORCEFIELDGUN
|
||||
| SHRINKER
|
||||
| SPAWNER
|
||||
-- Equipment
|
||||
| CLICKDETECTOR Detector
|
||||
| AUTODETECTOR Detector
|
||||
| MAGSHIELD
|
||||
| FLAMESHIELD
|
||||
| FRONTARMOUR
|
||||
| WRISTARMOUR
|
||||
| INVISIBILITYEQUIPMENT EquipSite
|
||||
| BRAINHAT
|
||||
| HEADLAMP
|
||||
| HEADLAMP1
|
||||
| POWERLEGS
|
||||
| SPEEDLEGS
|
||||
| JUMPLEGS
|
||||
| FLATSHIELD
|
||||
| JETPACK
|
||||
-- Crafting
|
||||
| PIPE
|
||||
data Stack = NoStack | Stack IcAmount
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data CraftType
|
||||
= PIPE
|
||||
| TUBE
|
||||
| HARDWARE
|
||||
| SPRING
|
||||
@@ -151,12 +64,104 @@ data ItemBaseType
|
||||
| TIMEMODULE
|
||||
| SIZEMODULE
|
||||
| GRAVITYMODULE
|
||||
deriving (Eq,Ord,Show,Enum)
|
||||
|
||||
-- TODO make this an enum somehow...?
|
||||
data ItemBaseType
|
||||
= NOTDEFINED
|
||||
| EFFGUN String
|
||||
| AUTOEFFGUN String
|
||||
-- Weapons
|
||||
| BANGSTICK Int
|
||||
| PISTOL
|
||||
| REVOLVER
|
||||
| REVOLVERX Int
|
||||
| MACHINEPISTOL
|
||||
| AUTOPISTOL
|
||||
| SMG
|
||||
| BANGCONE
|
||||
| BLUNDERBUSS
|
||||
| BIGBLUNDERBUSS
|
||||
| BIGGERBLUNDERBUSS
|
||||
| BIGGESTBLUNDERBUSS
|
||||
-- | GRAPESHOTCANNON
|
||||
-- | GRENADELAUNCHER Int -- number of chambers that can be reloaded
|
||||
-- | MORTARCONE / HANDMORTAR
|
||||
| BANGCANE
|
||||
-- | MINIGUN
|
||||
| MINIGUNX Int
|
||||
| BANGCANEX Int
|
||||
| RIFLE
|
||||
| REPEATER
|
||||
| AUTORIFLE
|
||||
| BURSTRIFLE
|
||||
| FASTBURSTRIFLE
|
||||
| COMPLETEBURSTRIFLE
|
||||
| BANGROD
|
||||
| ELEPHANTGUN
|
||||
| AMR
|
||||
| AUTOAMR
|
||||
| SNIPERRIFLE
|
||||
| MACHINEGUN
|
||||
| FLAMESPITTER
|
||||
| FLAMETHROWER
|
||||
| FLAMETORRENT
|
||||
| FLAMEWALL
|
||||
| BLOWTORCH
|
||||
| AUTOGUN
|
||||
-- | SPREADGUN
|
||||
-- | MULTGUN
|
||||
| LONGGUN
|
||||
| SPARKGUN
|
||||
| TESLAGUN
|
||||
| LASGUN
|
||||
| LASPULSE
|
||||
| LASGUNDUAL
|
||||
| LASGUNSWING
|
||||
| LASGUNSWAY
|
||||
| LASGUNWIDEPULSE
|
||||
| LASGUNWIDE Int
|
||||
| LASGUNFOCUS Int
|
||||
| SONICGUN
|
||||
| TRACTORGUN
|
||||
| LAUNCHER
|
||||
| LAUNCHERX Int
|
||||
-- | TRACKINGLAUNCHER
|
||||
| REMOTELAUNCHER
|
||||
| POISONSPRAYER
|
||||
| DRONELAUNCHER
|
||||
-- | GRENADE
|
||||
-- | REMOTEBOMB
|
||||
-- Utility items
|
||||
| BOOSTER
|
||||
| REWINDER
|
||||
| BLINKER
|
||||
| BLINKERUNSAFE
|
||||
| FORCEFIELDGUN
|
||||
| SHRINKER
|
||||
| SPAWNER
|
||||
-- Equipment
|
||||
| CLICKDETECTOR Detector
|
||||
| AUTODETECTOR Detector
|
||||
| MAGSHIELD
|
||||
| FLAMESHIELD
|
||||
| FRONTARMOUR
|
||||
| WRISTARMOUR
|
||||
| INVISIBILITYEQUIPMENT EquipSite
|
||||
| BRAINHAT
|
||||
| HEADLAMP
|
||||
| HEADLAMP1
|
||||
| POWERLEGS
|
||||
| SPEEDLEGS
|
||||
| JUMPLEGS
|
||||
| FLATSHIELD
|
||||
| JETPACK
|
||||
--
|
||||
| KEYCARD Int
|
||||
--
|
||||
| MEDKIT Int
|
||||
| CRAFT CraftType
|
||||
--
|
||||
| NoCombineType
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data ItemModuleType
|
||||
|
||||
Reference in New Issue
Block a user