59 lines
1.3 KiB
Haskell
59 lines
1.3 KiB
Haskell
{-# LANGUAGE TemplateHaskell #-}
|
|
{-# LANGUAGE StrictData #-}
|
|
module Dodge.Creature.Impulse.Data
|
|
where
|
|
import Dodge.Creature.Stance.Data
|
|
import Geometry.Data
|
|
|
|
import Control.Lens
|
|
data Impulse
|
|
= MoveTo Point2
|
|
| MoveToFor Point2 Int
|
|
| MoveFire Point2 Point2
|
|
| PathTo Point2
|
|
| PathAlong [Point2]
|
|
| SubPathTo Point2 Int Point2
|
|
| Wait
|
|
| WaitFor Int
|
|
| WaitForID Int Int
|
|
| FireAt Point2
|
|
| FireAtID Int Point2
|
|
| Fire
|
|
| Reload
|
|
| IncreaseAlert Int
|
|
| Guard Point2 Point2
|
|
| Search Int
|
|
| SearchNear Point2
|
|
| AimAt Point2 Int
|
|
| InitGuard
|
|
| Init
|
|
| MeleeAttack Int
|
|
| InitTrackYou
|
|
| TrackYou
|
|
| Track Int
|
|
| TrackFor Int Int
|
|
| TurnByFor Float Int
|
|
| TurnTo Point2
|
|
| TurnToward Point2
|
|
| TurnTowardAngle Float
|
|
| StrafeLeftAround Int Point2
|
|
| StrafeRightAround Int Point2
|
|
| StrafeLeftFor Int
|
|
| StrafeRightFor Int
|
|
| StrafeLeftForSpeed Int Float
|
|
| StrafeRightForSpeed Int Float
|
|
| StrafeLeftFire
|
|
| StrafeRightFire
|
|
| MoveForwardFor Int
|
|
| MoveForwardFire
|
|
| MoveBackwardFor Int
|
|
| MoveByFor Point2 Int
|
|
| MoveBackwardFire
|
|
| ImpulseID Int Impulse
|
|
| AtRange Float
|
|
| AtRanges Float Float
|
|
| RepeatAction Int Impulse
|
|
| MakeJudgement
|
|
| SetPosture Posture
|
|
deriving (Eq,Show)
|