您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
separates attack into attack from self-created lines and attack from garbage lines
当前为
- // ==UserScript==
- // @name Attack Separator Script
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description separates attack into attack from self-created lines and attack from garbage lines
- // @author Oki
- // @match https://*.jstris.jezevec10.com/*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- window.addEventListener('load', function(){
- /**************************
- Attack Separator Script
- **************************/
- var trim=a=>{a=a.slice(0,-1);a=a.substr(a.indexOf("{")+1);return a}
- var oldFunc = Game.prototype.checkLineClears.toString()
- oldFunc = "var rows0=0;var rows1=0;" + trim(oldFunc)
- oldFunc = oldFunc.split(")};for(")
- var rowVar = oldFunc[0].split("(")[oldFunc[0].split("(").length-1]
- oldFunc = oldFunc.join(')};eval("rows"+ +(JSON.stringify(this.matrix['+rowVar+']).indexOf(8)<0)+"++");var oldSent=this.gamedata.linesSent;for(')
- var split = oldFunc.split("> 0){this[_")
- var inject = 'var distr=[rows1/(rows0+rows1),(rows0/(rows0+rows1))].map(x=>x*(this.gamedata.linesSent-oldSent));var sentHTML=this.sentElement.innerHTML.split("/");if(sentHTML!=0){distr[0]+= +sentHTML[0];distr[1]+= +sentHTML[1]};this.sentElement.innerHTML=distr[0].toFixed(2)+" / "+distr[1].toFixed(2);'
- split[3] = split[3].replace("=","*/")
- split[3] = split[3].replace(")",");"+inject)
- for (var i = 0; i < split.length-1; i++) {
- split[i] += (i==2) ? "> 0){/*this[_" : "> 0){this[_"
- }
- oldFunc = split.join``
- Game.prototype.checkLineClears = new Function(oldFunc);
- });
- })();