From 125994482e8ac5a0c1713c856ab7ad9ee3b9bfe5 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 10 Jan 2022 22:52:22 -0500 Subject: [PATCH] Minor polish --- .../blocks/units/mech-assembler-in.png | Bin 0 -> 1166 bytes .../blocks/units/mech-assembler-side1.png | Bin 0 -> 770 bytes .../blocks/units/mech-assembler-side2.png | Bin 0 -> 765 bytes .../blocks/units/mech-assembler-top.png | Bin 0 -> 3206 bytes .../sprites/blocks/units/mech-assembler.png | Bin 0 -> 2898 bytes core/assets-raw/sprites/units/quell.png | Bin 3651 -> 3644 bytes core/src/mindustry/content/Blocks.java | 13 +++++++++---- .../turrets/ContinuousLiquidTurret.java | 10 +++++++++- .../defense/turrets/ContinuousTurret.java | 4 +++- core/src/mindustry/world/meta/StatValues.java | 16 +++++++++++++--- gradle.properties | 2 +- 11 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/units/mech-assembler-in.png create mode 100644 core/assets-raw/sprites/blocks/units/mech-assembler-side1.png create mode 100644 core/assets-raw/sprites/blocks/units/mech-assembler-side2.png create mode 100644 core/assets-raw/sprites/blocks/units/mech-assembler-top.png create mode 100644 core/assets-raw/sprites/blocks/units/mech-assembler.png diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-in.png b/core/assets-raw/sprites/blocks/units/mech-assembler-in.png new file mode 100644 index 0000000000000000000000000000000000000000..d411cbd4cd4ca868a197c1a080dd4536e62b33a4 GIT binary patch literal 1166 zcmW-hdrVVT9LH~gj`Aq9r5z5cv;~n2d2GxVaw1bt+ve?u~h2eJY{8bw|46*t#j_Y<+aZur!`Ev;1)_^a5-j!k3w9*eUBn?VrADP*YB z=gu>XH8LJXzDm?MGGKhqOCN;L)wVEB<2IIi$YE)KNhl@}JHMTU_A{j8I+R0`DBI;I zFR!9}(2Mfc2Ff-C%K9}xSalQS4KvEft0=v0qhvitNwuPkXhOMX6j1%qB1-la%DW6q z0*vg`VFQSCAqAhz;EK{%oLZbEM+Sv7or_{edC+GZE0kmBzwzgi@vkCPSfch;rg+OJ zV6mgl6O65O4);9uhZwDwE5#j_AfzmK0y9py(yIpRTcRO3#)vsLxmkuti1;+1`gEy3K{nnsr?iIPX%=j0VR< z$`0y4mj?cQ*JQ?{Bjw&;Y`z7f+A+0+ebpaGS7M}_-e^n^E&{Q;#dRQ7JpT!%^K%EJUsbucqG-u~eX~%L-w_m? z@$dn2^2J*i6j5oyiE9Qzp1#wr_z;z0&Uj53o-ad&lj28L(qv7G<`b9mn{v|9XK8>!pX?F10FN##r6$IfUmY~ zlPS3a6NH@cei4Ny%Dm@rQu%$sbQ|-?jpZ3!);d7~4xwN=`wQ*<*)eU6E}6uFqYix0 zrWc!IEL#2WRiKh_;k2Xc+xi{P50Wh)a` zY*S||uvv~2QgfPA9j=lKUXfBi%Ty9cdMdb=qmqRB2HWojw)-A$x@ETO30!^>yyi37 z#az&uYGysNoJzC7$ml91<=alQ0_NTJ+bSEak1JN!6vf*6v2Rj9 zQ)NltLACCJ6;PYM#DiKL#4*O;nt<$h3Zyy|NP^}dkj__u>>B}c?TK@Pts#)fF;-nr z0GZwiWM&Pg%Vpl? f>Hq%#5VZQI&+9wCoNf7`Fb6g9v5D{?H&^l>NBrWn literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-side1.png b/core/assets-raw/sprites/blocks/units/mech-assembler-side1.png new file mode 100644 index 0000000000000000000000000000000000000000..07a26a13183968aa09657897ac72bd0e26e9cb49 GIT binary patch literal 770 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fjKx9jP7LeL$-HD>VA|v9;uumf z=k49Sxgw4-#~zBiu%|2uIVjrrLn^1rd~?~MMt z2cK0wx_s-P|K?kBXa83Pnu-Y)?~(Y+|G}pA=g*gAXP>iplxIKoX7NZ@{iw>cWbvgR zLX4L@eQP{FZTfD1=>PMA(m>I8B?qakN2c#!z5F1tM*iM@&3$bQD~+~(n(FpK%xB}_ zpEsZ6et+E`?|OX`Q_z#Rn)h-3b$M^SG#tXLcYZQ;1JW~hzuo4d;qdHn)M_Iq#z`r+ zIr8<^t6P5-@tO4G+3oMXVvBbIt^G9po}k{*=^PW-t6X=e?Q?0Eb3y9iEue(aLbF4Y zehB#=)X}K4TGtuYpc5thFwFlV$ZH2KKYyyY+tSq5vEfZpR!KX<%{zDQNHA_%xpbi` zQ;Ko6S{mmBUx|yS4cxv2t^LOEYwo3oE=*4{-h=Er-tj}IeUiuTkd|9NCOru~E&uGL zwBY^Y+voR}$7w5EjRFSCi9WewKo`xO)1@z{U_ApwHgirmdp7qh=Y&`vR}F`B-MiYubu6Iv>iM zPO)IWEO{=2ug!Q)$3w4qeT+b_G(11togtR{v-v7hO4!LSYi4oGEXzyCY+-sb@!G5%E?l^nei}ndn^8$)H)Hf9M!61cDwG)Ro;<-ghL}K=j$S8ea7z zbN={^66cS-d#CgzdnQj|apm1D9g&PL7nQwgWO%tu&57|+D9{B`d}JL2DiB#^wPtDnm{r-UW|f*4K) literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-side2.png b/core/assets-raw/sprites/blocks/units/mech-assembler-side2.png new file mode 100644 index 0000000000000000000000000000000000000000..c7677e0b77a55dd58d01fb60e1dccac88f19733a GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fjKx9jP7LeL$-HD>VA}5K;uumf z=k49yxgvoQZ4dcf*rzy%?%)>ED(HE_CUc=d^|&6xM1{bXm4`GXO=qyI?oIA7jqha{>*;00%VIyZvW~Tei7h{@wK&zlM_SX8T+kO2UNVl^m?Jdi4br z=3Y56U1fdse}RAY>EX{qKdLe<3G}Y%bT;7ad-VI`>L1oD9#caFodO#=GT(Um2^oJ1RCztgc*N;r+m>?Xb93u^MmD&}z2%-2# zIx|>R(~p~8(l#AKw%M_jn`sh~FvDKF8(pJ7a6t)DMlK6PWvx4d<{2RerOXbiTk$)o@PkOrG>) ztHY9K4;Hiu8^)ZxX$bPlhoT(5t1X*UoESe%f7ZFOeob#cgUpw%_XlTjuzF1T_t7?@>q4r;t|R8V(<{=} zZ(xXAT6Or>A-7V-O}AEZL_hLo@mP3VaN99p@N!)*pZ?tzB(n76=IFznH%Ekc-j5zuNtb*WE=- T*RWM3gXBD2{an^LB{Ts5as)PI literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-top.png b/core/assets-raw/sprites/blocks/units/mech-assembler-top.png new file mode 100644 index 0000000000000000000000000000000000000000..18b76fc0624afe3145e6d592c0604c3840b1a93f GIT binary patch literal 3206 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 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler.png b/core/assets-raw/sprites/blocks/units/mech-assembler.png new file mode 100644 index 0000000000000000000000000000000000000000..bf54cf6950078560e7b40538b78fc9026d9dbea5 GIT binary patch literal 2898 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 diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 63a83f4245..f0ede69604 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -132,6 +132,7 @@ public class Blocks{ //unit - erekir tankAssembler, shipAssembler, + mechAssembler, basicAssemblerModule, //payloads @@ -2993,7 +2994,7 @@ public class Blocks{ //TODO bad name sublimate = new ContinuousLiquidTurret("sublimate"){{ //TODO requirements - requirements(Category.turret, with(Items.tungsten, 150, Items.silicon, 160, Items.oxide, 50, Items.beryllium, 200)); + requirements(Category.turret, with(Items.tungsten, 150, Items.silicon, 160, Items.oxide, 50, Items.beryllium, 250)); draw = new DrawTurret("reinforced-"){{ @@ -3035,15 +3036,17 @@ public class Blocks{ //TODO balance, set up, where is liquid/sec displayed? status effects maybe? ammo( Liquids.ozone, new ContinuousFlameBulletType(){{ - damage = 7f; + damage = 9f; length = range; + knockback = 1f; colors = new Color[]{Color.valueOf("eb7abe").a(0.55f), Color.valueOf("e189f5").a(0.7f), Color.valueOf("907ef7").a(0.8f), Color.valueOf("91a4ff"), Color.white}; }}, Liquids.cyanogen, new ContinuousFlameBulletType(){{ - damage = 14f; - rangeChange = 50f; + damage = 20f; + rangeChange = 70f; length = range + rangeChange; + knockback = 2f; colors = new Color[]{Color.valueOf("465ab8").a(0.55f), Color.valueOf("66a6d2").a(0.7f), Color.valueOf("89e8b6").a(0.8f), Color.valueOf("cafcbe"), Color.white}; flareColor = Color.valueOf("89e8b6"); @@ -3312,6 +3315,8 @@ public class Blocks{ }}; + //TODO mech assembler + basicAssemblerModule = new UnitAssemblerModule("basic-assembler-module"){{ requirements(Category.units, with(Items.graphite, 10)); consumes.power(0.5f); diff --git a/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java index 7db7a37198..496b549f89 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ContinuousLiquidTurret.java @@ -33,12 +33,14 @@ public class ContinuousLiquidTurret extends ContinuousTurret{ super.setStats(); stats.remove(Stat.ammo); + //TODO looks bad + stats.add(Stat.ammo, StatValues.number(liquidConsumed * 60f, StatUnit.perSecond, true)); stats.add(Stat.ammo, StatValues.ammo(ammoTypes)); } @Override public void init(){ - //TODO use ammoMultiplier here? + //TODO display ammoMultiplier. consumes.add(new ConsumeLiquidFilter(i -> ammoTypes.containsKey(i), liquidConsumed){ @Override public boolean valid(Building build){ @@ -49,6 +51,12 @@ public class ContinuousLiquidTurret extends ContinuousTurret{ public void display(Stats stats){ } + + @Override + protected float use(Building entity){ + BulletType type = ammoTypes.get(entity.liquids.current()); + return Math.min(amount * entity.edelta(), entity.block.liquidCapacity) / (type == null ? 1f : type.ammoMultiplier); + } }); super.init(); diff --git a/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java index 131eb496c9..750e443e0e 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ContinuousTurret.java @@ -27,6 +27,8 @@ public class ContinuousTurret extends Turret{ super.setStats(); stats.add(Stat.ammo, StatValues.ammo(ObjectMap.of(this, shootType))); + stats.remove(Stat.reload); + stats.remove(Stat.inaccuracy); } public class ContinuousTurretBuild extends TurretBuild{ @@ -107,7 +109,7 @@ public class ContinuousTurret extends Turret{ return; } - if(consValid() && !charging){ + if(cons.canConsume() && !charging){ shoot(peekAmmo()); } } diff --git a/core/src/mindustry/world/meta/StatValues.java b/core/src/mindustry/world/meta/StatValues.java index 3c2bb8a291..064bd095aa 100644 --- a/core/src/mindustry/world/meta/StatValues.java +++ b/core/src/mindustry/world/meta/StatValues.java @@ -34,15 +34,25 @@ public class StatValues{ return table -> table.add(!value ? "@no" : "@yes"); } - public static StatValue number(float value, StatUnit unit){ + public static StatValue number(float value, StatUnit unit, boolean merge){ return table -> { int precision = Math.abs((int)value - value) <= 0.001f ? 0 : Math.abs((int)(value * 10) - value * 10) <= 0.001f ? 1 : 2; - table.add(Strings.fixed(value, precision)); - table.add((unit.space ? " " : "") + unit.localized()); + String l1 = Strings.fixed(value, precision), l2 = (unit.space ? " " : "") + unit.localized(); + + if(merge){ + table.add(l1 + l2); + }else{ + table.add(l1); + table.add(l2); + } }; } + public static StatValue number(float value, StatUnit unit){ + return number(value, unit, false); + } + public static StatValue liquid(Liquid liquid, float amount, boolean perSecond){ return table -> table.add(new LiquidDisplay(liquid, amount, perSecond)); } diff --git a/gradle.properties b/gradle.properties index e1dd9f2cec..a9f9f23a74 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,4 +24,4 @@ android.useAndroidX=true #used for slow jitpack builds; TODO see if this actually works org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 -archash=3bd873b8b7 +archash=368ccbfa7e