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 }