Move bullet bouncing into separate datatype field
This commit is contained in:
+16
-10
@@ -529,8 +529,15 @@ data BulletState = NormalBulletState
|
||||
| DelayedBullet Float
|
||||
data BulletUpdateMod = NoBulletUpdateMod
|
||||
|
||||
data BulletEffect = DestroyBullet
|
||||
| BounceBullet
|
||||
| PenetrateBullet
|
||||
data BulletSpawn = BulBall EnergyBall | BulSpark
|
||||
|
||||
data Bullet = Bullet
|
||||
{ _buState :: BulletState
|
||||
, _buEffect :: BulletEffect
|
||||
, _buSpawn :: BulletSpawn
|
||||
, _buUpdateMod :: BulletUpdateMod
|
||||
, _buTrajectory :: BulletTrajectory
|
||||
, _buVel :: Point2
|
||||
@@ -540,11 +547,8 @@ data Bullet = Bullet
|
||||
, _buWidth :: Float
|
||||
, _buTimer :: Int
|
||||
-- , _buEffect :: BulletEffect
|
||||
, _buHitEff :: HitEffect'
|
||||
-- , _buHitEff :: HitEffect'
|
||||
}
|
||||
data BulletEffect = BulletSpark
|
||||
| BulletBounce
|
||||
| BulletBall EnergyBall
|
||||
|
||||
data EnergyBall = IncBall | TeslaBall | ConcBall
|
||||
|
||||
@@ -651,10 +655,10 @@ type HitEffect = Particle
|
||||
-> World
|
||||
-> (World,Maybe Particle)
|
||||
|
||||
type HitEffect' = Bullet
|
||||
-> Stream (Of (Point2, Either Creature Wall)) Identity ()
|
||||
-> World
|
||||
-> (World,Maybe Bullet)
|
||||
--type HitEffect' = Bullet
|
||||
-- -> Stream (Of (Point2, Either Creature Wall)) Identity ()
|
||||
-- -> World
|
||||
-- -> (World,Maybe Bullet)
|
||||
|
||||
data BulletTrajectory
|
||||
= BasicBulletTrajectory
|
||||
@@ -672,10 +676,13 @@ data AmmoType
|
||||
}
|
||||
| BulletAmmo
|
||||
{ _amString :: String
|
||||
, _amBulEff :: HitEffect'
|
||||
-- , _amBulEff :: HitEffect'
|
||||
, _amBulDams :: Bullet -> Point2 -> [Damage]
|
||||
, _amBulWth :: Float
|
||||
, _amBulVel :: Point2
|
||||
, _amBulTraj :: BulletTrajectory
|
||||
, _amBulEffect :: BulletEffect
|
||||
, _amBulSpawn :: BulletSpawn
|
||||
}
|
||||
| DroneAmmo
|
||||
{ _amString :: String }
|
||||
@@ -1261,7 +1268,6 @@ data DamageEffect
|
||||
}
|
||||
| TorqueDamage { _deTorque :: Float }
|
||||
| PushBackDamage {_dePushBack :: Point2 }
|
||||
| BounceBullet {_bulToBounce :: Bullet}
|
||||
| DamageSpawn {_spawnFunc
|
||||
:: Either Creature Wall -> Damage -> State StdGen Particle}
|
||||
| DamageSpawn' {_spawnFunc'
|
||||
|
||||
Reference in New Issue
Block a user