Tweak creature update
This commit is contained in:
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
@@ -40,7 +40,7 @@ updateExpBarrel ps cr w
|
||||
|
||||
updateBarrel :: Creature -> World -> World
|
||||
updateBarrel cr
|
||||
| _crHP cr > 0 = doDamage cr
|
||||
| _crHP cr > 0 = doDamage (cr ^. crID)
|
||||
| otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing
|
||||
|
||||
damsToExpBarrel :: [Damage] -> Creature -> Creature
|
||||
|
||||
+11
-93
@@ -1,6 +1,7 @@
|
||||
module Dodge.Creature.State (
|
||||
crUpdate,
|
||||
-- crUpdate,
|
||||
doDamage,
|
||||
invItemEffs,
|
||||
) where
|
||||
|
||||
import Control.Applicative
|
||||
@@ -10,15 +11,10 @@ import Data.Maybe
|
||||
import Data.Monoid
|
||||
import Dodge.Base
|
||||
import Dodge.BaseTriggerType
|
||||
import Dodge.Corpse.Make
|
||||
import Dodge.Creature.Action
|
||||
import Dodge.Creature.Damage
|
||||
import Dodge.Creature.Impulse.Movement
|
||||
import Dodge.Creature.State.WalkCycle
|
||||
import Dodge.Creature.Test
|
||||
import Dodge.Damage
|
||||
import Dodge.Data.ComposedItem
|
||||
import Dodge.Data.Damage.Type
|
||||
import Dodge.Data.DoubleTree
|
||||
--import Dodge.Data.DoubleTree
|
||||
import Dodge.Data.World
|
||||
@@ -31,100 +27,21 @@ import Dodge.Item.Grammar
|
||||
import Dodge.Item.HeldOffset
|
||||
import Dodge.Item.Location
|
||||
import Dodge.Item.MaxAmmo
|
||||
import Dodge.Prop.Gib
|
||||
import Dodge.SoundLogic
|
||||
import Dodge.Targeting.Draw
|
||||
import Dodge.Zoning.Creature
|
||||
import FoldableHelp
|
||||
import Geometry
|
||||
import qualified IntMapHelp as IM
|
||||
import LensHelp
|
||||
import Picture
|
||||
import qualified Quaternion as Q
|
||||
import RandomHelp
|
||||
import qualified SDL
|
||||
import Shape
|
||||
import ShapePicture
|
||||
|
||||
-- this can almost certainly be made more efficient
|
||||
foldCr :: [Creature -> World -> World] -> Creature -> World -> World
|
||||
foldCr xs cr w = foldl' f w xs
|
||||
where
|
||||
f w' g = case w' ^? cWorld . lWorld . creatures . ix (_crID cr) of
|
||||
Just cr' -> g cr' w'
|
||||
Nothing -> w'
|
||||
|
||||
{- | this seems to work, but I am not sure about the ordering:
|
||||
previously, the movement was updated before the ai in order to correctly set the oldpos.
|
||||
This should be made more sensible: should the movement side effects apply to
|
||||
the creature before or after it has moved?
|
||||
at what point invSideEffects is applied wrt to when the creature moves
|
||||
may affect whether the shield moves correctly
|
||||
-}
|
||||
crUpdate :: (Creature -> World -> World) -> Creature -> World -> World
|
||||
crUpdate f =
|
||||
foldCr
|
||||
[ doDamage -- these two
|
||||
, checkDeath -- must be in this order 24/7/22
|
||||
, updateWalkCycle
|
||||
, f
|
||||
, invItemEffs
|
||||
]
|
||||
|
||||
-- I have changed the ordering of item/equipment effects, which may have
|
||||
-- unforseen consequences, be aware
|
||||
|
||||
checkDeath :: Creature -> World -> World
|
||||
checkDeath cr w
|
||||
| _crHP cr > 0 =
|
||||
w
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crDamage .~ []
|
||||
| _crHP cr <= -200 =
|
||||
w
|
||||
& dropAll cr -- the order of
|
||||
& removecr -- these is important
|
||||
& stopSoundFrom (CrWeaponSound (_crID cr) 0)
|
||||
& addCrGibs cr
|
||||
| _crHP cr > -200 && _crDeathTimer cr < 5 =
|
||||
w
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crDamage .~ []
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crDeathTimer +~ 1
|
||||
| otherwise =
|
||||
w
|
||||
& dropAll cr -- the order of
|
||||
& removecr -- these is important
|
||||
& stopSoundFrom (CrWeaponSound (_crID cr) 0)
|
||||
& corpseOrGib cr
|
||||
where
|
||||
removecr
|
||||
| _crID cr == 0 = id
|
||||
-- cWorld . lWorld . creatures . ix (_crID cr) . crHP .~ 0
|
||||
-- hack to get around player creature being killed but left with more than 0 hp
|
||||
| otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing
|
||||
|
||||
-- could look at the amount of damage here (given by maxDamage) too
|
||||
corpseOrGib :: Creature -> World -> World
|
||||
corpseOrGib cr = case cr ^? crDamage . to maxDamageType . _Just . _1 of
|
||||
Just CookingDamage -> addcorpse (thecorpse & cpSPic %~ scorchSPic)
|
||||
Just PoisonDamage -> addcorpse (thecorpse & cpSPic %~ poisonSPic)
|
||||
Just PhysicalDamage | _crPain cr > 200 -> addCrGibs cr
|
||||
_ -> addcorpse thecorpse
|
||||
where
|
||||
addcorpse ctype = plNew (cWorld . lWorld . corpses) cpID ctype
|
||||
thecorpse = makeCorpse cr
|
||||
|
||||
scorchSPic :: SPic -> SPic
|
||||
scorchSPic = _1 %~ overColSH (mixColors 0.9 0.1 black . normalizeColor)
|
||||
|
||||
poisonSPic :: SPic -> SPic
|
||||
poisonSPic = _1 %~ overColSH (mixColors 0.5 0.5 green . normalizeColor)
|
||||
|
||||
-- reverse keys, otherwise two or more inv items will cause errors
|
||||
dropAll :: Creature -> World -> World
|
||||
dropAll cr w = foldl' (flip (dropItem cr)) w . reverse . IM.keys $ _crInv cr
|
||||
|
||||
doDamage :: Creature -> World -> World
|
||||
doDamage cr = applyPastDamages cr . applyCreatureDamage (cr ^. crDamage) cr
|
||||
doDamage :: Int -> World -> World
|
||||
doDamage cid w = fromMaybe w $ do
|
||||
cr <- w ^? cWorld . lWorld . creatures . ix cid
|
||||
return $ applyPastDamages cr $ applyCreatureDamage (cr ^. crDamage) cr w
|
||||
|
||||
-- TODO generalise shake to arbitrary damage amounts
|
||||
applyPastDamages :: Creature -> World -> World
|
||||
@@ -141,12 +58,13 @@ applyPastDamages cr w
|
||||
& randGen .~ g
|
||||
|
||||
-- a loop going over all root inventory items
|
||||
invItemEffs :: Creature -> World -> World
|
||||
invItemEffs cr =
|
||||
appEndo $
|
||||
invItemEffs :: Int -> World -> World
|
||||
invItemEffs cid w = fromMaybe w $ do
|
||||
cr <- w ^? cWorld . lWorld . creatures . ix cid
|
||||
return . appEndo (
|
||||
foldMap
|
||||
(reduceLocDT (Endo . invItemLocUpdate cr) . LocDT TopDT)
|
||||
(invDT' (_crInv cr))
|
||||
(invDT' (_crInv cr))) $ w
|
||||
|
||||
invItemLocUpdate :: Creature -> LocationDT OItem -> World -> World
|
||||
invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
|
||||
|
||||
@@ -1,37 +1,35 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
|
||||
module Dodge.Creature.State.WalkCycle (
|
||||
updateWalkCycle,
|
||||
) where
|
||||
module Dodge.Creature.State.WalkCycle (updateWalkCycle) where
|
||||
|
||||
import Control.Lens
|
||||
import Dodge.Data.World
|
||||
import Dodge.SoundLogic
|
||||
import Sound.Data
|
||||
|
||||
updateWalkCycle :: Creature -> World -> World
|
||||
updateWalkCycle cr =
|
||||
case cr ^. crStance . carriage of
|
||||
Walking x ff
|
||||
| x > cr ^. crStance . strideLength ->
|
||||
soundMultiFrom
|
||||
[FootstepSound i | i <- [0 .. 10]]
|
||||
(cr ^. crPos)
|
||||
(chooseFootSound ff)
|
||||
Nothing
|
||||
. over (cWorld . lWorld . creatures . ix (cr ^. crID) . crStance . carriage) resetStride
|
||||
_ -> id
|
||||
updateWalkCycle :: Int -> World -> World
|
||||
updateWalkCycle cid w
|
||||
| Just cr <- w ^? cWorld . lWorld . creatures . ix 0
|
||||
, Walking x ff <- cr ^. crStance . carriage
|
||||
, x > cr ^. crStance . strideLength =
|
||||
w
|
||||
& soundMultiFrom
|
||||
[FootstepSound i | i <- [0 .. 10]]
|
||||
(cr ^. crPos)
|
||||
(chooseFootSound ff)
|
||||
Nothing
|
||||
& over (cWorld . lWorld . creatures . ix cid . crStance . carriage) resetStride
|
||||
| otherwise = w
|
||||
|
||||
resetStride :: Carriage -> Carriage
|
||||
resetStride (Walking _ ff) = Walking 0 (normalGait ff)
|
||||
resetStride x = x
|
||||
resetStride = \case
|
||||
Walking _ ff -> Walking 0 (normalGait ff)
|
||||
x -> x
|
||||
|
||||
normalGait :: FootForward -> FootForward
|
||||
normalGait = \case
|
||||
LeftForward -> RightForward
|
||||
WasLeftForward -> RightForward
|
||||
RightForward -> LeftForward
|
||||
WasRightForward -> LeftForward
|
||||
|
||||
chooseFootSound :: FootForward -> SoundID
|
||||
chooseFootSound LeftForward = foot1S
|
||||
|
||||
+118
-25
@@ -1,47 +1,140 @@
|
||||
module Dodge.Creature.Update (
|
||||
updateCreature,
|
||||
) where
|
||||
module Dodge.Creature.Update (updateCreature) where
|
||||
|
||||
import Dodge.Inventory
|
||||
import LensHelp
|
||||
import Geometry
|
||||
import Dodge.SoundLogic
|
||||
import Dodge.Creature.Radius
|
||||
import Dodge.Creature.YourControl
|
||||
import Dodge.Creature.State
|
||||
import Color
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import qualified Data.List as List
|
||||
import Dodge.Barreloid
|
||||
import Dodge.Base.NewID
|
||||
import Dodge.Corpse.Make
|
||||
import Dodge.Creature.Action
|
||||
import Dodge.Creature.Radius
|
||||
import Dodge.Creature.State
|
||||
import Dodge.Creature.State.WalkCycle
|
||||
import Dodge.Creature.YourControl
|
||||
import Dodge.Damage
|
||||
import Dodge.Data.Damage.Type
|
||||
import Dodge.Data.World
|
||||
import Dodge.Humanoid
|
||||
import Dodge.Inventory
|
||||
import Dodge.Lampoid
|
||||
import qualified Data.List as List
|
||||
import Dodge.Prop.Gib
|
||||
import Dodge.SoundLogic
|
||||
import FoldableHelp
|
||||
import Geometry
|
||||
import LensHelp
|
||||
import Shape
|
||||
import ShapePicture.Data
|
||||
|
||||
-- Should separate out creature movement from other parts here
|
||||
-- allow for knockbacks etc to be determined as well as intended movements
|
||||
|
||||
updateCreature :: Creature -> World -> World
|
||||
updateCreature cr
|
||||
| _crZ cr < negate 100 = destroyAllInvItems cr
|
||||
| _crZ cr < 0 = (tocr . crZVel -~ 0.5)
|
||||
| _crZ cr < 0 =
|
||||
(tocr . crZVel -~ 0.5)
|
||||
. (tocr . crZ +~ _crZVel cr)
|
||||
| otherwise = updateCreature' cr
|
||||
where
|
||||
tocr = cWorld . lWorld . creatures . ix (_crID cr)
|
||||
|
||||
updateCreature' :: Creature -> World -> World
|
||||
updateCreature' cr = chasmTest cr . case _crType cr of
|
||||
Avatar{} -> (cWorld . lWorld . creatures . ix 0 . crType . avatarPulse %~ updatePulse)
|
||||
. crUpdate yourControl cr
|
||||
LampCrit{} -> updateLampoid cr
|
||||
BarrelCrit bt -> updateBarreloid bt cr
|
||||
AvatarDead -> id
|
||||
_ -> crUpdate updateHumanoid cr
|
||||
updateCreature' cr =
|
||||
chasmTest cr . case _crType cr of
|
||||
Avatar{} ->
|
||||
(cWorld . lWorld . creatures . ix 0 . crType . avatarPulse %~ updatePulse)
|
||||
. crUpdate' yourControl cr
|
||||
LampCrit{} -> updateLampoid cr
|
||||
BarrelCrit bt -> updateBarreloid bt cr
|
||||
AvatarDead -> id
|
||||
_ -> crUpdate' updateHumanoid cr
|
||||
|
||||
{- | this seems to work, but I am not sure about the ordering:
|
||||
previously, the movement was updated before the ai in order to correctly set the oldpos.
|
||||
This should be made more sensible: should the movement side effects apply to
|
||||
the creature before or after it has moved?
|
||||
at what point invSideEffects is applied wrt to when the creature moves
|
||||
may affect whether the shield moves correctly
|
||||
-}
|
||||
crUpdate' :: (Creature -> World -> World) -> Creature -> World -> World
|
||||
crUpdate' f cr =
|
||||
checkDeath cid
|
||||
. doDamage cid
|
||||
. invItemEffs cid
|
||||
. g
|
||||
. updateWalkCycle cid
|
||||
where
|
||||
cid = (cr ^. crID)
|
||||
g w' = maybe id f (w' ^? cWorld . lWorld . creatures . ix cid) w'
|
||||
|
||||
checkDeath :: Int -> World -> World
|
||||
checkDeath cid w = maybe id checkDeath' (w ^? cWorld . lWorld . creatures . ix cid) w
|
||||
|
||||
checkDeath' :: Creature -> World -> World
|
||||
checkDeath' cr w
|
||||
| _crHP cr > 0 =
|
||||
w
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crDamage .~ []
|
||||
| _crHP cr <= -200 =
|
||||
w
|
||||
& dropAll cr -- the order of
|
||||
& destroyCreature cr -- these is important
|
||||
& stopSoundFrom (CrWeaponSound (_crID cr) 0)
|
||||
& addCrGibs cr
|
||||
| _crHP cr > -200 && _crDeathTimer cr < 5 =
|
||||
w
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crDamage .~ []
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crDeathTimer +~ 1
|
||||
| otherwise =
|
||||
w
|
||||
& dropAll cr -- the order of
|
||||
& removecr -- these is important
|
||||
& stopSoundFrom (CrWeaponSound (_crID cr) 0)
|
||||
& corpseOrGib cr
|
||||
where
|
||||
removecr
|
||||
| _crID cr == 0 = id
|
||||
-- cWorld . lWorld . creatures . ix (_crID cr) . crHP .~ 0
|
||||
-- hack to get around player creature being killed but left with more than 0 hp
|
||||
| otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing
|
||||
|
||||
destroyCreature :: Creature -> World -> World
|
||||
destroyCreature cr
|
||||
| _crID cr == 0 = id
|
||||
-- cWorld . lWorld . creatures . ix (_crID cr) . crHP .~ 0
|
||||
-- hack to get around player creature being killed but left with more than 0 hp
|
||||
| otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing
|
||||
|
||||
-- could look at the amount of damage here (given by maxDamage) too
|
||||
corpseOrGib :: Creature -> World -> World
|
||||
corpseOrGib cr = case cr ^? crDamage . to maxDamageType . _Just . _1 of
|
||||
Just CookingDamage -> addcorpse (thecorpse & cpSPic %~ scorchSPic)
|
||||
Just PoisonDamage -> addcorpse (thecorpse & cpSPic %~ poisonSPic)
|
||||
Just PhysicalDamage | _crPain cr > 200 -> addCrGibs cr
|
||||
_ -> addcorpse thecorpse
|
||||
where
|
||||
addcorpse ctype = plNew (cWorld . lWorld . corpses) cpID ctype
|
||||
thecorpse = makeCorpse cr
|
||||
|
||||
scorchSPic :: SPic -> SPic
|
||||
scorchSPic = _1 %~ overColSH (mixColors 0.9 0.1 black . normalizeColor)
|
||||
|
||||
poisonSPic :: SPic -> SPic
|
||||
poisonSPic = _1 %~ overColSH (mixColors 0.5 0.5 green . normalizeColor)
|
||||
|
||||
-- reverse keys, otherwise two or more inv items will cause errors
|
||||
dropAll :: Creature -> World -> World
|
||||
dropAll cr w = foldl' (flip (dropItem cr)) w . reverse . IM.keys $ _crInv cr
|
||||
|
||||
chasmTest :: Creature -> World -> World
|
||||
chasmTest cr w
|
||||
| _crZVel cr < 0 = w & cWorld . lWorld . creatures . ix (_crID cr) . crZVel -~ 0.5
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crZ +~ _crZVel cr
|
||||
| Just (x,y) <- List.find g (foldMap loopPairs $ w ^. cWorld . chasms) = w
|
||||
& soundContinue (CrChasm (_crID cr)) (_crPos cr) debrisS (Just 100)
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crPos -~ normalizeV (vNormal (x-y))
|
||||
| _crZVel cr < 0 =
|
||||
w & cWorld . lWorld . creatures . ix (_crID cr) . crZVel -~ 0.5
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crZ +~ _crZVel cr
|
||||
| Just (x, y) <- List.find g (foldMap loopPairs $ w ^. cWorld . chasms) =
|
||||
w
|
||||
& soundContinue (CrChasm (_crID cr)) (_crPos cr) debrisS (Just 100)
|
||||
& cWorld . lWorld . creatures . ix (_crID cr) . crPos -~ normalizeV (vNormal (x - y))
|
||||
| any f (w ^. cWorld . chasms) = w & cWorld . lWorld . creatures . ix (_crID cr) . crZVel -~ 0.5
|
||||
| otherwise = w
|
||||
where
|
||||
@@ -49,6 +142,6 @@ chasmTest cr w
|
||||
f = circInPolygon (_crPos cr) (crRad $ cr ^. crType)
|
||||
|
||||
updatePulse :: Pulse -> Pulse
|
||||
updatePulse PulseStatus {_pulseRate = pr, _pulseProgress = pp}
|
||||
updatePulse PulseStatus{_pulseRate = pr, _pulseProgress = pp}
|
||||
| pp >= pr = PulseStatus pr 0
|
||||
| otherwise = PulseStatus pr (pp + 1)
|
||||
|
||||
@@ -28,11 +28,7 @@ data Carriage
|
||||
| Boosting Point2
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data FootForward
|
||||
= LeftForward
|
||||
| RightForward
|
||||
| WasLeftForward
|
||||
| WasRightForward
|
||||
data FootForward = LeftForward | RightForward
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Posture
|
||||
|
||||
@@ -38,7 +38,7 @@ defaultCreature =
|
||||
-- , _crHotkeys = M.empty
|
||||
, _crStance =
|
||||
Stance
|
||||
{ _carriage = Walking 0 WasLeftForward
|
||||
{ _carriage = Walking 0 LeftForward
|
||||
, _posture = AtEase
|
||||
, _strideLength = yourDefaultStrideLength
|
||||
}
|
||||
|
||||
+12
-12
@@ -187,18 +187,18 @@ humanoidAIList ::
|
||||
humanoidAIList
|
||||
= impulsiveAIBefore . chainCreatureUpdates
|
||||
|
||||
-- bit of a hack to get new random generators after each creature's update
|
||||
defaultImpulsive ::
|
||||
[World -> Creature -> Creature] ->
|
||||
Creature ->
|
||||
World ->
|
||||
World
|
||||
defaultImpulsive
|
||||
= fmap (fmap updateRandGen) . crUpdate . impulsiveAIBefore . chainCreatureUpdates
|
||||
where
|
||||
updateRandGen w =
|
||||
let (_, g) = randomR (0, 1 :: Int) (_randGen w)
|
||||
in w & randGen .~ g
|
||||
---- bit of a hack to get new random generators after each creature's update
|
||||
--defaultImpulsive ::
|
||||
-- [World -> Creature -> Creature] ->
|
||||
-- Creature ->
|
||||
-- World ->
|
||||
-- World
|
||||
--defaultImpulsive
|
||||
-- = fmap (fmap updateRandGen) . crUpdate . impulsiveAIBefore . chainCreatureUpdates
|
||||
-- where
|
||||
-- updateRandGen w =
|
||||
-- let (_, g) = randomR (0, 1 :: Int) (_randGen w)
|
||||
-- in w & randGen .~ g
|
||||
|
||||
chooseMovementPistol :: Creature -> World -> Action
|
||||
chooseMovementPistol cr w =
|
||||
|
||||
@@ -27,7 +27,7 @@ updateLampoid cr w = case cr ^?! crType . lampLSID of
|
||||
| otherwise ->
|
||||
w
|
||||
& cWorld . lWorld . lightSources . ix i . lsParam . lsPos .~ addZ h cpos
|
||||
& doDamage cr
|
||||
& doDamage (cr ^. crID)
|
||||
where
|
||||
cpos = _crPos cr
|
||||
cid = _crID cr
|
||||
|
||||
@@ -1154,7 +1154,7 @@ Revenge src/Dodge/Data/Scenario.hs 6;" C
|
||||
RewindLeftClick src/Dodge/Data/World.hs 73;" C
|
||||
RezBaySS src/Dodge/Data/Scenario.hs 105;" C
|
||||
RightButtonOptions src/Dodge/Data/RightButtonOptions.hs 13;" t
|
||||
RightForward src/Dodge/Data/Creature/Stance.hs 33;" C
|
||||
RightForward src/Dodge/Data/Creature/Stance.hs 34;" C
|
||||
RightwardDT src/Dodge/Data/DoubleTree.hs 93;" C
|
||||
RightwardLDT src/Dodge/Data/DoubleTree.hs 52;" C
|
||||
Rocket src/Dodge/Data/Projectile.hs 34;" C
|
||||
@@ -1502,7 +1502,7 @@ WarmTime src/Dodge/Data/Item/Params.hs 21;" C
|
||||
WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C
|
||||
WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C
|
||||
WarningCry src/Dodge/Data/ActionPlan.hs 185;" C
|
||||
WasLeftForward src/Dodge/Data/Creature/Stance.hs 34;" C
|
||||
WasLeftForward src/Dodge/Data/Creature/Stance.hs 33;" C
|
||||
WasRightForward src/Dodge/Data/Creature/Stance.hs 35;" C
|
||||
WatchAndWait src/Dodge/Data/ActionPlan.hs 183;" C
|
||||
WdBl src/Dodge/Data/WorldEffect.hs 50;" t
|
||||
@@ -2681,7 +2681,7 @@ applyGravityPU src/Dodge/Projectile/Update.hs 43;" f
|
||||
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
|
||||
applyInvLock src/Dodge/HeldUse.hs 444;" f
|
||||
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
|
||||
applyPastDamages src/Dodge/Creature/State.hs 130;" f
|
||||
applyPastDamages src/Dodge/Creature/State.hs 47;" f
|
||||
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
|
||||
applyPosition src/Sound.hs 111;" f
|
||||
applyRecoil src/Dodge/HeldUse.hs 475;" f
|
||||
@@ -2884,11 +2884,11 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 70;" f
|
||||
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 114;" f
|
||||
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 31;" f
|
||||
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f
|
||||
chasmTest src/Dodge/Creature/Update.hs 37;" f
|
||||
chasmTest src/Dodge/Creature/Update.hs 141;" f
|
||||
chasmWallToSurface src/Dodge/Base/Collide.hs 110;" f
|
||||
checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f
|
||||
checkConnection src/Dodge/Inventory/Swap.hs 64;" f
|
||||
checkDeath src/Dodge/Creature/State.hs 77;" f
|
||||
checkDeath src/Dodge/Creature/Update.hs 85;" f
|
||||
checkEndGame src/Dodge/Update.hs 800;" f
|
||||
checkErrorGL src/Shader/Compile.hs 255;" f
|
||||
checkFBO src/Framebuffer/Check.hs 6;" f
|
||||
@@ -3014,15 +3014,15 @@ contToIDCont src/Dodge/LevelGen/PlacementHelper.hs 57;" f
|
||||
convexHull src/Geometry/Polygon.hs 110;" f
|
||||
convexHullSafe src/Geometry/Polygon.hs 117;" f
|
||||
convexPolysOverlap src/Geometry/ConvexPoly.hs 50;" f
|
||||
coolMachinePistol src/Dodge/Creature/State.hs 182;" f
|
||||
coolMinigun src/Dodge/Creature/State.hs 175;" f
|
||||
coolMachinePistol src/Dodge/Creature/State.hs 100;" f
|
||||
coolMinigun src/Dodge/Creature/State.hs 93;" f
|
||||
copier src/Dodge/Item/Scope.hs 88;" f
|
||||
copierItemUpdate src/Dodge/Creature/State.hs 211;" f
|
||||
copierItemUpdate src/Dodge/Creature/State.hs 129;" f
|
||||
copyItemToFloor src/Dodge/FloorItem.hs 18;" f
|
||||
copyItemToFloorID src/Dodge/FloorItem.hs 22;" f
|
||||
corDoor src/Dodge/Room/Room.hs 376;" f
|
||||
cornerList src/Preload/Render.hs 198;" f
|
||||
corpseOrGib src/Dodge/Creature/State.hs 106;" f
|
||||
corpseOrGib src/Dodge/Creature/Update.hs 121;" f
|
||||
corridor src/Dodge/Room/Corridor.hs 17;" f
|
||||
corridorBoss src/Dodge/LockAndKey.hs 133;" f
|
||||
corridorN src/Dodge/Room/Corridor.hs 52;" f
|
||||
@@ -3063,7 +3063,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f
|
||||
crSpring src/Dodge/Update.hs 893;" f
|
||||
crStratConMatches src/Dodge/Creature/Test.hs 77;" f
|
||||
crStrength src/Dodge/Creature/Statistics.hs 24;" f
|
||||
crUpdate src/Dodge/Creature/State.hs 64;" f
|
||||
crUpdate' src/Dodge/Creature/Update.hs 59;" f
|
||||
crUpdateInvidLocations src/Dodge/Inventory/Location.hs 61;" f
|
||||
crUpdateItemLocations src/Dodge/Inventory/Location.hs 42;" f
|
||||
crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f
|
||||
@@ -3217,7 +3217,6 @@ defaultFlIt src/Dodge/Default.hs 27;" f
|
||||
defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f
|
||||
defaultHUD src/Dodge/Default/World.hs 161;" f
|
||||
defaultHeldItem src/Dodge/Default/Item.hs 9;" f
|
||||
defaultImpulsive src/Dodge/Humanoid.hs 191;" f
|
||||
defaultInanimate src/Dodge/Default/Creature.hs 62;" f
|
||||
defaultInput src/Dodge/Default/World.hs 14;" f
|
||||
defaultIntention src/Dodge/Default/Creature.hs 98;" f
|
||||
@@ -3248,6 +3247,7 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f
|
||||
denormalEdges src/Polyhedra.hs 136;" f
|
||||
destroyAllInvItems src/Dodge/Inventory.hs 60;" f
|
||||
destroyBlock src/Dodge/Block.hs 52;" f
|
||||
destroyCreature src/Dodge/Creature/Update.hs 113;" f
|
||||
destroyDoor src/Dodge/Block.hs 80;" f
|
||||
destroyInvItem src/Dodge/Inventory.hs 45;" f
|
||||
destroyItem src/Dodge/Inventory.hs 64;" f
|
||||
@@ -3294,7 +3294,7 @@ dmType src/Dodge/Damage.hs 38;" f
|
||||
doAfterPlacement src/Dodge/Layout.hs 86;" f
|
||||
doAfterPlacements src/Dodge/Layout.hs 83;" f
|
||||
doAimTwist src/Dodge/Creature/YourControl.hs 140;" f
|
||||
doAnyEquipmentEffect src/Dodge/Creature/State.hs 221;" f
|
||||
doAnyEquipmentEffect src/Dodge/Creature/State.hs 139;" f
|
||||
doBackspace src/Dodge/Update/Input/Text.hs 31;" f
|
||||
doBarrelSpin src/Dodge/Projectile/Update.hs 215;" f
|
||||
doBlBl src/Dodge/BlBl.hs 5;" f
|
||||
@@ -3310,7 +3310,7 @@ doCrImp src/Dodge/CreatureEffect.hs 28;" f
|
||||
doCrWdAc src/Dodge/CreatureEffect.hs 77;" f
|
||||
doCrWdImp src/Dodge/CreatureEffect.hs 16;" f
|
||||
doCrWdWd src/Dodge/CreatureEffect.hs 20;" f
|
||||
doDamage src/Dodge/Creature/State.hs 126;" f
|
||||
doDamage src/Dodge/Creature/State.hs 41;" f
|
||||
doDeathToggle src/Dodge/WorldEffect.hs 91;" f
|
||||
doDeathTriggers src/Dodge/WorldEffect.hs 86;" f
|
||||
doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f
|
||||
@@ -3387,7 +3387,7 @@ doublePair src/Geometry.hs 165;" f
|
||||
doublePairSet src/Geometry.hs 169;" f
|
||||
doubleTreeToIndentList src/Dodge/DoubleTree.hs 129;" f
|
||||
doubleV2 src/Geometry.hs 172;" f
|
||||
drawARHUD src/Dodge/Creature/State.hs 273;" f
|
||||
drawARHUD src/Dodge/Creature/State.hs 191;" f
|
||||
drawAimSweep src/Dodge/Render/Picture.hs 271;" f
|
||||
drawAllShadows src/Dodge/Shadows.hs 5;" f
|
||||
drawBaseMachine src/Dodge/Machine/Draw.hs 57;" f
|
||||
@@ -3514,7 +3514,7 @@ drawWeapon src/Dodge/Creature/Volition.hs 14;" f
|
||||
drawWlIDs src/Dodge/Debug/Picture.hs 372;" f
|
||||
drawZoneCol src/Dodge/Debug/Picture.hs 147;" f
|
||||
drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 284;" f
|
||||
dropAll src/Dodge/Creature/State.hs 123;" f
|
||||
dropAll src/Dodge/Creature/Update.hs 138;" f
|
||||
dropExcept src/Dodge/Creature/Action.hs 166;" f
|
||||
dropInventoryPath src/Dodge/HeldUse.hs 1429;" f
|
||||
dropItem src/Dodge/Creature/Action.hs 172;" f
|
||||
@@ -3660,7 +3660,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f
|
||||
floorWire src/Dodge/Wire.hs 13;" f
|
||||
foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
|
||||
foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f
|
||||
foldCr src/Dodge/Creature/State.hs 50;" f
|
||||
foldCr src/Dodge/Creature/Update.hs 75;" f
|
||||
foldPairs src/ListHelp.hs 37;" f
|
||||
foldrWhileArb src/ListHelp.hs 110;" f
|
||||
followImpulse src/Dodge/Creature/Impulse.hs 38;" f
|
||||
@@ -3942,8 +3942,8 @@ invDimColor src/Dodge/DisplayInventory.hs 192;" f
|
||||
invHead src/Dodge/Render/HUD.hs 404;" f
|
||||
invIMDT src/Dodge/Item/Grammar.hs 248;" f
|
||||
invIndents src/Dodge/Item/Grammar.hs 255;" f
|
||||
invItemEffs src/Dodge/Creature/State.hs 144;" f
|
||||
invItemLocUpdate src/Dodge/Creature/State.hs 151;" f
|
||||
invItemEffs src/Dodge/Creature/State.hs 61;" f
|
||||
invItemLocUpdate src/Dodge/Creature/State.hs 69;" f
|
||||
invRootMap src/Dodge/Item/Grammar.hs 227;" f
|
||||
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
|
||||
invSetSelection src/Dodge/Inventory.hs 190;" f
|
||||
@@ -4565,7 +4565,7 @@ pointerToItemLocation src/Dodge/Item/Location.hs 14;" f
|
||||
pointerYourRootItem src/Dodge/Item/Location.hs 31;" f
|
||||
pointerYourSelectedItem src/Dodge/Item/Location.hs 25;" f
|
||||
pointsToPoly src/Geometry/ConvexPoly.hs 39;" f
|
||||
poisonSPic src/Dodge/Creature/State.hs 119;" f
|
||||
poisonSPic src/Dodge/Creature/Update.hs 134;" f
|
||||
poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f
|
||||
poke34 src/Shader/Poke.hs 506;" f
|
||||
pokeArrayOff src/Shader/Poke.hs 517;" f
|
||||
@@ -4803,7 +4803,7 @@ replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 162;" f
|
||||
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
|
||||
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f
|
||||
resetPLUse src/Dodge/PlacementSpot.hs 96;" f
|
||||
resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f
|
||||
resetStride src/Dodge/Creature/State/WalkCycle.hs 24;" f
|
||||
resizeFBOTO src/Framebuffer/Update.hs 203;" f
|
||||
resizeFBOTO3 src/Framebuffer/Update.hs 175;" f
|
||||
resizeRBO src/Framebuffer/Update.hs 87;" f
|
||||
@@ -4924,7 +4924,7 @@ scaleSH src/Shape.hs 269;" f
|
||||
scalp src/Dodge/Creature/Picture.hs 90;" f
|
||||
scancodeToHotkey src/Dodge/Creature/YourControl.hs 95;" f
|
||||
scodeToChar src/Dodge/ScodeToChar.hs 6;" f
|
||||
scorchSPic src/Dodge/Creature/State.hs 116;" f
|
||||
scorchSPic src/Dodge/Creature/Update.hs 131;" f
|
||||
screenBox src/Dodge/Base/Window.hs 53;" f
|
||||
screenPolygon src/Dodge/Base/Window.hs 17;" f
|
||||
screenPolygonBord src/Dodge/Base/Window.hs 27;" f
|
||||
@@ -4996,7 +4996,7 @@ setOldPos src/Dodge/Update.hs 523;" f
|
||||
setOutLinks src/Dodge/RoomLink.hs 48;" f
|
||||
setOutLinksByType src/Dodge/RoomLink.hs 57;" f
|
||||
setOutLinksPD src/Dodge/RoomLink.hs 77;" f
|
||||
setRBCreatureTargeting src/Dodge/Creature/State.hs 372;" f
|
||||
setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
|
||||
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 334;" f
|
||||
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
|
||||
setShaderSource src/Shader/Compile.hs 290;" f
|
||||
@@ -5066,8 +5066,8 @@ shiftRoomBy src/Dodge/Room/Link.hs 37;" f
|
||||
shiftRoomShiftBy src/Dodge/Room/Link.hs 81;" f
|
||||
shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
|
||||
shiftedGrid src/Grid.hs 25;" f
|
||||
shineTargetLaser src/Dodge/Creature/State.hs 281;" f
|
||||
shineTorch src/Dodge/Creature/State.hs 320;" f
|
||||
shineTargetLaser src/Dodge/Creature/State.hs 199;" f
|
||||
shineTorch src/Dodge/Creature/State.hs 238;" f
|
||||
shootBullet src/Dodge/HeldUse.hs 1020;" f
|
||||
shootBullets src/Dodge/HeldUse.hs 1010;" f
|
||||
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
|
||||
@@ -5427,7 +5427,7 @@ trunkDepth src/TreeHelp.hs 161;" f
|
||||
tryAttachItems src/Dodge/Item/Grammar.hs 33;" f
|
||||
tryClickUse src/Dodge/Creature/YourControl.hs 221;" f
|
||||
tryCombine src/Dodge/Update/Input/InGame.hs 526;" f
|
||||
tryDrawToCapacitor src/Dodge/Creature/State.hs 231;" f
|
||||
tryDrawToCapacitor src/Dodge/Creature/State.hs 149;" f
|
||||
tryDropSelected src/Dodge/Update/Input/InGame.hs 125;" f
|
||||
tryGetChannel src/Sound.hs 97;" f
|
||||
tryGetRootAttachedFromInvID src/Dodge/Inventory/Location.hs 20;" f
|
||||
@@ -5440,9 +5440,9 @@ tryPutItemInInv src/Dodge/Inventory/Add.hs 42;" f
|
||||
tryPutItemInInvAt src/Dodge/Inventory/Add.hs 32;" f
|
||||
trySeedFromClipboard src/Dodge/Menu.hs 91;" f
|
||||
trySpin src/Dodge/Projectile/Update.hs 171;" f
|
||||
trySynthBullet src/Dodge/Creature/State.hs 247;" f
|
||||
trySynthBullet src/Dodge/Creature/State.hs 165;" f
|
||||
tryThrust src/Dodge/Projectile/Update.hs 177;" f
|
||||
tryUseParent src/Dodge/Creature/State.hs 225;" f
|
||||
tryUseParent src/Dodge/Creature/State.hs 143;" f
|
||||
turnTo src/Dodge/Movement/Turn.hs 8;" f
|
||||
turret src/Dodge/Placement/Instance/Turret.hs 35;" f
|
||||
turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f
|
||||
@@ -5493,8 +5493,8 @@ updateCloud src/Dodge/Update.hs 826;" f
|
||||
updateClouds src/Dodge/Update.hs 698;" f
|
||||
updateCombinePositioning src/Dodge/DisplayInventory.hs 37;" f
|
||||
updateCombineSections src/Dodge/DisplayInventory.hs 44;" f
|
||||
updateCreature src/Dodge/Creature/Update.hs 19;" f
|
||||
updateCreature' src/Dodge/Creature/Update.hs 28;" f
|
||||
updateCreature src/Dodge/Creature/Update.hs 31;" f
|
||||
updateCreature' src/Dodge/Creature/Update.hs 41;" f
|
||||
updateCreatureGroups src/Dodge/Update.hs 566;" f
|
||||
updateCreatureSoundPositions src/Dodge/Update.hs 542;" f
|
||||
updateDebris src/Dodge/Update.hs 601;" f
|
||||
@@ -5526,7 +5526,7 @@ updateInGameCamera src/Dodge/Update/Camera.hs 79;" f
|
||||
updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 400;" f
|
||||
updateInt2Map src/Dodge/Zoning/Base.hs 92;" f
|
||||
updateInventoryPositioning src/Dodge/DisplayInventory.hs 86;" f
|
||||
updateItemTargeting src/Dodge/Creature/State.hs 341;" f
|
||||
updateItemTargeting src/Dodge/Creature/State.hs 259;" f
|
||||
updateKeyInGame src/Dodge/Update/Input/InGame.hs 394;" f
|
||||
updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 382;" f
|
||||
updateLampoid src/Dodge/Lampoid.hs 12;" f
|
||||
@@ -5549,7 +5549,7 @@ updatePastWorlds src/Dodge/Update.hs 441;" f
|
||||
updatePreload src/Preload/Update.hs 20;" f
|
||||
updateProjectile src/Dodge/Projectile/Update.hs 28;" f
|
||||
updateProp src/Dodge/Prop/Update.hs 11;" f
|
||||
updatePulse src/Dodge/Creature/Update.hs 50;" f
|
||||
updatePulse src/Dodge/Creature/Update.hs 156;" f
|
||||
updatePulseBall src/Dodge/Update.hs 467;" f
|
||||
updatePulseLaser src/Dodge/Update.hs 641;" f
|
||||
updatePulseLasers src/Dodge/Update.hs 462;" f
|
||||
@@ -5584,7 +5584,7 @@ updateUniverseLast src/Dodge/Update.hs 141;" f
|
||||
updateUniverseMid src/Dodge/Update.hs 161;" f
|
||||
updateUseInputInGame src/Dodge/Update/Input/InGame.hs 42;" f
|
||||
updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 23;" f
|
||||
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 12;" f
|
||||
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 10;" f
|
||||
updateWallDamages src/Dodge/Update/WallDamage.hs 10;" f
|
||||
updateWheelEvent src/Dodge/Update/Scroll.hs 20;" f
|
||||
updateWheelEvents src/Dodge/Update.hs 431;" f
|
||||
|
||||
Reference in New Issue
Block a user