diff --git a/core/assets/sounds/block/payloadDrop1.ogg b/core/assets/sounds/block/payloadDrop1.ogg new file mode 100644 index 0000000000..5119091885 Binary files /dev/null and b/core/assets/sounds/block/payloadDrop1.ogg differ diff --git a/core/assets/sounds/block/payloadDrop2.ogg b/core/assets/sounds/block/payloadDrop2.ogg new file mode 100644 index 0000000000..9aabe0642f Binary files /dev/null and b/core/assets/sounds/block/payloadDrop2.ogg differ diff --git a/core/assets/sounds/block/payloadDrop3.ogg b/core/assets/sounds/block/payloadDrop3.ogg new file mode 100644 index 0000000000..73e039590e Binary files /dev/null and b/core/assets/sounds/block/payloadDrop3.ogg differ diff --git a/core/assets/sounds/block/payloadPickup.ogg b/core/assets/sounds/block/payloadPickup.ogg new file mode 100644 index 0000000000..d758ecde52 Binary files /dev/null and b/core/assets/sounds/block/payloadPickup.ogg differ diff --git a/core/src/mindustry/entities/comp/PayloadComp.java b/core/src/mindustry/entities/comp/PayloadComp.java index 1db95b9771..f84ab98cc1 100644 --- a/core/src/mindustry/entities/comp/PayloadComp.java +++ b/core/src/mindustry/entities/comp/PayloadComp.java @@ -1,6 +1,7 @@ package mindustry.entities.comp; import arc.*; +import arc.audio.*; import arc.math.*; import arc.scene.ui.layout.*; import arc.struct.*; @@ -105,6 +106,7 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{ if(Vars.net.client()){ Vars.netClient.clearRemovedEntity(unit.id); } + Sounds.payloadPickup.at(self(), Mathf.random(0.9f, 1.1f)); Events.fire(new PickupEvent(self(), unit)); } @@ -114,6 +116,7 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{ tile.afterPickedUp(); addPayload(new BuildPayload(tile)); Fx.unitPickup.at(tile); + Sounds.payloadPickup.at(self()); Events.fire(new PickupEvent(self(), tile)); } @@ -177,6 +180,11 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{ if(!u.isAdded()) u.team.data().updateCount(u.type, -1); u.add(); u.unloaded(); + Sound dropSound = + payload.size() <= 12f ? Sounds.payloadDrop1 : + payload.size() <= 20f ? Sounds.payloadDrop2 : + Sounds.payloadDrop3; + dropSound.at(self(), Mathf.random(0.9f, 1.1f)); Events.fire(new PayloadDropEvent(self(), u)); return true; @@ -197,6 +205,7 @@ abstract class PayloadComp implements Posc, Rotc, Hitboxc, Unitc{ Fx.unitDrop.at(tile); on.block().placeEffect.at(on.drawx(), on.drawy(), on.block().size); + on.block().placeSound.at(tile); return true; }