Work on cleaning up item effects/attachments etc
This commit is contained in:
+80
-89
@@ -1,19 +1,21 @@
|
||||
module Dodge.Item
|
||||
( module Dodge.Item.Weapon
|
||||
, module Dodge.Item.Consumable
|
||||
, module Dodge.Item.Equipment
|
||||
, module Dodge.Item.PassKey
|
||||
, module Dodge.Item.Craftable
|
||||
, itemFromBase
|
||||
) where
|
||||
import Dodge.Data
|
||||
import Dodge.Item.Weapon
|
||||
import Dodge.Item.Equipment
|
||||
import Dodge.Item.Consumable
|
||||
import Dodge.Item.PassKey
|
||||
import Dodge.Item.Craftable
|
||||
module Dodge.Item (
|
||||
module Dodge.Item.Weapon,
|
||||
module Dodge.Item.Held,
|
||||
module Dodge.Item.Consumable,
|
||||
module Dodge.Item.Equipment,
|
||||
module Dodge.Item.PassKey,
|
||||
module Dodge.Item.Craftable,
|
||||
itemFromBase,
|
||||
) where
|
||||
|
||||
import Dodge.Data
|
||||
import Dodge.Item.Consumable
|
||||
import Dodge.Item.Craftable
|
||||
import Dodge.Item.Equipment
|
||||
import Dodge.Item.Held
|
||||
import Dodge.Item.PassKey
|
||||
import Dodge.Item.Weapon
|
||||
|
||||
-- this is not ideal, should fold the itemtype into a stackable/unstackable type
|
||||
itemFromBase :: ItemBaseType -> Item
|
||||
itemFromBase ibt = case ibt of
|
||||
HELD ht -> itemFromHeldType ht
|
||||
@@ -21,94 +23,83 @@ itemFromBase ibt = case ibt of
|
||||
EQUIP et -> itemFromEquipType et
|
||||
Consumable et -> itemFromConsumableType et
|
||||
CRAFT cr -> makeTypeCraft cr
|
||||
|
||||
itemFromConsumableType :: ConsumableItemType -> Item
|
||||
itemFromConsumableType ct = case ct of
|
||||
MEDKIT i -> medkit i
|
||||
EXPLOSIVES -> undefined
|
||||
|
||||
itemFromEquipType :: EquipItemType -> Item
|
||||
itemFromEquipType et = case et of
|
||||
MAGSHIELD -> magShield
|
||||
FLAMESHIELD -> flameShield
|
||||
FRONTARMOUR -> frontArmour
|
||||
WRISTARMOUR -> wristArmour
|
||||
FLAMESHIELD -> flameShield
|
||||
FRONTARMOUR -> frontArmour
|
||||
WRISTARMOUR -> wristArmour
|
||||
INVISIBILITYEQUIPMENT GoesOnWrist -> wristInvisibility
|
||||
INVISIBILITYEQUIPMENT _ -> error "need to define invisibility for more than wrist"
|
||||
BRAINHAT -> brainHat
|
||||
HAT -> hat
|
||||
HEADLAMP -> headLamp
|
||||
HEADLAMP1 -> headLamp1
|
||||
POWERLEGS -> powerLegs
|
||||
SPEEDLEGS -> speedLegs
|
||||
JUMPLEGS -> jumpLegs
|
||||
JETPACK -> jetPack
|
||||
AUTODETECTOR d -> autoDetector d
|
||||
BRAINHAT -> brainHat
|
||||
HAT -> hat
|
||||
HEADLAMP -> headLamp
|
||||
POWERLEGS -> powerLegs
|
||||
SPEEDLEGS -> speedLegs
|
||||
JUMPLEGS -> jumpLegs
|
||||
JETPACK -> jetPack
|
||||
AUTODETECTOR d -> autoDetector d
|
||||
|
||||
itemFromLeftType :: LeftItemType -> Item
|
||||
itemFromLeftType lt = case lt of
|
||||
BOOSTER -> boosterGun
|
||||
REWINDER -> rewindGun
|
||||
BLINKER -> blinkGun
|
||||
BLINKERUNSAFE -> unsafeBlinkGun
|
||||
SHRINKER -> shrinkGun
|
||||
SPAWNER -> error "need to datify creatures first"
|
||||
-- Equipment
|
||||
REWINDER -> rewindGun
|
||||
BLINKER -> blinkGun
|
||||
BLINKERUNSAFE -> unsafeBlinkGun
|
||||
SHRINKER -> shrinkGun
|
||||
SPAWNER -> error "need to datify creatures first"
|
||||
|
||||
-- Equipment
|
||||
itemFromHeldType :: HeldItemType -> Item
|
||||
itemFromHeldType ht = case ht of
|
||||
KEYCARD i -> keyCard i
|
||||
TORCH -> torch
|
||||
SHATTERGUN -> shatterGun
|
||||
TORCH -> torch
|
||||
SHATTERGUN -> shatterGun
|
||||
BANGSTICK i -> bangStick i
|
||||
PISTOL -> pistol
|
||||
REVOLVER -> revolver
|
||||
REVOLVERX i -> revolverX i
|
||||
MACHINEPISTOL -> machinePistol
|
||||
AUTOPISTOL -> autoPistol
|
||||
SMG -> smg
|
||||
BANGCONE -> bangCone
|
||||
BLUNDERBUSS -> blunderbuss
|
||||
GRAPECANNON i -> grapeCannon i
|
||||
--GRENADELAUNCHER Int -- number of chambers that can be reloaded
|
||||
-- --| MORTARCONE / HANDMORTAR
|
||||
MINIGUNX i -> miniGunX i
|
||||
VOLLEYGUN i -> volleyGun i
|
||||
RIFLE -> rifle
|
||||
REPEATER -> repeater
|
||||
AUTORIFLE -> autoRifle
|
||||
BURSTRIFLE -> burstRifle
|
||||
-- FASTBURSTRIFLE -> fastBurstRifle
|
||||
-- COMPLETEBURSTRIFLE -> completeBurstRifle
|
||||
BANGROD -> bangRod
|
||||
ELEPHANTGUN -> elephantGun
|
||||
AMR -> amr
|
||||
AUTOAMR -> autoAmr
|
||||
SNIPERRIFLE -> sniperRifle
|
||||
MACHINEGUN -> machineGun
|
||||
FLAMESPITTER -> flameSpitter
|
||||
FLAMETHROWER -> flameThrower
|
||||
FLAMETORRENT -> flameTorrent
|
||||
FLAMEWALL -> flameWall
|
||||
BLOWTORCH -> blowTorch
|
||||
-- SPREADGUN -> spreadGun
|
||||
-- MULTGUN -> multGun
|
||||
SPARKGUN -> sparkGun
|
||||
TESLAGUN -> teslaGun
|
||||
LASGUN -> lasGun
|
||||
LASCIRCLE -> lasCircle
|
||||
--LASPULSE -> lasPulse
|
||||
DUALBEAM -> dualBeam
|
||||
--LASGUNSWING -> lasSwing
|
||||
--LASGUNSWAY -> lasSway
|
||||
-- LASGUNWIDEPULSE -> lasWidePulse
|
||||
LASWIDE i -> lasWide i
|
||||
--LASGUNFOCUS i -> lasFocus i
|
||||
-- SONICGUN -> sonicGun
|
||||
TRACTORGUN -> tractorGun
|
||||
LAUNCHER -> launcher
|
||||
LAUNCHERX i -> launcherX i
|
||||
-- --| TRACKINGLAUNCHER
|
||||
PISTOL -> pistol
|
||||
REVOLVER -> revolver
|
||||
REVOLVERX i -> revolverX i
|
||||
MACHINEPISTOL -> machinePistol
|
||||
AUTOPISTOL -> autoPistol
|
||||
SMG -> smg
|
||||
BANGCONE -> bangCone
|
||||
BLUNDERBUSS -> blunderbuss
|
||||
GRAPECANNON i -> grapeCannon i
|
||||
MINIGUNX i -> miniGunX i
|
||||
VOLLEYGUN i -> volleyGun i
|
||||
RIFLE -> rifle
|
||||
REPEATER -> repeater
|
||||
AUTORIFLE -> autoRifle
|
||||
BURSTRIFLE -> burstRifle
|
||||
BANGROD -> bangRod
|
||||
ELEPHANTGUN -> elephantGun
|
||||
AMR -> amr
|
||||
AUTOAMR -> autoAmr
|
||||
SNIPERRIFLE -> sniperRifle
|
||||
MACHINEGUN -> machineGun
|
||||
FLAMESPITTER -> flameSpitter
|
||||
FLAMETHROWER -> flameThrower
|
||||
FLAMETORRENT -> flameTorrent
|
||||
FLAMEWALL -> flameWall
|
||||
BLOWTORCH -> blowTorch
|
||||
SPARKGUN -> sparkGun
|
||||
TESLAGUN -> teslaGun
|
||||
LASGUN -> lasGun
|
||||
LASCIRCLE -> lasCircle
|
||||
DUALBEAM -> dualBeam
|
||||
LASWIDE i -> lasWide i
|
||||
TRACTORGUN -> tractorGun
|
||||
LAUNCHER -> launcher
|
||||
LAUNCHERX i -> launcherX i
|
||||
REMOTELAUNCHER -> remoteLauncher
|
||||
POISONSPRAYER -> poisonSprayer
|
||||
DRONELAUNCHER -> droneLauncher
|
||||
FORCEFIELDGUN -> forceFieldGun
|
||||
|
||||
POISONSPRAYER -> poisonSprayer
|
||||
DRONELAUNCHER -> droneLauncher
|
||||
FORCEFIELDGUN -> forceFieldGun
|
||||
HELDDETECTOR d -> clickDetector d
|
||||
|
||||
FLATSHIELD -> flatShield
|
||||
FLATSHIELD -> flatShield
|
||||
|
||||
Reference in New Issue
Block a user