Created
May 22, 2016 21:11
-
-
Save Salmonblubs/e4eb7f2bf3dd1b52b648d9556b58f7f4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copyright © 2016 ogario.ovh | |
!function(e,t){function a(e,t,a,o,i,s,n,r){this.id=e,this.x=t,this.y=a,this.lastX=t,this.lastY=a,this.mass=o,this.clanTag=i,this.setNick(s),this.skin=n,7==r.length&&(this.color=r),this.alive=!0,this.updateTime=Date.now()}function o(){}function i(){return null!==document.getElementById("canvas")?void(e.gameCtx=document.getElementById("canvas").getContext("2d")):void setTimeout(i,50)}function s(){return window.MC&&window.MC.onPlayerSpawn?(window.MC._onPlayerSpawn=window.MC.onPlayerSpawn,void(window.MC.onPlayerSpawn=function(){window.MC._onPlayerSpawn.apply(this,arguments),window.ogario.play=!0,y.sendPlayerSpawn()})):void setTimeout(s,50)}function n(){return window.MC&&window.MC.onPlayerDeath?(window.MC._onPlayerDeath=window.MC.onPlayerDeath,void(window.MC.onPlayerDeath=function(){window.MC._onPlayerDeath.apply(this,arguments),window.ogario.play=!1,y.sendPlayerDeath()})):void setTimeout(n,50)}function r(){return window.ogario.play?c[l].exit:void 0}!function(){window.core&&(window.core=null,delete window.core),t.ajax("http://agar.io/agario.core.js",{success:function(e){var t=e;t=t.replace(/if\((\+\w\[\w>>3\])<1\.0\){/i,"if($1<window.ogario.zoom){"),t=t.replace(/(\d\.\d;return}function\s*)([\w$]+\(.,.\)){/i,"$1$2{return;"),t=t.replace(/do\s*if\((\w)\){((\w)=!\((\+\w\[\w>>2\])<=20\.0\);)([\w$]+\(\d+,\w\[\w>>2]\|0\)\|0;[\w$]+\(\d+,\w\[\w>>2]\|0,(\+\(\+\w\[\w>>2\]\)),(\+\(\+\w\[\w>>2\]\)),\+\(\+\w\[\w>>2\])\+5\.0(\),0\.0,6\.283185307179586,0\)\|0;[\w$]+\(\d+,\w\[\w>>2]\|0\)\|0;\w=\w\[\w>>2\]\|0;)if\(\w\){([\w$]+\(\d+,\w\|0,\w&255\|0,\w&255\|0,\w&255\|0\)\|0;)([\w$]+\(\d+,\w\[\w>>2]\|0\)\|0;)/i,"do if($1=1,$1){$2 if(!$3){ if(!window.ogario.showFood){break;} if(!window.ogario.rainbowFood){window.ogario.foodCache.push({x:$6,y:$7,size:$4});break;}}$5$8 if($3){var gameCtx=window.ogario.gameCtx; if(gameCtx){var ogario=window.ogario; ogario.globalApha=gameCtx.globalAlpha; if(gameCtx.lineJoin=='miter'){ if(ogario.setVirusColor&&ogario.setVirusStrokeColor){gameCtx.fillStyle=ogario.setVirusColor($4); gameCtx.strokeStyle=ogario.setVirusStrokeColor($4);}else{gameCtx.fillStyle=gameCtx.strokeStyle=ogario.virusColor;} gameCtx.stroke(); gameCtx.globalAlpha*=ogario.virusAlpha;}else{ if(ogario.play){ if(ogario.oppColors&&ogario.setOppColor){gameCtx.fillStyle=ogario.setOppColor($4);}else{$9} if(ogario.splitRange&&ogario.cacheBiggerCells){ogario.cacheBiggerCells($6,$7,$4);}}else{$9} if(ogario.transparentCells){gameCtx.globalAlpha*=ogario.cellsAlpha;}}$10gameCtx.globalAlpha=ogario.globalApha}else{$9$10}break;"),t=t.replace(/(\w\[\w\+(\d+)>>3]=(\w);\w\[\w\+(\d+)>>3]=(\w);\w\[\w\+(\d+)>>3]=(\w);\w\[\w\+(\d+)>>3]=(\w);)/i,"$1 if(window.ogario.setMapCoords){window.ogario.setMapCoords($3,$5,$7,$9,$2,$8);}"),t=t.replace(/(do{\w=\+\w\[\(\w\[\w>>2\]\|0\)\+\d+>>2];\w=\w\+\s*)(\+\(~~\+\w\(\+\(\w\*\w\/100\.0\)\)\|0\))(;\w=\w\+4\|0}while\(\(\w\|0\)!=\(\w\|0\)\);(\w)=(\w);)/i,"window.ogario.playerCellsMass=[]; $1$2; window.ogario.playerCellsMass.push($2); $3 window.ogario.playerMass=$5; if(window.ogario.calculateMass){window.ogario.calculateMass();}"),t=t.replace(/([\w$]+\(\d+,\w\[\w>>2\]\|0,(\+\w),(\+\w)\)\|0;[\w$]+\(\d+,\w\[\w>>2\]\|0,\+-(\+\w\[\w\+\d+>>3\]),\+-(\+\w\[\w\+\d+>>3\])\)\|0;)/i,"$1 window.ogario.viewScale=$2; window.ogario.playerX=$4; window.ogario.playerY=$5; if(window.ogario.customDraw){window.ogario.customDraw();}"),t=t.replace(/(if\(\w<=20\.0\){\w=\w;return})(if\(!\w\){if\(\(\w\[\d+\]\|0\)!=\(\w\[\d+\]\|0\)\){\w=\w;return}if\(\(\w\[\w\+\d+>>0\]\|0\)!=0\?\(\w\[\w>>0\]\|0\)==0:0\){\w=\w;return}})/i,"$1"),t=t.replace(/(\w=~~\(\+\(\w\[\w\+\d+>>2\]\|0\)\/\w)\);([\w$]+\(\w\)\|0;)(\w=~~\(\+\(\w\[\w\+\d+>>2\]\|0\)\/\w)\);(if\(!\w\){\w=\w;return})/i,"$1/0.6);$2$3/0.6);$4");var a=document.createElement("script");a.textContent=t,a.async=!0,document.body.appendChild(a)},dataType:"text",method:"GET",cache:!1,crossDomain:!0})}();var l="en",c={pl:{start:"Start",settings:"Ustawienia",rainbowFood:"Kolorowy pokarm",transparentCells:"Przezroczyste kulki",showBgSectors:"Sektory w tle",showMapBorders:"Granice mapy",showMiniMap:"Pokaż minimapę",oppColors:"Kolory przeciwników",splitRange:"Zasięg podziału",showFPS:"Pokaż statystyki gry",textStroke:"Obwódki tekstu",disableShift:"Wyłącz Shift",disableAlt:"Wyłącz Alt",hideChat:"Ukryj czat",mouseControl:"Split/feed myszką",mouseInvert:"Odwróć klawisze myszki",keys:"Klawisze",qKey:"Podwójny podział",wKey:"Karmienie",eKey:"Pauza kulki",aKey:"Pokaż/ukryj nazwy",sKey:"Pokaż/ukryj skiny",dKey:"Pokaż/ukryj sektory w tle",fKey:"Pokaż/ukryj pokarm",hKey:"Ukryj czat",zKey:"Reset zoomu",cKey:"Historia czatu / Czyść czat",shiftKey:"Szybki podział n16",spaceKey:"Podział",space:"Spacja",enterKey:"Napisz wiadomość",tildeKey:"Szybki resp (party)",commands:"Komendy",saveComm:"Zapisz komendy",theme:"Wygląd",themeType:"Motyw",darkTheme:"Ciemny motyw",lightTheme:"Jasny motyw",mainColor:"Kolor główny",bgColor:"Kolor tła",foodColor:"Kolor pokarmu",gridColor:"Kolor sektorów",saveSett:"Zapisz ustawienia",hideChatMsg:"Ukryto czat!",activePartys:"Aktywne party",pause:"PAUZA!",visit:"Odwiedź ",exit:"OGARio by szymy: Czy na pewno chcesz opuścic grę?"},en:{start:"Start",settings:"Settings",rainbowFood:"Rainbow food",transparentCells:"Transparent cells",showBgSectors:"Show background sectors",showMapBorders:"Show map borders",showMiniMap:"Show minimap",oppColors:"Opponents colors",splitRange:"Split range",showFPS:"Show game stats",textStroke:"Text stroke",disableShift:"Disable Shift",disableAlt:"Disable Alt",hideChat:"Hide chat",mouseControl:"Mouse feed/split",mouseInvert:"Invert mouse buttons",keys:"Keys",qKey:"Double split",wKey:"Macro feed",eKey:"Cell pause",aKey:"Toggle names",sKey:"Toggle skins",dKey:"Toggle background sectors",fKey:"Toggle food",hKey:"Hide chat",zKey:"Reset zoom",cKey:"Chat history / Clear chat",shiftKey:"Split n16",spaceKey:"Split",space:"Space",enterKey:"Enter chat message",tildeKey:"Quick resp (party)",commands:"Commands",saveComm:"Save commands",theme:"Theme",themeType:"Theme type",darkTheme:"Dark theme",lightTheme:"Light theme",mainColor:"Main color",bgColor:"Background color",foodColor:"Food color",gridColor:"Grid color",saveSett:"Save settings",hideChatMsg:"Hide chat!",activePartys:"Active partys",pause:"PAUSE!",visit:"Visit ",exit:"OGARio by szymy: Are you sure you want to quit the game?"}};if("pl"==l)var d={comm1:"Feeduj!",comm2:"Dziel się!",comm3:"Pomocy na %currentSector%!",comm4:"Wróg na %currentSector%!",comm5:"Zabij pomocnika!",comm6:"Strzel z wirusa!",comm7:"Zjedz wirusa!",comm8:"Zjebałem, wybacz.",comm9:"Ja pierdolę...",comm0:"Kurwa mać!",comm10:"Trick!",comm11:"Lewo!",comm12:"Góra!",comm13:"Prawo!",comm14:"Dół!"};else var d={comm1:"Feed me!",comm2:"Split into me!",comm3:"Need backup on %currentSector%!",comm4:"Enemy spotted on %currentSector%!",comm5:"Need a teammate!",comm6:"Tank the virus!",comm7:"Eat the virus!",comm8:"Let's bait!",comm9:"Fake tricksplit!",comm0:"Fuck!",comm10:"Tricksplit!",comm11:"Left!",comm12:"Up!",comm13:"Right!",comm14:"Bottom!"};var p=null,h={mainColor:"#b5a642",bgColor:"#000000",foodColor:"#998c36",gridColor:"#111111",darkTheme:!0},m={nick:"I <3 szymy",clanTag:"Ⓜ",skin:"",color:h.mainColor},u={rainbowFood:!1,transparentCells:!0,showBgSectors:!0,showMapBorders:!0,showMiniMap:!0,oppColors:!0,splitRange:!0,showFPS:!0,textStroke:!1,disableShift:!1,disableAlt:!0,hideChat:!1,mouseControl:!1,mouseInvert:!1};a.prototype={id:0,x:0,y:0,lastX:0,lastY:0,mass:0,clanTag:"",nick:"",nickImg:null,skin:"",color:h.mainColor,alive:!1,updateTime:null,pi2:2*Math.PI,setNick:function(e){e&&e!=this.nick&&(this.nick=e)},drawPosition:function(e,t,a){if(this.alive){this.lastX=(29*this.lastX+this.x)/30,this.lastY=(29*this.lastY+this.y)/30;var o=(this.lastX+t)*a,i=(this.lastY+t)*a;this.nick.length>0&&(e.fillStyle="#FFFFFF",e.font="9px Ubuntu",e.fillText(this.nick,o-e.measureText(this.nick).width/2,i-10)),e.beginPath(),e.arc(o,i,4.5,0,this.pi2,!1),e.closePath(),e.fillStyle=h.mainColor,e.fill()}}},o.prototype={name:"OGARio LE by szymy",version:"v1.0.8",currentSector:"",miniMap:null,miniMapCtx:null,miniMapSectors:null,pi2:2*Math.PI,sectors:5,mapBordersWidth:20,socket:null,teamPlayers:[],partys:[],chatHistory:[],gameMode:"",partyToken:"",playerIP:"",playerMass:0,updateTick:0,rFps:0,renderedFrames:0,fpsLastRequest:null,fpsHUD:null,leaderboardInfo:null,activePartys:null,top5p:null,lastMessageSend:Date.now(),setSkins:!0,setNames:!0,getPlayerX:function(){return e.playerX+e.mapOffsetX},getPlayerY:function(){return e.playerY+e.mapOffsetY},parseSettings:function(e,t){return"save"===t?"string"==typeof e?e:JSON.stringify(e):"string"!=typeof e?JSON.stringify(e):"true"==e||"false"==e?JSON.parse(e):e},loadSettings:function(e){for(var t in e)e.hasOwnProperty(t)&&null!=window.localStorage.getItem(t)&&(e[t]=this.parseSettings(window.localStorage.getItem(t),"load"))},saveSettings:function(e){for(var t in e)e.hasOwnProperty(t)&&window.localStorage.setItem(t,this.parseSettings(e[t],"save"))},setKeys:function(){var a={},o={},i={feed:null,split:null},s=null,n=!1;window.addKeyListeners=function(){window.onkeydown=function(e){if(!a[e.keyCode]&&!window.jQuery("#overlays").is(":visible")&&!window.jQuery("#message").is(":focus"))switch(a[e.keyCode]=!0,e.keyCode){case 32:window.core&&window.core.split&&window.core.split();break;case 87:window.core&&window.core.eject&&window.core.eject();break;case 81:window.core&&window.core.specialOn&&window.core.specialOn();break;case 27:e.preventDefault(),window.MC.showNickDialog(300),window.jQuery("#oferwallContainer").is(":visible")&&window.closeOfferwall(),window.jQuery("#videoContainer").is(":visible")&&window.closeVideoContainer()}},window.onkeyup=function(e){a[e.keyCode]=!1,81==e.keyCode&&window.specialOff&&window.core.specialOff()}},window.addEventListener("keydown",function(a){var s=a.keyCode;if(13==s&&this.focusOnChat(),!o[s]&&!t("#overlays").is(":visible")&&!t("#message").is(":focus"))switch(48>s||s>57||this.sendCommand(s-48),37>s||s>40||this.sendCommand(s-26),o[s]=!0,s){case 16:if(i.split||u.disableShift)break;var n=0;window.core.split(),i.split=setInterval(function(){window.core.split(),3==++n&&(clearInterval(i.split),i.split=null)},50);break;case 18:if(u.disableAlt)break;this.sendCommand(10),a.preventDefault();break;case 65:this.setNames=!this.setNames,window.core.setNames(this.setNames);break;case 67:this.displayChatHistory(!0);break;case 68:u.showBgSectors=!u.showBgSectors;break;case 70:e.showFood=!e.showFood;break;case 72:this.hideChat();break;case 81:window.core.split(),setTimeout(function(){window.core.split()},50);break;case 83:this.setSkins=!this.setSkins,window.core.setSkins(this.setSkins);break;case 87:i.feed=setInterval(function(){window.core.eject()},50);break;case 90:e.zoom=1;break;case 192:window.quickPartyJoin()}}.bind(this),!0),window.addEventListener("keyup",function(t){switch(t.keyCode){case 67:this.displayChatHistory(!1);break;case 87:null!==i.feed&&(clearInterval(i.feed),i.feed=null);break;case 90:e.zoom=0}o[t.keyCode]=!1}.bind(this),!0),window.onmousedown=function(e){t("#overlays").is(":visible")||(2==e.which&&u.disableAlt?(this.sendCommand(10),e.preventDefault()):u.mouseControl&&((1==e.which&&!u.mouseInvert||3==e.which&&u.mouseInvert)&&window.core.split(),(3==e.which&&!u.mouseInvert||1==e.which&&u.mouseInvert)&&!n&&(s=setInterval(function(){window.core.eject()},50),n=!0)))}.bind(this),window.onmouseup=function(e){u.mouseControl&&(3==e.which&&!u.mouseInvert||1==e.which&&u.mouseInvert)&&(null!==s&&(clearInterval(s),s=null),n=!1)}},setMenu:function(){var a=this;document.title=" ",t("#mainPanel").before('<div id="main-menu" class="agario-panel"><ul class="menu-tabs"><li class="active"><a href="#mainPanel" class="active">'+c[l].start+'</a></li><li><a href="#og-settings">'+c[l].settings+'</a></li><li><a href="#keys">'+c[l].keys+'</a></li><li><a href="#commands">'+c[l].commands+'</a></li><li><a href="#theme">'+c[l].theme+'</a></li></ul><div id="og-settings" class="menu-panel"></div><div id="keys" class="menu-panel"></div><div id="commands" class="menu-panel"></div><div id="theme" class="menu-panel"></div></div>'),t("#mainPanel, #stats").appendTo(t("#main-menu")),t("#mainPanel, #stats").addClass("menu-panel"),t("#helloContainer div[role=form] .form-group:first").empty().append('<h1>OGARio by szymy</h1><h2 class="main-color"> </h2>'),t("#nick").before('<input id="clantag" class="form-control" placeholder="Tag, e.g. Ⓜ" />'),t("#locationKnown, #locationUnknown").insertAfter(t("#nick")),t(".btn-spectate, .btn-logout").appendTo("#agario-main-buttons"),t("#agario-main-buttons").append('<br clear="both"/>'),t("#helloContainer div[role=form]").after('<div id="ogario-party"><input id="joinPartyToken" class="partyToken form-control" placeholder="Party token" /><button class="btn btn-info btn-copy-token copy-party-token">Copy</button></div>'),t("#create-party-btn, #join-party-btn").appendTo(t("#ogario-party")),t("#join-party-btn").addClass("btn-success"),t("#settingsChoice, #options").appendTo(t("#og-settings")),t(".right-container").append('<div class="agario-panel agario-side-panel leaderboard-panel"><span id="leaderboard-info"></span><button class="btn btn-sm btn-primary btn-copy-leaderboard" onclick="copyLeaderboard();">Copy</button></div> <div class="agario-panel agario-side-panel party-panel"><h5 class="main-color">Top 5</h5><ol id="top5"></ol></div>'),t(".agario-profile-panel").after('<div class="agario-panel agario-side-panel ogario-yt-panel"><h4> </h4><div class="g-ytsubscribe" data-channelid="UCaWiPNJWnhzYDrBQoXokn6w" data-layout="full" data-theme="dark" data-count="default"></div></div>'),t("#mainPanel").append('<div id="version" class="main-color">'+this.version+" | "+c[l].visit+'<a href="http://ogario.ovh" target="_blank">ogario.ovh</a></div>'),t("#mainPanel").append('<div id="ogario-ad"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"><\/script> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-7183176369281586" data-ad-slot="1341824503"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script></div>'),t(".agario-party-1 div:first, .agario-party-0, .agario-party-1 .clearfix, .agario-party-3, .agario-party-4, .agario-party-5 div:first, .agario-party-5 .clearfix").remove(),t("#mainPanel hr, .btn-settings, .text-muted, .tosBox, .agario-promo, #agario-web-incentive, span[data-itr='option_dark_theme'], #darkTheme").remove(),t("body").append('<div id="adsBottom" style="z-index: 200; display: none;"><div id="adsBottomInner"><div id="g728x90"></div><div id="a728x90"></div></div></div>'),t("#adbg, #a320x250, #g320x250, #adsBottom").css("display","none"),t("#create-party-btn, #join-party-btn").css({width:"49%",margin:"6px 0 0 0","float":"left"}),t("#join-party-btn").css({"margin-left":"2%"}),t(".ogario-yt-panel").css({margin:"10px 2px","float":"right"}),t("#adsBottom").css({"z-index":"1",opacity:"0"});for(var o in u)u.hasOwnProperty(o)&&t("#og-settings").append('<label><input type="checkbox" onchange="setSettings(\''+o+"', $(this).is(':checked'));\" id=\""+o+'">'+c[l][o]+"</label>");t("#tags-container").appendTo(t("#og-settings")),t("#og-settings input:checkbox").each(function(){var e=t(this).attr("id");u.hasOwnProperty(e)&&t(this).prop("checked",u[e])}),t("#keys").append('<span class="key"><span class="bold main-color">[Q]</span> - '+c[l].qKey+'</span> <span class="key"><span class="bold main-color">[W]</span> - '+c[l].wKey+'</span> <span class="key"><span class="bold main-color">[A]</span> - '+c[l].aKey+'</span> <span class="key"><span class="bold main-color">[S]</span> - '+c[l].sKey+'</span> <span class="key"><span class="bold main-color">[D]</span> - '+c[l].dKey+'</span> <span class="key"><span class="bold main-color">[F]</span> - '+c[l].fKey+'</span> <span class="key"><span class="bold main-color">[Z]</span> - '+c[l].zKey+'</span> <span class="key"><span class="bold main-color">[C]</span> - '+c[l].cKey+'</span> <span class="key"><span class="bold main-color">['+c[l].space+"]</span> - "+c[l].spaceKey+'</span> <span class="key"><span class="bold main-color">[Shift]</span> - '+c[l].shiftKey+'</span> <span class="key"><span class="bold main-color">[Enter]</span> - '+c[l].enterKey+'</span> <span class="key"><span class="bold main-color">[H]</span> - '+c[l].hKey+'</span> <span class="key"><span class="bold main-color">[~]</span> - '+c[l].tildeKey+"</span>");var i=0;for(var s in d)d.hasOwnProperty(s)&&(++i,11>i?label=10==i?0:i:(11==i&&(label="Alt / Mouse Wheel"),12==i&&(label="Left Arrow"),13==i&&(label="Up Arrow"),14==i&&(label="Right Arrow"),15==i&&(label="Down Arrow")),t("#commands").append('<div class="input-group input-group-sm"><span class="input-group-addon" id="'+s+'">'+label+'</span><input type="text" class="form-control" placeholder="Command #'+label+'" value="'+d[s]+'"></div>'));t("#commands").append('<button class="btn btn-block btn-sm btn-success btn-save" onclick="saveCommands();">'+c[l].saveComm+"</button>"),t("#theme").append('<div class="color-box theme-box"><span class="title">'+c[l].themeType+'</span><div id="theme-type" class="btn-group btn-group-justified" data-toggle="buttons"><label class="btn btn-default"><input type="radio" name="options" id="darktheme">'+c[l].darkTheme+'</label><label class="btn btn-default"><input type="radio" name="options" id="lighttheme">'+c[l].lightTheme+'</label></div></div> <div class="color-box"><span class="title">'+c[l].mainColor+'</span><div class="input-group main-color-picker"><input type="text" value="'+h.mainColor+'" id="maincolor" class="form-control" /><span class="input-group-addon"><i></i></span></div></div> <div class="color-box"><span class="title">'+c[l].bgColor+'</span><div class="input-group background-color-picker"><input type="text" value="'+h.bgColor+'" id="backgroundcolor" class="form-control" /><span class="input-group-addon"><i></i></span></div></div> <div class="color-box"><span class="title">'+c[l].foodColor+'</span><div class="input-group food-color-picker"><input type="text" value="'+h.foodColor+'" id="foodcolor" class="form-control" /><span class="input-group-addon"><i></i></span></div></div> <div class="color-box"><span class="title">'+c[l].gridColor+'</span><div class="input-group grid-color-picker"><input type="text" value="'+h.gridColor+'" id="gridcolor" class="form-control" /><span class="input-group-addon"><i></i></span></div></div>'),t("#theme .main-color-picker").colorpicker({format:"hex"}).on("changeColor.colorpicker",function(e){a.setMainColor(e.color.toHex())}),t("#theme .background-color-picker").colorpicker({format:"hex"}).on("changeColor.colorpicker",function(e){h.bgColor=e.color.toHex(),t("body").css("background-color",h.bgColor)}),t("#theme .food-color-picker").colorpicker({format:"hex"}).on("changeColor.colorpicker",function(t){h.foodColor=t.color.toHex(),e.foodColor=h.foodColor}),t("#theme .grid-color-picker").colorpicker({format:"hex"}).on("changeColor.colorpicker",function(e){h.gridColor=e.color.toHex()}),t("#theme").append('<button class="btn btn-block btn-sm btn-success btn-save" onclick="saveThemeSettings();">'+c[l].saveSett+"</button>"),h.darkTheme?t("#darktheme").closest("label").addClass("active"):t("#lighttheme").closest("label").addClass("active"),t("#theme-type").change(function(){var e=t(this).find("input:checked").attr("id");a.changeTheme(e)}),t("body").append('<div id="overlays-hud"><div id="fps-hud" class="hud main-color"></div> <div id="pause-hud" class="hud">'+c[l].pause+'</div> <div id="leaderboard-hud" class="hud-b"><h4 class="main-color"> </h4><div id="leaderboard-positions"></div></div> <div id="minimap-hud" class="hud-b"><canvas id="minimap-sectors"></canvas><canvas id="minimap"></canvas></div></div>'),t("body").append('<ul id="messages"></ul>'),t("body").append('<input id="message" class="form-control" type="text" placeholder="'+c[l].enterKey+'..." maxlength="100" />'),t(".skin-group").colorpicker({format:"hex",input:"#color"}),toastr.options={newestOnTop:!1,positionClass:"toast-bottom-left",timeOut:"15000"},t(document).ready(function(){t(".menu-tabs a").click(function(e){e.preventDefault();var a=t(this);a.addClass("active"),a.parent().addClass("active"),a.parent().siblings().removeClass("active"),a.parent().siblings().find("a").removeClass("active");var o=a.attr("href");t(".menu-panel").not(o).css("display","none"),t(o).fadeIn()})}),t("#gamemode").on("change",function(){a.gameMode=this.value,":party"!==this.value&&a.isSocketOpen()&&(a.socket.close(),t(".partyToken").val(""))}),t("#cancel-party-btn").on("click",function(){a.gameMode="",a.socket.close(),t(".partyToken").val("")}),t("#canvas").bind("contextmenu",function(){return!1}),this.fpsHUD=document.getElementById("fps-hud"),this.activePartys=document.getElementById("activepartys"),this.top5p=document.getElementById("top5"),this.leaderboardInfo=document.getElementById("leaderboard-info"),t("#nick").val(m.nick),t("#clantag").val(m.clanTag)},setMainColor:function(e){h.mainColor=e,t("#main-menu").css("border-color",e),p||(p=t("<style type='text/css'>").appendTo("head")),p.html(".main-color, .menu-tabs .active, center, #cancel-party-btn { color: "+e+"; } #main-menu { border-color: "+e+"} .toast-warning { background-color: "+e+"; }")},changeTheme:function(e){"darktheme"==e?(h.darkTheme=!0,h.bgColor="#000000",h.gridColor="#111111",t("#theme .background-color-picker").colorpicker("setValue","#000000"),t("#theme .grid-color-picker").colorpicker("setValue","#111111"),t("#minimap-sectors").css("opacity","0.2")):(h.darkTheme=!1,h.bgColor="#F2FBFF",h.gridColor="#D9E1E5",t("#theme .background-color-picker").colorpicker("setValue","#F2FBFF"),t("#theme .grid-color-picker").colorpicker("setValue","#D9E1E5"),t("#minimap-sectors").css("opacity","0.4"))},setTheme:function(){this.setMainColor(h.mainColor),t("body").css("background-color",h.bgColor),h.darkTheme?t("#minimap-sectors").css("opacity","0.2"):t("#minimap-sectors").css("opacity","0.4")},setMiniMap:function(){u.showMiniMap?(t("#minimap-hud").show(),t("#leaderboard-hud").css("bottom","240px")):(t("#minimap-hud").hide(),t("#leaderboard-hud").css("bottom","10px"))},setButtons:function(){var t=document.getElementsByClassName("btn-play")[0],a=document.getElementsByClassName("btn-play-guest")[0],o=document.getElementsByClassName("btn-spectate")[0],i=document.getElementById("create-party-btn"),s=document.getElementById("join-party-btn");t.addEventListener("click",function(){this.handleConnect(),this.play()}.bind(this),!1),a.addEventListener("click",function(){this.handleConnect(),this.play()}.bind(this),!1),o.addEventListener("click",function(){this.handleConnect(),this.sendPlayerDeath(),e.play=!1,e.spectate=!0}.bind(this),!1),i.addEventListener("click",function(){this.handleConnect(),this.sendPlayerDeath()}.bind(this),!1),s.addEventListener("click",function(){this.handleConnect(),this.sendPlayerDeath()}.bind(this),!1)},play:function(){this.sendPlayerSpawn(),e.play=!0,e.spectate=!1,window.ga&&window.ga("create","UA-67142685-2","auto","ogarioTracker"),window.ga&&window.ga("ogarioTracker.send","pageview"),window.ga&&window.ga("ogarioTracker.send","event","Nick",m.clanTag+m.nick)},setPlayerInfo:function(){var e=t("#nick").val(),a=t("#clantag").val();m.nick=e||"",m.clanTag=a||"",this.saveSettings(m)},setParty:function(){if(this.gameMode=t("#gamemode").val(),":party"===this.gameMode){var e=t(".partyToken").val();e&&e.length>5&&(e=e.split("#"),this.partyToken=e[1])}},calculateCurrentSector:function(){if(!e.mapOffsetFixed)return void(this.currentSector="");var t=e.mapOffsetX+e.mapOffset,a=e.mapOffsetY+e.mapOffset,o=String.fromCharCode(65+Math.floor((e.playerY+a)/(e.mapSize/this.sectors))),i=""+(Math.floor((e.playerX+t)/(e.mapSize/this.sectors))+1);this.currentSector=o+i},drawMapBorders:function(t,a,o,i,s,n,r){e.mapOffsetFixed&&u.showMapBorders&&(t.save(),t.strokeStyle=n,t.lineWidth=r,t.beginPath(),t.moveTo(a,o),t.lineTo(i,o),t.lineTo(i,s),t.lineTo(a,s),t.closePath(),t.stroke(),t.restore())},drawMiniMap:function(){if(e.mapOffsetFixed){this.miniMap?this.miniMapCtx.clearRect(0,0,200,220):(this.miniMap=document.getElementById("minimap"),this.miniMapCtx=this.miniMap.getContext("2d"),this.miniMapCtx.ogarioCtx=!0,this.miniMap.width=200,this.miniMap.height=220);var t=182/e.mapSize,a=e.mapOffsetX+e.mapOffset,o=e.mapOffsetY+e.mapOffset;if(this.calculateCurrentSector(),this.miniMapCtx.globalAlpha=1,this.miniMapCtx.font="16px Ubuntu",this.miniMapCtx.fillStyle=h.mainColor,this.miniMapCtx.fillText(this.currentSector,10,20),this.miniMapSectors||this.drawMiniMapSectors(this.sectors,this.sectors,182,182),this.miniMapCtx.save(),this.miniMapCtx.translate(9.5,29.5),this.miniMapCtx.fillStyle="#FFFFFF",this.miniMapCtx.beginPath(),this.miniMapCtx.arc((e.playerX+a)*t,(e.playerY+o)*t,6,0,this.pi2,!1),this.miniMapCtx.closePath(),this.miniMapCtx.fill(),":party"===this.gameMode&&this.teamPlayers.length>0)for(var i=0;i<this.teamPlayers.length;i++)this.teamPlayers[i].drawPosition(this.miniMapCtx,e.mapOffset,t);this.miniMapCtx.restore()}},drawMiniMapSectors:function(e,t,a,o){this.miniMapSectors=document.getElementById("minimap-sectors");var i=this.miniMapSectors.getContext("2d");i.ogarioCtx=!0,this.miniMapSectors.width=a,this.miniMapSectors.height=o,i.fillStyle="#FFFFFF",this.drawSectors(i,e,t,.5,.5,a-.5,o-.5,"#FFFFFF",1,!1)},drawSectors:function(t,a,o,i,s,n,r,l,c,d){if(!d||e.mapOffsetFixed&&u.showBgSectors){var p=Math.floor((n-i)/a),h=Math.floor((r-s)/o),m=.5*h;t.save(),t.strokeStyle=l,t.fillStyle=l,t.lineWidth=c,t.beginPath();for(var y=0;a+1>y;y++)t.moveTo(y==a?n:i+p*y,s),t.lineTo(y==a?n:i+p*y,r);for(var y=0;o+1>y;y++)t.moveTo(i,y==o?r:s+h*y),t.lineTo(n,y==o?r:s+h*y);t.closePath(),t.stroke(),t.font=m+"px Ubuntu";for(var y=0;o>y;y++)for(var f=0;a>f;f++){var w=String.fromCharCode(65+y)+(f+1);t.fillText(w,i+p/2+f*p-t.measureText(w).width/2,s+h/2+y*h+.18*h)}t.restore()}},setVirusColor:function(e){var t=Math.floor(e*e/100);return t>183?"#C80000":h.darkTheme?"#999999":"#666666"},setVirusStrokeColor:function(t){if(e.play&&0!=e.playerMaxMass){var a=Math.floor(t*t/100),o=a/e.playerMaxMass;return o>.76?"#FFDC00":"#C80000"}return h.darkTheme?"#999999":"#666666"},setOppColor:function(t){var a=Math.floor(t*t/100),o=a/e.playerMaxMass;if(o&&o>0){var i=e.playerMaxMass<1e3?.35:.38;return o>11?"#FF008C":2.5>o?1.25>o?1.25>o&&o>.75?"#FFDC00":o>i?"#00C8FF":"#64FF00":"#FF0A00":"#BE00FF"}},displayLeaderboard:function(e){this.leaderboardInfo&&(this.leaderboardInfo.innerHTML=e)},countFPS:function(){if(!this.fpsLastRequest)return void(this.fpsLastRequest=Date.now());var e=Date.now(),t=e-this.fpsLastRequest;1e3>t||(this.rFps=this.renderedFrames,this.renderedFrames=0,this.fpsLastRequest=e),this.renderedFrames++},displayFPS:function(){if(!u.showFPS)return void t("#fps-hud").hide();var a="";e.play&&(e.playerMass&&(a+="Mass: "+e.playerMass+" | "),e.playerBestMass&&(a+="Best: "+e.playerBestMass+" | "),e.ste&&(a+="STE: "+e.ste+" | "),e.playerCellsMass&&(a+=e.playerCellsMass.length+"/16 | ")),a+="rFPS: "+this.rFps,this.fpsHUD.textContent=a,setTimeout(function(){this.displayFPS()}.bind(this),100)},connect:function(){if(this.setParty(),this.socket){this.socket.onopen=null,this.socket.onmessage=null;try{this.socket.close()}catch(e){}this.socket=null}this.teamPlayers=[],this.partys=[],":party"!==this.gameMode||this.partyToken.length>5||(console.log(" : Connecting to server"),this.socket=new WebSocket("ws://91.134.143.136:3000"),this.socket.ogarioWS=!0,this.socket.binaryType="arraybuffer",this.socket.onopen=function(){console.log(" : Socket open"),this.sendBuffer(this.strToBuff(80,this.partyToken)),this.sendBuffer(this.strToBuff(81,this.playerIP)),this.sendBuffer(this.strToBuff(0,m.nick)),this.sendBuffer(this.strToBuff(1,m.clanTag))}.bind(this),this.socket.onmessage=this.handleMessage.bind(this),this.socket.onclose=function(){console.log(" : Socket close")},this.socket.onerror=function(){console.log(" : Socket error")})},handleConnect:function(){this.setPlayerInfo(),this.isSocketOpen()||setTimeout(function(){this.connect()}.bind(this),1e3),this.updatePlayerInfo()},isSocketOpen:function(){return null!=this.socket&&this.socket.readyState==this.socket.OPEN},createView:function(e){return new DataView(new ArrayBuffer(e))},strToBuff:function(e,t){var a=this.createView(1+2*t.length);a.setUint8(0,e);for(var o=0;o<t.length;o++)a.setUint16(1+2*o,t.charCodeAt(o),!0);return a},sendBuffer:function(e){this.socket.send(e.buffer)},handleMessage:function(e){this.readMessage(new DataView(e.data))},readMessage:function(e){var t=e.getUint8(0);switch(t){case 16:this.updateTeamPlayers(e),this.displayTop5();break;case 96:this.updatePartys(e),this.displayPartys();break;case 100:u.hideChat||this.readChatMessage(e)}},checkPlayerID:function(e){for(var t=0;t<this.teamPlayers.length;t++)if(this.teamPlayers[t].id==e)return t;return null},updateTeamPlayers:function(e){function t(){for(var t="";;){var a=e.getUint16(s,!0);if(0==a)break;t+=String.fromCharCode(a),s+=2}return s+=2,t}for(var o=Date.now(),i=e.getUint8(1),s=2,n=0;i>n;n++){var r=e.getUint32(s,!0),l=e.getInt32(s+4,!0),c=e.getInt32(s+8,!0),d=e.getUint32(s+12,!0);s+=16;var p=t(),h=t(),m=t(),u=t(),y=this.checkPlayerID(r);if(null!=y)this.teamPlayers[y].x=l,this.teamPlayers[y].y=c,this.teamPlayers[y].mass=d,this.teamPlayers[y].clanTag=p,this.teamPlayers[y].setNick(h),this.teamPlayers[y].skin=m,this.teamPlayers[y].color=u,this.teamPlayers[y].alive=!0,this.teamPlayers[y].updateTime=o;else{var f=new a(r,l,c,d,p,h,m,u);this.teamPlayers.push(f)}}if(this.updateTick++,5==this.updateTick){for(var n=0;n<this.teamPlayers.length;n++)o-this.teamPlayers[n].updateTime>1e3&&(this.teamPlayers[n].alive=!1);this.updateTick=0}this.teamPlayers.sort(function(e,t){return t.mass-e.mass}),this.top5=[];for(var n=0;n<this.teamPlayers.length&&(!this.teamPlayers[n].alive||(this.top5.push({nick:this.teamPlayers[n].nick,mass:this.teamPlayers[n].mass}),5!=this.top5.length));n++);},updatePartys:function(e){this.partys=[];for(var t=e.getUint8(1),a=2,o=0;t>o;o++){for(var i="";;){var s=e.getUint16(a,!0);if(0==s)break;i+=String.fromCharCode(s),a+=2}a+=2,this.partys.push(i)}},displayPartys:function(){for(var e="",t=0;t<this.partys.length;t++)e+='<li><a href="http://agar.io/#'+this.partys[t]+"\" onclick=\"$('#joinPartyToken').val('"+this.partys[t]+"'); $('#join-party-btn').click();\">http://agar.io/#"+this.partys[t]+"</a></li>";this.activePartys.innerHTML=e},displayTop5:function(){for(var e="",t=0;t<this.top5.length&&(e+="<li>"+this.top5[t].nick+"</li>",4!=t);t++);this.top5p.innerHTML=e},readChatMessage:function(e){for(var t=e.getUint8(1),a="",o=2;o<e.byteLength;o+=2){var i=e.getUint16(o,!0);if(0==i)break;a+=String.fromCharCode(i)}if(a.length>0){var s=a.split(": ",1);a=a.replace(s+": ",""),101==t?(toastr.success('<span class="message-nick main-color">'+s+": </span>"+a),this.chatHistory.push({nick:s,message:a}),this.chatHistory.length>15&&this.chatHistory.splice(0,1)):toastr.warning(s+": "+a)}},displayChatHistory:function(e){if(e){t("#messages").empty(),toastr.clear();for(var a=0;a<this.chatHistory.length;a++)t("#messages").append('<li><span class="message-nick main-color">'+this.chatHistory[a].nick+": </span>"+this.chatHistory[a].message+"</li>")}else t("#messages").empty()},sendChatMessage:function(e,t){if(Date.now()-this.lastMessageSend>=500&&0!=t.length&&0!=m.nick.length&&this.isSocketOpen()){var t=m.nick+": "+t,a=this.createView(2+2*t.length);a.setUint8(0,100),a.setUint8(1,e);for(var o=0;o<t.length;o++)a.setUint16(2+2*o,t.charCodeAt(o),!0);this.sendBuffer(a),this.lastMessageSend=Date.now()}},prepareCommand:function(e){var t=e.replace("%currentSector%",this.currentSector);return t},sendCommand:function(e){var t=this.prepareCommand(d["comm"+e]);this.sendChatMessage(102,t)},focusOnChat:function(){if(":party"===this.gameMode){var a=t("#message");if(a.is(":visible")){var o=a.val();o.length>0?(this.sendChatMessage(101,o),e.play&&(a.blur(),a.hide())):(a.blur(),a.hide()),a.val("") | |
}else a.show(),a.focus(),a.val("")}},hideChat:function(){":party"===this.gameMode&&(u.hideChat=!u.hideChat,u.hideChat&&(toastr.error("[H] "+c[l].hideChatMsg),t("#message").hide()))},pause:function(){e.pause=!e.pause,e.pause?t("#pause-hud").show():t("#pause-hud").hide()},updatePlayer:function(){if(this.isSocketOpen())if(e.play){var t=this.createView(13);t.setUint8(0,16),t.setInt32(1,this.getPlayerX(),!0),t.setInt32(5,this.getPlayerY(),!0),t.setUint32(9,this.playerMass,!0),this.sendBuffer(t),this.sendPlayerSpawn()}else this.sendPlayerDeath()},sendPlayerSpawn:function(){this.isSocketOpen()&&(view=this.createView(2),view.setUint8(0,64),view.setUint8(1,1),this.sendBuffer(view))},sendPlayerDeath:function(){this.isSocketOpen()&&(view=this.createView(2),view.setUint8(0,64),view.setUint8(1,0),this.sendBuffer(view))},updatePlayerInfo:function(){this.isSocketOpen()&&(this.sendBuffer(this.strToBuff(0,m.nick)),this.sendBuffer(this.strToBuff(1,m.clanTag)),this.sendBuffer(this.strToBuff(2,m.skin)),this.sendBuffer(this.strToBuff(3,m.color)),setTimeout(function(){this.setParty(),this.sendBuffer(this.strToBuff(80,this.partyToken))}.bind(this),1e3))},getPlayerIP:function(){t.ajax("http://ogario.ovh/pingback.php",{success:function(e){this.playerIP=e},dataType:"text",method:"GET",cache:!1,crossDomain:!0})},init:function(){this.getPlayerIP(),this.loadSettings(d),this.loadSettings(h),this.loadSettings(m),this.loadSettings(u),this.setTheme(),this.setMenu(),this.setKeys(),this.setButtons(),this.setMiniMap(),this.displayFPS(),setInterval(function(){this.drawMiniMap()}.bind(this),33),setInterval(function(){this.updatePlayer()}.bind(this),900)}};var y=new o;y.init(),i(),s(),n(),window.onbeforeunload=r,window.saveCommands=function(){t("#commands .input-group-addon").each(function(){var e=t(this),a=e.attr("id");if(d.hasOwnProperty(a)){var o=e.parent().find("input:text").val();d[a]=o,window.localStorage.setItem(a,d[a])}}),y.loadSettings(d)},window.saveThemeSettings=function(){y.saveSettings(h)},window.setSettings=function(a,o){if(u.hasOwnProperty(a)&&null!=o){switch(u[a]=o,e[a]=o,a){case"showMiniMap":y.setMiniMap();break;case"showFPS":y.displayFPS(),t("#fps-hud").show()}y.saveSettings(u)}},window.copyLeaderboard=function(){var e=t("<input>");t("body").append(e),e.val(t("#leaderboard-info").text()).select();try{document.execCommand("copy")}catch(a){}e.remove()},window.quickPartyJoin=function(){":party"===y.gameMode&&(e.play=!1,t("#join-party-btn").click(),setTimeout(function(){t(".btn-play").click()},250))},e.transparentCells=u.transparentCells,e.cellsAlpha=.9,e.virusColor=h.darkTheme?"#999999":"#666666",e.virusAlpha=.6,e.foodColor=h.foodColor,e.rainbowFood=u.rainbowFood,e.oppColors=u.oppColors,e.splitRange=u.splitRange,e.textStroke=u.textStroke,e.displayLeaderboard=function(){y.displayLeaderboard(e.leaderboardHTML)},e.customDraw=function(){y.countFPS();var t=e.gameCtx;if(t){var a=e.mapMinX-e.mapOffsetX,o=e.mapMinY-e.mapOffsetY,i=e.mapMaxX-e.mapOffsetX,s=e.mapMaxY-e.mapOffsetY;if(y.drawSectors(t,5,5,a,o,i,s,h.gridColor,20,!0),y.drawMapBorders(t,a,o,i,s,h.mainColor,20),e.foodCache&&e.foodCache.length>0){t.beginPath();for(var n=0;n<e.foodCache.length;n++){var r=e.foodCache[n].x,l=e.foodCache[n].y;t.moveTo(r,l),t.arc(r,l,e.foodCache[n].size+5,y.pi2,!1)}t.fillStyle=h.foodColor,t.globalAlpha=1,t.fill(),e.foodCache=[]}if(e.biggerCellsCache&&e.biggerCellsCache.length>0){t.lineWidth=4,t.strokeStyle="#BE00FF",t.globalAlpha=.4;for(var n=0;n<e.biggerCellsCache.length;n++){var r=e.biggerCellsCache[n].x,l=e.biggerCellsCache[n].y;t.beginPath(),t.arc(r,l,e.biggerCellsCache[n].size+760,y.pi2,!1),t.closePath(),t.stroke()}t.globalAlpha=1,e.biggerCellsCache=[]}}},e.setVirusColor=function(e){return y.setVirusColor(e)},e.setVirusStrokeColor=function(e){return y.setVirusStrokeColor(e)},e.setOppColor=function(e){return y.setOppColor(e)}}(window.ogario,window.jQuery); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment