Files
loop/src/Dodge/Item/Equipment.hs
T
2024-06-22 16:23:34 +01:00

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)