From e0f128c0fdd0a43454754c7fdbec1a6cd46c7402 Mon Sep 17 00:00:00 2001 From: woohoo Date: Fri, 27 May 2022 15:14:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=9A=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BA=86=E7=82=B9=E5=87=BB4=E6=9D=A1=E7=9A=84=E8=A1=8C?= =?UTF-8?q?=E4=B8=BA=EF=BC=9A=E5=88=86=E5=88=AB=E5=AF=B9=E5=BA=94=E9=94=BB?= =?UTF-8?q?=E7=82=BC=E3=80=81=E7=8A=AF=E7=BD=AA=E3=80=81=E7=89=A9=E5=93=81?= =?UTF-8?q?=EF=BC=88=E5=8A=A0=E6=88=90=E7=89=A9=E5=93=81=EF=BC=89=E3=80=81?= =?UTF-8?q?=E7=89=A9=E5=93=81=EF=BC=88=E5=8C=BB=E7=96=97=EF=BC=89=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=85=89=E9=80=9F=E8=B7=91=E8=B7=AF?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E5=85=B3=E9=97=AD=E7=9A=84=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=8E=B0=E5=B7=B2=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- torn-trans-zhcn.user.js | 352 ++++++++++++++++++++-------------------- 1 file changed, 176 insertions(+), 176 deletions(-) diff --git a/torn-trans-zhcn.user.js b/torn-trans-zhcn.user.js index 9641719..ba974e2 100644 --- a/torn-trans-zhcn.user.js +++ b/torn-trans-zhcn.user.js @@ -4829,166 +4829,204 @@ display:none; if (href.contains(/loader\.php\?sid=attack/)) { let stop_reload = false; const {quickAttIndex, quickFinishAtt, attReload} = getWhSettingObj(); - let cssRules = null; + + // 自刷新 + let audio_played_flag; + if (attReload !== 6 && stop_reload !== true) { + const selector_device_map = { + 'pc': '#defender div[class^="modal___"]', + 'mobile': '#attacker div[class^="modal___"]', + 'tablet': '', + }; + const selector = selector_device_map[device]; + elementReady(selector).then(elem => { + if (!elem.querySelector('button')) { + if (getWhSettingObj().attReload === 0 && stop_reload !== true) { + window.location.reload(); + } else { + let reload_flag; + const timeout = getWhSettingObj().attReload * 1000 + getRandomInt(-500, 500); + log(`[WH] ${timeout / 1000}s 后自动刷新`); + window.setInterval(() => { + if (reload_flag === undefined) { + reload_flag = true; + } else if (stop_reload !== true) { + window.location.reload(); + } + }, timeout); + } + } else if (audio_played_flag === undefined) { + audio_played_flag = true; + let play_time = 0; + const audio_play_id = window.setInterval(() => { + const $audio = document.createElement('audio'); + $audio.src = 'https://www.torn.com/js/chat/sounds/Warble_1.mp3'; + $audio.play().then(); + play_time++; + if (play_time === 3) clearInterval(audio_play_id); + }, 600); + } + }); + } // 光速拔刀 if (quickAttIndex !== 6) { // const selectedId = ['weapon_main', 'weapon_second', 'weapon_melee', 'weapon_temp', 'weapon_fists', 'weapon_boots'] // [getWhSettingObj().quickAttIndex]; - elementReady('div[class^="modal___"] button').then(btn => { - if (!(btn.innerText.toLowerCase().includes('start fight') || btn.innerText.toLowerCase().includes('join'))) return; - // 判断是否存在脚踢 - const hasKick = !!document.querySelector('#weapon_boots'); - // modal层 - const modal = document.querySelector('div[class^="modal___"]'); - log(`当前设备类型是${device}`); - // 区分设备 - switch (device) { - case Device.PC: { - log(`开始调整按钮位置`); - // 隐藏modal层 - modal.style.display = 'none'; - // 根据选择的武器调整css - let css_top = '0'; - switch (getWhSettingObj()['quickAttIndex']) { - case 1: { // weapon_second - css_top = '97px'; - break; - } - case 2: { // weapon_melee - css_top = '194px'; - break; - } - case 3: { // weapon_temp - css_top = '291px'; - break; - } - case 4: // weapon_fists - case 5: { // weapon_boots - css_top = '375px'; - break; - } + const btn = await elementReady('div[class^="modal___"] button');//.then(btn => { + if (!(btn.innerText.toLowerCase().includes('start fight') || btn.innerText.toLowerCase().includes('join'))) return; + // 判断是否存在脚踢 + const hasKick = !!document.querySelector('#weapon_boots'); + // modal层 + const modal = document.querySelector('div[class^="modal___"]'); + log(`当前设备类型是${device}`); + // 区分设备 + switch (device) { + case Device.PC: { + log(`开始调整按钮位置`); + // 隐藏modal层 + modal.style.display = 'none'; + // 根据选择的武器调整css + let css_top = '0'; + switch (getWhSettingObj()['quickAttIndex']) { + case 1: { // weapon_second + css_top = '97px'; + break; } - const css_rule = ` + case 2: { // weapon_melee + css_top = '194px'; + break; + } + case 3: { // weapon_temp + css_top = '291px'; + break; + } + case 4: // weapon_fists + case 5: { // weapon_boots + css_top = '375px'; + break; + } + } + const css_rule = ` .wh-move-btn #defender div[class^="modal___"]{display: block;width: 0 !important;top: ${css_top};left: -169px !important;} .wh-move-btn #defender div[class^="dialog___"]{border:0;width:159px;height:96px;} .wh-move-btn #defender div[class^="colored___"]{display:block;padding:0;} .wh-move-btn #defender div[class^="title___"]{height:0;} .wh-move-btn #defender button{width: 100%;margin:17px 0;height: 60px;} `; - addStyle(css_rule); - document.body.classList.toggle('wh-move-btn'); - // 绑定点击事件 - btn.onclick = () => { - if (quickFinishAtt !== 3) { - btn.remove(); - // 停止自动刷新 - stop_reload = true; - } else { - document.body.classList.toggle('wh-move-btn'); - } - }; - break; - } - case Device.MOBILE: { - log(`开始调整按钮位置`); - // 加入css - let css_top = '0'; - let slot_height = '76px'; - // 判断有没有脚踢 - if (hasKick) { - // 根据选择的武器调整 - switch (getWhSettingObj().quickAttIndex) { - case 1: { // weapon_second - css_top = '76px'; - break; - } - case 2: { // weapon_melee - css_top = '152px'; - break; - } - case 3: { // weapon_temp - css_top = '228px'; - break; - } - case 4: { // weapon_fists - css_top = '304px'; - break; - } - case 5: { // weapon_boots - css_top = '380px'; - break; - } - } + addStyle(css_rule); + document.body.classList.toggle('wh-move-btn'); + // 绑定点击事件 + btn.onclick = () => { + if (quickFinishAtt !== 3) { + btn.remove(); + // 停止自动刷新 + stop_reload = true; } else { - const slot = document.querySelector('#weapon_main'); - const height = slot.offsetHeight + 1; - slot_height = height; - // 根据选择的武器调整 - switch (getWhSettingObj().quickAttIndex) { - case 1: { // weapon_second - css_top = `${height}px`; - break; - } - case 2: { // weapon_melee - css_top = `${height * 2}px`; - break; - } - case 3: { // weapon_temp - css_top = `${height * 3}px`; - break; - } - case 4: { // weapon_fists - css_top = `${height * 4}px`; - break; - } - case 5: { // weapon_boots - css_top = `${height * 5}px`; - break; - } + document.body.classList.toggle('wh-move-btn'); + } + }; + break; + } + case Device.MOBILE: { + log(`开始调整按钮位置`); + // 加入css + let css_top = '0'; + let slot_height = '76px'; + // 判断有没有脚踢 + if (hasKick) { + // 根据选择的武器调整 + switch (getWhSettingObj()['quickAttIndex']) { + case 1: { // weapon_second + css_top = '76px'; + break; + } + case 2: { // weapon_melee + css_top = '152px'; + break; + } + case 3: { // weapon_temp + css_top = '228px'; + break; + } + case 4: { // weapon_fists + css_top = '304px'; + break; + } + case 5: { // weapon_boots + css_top = '380px'; + break; } } - const css_rule = ` + } else { + const slot = document.querySelector('#weapon_main'); + const height = slot.offsetHeight + 1; + slot_height = height; + // 根据选择的武器调整 + switch (getWhSettingObj().quickAttIndex) { + case 1: { // weapon_second + css_top = `${height}px`; + break; + } + case 2: { // weapon_melee + css_top = `${height * 2}px`; + break; + } + case 3: { // weapon_temp + css_top = `${height * 3}px`; + break; + } + case 4: { // weapon_fists + css_top = `${height * 4}px`; + break; + } + case 5: { // weapon_boots + css_top = `${height * 5}px`; + break; + } + } + } + const css_rule = ` .wh-move-btn #attacker div[class^="modal___"]{display: block;width: 0;top: ${css_top};left:0;height:0;} .wh-move-btn #attacker div[class^="dialog___"]{border:0;width:80px;height:${slot_height};} .wh-move-btn #attacker div[class^="colored___"]{display:block;padding:0;} .wh-move-btn #attacker div[class^="title___"]{height:0;} .wh-move-btn #attacker button{width:100%;margin:0;height:63px;white-space:normal;} `; - addStyle(css_rule); - document.body.classList.toggle('wh-move-btn'); - btn.onclick = () => { - if (getWhSettingObj().quickFinishAtt !== 3) { - btn.remove(); - // 停止自动刷新 - stop_reload = true; - } else { - document.body.classList.toggle('wh-move-btn'); - } - }; - break; - } - case Device.TABLET: { - break; - } + addStyle(css_rule); + document.body.classList.toggle('wh-move-btn'); + btn.onclick = () => { + if (getWhSettingObj().quickFinishAtt !== 3) { + btn.remove(); + // 停止自动刷新 + stop_reload = true; + } else { + document.body.classList.toggle('wh-move-btn'); + } + }; + break; } - // 自动开打 - if (getWhSettingObj().autoStartFinish === true) { - if (btn.innerText.includes('(')) { - let interval_id = window.setInterval(() => { - if (!btn) { - clearInterval(interval_id); - return; - } - try { - btn.click(); - } catch { - } - }, 100); - } else { - btn.click(); - } + case Device.TABLET: { + break; } - }); + } + // 自动开打 + if (getWhSettingObj()['autoStartFinish'] === true) { + if (btn.innerText.includes('(')) { + let interval_id = window.setInterval(() => { + if (!btn) { + clearInterval(interval_id); + return; + } + try { + btn.click(); + } catch { + } + }, 100); + } else { + btn.click(); + } + } + // }); // const CUR_DISABLED = true; // if (!CUR_DISABLED) { // const original_fetch = window.fetch; @@ -5028,44 +5066,6 @@ display:none; } else { document.body.classList.remove('wh-move-btn'); } - // 自刷新 - let audio_played_flag; - if (attReload !== 6 && stop_reload !== true) { - const selector_device_map = { - 'pc': '#defender div[class^="modal___"]', - 'mobile': '#attacker div[class^="modal___"]', - 'tablet': '', - }; - const selector = selector_device_map[device]; - elementReady(selector).then(elem => { - if (!elem.querySelector('button')) { - if (getWhSettingObj().attReload === 0 && stop_reload !== true) { - window.location.reload(); - } else { - let reload_flag; - const timeout = getWhSettingObj().attReload * 1000 + getRandomInt(-500, 500); - log(`[WH] ${timeout / 1000}s 后自动刷新`); - window.setInterval(() => { - if (reload_flag === undefined) { - reload_flag = true; - } else if (stop_reload !== true) { - window.location.reload(); - } - }, timeout); - } - } else if (audio_played_flag === undefined) { - audio_played_flag = true; - let play_time = 0; - const audio_play_id = window.setInterval(() => { - const $audio = document.createElement('audio'); - $audio.src = 'https://www.torn.com/js/chat/sounds/Warble_1.mp3'; - $audio.play().then(); - play_time++; - if (play_time === 3) clearInterval(audio_play_id); - }, 600); - } - }); - } return; }