(Re)Implement nozzle walking
This commit is contained in:
@@ -44,11 +44,6 @@ data ItemParams
|
||||
, _dbGap :: Float
|
||||
}
|
||||
| Attracting {_attractionPower :: Point2}
|
||||
| AngleWalk
|
||||
{ _maxWalkAngle :: Float
|
||||
, _currentWalkAngle :: Float
|
||||
, _walkSpeed :: Float
|
||||
}
|
||||
| Arcing
|
||||
{ _currentArc :: Maybe [ArcStep]
|
||||
, _arcSize :: Float
|
||||
@@ -77,12 +72,8 @@ data PreviousArcEffect = NoPreviousArcEffect | PerturbTillBreakPreviousArc
|
||||
-- }
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Nozzle = Nozzle
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
makeLenses ''ItemParams
|
||||
makeLenses ''Nozzle
|
||||
deriveJSON defaultOptions ''ShrinkGunStatus
|
||||
deriveJSON defaultOptions ''PreviousArcEffect
|
||||
deriveJSON defaultOptions ''Nozzle
|
||||
deriveJSON defaultOptions ''ItemParams
|
||||
|
||||
+43
-45
@@ -1,5 +1,5 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
@@ -11,28 +11,28 @@ module Dodge.Data.Item.Use (
|
||||
module Dodge.Data.Item.Use.Consumption,
|
||||
module Dodge.Data.Hammer,
|
||||
module Dodge.Data.Item.Targeting,
|
||||
module Dodge.Data.GenFloat
|
||||
module Dodge.Data.GenFloat,
|
||||
) where
|
||||
|
||||
import Dodge.Data.GenFloat
|
||||
import Sound.Data
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
import Dodge.Data.GenFloat
|
||||
--import qualified Data.Sequence as Seq
|
||||
import Dodge.Data.Hammer
|
||||
import Dodge.Data.Item.HeldDelay
|
||||
import Dodge.Data.Item.HeldUse
|
||||
import Dodge.Data.Item.Targeting
|
||||
import Dodge.Data.Item.Use.Consumption
|
||||
import Dodge.Data.Item.Use.Equipment
|
||||
import Dodge.Data.Item.HeldDelay
|
||||
import Dodge.Data.Item.Targeting
|
||||
import Geometry.Data
|
||||
import Sound.Data
|
||||
|
||||
data ItemUse
|
||||
= HeldUse
|
||||
{ -- _heldUse :: Huse
|
||||
_heldDelay :: UseDelay
|
||||
_heldDelay :: UseDelay
|
||||
, _heldMods :: HeldMod
|
||||
, _heldHammer :: HammerPosition
|
||||
, _heldAim :: AimParams
|
||||
@@ -40,7 +40,7 @@ data ItemUse
|
||||
, _heldParams :: HeldParams
|
||||
, _heldTriggerType :: TriggerType
|
||||
, _heldUsageTime :: Int -- this is not yet implemented
|
||||
-- , _useTargeting :: Maybe TargetType
|
||||
-- , _useTargeting :: Maybe TargetType
|
||||
}
|
||||
| LeftUse
|
||||
{ _leftUse :: Luse
|
||||
@@ -51,44 +51,45 @@ data ItemUse
|
||||
}
|
||||
| ConsumeUse
|
||||
{ _cUse :: Cuse
|
||||
-- , _useAmount :: ItAmount
|
||||
-- , _useAmount :: ItAmount
|
||||
}
|
||||
| EquipUse
|
||||
{ _equipEffect :: EquipEffect
|
||||
, _equipTargeting :: Maybe TargetType
|
||||
}
|
||||
| CraftUse
|
||||
-- {_useAmount :: ItAmount}
|
||||
| AttachUse
|
||||
-- {_attachParams :: AttachParams}
|
||||
| AmmoMagUse
|
||||
| -- {_useAmount :: ItAmount}
|
||||
AttachUse
|
||||
| -- {_attachParams :: AttachParams}
|
||||
AmmoMagUse
|
||||
{ _amagLoadStatus :: ReloadStatus
|
||||
, _amagParams :: AmmoParams
|
||||
, _amagParams :: AmmoParams
|
||||
, _amagType :: AmmoType
|
||||
}
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
data TriggerType = AutoTrigger
|
||||
data TriggerType
|
||||
= AutoTrigger
|
||||
| HammerTrigger
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
data HeldParams
|
||||
= DefaultHeldParams
|
||||
| GasSprayParams
|
||||
{_gasCreation :: GasCreate
|
||||
{ _gasCreation :: GasCreate
|
||||
, _recoil :: Float
|
||||
, _torqueAfter :: Float
|
||||
, _randomOffset :: Float
|
||||
, _sidePush :: Float
|
||||
, _bulGunSound :: Maybe (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
-- if >0, continue playing sound for
|
||||
-- given time
|
||||
-- if >0, continue playing sound for
|
||||
-- given time
|
||||
, _weaponInvLock :: Int
|
||||
, _weaponRepeat :: [Int]
|
||||
}
|
||||
| BeamShooterParams
|
||||
{ _bulGunSound :: Maybe (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
-- TODO remove duplicate
|
||||
-- TODO remove duplicate
|
||||
}
|
||||
| BulletShooterParams
|
||||
{ _muzVel :: GenFloat
|
||||
@@ -98,20 +99,15 @@ data HeldParams
|
||||
, _randomOffset :: Float
|
||||
, _sidePush :: Float
|
||||
, _bulGunSound :: Maybe (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
-- if >0, continue playing sound for
|
||||
-- given time
|
||||
-- if >0, continue playing sound for
|
||||
-- given time
|
||||
, _weaponInvLock :: Int
|
||||
, _weaponRepeat :: [Int]
|
||||
}
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
--data AttachParams
|
||||
-- = ScrollAttachParams {_scrollAttachParams :: ScrollAttachParams}
|
||||
-- | TargetAttachParams
|
||||
-- | NoAttachParams
|
||||
-- deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
data AmmoParams = BulletParams {_ampBullet :: Bullet}
|
||||
data AmmoParams
|
||||
= BulletParams {_ampBullet :: Bullet}
|
||||
| ProjectileParams
|
||||
{ _ampPayload :: Payload
|
||||
, _ampPjDraw :: ProjectileDraw
|
||||
@@ -136,14 +132,15 @@ data AimParams = AimParams
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
|
||||
data FlareType = DefaultFlareType
|
||||
data FlareType
|
||||
= DefaultFlareType
|
||||
| PistolFlare
|
||||
| MiniGunFlare
|
||||
| HeavySmokeFlare
|
||||
| LasGunFlare
|
||||
| TeslaGunFlare
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data MuzzleEffect
|
||||
= MuzzleShootBullet
|
||||
| MuzzleLaser
|
||||
@@ -156,9 +153,9 @@ data MuzzleEffect
|
||||
, _nzCurrentWalkAngle :: Float
|
||||
, _nzWalkSpeed :: Float
|
||||
}
|
||||
| MuzzleShatter
|
||||
| MuzzleForceField
|
||||
| MuzzleDetector
|
||||
| MuzzleShatter
|
||||
| MuzzleForceField
|
||||
| MuzzleDetector
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Muzzle = Muzzle
|
||||
@@ -169,24 +166,23 @@ data Muzzle = Muzzle
|
||||
, _mzFlareType :: FlareType
|
||||
, _mzEffect :: MuzzleEffect
|
||||
, _mzChargeRequirement :: Maybe Int
|
||||
-- , _mzRecoil :: Float
|
||||
-- , _mzTorque :: Float
|
||||
-- , _mzSidePush :: Float
|
||||
-- , _mzRandomOffset :: Float
|
||||
-- , _mzVel :: Float
|
||||
-- , _mzRifling :: Float
|
||||
-- , _mzAmmoSlot :: Either Int
|
||||
-- , _mzAmmoPerShot :: Int
|
||||
-- , _mzRecoil :: Float
|
||||
-- , _mzTorque :: Float
|
||||
-- , _mzSidePush :: Float
|
||||
-- , _mzRandomOffset :: Float
|
||||
-- , _mzVel :: Float
|
||||
-- , _mzRifling :: Float
|
||||
-- , _mzAmmoSlot :: Either Int
|
||||
-- , _mzAmmoPerShot :: Int
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
|
||||
data AimStance
|
||||
= TwoHandUnder
|
||||
| TwoHandOver
|
||||
| TwoHandFlat
|
||||
| OneHand
|
||||
-- | LeaveHolstered
|
||||
-- | LeaveHolstered
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
--deriving (Eq, Show, Ord, Enum, Read) --Generic, Flat)
|
||||
|
||||
@@ -202,6 +198,7 @@ makeLenses ''AimParams
|
||||
makeLenses ''ItZoom
|
||||
makeLenses ''Muzzle
|
||||
makeLenses ''HeldParams
|
||||
|
||||
--makeLenses ''AttachParams
|
||||
--makeLenses ''ScrollAttachParams
|
||||
makeLenses ''AmmoParams
|
||||
@@ -213,6 +210,7 @@ deriveJSON defaultOptions ''AmmoParams
|
||||
deriveJSON defaultOptions ''HeldParams
|
||||
deriveJSON defaultOptions ''Muzzle
|
||||
deriveJSON defaultOptions ''AimStance
|
||||
|
||||
--deriveJSON defaultOptions ''ScrollAttachParams
|
||||
--deriveJSON defaultOptions ''AttachParams
|
||||
deriveJSON defaultOptions ''ItZoom
|
||||
|
||||
Reference in New Issue
Block a user