// ==UserScript== // @name Mousehunt AutoHorn // @namespace http://userscripts.org/scripts/show/74721 // @description Longtail AutoHorn // @version 4.2.1 // @include http://*.mousehuntgame.com/* // @include https://*.mousehuntgame.com/* // @exclude http://*.mousehuntgame.com/images/* // @exclude https://*.mousehuntgame.com/images/* // @grant GM_getValue // @grant GM_setValue // @require http://code.jquery.com/jquery.min.js // @author are // @downloadURL none // ==/UserScript== /* Global Variables */ var defaultpage = 'http://www.mousehuntgame.com'; var hornpage = 'http://www.mousehuntgame.com/turn.php'; var origtitle = document.title; var timerEvent; var timerTitle; var timerTrapCheck; var waktuTrapCheck; var waktuNextHorn; var waktuRandom; var waktuTitle; var waktuTournament; var msgTitle = 'Sound The Horn'; var alertShown = false; var hornAllowed = false; var currentTrap = {weapon:0, base:0, trinket:0, bait:0, cached:false, busy:false, effmeter:null}; var trapConfig = {TrapCheck:{enable:false,min:0,sec:5},SeasonalGarden:{autoTravel:false,'wr':{weapon:-1,base:-1,trinket:-1,bait:-1},'sg':{weapon:-1,base:-1,trinket:-1,bait:-1},'sr':{weapon:-1,base:-1,trinket:-1,bait:-1},'fl':{weapon:-1,base:-1,trinket:-1,bait:-1}},ZugzwangTower:{enabled:0,target:0,pawn:{weapon:-1,base:-1,trinket:-1,bait:-1},knight:{weapon:-1,base:-1,trinket:-1,bait:-1},bishop:{weapon:-1,base:-1,trinket:-1,bait:-1},rook:{weapon:-1,base:-1,trinket:-1,bait:-1},queen:{weapon:-1,base:-1,trinket:-1,bait:-1},king:{weapon:-1,base:-1,trinket:-1,bait:-1},chessmaster:{weapon:-1,base:-1,trinket:-1,bait:-1},minAmplifier:0},Iceberg:{enabled:0,altGeneralEnable:0,slushy_shoreline:{weapon:-1,base:-1,trinket:-1,bait:-1},phase1:{weapon:-1,base:-1,trinket:-1,bait:-1},phase2:{weapon:-1,base:-1,trinket:-1,bait:-1},phase3:{weapon:-1,base:-1,trinket:-1,bait:-1},phase4:{weapon:-1,base:-1,trinket:-1,bait:-1},phase5:{weapon:-1,base:-1,trinket:-1,bait:-1},generals:{weapon:-1,base:-1,trinket:-1,bait:-1},altgenerals:{weapon:-1,base:-1,trinket:-1,bait:-1}},BalackCove:{enabled:0,travel:0,jod:{weapon:-1,base:-1,trinket:-1,bait:98},low:{weapon:38,base:-1,trinket:-1,bait:119},mid:{weapon:38,base:-1,trinket:-1,bait:119},high:{weapon:38,base:-1,trinket:-1,bait:118}},FieryWarpath:{enabled:0,general:{weapon:-1,base:-1,trinket:-1,bait:-1},physical:{weapon:-1,base:-1,trinket:-1,bait:-1},tactical:{weapon:-1,base:-1,trinket:-1,bait:-1},hydro:{weapon:-1,base:-1,trinket:-1,bait:-1},arcane:{weapon:-1,base:-1,trinket:-1,bait:-1},gargantua:{weapon:-1,base:-1,trinket:-1,bait:-1},warden:{weapon:-1,base:-1,trinket:-1,bait:-1},warmonger:{weapon:-1,base:-1,trinket:-1,bait:-1},wave1:{superBrie:0,maxStreak:9,superCharm:0,gargantua:true,minGeneral:99,targetPhysical:true,charmNonPhysical:false,openSelection:true},wave2:{superBrie:0,maxStreak:9,superCharm:0,gargantua:true,minGeneral:99,targetPhysical:true,charmNonPhysical:true,targetNonPhysical:false,allowNonPhysical:false},wave3:{superBrie:0,maxStreak:9,superCharm:0,gargantua:true,minGeneral:99,targetPhysical:true,charmNonPhysical:true,targetNonPhysical:false,allowNonPhysical:false}}}; var availableTraps = {}; var AUDIO = { reward: 'data:audio/mid;base64,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' } /* Begin script function list */ function tulisWaktu(){ if (timerTitle) clearTimeout(timerTitle); var sekarang = new Date(); if (loadParam('updateWindowTitle', true) && waktuTitle) { if ($('div#mobileHorn').length > 0) { if (sekarang >= waktuNextHorn) document.title = msgTitle + ' | ' + origtitle; else document.title = msgWaktu(sekarang, waktuNextHorn) + ' | ' + origtitle; } else { if (sekarang >= waktuTitle) document.title = msgTitle + ' | ' + origtitle; else document.title = msgWaktu(sekarang, waktuTitle) + ' | ' + origtitle; } } if (waktuNextHorn && sekarang <= waktuNextHorn) $('div#AutoHorn li span[name="hornTime"]').html(msgWaktu(sekarang, waktuNextHorn)); else $('div#AutoHorn li span[name="hornTime"]').html("00:00"); if (waktuRandom && sekarang <= waktuRandom) $('div#AutoHorn li span[name="randomTime"]').html(msgWaktu(sekarang, waktuRandom)); if (waktuTournament && sekarang < waktuTournament && $('div#tournamentStatusHud div.timer').length > 0){ var tmp = msgWaktu(sekarang, waktuTournament, 1); try { if (unsafeWindow.user.viewing_atts.tournament.status == 'pending') tmp = 'Starts in: ' + tmp; else if (unsafeWindow.user.viewing_atts.tournament.status == 'active') tmp = tmp + ' remaining'; } catch (err) { } $('div#tournamentStatusHud div.timer').html(tmp); } if (waktuTrapCheck && sekarang <= waktuTrapCheck) $('div#AutoHorn li span[name="trapCheckTime"]').html(msgWaktu(sekarang, waktuTrapCheck)); else $('div#AutoHorn li span[name="trapCheckTime"]').html("00:00"); timerTitle = setTimeout(function() { tulisWaktu(); } , 1000); } function openLink(link){ if ($('a[href="' + link + '"]').length > 0) $('a[href="' + link + '"]').first().click(); window.location.href = link; } function msgWaktu(awal, akhir, panjang){ panjang = typeof panjang != "undefined" ? panjang : false; var detik = Math.round((akhir - awal) / 1000); var jam = Math.floor(detik / 3600); var menit = Math.floor(detik / 60); if (jam == 0) jam = null; menit = menit % 60; if (menit < 10) menit = '0' + menit; detik = detik % 60; if (detik < 10) detik = '0' + detik; if (jam) return (panjang ? jam + ' hrs ' + menit + ' mins ' + detik + ' secs' : jam + ':' + menit + ':' + detik); else return (panjang ? menit + ' mins ' + detik + ' secs' : menit + ':' + detik); } function soundAlarm(){ var alarm = document.getElementById('alarm'); if (!alarm) { alarm = document.createElement("span"); alarm.id = 'alarm'; $('body').append(alarm); } alarm.innerHTML = ''; } function calculateRandomPage(){ if (typeof unsafeWindow.user == 'undefined') { setTimeout(function() { calculateRandomPage(); }, 1000); return; } var mintime = loadParam('minRandomPage', 10) * 60000; var maxtime = loadParam('maxRandomPage', 20) * 60000; var timeoutvalue = Math.random() * (maxtime - mintime) + mintime; setTimeout(function() { randomLinks(); }, timeoutvalue); waktuRandom = new Date(new Date().getTime() + timeoutvalue); } function calculateTrapCheck(){ if (timerTrapCheck) clearTimeout(timerTrapCheck); var sekarang = new Date(); var checkTime = new Date(); checkTime.setMinutes(trapConfig.TrapCheck.min, trapConfig.TrapCheck.sec, 0); if (checkTime < sekarang) checkTime.setTime(checkTime.getTime() + 3600000); timerTrapCheck = setTimeout(function() { if (trapConfig.TrapCheck.enable) { if (currentTrap.bait > 0) randomLinks(); else openLink('http://www.mousehuntgame.com/index.php'); } else calculateTrapCheck(); }, checkTime.getTime() - sekarang.getTime()); waktuTrapCheck = checkTime; } function randomLinks(){ if ($('div#mobileHorn').length > 0) { openLink(defaultpage); return; } var daftar = new Array(); daftar.push('http://www.mousehuntgame.com/journal.php'); daftar.push('http://www.mousehuntgame.com/profile.php'); $('a[href*="www.mousehuntgame.com/inventory.php"]').add('a[href*="www.mousehuntgame.com/shops.php"]').add('a[href*="www.mousehuntgame.com/adversaries.php?"]').add('a[href*="www.mousehuntgame.com/item.php"]').add('a[href*="www.mousehuntgame.com/journal.php"]').add('a[href*="www.mousehuntgame.com/profile.php"]').add('a[href*="www.mousehuntgame.com/hunterprofile.php"]').add('a[href*="www.mousehuntgame.com/tournament.php"]').add('a[href*="www.mousehuntgame.com/tournamentlist.php"]').not('a[href*="&"]').not('a[href*="#"]').each(function(i){ var link = $(this).attr('href'); var sudahada = false; for (var x = 0; x < daftar.length; x++) if (daftar[x] == link) { sudahada = true; break; } if (!sudahada) daftar.push(link); }); if (daftar.length > 0){ var x = Math.floor(Math.random() * daftar.length); openLink(daftar[x]); } } function warpathGetTrinket(subgroup, useSuper){ if (typeof subgroup == 'undefined') return 0; if (typeof useSuper == 'undefined') useSuper = false; if (subgroup == 'Warrior') { if (useSuper && getComponentQuantity(544) > 0) return 544; else if (getComponentQuantity(539) > 0) return 539; } else if (subgroup == 'Scout') { if (useSuper && getComponentQuantity(543) > 0) return 543; else if (getComponentQuantity(538) > 0) return 538; } else if (subgroup == 'Archer') { if (useSuper && getComponentQuantity(540) > 0) return 540; else if (getComponentQuantity(534) > 0) return 534; } else if (subgroup == 'Cavalry') { if (useSuper && getComponentQuantity(541) > 0) return 541; else if (getComponentQuantity(535) > 0) return 535; } else if (subgroup == 'Mage') { if (useSuper && getComponentQuantity(542) > 0) return 542; else if (getComponentQuantity(537) > 0) return 537; } else if (subgroup == 'Commander') { if (useSuper && getComponentQuantity(615) > 0) return 615; else if (getComponentQuantity(536) > 0) return 536; } return 0; } function warpathGetNumRetreat(){ var streak = parseInt(unsafeWindow.user.viewing_atts.desert_warpath.streak.quantity); if (streak < 1) streak = 1; var pop = unsafeWindow.user.viewing_atts.desert_warpath.wave_population; var hasil = 0; for (var nama in pop){ hasil += (parseInt(pop[nama].population) > streak ? streak : parseInt(pop[nama].population)); } return hasil; } function warpathGetPhysical(isMax, isReverse, trywithtrinket){ var pop = unsafeWindow.user.viewing_atts.desert_warpath.wave_population; var hasil; if (typeof trywithtrinket=='undefined') trywithtrinket = true; // try with trinket if (trywithtrinket) for (var nama in pop){ if (parseInt(pop[nama].population) < 1 || warpathGetTrinket(pop[nama].subgroup, true) < 1) continue; if (!hasil || ((isReverse ^ (pop[nama].weakness.name == 'Physical')) && (!isMax ^ (parseInt(pop[nama].population) > parseInt(pop[hasil].population))))) hasil = nama; } // try without trinket if (!hasil) for (var nama in pop){ if (parseInt(pop[nama].population) < 1) continue; if (!hasil || ((isReverse ^ (pop[nama].weakness.name == 'Physical')) && (!isMax ^ (parseInt(pop[nama].population) > parseInt(pop[hasil].population))) && pop[nama].subgroup != 'Artillery')) hasil = nama; } return hasil; } function warpathGetGroupLeft(){ var pop = unsafeWindow.user.viewing_atts.desert_warpath.wave_population; var hasil = 0; for (var nama in pop){ if (parseInt(pop[nama].population) > 0) hasil++; } return hasil; } function checkLocation(){ if (unsafeWindow.user.environment_id == 31 && trapConfig.ZugzwangTower.enabled) { // seasonal_garden if (trapConfig.SeasonalGarden.autoTravel && unsafeWindow.user.viewing_atts.zzt_amplifier >= unsafeWindow.user.viewing_atts.zzt_max_amplifier) return travelTo('seasonal_garden', 'zugzwang_tower'); else return changeTrap(trapConfig.SeasonalGarden[unsafeWindow.user.viewing_atts.season]); } else if (unsafeWindow.user.environment_id == 14 && trapConfig.BalackCove.enabled) { // jungle_of_dread if (trapConfig.BalackCove.travel && (getComponentQuantity(119) > 0 || getComponentQuantity(118) > 0)) return travelTo('jungle_of_dread', 'balacks_cove'); else return changeTrap(trapConfig.BalackCove.jod); } else if (unsafeWindow.user.environment_id == 2 && trapConfig.BalackCove.enabled) { // balacks_cove var desired = {base:-1,weapon:-1,trinket:-1,bait:-1}; if (unsafeWindow.user.viewing_atts.tide == 'high') desired = trapConfig.BalackCove.high; else if (unsafeWindow.user.viewing_atts.tide == 'low') desired = trapConfig.BalackCove.low; else desired = trapConfig.BalackCove.mid; if (desired.bait > 0 && getComponentQuantity(desired.bait) < 1){ if (desired.bait == 119 && getComponentQuantity(118) > 0) desired.bait = 118; else if (desired.bait == 118 && getComponentQuantity(119) > 0) desired.bait = 119; else return travelTo('balacks_cove', 'jungle_of_dread'); } return changeTrap(desired); } else if (unsafeWindow.user.environment_id == 32 && trapConfig.ZugzwangTower.enabled) { // zugzwang_tower var zzt_mage_progress = unsafeWindow.user.viewing_atts.zzt_mage_progress; var zzt_tech_progress = unsafeWindow.user.viewing_atts.zzt_tech_progress; var zzt_progress = Math.max(zzt_mage_progress, zzt_tech_progress); if (trapConfig.ZugzwangTower.target == 1) zzt_progress = zzt_tech_progress; else if (trapConfig.ZugzwangTower.target == 2) zzt_progress = zzt_mage_progress; else if (trapConfig.ZugzwangTower.target == 3 && zzt_progress >= 16) zzt_progress = Math.min(zzt_mage_progress, zzt_tech_progress); var desired; if (zzt_progress < 8) desired = jQuery.extend(true, {}, trapConfig.ZugzwangTower.pawn); else if (zzt_progress < 10) desired = jQuery.extend(true, {}, trapConfig.ZugzwangTower.knight); else if (zzt_progress < 12) desired = jQuery.extend(true, {}, trapConfig.ZugzwangTower.bishop); else if (zzt_progress < 14) desired = jQuery.extend(true, {}, trapConfig.ZugzwangTower.rook); else if (zzt_progress < 15) desired = jQuery.extend(true, {}, trapConfig.ZugzwangTower.queen); else if (zzt_progress < 16) desired = jQuery.extend(true, {}, trapConfig.ZugzwangTower.king); else desired = jQuery.extend(true, {}, trapConfig.ZugzwangTower.chessmaster); if (waktuTournament && unsafeWindow.user.viewing_atts.tournament.status == 'active' && waktuTrapCheck < waktuTitle && zzt_progress > 7) // jika mau trap check, lepas bait desired.bait = 0; if (trapConfig.ZugzwangTower.target == 3 && (desired.weapon == 354 || desired.weapon == 356) && zzt_mage_progress != zzt_tech_progress){ if (zzt_mage_progress == zzt_progress && getComponentQuantity(354) > 0) desired.weapon = 354; if (zzt_tech_progress == zzt_progress && getComponentQuantity(356) > 0) desired.weapon = 356; } else if (trapConfig.ZugzwangTower.target == 3 && (desired.weapon == 369 || desired.weapon == 370) && zzt_mage_progress != zzt_tech_progress){ if (zzt_mage_progress == zzt_progress && getComponentQuantity(369) > 0) desired.weapon = 369; if (zzt_tech_progress == zzt_progress && getComponentQuantity(370) > 0) desired.weapon = 370; } if (desired.bait == 371 && Math.max(zzt_mage_progress, zzt_tech_progress) >= 16 && getComponentQuantity(678) > 0) desired.trinket = 678; if (desired) return changeTrap(desired); } else if (unsafeWindow.user.environment_id == 33 && trapConfig.FieryWarpath.enabled) { // desert_warpath var wave = parseInt(unsafeWindow.user.viewing_atts.desert_warpath.wave); var pop = unsafeWindow.user.viewing_atts.desert_warpath.wave_population; var waveConf = trapConfig.FieryWarpath['wave' + wave]; var sumPhysical = 0; if (wave < 4) for (var nama in pop){ if (pop[nama].weakness.name == 'Physical') sumPhysical += parseInt(pop[nama].population); } $('div#hudLocationContent div[class^="opponent "][class$=" active"] img').css("border","none"); if (wave == 4){ var jum = 0; for (var boss in pop) if (parseInt(pop[boss].population) > 0) jum++; if (jum > 1) return changeTrap(trapConfig.FieryWarpath.warden); else return changeTrap(trapConfig.FieryWarpath.warmonger); } var streak = unsafeWindow.user.viewing_atts.desert_warpath.streak; var numStreak = parseInt(streak.quantity); var target; var jendral = unsafeWindow.user.viewing_atts.desert_warpath.common_population.desert_general; var weakness = 'Physical'; if (!target) { if (jendral.status == 'active' && warpathGetTrinket('Commander', true) > 0 && warpathGetNumRetreat() >= waveConf.minGeneral){ target = 'desert_general'; } else if (numStreak > 0){ weakness = pop[streak.mouse_type].weakness.name; if (numStreak < waveConf.maxStreak && parseInt(pop[streak.mouse_type].population) > 0){ if ((weakness == 'Physical' || sumPhysical < 1 || (waveConf.allowNonPhysical && warpathGetTrinket(pop[streak.mouse_type].subgroup, true) > 0)) && weakness != 'Arcane') target = streak.mouse_type; } else if (waveConf.gargantua && numStreak > 6) target = 'Gargantua'; } if (!target){ if (sumPhysical > 0) { if (waveConf.targetPhysical) target = warpathGetPhysical(true, false); else target = warpathGetPhysical(false, false); } else { if (waveConf.targetNonPhysical) target = warpathGetPhysical(true, true, waveConf.charmNonPhysical); else target = warpathGetPhysical(false, true, waveConf.charmNonPhysical); } } } if (target=='Gargantua') { return changeTrap(jQuery.extend(true, {}, trapConfig.FieryWarpath.gargantua)); } $('div#hudLocationContent div[class="opponent ' + target + ' active"] img').first().css("border","2px solid red"); if (target=='desert_general') { var dt = jQuery.extend(true, {}, trapConfig.FieryWarpath.general); var x = warpathGetTrinket('Commander', true); if (x > 0) dt.trinket = x; return changeTrap(dt); } else { var dt = {weapon:-1, base:-1, trinket:-1, bait:-1}; weakness = pop[target].weakness.name; var subgroup = pop[target].subgroup; if (weakness == 'Physical') dt = jQuery.extend(true, {}, trapConfig.FieryWarpath.physical); else if (weakness == 'Tactical') dt = jQuery.extend(true, {}, trapConfig.FieryWarpath.tactical); else if (weakness == 'Hydro') dt = jQuery.extend(true, {}, trapConfig.FieryWarpath.hydro); else if (weakness == 'Arcane') dt = jQuery.extend(true, {}, trapConfig.FieryWarpath.arcane); if (warpathGetGroupLeft() > 1) { var tr = 0; if (wave == 1 && numStreak < 1 && waveConf.openSelection){ } else if (wave > 1 && weakness != 'Physical' && !waveConf.charmNonPhysical) { } else if (Math.pow(2,numStreak) & waveConf.superCharm) tr = warpathGetTrinket(subgroup, true); else tr = warpathGetTrinket(subgroup, false); if (tr > 0) dt.trinket = tr; } if ((Math.pow(2,numStreak) & waveConf.superBrie) && getComponentQuantity(114) > 0) dt.bait = 114; return changeTrap(dt); } } else if (unsafeWindow.user.environment_id == 39 && trapConfig.Iceberg.enabled) { // slushy_shoreline return changeTrap(trapConfig.Iceberg.slushy_shoreline); } else if (unsafeWindow.user.environment_id == 40 && trapConfig.Iceberg.enabled) { // iceberg var nextGeneral = 0; for (var x = 1; x <= 4 ; x++) { nextGeneral += unsafeWindow.user.quests.QuestIceberg.phases[x].length; if (unsafeWindow.user.quests.QuestIceberg.user_progress < nextGeneral) { switch (x) { case 1 : return changeTrap(trapConfig.Iceberg.phase1); case 2 : return changeTrap(trapConfig.Iceberg.phase2); case 3 : return changeTrap(trapConfig.Iceberg.phase3); case 4 : return changeTrap(trapConfig.Iceberg.phase4); } } else if (unsafeWindow.user.quests.QuestIceberg.user_progress == nextGeneral) { var dt = trapConfig.Iceberg.generals; if (trapConfig.Iceberg.altGeneralEnable) { if (!currentTrap.effmeter) { ajaxRequestEffMeter(); return false; } else { dt = trapConfig.Iceberg.altgenerals; var count = 0; var mice; for (var d in currentTrap.effmeter){ var diff = currentTrap.effmeter[d].mice; for (var m in diff) { count ++; mice = diff[m]; if (count > 1) break; } if (count > 1) break; } if (count == 1 && mice.name==trapConfig.Iceberg.altGeneralEnable) dt = trapConfig.Iceberg.generals; } } return changeTrap(dt); } } return changeTrap(trapConfig.Iceberg.phase5); } return true; } function changeTrap(desired){ var salah; if (desired.weapon > 0 && desired.weapon != currentTrap.weapon && getComponentQuantity(desired.weapon) > 0) salah = 'weapon'; else if (desired.base > 0 && desired.base != currentTrap.base && getComponentQuantity(desired.base) > 0) salah = 'base'; else if (desired.trinket > -1 && desired.trinket != currentTrap.trinket && getComponentQuantity(desired.trinket) > 0) salah = 'trinket'; else if (desired.bait > -1 && desired.bait != currentTrap.bait && getComponentQuantity(desired.bait) > 0) salah = 'bait'; if (salah) { if ($('div#mobileHorn').length > 0) { openLink('http://www.mousehuntgame.com/?switch_to=standard'); return false; } if (typeof unsafeWindow.userTrapSelector == "undefined") { openLink('http://www.mousehuntgame.com/index.php'); return false; } if (unsafeWindow.userTrapSelector.selectedComponentClass != salah) { if (salah === "weapon") { $('a#trapSelector-viewWeapon img').click(); } else if (salah === "base") { $('a#trapSelector-viewBase img').click(); } else if (salah === "trinket") { if ($('a#trapSelector-viewtrinket div.empty').length > 0) $('a#trapSelector-viewtrinket div.empty').click(); else $('a#trapSelector-viewtrinket img').click(); } else if (salah === "bait") { if ($('a#trapSelector-viewBait div.empty').length > 0) $('a#trapSelector-viewBait div.empty').click(); else $('a#trapSelector-viewBait img').click(); } } if (unsafeWindow.userTrapSelector.componentsCached == false) return false; var xDesired = desired[salah]; var xCurrent = currentTrap[salah]; if (xDesired == 0) { $('div[id="trapSelectorSelectedComponent"] div.content').click(); } else { var nama = getComponentName(xDesired); if (nama){ $('div[id="trapSelectorBrowser"] a[id="selectComponent-' + nama + '"] div.content').click(); } } return false; } return true; } function getComponentQuantity(itemid){ if (itemid == 0) return 1; for (var nama in availableTraps){ if (availableTraps[nama].item_id == itemid) { return availableTraps[nama].quantity; } } return 0; } function getComponentName(itemid){ if (typeof unsafeWindow.userTrapSelector == "undefined" || typeof unsafeWindow.userTrapSelector.availableComponents == "undefined") return null; for (var nama in unsafeWindow.userTrapSelector.availableComponents){ if (unsafeWindow.userTrapSelector.availableComponents[nama].item_id == itemid) { return unsafeWindow.userTrapSelector.availableComponents[nama].type; } } return null; } function travelTo(origin, destination) { if (origin === destination) return true; if ($('div#mobileHorn').length > 0) { openLink('http://www.mousehuntgame.com/?switch_to=standard'); return false; } if (destination === 'meadow') { openLink('http://www.mousehuntgame.com/travel.php?freeTravel=true?&uh=' + unsafeWindow.user.unique_hash); return false; } else { var ajax=new unsafeWindow.Ajax(); ajax.requireLogin=true; ajax.responseType=unsafeWindow.Ajax.JSON; ajax.ondone=function(resp){ if(resp.success){ try{ unsafeWindow.eventRegistry.doEvent('ajax_response',resp); unsafeWindow.eventRegistry.doEvent('travel_complete',{'old':origin,'new':destination}); } catch (err) { } try{ unsafeWindow.app.views.HeadsUpDisplayView.hud.render(resp.user); } catch (err) { } } } var params={"origin":origin,"destination":destination,'uh':unsafeWindow.user.unique_hash}; ajax.post(unsafeWindow.callbackurl+"managers/ajax/users/changeenvironment.php",params); return false; } } function soundTheHorn(){ if (typeof unsafeWindow.user == 'undefined' || unsafeWindow.user.has_puzzle || !hornAllowed) return; if ($('div#hornArea div.hornbutton').css('display')=='block') if (document.location.pathname == '/') document.location = hornpage; else $('div#hornArea div.hornbutton a').click(); else if ($('div#mobileHorn').css('display')=='block') openLink(hornpage); else randomLinks(); } function mulai(){ clearTimeout(timerEvent); if (typeof unsafeWindow.user == "undefined") { setTimeout(function() { mulai(); }, 1000); return; } var waktu; var isKR = true; var userid = 0; var bait_quantity = 0; try { if (typeof unsafeWindow.HuntersHorn != "undefined") waktu = unsafeWindow.HuntersHorn.getSecondsRemaining(); else waktu = parseInt(unsafeWindow.user.next_activeturn_seconds); isKR = unsafeWindow.user.has_puzzle; userid = parseInt(unsafeWindow.user.user_id); bait_quantity = parseInt(unsafeWindow.user.bait_quantity); } catch (err) { setTimeout(function() { mulai(); }, 1000); return; } if (isNaN(userid) || userid < 1) { setTimeout(function() { openLink(defaultpage); } , 60000); return; } if (waktu > 0) waktuTitle = new Date(new Date().getTime() + waktu * 1000); cleanupLink(); if ($('div#tournamentStatusHud div.timer').length > 0){ waktuTournament = new Date(new Date().getTime() + unsafeWindow.user.viewing_atts.tournament.seconds_remaining * 1000); } if (isKR==true) { if (!alertShown) { alertShown = true; if (loadParam('enableAlert', false)) soundAlarm(); else alert('King Reward'); } var timeoutvalue = Math.round(Math.random() * Math.abs((loadParam('maxKRWait', 180) - loadParam('minKRWait', 180)) * 60000)) + loadParam('minKRWait', 180) * 60000; timerEvent = setTimeout(function() { randomLinks(); } , timeoutvalue); waktuRandom = new Date(new Date().getTime() + timeoutvalue); waktuNextHorn = null; msgTitle = 'King Reward'; waktuTitle = new Date(); return; } currentTrap.weapon = unsafeWindow.user.weapon_item_id; currentTrap.base = unsafeWindow.user.base_item_id; currentTrap.trinket = (parseInt(unsafeWindow.user.trinket_item_id) > 0 ? parseInt(unsafeWindow.user.trinket_item_id) : 0); currentTrap.bait = (parseInt(unsafeWindow.user.bait_item_id) > 0 ? parseInt(unsafeWindow.user.bait_item_id) : 0); if (currentTrap.trinket == 0) { $('span#hud_trinketName a').html('None '); $('span#hud_trinketQuantity').html('0'); } else { $('span#hud_trinketName a').html(unsafeWindow.user.trinket_name + ' '); $('span#hud_trinketQuantity').html(unsafeWindow.user.trinket_quantity); } calculateTrapCheck(); $('span#hud_titlePercentage').html(unsafeWindow.user.title_percentage); hornAllowed = checkLocation(); if (bait_quantity < 1) hornAllowed = false; if (waktu == 0 && hornAllowed) { soundTheHorn(); return; } else if (waktu > 0){ msgTitle = 'Sound The Horn'; var timeoutvalue = waktu + Math.round(Math.random() * Math.abs(loadParam('maxHornDelay', 120) - loadParam('minHornDelay', 30))) + loadParam('minHornDelay', 30); waktuNextHorn = new Date(new Date().getTime() + timeoutvalue * 1000); timerEvent = setTimeout(function() { if (!hornAllowed) return; if ($('div#hornArea div.hornbutton').css('display') == 'block' || $('div#mobileHorn').css('display') == 'block') { soundTheHorn(); } else randomLinks(); }, timeoutvalue * 1000); } } function populateComboTrap(obj){ var list = []; for (var x in obj) list.push(obj[x]); list.sort(function(a, b){ return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); }); for (var nama in list){ var id = list[nama].item_id; var name = list[nama].name; var classification = list[nama].classification; if (classification === 'base') $('div#AutoHornWindow select[name^="cbo"][name$="Base"]').each(function(){ $(this).append(''); }); else if (classification === 'weapon') $('div#AutoHornWindow select[name^="cbo"][name$="Weapon"]').each(function(){ $(this).append(''); }); else if (classification === 'trinket') $('div#AutoHornWindow select[name^="cbo"][name$="Trinket"]').each(function(){ $(this).append(''); }); else if (classification === 'bait') $('div#AutoHornWindow select[name^="cbo"][name$="Bait"]').each(function(){ $(this).append(''); }); } } function setSelectionComboTrap(name, trap){ $('div#AutoHornWindow select[name="cbo' + name + 'Base"] option[value="' + trap.base + '"]').attr('selected', 'selected'); $('div#AutoHornWindow select[name="cbo' + name + 'Weapon"] option[value="' + trap.weapon + '"]').attr('selected', 'selected'); $('div#AutoHornWindow select[name="cbo' + name + 'Trinket"] option[value="' + trap.trinket + '"]').attr('selected', 'selected'); $('div#AutoHornWindow select[name="cbo' + name + 'Bait"] option[value="' + trap.bait + '"]').attr('selected', 'selected'); } function getSelectionComboTrap(name, trap){ trap.base = $('div#AutoHornWindow select[name="cbo' + name + 'Base"]').val(); trap.weapon = $('div#AutoHornWindow select[name="cbo' + name + 'Weapon"]').val(); trap.trinket = $('div#AutoHornWindow select[name="cbo' + name + 'Trinket"]').val(); trap.bait = $('div#AutoHornWindow select[name="cbo' + name + 'Bait"]').val(); } function generateTrapSetupCombo(mid){ return ' '; } function showBalackPage(){ $('div#AutoHornWindow a[href="#save"]').unbind('click'); $('div#AutoHornWindow a[href="#default"]').unbind('click'); $('div#AutoHornWindow div[name="top"]').html('Balack\'s Cove Configuration'); $('div#AutoHornWindow div[name="main"]').html('
'); $('div#AutoHornWindow div[name="main"]').css({'overflow-y':'auto', 'height':'350px'}); $('div#AutoHornWindow div[name="main"] ul').css({'list-style-type':'none','margin':'0px'}); $('div#AutoHornWindow div[name="main"] .groupTitle').css({'font-weight':'bold','font-size':'1.2em'}); $('div#AutoHornWindow div[name="main"] .paramDesc').css({'font-weight':'bold','float':'left','width':'150', 'padding-left':'20px'}); $('div#AutoHornWindow div[name="main"] select').css({'width':'300px'}); $('div#AutoHornWindow div[name="main"] input.short').css({'width':'20px'}); $('div#AutoHornWindow div[name="main"] br').css({'clear':'left'}); populateComboTrap(availableTraps); $('div#AutoHornWindow div[name="main"] select').css({'width':'100px'}); if (trapConfig.BalackCove.enabled) $('div#AutoHornWindow input[name="chkEnable"]').attr('checked', 'checked'); if (trapConfig.BalackCove.travel) $('div#AutoHornWindow input[name="chkTravel"]').attr('checked', 'checked'); setSelectionComboTrap('Jungle', trapConfig.BalackCove.jod); setSelectionComboTrap('high', trapConfig.BalackCove.high); setSelectionComboTrap('mid', trapConfig.BalackCove.mid); setSelectionComboTrap('low', trapConfig.BalackCove.low); $('div#AutoHornWindow a[href="#save"]').click(function(e){ e.preventDefault(); trapConfig.BalackCove.enabled = $('div#AutoHornWindow input[name="chkEnable"]:checked').length; trapConfig.BalackCove.travel = $('div#AutoHornWindow input[name="chkTravel"]:checked').length; getSelectionComboTrap('Jungle', trapConfig.BalackCove.jod); getSelectionComboTrap('high', trapConfig.BalackCove.high); getSelectionComboTrap('mid', trapConfig.BalackCove.mid); getSelectionComboTrap('low', trapConfig.BalackCove.low); var str = JSON.stringify(trapConfig); saveParam('trapConfig', str); $('div#AutoHornWindow').hide(); $('div#AutoHornMask').hide(); checkLocation(); }); $('div#AutoHornWindow a[href="#default"]').click(function(e){ e.preventDefault(); $('div#AutoHornWindow input[name="chkEnable"]').removeAttr('checked'); $('div#AutoHornWindow input[name="chkTravel"]').removeAttr('checked'); $('div#AutoHornWindow select[name^="cbo"] option').each(function(){ $(this).removeAttr('selected'); }); }); var winH = $(window).height(); var winW = $(window).width(); $('div#AutoHornWindow').css({'top':(winH - $('div#AutoHornWindow').height())/2, 'left':(winW - $('div#AutoHornWindow').width())/2}); $('div#AutoHornMask').css({'top':'0', 'left':'0', 'width':winW, 'height':winH}); $('div#AutoHornMask').fadeTo(0,0.8); $('div#AutoHornWindow').fadeIn(2000); } function showWarpathPage(){ $('div#AutoHornWindow a[href="#save"]').unbind('click'); $('div#AutoHornWindow a[href="#default"]').unbind('click'); $('div#AutoHornWindow div[name="top"]').html('Warpath Configuration'); $('div#AutoHornWindow div[name="main"]').html('
'); for (var i = 0; i < 13; i++){ $('div#AutoHornWindow div[name="main"] li[class$="-eachstreak"]').each(function(){ var kelas = $(this).attr('class'); kelas = kelas.substring(0,kelas.lastIndexOf('-')); var checked = trapConfig.FieryWarpath[kelas.substring(0,5)][kelas.substring(5)] & Math.pow(2,i); $(this).append('' + i + ' '); }); } $('div#AutoHornWindow div[name="main"]').css({'overflow-y':'auto', 'height':'350px'}); $('div#AutoHornWindow div[name="main"] ul').css({'list-style-type':'none','margin':'0px'}); $('div#AutoHornWindow div[name="main"] .groupTitle').css({'font-weight':'bold','font-size':'1.2em'}); $('div#AutoHornWindow div[name="main"] .paramDesc').css({'font-weight':'bold','float':'left','width':'150', 'padding-left':'20px'}); $('div#AutoHornWindow div[name="main"] select').css({'width':'300px'}); $('div#AutoHornWindow div[name="main"] input.short').css({'width':'20px'}); $('div#AutoHornWindow div[name="main"] br').css({'clear':'left'}); populateComboTrap(availableTraps); $('div#AutoHornWindow div[name="main"] select').css({'width':'100px'}); if (trapConfig.FieryWarpath.enabled) $('div#AutoHornWindow input[name="chkEnable"]').attr('checked', 'checked'); setSelectionComboTrap('Physical', trapConfig.FieryWarpath.physical); setSelectionComboTrap('Tactical', trapConfig.FieryWarpath.tactical); setSelectionComboTrap('Hydro', trapConfig.FieryWarpath.hydro); setSelectionComboTrap('Arcane', trapConfig.FieryWarpath.arcane); setSelectionComboTrap('General', trapConfig.FieryWarpath.general); setSelectionComboTrap('Gargantua', trapConfig.FieryWarpath.gargantua); setSelectionComboTrap('Warden', trapConfig.FieryWarpath.warden); setSelectionComboTrap('Warmonger', trapConfig.FieryWarpath.warmonger); $('div#AutoHornWindow div[name="main"] input[name^="wave"]').not('li[class$="-eachstreak"] input').each(function(){ var nilai = trapConfig.FieryWarpath[$(this).attr('name').substring(0,5)][$(this).attr('name').substring(5)]; if ($(this).attr('type') == "text") { $(this).val(nilai); } else if ($(this).attr('type') == "radio"){ if (new String(nilai) == $(this).val()) $(this).attr("checked","checked"); } }); $('div#AutoHornWindow a[href="#save"]').click(function(e){ e.preventDefault(); trapConfig.FieryWarpath.enabled = $('div#AutoHornWindow input[name="chkEnable"]:checked').length; getSelectionComboTrap('Physical', trapConfig.FieryWarpath.physical); getSelectionComboTrap('Tactical', trapConfig.FieryWarpath.tactical); getSelectionComboTrap('Hydro', trapConfig.FieryWarpath.hydro); getSelectionComboTrap('Arcane', trapConfig.FieryWarpath.arcane); getSelectionComboTrap('General', trapConfig.FieryWarpath.general); getSelectionComboTrap('Gargantua', trapConfig.FieryWarpath.gargantua); getSelectionComboTrap('Warden', trapConfig.FieryWarpath.warden); getSelectionComboTrap('Warmonger', trapConfig.FieryWarpath.warmonger); $('div#AutoHornWindow div[name="main"] input[name^="wave"]').not('li[class$="-eachstreak"] input').each(function(){ var nilai; if ($(this).attr('type') == "text") { nilai = (isNaN($(this).val()) ? $(this).val() : parseInt($(this).val())); trapConfig.FieryWarpath[$(this).attr('name').substring(0,5)][$(this).attr('name').substring(5)] = nilai; } else if ($(this).attr('type') == "radio" && $(this).attr('checked')){ if ($(this).val() == 'true') nilai = true; else if ($(this).val() == 'false') nilai = false; else nilai = $(this).val(); trapConfig.FieryWarpath[$(this).attr('name').substring(0,5)][$(this).attr('name').substring(5)] = nilai; } }); var tmp = {wave1:{superBrie:0,superCharm:0},wave2:{superBrie:0,superCharm:0},wave3:{superBrie:0,superCharm:0}}; $('div#AutoHornWindow div[name="main"] li[class$="-eachstreak"] input:checked').each(function(){ var nama = $(this).attr('name'); tmp[nama.substring(0,5)][nama.substring(5, nama.lastIndexOf('-'))] += Math.pow(2,parseInt(nama.substring(nama.lastIndexOf('-') + 1))); }); jQuery.extend(true, trapConfig.FieryWarpath, tmp); var str = JSON.stringify(trapConfig); saveParam('trapConfig', str); $('div#AutoHornWindow').hide(); $('div#AutoHornMask').hide(); checkLocation(); }); $('div#AutoHornWindow a[href="#default"]').click(function(e){ e.preventDefault(); $('div#AutoHornWindow input[name="chkEnable"]').removeAttr('checked'); $('div#AutoHornWindow select[name^="cbo"] option').each(function(){ $(this).removeAttr('selected'); }); var def = {wave1:{maxStreak:9,gargantua:true,minGeneral:99,targetPhysical:true,charmNonPhysical:false,openSelection:true},wave2:{maxStreak:9,gargantua:true,minGeneral:99,targetPhysical:true,charmNonPhysical:true,targetNonPhysical:false,allowNonPhysical:false},wave3:{maxStreak:9,gargantua:true,minGeneral:99,targetPhysical:true,charmNonPhysical:true,targetNonPhysical:false,allowNonPhysical:false}}; $('div#AutoHornWindow div[name="main"] input[name^="wave"]').not('li[class$="-eachstreak"] input').each(function(){ var nilai = def[$(this).attr('name').substring(0,5)][$(this).attr('name').substring(5)]; if ($(this).attr('type') == "text") { $(this).val(nilai); } else if ($(this).attr('type') == "radio"){ if (new String(nilai) == $(this).val()) $(this).attr("checked","checked"); } }); $('div#AutoHornWindow div[name="main"] li[class$="-eachstreak"] input').each(function(){ $(this).removeAttr('checked'); }); }); var winH = $(window).height(); var winW = $(window).width(); $('div#AutoHornWindow').css({'top':(winH - $('div#AutoHornWindow').height())/2, 'left':(winW - $('div#AutoHornWindow').width())/2}); $('div#AutoHornMask').css({'top':'0', 'left':'0', 'width':winW, 'height':winH}); $('div#AutoHornMask').fadeTo(0,0.8); $('div#AutoHornWindow').fadeIn(2000); } function showIcebergPage(){ $('div#AutoHornWindow a[href="#save"]').unbind('click'); $('div#AutoHornWindow a[href="#default"]').unbind('click'); $('div#AutoHornWindow div[name="top"]').html('Iceberg Configuration'); $('div#AutoHornWindow div[name="main"]').html('
'); $('div#AutoHornWindow div[name="main"]').css({'overflow-y':'auto', 'height':'350px'}); $('div#AutoHornWindow div[name="main"] ul').css({'list-style-type':'none','margin':'0px'}); $('div#AutoHornWindow div[name="main"] .groupTitle').css({'font-weight':'bold','font-size':'1.2em'}); $('div#AutoHornWindow div[name="main"] .paramDesc').css({'font-weight':'bold','float':'left','width':'150', 'padding-left':'20px'}); $('div#AutoHornWindow div[name="main"] select').css({'width':'300px'}); $('div#AutoHornWindow div[name="main"] br').css({'clear':'left'}); populateComboTrap(availableTraps); $('div#AutoHornWindow div[name="main"] select').css({'width':'100px'}); if (trapConfig.Iceberg.enabled) $('div#AutoHornWindow input[name="chkEnable"]').attr('checked', 'checked'); if (trapConfig.Iceberg.altGeneralEnable) { $('div#AutoHornWindow input[name="chkAltGeneral"]').attr('checked', 'checked'); $('div#AutoHornWindow select[name="cboAltGeneral"] option[value="' + trapConfig.Iceberg.altGeneralEnable + '"]').attr('selected', 'selected'); } setSelectionComboTrap('Slushy', trapConfig.Iceberg.slushy_shoreline); setSelectionComboTrap('Phase1', trapConfig.Iceberg.phase1); setSelectionComboTrap('Phase2', trapConfig.Iceberg.phase2); setSelectionComboTrap('Phase3', trapConfig.Iceberg.phase3); setSelectionComboTrap('Phase4', trapConfig.Iceberg.phase4); setSelectionComboTrap('Phase5', trapConfig.Iceberg.phase5); setSelectionComboTrap('General', trapConfig.Iceberg.generals); setSelectionComboTrap('AltGeneral', trapConfig.Iceberg.altgenerals); $('div#AutoHornWindow a[href="#save"]').click(function(e){ e.preventDefault(); trapConfig.Iceberg.enabled = $('div#AutoHornWindow input[name="chkEnable"]:checked').length; if ($('div#AutoHornWindow input[name="chkAltGeneral"]:checked').length > 0) trapConfig.Iceberg.altGeneralEnable = $('div#AutoHornWindow select[name="cboAltGeneral"]').val(); else trapConfig.Iceberg.altGeneralEnable = 0; getSelectionComboTrap('Slushy', trapConfig.Iceberg.slushy_shoreline); getSelectionComboTrap('Phase1', trapConfig.Iceberg.phase1); getSelectionComboTrap('Phase2', trapConfig.Iceberg.phase2); getSelectionComboTrap('Phase3', trapConfig.Iceberg.phase3); getSelectionComboTrap('Phase4', trapConfig.Iceberg.phase4); getSelectionComboTrap('Phase5', trapConfig.Iceberg.phase5); getSelectionComboTrap('General', trapConfig.Iceberg.generals); getSelectionComboTrap('AltGeneral', trapConfig.Iceberg.altgenerals); var str = JSON.stringify(trapConfig); saveParam('trapConfig', str); $('div#AutoHornWindow').hide(); $('div#AutoHornMask').hide(); checkLocation(); }); $('div#AutoHornWindow a[href="#default"]').click(function(e){ e.preventDefault(); $('div#AutoHornWindow input[name="chkEnable"]').removeAttr('checked'); $('div#AutoHornWindow input[name="chkAltGeneral"]').removeAttr('checked'); $('div#AutoHornWindow select[name^="cbo"] option').each(function(){ $(this).removeAttr('selected'); }); }); var winH = $(window).height(); var winW = $(window).width(); $('div#AutoHornWindow').css({'top':(winH - $('div#AutoHornWindow').height())/2, 'left':(winW - $('div#AutoHornWindow').width())/2}); $('div#AutoHornMask').css({'top':'0', 'left':'0', 'width':winW, 'height':winH}); $('div#AutoHornMask').fadeTo(0,0.8); $('div#AutoHornWindow').fadeIn(2000); } function showZugzwangPage(){ $('div#AutoHornWindow a[href="#save"]').unbind('click'); $('div#AutoHornWindow a[href="#default"]').unbind('click'); $('div#AutoHornWindow div[name="top"]').html('Zugzwang Configuration'); $('div#AutoHornWindow div[name="main"]').html('
'); $('div#AutoHornWindow div[name="main"]').css({'overflow-y':'auto', 'height':'350px'}); $('div#AutoHornWindow div[name="main"] ul').css({'list-style-type':'none','margin':'0px'}); $('div#AutoHornWindow div[name="main"] .groupTitle').css({'font-weight':'bold','font-size':'1.2em'}); $('div#AutoHornWindow div[name="main"] .paramDesc').css({'font-weight':'bold','float':'left','width':'150', 'padding-left':'20px'}); $('div#AutoHornWindow div[name="main"] select').css({'width':'300px'}); $('div#AutoHornWindow div[name="main"] br').css({'clear':'left'}); populateComboTrap(availableTraps); $('div#AutoHornWindow div[name="main"] select').css({'width':'100px'}); // set selected values if (trapConfig.ZugzwangTower.enabled) $('div#AutoHornWindow input[name="chkEnable"]').attr('checked', 'checked'); if (trapConfig.SeasonalGarden.autoTravel) $('div#AutoHornWindow input[name="autoTravel"][value="true"]').attr('checked', 'checked'); else $('div#AutoHornWindow input[name="autoTravel"][value="false"]').attr('checked', 'checked'); $('div#AutoHornWindow input[name="optTarget"][value="' + trapConfig.ZugzwangTower.target + '"]').attr('checked', 'checked'); setSelectionComboTrap('Winter', trapConfig.SeasonalGarden.wr); setSelectionComboTrap('Spring', trapConfig.SeasonalGarden.sg); setSelectionComboTrap('Summer', trapConfig.SeasonalGarden.sr); setSelectionComboTrap('Fall', trapConfig.SeasonalGarden.fl); setSelectionComboTrap('Pawn', trapConfig.ZugzwangTower.pawn); setSelectionComboTrap('Knight', trapConfig.ZugzwangTower.knight); setSelectionComboTrap('Bishop', trapConfig.ZugzwangTower.bishop); setSelectionComboTrap('Rook', trapConfig.ZugzwangTower.rook); setSelectionComboTrap('Queen', trapConfig.ZugzwangTower.queen); setSelectionComboTrap('King', trapConfig.ZugzwangTower.king); setSelectionComboTrap('Chessmaster', trapConfig.ZugzwangTower.chessmaster); $('div#AutoHornWindow a[href="#save"]').click(function(e){ e.preventDefault(); trapConfig.ZugzwangTower.enabled = $('div#AutoHornWindow input[name="chkEnable"]:checked').length; if ($('div#AutoHornWindow input[name="autoTravel"]:checked').val() == 'true') trapConfig.SeasonalGarden.autoTravel = true; else trapConfig.SeasonalGarden.autoTravel = false; trapConfig.ZugzwangTower.target = parseInt($('div#AutoHornWindow input[name="optTarget"]:checked').val()); getSelectionComboTrap('Winter', trapConfig.SeasonalGarden.wr); getSelectionComboTrap('Spring', trapConfig.SeasonalGarden.sg); getSelectionComboTrap('Summer', trapConfig.SeasonalGarden.sr); getSelectionComboTrap('Fall', trapConfig.SeasonalGarden.fl); getSelectionComboTrap('Pawn', trapConfig.ZugzwangTower.pawn); getSelectionComboTrap('Knight', trapConfig.ZugzwangTower.knight); getSelectionComboTrap('Bishop', trapConfig.ZugzwangTower.bishop); getSelectionComboTrap('Rook', trapConfig.ZugzwangTower.rook); getSelectionComboTrap('Queen', trapConfig.ZugzwangTower.queen); getSelectionComboTrap('King', trapConfig.ZugzwangTower.king); getSelectionComboTrap('Chessmaster', trapConfig.ZugzwangTower.chessmaster); var str = JSON.stringify(trapConfig); saveParam('trapConfig', str); $('div#AutoHornWindow').hide(); $('div#AutoHornMask').hide(); checkLocation(); }); $('div#AutoHornWindow a[href="#default"]').click(function(e){ e.preventDefault(); $('div#AutoHornWindow input[name="chkEnable"]').removeAttr('checked'); $('div#AutoHornWindow input[name="autoTravel"][value="false"]').attr('checked', 'checked'); $('div#AutoHornWindow input[name="optTarget"][value="0"]').attr('checked', 'checked'); $('div#AutoHornWindow select[name^="cbo"] option').each(function(){ $(this).removeAttr('selected'); }); }); var winH = $(window).height(); var winW = $(window).width(); $('div#AutoHornWindow').css({'top':(winH - $('div#AutoHornWindow').height())/2, 'left':(winW - $('div#AutoHornWindow').width())/2}); $('div#AutoHornMask').css({'top':'0', 'left':'0', 'width':winW, 'height':winH}); $('div#AutoHornMask').fadeTo(0,0.8); $('div#AutoHornWindow').fadeIn(2000); } function showConfigPage(){ $('div#AutoHornWindow a[href="#save"]').unbind('click'); $('div#AutoHornWindow a[href="#default"]').unbind('click'); $('div#AutoHornWindow div[name="top"]').html('AutoHorn Configuration'); $('div#AutoHornWindow div[name="main"]').html('
'); $('div#AutoHornWindow div[name="main"]').css({'overflow-y':'auto', 'height':'350px'}); $('div#AutoHornWindow div[name="main"] ul').css({'list-style-type':'none','margin':'0px'}); $('div#AutoHornWindow div[name="main"] .groupTitle').css({'font-weight':'bold','font-size':'1.2em'}); $('div#AutoHornWindow div[name="main"] .paramDesc').css({'font-weight':'bold','float':'left','width':'150', 'padding-left':'20px'}); $('div#AutoHornWindow div[name="main"] input.short').css({'width':'30px','text-align':'right'}); $('div#AutoHornWindow div[name="main"] input.long').css({'width':'150px'}); $('div#AutoHornWindow div[name="main"] br').css({'clear':'left'}); $('div#AutoHornWindow div[name="main"] input[name="txtMinHorn"]').val(loadParam('minHornDelay', 30)); $('div#AutoHornWindow div[name="main"] input[name="txtMaxHorn"]').val(loadParam('maxHornDelay', 120)); $('div#AutoHornWindow div[name="main"] input[name="txtMinKR"]').val(loadParam('minKRWait', 180)); $('div#AutoHornWindow div[name="main"] input[name="txtMaxKR"]').val(loadParam('maxKRWait', 210)); $('div#AutoHornWindow div[name="main"] input[name="txtMinRandom"]').val(loadParam('minRandomPage', 10)); $('div#AutoHornWindow div[name="main"] input[name="txtMaxRandom"]').val(loadParam('maxRandomPage', 20)); $('div#AutoHornWindow div[name="main"] input[name="txtTrapCheckMin"]').val(trapConfig.TrapCheck.min); $('div#AutoHornWindow div[name="main"] input[name="txtTrapCheckSec"]').val(trapConfig.TrapCheck.sec); $('div#AutoHornWindow div[name="main"] input[name="txtVolume"]').val(loadParam('alertVolume', 100)); if (loadParam('enableAlert', false)) $('div#AutoHornWindow div[name="main"] input[name="optAlert"][value="true"]').prop("checked", true); else $('div#AutoHornWindow div[name="main"] input[name="optAlert"][value="false"]').prop("checked", true); if (loadParam('updateWindowTitle', true)) $('div#AutoHornWindow div[name="main"] input[name="optWinTitle"][value="true"]').prop("checked", true); else $('div#AutoHornWindow div[name="main"] input[name="optWinTitle"][value="false"]').prop("checked", true); if (trapConfig.TrapCheck.enable) $('div#AutoHornWindow div[name="main"] input[name="optTrapCheck"][value="true"]').prop("checked", true); else $('div#AutoHornWindow div[name="main"] input[name="optTrapCheck"][value="false"]').prop("checked", true); $('div#AutoHornWindow div[name="main"] input[name="testSound"]').click(function(){ if ($(this).val() == 'Test'){ soundAlarm(); $(this).val('Stop'); } else { $('span#alarm').remove(); $(this).val('Test'); } }); $('div#AutoHornWindow a[href="#save"]').click(function(e){ e.preventDefault(); saveParam('minHornDelay', parseInt($('div#AutoHornWindow div[name="main"] input[name="txtMinHorn"]').val())); saveParam('maxHornDelay', parseInt($('div#AutoHornWindow div[name="main"] input[name="txtMaxHorn"]').val())); saveParam('minKRWait', parseInt($('div#AutoHornWindow div[name="main"] input[name="txtMinKR"]').val())); saveParam('maxKRWait', parseInt($('div#AutoHornWindow div[name="main"] input[name="txtMaxKR"]').val())); saveParam('alertVolume', parseInt($('div#AutoHornWindow div[name="main"] input[name="txtVolume"]').val())); saveParam('minRandomPage', parseInt($('div#AutoHornWindow div[name="main"] input[name="txtMinRandom"]').val())); saveParam('maxRandomPage', parseInt($('div#AutoHornWindow div[name="main"] input[name="txtMaxRandom"]').val())); saveParam('enableAlert', $('div#AutoHornWindow div[name="main"] input[name="optAlert"]:checked').val()=="true" ? true : false); saveParam('updateWindowTitle', $('div#AutoHornWindow div[name="main"] input[name="optWinTitle"]:checked').val()=="true" ? true : false); trapConfig.TrapCheck.enable = ($('div#AutoHornWindow div[name="main"] input[name="optTrapCheck"]:checked').val()=="true" ? true : false); trapConfig.TrapCheck.min = parseInt($('div#AutoHornWindow div[name="main"] input[name="txtTrapCheckMin"]').val()); trapConfig.TrapCheck.sec = parseInt($('div#AutoHornWindow div[name="main"] input[name="txtTrapCheckSec"]').val()); var str = JSON.stringify(trapConfig); saveParam('trapConfig', str); calculateTrapCheck(); $('div#AutoHornWindow').hide(); $('div#AutoHornMask').hide(); }); $('div#AutoHornWindow a[href="#default"]').click(function(e){ e.preventDefault(); $('div#AutoHornWindow div[name="main"] input[name="txtMinHorn"]').val(30); $('div#AutoHornWindow div[name="main"] input[name="txtMaxHorn"]').val(120); $('div#AutoHornWindow div[name="main"] input[name="txtMinKR"]').val(180); $('div#AutoHornWindow div[name="main"] input[name="txtMaxKR"]').val(210); $('div#AutoHornWindow div[name="main"] input[name="txtMinRandom"]').val(10); $('div#AutoHornWindow div[name="main"] input[name="txtMaxRandom"]').val(20); $('div#AutoHornWindow div[name="main"] input[name="txtTrapCheckMin"]').val(0); $('div#AutoHornWindow div[name="main"] input[name="txtTrapCheckSec"]').val(0); $('div#AutoHornWindow div[name="main"] input[name="txtVolume"]').val(100); $('div#AutoHornWindow div[name="main"] input[name="optAlert"][value="false"]').prop("checked", true); $('div#AutoHornWindow div[name="main"] input[name="optWinTitle"][value="true"]').prop("checked", true); $('div#AutoHornWindow div[name="main"] input[name="optTrapCheck"][value="false"]').prop("checked", true); }); var winH = $(window).height(); var winW = $(window).width(); $('div#AutoHornWindow').css({'top':(winH - $('div#AutoHornWindow').height())/2, 'left':(winW - $('div#AutoHornWindow').width())/2}); $('div#AutoHornMask').css({'top':'0', 'left':'0', 'width':winW, 'height':winH}); $('div#AutoHornMask').fadeTo(0,0.8); $('div#AutoHornWindow').fadeIn(2000); } function cleanupLink(){ $("a[href*='apps.facebook.com/mousehunt/profile.php']").add("a[href*='apps.facebook.com/mousehunt/adversaries.php?']").add("a[href*='apps.facebook.com/mousehunt/item.php']").add("a[href*='apps.facebook.com/mousehunt/inventory.php']").each(function(i){ var link = $(this).attr('href'); link = link.replace('apps.facebook.com/mousehunt/', 'www.mousehuntgame.com/'); $(this).attr('href', link); }); $("a[href^='https:\/\/www.mousehuntgame.com']").each(function() { var link = $(this).attr('href'); link = link.replace('https:\/\/', 'http://'); $(this).attr('href', link); }); $("img[src^='https:\/\/www.mousehuntgame.com\/images\/']").each(function() { var link = $(this).attr('src'); link = link.replace('https:\/\/', 'http://'); $(this).attr('src', link); }); } function saveParam(name, val){ if (typeof unsafeWindow.user == "undefined") return; GM_setValue(unsafeWindow.user.user_id + ':' + name, val); } function loadParam(name, def){ if (typeof unsafeWindow.user == "undefined" || typeof GM_getValue=="undefined") return def; return GM_getValue(unsafeWindow.user.user_id + ':' + name, def); } function updateAvailableTraps(newTrap){ var tmp = {}; for (var x in newTrap){ if (newTrap[x].is_hidden) continue; tmp[newTrap[x].type] = { item_id : newTrap[x].item_id, name : newTrap[x].name, classification : newTrap[x].classification, quantity : newTrap[x].quantity }; if (newTrap[x].power_type_name) tmp[newTrap[x].type].power_type_name = newTrap[x].power_type_name; } availableTraps = tmp; saveParam('availableTraps', JSON.stringify(availableTraps)); } function updateAvailableQuantity(newTrap){ var tmp = {}; for (var x in newTrap){ if (newTrap[x].classification != 'bait' && newTrap[x].classification != 'trinket' && newTrap[x].classification != 'weapon' && newTrap[x].classification != 'base') continue; if (newTrap[x].is_hidden) continue; tmp[newTrap[x].type] = { item_id : newTrap[x].item_id, name : newTrap[x].name, classification : newTrap[x].classification, quantity : newTrap[x].quantity }; if (newTrap[x].power_type_name) tmp[newTrap[x].type].power_type_name = newTrap[x].power_type_name; } jQuery.extend(true, availableTraps, tmp); saveParam('availableTraps', JSON.stringify(availableTraps)); } function ajaxRequestEffMeter(todo) { if (unsafeWindow.user.has_puzzle==true || currentTrap.busy) return; if (currentTrap.effmeter) { if (todo != undefined) todo(); return; } if (currentTrap.busy) setTimeout(ajaxRequestEffMeter(todo), 5000); currentTrap.busy = true; var ajax=new unsafeWindow.Ajax(); ajax.requireLogin=true; ajax.responseType=unsafeWindow.Ajax.JSON; ajax.ondone = function(resp){ currentTrap.busy = false; currentTrap.effmeter = resp.effectiveness; if (todo != undefined) todo(); } var params={'uh':unsafeWindow.user.unique_hash}; ajax.post(unsafeWindow.callbackurl+"managers/ajax/users/getmiceeffectiveness.php",params); } function ajaxRequestAvailableTraps(){ if (unsafeWindow.user.has_puzzle==true) return; var ajax=new unsafeWindow.Ajax(); ajax.requireLogin=true; ajax.responseType=unsafeWindow.Ajax.JSON; var params={'uh':unsafeWindow.user.unique_hash}; ajax.post(unsafeWindow.callbackurl+"managers/ajax/users/gettrapcomponents.php",params); } function loadInitialParameters(){ if (typeof unsafeWindow.user == "undefined") { setTimeout(function() { loadInitialParameters(); }, 500); return; } if (loadParam('trapConfig', null) == null) { saveParam('trapConfig', JSON.stringify(trapConfig)); } else { jQuery.extend(true, trapConfig, jQuery.parseJSON(loadParam('trapConfig', null))); } if (loadParam('availableTraps', null) == null) { ajaxRequestAvailableTraps(); } else { jQuery.extend(true, availableTraps, jQuery.parseJSON(loadParam('availableTraps', null))); } } function endsWith(str, suffix) { return str.indexOf(suffix, str.length - suffix.length) !== -1; } $(document).ready(function(){ cleanupLink(); if ($('a[href$="turn.php"]').length < 1 && $('div#mobilePuzzle').length < 1){ setTimeout(function() { document.location = defaultpage; } , 3*60*1000); return; } else { loadInitialParameters(); setTimeout(function() { mulai(); } , 1000); } if ($('div#header div.headsup div.hudstatlist').length > 2) { $('div#header div.headsup div.hudstatlist:last li:last').before('
  • Charm: None (0)
  • '); } $('div.hgSideBar').prepend('
    '); $('div#AutoHorn').append('

    '); $('div#hgAppContainer').append('
    Save | Restore Default | Close
    '); $('div#hgAppContainer').append('
    '); $('div#AutoHornWindow').css({'background-color':'#ffffff', 'position':'fixed', 'width':'600px', 'height':'400px', 'display':'none', 'z-index':'9999', 'padding':'20px'}); $('div#AutoHornMask').css({'background-color':'#000', 'position':'fixed', 'display':'none', 'z-index':'9998', 'padding':'0px'}); $(window).resize(function() { var winH = $(window).height(); var winW = $(window).width(); $('div#AutoHornWindow').css({'top':(winH - $('div#AutoHornWindow').height())/2, 'left':(winW - $('div#AutoHornWindow').width())/2}); $('div#AutoHornMask').css({'top':'0', 'left':'0', 'width':winW, 'height':winH}); }); $('div#AutoHornWindow div[name="top"]').css({'font-weight':'bold','font-size':'18','text-align':'center','padding-bottom':'10px'}); $('div#AutoHorn').css({'padding-bottom':'20px', 'margin-bottom':'20px', 'border-bottom':'2px solid black'}); $('div#AutoHorn br').css({'clear':'right'}); $('div#AutoHorn li span').css({'float':'right'}); $('div#AutoHorn a[href="#conf"]').click(function(e){ e.preventDefault(); showConfigPage(); }); $('div#AutoHornWindow a[href="#close"]').click(function(e){ e.preventDefault(); $('div#AutoHornWindow').hide(); $('div#AutoHornMask').hide(); }); unsafeWindow.$(document).ajaxSuccess(function(e, xhr, opt) { var obj = jQuery.parseJSON(xhr.responseText); if (obj.components) setTimeout(function() { updateAvailableTraps(obj.components); }, 1); else if (obj.inventory) setTimeout(function() { updateAvailableQuantity(obj.inventory); }, 1); if (obj.user.has_puzzle && !alertShown) { alertShown = true; setTimeout(function() { if (GM_getValue(obj.user.user_id + ':enableAlert', false)) soundAlarm(); else alert('King Reward'); }, 1); } if (endsWith(opt.url, 'activeturn.php')) { currentTrap.effmeter = null; } if (obj.user.user_id) { if (!obj.user.has_puzzle && alertShown) { $('span#alarm').remove(); alertShown = false; } setTimeout(function() { mulai(); }, 1000); } }); calculateRandomPage(); tulisWaktu(); });