144 lines
4.1 KiB
Haskell
144 lines
4.1 KiB
Haskell
module Dodge.Item.Equipment (
|
|
module Dodge.Item.Equipment.Booster,
|
|
magShield,
|
|
powerLegs,
|
|
wristInvisibility,
|
|
wristArmour,
|
|
targetingHat,
|
|
hat,
|
|
brainHat,
|
|
frontArmour,
|
|
headLamp,
|
|
jetPack,
|
|
fuelPack,
|
|
batteryPack,
|
|
bulletBeltPack,
|
|
bulletBeltBracer,
|
|
speedLegs,
|
|
jumpLegs,
|
|
flameShield,
|
|
) where
|
|
|
|
import Geometry.Data
|
|
import Dodge.Data.CamouflageStatus
|
|
import Dodge.Data.Item
|
|
import Dodge.Default
|
|
import Dodge.Item.Equipment.Booster
|
|
import LensHelp
|
|
|
|
magShield :: Item
|
|
magShield =
|
|
defaultEquipment
|
|
& itParams .~ MagShieldParams Nothing
|
|
& itUse . equipEffect . eeUse .~ EMagShield
|
|
& itUse . equipEffect . eeSite .~ GoesOnWrist
|
|
& itType . iyBase .~ EQUIP MAGSHIELD
|
|
|
|
flameShield :: Item
|
|
flameShield =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnChest
|
|
& itType . iyBase .~ EQUIP FLAMESHIELD
|
|
|
|
frontArmour :: Item
|
|
frontArmour =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnChest
|
|
& itType . iyBase .~ EQUIP FRONTARMOUR
|
|
|
|
wristArmour :: Item
|
|
wristArmour =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnWrist
|
|
& itUse . equipEffect . eeOnEquip .~ EonWristShield
|
|
& itUse . equipEffect . eeUse .~ EWristShield
|
|
& itUse . equipEffect . eeOnRemove .~ EoffWristShield
|
|
& itType . iyBase .~ EQUIP WRISTARMOUR
|
|
|
|
batteryPack :: Item
|
|
batteryPack =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnBack
|
|
& itType . iyBase .~ EQUIP BATTERYPACK
|
|
& itUse . equipEffect . eeAttachPos .~ V3 (-8) 0 10
|
|
& itUse . equipEffect . eeUse .~ EBatterySource 10000 10000
|
|
|
|
fuelPack :: Item
|
|
fuelPack =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnBack
|
|
& itType . iyBase .~ EQUIP FUELPACK
|
|
& itUse . equipEffect . eeAttachPos .~ V3 (-9) 0 10
|
|
& itUse . equipEffect . eeUse .~ EFuelSource 10000 10000
|
|
|
|
bulletBeltPack :: Item
|
|
bulletBeltPack =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnBack
|
|
& itType . iyBase .~ EQUIP BULLETBELTPACK
|
|
& itUse . equipEffect . eeAttachPos .~ V3 (-9) 0 10
|
|
& itUse . equipEffect . eeUse .~ EAmmoSource 2000 2000 --BulletSource
|
|
Nothing
|
|
|
|
bulletBeltBracer :: Item
|
|
bulletBeltBracer =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnWrist
|
|
& itType . iyBase .~ EQUIP BULLETBELTBRACER
|
|
& itUse . equipEffect . eeAttachPos .~ V3 (-9) 0 10
|
|
& itUse . equipEffect . eeUse .~ EAmmoSource 100 100 --BulletSource
|
|
Nothing
|
|
|
|
jetPack :: Item
|
|
jetPack =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnBack
|
|
& itType . iyBase .~ EQUIP JETPACK
|
|
& itUse . equipEffect . eeAttachPos .~ V3 (-8) 0 10
|
|
|
|
brainHat :: Item
|
|
brainHat =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnHead
|
|
& itType . iyBase .~ EQUIP BRAINHAT
|
|
|
|
hat :: Item
|
|
hat =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnHead
|
|
& itType . iyBase .~ EQUIP HAT
|
|
|
|
targetingHat :: TargetType -> Item
|
|
targetingHat tt =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnHead
|
|
& itType . iyBase .~ EQUIP (TARGETINGHAT tt)
|
|
& itUse . equipTargeting ?~ tt
|
|
|
|
headLamp :: Item
|
|
headLamp =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeUse .~ EHeadLamp
|
|
& itUse . equipEffect . eeSite .~ GoesOnHead
|
|
& itType . iyBase .~ EQUIP HEADLAMP
|
|
|
|
powerLegs :: Item
|
|
powerLegs =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnLegs
|
|
& itType . iyBase .~ EQUIP POWERLEGS
|
|
|
|
speedLegs :: Item
|
|
speedLegs = powerLegs & itType . iyBase .~ EQUIP SPEEDLEGS
|
|
|
|
jumpLegs :: Item
|
|
jumpLegs = powerLegs & itType . iyBase .~ EQUIP JUMPLEGS
|
|
|
|
wristInvisibility :: Item
|
|
wristInvisibility =
|
|
defaultEquipment
|
|
& itUse . equipEffect . eeSite .~ GoesOnWrist
|
|
& itUse . equipEffect . eeOnEquip .~ ECamouflage Invisible --overCID (crCamouflage .~ Invisible)
|
|
& itUse . equipEffect . eeOnRemove .~ ECamouflage FullyVisible --overCID (crCamouflage .~ FullyVisible)
|
|
& itType . iyBase .~ EQUIP (INVISIBILITYEQUIPMENT GoesOnWrist)
|