From 69eb8faf67e49d83f4b3c18278937f373c08b012 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 4 Jan 2021 17:22:18 -0500 Subject: [PATCH] Fixed #4261 / Basic rotation shine effect --- core/src/mindustry/audio/SoundControl.java | 6 +++++- core/src/mindustry/content/Fx.java | 6 ++++++ core/src/mindustry/entities/comp/BuildingComp.java | 4 ++-- core/src/mindustry/entities/comp/UnitComp.java | 2 +- core/src/mindustry/input/InputHandler.java | 1 + core/src/mindustry/ui/dialogs/CustomRulesDialog.java | 4 ++-- core/src/mindustry/world/Build.java | 1 + gradle.properties | 2 +- 8 files changed, 19 insertions(+), 7 deletions(-) diff --git a/core/src/mindustry/audio/SoundControl.java b/core/src/mindustry/audio/SoundControl.java index bed176f972..6dc130c53f 100644 --- a/core/src/mindustry/audio/SoundControl.java +++ b/core/src/mindustry/audio/SoundControl.java @@ -130,7 +130,11 @@ public class SoundControl{ Core.audio.soundBus.play(); setupFilters(); }else{ - Core.audio.soundBus.stop(); + for(Sound sound : Core.assets.getAll(Sound.class, new Seq<>())){ + if(sound.bus == Core.audio.soundBus){ + sound.stop(); + } + } } } diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index 7688108ebe..c862885e2f 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -1564,6 +1564,12 @@ public class Fx{ Fill.square(e.x, e.y, e.rotation * tilesize / 2f); }), + rotateBlock = new Effect(30, e -> { + color(Pal.accent); + alpha(e.fout() * 1); + Fill.square(e.x, e.y, e.rotation * tilesize / 2f); + }), + overdriveBlockFull = new Effect(60, e -> { color(e.color); alpha(e.fslope() * 0.4f); diff --git a/core/src/mindustry/entities/comp/BuildingComp.java b/core/src/mindustry/entities/comp/BuildingComp.java index 1ac7394258..37a5775124 100644 --- a/core/src/mindustry/entities/comp/BuildingComp.java +++ b/core/src/mindustry/entities/comp/BuildingComp.java @@ -970,8 +970,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc, } if(block.hasLiquids){ - flammability += liquids.sum((liquid, amount) -> liquid.explosiveness * amount / 2f); - explosiveness += liquids.sum((liquid, amount) -> liquid.flammability * amount / 2f); + flammability += liquids.sum((liquid, amount) -> liquid.flammability * amount / 2f); + explosiveness += liquids.sum((liquid, amount) -> liquid.explosiveness * amount / 2f); } if(block.consumes.hasPower() && block.consumes.getPower().buffered){ diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index bce58a2c9d..fd3f1810ff 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -273,7 +273,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I team.data().updateCount(type, 1); //check if over unit cap - if(count() > cap() && !spawnedByCore && !dead){ + if(count() > cap() && !spawnedByCore && !dead && !state.rules.editor){ Call.unitCapDeath(self()); team.data().updateCount(type, -1); } diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 8d9d1c15e7..7bc5fe5e80 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -305,6 +305,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ build.rotation = Mathf.mod(build.rotation + Mathf.sign(direction), 4); build.updateProximity(); build.noSleep(); + Fx.rotateBlock.at(build.x, build.y, build.block.size); } @Remote(targets = Loc.both, called = Loc.both, forward = true) diff --git a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java index ece89b15f8..6026232f39 100644 --- a/core/src/mindustry/ui/dialogs/CustomRulesDialog.java +++ b/core/src/mindustry/ui/dialogs/CustomRulesDialog.java @@ -142,7 +142,7 @@ public class CustomRulesDialog extends BaseDialog{ check("@rules.reactorexplosions", b -> rules.reactorExplosions = b, () -> rules.reactorExplosions); check("@rules.schematic", b -> rules.schematicsAllowed = b, () -> rules.schematicsAllowed); number("@rules.buildcostmultiplier", false, f -> rules.buildCostMultiplier = f, () -> rules.buildCostMultiplier, () -> !rules.infiniteResources); - number("@rules.buildspeedmultiplier", f -> rules.buildSpeedMultiplier = f, () -> rules.buildSpeedMultiplier, 0.00001f, 10000f); + number("@rules.buildspeedmultiplier", f -> rules.buildSpeedMultiplier = f, () -> rules.buildSpeedMultiplier, 0.001f, 50f); number("@rules.deconstructrefundmultiplier", false, f -> rules.deconstructRefundMultiplier = f, () -> rules.deconstructRefundMultiplier, () -> !rules.infiniteResources); number("@rules.blockhealthmultiplier", f -> rules.blockHealthMultiplier = f, () -> rules.blockHealthMultiplier); number("@rules.blockdamagemultiplier", f -> rules.blockDamageMultiplier = f, () -> rules.blockDamageMultiplier); @@ -162,7 +162,7 @@ public class CustomRulesDialog extends BaseDialog{ check("@rules.unitammo", b -> rules.unitAmmo = b, () -> rules.unitAmmo); number("@rules.unithealthmultiplier", f -> rules.unitHealthMultiplier = f, () -> rules.unitHealthMultiplier); number("@rules.unitdamagemultiplier", f -> rules.unitDamageMultiplier = f, () -> rules.unitDamageMultiplier); - number("@rules.unitbuildspeedmultiplier", f -> rules.unitBuildSpeedMultiplier = f, () -> rules.unitBuildSpeedMultiplier, 0.00001f, 100f); + number("@rules.unitbuildspeedmultiplier", f -> rules.unitBuildSpeedMultiplier = f, () -> rules.unitBuildSpeedMultiplier, 0.001f, 50f); title("@rules.title.enemy"); check("@rules.attack", b -> rules.attackMode = b, () -> rules.attackMode); diff --git a/core/src/mindustry/world/Build.java b/core/src/mindustry/world/Build.java index b450509c7b..62840ebd9b 100644 --- a/core/src/mindustry/world/Build.java +++ b/core/src/mindustry/world/Build.java @@ -71,6 +71,7 @@ public class Build{ tile.build.rotation = Mathf.mod(rotation, 4); tile.build.updateProximity(); tile.build.noSleep(); + Fx.rotateBlock.at(tile.build.x, tile.build.y, tile.build.block.size); return; } diff --git a/gradle.properties b/gradle.properties index f42373473e..b16e790ee1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=5e9176c3feefa5ee2f14b08f82da1f01f790e64a +archash=0f1967eae73429ade796500d5ec352c6a4d1d19d