Make launcherX use multiple ammo sources
This commit is contained in:
+7
-39
@@ -1,40 +1,8 @@
|
||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:76:1: warning: [-Wunused-imports]
|
||||
The qualified import of ‘IntMapHelp’ is redundant
|
||||
/home/justin/Haskell/loop/src/Dodge/Reloading.hs:25:22-40: error:
|
||||
• The constructor ‘ReloadAction’ should have 2 arguments, but has been given 3
|
||||
• In the pattern: ReloadAction x la j
|
||||
In the pattern: SelItem i (ReloadAction x la j)
|
||||
In the pattern: Just (SelItem i (ReloadAction x la j))
|
||||
|
|
||||
76 | import qualified IntMapHelp as IM
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:349:5: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘x’
|
||||
|
|
||||
349 | x <- ams ^? ix 0 . itUse . amagLoadStatus . iaLoaded
|
||||
| ^
|
||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/BatteryGuns.hs:128:12: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘ams’
|
||||
|
|
||||
128 | shootLaser ams it cr =
|
||||
| ^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/Bullet.hs:63:5: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘invid’
|
||||
|
|
||||
63 | invid <- it ^? itLocation . ipInvID
|
||||
| ^^^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:410:18: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘ams’
|
||||
|
|
||||
410 | usePjCreationX i ams itm cr =
|
||||
| ^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:472:21: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘it’
|
||||
|
|
||||
472 | useGasParams nz ams it cr =
|
||||
| ^^
|
||||
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:486:17: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘ams’
|
||||
|
|
||||
486 | fireRemoteShell ams it cr w =
|
||||
| ^^^
|
||||
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:542:15: warning: [-Wunused-matches]
|
||||
Defined but not used: ‘ams’
|
||||
|
|
||||
542 | shootTeslaArc ams it cr w =
|
||||
| ^^^
|
||||
25 | Just (SelItem i (ReloadAction x la))
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
+9
-13
@@ -1,19 +1,22 @@
|
||||
module Dodge.Base.You where
|
||||
module Dodge.Base.You
|
||||
(you
|
||||
, yourScopeInvID
|
||||
, yourInv
|
||||
, yourScrollAttachment
|
||||
, yourItem
|
||||
)where
|
||||
|
||||
import Dodge.Data.World
|
||||
import Dodge.HeldScroll
|
||||
import qualified IntMapHelp as IM
|
||||
import qualified Data.Map.Strict as M
|
||||
--import qualified Data.Map.Strict as M
|
||||
import Control.Lens
|
||||
import Control.Monad
|
||||
import Data.Maybe
|
||||
--import Data.Maybe
|
||||
|
||||
you :: World -> Creature
|
||||
you w = w ^?! cWorld . lWorld . creatures . ix 0
|
||||
|
||||
youc :: CWorld -> Creature
|
||||
youc w = w ^?! lWorld . creatures . ix 0
|
||||
|
||||
yourItem :: World -> Maybe Item
|
||||
yourItem w = do
|
||||
i <- you w ^? crManipulation . manObject . inInventory . ispItem
|
||||
@@ -36,13 +39,6 @@ yourScopeInvID w = do
|
||||
yourInv :: World -> IM.IntMap Item
|
||||
yourInv = _crInv . you
|
||||
|
||||
attachmentTree :: Creature -> M.Map AttachType Int
|
||||
attachmentTree cr = fromMaybe mempty $ do
|
||||
i <- cr ^? crManipulation . manObject . inInventory . ispItem
|
||||
return $ upDownAttachments cr i i mempty
|
||||
|
||||
upDownAttachments :: Creature -> Int -> Int -> M.Map AttachType Int -> M.Map AttachType Int
|
||||
upDownAttachments _ _ _ s = s
|
||||
|
||||
--yourInvSel :: World -> Int
|
||||
--yourInvSel = crSel . you
|
||||
|
||||
@@ -56,11 +56,8 @@ updateBulVel bt = case _buTrajectory bt of
|
||||
where
|
||||
t = _buTimer bt
|
||||
|
||||
-- should be made safe?
|
||||
-- should be renamed to shootBullet or something
|
||||
shootBullet :: [Item] -> Item -> Creature -> World -> World
|
||||
shootBullet ams it cr w = fromMaybe (error "cannot find bullet ammo when expected to") $ do
|
||||
invid <- it ^? itLocation . ipInvID
|
||||
thebullet <- ams ^? ix 0 . itUse . amagParams . ampBullet
|
||||
return $ w & cWorld . lWorld . instantBullets
|
||||
.:~ ( thebullet
|
||||
|
||||
@@ -224,6 +224,16 @@ inventoryX c = case c of
|
||||
'L' -> [scrollWatch]
|
||||
'M' -> stackedInventory
|
||||
'N' -> [zoomScope,targetingScope TARGETLASER, sniperRifle]
|
||||
'O' -> [ launcherX 2
|
||||
, shellMag
|
||||
, shellMag
|
||||
, launcherX 3
|
||||
, shellMag
|
||||
, shellMag
|
||||
, shellMag
|
||||
, rifle
|
||||
, shellMag
|
||||
]
|
||||
'T' -> testInventory
|
||||
_ -> []
|
||||
|
||||
|
||||
@@ -34,16 +34,8 @@ useItemRightClick cr' w = fromMaybe (f w) $ do
|
||||
|
||||
getAmmoMags :: Item -> Creature -> [Item]
|
||||
getAmmoMags itm cr = fromMaybe [] $ do
|
||||
atypes <- itm ^? itUse . heldConsumption
|
||||
i <- itm ^? itLocation . ipInvID
|
||||
let amags = cr ^.. crInv . dropping (i + 1) traverse
|
||||
mmags = zipWith f atypes amags
|
||||
return $ catMaybes mmags
|
||||
where
|
||||
f atype itm' = do
|
||||
itype <- itm' ^? itUse . amagType
|
||||
guard $ itype == atype
|
||||
return $ itm'
|
||||
return $ cr ^.. crInv . dropping (i + 1) traverse
|
||||
|
||||
itemEffect :: Creature -> Item -> World -> World
|
||||
itemEffect cr it w = case it ^. itUse of
|
||||
|
||||
@@ -99,8 +99,6 @@ data HeldMod
|
||||
| BurstRifleRepeatMod
|
||||
| MiniGunMod Int
|
||||
| SmgMod
|
||||
| RevolverXMod
|
||||
| RevolverXRepeatMod
|
||||
| BangConeMod
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
|
||||
@@ -98,16 +98,6 @@ data ScrollAttachParams
|
||||
| CharScrollParams
|
||||
{ _scrollChar :: Seq.Seq Char}
|
||||
|
||||
data ItemUse'
|
||||
= ItemHeld HeldUse'
|
||||
| ItemEquip EquipUse'
|
||||
| ItemConsume ConsumeUse'
|
||||
| ItemCraft Int
|
||||
|
||||
data HeldUse' = HeldUse'
|
||||
data EquipUse' = EquipUse'
|
||||
data ConsumeUse' = ConsumeUse'
|
||||
|
||||
data AimParams = AimParams
|
||||
{ _aimWeight :: Int
|
||||
, _aimTurnSpeed :: Float
|
||||
|
||||
@@ -27,17 +27,6 @@ module Dodge.Default.Weapon where
|
||||
--defaultChargeable :: LeftConsumption
|
||||
--defaultChargeable = ChargeableAmmo 100 100
|
||||
|
||||
--defaultrUse :: ItemUse
|
||||
--defaultrUse =
|
||||
-- RightUse
|
||||
-- { _rUse = HeldDoNothing
|
||||
-- , _useDelay = FixedRate{_rateMax = 8, _rateTime = 0}
|
||||
-- , _useMods = HeldModNothing
|
||||
-- , _useHammer = HammerUp
|
||||
-- , _useAim = defaultAimParams
|
||||
-- , _heldScroll = HeldScrollDoNothing
|
||||
-- , _heldConsumption = defaultLoadable
|
||||
-- }
|
||||
|
||||
--
|
||||
--
|
||||
|
||||
+24
-51
@@ -58,10 +58,10 @@ useMod hm = case hm of
|
||||
, ammoCheckI
|
||||
]
|
||||
LauncherMod ->
|
||||
[ useAmmoAmount 1
|
||||
, withSoundStart tap4S
|
||||
, useTimeCheck
|
||||
, ammoCheckI
|
||||
--[ useAmmoAmount 1
|
||||
-- , withSoundStart tap4S
|
||||
[ useTimeCheck
|
||||
-- , ammoCheckI
|
||||
, blCheck
|
||||
]
|
||||
TeslaMod ->
|
||||
@@ -108,11 +108,11 @@ useMod hm = case hm of
|
||||
, duplicateLoadedBarrels
|
||||
, ammoCheckI
|
||||
]
|
||||
LauncherXMod i ->
|
||||
[ useAmmoAmount i
|
||||
, withSoundStart tap4S
|
||||
, useTimeCheck
|
||||
, ammoCheckI
|
||||
LauncherXMod _ ->
|
||||
--[ useAmmoAmount i
|
||||
--, withSoundStart tap4S
|
||||
[ useTimeCheck
|
||||
--, ammoCheckI
|
||||
, blCheck
|
||||
]
|
||||
ShatterMod ->
|
||||
@@ -314,30 +314,6 @@ useMod hm = case hm of
|
||||
, useTimeCheck
|
||||
, ammoCheckI
|
||||
]
|
||||
RevolverXMod ->
|
||||
[ withRecoil
|
||||
, withTorqueAfter
|
||||
, withFlare
|
||||
, duplicateLoadedBarrels
|
||||
, useAmmoUpTo 1
|
||||
, withSoundStart tap3S
|
||||
, repeatOnFrames [2, 4, 6, 8, 10] RevolverXRepeatMod
|
||||
, lockInvFor 10
|
||||
, -- rather than locking the inventory, a better solution may be to check
|
||||
-- that the weapon is still in your hands in the repeated frames
|
||||
useTimeCheck
|
||||
, ammoCheckI
|
||||
, blCheck
|
||||
]
|
||||
RevolverXRepeatMod ->
|
||||
[ withRecoil
|
||||
, withTorqueAfter
|
||||
, withFlare
|
||||
, duplicateLoadedBarrels
|
||||
, useAmmoUpTo 1
|
||||
, withSoundStart tap3S
|
||||
, ammoCheckI
|
||||
]
|
||||
BangConeMod ->
|
||||
[ withRandomItem coneRandItemParams
|
||||
, withRandomItemUpdate coneRandItemUpdate
|
||||
@@ -388,7 +364,7 @@ useHeld hu = case hu of
|
||||
HeldUseAmmoParams -> shootBullet
|
||||
HeldOverNozzlesUseGasParams -> overNozzles useGasParams
|
||||
HeldPJCreation -> usePjCreation
|
||||
HeldPJCreationX i -> usePjCreationX i
|
||||
HeldPJCreationX _ -> usePjCreationX
|
||||
HeldFireRemoteShell -> fireRemoteShell
|
||||
HeldDetectorEffect dt -> const $ detectorEffect dt
|
||||
HeldTeslaArc -> shootTeslaArc
|
||||
@@ -403,20 +379,17 @@ useHeld hu = case hu of
|
||||
|
||||
usePjCreation :: [Item] -> Item -> Creature -> World -> World
|
||||
usePjCreation ams itm cr = fromMaybe id $ do
|
||||
apm <- ams ^? ix 0 . itUse . amagParams
|
||||
return $ createProjectile apm itm cr
|
||||
apm <- ams ^? ix 0
|
||||
muz <- itm ^? itUse . heldAim . aimMuzzles . ix 0
|
||||
return $ createProjectile apm muz itm cr
|
||||
|
||||
usePjCreationX :: Int -> [Item] -> Item -> Creature -> World -> World
|
||||
usePjCreationX i ams itm cr =
|
||||
foldr
|
||||
f
|
||||
(createProjectile apm itm cr)
|
||||
[1 .. i -1]
|
||||
usePjCreationX :: [Item] -> Item -> Creature -> World -> World
|
||||
usePjCreationX ams itm cr = fromMaybe id $ do
|
||||
muzs <- itm ^? itUse . heldAim . aimMuzzles
|
||||
return $ foldr
|
||||
f id (zip muzs ams)
|
||||
where
|
||||
apm = fromMaybe (error "cannot find shell ammo projectile") $ do
|
||||
invid <- itm ^? itLocation . ipInvID
|
||||
cr ^? crInv . ix (invid + 1) . itUse . amagParams
|
||||
f n = (. createProjectile apm itm (cr & crDir +~ (2 * pi * fromIntegral n / fromIntegral i)))
|
||||
f (muz,am) = (createProjectile am muz itm cr .)
|
||||
|
||||
overNozzles ::
|
||||
(Nozzle -> [Item] -> Item -> Creature -> World -> World) ->
|
||||
@@ -469,7 +442,7 @@ getAmmoMagazine itm cr = do
|
||||
return mag
|
||||
|
||||
useGasParams :: Nozzle -> [Item] -> Item -> Creature -> World -> World
|
||||
useGasParams nz ams it cr =
|
||||
useGasParams nz ams _ cr =
|
||||
createGas
|
||||
gastype
|
||||
(_nzPressure nz)
|
||||
@@ -478,7 +451,6 @@ useGasParams nz ams it cr =
|
||||
cr
|
||||
where
|
||||
gastype = fromMaybe (error "cannot find gas ammo") $ ams ^? ix 0 . itUse . amagParams . ampCreateGas
|
||||
-- amag = fromMaybe (error "cannot find gas ammo") $ getAmmoMagazine it cr
|
||||
dir = _crDir cr
|
||||
pos = _crPos cr +.+ (_nzLength nz *.* unitVectorAtAngle (_crDir cr))
|
||||
|
||||
@@ -493,10 +465,11 @@ fireRemoteShell ams it cr w =
|
||||
i = IM.newKey $ w ^. cWorld . lWorld . props
|
||||
cid = _crID cr
|
||||
apm = fromMaybe (error "cannot find shell ammo projectile") $ do
|
||||
invid <- it ^? itLocation . ipInvID
|
||||
cr ^? crInv . ix (invid + 1) . itUse . amagParams
|
||||
ams ^? ix 0
|
||||
addRemRocket =
|
||||
makeShell apm
|
||||
-- the following is unsafe!
|
||||
(it ^?! itUse . heldAim . aimMuzzles . ix 0)
|
||||
it
|
||||
cr
|
||||
[ PJRemoteShellCollisionCheck
|
||||
@@ -539,7 +512,7 @@ mcShootLaser it mc = cWorld . lWorld . lasers .:~ lasRayAt (_lasColor $ _itParam
|
||||
|
||||
-- | assumes that the item is held
|
||||
shootTeslaArc :: [Item] -> Item -> Creature -> World -> World
|
||||
shootTeslaArc ams it cr w =
|
||||
shootTeslaArc _ it cr w =
|
||||
w'
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itRef . itParams .~ ip
|
||||
where
|
||||
|
||||
@@ -101,6 +101,7 @@ miniGunUse i =
|
||||
& heldAim . aimRange .~ 1
|
||||
& heldAim . aimStance .~ TwoHandUnder
|
||||
& heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
||||
& heldConsumption .~ [BulletAmmo]
|
||||
|
||||
miniGunX :: Int -> Item
|
||||
miniGunX i =
|
||||
|
||||
@@ -32,7 +32,7 @@ launcher =
|
||||
-- & itUse . heldAim . aimHandlePos .~ V2 3 0
|
||||
-- & itUse . heldAim . aimMuzPos .~ 20
|
||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) 0 0]
|
||||
& itUse . heldConsumption .~ [BulletAmmo]
|
||||
& itUse . heldConsumption .~ [ProjectileAmmo]
|
||||
& itType . iyBase .~ HELD LAUNCHER
|
||||
& itType . iyModules . at ModLauncherHoming ?~ EMPTYMODULE
|
||||
|
||||
@@ -42,6 +42,10 @@ launcherX i =
|
||||
& itType . iyBase .~ HELD (LAUNCHERX i)
|
||||
& itUse . heldUse .~ HeldPJCreationX i
|
||||
& itUse . heldMods .~ LauncherXMod i
|
||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) a 0 | a <- angles]
|
||||
where
|
||||
angles = take i [0,2*pi/ fromIntegral i ..]
|
||||
--angles = take i [1,2 ..]
|
||||
|
||||
remoteLauncher :: Item
|
||||
remoteLauncher =
|
||||
|
||||
@@ -22,23 +22,6 @@ import Picture
|
||||
|
||||
--import Control.Monad.State
|
||||
|
||||
--lasPulse :: Item
|
||||
--lasPulse = lasGun
|
||||
-- & itType . iyBase .~ LASPULSE
|
||||
-- & itUse . useMods .~
|
||||
-- [ ammoCheckI
|
||||
-- , withItem $ \it -> withTempLight 1 (100 * frac it) (xyzV4 (_lasColor $ _itParams it))
|
||||
-- , withItem $ \it -> withSoundForVol (frac it) tone440sawtoothquietS 2
|
||||
-- , withItemUpdate itup
|
||||
-- $ \it -> withMuzPos $ flareCircleAt (_lasColor $ _itParams it) (frac it * 0.8)
|
||||
-- , useAmmoAmount 1
|
||||
-- ]
|
||||
-- where
|
||||
-- itup it = it
|
||||
-- & itParams . lasCycle %~ (\i -> (i+1) `mod` 20)
|
||||
-- & itParams . lasDamage .~ ceiling ((22 :: Float) * frac it)
|
||||
-- & itParams . lasColor .~ frac it * orange
|
||||
-- frac it = 0.5 * (1 + sin (pi * fromIntegral (_lasCycle $ _itParams it) * 0.1))
|
||||
|
||||
--lasWidePulse :: Item
|
||||
--lasWidePulse = lasGun
|
||||
@@ -89,43 +72,10 @@ import Picture
|
||||
-- x it = [ 15 * sin (pi * fromIntegral x' * 0.05) ]
|
||||
-- where
|
||||
-- x' = _lasCycle $ _itParams it
|
||||
--lasFocus :: Int -> Item
|
||||
--lasFocus n = lasGunWide n
|
||||
-- & itType . iyBase .~ LASGUNFOCUS n
|
||||
-- & itParams . lasColor .~ red
|
||||
-- & itUse . useMods .~
|
||||
-- [ ammoCheckI
|
||||
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
|
||||
-- , withItem $ \it -> withMuzPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
|
||||
-- , withSoundForI tone440sawtoothquietS 2
|
||||
-- , useAmmoAmount 1
|
||||
-- , duplicateOffsetsFocus xs
|
||||
-- ]
|
||||
-- where
|
||||
-- n' = 9 * n
|
||||
-- xs = [ 0.25 * (fromIntegral x - fromIntegral (n'-1) /2) | x <- [0..n'-1] ]
|
||||
|
||||
--lasSwing :: Item
|
||||
--lasSwing = lasGun
|
||||
-- & itType . iyBase .~ LASGUNSWING
|
||||
-- & itParams . lasColor .~ orange
|
||||
-- & itUse . useMods .~
|
||||
-- [ ammoCheckI
|
||||
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
|
||||
-- , withItem $ \it -> withMuzPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
|
||||
-- , withSoundForI tone440sawtoothquietS 2
|
||||
-- , useAmmoAmount 1
|
||||
-- , withItemUpdate itup $ \it -> duplicateOffsetsFocus (x it)
|
||||
-- ]
|
||||
-- where
|
||||
-- itup = itParams . lasCycle %~ (\i -> (i+1) `mod` 200)
|
||||
-- x it = [-y,y]
|
||||
-- where
|
||||
-- y = 15 * sin (pi * fromIntegral x' * 0.01)
|
||||
-- x' = _lasCycle $ _itParams it
|
||||
|
||||
shootLaser :: [Item] -> Item -> Creature -> World -> World
|
||||
shootLaser ams it cr =
|
||||
shootLaser _ it cr =
|
||||
cWorld . lWorld . lasers
|
||||
.:~ lasRayAt
|
||||
(_lasColor $ _itParams it)
|
||||
|
||||
@@ -18,25 +18,6 @@ module Dodge.Item.Weapon.SonicGuns where
|
||||
----import Data.Tuple
|
||||
----import qualified IntMapHelp as IM
|
||||
--
|
||||
----sonicGun :: Item
|
||||
----sonicGun = defaultAutoGun
|
||||
---- { _itConsumption = defaultLoadable
|
||||
---- & laMax .~ 10
|
||||
---- & laCycle .~ [loadEject 10, loadInsert 10 , loadPrime 60]
|
||||
---- , _itParams = NoParams
|
||||
---- , _itTweaks = NoTweaks
|
||||
---- }
|
||||
---- & itDimension . dimRad .~ 10
|
||||
---- & itDimension . dimCenter .~ V3 15 0 0
|
||||
---- & itUse . useDelay . rateMax .~ 8
|
||||
---- & itUse . rUse .~ HeldSonicWave --aSonicWave
|
||||
---- & itUse . useMods .~ AmmoHammerTimeUseOneMod
|
||||
---- & itUse . useAim . aimWeight .~ 6
|
||||
---- & itUse . useAim . aimRange .~ 1
|
||||
---- & itUse . useAim . aimStance .~ TwoHandTwist
|
||||
---- & itUse . useAim . aimMuzPos .~ 25
|
||||
---- & itType . iyBase .~ HELD SONICGUN
|
||||
--
|
||||
----aSonicWave :: Item -> Creature -> World -> World
|
||||
----aSonicWave it cr = instantParticles .:~ sonicWave pos dir cpos
|
||||
---- where
|
||||
|
||||
@@ -73,7 +73,7 @@ import Dodge.Reloading
|
||||
import Dodge.SoundLogic
|
||||
import Dodge.WorldEvent
|
||||
import Geometry
|
||||
import qualified IntMapHelp as IM
|
||||
--import qualified IntMapHelp as IM
|
||||
import LensHelp
|
||||
import RandomHelp
|
||||
import qualified SDL
|
||||
@@ -145,6 +145,9 @@ ammoCheckI :: ChainEffect
|
||||
ammoCheckI eff ams itm cr w = fromMaybe (failsound w) $ do
|
||||
x <- ams ^? ix 0 . itUse . amagLoadStatus . iaLoaded
|
||||
guard $ x > 0
|
||||
matype <- ams ^? ix 0 . itUse . amagType
|
||||
iatype <- itm ^? itUse . heldConsumption . ix 0
|
||||
guard $ matype == iatype
|
||||
return $ eff ams itm cr $ w & cWorld . lWorld . creatures . ix (_crID cr) %~ crCancelReloading
|
||||
where
|
||||
failsound = case w ^? input . mouseButtons . ix SDL.ButtonLeft of
|
||||
@@ -239,7 +242,7 @@ withSoundStart ::
|
||||
SoundID ->
|
||||
ChainEffect
|
||||
withSoundStart soundid f ams item cr =
|
||||
soundMultiFrom [CrWeaponSound cid 0, CrWeaponSound cid 1, CrWeaponSound cid 2] (_crPos cr) soundid Nothing
|
||||
soundMultiFrom [CrWeaponSound cid j | j <- [0..3]] (_crPos cr) soundid Nothing
|
||||
. f ams item cr
|
||||
where
|
||||
cid = _crID cr
|
||||
@@ -346,7 +349,7 @@ useAllAmmo eff ams item cr w = fromMaybe w $ do
|
||||
|
||||
useAmmoUpTo :: Int -> ChainEffect
|
||||
useAmmoUpTo amAmount eff ams itm cr = fromMaybe id $ do
|
||||
x <- ams ^? ix 0 . itUse . amagLoadStatus . iaLoaded
|
||||
_ <- ams ^? ix 0 . itUse . amagLoadStatus . iaLoaded
|
||||
invid <- ams ^? ix 0 . itLocation . ipInvID
|
||||
return $ eff ams itm cr
|
||||
. ( cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix invid . itUse . amagLoadStatus . iaLoaded
|
||||
|
||||
@@ -1,22 +1,42 @@
|
||||
module Dodge.Projectile.Create where
|
||||
|
||||
import Dodge.SoundLogic
|
||||
import Dodge.Reloading
|
||||
import Control.Monad
|
||||
import Data.Maybe
|
||||
import Dodge.Data.World
|
||||
import Geometry
|
||||
import qualified IntMapHelp as IM
|
||||
import LensHelp
|
||||
--import Data.Maybe
|
||||
import qualified SDL
|
||||
|
||||
createProjectile :: AmmoParams -> Item -> Creature -> World -> World
|
||||
createProjectile apm itm cr = case pt of
|
||||
CreateShell -> fireShell apm itm cr
|
||||
CreateTrackingShell -> fireTrackingShell apm itm cr
|
||||
createProjectile :: Item -> Muzzle -> Item -> Creature -> World -> World
|
||||
createProjectile ammoitem muz itm cr = fromMaybe failsound $ do
|
||||
x <- ammoitem ^? itUse . amagLoadStatus . iaLoaded
|
||||
guard $ x > 0
|
||||
matype <- ammoitem ^? itUse . amagType
|
||||
guard $ matype == ProjectileAmmo
|
||||
j <- ammoitem ^? itLocation . ipInvID
|
||||
pt <- ammoitem ^? itUse . amagParams . ampPjCreation
|
||||
return $ case pt of
|
||||
CreateShell -> fireShell ammoitem muz itm cr . extrafuncs j
|
||||
CreateTrackingShell -> fireTrackingShell ammoitem muz itm cr . extrafuncs j
|
||||
where
|
||||
pt = _ampPjCreation apm
|
||||
extrafuncs j = cancelanyreloading . startthesound . useammo j
|
||||
useammo j = cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix j . itUse . amagLoadStatus . iaLoaded -~ 1
|
||||
|
||||
cancelanyreloading = cWorld . lWorld . creatures . ix (_crID cr) %~ crCancelReloading
|
||||
-- the sound should be moved to the projectile firing
|
||||
startthesound = soundMultiFrom [CrWeaponSound (_crID cr) j | j <- [0..3]] (_crPos cr) tap4S Nothing
|
||||
failsound w' = case w' ^? input . mouseButtons . ix SDL.ButtonLeft of
|
||||
Just 0 -> soundStart (CrReloadSound (_crID cr)) (_crPos cr) click1S Nothing w'
|
||||
_ -> soundContinue (CrReloadSound (_crID cr)) (_crPos cr) click1S Nothing w'
|
||||
|
||||
fireShell :: AmmoParams -> Item -> Creature -> World -> World
|
||||
fireShell ap it cr =
|
||||
fireShell :: Item -> Muzzle -> Item -> Creature -> World -> World
|
||||
fireShell ammoitem muz it cr =
|
||||
makeShell
|
||||
ap
|
||||
ammoitem
|
||||
muz
|
||||
it
|
||||
cr
|
||||
[ PJShellCollisionCheck
|
||||
@@ -31,43 +51,48 @@ fireShell ap it cr =
|
||||
spinamount = _shellSpinAmount params
|
||||
thrustdelay = _shellThrustDelay params
|
||||
|
||||
makeShell :: AmmoParams -> Item -> Creature -> [ProjectileUpdate] -> World -> World
|
||||
makeShell ap it cr theupdate w =
|
||||
w & cWorld . lWorld . projectiles . at i
|
||||
?~ Shell
|
||||
{ _prjPos = pos
|
||||
, _prjZ = 20
|
||||
, _prjStartPos = pos
|
||||
, _prjVel = rotateV dir (V2 1 0)
|
||||
, _prjDraw = DrawShell
|
||||
, _prjID = i
|
||||
, _prjAcc = rotateV dir (V2 3 0)
|
||||
, _prjDir = dir
|
||||
, _prjSpin = 0
|
||||
, _prjPayload = _ampPayload ap
|
||||
, _prjTimer = 350
|
||||
, _prjUpdates = theupdate
|
||||
, _prjMITID = Just $ _itID it
|
||||
}
|
||||
makeShell :: Item -> Muzzle -> Item -> Creature -> [ProjectileUpdate] -> World -> World
|
||||
makeShell ammoitem muz it cr theupdate w = fromMaybe w $ do
|
||||
aparams <- ammoitem ^? itUse . amagParams
|
||||
return $
|
||||
w & cWorld . lWorld . projectiles . at i
|
||||
?~ Shell
|
||||
{ _prjPos = pos
|
||||
, _prjZ = 20
|
||||
, _prjStartPos = pos
|
||||
, _prjVel = rotateV dir (V2 1 0)
|
||||
, _prjDraw = DrawShell
|
||||
, _prjID = i
|
||||
, _prjAcc = rotateV dir (V2 3 0)
|
||||
, _prjDir = dir
|
||||
, _prjSpin = 0
|
||||
, _prjPayload = _ampPayload aparams
|
||||
, _prjTimer = 350
|
||||
, _prjUpdates = theupdate
|
||||
, _prjMITID = Just $ _itID it
|
||||
}
|
||||
where
|
||||
i = IM.newKey $ w ^. cWorld . lWorld . props-- _props (_cWorld w)
|
||||
dir = _crDir cr
|
||||
pos = _crPos cr +.+ rotateV dir (V2 (_crRad cr + 1) 0)
|
||||
--am = _heldConsumption $ _itUse it
|
||||
i = IM.newKey $ w ^. cWorld . lWorld . projectiles -- _props (_cWorld w)
|
||||
dir = _crDir cr + _mzRot muz
|
||||
pos = _crPos cr +.+ rotateV dir (_mzPos muz)
|
||||
|
||||
fireTrackingShell :: AmmoParams -> Item -> Creature -> World -> World
|
||||
fireTrackingShell ap it cr =
|
||||
makeShell
|
||||
ap
|
||||
it
|
||||
cr
|
||||
[ PJRemoteShellCollisionCheck
|
||||
, PJDecTimMvVel
|
||||
, PJSpin 335 (_crID cr) spinamount
|
||||
, PJTrack (350 - thrustdelay) 0 (_itID it)
|
||||
, PJThrust (350 - thrustdelay) 0
|
||||
, PJReduceSpin (1 - fromIntegral spindrag * 2 / 200)
|
||||
]
|
||||
--am = _heldConsumption $ _itUse it
|
||||
|
||||
fireTrackingShell :: Item -> Muzzle -> Item -> Creature -> World -> World
|
||||
fireTrackingShell ammoitem muz it cr = fromMaybe id $ do
|
||||
return $
|
||||
makeShell
|
||||
ammoitem
|
||||
muz
|
||||
it
|
||||
cr
|
||||
[ PJRemoteShellCollisionCheck
|
||||
, PJDecTimMvVel
|
||||
, PJSpin 335 (_crID cr) spinamount
|
||||
, PJTrack (350 - thrustdelay) 0 (_itID it)
|
||||
, PJThrust (350 - thrustdelay) 0
|
||||
, PJReduceSpin (1 - fromIntegral spindrag * 2 / 200)
|
||||
]
|
||||
where
|
||||
spinamount = _shellSpinAmount params
|
||||
thrustdelay = _shellThrustDelay params
|
||||
|
||||
@@ -17,9 +17,12 @@ import Dodge.Data.Universe
|
||||
--import Data.Maybe
|
||||
--import ShortShow
|
||||
--import qualified Data.Map.Strict as M
|
||||
--import qualified IntMapHelp as IM
|
||||
import qualified IntMapHelp as IM
|
||||
testStringInit :: Universe -> [String]
|
||||
testStringInit _ = []
|
||||
testStringInit u = [fromMaybe "" $ do
|
||||
proj <- u ^? uvWorld . cWorld . lWorld . projectiles
|
||||
return $ show $ IM.size proj
|
||||
]
|
||||
-- [fromMaybe "" $ do
|
||||
-- cr <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0
|
||||
-- i <- cr ^? crManipulation . manObject . inInventory . ispItem
|
||||
|
||||
@@ -200,7 +200,7 @@ BURSTRIFLE src/Dodge/Data/Item/Combine.hs 174;" C
|
||||
BackgroundSound src/Dodge/Data/SoundOrigin.hs 14;" C
|
||||
Ball src/Dodge/Tesla/Ball.hs 1;" m
|
||||
BangCaneMod src/Dodge/Data/Item/HeldUse.hs 85;" C
|
||||
BangConeMod src/Dodge/Data/Item/HeldUse.hs 104;" C
|
||||
BangConeMod src/Dodge/Data/Item/HeldUse.hs 102;" C
|
||||
BangRodMod src/Dodge/Data/Item/HeldUse.hs 89;" C
|
||||
BangStickMod src/Dodge/Data/Item/HeldUse.hs 94;" C
|
||||
Bark src/Dodge/Data/ActionPlan.hs 40;" C
|
||||
@@ -2170,8 +2170,6 @@ ResourceFailure src/Dodge/Data/Scenario.hs 29;" C
|
||||
RetailFacility src/Dodge/Data/Scenario.hs 67;" C
|
||||
ReturnEffect src/Dodge/Terminal/ReturnEffect.hs 1;" m
|
||||
Revenge src/Dodge/Data/Scenario.hs 6;" C
|
||||
RevolverXMod src/Dodge/Data/Item/HeldUse.hs 102;" C
|
||||
RevolverXRepeatMod src/Dodge/Data/Item/HeldUse.hs 103;" C
|
||||
RewindEffect src/Dodge/Data/ItEffect.hs 38;" C
|
||||
RewindLeftClick src/Dodge/Data/World.hs 72;" C
|
||||
RezBaySS src/Dodge/Data/Scenario.hs 105;" C
|
||||
@@ -4375,7 +4373,7 @@ advanceScrollAmount src/Dodge/Update.hs 297;" f
|
||||
advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f
|
||||
advanceStepCounter src/Dodge/Creature/Action/Movement.hs 56;" f
|
||||
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
|
||||
afterRecoil src/Dodge/Item/Weapon/TriggerType.hs 288;" f
|
||||
afterRecoil src/Dodge/Item/Weapon/TriggerType.hs 291;" f
|
||||
aimDelaySweep src/Dodge/Render/ShapePicture.hs 44;" f
|
||||
aimStanceInfo src/Dodge/Item/Info.hs 230;" f
|
||||
aimTurn src/Dodge/Creature/YourControl.hs 188;" f
|
||||
@@ -4509,7 +4507,7 @@ bangRod src/Dodge/Item/Weapon/BulletGun/Rod.hs 18;" f
|
||||
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 478;" f
|
||||
bangStick src/Dodge/Item/Held/Stick.hs 16;" f
|
||||
bangStick src/Dodge/Item/Weapon/BulletGun/Stick.hs 17;" f
|
||||
bangStickSoundChoice src/Dodge/HeldUse.hs 515;" f
|
||||
bangStickSoundChoice src/Dodge/HeldUse.hs 494;" f
|
||||
bangStickSoundChoice src/Dodge/HeldUse/BulletWeapon.hs 226;" f
|
||||
barPP src/Dodge/Room/Foreground.hs 236;" f
|
||||
barrel src/Dodge/Creature/Inanimate.hs 17;" f
|
||||
@@ -4530,7 +4528,7 @@ baseStickSpread src/Dodge/Item/Held/Stick.hs 35;" f
|
||||
baseStickSpread src/Dodge/Item/Weapon/BulletGun/Stick.hs 46;" f
|
||||
baseWindowPane src/Dodge/Placements/Wall.hs 73;" f
|
||||
baseWindowPane src/Dodge/Room/Placement.hs 103;" f
|
||||
basicAmPjMoves src/Dodge/Item/Held/Launcher.hs 54;" f
|
||||
basicAmPjMoves src/Dodge/Item/Held/Launcher.hs 58;" f
|
||||
basicAttentionUpdate src/Dodge/Creature/AlertLevel.hs 50;" f
|
||||
basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f
|
||||
basicAwarenessUpdate src/Dodge/Creature/AlertLevel.hs 25;" f
|
||||
@@ -4556,7 +4554,7 @@ bezierGun src/Dodge/Item/Weapon/Bezier.hs 24;" f
|
||||
bfsNodePoints src/Dodge/Path.hs 58;" f
|
||||
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 233;" f
|
||||
bindFBO src/Render.hs 244;" f
|
||||
blCheck src/Dodge/Item/Weapon/TriggerType.hs 378;" f
|
||||
blCheck src/Dodge/Item/Weapon/TriggerType.hs 381;" f
|
||||
black src/Color.hs 27;" f
|
||||
blank src/Picture/Base.hs 59;" f
|
||||
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f
|
||||
@@ -4640,7 +4638,7 @@ canAttachTargeting src/Dodge/Item/Display.hs 33;" f
|
||||
canHeldScrollAttach src/Dodge/HeldScroll.hs 75;" f
|
||||
canSee src/Dodge/Base/Collide.hs 228;" f
|
||||
canSeeIndirect src/Dodge/Base/Collide.hs 235;" f
|
||||
caneStickSoundChoice src/Dodge/HeldUse.hs 510;" f
|
||||
caneStickSoundChoice src/Dodge/HeldUse.hs 489;" f
|
||||
cardList src/Dodge/Base/CardinalPoint.hs 6;" f
|
||||
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
|
||||
cardinalVectors src/Dodge/FloorItem.hs 38;" f
|
||||
@@ -4794,8 +4792,8 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f
|
||||
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
|
||||
conEffects src/Dodge/Concurrent.hs 17;" f
|
||||
concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f
|
||||
coneRandItemParams src/Dodge/HeldUse.hs 524;" f
|
||||
coneRandItemUpdate src/Dodge/HeldUse.hs 518;" f
|
||||
coneRandItemParams src/Dodge/HeldUse.hs 503;" f
|
||||
coneRandItemUpdate src/Dodge/HeldUse.hs 497;" f
|
||||
connectRoom src/Dodge/Layout/Tree/Either.hs 48;" f
|
||||
connectTrunk src/Dodge/Layout/Tree/Either.hs 54;" f
|
||||
connectionBlurb src/Dodge/Terminal.hs 100;" f
|
||||
@@ -4876,7 +4874,7 @@ createHeldLight src/Dodge/ItEffect.hs 70;" f
|
||||
createLightMap src/Render.hs 26;" f
|
||||
createNewArc src/Dodge/Tesla/Arc.hs 76;" f
|
||||
createPathGrid src/Dodge/Room/Path.hs 21;" f
|
||||
createProjectile src/Dodge/Projectile/Create.hs 9;" f
|
||||
createProjectile src/Dodge/Projectile/Create.hs 10;" f
|
||||
createPutItem src/Dodge/Inventory/Add.hs 52;" f
|
||||
createShieldWall src/Dodge/Euse.hs 134;" f
|
||||
createTorchLightOffset src/Dodge/LightSource/Torch.hs 9;" f
|
||||
@@ -5377,12 +5375,12 @@ dualBeam src/Dodge/Item/Held/BatteryGuns.hs 136;" f
|
||||
dualBeamPic src/Dodge/Item/Draw/SPic.hs 463;" f
|
||||
dualRayAt src/Dodge/Item/Weapon/BatteryGuns.hs 194;" f
|
||||
dummyMenuOption src/Dodge/Menu/Option.hs 81;" f
|
||||
duplicateItem src/Dodge/Item/Weapon/TriggerType.hs 709;" f
|
||||
duplicateLoaded src/Dodge/Item/Weapon/TriggerType.hs 660;" f
|
||||
duplicateLoadedBarrels src/Dodge/Item/Weapon/TriggerType.hs 682;" f
|
||||
duplicateNumBarrels src/Dodge/Item/Weapon/TriggerType.hs 668;" f
|
||||
duplicateOffsetsFocus src/Dodge/Item/Weapon/TriggerType.hs 690;" f
|
||||
duplicateOffsetsV2 src/Dodge/Item/Weapon/TriggerType.hs 714;" f
|
||||
duplicateItem src/Dodge/Item/Weapon/TriggerType.hs 712;" f
|
||||
duplicateLoaded src/Dodge/Item/Weapon/TriggerType.hs 663;" f
|
||||
duplicateLoadedBarrels src/Dodge/Item/Weapon/TriggerType.hs 685;" f
|
||||
duplicateNumBarrels src/Dodge/Item/Weapon/TriggerType.hs 671;" f
|
||||
duplicateOffsetsFocus src/Dodge/Item/Weapon/TriggerType.hs 693;" f
|
||||
duplicateOffsetsV2 src/Dodge/Item/Weapon/TriggerType.hs 717;" f
|
||||
ebFlicker src/Dodge/EnergyBall.hs 94;" f
|
||||
edgeFormatting src/Dodge/Combine/Graph.hs 119;" f
|
||||
edgeToPic src/Dodge/Debug/Picture.hs 392;" f
|
||||
@@ -5468,11 +5466,11 @@ findReverseEdgeList src/Polyhedra.hs 56;" f
|
||||
findWallFreeDropPoint src/Dodge/FloorItem.hs 46;" f
|
||||
findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f
|
||||
fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f
|
||||
fireRemoteShell src/Dodge/HeldUse.hs 485;" f
|
||||
fireRemoteShell src/Dodge/HeldUse.hs 464;" f
|
||||
fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f
|
||||
fireShell src/Dodge/Projectile/Create.hs 16;" f
|
||||
fireShell src/Dodge/Projectile/Create.hs 17;" f
|
||||
fireSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
|
||||
fireTrackingShell src/Dodge/Projectile/Create.hs 58;" f
|
||||
fireTrackingShell src/Dodge/Projectile/Create.hs 62;" f
|
||||
firstBreather src/Dodge/Room/Breather.hs 9;" f
|
||||
firstWorldLoad appDodge/Main.hs 77;" f
|
||||
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
|
||||
@@ -5578,7 +5576,7 @@ geometryQuickCheckTests test/Spec.hs 55;" f
|
||||
geometryTests test/Spec.hs 17;" f
|
||||
geometryUnitTests test/Spec.hs 22;" f
|
||||
geqConstr src/SameConstr.hs 21;" f
|
||||
getAmmoMagazine src/Dodge/HeldUse.hs 462;" f
|
||||
getAmmoMagazine src/Dodge/HeldUse.hs 441;" f
|
||||
getAmmoMags src/Dodge/Creature/Impulse/UseItem.hs 35;" f
|
||||
getArguments src/Dodge/Update/Scroll.hs 147;" f
|
||||
getArguments' src/Dodge/Update/Scroll.hs 135;" f
|
||||
@@ -5657,7 +5655,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
|
||||
halfHeight src/Dodge/Base/Window.hs 48;" f
|
||||
halfWidth src/Dodge/Base/Window.hs 48;" f
|
||||
haltSound src/Dodge/SoundLogic.hs 37;" f
|
||||
hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 386;" f
|
||||
hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 389;" f
|
||||
handleEvent src/Dodge/Event.hs 27;" f
|
||||
handleHotkeys src/Dodge/Creature/YourControl.hs 42;" f
|
||||
handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f
|
||||
@@ -5850,7 +5848,7 @@ itBounds src/Dodge/Item/Module.hs 22;" f
|
||||
itSlotsTaken src/Dodge/Inventory/ItemSpace.hs 9;" f
|
||||
itSlotsTaken src/Dodge/Item/SlotsTaken.hs 9;" f
|
||||
itStackAmount src/Dodge/Item/Amount.hs 7;" f
|
||||
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 154;" f
|
||||
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 157;" f
|
||||
itemBaseName src/Dodge/Item/Display.hs 75;" f
|
||||
itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f
|
||||
itemBlips src/Dodge/RadarSweep.hs 74;" f
|
||||
@@ -5938,14 +5936,14 @@ lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f
|
||||
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
|
||||
lasTurret src/Dodge/Placements/Turret.hs 29;" f
|
||||
lasWide src/Dodge/Item/Held/BatteryGuns.hs 97;" f
|
||||
lasWideRate src/Dodge/HeldUse.hs 377;" f
|
||||
lasWideRate src/Dodge/HeldUse.hs 353;" f
|
||||
latchkey src/Dodge/Item/Held/Utility.hs 23;" f
|
||||
latchkey src/Dodge/Item/PassKey.hs 14;" f
|
||||
launcher src/Dodge/Item/Held/Launcher.hs 10;" f
|
||||
launcher src/Dodge/Item/Held/Launcher.hs 11;" f
|
||||
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
|
||||
launcherPic src/Dodge/Item/Draw/SPic.hs 423;" f
|
||||
launcherSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
|
||||
launcherX src/Dodge/Item/Held/Launcher.hs 39;" f
|
||||
launcherX src/Dodge/Item/Held/Launcher.hs 40;" f
|
||||
layerNum src/Picture/Data.hs 31;" f
|
||||
layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f
|
||||
ldpVerticalSelection src/Dodge/Update/Input/ScreenLayer.hs 90;" f
|
||||
@@ -6095,7 +6093,7 @@ makeShaderProgram src/Shader/Compile.hs 287;" f
|
||||
makeShaderUsingVAO src/Shader/Compile.hs 155;" f
|
||||
makeShaderUsingVBO src/Shader/Compile.hs 78;" f
|
||||
makeShaderVBO src/Shader/Compile.hs 38;" f
|
||||
makeShell src/Dodge/Projectile/Create.hs 34;" f
|
||||
makeShell src/Dodge/Projectile/Create.hs 37;" f
|
||||
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 12;" f
|
||||
makeSourcedShader src/Shader/Compile.hs 203;" f
|
||||
makeStartCloudAt src/Dodge/WorldEvent/Cloud.hs 60;" f
|
||||
@@ -6146,10 +6144,10 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f
|
||||
mcSPic src/Dodge/Render/ShapePicture.hs 169;" f
|
||||
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f
|
||||
mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f
|
||||
mcShootLaser src/Dodge/HeldUse.hs 532;" f
|
||||
mcShootLaser src/Dodge/HeldUse.hs 511;" f
|
||||
mcTriggerVal src/Dodge/Machine/Update.hs 75;" f
|
||||
mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f
|
||||
mcUseHeld src/Dodge/HeldUse.hs 380;" f
|
||||
mcUseHeld src/Dodge/HeldUse.hs 356;" f
|
||||
mcUseItem src/Dodge/Machine/Update.hs 61;" f
|
||||
medkit src/Dodge/Item/Consumable.hs 8;" f
|
||||
meleeHeadingMove src/Dodge/Creature/Boid.hs 281;" f
|
||||
@@ -6192,7 +6190,7 @@ mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 322;" f
|
||||
miniGunCrit src/Dodge/Creature.hs 62;" f
|
||||
miniGunUse src/Dodge/Item/Held/Cane.hs 94;" f
|
||||
miniGunUse src/Dodge/Item/Weapon/BulletGun/Cane.hs 113;" f
|
||||
miniGunX src/Dodge/Item/Held/Cane.hs 105;" f
|
||||
miniGunX src/Dodge/Item/Held/Cane.hs 106;" f
|
||||
miniGunX src/Dodge/Item/Weapon/BulletGun/Cane.hs 120;" f
|
||||
miniGunXPict src/Dodge/Item/Draw/SPic.hs 383;" f
|
||||
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 377;" f
|
||||
@@ -6222,7 +6220,7 @@ mntLight src/Dodge/Placement/Instance/LightSource.hs 154;" f
|
||||
mntLight src/Dodge/Placements/LightSource.hs 89;" f
|
||||
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 159;" f
|
||||
mntLightLnkCond src/Dodge/Placements/LightSource.hs 94;" f
|
||||
modClock src/Dodge/Item/Weapon/TriggerType.hs 445;" f
|
||||
modClock src/Dodge/Item/Weapon/TriggerType.hs 448;" f
|
||||
modTo src/Geometry/Zone.hs 10;" f
|
||||
modifierKey src/Dodge/Config/KeyConfig.hs 34;" f
|
||||
moduleAttachPosition src/Dodge/Item/Module.hs 6;" f
|
||||
@@ -6385,9 +6383,9 @@ overColObj src/Shape.hs 269;" f
|
||||
overColSH src/Shape.hs 237;" f
|
||||
overLnkPosDir src/Dodge/RoomLink.hs 100;" f
|
||||
overLnkType src/Dodge/RoomLink.hs 87;" f
|
||||
overNozzle src/Dodge/HeldUse.hs 443;" f
|
||||
overNozzles src/Dodge/HeldUse.hs 421;" f
|
||||
overNozzles' src/Dodge/HeldUse.hs 430;" f
|
||||
overNozzle src/Dodge/HeldUse.hs 422;" f
|
||||
overNozzles src/Dodge/HeldUse.hs 400;" f
|
||||
overNozzles' src/Dodge/HeldUse.hs 409;" f
|
||||
overPos src/Picture/Base.hs 302;" f
|
||||
overPosObj src/Shape.hs 273;" f
|
||||
overPosSH src/Shape.hs 257;" f
|
||||
@@ -6754,7 +6752,7 @@ randsOnCirc src/RandomHelp.hs 118;" f
|
||||
randsSpread src/Dodge/RandomHelp.hs 100;" f
|
||||
randsSpread src/RandomHelp.hs 111;" f
|
||||
ratIntersectLineLine src/Geometry/Intersect.hs 195;" f
|
||||
rateIncAB src/Dodge/Item/Weapon/TriggerType.hs 164;" f
|
||||
rateIncAB src/Dodge/Item/Weapon/TriggerType.hs 167;" f
|
||||
readSaveSlot src/Dodge/Save.hs 45;" f
|
||||
rectNESW src/Geometry/Polygon.hs 13;" f
|
||||
rectNSWE src/Geometry/Polygon.hs 19;" f
|
||||
@@ -6788,7 +6786,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 426;" f
|
||||
reloadSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
|
||||
rememberSounds src/Dodge/Creature/Perception.hs 177;" f
|
||||
remoteBombUnarmedPic src/Dodge/Item/Weapon/Grenade.hs 268;" f
|
||||
remoteLauncher src/Dodge/Item/Held/Launcher.hs 46;" f
|
||||
remoteLauncher src/Dodge/Item/Held/Launcher.hs 50;" f
|
||||
remoteShellCollisionCheck src/Dodge/Projectile/Update.hs 44;" f
|
||||
remoteShellShape src/Dodge/Projectile/Draw.hs 39;" f
|
||||
removeEither src/Dodge/Layout/Tree/Either.hs 41;" f
|
||||
@@ -6805,7 +6803,7 @@ renderLayer src/Render.hs 233;" f
|
||||
renderLightingNoShadows src/Render.hs 48;" f
|
||||
renderListAt src/Dodge/Render/List.hs 160;" f
|
||||
renderShadows src/Render.hs 117;" f
|
||||
repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 648;" f
|
||||
repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 651;" f
|
||||
repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 95;" f
|
||||
repeater src/Dodge/Item/Held/Cane.hs 72;" f
|
||||
repeater src/Dodge/Item/Weapon/BulletGun/Cane.hs 89;" f
|
||||
@@ -7111,7 +7109,7 @@ shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
|
||||
shootFlameSpitter src/Dodge/HeldUse/SprayWeapon.hs 9;" f
|
||||
shootFlameSpitterRepeat src/Dodge/HeldUse/SprayWeapon.hs 19;" f
|
||||
shootFlameThrower src/Dodge/HeldUse/SprayWeapon.hs 26;" f
|
||||
shootL src/Dodge/Item/Weapon/TriggerType.hs 400;" f
|
||||
shootL src/Dodge/Item/Weapon/TriggerType.hs 403;" f
|
||||
shootLaser src/Dodge/Item/Weapon/BatteryGuns.hs 127;" f
|
||||
shootMachineGun src/Dodge/HeldUse/BulletWeapon.hs 218;" f
|
||||
shootMachinePistol src/Dodge/HeldUse/BulletWeapon.hs 62;" f
|
||||
@@ -7123,7 +7121,7 @@ shootRevolverXRepeat src/Dodge/HeldUse/BulletWeapon.hs 49;" f
|
||||
shootRifle src/Dodge/HeldUse/BulletWeapon.hs 140;" f
|
||||
shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
|
||||
shootSmgMod src/Dodge/HeldUse/BulletWeapon.hs 86;" f
|
||||
shootTeslaArc src/Dodge/HeldUse.hs 541;" f
|
||||
shootTeslaArc src/Dodge/HeldUse.hs 520;" f
|
||||
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
|
||||
shootVolleyGun src/Dodge/HeldUse/BulletWeapon.hs 128;" f
|
||||
shootersRoom src/Dodge/Room/Room.hs 317;" f
|
||||
@@ -7161,7 +7159,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f
|
||||
shuffleRoomPos src/Dodge/Layout.hs 78;" f
|
||||
shuffleTail src/Dodge/RandomHelp.hs 50;" f
|
||||
shuffleTail src/RandomHelp.hs 55;" f
|
||||
sideEffectOnFrame src/Dodge/Item/Weapon/TriggerType.hs 628;" f
|
||||
sideEffectOnFrame src/Dodge/Item/Weapon/TriggerType.hs 631;" f
|
||||
sideEffectUpdatePreload src/Dodge/PreloadData.hs 7;" f
|
||||
sigmoid src/Dodge/Base.hs 129;" f
|
||||
simpleCrSprings src/Dodge/Update.hs 639;" f
|
||||
@@ -7241,8 +7239,8 @@ spawnSmokeAtCursor src/Dodge/WorldEvent/Cloud.hs 73;" f
|
||||
spawnerCrit src/Dodge/Creature.hs 55;" f
|
||||
spawnerRoom src/Dodge/Room/Room.hs 362;" f
|
||||
speedLegs src/Dodge/Item/Equipment.hs 131;" f
|
||||
spinDrag src/Dodge/Item/Held/Launcher.hs 62;" f
|
||||
spinStart src/Dodge/Item/Held/Launcher.hs 70;" f
|
||||
spinDrag src/Dodge/Item/Held/Launcher.hs 66;" f
|
||||
spinStart src/Dodge/Item/Held/Launcher.hs 74;" f
|
||||
splashMenu src/Dodge/Menu.hs 27;" f
|
||||
splashMenuOptions src/Dodge/Menu.hs 32;" f
|
||||
splashScreen src/Dodge/Initialisation.hs 11;" f
|
||||
@@ -7287,7 +7285,7 @@ ssfold src/FoldableHelp.hs 104;" f
|
||||
stackPicturesAt src/Dodge/Render/List.hs 81;" f
|
||||
stackPicturesAtOff src/Dodge/Render/List.hs 84;" f
|
||||
stackText src/Picture/Base.hs 188;" f
|
||||
stackedInventory src/Dodge/Creature.hs 253;" f
|
||||
stackedInventory src/Dodge/Creature.hs 259;" f
|
||||
startCr src/Dodge/Creature.hs 91;" f
|
||||
startCrafts src/Dodge/Room/Start.hs 102;" f
|
||||
startInvList src/Dodge/Creature.hs 109;" f
|
||||
@@ -7401,7 +7399,7 @@ teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
|
||||
testCrossWalls src/Dodge/Room/Path.hs 47;" f
|
||||
testEvent src/Dodge/Event/Test.hs 10;" f
|
||||
testEventKey src/Dodge/Config/KeyConfig.hs 27;" f
|
||||
testInventory src/Dodge/Creature.hs 230;" f
|
||||
testInventory src/Dodge/Creature.hs 236;" f
|
||||
testPic src/Dodge/Render/ShapePicture.hs 153;" f
|
||||
testStringInit src/Dodge/TestString.hs 21;" f
|
||||
text src/Picture/Base.hs 192;" f
|
||||
@@ -7430,7 +7428,7 @@ thingsHit src/Dodge/WorldEvent/ThingsHit.hs 29;" f
|
||||
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 73;" f
|
||||
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
|
||||
throwRemoteBomb src/Dodge/Item/Weapon/Grenade.hs 205;" f
|
||||
thrustParam src/Dodge/Item/Held/Launcher.hs 78;" f
|
||||
thrustParam src/Dodge/Item/Held/Launcher.hs 82;" f
|
||||
tileTexCoords src/Tile.hs 10;" f
|
||||
tilesFromRooms src/Dodge/Layout.hs 205;" f
|
||||
tilesToLine src/Shader/AuxAddition.hs 66;" f
|
||||
@@ -7475,10 +7473,10 @@ topPrismEdgeIndices src/Shader/Poke.hs 327;" f
|
||||
topPrismIndices src/Shader/Poke.hs 402;" f
|
||||
torch src/Dodge/Item/Held/Utility.hs 26;" f
|
||||
torchShape src/Dodge/Item/Draw/SPic.hs 195;" f
|
||||
torqueBefore src/Dodge/Item/Weapon/TriggerType.hs 558;" f
|
||||
torqueBeforeAtLeast src/Dodge/Item/Weapon/TriggerType.hs 581;" f
|
||||
torqueBefore src/Dodge/Item/Weapon/TriggerType.hs 561;" f
|
||||
torqueBeforeAtLeast src/Dodge/Item/Weapon/TriggerType.hs 584;" f
|
||||
torqueCr src/Dodge/WorldEffect.hs 64;" f
|
||||
torqueSideEffect src/Dodge/Item/Weapon/TriggerType.hs 636;" f
|
||||
torqueSideEffect src/Dodge/Item/Weapon/TriggerType.hs 639;" f
|
||||
torso src/Dodge/Creature/Picture.hs 132;" f
|
||||
tractCr src/Dodge/TractorBeam/Update.hs 27;" f
|
||||
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
|
||||
@@ -7748,16 +7746,16 @@ upperPrismPolySU src/Shape.hs 112;" f
|
||||
upperPrismPolyTS src/Shape.hs 118;" f
|
||||
upperRounded src/Shape.hs 181;" f
|
||||
upsProjectile src/Dodge/Projectile/Update.hs 53;" f
|
||||
useAllAmmo src/Dodge/Item/Weapon/TriggerType.hs 339;" f
|
||||
useAmmoAmount src/Dodge/Item/Weapon/TriggerType.hs 356;" f
|
||||
useAllAmmo src/Dodge/Item/Weapon/TriggerType.hs 342;" f
|
||||
useAmmoAmount src/Dodge/Item/Weapon/TriggerType.hs 359;" f
|
||||
useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f
|
||||
useAmmoUpTo src/Dodge/Item/Weapon/TriggerType.hs 347;" f
|
||||
useAmmoUpTo src/Dodge/Item/Weapon/TriggerType.hs 350;" f
|
||||
useC src/Dodge/Cuse.hs 6;" f
|
||||
useE src/Dodge/Euse.hs 24;" f
|
||||
useEquipment src/Dodge/Creature/State.hs 219;" f
|
||||
useForceFieldGun src/Dodge/HeldUse.hs 554;" f
|
||||
useGasParams src/Dodge/HeldUse.hs 471;" f
|
||||
useHeld src/Dodge/HeldUse.hs 385;" f
|
||||
useForceFieldGun src/Dodge/HeldUse.hs 533;" f
|
||||
useGasParams src/Dodge/HeldUse.hs 450;" f
|
||||
useHeld src/Dodge/HeldUse.hs 361;" f
|
||||
useHotKey src/Dodge/Creature/YourControl.hs 49;" f
|
||||
useItem src/Dodge/Creature/Action/UseItem.hs 14;" f
|
||||
useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 120;" f
|
||||
@@ -7770,15 +7768,15 @@ useMagShield src/Dodge/Euse.hs 69;" f
|
||||
useMod src/Dodge/HeldUse.hs 28;" f
|
||||
useNormalCamera src/Dodge/Camera.hs 6;" f
|
||||
usePayload src/Dodge/Payload.hs 7;" f
|
||||
usePjCreation src/Dodge/HeldUse.hs 404;" f
|
||||
usePjCreationX src/Dodge/HeldUse.hs 409;" f
|
||||
usePjCreation src/Dodge/HeldUse.hs 380;" f
|
||||
usePjCreationX src/Dodge/HeldUse.hs 386;" f
|
||||
useRewindGun src/Dodge/Luse.hs 41;" f
|
||||
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
|
||||
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
|
||||
useShrinkGun src/Dodge/Luse.hs 59;" f
|
||||
useStopWatch src/Dodge/Luse.hs 24;" f
|
||||
useTargetPos src/Dodge/Item/Weapon/Targeting.hs 9;" f
|
||||
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 367;" f
|
||||
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 370;" f
|
||||
useTimeScrollGun src/Dodge/Luse.hs 32;" f
|
||||
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
|
||||
useUpdate src/Dodge/Creature/State.hs 211;" f
|
||||
@@ -7875,36 +7873,36 @@ windowxsize src/LoadConfig.hs 12;" f
|
||||
windowysize src/LoadConfig.hs 13;" f
|
||||
withAlpha src/Color.hs 10;" f
|
||||
withByteString src/Shader/Compile.hs 370;" f
|
||||
withCrPos src/Dodge/Item/Weapon/TriggerType.hs 483;" f
|
||||
withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 486;" f
|
||||
withFlare src/Dodge/Item/Weapon/TriggerType.hs 450;" f
|
||||
withItem src/Dodge/Item/Weapon/TriggerType.hs 423;" f
|
||||
withItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 432;" f
|
||||
withItemUpdateFirst src/Dodge/Item/Weapon/TriggerType.hs 427;" f
|
||||
withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 462;" f
|
||||
withOldDir src/Dodge/Item/Weapon/TriggerType.hs 500;" f
|
||||
withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 540;" f
|
||||
withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 524;" f
|
||||
withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 531;" f
|
||||
withRandomDirI src/Dodge/Item/Weapon/TriggerType.hs 492;" f
|
||||
withRandomItem src/Dodge/Item/Weapon/TriggerType.hs 519;" f
|
||||
withRandomItemParams src/Dodge/Item/Weapon/TriggerType.hs 514;" f
|
||||
withRandomItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 507;" f
|
||||
withRandomOffset src/Dodge/Item/Weapon/TriggerType.hs 550;" f
|
||||
withRecoil src/Dodge/Item/Weapon/TriggerType.hs 297;" f
|
||||
withSidePushAfterI src/Dodge/Item/Weapon/TriggerType.hs 326;" f
|
||||
withSidePushI src/Dodge/Item/Weapon/TriggerType.hs 307;" f
|
||||
withCrPos src/Dodge/Item/Weapon/TriggerType.hs 486;" f
|
||||
withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 489;" f
|
||||
withFlare src/Dodge/Item/Weapon/TriggerType.hs 453;" f
|
||||
withItem src/Dodge/Item/Weapon/TriggerType.hs 426;" f
|
||||
withItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 435;" f
|
||||
withItemUpdateFirst src/Dodge/Item/Weapon/TriggerType.hs 430;" f
|
||||
withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 465;" f
|
||||
withOldDir src/Dodge/Item/Weapon/TriggerType.hs 503;" f
|
||||
withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 543;" f
|
||||
withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 527;" f
|
||||
withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 534;" f
|
||||
withRandomDirI src/Dodge/Item/Weapon/TriggerType.hs 495;" f
|
||||
withRandomItem src/Dodge/Item/Weapon/TriggerType.hs 522;" f
|
||||
withRandomItemParams src/Dodge/Item/Weapon/TriggerType.hs 517;" f
|
||||
withRandomItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 510;" f
|
||||
withRandomOffset src/Dodge/Item/Weapon/TriggerType.hs 553;" f
|
||||
withRecoil src/Dodge/Item/Weapon/TriggerType.hs 300;" f
|
||||
withSidePushAfterI src/Dodge/Item/Weapon/TriggerType.hs 329;" f
|
||||
withSidePushI src/Dodge/Item/Weapon/TriggerType.hs 310;" f
|
||||
withSmoke src/Dodge/Item/Weapon/TriggerType.hs 115;" f
|
||||
withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 250;" f
|
||||
withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 263;" f
|
||||
withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 276;" f
|
||||
withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 221;" f
|
||||
withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 237;" f
|
||||
withTempLight src/Dodge/Item/Weapon/TriggerType.hs 437;" f
|
||||
withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 253;" f
|
||||
withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 266;" f
|
||||
withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 279;" f
|
||||
withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 224;" f
|
||||
withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 240;" f
|
||||
withTempLight src/Dodge/Item/Weapon/TriggerType.hs 440;" f
|
||||
withThickSmokeI src/Dodge/Item/Weapon/TriggerType.hs 133;" f
|
||||
withThinSmokeI src/Dodge/Item/Weapon/TriggerType.hs 124;" f
|
||||
withTorqueAfter src/Dodge/Item/Weapon/TriggerType.hs 607;" f
|
||||
withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 201;" f
|
||||
withTorqueAfter src/Dodge/Item/Weapon/TriggerType.hs 610;" f
|
||||
withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 204;" f
|
||||
wlDustAt src/Dodge/Wall/Dust.hs 10;" f
|
||||
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
|
||||
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f
|
||||
|
||||
Reference in New Issue
Block a user