diff --git a/core/assets/sounds/shoot/shootBreach.ogg b/core/assets/sounds/shoot/shootBreach.ogg index e2c35502f6..70803a5e6f 100644 Binary files a/core/assets/sounds/shoot/shootBreach.ogg and b/core/assets/sounds/shoot/shootBreach.ogg differ diff --git a/core/assets/sounds/shoot/shootBreachCarbide.ogg b/core/assets/sounds/shoot/shootBreachCarbide.ogg new file mode 100644 index 0000000000..f89e42aef0 Binary files /dev/null and b/core/assets/sounds/shoot/shootBreachCarbide.ogg differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index b5cc4c7143..e0bd7b7890 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -4374,6 +4374,7 @@ public class Blocks{ rangeChange = 7f*8f; buildingDamageMultiplier = 0.3f; trailRotation = true; + shootSound = Sounds.shootBreachCarbide; fragBullets = 3; fragRandomSpread = 0f; diff --git a/core/src/mindustry/entities/bullet/BulletType.java b/core/src/mindustry/entities/bullet/BulletType.java index d16015f996..a7aa8e1ea8 100644 --- a/core/src/mindustry/entities/bullet/BulletType.java +++ b/core/src/mindustry/entities/bullet/BulletType.java @@ -79,6 +79,8 @@ public class BulletType extends Content implements Cloneable{ public Effect chargeEffect = Fx.none; /** Extra smoke effect created when shooting. */ public Effect smokeEffect = Fx.shootSmallSmoke; + /** Overrides the shoot sound in turrets if set. Does nothing in units, as they can't have multiple ammo types. */ + public Sound shootSound = Sounds.none; /** Sound made when hitting something or getting removed.*/ public Sound hitSound = Sounds.none; /** Sound made when hitting something or getting removed.*/ diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 30305bd036..f83114a5e4 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -747,7 +747,7 @@ public class Turret extends ReloadTurret{ (shootEffect == null ? type.shootEffect : shootEffect).at(bulletX, bulletY, rotation + angleOffset, type.hitColor); (smokeEffect == null ? type.smokeEffect : smokeEffect).at(bulletX, bulletY, rotation + angleOffset, type.hitColor); - shootSound.at(bulletX, bulletY, Mathf.random(soundPitchMin, soundPitchMax), shootSoundVolume); + (type.shootSound != Sounds.none ? type.shootSound : shootSound).at(bulletX, bulletY, Mathf.random(soundPitchMin, soundPitchMax), shootSoundVolume); ammoUseEffect.at( x - Angles.trnsx(rotation, ammoEjectBack),