🏠 Home 

无尽矿石(More Ore)自定义倍速及暴露全局变量

通过劫持方法暴露游戏内置变量到window.game,并可自定义游戏内置倍速。【测试版,不保证无BUG】


Install this script?
// ==UserScript==
// @name         无尽矿石(More Ore)自定义倍速及暴露全局变量
// @version      1.0-Demo
// @description  通过劫持方法暴露游戏内置变量到window.game,并可自定义游戏内置倍速。【测试版,不保证无BUG】
// @author       DreamNya
// @match        https://file.u77.games/zh-cn/*/more-ore-v3/index.html
// @grant        none
// @license      MIT
// @run-at       document-start
// @namespace https://greasyfork.org/users/809466
// ==/UserScript==
const customSpeed = 10; //自定义倍速,默认10倍,影响实际计算,不影响动画效果;动态调整倍速方法:控制台修改game.State.settings.gameSpeed
const realDef = window.Object.defineProperty;
const realAssign = window.Object.assign;
let objHooked = false;
let speedHooked = false;
window.Object.assign = function (...args) {
if (args[1]?.settings) {
args[1].settings.gameSpeed = customSpeed
window.Object.assign = realAssign
}
return realAssign.call(this, ...args)
}
window.Object.defineProperty = function (...args) {
if (args[1] == '__esModule') {
watchObject(args[0])
}
realDef.call(this, ...args)
}
function watchObject(obj) {
let value
realDef(obj, "State", {
get() {
return value
},
set(newValue) {
value = newValue
if (!objHooked) {
window.game = obj
objHooked = true
window.Object.defineProperty = realDef
}
}
})
}