From e1bdb843de76a26e7575681734a91a47c3240efd Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 14 Feb 2022 14:45:45 -0500 Subject: [PATCH] Unit build req changes --- .../blocks/units/prime-control-core.png | Bin 0 -> 2169 bytes core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 4175 -> 4195 bytes core/src/mindustry/content/Blocks.java | 33 ++++++++++++------ .../src/mindustry/content/ErekirTechTree.java | 5 +++ .../mindustry/entities/effect/SeqEffect.java | 1 + core/src/mindustry/world/Block.java | 5 ++- .../world/blocks/units/ControlCore.java | 10 ++++++ 8 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/units/prime-control-core.png create mode 100644 core/src/mindustry/world/blocks/units/ControlCore.java diff --git a/core/assets-raw/sprites/blocks/units/prime-control-core.png b/core/assets-raw/sprites/blocks/units/prime-control-core.png new file mode 100644 index 0000000000000000000000000000000000000000..b1879a9ac70ed9d82b082bee1239e6e939513486 GIT binary patch literal 2169 zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEet-a{=M)2QhQ6eUr!D*=Puc5#PIQE!tJzqoU{9MEA7{u z|8;oQ&E0Iz)%redV=LWKxni;IqP3j8Y=6QZxvFt3gb4IlsFmH57Z+C^Jj(6OZa??` z&M?1umPQuUWmO?2ep4zqJC*um^}APENY3O;X0zG%`{mA;FO8c|*T+xh^9tHf^YQJT zD?1FzH+`G=#B*IgV^{LYBrU(r6D_kCJFYX#(n}z&4~3~!P9Ysd**=ya+7wZUp{y6tahH% z)T6KKJ%5)e8YTSxcD7mew4B^gCB0=o_dU5)rpDv_=;*4eufJ?N=Dgi5`Zv#=Jsf^Q zVrO18iMLjK_%7u0R9KpB z%_{iy>ABS!r$+~+8ScdYniXKOV0FcQj#tS}o;C>|oMugsn$S7_XYS>Mv~TOPUPbPy zNK9v(lGY^7KjTHDhp-c~*Q3N={l%ujMjs#WHoOTsAmg9HpfiP2nb~a39pi|)yVq9T zDf+uk%Tp-Svbb#84&{_XN2T}6Ty>4nWL}WM)F1nFUHCkO7(0=^)>8~eqQi8flkNGI z)!Byq*4bzG*Kf7x;`SD$MUoATH+2|V6iytz+~~ff)#{+3jCD=H_0`G#jQI@dw~K#$ zcMhF;jnmF^e}+)7`aa1sadEM|CwFZ7^WpKs4-;=+Z<)l{z!U2FYo#)TAy60-x{;zo@w$`+p&r7##=bDDACCc}|JF}1L`HS65hd2$6$ zuJY>C$lUN~;Yo%W{hTqkMYcVAvi^|K+^S{!B+fD%;nr_CuM(nET~hV2Vd6a&>3D(3 zH{{Z0?tfmf=ybsG2w^SenhzQpr79v9UH5EI`|(38N$7U4k)ja45ktzMg1g5$Kh93r z^mF077M+zVrP zQrE3bGj?Zo>P+y-m~2xkFw0T8)+syNz``csrKcx{@6YZ%!NX9r_8Mc&i4L9*KNNV*h|KP&{Q_4U&&%eUI77rXW}G z@BDR^++}a>IqGyUzF}1=cNJ;L&yVC^kum#ZZ-3Iveoi5MgM(uGbDy7l^3gnlTYXg& zyFo@;lR3jjxpPJ!$NG!!sqo*jYkqqkaCNsV6i|7Kn6YPky=bkk{E}2bPozZt~rt`Y+UlH_fr=tJA8BakQea_>&*W9I5_2Zr^g~C5z8; z*-k2Q689g4x31w>UCMCXw5i3s;rurv0hz-aB~@PLuXu3%b<@?^>O%Sw^?w)LO+NJC z#LD#*D-(GgY(m&RuqkTQO?OTD(`8(p$r_t&GSeWQSzzYD>nU?2{?A|9zpsArshN9n z6ZamhZBue%i{Ow_y?4ANV~(D2LyVGu{u<7X{u9@D7cx3L(D=Dd?T6u__3K!V6&%xf z@^IrLRyCi$Ki}^Uvzb}p!OPH8&3NG&%lVU?zRu^-qN)Dm{}vhUOH_d9bctf!$OPMdi_ zKj%b^`8^N%r=6L$t<_s+k*3-s*R-Z1hfgrP$Z`rcYFhH=N^aAACX2`Of_xrT?BNWv zxx&++r#5Ahpx3I^jCZ^}?#-TXG-M9Pv4=%B{{PySbu0Q9Ps28~4Zh!kXBoRYh+aI- zaKWPLY?4{whr8y-k2q&AY%x?6Iy$qv1soe_4&S`YEFJcTZYCHg`N8O`4*FD<&?}Cb)6mP@-Q!PF|WzRPMyWsXG!9d~< avy+p+^clOvA2Kj7FnGH9xvX { + //auto-unlock? + node(primeControlCore, () -> { + + }); + node(UnitTypes.vanquish, () -> { node(UnitTypes.conquer, Seq.with(tmpNever), () -> { diff --git a/core/src/mindustry/entities/effect/SeqEffect.java b/core/src/mindustry/entities/effect/SeqEffect.java index 0ac1179cac..4d2398e0ad 100644 --- a/core/src/mindustry/entities/effect/SeqEffect.java +++ b/core/src/mindustry/entities/effect/SeqEffect.java @@ -5,6 +5,7 @@ import mindustry.entities.*; /** * Renders multiple particle effects in sequence. * Will not work correctly for effects that modify life dynamically. + * Z layer of child effects is ignored. * */ public class SeqEffect extends Effect{ public Effect[] effects = {}; diff --git a/core/src/mindustry/world/Block.java b/core/src/mindustry/world/Block.java index 3b0ea6b32d..b0a07abca6 100644 --- a/core/src/mindustry/world/Block.java +++ b/core/src/mindustry/world/Block.java @@ -282,6 +282,8 @@ public class Block extends UnlockableContent implements Senseable{ public Effect destroyEffect = Fx.dynamicExplosion; /** Multiplier for cost of research in tech tree. */ public float researchCostMultiplier = 1; + /** Cost multipliers per-item. */ + public ObjectFloatMap researchCostMultipliers = new ObjectFloatMap<>(); /** Whether this block has instant transfer.*/ public boolean instantTransfer = false; /** Whether you can rotate this block after it is placed. */ @@ -887,9 +889,10 @@ public class Block extends UnlockableContent implements Senseable{ @Override public ItemStack[] researchRequirements(){ + if(researchCostMultiplier <= 0f) return ItemStack.empty; ItemStack[] out = new ItemStack[requirements.length]; for(int i = 0; i < out.length; i++){ - int quantity = 60 + Mathf.round(Mathf.pow(requirements[i].amount, 1.11f) * 20 * researchCostMultiplier, 10); + int quantity = 60 + Mathf.round(Mathf.pow(requirements[i].amount, 1.11f) * 20 * researchCostMultiplier * researchCostMultipliers.get(requirements[i].item, 1f), 10); out[i] = new ItemStack(requirements[i].item, UI.roundAmount(quantity)); } diff --git a/core/src/mindustry/world/blocks/units/ControlCore.java b/core/src/mindustry/world/blocks/units/ControlCore.java new file mode 100644 index 0000000000..8f349c7e6f --- /dev/null +++ b/core/src/mindustry/world/blocks/units/ControlCore.java @@ -0,0 +1,10 @@ +package mindustry.world.blocks.units; + +import mindustry.world.*; + +public class ControlCore extends Block{ + + public ControlCore(String name){ + super(name); + } +}