Continue weapon effect chain work
Start work on using muzzles to determine the effect of the ammo when loaded
This commit is contained in:
@@ -75,6 +75,10 @@ data HeldParams
|
||||
= DefaultHeldParams
|
||||
| GasSprayParams
|
||||
{_gasCreation :: GasCreate}
|
||||
| BeamShooterParams
|
||||
{ _bulGunSound :: (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
-- TODO remove duplicate
|
||||
}
|
||||
| BulletShooterParams
|
||||
{ _muzVel :: GenFloat
|
||||
, _rifling :: GenFloat
|
||||
@@ -82,7 +86,9 @@ data HeldParams
|
||||
, _torqueAfter :: Float
|
||||
, _randomOffset :: Float
|
||||
, _sidePush :: Float
|
||||
, _bulGunSound :: SoundID
|
||||
, _bulGunSound :: (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
-- if >0, continue playing sound for
|
||||
-- given time
|
||||
, _weaponInvLock :: Int
|
||||
, _weaponRepeat :: [Int]
|
||||
}
|
||||
@@ -130,7 +136,18 @@ data AimParams = AimParams
|
||||
|
||||
data FlareType = DefaultFlareType
|
||||
| PistolFlare
|
||||
| MiniGunFlare
|
||||
| HeavySmokeFlare
|
||||
| LasGunFlare
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
data MuzzleEffect
|
||||
= MuzzleShootBullet
|
||||
| MuzzleLaser
|
||||
| MuzzleTesla
|
||||
| MuzzleTractor
|
||||
| MuzzleLauncher
|
||||
| MuzzleFlame
|
||||
| MuzzleGas
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Muzzle = Muzzle
|
||||
@@ -139,6 +156,7 @@ data Muzzle = Muzzle
|
||||
, _mzInaccuracy :: Float
|
||||
, _mzAmmoSlot :: Int
|
||||
, _mzFlareType :: FlareType
|
||||
, _mzEffect :: MuzzleEffect
|
||||
-- , _mzRecoil :: Float
|
||||
-- , _mzTorque :: Float
|
||||
-- , _mzSidePush :: Float
|
||||
@@ -175,6 +193,7 @@ makeLenses ''HeldParams
|
||||
makeLenses ''AttachParams
|
||||
makeLenses ''ScrollAttachParams
|
||||
makeLenses ''AmmoParams
|
||||
deriveJSON defaultOptions ''MuzzleEffect
|
||||
deriveJSON defaultOptions ''FlareType
|
||||
deriveJSON defaultOptions ''TriggerType
|
||||
deriveJSON defaultOptions ''AmmoParams
|
||||
|
||||
Reference in New Issue
Block a user