Play around with tesla arcs
This commit is contained in:
@@ -18,11 +18,10 @@ data ArcStep = ArcStep
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data NextArcStep
|
||||
= EndArc
|
||||
| DefaultArcStep
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
--data NextArcStep
|
||||
-- = DefaultArcStep
|
||||
-- deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
makeLenses ''ArcStep
|
||||
deriveJSON defaultOptions ''ArcStep
|
||||
deriveJSON defaultOptions ''NextArcStep
|
||||
--deriveJSON defaultOptions ''NextArcStep
|
||||
|
||||
@@ -12,37 +12,17 @@ import Dodge.Data.ArcStep
|
||||
|
||||
data ItemParams
|
||||
= NoParams
|
||||
-- | MagShieldParams
|
||||
-- {_magShieldMgMIX :: Maybe Int}
|
||||
| FlatShieldParams
|
||||
{_flatShieldWlMIX :: Maybe Int}
|
||||
| Arcing
|
||||
{ _currentArc :: [ArcStep]
|
||||
, _arcSize :: Float
|
||||
, _arcNumber :: Int
|
||||
, _newArcStep :: NextArcStep --ItemParams -> World -> ArcStep -> State StdGen (Maybe ArcStep)
|
||||
, _previousArcEffect :: PreviousArcEffect
|
||||
-- , _arcSize :: Float
|
||||
-- , _arcNumber :: Int
|
||||
}
|
||||
|
||||
data ShrinkGunStatus = FullSize | Shrunk
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data PreviousArcEffect = NoPreviousArcEffect | PerturbTillBreakPreviousArc
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
--data GunBarrels
|
||||
---- = MultiBarrel
|
||||
---- { _brlSpread :: BarrelSpread
|
||||
---- , _brlNum :: Int
|
||||
---- , _brlInaccuracy :: Float
|
||||
---- }
|
||||
-- = BarrelList
|
||||
-- { _brlList :: [GunBarrel]
|
||||
-- }
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
|
||||
makeLenses ''ItemParams
|
||||
deriveJSON defaultOptions ''ShrinkGunStatus
|
||||
deriveJSON defaultOptions ''PreviousArcEffect
|
||||
deriveJSON defaultOptions ''ItemParams
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.TeslaArc where
|
||||
module Dodge.Data.TeslaArc (
|
||||
module Dodge.Data.TeslaArc,
|
||||
module Dodge.Data.ArcStep,
|
||||
) where
|
||||
|
||||
import Color
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Dodge.Data.ArcStep
|
||||
--import Geometry.Data
|
||||
|
||||
data TeslaArc = TeslaArc
|
||||
-- { _taPoints :: [Point2]
|
||||
{ _taTimer :: Int
|
||||
, _taArcSteps :: [ArcStep]
|
||||
, _taColor :: Color
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
module Dodge.Item.Held.BatteryGuns
|
||||
( sparkGun
|
||||
, teslaGun
|
||||
, laser
|
||||
, tractorGun
|
||||
) where
|
||||
module Dodge.Item.Held.BatteryGuns (
|
||||
sparkGun,
|
||||
teslaGun,
|
||||
laser,
|
||||
tractorGun,
|
||||
) where
|
||||
|
||||
import Dodge.Data.ArcStep
|
||||
import Dodge.SoundLogic.ExternallyGeneratedSounds
|
||||
import Dodge.Default.Item
|
||||
import Control.Lens
|
||||
import Dodge.Data.Item
|
||||
import Dodge.Default.Item
|
||||
import Dodge.SoundLogic.ExternallyGeneratedSounds
|
||||
import Geometry.Data
|
||||
|
||||
sparkGun :: Item
|
||||
sparkGun =
|
||||
teslaGun
|
||||
& itType .~ HELD SPARKGUN
|
||||
& itParams . arcSize .~ 10
|
||||
-- & itParams . arcSize .~ 10
|
||||
|
||||
teslaGun :: Item
|
||||
teslaGun =
|
||||
defaultHeldItem
|
||||
& itUse . heldParams .~ BeamShooterParams (Just (elecCrackleS,2))
|
||||
& itUse . heldParams .~ BeamShooterParams (Just (elecCrackleS, 2))
|
||||
& itParams .~ teslaParams
|
||||
& itUse . heldDelay .~ NoDelay
|
||||
& itUse . heldAim . aimWeight .~ 6
|
||||
@@ -38,17 +37,15 @@ teslaParams :: ItemParams
|
||||
teslaParams =
|
||||
Arcing
|
||||
{ _currentArc = []
|
||||
, _arcSize = 20
|
||||
, _arcNumber = 10
|
||||
, _newArcStep = DefaultArcStep --defaultArcStep
|
||||
, _previousArcEffect = NoPreviousArcEffect
|
||||
-- , _arcSize = 20
|
||||
-- , _arcNumber = 10
|
||||
}
|
||||
|
||||
-- previous phaseV parameters: 0.2, 1, 5
|
||||
laser :: Item
|
||||
laser =
|
||||
defaultHeldItem
|
||||
& itUse . heldParams .~ BeamShooterParams (Just (tone440sawtoothquietS,2))
|
||||
& itUse . heldParams .~ BeamShooterParams (Just (tone440sawtoothquietS, 2))
|
||||
& itAmmoSlots .~ singleAmmo ElectricalAmmo
|
||||
& itUse . heldDelay .~ NoDelay
|
||||
& itUse . heldTriggerType .~ AutoTrigger
|
||||
@@ -56,11 +53,12 @@ laser =
|
||||
& itUse . heldAim . aimMuzzles . ix 0 . mzInaccuracy .~ 0
|
||||
& itUse . heldAim . aimMuzzles . ix 0 . mzFlareType .~ LasGunFlare
|
||||
& itUse . heldAim . aimMuzzles . ix 0 . mzEffect .~ MuzzleLaser
|
||||
& itTargeting .~ ItTargeting
|
||||
{ _itTgPos = Nothing
|
||||
, _itTgID = Nothing
|
||||
, _itTgActive = False
|
||||
}
|
||||
& itTargeting
|
||||
.~ ItTargeting
|
||||
{ _itTgPos = Nothing
|
||||
, _itTgID = Nothing
|
||||
, _itTgActive = False
|
||||
}
|
||||
& itUse . heldAim . aimWeight .~ 6
|
||||
& itUse . heldAim . aimRange .~ 1
|
||||
& itUse . heldAim . aimStance .~ TwoHandFlat
|
||||
@@ -70,7 +68,7 @@ laser =
|
||||
tractorGun :: Item
|
||||
tractorGun =
|
||||
defaultHeldItem
|
||||
& itUse . heldParams .~ BeamShooterParams (Just (tone440sawtoothquietS,2))
|
||||
& itUse . heldParams .~ BeamShooterParams (Just (tone440sawtoothquietS, 2))
|
||||
& itAmmoSlots .~ singleAmmo ElectricalAmmo
|
||||
& itUse . heldTriggerType .~ AutoTrigger
|
||||
& itUse . heldAim . aimMuzzles . ix 0 . mzPos .~ V2 30 0
|
||||
|
||||
+10
-1
@@ -1,4 +1,7 @@
|
||||
module Dodge.Randify where
|
||||
module Dodge.Randify (
|
||||
gRandify,
|
||||
runStateWorld,
|
||||
) where
|
||||
|
||||
import Control.Lens
|
||||
import Control.Monad.State
|
||||
@@ -9,3 +12,9 @@ gRandify :: GenWorld -> State StdGen GenWorld -> GenWorld
|
||||
gRandify gw mw =
|
||||
let (gw', g) = runState mw (_randGen $ _gwWorld gw)
|
||||
in gw' & gwWorld . randGen .~ g
|
||||
|
||||
-- this can possibly be done using zoom in a clever way
|
||||
runStateWorld :: World -> State StdGen World -> World
|
||||
runStateWorld gw mw =
|
||||
let (gw', g) = runState mw (_randGen gw)
|
||||
in gw' & randGen .~ g
|
||||
|
||||
+99
-128
@@ -1,73 +1,34 @@
|
||||
module Dodge.Tesla (
|
||||
makeTeslaArc,
|
||||
updateTeslaArc,
|
||||
-- updateTeslaArc,
|
||||
) where
|
||||
|
||||
import Data.Foldable
|
||||
import Data.List (sortOn)
|
||||
import Dodge.Movement.Turn
|
||||
import Control.Monad
|
||||
import Dodge.WorldEvent.ThingsHit
|
||||
--import Control.Applicative
|
||||
--import Data.Foldable
|
||||
--import Data.List (uncons) --(sortOn)
|
||||
import Data.Maybe
|
||||
import Dodge.Base.Collide
|
||||
import Dodge.Damage
|
||||
--import Dodge.Base.Collide
|
||||
--import Dodge.Damage
|
||||
import Dodge.Data.ArcStep
|
||||
import Dodge.Data.CrWlID
|
||||
import Dodge.Data.World
|
||||
import Dodge.Spark
|
||||
--import Dodge.Spark
|
||||
import Geometry
|
||||
import qualified IntMapHelp as IM
|
||||
--import qualified IntMapHelp as IM
|
||||
import LensHelp
|
||||
import MonadHelp
|
||||
--import MonadHelp
|
||||
import Picture
|
||||
import RandomHelp
|
||||
import Shape
|
||||
|
||||
updateTeslaArc :: World -> TeslaArc -> (World, Maybe TeslaArc)
|
||||
updateTeslaArc w pt
|
||||
| _taTimer pt == 2 =
|
||||
( makesparks $ foldl' (flip damthings) w thearc
|
||||
, Just $ pt & taTimer -~ 1
|
||||
)
|
||||
| _taTimer pt >= 0 = (w, Just $ pt & taTimer -~ 1)
|
||||
| otherwise = (w, Nothing)
|
||||
where
|
||||
thearc = _taArcSteps pt
|
||||
makeaspark =
|
||||
randSpark
|
||||
ELECTRICAL
|
||||
(state (randomR (3, 6)))
|
||||
(brightX 100 1.5 <$> takeOne [white, azure, blue, cyan])
|
||||
rdir
|
||||
lp
|
||||
makesparks = makeaspark . makeaspark . makeaspark
|
||||
rp x = randPeakedParam 2 (x - 0.7) x (x + 0.7)
|
||||
(lp, rdir)
|
||||
| ArcStep lp' ld' (CrID crid) <- last thearc
|
||||
, Just cr <- w ^? cWorld . lWorld . creatures . ix crid =
|
||||
(lp' -.- (_crRad cr + 1) *.* unitVectorAtAngle ld', rp $ ld' + pi)
|
||||
| ArcStep lp' ld' (WlID wlid) <- last thearc
|
||||
, Just wl <- w ^? cWorld . lWorld . walls . ix wlid =
|
||||
( lp' -.- 2 *.* unitVectorAtAngle ld'
|
||||
, randWallReflect ld' wl
|
||||
)
|
||||
| ArcStep lp' ld' _ <- last thearc = (lp', rp ld')
|
||||
damthings (ArcStep p dir crwl) = damageCrWlID (thedamage p dir) crwl
|
||||
thedamage p dir = Damage ELECTRICAL 50 (p -.- q) p (p +.+ q) NoDamageEffect
|
||||
where
|
||||
q = 5 *.* unitVectorAtAngle dir
|
||||
|
||||
randWallReflect :: RandomGen g => Float -> Wall -> State g Float
|
||||
randWallReflect a wl = do
|
||||
let (x, y) = _wlLine wl
|
||||
outa = reflectAngle a x y
|
||||
a1 = nearestAngleRep outa $ argV (x - y)
|
||||
a2 = if a1 < outa then a1 + pi else a1 - pi
|
||||
randPeaked a1 outa a2
|
||||
--import Shape
|
||||
|
||||
makeTeslaArc :: ItemParams -> Point2 -> Float -> World -> (World, ItemParams)
|
||||
makeTeslaArc ip pos dir w =
|
||||
( w & randGen .~ g
|
||||
& cWorld . lWorld . teslaArcs
|
||||
.:~ TeslaArc
|
||||
--{ _taPoints = map (^. asPos) newarc
|
||||
{ _taArcSteps = newarc
|
||||
, _taTimer = 2
|
||||
, _taColor = brightX 100 1.5 col
|
||||
@@ -78,85 +39,95 @@ makeTeslaArc ip pos dir w =
|
||||
(col, g) = takeOne [white, azure, blue, cyan] & runState $ _randGen w
|
||||
newarc = updateArc ip w pos dir & evalState $ _randGen w
|
||||
|
||||
createNewArc ::
|
||||
ItemParams ->
|
||||
World ->
|
||||
Point2 ->
|
||||
Float ->
|
||||
State StdGen [ArcStep]
|
||||
createNewArc arcparams w p dir =
|
||||
take (_arcNumber arcparams)
|
||||
<$> unfoldrMID (doArcStep (_newArcStep arcparams) arcparams w) (ArcStep p dir NothingID)
|
||||
|
||||
updateArc ::
|
||||
ItemParams ->
|
||||
World ->
|
||||
Point2 ->
|
||||
Float ->
|
||||
State StdGen [ArcStep]
|
||||
updateArc ip w p dir = take (_arcNumber ip) <$> zipArcs ip w (ArcStep p dir NothingID) carc
|
||||
updateArc :: ItemParams -> World -> Point2 -> Float -> State StdGen [ArcStep]
|
||||
updateArc ip w p dir = take 10 <$> zipArcs dir w (ArcStep p dir NothingID) carc
|
||||
where
|
||||
carc = case _currentArc ip of
|
||||
(_ : xs) -> xs
|
||||
[] -> [] -- tail $ _currentArc ip
|
||||
[] -> []
|
||||
|
||||
zipArcs ::
|
||||
ItemParams ->
|
||||
World ->
|
||||
ArcStep ->
|
||||
[ArcStep] ->
|
||||
State StdGen [ArcStep]
|
||||
zipArcs ip w x (y : ys) =
|
||||
(x :) <$> do
|
||||
defaultnext <- doArcStep (_newArcStep ip) ip w x
|
||||
case defaultnext of
|
||||
Nothing -> return []
|
||||
Just z@(ArcStep _ _ (CrID _)) -> return [z]
|
||||
Just z@(ArcStep _ _ (WlID _)) -> return [z]
|
||||
Just z -> do
|
||||
p <- randInCirc 5
|
||||
let csize = _arcSize ip
|
||||
center = _asPos x +.+ csize *.* unitVectorAtAngle (_asDir x)
|
||||
newp = _asPos y +.+ p
|
||||
--newdir = argV $ newp -.- _asPos x
|
||||
newdir = _asDir x
|
||||
if dist newp center < csize
|
||||
then zipArcs ip w (y & asPos .~ newp & asDir .~ newdir) ys
|
||||
else zipArcs ip w z ys
|
||||
zipArcs ip w y _ = createNewArc ip w (_asPos y) (_asDir y)
|
||||
zipArcs :: Float -> World -> ArcStep -> [ArcStep] -> State StdGen [ArcStep]
|
||||
zipArcs d w x ys = (x:) <$> do
|
||||
let mys = uncons ys
|
||||
na <- nextArc d w x (fmap fst mys)
|
||||
case na of
|
||||
Just a -> zipArcs d w a (join $ maybeToList (fmap snd mys))
|
||||
Nothing -> return []
|
||||
|
||||
doArcStep :: NextArcStep -> ItemParams -> World -> ArcStep -> State StdGen (Maybe ArcStep)
|
||||
doArcStep nas = case nas of
|
||||
DefaultArcStep -> defaultArcStep
|
||||
EndArc -> const $ const $ const $ return Nothing
|
||||
nextArc :: Float -> World -> ArcStep -> Maybe ArcStep -> State StdGen (Maybe ArcStep)
|
||||
nextArc _ w lastarc mx
|
||||
| ArcStep p d NothingID <- lastarc = do
|
||||
offset <- randInCirc 5
|
||||
let pdir = 20 * unitVectorAtAngle d
|
||||
(dout,pout) = fromMaybe (d,pdir) $ do
|
||||
p' <- mx ^? _Just . asPos
|
||||
let d' = turnTo 0.5 p p' d
|
||||
return $ (d', vecTurnTo 0.5 p p' pdir)
|
||||
newp = p + pout + offset
|
||||
return $ case thingHit p newp w of
|
||||
Nothing -> Just $ ArcStep newp dout NothingID
|
||||
Just (p', Left cr) -> Just $ ArcStep p' dout (CrID (_crID cr))
|
||||
Just (p', Right wl) -> Just $ ArcStep p' dout (WlID (_wlID wl))
|
||||
| otherwise = return Nothing
|
||||
|
||||
defaultArcStep ::
|
||||
RandomGen g =>
|
||||
ItemParams ->
|
||||
World ->
|
||||
ArcStep ->
|
||||
State g (Maybe ArcStep)
|
||||
defaultArcStep _ _ (ArcStep _ _ (CrID _)) = return Nothing
|
||||
defaultArcStep _ _ (ArcStep _ _ (WlID _)) = return Nothing
|
||||
defaultArcStep itparams w (ArcStep p dir _) = do
|
||||
let csize = _arcSize itparams
|
||||
--rot <- takeOne [pi/4,negate pi/4]
|
||||
rot <- takeOne [0]
|
||||
let center = csize *.* rotateV rot (unitVectorAtAngle dir) +.+ p
|
||||
newp <- (center +.+) <$> randInCirc csize
|
||||
let mcr =
|
||||
listToMaybe
|
||||
. sortOn (dist center . _crPos)
|
||||
. filter (\cr -> dist center (_crPos cr) < csize)
|
||||
. IM.elems
|
||||
$ w ^. cWorld . lWorld . creatures --_creatures (_cWorld w)
|
||||
mwl =
|
||||
listToMaybe
|
||||
. sortOn (dist p . fst)
|
||||
. mapMaybe (\q -> sequence $ collidePointWallsFilter (const True) p (center +.+ q) w)
|
||||
-- collidePointWallsWall and wlsnearpoint
|
||||
$ polyCirc 6 csize
|
||||
f (q, wl) = ArcStep q dir (WlID $ _wlID wl)
|
||||
g cr = ArcStep (_crPos cr +.+ csize *.* unitVectorAtAngle dir) dir (CrID $ _crID cr)
|
||||
return . listToMaybe . sortOn (dist p . (^. asPos)) $
|
||||
ArcStep newp dir NothingID : catMaybes [fmap f mwl, fmap g mcr]
|
||||
--nextArc :: Float -> World -> ArcStep -> Maybe ArcStep -> State StdGen (Maybe ArcStep)
|
||||
--nextArc d w lastarc mx
|
||||
-- | ArcStep p d NothingID <- lastarc = do
|
||||
-- newp' <- ((p + (20 *.* unitVectorAtAngle d)) +) <$> randInCirc 10
|
||||
-- x <- state $ randomR (0,1::Float)
|
||||
-- let newp = fromMaybe newp' $ do
|
||||
-- p' <- mx ^? _Just . asPos
|
||||
-- thit <- mx ^? _Just . asObject
|
||||
-- return $ if x > 0.3 || thit /= NothingID then alongSegBy 20 p p' else newp'
|
||||
-- return $ case thingHit p newp w of
|
||||
-- Nothing -> Just $ ArcStep newp d NothingID
|
||||
-- Just (p', Left cr) -> Just $ ArcStep p' d (CrID (_crID cr))
|
||||
-- Just (p', Right wl) -> Just $ ArcStep p' d (WlID (_wlID wl))
|
||||
-- | otherwise = return Nothing
|
||||
|
||||
--zipArcs' :: World -> ArcStep -> [ArcStep] -> State StdGen [ArcStep]
|
||||
--zipArcs' w x (y : ys) =
|
||||
-- (x :) <$> do
|
||||
-- defaultnext <- defaultArcStep w x
|
||||
-- case defaultnext of
|
||||
-- Nothing -> return []
|
||||
-- Just z@(ArcStep _ _ (CrID _)) -> return [z]
|
||||
-- Just z@(ArcStep _ _ (WlID _)) -> return [z]
|
||||
-- Just z -> do
|
||||
-- p <- randInCirc 5
|
||||
-- let csize = 20
|
||||
-- center = _asPos x +.+ csize *.* unitVectorAtAngle (_asDir x)
|
||||
-- newp = _asPos y +.+ p
|
||||
-- newdir = _asDir x
|
||||
-- if dist newp center < csize
|
||||
-- then zipArcs w (y & asPos .~ newp & asDir .~ newdir) ys
|
||||
-- else zipArcs w z ys
|
||||
--zipArcs' w y _ = createNewArc w (_asPos y) (_asDir y)
|
||||
|
||||
--createNewArc :: World -> Point2 -> Float -> State StdGen [ArcStep]
|
||||
--createNewArc w p dir = take 10 <$> unfoldrMID (defaultArcStep w) (ArcStep p dir NothingID)
|
||||
--
|
||||
--defaultArcStep :: RandomGen g => World -> ArcStep -> State g (Maybe ArcStep)
|
||||
--defaultArcStep w (ArcStep p dir NothingID) = do
|
||||
-- newp <- (center +.+) <$> randInCirc csize
|
||||
-- let mcr =
|
||||
-- listToMaybe
|
||||
-- . sortOn (dist center . _crPos)
|
||||
-- . filter (\cr -> dist center (_crPos cr) < csize)
|
||||
-- . IM.elems
|
||||
-- $ w ^. cWorld . lWorld . creatures --_creatures (_cWorld w)
|
||||
-- mwl =
|
||||
-- listToMaybe
|
||||
-- . sortOn (dist p . fst)
|
||||
-- . mapMaybe (\q -> sequence $ collidePointWallsFilter (const True) p (center +.+ q) w)
|
||||
-- $ polyCirc 6 csize
|
||||
-- f (q, wl) = ArcStep q dir (WlID $ _wlID wl)
|
||||
-- g cr = ArcStep (_crPos cr +.+ csize *.* unitVectorAtAngle dir) dir (CrID $ _crID cr)
|
||||
-- --return . listToMaybe . sortOn (dist p . (^. asPos)) $
|
||||
-- -- ArcStep newp dir NothingID : catMaybes [fmap f mwl, fmap g mcr]
|
||||
-- return $ fmap g mcr <|> (listToMaybe . sortOn (dist p . (^. asPos)) $
|
||||
-- ArcStep newp dir NothingID : catMaybes [fmap f mwl])
|
||||
-- where
|
||||
-- csize = 20
|
||||
-- center = (20 *.* unitVectorAtAngle dir) +.+ p
|
||||
--defaultArcStep _ _ = return Nothing
|
||||
|
||||
@@ -4,7 +4,6 @@ module Dodge.Tesla.Draw (
|
||||
|
||||
import Picture.Base
|
||||
import Dodge.Data.TeslaArc
|
||||
import Dodge.Data.ArcStep
|
||||
import Control.Lens
|
||||
|
||||
drawTeslaArc :: TeslaArc -> Picture
|
||||
|
||||
@@ -26,7 +26,8 @@ import qualified IntMapHelp as IM
|
||||
import qualified Data.Map.Strict as M
|
||||
|
||||
testStringInit :: Universe -> [String]
|
||||
testStringInit u = prettyShort $ M.elems $ u ^. uvWorld . input . pressedKeys
|
||||
testStringInit u = prettyShort
|
||||
$ u ^.. uvWorld . cWorld . lWorld . teslaArcs . ix 0 . taArcSteps . each . asObject
|
||||
--testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles
|
||||
-- (map (show . _ebPos) $ u ^. uvWorld . cWorld . lWorld . energyBalls)
|
||||
-- <>
|
||||
|
||||
+46
-1
@@ -7,6 +7,9 @@ Description : Simulation update
|
||||
-}
|
||||
module Dodge.Update (updateUniverse) where
|
||||
|
||||
import Dodge.Damage
|
||||
import RandomHelp
|
||||
import Dodge.Data.CrWlID
|
||||
import Dodge.ListDisplayParams
|
||||
import Color
|
||||
import Control.Applicative
|
||||
@@ -46,7 +49,6 @@ import Dodge.SmoothScroll
|
||||
import Dodge.SoundLogic
|
||||
import Dodge.Spark
|
||||
import Dodge.Terminal.Type
|
||||
import Dodge.Tesla
|
||||
import Dodge.TmTm
|
||||
import Dodge.TractorBeam.Update
|
||||
import Dodge.Update.Camera
|
||||
@@ -530,6 +532,49 @@ updateBullets w = w' & cWorld . lWorld . bullets <>~ catMaybes ps
|
||||
updateTeslaArcs :: World -> World
|
||||
updateTeslaArcs = updateObjCatMaybes teslaArcs updateTeslaArc
|
||||
|
||||
updateTeslaArc :: World -> TeslaArc -> (World, Maybe TeslaArc)
|
||||
updateTeslaArc w pt
|
||||
| _taTimer pt == 2 =
|
||||
( makesparks $ foldl' (flip damthings) w thearc
|
||||
, Just $ pt & taTimer -~ 1
|
||||
)
|
||||
| _taTimer pt >= 0 = (w, Just $ pt & taTimer -~ 1)
|
||||
| otherwise = (w, Nothing)
|
||||
where
|
||||
thearc = _taArcSteps pt
|
||||
makeaspark =
|
||||
randSpark
|
||||
ELECTRICAL
|
||||
(state (randomR (3, 6)))
|
||||
(brightX 100 1.5 <$> takeOne [white, azure, blue, cyan])
|
||||
rdir
|
||||
lp
|
||||
makesparks = makeaspark . makeaspark . makeaspark
|
||||
rp x = randPeakedParam 2 (x - 0.7) x (x + 0.7)
|
||||
(lp, rdir)
|
||||
| ArcStep lp' ld' (CrID crid) <- last thearc
|
||||
, Just cr <- w ^? cWorld . lWorld . creatures . ix crid =
|
||||
(lp' -.- (_crRad cr + 1) *.* unitVectorAtAngle ld', rp $ ld' + pi)
|
||||
| ArcStep lp' ld' (WlID wlid) <- last thearc
|
||||
, Just wl <- w ^? cWorld . lWorld . walls . ix wlid =
|
||||
( lp' -.- 2 *.* unitVectorAtAngle ld'
|
||||
, randWallReflect ld' wl
|
||||
)
|
||||
| ArcStep lp' ld' _ <- last thearc = (lp', rp ld')
|
||||
damthings (ArcStep p dir crwl) = damageCrWlID (thedamage p dir) crwl
|
||||
thedamage p dir = Damage ELECTRICAL 50 (p -.- q) p (p +.+ q) NoDamageEffect
|
||||
where
|
||||
q = 5 *.* unitVectorAtAngle dir
|
||||
|
||||
randWallReflect :: RandomGen g => Float -> Wall -> State g Float
|
||||
randWallReflect a wl = randPeaked a1 outa a2
|
||||
where
|
||||
(x, y) = _wlLine wl
|
||||
outa = reflectAngle a x y
|
||||
a1 = nearestAngleRep outa $ argV (x - y)
|
||||
a2 = if a1 < outa then a1 + pi else a1 - pi
|
||||
|
||||
|
||||
updateTractorBeams :: World -> World
|
||||
updateTractorBeams = updateObjCatMaybes tractorBeams updateTractorBeam
|
||||
|
||||
|
||||
@@ -137,3 +137,8 @@ randPeakedParam i a b c = do
|
||||
|
||||
randPeaked :: RandomGen g => Float -> Float -> Float -> State g Float
|
||||
randPeaked = randPeakedParam 3
|
||||
|
||||
randFromPair :: RandomGen g => Float -> (a,a) -> State g a
|
||||
randFromPair x (l,r) = do
|
||||
y <- state $ randomR (0,1)
|
||||
if x < y then return l else return r
|
||||
|
||||
@@ -87,7 +87,7 @@ ArcShad src/Picture/Data.hs 38;" C
|
||||
ArcStep src/Dodge/Data/ArcStep.hs 14;" t
|
||||
ArcStep src/Dodge/ArcStep.hs 1;" m
|
||||
ArcStep src/Dodge/Data/ArcStep.hs 6;" m
|
||||
Arcing src/Dodge/Data/Item/Params.hs 19;" C
|
||||
Arcing src/Dodge/Data/Item/Params.hs 17;" C
|
||||
Arithmetic src/Dodge/Base/Arithmetic.hs 1;" m
|
||||
ArmourChase src/Dodge/Creature/ArmourChase.hs 1;" m
|
||||
ArmourySS src/Dodge/Data/Scenario.hs 112;" C
|
||||
@@ -491,7 +491,6 @@ DebugV3 src/Dodge/Data/Universe.hs 57;" C
|
||||
DecorationShape src/Dodge/Data/GenParams.hs 20;" t
|
||||
Default src/Dodge/Default.hs 7;" m
|
||||
Default src/Dodge/Tesla/Arc/Default.hs 1;" m
|
||||
DefaultArcStep src/Dodge/Data/ArcStep.hs 23;" C
|
||||
DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C
|
||||
DefaultDrawButton src/Dodge/Data/Button.hs 17;" C
|
||||
DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C
|
||||
@@ -618,7 +617,6 @@ Electronics src/Dodge/Data/Material.hs 11;" C
|
||||
EllShad src/Picture/Data.hs 39;" C
|
||||
Enable_debug src/Dodge/Data/Config.hs 68;" C
|
||||
EncircleFlock src/Dodge/Data/Creature/State.hs 37;" C
|
||||
EndArc src/Dodge/Data/ArcStep.hs 22;" C
|
||||
EnergyBall src/Dodge/Data/EnergyBall.hs 15;" t
|
||||
EnergyBall src/Dodge/Data/EnergyBall.hs 6;" m
|
||||
EnergyBall src/Dodge/EnergyBall.hs 1;" m
|
||||
@@ -689,7 +687,7 @@ Flank src/Dodge/Data/ActionPlan.hs 177;" C
|
||||
FlareType src/Dodge/Data/Item/Use.hs 132;" t
|
||||
FlashBall src/Dodge/Data/Bullet.hs 32;" C
|
||||
FlatFaces src/Shape/Data.hs 17;" C
|
||||
FlatShieldParams src/Dodge/Data/Item/Params.hs 17;" C
|
||||
FlatShieldParams src/Dodge/Data/Item/Params.hs 15;" C
|
||||
FlechetteTrajectory src/Dodge/Data/Bullet.hs 52;" C
|
||||
FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 59;" C
|
||||
Flee src/Dodge/Data/ActionPlan.hs 191;" C
|
||||
@@ -731,7 +729,7 @@ FractionLoaded src/Dodge/Item/Weapon/FractionLoaded.hs 1;" m
|
||||
FromEdge src/Dodge/Data/Room.hs 47;" C
|
||||
FullRes src/Dodge/Data/Config.hs 97;" C
|
||||
FullShadowFidelity src/Shape/Data.hs 24;" C
|
||||
FullSize src/Dodge/Data/Item/Params.hs 29;" C
|
||||
FullSize src/Dodge/Data/Item/Params.hs 23;" C
|
||||
FullyVisible src/Dodge/Data/CamouflageStatus.hs 12;" C
|
||||
FunctionChangeLink src/Dodge/Data/ComposedItem.hs 30;" C
|
||||
FunctionChangeSF src/Dodge/Data/ComposedItem.hs 61;" C
|
||||
@@ -1256,7 +1254,6 @@ NewInt src/NewInt.hs 15;" t
|
||||
NewInt src/NewInt.hs 7;" m
|
||||
NewIntMap src/NewInt.hs 18;" t
|
||||
NewSideEffect src/Dodge/Data/Universe.hs 63;" C
|
||||
NextArcStep src/Dodge/Data/ArcStep.hs 21;" t
|
||||
Ngon src/Dodge/Room/Ngon.hs 1;" m
|
||||
NoAction src/Dodge/Data/ActionPlan.hs 152;" C
|
||||
NoAmmoParams src/Dodge/Data/Item/Use.hs 118;" C
|
||||
@@ -1289,7 +1286,6 @@ NoMvType src/Dodge/Data/Creature/Misc.hs 38;" C
|
||||
NoNeedWeapon src/Dodge/Room/NoNeedWeapon.hs 2;" m
|
||||
NoObjShads src/Dodge/Data/Config.hs 102;" C
|
||||
NoParams src/Dodge/Data/Item/Params.hs 14;" C
|
||||
NoPreviousArcEffect src/Dodge/Data/Item/Params.hs 32;" C
|
||||
NoResurrection src/Dodge/Data/Corpse.hs 14;" C
|
||||
NoRightButtonOptions src/Dodge/Data/RightButtonOptions.hs 14;" C
|
||||
NoRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C
|
||||
@@ -1440,7 +1436,6 @@ PenetrateBullet src/Dodge/Data/Bullet.hs 38;" C
|
||||
Perception src/Dodge/Data/Creature/Perception.hs 32;" t
|
||||
Perception src/Dodge/Creature/Perception.hs 2;" m
|
||||
Perception src/Dodge/Data/Creature/Perception.hs 6;" m
|
||||
PerturbTillBreakPreviousArc src/Dodge/Data/Item/Params.hs 32;" C
|
||||
PickOnePlacement src/Dodge/Data/GenWorld.hs 85;" C
|
||||
Picture src/Picture/Data.hs 46;" t
|
||||
Picture src/Dodge/Creature/Picture.hs 5;" m
|
||||
@@ -1494,7 +1489,6 @@ PressPlate src/Dodge/PressPlate.hs 1;" m
|
||||
PressPlateEvent src/Dodge/Data/PressPlate.hs 14;" t
|
||||
PressPlateId src/Dodge/Data/PressPlate.hs 15;" C
|
||||
PressType src/Dodge/Data/Input.hs 15;" t
|
||||
PreviousArcEffect src/Dodge/Data/Item/Params.hs 32;" t
|
||||
PrimitiveMode src/Shader/Data.hs 99;" t
|
||||
PrintMaterial src/Dodge/Data/Item/Use/Consumption/Ammo.hs 31;" C
|
||||
Prison src/Dodge/Data/Scenario.hs 65;" C
|
||||
@@ -1788,8 +1782,8 @@ Show_walls_near_point_you src/Dodge/Data/Config.hs 88;" C
|
||||
Show_walls_near_segment src/Dodge/Data/Config.hs 89;" C
|
||||
Show_zone_near_point_cursor src/Dodge/Data/Config.hs 90;" C
|
||||
ShrapnelBomb src/Dodge/Data/Payload.hs 12;" C
|
||||
ShrinkGunStatus src/Dodge/Data/Item/Params.hs 29;" t
|
||||
Shrunk src/Dodge/Data/Item/Params.hs 29;" C
|
||||
ShrinkGunStatus src/Dodge/Data/Item/Params.hs 23;" t
|
||||
Shrunk src/Dodge/Data/Item/Params.hs 23;" C
|
||||
SideCluster src/Dodge/Data/RoomCluster.hs 14;" C
|
||||
SideEffect src/Dodge/Data/Universe.hs 62;" t
|
||||
SimpleTrie src/SimpleTrie.hs 4;" m
|
||||
@@ -1957,7 +1951,7 @@ TerminalType src/Dodge/Data/Terminal.hs 55;" t
|
||||
Terrestrial src/Dodge/Data/Scenario.hs 72;" C
|
||||
TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t
|
||||
Tesla src/Dodge/Tesla.hs 1;" m
|
||||
TeslaArc src/Dodge/Data/TeslaArc.hs 15;" t
|
||||
TeslaArc src/Dodge/Data/TeslaArc.hs 14;" t
|
||||
TeslaArc src/Dodge/Data/TeslaArc.hs 6;" m
|
||||
TeslaBall src/Dodge/Data/Bullet.hs 31;" C
|
||||
TeslaBeamCombine src/Dodge/Data/Beam.hs 41;" C
|
||||
@@ -2250,8 +2244,6 @@ _arMax src/Dodge/Data/Item/Use/Consumption.hs 29;" f
|
||||
_arProgress src/Dodge/Data/Item/Use/Consumption.hs 31;" f
|
||||
_arTime src/Dodge/Data/Item/Use/Consumption.hs 30;" f
|
||||
_arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f
|
||||
_arcNumber src/Dodge/Data/Item/Params.hs 22;" f
|
||||
_arcSize src/Dodge/Data/Item/Params.hs 21;" f
|
||||
_argList src/Dodge/Data/Terminal.hs 94;" f
|
||||
_argType src/Dodge/Data/Terminal.hs 93;" f
|
||||
_asDir src/Dodge/Data/ArcStep.hs 16;" f
|
||||
@@ -2442,7 +2434,7 @@ _csDropsOnDeath src/Dodge/Data/Creature/State.hs 19;" f
|
||||
_csLinks src/Dodge/Data/RoomCluster.hs 11;" f
|
||||
_csName src/Dodge/Data/RoomCluster.hs 10;" f
|
||||
_csSpState src/Dodge/Data/Creature/State.hs 18;" f
|
||||
_currentArc src/Dodge/Data/Item/Params.hs 20;" f
|
||||
_currentArc src/Dodge/Data/Item/Params.hs 18;" f
|
||||
_currentFoot src/Dodge/Data/Creature/Stance.hs 23;" f
|
||||
_cursSides src/Dodge/Data/SelectionList.hs 20;" f
|
||||
_cwGen src/Dodge/Data/CWorld.hs 26;" f
|
||||
@@ -2568,7 +2560,7 @@ _flZ src/Dodge/Data/Flame.hs 20;" f
|
||||
_flames src/Dodge/Data/LWorld.hs 110;" f
|
||||
_flankTarget src/Dodge/Data/ActionPlan.hs 177;" f
|
||||
_flares src/Dodge/Data/LWorld.hs 113;" f
|
||||
_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 18;" f
|
||||
_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 16;" f
|
||||
_floorItems src/Dodge/Data/LWorld.hs 130;" f
|
||||
_floorShader src/Data/Preload/Render.hs 44;" f
|
||||
_floorVBO src/Data/Preload/Render.hs 43;" f
|
||||
@@ -2828,7 +2820,6 @@ _mzFrame src/Dodge/Data/Item/Use.hs 177;" f
|
||||
_mzInaccuracy src/Dodge/Data/Item/Use.hs 172;" f
|
||||
_mzPos src/Dodge/Data/Item/Use.hs 170;" f
|
||||
_mzRot src/Dodge/Data/Item/Use.hs 171;" f
|
||||
_newArcStep src/Dodge/Data/Item/Params.hs 23;" f
|
||||
_nodeMetaTree src/Dodge/Data/MetaTree.hs 14;" f
|
||||
_nodeMetaTree src/Dodge/Tree/Compose/Data.hs 9;" f
|
||||
_nodeTree src/Dodge/Data/MetaTree.hs 13;" f
|
||||
@@ -2928,7 +2919,6 @@ _prVelZ src/Dodge/Data/Prop.hs 27;" f
|
||||
_preloadData src/Dodge/Data/Universe.hs 32;" f
|
||||
_pressPlates src/Dodge/Data/LWorld.hs 134;" f
|
||||
_pressedKeys src/Dodge/Data/Input.hs 47;" f
|
||||
_previousArcEffect src/Dodge/Data/Item/Params.hs 24;" f
|
||||
_projectiles src/Dodge/Data/LWorld.hs 104;" f
|
||||
_props src/Dodge/Data/LWorld.hs 103;" f
|
||||
_proxDist src/Dodge/Data/Machine/Sensor.hs 26;" f
|
||||
@@ -3148,10 +3138,9 @@ _swPush src/Dodge/Data/Shockwave.hs 24;" f
|
||||
_swRad src/Dodge/Data/Shockwave.hs 22;" f
|
||||
_swTimer src/Dodge/Data/Shockwave.hs 26;" f
|
||||
_swarm src/Dodge/Data/Creature/State.hs 48;" f
|
||||
_taArcSteps src/Dodge/Data/TeslaArc.hs 18;" f
|
||||
_taColor src/Dodge/Data/TeslaArc.hs 19;" f
|
||||
_taPoints src/Dodge/Data/TeslaArc.hs 16;" f
|
||||
_taTimer src/Dodge/Data/TeslaArc.hs 17;" f
|
||||
_taArcSteps src/Dodge/Data/TeslaArc.hs 16;" f
|
||||
_taColor src/Dodge/Data/TeslaArc.hs 17;" f
|
||||
_taTimer src/Dodge/Data/TeslaArc.hs 15;" f
|
||||
_targetCr src/Dodge/Data/Creature.hs 77;" f
|
||||
_targetID src/Dodge/Data/ActionPlan.hs 85;" f
|
||||
_targetSeenAt src/Dodge/Data/ActionPlan.hs 86;" f
|
||||
@@ -3797,11 +3786,11 @@ createGas src/Dodge/Gas.hs 8;" f
|
||||
createHeadLamp src/Dodge/Euse.hs 132;" f
|
||||
createItemYou src/Dodge/Inventory/Add.hs 95;" f
|
||||
createLightMap src/Render.hs 26;" f
|
||||
createNewArc src/Dodge/Tesla.hs 81;" f
|
||||
createNewArc src/Dodge/Tesla.hs 110;" f
|
||||
createNewArc src/Dodge/Tesla/Arc.hs 90;" f
|
||||
createPathGrid src/Dodge/Room/Path.hs 21;" f
|
||||
createProjectile src/Dodge/HeldUse.hs 709;" f
|
||||
createProjectileR src/Dodge/HeldUse.hs 674;" f
|
||||
createProjectile src/Dodge/HeldUse.hs 708;" f
|
||||
createProjectileR src/Dodge/HeldUse.hs 673;" f
|
||||
createShell src/Dodge/Projectile/Create.hs 22;" f
|
||||
createShieldWall src/Dodge/Euse.hs 107;" f
|
||||
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
|
||||
@@ -3915,7 +3904,7 @@ defaultAimMvType src/Dodge/Default/Creature.hs 117;" f
|
||||
defaultAimParams src/Dodge/Default/Item/Use/AimParams.hs 9;" f
|
||||
defaultAimingCrit src/Dodge/Default/Creature.hs 126;" f
|
||||
defaultApplyDamage src/Dodge/Creature/Damage.hs 20;" f
|
||||
defaultArcStep src/Dodge/Tesla.hs 133;" f
|
||||
defaultArcStep src/Dodge/Tesla.hs 113;" f
|
||||
defaultArcStep src/Dodge/Tesla/Arc.hs 140;" f
|
||||
defaultArcStep src/Dodge/Tesla/Arc/Default.hs 15;" f
|
||||
defaultAudition src/Dodge/Default/Creature.hs 94;" f
|
||||
@@ -4002,7 +3991,7 @@ detector src/Dodge/Item/Held/Utility.hs 41;" f
|
||||
detectorColor src/Dodge/Item/Draw/SPic.hs 445;" f
|
||||
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
|
||||
detectorInfo src/Dodge/Item/Info.hs 216;" f
|
||||
determineProjectileTracking src/Dodge/HeldUse.hs 657;" f
|
||||
determineProjectileTracking src/Dodge/HeldUse.hs 656;" f
|
||||
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
|
||||
did src/Dodge/Item/InvSize.hs 54;" f
|
||||
diffAngles src/Geometry.hs 204;" f
|
||||
@@ -4034,7 +4023,6 @@ divideLineOddNumPoints src/Geometry.hs 266;" f
|
||||
doAfterPlacement src/Dodge/Layout.hs 86;" f
|
||||
doAfterPlacements src/Dodge/Layout.hs 83;" f
|
||||
doAnyEquipmentEffect src/Dodge/Creature/State.hs 189;" f
|
||||
doArcStep src/Dodge/Tesla.hs 128;" f
|
||||
doArcStep src/Dodge/Tesla/Arc.hs 135;" f
|
||||
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
|
||||
doBlBl src/Dodge/BlBl.hs 5;" f
|
||||
@@ -4243,7 +4231,7 @@ drawSwitchWire src/Dodge/LevelGen/Switch.hs 28;" f
|
||||
drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f
|
||||
drawTerminalDisplay src/Dodge/Render/HUD.hs 363;" f
|
||||
drawTeslaArc src/Dodge/Tesla/Arc/Draw.hs 7;" f
|
||||
drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f
|
||||
drawTeslaArc src/Dodge/Tesla/Draw.hs 10;" f
|
||||
drawText src/Picture/Base.hs 220;" f
|
||||
drawTitle src/Dodge/Render/MenuScreen.hs 55;" f
|
||||
drawTitleBackground src/Dodge/Render/List.hs 44;" f
|
||||
@@ -4263,7 +4251,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
|
||||
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
|
||||
dropByState src/Dodge/Creature/State.hs 130;" f
|
||||
dropExcept src/Dodge/Creature/Action.hs 167;" f
|
||||
dropInventoryPath src/Dodge/HeldUse.hs 787;" f
|
||||
dropInventoryPath src/Dodge/HeldUse.hs 786;" f
|
||||
dropItem src/Dodge/Creature/Action.hs 173;" f
|
||||
dropper src/Dodge/Item/Scope.hs 76;" f
|
||||
drumMag src/Dodge/Item/Ammo.hs 42;" f
|
||||
@@ -4321,7 +4309,7 @@ expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f
|
||||
expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f
|
||||
expireAndDamage src/Dodge/Bullet.hs 178;" f
|
||||
expireAndDamageFL src/Dodge/Flame.hs 47;" f
|
||||
explodeShell src/Dodge/Projectile/Update.hs 244;" f
|
||||
explodeShell src/Dodge/Projectile/Update.hs 245;" f
|
||||
explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 416;" f
|
||||
explosiveBarrel src/Dodge/Creature/Inanimate.hs 29;" f
|
||||
extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
|
||||
@@ -4428,7 +4416,7 @@ fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f
|
||||
fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f
|
||||
g src/ShortShow.hs 33;" f
|
||||
gLauncher src/Dodge/Item/Held/Launcher.hs 30;" f
|
||||
gRandify src/Dodge/Randify.hs 8;" f
|
||||
gRandify src/Dodge/Randify.hs 11;" f
|
||||
gadgetEffect src/Dodge/HeldUse.hs 40;" f
|
||||
gameOverMenu src/Dodge/Menu.hs 184;" f
|
||||
gameRoomFromRoom src/Dodge/Layout.hs 161;" f
|
||||
@@ -4463,7 +4451,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 14;" f
|
||||
getDamageCoding src/Dodge/Terminal.hs 177;" f
|
||||
getDistortions src/Dodge/Render.hs 383;" f
|
||||
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 45;" f
|
||||
getGrenadeHitEffect src/Dodge/HeldUse.hs 702;" f
|
||||
getGrenadeHitEffect src/Dodge/HeldUse.hs 701;" f
|
||||
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
|
||||
getItemValue src/Dodge/Inventory/SelectionList.hs 141;" f
|
||||
getLaserColor src/Dodge/HeldUse.hs 311;" f
|
||||
@@ -4473,7 +4461,7 @@ getLinksOfType src/Dodge/RoomLink.hs 39;" f
|
||||
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
|
||||
getMenuMouseContext src/Dodge/Update.hs 369;" f
|
||||
getNodePos src/Dodge/Path.hs 31;" f
|
||||
getPJStabiliser src/Dodge/HeldUse.hs 694;" f
|
||||
getPJStabiliser src/Dodge/HeldUse.hs 693;" f
|
||||
getPretty src/AesonHelp.hs 8;" f
|
||||
getPromptTM src/Dodge/Terminal/Type.hs 8;" f
|
||||
getRootItemBounds src/Dodge/Render/HUD.hs 94;" f
|
||||
@@ -4780,7 +4768,7 @@ lasSensorTurretTest src/Dodge/Room/LasTurret.hs 106;" f
|
||||
lasTunnel src/Dodge/Room/LasTurret.hs 125;" f
|
||||
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 166;" f
|
||||
lasTurret src/Dodge/Placement/Instance/Turret.hs 38;" f
|
||||
laser src/Dodge/Item/Held/BatteryGuns.hs 48;" f
|
||||
laser src/Dodge/Item/Held/BatteryGuns.hs 45;" f
|
||||
laserLinkTest src/Dodge/Item/Grammar.hs 192;" f
|
||||
lastMap src/Dodge/DoubleTree.hs 174;" f
|
||||
launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f
|
||||
@@ -5588,6 +5576,7 @@ rprBoolShift src/Dodge/PlacementSpot.hs 111;" f
|
||||
rprShift src/Dodge/PlacementSpot.hs 102;" f
|
||||
rsObjectColor src/Dodge/RadarSweep/Draw.hs 34;" f
|
||||
runPastStart src/Dodge/Room/Start.hs 71;" f
|
||||
runStateWorld src/Dodge/Randify.hs 17;" f
|
||||
runTerminalString src/Dodge/Terminal.hs 289;" f
|
||||
sPS src/Dodge/LevelGen/PlacementHelper.hs 27;" f
|
||||
safeAngleVV src/Geometry/Vector.hs 68;" f
|
||||
@@ -5851,7 +5840,7 @@ spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f
|
||||
spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f
|
||||
spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f
|
||||
sparkDam src/Dodge/Spark.hs 32;" f
|
||||
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 15;" f
|
||||
sparkGun src/Dodge/Item/Held/BatteryGuns.hs 14;" f
|
||||
spawnCrNextTo src/Dodge/Item/Weapon/Spawn.hs 20;" f
|
||||
spawnElectricalSparks src/Dodge/PosEvent.hs 20;" f
|
||||
spawnGun src/Dodge/Item/Weapon/Spawn.hs 12;" f
|
||||
@@ -5983,9 +5972,9 @@ terminalSPic src/Dodge/Machine/Draw.hs 29;" f
|
||||
terminalScreenGlow src/Dodge/Machine/Update.hs 34;" f
|
||||
terminalShape src/Dodge/Machine/Draw.hs 32;" f
|
||||
terminalWheelEvent src/Dodge/Update/Scroll.hs 122;" f
|
||||
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 21;" f
|
||||
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 20;" f
|
||||
teslaGunPic src/Dodge/Item/Draw/SPic.hs 402;" f
|
||||
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 37;" f
|
||||
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 36;" f
|
||||
teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
|
||||
testCrossWalls src/Dodge/Room/Path.hs 47;" f
|
||||
testEvent src/Dodge/Event/Test.hs 10;" f
|
||||
@@ -6064,7 +6053,7 @@ torso src/Dodge/Creature/Picture.hs 105;" f
|
||||
tractCr src/Dodge/TractorBeam/Update.hs 28;" f
|
||||
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
|
||||
tractorBeamAt src/Dodge/HeldUse.hs 418;" f
|
||||
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 70;" f
|
||||
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 68;" f
|
||||
tractorGunPic src/Dodge/Item/Draw/SPic.hs 429;" f
|
||||
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
|
||||
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
|
||||
@@ -6169,7 +6158,7 @@ unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f
|
||||
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f
|
||||
upProjectile src/Dodge/Projectile/Update.hs 35;" f
|
||||
updateAllNodes src/TreeHelp.hs 85;" f
|
||||
updateArc src/Dodge/Tesla.hs 91;" f
|
||||
updateArc src/Dodge/Tesla.hs 80;" f
|
||||
updateArc src/Dodge/Tesla/Arc.hs 100;" f
|
||||
updateAttachedItems src/Dodge/Creature/State.hs 265;" f
|
||||
updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 451;" f
|
||||
@@ -6304,7 +6293,7 @@ useC' src/Dodge/Cuse.hs 13;" f
|
||||
useE src/Dodge/Euse.hs 34;" f
|
||||
useGasParams src/Dodge/HeldUse.hs 568;" f
|
||||
useHotkey src/Dodge/Creature/YourControl.hs 65;" f
|
||||
useInventoryPath src/Dodge/HeldUse.hs 812;" f
|
||||
useInventoryPath src/Dodge/HeldUse.hs 811;" f
|
||||
useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f
|
||||
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f
|
||||
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
|
||||
@@ -6313,15 +6302,15 @@ useLocation src/Dodge/Creature/Impulse/UseItem.hs 66;" f
|
||||
useMagShield src/Dodge/Euse.hs 46;" f
|
||||
useNormalCamera src/Dodge/Camera.hs 6;" f
|
||||
usePayload src/Dodge/Payload.hs 18;" f
|
||||
useRewindGun src/Dodge/HeldUse.hs 778;" f
|
||||
useRewindGun src/Dodge/HeldUse.hs 777;" f
|
||||
useRewindGun src/Dodge/Luse.hs 40;" f
|
||||
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
|
||||
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
|
||||
useStopWatch src/Dodge/HeldUse.hs 759;" f
|
||||
useStopWatch src/Dodge/HeldUse.hs 758;" f
|
||||
useStopWatch src/Dodge/Luse.hs 21;" f
|
||||
useTimeCheck src/Dodge/HeldUse.hs 93;" f
|
||||
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
|
||||
useTimeScrollGun src/Dodge/HeldUse.hs 767;" f
|
||||
useTimeScrollGun src/Dodge/HeldUse.hs 766;" f
|
||||
useTimeScrollGun src/Dodge/Luse.hs 29;" f
|
||||
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
|
||||
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
|
||||
@@ -6444,7 +6433,7 @@ zConnect src/Dodge/Render/Connectors.hs 17;" f
|
||||
zConnectCol src/Dodge/Render/Connectors.hs 28;" f
|
||||
zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f
|
||||
zeroZ src/Geometry/Vector.hs 8;" f
|
||||
zipArcs src/Dodge/Tesla.hs 103;" f
|
||||
zipArcs src/Dodge/Tesla.hs 91;" f
|
||||
zipArcs src/Dodge/Tesla/Arc.hs 110;" f
|
||||
zipCount src/Dodge/Tree/Shift.hs 129;" f
|
||||
zipCountDown src/Dodge/Room/Procedural.hs 118;" f
|
||||
|
||||
Reference in New Issue
Block a user