From 21f3a053ed4f294f3edd853fff2e3a71db8fa5fa Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 3 Mar 2019 19:54:20 -0500 Subject: [PATCH] Impact map balance / Block balance / Editor block sorting --- core/assets/maps/impact0079.mmap | Bin 515260 -> 515260 bytes .../io/anuke/mindustry/content/Blocks.java | 4 ++-- .../src/io/anuke/mindustry/content/Zones.java | 4 ++-- .../mindustry/editor/MapEditorDialog.java | 13 ++++++++++--- core/src/io/anuke/mindustry/type/Loadout.java | 2 +- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/core/assets/maps/impact0079.mmap b/core/assets/maps/impact0079.mmap index 9c45ae297c2e078d796a2ca6c4d8ea1033e0d054..0353276104fd2f0a1bb3d372fc2f9ac42dbee6d6 100644 GIT binary patch delta 1046 zcmZuw-%Aux6rOwUxehyv?&xH#TkX2##)3rlUTOtu>aU zAC^$=$&A=HH=*z$8U&^3Kd^@$!XTr!?1%Oe(a&>d*VUC4=3{5(JLi1&JKxMqhi0Zj z$rMZRlz0XyKh7DvDm}{#Z2iK$xBvp|=YDvkW2S;j9Qg(GW|T<`4S+AliM-C4T_Yy4QS=AfBE!MtUS2&DK+>o4E1O>K?l}N$bFdc$tX^Z!%j@@ zl2y2WUgf=4`fw@@L9A{TL7e+Tu=HJ2p*cX$sJ02?=V{xaI3=p{H20$u;30Iz!Ajp` z4R@EWCb0dmp0ML(99X(b9K_Byd=D-JXjbyJY)X%^;ApE1VBHhB4b3QQ$EkTK?JNDz z&-`u@+;pr7hB75-%C%?u`%-x9=F4zT$M|Q6<~~#9l)d>HjOlsZj_~0-5XR8rFwiCG MDzO)b^;bv#0hFB(b^rhX delta 691 zcmZWm&ubGw6wb`N$&fAWrf!s&(rl^Jrl=SSHHf8IJ;Z`wD-^_wNiY6@qPf&ojk=X! zP>BY#dDaHWtyNI=AdZ!S`WJ|Z2kj-rV?}x`B07^53-&PIz`Xap_kG_iFWJjWwp%1c zT4XPw7)56X?84C>v;`Z$K)#B?6M^Xs_V+Qp%GzY53+@YaYTUq_$NDh*ivnIOfgy7V z7!#PQL1Y`5B7q)K(tspjkp+S$3ebo7Ua;@(xvgPN!&8DYH8s>bNaH>wyhuY>7+{9{oQ4s_8*B2e zXdQPnJl61R3$M9q{wT~ScN?r1E8R5m|HR1=nA%cq5)Yl!MDGn)em3hLRBDY+Jcyfm zwr4fFewFRj!%aWwW~hxba7kb|0o-RN`)R*lR`G@~zK06@-pX3#+Y4}3V3$V^|NEy9 zcD_*MZ)F(3a0bp}a)A$G-Q)@M=3yVY`}s~BS^>3hnwwZJL#j&jyP+h6uR&b1GU!Y& z18qlTo*$=Cd>5m3wF9i`U6OjRelv@?VUd+i8wFCGWJfUng&x30Of7Nm@l17=#Aio& z43p1!xAtNBJ}MK;ls5`cAX@XFule_T7Lv!V!$X0}XJXT*?6?JUD&E)1e6o}A(pnkR N(RWa;mBq*7e*i3v*!2Ja diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index a0405e29b2..76d9c8742b 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -450,7 +450,7 @@ public class Blocks implements ContentList{ Items.titanium, 2 ); hasPower = true; - filterTime = 30f; + filterTime = 35f; spinnerLength = 1.5f; spinnerRadius = 3.5f; spinnerThickness = 1.5f; @@ -458,7 +458,7 @@ public class Blocks implements ContentList{ size = 2; consumes.power(1f); - consumes.liquid(Liquids.slag, 0.09f); + consumes.liquid(Liquids.slag, 0.07f); }}; cultivator = new Cultivator("cultivator"){{ diff --git a/core/src/io/anuke/mindustry/content/Zones.java b/core/src/io/anuke/mindustry/content/Zones.java index ae5d55ada9..d2bd4d6b73 100644 --- a/core/src/io/anuke/mindustry/content/Zones.java +++ b/core/src/io/anuke/mindustry/content/Zones.java @@ -361,11 +361,11 @@ public class Zones implements ContentList{ ).drops(ItemStack.with(Items.copper, 2000, Items.lead, 1500, Items.silicon, 1000, Items.graphite, 2000, Items.pyratite, 2000, Items.titanium, 2000, Items.metaglass, 1000, Items.coal, 2000))){{ loadout = Loadouts.basicFoundation; baseLaunchCost = ItemStack.with(Items.copper, 500, Items.lead, 500, Items.silicon, 100); - startingItems = ItemStack.list(Items.copper, 2000, Items.lead, 500, Items.silicon, 200); + startingItems = ItemStack.list(Items.copper, 2000, Items.lead, 500, Items.silicon, 200, Items.titanium, 400, Items.graphite, 200); itemRequirements = ItemStack.with(Items.silicon, 8000, Items.titanium, 6000, Items.graphite, 4000); conditionWave = 20; zoneRequirements = new Zone[]{stainedMountains}; - blockRequirements = new Block[]{Blocks.launchPad, Blocks.unloader}; + blockRequirements = new Block[]{Blocks.launchPad, Blocks.unloader, Blocks.melter, Blocks.separator}; resources = new Item[]{Items.scrap}; rules = () -> new Rules(){{ waves = true; diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index c13113a814..ab494b556a 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -29,6 +29,7 @@ import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Block.Icon; import io.anuke.mindustry.world.blocks.OreBlock; +import io.anuke.mindustry.world.blocks.storage.CoreBlock; import java.io.DataInputStream; import java.io.InputStream; @@ -503,9 +504,15 @@ public class MapEditorDialog extends Dialog implements Disposable{ blocksOut.clear(); blocksOut.addAll(Vars.content.blocks()); - blocksOut.sort((b1, b2) -> b1.synthetic() && !b2.synthetic() ? 1 : b2.synthetic() && !b1.synthetic() ? -1 : - b1 instanceof OreBlock && !(b2 instanceof OreBlock) ? 1 : !(b1 instanceof OreBlock) && b2 instanceof OreBlock ? -1 : - Integer.compare(b1.id, b2.id)); + blocksOut.sort((b1, b2) -> { + int core = -Boolean.compare(b1 instanceof CoreBlock, b2 instanceof CoreBlock); + if(core != 0) return core; + int synth = Boolean.compare(b1.synthetic(), b2.synthetic()); + if(synth != 0) return synth; + int ore = Boolean.compare(b1 instanceof OreBlock, b2 instanceof OreBlock); + if(ore != 0) return ore; + return Integer.compare(b1.id, b2.id); + }); for(Block block : blocksOut){ TextureRegion region = block.icon(Icon.medium); diff --git a/core/src/io/anuke/mindustry/type/Loadout.java b/core/src/io/anuke/mindustry/type/Loadout.java index 5095a5a87c..312a5b4d4e 100644 --- a/core/src/io/anuke/mindustry/type/Loadout.java +++ b/core/src/io/anuke/mindustry/type/Loadout.java @@ -56,7 +56,7 @@ public class Loadout extends Content{ char c = layout[y].charAt(x); if(entries.containsKey(c)){ BlockEntry entry = entries.get(c); - blocks.put(Pos.get(x - coreX, layout.length - 1 - (y - coreY)), entry); + blocks.put(Pos.get(x - coreX, -(y - coreY)), entry); } } }