diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index cc46a7277d..34336515c2 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -986,7 +986,7 @@ bullet.infinitepierce = [stat]pierce bullet.healpercent = [stat]{0}[lightgray]% repair bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier -bullet.reload = [stat]{0}[lightgray]x fire rate +bullet.reload = [stat]{0}%[lightgray] fire rate bullet.range = [stat]{0}[lightgray] tiles range unit.blocks = blocks diff --git a/core/src/mindustry/core/UI.java b/core/src/mindustry/core/UI.java index 01ada2fe4b..da49916c59 100644 --- a/core/src/mindustry/core/UI.java +++ b/core/src/mindustry/core/UI.java @@ -127,6 +127,7 @@ public class UI implements ApplicationListener, Loadable{ Colors.put("unlaunched", Color.valueOf("8982ed")); Colors.put("highlight", Pal.accent.cpy().lerp(Color.white, 0.3f)); Colors.put("stat", Pal.stat); + Colors.put("negstat", Pal.negativeStat); drillCursor = Core.graphics.newCursor("drill", Fonts.cursorScale()); unloadCursor = Core.graphics.newCursor("unload", Fonts.cursorScale()); diff --git a/core/src/mindustry/graphics/Pal.java b/core/src/mindustry/graphics/Pal.java index 2929741cf1..9b56be524b 100644 --- a/core/src/mindustry/graphics/Pal.java +++ b/core/src/mindustry/graphics/Pal.java @@ -75,6 +75,7 @@ public class Pal{ bar = Color.slate, accent = Color.valueOf("ffd37f"), stat = Color.valueOf("ffd37f"), + negativeStat = Color.valueOf("e55454"), gray = Color.valueOf("454545"), metalGrayDark = Color.valueOf("6e7080"), accentBack = Color.valueOf("d4816b"), diff --git a/core/src/mindustry/world/meta/StatValues.java b/core/src/mindustry/world/meta/StatValues.java index b6f3371582..78bd1ed582 100644 --- a/core/src/mindustry/world/meta/StatValues.java +++ b/core/src/mindustry/world/meta/StatValues.java @@ -351,11 +351,11 @@ public class StatValues{ if(type.buildingDamageMultiplier != 1){ int val = (int)(type.buildingDamageMultiplier * 100 - 100); - sep(bt, Core.bundle.format("bullet.buildingdamage", (val > 0 ? "+" : "") + val)); + sep(bt, Core.bundle.format("bullet.buildingdamage", ammoStat(val))); } if(type.rangeChange != 0 && !compact){ - sep(bt, Core.bundle.format("bullet.range", (type.rangeChange > 0 ? "+" : "-") + Strings.autoFixed(type.rangeChange / tilesize, 1))); + sep(bt, Core.bundle.format("bullet.range", ammoStat(type.rangeChange / tilesize))); } if(type.splashDamage > 0){ @@ -367,7 +367,8 @@ public class StatValues{ } if(!compact && !Mathf.equal(type.reloadMultiplier, 1f)){ - sep(bt, Core.bundle.format("bullet.reload", Strings.autoFixed(type.reloadMultiplier, 2))); + int val = (int)(type.reloadMultiplier * 100 - 100); + sep(bt, Core.bundle.format("bullet.reload", ammoStat(val))); } if(type.knockback > 0){ @@ -425,6 +426,11 @@ public class StatValues{ table.add(text); } + //for AmmoListValue + private static String ammoStat(float val){ + return (val > 0 ? "[stat]+" : "[negstat]") + Strings.autoFixed(val, 1); + } + private static TextureRegion icon(UnlockableContent t){ return t.uiIcon; }