From a698c8ff0057f02a3204bdf3db9bb56e0b3eeefd Mon Sep 17 00:00:00 2001 From: Big Bad Waffle Date: Sat, 11 Nov 2017 18:55:15 +0200 Subject: [PATCH] added skin pack --- src/client/images/halloween/bigMobs.pyxel | Bin 2645 -> 0 bytes src/client/images/halloween/mobs.png | Bin 196 -> 0 bytes src/client/images/halloween/mobs.pyxel | Bin 11602 -> 0 bytes src/client/js/resources.js | 21 +++++------ src/client/ui/templates/messages/messages.js | 8 ++--- src/mtx/skins/0001.png | Bin 343 -> 0 bytes src/server/components/auth.js | 5 ++- src/server/config/roles.js | 30 +++++++++------- src/server/config/skins.js | 36 +++++++++++++++++++ 9 files changed, 73 insertions(+), 27 deletions(-) delete mode 100644 src/client/images/halloween/bigMobs.pyxel delete mode 100644 src/client/images/halloween/mobs.png delete mode 100644 src/client/images/halloween/mobs.pyxel delete mode 100644 src/mtx/skins/0001.png diff --git a/src/client/images/halloween/bigMobs.pyxel b/src/client/images/halloween/bigMobs.pyxel deleted file mode 100644 index 9d8ca0f5a0585a5ce1edfe4f77d46e618247666f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2645 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 NSA;EU>96?*{t27Ar4axC diff --git a/src/client/images/halloween/mobs.png b/src/client/images/halloween/mobs.png deleted file mode 100644 index 0f385a0749cf608669679f0be3f968e7fea2a3fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^4nQ2h!3HE(?k{!)Qr(^|jv*Dd-d@_s$>b=&dSR`n z;}sWIA0D5aM_vNTvkeSPxAAZb=p4S|Am;Y%!2zL`O8&OQL;q(6)y=v0TH|K!`_(`0 zm|1pL$V{vKQQ=!GRuJctq@fu5BP#ohTdd6U^E=)t-I}|uCG0?5&CC4?u^$v`W`ASN f6$jdk2L4?auTZyA2|8bU2PEU^>gTe~DWM4ffSE;N diff --git a/src/client/images/halloween/mobs.pyxel b/src/client/images/halloween/mobs.pyxel deleted file mode 100644 index 661a9a877d51e723db1a549887bcc7750e179548..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11602 zcmd5?c{r49`=-!h(3`RENusj9Su$x8LR#%Ic14JY$P^;kD%qDwd{jj73T3D4d-fQz zh7j3j=J}19Y36;tna{kx<2~N*8^_}x&f_}o>pt)6yr1iuGn$*}pfogFx6&;AaZK}5 zQ{2}Nn`vmSv(nH&XlQ6G9W73nT{n}s;^OE~6n)k)USUTSYF(gpGznJT5dc|O!>^`HPJ9YTmk`%BKvMq5cEUr&tTniPoV8T(@ zk9pOp>#^i+--E>*Ma49|J=l(_>VP6X#VsZs@U$56Ii{De%|X%+an-etPi3N5-ZA#Y z<$!k&)TGawaRzWWVqRWmc`M+s9G0IggZyr`f4n)R@BM(}=rg0fxWUwEK*+1+x)qNs zT~5#)q-%-5)BeKKkMc(QFEo6EPaM`Lj*-)-&6Htz+Yp{&m$SR(g|qR#0A3S#+hL{x zU#-riSo>p+j2PWfi_xwEm3+IvJk92r)WY7S-B(l?lg^7{!Y)UBdY6<_ceg0RghvH( z=g_omm52%7QcvbJp?gZ4z~%eWW2`MpR*7*vFDyK3jv2-%0bRq%+OR1nw*2-L@7__Q zUVDZi-$0Cc?i(&cXn$h5RYIIv`ewwNGZ#j_Wd#Q9hxH|L4eFjW-zQuUarTdhvxN~4 zd#dlf&OLcgk1KHD#Duu8G2pJ&$@LN;TiKZ#n$<7tmhhXsm7fvUOK(}Yd%|zM_tdjP z?hQ|*F=y^xy(>D^z!+Kgq$Llf*TjWxjW4?tE1R-)<;9APs)2k;{u8YCvXr)+6ia~H z;&g2)zs+a8H)I3Ja!ZuhNSyKFq#=c$+63N-&CcJ8*~+pd8! ziCV0v8N1`8Y$(?E?6BLR>OCX&P^Rr`MwA66KK zn|{d&KJW1S!7#hT4ROB&25W=FVW<>+QFV)k?xyX65tX9dw_A5eWGmIggwjcF4Xx0M zQDC$Qm3{Q!*s1G>BOJ~d3cIA-?TCSiaP%dOnn8sdX7nT86mzwVe0+VZHB?$H=pgK> zluP~&O^qdA#Y>4jsa)AQtXXeMhYShf#dn6-Xr4fE|GjtM(Uh>(TAYT# z1MKag1}2|97`m#sUGNhV0hbZ9(NBta;e1o0t3|%z7^VC)8((|dPkG`yq zdyhOCV-oF$Y~Nix?k?o>;IN*;SIMDZtZUK`Qx!|gU9~8F*xdMQH9g76UEjy+lU>4? z`THvNDHoRi`qf&o4^~L-*TVpLr7_r{^faW!>Wis$0ac_r@Ij(hCQJgl6hB%B;3h z(vALHU!p{)5L;gVrJm}V;k~6d&0eMrv2o}L@FU~ZE^VsKVS;GoeRE_4%u775-sf zNc}z9+Ik8%zeeVK$P=rQw=Z!T`K*=R+K?mDeyYifrT-FarBO9NQLmZoXsfb8^)UBZT8Ql*qxnnTE`MNyL3$cI<1$4s@6Fx@65Pz*Tm7pV94{ zMpZR1Xh8&>%)fCrHgxL-PWD&sZIp$`UeW)a|NUm*hnE*^&S!Nb?7grmuLFM}JRfX_ zKGdz(xn+8X$xKmi5*n!>yjjUM8t^si5J+4;ZXl2HSx(IKmY9s+84Jqoy%^UpbDUsa zlL|*>!`#xJVu~}Oo1K|tIG6d8 z$0Jr~CDt8_6-C&i=3z5ab;gqb#!Tl^@*9`NLeoWo#;g_7q_=17D%NrkE54k}s*eu_ z$=P?kF*(>&cvR%x{*5OCaG$L5QRr#RwdEqj9WO zx>0p?hYh}>!?3=<9>m%jYSH8J(KNe00BB&4K6W+GgmxFx{=o33w{-bzw==~tLqp)- zcbs`wFu>F#Q>8&)&I}O`4mXhCSGL~&j9nBnzOh+oTKljj#Y{mpP=)dtMZf99wNKIaAgZZJPDDEC2}zd)dTZ;7><> zv&2R&$$N1LOuV>@MK~5byLeG)aaPq8CS&T-XP z1>-ymj6&|LrEjmS3l-0=9RYx*OoP&eIY)%8#ns|Vek~!}a|_`C5&>M?b6OBgyCLhT zP=g8D5GzUoiP@qKtc&G-7d(bfuKLG7`{Eb9SargedLtu*r&-1&)$639W-0(|Svw zg**Qr$Gjh_EILlU&RVR02+{P5Dj8xQSu2rlHMu`H!rO9T%)kS}d*59C@Pe@{-4%+b z{KVC8zy!y_jD(5&#!R?Ln8Zu2w4)~Xy`Oc~X^nehJFn1`nz=2zH=bE1!^y^cphr;I zrFM5g+YuP0Yz*ncj^4z@_afn-urY_mUmUu`7tt6=)SI)DRbyjglL(aq04n~qf1O#Y zoO}&k=c|rBo%O+~)Mt!8b6YS(CM=|#y+ON}MJ}|gt-Z-A z;ruaHkcuJ>UbhIrkqaXssJJmfGXg=*SmrKAtW8F#zPaePwD?I5z$}qx3)Yl_74G_= zry*rm;c4?5<_dKw{*|aD^Zx61t@P0ri0a5#{_+=jUMnS-Y=huV1z+xC4X{cWoxFzB zv+10OX46|YrJETjDPQ7(m(L9x-}S_@i7zSmCIs>nd$Tjg$};G- zzci)d+AL#`+mGHrYSI>8=0brgr>j{bsokN_#$fE1mP-@<)Yz z5c5|#4XwIWV!9;Taraj>*(y-(w;~Yt(~@;mI;AwfJs?S@ABZT(z~wHTG=EgsgeoC_ywSy9 z`&JN+$oD0SVE}-(JYAnzjJfen?VBU^iO)r$Ih!t}kpowTI~w%eM?12BD!Eu-U!{2T zibrFY!Vg2|?cG|&3iQl1VdO7dQ|?%{&a@SG;hIkPgP~{o(P~CLZhLWK`Zl@_-!L7%EbWKz^N-AMZ(8_-F3&76Nda>pH3J_z84)`7^ z=_mt&=MAz7)l~oEQ@xu12dw+KS&t; zxTs0OdWSR1vpkS5A#TV55my7ta@N;1hK`|p5|_=ly1-iGV)P1fjPD-R)EG?9PBE2e zrlEAMi)>15V{nw#pI_&i3h&rPND^;!h2ah0-OCbS$?N17h9-oHO3sY6;b9>M-&36X z4x!KhIv|B(o_D~x`Zu$L47bEPo`#m+ftzt{kf^kH#hkGcpUF{GMF6V?8$D%|QC2qC zS=u-3;0TnK~$0L!x=l#H!iLvZPv7~Jv<<6CTmRc{Q>sPa13!uVs1_=w` z{!i7^8T&E!n;V8Vmj{K!SajN}4;R#VPJ9ApAwheNTf_V{_RDH!WGVL`R!3@io@$GS z)+1&>^ z;O^Zi-Eui2W=7>hG224L!noRXmrttC8uiiklvAS4K9tuJfTMknlsXmuh5a*i5ma`I zX5-U2WD$#nT2^ZVi;ak@ccB-bgVTP&LF^Q2DWY*M(?Y@7t72x=DhdFWT(scr?p3po zMnsP9o_|^yuljoi#8ZA*M9Df(kv7DdQW;3xlEWB}qq_d$LCCZW70yNS=JAKNCANwu z5`#sU&fkUQTs(QiAa1DyiR^C5*S3$TkqQ*K=I>YkxOyB|OiITBz_T_q0?6glI2#PX&)m7uZ1gHvo24t7yFKM1 zv_gWhO_?>1^Q{eh)hhyk&i8K5Qs4F4&uX99VF8zVH{#_cIV55C(1&KsvaXfHy$Y|&c+Hs|OoGtI^Kou}`>1v=QlYf+9T;A);vLcxV9fGa1gMjO6 zz87CI<$1ht%>+(PX1n|;k6X8HZEkj=Bx$kv*xGlSeoRvw_^MROMpT227HanfpRd=B- z0(F~#Vozew&JvS?LWqrFGXnbg=NI|F5HynAiD zCsvvo<$?Td7WcJ-SLh`YQFntOS*kv(@@Q-y-5(K@E=O0i>YuL*nABEesBlD5TltY+ z+#NV_$p)we)JqnT1sF5{gqPGX=zMyEalm}9E8Fs}(i@9GA#I&~RBvm~pNVud>?r~g z!`pZ|_^Y$KE5FRe1sz3wT)bATT&8m*nM>IOW89%Ag6pFGxwT5#5BlXRRM_BuyCF0O zG1ODR<@qFuW@I<^L(O~z{|lc^oqhnn2#3Rm;qc%-i5kYo6nm0n!)$C>e@mE+jpeU~ z@f&vD3l^s=6?X6+#K{q)pn#}b<1#T?EXL${HY#VnIw0B)WQ`e2J?nrE2ysSUwM4HV zf&Fn+01t}_YHuI1;$xDVc>G}c-HQI|ilFJulrKHxij^!CZtzbRD_JTk{{LdJBG+$_ zrNRvUv3>*D)eajpG3!pQwIrBUwhFO4I2dYr&FLb;7g6Au8vQk^h^1{p^i7i{kgoX-V}Vq>JX*h~#S^9-Dv#(m z1eMa*jT$JbR00Qai9Agf=lyxzri>{}fXSkp>QUvihw)6&nDo9#j*Pucrg z@T5dJrAtY~x_4^azLWH!%iR-Q6c~KOg`)YB)4klr^_3by(r$v%Q2sUwE;l3}((k66 z(fl(KJl7_|W^vzcAx^o$IPl1rh-;w3<9=urj02BDi8wI^Jno11z&P;ml8DQ};eL%W z!7%VVkqFbJC2LxjN?e@6S^8(@9N&z>kiMSdTd_1yJ0k@QiIHMhS99gY^`@TfnGyz9eEZ}x45tsEFJ|0=M zfcu?9ob^sTj;vh3%|;?l2>1QGb-75B)eE@mN5nPbaX)*2V7*Yz%VS(oUXS;)?*_(! z8(hSA7uoPQvU&lxL5Mg8c07)(Ucl`hA})`BBdZt6@oYHo@yO~0{6ayD$H|Guk<|;h zLqWu45O8Gm0`3M7aqe9Bcx3fLTHn{-%88%7+;|*Wy?_m!h#SD;e!e4v_nk6Mjpt`P zS+ezoGA@&VBdZtiiztyN8!tW{S-nu+zxM') - .join(''); + /*.split('<') + .join('') + .split('>') + .join('');*/ textbox.blur(); diff --git a/src/mtx/skins/0001.png b/src/mtx/skins/0001.png deleted file mode 100644 index 6b0c02ae855cc04c255e9663d9aa5b2adc5ed74f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmV-d0jU0oP)7sq#)Cz5gwZGQb#HAR)_R)35Dq2baI+ypFzs zaG}Bh>?n}KK^_G0k>&qqI-$se_{j3GlmUuekOx3~Z2DpH==!UyF8^QT_a7YlAbAj* zt^qJB$_DIdm`Bh(aK+dS>}Xu_uUmI-F0;1&4+;cOK1cT?NWMYY`9H`L*yKS;7A6kL=jfgU p$;0&Hk_TZ>Ab`q&0SSbW3IILYZx*#ujLZN4002ovPDHLkV1nmdpUnUO diff --git a/src/server/components/auth.js b/src/server/components/auth.js index 9ae29f21..b569279f 100644 --- a/src/server/components/auth.js +++ b/src/server/components/auth.js @@ -5,6 +5,7 @@ define([ 'security/connections', 'leaderboard/leaderboard', 'config/skins', + 'config/roles', 'misc/profanities' ], function ( bcrypt, @@ -13,6 +14,7 @@ define([ connections, leaderboard, skins, + roles, profanities ) { return { @@ -209,7 +211,8 @@ define([ onGetSkins: function (msg, result) { this.skins = JSON.parse(result || '[]'); - var skinList = skins.getSkinList(this.skins); + var list = [...this.skins, ...roles.getSkins(this.username)]; + var skinList = skins.getSkinList(list); msg.callback(skinList); }, diff --git a/src/server/config/roles.js b/src/server/config/roles.js index 21c6214e..063af692 100644 --- a/src/server/config/roles.js +++ b/src/server/config/roles.js @@ -1,6 +1,6 @@ define([ -], function( +], function ( ) { return { @@ -14,11 +14,14 @@ define([ name: 'Key to the world', sprite: [12, 0], keyId: 'world' - }] + }], + skins: [ + '1.1', '1.2', '1.3', '1.4', '1.5' + ] } }, - onBeforePlayerEnterGame: function(obj, blueprint) { + onBeforePlayerEnterGame: function (obj, blueprint) { var account = obj.account; var config = this.accounts[account] || {}; if (config.items) { @@ -30,12 +33,11 @@ define([ }); return; - } - else if (!blueprintInventory.items) + } else if (!blueprintInventory.items) blueprintInventory.items = []; var items = blueprintInventory.items; - config.items.forEach(function(item) { + config.items.forEach(function (item) { var hasItem = items.find(i => (i.name == item.name)); if (hasItem) return; @@ -45,14 +47,14 @@ define([ } }, - getRoleLevel: function(player) { + getRoleLevel: function (player) { var account = player.account; var level = this.accounts[account] ? this.accounts[account].level : 0; return level; }, - isRoleLevel: function(player, requireLevel, message) { + isRoleLevel: function (player, requireLevel, message) { var account = player.account; var level = this.accounts[account] ? this.accounts[account].level : 0; @@ -64,17 +66,21 @@ define([ return success; }, - getRoleMessageStyle: function(player) { + getRoleMessageStyle: function (player) { var account = player.account; return this.accounts[account] ? this.accounts[account].messageStyle : null; }, - getRoleMessagePrefix: function(player) { + getRoleMessagePrefix: function (player) { var account = player.account; return this.accounts[account] ? this.accounts[account].messagePrefix : null; }, - sendMessage: function(player, msg) { + getSkins: function (account) { + return this.accounts[account] ? this.accounts[account].skins : []; + }, + + sendMessage: function (player, msg) { msg = 'Only certain roles can ' + msg + ' at the moment'; player.instance.syncer.queue('onGetMessages', { @@ -86,4 +92,4 @@ define([ }, [player.serverId]); } }; -}); \ No newline at end of file +}); diff --git a/src/server/config/skins.js b/src/server/config/skins.js index 746d6ce6..bd91e59d 100644 --- a/src/server/config/skins.js +++ b/src/server/config/skins.js @@ -57,6 +57,42 @@ define([ name: 'Skin: Gaekatlan Druid', sprite: [0, 4], class: 'cleric' + }, + + '1.1': { + name: 'blebby', + spritesheet: 'images/skins/0001.png', + sprite: [0, 0], + class: 'wizard', + default: true + }, + '1.2': { + name: 'blebby', + spritesheet: 'images/skins/0001.png', + sprite: [1, 0], + class: 'cleric', + default: true + }, + '1.3': { + name: 'blebby', + spritesheet: 'images/skins/0001.png', + sprite: [2, 0], + class: 'thief', + default: true + }, + '1.4': { + name: 'blebby', + spritesheet: 'images/skins/0001.png', + sprite: [3, 0], + class: 'warrior', + default: true + }, + '1.5': { + name: 'blebby', + spritesheet: 'images/skins/0001.png', + sprite: [4, 0], + class: 'necromancer', + default: true } };