Implement pulse rifle with explodable pulse balls
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -68,7 +68,7 @@ crUpdate f =
|
||||
, checkDeath -- must be in this order 24/7/22
|
||||
, updateWalkCycle
|
||||
, f
|
||||
, invRootItemEffs
|
||||
, invItemEffs
|
||||
]
|
||||
|
||||
-- I have changed the ordering of item/equipment effects, which may have
|
||||
@@ -143,8 +143,8 @@ applyPastDamages cr w
|
||||
& randGen .~ g
|
||||
|
||||
-- a loop going over all root inventory items
|
||||
invRootItemEffs :: Creature -> World -> World
|
||||
invRootItemEffs cr =
|
||||
invItemEffs :: Creature -> World -> World
|
||||
invItemEffs cr =
|
||||
appEndo $
|
||||
foldMap
|
||||
(reduceLocDT (Endo . invItemLocUpdate cr) . LocDT TopDT)
|
||||
@@ -235,7 +235,7 @@ tryDrawToCapacitor loc w = fromMaybe w $ do
|
||||
itm <- loc ^? locDT . dtValue . _1
|
||||
i <- itm ^? itLocation . ilInvID
|
||||
x <- loc ^? locDT . dtValue . _1 . itConsumables . _Just
|
||||
guard $ x < 250
|
||||
guard $ x < 200
|
||||
bat <- loc ^? locDT . dtLeft . ix 0 . dtValue . _1
|
||||
j <- bat ^? itLocation . ilInvID
|
||||
y <- bat ^? itConsumables . _Just
|
||||
|
||||
@@ -18,7 +18,7 @@ data Muzzle = Muzzle
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data AmmoExtractPosition = MagBelow Int | CapacitorBelow Int | CapacitorSelf
|
||||
data AmmoExtractPosition = MagBelow Int | CapacitorBelow | CapacitorSelf
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data FlareType
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Object where
|
||||
|
||||
import Dodge.Data.Wall
|
||||
import Dodge.Data.Creature
|
||||
import Dodge.Data.PulseLaser
|
||||
|
||||
data Object
|
||||
= OPulseBall PulseBall
|
||||
| OCreature Creature
|
||||
| OWall Wall
|
||||
@@ -9,17 +9,18 @@ import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
|
||||
data ObjectType
|
||||
= ObTerminal
|
||||
| ObCreature
|
||||
| ObMachine
|
||||
| ObWall
|
||||
| ObDoor
|
||||
| ObButton
|
||||
| ObForegroundShape
|
||||
| ObLightSource
|
||||
| ObProp
|
||||
| ObTrigger
|
||||
| ObItem
|
||||
= OTTerminal
|
||||
| OTCreature
|
||||
| OTMachine
|
||||
| OTWall
|
||||
| OTDoor
|
||||
| OTButton
|
||||
| OTForegroundShape
|
||||
| OTLightSource
|
||||
| OTProp
|
||||
| OTTrigger
|
||||
| OTItem
|
||||
| OTPulseBall
|
||||
deriving (Eq, Show, Ord, Enum, Bounded, Read) --Generic, Flat)
|
||||
|
||||
deriveJSON defaultOptions ''ObjectType
|
||||
|
||||
+19
-22
@@ -135,11 +135,9 @@ heldEffectMuzzles loc cr w =
|
||||
setusetime . doHeldUseEffect t cr
|
||||
. uncurry (applyCME loc cr)
|
||||
$ bw
|
||||
-- . foldl' (useLoadedAmmo loc cr) (bw)
|
||||
-- $ loadedmuzzles
|
||||
where
|
||||
t = loc ^. locDT
|
||||
((bw,_), loadedmuzzles) = mapAccumR (loadMuzzle loc cr) ((False,w),t) . locMuzzles $ loc
|
||||
bw = foldl' (loadMuzzle loc cr) (False,w) (locMuzzles loc)
|
||||
setusetime =
|
||||
cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itid . itTimeLastUsed
|
||||
.~ w ^. cWorld . lWorld . lClock
|
||||
@@ -153,10 +151,11 @@ locMuzzles loc
|
||||
& ix 0 . mzInaccuracy .~ 0
|
||||
& ix 0 . mzFlareType .~ TeslaGunFlare
|
||||
& ix 0 . mzEffect .~ MuzzlePulseLaser
|
||||
& ix 0 . mzAmmoPerShot .~ UseExactly 250
|
||||
& ix 0 . mzAmmoPerShot .~ UseExactly 200
|
||||
& ix 0 . mzAmmoSlot .~ CapacitorBelow
|
||||
| PulseBallSF <- loc ^. locDT . dtValue . _2 = dbwMuzzles
|
||||
& ix 0 . mzEffect .~ MuzzlePulseBall
|
||||
& ix 0 . mzAmmoPerShot .~ UseExactly 250
|
||||
& ix 0 . mzAmmoPerShot .~ UseExactly 200
|
||||
& ix 0 . mzAmmoSlot .~ CapacitorSelf
|
||||
& ix 0 . mzInaccuracy .~ 0
|
||||
& ix 0 . mzFlareType .~ TeslaGunFlare
|
||||
@@ -642,26 +641,24 @@ heldTorqueAmount = \case
|
||||
BLINKER -> 0
|
||||
BLINKERUNSAFE -> 0
|
||||
|
||||
loadMuzzle :: LocationDT OItem -> Creature -> ((Bool,World),DTree OItem)
|
||||
-> Muzzle -> (((Bool,World),DTree OItem), Maybe (Muzzle, Int, DTree OItem))
|
||||
loadMuzzle loc cr ((b,w),t@(DT _ l _)) mz = fromMaybe (((b,w),t), Nothing) $ do
|
||||
loadMuzzle :: LocationDT OItem -> Creature -> (Bool,World) -> Muzzle -> (Bool,World)
|
||||
loadMuzzle loc cr (b,w) mz = fromMaybe (b,w) $ do
|
||||
let as = _mzAmmoSlot mz
|
||||
amamount = _mzAmmoPerShot mz
|
||||
(i, mag) <- case as of
|
||||
MagBelow mi -> findWithIx (isAmmoIntLink mi . (^. dtValue . _2)) l
|
||||
_ -> undefined
|
||||
availableammo <- mag ^. dtValue . _1 . itConsumables
|
||||
mag <- case as of
|
||||
MagBelow mi -> find (isAmmoIntLink mi . (^. dtValue . _2)) (loc ^. locDT . dtLeft)
|
||||
CapacitorSelf -> loc ^? locDT
|
||||
CapacitorBelow -> find
|
||||
((== PulseBallSF) . (^. dtValue . _2)) (loc ^. locDT . dtLeft)
|
||||
mid <- mag ^? dtValue . _1 . itLocation . ilInvID
|
||||
availableammo <- w ^? cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix mid . itConsumables . _Just
|
||||
let usedammo = case amamount of
|
||||
UseUpTo x -> min x availableammo
|
||||
UseExactly x
|
||||
| x <= availableammo -> x
|
||||
| otherwise -> 0
|
||||
guard $ usedammo > 0
|
||||
let bw = useLoadedAmmo loc cr (b,w) (Just (mz,usedammo,mag))
|
||||
return
|
||||
( (bw,t & dtLeft . ix i . dtValue . _1 . itConsumables . _Just -~ usedammo)
|
||||
, Just (mz, usedammo, mag)
|
||||
)
|
||||
return $ useLoadedAmmo loc cr (b,w) (Just (mz,usedammo,mag))
|
||||
|
||||
makeMuzzleFlare :: Muzzle -> LocationDT OItem -> Creature -> World -> World
|
||||
makeMuzzleFlare mz loc cr = case mz ^. mzFlareType of
|
||||
@@ -796,9 +793,9 @@ itemDetectorEffect itm mitid armitid cr w = fromMaybe w $ do
|
||||
DETECTOR dt <- itm ^? itType
|
||||
return $ aRadarPulse (itm ^. itID) mitid armitid (f dt) cr w
|
||||
where
|
||||
f ITEMDETECTOR = ObItem
|
||||
f CREATUREDETECTOR = ObCreature
|
||||
f WALLDETECTOR = ObWall
|
||||
f ITEMDETECTOR = OTItem
|
||||
f CREATUREDETECTOR = OTCreature
|
||||
f WALLDETECTOR = OTWall
|
||||
|
||||
walkNozzle :: Muzzle -> Item -> Creature -> World -> World
|
||||
walkNozzle mz itm cr w = fromMaybe w $ do
|
||||
@@ -936,8 +933,8 @@ shootPulseBall p dir w =
|
||||
& cWorld . lWorld . pulseBalls . at i ?~
|
||||
PulseBall
|
||||
{ _pbPos = p
|
||||
, _pbVel = 5 * unitVectorAtAngle dir
|
||||
, _pbTimer = 50
|
||||
, _pbVel = 3.5 * unitVectorAtAngle dir
|
||||
, _pbTimer = 100
|
||||
, _pbID = i
|
||||
}
|
||||
& soundStart (PBSound i) p energyReleaseS Nothing
|
||||
|
||||
@@ -48,6 +48,7 @@ itemAboveAttachables (itm,sf) = case (itm ^. itType, sf) of
|
||||
itemBelowAttachables :: CItem -> [ItemSF]
|
||||
itemBelowAttachables (itm,sf) = case (itm ^. itType, sf) of
|
||||
(HELD LASER, _) -> getAmmoLinks itm <> [PulseBallSF]
|
||||
--(HELD LASER, _) -> [PulseBallSF]
|
||||
(HELD TORCH, _) -> getAmmoLinks itm
|
||||
(ATTACH CAPACITOR, _) -> [AmmoMagSF 0 ElectricalAmmo]
|
||||
(ATTACH UNDERBARRELSLOT, _) -> [UnderBarrelPlatformSF]
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
module Dodge.Item.Weapon.LaserPath (
|
||||
reflectLaserAlong,
|
||||
reflectPulseLaserAlong,
|
||||
) where
|
||||
|
||||
import Dodge.Data.Object
|
||||
import Data.Maybe
|
||||
import Data.Bifunctor
|
||||
import Data.Tuple
|
||||
import Dodge.Base.Wall
|
||||
@@ -61,3 +64,29 @@ refract phasev x y wl p
|
||||
| otherwise = asin $ phasev * sin angleInc'
|
||||
reflectInternal = 1 < abs (phasev * sin angleInc')
|
||||
reflectExternal = 1 < abs (sin angleInc / phasev)
|
||||
|
||||
reflectPulseLaserAlong :: Float -> Point2 -> Point2 -> World ->
|
||||
(Maybe (Point2, Object), [Point2])
|
||||
{-# INLINE reflectPulseLaserAlong #-}
|
||||
reflectPulseLaserAlong phasev sp ep w = case listToMaybe . filter (isunshad . snd) $ crWlPbHit sp ep w of
|
||||
Just (p, OWall wl)
|
||||
| _wlReflect wl ->
|
||||
second (p :) $
|
||||
reflectPulseLaserAlong
|
||||
phasev
|
||||
(p +.+ unitVectorAtAngle (reflDirWall sp p wl))
|
||||
(p +.+ dist p ep *.* unitVectorAtAngle (reflDirWall sp p wl))
|
||||
w
|
||||
| wlIsSeeThrough wl ->
|
||||
second (p :) $
|
||||
reflectPulseLaserAlong
|
||||
phasev
|
||||
(p +.+ normalizeV (refract phasev sp ep wl p))
|
||||
(refract phasev sp ep wl p)
|
||||
w
|
||||
| otherwise -> (Just (p, OWall wl), [p])
|
||||
Just (p, obj) -> (Just (p, obj), [p])
|
||||
Nothing -> (Nothing, [ep])
|
||||
where
|
||||
isunshad (OWall wl) = _wlUnshadowed wl
|
||||
isunshad _ = True
|
||||
|
||||
@@ -25,7 +25,7 @@ destroyMcType mt mc = case mt of
|
||||
|
||||
mcKillTerm :: Machine -> World -> World
|
||||
mcKillTerm mc w = fromMaybe w $ do
|
||||
tmid <- mc ^? mcMounts . ix ObTerminal
|
||||
tmid <- mc ^? mcMounts . ix OTTerminal
|
||||
tm <- w ^? cWorld . lWorld . terminals . ix tmid
|
||||
return $
|
||||
w
|
||||
@@ -33,5 +33,5 @@ mcKillTerm mc w = fromMaybe w $ do
|
||||
|
||||
mcKillBut :: Machine -> World -> World
|
||||
mcKillBut mc w = fromMaybe w $ do
|
||||
btid <- mc ^? mcMounts . ix ObButton
|
||||
btid <- mc ^? mcMounts . ix OTButton
|
||||
return $ w & cWorld . lWorld . buttons . at btid .~ Nothing
|
||||
|
||||
@@ -31,7 +31,7 @@ terminalSPic lw = noPic . terminalShape lw
|
||||
|
||||
terminalShape :: LWorld -> Machine -> Shape
|
||||
terminalShape lw mc = fromMaybe mempty $ do
|
||||
tid <- mc ^? mcMounts . ix ObTerminal
|
||||
tid <- mc ^? mcMounts . ix OTTerminal
|
||||
term <- lw ^? terminals . ix tid
|
||||
return $
|
||||
colorSH
|
||||
|
||||
@@ -34,7 +34,7 @@ mcTypeUpdate mc = case mc ^. mcType of
|
||||
|
||||
terminalScreenGlow :: Machine -> World -> World
|
||||
terminalScreenGlow mc w = fromMaybe w $ do
|
||||
tid <- mc ^? mcMounts . ix ObTerminal
|
||||
tid <- mc ^? mcMounts . ix OTTerminal
|
||||
term <- w ^? cWorld . lWorld . terminals . ix tid
|
||||
V4 x y z _ <- termScreenColor term
|
||||
return $
|
||||
@@ -92,7 +92,7 @@ mcUseItem mc = fromMaybe id $ do
|
||||
|
||||
mcSensorTriggerUpdate :: Sensor -> Machine -> World -> World
|
||||
mcSensorTriggerUpdate se mc = fromMaybe id $ do
|
||||
trid <- mc ^? mcMounts . ix ObTrigger
|
||||
trid <- mc ^? mcMounts . ix OTTrigger
|
||||
bval <- mcTriggerVal se
|
||||
return $ cWorld . lWorld . triggers . ix trid ||~ bval
|
||||
|
||||
@@ -172,7 +172,7 @@ senseDamage threshold dt mc =
|
||||
x = sum . map _dmAmount $ filter f (_mcDamage mc)
|
||||
ni = fromIntegral (mc ^?! mcType . _McSensor . sensAmount) / fromIntegral threshold
|
||||
updatels = fromMaybe id $ do
|
||||
lsid <- mc ^? mcMounts . ix ObLightSource
|
||||
lsid <- mc ^? mcMounts . ix OTLightSource
|
||||
return $ cWorld . lWorld . lightSources . ix lsid . lsParam . lsCol .~ V3 ni ni ni
|
||||
|
||||
sensorTypeDamages :: SensorType -> Damage -> Bool
|
||||
|
||||
@@ -18,7 +18,7 @@ analyser proxreq pslight psmc = extTrigLitPos pslight $ \tp ->
|
||||
Just $
|
||||
plSpot .~ psmc $
|
||||
putTerminal (dark magenta)
|
||||
(themachine & mcMounts . at ObTrigger .~ _plMID tp)
|
||||
(themachine & mcMounts . at OTTrigger .~ _plMID tp)
|
||||
tparams -- (linksensortotrigger tp)
|
||||
where
|
||||
tparams = basicTerminal & tmScrollCommands .:~ sensorCommand
|
||||
|
||||
@@ -27,8 +27,8 @@ damageSensor dt wdth mtrid ps = pContID ps (PutLS $ lsPosCol (V3 0 0 30) 0.1) $
|
||||
(reverse $ square wdth)
|
||||
( defaultMachine
|
||||
& mcColor .~ yellow
|
||||
& mcMounts . at ObTrigger .~ mtrid
|
||||
& mcMounts . at ObLightSource ?~ lsid
|
||||
& mcMounts . at OTTrigger .~ mtrid
|
||||
& mcMounts . at OTLightSource ?~ lsid
|
||||
& mcType
|
||||
.~ McSensor
|
||||
( DamageSensor
|
||||
|
||||
@@ -22,7 +22,7 @@ putTerminal col mc tm =
|
||||
pt0
|
||||
( PutMachine
|
||||
(reverse $ square 10)
|
||||
( mc & mcMounts . at ObButton ?~ fromJust (_plMID btpl)
|
||||
( mc & mcMounts . at OTButton ?~ fromJust (_plMID btpl)
|
||||
& mcCloseSound ?~ fridgeHumS
|
||||
)
|
||||
defaultSensorWall
|
||||
@@ -33,7 +33,7 @@ putTerminal col mc tm =
|
||||
w
|
||||
& cWorld . lWorld . terminals . ix tmid . tmButtonID .~ btid
|
||||
& cWorld . lWorld . terminals . ix tmid . tmMachineID .~ mcid
|
||||
& cWorld . lWorld . machines . ix mcid . mcMounts . at ObTerminal ?~ tmid
|
||||
& cWorld . lWorld . machines . ix mcid . mcMounts . at OTTerminal ?~ tmid
|
||||
& cWorld . lWorld . buttons . ix btid . btTermMID ?~ tmid
|
||||
where
|
||||
tmid = fromJust (_plMID tmpl)
|
||||
|
||||
@@ -61,16 +61,16 @@ updateRadarSweep w pt
|
||||
|
||||
findBlips :: ObjectType -> Point2 -> Float -> World -> ([Point2], S.Set (Point2, Point2))
|
||||
findBlips ob = case ob of
|
||||
ObCreature -> crBlips
|
||||
ObItem -> itemBlips
|
||||
ObWall -> wallBlips
|
||||
OTCreature -> crBlips
|
||||
OTItem -> itemBlips
|
||||
OTWall -> wallBlips
|
||||
_ -> undefined
|
||||
|
||||
makeBlip :: ObjectType -> Point2 -> RadarBlip
|
||||
makeBlip ob = case ob of
|
||||
ObCreature -> blipAt 8 (withAlpha 0.2 green) 50
|
||||
ObWall -> blipAt 2 red 50
|
||||
ObItem -> blipAt 6 blue 50
|
||||
OTCreature -> blipAt 8 (withAlpha 0.2 green) 50
|
||||
OTWall -> blipAt 2 red 50
|
||||
OTItem -> blipAt 6 blue 50
|
||||
_ -> undefined
|
||||
|
||||
-- | Radar blip at a point.
|
||||
|
||||
@@ -33,7 +33,7 @@ drawRadarSweep pt
|
||||
|
||||
rsObjectColor :: ObjectType -> Color
|
||||
rsObjectColor ob = case ob of
|
||||
ObWall -> red
|
||||
ObCreature -> green
|
||||
ObItem -> blue
|
||||
OTWall -> red
|
||||
OTCreature -> green
|
||||
OTItem -> blue
|
||||
_ -> yellow
|
||||
|
||||
+15
-5
@@ -7,6 +7,8 @@ Description : Simulation update
|
||||
-}
|
||||
module Dodge.Update (updateUniverse) where
|
||||
|
||||
import Dodge.WorldEvent.Explosion
|
||||
import Dodge.Data.Object
|
||||
import Color
|
||||
import Control.Applicative
|
||||
import Control.Monad
|
||||
@@ -633,14 +635,22 @@ updatePulseLaser pz = case pz ^. pzTimer of
|
||||
5 -> (Endo f, [pz & pzTimer -~ 1])
|
||||
_ -> (Endo g, [pz & pzTimer -~ 1])
|
||||
where
|
||||
f w =
|
||||
damThingHitWith
|
||||
(\p2 -> Lasering (pz ^. pzDamage) p2 (xp - sp))
|
||||
thHit
|
||||
f w = dodam thHit ps
|
||||
w
|
||||
& cWorld . lWorld . flares <>~ drawLaser cyan (sp : ps)
|
||||
where
|
||||
(thHit, ps) = reflectLaserAlong phasev sp xp w
|
||||
(thHit, ps) = reflectPulseLaserAlong phasev sp xp w
|
||||
dodam thit ps = case thit of
|
||||
Just (p, OCreature cr) ->
|
||||
cWorld . lWorld . creatures . ix (_crID cr) . crDamage
|
||||
.:~ Lasering (pz ^. pzDamage) p (xp - sp)
|
||||
Just (p, OWall wl) ->
|
||||
cWorld . lWorld . wallDamages . at (_wlID wl) . non mempty
|
||||
.:~ Lasering (pz ^. pzDamage) p (xp - sp)
|
||||
Just (p, OPulseBall pb) ->
|
||||
(cWorld . lWorld . pulseBalls . ix (_pbID pb) . pbTimer .~ 0)
|
||||
. makeExplosionAt (_pbPos pb) 0
|
||||
_ -> id
|
||||
phasev = _pzPhaseV pz
|
||||
sp = _pzPos pz
|
||||
dir = _pzDir pz
|
||||
|
||||
@@ -11,8 +11,10 @@ module Dodge.WorldEvent.ThingsHit (
|
||||
crsHitRadial,
|
||||
wlsHitRadial,
|
||||
crHit,
|
||||
crWlPbHit,
|
||||
) where
|
||||
|
||||
import Dodge.Data.Object
|
||||
import Dodge.Creature.Radius
|
||||
import Control.Monad
|
||||
import Control.Lens
|
||||
@@ -26,6 +28,7 @@ import Dodge.Zoning.Creature
|
||||
import Dodge.Zoning.Wall
|
||||
import Geometry
|
||||
import qualified ListHelp as List
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
|
||||
{- List those objects that appear on a line. -}
|
||||
thingsHit :: Point2 -> Point2 -> World -> [(Point2, Either Creature Wall)]
|
||||
@@ -35,6 +38,16 @@ thingsHit sp ep w =
|
||||
(map (second Left) (crsHit sp ep w))
|
||||
(map (second Right) (wlsHit sp ep w))
|
||||
|
||||
crWlPbHit :: Point2 -> Point2 -> World -> [(Point2, Object)]
|
||||
crWlPbHit sp ep w =
|
||||
List.mergeOn
|
||||
(dist sp . fst)
|
||||
(map (fmap toobj) (thingsHit sp ep w))
|
||||
(map (fmap OPulseBall) (pbsHit sp ep w))
|
||||
where
|
||||
toobj (Left cr) = OCreature cr
|
||||
toobj (Right wl) = OWall wl
|
||||
|
||||
crsHit :: Point2 -> Point2 -> World -> [(Point2, Creature)]
|
||||
crsHit sp ep w
|
||||
| sp == ep = mempty
|
||||
@@ -46,6 +59,15 @@ crsHit sp ep w
|
||||
. crixsNearSeg sp ep
|
||||
$ w
|
||||
|
||||
pbsHit :: Point2 -> Point2 -> World -> [(Point2, PulseBall)]
|
||||
pbsHit sp ep w
|
||||
| sp == ep = mempty
|
||||
| otherwise =
|
||||
sortOn (dist sp . fst)
|
||||
. mapMaybe (\pb -> (,pb) <$> listToMaybe (intersectCircSeg (_pbPos pb) 8 sp ep))
|
||||
. IM.elems
|
||||
$ w ^. cWorld . lWorld . pulseBalls
|
||||
|
||||
thingHitFilt ::
|
||||
(Creature -> Bool) ->
|
||||
(Wall -> Bool) ->
|
||||
|
||||
@@ -439,7 +439,7 @@ DRUMMAG src/Dodge/Data/Item/Combine.hs 108;" C
|
||||
DS src/DoubleStack.hs 3;" t
|
||||
DT src/Dodge/Data/DoubleTree.hs 31;" C
|
||||
DTBottomNode src/Dodge/Data/DoubleTree.hs 21;" C
|
||||
DTComb src/Dodge/Item/Grammar.hs 152;" t
|
||||
DTComb src/Dodge/Item/Grammar.hs 153;" t
|
||||
DTMidAboveNode src/Dodge/Data/DoubleTree.hs 19;" C
|
||||
DTMidBelowNode src/Dodge/Data/DoubleTree.hs 20;" C
|
||||
DTRootNode src/Dodge/Data/DoubleTree.hs 17;" C
|
||||
@@ -1333,19 +1333,25 @@ NumShadowCasters6 src/Dodge/Data/Config.hs 21;" C
|
||||
NumShadowCasters7 src/Dodge/Data/Config.hs 22;" C
|
||||
NumShadowCasters8 src/Dodge/Data/Config.hs 23;" C
|
||||
NumShadowCasters9 src/Dodge/Data/Config.hs 24;" C
|
||||
OCreature src/Dodge/Data/Object.hs 10;" C
|
||||
OItem src/Dodge/Data/ComposedItem.hs 47;" t
|
||||
OPulseBall src/Dodge/Data/Object.hs 9;" C
|
||||
ORANGE src/Color/Data.hs 26;" C
|
||||
ObButton src/Dodge/Data/ObjectType.hs 17;" C
|
||||
ObCreature src/Dodge/Data/ObjectType.hs 13;" C
|
||||
ObDoor src/Dodge/Data/ObjectType.hs 16;" C
|
||||
ObForegroundShape src/Dodge/Data/ObjectType.hs 18;" C
|
||||
ObItem src/Dodge/Data/ObjectType.hs 22;" C
|
||||
ObLightSource src/Dodge/Data/ObjectType.hs 19;" C
|
||||
ObMachine src/Dodge/Data/ObjectType.hs 14;" C
|
||||
ObProp src/Dodge/Data/ObjectType.hs 20;" C
|
||||
ObTerminal src/Dodge/Data/ObjectType.hs 12;" C
|
||||
ObTrigger src/Dodge/Data/ObjectType.hs 21;" C
|
||||
ObWall src/Dodge/Data/ObjectType.hs 15;" C
|
||||
OTButton src/Dodge/Data/ObjectType.hs 17;" C
|
||||
OTCreature src/Dodge/Data/ObjectType.hs 13;" C
|
||||
OTDoor src/Dodge/Data/ObjectType.hs 16;" C
|
||||
OTForegroundShape src/Dodge/Data/ObjectType.hs 18;" C
|
||||
OTItem src/Dodge/Data/ObjectType.hs 22;" C
|
||||
OTLightSource src/Dodge/Data/ObjectType.hs 19;" C
|
||||
OTMachine src/Dodge/Data/ObjectType.hs 14;" C
|
||||
OTProp src/Dodge/Data/ObjectType.hs 20;" C
|
||||
OTPulseBall src/Dodge/Data/ObjectType.hs 23;" C
|
||||
OTTerminal src/Dodge/Data/ObjectType.hs 12;" C
|
||||
OTTrigger src/Dodge/Data/ObjectType.hs 21;" C
|
||||
OTWall src/Dodge/Data/ObjectType.hs 15;" C
|
||||
OWall src/Dodge/Data/Object.hs 11;" C
|
||||
Object src/Dodge/Data/Object.hs 8;" t
|
||||
Object src/Dodge/Data/Object.hs 4;" m
|
||||
ObjectType src/Dodge/Data/ObjectType.hs 11;" t
|
||||
ObjectType src/Dodge/Data/ObjectType.hs 6;" m
|
||||
OnBack src/Dodge/Data/Equipment/Misc.hs 24;" C
|
||||
@@ -3473,7 +3479,7 @@ barrel src/Dodge/Creature/Inanimate.hs 17;" f
|
||||
barrelShape src/Dodge/Render/ShapePicture.hs 55;" f
|
||||
baseAMRShape src/Dodge/Item/Draw/SPic.hs 418;" f
|
||||
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
|
||||
baseCI src/Dodge/Item/Grammar.hs 149;" f
|
||||
baseCI src/Dodge/Item/Grammar.hs 150;" f
|
||||
baseCaneShape src/Dodge/Item/Draw/SPic.hs 335;" f
|
||||
baseDebris src/Dodge/Block/Debris.hs 122;" f
|
||||
baseFloorTileSize src/Tile.hs 45;" f
|
||||
@@ -3752,7 +3758,7 @@ crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 38;" f
|
||||
crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 52;" f
|
||||
crHasTarget src/Dodge/Creature/Test.hs 64;" f
|
||||
crHasTargetLOS src/Dodge/Creature/Test.hs 67;" f
|
||||
crHit src/Dodge/WorldEvent/ThingsHit.hs 64;" f
|
||||
crHit src/Dodge/WorldEvent/ThingsHit.hs 83;" f
|
||||
crIXsNearCirc src/Dodge/Zoning/Creature.hs 32;" f
|
||||
crIXsNearPoint src/Dodge/Zoning/Creature.hs 14;" f
|
||||
crInAimStance src/Dodge/Creature/Test.hs 93;" f
|
||||
@@ -3781,6 +3787,7 @@ crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
|
||||
crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f
|
||||
crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f
|
||||
crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f
|
||||
crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 40;" f
|
||||
crZoneSize src/Dodge/Zoning/Creature.hs 41;" f
|
||||
craftInfo src/Dodge/Item/Info.hs 168;" f
|
||||
craftItemSPic src/Dodge/Item/Draw/SPic.hs 55;" f
|
||||
@@ -3812,8 +3819,8 @@ crixsNearSeg src/Dodge/Zoning/Creature.hs 29;" f
|
||||
crossPic src/Dodge/Render/Label.hs 27;" f
|
||||
crossProd src/Geometry/Vector3D.hs 41;" f
|
||||
crossV src/Geometry/Vector.hs 178;" f
|
||||
crsHit src/Dodge/WorldEvent/ThingsHit.hs 38;" f
|
||||
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 99;" f
|
||||
crsHit src/Dodge/WorldEvent/ThingsHit.hs 48;" f
|
||||
crsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 118;" f
|
||||
crsItmsUnused src/Dodge/Room/Containing.hs 45;" f
|
||||
crsNearCirc src/Dodge/Zoning/Creature.hs 35;" f
|
||||
crsNearPoint src/Dodge/Zoning/Creature.hs 17;" f
|
||||
@@ -4337,8 +4344,8 @@ extTrigLitPos src/Dodge/Placement/Instance/Button.hs 84;" f
|
||||
extendAway src/Dodge/Placement/Instance/LightSource.hs 200;" f
|
||||
extendConeToScreenEdge src/Dodge/Debug/Picture.hs 82;" f
|
||||
extraPics src/Dodge/Render/ShapePicture.hs 82;" f
|
||||
extraWeaponLinks src/Dodge/Item/Grammar.hs 85;" f
|
||||
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 94;" f
|
||||
extraWeaponLinks src/Dodge/Item/Grammar.hs 86;" f
|
||||
extraWeaponLinksBelow src/Dodge/Item/Grammar.hs 95;" f
|
||||
extractRoomPos src/Dodge/RoomPos.hs 6;" f
|
||||
faceEdges src/Polyhedra.hs 65;" f
|
||||
facesToVF src/Polyhedra/Geodesic.hs 69;" f
|
||||
@@ -4457,11 +4464,11 @@ geometryTests test/Spec.hs 17;" f
|
||||
geometryUnitTests test/Spec.hs 22;" f
|
||||
geqConstr src/SameConstr.hs 21;" f
|
||||
getAimZoom src/Dodge/Update/Camera.hs 135;" f
|
||||
getAmmoLinks src/Dodge/Item/Grammar.hs 99;" f
|
||||
getAmmoLinks src/Dodge/Item/Grammar.hs 100;" f
|
||||
getArguments src/Dodge/Update/Scroll.hs 178;" f
|
||||
getArguments' src/Dodge/Update/Scroll.hs 166;" f
|
||||
getAttachedSFLink src/Dodge/HeldUse.hs 779;" f
|
||||
getAutoSpringLinks src/Dodge/Item/Grammar.hs 80;" f
|
||||
getAutoSpringLinks src/Dodge/Item/Grammar.hs 81;" f
|
||||
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
|
||||
getBulHitDams src/Dodge/Bullet.hs 171;" f
|
||||
getBulletType src/Dodge/HeldUse.hs 956;" f
|
||||
@@ -4676,18 +4683,18 @@ interweave src/Justify.hs 17;" f
|
||||
introScan src/Dodge/Item/Scope.hs 57;" f
|
||||
introScanValue src/Dodge/Inventory/SelectionList.hs 80;" f
|
||||
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
|
||||
invAdj src/Dodge/Item/Grammar.hs 218;" f
|
||||
invAdj src/Dodge/Item/Grammar.hs 219;" f
|
||||
invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
|
||||
invDP src/Dodge/ListDisplayParams.hs 30;" f
|
||||
invDT src/Dodge/Item/Grammar.hs 195;" f
|
||||
invDT' src/Dodge/Item/Grammar.hs 200;" f
|
||||
invDT src/Dodge/Item/Grammar.hs 196;" f
|
||||
invDT' src/Dodge/Item/Grammar.hs 201;" f
|
||||
invDimColor src/Dodge/DisplayInventory.hs 192;" f
|
||||
invHead src/Dodge/Render/HUD.hs 404;" f
|
||||
invIMDT src/Dodge/Item/Grammar.hs 228;" f
|
||||
invIndents src/Dodge/Item/Grammar.hs 235;" f
|
||||
invIMDT src/Dodge/Item/Grammar.hs 229;" f
|
||||
invIndents src/Dodge/Item/Grammar.hs 236;" f
|
||||
invItemEffs src/Dodge/Creature/State.hs 146;" f
|
||||
invItemLocUpdate src/Dodge/Creature/State.hs 153;" f
|
||||
invRootItemEffs src/Dodge/Creature/State.hs 146;" f
|
||||
invRootMap src/Dodge/Item/Grammar.hs 207;" f
|
||||
invRootMap src/Dodge/Item/Grammar.hs 208;" f
|
||||
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
|
||||
invSetSelection src/Dodge/Inventory.hs 185;" f
|
||||
invSetSelectionPos src/Dodge/Inventory.hs 193;" f
|
||||
@@ -4768,7 +4775,7 @@ itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 121;" f
|
||||
itemScrollValue src/Dodge/Inventory/SelectionList.hs 148;" f
|
||||
itemSidePush src/Dodge/HeldUse.hs 396;" f
|
||||
itemString src/Dodge/Item/Display.hs 56;" f
|
||||
itemToFunction src/Dodge/Item/Grammar.hs 102;" f
|
||||
itemToFunction src/Dodge/Item/Grammar.hs 103;" f
|
||||
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f
|
||||
itemTriggerType src/Dodge/BaseTriggerType.hs 16;" f
|
||||
itemWeight src/Dodge/Creature/Statistics.hs 66;" f
|
||||
@@ -4780,7 +4787,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
|
||||
itmUsageInfo src/Dodge/Item/Info.hs 230;" f
|
||||
jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
|
||||
jaggedShape src/Dodge/Block/Debris.hs 191;" f
|
||||
joinItemsInList src/Dodge/Item/Grammar.hs 185;" f
|
||||
joinItemsInList src/Dodge/Item/Grammar.hs 186;" f
|
||||
joystick src/Dodge/Item/Scope.hs 149;" f
|
||||
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
|
||||
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f
|
||||
@@ -4831,10 +4838,10 @@ ldtToIM src/Dodge/DoubleTree.hs 218;" f
|
||||
ldtToIndentList src/Dodge/DoubleTree.hs 221;" f
|
||||
ldtToLoc src/Dodge/DoubleTree.hs 267;" f
|
||||
left src/DoubleStack.hs 16;" f
|
||||
leftChildList src/Dodge/Item/Grammar.hs 164;" f
|
||||
leftIsParentCombine src/Dodge/Item/Grammar.hs 154;" f
|
||||
leftChildList src/Dodge/Item/Grammar.hs 165;" f
|
||||
leftIsParentCombine src/Dodge/Item/Grammar.hs 155;" f
|
||||
leftPad src/Padding.hs 15;" f
|
||||
leftRightCombine src/Dodge/Item/Grammar.hs 176;" f
|
||||
leftRightCombine src/Dodge/Item/Grammar.hs 177;" f
|
||||
legsSPic src/Dodge/Item/Draw/SPic.hs 480;" f
|
||||
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
|
||||
light src/Color.hs 104;" f
|
||||
@@ -4886,7 +4893,7 @@ locGoLeft src/Dodge/DoubleTree.hs 318;" f
|
||||
locGoRight src/Dodge/DoubleTree.hs 323;" f
|
||||
locLDTToLocDT src/Dodge/DoubleTree.hs 19;" f
|
||||
locLeftmost src/Dodge/DoubleTree.hs 305;" f
|
||||
locMuzzles src/Dodge/HeldUse.hs 147;" f
|
||||
locMuzzles src/Dodge/HeldUse.hs 146;" f
|
||||
locOrient src/Dodge/Item/HeldOffset.hs 56;" f
|
||||
locRightmost src/Dodge/DoubleTree.hs 308;" f
|
||||
locToTop src/Dodge/DoubleTree.hs 300;" f
|
||||
@@ -5231,6 +5238,7 @@ pauseMenuOptions src/Dodge/Menu.hs 61;" f
|
||||
pauseSound src/Dodge/SoundLogic.hs 42;" f
|
||||
pauseTime src/Dodge/Update.hs 190;" f
|
||||
pbFlicker src/Dodge/Update.hs 481;" f
|
||||
pbsHit src/Dodge/WorldEvent/ThingsHit.hs 59;" f
|
||||
peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f
|
||||
pedestalRoom src/Dodge/Room/Containing.hs 50;" f
|
||||
penThing src/Dodge/Bullet.hs 209;" f
|
||||
@@ -5525,8 +5533,9 @@ reflVelWallDamp src/Dodge/Base/Wall.hs 20;" f
|
||||
reflectAngle src/Geometry.hs 141;" f
|
||||
reflectIn src/Geometry.hs 136;" f
|
||||
reflectInParam src/Geometry.hs 229;" f
|
||||
reflectLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 13;" f
|
||||
refract src/Dodge/Item/Weapon/LaserPath.hs 40;" f
|
||||
reflectLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 14;" f
|
||||
reflectPulseLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 66;" f
|
||||
refract src/Dodge/Item/Weapon/LaserPath.hs 41;" f
|
||||
refreshOptionsSelectionList src/Dodge/Menu/Option.hs 38;" f
|
||||
regexCombs src/Dodge/DisplayInventory.hs 71;" f
|
||||
regexList src/Dodge/DisplayInventory.hs 314;" f
|
||||
@@ -5582,8 +5591,8 @@ rezText' src/Dodge/Story.hs 17;" f
|
||||
rhombus src/Polyhedra.hs 72;" f
|
||||
rifle src/Dodge/Item/Held/Cane.hs 19;" f
|
||||
right src/DoubleStack.hs 16;" f
|
||||
rightChildList src/Dodge/Item/Grammar.hs 170;" f
|
||||
rightIsParentCombine src/Dodge/Item/Grammar.hs 159;" f
|
||||
rightChildList src/Dodge/Item/Grammar.hs 171;" f
|
||||
rightIsParentCombine src/Dodge/Item/Grammar.hs 160;" f
|
||||
rightPad src/Padding.hs 19;" f
|
||||
rightPadNoSquash src/Padding.hs 23;" f
|
||||
rlPosDir src/Dodge/RoomLink.hs 94;" f
|
||||
@@ -6069,10 +6078,10 @@ thickCircle src/Picture/Base.hs 272;" f
|
||||
thickLine src/Picture/Base.hs 244;" f
|
||||
thickLineCol src/Picture/Base.hs 255;" f
|
||||
thinHighBar src/Dodge/Room/Foreground.hs 77;" f
|
||||
thingHit src/Dodge/WorldEvent/ThingsHit.hs 61;" f
|
||||
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 49;" f
|
||||
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 31;" f
|
||||
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 70;" f
|
||||
thingHit src/Dodge/WorldEvent/ThingsHit.hs 80;" f
|
||||
thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 68;" f
|
||||
thingsHit src/Dodge/WorldEvent/ThingsHit.hs 33;" f
|
||||
thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 89;" f
|
||||
threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f
|
||||
throwItem src/Dodge/Creature/Action.hs 205;" f
|
||||
tileTexCoords src/Tile.hs 11;" f
|
||||
@@ -6175,7 +6184,7 @@ treeMaxDepthFromTrunk src/Dodge/Layout/Generate.hs 21;" f
|
||||
treePath src/Dodge/Tree/GenerateStructure.hs 13;" f
|
||||
treePaths src/TreeHelp.hs 138;" f
|
||||
treePost src/TreeHelp.hs 45;" f
|
||||
treeToPotentialFunction src/Dodge/Item/Grammar.hs 136;" f
|
||||
treeToPotentialFunction src/Dodge/Item/Grammar.hs 137;" f
|
||||
triLootRoom src/Dodge/Room/Treasure.hs 22;" f
|
||||
triggerDoorRoom src/Dodge/Room/Door.hs 30;" f
|
||||
triggerSwitch src/Dodge/Placement/Instance/Button.hs 47;" f
|
||||
@@ -6485,8 +6494,8 @@ wlOpaqueDraw src/Dodge/Render/Walls.hs 45;" f
|
||||
wlSeeThroughDraw src/Dodge/Render/Walls.hs 48;" f
|
||||
wlZoneSize src/Dodge/Zoning/Wall.hs 52;" f
|
||||
wlsFromIXs src/Dodge/Zoning/Wall.hs 35;" f
|
||||
wlsHit src/Dodge/WorldEvent/ThingsHit.hs 84;" f
|
||||
wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 92;" f
|
||||
wlsHit src/Dodge/WorldEvent/ThingsHit.hs 103;" f
|
||||
wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 111;" f
|
||||
wlsNearCirc src/Dodge/Zoning/Wall.hs 49;" f
|
||||
wlsNearPoint src/Dodge/Zoning/Wall.hs 39;" f
|
||||
wlsNearRect src/Dodge/Zoning/Wall.hs 46;" f
|
||||
|
||||
Reference in New Issue
Block a user