fixoraclecards for Hero Wars Helper

fixoraclecards for HeroWarsHelper script

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==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);
		} }}
	}



    })();