// ==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 https://update.greasyfork.icu/scripts/2898/Mousehunt%20AutoHorn.user.js
// @updateURL https://update.greasyfork.icu/scripts/2898/Mousehunt%20AutoHorn.meta.js
// ==/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('
Trap Setup' +
'- Jungle of Dread' + generateTrapSetupCombo('Jungle') + '
' +
'- High Tide' + generateTrapSetupCombo('high') + '
' +
'- Mid Tide' + generateTrapSetupCombo('mid') + '
' +
'- Low Tide' + generateTrapSetupCombo('low') + '
' +
'
');
$('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('Trap Setup' +
'- Physical' + generateTrapSetupCombo('Physical') + '
' +
'- Cavalry' + generateTrapSetupCombo('Tactical') + '
' +
'- Mage' + generateTrapSetupCombo('Hydro') + '
' +
'- Artillery' + generateTrapSetupCombo('Arcane') + '
' +
'- Commander' + generateTrapSetupCombo('General') + '
' +
'- Gargantua' + generateTrapSetupCombo('Gargantua') + '
' +
'- Theurgy Warden' + generateTrapSetupCombo('Warden') + '
' +
'- Warmonger' + generateTrapSetupCombo('Warmonger') + '
' +
'
');
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('Trap Setup' +
'- Slushy Shoreline' + generateTrapSetupCombo('Slushy') + '
' +
'- Treacherous Tunnels' + generateTrapSetupCombo('Phase1') + '
' +
'- Brutal Bulwark' + generateTrapSetupCombo('Phase2') + '
' +
'- Bombing Run' + generateTrapSetupCombo('Phase3') + '
' +
'- The Mad Depths' + generateTrapSetupCombo('Phase4') + '
' +
'- Icewing\'s Lair' + generateTrapSetupCombo('Phase5') + '
' +
'- Generals' + generateTrapSetupCombo('General') + '
' +
'
');
$('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('
Defined Trap Setup');
$('div#AutoHorn').append('- Balack\'s Cove
');
$('div#AutoHorn a[href="#balack"]').click(function(e){
e.preventDefault();
showBalackPage();
});
$('div#AutoHorn').append('- Seasonal Garden - Zugzwang
');
$('div#AutoHorn a[href="#zugzwang"]').click(function(e){
e.preventDefault();
showZugzwangPage();
});
$('div#AutoHorn').append('- Slushy - Iceberg
');
$('div#AutoHorn a[href="#iceberg"]').click(function(e){
e.preventDefault();
showIcebergPage();
});
$('div#AutoHorn').append('- Fiery Warpath
');
$('div#AutoHorn a[href="#warpath"]').click(function(e){
e.preventDefault();
showWarpathPage();
});
$('div#AutoHorn').append('
');
$('div#hgAppContainer').append('');
$('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();
});