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