Work on bee movement
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
module Dodge.Creature.Impulse (followImpulse) where
|
||||
|
||||
import Control.Applicative
|
||||
import Control.Monad.Trans.State.Lazy
|
||||
--import Control.Monad.State -- moving from mtl to transformers
|
||||
import Data.Maybe
|
||||
@@ -70,7 +71,7 @@ followImpulse cid w = \case
|
||||
i <- cr ^? crIntention . targetCr . _Just
|
||||
tcr <- w ^? cWorld . lWorld . creatures . ix i
|
||||
return $ followImpulse cid w (doCrImp f tcr)
|
||||
MvForward -> crup $ crMvForward speed (w ^. cWorld . lWorld)
|
||||
MvForward -> crup $ crMvForward' (w ^. cWorld . lWorld)
|
||||
MvTurnToward p ->
|
||||
crup $
|
||||
creatureTurnToward p (turnRad $ safeAngleVV (p -.- cpos) (unitVectorAtAngle cdir))
|
||||
@@ -79,8 +80,11 @@ followImpulse cid w = \case
|
||||
cr = w ^?! cWorld . lWorld . creatures . ix cid
|
||||
crup f = over clens f w
|
||||
mvType = crMvType cr
|
||||
speed = _mvSpeed mvType
|
||||
turnRad = doFloatFloat $ _mvTurnRad mvType
|
||||
-- speed = _mvSpeed mvType
|
||||
turnRad = fromMaybe (const 0.1) $
|
||||
mvType ^? mvTurnRad . to doFloatFloat
|
||||
<|> mvType ^? mvTurnSpeed . to const
|
||||
-- | Just x <- = doFloatFloat $ _mvTurnRad mvType
|
||||
cpos = cr ^. crPos . _xy
|
||||
cdir = _crDir cr
|
||||
posFromID cid' = w ^?! cWorld . lWorld . creatures . ix cid' . crPos . _xy
|
||||
|
||||
Reference in New Issue
Block a user