您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
fixoraclecards for HeroWarsHelper script
// ==UserScript== // @name fixoraclecards for Hero Wars Helper // @name:en fixoraclecards for Hero Wars Helper // @name:ru fixoraclecards for Hero Wars Helper // @namespace fixoraclecards for Hero Wars Helper // @version 0.0.3 // @description fixoraclecards for HeroWarsHelper script // @description:en fixoraclecards for HeroWarsHelper script // @description:ru fixoraclecards для скрипта HeroWarsHelper // @author ZingerY & Orb // @license Copyright ZingerY // @homepage https://zingery.ru/scripts/HWHBestDungeonExt.user.js // @icon https://zingery.ru/scripts/VaultBoyIco16.ico // @icon64 https://zingery.ru/scripts/VaultBoyIco64.png // @match https://www.hero-wars.com/* // @match https://apps-1701433570146040.apps.fbsbx.com/* // @run-at document-start // ==/UserScript== (function () { if (!this.HWHClasses) { console.log('%cObject for extension not found', 'color: red'); return; } if (!this.HWHData) { console.log('HWHData not found'); } else {console.log('HWHDataLoaded')} console.log('%cStart Extension ' + GM_info.script.name + ', v' + GM_info.script.version + ' by ' + GM_info.script.author, 'color: red'); const { addExtentionName } = HWHFuncs; addExtentionName(GM_info.script.name, GM_info.script.version, GM_info.script.author); const { getInput, setProgress, hideProgress, I18N, send, getTimer, countdownTimer, getUserInfo, getSaveVal, setSaveVal, popup, setIsCancalBattle, random, EventEmitterMixin, } = HWHFuncs; const executeDungeon = HWHClasses; executeDungeon.Prototype.endBattle = async function (battleInfo) { if (battleInfo.result.win) { const args = { result: battleInfo.result, progress: battleInfo.progress, } if (HWHData.countPredictionCard > 0) { args.isRaid = true; } else { const timer = getTimer(battleInfo.battleTime); console.log(timer); await countdownTimer(timer, `${I18N('DUNGEON')}: ${I18N('TITANIT')} ${dungeonActivity}/${maxDungeonActivity} ${talentMsg}`); } const calls = [{ name: "dungeonEndBattle", args, ident: "body" }]; lastDungeonBattleData = null; try {send(JSON.stringify({ calls }), resultEndBattle);} catch(e) {// Check if error contains "abnormal speed" or "NotAvailable in dungeonEndBattle" if (e.message.includes("abnormal speed") || e.message.includes("NotAvailable in dungeonEndBattle")) { console.warn("Server detected fast dungeon completion, retrying without raid..."); HWHData.countPredictionCard = 0; delete args.isRaid; endBattle(battleInfo)} else { endDungeon('dungeonEndBattle win: false\n', battleInfo); } }} } })();