Add movement on chaseCrit vocalization
This commit is contained in:
@@ -34,4 +34,4 @@ chaseCrit =
|
|||||||
& crStance . strideLength .~ 30
|
& crStance . strideLength .~ 30
|
||||||
|
|
||||||
chaseCritVocalization :: Vocalization
|
chaseCritVocalization :: Vocalization
|
||||||
chaseCritVocalization = Vocalization (50, 200) 0
|
chaseCritVocalization = Vocalization (50, 200) 0 20
|
||||||
|
|||||||
@@ -74,7 +74,10 @@ chaseUpperBody cr = colorSH (_skinUpper cskin)
|
|||||||
torsoq = (V3 0 0 (10 + tz + tbob),Q.qid)
|
torsoq = (V3 0 0 (10 + tz + tbob),Q.qid)
|
||||||
mcool = 1 - min 10 (fromIntegral . _meleeCooldown $ _crType cr) / 10
|
mcool = 1 - min 10 (fromIntegral . _meleeCooldown $ _crType cr) / 10
|
||||||
neckq = torsoq `Q.comp` (V3 6 0 0,Q.axisAngle (V3 0 1 0) (-1.8*mcool))
|
neckq = torsoq `Q.comp` (V3 6 0 0,Q.axisAngle (V3 0 1 0) (-1.8*mcool))
|
||||||
headq = neckq `Q.comp` (V3 16 0 0, Q.axisAngle (V3 0 1 0) (2*mcool))
|
headq = neckq `Q.comp` (V3 16 0 0, Q.axisAngle (V3 0 1 0) (2*mcool+vocaltilt))
|
||||||
|
vocaltilt = case cr ^? crVocalization . vcTimer of
|
||||||
|
Just x | x < 20 -> -pi * 0.05 * (10 - abs (fromIntegral x - 10))
|
||||||
|
_ -> 0
|
||||||
sLen = _strideLength $ _crStance cr
|
sLen = _strideLength $ _crStance cr
|
||||||
tbob = 5 * (1 - oneSmooth (abs llegpos))
|
tbob = 5 * (1 - oneSmooth (abs llegpos))
|
||||||
llegpos = case cr ^? crStance . carriage of
|
llegpos = case cr ^? crStance . carriage of
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ vocalizationTest cr = case cr ^? crVocalization . vcCoolDown of
|
|||||||
resetCrVocCoolDown :: World -> Creature -> Creature
|
resetCrVocCoolDown :: World -> Creature -> Creature
|
||||||
resetCrVocCoolDown w cr = case cr ^? crVocalization . vcMaxCoolDown of
|
resetCrVocCoolDown w cr = case cr ^? crVocalization . vcMaxCoolDown of
|
||||||
Just (i, j) -> cr & crVocalization . vcCoolDown .~ x
|
Just (i, j) -> cr & crVocalization . vcCoolDown .~ x
|
||||||
|
& crVocalization . vcTimer .~ 0
|
||||||
where
|
where
|
||||||
x = fst $ randomR (i, j) (_randGen w)
|
x = fst $ randomR (i, j) (_randGen w)
|
||||||
Nothing -> cr
|
Nothing -> cr
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ data Vocalization
|
|||||||
| Vocalization
|
| Vocalization
|
||||||
{ _vcMaxCoolDown :: (Int, Int)
|
{ _vcMaxCoolDown :: (Int, Int)
|
||||||
, _vcCoolDown :: Int
|
, _vcCoolDown :: Int
|
||||||
|
, _vcTimer :: Int
|
||||||
}
|
}
|
||||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ chaseCritInternal w cr =
|
|||||||
, const searchIfDamaged
|
, const searchIfDamaged
|
||||||
, const (crType . meleeCooldown %~ max 0 . subtract 1)
|
, const (crType . meleeCooldown %~ max 0 . subtract 1)
|
||||||
, const (crVocalization . vcCoolDown %~ max 0 . subtract 1)
|
, const (crVocalization . vcCoolDown %~ max 0 . subtract 1)
|
||||||
|
, const (crVocalization . vcTimer +~ 1)
|
||||||
]
|
]
|
||||||
|
|
||||||
-- SpreadGunAI ->
|
-- SpreadGunAI ->
|
||||||
|
|||||||
Reference in New Issue
Block a user