From c6588659074949bef7ecd4a6e13ea773257114c1 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 25 Jan 2021 17:21:12 -0500 Subject: [PATCH] Dynamic lightning damage tweaks --- core/src/mindustry/entities/Damage.java | 6 +++--- core/src/mindustry/entities/comp/UnitComp.java | 2 +- core/src/mindustry/logic/LogicDialog.java | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/src/mindustry/entities/Damage.java b/core/src/mindustry/entities/Damage.java index 9ddca6e986..e332af5a50 100644 --- a/core/src/mindustry/entities/Damage.java +++ b/core/src/mindustry/entities/Damage.java @@ -39,9 +39,9 @@ public class Damage{ /** Creates a dynamic explosion based on specified parameters. */ public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, boolean damage, boolean fire, @Nullable Team ignoreTeam){ if(damage){ - for(int i = 0; i < Mathf.clamp(power / 20, 0, 6); i++){ - int branches = 5 + Mathf.clamp((int)(power / 30), 1, 20); - Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.derelict, Pal.power, 3, x, y, Mathf.random(360f), branches + Mathf.range(2))); + for(int i = 0; i < Mathf.clamp(power / 700, 0, 8); i++){ + int length = 5 + Mathf.clamp((int)(power / 500), 1, 20); + Time.run(i * 0.8f + Mathf.random(4f), () -> Lightning.create(Team.derelict, Pal.power, 3, x, y, Mathf.random(360f), length + Mathf.range(2))); } if(fire){ diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index 69ffc86426..8b0dbc67fe 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -411,7 +411,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I float explosiveness = 2f + item().explosiveness * stack().amount * 1.53f; float flammability = item().flammability * stack().amount / 1.9f; - float power = item().charge * stack().amount * 160f; + float power = item().charge * stack().amount * 150f; if(!spawnedByCore){ Damage.dynamicExplosion(x, y, flammability, explosiveness, power, bounds() / 2f, state.rules.damageExplosions, item().flammability > 1, team); diff --git a/core/src/mindustry/logic/LogicDialog.java b/core/src/mindustry/logic/LogicDialog.java index dd12b9cca3..df37f8cb4b 100644 --- a/core/src/mindustry/logic/LogicDialog.java +++ b/core/src/mindustry/logic/LogicDialog.java @@ -35,6 +35,11 @@ public class LogicDialog extends BaseDialog{ p.table(Tex.button, t -> { TextButtonStyle style = Styles.cleart; t.defaults().size(280f, 60f).left(); + + t.button("@schematic.copy", Icon.copy, style, () -> { + dialog.hide(); + Core.app.setClipboardText(canvas.save()); + }).marginLeft(12f); t.row(); t.button("@schematic.copy.import", Icon.download, style, () -> { dialog.hide(); @@ -44,11 +49,6 @@ public class LogicDialog extends BaseDialog{ ui.showException(e); } }).marginLeft(12f).disabled(b -> Core.app.getClipboardText() == null); - t.row(); - t.button("@schematic.copy", Icon.copy, style, () -> { - dialog.hide(); - Core.app.setClipboardText(canvas.save()); - }).marginLeft(12f); }); });