Last active
June 13, 2016 13:24
-
-
Save theawesomecoder61/6abbb4fe27fb18ba6a7d0850a1e14586 to your computer and use it in GitHub Desktop.
From some Chrome extension I found
This file contains hidden or 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
| var renderMode = 2, | |
| version = '6.3', | |
| normalRender = false, | |
| gameFPS = null, | |
| positionHUD = null, | |
| bestscoreHUD = null, | |
| ipHUD = null, | |
| fpsHUD = null, | |
| styleHUD = "color: #FFF; font-family: Consolas, Verdana; font-size: 13px; position: fixed; opacity: 0.35; z-index: 7;", | |
| inpNick = null, | |
| currentIP = null, | |
| retry = 0, | |
| bgImage = null; | |
| var f = false; | |
| var colorfood = 1; | |
| var sizee = 1; | |
| var crazie = false; | |
| var teamUp = false; | |
| var loopInterval = 500; | |
| var skinLoop = null; | |
| var foodLoop = null; | |
| var nextSkin = 0; | |
| var highScore = 0; | |
| var inpIP = null; | |
| function zoom(e) { | |
| if (!window.gsc) { | |
| return; | |
| } | |
| e.preventDefault(); | |
| window.lvz *= Math.pow(0.93, e.wheelDelta / -120 || e.detail / 2 || 0); | |
| window.lvz > 2 ? window.lvz = 2 : window.lvz < 0.1 ? window.lvz = 0.1 : null; | |
| window.gsc = window.lvz; | |
| } | |
| function zoomByKey(key) { | |
| var fzoom = key ? -2 : 2; | |
| window.lvz *= Math.pow(0.9, fzoom); | |
| window.lvz > 2 ? window.lvz = 2 : window.lvz < 0.1 ? window.lvz = 0.1 : null; | |
| } | |
| window.aef = window.oef; | |
| window.oef = function() { | |
| window.aef(); | |
| if (snake) { | |
| window.gsc = window.lvz; | |
| } else { | |
| window.lvz = window.sgsc; | |
| } | |
| }; | |
| function init() { | |
| appendDiv("position-hud", "nsi", styleHUD + "right: 30; bottom: 120px;"); | |
| appendDiv("ip-hud", "nsi", styleHUD + "right: 30; bottom: 140px;"); | |
| appendDiv("score-hud", "nsi", styleHUD + "right: 30; bottom: 180px;"); | |
| appendDiv("fps-hud", "nsi", styleHUD + "right: 30; bottom: 160px;"); | |
| positionHUD = document.getElementById("position-hud"); | |
| ipHUD = document.getElementById("ip-hud"); | |
| fpsHUD = document.getElementById("fps-hud"); | |
| bestscoreHUD = document.getElementById("score-hud"); | |
| if (/firefox/i.test(navigator.userAgent)) { | |
| document.addEventListener("DOMMouseScroll", zoom, false); | |
| } else { | |
| document.body.onmousewheel = zoom; | |
| } | |
| window.lvz = window.sgsc; | |
| window.onkeydown = function(e) { | |
| if(window.playing){ | |
| switch (e.keyCode) { | |
| case 9: | |
| e.preventDefault(); | |
| positionHUD.style.display = positionHUD.style.display == "none" ? positionHUD.style.display = null : positionHUD.style.display = "none"; | |
| ipHUD.style.display = ipHUD.style.display == "none" ? ipHUD.style.display = null : ipHUD.style.display = "none"; | |
| fpsHUD.style.display = fpsHUD.style.display == "none" ? fpsHUD.style.display = null : fpsHUD.style.display = "none"; | |
| bestscoreHUD.style.display = bestscoreHUD.style.display == "none" ? bestscoreHUD.style.display = null : bestscoreHUD.style.display = "none"; | |
| break; | |
| case 27: | |
| forceConnect(); | |
| break; | |
| case 81: | |
| gameOver(); | |
| break; | |
| case 90: | |
| gsc = 0.9; | |
| window.lvz = 0.9; | |
| break; | |
| case 69: //r | |
| changeSkinback(); | |
| break; | |
| case 82: //e | |
| changeSkin(); | |
| break; | |
| case 70: | |
| if (f === true) { | |
| f = false; | |
| } else { | |
| f = true; | |
| } | |
| foodInterval(); | |
| break; | |
| case 71: | |
| if (colorfood >= 7) { | |
| colorfood = 0; | |
| } | |
| colorfood = colorfood + 1; | |
| break; | |
| case 72: | |
| if (sizee >= 20) { | |
| sizee = 0; | |
| } | |
| sizee = sizee + 2; | |
| break; | |
| case 74: | |
| if (crazie === true) { | |
| crazie = false; | |
| } else { | |
| crazie = true; | |
| } | |
| break; | |
| case 16: | |
| setAcceleration(true); | |
| break; | |
| case 77://M | |
| zoomByKey(false); | |
| zoom(e); | |
| break; | |
| case 78://N | |
| zoomByKey(true); | |
| zoom(e); | |
| break; | |
| case 49: | |
| insertFitout('oneeye'); //1 | |
| break; | |
| case 50: | |
| insertFitout('argo'); //2 | |
| break; | |
| case 51: | |
| insertFitout('magnet'); //3 | |
| break; | |
| case 52: | |
| insertFitout('kiwi'); //4 | |
| break; | |
| case 53: | |
| insertFitout('punch'); //5 | |
| break; | |
| case 54: | |
| insertFitout('smile'); //6 | |
| break; | |
| case 55: | |
| insertFitout('snail'); //7 | |
| break; | |
| case 56: | |
| insertFitout('store'); //8 | |
| break; | |
| case 57: | |
| insertFitout('reddit'); //8 | |
| break; | |
| case 85: | |
| showHelp(true); | |
| break; | |
| } | |
| } | |
| } | |
| window.onkeyup = function(e) { | |
| switch (e.keyCode) { | |
| case 16: | |
| setAcceleration(false); | |
| break; | |
| case 85: | |
| showHelp(false); | |
| break; | |
| } | |
| } | |
| setLogoMenu(); | |
| loadBoard(); | |
| setGPU(); | |
| updateLoop(); | |
| loadFPS(); | |
| localStorage.edttsg = "1"; | |
| } | |
| function appendDiv(id, className, style) { | |
| var div = document.createElement("div"); | |
| if (id) { | |
| div.id = id; | |
| } | |
| if (className) { | |
| div.className = className; | |
| } | |
| if (style) { | |
| div.style = style; | |
| } | |
| document.body.appendChild(div); | |
| } | |
| function changeSkin() { | |
| if (window.playing && window.snake != null) { | |
| var skin = window.snake.rcv; | |
| skin++; | |
| if (skin > window.max_skin_cv) { | |
| skin = 0; | |
| } | |
| window.setSkin(window.snake, skin); | |
| resetTogg(); | |
| } | |
| } | |
| function changeSkinback() { | |
| var skin = window.snake.rcv; | |
| if (window.playing && window.snake != null) { | |
| skin--; | |
| if (skin < 1) { | |
| skin = window.max_skin_cv; | |
| } | |
| window.setSkin(window.snake, skin); | |
| resetTogg(); | |
| } | |
| } | |
| function setLogoMenu() { | |
| var login = document.getElementById("login"); | |
| if (login) { | |
| loadOptions(); | |
| document.getElementById("nick").value = "Slithere.com"; | |
| document.getElementById("nick_holder").style.marginTop = "10px"; | |
| document.getElementById("playh").firstChild.style.marginBottom = "10px"; | |
| document.getElementById("login").style.marginTop = "30px"; | |
| document.getElementById("logo").style.marginTop = "0px"; | |
| document.getElementById("lastscore").style.marginTop = "20px"; | |
| jQuery('#login').append(''); | |
| jQuery('#login').append('<div style="box-shadow: #000 0px 6px 50px;width: 700px;color: rgb(165, 165, 165);border-radius: 40px;font-family: Arial;font-size: 13px;text-align: center;margin: 10px auto 10px;line-height: 16px;text-shadow: #000000 0px 1px 1px;background: none;padding:25px;">We share best Slither.io Mods, Extensions Visit Us: <a style="color:#e2cd09;"target="_blank"href="http://www.slithere.com">SLITHERE.COM</a><br><span style="color:#ff5656;">Plaese Disable other Slither.io extension for use that one with full features!</span><div class="row" style="margin-top:15px;"><div class="col-xs-6 col-md-4"style="text-align:left;font-weight: bold;padding-right:0;"><div style="border-radius: 4px;padding:5px 0px;"><center><a href="http://www.slithere.com"target="_blank"style="color:#00b9d6;opacity:2;text-decoration:none;">VISIT SLITHERE.COM</a><br/><a href="http://www.diepioplay.com"target="_blank"style="color:#00b9d6;opacity:2;text-decoration:none;">VISIT DIEPIOPLAY.COM</a><br/><a href="http://www.agarw.com"target="_blank"style="color:#00b9d6;opacity:2;text-decoration:none;">VISIT AGARW.COM</a></center></br><select id="select-srv"class="form-control"style="color:#047a18;"><option value="">Select Server</option></select></div><div style="border-radius: 4px;padding:5px 0px;"><select id="select-graph"class="form-control"style="color: #c90808;"><option value="3">Graphic: Normal</option><option value="2">Graphic: Optimized</option><option value="1">Graphic: Low</option></select></div><div style="border-radius: 4px;padding:5px 0px;"><select id="bg-value"class="form-control"style="color: #0838d6;"><option value="1">Background:Default</option><option value="2">Background:Custom(URL)</option><option value="3">Background:White grid</option><option value="4">Background:Black grid</option><option value="5">Background:None(Black)</option><option value="6">Background:Cats</option><option value="7">Background:Dirt</option><option value="8">Background:Grass</option><option value="9">Background:Grid</option><option value="10">Background:Magma</option><option value="11">Background:Stonewall</option><option value="12">Background:Wood</option></select></div><div style="line-height: 20px;text-align: center;"></br>Mod Version: '+version+'</br><a style="color:#00ff00;opacity:2;text-decoration:none;"href="https://chrome.google.com/webstore/detail/slitherio-mods-hacks-skin/gkfpaolkkchfafkhdleklbddpcolkdea/reviews"target="_blank">Rate for Slither.io Mods [CLICK]</a></div></div><div class="col-xs-12 col-md-8"><div class="form-inline"style="padding: 5px;color: rgb(128, 88, 208); border-radius: 4px; margin: 5px auto; background-color: rgb(255, 255, 255);"><input id="ip-server"type="text"placeholder="Enter Server IP Here"class="form-control"style="color:#2196F3;text-align:center;"> <input id="connect-btn"type="button"value="Play With IP"class="btn btn-primary"style="padding:6px 10px;"></div><div style="border-radius: 4px; margin: 5px auto; padding: 5px 2px; background-color: rgb(255, 255, 255);"><input type="file"accept="image/*"id="fileinput"style="display: inline-block;"><input id="setbg-btn"type="button"value="Set BG"onclick="localImage();"class="btn btn-info"style="padding: 4px 10px;"></div><span style="color:#999">Upload your image with (559x519),then press (Set BG)</span></br></br><div style="color: rgb(133, 249, 174); font-family: Arial; font-size: 13px; text-align: left; opacity: 2; margin: 0px auto; padding: 5px 0px; line-height: 22px; text-shadow: rgb(0, 0, 0) 0px 1px 1px;"><b style="color:#8058d0">MAIN | </b><b style="color:#FF9800">ESC</b> - Respawn | <b style="color:#FF9800">Q</b> - Die | <b style="color:#FF9800">Z</b> - Reset Zoom | <b style="color:#FF9800">SHIFT</b> - Boost </br><b style="color:#FF9800">TAB</b> - Toggle HUD | <b style="color:#FF9800">N/M</b> - Zoom In/Out | <b style="color:#FF9800">U</b> - Hold For Help</br><b style="color:#8058d0">SKINS | </b><b style="color:#FF9800">W</b> - Toggle Skin Rotator | <b style="color:#FF9800">E</b> - Skin Backward | <b style="color:#FF9800">R</b> - Skin Forward</br><b style="color:#8058d0">FOODS | </b><b style="color:#FF9800">F</b> - Toggle Food | <b style="color:#FF9800">G</b> - Food Color | <b style="color:#FF9800">H</b> - Food Size | <b style="color:#FF9800">J</b> - Crazy</br><b style="color:#8058d0">ADDS | </b><b style="color:#FF9800">1</b> - Green Eye | <b style="color:#FF9800">2</b> - Point | <b style="color:#FF9800">3</b> - Magnet | <b style="color:#FF9800">4</b> - Kiwi | <b style="color:#FF9800">5</b> - Punch</br><b style="color:#FF9800">6</b> - Smile | <b style="color:#FF9800">7</b> - Snail | <b style="color:#FF9800">8</b> - Google | <b style="color:#FF9800">9</b> - Reddit</div></div></div></div></div>'); | |
| inpIP = document.getElementById("ip-server"); | |
| var nick = document.getElementById("nick"); | |
| nick.addEventListener("input", setNickname, false); | |
| var connectBtn = document.getElementById("connect-btn"); | |
| connectBtn.onclick = forceConnect; | |
| listServer(); | |
| var selectGraph = document.getElementById("select-graph"); | |
| if (renderMode == 1) { | |
| selectGraph.selectedIndex = 2; | |
| } else if (renderMode == 2) { | |
| selectGraph.selectedIndex = 1; | |
| } else { | |
| selectGraph.selectedIndex = 0; | |
| normalRender = true; | |
| } | |
| selectGraph.onchange = function() { | |
| var mode = selectGraph.value; | |
| if (mode) { | |
| renderMode = mode; | |
| localStorage.setItem("rendermode", renderMode); | |
| } | |
| }; | |
| var bgGraph = document.getElementById("bg-value"); | |
| bgGraph.onchange = function() { | |
| var bg = parseInt(bgGraph.value); | |
| switch (bg) { | |
| case 1: | |
| ii.src = "http://slither.io/s/bg45.jpg"; | |
| break; | |
| case 2: | |
| ii.src = prompt("Enter url image (559x519px)") | |
| break; | |
| case 3: | |
| ii.src = "http://www.slithere.com/chrome2/whitegrid.png"; | |
| break; | |
| case 4: | |
| ii.src = "http://www.slithere.com/chrome2/blackgrid.png"; | |
| break; | |
| case 5: | |
| ii.src = "http://www.slithere.com/chrome2/black.png"; | |
| break; | |
| case 6: | |
| ii.src = "http://www.slithere.com/chrome2/carts.jpg"; | |
| break; | |
| case 7: | |
| ii.src = "http://www.slithere.com/chrome2/dirt.jpg"; | |
| break; | |
| case 8: | |
| ii.src = "http://www.slithere.com/chrome2/grass.jpg"; | |
| break; | |
| case 9: | |
| ii.src = "http://www.slithere.com/chrome2/grid.jpg"; | |
| break; | |
| case 10: | |
| ii.src = "http://www.slithere.com/chrome2/magma.jpg"; | |
| break; | |
| case 11: | |
| ii.src = "http://www.slithere.com/chrome2/stonewall.jpg"; | |
| break; | |
| case 12: | |
| ii.src = "http://www.slithere.com/chrome2/wood.jpg"; | |
| break; | |
| } | |
| }; | |
| resizeScreen(); | |
| yardimet(); | |
| $('#playh').insertAfter('#nick_holder'); | |
| $('#playh').css({ | |
| 'display': 'inline-flex', | |
| 'margin-left': '5px' | |
| }); | |
| jQuery('#tips').remove(); | |
| jQuery('#lastscore').css('margin-top','0px'); | |
| cskh.style.bottom = "35px"; | |
| cskh.style.display = "inline"; | |
| cstx.style.display = "none"; | |
| clq.style.width = "320px"; | |
| clq.style.bottom = "35px"; | |
| clq.innerHTML = "</br></br><a class='lq2' href='http://slithere.com/privacy-policy' target='_blank'>Privacy Policy</a> - <a class='lq2' href='http://facebook.com/slitherecom' target='_blank'>Contact</a>"; | |
| } else { | |
| setTimeout(setLogoMenu, 100); | |
| } | |
| } | |
| function loadOptions() { | |
| if (window.localStorage.getItem("nick") != null) { | |
| var nick = window.localStorage.getItem("nick"); | |
| document.getElementById("nick").value = nick; | |
| } | |
| if (window.localStorage.getItem("rendermode") != null) { | |
| var mode = parseInt(window.localStorage.getItem("rendermode")); | |
| if (mode >= 1 && mode <= 3) { | |
| renderMode = mode; | |
| } | |
| } | |
| if (window.localStorage.getItem("highscore") != null) { | |
| var score = parseInt(window.localStorage.getItem("highscore")); | |
| if (score > 0) { | |
| highScore = score; | |
| } | |
| } | |
| if (window.resetGame) { | |
| window.resetOld = window.resetGame; | |
| window.resetGame = function() { | |
| if (snake != null) { | |
| var score = Math.floor(150 * (fpsls[snake.sct] + snake.fam / fmlts[snake.sct] - 1) - 50) / 10; | |
| if (score > highScore) { | |
| highScore = score; | |
| window.localStorage.setItem("highscore", highScore); | |
| } | |
| } | |
| window.resetOld(); | |
| }; | |
| } | |
| } | |
| function setNickname() { | |
| var nick = document.getElementById("nick").value; | |
| window.localStorage.setItem("nick", nick); | |
| } | |
| function showHelp(show) { | |
| if (show) { | |
| jQuery('div#menu-help').fadeIn(100); | |
| } else { | |
| jQuery('div#menu-help').fadeOut(100); | |
| } | |
| } | |
| function yardimet() { | |
| var div = document.createElement('div'); | |
| div.id = 'menu-help'; | |
| div.style.width = "700px"; | |
| div.style.color = "#85f9ae"; | |
| div.style.fontFamily = "'Arial'"; | |
| div.style.fontSize = "13px"; | |
| div.style.textAlign = "center"; | |
| div.style.opacity = "1"; | |
| div.style.zIndex = "1000"; | |
| div.style.display = "none"; | |
| div.style.margin = "0 auto"; | |
| div.style.padding = "5px 0"; | |
| div.style.position = "fixed"; | |
| div.style.top = "150px"; | |
| div.style.left = "calc(50% - 350px)"; | |
| div.style.lineHeight = "22px"; | |
| div.style.textShadow = "0px 1px 1px #000"; | |
| div.innerHTML = "<b style='color:#FF9800'>ESC</b> - Respawn | <b style='color:#FF9800'>Q</b> - Die | <b style='color:#FF9800'>Z</b> - Reset Zoom | <b style='color:#FF9800'>SHIFT</b> - Boost | <b style='color:#FF9800'>TAB</b> - Toggle HUD | <b style='color:#FF9800'>W</b> - Toggle Skin Rotator<br/><b style='color:#FF9800'>N/M</b> - Zoom In/Out | <b style='color:#FF9800'>E/R</b> - Change Skin | <b style='color:#FF9800'>F</b> - Toggle Food | <b style='color:#FF9800'>G</b> - Food Color | <b style='color:#FF9800'>H</b> - Food Size | <b style='color:#FF9800'>J</b> - Food Crazy</br><b style='color:#FF9800'>1</b> - Green Eye | <b style='color:#FF9800'>2</b> - Point | <b style='color:#FF9800'>3</b> - Magnet | <b style='color:#FF9800'>4</b> - Kiwi | <b style='color:#FF9800'>5</b> - Punch | <b style='color:#FF9800'>6</b> - Smile | <b style='color:#FF9800'>7</b> - Snail | <b style='color:#FF9800'>8</b> - Google | <b style='color:#FF9800'>9</b> - Reddit"; | |
| jQuery('body').append(div); | |
| } | |
| function connectionStatus() { | |
| if (!window.connecting || retry == 10) { | |
| window.forcing = false; | |
| retry = 0; | |
| return; | |
| } | |
| retry++; | |
| setTimeout(connectionStatus, 1000); | |
| } | |
| function forceConnect() { | |
| if (inpIP.value.length == 0 || !window.connect) { | |
| return; | |
| } | |
| window.forcing = true; | |
| if (!window.bso) { | |
| window.bso = {}; | |
| } | |
| if (jQuery('canvas').eq(1).css('display') != 'none') { | |
| jQuery('canvas').eq(1).css('display', 'none'); | |
| } | |
| var srv = inpIP.value.trim().split(":"); | |
| window.bso.ip = srv[0]; | |
| window.bso.po = srv[1]; | |
| window.connect(); | |
| setTimeout(connectionStatus, 1000); | |
| } | |
| function loadBestscore() { | |
| if (!window.snake || !window.fpsls || !window.fmlts) { | |
| return; | |
| } | |
| if (bestscoreHUD && highScore > 0) { | |
| bestscoreHUD.textContent = "Best Score: " + highScore; | |
| } | |
| } | |
| function listServer() { | |
| if (window.sos && window.sos.length > 0) { | |
| var selectSrv = document.getElementById("select-srv"); | |
| for (var i = 0; i < sos.length; i++) { | |
| var srv = sos[i]; | |
| var option = document.createElement("option"); | |
| option.value = srv.ip + ":" + srv.po; | |
| option.text = (i + 1) + ". " + option.value; | |
| selectSrv.appendChild(option); | |
| } | |
| selectSrv.onchange = function() { | |
| var srv = selectSrv.value; | |
| inpIP.value = srv; | |
| }; | |
| } else { | |
| setTimeout(listServer, 100); | |
| } | |
| } | |
| function resizeScreen() { | |
| if (window.resize) { | |
| window.lww = 0; | |
| window.wsu = 0; | |
| window.resize(); | |
| var wh = Math.ceil(window.innerHeight); | |
| if (wh < 800) { | |
| var login = document.getElementById("login"); | |
| window.lgbsc = wh / 800; | |
| login.style.top = -50 + "px"; | |
| if (window.trf) { | |
| window.trf(login, "scale(" + window.lgbsc + "," + window.lgbsc + ")"); | |
| } | |
| } | |
| } else { | |
| setTimeout(resizeScreen, 100); | |
| } | |
| } | |
| function loadBoard() { | |
| if (window.lbh) { | |
| window.lbh.textContent = "Slithere.com Top 10"; | |
| window.lbh.style.fontSize = "20px"; | |
| } else { | |
| setTimeout(loadBoard, 100); | |
| } | |
| } | |
| function setNormalMode() { | |
| normalRender = true; | |
| window.ggbg = true; | |
| if (!window.bgp2 && bgImage) { | |
| window.bgp2 = bgImage; | |
| } | |
| window.render_mode = 2; | |
| } | |
| function setGPU() { | |
| if (renderMode == 3) { | |
| if (!normalRender) { | |
| setNormalMode(); | |
| } | |
| return; | |
| } | |
| if (normalRender) { | |
| normalRender = false; | |
| } | |
| if (window.want_quality && window.want_quality != 0) { | |
| window.want_quality = 0; | |
| window.localStorage.setItem("qual", "0"); | |
| window.grqi.src = "/s/lowquality.png"; | |
| } | |
| if (window.ggbg && window.gbgmc) { | |
| window.ggbg = false; | |
| } | |
| if (window.high_quality) { | |
| window.high_quality = false; | |
| } | |
| if (window.gla && window.gla != 0) { | |
| window.gla = 0; | |
| } | |
| if (window.render_mode && window.render_mode != renderMode) { | |
| window.render_mode = renderMode; | |
| } | |
| } | |
| function loadFPS() { | |
| if (window.playing && fpsHUD && window.fps && window.lrd_mtm) { | |
| if (Date.now() - window.lrd_mtm > 970) { | |
| fpsHUD.textContent = "FPS: " + window.fps; | |
| } | |
| } | |
| setTimeout(loadFPS, 50); | |
| } | |
| function updateLoop() { | |
| setGPU(); | |
| loadBestscore(); | |
| if (window.playing) { | |
| if (positionHUD) { | |
| positionHUD.textContent = "X: " + (~~window.view_xx || 0) + " Y: " + (~~window.view_yy || 0); | |
| } | |
| if (inpIP && window.bso) { | |
| currentIP = window.bso.ip + ":" + window.bso.po; | |
| inpIP.value = currentIP; | |
| if (ipHUD) { | |
| ipHUD.textContent = "IP: " + currentIP; | |
| } | |
| } | |
| } | |
| setTimeout(updateLoop, 1000); | |
| } | |
| function ShowFullscreen() { | |
| var elem = document.getElementsByTagName('html')[0]; | |
| if (elem.requestFullscreen) { | |
| elem.requestFullscreen(); | |
| } else if (elem.mozRequestFullScreen) { | |
| elem.mozRequestFullScreen(); | |
| } else if (elem.webkitRequestFullscreen) { | |
| elem.webkitRequestFullscreen(); | |
| } | |
| } | |
| function gameOver() { | |
| if (window.playing) { | |
| window.want_close_socket = -1; | |
| window.dead_mtm = Date.now() - 5E3; | |
| window.ws.close(); | |
| window.ws = null; | |
| window.playing = !1; | |
| window.connected = !1; | |
| window.resetGame(); | |
| window.play_btn.setEnabled(!0); | |
| } | |
| } | |
| function foodInterval() { | |
| skinLoop = setInterval(function() { | |
| if (f === true && colorfood != 7 && crazie !== true) { | |
| newFood(3, snake.xx, snake.yy, sizee, 5, colorfood); | |
| } else if (f === true && colorfood == 7 && crazie !== true) { | |
| newFood(3, snake.xx, snake.yy, sizee, 5, Math.floor(Math.random() * 7) + 1); | |
| } else if (f === true && crazie === true) { | |
| newFood(3, snake.xx, snake.yy, Math.floor(Math.random() * 20) + 1, 5, Math.floor(Math.random() * 7) + 1); | |
| } | |
| }, 100); | |
| } | |
| init(); | |
| var toggEye = false; | |
| var toggArgo = false; | |
| var toggMag = false; | |
| var toggKiw = false; | |
| var toggPunch = false; | |
| var toggSmile = false; | |
| var toggSnail = false; | |
| var toggStore = false; | |
| var toggRed = false; | |
| function resetTogg(){ | |
| toggEye = false; | |
| toggArgo = false; | |
| toggMag = false; | |
| toggKiw = false; | |
| toggPunch = false; | |
| toggSmile = false; | |
| toggSnail = false; | |
| toggStore = false; | |
| toggRed = false; | |
| } | |
| function resetCustom(){ | |
| snake.ec = "#fff"; | |
| snake.ppc = "#000"; | |
| snake.ppa = 1; | |
| toggRed = false; | |
| } | |
| function flagTogg(result){ | |
| toggArgo = result; | |
| toggMag = result; | |
| toggKiw = result; | |
| toggPunch = result; | |
| toggStore = result; | |
| toggRed = result; | |
| } | |
| function eyeTogg(result){ | |
| snake.ed = 6; | |
| snake.esp = 6; | |
| snake.eca = 0.75; | |
| snake.eo = 0; | |
| snake.er = 6; | |
| snake.easp = .1; | |
| snake.pr = 3.5; | |
| snake.pma = 2.3; | |
| snake.slg = 0; | |
| snake.eac = 0; | |
| snake.jyt = 0; | |
| toggSnail = result; | |
| toggEye = result; | |
| toggSmile = result; | |
| } | |
| function insertFitout(fitout){ | |
| resetCustom(); | |
| if(fitout == 'oneeye'){ | |
| if(!toggEye){ | |
| eyeTogg(false); | |
| snake.one_eye = !0; | |
| snake.ebi = jsebi; | |
| snake.ebiw = 64; | |
| snake.ebih = 64; | |
| snake.ebisz = 29; | |
| snake.epi = jsepi; | |
| snake.epiw = 48; | |
| snake.epih = 48; | |
| snake.episz = 14; | |
| snake.pma = 4; | |
| snake.swell = .06; | |
| toggEye = true; | |
| toggSmile = false; | |
| toggSnail = false; | |
| } | |
| else{ | |
| snake.one_eye = 0; | |
| snake.swell = 0; | |
| toggEye = false; | |
| } | |
| } | |
| if(fitout == 'reddit'){//Flag | |
| if(!toggRed){ | |
| flagTogg(false); | |
| eyeTogg(false); | |
| window.setSkin(window.snake, 19); | |
| var redbulb = document.createElement("canvas"); | |
| redbulb.width = redbulb.height = 34; | |
| ctx = redbulb.getContext("2d"); | |
| g = ctx.createRadialGradient(17, 17, 1, 17, 17, 16); | |
| g.addColorStop(0, "rgba(255, 255, 255, 1)"); | |
| g.addColorStop(.83, "rgba(150,150,150, 1)"); | |
| g.addColorStop(.84, "rgba(80,80,80, 1)"); | |
| g.addColorStop(.99, "rgba(80,80,80, 1)"); | |
| g.addColorStop(1, "rgba(80,80,80, 0)"); | |
| ctx.fillStyle = g; | |
| ctx.fillRect(0, 0, 34, 34); | |
| snake.ec = "#ee5500"; | |
| snake.atc1 = "#000"; | |
| snake.atc2 = "#fff"; | |
| snake.er = 4.5; | |
| snake.ppa = 0; | |
| snake.antenna = !0; | |
| var b = 8; | |
| snake.atx = new Float32Array(b); | |
| snake.aty = new Float32Array(b); | |
| snake.atvx = new Float32Array(b); | |
| snake.atvy = new Float32Array(b); | |
| snake.atax = new Float32Array(b); | |
| snake.atay = new Float32Array(b); | |
| for (--b; 0 <= b; b--) snake.atx[b] = snake.xx, snake.aty[b] = snake.yy; | |
| snake.bulb = redbulb; | |
| snake.blbx = -10; | |
| snake.blby = -10; | |
| snake.blbw = 20; | |
| snake.blbh = 20; | |
| snake.bsc = 1; | |
| snake.blba = .9; | |
| toggRed = true; | |
| }else{ | |
| snake.antenna = 0; | |
| toggRed = false; | |
| } | |
| } | |
| if(fitout == 'argo'){//Flag | |
| if(!toggArgo){ | |
| flagTogg(false); | |
| snake.antenna = !0; | |
| snake.atba = 0; | |
| snake.atc1 = "#00688c"; | |
| snake.atc2 = "#64c8e7"; | |
| snake.atwg = !0; | |
| snake.atia = .35; | |
| snake.abrot = !1; | |
| var b = 18; | |
| snake.atx = new Float32Array(b); | |
| snake.aty = new Float32Array(b); | |
| snake.atvx = new Float32Array(b); | |
| snake.atvy = new Float32Array(b); | |
| snake.atax = new Float32Array(b); | |
| snake.atay = new Float32Array(b); | |
| for (--b; 0 <= b; b--) snake.atx[b] = snake.xx, snake.aty[b] = snake.yy; | |
| snake.bulb = acbulb; | |
| snake.blbx = -10; | |
| snake.blby = -10; | |
| snake.blbw = 20; | |
| snake.blbh = 20; | |
| snake.bsc = 1; | |
| snake.blba = .9; | |
| toggArgo = true; | |
| }else{ | |
| snake.antenna = 0; | |
| toggArgo = false; | |
| } | |
| } | |
| if(fitout == 'magnet'){//Flag | |
| if(!toggMag){ | |
| flagTogg(false); | |
| snake.ec = "#ff5609"; | |
| snake.eca = 1; | |
| snake.antenna = !0; | |
| snake.atba = 0; | |
| snake.atc1 = "#000000"; | |
| snake.atc2 = "#5630d7"; | |
| snake.atia = 1; | |
| snake.abrot = !0; | |
| b = 18; | |
| snake.atx = new Float32Array(b); | |
| snake.aty = new Float32Array(b); | |
| snake.atvx = new Float32Array(b); | |
| snake.atvy = new Float32Array(b); | |
| snake.atax = new Float32Array(b); | |
| snake.atay = new Float32Array(b); | |
| for (--b; 0 <= b; b--) snake.atx[b] = snake.xx, snake.aty[b] = snake.yy; | |
| snake.bulb = cdbulb; | |
| snake.blbx = -5; | |
| snake.blby = -10; | |
| snake.blbw = 20; | |
| snake.blbh = 20; | |
| snake.bsc = 1.6; | |
| snake.blba = 1; | |
| toggMag = true; | |
| }else{ | |
| snake.ec = "#fff"; | |
| snake.antenna = 0; | |
| toggMag = false; | |
| } | |
| } | |
| if(fitout == 'kiwi'){//Flag | |
| if(!toggKiw){ | |
| flagTogg(false); | |
| snake.eca = 1; | |
| snake.antenna = !0; | |
| snake.atba = 0; | |
| snake.atc1 = "#301400"; | |
| snake.atc2 = "#ff6813"; | |
| snake.atwg = !0; | |
| snake.atia = .5; | |
| snake.abrot = !0; | |
| c = 9; | |
| snake.atx = new Float32Array(c); | |
| snake.aty = new Float32Array(c); | |
| snake.atvx = new Float32Array(c); | |
| snake.atvy = new Float32Array(c); | |
| snake.atax = new Float32Array(c); | |
| snake.atay = new Float32Array(c); | |
| for (--c; 0 <= c; c--) snake.atx[c] = snake.xx, snake.aty[c] = snake.yy; | |
| snake.bulb = kwkbulb; | |
| snake.blbx = -39; | |
| snake.blby = -63; | |
| snake.blbw = 172; | |
| snake.blbh = 113; | |
| snake.bsc = .42; | |
| snake.blba = 1; | |
| toggKiw = true; | |
| }else{ | |
| snake.antenna = 0; | |
| toggKiw = false; | |
| } | |
| } | |
| if(fitout == 'punch'){//Flag | |
| if(!toggPunch){ | |
| flagTogg(false); | |
| snake.eca = 1; | |
| snake.antenna = !0; | |
| snake.atba = 0; | |
| snake.atc1 = "#1d3245"; | |
| snake.atc2 = "#44d4ff"; | |
| snake.atwg = !0; | |
| snake.atia = .43; | |
| snake.abrot = !0; | |
| c = 12; | |
| snake.atx = new Float32Array(c); | |
| snake.aty = new Float32Array(c); | |
| snake.atvx = new Float32Array(c); | |
| snake.atvy = new Float32Array(c); | |
| snake.atax = new Float32Array(c); | |
| snake.atay = new Float32Array(c); | |
| for (--c; 0 <= c; c--) snake.atx[c] = snake.xx, snake.aty[c] = snake.yy; | |
| snake.bulb = pwdbulb; | |
| snake.blbx = -36; | |
| snake.blby = -100; | |
| snake.blbw = 190; | |
| snake.blbh = 188; | |
| snake.bsc = .25; | |
| snake.blba = 1; | |
| toggPunch = true; | |
| }else{ | |
| snake.antenna = 0; | |
| toggPunch = false; | |
| } | |
| } | |
| if(fitout == 'smile'){ | |
| if(!toggSmile){ | |
| eyeTogg(false); | |
| snake.eac = !0; | |
| snake.jyt = !0; | |
| snake.one_eye = 0; | |
| snake.swell = 0; | |
| toggSmile = true; | |
| toggSnail = false; | |
| toggEye = false; | |
| }else{ | |
| snake.eac = 0; | |
| snake.jyt = 0; | |
| toggSmile = false; | |
| } | |
| } | |
| if(fitout == 'snail'){ | |
| if(!toggSnail){ | |
| snake.one_eye = 0; | |
| snake.swell = 0; | |
| snake.ed = 34; | |
| snake.esp = 14; | |
| snake.eca = 1; | |
| snake.eo = 3; | |
| snake.er = 8; | |
| snake.easp = .038; | |
| snake.pr = 4.5; | |
| snake.pma = 3; | |
| snake.slg = !0; | |
| toggSnail = true; | |
| toggSmile = false; | |
| toggEye = false; | |
| }else{ | |
| snake.ed = 6; | |
| snake.esp = 6; | |
| snake.eca = 0.75; | |
| snake.eo = 0; | |
| snake.er = 6; | |
| snake.easp = .1; | |
| snake.pr = 3.5; | |
| snake.pma = 2.3; | |
| snake.slg = 0; | |
| toggSnail = false; | |
| } | |
| } | |
| if(fitout == 'store'){//Flag | |
| if(!toggStore){ | |
| flagTogg(false); | |
| snake.eca = 1; | |
| snake.antenna = !0; | |
| snake.atba = 0; | |
| snake.atc1 = "#002828"; | |
| snake.atc2 = "#80d0d0"; | |
| snake.atwg = !0; | |
| snake.atia = .5; | |
| snake.abrot = !0; | |
| c = 9; | |
| snake.atx = new Float32Array(c); | |
| snake.aty = new Float32Array(c); | |
| snake.atvx = new Float32Array(c); | |
| snake.atvy = new Float32Array(c); | |
| snake.atax = new Float32Array(c); | |
| snake.atay = new Float32Array(c); | |
| for (--c; 0 <= c; c--) snake.atx[c] = snake.xx, snake.aty[c] = snake.yy; | |
| snake.bulb = playbulb; | |
| snake.blbx = -29; | |
| snake.blby = -74; | |
| snake.blbw = 142; | |
| snake.blbh = 149; | |
| snake.bsc = .36; | |
| snake.blba = 1; | |
| toggStore = true; | |
| }else{ | |
| snake.antenna = 0; | |
| toggStore = false; | |
| } | |
| } | |
| } | |
| function localImage() { | |
| var file = document.querySelector('input[type=file]').files[0]; | |
| var reader = new FileReader(); | |
| reader.onloadend = function() { | |
| theImage = reader.result; | |
| localStorage.setItem("savei", theImage); | |
| ii.src = localStorage.getItem("savei"); | |
| }; | |
| if (file) { | |
| reader.readAsDataURL(file); | |
| } else { | |
| preview.src = ""; | |
| } | |
| } | |
| var setSkin = (function() { | |
| var | |
| omaxSkin = max_skin_cv, | |
| osetSkin = setSkin, | |
| newskin = [ | |
| [11, 7, 7, 11, 11, 11, 9, 9], | |
| [4, 3, 3, 4, 4, 4], | |
| [5, 5, 7, 5, 22, 22, 4, 4, 22, 22, 5, 5, 9, 9], | |
| [16, 16, 16, 16, 7, 7, 7, 9, 9, 10, 10, 10, 9, 9, 7, 7, 7], | |
| [12, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7], | |
| [11, 9, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11], | |
| [16, 16, 7, 7, 7, 7, 9, 11, 7, 7, 7, 7, 16], | |
| [3, 3, 3, 9, 11, 9], | |
| [11, 9, 11, 7, 7, 7], // Mexican Kingsnake | |
| [11, 9, 11, 4, 4, 4], // Mexican Kingsnake | |
| [11, 9, 11, 5, 5, 5], // Mexican Kingsnake | |
| [11, 9, 11, 23, 23, 23], // Mexican Kingsnake | |
| [12, 13, 14, 15, 16, 17, 18, 21, 22, 23], //Test 2 | |
| [12, 11, 22, 22, 23, 23, 12], // Nice colors | |
| [11], | |
| [25],// fullcolor green | |
| [21] //full color blue | |
| ]; | |
| max_skin_cv = max_skin_cv + newskin.length; | |
| return function(snake, skinId) { | |
| osetSkin(snake, skinId); | |
| if (skinId > omaxSkin) { | |
| var sID, checkSkinId = skinId - omaxSkin - 1; | |
| if (newskin[checkSkinId] !== undefined) { | |
| sID = newskin[checkSkinId]; | |
| } else { | |
| skinId %= 9; | |
| } | |
| sID && (skinId = sID[0]); | |
| snake.rbcs = sID; | |
| snake.cv = skinId; | |
| } | |
| if(snake.rcv == 59){ | |
| snake.one_eye = !0; | |
| snake.ebi = jsebi; | |
| snake.ebiw = 64; | |
| snake.ebih = 64; | |
| snake.ebisz = 29; | |
| snake.epi = jsepi; | |
| snake.epiw = 48; | |
| snake.epih = 48; | |
| snake.episz = 14; | |
| snake.pma = 4; | |
| snake.swell = .06; | |
| toggEye = true; | |
| } | |
| if(snake.rcv == 60){ | |
| snake.eca = 1; | |
| snake.antenna = !0; | |
| snake.atba = 0; | |
| snake.atc1 = "#301400"; | |
| snake.atc2 = "#ff6813"; | |
| snake.atwg = !0; | |
| snake.atia = .5; | |
| snake.abrot = !0; | |
| c = 9; | |
| snake.atx = new Float32Array(c); | |
| snake.aty = new Float32Array(c); | |
| snake.atvx = new Float32Array(c); | |
| snake.atvy = new Float32Array(c); | |
| snake.atax = new Float32Array(c); | |
| snake.atay = new Float32Array(c); | |
| for (--c; 0 <= c; c--) snake.atx[c] = snake.xx, snake.aty[c] = snake.yy; | |
| snake.bulb = kwkbulb; | |
| snake.blbx = -39; | |
| snake.blby = -63; | |
| snake.blbw = 172; | |
| snake.blbh = 113; | |
| snake.bsc = .42; | |
| snake.blba = 1; | |
| toggkivi = true; | |
| } | |
| }; | |
| })(); | |
| function resizeScreen() { | |
| if (window.resize) { | |
| window.lww = 0; | |
| window.wsu = 0; | |
| window.resize(); | |
| var wh = Math.ceil(window.innerHeight); | |
| if (wh < 800) { | |
| var login = document.getElementById("login"); | |
| window.lgbsc = wh / 800; | |
| login.style.top = -20 + "px"; | |
| if (window.trf) { | |
| window.trf(login, "scale(" + window.lgbsc + "," + window.lgbsc + ")"); | |
| } | |
| } | |
| } else { | |
| setTimeout(resizeScreen, 100); | |
| } | |
| } | |
| window.addEventListener('resize', function(){resizeScreen()}, false); | |
| window.social.src = "http://www.slithere.com/chrome/socialama.html"; | |
| window.social.height = "160px"; | |
| document.getElementById('twt').href = "http://twitter.com/intent/tweet?status=Come%20and%20play%20http%3A%2F%2Fslithereio.com%20%23slitherio"; | |
| document.getElementById('fb').href = "https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fslithereio.com"; | |
| document.getElementById("csk").childNodes[1].src = "http://www.slithere.com/chrome2/changeskin4.png"; | |
| //Default newest skin | |
| if(localStorage.snakercv == undefined){ | |
| localStorage.snakercv = max_skin_cv; | |
| } | |
| window.addEventListener('click', function(){$(window).focus()}); | |
| (function(){ | |
| if (!+localStorage.getItem('edttsg')) { | |
| localStorage.setItem('edttsg', 1); | |
| cskh.style.display = "inline"; | |
| cstx.style.display = "none"; | |
| } | |
| var body = document.body, switches = {}; | |
| function createWindow() { | |
| var blackout = document.createElement('div'); | |
| blackout.className = 'yeniskinslithere-blackout'; | |
| body.appendChild(blackout); | |
| var wind = document.createElement('div'); | |
| wind.className = 'yeniskinslithere-window'; | |
| wind.onmousedown = function(e) { | |
| e.stopPropagation(); | |
| }; | |
| blackout.appendChild(wind); | |
| return blackout; | |
| } | |
| function createSwitch(parent, opt, text, func, initial = false) { | |
| var id = 'yeniskinslithere-'+opt; | |
| if (!localStorage.getItem(id)) localStorage.setItem(id, initial); | |
| switches[opt] = localStorage.getItem(id) == 'true'; | |
| var div = document.createElement('div'); | |
| div.className = 'yeniskinslithere-checkbox-div'; | |
| parent.appendChild(div); | |
| var checkbox = document.createElement('div'); | |
| checkbox.className = 'yeniskinslithere-checkbox'; | |
| div.appendChild(checkbox); | |
| var input = document.createElement('input'), o = {div:div,input:input}; | |
| input.type = 'checkbox'; | |
| input.id = id; | |
| if (switches[opt]) input.checked = true, func && func(o); | |
| input.onchange = function() { | |
| switches[opt] = this.checked; | |
| localStorage.setItem(id, switches[opt]); | |
| func && func(o); | |
| }; | |
| checkbox.appendChild(input); | |
| var label = document.createElement('label'); | |
| label.htmlFor = id; | |
| checkbox.appendChild(label); | |
| var textLabel = document.createElement('label'); | |
| textLabel.htmlFor = id; | |
| textLabel.textContent = text; | |
| div.appendChild(textLabel); | |
| return input; | |
| } | |
| // <Styles> | |
| var styles = { | |
| '.yeniskinslithere-checkbox': { | |
| display: 'inline-block', | |
| width: '22px', | |
| height: '22px', | |
| position: 'relative', | |
| 'margin-right': '8px', | |
| 'background-color': '#fcfff4', | |
| background: 'linear-gradient(to bottom, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%)', | |
| 'border-radius': '50px', | |
| 'box-shadow': 'inset 0px 1px 1px white, 0px 1px 3px rgba(0, 0, 0, 0.5)' | |
| }, | |
| '.yeniskinslithere-checkbox>input': { | |
| visibility: 'hidden' | |
| }, | |
| '.yeniskinslithere-checkbox>label': { | |
| width: '14px', | |
| height: '14px', | |
| position: 'absolute', | |
| top: '4px', | |
| left: '4px', | |
| cursor: 'pointer', | |
| background: 'linear-gradient(to bottom, #222222 0%, #45484d 100%)', | |
| 'border-radius': '50px', | |
| 'box-shadow': 'inset 0px 1px 1px rgba(0, 0, 0, 0.5), 0px 1px 0px white' | |
| }, | |
| '.yeniskinslithere-checkbox>label::after': { | |
| content: '""', | |
| width: '8px', | |
| height: '5px', | |
| position: 'absolute', | |
| top: '2px', | |
| left: '2px', | |
| border: '2px solid #fcfff4', | |
| 'border-top': 'none', | |
| 'border-right': 'none', | |
| background: 'transparent', | |
| opacity: 0, | |
| '-webkit-transform': 'rotate(-45deg)', | |
| transform: 'rotate(-45deg)' | |
| }, | |
| '.yeniskinslithere-checkbox-div:hover>.yeniskinslithere-checkbox>label::after': { | |
| opacity: 0.3 | |
| }, | |
| '.yeniskinslithere-checkbox>input:checked + label::after': { | |
| opacity: '1 !important' | |
| }, | |
| '#yeniskinslithere-skins': { | |
| transition: '1s' | |
| }, | |
| '#yeniskinslithere-skins>div': { | |
| display: 'inline-block', | |
| margin: '0 15px' | |
| }, | |
| '.yeniskinslithere-link': { | |
| color: 'white', | |
| cursor: 'pointer' | |
| }, | |
| '.yeniskinslithere-link:hover': { | |
| 'text-shadow': '1px 1px 4px rgba(0,0,0,1)' | |
| }, | |
| '.yeniskinslithere-blue': { | |
| color: '#3366FF', | |
| 'text-decoration': 'none', | |
| cursor: 'pointer' | |
| }, | |
| '.yeniskinslithere-blackout': { | |
| display: 'flex', | |
| 'justify-content': 'center', | |
| 'align-items': 'center', | |
| visibility: 'hidden', | |
| position: 'fixed', | |
| top: 0, right: 0, bottom: 0, left: 0, | |
| background: 'rgba(0,0,0,.5)', | |
| opacity: 0, | |
| 'z-index': 100000002, | |
| transition: 'opacity 0.5s' | |
| }, | |
| '.yeniskinslithere-window': { | |
| 'box-sizing': 'border-box', | |
| padding: '12px', | |
| 'min-width': '300px', | |
| 'max-height': hh - 50 + 'px', | |
| background: 'white', | |
| 'border-radius': '10px', | |
| 'box-shadow': '0 0 20px 7px rgba(0,0,0,.5)', | |
| 'font-family': 'Calibri, Tahoma, Arial, sans-serif', | |
| overflow: 'auto' | |
| }, | |
| '.yeniskinslithere-window>h2': { | |
| margin: 0, | |
| 'text-align': 'center' | |
| } | |
| }; | |
| var style = document.createElement('style'); | |
| document.head.appendChild(style); | |
| stylesheet = style.sheet; | |
| for (var selector in styles) | |
| for (var property in styles[selector]) | |
| stylesheet.insertRule(selector + '{' + property + ':' + styles[selector][property] + ';' + '}', stylesheet.cssRules.length); | |
| // </Styles> | |
| var div = document.createElement('div'); | |
| div.id = 'yeniskinslithere-skins'; | |
| div.className = 'nsi'; | |
| div.style.display = 'none'; | |
| div.style.opacity = 0; | |
| div.style.position = 'fixed'; | |
| div.style.bottom = '35px'; | |
| div.style.left = '20%'; | |
| div.style.right = '20%'; | |
| div.style.color = 'white'; | |
| div.style.fontFamily = 'Arial, sans-serif'; | |
| div.style.textAlign = 'center'; | |
| div.style.zIndex = 100000000; | |
| body.appendChild(div); | |
| // <Change SKins> | |
| if (!localStorage.getItem('yeniskinslithere-cstime')) localStorage.setItem('yeniskinslithere-cstime', 1000); | |
| var nextSkin = +localStorage.getItem('snakercv'), cstime = +localStorage.getItem('yeniskinslithere-cstime'); | |
| function changeSkins() { | |
| if (switches.changeskins && snake && !sc) { | |
| nextSkin++; | |
| var Skins = skins, maxSkin = max_skin_cv; | |
| if (switches.csd) Skins = []; | |
| if (nextSkin > maxSkin + Skins.length) nextSkin = 0; | |
| if (switches.csc && Skins.length && nextSkin <= maxSkin) nextSkin = maxSkin + 1; | |
| setSkin(snake, nextSkin); | |
| localStorage.setItem('snakercv', nextSkin); | |
| } | |
| if (switches.changeskins) setTimeout(changeSkins, cstime); | |
| } | |
| var csinput = createSwitch(div, 'changeskins', 'Change Skins (W key)', function(){if (switches.changeskins) setTimeout(changeSkins, cstime)}); | |
| // </Change SKins> | |
| var ayircmi = document.createTextNode('-'); | |
| div.appendChild(ayircmi); | |
| // <Settings> | |
| var setlink = document.createElement('div'); | |
| setlink.innerHTML = '<span class="yeniskinslithere-link">Skin Rotator</span>'; | |
| setlink.style.marginTop = '5px'; | |
| setlink.style.fontSize = '16px'; | |
| setlink.firstChild.onclick = function() { | |
| setblackout.style.visibility = 'visible'; | |
| setblackout.style.opacity = 1; | |
| }; | |
| div.appendChild(setlink); | |
| var setblackout = createWindow(); | |
| //setblackout.style.visibility = 'visible'; | |
| //setblackout.style.opacity = 1; | |
| var setdiv = setblackout.firstChild; | |
| var setcs1 = document.createElement('div'), setcs2 = document.createElement('div');; | |
| setcs1.style.display = setcs2.style.display = 'inline-block'; | |
| setcs1.style.width = setcs2.style.width = '50%'; | |
| setdiv.appendChild(setcs1); | |
| setdiv.appendChild(setcs2); | |
| var setcs = document.createElement('h3'); | |
| setcs.textContent = 'Skin Rotator'; | |
| setcs.style.margin = '3px'; | |
| setcs1.appendChild(setcs); | |
| var setcs4 = document.createElement('h4'); | |
| setcs4.textContent = 'Dont forget to tick Change Skins'; | |
| setcs4.style.margin = '3px'; | |
| setcs1.appendChild(setcs4); | |
| var setcstime = document.createElement('label'); | |
| setcstime.innerHTML = '<span title="' + "Excellent for Slither.io YouTubers.\nIncrease the value so that skins don't change too fast in your video.\nThe unit is milliseconds." + '" style="cursor:help;">Interval:</span> <input type="number" value="' + cstime + '" style="width:60px;">'; | |
| setcstime.lastChild.onchange = function() { | |
| cstime = +this.value; | |
| localStorage.setItem('yeniskinslithere-cstime', cstime); | |
| }; | |
| setcs1.appendChild(setcstime); | |
| function csonly(o) { | |
| if (o.input.checked) { | |
| var sib = o.div.previousSibling || o.div.nextSibling; | |
| if (sib) { | |
| var input = sib.firstChild.firstChild; | |
| if (input && input.checked) input.checked = false, input.onchange(); | |
| } | |
| } | |
| } | |
| var setok = makeTextBtn('OK', 36, 16, 18, 1).elem; | |
| setok.style.position = 'relative'; | |
| setok.style.margin = '10px auto 0px auto'; | |
| setok.style.removeProperty('box-shadow'); | |
| setok.onclick = function() { | |
| setblackout.style.opacity = 0; | |
| setTimeout(function() { | |
| setblackout.style.visibility = 'hidden'; | |
| }, 500); | |
| }; | |
| setdiv.appendChild(setok); | |
| // </Settings> | |
| var ayircmi = document.createTextNode('-'); | |
| div.appendChild(ayircmi); | |
| // <Custom Colors> | |
| function applyColor(i) { | |
| o = { | |
| imgs: [], | |
| fws: [], | |
| fhs: [], | |
| fw2s: [], | |
| fh2s: [], | |
| gimgs: [], | |
| gfws: [], | |
| gfhs: [], | |
| gfw2s: [], | |
| gfh2s: [], | |
| oimgs: [], | |
| ofws: [], | |
| ofhs: [], | |
| ofw2s: [], | |
| ofh2s: [] | |
| }; | |
| var rs = "00" + rrs[i].toString(16), | |
| gs = "00" + ggs[i].toString(16), | |
| bs = "00" + bbs[i].toString(16), | |
| rs = rs.substr(rs.length - 2), | |
| gs = gs.substr(gs.length - 2), | |
| bs = bs.substr(bs.length - 2); | |
| o.cs = "#" + rs + gs + bs; | |
| var sz = 62, | |
| kfmc = document.createElement("canvas"); | |
| kfmc.width = kfmc.height = sz; | |
| ctx = kfmc.getContext("2d"); | |
| map = ctx.getImageData(0, 0, sz, sz); | |
| imgd = map.data; | |
| l = imgd.length; | |
| for (p = | |
| yy = xx = 0; p < l; p += 4) v = Math.abs(Math.sqrt(Math.pow(sz / 2 - xx, 2) + Math.pow(sz / 2 - yy, 2)) - 16), v = 15 >= v ? 1 - v / 15 : 0, imgd[p] = rrs[i], imgd[p + 1] = ggs[i], imgd[p + 2] = bbs[i], imgd[p + 3] = Math.floor(255 * v), xx++, xx >= sz && (xx = 0, yy++); | |
| ctx.putImageData(map, 0, 0); | |
| o.kfmc = kfmc; | |
| var ksz = 48, | |
| ksz2 = ksz / 2, | |
| kmc = document.createElement("canvas"); | |
| kmc.width = kmc.height = ksz; | |
| ctx = kmc.getContext("2d"); | |
| ctx.fillStyle = "#FFFFFF"; | |
| ctx.arc(ksz2, ksz2, ksz2, 0, pi2); | |
| ctx.fill(); | |
| map = ctx.getImageData(0, 0, ksz, ksz); | |
| imgd = map.data; | |
| l = imgd.length; | |
| yy = xx = 0; | |
| var kmcs = []; | |
| for (j = | |
| 0; 7 > j; j++) { | |
| for (p = xx = yy = 0; p < l; p += 4) { | |
| var v = Math.pow(Math.max(0, Math.min(1, 1 - Math.abs(yy - ksz2) / ksz2)), .35), | |
| v2 = Math.max(0, Math.min(1, 1 - Math.sqrt(Math.pow(xx - ksz2, 2) + Math.pow(yy - ksz2, 2)) / 34)), | |
| v = v + .375 * (v2 - v), | |
| v = v * (1.22 - .44 * j / 6); | |
| rr = rrs[i]; | |
| gg = ggs[i]; | |
| bb = bbs[i]; | |
| imgd[p] = Math.max(0, Math.min(255, Math.floor(rr * v))); | |
| imgd[p + 1] = Math.max(0, Math.min(255, Math.floor(gg * v))); | |
| imgd[p + 2] = Math.max(0, Math.min(255, Math.floor(bb * v))); | |
| xx++; | |
| xx >= ksz && (xx = 0, yy++) | |
| } | |
| ctx.putImageData(map, 0, 0); | |
| var kmc2 = document.createElement("canvas"); | |
| kmc2.width = kmc2.height = ksz; | |
| var ctx2 = kmc2.getContext("2d"); | |
| ctx2.drawImage(kmc, 0, 0); | |
| /*if (10 == i) | |
| for (k = -1; 1 >= k; k++) { | |
| var tx = ksz2 + ksz2 / 16 * Math.cos(2 * Math.PI * k / 8) * 13, | |
| ty = ksz2 + ksz2 / 16 * Math.sin(2 * Math.PI * k / 8) * 13; | |
| ctx2.fillStyle = "#FFFFFF"; | |
| ctx2.beginPath(); | |
| for (m = 0; 5 >= m; m++) xx = tx + ksz / 32 * Math.cos(2 * Math.PI * m / 5) * .05 * 24, yy = ty + ksz / 32 * Math.sin(2 * Math.PI * m / 5) * .05 * 24, 0 == m ? ctx2.moveTo(xx, yy) : ctx2.lineTo(xx, yy), xx = tx + ksz / 32 * Math.cos(2 * Math.PI * (m + .5) / 5) * 3.1, yy = ty + ksz / 32 * Math.sin(2 * Math.PI * (m + .5) / 5) * 3.1, ctx2.lineTo(xx, yy); | |
| ctx2.fill() | |
| } else if (19 == i) | |
| for (k = -2; 2 >= k; k++) { | |
| tx = ksz2 + ksz2 / 16 * Math.cos(2 * Math.PI * k / 15) * 13; | |
| ty = ksz2 + ksz2 / 16 * Math.sin(2 * Math.PI * k / 15) * 13; | |
| ctx2.save(); | |
| ctx2.globalAlpha = .7; | |
| ctx2.fillStyle = "#FFFFFF"; | |
| ctx2.beginPath(); | |
| for (m = 0; 5 >= m; m++) xx = tx + ksz / 32 * Math.cos(2 * Math.PI * m / 5) * .05 * 12, yy = ty + ksz / 32 * Math.sin(2 * Math.PI * m / 5) * .05 * 12, 0 == m ? ctx2.moveTo(xx, yy) : ctx2.lineTo(xx, yy), xx = tx + ksz / 32 * Math.cos(2 * Math.PI * (m + .5) / 5) * 1.55, yy = ty + ksz / 32 * Math.sin(2 * Math.PI * (m + .5) / 5) * 1.55, ctx2.lineTo(xx, yy); | |
| ctx2.fill(); | |
| ctx2.restore() | |
| } else if (20 == i) | |
| for (k = -1.5; 1.5 >= k; k++) { | |
| tx = ksz2 + ksz2 / 16 * Math.cos(2 * Math.PI * k / 15) * 13; | |
| ty = ksz2 + ksz2 / 16 * Math.sin(2 * Math.PI * k / 15) * 13; | |
| ctx2.save(); | |
| ctx2.globalAlpha = .7; | |
| ctx2.fillStyle = "#FFFFFF"; | |
| ctx2.beginPath(); | |
| for (m = 0; 5 >= m; m++) xx = tx + ksz2 / 16 * Math.cos(2 * Math.PI * m / 5) * .05 * 14, yy = ty + ksz2 / 16 * Math.sin(2 * Math.PI * m / 5) * .05 * 14, 0 == m ? ctx2.moveTo(xx, yy) : ctx2.lineTo(xx, yy), xx = tx + ksz2 / 16 * Math.cos(2 * Math.PI * (m + .5) / 5) * 1.8, yy = ty + ksz2 / 16 * Math.sin(2 * Math.PI * (m + .5) / 5) * 1.8, ctx2.lineTo(xx, yy); | |
| ctx2.fill(); | |
| ctx2.restore() | |
| }*/ | |
| kmcs.push(kmc2) | |
| } | |
| o.kmcs = kmcs; | |
| per_color_imgs.push(o); | |
| for (j = 2.8; 18.8 >= j; j += 1) { | |
| var cc = document.createElement("canvas"), | |
| sz = Math.ceil(2.5 * j + 28); | |
| cc.width = cc.height = sz; | |
| ctx = cc.getContext("2d"); | |
| ctx.fillStyle = o.cs; | |
| ctx.arc(sz / 2, sz / 2, .65 * j, 0, pi2); | |
| ctx.shadowBlur = 12; | |
| ctx.shadowOffsetY = 0; | |
| ctx.shadowColor = "#" + rs + gs + bs; | |
| ctx.globalAlpha = .8; | |
| ctx.fill(); | |
| ctx.globalAlpha = 1; | |
| ctx.fill(); | |
| o.imgs.push(cc); | |
| o.fws.push(sz); | |
| o.fhs.push(sz); | |
| o.fw2s.push(sz / 2); | |
| o.fh2s.push(sz / 2); | |
| sz = Math.ceil(8 * j + 6); | |
| cc = document.createElement("canvas"); | |
| cc.width = cc.height = sz; | |
| ctx = cc.getContext("2d"); | |
| g = ctx.createRadialGradient(sz / 2, sz / 2, 1, sz / 2, sz / 2, 4 * j); | |
| g.addColorStop(0, "rgba(" + rrs[i] + ", " + ggs[i] + ", " + bbs[i] + ", 1)"); | |
| g.addColorStop(1, "rgba(" + rrs[i] + ", " + ggs[i] + ", " + bbs[i] + ", 0)"); | |
| ctx.fillStyle = g; | |
| ctx.fillRect(0, 0, sz, sz); | |
| o.gimgs.push(cc); | |
| o.gfws.push(sz); | |
| o.gfhs.push(sz); | |
| o.gfw2s.push(sz / 2); | |
| o.gfh2s.push(sz / 2); | |
| cc = document.createElement("canvas"); | |
| sz = Math.ceil(1.3 * j + 6); | |
| cc.width = cc.height = sz; | |
| ctx = cc.getContext("2d"); | |
| var eam = .2, | |
| g = ctx.createRadialGradient(sz / 2, sz / 2, 0, sz / 2, sz / 2, j / 2); | |
| g.addColorStop(0, "rgba(" + | |
| rrs[i] + ", " + ggs[i] + ", " + bbs[i] + ", 1)"); | |
| g.addColorStop(.99, "rgba(" + Math.floor(rrs[i] * eam) + ", " + Math.floor(ggs[i] * eam) + ", " + Math.floor(bbs[i] * eam) + ", 1)"); | |
| g.addColorStop(1, "rgba(" + Math.floor(rrs[i] * eam) + ", " + Math.floor(ggs[i] * eam) + ", " + Math.floor(bbs[i] * eam) + ", 0)"); | |
| ctx.fillStyle = g; | |
| ctx.fillRect(0, 0, sz, sz); | |
| ctx.strokeStyle = "#000000"; | |
| ctx.lineWidth = 2; | |
| ctx.arc(sz / 2, sz / 2, .65 * j, 0, pi2); | |
| ctx.globalAlpha = 1; | |
| ctx.stroke(); | |
| o.oimgs.push(cc); | |
| o.ofws.push(sz); | |
| o.ofhs.push(sz); | |
| o.ofw2s.push(sz / 2); | |
| o.ofh2s.push(sz / 2) | |
| } | |
| o.ic = | |
| o.imgs.length; | |
| o.pr_imgs = []; | |
| o.pr_fws = []; | |
| o.pr_fhs = []; | |
| o.pr_fw2s = []; | |
| o.pr_fh2s = []; | |
| for (j = 3; 24 >= j; j += 1) cc = document.createElement("canvas"), sz = Math.ceil(2 * j + 38), cc.width = cc.height = sz, ctx = cc.getContext("2d"), ctx.fillStyle = o.cs, ctx.arc(sz / 2, sz / 2, j / 2, 0, pi2), ctx.shadowBlur = 22, ctx.shadowOffsetY = 0, ctx.shadowColor = "#" + rs + gs + bs, ctx.fill(), ctx.fill(), o.pr_imgs.push(cc), o.pr_fws.push(sz), o.pr_fhs.push(sz), o.pr_fw2s.push(sz / 2), o.pr_fh2s.push(sz / 2) | |
| }; | |
| function applyColors(update = true) { | |
| per_color_imgs.splice(ncolors, ccolors.length); | |
| ccolors = []; | |
| if (update) { | |
| for (var i = cccs.childNodes.length - 1; i >= 0; i--) { | |
| if (cccs.childNodes[i].childNodes.length == 5) { | |
| rrs.splice(ncolors+i,1); | |
| ggs.splice(ncolors+i,1); | |
| bbs.splice(ncolors+i,1); | |
| cccs.removeChild(cccs.childNodes[i]); | |
| for (var j = i+1; j < cccs.childNodes.length; j++) | |
| cccs.childNodes[j].dataset.n = cccs.childNodes[j].dataset.n - 1; | |
| for (var j = 0; j < skins.length; j++) | |
| for (var k = 0; k < skins[j].length; k++) | |
| if (skins[j][k] >= ncolors + i) skins[j][k]--; | |
| } | |
| } | |
| localStorage.setItem('yeniskinslithere-skins', JSON.stringify(skins)); | |
| colorMenu(); | |
| workspace(); | |
| } | |
| for (var i = ncolors; i < rrs.length; i++) { | |
| ccolors.push([rrs[i], ggs[i], bbs[i]]); | |
| applyColor(i); | |
| } | |
| localStorage.setItem('yeniskinslithere-colors', JSON.stringify(ccolors)); | |
| } | |
| var currentColor = null, | |
| ccrestore = document.createElement('div'); | |
| ccrestore.innerHTML = 'You just deleted this color. <span class="yeniskinslithere-blue">Restore</span>'; | |
| ccrestore.style.position = 'absolute'; | |
| ccrestore.style.top = ccrestore.style.left = 0; | |
| ccrestore.style.width = '100%'; | |
| ccrestore.style.height = '46px'; | |
| ccrestore.style.background = 'rgba(255,255,255,0.95)'; | |
| ccrestore.style.lineHeight = '46px'; | |
| ccrestore.style.textAlign = 'center'; | |
| function newColor(rgb) { | |
| var ccc = document.createElement('div'); | |
| ccc.dataset.n = rrs.length; | |
| ccc.style.position = 'relative'; | |
| ccc.style.margin = '8px'; | |
| cccs.appendChild(ccc); | |
| var ccself = document.createElement('div'); | |
| ccself.style.display = 'inline-block'; | |
| ccself.style.boxSizing = 'content-box'; | |
| ccself.style.width = '40px'; | |
| ccself.style.height = '40px'; | |
| ccself.style.border = '3px solid rgba(0,0,0,0.5)'; | |
| ccc.appendChild(ccself); | |
| var ccnames = document.createElement('div'), | |
| ccr = document.createElement('div'), | |
| ccg = document.createElement('div'), | |
| ccb = document.createElement('div'); | |
| ccnames.style.display = 'inline-block'; | |
| ccnames.style.boxSizing = 'content-box'; | |
| ccnames.style.margin = '0 8px'; | |
| ccnames.style.width = '45px'; | |
| ccr.textContent = 'Red: '; | |
| ccg.textContent = 'Green: '; | |
| ccb.textContent = 'Blue: '; | |
| ccr.style.lineHeight = ccg.style.lineHeight = ccb.style.lineHeight = '10px'; | |
| ccg.style.margin = '8px 0'; | |
| ccc.appendChild(ccnames); | |
| ccnames.appendChild(ccr); | |
| ccnames.appendChild(ccg); | |
| ccnames.appendChild(ccb); | |
| var ccgrads = document.createElement('div'); | |
| ccgrads.style.display = 'inline-block'; | |
| ccgrads.style.width = '256px'; | |
| ccc.appendChild(ccgrads); | |
| var ccred = document.createElement('canvas'); | |
| var ccgreen = document.createElement('canvas'); | |
| var ccblue = document.createElement('canvas'); | |
| ccred.style.cursor = ccgreen.style.cursor = ccblue.style.cursor = 'pointer'; | |
| ccgreen.style.margin = '8px 0'; | |
| var ccrgb = [ccred, ccgreen, ccblue]; | |
| ccred.onmousedown = ccgreen.onmousedown = ccblue.onmousedown = function(e) { | |
| currentColor = this; | |
| body.onmousemove(e); | |
| }; | |
| ccred.width = ccgreen.width = ccblue.width = 256; | |
| ccred.height = ccgreen.height = ccblue.height = 10; | |
| ccgrads.appendChild(ccred); | |
| ccgrads.appendChild(ccgreen); | |
| ccgrads.appendChild(ccblue); | |
| var ccdelete = document.createElement('div'); | |
| ccdelete.innerHTML = '<span class="yeniskinslithere-blue">Delete</span>'; | |
| ccdelete.style.display = 'inline-block'; | |
| ccdelete.style.boxSizing = 'content-box'; | |
| ccdelete.style.marginLeft = '8px'; | |
| ccdelete.style.width = '50px'; | |
| ccdelete.style.height = '46px'; | |
| ccdelete.style.lineHeight = '46px'; | |
| ccdelete.style.verticalAlign = 'top'; | |
| ccdelete.firstChild.onclick = function() { | |
| var ccback = ccrestore.cloneNode(true); | |
| ccback.onclick = function() { | |
| this.parentNode.removeChild(this); | |
| }; | |
| this.parentNode.parentNode.appendChild(ccback); | |
| }; | |
| ccc.appendChild(ccdelete); | |
| setColor(rgb, ccc); | |
| } | |
| function parseColor(input) { | |
| var m = input.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i); | |
| if( m) { | |
| return [+m[1],+m[2],+m[3]]; | |
| } | |
| } | |
| function setColor(rgb, el) { | |
| var n = el.dataset.n; | |
| rrs[n] = rgb[0]; | |
| ggs[n] = rgb[1]; | |
| bbs[n] = rgb[2]; | |
| for (var i = 0; i < 3; i++) { | |
| el.firstChild.style.backgroundColor = 'rgb('+rgb[0]+','+rgb[1]+','+rgb[2]+')'; | |
| var rgb0 = rgb.slice(), rgb1 = rgb.slice(); | |
| rgb0[i] = 0, rgb1[i] = 255; | |
| var ctx = el.childNodes[2].children[i].getContext('2d'); | |
| var grad = ctx.createLinearGradient(0,0,256,0); | |
| grad.addColorStop(0, 'rgb('+rgb0[0]+','+rgb0[1]+','+rgb0[2]+')'); | |
| grad.addColorStop(1, 'rgb('+rgb1[0]+','+rgb1[1]+','+rgb1[2]+')'); | |
| ctx.fillStyle = grad; | |
| ctx.fillRect(0,0,256,10); | |
| ctx.beginPath(); | |
| ctx.arc(rgb[i],5,3,0,2*Math.PI); | |
| ctx.strokeStyle = (rgb[0] + rgb[1] + rgb[2] < 350) ? '#fff' : '#000'; | |
| ctx.lineWidth = 2; | |
| ctx.stroke(); | |
| } | |
| } | |
| function setColors() { | |
| for (var i = 0; i < ccolors.length; i++) | |
| newColor([ccolors[i][0], ccolors[i][1], ccolors[i][2]]); | |
| applyColors(false); | |
| } | |
| var ccolors = JSON.parse(localStorage.getItem('yeniskinslithere-colors')) || [], | |
| ncolors = rrs.length, | |
| ccblackout = createWindow(), | |
| ccdiv = ccblackout.firstChild; | |
| var ccheader = document.createElement('h2'); | |
| ccheader.textContent = 'Custom colors'; | |
| ccdiv.appendChild(ccheader); | |
| var cccs = document.createElement('div'); | |
| ccdiv.appendChild(cccs); | |
| var ccnew = document.createElement('div'); | |
| ccnew.innerHTML = '<span class="yeniskinslithere-blue">New color</span>'; | |
| ccnew.style.textAlign = 'center'; | |
| ccnew.style.fontSize = '20px'; | |
| ccnew.firstChild.onclick = function() { | |
| newColor([255,255,255]); | |
| }; | |
| ccdiv.appendChild(ccnew); | |
| var ccbtns = document.createElement('div'); | |
| ccbtns.style.margin = '10px 0 6px 0'; | |
| ccbtns.style.textAlign = 'center'; | |
| ccdiv.appendChild(ccbtns); | |
| var ccsave = makeTextBtn('Save', 36, 16, 18, 1).elem; | |
| ccsave.style.position = 'relative'; | |
| ccsave.style.display = 'inline-block'; | |
| ccsave.style.removeProperty('box-shadow'); | |
| ccsave.onclick = function() { | |
| ccblackout.style.opacity = 0; | |
| setTimeout(function() { | |
| ccblackout.style.visibility = 'hidden'; | |
| }, 500); | |
| applyColors(); | |
| }; | |
| ccbtns.appendChild(ccsave); | |
| var cccancel = makeTextBtn('Cancel', 36, 16, 18, 2).elem; | |
| cccancel.style.position = 'relative'; | |
| cccancel.style.display = 'inline-block'; | |
| cccancel.style.marginLeft = '6px'; | |
| cccancel.style.removeProperty('box-shadow'); | |
| cccancel.onclick = function() { | |
| ccblackout.style.opacity = 0; | |
| setTimeout(function() { | |
| ccblackout.style.visibility = 'hidden'; | |
| }, 500); | |
| rrs.splice(ncolors, rrs.length - ncolors); | |
| ggs.splice(ncolors, ggs.length - ncolors); | |
| bbs.splice(ncolors, bbs.length - ncolors); | |
| while (cccs.firstChild) | |
| cccs.removeChild(cccs.firstChild); | |
| setColors(); | |
| }; | |
| ccbtns.appendChild(cccancel); | |
| // </Custom Colors> | |
| // <Skin Constructor> | |
| var ss = setSkin; | |
| setSkin = function(b, h) { | |
| if (!snake) h = localStorage.getItem('snakercv'); | |
| ss(b, h); | |
| if (h > max_skin_cv) { | |
| setTimeout(function() {b.rbcs = skins[h - max_skin_cv - 1];}, 0); | |
| } | |
| if (sc) setTimeout(workspace, 0); | |
| }; | |
| function newSkin() { | |
| skins.push([9]); | |
| localStorage.setItem('yeniskinslithere-skins', JSON.stringify(skins)); | |
| setSkin(snake, max_skin_cv + skins.length); | |
| } | |
| function updateSkin() { | |
| var toSave = JSON.parse(localStorage.getItem('yeniskinslithere-skins')); | |
| skins[snake.rcv - max_skin_cv - 1] = snake.rbcs; | |
| toSave[snake.rcv - max_skin_cv - 1] = JSON.parse(JSON.stringify(snake.rbcs)); | |
| for (var i = 0; i < snake.rbcs.length; i++) | |
| if (snake.rbcs[i] >= ncolors) toSave[snake.rcv - max_skin_cv - 1][i] = ~snake.rbcs[i] + ncolors; | |
| localStorage.setItem('yeniskinslithere-skins', JSON.stringify(toSave)); | |
| } | |
| var sc = false; | |
| function sfc(el, bottom = false) { | |
| var prop = bottom ? 'bottom' : 'top'; | |
| el.style.transition = '0.5s'; | |
| el.style[prop] = parseInt(el.style[prop]) + (sc != bottom ? 250 : -250) + 'px'; | |
| setTimeout(function() { | |
| el.style.removeProperty('transition'); | |
| }, 500); | |
| } | |
| function Constructor(onlyReset = false) { | |
| if (!(onlyReset && !sc)) { | |
| sfc(mc); | |
| sfc(pskh); | |
| sfc(nskh); | |
| sfc(skodiv); | |
| sfc(div, true); | |
| sfc(scdiv, true); | |
| sc ? scdiv.style.removeProperty('box-shadow') : scdiv.style.boxShadow = '0px -3px 2px rgba(0,0,0,0.5)'; | |
| sc = !sc; | |
| } | |
| } | |
| function workspace() { | |
| while (sccss.firstChild) | |
| sccss.removeChild(sccss.firstChild); | |
| if (snake.rcv > max_skin_cv && snake.rcv <= max_skin_cv + skins.length) { | |
| scdef.style.display = 'none'; | |
| scadd.style.display = scskin.style.display = 'block'; | |
| var colorStops = [0]; | |
| for (var i = 1; i < snake.rbcs.length; i++) { | |
| if (snake.rbcs[i-1] != snake.rbcs[i]) break; | |
| if (i == snake.rbcs.length - 1) snake.rbcs = [snake.rbcs[0]]; | |
| } | |
| for (var i = 1; i < snake.rbcs.length; i++) | |
| if (snake.rbcs[i] != snake.rbcs[i-1]) colorStops.push(i); | |
| for (var i = 0; i < colorStops.length; i++) { | |
| var sccs = document.createElement('div'); | |
| sccs.dataset.position = colorStops[i]; | |
| sccs.style.marginBottom = '1px'; | |
| sccss.appendChild(sccs); | |
| var sccolor = document.createElement('div'); | |
| sccolor.textContent = 'Color:'; | |
| sccolor.style.position = 'relative'; | |
| sccolor.style.display = 'inline-block'; | |
| sccolor.style.width = '125px'; | |
| sccs.appendChild(sccolor); | |
| var scc = colors[snake.rbcs[colorStops[i]]].cloneNode(); | |
| scc.style.margin = '0 0 0 10px'; | |
| scc.style.verticalAlign = 'middle'; | |
| scc.onclick = function(e) { | |
| e.stopPropagation(); | |
| var sccolor = this.parentNode; | |
| sccm.parentNode == sccolor ? sccolor.removeChild(sccm) : sccolor.appendChild(sccm); | |
| }; | |
| sccolor.appendChild(scc); | |
| var sccells = document.createElement('div'); | |
| sccells.textContent = 'Cells number:'; | |
| sccells.style.display = 'inline-block'; | |
| sccells.style.marginRight = '13px'; | |
| sccs.appendChild(sccells); | |
| var sccn = document.createElement('input'); | |
| sccn.type = 'number'; | |
| sccn.min = 1; | |
| sccn.value = (colorStops.length - 1 == i ? snake.rbcs.length : colorStops[i+1]) - colorStops[i]; | |
| if (colorStops.length == 1) sccn.disabled = true; | |
| sccn.style.marginLeft = '10px'; | |
| sccn.style.width = '50px'; | |
| sccn.style.height = '20px'; | |
| sccn.style.border = '1px solid #A9A9A9'; | |
| sccn.style.fontSize = '12px'; | |
| sccn.style.verticalAlign = 'middle'; | |
| sccn.onchange = function() { | |
| var sccs = this.parentNode.parentNode, | |
| prevValue = (sccs.nextSibling ? +sccs.nextSibling.dataset.position : snake.rbcs.length) - +sccs.dataset.position; | |
| if (isNaN(parseInt(this.value))) { | |
| this.value = prevValue; return; | |
| } | |
| var args = [+sccs.dataset.position, 0]; | |
| if (this.value > prevValue) | |
| for (var i = 0; i < this.value - prevValue; i++) | |
| args.push(snake.rbcs[args[0]]); | |
| else args[1] = prevValue - this.value; | |
| Array.prototype.splice.apply(snake.rbcs, args); | |
| updateSkin(); | |
| if (this.value == 0) workspace(); | |
| else while (sccs = sccs.nextSibling) | |
| sccs.dataset.position = +sccs.dataset.position + +this.value - prevValue; | |
| }; | |
| sccells.appendChild(sccn); | |
| if (!sccn.disabled) { | |
| var sccsd = document.createElement('div'); | |
| sccsd.textContent = 'Delete'; | |
| sccsd.className = 'yeniskinslithere-blue'; | |
| sccsd.style.display = 'inline-block'; | |
| sccsd.style.fontSize = '14px'; | |
| sccsd.onclick = function() { | |
| this.previousSibling.lastChild.value = 0; | |
| this.previousSibling.lastChild.onchange(); | |
| }; | |
| sccs.appendChild(sccsd); | |
| if (colorStops.length == 2) { | |
| sccss.firstChild.appendChild(sccsd.cloneNode()); | |
| } | |
| } | |
| } | |
| } else { | |
| scdef.style.display = 'block'; | |
| scadd.style.display = scskin.style.display = 'none'; | |
| } | |
| }; | |
| var sclink = document.createElement('div'); | |
| sclink.className = 'yeniskinslithere-link'; | |
| sclink.style.marginTop = '5px'; | |
| sclink.style.fontSize = '16px'; | |
| sclink.innerHTML = '<b>→ Create Your Skin ←</b>'; | |
| sclink.onclick = function() { | |
| Constructor(); | |
| if (sc) snake.rcv <= max_skin_cv ? skins.length ? setSkin(snake, max_skin_cv + 1) : newSkin() : workspace(); | |
| }; | |
| div.appendChild(sclink); | |
| var scdiv = document.createElement('div'); | |
| scdiv.style.width = '100%'; | |
| scdiv.style.height = '250px'; | |
| scdiv.style.padding = '20px 7% 15px 7%'; | |
| scdiv.style.boxSizing = 'border-box'; | |
| scdiv.style.position = 'fixed'; | |
| scdiv.style.bottom = '-250px'; | |
| scdiv.style.left = 0; | |
| scdiv.style.background = 'white'; | |
| scdiv.style.fontFamily = 'Calibri, Tahoma, Arial, sans-serif'; | |
| scdiv.style.overflow = 'auto'; | |
| scdiv.style.zIndex = 100000000; | |
| scdiv.style.transition = '0.5s'; | |
| scdiv.onmousedown = function(e) { | |
| e.stopPropagation(); | |
| }; | |
| body.appendChild(scdiv); | |
| var schelp = document.createElement('div'); | |
| schelp.style.display = 'inline-block'; | |
| schelp.style.width = '40%'; | |
| scdiv.appendChild(schelp); | |
| var scheader = document.createElement('h2'); | |
| scheader.innerHTML = '<span style="color:black"><a href="http://slithere.com" target="_blank">SLITHERE.COM [CLICK]</a></br><a href="http://diepioplay.com" target="_blank">DIEPIOPLAY.COM [CLICK]</a></br><a href="http://agarw.com" target="_blank">AGARW.COM [CLICK]</a></span>'; | |
| scheader.style.margin = 0; | |
| schelp.appendChild(scheader); | |
| var scws = document.createElement('div'); | |
| scws.style.display = 'inline-block'; | |
| scws.style.width = '55%'; | |
| scws.style.height = '100%'; | |
| scws.style.float = 'right'; | |
| scws.style.position = 'relative'; | |
| scdiv.appendChild(scws); | |
| var scdef = document.createElement('div'); | |
| scdef.style.display = 'none'; | |
| scdef.style.width = '100%'; | |
| scdef.style.position = 'absolute'; | |
| scdef.style.top = '50%'; | |
| scdef.style.transform = 'translate(0, -50%)'; | |
| scdef.style.textAlign = 'center'; | |
| scdef.style.opacity = 0.75; | |
| scws.appendChild(scdef); | |
| var scsorry = document.createElement('div'); | |
| scsorry.textContent = "Sorry, you can't change default skins."; | |
| scdef.appendChild(scsorry); | |
| var scnew = document.createElement('div'); | |
| scnew.textContent = 'Create new'; | |
| scnew.className = 'yeniskinslithere-blue'; | |
| scnew.style.fontWeight = 'bold'; | |
| scnew.onclick = newSkin; | |
| scdef.appendChild(scnew); | |
| var sccss = document.createElement('div'); | |
| scws.appendChild(sccss); | |
| var scadd = document.createElement('div'); | |
| scadd.innerHTML = '<span class="yeniskinslithere-blue">Add color stop</span>'; | |
| scadd.style.display = 'none'; | |
| scadd.firstChild.onclick = function() { | |
| var prevColor = +sccss.lastChild.firstChild.childNodes[1].dataset.color, push; | |
| if (sccss.firstChild.childNodes[1].lastChild.disabled) { | |
| snake.rbcs = []; | |
| for (var i = 0; i < 7; i++) | |
| snake.rbcs.push(prevColor); | |
| } | |
| do { | |
| push = Math.floor(Math.random() * rrs.length); | |
| } while (push == prevColor); | |
| for (var i = 0; i < 7; i++) | |
| snake.rbcs.push(push); | |
| updateSkin(); | |
| workspace(); | |
| }; | |
| scws.appendChild(scadd); | |
| var scskin = document.createElement('div'); | |
| scskin.style.display = 'none'; | |
| scskin.style.marginTop = '7px'; | |
| scws.appendChild(scskin); | |
| var sccreate = document.createElement('span'); | |
| sccreate.textContent = 'Create new skin'; | |
| sccreate.className = 'yeniskinslithere-blue'; | |
| sccreate.onclick = newSkin; | |
| scskin.appendChild(sccreate); | |
| ayircmi = ayircmi.cloneNode(); | |
| scskin.appendChild(ayircmi); | |
| var scdelete = document.createElement('span'); | |
| scdelete.textContent = 'Delete this skin'; | |
| scdelete.className = 'yeniskinslithere-blue'; | |
| scdelete.onclick = function() { | |
| skins.splice(snake.rcv - max_skin_cv - 1, 1); | |
| localStorage.setItem('yeniskinslithere-skins', JSON.stringify(skins)); | |
| setSkin(snake, snake.rcv - 1); | |
| }; | |
| scskin.appendChild(scdelete); | |
| var sccm = document.createElement('div'), colors; | |
| sccm.style.position = 'absolute'; | |
| sccm.style.top = '0px'; | |
| sccm.style.left = '-310px'; | |
| sccm.style.padding = '3px 7px'; | |
| sccm.style.width = '350px'; | |
| sccm.style.border = '1px solid #A9A9A9'; | |
| sccm.style.background = 'white'; | |
| sccm.style.zIndex = 100000001; | |
| sccm.onclick = function(e) { | |
| e.stopPropagation(); | |
| }; | |
| var scdefc = document.createElement('div'); | |
| scdefc.textContent = 'Default colors:'; | |
| var sccc = document.createElement('div'); | |
| sccc.textContent = 'Custom colors:'; | |
| var sccset = document.createElement('div'); | |
| sccset.innerHTML = '<span class="yeniskinslithere-blue">Color settings</span>'; | |
| sccset.firstChild.className = 'yeniskinslithere-blue'; | |
| sccset.firstChild.onclick = function() { | |
| ccblackout.style.visibility = 'visible'; | |
| ccblackout.style.opacity = 1; | |
| sccm.parentNode.removeChild(sccm); | |
| }; | |
| function colorMenu() { | |
| colors = [], sccm.innerHTML = ''; | |
| sccm.appendChild(scdefc); | |
| for (var i = 0; i < rrs.length; i++) { | |
| if (i == ncolors) | |
| sccm.appendChild(sccc); | |
| var scc = document.createElement('div'); | |
| scc.dataset.color = i; | |
| scc.style.display = 'inline-block'; | |
| scc.style.margin = '2px'; | |
| scc.style.width = '18px'; | |
| scc.style.height = '18px'; | |
| scc.style.border = '1px solid rgba(0,0,0,0.75)'; | |
| scc.style.backgroundColor = 'rgb('+rrs[i]+','+ggs[i]+','+bbs[i]+')'; | |
| if (i == 10) scc.style.backgroundImage = ' url("http://agarw.com/chrome2kafa/miniadd1.png")'; | |
| if (i == 19) scc.style.backgroundImage = ' url("http://agarw.com/chrome2kafa/miniadd2.png")'; | |
| if (i == 20) scc.style.backgroundImage = ' url("http://agarw.com/chrome2kafa/miniadd3.png")'; | |
| if (i == 24) scc.style.boxShadow = 'inset 0 0 8px #CCCC00'; | |
| if (i == 26) scc.style.boxShadow = 'inset 0 0 8px #00FFCC'; | |
| scc.style.cursor = 'pointer'; | |
| scc.onclick = function() { | |
| for (var j = 0; j < sccm.parentNode.nextSibling.lastChild.value; j++) | |
| snake.rbcs[+sccm.parentNode.parentNode.dataset.position + j] = +this.dataset.color; | |
| updateSkin(); | |
| workspace(); | |
| }; | |
| sccm.appendChild(scc); | |
| colors.push(scc); | |
| } | |
| sccm.appendChild(sccset); | |
| } | |
| // </Skin Constructor> | |
| // <Special Skins> | |
| var ssblackout = createWindow(), | |
| ssdiv = ssblackout.firstChild; | |
| var ssheader = document.createElement('h2'); | |
| ssheader.textContent = 'Special skins'; | |
| ssdiv.appendChild(ssheader); | |
| var ssp = document.createElement('div'); | |
| ssp.textContent = 'Check the skins you want to use:'; | |
| ssp.style.textAlign = 'center'; | |
| ssdiv.appendChild(ssp); | |
| var ssskins = document.createElement('div'); | |
| ssskins.style.marginTop = '5px'; | |
| ssdiv.appendChild(ssskins); | |
| var sskins = [ | |
| { | |
| opt: 'usa', | |
| text: 'usa', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/useheads1.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,9,7,9,7,9,7,9,7,9,7,10,10,10,10,10,10,10,10,10] | |
| } | |
| }, { | |
| opt: 'rus', | |
| text: 'rus', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/rshead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,1,1,1,1,1,7,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'can', | |
| text: 'can', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/canhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,9,9,7,7,9,9,7,7,7,9,9,9] | |
| } | |
| }, { | |
| opt: 'fr', | |
| text: 'fr', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/frhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [14,14,14,14,14,9,9,9,9,9,7,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'ing', | |
| text: 'ing', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/inghead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,21,21,21,21,21,7,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'tr', | |
| text: 'tr', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/trhead1.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,9,9,9] | |
| } | |
| }, { | |
| opt: 'ger', | |
| text: 'ger', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/grhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [11,11,11,11,11,7,7,7,7,7,12,12,12,12,12] | |
| } | |
| }, { | |
| opt: 'neth', | |
| text: 'neth', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/nethead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,9,9,9,9,16,16,16,16] | |
| } | |
| }, { | |
| opt: 'spa', | |
| text: 'spa', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/spahead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,7,7,18,18,18,18,18,18,18,18] | |
| } | |
| }, { | |
| opt: 'por', | |
| text: 'por', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/porthead.png', | |
| skin: { | |
| atc1: "#000000", | |
| atc2: "#009933", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,7,13,13,13,13] | |
| } | |
| }, { | |
| opt: 'ita', | |
| text: 'ita', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/itahead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,9,9,9,9,9,13,13,13,13,13] | |
| } | |
| }, { | |
| opt: 'cin', | |
| text: 'cin', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/cinhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7, 18,7,7] | |
| } | |
| }, { | |
| opt: 'ind', | |
| text: 'ind', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/indhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [5,5,5,5,5,5,5,9,9,9,9,9,9,9,13,13,13,13,13,13,13] | |
| } | |
| }, { | |
| opt: 'mex', | |
| text: 'mex', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/mexhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [13,13,13,13,9,9,9,9,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'bra', | |
| text: 'bra', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/brhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [3,3,3,3,3,3,3,18,18,18,18,18,18,20,19,20,19,20,19,20,18,18,18,18,18,18] | |
| } | |
| }, { | |
| opt: 'arg', | |
| text: 'arg', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/arghead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [ncolors+3,ncolors+3,ncolors+3,ncolors+3,ncolors+3,ncolors+3,ncolors+3,9,9,9,9,9,9,9] | |
| } | |
| }, { | |
| opt: 'isr', | |
| text: 'isr', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/isrhead.png', | |
| skin: { | |
| atc1: "#005cd7", | |
| atc2: "#005cd7", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,16,16,16,16,16] | |
| } | |
| }, { | |
| opt: 'den', | |
| text: 'den', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/denhead.png', | |
| skin: { | |
| atc1: "#999999", | |
| atc2: "#ff0000", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,9,9,7,7,7,7,9,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'aust', | |
| text: 'aust', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/austhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [16,16,16,16,9,9,9,9,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'austrai', | |
| text: 'austrai', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/austrhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,11,11,11,11,9,9,9,9] | |
| } | |
| }, { | |
| opt: 'jpn', | |
| text: 'jpn', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/jpnhead.png', | |
| skin: { | |
| atc1: "#ff0000", | |
| atc2: "#ff0000", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7] | |
| } | |
| }, | |
| { | |
| opt: 'skore', | |
| text: 'skore', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/skore.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [16,16,16,16,7,7,7,7,9,9,9,9] | |
| } | |
| }, | |
| { | |
| opt: 'nkore', | |
| text: 'nkore', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/nkore.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,16,16,16,16,16,9,9] | |
| } | |
| }, | |
| { | |
| opt: 'nor', | |
| text: 'nor', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/norhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,7,9,16,16,16,16,16,16,16,9] | |
| } | |
| }, { | |
| opt: 'swe', | |
| text: 'swe', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/swehead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [15,15,15,15,15,15,15,4,4,4,4,4,4,4] | |
| } | |
| }, { | |
| opt: 'ukr', | |
| text: 'ukr', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/ukrhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [23,23,23,23,23,23,23,23,23,18,18,18,18,18,18,18,18,18] | |
| } | |
| }, { | |
| opt: 'indo', | |
| text: 'indo', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/indohead.png', | |
| skin: { | |
| atc1: "#999999", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,9,9,9,9,9] | |
| } | |
| }, { | |
| opt: 'phli', | |
| text: 'phli', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/phlihead.png', | |
| skin: { | |
| atc1: "#999999", | |
| atc2: "#ff0000", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,16,16,16,16,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'rom', | |
| text: 'rom', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/romhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [16,16,16,16,16,16,16,18,18,18,18,18,18,18,7,7,7,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'gerg', | |
| text: 'gerg', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/gerghead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9] | |
| } | |
| }, { | |
| opt: 'serb', | |
| text: 'serb', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/serbhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,16,16,16,9,9,9] | |
| } | |
| }, { | |
| opt: 'alg', | |
| text: 'alg', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/alghead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#047a18", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,13,13,13,13,13,7,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'alb', | |
| text: 'alb', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/albhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,7,7,11,11,11,11,11,11,11,11] | |
| } | |
| }, { | |
| opt: 'yun', | |
| text: 'yun', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/yunhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [21,21,21,21,21,21,21,21,9,9,9,9,9,9,9,9] | |
| } | |
| }, { | |
| opt: 'az', | |
| text: 'az', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/azhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [ncolors+3,ncolors+3,ncolors+3,ncolors+3,ncolors+3,ncolors+2,ncolors+2,ncolors+2,ncolors+2,ncolors+2,ncolors+1,ncolors+1,ncolors+1,ncolors+1,ncolors+1] | |
| } | |
| }, { | |
| opt: 'tha', | |
| text: 'tha', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/thahead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,7,9,9,9,16,16,16,16,16,9,9,9] | |
| } | |
| }, { | |
| opt: 'bosna', | |
| text: 'bosna', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/boshead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [ncolors+3,ncolors+3,ncolors+3,18,18,18] | |
| } | |
| }, { | |
| opt: 'vin', | |
| text: 'vin', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/vinhead.png', | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [ncolors+2,ncolors+2,ncolors+2,18,18] | |
| } | |
| }, { | |
| opt: 'pol', | |
| text: 'pol', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/polhead2.png', | |
| skin: { | |
| atc1: "#ff0000", | |
| atc2: "#ff0000", | |
| blbx: -30, | |
| blby: -120, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,9,9,7,7,7,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'barca', | |
| text: 'barca', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/barcahead.png', | |
| skin: { | |
| atc1: "#004d98", | |
| atc2: "#a50044", | |
| blbx: -35, | |
| blby: -150, | |
| blbh: 300, | |
| bsc: .15, | |
| rbcs: [21,21,21,21,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'rm', | |
| text: 'rm', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/rmhead.png', | |
| skin: { | |
| atc1: "#033e86", | |
| atc2: "#033e86", | |
| blbx: -35, | |
| blby: -131, | |
| blbh: 285, | |
| bsc: .16, | |
| rbcs: [9] | |
| } | |
| }, { | |
| opt: 'atm', | |
| text: 'atm', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/atmhead.png', | |
| skin: { | |
| atc1: "#0004FF", | |
| atc2: "#000000", | |
| blbx: -15, | |
| blby: -170, | |
| bsc: .15, | |
| rbcs: [7,7,7,9,9,9,21,21,21] | |
| } | |
| }, { | |
| opt: 'chelsea', | |
| text: 'chelsea', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/chead.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "#fff", | |
| blbx: -15, | |
| blby: -155, | |
| bsc: .16, | |
| rbcs: [16,16,16,16,16,9] | |
| } | |
| }, { | |
| opt: 'live', | |
| text: 'live', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/livehead.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "#fff", | |
| blbx: -15, | |
| blby: -155, | |
| bsc: .16, | |
| rbcs: [7,7,7,7,7,9] | |
| } | |
| }, { | |
| opt: 'arse', | |
| text: 'arse', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/arseheadz.png', | |
| skin: { | |
| atc1: "#0004FF", | |
| atc2: "#fff", | |
| blbx: -15, | |
| blby: -170, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,9,16,16,9] | |
| } | |
| }, { | |
| opt: 'mcity', | |
| text: 'mcity', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/mancity.png', | |
| skin: { | |
| atc1: "#97ffff", | |
| atc2: "#fff", | |
| blbx: -15, | |
| blby: -170, | |
| bsc: .15, | |
| rbcs: [12,12,12,12,12,9,ncolors+3,ncolors+3,ncolors+3,ncolors+3,ncolors+3,9] | |
| } | |
| }, { | |
| opt: 'manu', | |
| text: 'manu', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/manuhead.png', | |
| skin: { | |
| atc1: "#ff0000", | |
| atc2: "#fff", | |
| blbx: -15, | |
| blby: -170, | |
| bsc: .15, | |
| rbcs: [18,18,18,18,18,11,7,7,7,7,7,11] | |
| } | |
| }, { | |
| opt: 'tote', | |
| text: 'tote', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/totte.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "#fff", | |
| blbx: -15, | |
| blby: -170, | |
| bsc: .16, | |
| rbcs: [16,16,16,16,16,9] | |
| } | |
| }, { | |
| opt: 'lei', | |
| text: 'lei', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/leiheadsz.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "#0883e0", | |
| blbx: -15, | |
| blby: -170, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,9,16,16,16,16,16,16] | |
| } | |
| }, { | |
| opt: 'psg', | |
| text: 'psg', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/psghead1.png', | |
| skin: { | |
| atc1: "#2a1269", | |
| atc2: "#2a1269", | |
| blbx: -35, | |
| blby: -168, | |
| blbh: 330, | |
| bsc: .15, | |
| rbcs: [21,21,21,9,7,9] | |
| } | |
| }, { | |
| opt: 'bmnh', | |
| text: 'bmnh', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/bmunihhead.png', | |
| skin: { | |
| atc1: "#000000", | |
| atc2: "#0300e0", | |
| blbx: -15, | |
| bsc: .15, | |
| rbcs: [7,7,7,7,7,7,7,7,21,21,21,21,21,21,21] | |
| } | |
| }, { | |
| opt: 'drd', | |
| text: 'drd', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/drdmundhead.png', | |
| skin: { | |
| atc1: "#111111", | |
| atc2: "#222222", | |
| blbx: -15, | |
| bsc: .15, | |
| rbcs: [18,18,18,18,11,11,11,11] | |
| } | |
| }, { | |
| opt: 'juv', | |
| text: 'juv', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/juvehead.png', | |
| skin: { | |
| atc1: "#000000", | |
| atc2: "#ffffff", | |
| blbx: -35, | |
| blby: -175, | |
| bsc: .15, | |
| rbcs: [9,9,9,9,9,11,11,11,11,11] | |
| } | |
| }, { | |
| opt: 'mil', | |
| text: 'mil', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/milahead.png', | |
| skin: { | |
| atc1: "#000000", | |
| atc2: "#ffffff", | |
| blbx: -35, | |
| blby: -194, | |
| blbh: 360, | |
| bsc: .16, | |
| rbcs: [11,11,11,11,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'inter', | |
| text: 'inter', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/inthead.png', | |
| skin: { | |
| atc1: "#0004FF", | |
| atc2: "#000000", | |
| blbx: -15, | |
| bsc: .15, | |
| rbcs: [11,11,11,11,1,1,1,1] | |
| } | |
| }, { | |
| opt: 'Fenerbahce', | |
| text: 'Fenerbahce', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/fenerbahcehead1.png', | |
| skin: { | |
| atc1: "#0004FF", | |
| atc2: "#EEFF00", | |
| blbx: -15, | |
| bsc: .15, | |
| rbcs: [18,18,18,18,16,16,16,16] | |
| } | |
| }, { | |
| opt: 'gs', | |
| text: 'gs', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/gshead1.png', | |
| skin: { | |
| atc1: "#FF0000", | |
| atc2: "#EEFF00", | |
| blbx: -40, | |
| bsc: .15, | |
| rbcs: [18,18,18,18,7,7,7,7] | |
| } | |
| }, { | |
| opt: 'bjk', | |
| text: 'bjk', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/bjkhead.png', | |
| skin: { | |
| atc1: "#000000", | |
| atc2: "#ffffff", | |
| blbx: -35, | |
| blby: -168, | |
| bsc: .15, | |
| rbcs: [11,11,11,11,9,9,9,9] | |
| } | |
| }, { | |
| opt: 'Donut', | |
| text: 'Donut', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/headdonut.png', | |
| skin: { | |
| atc1: "#003300", | |
| atc2: "#66cc00", | |
| bsc: .15, | |
| blbx: -16, | |
| rbcs: [9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,ncolors,ncolors,ncolors,ncolors,ncolors,ncolors,ncolors,ncolors,ncolors,ncolors,ncolors+1,ncolors+1,ncolors+1,ncolors+1,ncolors+1,ncolors+1,ncolors+1,ncolors+1,ncolors+1,ncolors+1] | |
| } | |
| }, { | |
| opt: 'elmas', | |
| text: 'elmas', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/elmashead.png', | |
| skin: { | |
| atc1: "#000000", | |
| atc2: "#69D0F1", | |
| blbx: -20, | |
| blby: -125, | |
| bsc: .18, | |
| rbcs: [23] | |
| } | |
| }, { | |
| opt: 'itf', | |
| text: 'itf', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/tythead.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -20, | |
| blby: -101, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| bsc: 0.25, | |
| er: 2, | |
| alpha: 1, | |
| scale: 0.28, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| ec: "#000000", | |
| eca: 1, | |
| ppc: 'transparent', | |
| swell: 0.04, | |
| rbcs: [9, 9, 9, 22, 22, 22] | |
| } | |
| }, { | |
| opt: 'prt', | |
| text: 'prt', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/prtyhead.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -20, | |
| blby: -101, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| bsc: 0.21, | |
| alpha: 1, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 1, | |
| rbcs: [3,4,5,6,7,8,2,10] | |
| } | |
| }, { | |
| opt: 'kng', | |
| text: 'kng', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/knghead.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -20, | |
| blby: -171, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| blbh: 540, | |
| blbw: 430, | |
| alpha: 1, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 1, | |
| rbcs: [5,5,5,5,5,5,5,11] | |
| } | |
| }, { | |
| opt: 'spr', | |
| text: 'spr', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/pelerines.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| ppc: "#ff0000", | |
| blbx: 0, | |
| blby: -246, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| blbh: 790, | |
| blbw: 710, | |
| alpha: 1, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 1, | |
| rbcs: [7,7,7,7,11] | |
| } | |
| }, { | |
| opt: 'ninja', | |
| text: 'ninja', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/ninjasowr.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "#fff", | |
| ec: "#222", | |
| ppc: "#555", | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| blbx: -105, | |
| bsc: .20, | |
| rbcs: [11] | |
| } | |
| }, { | |
| opt: 'tramp', | |
| text: 'tramp', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/tramphead1.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -210, | |
| blby: -165, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| bsc: 0.15, | |
| alpha: 1, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 0, | |
| ppc: 'transparent', | |
| rbcs: [5] | |
| } | |
| }, { | |
| opt: 'mari', | |
| text: 'mari', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/marihead.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -230, | |
| blby: -150, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| bsc: 0.17, | |
| alpha: 1, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 0, | |
| ppc: 'transparent', | |
| rbcs: [7,7,7,7,7,7,7,7,16,16,16] | |
| } | |
| }, { | |
| opt: 'angr', | |
| text: 'angr', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/angrhead.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -230, | |
| blby: -150, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| bsc: 0.16, | |
| alpha: 1, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 0, | |
| ppc: 'transparent', | |
| rbcs: [7] | |
| } | |
| }, { | |
| opt: 'hulk', | |
| text: 'hulk', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/hulkhead3.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -246, | |
| blby: -160, | |
| atba: true, | |
| antenna: true, | |
| abrot: true, | |
| bsc: 0.15, | |
| alpha: 1, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 0, | |
| ppc: 'transparent', | |
| rbcs: [ncolors-3] | |
| } | |
| }, { | |
| opt: 'ame', | |
| text: 'ame', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/amerishield.png', | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: 0, | |
| blby: -157, | |
| bsc: 0.18, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| eca: 1, | |
| rbcs: [16, 16, 16, 16, 7, 7, 7, 9, 9, 10, 10, 10, 9, 9, 7, 7, 7] | |
| } | |
| }, { | |
| opt: 'spilog', | |
| text: 'spilog', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/spilog.png', | |
| skin: { | |
| ec: "transparent", | |
| ppc: "transparent", | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -250, | |
| bsc: 0.15, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| rbcs: [7,7,7,7,7,7,7,7,7,11,11,11,11] | |
| } | |
| }, { | |
| opt: 'irolog', | |
| text: 'irolog', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/irologs.png', | |
| skin: { | |
| ec: "transparent", | |
| ppc: "transparent", | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -250, | |
| bsc: 0.15, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| rbcs: [12, 7, 7, 7, 7, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7] | |
| } | |
| }, { | |
| opt: 'hulklog', | |
| text: 'hulklog', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/hulklogsz.png', | |
| skin: { | |
| ec: "transparent", | |
| ppc: "transparent", | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -250, | |
| bsc: 0.15, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| rbcs: [13,ncolors-3,ncolors-3,ncolors-3,ncolors-3,ncolors-3,ncolors-3,ncolors-3] | |
| } | |
| }, { | |
| opt: 'batmanlog', | |
| text: 'batmanlog', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/batmanlogz.png', | |
| skin: { | |
| ec: "#333333", | |
| ppc: "#ffffff", | |
| atc1: "#000000", | |
| atc2: "#000000", | |
| blbx: -20, | |
| bsc: 0.15, | |
| atx: new Float32Array(10), | |
| aty: new Float32Array(10), | |
| atvx: new Float32Array(10), | |
| atvy: new Float32Array(10), | |
| atax: new Float32Array(10), | |
| atay: new Float32Array(10), | |
| rbcs: [11,11,11,11,18] | |
| } | |
| }, { | |
| opt: 'superlog', | |
| text: 'superlog', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/superlog.png', | |
| skin: { | |
| ec: "#ff0000", | |
| ppc: "#000000", | |
| atc1: "#000000", | |
| atc2: "#000000", | |
| blbx: 0, | |
| bsc: 0.15, | |
| smell: 0.01, | |
| atx: new Float32Array(10), | |
| aty: new Float32Array(10), | |
| atvx: new Float32Array(10), | |
| atvy: new Float32Array(10), | |
| atax: new Float32Array(10), | |
| atay: new Float32Array(10), | |
| rbcs: [11,11,11,11,7] | |
| } | |
| }, { | |
| opt: 'taco', | |
| text: 'taco', | |
| bulb: 'http://agarw.com/chrome2kafa/tacohead.png', | |
| initial: true, | |
| skin: { | |
| atc1: "transparent", | |
| atc2: "#ca7f4c", | |
| blbh: 270, | |
| blbw: 310, | |
| bsc: 0.18, | |
| blby: -135, | |
| blbx: -30, | |
| atx: new Float32Array(9), | |
| aty: new Float32Array(9), | |
| atvx: new Float32Array(9), | |
| atvy: new Float32Array(9), | |
| atax: new Float32Array(9), | |
| atay: new Float32Array(9), | |
| rbcs: [5] | |
| } | |
| }, { | |
| opt: 'thug', | |
| text: 'thug', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/thuglifes.png', | |
| skin: { | |
| ec: "transparent", | |
| ppc: "transparent", | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -260, | |
| bsc: 0.15, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| rbcs: [12,11,11,11,11,11,11,11,11,11] | |
| } | |
| }, { | |
| opt: 'troll', | |
| text: 'troll', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/trollhead.png', | |
| skin: { | |
| ec: "transparent", | |
| ppc: "transparent", | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -220, | |
| bsc: 0.16, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| rbcs: [9] | |
| } | |
| }, { | |
| opt: 'cre', | |
| text: 'cre', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/crehead.png', | |
| skin: { | |
| ec: "transparent", | |
| ppc: "transparent", | |
| atc1: "transparent", | |
| atc2: "transparent", | |
| blbx: -260, | |
| bsc: 0.13, | |
| atx: new Float32Array(2), | |
| aty: new Float32Array(2), | |
| atvx: new Float32Array(2), | |
| atvy: new Float32Array(2), | |
| atax: new Float32Array(2), | |
| atay: new Float32Array(2), | |
| rbcs: [3] | |
| } | |
| }, { | |
| opt: 'balon', | |
| text: 'balon', | |
| bulb: 'http://agarw.com/chrome2kafa/balonhead.png', | |
| initial: true, | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| blbh: 270, | |
| blbw: 310, | |
| blby: -135, | |
| blbx: -30, | |
| atx: new Float32Array(13), | |
| aty: new Float32Array(13), | |
| atvx: new Float32Array(13), | |
| atvy: new Float32Array(13), | |
| atax: new Float32Array(13), | |
| atay: new Float32Array(13), | |
| rbcs: [7] | |
| } | |
| }, { | |
| opt: 'ant', | |
| text: 'ant', | |
| initial: true, | |
| skin: { | |
| atc1: "#ffffff", | |
| atc2: "#ffffff", | |
| atx: new Float32Array(30), | |
| aty: new Float32Array(30), | |
| atvx: new Float32Array(30), | |
| atvy: new Float32Array(30), | |
| atax: new Float32Array(30), | |
| atay: new Float32Array(30), | |
| rbcs: [11] | |
| } | |
| }, { | |
| opt: 'RayDay', | |
| text: 'RayDay', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/headcr.png', | |
| skin: { | |
| atc1: "#440000", | |
| atc2: "#ff3300", | |
| bsc: .15, | |
| rbcs: [ncolors+2] | |
| } | |
| }, { | |
| opt: 'Meganism', | |
| text: 'Meganism', | |
| initial: true, | |
| bulb: 'http://agarw.com/chrome2kafa/headhand.png', | |
| skin: { | |
| atc1: "#1d3245", | |
| atc2: "#44d4ff", | |
| blbx: -35, | |
| bsc: .25, | |
| rbcs: [ncolors+3] | |
| }, | |
| deg: -90 | |
| } | |
| ], scolors = [[179,74,0],[153,255,0],[255,25,0],[0,213,255],[0,213,255]]; | |
| for (var i = 0; i < scolors.length; i++) { | |
| rrs.push(scolors[i][0]); | |
| ggs.push(scolors[i][1]); | |
| bbs.push(scolors[i][2]); | |
| applyColor(ncolors++); | |
| } | |
| for (var i = 0; i < sskins.length; i++) {(function(i){ | |
| var s = sskins[i], skin = s.skin, | |
| bulb = document.createElement("canvas"), img = document.createElement("img"); | |
| bulb.width = 320; | |
| bulb.height = 320; | |
| img.onload = function() { | |
| f = bulb.getContext('2d'); | |
| f.drawImage(img, 0, 0); | |
| }; | |
| img.src = s.bulb; | |
| var ss = setSkin; | |
| s.n = max_skin_cv + 1; | |
| setSkin = function(b, h) { | |
| if (!snake) h = localStorage.getItem('snakercv'); | |
| ss(b, h); | |
| if (h == s.n && switches[s.opt]) { | |
| b.eca = 1; | |
| b.antenna = !0; | |
| b.atba = 0; | |
| b.atwg = !0; | |
| b.atia = 1; | |
| b.abrot = !0; | |
| c = 9; | |
| b.atx = new Float32Array(c); | |
| b.aty = new Float32Array(c); | |
| b.atvx = new Float32Array(c); | |
| b.atvy = new Float32Array(c); | |
| b.atax = new Float32Array(c); | |
| b.atay = new Float32Array(c); | |
| for (--c; 0 <= c; c--) b.atx[c] = b.xx, b.aty[c] = b.yy; | |
| b.bulb = bulb; | |
| b.blbx = 5; | |
| b.blby = -160; | |
| b.blbw = 320; | |
| b.blbh = 320; | |
| b.bsc = .15; | |
| b.blba = 1; | |
| for (var prop in skin) { | |
| b[prop] = skin[prop]; | |
| } | |
| } | |
| }; | |
| var ssskin = document.createElement('div'); | |
| ssskins.appendChild(ssskin); | |
| function switchSkin() { | |
| max_skin_cv += switches[s.opt] ? 1 : -1; | |
| for (var j = i+1; j < sskins.length; j++) { | |
| sskins[j].n += switches[s.opt] ? 1 : -1; | |
| } | |
| if (snake && snake.rcv >= s.n) setSkin(snake, snake.rcv + (switches[s.opt] ? 1 : -1)); | |
| } | |
| createSwitch(ssskin, s.opt, s.text, switchSkin, s.initial); | |
| ssskin.lastChild.style.display = 'inline-block'; | |
| var sslogo = img.cloneNode(); | |
| sslogo.style.marginLeft = '7px'; | |
| sslogo.style.width = sslogo.style.height = '26px'; | |
| sslogo.style.verticalAlign = 'middle'; | |
| sslogo.style.transform = 'rotate(' + (s.deg || 180) + 'deg)'; | |
| ssskin.appendChild(sslogo); | |
| var sswrap = document.createElement('div'); | |
| sswrap.style.float = 'right'; | |
| sswrap.style.display = 'none'; | |
| ssskin.appendChild(sswrap); | |
| var sssub = document.createElement('div'); | |
| sssub.id = 'yeniskinslithere-' + s.opt + '-sub'; | |
| sssub.dataset.channel = JSON.stringify(s.channel); | |
| sswrap.appendChild(sssub); | |
| })(i);} | |
| var ssok = makeTextBtn('OK', 36, 16, 18, 1).elem; | |
| ssok.style.position = 'relative'; | |
| ssok.style.margin = '8px auto 5px auto'; | |
| ssok.style.removeProperty('box-shadow'); | |
| ssok.onclick = function() { | |
| ssblackout.style.opacity = 0; | |
| setTimeout(function() { | |
| ssblackout.style.visibility = 'hidden'; | |
| for (var i = 0; i < ssskins.childNodes.length; i++) { | |
| ssskins.childNodes[i].lastChild.style.display = 'none'; | |
| } | |
| }, 500); | |
| }; | |
| ssdiv.appendChild(ssok); | |
| // </Special Skins> | |
| setColors(); | |
| colorMenu(); | |
| var skins = JSON.parse(localStorage.getItem('yeniskinslithere-skins')) || [], storageSkins = JSON.parse(JSON.stringify(skins)); | |
| if (!(skins instanceof Array)) skins = []; | |
| for (var i = 0; i < skins.length; i++) | |
| for (var j = 0; j < skins[i].length; j++) { | |
| if (-skins[i][j] > ccolors.length) storageSkins[i][j] = skins[i][j] = -ccolors.length, localStorage.setItem('yeniskinslithere-skins', JSON.stringify(storageSkins)); | |
| if (skins[i][j] < 0) skins[i][j] = ~skins[i][j] + ncolors; | |
| } | |
| cskh.onclick = function() { | |
| div.style.display = 'block'; | |
| setTimeout(function() { | |
| div.style.opacity = 1; | |
| }, 0); | |
| if (localStorage.getItem('snakercv') > max_skin_cv + skins.length) setSkin(snake, max_skin_cv + skins.length), localStorage.setItem('snakercv', max_skin_cv + skins.length); | |
| }; | |
| skodiv.lastChild.onclick = function() { | |
| div.style.opacity = 0; | |
| setTimeout(function() { | |
| div.style.display = 'none'; | |
| }, 1000); | |
| Constructor(true); | |
| }; | |
| psk.onclick = function() { | |
| if (playing && snake) { | |
| var c = snake.rcv; | |
| c--; | |
| 0 > c && (c = max_skin_cv + skins.length); | |
| setSkin(snake, c); | |
| } | |
| return !1; | |
| }; | |
| nsk.onclick = function() { | |
| if (playing && snake) { | |
| var c = snake.rcv; | |
| c++; | |
| c > max_skin_cv + skins.length && (c = 0); | |
| setSkin(snake, c); | |
| } | |
| return !1; | |
| }; | |
| var onkeyup = document.onkeyup; | |
| document.onkeyup = function(e) { | |
| onkeyup(); | |
| switch (e.which) { | |
| case 87: | |
| Constructor(true); | |
| csinput.checked = !csinput.checked; | |
| csinput.onchange(); | |
| break; | |
| } | |
| }; | |
| body.onclick = function() { | |
| if (sccm.parentNode) sccm.parentNode.removeChild(sccm); | |
| }; | |
| body.onmousemove = function(e) { | |
| if (currentColor) { | |
| e.preventDefault(); | |
| var x = Math.min(255, e.pageX - currentColor.parentNode.parentNode.offsetLeft - currentColor.offsetLeft); | |
| if (x < 0) x = 0; | |
| var rgb = parseColor(currentColor.parentNode.parentNode.firstChild.style.backgroundColor); | |
| for (var i = 0; i < currentColor.parentNode.childNodes.length; i++) | |
| if (currentColor.parentNode.childNodes[i] === currentColor) rgb[i] = x; | |
| setColor(rgb, currentColor.parentNode.parentNode); | |
| } | |
| }; | |
| body.onmouseup = function() { | |
| currentColor = null; | |
| }; | |
| var oldResize = resize; | |
| resize = function() { | |
| oldResize(); | |
| skodiv.style.top = Math.round(hh / 2 + (sc ? -130 : 120)) + "px"; | |
| pskh.style.top = Math.round(hh / 2 - (sc ? 294 : 44)) + "px"; | |
| nskh.style.top = Math.round(hh / 2 - (sc ? 294 : 44)) + "px"; | |
| mc.style.top = Math.floor(hh / 2 - mhh / 2) - (sc ? 250 : 0) + "px"; | |
| stylesheet.insertRule('.yeniskinslithere-window{max-height:' + (hh-50) + 'px;' + '}', stylesheet.cssRules.length); | |
| }; | |
| var oldRedraw = redraw, crash = false; | |
| redraw = function() { | |
| if (!crash) | |
| try { | |
| oldRedraw(); | |
| } catch(err) { | |
| crash = true; | |
| var crashblackout = createWindow(); | |
| crashblackout.style.visibility = 'visible'; | |
| crashblackout.style.opacity = 1; | |
| body.appendChild(crashblackout); | |
| var crashdiv = crashblackout.firstChild; | |
| crashdiv.style.maxWidth = '400px'; | |
| crashdiv.style.textAlign = 'center'; | |
| var crashbtn = makeTextBtn('Reload page', 36, 16, 18, 2).elem; | |
| crashbtn.style.position = 'relative'; | |
| crashbtn.style.display = 'inline-block'; | |
| crashbtn.style.marginTop = '7px'; | |
| crashbtn.style.removeProperty('box-shadow'); | |
| crashbtn.onclick = function() { | |
| location.reload(); | |
| }; | |
| crashdiv.appendChild(crashbtn); | |
| //localStorage.removeItem('yeniskinslithere-colors'); | |
| //localStorage.removeItem('yeniskinslithere-skins'); | |
| } | |
| } | |
| })(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment