From b10a146cd9af8040a8305b5bb88344947b826ffb Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 20 Oct 2022 13:53:07 -0400 Subject: [PATCH] Achievement finalizations --- core/assets-raw/sprites/ui/alphaaaa.png | Bin 1075 -> 10765 bytes core/src/mindustry/game/EventType.java | 9 +++ core/src/mindustry/service/Achievement.java | 52 +++++++++--------- core/src/mindustry/service/GameService.java | 8 ++- .../mindustry/ui/fragments/ChatFragment.java | 3 + gradle.properties | 2 +- 6 files changed, 47 insertions(+), 27 deletions(-) diff --git a/core/assets-raw/sprites/ui/alphaaaa.png b/core/assets-raw/sprites/ui/alphaaaa.png index 2a9499f0b1e201172eb76caa11f3d18db463cb2b..36c7491b119ac0af89639f3357317358e2556c1e 100644 GIT binary patch literal 10765 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%0AIVBe%o&;w?_*DODkFQP? zl$c2{Cp0-mYk6Xg{K}IcbCN_l1_hqWo7ogjjRuyjj71V?x~q*S%^|zsy*g_#yFGeN2?AqludC!e3)3pnqg@4_=V_j}WYD;sZ z_={hf;VRGHuY1ydYRyFT%Kpce%Xi6~F}6x!Y5&!+=5;9lOP_zMcq7j%H?j&Sb${Kn zH#|_(s;XgO9p|}4v3pqan6li@OLE>TcF1L(5$e(T{qj0-K7;yG8_&D0ZGP_`rkbtP zdGxZ~`LOecmS1FM{4QmCu6o5I+BewJR zw;%o&9#4O;KlPZa>(-lbYSp>M1G+c&KM#EB|4Ki)hi$_R3A;<# z=WcsmGwyQM;``gMnD^GjIj^*@&U?BxEKMoa^v15XRn7O_UQ;-6Yi)3I#K-5SxwpQL z<2V$S-=QV^&;9YdZ+o^#FBV%SyVR+-YE{6yf3`E0z0G!F+21en>49;E<}!<{^26s1 zj~U%tbN_k7p8Dn6P9C`smYq-+B%Hl{lZ#{jyYkv0|Rl6e> zzI~YRg#F5^1yg1R^K(sH8lLYnRcnJmnb{6$5ANyS3(8soKHh5M{F@i>I@5Vlm~PX` z+rC)`maTG1{mwJ}wqkutL@@Up>z|kZ=<%;xdqkCcoB5mUkejRvt~_muQr3C>cEhhf z|6}KD`=9WliuL}a^AWF`(n~lNeBPXWhsV&HQO|MKioCOP4ix7d&3??^zvMG_$et~) z!^0i^-p#Kl{=^;_^M_HRYTx%++Y~>s-AO)}cdtG1KSO3LyIS$?*k!jGpDwYJmEZrR zdc_e3v#smgT)z7(wE42W`PXdgL#>=m`jeWakFVYtHN9L{c!kIM3s?3n)?JqT?8lcg z_t?ugRr4NwOv7mY=4gEM(jYCaG=ahs0dsXaL<_HIi7a$l zAsSU`u=5M|EQv`X;_e5xK6r3E>FU9wk>Tv&jskxe3QLNDN+t^ZpDq%0q@v(XfBAR0 z^7jo1i%*%X&X&1Qa{J7ZNlAM9mD=J38yo6eCQg`{dd4eAYTx76a*X@#9j%=9f2Y0s z`lt;O0s@`sGZJqdd3_{!_O^qS^CJ>cBUSCx<&0l89qEq=x2by^Q)GFF?;{I&Wrqs! zjBB#bf8QvarS9-Ta>u3H|9aUB{(4sJU3;{zVPEcpN4wT)Rv&oEXYeEC#IiSDin9(T z30BxI&OgP>yxk$?>g%;z`!BOAc*icyZ)kQ-*y3_C+wT3lmv7$QH(vX%j-kG-Xw4Mc znjNSSp)qkZA_gELv`$U?%D}+DmgMd3!tfsi7wla=nSp_Uv%n*=n1O*?7=#%aX3ddc zU|?V`@$_|Nf5s&uD8jN< zu5Q=V`~wSDuCY&ARJeOe!d4Nc4{wt9sut~xmk_io-j&2KZ-2xF2KQg?JO{2%RsC<9 z!FVlA|F~U2{%Z?{@^ja2I~9HU=FG4xKTfG{i9L(BZ-ni!1z193S-H+Dr zl^_3Nu2JOVlVN}GJ#F!x^7yq&zp3c|ayMArtfra5 zw#t~{O89fBC0Shs_ZxzzeM_F~&-lY2w(t9lb#AHDnB`Nh;{iK72lfA7yqug zoH)HAzZ|(qhF^J{Rdmm#aM7xz0U1#T!nzKAdwbaLib)@9&gJSqXVU&L8SVIz V9h7i4fq{X6!PC{xWt~$(6965Xjy(VX delta 1055 zcmeAT*~~FPxt_5u)7d$oILO_Jfk9(p?L=FT!wxb>Oz4C_Qn(DpEkS@QRkm zLZ_9YQKbeuzc^=Hny_St1=l)Oc6+hae0t}0S?%CzdcfW>d-mi--BW(-Uvfd|So7n$ zJ-ff}sAlK*Y7~67&(Ptjj`G}&?wfbIBr045oL{($*a{hcy%|!k#d-c?DZhOD`y`vw zzwgXn9DQ;&&xg(<#y;jck4hh{^!0we$6qE*)l<<9KW>V@e_(%uH0C zJWrWVxcjKtwA(YL@=UFmWU*+4)Kl)r>7wVN=UgqCYWn_Uyu_*O)7~-5EqhqRHgt%% zoLG^>oEp(_an-~mCEwqL{Pq7AJocaHt#+MF!tz;QBiG4~&HoR+&pUhQ$d1_}UCeX! zxBV4lW!mkqIPLcR&Aq!<@7>;?KCAxk zUxwQJqSaS#-R@>!U@Gu*aSVxQy*gumws4@#0egR|QUTUNk0VY(NB*feXZg4`xo(mu zn82s^>V<-c_(E1$t%w&vEUkS6;=9`gWn^sd`^p_C4f&&dv7V>FO@_f=%TY z7;2*9wmf>AF7Scj+WYwYs)NmIFEiZP9g&-#bpOeXyO9iP`SHyE%q8WUTYZ=sPGy}n znqg6XWmkQ|pU6{L+p~k73s2s(?S%B33*~EP?Ed*qpW)@&Ulj{hK2Cr8?fmw$$3y@3 zHp@56y>-py{sOb*k-tC5H59geD^(1tURraG;f$^hqoF|t$Bpkx#9B-0?=HF0H(^KB z%72H~Z@l&T{@1##+$>+!-P5J6i`6#EIx=2P|56|D>`2SL?Cw3{R}s@uwJ}*H+^gBpDQOp zd`Io7;<>&tPnJJp{IT_)Y=iyh{gTe~DWM4fo_Pg3 diff --git a/core/src/mindustry/game/EventType.java b/core/src/mindustry/game/EventType.java index 7c312b9293..eef20f54e3 100644 --- a/core/src/mindustry/game/EventType.java +++ b/core/src/mindustry/game/EventType.java @@ -182,6 +182,15 @@ public class EventType{ } } + /** Called when the client sends a chat message. This only fires clientside! */ + public static class ClientChatEvent{ + public final String message; + + public ClientChatEvent(String message){ + this.message = message; + } + } + /** Called when a sector is conquered, e.g. a boss or base is defeated. */ public static class SectorCaptureEvent{ public final Sector sector; diff --git a/core/src/mindustry/service/Achievement.java b/core/src/mindustry/service/Achievement.java index 3e4faacd3c..a959a95640 100644 --- a/core/src/mindustry/service/Achievement.java +++ b/core/src/mindustry/service/Achievement.java @@ -51,7 +51,7 @@ public enum Achievement{ circleConveyor, becomeRouter, create20Schematics(SStat.schematicsCreated, 20), - create500Schematics(SStat.schematicsCreated, 50), //TODO - Steam + create500Schematics(SStat.schematicsCreated, 50), //TODO - Steam - icon done survive10WavesNoBlocks, captureNoBlocksBroken, useFlameAmmo, @@ -63,24 +63,24 @@ public enum Achievement{ //TODO new ones - allTransportOneMap, //TODO - Steam - buildOverdrive, //TODO - Steam - buildMendProjector, //TODO - Steam - buildWexWater, //TODO - Steam + allTransportOneMap, //TODO - Steam - icon done + buildOverdriveProjector, //TODO - Steam - icon done + buildMendProjector, //TODO - Steam - icon done + buildWexWater, //TODO - Steam - icon done - have10mItems(SStat.totalCampaignItems, 10_000_000), //TODO - Steam - killEclipseDuo, //TODO - Steam + have10mItems(SStat.totalCampaignItems, 10_000_000), //TODO - Steam - icon done + killEclipseDuo, //TODO - Steam - icon done - allPresetsErekir, //TODO - Steam + allPresetsErekir, //TODO - Steam - icon done - launchCoreSchematic, //TODO - Steam - nucleusGroundZero, //TODO - Steam + launchCoreSchematic, //TODO - Steam - icon done + nucleusGroundZero, //TODO - Steam - icon done - neoplasmWater, //TODO - Steam - blastFrozenUnit, //TODO - Steam + neoplasmWater, //TODO - Steam - icon done + blastFrozenUnit, //TODO - Steam - icon done - allBlocksSerpulo, //TODO - Steam - allBlocksErekir, //TODO - Steam + allBlocksSerpulo, //TODO - Steam - icon done + allBlocksErekir, //TODO - Steam - icon done //TODO are these necessary? //allTurretsSerpulo, //TODO @@ -88,20 +88,20 @@ public enum Achievement{ //allTechSerpulo, //TODO //allTechErekir, //TODO - breakForceProjector, //TODO - Steam - researchLogic, //TODO - Steam + breakForceProjector, //TODO - Steam - icon done + researchLogic, //TODO - Steam - icon done - negative10kPower, //TODO - Steam - positive100kPower, //TODO - Steam - store1milPower, //TODO - Steam + negative10kPower, //TODO - Steam - icon done + positive100kPower, //TODO - Steam - icon done + store1milPower, //TODO - Steam - icon done - blastGenerator, //TODO - Steam - neoplasiaExplosion, //TODO - Steam + blastGenerator, //TODO - Steam - icon done + neoplasiaExplosion, //TODO - Steam - icon done - installMod, //TODO - Steam - routerLanguage, //TODO - Steam - joinCommunityServer, //TODO - Steam - openConsole, //TODO - Steam + installMod, //TODO - Steam - icon done + routerLanguage, //TODO - Steam - icon done + joinCommunityServer, //TODO - Steam - icon done + openConsole, //TODO - Steam - icon done controlTurret, //TODO - Steam - icon done dropUnitsCoreZone, //TODO - Steam - icon done @@ -116,6 +116,8 @@ public enum Achievement{ shockwaveTowerUse, //TODO - Steam - icon done + useAnimdustryEmoji, //TODO - Steam - icon done + ; private final SStat stat; diff --git a/core/src/mindustry/service/GameService.java b/core/src/mindustry/service/GameService.java index 2c12e4ada4..2ba3140e54 100644 --- a/core/src/mindustry/service/GameService.java +++ b/core/src/mindustry/service/GameService.java @@ -204,7 +204,7 @@ public class GameService{ } if(e.tile.block() instanceof MendProjector || e.tile.block() instanceof RegenProjector) buildMendProjector.complete(); - if(e.tile.block() instanceof OverdriveProjector) buildOverdrive.complete(); + if(e.tile.block() instanceof OverdriveProjector) buildOverdriveProjector.complete(); if(e.tile.block() == Blocks.waterExtractor){ if(e.tile.getLinkedTiles(tmpTiles).contains(t -> t.floor().liquidDrop == Liquids.water)){ @@ -485,6 +485,12 @@ public class GameService{ dropUnitsCoreZone.complete(); } }); + + Events.on(ClientChatEvent.class, e -> { + if(e.message.contains(Iconc.alphaaaa + "")){ + useAnimdustryEmoji.complete(); + } + }); } private void checkUpdate(){ diff --git a/core/src/mindustry/ui/fragments/ChatFragment.java b/core/src/mindustry/ui/fragments/ChatFragment.java index 87e7315691..85f3c95e26 100644 --- a/core/src/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/mindustry/ui/fragments/ChatFragment.java @@ -14,6 +14,7 @@ import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; import mindustry.*; +import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.input.*; import mindustry.ui.*; @@ -181,6 +182,8 @@ public class ChatFragment extends Table{ history.insert(1, message); + Events.fire(new ClientChatEvent(message)); + Call.sendChatMessage(message); } diff --git a/gradle.properties b/gradle.properties index 2c5768409d..443cbf281e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,4 +25,4 @@ org.gradle.caching=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=8793e01874 +archash=5a1cbb8b59