找个懂脚本的玩家帮忙看看,这是 Monsterbation 1.4.1.1 版第 1093-1142 行的内容。
CODE
// main function triggered on new turn
function Observe() {
// check for battle end
if ( document.querySelector('img[src$="finishbattle.png"]') ) {
if ( cfg.alertColours ) {
document.getElementById(cfg.alertBackground ? 'csp' : 'pane_vitals').style.background = cfg.colours.default;
document.getElementById('pane_effects').style.background = cfg.colours.default;
document.getElementById('ckey_spirit').style.background = cfg.colours.default; }
ProcessLog();
FormatLog();
TrackDrops();
Profbar();
ShowDrops(true);
ShowUsage();
ShowDamage();
window.dispatchEvent(new CustomEvent("battleEnd", {"detail":{timelog,combatlog,droplog}}));
window.removeEventListener('beforeunload', StoreTmp);
var btcp, equip = document.querySelector('span[style$="#FF0000"]');
localStorage.removeItem('HVmonsterData' + isekai);
localStorage.removeItem('HVtimelog' + isekai);
localStorage.removeItem('HVvitals' + isekai);
localStorage.removeItem('HVcursor' + isekai);
if ( cfg.deleteDropLog == 2 ) {
localStorage.removeItem('HVtrackdrops' + isekai); }
else if ( cfg.trackDrops || cfg.trackProficiency || cfg.proficiencySidebar ) {
localStorage['HVtrackdrops' + isekai] = JSON.stringify(droplog); }
if ( cfg.deleteCombatLog == 2 ) {
localStorage.removeItem('HVcombatlog' + isekai); }
else if ( cfg.trackDamage || cfg.trackUsage ) {
localStorage['HVcombatlog' + isekai] = JSON.stringify(combatlog); }
document.getElementById('homosex').innerHTML += '.mbar, #cfgbutton { display: none !important; }';
if ( cfg.noPopup && (btcp = document.getElementById('btcp')) && !cfg.stopAtBattleEnd &&
(!cfg.stopOnEquipDrop || !equip) ) {
btcp.click();
document.querySelector('img[src$="finishbattle.png"]').click(); }
return; }
hovering = false;
Gems();
Alerts();
Durations();
Monsters();
Confirm();
ExtendQuickbar();
ProcessLog();
ShowCooldowns();
MaxVitals();
FormatLog();
TrackDrops();
Profbar();
NoPopup(); }
我今天测试的时候,发现这个新版的 Monsterbation 在我的 火狐 30.0 加 Greasemonkey 2.3.1 的环境下直接罢工,
在 Chrome 92.0.4515.107 加 Tampermonkey 4.13 版本下倒是能正常工作。
我看不懂脚本,所以只能最原始的办法排查,也就是把每一个部分的功能从上到下依次替换原来用的 Monsterbation ,结果发现问题出在上面的
// main function triggered on new turn
这个功能里,然后再进一步排查,发现出问题的是 1189-1190 行的
CODE
window.dispatchEvent(new CustomEvent("battleEnd", {"detail":{timelog,combatlog,droplog}}));
window.removeEventListener('beforeunload', StoreTmp);
这两句,删了这两句,这个脚本在我的旧火狐上就能运行了。所以,我想问问这两句有些什么作用。