Add new bullet trajectories

This commit is contained in:
2022-02-28 13:19:07 +00:00
parent 1e5f24c8a1
commit 419fcd0ff0
18 changed files with 285 additions and 101 deletions
+15 -4
View File
@@ -380,15 +380,19 @@ data Item = Item
data Targeting
= NoTargeting
| TargetingOnHeld
{ _tgPos :: Maybe Point2
, _tgHeldUpdate :: Item -> Creature -> World -> Targeting -> Targeting
, _tgDraw :: Int -> Item -> Creature -> World -> Picture
{ _tgPos :: Maybe Point2
, _tgUpdate :: Item -> Creature -> World -> Targeting -> Targeting
, _tgDraw :: Int -> Item -> Creature -> World -> Picture
, _tgID :: Maybe Int
, _tgActive :: Bool
, _tgPoints :: [Point2]
}
data ModuleSlot
= ModBullet
| ModRifleMag
| ModAutoMag
| ModBulletTarget
| ModTarget
| ModBulletTrajectory
deriving (Eq,Ord)
data ItemModule
@@ -507,6 +511,12 @@ type HitEffect = Particle
-> World
-> (World,Maybe Particle)
data BulletTrajectory
= BasicBulletTrajectory
| BezierTrajectory
| FlechetteTrajectory
| MagnetTrajectory
data AmmoType
= ProjectileAmmo
{ _amPayload :: Point2 -> World -> World
@@ -519,6 +529,7 @@ data AmmoType
, _amBulEff :: HitEffect
, _amBulWth :: Float
, _amBulVel :: Point2
, _amBulTraj :: BulletTrajectory
}
| DroneAmmo
{ _amString :: String }