Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
536a8f6085 | ||
|
|
6cb22dd190 | ||
|
|
538f1d7330 | ||
|
|
9ef57c0366 | ||
|
|
cf4f912cef | ||
|
|
988fdb0c9b | ||
|
|
a3d4c239d1 |
Binary file not shown.
BIN
core/assets/sounds/plasmaboom.ogg
Normal file
BIN
core/assets/sounds/plasmaboom.ogg
Normal file
Binary file not shown.
BIN
core/assets/sounds/plasmadrop.ogg
Normal file
BIN
core/assets/sounds/plasmadrop.ogg
Normal file
Binary file not shown.
@@ -10,6 +10,12 @@ import mindustry.*;
|
|||||||
public class LoopControl{
|
public class LoopControl{
|
||||||
private ObjectMap<Sound, SoundData> sounds = new ObjectMap<>();
|
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){
|
public void play(Sound sound, Position pos, float volume){
|
||||||
if(Vars.headless) return;
|
if(Vars.headless) return;
|
||||||
|
|
||||||
|
|||||||
@@ -1307,6 +1307,9 @@ public class UnitTypes implements ContentList{
|
|||||||
reload = 55f;
|
reload = 55f;
|
||||||
minShootVelocity = 0.01f;
|
minShootVelocity = 0.01f;
|
||||||
|
|
||||||
|
soundPitchMin = 1f;
|
||||||
|
shootSound = Sounds.plasmadrop;
|
||||||
|
|
||||||
bullet = new BasicBulletType(){{
|
bullet = new BasicBulletType(){{
|
||||||
sprite = "large-bomb";
|
sprite = "large-bomb";
|
||||||
width = height = 120/4f;
|
width = height = 120/4f;
|
||||||
@@ -1318,9 +1321,10 @@ public class UnitTypes implements ContentList{
|
|||||||
frontColor = Color.white;
|
frontColor = Color.white;
|
||||||
mixColorTo = Color.white;
|
mixColorTo = Color.white;
|
||||||
|
|
||||||
|
hitSound = Sounds.plasmaboom;
|
||||||
|
|
||||||
shootCone = 180f;
|
shootCone = 180f;
|
||||||
ejectEffect = Fx.none;
|
ejectEffect = Fx.none;
|
||||||
shootSound = Sounds.none;
|
|
||||||
despawnShake = 4f;
|
despawnShake = 4f;
|
||||||
|
|
||||||
collidesAir = false;
|
collidesAir = false;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import arc.util.*;
|
|||||||
import mindustry.ui.dialogs.*;
|
import mindustry.ui.dialogs.*;
|
||||||
|
|
||||||
public class MapResizeDialog extends BaseDialog{
|
public class MapResizeDialog extends BaseDialog{
|
||||||
private static final int minSize = 50, maxSize = 500, increment = 50;
|
public static int minSize = 50, maxSize = 500, increment = 50;
|
||||||
int width, height;
|
int width, height;
|
||||||
|
|
||||||
public MapResizeDialog(MapEditor editor, Intc2 cons){
|
public MapResizeDialog(MapEditor editor, Intc2 cons){
|
||||||
|
|||||||
@@ -69,8 +69,9 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
}
|
}
|
||||||
|
|
||||||
public float speed(){
|
public float speed(){
|
||||||
|
float strafePenalty = isGrounded() || !isPlayer() ? 1f : Mathf.lerp(1f, type.strafePenalty, Angles.angleDist(vel().angle(), rotation) / 180f);
|
||||||
//limit speed to minimum formation speed to preserve formation
|
//limit speed to minimum formation speed to preserve formation
|
||||||
return isCommanding() ? minFormationSpeed * 0.98f : type.speed;
|
return (isCommanding() ? minFormationSpeed * 0.98f : type.speed) * strafePenalty;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return speed with boost multipliers factored in. */
|
/** @return speed with boost multipliers factored in. */
|
||||||
|
|||||||
@@ -602,9 +602,7 @@ public class DesktopInput extends InputHandler{
|
|||||||
boolean omni = unit.type.omniMovement;
|
boolean omni = unit.type.omniMovement;
|
||||||
boolean ground = unit.isGrounded();
|
boolean ground = unit.isGrounded();
|
||||||
|
|
||||||
float strafePenalty = ground ? 1f : Mathf.lerp(1f, unit.type.strafePenalty, Angles.angleDist(unit.vel().angle(), unit.rotation()) / 180f);
|
float speed = unit.realSpeed();
|
||||||
|
|
||||||
float speed = unit.realSpeed() * strafePenalty;
|
|
||||||
float xa = Core.input.axis(Binding.move_x);
|
float xa = Core.input.axis(Binding.move_x);
|
||||||
float ya = Core.input.axis(Binding.move_y);
|
float ya = Core.input.axis(Binding.move_y);
|
||||||
boolean boosted = (unit instanceof Mechc && unit.isFlying());
|
boolean boosted = (unit instanceof Mechc && unit.isFlying());
|
||||||
|
|||||||
@@ -854,9 +854,8 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||||||
|
|
||||||
targetPos.set(Core.camera.position);
|
targetPos.set(Core.camera.position);
|
||||||
float attractDst = 15f;
|
float attractDst = 15f;
|
||||||
float strafePenalty = legs ? 1f : Mathf.lerp(1f, type.strafePenalty, Angles.angleDist(unit.vel.angle(), unit.rotation) / 180f);
|
|
||||||
|
|
||||||
float speed = unit.realSpeed() * strafePenalty;
|
float speed = unit.realSpeed();
|
||||||
float range = unit.hasWeapons() ? unit.range() : 0f;
|
float range = unit.hasWeapons() ? unit.range() : 0f;
|
||||||
float bulletSpeed = unit.hasWeapons() ? type.weapons.first().bullet.speed : 0f;
|
float bulletSpeed = unit.hasWeapons() ? type.weapons.first().bullet.speed : 0f;
|
||||||
float mouseAngle = unit.angleTo(unit.aimX(), unit.aimY());
|
float mouseAngle = unit.angleTo(unit.aimX(), unit.aimY());
|
||||||
|
|||||||
@@ -199,11 +199,14 @@ public class LExecutor{
|
|||||||
//bind to the next unit
|
//bind to the next unit
|
||||||
exec.setconst(varUnit, seq.get(index));
|
exec.setconst(varUnit, seq.get(index));
|
||||||
}
|
}
|
||||||
index ++;
|
index++;
|
||||||
}else{
|
}else{
|
||||||
//no units of this type found
|
//no units of this type found
|
||||||
exec.setconst(varUnit, null);
|
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{
|
}else{
|
||||||
exec.setconst(varUnit, null);
|
exec.setconst(varUnit, null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)));
|
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));
|
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)));
|
sep(bt, Core.bundle.format("bullet.reload", Strings.fixed(type.reloadMultiplier, 1)));
|
||||||
|
}
|
||||||
|
|
||||||
if(type.knockback > 0){
|
if(type.knockback > 0){
|
||||||
sep(bt, Core.bundle.format("bullet.knockback", Strings.fixed(type.knockback, 1)));
|
sep(bt, Core.bundle.format("bullet.knockback", Strings.fixed(type.knockback, 1)));
|
||||||
|
|||||||
1
fastlane/metadata/android/en-US/changelogs/29694.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/29694.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
- Fixed many various sound-related bugs, such as music playing after application exit
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=2c022c5c2723b39e63da7cadd6c53ce6ec78f9d3
|
archash=a6f488d6f741b98d123113ceb26439032be0719e
|
||||||
|
|||||||
Reference in New Issue
Block a user