Implement bullet trajectories using attachable items

This commit is contained in:
2024-09-29 21:51:14 +01:00
parent 88c3e02459
commit 4545caa7e6
26 changed files with 504 additions and 570 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ data BulletTrajectoryType
| BezierTrajectoryType
| FlechetteTrajectoryType
| MagnetTrajectoryType
deriving (Show, Eq, Ord, Read) --Generic, Flat)
deriving (Show, Eq, Ord, Read, Enum, Bounded) --Generic, Flat)
makeLenses ''Bullet
makeLenses ''BulletSpawn
+2
View File
@@ -91,6 +91,7 @@ data ItemBaseType
| ATTACH {_ibtAttach :: AttachType}
| AMMOMAG {_ibtAmmoMag :: AmmoMagType}
| TARGETING {_ibtTargeting :: TargetingType}
| HOMING {_ibtHoming :: BulletTrajectoryType}
deriving (Eq, Ord, Show, Read)
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
@@ -100,6 +101,7 @@ data AttachType
| BULLETSYNTHESIZER
| REMOTESCREEN
| HOMINGMODULE
-- | FLETCHINGMODULE
-- | BULPAYLOADATTACH
-- | BULTRAJECTORYATTACH
deriving (Eq, Ord, Show, Read)
+16 -16
View File
@@ -12,14 +12,14 @@ import Dodge.Data.CamouflageStatus
import Dodge.Data.Item.Combine
import Control.Lens
data Huse
= HeldDoNothing
-- | HeldFireRemoteShell
-- | HeldExplodeRemoteShell Int Int
| HeldDetectorEffect Detector
| HeldForceField
-- | HeldShatter
deriving (Eq, Ord, Show, Read) --Generic, Flat)
--data Huse
-- = HeldDoNothing
---- | HeldFireRemoteShell
---- | HeldExplodeRemoteShell Int Int
-- | HeldDetectorEffect Detector
-- | HeldForceField
---- | HeldShatter
-- deriving (Eq, Ord, Show, Read) --Generic, Flat)
data Cuse
= CDoNothing
@@ -56,16 +56,16 @@ data Luse
| LBoost
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data HeldMod
= PistolMod
-- | FireRemoteShellMod
| ExplodeRemoteShellMod
| DoNothingMod
deriving (Eq, Ord, Show, Read) --Generic, Flat)
--data HeldMod
-- = PistolMod
---- | FireRemoteShellMod
-- | ExplodeRemoteShellMod
-- | DoNothingMod
-- deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Euse
deriveJSON defaultOptions ''Cuse
deriveJSON defaultOptions ''HeldMod
--deriveJSON defaultOptions ''HeldMod
deriveJSON defaultOptions ''Euse
deriveJSON defaultOptions ''Huse
--deriveJSON defaultOptions ''Huse
deriveJSON defaultOptions ''Luse
+4 -1
View File
@@ -35,7 +35,7 @@ data ItemUse
= HeldUse
{ -- _heldUse :: Huse
_heldDelay :: UseDelay
, _heldMods :: HeldMod
-- , _heldMods :: HeldMod
, _heldHammer :: HammerPosition
, _heldAim :: AimParams
, _heldAmmoTypes :: IM.IntMap AmmoType
@@ -78,6 +78,9 @@ data ItemUse
, _tgID :: Maybe Int
, _tgActive :: Bool
}
| BulletTrajectoryUse
{ _btuBulletTrajectory :: BulletTrajectoryType
}
deriving (Eq, Show, Read) --Generic, Flat)
data TriggerType