Fixed #3352 / Fixed #3355 / Quad sounds

This commit is contained in:
Anuken
2020-11-11 17:12:42 -05:00
parent cf4f912cef
commit 538f1d7330
8 changed files with 23 additions and 7 deletions

View File

@@ -10,6 +10,12 @@ import mindustry.*;
public class LoopControl{
private ObjectMap<Sound, SoundData> sounds = new ObjectMap<>();
public void play(Sound sound, float volume){
if(Vars.headless) return;
play(sound, Core.camera.position, volume);
}
public void play(Sound sound, Position pos, float volume){
if(Vars.headless) return;

View File

@@ -1307,6 +1307,9 @@ public class UnitTypes implements ContentList{
reload = 55f;
minShootVelocity = 0.01f;
soundPitchMin = 1f;
shootSound = Sounds.plasmadrop;
bullet = new BasicBulletType(){{
sprite = "large-bomb";
width = height = 120/4f;
@@ -1318,9 +1321,10 @@ public class UnitTypes implements ContentList{
frontColor = Color.white;
mixColorTo = Color.white;
hitSound = Sounds.plasmaboom;
shootCone = 180f;
ejectEffect = Fx.none;
shootSound = Sounds.none;
despawnShake = 4f;
collidesAir = false;

View File

@@ -199,11 +199,14 @@ public class LExecutor{
//bind to the next unit
exec.setconst(varUnit, seq.get(index));
}
index ++;
index++;
}else{
//no units of this type found
exec.setconst(varUnit, null);
}
}else if(exec.obj(type) instanceof Unit u && u.team == exec.team){
//bind to specific unit object
exec.setconst(varUnit, u);
}else{
exec.setconst(varUnit, null);
}

View File

@@ -89,9 +89,9 @@ public abstract class Weather extends UnlockableContent{
}
}
if(sound != Sounds.none){
if(!headless && sound != Sounds.none){
float noise = soundVolOscMag > 0 ? (float)Math.abs(Noise.rawNoise(Time.time() / soundVolOscScl)) * soundVolOscMag : 0;
loops.play(sound, Core.camera.position, Math.max((soundVol + noise) * state.opacity, soundVolMin));
loops.play(sound, Math.max((soundVol + noise) * state.opacity, soundVolMin));
}
}

View File

@@ -41,10 +41,13 @@ public class AmmoListValue<T extends UnlockableContent> implements StatValue{
sep(bt, Core.bundle.format("bullet.splashdamage", (int)type.splashDamage, Strings.fixed(type.splashDamageRadius / tilesize, 1)));
}
if(!Mathf.equal(type.ammoMultiplier, 1f))
if(!Mathf.equal(type.ammoMultiplier, 1f) && !(type instanceof LiquidBulletType)){
sep(bt, Core.bundle.format("bullet.multiplier", (int)type.ammoMultiplier));
if(!Mathf.equal(type.reloadMultiplier, 1f))
}
if(!Mathf.equal(type.reloadMultiplier, 1f)){
sep(bt, Core.bundle.format("bullet.reload", Strings.fixed(type.reloadMultiplier, 1)));
}
if(type.knockback > 0){
sep(bt, Core.bundle.format("bullet.knockback", Strings.fixed(type.knockback, 1)));