diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 651576c3de..d76a792534 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -652,6 +652,8 @@ bullet.homing = [stat]homing bullet.shock = [stat]shock bullet.frag = [stat]frag bullet.knockback = [stat]{0}[lightgray] knockback +bullet.pierce = [stat]{0}[lightgray] pierce +bullet.infinitepierce = [stat]pierce bullet.freezing = [stat]freezing bullet.tarred = [stat]tarred bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier diff --git a/core/src/mindustry/world/blocks/ItemSelection.java b/core/src/mindustry/world/blocks/ItemSelection.java index 921808eb08..f2c0b73084 100644 --- a/core/src/mindustry/world/blocks/ItemSelection.java +++ b/core/src/mindustry/world/blocks/ItemSelection.java @@ -15,6 +15,10 @@ public class ItemSelection{ private static float scrollPos = 0f; public static void buildTable(Table table, Seq items, Prov holder, Cons consumer){ + buildTable(table, items, holder, consumer, true); + } + + public static void buildTable(Table table, Seq items, Prov holder, Cons consumer, boolean closeSelect){ ButtonGroup group = new ButtonGroup<>(); group.setMinCheckCount(0); @@ -26,7 +30,9 @@ public class ItemSelection{ for(T item : items){ if(!item.unlockedNow()) continue; - ImageButton button = cont.button(Tex.whiteui, Styles.clearToggleTransi, 24, () -> control.input.frag.config.hideConfig()).group(group).get(); + ImageButton button = cont.button(Tex.whiteui, Styles.clearToggleTransi, 24, () -> { + if(closeSelect) control.input.frag.config.hideConfig(); + }).group(group).get(); button.changed(() -> consumer.get(button.isChecked() ? item : null)); button.getStyle().imageUp = new TextureRegionDrawable(item.icon(Cicon.small)); button.update(() -> button.setChecked(holder.get() == item)); diff --git a/core/src/mindustry/world/meta/values/AmmoListValue.java b/core/src/mindustry/world/meta/values/AmmoListValue.java index d0d8624ea9..359b958a96 100644 --- a/core/src/mindustry/world/meta/values/AmmoListValue.java +++ b/core/src/mindustry/world/meta/values/AmmoListValue.java @@ -50,6 +50,10 @@ public class AmmoListValue implements StatValue{ sep(bt, Core.bundle.format("bullet.knockback", Strings.fixed(type.knockback, 1))); } + if(type.pierce || type.pierceCap != -1){ + sep(bt, type.pierceCap == -1 ? "@bullet.infinitepierce" : Core.bundle.format("bullet.pierce", type.pierceCap)); + } + if((type.status == StatusEffects.burning || type.status == StatusEffects.melting) || type.incendAmount > 0){ sep(bt, "@bullet.incendiary"); } diff --git a/servers.json b/servers.json index 6ee33c6d30..5990afd487 100644 --- a/servers.json +++ b/servers.json @@ -35,6 +35,9 @@ { "address": "aamindustry.play.ai:6568" }, + { + "address": "aamindustry.play.ai:6569" + }, { "address": "aamindustry.play.ai:6570" }, @@ -73,5 +76,11 @@ }, { "address": "pandorum.su:9999" + }, + { + "address": "mindustryranked.ddns.net" + }, + { + "address": "attack.pearkin.net" } ] diff --git a/servers_be.json b/servers_be.json index 312bc9da30..ae667423c5 100644 --- a/servers_be.json +++ b/servers_be.json @@ -8,7 +8,13 @@ { "address": "md.surrealment.com" }, + { + "address": "routerchain.ddns.net" + }, { "address": "mindustry.pl:6660" + }, + { + "address": "be.wayzer.cf" } ]