Show APM & Attack in Replays

Show APM and Attack stats in Jstris replays

目前为 2019-06-18 提交的版本。查看 最新版本

// ==UserScript==
// @name         Show APM & Attack in Replays
// @namespace    http://tampermonkey.net/
// @version      0.3
// @author       Oki
// @description  Show APM and Attack stats in Jstris replays
// @match        https://*.jstris.jezevec10.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    window.addEventListener('load', function(){
/**************************
 APM & Attack in Replays Script
**************************/

var website = "jstris.jezevec10.com"
var url = window.location.href
var parts = url.split("/")

Replayer["addStat"] = function(id,into) {
    var apmStat = document.createElement("tr");
    apmStat.innerHTML = '<td class="ter">APM</td><td class="sval"><span id="'+id+'">0</span></td>'
    into.appendChild(apmStat);
}

if(parts[3]=="replay" && parts[2].endsWith(website) && parts.length>4){

    if(parts[4]=="1v1"){        
        Replayer["addStat"]("apmElement1",document.getElementsByTagName("tbody")[0])
        Replayer["addStat"]("apmElement2",document.getElementsByTagName("tbody")[2])

    } else {
        document.getElementsByClassName("ter")[2].innerHTML = "Attack"
        Replayer["addStat"]("apmElementP",document.getElementsByClassName("moreStats")[0])
    }

   Replayer['prototype']['getAPM'] = function() {
       return ((this['gamedata']['linesSent'] / (this['clock'] / 6000))*10).toFixed(2)
   };

   View.prototype.updateTextBar = function() {
       this.clockElement.innerHTML = sprintTimeFormat(this.g.clock / 1e3, 3),
       this.sentElement.innerHTML = this.g.gamedata.linesSent,
       this.ppsElement.innerHTML = this.g.getPPS(),
       this.kppElement.innerHTML = this.g.getKPP()

       var cat = this.kppElement.id.slice(-1)
       eval("apmElement"+cat+"&&(apmElement"+cat+".innerHTML = this.g.getAPM())")
   }

}


    });
})();