Continue weapon refactor, gas combinations
This commit is contained in:
@@ -10,7 +10,7 @@ import Data.Aeson.TH
|
||||
|
||||
data GenFloat = ConstFloat {_gfConstant :: Float}
|
||||
| UniRandFloat {_gfMin :: Float, _gfMax :: Float}
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
makeLenses ''GenFloat
|
||||
deriveJSON defaultOptions ''GenFloat
|
||||
|
||||
@@ -113,6 +113,7 @@ data AmmoMagType
|
||||
| BELTMAG
|
||||
| SHELLMAG
|
||||
| BATTERY
|
||||
| CHEMFUELPOUCH
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
|
||||
|
||||
@@ -66,17 +66,18 @@ data Luse
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data HeldMod
|
||||
= PoisonSprayerMod
|
||||
= PistolMod
|
||||
-- | PoisonSprayerMod
|
||||
| FlameSpitterMod
|
||||
| FlameSpitterRepeatMod
|
||||
| FlameThrowerMod
|
||||
| LauncherMod
|
||||
-- | FlameThrowerMod
|
||||
-- | LauncherMod
|
||||
-- | TeslaMod
|
||||
-- | CircleLaserMod
|
||||
| LasWideMod Int
|
||||
| DualBeamMod
|
||||
| LasMod
|
||||
| LauncherXMod Int
|
||||
-- | LasMod
|
||||
-- | LauncherXMod Int
|
||||
| ShatterMod
|
||||
-- | AmmoCheckMod
|
||||
-- | AmmoUseCheckMod
|
||||
@@ -91,7 +92,6 @@ data HeldMod
|
||||
-- | MachineGunMod
|
||||
-- | ModWithDirectedTeleport HeldMod
|
||||
-- | BangStickMod
|
||||
| PistolMod
|
||||
-- | AutoPistolMod
|
||||
-- | MachinePistolMod
|
||||
-- | BurstRifleMod
|
||||
@@ -99,7 +99,7 @@ data HeldMod
|
||||
-- | MiniGunMod Int
|
||||
-- | SmgMod
|
||||
-- | BangConeMod
|
||||
| TractorMod --apply with AmmoCheckMod
|
||||
-- | TractorMod --apply with AmmoCheckMod
|
||||
| FireRemoteShellMod
|
||||
| ExplodeRemoteShellMod
|
||||
| DoNothingMod
|
||||
|
||||
@@ -44,7 +44,6 @@ data ItemParams
|
||||
, _dbGap :: Float
|
||||
}
|
||||
| Attracting {_attractionPower :: Point2}
|
||||
| Sprayer {_sprayNozzles :: [Nozzle]}
|
||||
| AngleWalk
|
||||
{ _maxWalkAngle :: Float
|
||||
, _currentWalkAngle :: Float
|
||||
@@ -79,13 +78,6 @@ data PreviousArcEffect = NoPreviousArcEffect | PerturbTillBreakPreviousArc
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Nozzle = Nozzle
|
||||
{ _nzPressure :: Float
|
||||
, _nzDir :: Float
|
||||
, _nzMaxWalkAngle :: Float
|
||||
, _nzCurrentWalkAngle :: Float
|
||||
, _nzWalkSpeed :: Float
|
||||
, _nzLength :: Float
|
||||
}
|
||||
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
makeLenses ''ItemParams
|
||||
|
||||
@@ -74,9 +74,19 @@ data TriggerType = AutoTrigger
|
||||
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
|
||||
, _weaponInvLock :: Int
|
||||
, _weaponRepeat :: [Int]
|
||||
}
|
||||
| BeamShooterParams
|
||||
{ _bulGunSound :: (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
{ _bulGunSound :: Maybe (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
-- TODO remove duplicate
|
||||
}
|
||||
| BulletShooterParams
|
||||
@@ -86,7 +96,7 @@ data HeldParams
|
||||
, _torqueAfter :: Float
|
||||
, _randomOffset :: Float
|
||||
, _sidePush :: Float
|
||||
, _bulGunSound :: (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
, _bulGunSound :: Maybe (SoundID, Int) -- if the int is 0, play sound on new channel
|
||||
-- if >0, continue playing sound for
|
||||
-- given time
|
||||
, _weaponInvLock :: Int
|
||||
@@ -106,7 +116,7 @@ data AmmoParams = BulletParams {_ampBullet :: Bullet}
|
||||
, _ampPjDraw :: ProjectileDraw
|
||||
, _ampPjCreation :: ProjectileCreate
|
||||
}
|
||||
| GasParams {_ampCreateGas :: GasCreate}
|
||||
| GasParams {_ampCreateGas :: GasFuel}
|
||||
deriving (Eq, Show, Read) --Generic, Flat)
|
||||
|
||||
data ScrollAttachParams
|
||||
@@ -147,8 +157,12 @@ data MuzzleEffect
|
||||
| MuzzleTesla
|
||||
| MuzzleTractor
|
||||
| MuzzleLauncher
|
||||
| MuzzleFlame
|
||||
| MuzzleGas
|
||||
| MuzzleNozzle
|
||||
{ _nzPressure :: GenFloat
|
||||
, _nzMaxWalkAngle :: Float
|
||||
, _nzCurrentWalkAngle :: Float
|
||||
, _nzWalkSpeed :: Float
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Muzzle = Muzzle
|
||||
|
||||
@@ -46,11 +46,15 @@ data AmmoType
|
||||
data ForceFieldType = DefaultForceField
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data GasFuel = ChemFuel
|
||||
deriving (Eq, Ord, Show, Enum, Bounded, Read) --Generic, Flat)
|
||||
|
||||
data GasCreate = CreatePoisonGas | CreateFlame
|
||||
deriving (Eq, Ord, Show, Enum, Bounded, Read) --Generic, Flat)
|
||||
|
||||
makeLenses ''ProjectileUpdate
|
||||
makeLenses ''AmmoType
|
||||
deriveJSON defaultOptions ''GasFuel
|
||||
deriveJSON defaultOptions ''ProjectileDraw
|
||||
deriveJSON defaultOptions ''ProjectileCreate
|
||||
deriveJSON defaultOptions ''ProjectileUpdate
|
||||
|
||||
Reference in New Issue
Block a user