From 05b61ed718e9fff74d721841cb1688660c1ce45a Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 7 Apr 2020 21:35:37 +0200 Subject: [PATCH] added custom messages for workbenches --- src/client/images/attacks.png | Bin 1274 -> 1290 bytes src/client/images/attacks.pyxel | Bin 6692 -> 6718 bytes src/server/components/workbench.js | 5 ++++- src/server/items/generator.js | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/client/images/attacks.png b/src/client/images/attacks.png index d0ff9a0848522cc951b91e3eb72b5e6f6d0d1e75..9945bd95defb941f2b580871482592d21d1c4635 100644 GIT binary patch delta 1083 zcmV-B1jPIL35p7kBmvQpB~A*t+cz`!zTf$=bCG=;f0OieCG|n1B!r~2aEQTcElmDe zCdn~R{1gYT-zCp&F-gjFWdcN6y@unGA9`IIf-=_gM!n!wgh4YkUMXG+%uUdp<8@T0 zAW3f|pv-@107inhW<&;+rrW}&K-)wn>3A;|!BL+EN6*=}5B?cOS0;O%p7L@&E}u{G zcy{dcf1d|lx7EJ1=^nF&nV3)-ifx;NWVCRdU}O-EmtMCzQgUOCf*OOgF?im3BHw@f zNMgcK8=ysNGqgeZ2x)x;=wY8v8OxL=o0S@Yc@KL-zOyOdnWIe*@p`IQ2FYlu71;SA zNYw7_%if7Z1I8@=&E4Zg6S_1=+I?}Y{QeR{I9&c(an$wVXs350M3O`MR)P>GWvn=2 z=tRo^l(FK~y;Q2KKi$n@Qk0;?J%QRF>-{5x8%>e?qm#}7E&*PX{Q(z$uT=(dFJ_g& zo9ni7(=L2V>CDybBxUm$j>%ssBW0})L)_{RIi}m6GDH$Xz!E8ORJP)B4D~GoC64-e zT#m~_gdx$qK7>gbt2bc`a>&czy&QGqSjY1zf@8&h_G=a~{o0zN(IPtU0$97K&a;S;QGXBMebwFdrSZvRGS&9M z%ft86&%HWxeW!=(b(YX5eiUfImLdAsOy-C<@6tA|!+BSKYc8L6ZIWe9RXn-@LdPSM z7In*wi1T_sidRh)5m)NvC_b+^Z-_@zq+O?jn;;X}Jbt{|prEMwW#b&NA z3Clx^^iCtCGIAV7S9&418rbCUm8j&;A zNAH#9IE3fZAzwRxL|`5h!4ijXYpu|Umjrs^=dB+ufL_nmE`)T;u*9OBWXT{sLV9ZiHcKMHN>cA4a}(s4HYl&J zH)5qSgpgq{+59=~x%*_@KUG==4Qj!IKr89erF&hrboqXN5F4RLfOQJ2F-V)seE|0X zgbbSf^l994H~QV86(7`shhLakNsBn^7ihX{?e7|UyAN2~zBThcK*W3XCC+^S_W^_q zmPP-=r-k$D`MK1VLA^W;MgnA|w@g5N&!Ev<7w}Aw8216(2M|JrO6dmarVCnc7eELs zC5T(}Y7EjqZS;P{M}pq1c(wb0$RO?mxDOzN^!W>q_xDZ}7bl5%ADQQ^zi_%17}Y0) z5JDFGaoGE`hu=1KRe#}hEikH2lfVQb8A8Z_`3=^*DD!XQca#7C002ovPDHLkV1lA- B5HSD% delta 1066 zcmV+_1l9YB3i=6=Xm?UMoG65p3Uc+(8552ApK^g0Hqh9bT!l0QNuN1EZ<|gRQ@j9wg zkfb*fQ0Bih03*R$Ga`dZ({15Xplu?Pbi5af;HXc7qv!0~2mcJCE0euWPkA{Xm(M48 zJUe#!f6oK&+iG9hbdOoXOiU;Z#kS2sGFrG!Ffs_oOYd79DY-F6L5)G$7`$#hk?%i# zBr)Nr4bY;s8QP$HgtR^a^svvTjAcrb%}R~HyobFZ-`N!K%+V%@cs*4tgJd+-3haCl zBx?8eW$#3y0b>^b=I-&L30)c_?Y_8H{(OlcI4;jt9Cf`o+Uea0k>t?6l_11P87qz$ zI?*x!WvqC0FO@3mzwTx+DN0b{oP;Af9P%>wY#6=NB*7YikwKBcxj;)m$sm;X1m*@c8p8QBX*z{4 zBz4=?Ix^1?*71Cb;8?ML{hCEgzqjUSw202T0M;(5^DLrd)ZYVmUv+nVX?!x7OtpRR z^6>NYYp>2+-|69coh3Ai9|c;lWr#jDlQ|;JyR?n#aNgD5n#<>1n`D_&6_0L!(DBHm zMcr~E;=JCE;#E^c#FctEiq9*~8{*LvY1irCCW$ESiL(SnizFd`EwZ&0-(Rz{`^YSF zdE-X0?#Z=F{T{NIQ({0aP~J-%$E`Uj^+q{`c#`IEU{=OSu#kEklq@B&60?)lGMA%+yptM4a)25 zjaaD+A!Ha#Hh+$L?mk)fPnDKIgIe$)&`P>=>0XyDUA`ZG#6~C*V4VVM4ASOuAHaP8 zA%kW=eH!=NjefUi#Rs+E;TL9B(jw0K1)45f`@6>8?gQ4gZ_T_95b<7piE|&oeE=bY zWzqleY2o~OelE3TP%lq|kpNlgEfY}RGiWr|1w0cZ#(e4MhV1rP#D z3E~#L8iRB!8@*rgk)U@gUhO_0GKl*C?gI!Reg4AZ{k>Dg#Ytk`pUm^tUpQS0jOr6Y klg|Vr90(zV5Hdi11NMsiWLzh5)Bpeg07*qoM6N<$f?mH5`v3p{ diff --git a/src/client/images/attacks.pyxel b/src/client/images/attacks.pyxel index b0876e3f82f80cdd96b35aaea592b017d503b0ab..ee9ce73a0fe0cdb7485bac7af3e75474e92c2cb7 100644 GIT binary patch delta 3226 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 ZZiT(MxswCMYTR)^7$4nN(y0Id{tdTwCU*b; delta 3089 zcmZve2Uru?7RM(f5s(&2AOsWw5m;%0pn_BdA8jSif&zvfii#*jh=v4#)c{gwsf#X% zs0&CjAT{*9Qe{y=X(C7m5klvMO?XAXsl000*k zF#p8L(xr2g>J0?|5ncdbUVw|2vyr2(qsnC;uWQc}`lI@fAnwj>ityki?lcdp6`O{L zHgkIhjh-+#6!)wMXMF@alg{;JHq)gWtx8krYpg8Li#xonkJVj!Sz6k1aC+{>E4u;G zqU9Fx@^MD?6)%5~;^ulgSinNMt?5!?LPm{ zT8VL;`x)(Z(=(C`xsGPsyV6Rs|Fgt}twYlV8FjRQLHuF6$Bg$>`Fh&Rybl>o7GA2H zDY?32(*_miI>%h2(?g6IV;SOs*wy5)o_M2WH@WT(`H|Iaig_V%Z7NmUxg#~rqh!69 zle*ai^%X6`bicq?@LRwc)|6t3L>@4hdvx5VM8Q=!LDkpywf?1iLW2GD!+f6#&AF$< z$II1D~cxLmG}t<0U2SQEy8$r)qA=mW;k@*h9R;1EgEM zvPAJ6by6l#_Q+rL=I5|da=J=@hbf<&K4W%B(MtYOuma>lj^$f3_aFr|`RQtzoNY|9 z?(p8CQN9A$i=B`VgQ&$*c4 z-f;1{A}PSeL3BF!zu~i-JY?cT#8|VQan)x{kJ=FX7D`HMoXq0T1!`7dy_f(wU9BjK zTY&u24Zo9IUolpBZ@e*dLDu2N$vriBFyIQ)yN2U} zixg(oEA!mRNobAN3{3hrd015@kRC>+uJcr5+p?WDR?P$EZ9gH;)r-NZ5^VF&xy@(i zYzyhiP}bTGD0mMTeYG`|HL(-i2)>*8P*ISPc;l2;V$$ZaKfYKf84-_ofB+HeKR4@O zlrTD&m>46Pg~spyzhxWI%rthpO&QUmQdDgmNDz@LQn!%(cgIYB9UT`PwH@qPE*^z1 zCN_PfI3|(%KR#cl(x)o-bG{*=^QEHaNEzPd?^j`abNOh*Ya`ZM3*Gt$r%88-@N(@1 zSryS27gQrgipu>z443$Co)h^MZ!I$OwvUs$1yXkvg_^4{}vjug~4RmyR#Hd8Bw{3Ku-)pGuS>$?AK-mIqpU_OHE;Xs;#p zbb*91o`n-Gzsymf-@l?KHt7c2FaTI%+Fs@>dexCg@IIt+{hAwO4F+EaUqi8w8gK=A zdar-6m+Nd`)uOXJh=WN`BEI?^STcN!4SigAomz8S+2WxxIGQ9+4i9-V7dQSg2}>wb zhsZp)tGm%6K+okf6rb|Tu$w*$$f5L(9Sv=^Z2L`ZmdcJkgc&jEE8h( z+H?49nx_otTOk%P^vp6OV|==wbDK9q5u~5CBx*?|cE}TTj^A9PbU^3&FWdL|MqAfe zSSau{ylgX6w<$S&NS&+6e9m^?52b4VF^n|qLseYUjh)jcW7USA@pV2b67NeRg%;{@ ze9iB8dY@nhwwXm%SKOmx2H%Oyzv_~s2I!tw3USf+WA8Lc5PO-iOqerz1aTJK9-Ccw z#EnN|XDUmqwn$-^V=5h1l794KeG?zJVn;hGO!<8r|BFlVS!DFJpw5Nn$HpJLWk)IoqDRi3HLj1p zr4`XGX$cwi!+61DO*z+1yj37E4{XGqw1KSACn`@KXen znvC-6G4E{@eMb)5dALHHy2q3DhE~Kg>>z4%!bG(om-Bx3=ZIdpJxiA{r_^HsEn#c9 zv`V*5>2{s9bHB(d6}Zb=tD8i}4506{#ZmL)ddi#M!?d38wN6b%Ui^(0w=wD+Y~TZI5(!7eb&hZRBS+Mf3q-nd0pDI(xhEkj}f z>j`CH+~8q%jW=)|VQga{z<`9tq@O7>ESm`K?S~^c%(+KI>F5w&MG3n7LTsA9qTP(1 zv^sSin1ym-0=H^EZqm;-G?+RK{Q7FK*Zvru=l-NHn9qd-tGVERGZ?SB0U5d+zTt97 z-n$3v;u3}JeDlF6uDdMZ$9;z-*0@7iB6x2UONj79v&2)LV3ttkrLsgRFWbkQFNQTU z$QQ&C&ir94G0%UWC4vNESptb*=So4avttF>DT==dGa+`aPN93OC|hAR@Uw6PYsO#X zC%*4aE+98j`NGc3KN}^pSF%Sc^MvzP+r*heI7EQI&Oi*R{sSkbCl7?xV82BHKphx~ z6lbN)LZbKm$PEC#9#;u}Hs60zz+ogB(hY7PQO9={^Jyg1;tG>=jcLrVzYQB^6W^hz z@3ioLQ7lE#GSh62!@GIBG#E6r2lJ3f2n9?RMX^>#7eya~GtX~3T+Q90Jfg`;yDuje z6cA%m6vfcTWcgT>qq|YwW`8=3XKuxTY2R%?dfGc{s8bl D(jW;E diff --git a/src/server/components/workbench.js b/src/server/components/workbench.js index 07a521ed..ffb16682 100644 --- a/src/server/components/workbench.js +++ b/src/server/components/workbench.js @@ -8,8 +8,11 @@ module.exports = { craftType: null, + noticeMessage: null, + init: function (blueprint) { this.craftType = blueprint.type; + this.noticeMessage = blueprint.noticeMessage; this.obj.instance.objects.buildObjects([{ properties: { @@ -57,7 +60,7 @@ module.exports = { if (!obj.player) return; - let msg = `Press U to access the ${this.obj.name}`; + let msg = `Press U to ${this.noticeMessage || `access the ${this.obj.name}`}`; obj.syncer.setArray(true, 'serverActions', 'addActions', { key: 'u', diff --git a/src/server/items/generator.js b/src/server/items/generator.js index 70a142b5..8822efd4 100644 --- a/src/server/items/generator.js +++ b/src/server/items/generator.js @@ -76,6 +76,7 @@ module.exports = { item.noDrop = blueprint.noDrop || null; item.noSalvage = blueprint.noSalvage || null; item.noDestroy = blueprint.noDestroy || null; + item.quality = blueprint.quality || 0; materialGenerators.forEach(g => g.generate(item, blueprint)); } else if (blueprint.type === 'mtx') { item = extend({}, blueprint);