72 lines
1.8 KiB
Haskell
72 lines
1.8 KiB
Haskell
module Dodge.Item.Weapon.Bullet
|
|
( basicBullet
|
|
, incBullet
|
|
, staticBullet
|
|
, conBullet
|
|
, bounceBullet
|
|
, ltBullet
|
|
, hvBullet
|
|
) where
|
|
import Dodge.Data
|
|
import Dodge.WorldEvent.HitEffect
|
|
import Dodge.WorldEvent.SpawnParticle
|
|
import Dodge.Particle.Bullet.HitEffect
|
|
|
|
import Geometry.Data
|
|
basicBullet :: AmmoType
|
|
basicBullet = BulletAmmo
|
|
{ _amString = "BASIC"
|
|
, _amBulEff = destroyOnImpact bulHitCr bulHitWall
|
|
, _amBulWth = 2
|
|
, _amBulVel = V2 50 0
|
|
, _amBulTraj = BasicBulletTrajectory
|
|
}
|
|
incBullet :: AmmoType
|
|
incBullet = BulletAmmo
|
|
{ _amString = "INCENDIARY"
|
|
, _amBulEff = destroyOnImpact bulIncCr bulIncWall
|
|
, _amBulWth = 2
|
|
, _amBulVel = V2 50 0
|
|
, _amBulTraj = BasicBulletTrajectory
|
|
}
|
|
staticBullet :: AmmoType
|
|
staticBullet = BulletAmmo
|
|
{ _amString = "STATIC"
|
|
, _amBulEff = bulletDestroySpawn aStaticBall
|
|
, _amBulWth = 2
|
|
, _amBulVel = V2 50 0
|
|
, _amBulTraj = BasicBulletTrajectory
|
|
}
|
|
conBullet :: AmmoType
|
|
conBullet = BulletAmmo
|
|
{ _amString = "CONCUSSIVE"
|
|
, _amBulEff = destroyOnImpact bulConCr bulConWall
|
|
, _amBulWth = 2
|
|
, _amBulVel = V2 50 0
|
|
, _amBulTraj = BasicBulletTrajectory
|
|
}
|
|
bounceBullet :: AmmoType
|
|
bounceBullet = BulletAmmo
|
|
{ _amString = "BOUNCING"
|
|
, _amBulEff = destroyOnImpact bulHitCr bulBounceWall
|
|
, _amBulWth = 2
|
|
, _amBulVel = V2 50 0
|
|
, _amBulTraj = BasicBulletTrajectory
|
|
}
|
|
ltBullet :: AmmoType
|
|
ltBullet = BulletAmmo
|
|
{ _amString = "LTBULLET"
|
|
, _amBulEff = destroyOnImpact bulHitCr bulHitWall
|
|
, _amBulWth = 2
|
|
, _amBulVel = V2 40 0
|
|
, _amBulTraj = BasicBulletTrajectory
|
|
}
|
|
hvBullet :: AmmoType
|
|
hvBullet = BulletAmmo
|
|
{ _amString = "HVBULLET"
|
|
, _amBulEff = penWalls hvBulHitCr hvBulHitWall
|
|
, _amBulWth = 6
|
|
, _amBulVel = V2 80 0
|
|
, _amBulTraj = BasicBulletTrajectory
|
|
}
|