From ed7691a3f038d4a9fe439c5118813225836c5932 Mon Sep 17 00:00:00 2001 From: Ceikry Date: Sun, 14 Mar 2021 22:06:46 -0500 Subject: [PATCH] Bugfixes + client logo --- .../java/org/runite/client/ClientLoader.java | 5 ++- Client/src/main/resources/09logo.png | Bin 0 -> 9401 bytes .../interaction/item/QuestCapePlugin.java | 39 ------------------ .../summoning/SummoningTrainingRoom.java | 1 - .../interaction/item/QuestCapeListener.kt | 21 ++++++++++ 5 files changed, 24 insertions(+), 42 deletions(-) create mode 100644 Client/src/main/resources/09logo.png delete mode 100644 Server/src/main/java/core/game/interaction/item/QuestCapePlugin.java create mode 100644 Server/src/main/kotlin/rs09/game/interaction/item/QuestCapeListener.kt diff --git a/Client/src/main/java/org/runite/client/ClientLoader.java b/Client/src/main/java/org/runite/client/ClientLoader.java index 0b28f7631..09323a1c1 100644 --- a/Client/src/main/java/org/runite/client/ClientLoader.java +++ b/Client/src/main/java/org/runite/client/ClientLoader.java @@ -1,8 +1,8 @@ package org.runite.client; -import javax.swing.*; - import org.rs09.client.config.GameConfig; +import javax.imageio.ImageIO; +import javax.swing.*; import java.applet.Applet; import java.awt.*; import java.net.MalformedURLException; @@ -77,6 +77,7 @@ public class ClientLoader extends Applet { ClientLoader.world = "" + GameConfig.SERVER_NAME; //System.out.println(GameLaunch.SETTINGS.getWorld()); this.frame = new JFrame(GameConfig.SERVER_NAME); + this.frame.setIconImage(ImageIO.read(getClass().getClassLoader().getResource("09logo.png"))); this.frame.setLayout(new BorderLayout()); this.frame.setSize(300,500); this.frame.setBackground(Color.BLACK); diff --git a/Client/src/main/resources/09logo.png b/Client/src/main/resources/09logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c512e2a4a3d0a28db7d10b34259276ef62c333a5 GIT binary patch literal 9401 zcmV;qBu3kbP)Flag-F@!4 zea`;&THpHC+Uscee=synBOmb52c3U=sP{doRQx?ksiKrdKcjP0N~sAU3;>3vX)K*i zQ`0o1>$-lc)$&6ghENb6=K(&Ep=sLt-HW_yLhqa*Api9DlaJqh4Pz`iln4S6N(n*; zQwkbm)Y5f5q3e2vQkrr-&klS)x`#)AhLcDfIF8fW-{1G%_aQ#YFbo5fF$m7VIe+K8 zuIupwhGF<&0N~vd7DAw}uMc~Bdms7!mSqvoi=Uq|O*3>|Hz^@DV>Bg|%JYy9NGV5@ zQvICsbTW}3(Zrjr_Iw!lvyNl0jSQBXa|@5(u>$syCvTeZ&wu-SzlXcmt|67qz)IL4 z1c)pPO2yzXrbQ15(=-tT!8-s%D<>rfR}@Mdg4gTy$dg5go`dNoV}_&or%13Nb2#I2MNCDIW6kVHmzBrTnav@_eySIP+V-{jX2{%CCO; zI8nq|T3W10DXWHIwp;Cvd}nb!Dgc^cfWgPt|LlLj_x2c=F87$2|La*12|BgVA zO1=X`G^VE}Fu$-&4sp>8+qO-{n5C35xeyEr$}lZO2$4#u7^%q2qkqRaw}UXq0i+~_ z=nuni5WvWjVSP4-n##2som~uzx$a#vI{uL zBt#I}o z7=~FXWs!j7gcRwBz!X3zrIIlgp%y-IeuEI=a3OMn^S)@Z(ZMJ!CliTWp99>N77!tA&5~`q%J-Z~lW4p|3vs+)3J>OTPMz?_K@lt!m>HrBvr*TR`ahgbo)6mHL*8kY9Zi&!Qu|5p;jW1QbLra5JOVoXz2Ts3OEK}v|K6_r>2kF zLqkK%b`m5q-O%^3v%Rg>*VmOF1V|(tQY;k6#Ia+TIduv{6UQ((I*xL=jF5BeRjOEe zypFlW`(%5sf|eV?$dBQ-erE>e)&uB|FX8sRHMUa^On_>D{Mi85wjIaUcqj!f1)-pp z+v}DS$>izD(b03h*Bf4ayr#RZ8#(twzEY~8>3R(J?Fqk`g_AGnxg->Jp#3^XDgRbkUDClJ~ndqiuYh#@>>UHGvMKyimgev#{I0nUwrZG_+WnP)>YiTeMjwA z58O_tQ}cbl@&t^1)3V!A3N7&ch^(fpRC=^{WGXp2HA9|x>MWiiujBf)D`cp@jEN&hvA$QwK`(%jEn{Rb zfo#G-(H0mGo0w|d!^G}GRQHxquXoT5iEC=q%Q#eYgAZ|m!1E5nnB&kN|L}*5M5Zq# zrHm$oLRJHY1J|8e=!C`N6KBYmj*R2%*{AS$b1QXlP)qIa?T)UmZ}>Y~n;p;XMNm`S zb}|De&nAvM_aeq;PGKOQL5@;X>RmFwUO~@wV+|2_0X#1to$f9+Ha5{})=@4Mp)?cw zm22dcA6*22gl*{1%x!39632!IkV;s{8XSGBiUDk)=sre5uK`I1HI2bV7;#b;AYDck z{|OF=#Lc_IROExLRx3K6(sVsd02@l_Ldv96VpP}I3Ao*n?dzAw-&q-KmTa8R1tw2D zrJl)T2_uqhZ*E#QF1=>mzI79A&BEyOzkrzwzkpIEt!Ql@`@37DVVEF>0nc^ew(9VE zUD$?!R5Af8l?0fEM8XDB5-anM;JO};O-{l}B+zj^@VzRg#%&DfU1VhyW#VJVkw}{s zg3_nqIVCu2*HOK3A1yBk0onj)R}%3PQaHANC|?cUS<+`5Twr-M>Hi*kAl+dDg$zh6bZ zP(m2`@H-tGKY0>E&z?g*mj%;wjFt=NE9H@}Oc<0PVd*hg^^T7#w`Q@q-^QmtJ&MW1 zw(70k#G9)vZ2PoDDcPh{)mts~9t()5K8g#>FfA+a{ag?PbP`}rWRfmA2m9zW>R4M`z=PRYtiJUo9$meRfqWKEojZ@d z@gv9-OK=#$>VsRDed{(34jKqO7blL5$Ck6VHiy>MCMZ9GM6M5mB>yM|Y<-NemXw=pw)5+hj&a&Vi>-hZU7Z37&%VlujETe4Yg zO8I^kaHt3g(ZMtm@Y5_;92orKze;`X)1Ojoa~WQ{1!#QWQ>U z0LfxM%A-f{+%J3{t-VcLefeeFTUtZ4)58(dL@{AvV_^=ruUw9OeEP&mRJJzp`0;AQ z3ouQEQ%_AJGjs;U!EqcvaUAEKIftX;Bgm(cNSH?api%~CcDmSYcCfTn!JGHyaObVN z7%KJS^PhPR{mDAQ%Rf@zzqLyqG>8j=We{vcB&ac|_`7U?MM(-F6p#XhGDAv{mYfd+ zzJI)`r$(xYGLa!CtWzUA@JX%N!sf<0_II}7_FRNQLP-gYY0yj?0Vvw8i(;t{=Pz7< zV>_6iosAQq(UGB;=%Vbge_#-!M~-4};uw_SKu`l?$IoE;+>01FI*rL=$8i4K)0h|; z1fvv=sl#9tp4Y?hxf~~pZ$V5RY;Ot zYZvvM4Q#BhquuGic9O{C@<^ppNM|w_8W~0Z*b#(w61Nu?F)`SW7eD{`*v}s>EMjqa z7-JLT_{RqVDsM5(drbur#w#QD=FapAe+&^uRAz4#6M_aCj1y9cUEDY?fOnbQakdV=$x z4*O3mfI#Xx;&4fzpc|l(00=xQ++8o!+nr?7&Vr`$(20WTG_k+AiH8p#VDZr$=I0l% zxbO(e^Rsd6E|kh(rj4zwEvUc;g~0aC9=7)n&}z1DYI+hEUidVGl&IC}&^3yDHVvIp zG-}mY3J0OUjkoS&aefX*2TLG!0vxm4$`aPt?$#C- z=4P?Hw1nO5Eldpe<4a%qB8Zj5^_zFFxUhg$s~N9mBy$_BRxH8yy8(6&niwvmkRK@H z?oJ1Dn^j~iiqri`JTsETnTb(M9Y2Yq6T`@LZ=?C0Kf)jX`FHUrS39ESvwNCGzo#+! zI;2_&glc=Cd{2pui6^?iFw9uG4q%vuS9y4aqccE>Pdw#>(7-IJoo;4q|m_5o?R{U?RkC{KjwK!WVx9%ll0% zt!+Yt0XPp)YxmFzI84)mZaYv`66I0>M+S0WrU{Kv%=D*lVQLW19vjB!@F<+}C=w|L zx!Ps)e)Na8sJeOB@Y8uy?y2Ml}24#|J;``^UQf1ADF_)d_P8KPGW0g6T3Ux*xgt| zWoH``M~-1?avBTw-iq&$&1Nxn}Y~POJ%55Bw zN25nEH8hChxjq~_Q^xe^v*`6)L?kjcGK9yo53skr761Qyp#UqHibI%22^=c0^mrL- z8=DZ!M7_F$MzaMcn?pKbK_ft=)`{IIJDCTwi`e#cGy{qv+ec~rJ6QhypW{zox`D6U z<&oLn*EQ{Xx`8Y4%KNC=2JtLY#I=?88}CVme6JT5KjY}21Xs4zqe0jdN>!v%J5s4; zsaWVcR?3j|Td!d5)$d^I=nU3IM=_F3#jBjk7cp~u8l6TB7r*_F*xuZX|F>z|2xFFI zNEsAM_wL}8S1$oh8W9EUtgaxW4Aiht>jqd^-^Sk77A6OZn4X%(W{;v93XJKS$gcby zUjN(wrT*Y+56KUgqtLEB&~@!Qx~^W6Qmup>`-X*{5=sT{UHA_MAR19}6vbQ+im>M@ z%eEz>lytjY-LftH{bB9lJ#4S8AfM?&s9Ui+8oYfd|~|M{f_%vjv$`7#r`*6WQn>>BS_OW)j_S?^s{JMKzB~*D*s_7$riV9{UF=rdTmh>f zY)%ofEd+0-QmH_ZNX&_tz6_DogWtT@;!%ie1rHT`(XypydL7_YV^+b3DnvYO$2-85&?V_jlAY(Y01ZN5CR-5sJ^MxX8ClRk;H1UWC2_?`i3#n`# zxm*#+bOuf;jYKjP17l^fAiXxKSH2HY+eL9~A|^i0dF)E5TnULx4rZf*_R<5~t9!WN zo2arP?D8bZmHMD-8kK-45laqg^7t9M!&EcOq>yS@@bIiv96Y5@oJzLc4p^^& zLa~TMDt)*k{A2@#=?0S7Lt>0ffH56}Qb?sBq=>B~(%Ip`9%SPHf#=4>Sj{kz&gGHH zu5!0G;s!_GZQFeGT2>R$J|>t(e1hWnx-x5y1ogK#(Ad#f>Ge9TSl~qIHWva?ir7jb z%@BAV8V8j)1-8@KI0KA6OJ{R1EE@sm;Eg)?=5oAeAV+54Ob!6b!RpQHY-e+$3rZhT zO1B6hEkZ~jf3no~&j)}->5OisBLD~w&*;U$CrpG1i zkt0Xq5?P~K1rLKm3xJF{A##-nt?2qt0+LdsGTC_Lp-9|Ekji90bscf)-fg41bRRpb zkI~5-L1N|^rFt%@+{R-xCR)h#6&U;!9@&=VOvONvS`<8(EEo#Q(5>c^PpeD2?k3mTkjH zrjX7R5QVjLCLdoDgnkT&Zt8JCHnNgbHivYfgp_SSvs2j3Jq2t0G&wh4nssoScGbn4gRVkSF9GWyS<>B@YAXdmvdGEK0R}fhZRk9v?$xbs6{GxP~?? zh`@s&EG~01!a(%5X-35nz_M(pjEX~Mec3b zPq`gm9_%5q2_un0BAr6Hzb`Io-hJbBR1T^jL?HCMIPZ@pWtavG%L0gs$ujcy$Q2?B zu%ghX0A15#B8;SUbR;7oWZ5xbvBj7svV}5+MutEb!Gl&B<;nB-ozD%Cv7{R1LY(tM zI&EpHD3o+4iOe>D6W#Zp1AvHqpKx;6XxLG`mMaf-V1gi#&ZAf?A(Jg&X>kD$?%g@8 zBL)FFtyY}w5<+7lGZTp?qVmZN35{2sX)NArL`0$yx5Vc(*r_zq`FvbiiawWuLy0gJ zLWOJs%e4>>=nQ`8^Pj_Soi!5-;u$W)r?_NCZ3EdLgl-U%^t>RJ*grP_u@w+-DCI?B zLk4a)>@*dz63CSLP$(AQ34z&rcTulY4qe7=qrJ6?X0ru58Cgg_Y{z+r2S91;+e#gZ zmMEKytcX#9uoopd5f9LKJKc6t@%NNc;Jyb-XBaK#5&9i`chN(w?*;suFP+8HWz{bw zzYvD%oW|&o#$77s01anETou}iQGux#B=P-L_d-V9S_&H zar?&?;npf1qqM68C(KG{!;{mP8XiQ-GSTk!&}p?}ZqW2Ymk2yR7E4E`r*Y!+85p{O zdUYS&b_-4>gG{~@%j9me5l0y(ok2RC#`sV_lD3KY^$O}LjSI(1DDhQteW96c1uzs? zP1jLVN(G>L+_o16fN30Z(#HmX3QlR1>r$3eJRFl$pGb@yw@#cot)yv^E3aR|>YJ~J zl!r@kDno@o_ad&r)f7^adpUTw_~%nQ<=E4Gzz0*`kZ$KNs=OZv9}0jLGm&l(LQ*6QhlCWz^zvw?{Oo7Z@?G5h=HHOc`bt&P zwCj}8StW(eeSgp#K4MHh{j3@=De*fURO=1&TFuxEtVlvXVSmTAar^2eymjL$&YU}s z@ncii+1!BZdr0N-2wXR|p26{PJbmUAI{Q0lHye22`Ey96(|BXKfkZlu&knk3XKUS< zuZWzGli?c5h>ZF>bf-+xJY zo%XzDm{%C3t5PXlMwVhHGs7pJB1g+b(BN>-&wbK98~Js_57~SHez$`+etZ$Pu3U~8 z|8rmbWn^AjDCtoGUn)dI9ye}&d;sFAAd42xB$}3zJS@=sz=%KfDW~&zj&yHa zJm9{6ooV_lLg_XXG%3Vb$oXJ;e2PpTKaMmwYLz{-T@SixBT|!*!aH*87`n|m-nxD@ z-VfN`T*u(h2tMoyx|fmP{sb ze0mC<`T=fUxr9!u8CQc_jXIuv{sl~*JdJkG#X+MH>xZ%NF-(k)VR`N$u3vc#^@9W4 zeDfBWe{hdzev?FL^wFau>iMA%-Re4hu;pgFFq#`_Qi?hhS|I3&xH$PS01$6qz!-&6 zj0i#D_qfGC@X;$!XtmpfM$!p-fyxT<_=W*UQ~0*cpFjLtCT^cDDZY;v_~~FH}kX_%ce+@ z2(&{1Kjau196&Lj#oafr;nua+x!`=CX<9uD0=?C2=qFB{!pQgpc6KXqagMkgqXD*9jpz zQmBSf?@g6H8UPxRQAP}^MY6a>D64>yZ9=dM!VaKhn`zV+Ay-Uelu&BQFc@f8_WF5Y zkeohuj!YFZahyMBcQH^d$8D`QF8>(!@7!upN*`#9EeauMyVWS z)n!f7zRfi4Wk%^;L)VuT)VAw-_3hpL?%Z0fS?`1!1ZrLa^Mv3r z6t+Q0OTLc_e6((HJ*yD51B8JDC0?YE2xWj$BF;Jp;hq-=of20neV{EB zc==m@Z=IQ*!p!(lOm}-Q(n)xpi(a=KeXU1;DxqXk*EA_OKeDyCQC@m9%bq!Z9+`9& zZ(hHO8&_Y4=eh@)t}kkgZSgQX5K{F3!5Cw80DEBCqQ$gC6uYF7p;U2+=l~G_sY+>mpHAdpz=3hT{#hdHd|hy4^u2a;0BqSRT)3J96gH2o@gu(0&2%VA|}=hFZFuekK1A1E`O zQ6ob`vEe+~$&nx=lC5p2)DB~8!S}rNwUrgsY}7G7JF8y){&z{Y)2`@-agPwP8irv* z)AjJ1-}ndo?(@Hk!>YURJlAXYdS2aiy{eF^t^utlMl3&Q*XSd^H5LsaCD`5`&~5>} z9>AUe^JEmKrxCW>3KCLAnGq$PMm1MTX}AZK;myTIPAZimGbc}?*X`oUt1rv#&5doQ zX?H1QD@w_>t{W;0!-V5l1EpdqdF|4V)yqHlUL_2JYldN5qLe=LJg?GMD#aT`*VeDb zbwp?y28PS{v;Xk#@$Y{3xAB#)TvRsur>>x%D;auU5Y*wTm+|paq{_S9cteC3OhGCk zgb1i^^fXF5rIgvM?)NP`yzeAaX%x$Sn4f(pmLAQmP)hG=8e0`YG#O(-7>1E9V3pk+ za{I;`TliFotnaE~JT{ilx) z8lNZtZ;y@FE+LgFKyW|uZxKcyXqrnY?I@*swS%g^zOvG7HXAE}@81mre*uK-GR9g` zO5f0pAQZd-LbfPlk9A$&fKt0s$_Ay>O{decvcLa{JnO&MyTgu?h}+zHzE2p_Ou@sf zVVVO{%84)xM}>%c4qVH&S0U9B7krB`)>KLfDW%CMwc_q|LZp&1P=}SNh;TyNwpFv) z{6wDfU-ac^%QWHnew6AGN~sZsp`#l{ni7)YT-cn4QF`3b4Wl8s=zt)yX--Jo)~M0A z`6`;fRFu-lnv}+v>O}+I*f6~;ACvAM6)cC&v00960zjgI`Wy?y300000NkvXXu0mjfXu;P} literal 0 HcmV?d00001 diff --git a/Server/src/main/java/core/game/interaction/item/QuestCapePlugin.java b/Server/src/main/java/core/game/interaction/item/QuestCapePlugin.java deleted file mode 100644 index 7c424f81c..000000000 --- a/Server/src/main/java/core/game/interaction/item/QuestCapePlugin.java +++ /dev/null @@ -1,39 +0,0 @@ -package core.game.interaction.item; - -import core.cache.def.impl.ItemDefinition; -import core.game.interaction.OptionHandler; -import core.game.node.Node; -import core.game.node.entity.player.Player; -import core.plugin.Initializable; -import core.plugin.Plugin; -import rs09.game.interaction.Listeners; - -/** - * Represents the plugin used for the quest cape and hood item. - * @author 'Vexia - */ -@Initializable -public final class QuestCapePlugin extends OptionHandler { - final int MAX_QP = 72; - - @Override - public Plugin newInstance(Object arg) throws Throwable { - ItemDefinition.forId(9813).getHandlers().put("option:wear", this); - ItemDefinition.forId(9814).getHandlers().put("option:wear", this); - return this; - } - - @Override - public boolean handle(Player player, Node node, String option) { - if (!(player.getQuestRepository().getPoints() >= MAX_QP)) { - player.getPacketDispatch().sendMessage("You cannot wear this " + node.getName().toLowerCase() + " yet."); - return true; - } - return Listeners.run(node.getId(),0,"equip",player,node); - } - - @Override - public boolean isWalk() { - return false; - } -} diff --git a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java index 18f8f0c02..2831fe9d6 100644 --- a/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java +++ b/Server/src/main/java/core/game/node/entity/skill/summoning/SummoningTrainingRoom.java @@ -330,7 +330,6 @@ public final class SummoningTrainingRoom extends OptionHandler { @Override public boolean handle(int interfaceId, int buttonId) { - player.sendMessage("ButtonId=" + buttonId + ", stage=" + stage); switch (quest.getStage(player)) { case 10: switch (stage) { diff --git a/Server/src/main/kotlin/rs09/game/interaction/item/QuestCapeListener.kt b/Server/src/main/kotlin/rs09/game/interaction/item/QuestCapeListener.kt new file mode 100644 index 000000000..330b4ffa0 --- /dev/null +++ b/Server/src/main/kotlin/rs09/game/interaction/item/QuestCapeListener.kt @@ -0,0 +1,21 @@ +package rs09.game.interaction.item + +import core.game.node.entity.player.link.quest.QuestRepository +import rs09.game.interaction.InteractionListener +import rs09.game.interaction.Listeners.run + +class QuestCapeListener : InteractionListener() { + + val IDs = intArrayOf(9813,9814) + + override fun defineListeners() { + on(IDs,ITEM,"wear"){ player, item -> + val MAX_QP = QuestRepository.getQuests().values.sumBy { it.questPoints } + if (player.questRepository.points < MAX_QP) { + player.packetDispatch.sendMessage("You cannot wear this " + item.name.toLowerCase() + " yet.") + return@on true + } + return@on run(item.id, 0, "equip", player, item) + } + } +} \ No newline at end of file