Tetris Friends Tweaks

Some tweaks on Tetris Friends

Verzia zo dňa 27.05.2014. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name           Tetris Friends Tweaks
// @description    Some tweaks on Tetris Friends
// @include        http://www.tetrisfriends.com/*
// @version 0.0.1.20140527112733
// @namespace https://greasyfork.org/users/2233
// ==/UserScript==

var wnd = window;
var doc = wnd.document;
var loc = location;
var href = loc.href;

if(/^http:\/\/www\.tetrisfriends\.com\//.test(href))
{
    if(/\/leaderboard\/index\.php$/.test(href))
    {
        addEventListener("DOMContentLoaded", function(){ setTimeout('window.leaderboardChange("3", "84", 2, "0", 0, "Sprint")', 100); }, false);
        throw 'exit';
    }
    if(!/\/game\.php\b/.test(href)) { throw 'exit'; }
    wnd.stop();
    if(/Live\/game\.php$/.test(href)) { wnd.stop(); loc.href=href+'?das=117&ar=17&ihs=true&irs=true'; throw 'exit'; }
    addEventListener("DOMContentLoaded", function(){
        var game_swf = '';
        if(/Sprint\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Sprint/OWGameSprint.swf?version=3"; }
        else if(/Live\b/.test(href)) { game_swf = "http://www.tetrisfriends.com/data/games/Live/OWGameTetrisLive.swf?livebust=0165?version=0"; }
        else if(/Ultra\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Ultra/OWGameUltra.swf?version=3"; }
        else if(/Marathon\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Marathon/OWGameMarathon.swf?version=3"; }
        else if(/Mono\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Mono/OWGameColorBlind.swf?version=3"; }
        else if(/Survival\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Survival/OWGameSurvival.swf?version=3"; }
        else if(/NBlox\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/NBlox/nbloxWebsite.swf?version=3"; } // doesn't work
        else if(/Battle2P\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Battle2P/OWGameBattle2pMaps.swf?version=0"; }
        else if(/Battle6P\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Battle6P/OWGameBattle6P.swf?version=0"; }
        else if(/Rally8P\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Rally8P/OWRally8P.swf?version=0"; }
        else if(/Sprint5P\b/.test(href)) { game_swf = "http://tetrisow-a.akamaihd.net/data4_0_0_1/games/Sprint5P/OWGameSprint5p.swf?version=0"; }
        else { game_swf = doc.getElementsByTagName('OBJECT')[0].data; }
        if(game_swf == '') { return; }

        var w = '643', h = '381'; // change the size of swf as you want
        var margin_top = (wnd.innerHeight-h)/2 + 'px';
        doc.body.innerHTML = '<object type="application/x-shockwave-flash" allowscriptaccess="always" data="' + game_swf + '" width="' + w + '" height="' + h + '" id="myflash" style="visibility: visible; display: block; margin-left: auto; margin-right: auto; margin-top:' + margin_top + '">' + '<param name="wmode" value="window">' + doc.getElementsByName("flashvars")[0].outerHTML + '<param name="quality" value="low">' + '</object>';
        for(var i=doc.styleSheets.length-1; i>=0; i--){ doc.styleSheets[i].disabled=true; }
        ////for(var i=0; i<3; i++) { // only needed when the <OBJECT> id is 'contentFlash'
            ////try {
                ////setTimeout(function() {
                    ////doc.getElementsByTagName('OBJECT')[0].style.cssText = 'visibility: visible; margin-top: 140px; margin-left: 280px;'
                    ////doc.getElementsByTagName('OBJECT')[0].as3_prerollDone()
                ////}, 1000)
            ////} catch(e) {}
        ////}

        // buggy...
        //doc.getElementsByTagName('OBJECT')[0].onkeydown = function(evt){ alert('onkeydown'); if(evt.keyCode==73) { evt.preventDefault(); doc.getElementsByTagName("OBJECT")[0].as3_tetrisGameRestart(); } }
        //doc.getElementsByTagName('OBJECT')[0].addEventListener('keydown', function(evt){ alert('keydown'); if(evt.keyCode==73) { evt.preventDefault(); doc.getElementsByTagName("OBJECT")[0].as3_tetrisGameRestart(); } }, false)

        // not yet finished...
        //if(/Live\b/.test(href)) { // if one can't connect to arena after a predefined time, reload the page.
        //}
    }, false)
    throw 'exit';
}