Cleanup defaults
This commit is contained in:
@@ -21,8 +21,8 @@ import Dodge.Default.Wall
|
||||
import Geometry
|
||||
import Picture
|
||||
|
||||
defaultEquipment :: Item
|
||||
defaultEquipment = defaultHeldItem & itUse .~ UseNothing
|
||||
defEquipment :: Item
|
||||
defEquipment = defHeldItem & itUse .~ UseNothing
|
||||
|
||||
defaultFlIt :: FloorItem
|
||||
defaultFlIt = FlIt{_flItRot = 0, _flItPos = V2 0 0}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
module Dodge.Default.Item (
|
||||
defaultHeldItem,
|
||||
defaultCraftItem,
|
||||
defHeldItem,
|
||||
defCraftItem,
|
||||
) where
|
||||
|
||||
import Control.Lens
|
||||
import Dodge.Data.Item
|
||||
|
||||
defaultHeldItem :: Item
|
||||
defaultHeldItem =
|
||||
defHeldItem :: Item
|
||||
defHeldItem =
|
||||
Item
|
||||
{ _itType = HELD PISTOL
|
||||
, _itConsumables = Nothing
|
||||
@@ -22,5 +22,5 @@ defaultHeldItem =
|
||||
, _itTimeLastUsed = 0
|
||||
}
|
||||
|
||||
defaultCraftItem :: Item
|
||||
defaultCraftItem = defaultHeldItem & itUse .~ UseNothing
|
||||
defCraftItem :: Item
|
||||
defCraftItem = defHeldItem & itUse .~ UseNothing
|
||||
|
||||
@@ -3,9 +3,7 @@ module Dodge.Equipment (
|
||||
effectOnEquip,
|
||||
) where
|
||||
|
||||
import Linear
|
||||
import Control.Lens
|
||||
import Data.Maybe
|
||||
import Dodge.Creature.HandPos
|
||||
import Dodge.Data.World
|
||||
import Dodge.Item.Location
|
||||
@@ -14,6 +12,7 @@ import Dodge.Wall.ForceField
|
||||
import Dodge.Wall.Move
|
||||
import Geometry
|
||||
import qualified IntMapHelp as IM
|
||||
import Linear
|
||||
import NewInt
|
||||
|
||||
effectOnRemove :: Item -> Creature -> World -> World
|
||||
@@ -23,11 +22,8 @@ effectOnRemove itm = case itm ^. itType of
|
||||
|
||||
onRemoveWristShield :: Item -> Creature -> World -> World
|
||||
onRemoveWristShield itm _ =
|
||||
(pointerToItem itm . itParams .~ NoParams) . mremovewall
|
||||
where
|
||||
mremovewall = fromMaybe id $ do
|
||||
i <- itm ^? itParams . itParamID
|
||||
return $ deleteWallID i
|
||||
(pointerToItem itm . itParams .~ NoParams)
|
||||
. maybe id deleteWallID (itm ^? itParams . itParamID)
|
||||
|
||||
effectOnEquip :: Item -> Creature -> World -> World
|
||||
effectOnEquip itm = case itm ^. itType of
|
||||
@@ -37,7 +33,7 @@ effectOnEquip itm = case itm ^. itType of
|
||||
onEquipWristShield :: Item -> Creature -> World -> World
|
||||
onEquipWristShield itm cr w =
|
||||
w
|
||||
& pointerToItem itm . itParams .~ ItemParamID{_itParamID = i}
|
||||
& pointerToItem itm . itParams .~ ItemParamID i
|
||||
& cWorld . lWorld . walls . at i ?~ forceField{_wlID = i}
|
||||
& setWristShieldPos
|
||||
( itm & itParams .~ ItemParamID{_itParamID = i}
|
||||
@@ -51,7 +47,10 @@ setWristShieldPos itm cr w = w & moveWallIDUnsafe i wlline
|
||||
where
|
||||
i = _itParamID $ _itParams itm
|
||||
wlline = (f (V3 (-10) 7 0), f (V3 10 7 0))
|
||||
handtrans = case w ^? cWorld . lWorld . items
|
||||
handtrans = case w
|
||||
^? cWorld
|
||||
. lWorld
|
||||
. items
|
||||
. ix (itm ^. itID . unNInt)
|
||||
. itLocation
|
||||
. ilEquipSite
|
||||
|
||||
+21
-21
@@ -16,68 +16,68 @@ module Dodge.Item.Ammo (
|
||||
import Control.Lens
|
||||
import Dodge.Data.World
|
||||
import Dodge.Default.Item
|
||||
import Dodge.Item.Attach
|
||||
|
||||
--import Dodge.Item.Weapon.Bullet
|
||||
|
||||
megaTinMag :: Int -> Item
|
||||
megaTinMag x =
|
||||
tinMag
|
||||
& itConsumables ?~ x
|
||||
megaTinMag x = tinMag & itConsumables ?~ x
|
||||
|
||||
tinMag :: Item
|
||||
tinMag =
|
||||
defaultHeldItem & itType .~ AMMOMAG TINMAG
|
||||
defHeldItem
|
||||
& itType .~ AMMOMAG TINMAG
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables ?~ 15
|
||||
|
||||
drumMag :: Item
|
||||
drumMag =
|
||||
tinMag & itType . ibtAmmoMag .~ DRUMMAG
|
||||
tinMag
|
||||
& itType . ibtAmmoMag .~ DRUMMAG
|
||||
& itConsumables ?~ 30
|
||||
|
||||
beltMag :: Item
|
||||
beltMag =
|
||||
tinMag & itType . ibtAmmoMag .~ BELTMAG
|
||||
tinMag
|
||||
& itType . ibtAmmoMag .~ BELTMAG
|
||||
& itConsumables ?~ 10000
|
||||
|
||||
megaShellMag :: Item
|
||||
megaShellMag =
|
||||
shellMag
|
||||
& itConsumables ?~ 1000000
|
||||
megaShellMag = shellMag & itConsumables ?~ 1000000
|
||||
|
||||
shellMag :: Item
|
||||
shellMag =
|
||||
defaultHeldItem & itType .~ AMMOMAG SHELLMAG
|
||||
defHeldItem
|
||||
& itType .~ AMMOMAG SHELLMAG
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables ?~ 1
|
||||
|
||||
megaBattery :: Item
|
||||
megaBattery =
|
||||
battery
|
||||
& itConsumables ?~ 1000000
|
||||
megaBattery = battery & itConsumables ?~ 1000000
|
||||
|
||||
smallBattery :: Item
|
||||
smallBattery = battery & itConsumables ?~ 999
|
||||
|
||||
battery :: Item
|
||||
battery =
|
||||
defaultHeldItem & itType .~ AMMOMAG BATTERY
|
||||
defHeldItem
|
||||
& itType .~ AMMOMAG BATTERY
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables ?~ 10 ^ (9 :: Int)
|
||||
|
||||
capacitor :: Item
|
||||
capacitor =
|
||||
defaultHeldItem & itType .~ ATTACH CAPACITOR
|
||||
defHeldItem
|
||||
& itType .~ ATTACH CAPACITOR
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables ?~ 0
|
||||
|
||||
chemFuelPouch :: Item
|
||||
chemFuelPouch =
|
||||
defaultHeldItem & itType .~ AMMOMAG CHEMFUELPOUCH
|
||||
defHeldItem
|
||||
& itType .~ AMMOMAG CHEMFUELPOUCH
|
||||
& itUse .~ UseNothing
|
||||
& itConsumables
|
||||
?~ 100000
|
||||
?~ 100000
|
||||
|
||||
bulletSynthesizer :: Item
|
||||
bulletSynthesizer = makeAttach BULLETSYNTH & itUse .~ UseAttach (APInt 0)
|
||||
bulletSynthesizer = defHeldItem
|
||||
& itType .~ ATTACH BULLETSYNTH
|
||||
& itUse .~ UseAttach (APInt 0)
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
module Dodge.Item.Attach
|
||||
(makeAttach
|
||||
)
|
||||
where
|
||||
|
||||
import Dodge.Data.Item
|
||||
import Dodge.Default.Item
|
||||
import Control.Lens
|
||||
|
||||
makeAttach :: AttachType -> Item
|
||||
makeAttach t = defaultHeldItem
|
||||
& itType .~ ATTACH t
|
||||
& itUse .~ UseAttach APNothing
|
||||
|
||||
@@ -10,10 +10,7 @@ import Dodge.Data.Item
|
||||
import Dodge.Default.Item
|
||||
|
||||
makeTypeCraftNum :: Int -> CraftType -> [Item]
|
||||
makeTypeCraftNum i ct =
|
||||
replicate i $
|
||||
defaultCraftItem
|
||||
& itType .~ CRAFT ct
|
||||
makeTypeCraftNum i ct = replicate i $ defCraftItem & itType .~ CRAFT ct
|
||||
|
||||
makeTypeCraft :: CraftType -> Item
|
||||
makeTypeCraft = head . makeTypeCraftNum 1
|
||||
|
||||
+16
-35
@@ -18,74 +18,58 @@ module Dodge.Item.Equipment (
|
||||
) where
|
||||
|
||||
import Dodge.Data.Equipment.Misc
|
||||
--import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Data.Item
|
||||
import Dodge.Data.Magnet
|
||||
import Dodge.Default
|
||||
import LensHelp
|
||||
|
||||
magShield :: MagnetBuBu -> Item
|
||||
magShield mt =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EMagShield MagnetRepulse
|
||||
& itType .~ EQUIP (MAGSHIELD mt)
|
||||
magShield mt = defEquipment & itType .~ EQUIP (MAGSHIELD mt)
|
||||
|
||||
flameShield :: Item
|
||||
flameShield =
|
||||
defaultEquipment
|
||||
& itType .~ EQUIP FLAMESHIELD
|
||||
flameShield = defEquipment & itType .~ EQUIP FLAMESHIELD
|
||||
|
||||
frontArmour :: Item
|
||||
frontArmour =
|
||||
defaultEquipment
|
||||
& itType .~ EQUIP FRONTARMOUR
|
||||
frontArmour = defEquipment & itType .~ EQUIP FRONTARMOUR
|
||||
|
||||
wristArmour :: Item
|
||||
wristArmour = defaultEquipment & itType .~ EQUIP WRISTARMOUR
|
||||
wristArmour = defEquipment & itType .~ EQUIP WRISTARMOUR
|
||||
|
||||
batteryPack :: Item
|
||||
batteryPack =
|
||||
defaultEquipment
|
||||
& itConsumables
|
||||
?~ 10000000
|
||||
defEquipment
|
||||
& itConsumables ?~ 10000000
|
||||
& itType .~ EQUIP BATTERYPACK
|
||||
|
||||
fuelPack :: Item
|
||||
fuelPack =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EFuelSource 10000 10000
|
||||
defEquipment
|
||||
& itType .~ EQUIP FUELPACK
|
||||
& itConsumables
|
||||
?~ 100000
|
||||
& itConsumables ?~ 100000
|
||||
|
||||
bulletBeltPack :: Item
|
||||
bulletBeltPack =
|
||||
defaultEquipment
|
||||
defEquipment
|
||||
& itConsumables ?~ 10000000
|
||||
& itType .~ EQUIP BULLETBELTPACK
|
||||
|
||||
bulletBeltBracer :: Item
|
||||
bulletBeltBracer =
|
||||
defaultEquipment
|
||||
defEquipment
|
||||
& itConsumables ?~ 100000
|
||||
& itType .~ EQUIP BULLETBELTBRACER
|
||||
|
||||
brainHat :: Item
|
||||
brainHat = defaultEquipment & itType .~ EQUIP BRAINHAT
|
||||
brainHat = defEquipment & itType .~ EQUIP BRAINHAT
|
||||
|
||||
hat :: Item
|
||||
hat = defaultEquipment & itType .~ EQUIP HAT
|
||||
hat = defEquipment & itType .~ EQUIP HAT
|
||||
|
||||
headLamp :: Item
|
||||
headLamp =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeUse .~ EHeadLamp
|
||||
& itType .~ EQUIP HEADLAMP
|
||||
headLamp = defEquipment & itType .~ EQUIP HEADLAMP
|
||||
|
||||
powerLegs :: Item
|
||||
powerLegs =
|
||||
defaultEquipment
|
||||
& itType .~ EQUIP POWERLEGS
|
||||
powerLegs = defEquipment & itType .~ EQUIP POWERLEGS
|
||||
|
||||
speedLegs :: Item
|
||||
speedLegs = powerLegs & itType .~ EQUIP SPEEDLEGS
|
||||
@@ -95,10 +79,7 @@ jumpLegs = powerLegs & itType .~ EQUIP JUMPLEGS
|
||||
|
||||
wristInvisibility :: Item
|
||||
wristInvisibility =
|
||||
defaultEquipment
|
||||
-- & itUse . uequipEffect . eeOnEquip .~ ECamouflage Invisible
|
||||
-- & itUse . uequipEffect . eeOnRemove .~ ECamouflage FullyVisible
|
||||
& itType .~ EQUIP (INVISIBILITYEQUIPMENT GoesOnWrist)
|
||||
defEquipment & itType .~ EQUIP (INVISIBILITYEQUIPMENT GoesOnWrist)
|
||||
|
||||
pulseChecker :: Item
|
||||
pulseChecker = defaultEquipment & itType .~ EQUIP WRIST_ECG
|
||||
pulseChecker = defEquipment & itType .~ EQUIP WRIST_ECG
|
||||
|
||||
@@ -18,7 +18,7 @@ sparkGun =
|
||||
|
||||
teslaGun :: Item
|
||||
teslaGun =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itParams .~ teslaParams
|
||||
& itType .~ HELD TESLAGUN
|
||||
|
||||
@@ -33,14 +33,7 @@ teslaParams =
|
||||
-- previous phaseV parameters: 0.2, 1, 5
|
||||
laser :: Item
|
||||
laser =
|
||||
defaultHeldItem
|
||||
-- & itUse . heldParams .~ BeamShooterParams-- Nothing
|
||||
-- & itAmmoSlots .~ singleAmmo ElectricalAmmo
|
||||
-- & itUse . heldDelay .~ NoDelay
|
||||
-- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 6 0
|
||||
-- & itUse . heldMuzzles . ix 0 . mzInaccuracy .~ 0
|
||||
-- & itUse . heldMuzzles . ix 0 . mzFlareType .~ LasGunFlare
|
||||
-- & itUse . heldMuzzles . ix 0 . mzEffect .~ MuzzleLaser
|
||||
defHeldItem
|
||||
& itTargeting
|
||||
.~ ItTargeting
|
||||
{ _itTgPos = Nothing
|
||||
@@ -51,12 +44,4 @@ laser =
|
||||
|
||||
-- previous attractionPower values: 1, -1, -10, 0
|
||||
tractorGun :: Item
|
||||
tractorGun =
|
||||
defaultHeldItem
|
||||
-- & itUse . heldParams .~ BeamShooterParams
|
||||
-- & itAmmoSlots .~ singleAmmo ElectricalAmmo
|
||||
-- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 30 0
|
||||
-- & itUse . heldMuzzles . ix 0 . mzInaccuracy .~ 0
|
||||
-- & itUse . heldMuzzles . ix 0 . mzFlareType .~ NoFlare
|
||||
-- & itUse . heldMuzzles . ix 0 . mzEffect .~ MuzzleTractor
|
||||
& itType .~ HELD TRACTORGUN
|
||||
tractorGun = defHeldItem & itType .~ HELD TRACTORGUN
|
||||
|
||||
@@ -13,11 +13,11 @@ import Dodge.Default
|
||||
import LensHelp
|
||||
|
||||
volleyGun :: Int -> Item
|
||||
volleyGun i = defaultHeldItem & itType .~ HELD (VOLLEYGUN i)
|
||||
volleyGun i = defHeldItem & itType .~ HELD (VOLLEYGUN i)
|
||||
& itParams .~ VolleyUnfiredBarrels [0..i-1]
|
||||
|
||||
rifle :: Item
|
||||
rifle = defaultHeldItem & itType .~ HELD RIFLE
|
||||
rifle = defHeldItem & itType .~ HELD RIFLE
|
||||
|
||||
alteRifle :: Item
|
||||
alteRifle = rifle
|
||||
|
||||
@@ -9,7 +9,7 @@ import Dodge.Data.Item
|
||||
import Dodge.Default.Item
|
||||
|
||||
bangCone :: Item
|
||||
bangCone = defaultHeldItem & itType .~ HELD BANGCONE
|
||||
bangCone = defHeldItem & itType .~ HELD BANGCONE
|
||||
|
||||
blunderbuss :: Item
|
||||
blunderbuss = bangCone & itType .~ HELD BLUNDERBUSS
|
||||
|
||||
@@ -13,7 +13,7 @@ import Dodge.Default.Item
|
||||
|
||||
rLauncher :: Item
|
||||
rLauncher =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
-- & itUse . heldDelay . rateMax .~ 20
|
||||
-- & itUse . heldMuzzles . ix 0 . mzInaccuracy .~ 0
|
||||
-- & itUse . heldMuzzles . ix 0 . mzEffect .~ MuzzleRLauncher
|
||||
|
||||
@@ -17,7 +17,7 @@ import LensHelp
|
||||
|
||||
bangRod :: Item
|
||||
bangRod =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
-- & itUse . heldDelay . rateMax .~ 12
|
||||
& itType .~ HELD BANGROD
|
||||
-- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 30 0
|
||||
|
||||
@@ -63,7 +63,7 @@ flameWall =
|
||||
|
||||
flameThrower :: Item
|
||||
flameThrower =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ HELD FLAMETHROWER
|
||||
& itParams .~ NozzleAngle 0
|
||||
-- & itUse . heldDelay .~ NoDelay
|
||||
|
||||
@@ -13,38 +13,10 @@ import Dodge.Default.Item
|
||||
import LensHelp
|
||||
|
||||
bangStick :: Int -> Item
|
||||
bangStick i =
|
||||
defaultHeldItem
|
||||
-- & itUse . heldParams . recoil .~ 25
|
||||
& itType .~ HELD (BANGSTICK i)
|
||||
-- & itUse . heldDelay . rateMax .~ 8
|
||||
-- & itUse . heldMuzzles
|
||||
-- .~ [ Muzzle
|
||||
-- (V2 10 0)
|
||||
-- a
|
||||
-- 0.01
|
||||
-- 0
|
||||
-- NoFlare
|
||||
-- MuzzleShootBullet
|
||||
-- (UseExactly 1)
|
||||
-- 0
|
||||
-- | a <- spreadAroundCenter i baseStickSpread
|
||||
-- ]
|
||||
-- & itUse . heldMuzzles . ix 0 . mzFlareType .~ NoLightFlare
|
||||
-- & itUse . heldMuzzles . ix (i `div` 2) . mzFlareType .~ MiniGunFlare
|
||||
-- & itUse . heldMuzzles . ix (i-1) . mzFlareType .~ NoLightFlare
|
||||
|
||||
--baseStickSpread :: Float
|
||||
--baseStickSpread = 0.2
|
||||
bangStick i = defHeldItem & itType .~ HELD (BANGSTICK i)
|
||||
|
||||
pistol :: Item
|
||||
pistol =
|
||||
bangStick 1
|
||||
-- & itUse . heldDelay . rateMax .~ 6
|
||||
-- & itUse . heldMuzzles . ix 0 . mzPos %~ const (V2 10 0)
|
||||
-- & itUse . heldMuzzles . ix 0 . mzInaccuracy %~ const 0.05
|
||||
-- & itUse . heldMuzzles . ix 0 . mzFlareType %~ const BasicFlare
|
||||
& itType .~ HELD PISTOL
|
||||
pistol = bangStick 1 & itType .~ HELD PISTOL
|
||||
|
||||
autoPistol :: Item
|
||||
autoPistol = pistol & itType .~ HELD AUTOPISTOL
|
||||
|
||||
@@ -15,20 +15,20 @@ import Dodge.Data.Item
|
||||
import Dodge.Default.Item
|
||||
|
||||
flatShield :: Item
|
||||
flatShield = defaultHeldItem & itType .~ HELD FLATSHIELD
|
||||
flatShield = defHeldItem & itType .~ HELD FLATSHIELD
|
||||
|
||||
keyCard :: Int -> Item
|
||||
keyCard n = defaultHeldItem & itType .~ HELD (KEYCARD n)
|
||||
keyCard n = defHeldItem & itType .~ HELD (KEYCARD n)
|
||||
|
||||
led :: Item
|
||||
led = defaultHeldItem & itType .~ HELD LED
|
||||
led = defHeldItem & itType .~ HELD LED
|
||||
|
||||
-- | Sends out pulses that display walls.
|
||||
detector :: Detector -> Item
|
||||
detector dt = defaultHeldItem & itType .~ DETECTOR dt
|
||||
detector dt = defHeldItem & itType .~ DETECTOR dt
|
||||
|
||||
blinker :: Item
|
||||
blinker = defaultHeldItem & itType .~ HELD BLINKER
|
||||
blinker = defHeldItem & itType .~ HELD BLINKER
|
||||
|
||||
unsafeBlinker :: Item
|
||||
unsafeBlinker = blinker & itType .~ HELD BLINKERUNSAFE
|
||||
|
||||
@@ -6,9 +6,7 @@ import Control.Lens
|
||||
--import Linear.V2
|
||||
|
||||
shatterGun :: Item
|
||||
shatterGun =
|
||||
defaultHeldItem
|
||||
& itType .~ HELD SHATTERGUN
|
||||
shatterGun = defHeldItem & itType .~ HELD SHATTERGUN
|
||||
-- & itUse . heldDelay . rateMax .~ 10
|
||||
-- & itAmmoSlots .~ singleAmmo ElectricalAmmo
|
||||
-- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 30 0
|
||||
|
||||
@@ -54,7 +54,7 @@ alteRifleAmmoOrient itm = \case
|
||||
_ -> (V3 18 (itemShapeMax _y itm + s - 1) 0, Q.qz pi)
|
||||
where
|
||||
s | itm ^? itParams . alteRifleSwitch == Just 0 = 1
|
||||
| otherwise = (-1)
|
||||
| otherwise = -1
|
||||
|
||||
itemShapeMaxX :: Item -> Float
|
||||
itemShapeMaxX = itemShapeMax _1
|
||||
|
||||
+68
-43
@@ -25,139 +25,164 @@ module Dodge.Item.Scope (
|
||||
bingate,
|
||||
) where
|
||||
|
||||
import Dodge.Item.Attach
|
||||
import Control.Lens
|
||||
import Dodge.Data.Item
|
||||
import Dodge.Default.Item
|
||||
|
||||
zoomScope :: Item
|
||||
zoomScope = defaultHeldItem
|
||||
& itType .~ ATTACH ZOOMSCOPE
|
||||
& itUse .~ UseScope OpticScope{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5}
|
||||
zoomScope =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH ZOOMSCOPE
|
||||
& itUse .~ UseScope OpticScope{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5}
|
||||
|
||||
targetingScope :: TargetingType -> Item
|
||||
targetingScope tt = defaultHeldItem
|
||||
targetingScope tt =
|
||||
defHeldItem
|
||||
& itType .~ TARGETING tt
|
||||
& itUse .~ UseNothing
|
||||
& itTargeting .~ ItTargeting
|
||||
{ _itTgPos = Nothing
|
||||
, _itTgID = Nothing
|
||||
, _itTgActive = False
|
||||
}
|
||||
& itUse .~ UseNothing
|
||||
& itTargeting
|
||||
.~ ItTargeting
|
||||
{ _itTgPos = Nothing
|
||||
, _itTgID = Nothing
|
||||
, _itTgActive = False
|
||||
}
|
||||
|
||||
homingModule :: Item
|
||||
homingModule = makeAttach HOMINGMODULE
|
||||
homingModule =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH HOMINGMODULE
|
||||
& itUse .~ UseAttach APNothing
|
||||
|
||||
stickyMod :: Item
|
||||
stickyMod =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ STICKYMOD
|
||||
& itUse .~ UseNothing
|
||||
|
||||
introScan :: IntroScanType -> Item
|
||||
introScan t =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ INTROSCAN t
|
||||
& itUse .~ UseNothing
|
||||
|
||||
itemScan :: Item
|
||||
itemScan =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ ITEMSCAN
|
||||
& itUse .~ UseNothing
|
||||
|
||||
-- & itEffect . ieOnDrop .~ ItemCancelExamineInventory
|
||||
|
||||
mapper :: Item
|
||||
mapper =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ MAPPER
|
||||
& itUse .~ UseMapper mempty mempty
|
||||
|
||||
dropper :: InventoryPathing -> Item
|
||||
dropper x =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ DROPPER x
|
||||
& itUse .~ UseInt 0
|
||||
|
||||
clicker :: InventoryPathing -> Item
|
||||
clicker x =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ CLICKER x
|
||||
& itUse .~ UseInt 0
|
||||
|
||||
copier :: InventoryPathing -> Item
|
||||
copier x =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ COPIER x
|
||||
& itUse .~ UseValue (Left 0)
|
||||
& itScroll .~ ItemScrollInt 0
|
||||
|
||||
nulgate :: Item
|
||||
nulgate =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ NULGATE
|
||||
& itUse .~ UseNothing
|
||||
& itScroll .~ ItemScrollIntRange 2 0
|
||||
|
||||
unigate :: Item
|
||||
unigate =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ UNIGATE
|
||||
& itUse .~ UseNothing
|
||||
& itScroll .~ ItemScrollIntRange 4 0
|
||||
|
||||
bingate :: Item
|
||||
bingate =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ BINGATE
|
||||
& itUse .~ UseNothing
|
||||
& itScroll .~ ItemScrollIntRange 16 0
|
||||
|
||||
|
||||
bulletModule :: BulletMod -> Item
|
||||
bulletModule bm =
|
||||
defaultHeldItem
|
||||
defHeldItem
|
||||
& itType .~ BULLETMOD bm
|
||||
& itUse .~ UseBulletMod {_ubMod = bm}
|
||||
& itUse .~ UseBulletMod{_ubMod = bm}
|
||||
|
||||
shellModule :: Payload -> Item
|
||||
shellModule p = defaultHeldItem
|
||||
shellModule p =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH (SHELLPAYLOAD p)
|
||||
& itUse .~ UseNothing
|
||||
|
||||
--bulletTargetingModule :: BulletTrajectoryType -> Item
|
||||
--bulletTargetingModule = bulletModule . BulletModTrajectory
|
||||
-- bulletTargetingModule :: BulletTrajectoryType -> Item
|
||||
-- bulletTargetingModule = bulletModule . BulletModTrajectory
|
||||
|
||||
bulletPayloadModule :: BulletPayload -> Item
|
||||
bulletPayloadModule = bulletModule . BulletModPayload
|
||||
|
||||
arHUD :: Item
|
||||
arHUD = defaultHeldItem
|
||||
& itType .~ ARHUD
|
||||
& itUse .~ UseNothing
|
||||
arHUD =
|
||||
defHeldItem
|
||||
& itType .~ ARHUD
|
||||
& itUse .~ UseNothing
|
||||
|
||||
remoteScreen :: Item
|
||||
remoteScreen = makeAttach REMOTESCREEN
|
||||
-- & itUse . uaParams .~ APLinkProjectile Nothing
|
||||
& itUse . uaParams .~ APProjectiles []
|
||||
remoteScreen =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH REMOTESCREEN
|
||||
& itUse .~ UseAttach (APProjectiles [])
|
||||
|
||||
remoteDetonator :: Item
|
||||
remoteDetonator = makeAttach REMOTEDETONATOR
|
||||
-- & itUse .~ UseHammer HammerUp
|
||||
& itUse . uaParams .~ APProjectiles []
|
||||
remoteDetonator =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH REMOTEDETONATOR
|
||||
& itUse .~ UseAttach (APProjectiles [])
|
||||
|
||||
joystick :: Item
|
||||
joystick = makeAttach JOYSTICK
|
||||
-- & itUse . uaParams .~ APLinkProjectile Nothing
|
||||
joystick =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH JOYSTICK
|
||||
& itUse .~ UseAttach APNothing
|
||||
|
||||
-- & itUse . uaParams .~ APLinkProjectile Nothing
|
||||
|
||||
gimbal :: Item
|
||||
gimbal = makeAttach GIMBAL
|
||||
gimbal =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH GIMBAL
|
||||
& itUse .~ UseAttach APNothing
|
||||
|
||||
gyroscope :: Item
|
||||
gyroscope = makeAttach GYROSCOPE
|
||||
gyroscope =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH GYROSCOPE
|
||||
& itUse .~ UseAttach APNothing
|
||||
|
||||
underBarrelSlot :: Item
|
||||
underBarrelSlot = makeAttach UNDERBARRELSLOT
|
||||
underBarrelSlot =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH UNDERBARRELSLOT
|
||||
& itUse .~ UseAttach APNothing
|
||||
|
||||
smokeReducer :: Item
|
||||
smokeReducer = makeAttach SMOKEREDUCER
|
||||
smokeReducer =
|
||||
defHeldItem
|
||||
& itType .~ ATTACH SMOKEREDUCER
|
||||
& itUse .~ UseAttach APNothing
|
||||
|
||||
@@ -11,4 +11,5 @@ forceField =
|
||||
, _wlRotateTo = False
|
||||
, _wlStructure = StandaloneWall
|
||||
, _wlMaterial = ForceField
|
||||
, _wlTouchThrough = True
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user