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)