Assorted changes, cleanup menu selection text
This commit is contained in:
@@ -18,6 +18,7 @@ module Dodge.Creature.Action
|
||||
)
|
||||
where
|
||||
import Dodge.Inventory.Add
|
||||
--import Dodge.ShortShow
|
||||
import Dodge.Path
|
||||
import Dodge.Default
|
||||
import Dodge.WallCreatureCollisions
|
||||
@@ -65,14 +66,27 @@ performAimAt cr w tcid p = ([TurnToward tpos aimSp], Just $ AimAt tcid tpos)
|
||||
performPathTo :: Creature -> World -> Point2 -> OutAction
|
||||
performPathTo cr w p
|
||||
| dist cpos p < 5 = ([], Nothing)
|
||||
| hasLOS cpos p w = ([MvTurnToward p,MvForward,RandomTurn jit] , Just (PathTo p))
|
||||
| otherwise = case pointTowardsImpulse cpos p w of
|
||||
Just q -> ([MvTurnToward q,MvForward,RandomTurn jit] , Just (PathTo p))
|
||||
| isWalkable cpos p w = ([MvTurnToward p,MvForward,RandomTurn jit] , Just (PathTo p))
|
||||
| otherwise = case pointTowardsImpulse p cpos w of
|
||||
Just q -> ([MvTurnToward q
|
||||
,MvForward
|
||||
,RandomTurn jit
|
||||
,ArbitraryImpulseEffect . const
|
||||
$ debugPicture .~ drawPathList cpos p w
|
||||
]
|
||||
, Just (PathTo p))
|
||||
_ -> ([],Nothing)
|
||||
where
|
||||
cpos = _crPos cr
|
||||
jit = _mvTurnJit $ _crMvType cr
|
||||
|
||||
drawPathList :: Point2 -> Point2 -> World -> Picture
|
||||
drawPathList x y w = case makePathBetweenPs x y w of
|
||||
Nothing -> setLayer DebugLayer $ color red $ line [x,y]
|
||||
Just [] -> setLayer DebugLayer $ color green $ line [x,y]
|
||||
Just as -> setLayer DebugLayer $ color orange (line as)
|
||||
<> color blue (line [head as,x]) <> color yellow (line [last as, y])
|
||||
|
||||
performTurnToA :: Creature -> Point2 -> OutAction
|
||||
performTurnToA cr p
|
||||
| angleVV cdirv dirv < 0.1 = ([], Nothing)
|
||||
|
||||
Reference in New Issue
Block a user