enoughHealth: \" + enoughHealth + \"
enoughDamage: \" + enoughDamage +\"
shouldFarm: \" + shouldFarm +\"
H:D ratio = \" + HDratio + \"
\")');
+ if (game.global.universe == 1) {
+ newContainer.setAttribute("onmouseover", 'tooltip(\"Health to Damage ratio\", \"customText\", event, \"This status box displays the current mode Automaps is in. The number usually shown here during Farming or Want more Damage modes is the \'HDratio\' meaning EnemyHealth to YourDamage Ratio (in X stance). Above 16 will trigger farming, above 4 will trigger going for Map bonus up to 10 stacks.
enoughHealth: \" + enoughHealth + \"
enoughDamage: \" + enoughDamage +\"
shouldFarm: \" + shouldFarm +\"
H:D ratio = \" + calcHDratio() + \"
\")');
+ }
+ if (game.global.universe == 2) {
+ newContainer.setAttribute("onmouseover", 'tooltip(\"Health to Damage ratio\", \"customText\", event, \"This status box displays the current mode Automaps is in. The number usually shown here during Farming or Want more Damage modes is the \'HDratio\' meaning EnemyHealth to YourDamage Ratio (in X stance). Above 16 will trigger farming, above 4 will trigger going for Map bonus up to 10 stacks.
enoughHealth: \" + RenoughHealth + \"
enoughDamage: \" + RenoughDamage +\"
shouldFarm: \" + RshouldFarm +\"
H:D ratio = \" + RcalcHDratio() + \"
\")');
+ }
newContainer.setAttribute("onmouseout", 'tooltip("hide")');
abutton = document.createElement("SPAN");
abutton.id = 'autoMapStatus';
newContainer.appendChild(abutton);
fightButtonCol.appendChild(newContainer);
- //create hiderStatus - He/hr percent (in world sidebar)
newContainer = document.createElement("DIV");
newContainer.setAttribute("style", "display: block; font-size: 1vw; text-align: center; margin-top: 2px; background-color: rgba(0,0,0,0.3);");
- newContainer.setAttribute("onmouseover", 'tooltip(\"Helium/Hr Info\", \"customText\", event, \"1st is Current He/hr % out of Lifetime He(not including current+unspent).
0.5% is an ideal peak target. This can tell you when to portal...
2nd is Current run Total He earned / Lifetime He(not including current)
\" + getDailyHeHrStats())');
+ if (game.global.universe == 1)
+ newContainer.setAttribute("onmouseover", 'tooltip(\"Helium/Hr Info\", \"customText\", event, \"1st is Current He/hr % out of Lifetime He(not including current+unspent).
0.5% is an ideal peak target. This can tell you when to portal...
2nd is Current run Total He earned / Lifetime He(not including current)
\" + getDailyHeHrStats())');
+ else if (game.global.universe == 2)
+ newContainer.setAttribute("onmouseover", 'tooltip(\"Radon/Hr Info\", \"customText\", event, \"1st is Current Rn/hr % out of Lifetime Rn(not including current+unspent).
0.5% is an ideal peak target. This can tell you when to portal...
2nd is Current run Total Rn earned / Lifetime Rn(not including current)
\" + getDailyRnHrStats())');
newContainer.setAttribute("onmouseout", 'tooltip("hide")');
abutton = document.createElement("SPAN");
abutton.id = 'hiderStatus';
newContainer.appendChild(abutton);
fightButtonCol.appendChild(newContainer);
- //make timer clock toggle paused mode when clicked (bottom right)
var $portalTimer = document.getElementById('portalTimer');
$portalTimer.setAttribute('onclick', 'toggleSetting(\'pauseGame\')');
$portalTimer.setAttribute('style', 'cursor: default');
- //shrink padding for fight buttons to help fit automaps button/status
var btns = document.getElementsByClassName("fightBtn");
for (var x = 0; x < btns.length; x++) {
btns[x].style.padding = "0.01vw 0.01vw";
@@ -67,127 +62,172 @@ function automationMenuInit() {
}
automationMenuInit();
-//create container for settings buttons (this is seperate because it needs to
-// be re-run seperately to reset when importing)
+function modifyParentNode(setting, id) {
+ var elem = document.getElementById(id).parentNode.parentNode.children;
+ for (i = 0; i < elem.length; i++) {
+ if (document.getElementById(id).parentNode.parentNode.children[i].children[0] === undefined) {
+ continue
+ } else {
+ if (document.getElementById(id).parentNode.parentNode.children[i].children[0].id === id) {
+ if (autoTrimpSettings[setting].enabled) {
+ if (elem.length > (i + 1)) {
+ if (document.getElementById(id).parentNode.parentNode.children[(i + 1)].style.length == 0) {
+ document.getElementById(id).parentNode.parentNode.children[(i + 1)].remove()
+ break;
+ }
+ }
+ } else {
+ document.getElementById(id).parentNode.parentNode.children[i].insertAdjacentHTML('afterend', '
');
+ }
+ }
+
+ }
+ }
+}
+
function automationMenuSettingsInit() {
- var settingsrow = document.getElementById("settingsRow");
- var autoSettings = document.createElement("DIV");
- autoSettings.id = "autoSettings";
- autoSettings.setAttribute("style", "display: none; max-height: 92.5vh;overflow: auto;");
- autoSettings.setAttribute("class","niceScroll");
- settingsrow.appendChild(autoSettings);
+ var a = document.getElementById("settingsRow"),
+ b = document.createElement("DIV");
+ b.id = "autoSettings", b.setAttribute("style", "display: none; max-height: 92.5vh;overflow: auto;"), b.setAttribute("class", "niceScroll"), a.appendChild(b)
}
automationMenuSettingsInit();
+var link1 = document.createElement("link");
+link1.rel = "stylesheet", link1.type = "text/css", link1.href = basepath + "tabs.css", document.head.appendChild(link1);
-//prepare CSS for new Tab interface
-var link1 = document.createElement('link');
-link1.rel = "stylesheet";
-link1.type = "text/css";
-link1.href = basepath + 'tabs.css';
-document.head.appendChild(link1);
-
-//Tab make helperfunctions
-function createTabs(name, description) {
- var li_0 = document.createElement('li');
- var a_0 = document.createElement('a');
- a_0.className = "tablinks";
- a_0.setAttribute('onclick', 'toggleTab(event, \'' + name + '\')');
- a_0.href = "#";
- a_0.appendChild(document.createTextNode(name));
- li_0.id = 'tab' + name;
- li_0.appendChild(a_0);
- addtabsUL.appendChild(li_0);
- createTabContents(name, description);
+function createTabs(a, b) {
+ var c = document.createElement("li"),
+ d = document.createElement("a");
+ d.className = "tablinks", d.setAttribute("onclick", "toggleTab(event, '" + a + "')"), d.href = "#", d.appendChild(document.createTextNode(a)), c.id = "tab" + a, c.appendChild(d), addtabsUL.appendChild(c), createTabContents(a, b)
}
-function createTabContents(name, description) {
- var div_0 = document.createElement('div');
- div_0.className = "tabcontent";
- div_0.id = name;
- var div_1 = document.createElement('div');
- div_1.setAttribute("style", "margin-left: 1vw; margin-right: 1vw;");
- var h4_0 = document.createElement('h4');
- h4_0.setAttribute('style', 'font-size: 1.2vw;');
- h4_0.appendChild(document.createTextNode(description));
- div_1.appendChild(h4_0);
- div_0.appendChild(div_1);
- addTabsDiv.appendChild(div_0);
+function createTabContents(a, b) {
+ var c = document.createElement('div');
+ c.className = 'tabcontent', c.id = a;
+ var d = document.createElement('div');
+ d.setAttribute('style', 'margin-left: 1vw; margin-right: 1vw;');
+ var e = document.createElement('h4');
+ e.setAttribute('style', 'font-size: 1.2vw;'), e.appendChild(document.createTextNode(b)), d.appendChild(e), c.appendChild(d), addTabsDiv.appendChild(c)
}
-//Toggle handler (onclick)
-function toggleTab(evt, tabName) {
- if (evt.currentTarget.className.indexOf(" active") > -1) {
- document.getElementById(tabName).style.display = "none";
- evt.currentTarget.className = evt.currentTarget.className.replace(" active", "");
- } else {
- document.getElementById(tabName).style.display = "block";
- evt.currentTarget.className += " active";
- }
+function toggleTab(a, b) {
+ -1 < a.currentTarget.className.indexOf(" active") ? (document.getElementById(b).style.display = "none", a.currentTarget.className = a.currentTarget.className.replace(" active", "")) : (document.getElementById(b).style.display = "block", a.currentTarget.className += " active")
}
-//Minimize button handler
function minimizeAllTabs() {
- // Get all elements with class="tabcontent" and hide them
- var tabcontent = document.getElementsByClassName("tabcontent");
- for (var i = 0,len = tabcontent.length; i < len ; i++) {
- tabcontent[i].style.display = "none";
- }
- // Get all elements with class="tablinks" and remove the class "active"
- var tablinks = document.getElementsByClassName("tablinks");
- for (var i = 0,len = tablinks.length; i < len ; i++) {
- // if (!(tablinks[i].className.includes('minimize') || tablinks[i].className.includes('maximize') || tablinks[i].className.includes('tabclose') || tablinks[i].parentNode.id.includes('tabCore')))
- // tablinks[i].style.display = "none";
- tablinks[i].className = tablinks[i].className.replace(" active", "");
- }
+ for (var a = document.getElementsByClassName("tabcontent"), b = 0, c = a.length; b < c; b++) a[b].style.display = "none";
+ for (var d = document.getElementsByClassName("tablinks"), b = 0, c = d.length; b < c; b++) d[b].className = d[b].className.replace(" active", "")
}
-//Minimize button handler
function maximizeAllTabs() {
- // Get all elements with class="tabcontent" and show them
- var tabcontent = document.getElementsByClassName("tabcontent");
- for (var i = 0,len = tabcontent.length; i < len ; i++) {
- tabcontent[i].style.display = "block";
- }
- // Get all elements with class="tablinks" and add the class "active"
- var tablinks = document.getElementsByClassName("tablinks");
- for (var i = 0,len = tablinks.length; i < len ; i++) {
- tablinks[i].style.display = "block";
- if (!tablinks[i].className.includes(' active'))
- tablinks[i].className += " active";
+ for (var a = document.getElementsByClassName("tabcontent"), b = 0, c = a.length; b < c; b++) a[b].style.display = "block";
+ for (var d = document.getElementsByClassName("tablinks"), b = 0, c = d.length; b < c; b++) d[b].style.display = "block", d[b].className.includes(" active") || (d[b].className += " active")
+}
+
+function nuloom(slot) {
+ var nuloom = getPageSetting('heirloomnu');
+ if (game.global.ShieldEquipped.name == nuloom) {
+ selectHeirloom(-1, 'ShieldEquipped', true);
+ if (slot == 0) {
+ return game.global.ShieldEquipped.mods[0][0];
+ }
+ if (slot == 1) {
+ return game.global.ShieldEquipped.mods[1][0];
+ }
+ if (slot == 2) {
+ return game.global.ShieldEquipped.mods[2][0];
+ }
+ if (slot == 3) {
+ return game.global.ShieldEquipped.mods[3][0];
+ }
+ if (slot == 4) {
+ return game.global.ShieldEquipped.mods[4][0];
+ }
+ if (slot == 5) {
+ return game.global.ShieldEquipped.mods[5][0];
+ }
+ }
+
+ if (game.global.StaffEquipped.name == nuloom) {
+ selectHeirloom(-1, 'StaffEquipped', true);
+ if (slot == 0) {
+ return game.global.StaffEquipped.mods[0][0];
+ }
+ if (slot == 1) {
+ return game.global.StaffEquipped.mods[1][0];
+ }
+ if (slot == 2) {
+ return game.global.StaffEquipped.mods[2][0];
+ }
+ if (slot == 3) {
+ return game.global.StaffEquipped.mods[3][0];
+ }
+ if (slot == 4) {
+ return game.global.StaffEquipped.mods[4][0];
+ }
+ if (slot == 5) {
+ return game.global.StaffEquipped.mods[5][0];
+ }
+ }
+
+ if (game.global.StaffEquipped.name != nuloom && game.global.ShieldEquipped.name != nuloom) {
+ for (var loom of game.global.heirloomsCarried) {
+ if (loom.name == getPageSetting('heirloomnu')) {
+ selectHeirloom(game.global.heirloomsCarried.indexOf(loom), "heirloomsCarried", true);
+ if (slot == 0) {
+ return loom.mods[0][0];
+ }
+ if (slot == 1) {
+ return loom.mods[1][0];
+ }
+ if (slot == 2) {
+ return loom.mods[2][0];
+ }
+ if (slot == 3) {
+ return loom.mods[3][0];
+ }
+ if (slot == 4) {
+ return loom.mods[4][0];
+ }
+ if (slot == 5) {
+ return loom.mods[5][0];
+ }
+ }
+ }
}
}
var addTabsDiv;
var addtabsUL;
-//Actually Make the Tabs
+
function initializeAllTabs() {
- //CREATE TABS + CONTENT
addTabsDiv = document.createElement('div');
addtabsUL = document.createElement('ul');
addtabsUL.className = "tab";
addtabsUL.id = 'autoTrimpsTabBarMenu';
addtabsUL.style.display = "none";
- //Pin settings Tab Bar to the top like the other bar?
var sh = document.getElementById("settingsRow")
sh.insertBefore(addtabsUL, sh.childNodes[2]);
- //addTabsDiv.appendChild(addtabsUL);
- //Then it has to be maintained and toggled on off.
- //Make Tabs.
createTabs("Core", "Core - Main Controls for the script");
createTabs("Buildings", "Building Settings");
createTabs("Jobs", "Jobs - Worker Settings");
createTabs("Gear", "Gear - Equipment Settings");
createTabs("Maps", "Maps - AutoMaps & VoidMaps Settings");
+ createTabs("Spire", "Spire - Settings for Spires");
+ createTabs("Raiding", "Raiding - Settings for Raiding");
+ createTabs("Daily", "Dailies - Settings for Dailies");
+ createTabs("C2", "C2 - Settings for C2s");
+ createTabs("Challenges", "Challenges - Settings for Specific Challenges");
createTabs("Combat", "Combat & Stance Settings");
+ createTabs("Windstacking", "Windstacking Settings");
+ createTabs("ATGA", "Geneticassist Settings");
createTabs("Scryer", "Scryer Settings");
createTabs("Magma", "Dimensional Generator & Magmite Settings");
createTabs("Heirlooms", "Heirloom Settings");
createTabs("Golden", "Golden Upgrade Settings");
+ createTabs("SA", "SA Settings");
createTabs("Nature", "Nature Settings");
createTabs("Display", "Display & Spam Settings");
- //createTabs("Modules", "Load/Unload Modules & Settings");
createTabs("Import Export", "Import & Export Settings");
- //add a minimize button:
var li_0 = document.createElement('li');
var a_0 = document.createElement('a');
a_0.className = "tablinks minimize";
@@ -196,9 +236,8 @@ function initializeAllTabs() {
a_0.appendChild(document.createTextNode("-"));
li_0.appendChild(a_0);
li_0.setAttribute("style", "float:right!important;");
- li_0.setAttribute("onmouseover",'tooltip("Minimize all tabs", "customText", event, "Minimize all AT settings tabs.")');
+ li_0.setAttribute("onmouseover", 'tooltip("Minimize all tabs", "customText", event, "Minimize all AT settings tabs.")');
li_0.setAttribute("onmouseout", 'tooltip("hide")');
- //add a maximize button:
var li_1 = document.createElement('li');
var a_1 = document.createElement('a');
a_1.className = "tablinks maximize";
@@ -207,9 +246,8 @@ function initializeAllTabs() {
a_1.appendChild(document.createTextNode("+"));
li_1.appendChild(a_1);
li_1.setAttribute("style", "float:right!important;");
- li_1.setAttribute("onmouseover",'tooltip("Maximize all tabs", "customText", event, "Maximize all AT settings tabs.")');
+ li_1.setAttribute("onmouseover", 'tooltip("Maximize all tabs", "customText", event, "Maximize all AT settings tabs.")');
li_1.setAttribute("onmouseout", 'tooltip("hide")');
- //add a minimize button:
var li_2 = document.createElement('li');
var a_2 = document.createElement('a');
a_2.className = "tablinks tabclose";
@@ -218,245 +256,916 @@ function initializeAllTabs() {
a_2.appendChild(document.createTextNode("x"));
li_2.appendChild(a_2);
li_2.setAttribute("style", "float:right!important;");
- li_2.setAttribute("onmouseover",'tooltip("Exit (duplicate)", "customText", event, "Closes/toggles/hides AutoTrimps (just a UI shortcut)")');
+ li_2.setAttribute("onmouseover", 'tooltip("Exit (duplicate)", "customText", event, "Closes/toggles/hides AutoTrimps (just a UI shortcut)")');
li_2.setAttribute("onmouseout", 'tooltip("hide")');
- addtabsUL.appendChild(li_2); //close
- addtabsUL.appendChild(li_1); //max
- addtabsUL.appendChild(li_0); //min
- //Insert tabs into the game area
+ addtabsUL.appendChild(li_2);
+ addtabsUL.appendChild(li_1);
+ addtabsUL.appendChild(li_0);
document.getElementById("autoSettings").appendChild(addTabsDiv);
- //pretend click to make first tab active.
document.getElementById("Core").style.display = "block";
document.getElementsByClassName("tablinks")[0].className += " active";
}
initializeAllTabs();
-//Actually Make the Settings Buttons
function initializeAllSettings() {
- //START MAKING BUTTONS IN THE TABS:
-
-
-
-//CORE:
- //Line1:
- createSetting('ManualGather2', ['Gather/Build OFF', 'Auto Gather/Build', 'Science Research OFF', 'Auto Gather/Build #2'], '4-Way Button. Auto Gathering of Food,Wood,Metal(w/turkimp) & Science. Auto speed-Builds your build queue. Now able to turn science researching off for the achievement Reach Z120 without using manual research. The decision between AutoGather 1 or 2 is up to your own discretion and they should be similar.', 'multitoggle', 1, null, "Core");
- createSetting('BuyUpgrades', 'Buy Upgrades', 'Autobuy non equipment Upgrades', 'boolean', true, null, "Core");
- createSetting('TrapTrimps', 'Trap Trimps', 'Automatically trap trimps when needed, including building traps. (when you turn off, make sure you also turn off the ingame AutoTraps button)', 'boolean', true, null, "Core");
- createSetting('ManageBreedtimer', 'Auto Breed Timer', 'Genetecist management is controlled by the Timer setting box to the right, not this.
Explanation:
[ON](Green): All this does is auto-choose the appropriate timer for various challenges (0, 3.5s, 10s, 30s).
[OFF](Red): You set the Timer yourself! Even if this is red, it still tampers with genetecists if the timer is >= 0.
Note: Using AutoStance is recommended to survive the full 30 seconds or else Auto will probably be undesirable.', 'boolean', true, null, "Core");
- createSetting('UsePatience', 'Enable Patience', 'Sets the default breed timer to 45 seconds if you have the Patience mastery.', 'boolean', true, null, 'Core');
- createSetting('GeneticistTimer', 'Geneticist Timer', 'Manages the breed timer by hiring/firing Geneticists for the purpose of setting the ideal anticpation stacks. Disable with -1 to disable the Hiring/Firing of geneticists.
Info: Potency and Nursery buying behavior is adjusted dynamically (and disabling no longer disables potency). The Automatic Genetecist Hiring Process can best be summarized by: Buy/Wait/Die,Repeat. (if you do not die, no action is taken). Also self-kills (trimpicide) aka force abandon when your anti-stacks arent maxed out (conservatively).
Controlled automatically (locked) when Auto Breed Timer is on.', 'value', '30', null, "Core");
- createSetting('SpireBreedTimer', 'Spire Breed Timer', 'Set a different breed timer target for the Spire. Use -1 to disable this special setting.', 'value', -1, null, 'Core');
- //Line2
- createSetting('AutoAllocatePerks', 'Auto Allocate Perks', 'Uses the AutoPerks ratio based preset system to automatically allocate your perks to spend whatever helium you have when you AutoPortal. ', 'boolean', false, null, 'Core');
- createSetting('AutoStartDaily', 'Auto Start Daily', 'With this on, the Auto Portal options will portal you into and auto-start the daily whenever available. Does Yesterday first, followed by Today. Falls back to selected challenge when both are complete.', 'boolean', false, null, 'Core');
- createSetting('AutoFinishDaily', 'Auto Finish Daily', 'With this on, the He/Hr Portal and Custom Auto Portal options will auto-finish the daily whenever they trigger and THEN portal you.', 'boolean', true, null, 'Core');
- createSetting('AutoFinishDailyZone', 'Finish Daily Zone Mod', 'Finish Daily by this # of zones earlier/later than your regular Custom AutoPortal zone or your Helium Dont Portal Before zone. When Auto Finish Daily is on. Tip: Tune your value of He/HrDontPortalBefore to suit the daily, and then tune this. Can accept negative numbers for earlier, ie: -7 means portal 7 zones earlier than normal. Can also use positive numbers to DELAY portaling for later. When used with He/Hr AutoPortal, the number of zones early does not FORCE end the daily at that zone, only ALLOW it to end that early: it will Always end when your HE/hr drops enough to trigger the portal. Use 0 to disable.', 'valueNegative', 0, null, 'Core');
- createSetting('FinishC2', 'Finish Challenge2', 'Finish / Abandon Challenge2 (any) when this zone is reached, if you are running one. For manual use. Recommended: Zones ending with 0 for most challenges. Disable with -1.', 'value', -1, null, 'Core');
- if (game.worldUnlocks.easterEgg)
+
+ //Core
+
+ //Line 1
+ createSetting('ManualGather2', ['Manual Gather/Build', 'Auto Gather/Build', 'Mining/Building Only', 'Science Research OFF'], 'Controls what you gather/build do. Manual does nothing
Auto Gathering of Food,Wood,Metal(w/turkimp) & Science. Auto speed-Builds your build queue.
Mining/Building only does exactly what it says. Only use if you are passed the early stages of the game and have the mastery foremany unlocked (No longer need to trap, food and wood are useless).
You can disable science researching for the achievement: Reach Z120 without using manual research.', 'multitoggle', 1, null, "Core");
+ createSetting('gathermetal', 'Metal Only', 'For use with Mining/Gather Only. Only gathers Metal if you have foremany unlocked. ', 'boolean', false, null, "Core");
+ createSetting('BuyUpgradesNew', ['Manual Upgrades', 'Buy All Upgrades', 'Upgrades no Coords'], 'Autobuys non-equipment upgrades (equipment is controlled in the Gear tab). The second option does NOT buy coordination (use this ONLY if you know what you\'re doing).', 'multitoggle', 1, null, "Core");
+ createSetting('amalcoord', 'Amal Boost', 'Boost your Amal count for more Mi. Will not buy coords until your H:D ratio is below a certain value. This means that you will get amals quicker. Will not activate higher than your Amal Boost End Zone Setting! ', 'boolean', false, null, "Core");
+ createSetting('amalcoordt', 'Amal Target', 'Set the amount of Amals you wish to aim for. Once this target is reached, it will buy coords below your Amal ratio regardless of your H:D, just enough to keep the Amal. -1 to disable and use H:D for entire boost. ', 'value', -1, null, "Core");
+ createSetting('amalcoordhd', 'Amal Boost H:D', 'Set your H:D for Amal Boost here. The higher it is the less coords AT will buy. 0.0000025 is the default. ', 'value', 0.0000025, null, "Core");
+ createSetting('amalcoordz', 'Amal Boost End Z', 'Amal Boost End Zone. Set the zone you want to stop Amal Boosting. -1 to do it infinitely. ', 'value', -1, null, "Core");
+ createSetting('AutoAllocatePerks', ['Auto Allocate Off', 'Auto Allocate On', 'Dump into Looting II'], 'Uses the AutoPerks ratio based preset system to automatically allocate your perks to spend whatever helium you have when you AutoPortal. Does not change Fixed Perks: siphonology, anticipation, meditation, relentlessness, range, agility, bait, trumps, packrat, capable. NEW: Dump into Looting II, dumps all loot gained from previous portal at specified zone', 'multitoggle', 0, null, 'Core');
+
+ //Line 2
+ createSetting('fastallocate', 'Fast Allocate', 'Turn on if your helium is above 500Qa. Not recommended for low amounts of helium. ', 'boolean', false, null, 'Core');
+ createSetting('TrapTrimps', 'Trap Trimps', 'Automatically trap trimps when needed, including building traps. (when you turn this off, you may aswell turn off the in-game autotraps button, think of the starving trimps that could eat that food!)', 'boolean', true, null, "Core");
createSetting('AutoEggs', 'AutoEggs', 'Click easter egg if it exists, upon entering a new zone. Warning: Quite overpowered. Please solemnly swear that you are up to no good.', 'boolean', false, null, 'Core');
- createSetting('ManualCoords', 'Don\'t buy Coords', 'Enable it if you know what you\'re doing, disable it if you don\'t know what you\'re doing. For when manually handling coords means a lot on challenges like Trapper.', 'boolean', false, null, 'Core');
- //NewLine3
- document.getElementById('ManualCoords').parentNode.insertAdjacentHTML('afterend','
');
- createSetting('AutoPortal', 'Auto Portal', 'Automatically portal. Will NOT auto-portal if you have a challenge active, the challenge setting dictates which challenge it will select for the next run. All challenge settings will portal right after the challenge ends, regardless. Helium Per Hour only portals at cell 1 of the first level where your He/Hr went down even slightly compared to the current runs Best He/Hr. Take note, there is a Buffer option, which is like a grace percentage of how low it can dip without triggering. Setting a buffer will portal mid-zone if you exceed 5x of the buffer. CAUTION: Selecting He/hr may immediately portal you if its lower-(use Pause AutoTrimps button to pause the script first to avoid this)', 'dropdown', 'Off', ['Off', 'Helium Per Hour', 'Balance', 'Decay', 'Electricity', 'Life', 'Crushed', 'Nom', 'Toxicity', 'Watch', 'Lead', 'Corrupted', 'Custom'], "Core");
- //document.getElementById("AutoPortal").style="font-size: 1.0vw;"; //fit it on 1 line.
- createSetting('HeliumHourChallenge', 'Portal Challenge', 'Automatically portal into this challenge when using helium per hour or custom autoportal. Custom portals after cell 100 of the zone specified. ', 'dropdown', 'None', ['None', 'Balance', 'Decay', 'Electricity', 'Life', 'Crushed', 'Nom', 'Toxicity', 'Watch', 'Lead', 'Corrupted'], "Core");
- //document.getElementById("HeliumHourChallengeLabel").innerHTML = "Portal Challenge:"; //fit it on 1 line.
+ createSetting('AutoBoneChargeMax', ['Manual Bone Charge', 'Bone Charge When Max', 'Bone Charge (Daily Only)'], 'Automatically uses a Bone Charge from the Bone Shrine if you are at max charges. The start zone can be configured under Bone Charge Start Z.
Bone Charge (Daily Only) as the name suggests; will only use a Bone Charge when at max and if on a daily challenge.
Default: Off (Manual Bone Charge).', 'multitoggle', 0, null, "Core");
+ createSetting('AutoBoneChargeMaxStartZone', 'Bone Charge Start Z', 'Enter the zone number at which you wish to start using Bone Charges.
Alternatively, set it to -1 to automatically update the zone to 10% of your highest zone cleared. For example, if your highest zone cleared was 400, bone charges would be automatically used from zone 360 onwards.
Default: Automated (-1).', 'value', -1, null, "Core");
+ document.getElementById('AutoEggs').parentNode.insertAdjacentHTML('afterend', '
');
+
+ //RCore
+
+ //Line 1
+ createSetting('RManualGather2', ['Manual Gather/Build', 'Auto Gather/Build', 'Mining/Building Only'], 'Controls what you gather/build do. Manual does nothing
Auto Gathering of Food,Wood,Metal(w/turkimp) & Science. Auto speed-Builds your build queue.
Mining/Building only does exactly what it says. Only use if you are passed the early stages of the game and have the mastery foremany unlocked (No longer need to trap, food and wood are useless). ', 'multitoggle', 1, null, "Core");
+ createSetting('RTrapTrimps', 'Trap Trimps', 'Automatically trap trimps when needed, including building traps. (when you turn this off, you may aswell turn off the in-game autotraps button, think of the starving trimps that could eat that food!)', 'boolean', true, null, "Core");
+ createSetting('RBuyUpgradesNew', ['Manual Upgrades', 'Buy All Upgrades', 'Upgrades no Coords'], 'Autobuys non-equipment upgrades (equipment is controlled in the Gear tab). The second option does NOT buy coordination (use this ONLY if you know what you\'re doing).', 'multitoggle', 1, null, "Core");
+ createSetting('RAutoAllocatePerks', ['Auto Allocate Off', 'Auto Allocate On', 'Dump into Looting'], 'Uses the AutoPerks ratio based preset system to automatically allocate your perks to spend whatever helium you have when you AutoPortal. Does not change Fixed Perks: siphonology, anticipation, meditation, relentlessness, range, agility, bait, trumps, packrat, capable. NEW: Dump into Looting, dumps all loot gained from previous portal at specified zone', 'multitoggle', 0, null, 'Core');
+ createSetting('Rdumpgreed', 'Greed Dump', 'Dump Radon into Greed instead. ', 'boolean', false, null, "Core");
+
+
+ //Portal
+ createSetting('AutoPortal', 'AutoPortal', 'Automatically portal. Will NOT auto-portal if you have a challenge active, the challenge setting dictates which challenge it will select for the next run. All challenge settings will portal right after the challenge ends, regardless. Helium Per Hour only portals at cell 1 of the first level where your He/Hr went down even slightly compared to the current runs Best He/Hr. Take note, there is a Buffer option, which is like a grace percentage of how low it can dip without triggering. Setting a buffer will portal mid-zone if you exceed 5x of the buffer. CAUTION: Selecting He/hr may immediately portal you if its lower-(use Pause AutoTrimps button to pause the script first to avoid this)', 'dropdown', 'Off', ['Off', 'Helium Per Hour', 'Balance', 'Decay', 'Electricity', 'Life', 'Crushed', 'Nom', 'Toxicity', 'Watch', 'Lead', 'Corrupted', 'Domination', 'Experience', 'Custom'], "Core");
+ createSetting('HeliumHourChallenge', 'Portal Challenge', 'Automatically portal into this challenge when using helium per hour or custom autoportal. Custom portals after cell 100 of the zone specified. Do not choose a challenge if you havent unlocked it. ', 'dropdown', 'None', ['None', 'Balance', 'Decay', 'Electricity', 'Life', 'Crushed', 'Nom', 'Toxicity', 'Watch', 'Lead', 'Corrupted', 'Domination', 'Experience'], "Core");
+ document.getElementById("HeliumHourChallengeLabel").innerHTML = "Portal Challenge:";
createSetting('CustomAutoPortal', 'Custom Portal', 'Automatically portal AFTER clearing this level.(ie: setting to 200 would portal when you first reach level 201)', 'value', '999', null, "Core");
createSetting('HeHrDontPortalBefore', 'Don\'t Portal Before', 'Do NOT allow Helium per Hour AutoPortal setting to portal BEFORE this level is reached. It is an additional check that prevents drops in helium/hr from triggering autoportal. Set to 0 or -1 to completely disable this check. (only shows up with Helium per Hour set)', 'value', '999', null, "Core");
createSetting('HeliumHrBuffer', 'He/Hr Portal Buffer %', 'IMPORTANT SETTING. When using the He/Hr Autoportal, it will portal if your He/Hr drops by this amount of % lower than your best for current run, default is 0% (ie: set to 5 to portal at 95% of your best). Now with stuck protection - Allows portaling midzone if we exceed set buffer amount by 5x. (ie a normal 2% buffer setting would now portal mid-zone you fall below 10% buffer).', 'value', '0', null, 'Core');
- createSetting('PauseScript', 'Pause AutoTrimps', 'Pause AutoTrimps Script (not including the graphs module)', 'boolean', null, null, 'Core');
- //code to locate the pause button at lower right
- var $pauseScript = document.getElementById('PauseScript');
- $pauseScript.parentNode.style.setProperty('float','right');
- $pauseScript.parentNode.style.setProperty('margin-right','1vw');
- $pauseScript.parentNode.style.setProperty('margin-left','0');
-
+ //RPortal
+ document.getElementById('Rdumpgreed').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('RAutoPortal', 'AutoPortal', 'Automatically portal. Will NOT auto-portal if you have a challenge active, the challenge setting dictates which challenge it will select for the next run. All challenge settings will portal right after the challenge ends, regardless. Radon Per Hour only portals at cell 1 of the first level where your Rn/Hr went down even slightly compared to the current runs Best Rn/Hr. Take note, there is a Buffer option, which is like a grace percentage of how low it can dip without triggering. Setting a buffer will portal mid-zone if you exceed 5x of the buffer. CAUTION: Selecting Rn/hr may immediately portal you if its lower-(use Pause AutoTrimps button to pause the script first to avoid this)', 'dropdown', 'Off', ['Off', 'Radon Per Hour', 'Bublé', 'Melt', 'Quagmire', 'Archaeology', 'Insanity', 'Nurture', 'Alchemy', 'Hypothermia', 'Custom'], "Core");
+ createSetting('RadonHourChallenge', 'Portal Challenge', 'Automatically portal into this challenge when using radon per hour or custom autoportal. Custom portals after cell 100 of the zone specified. Do not choose a challenge if you havent unlocked it. ', 'dropdown', 'None', ['None', 'Bublé', 'Melt', 'Quagmire', 'Archaeology', 'Insanity', 'Nurture', 'Alchemy', 'Hypothermia'], "Core");
+ createSetting('RCustomAutoPortal', 'Custom Portal', 'Automatically portal AFTER clearing this level.(ie: setting to 200 would portal when you first reach level 201)', 'value', '999', null, "Core");
+ createSetting('RnHrDontPortalBefore', 'Don\'t Portal Before', 'Do NOT allow Radon per Hour AutoPortal setting to portal BEFORE this level is reached. It is an additional check that prevents drops in radon/hr from triggering autoportal. Set to 0 or -1 to completely disable this check. (only shows up with Radon per Hour set)', 'value', '999', null, "Core");
+ createSetting('RadonHrBuffer', 'Rn/Hr Portal Buffer %', 'IMPORTANT SETTING. When using the Rn/Hr Autoportal, it will portal if your Rn/Hr drops by this amount of % lower than your best for current run, default is 0% (ie: set to 5 to portal at 95% of your best). Now with stuck protection - Allows portaling midzone if we exceed set buffer amount by 5x. (ie a normal 2% buffer setting would now portal mid-zone you fall below 10% buffer).', 'value', '0', null, 'Core');
-//Buildings
- createSetting('BuyStorage', 'Buy Storage', 'Will buy storage when resource is almost full. (like AutoStorage, even anticipates Jestimp)', 'boolean', true, null, "Buildings");
- createSetting('BuyBuildings', 'Buy Buildings', 'Will buy non storage buildings as soon as they are available', 'boolean', true, null, "Buildings");
+ //Pause + Switch
+ createSetting('PauseScript', 'Pause AutoTrimps', 'Pause AutoTrimps Script (not including the graphs module)', 'boolean', null, null, 'Core');
+ var $pauseScript = document.getElementById('PauseScript');
+ $pauseScript.parentNode.style.setProperty('float', 'right');
+ $pauseScript.parentNode.style.setProperty('margin-right', '1vw');
+ $pauseScript.parentNode.style.setProperty('margin-left', '0');
+ createSetting('radonsettings', ['Helium', 'Radon'], 'Switch between Helium (U1) and Radon (U2) settings. ', 'multitoggle', 0, null, 'Core');
+ var $radonsettings = document.getElementById('radonsettings');
+ $radonsettings.parentNode.style.setProperty('float', 'right');
+ $radonsettings.parentNode.style.setProperty('margin-right', '1vw');
+ $radonsettings.parentNode.style.setProperty('margin-left', '0');
+
+
+
+ //Daily
+
+ //Line 1
+ createSetting('buyheliumy', 'Buy Heliumy %', 'Buys the Heliumy bonus for 100 bones when Daily bonus is above the value set in this setting. Recommend anything above 475. Will not buy if you cant afford to, or value is -1. ', 'value', -1, null, 'Daily');
+ createSetting('dfightforever', ['DFA: Off', 'DFA: Non-Empowered', 'DFA: All Dailies'], 'Daily Fight Always. Sends trimps to fight if they\'re not fighting in Daily challenges similar to Toxicity/Nom but not on Bloodthirst/Plagued/Bogged Dailies, regardless of BAF. Non-Empowered will only send to fight if the Daily is not Empowered. Essenitally the same as the one in combat, can use either if you wish, except this will only activate in these daily challenges (duh) ', 'multitoggle', '0', null, 'Daily');
+ createSetting('avoidempower', 'Avoid Empower', 'Tries to avoid Empower stacks in Empower Dailies. No harm in this being on, so default is On. ', 'boolean', true, null, 'Daily');
+ createSetting('darmormagic', ['Daily Armor Magic Off', 'DAM: Above 80%', 'DAM: H:D', 'DAM: Always'], 'Will buy Armor to try and prevent death on Bleed/Plague/Bogged Dailies under the 3 conditions.
Above 80%: Will activate at and above 80% of your HZE.
H:D: Will activate at and above the H:D you have defined in maps.
Always Will activate always.
All options will activate at or below 25% of your health. ', 'multitoggle', 0, null, "Daily");
+ createSetting('dscryvoidmaps', 'Daily VM Scryer', 'Only use in Dailies if you have Scryhard II, for er, obvious reasons. Works without the scryer options. ', 'boolean', false, null, 'Daily');
+
+ //Spire
+ document.getElementById('dscryvoidmaps').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('dIgnoreSpiresUntil', 'Daily Ignore Spires Until', 'Spire specific settings like end-at-cell are ignored until at least this zone is reached in Dailies (0 to disable). ', 'value', '200', null, 'Daily');
+ createSetting('dExitSpireCell', 'Daily Exit Spire Cell', 'What cell to exit spire in dailys. ', 'value', -1, null, 'Daily');
+ createSetting('dPreSpireNurseries', 'Daily Nurseries pre-Spire', 'Set the maximum number of Nurseries to build for Spires in Dailies. Overrides No Nurseries Until z and Max Nurseries so you can keep them seperate! Disable with -1.', 'value', -1, null, 'Daily');
+
+ //Windstacking
+ document.getElementById('dPreSpireNurseries').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('use3daily', 'Daily Windstacking', ' This must be on for Daily windstacking settings to appear! Overrides your Autostance settings to use the WS stance on Dailies. Make sure Windstack HD is set otherwise this does nothing. ', 'boolean', false, null, 'Daily');
+ createSetting('dWindStackingMin', 'Daily Windstack Min Zone', 'For use with Windstacking Stance, enables windstacking in zones above and inclusive of the zone set for dailys. (Get specified windstacks then change to D, kill bad guy, then repeat). This is designed to force S use until you have specified stacks in wind zones, overriding scryer settings. All windstack settings apart from Daily WS MAX work off this setting. ', 'value', '-1', null, 'Daily');
+ createSetting('dWindStackingMinHD', 'Daily Windstack H:D', 'For use with Windstacking Stance in Dailies, fiddle with this to maximise your stacks in wind zones for Dailies. If H:D is above this setting it will not use W stance. If it is below it will. Use something like 10 decillion if you just want to use W stance. ', 'value', '1e33', null, 'Daily');
+ createSetting('dWindStackingMax', 'Daily Windstack Stacks', 'For use with Windstacking Stance in Dailies. Amount of windstacks to obtain before switching to D stance. Default is 200, but I recommend anywhere between 175-190. In Wind Enlightenment it will add 100 stacks to your total automatically. So if this setting is 200 It will assume you want 300 stacks instead during enlightenment. ', 'value', '200', null, 'Daily');
+ createSetting('dwindcutoff', 'Daily Wind Damage Cutoff', 'Set this value to optimise your windstacking in dailys. Can work without Windstacking Stance, but not recommended. AT normally uses 4 as its cutoff. I.e if the cutoff is above 4 it will buy max equipment. If you set this to 160, it will not get more damage till you are above x160. Essentially, the higher the value, the less damage AT wants to get, this will enable you to windstack to incredibly high amounts. -1 to disable/go back to default. Must set your windstacking min zone to use. ', 'value', '-1', null, 'Daily');
+ createSetting('dwindcutoffmap', 'Daily Wind Map Cutoff', 'Set this value to optimise your windstacking in dailys. Can work without Windstacking Stance, but not recommended. AT normally uses 4 as its cutoff. I.e if the cutoff is above 4 it will do map bonus. If you set this to 160, it will not do maps till you are above x160. Essentially, the higher the value, the less damage AT wants to get, this will enable you to windstack to incredibly high amounts. -1 to disable/go back to default. Must set your windstacking min zone to use. ', 'value', '-1', null, 'Daily');
+ createSetting('liqstack', 'Stack Liquification', 'Stack Wind zones during Wind Enlight during Liquification. ', 'boolean', false, null, 'Daily');
+ createSetting('dwsmax', 'Daily WS MAX', 'For maximising Windstacking an entire Daily. Withholds damage to try and get your max windstacks every wind zone. Not recommended for terrible Dailies. ', 'value', '-1', null, 'Daily');
+ createSetting('dwsmaxhd', 'Daily WSM H:D', 'Fiddle with this to maximise your DWSM settings. Default is 0.00025. ', 'value', '-1', null, 'Daily');
+
+ //Raiding
+ document.getElementById('dwsmaxhd').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('dPraidingzone', 'Daily P Raiding Z', 'Raids Maps for prestiges at zone specified in Dailies. Example: 495, will raid Maps at 501. Once all gear is obtained from the map, it will revert back to regular farming. Extremely helpful for spire. Best used in poison zones. You can use multiple values like this 495,506,525! ', 'multiValue', [-1], null, 'Daily');
+ createSetting('dPraidingcell', 'Daily P Raiding Cell', 'What Cell to start P Raiding at. Recommend below your BW Raiding cell if used together. -1 to Raid at cell 1. ', 'value', -1, null, 'Daily');
+ createSetting('dPraidingHD', 'Daily P Raiding HD', 'Checks if you can raid the map. If your HD value (calculated using the maps you will raid) is below this value it will not buy the map and you will stop raiding. The higher this value the higher zones it will raid. Can raid up to +10 depending on the zone. -1 or 0 to remove this check.', 'value', -1, null, 'Daily');
+ createSetting('dPraidingP', 'Daily P Raiding Poison', 'Maximum level of map to P Raid at in Poison. If this value is 10 it will be able to go to +10 maps in Poison. You should use this instead of the HD function if you feel the calculations are off, but you can use both if needed. -1 or 0 to have no max. ', 'value', -1, null, 'Daily');
+ createSetting('dPraidingI', 'Daily P Raiding Ice', 'Maximum level of map to P Raid at in Ice. If this value is 10 it will be able to go to +10 maps in Ice. You should use this instead of the HD function if you feel the calculations are off, but you can use both if needed. -1 or 0 to have no max. ', 'value', -1, null, 'Daily');
+ createSetting('dPraidHarder', 'Daily Hardcore P Raiding', '(EXPERIMENTAL) P Raid Harder: When enabled, always buys the highest prestige map we can afford when P raiding, with option to farm fragments for highest available prestige level.', 'boolean', false, null, 'Daily');
+ createSetting('dMaxPraidZone', 'Daily Max P Raid Z', 'List of maximum zones to Praid on Dailies corresponding to the list specified in Daily Praiding Z. e.g. if Daily P raiding Z setting is 491,495 and this setting is 495,505, AT will P raid up to 495 from 491, and 505 from 495. Set to -1 to always buy highest available prestige map. If no corrsponding value, or value is invalid, defaults to max available (up to +10)', 'multiValue', [-1], null, 'Daily');
+ createSetting('dPraidFarmFragsZ', 'Daily Farm Frags Z', 'P Raiding harder: List of zones where we should farm fragments until we can afford the highest or target prestige map for P raiding. Set to -1 to never farm fragments.', 'multiValue', [-1], null, 'Daily');
+ createSetting('dPraidBeforeFarmZ', 'Dy Raid bef farm Z', 'P Raiding harder: List of zones where we should P Raid as far as we can afford before trying to farm fragments to Praid the highest or target prestige map. Only occasionally useful, e.g. if it picks up a Speedexplorer or farming fragments is slow due to low damage. Set to -1 to never raid prestiges before farming fragents.', 'multiValue', [-1], null, 'Daily');
+ createSetting('Dailybwraid', 'Daily BW Raid', 'Toggle for Daily BW Raid settings. Turn off Climb BW. ', 'boolean', false, null, 'Daily');
+ createSetting('dbwraidcell', 'Daily BW Raiding Cell', 'What Cell to start BW Raiding at. Recommend above your P Raiding cell if used together. -1 to Raid at cell 1. ', 'value', -1, null, 'Daily');
+ createSetting('dBWraidingz', 'Daily Z to BW Raid', 'Raids BWs at zone specified in dailys. Example: 495, will raid all BWs for all gear starting from 495. Will skip lower BWs if you have enough damage. Once all gear is obtained, will return to regular farming. Accepts comma separated lists, and raids up to the value in the corrsponding position in the Max BW to raid setting. So if this is set to 480,495 and Daily Max BW to Raid is set to 500,515 AT will BW raid up to 500 from 480, and 515 from 495. Make sure these lists are the same length or BW raiding may fail.', 'multiValue', [-1], null, 'Daily');
+ createSetting('dBWraidingmax', 'Daily Max BW to raid', 'Raids BWs until zone specified in dailys. Example: 515, will raid all BWs for all gear until 515. Will skip lower BWs if you have enough damage. Once all gear is obtained, will return to regular farming. Now accepts comma separated lists - see description of Daily Z to BW raid setting for details.', 'multiValue', [-1], null, 'Daily');
+
+ //Shrine - U1 (Daily)
+ document.getElementById('dBWraidingmax').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Hdshrine', ['Daily AutoShrine Off', 'Daily AutoShrine On', 'DAS: Normal'], 'Turn this on if you want to use Shrines automatically in Dailies. Use DAS: Normal if you want to use the settings in the Maps tab if do not wish to copy them here. ', 'multitoggle', 0, null, 'Daily');
+ createSetting('Hdshrinemaz', 'Daily AutoShrine Settings', 'Click to open Daily AutoShrine settings.
Zone: What zone to use Bone Shrine charges.
Cell: What cell to use Bone Shrine charges at, if you use it after cell 80 you will get the benefit of all the books. to use.
Amount: How many Bone Shrine charges you wish to use.
Example: If you put Zone: 40\, Cell: 10\, Amount: 3\, you will use 3 Bone Shrine Charges at zone 40 at cell 10 in a Daily. ', 'infoclick', false, null, 'Daily');
+ createSetting('Hdshrinezone', 'AutoShrine: Zone', 'zone', 'multiValue', [-1], null, 'Daily');
+ createSetting('Hdshrinecell', 'AutoShrine: Cell', 'cell', 'multiValue', [-1], null, 'Daily');
+ createSetting('Hdshrineamount', 'AutoShrine: Amount', 'amount', 'multiValue', [-1], null, 'Daily');
+
+ //RDaily
+
+ //Line 1
+ createSetting('buyradony', 'Buy Radonculous %', 'Buys the Radonculous bonus for 100 bones when Daily bonus is above the value set in this setting. Recommend anything above 475. Will not buy if you cant afford to, or value is -1. ', 'value', -1, null, 'Daily');
+ createSetting('Rdfightforever', ['DFA: Off', 'DFA: Non-Empowered', 'DFA: All Dailies'], 'Daily Fight Always. Sends trimps to fight if they\'re not fighting in Daily challenges similar to Toxicity/Nom but not on Bloodthirst/Plagued/Bogged Dailies, regardless of BAF. Non-Empowered will only send to fight if the Daily is not Empowered. Essenitally the same as the one in combat, can use either if you wish, except this will only activate in these daily challenges (duh) ', 'multitoggle', '0', null, 'Daily');
+ createSetting('Ravoidempower', 'Avoid Empower', 'Tries to avoid Empower stacks in Empower Dailies. No harm in this being on, so default is On. ', 'boolean', true, null, 'Daily');
+ createSetting('Rdarmormagic', ['Daily Armor Magic Off', 'DAM: Above 80%', 'DAM: H:D', 'DAM: Always'], 'Will buy Armor to try and prevent death on Bleed/Plague/Bogged Dailies under the 3 conditions.
Above 80%: Will activate at and above 80% of your HZE.
H:D: Will activate at and above the H:D you have defined in maps.
Always Will activate always.
All options will activate at or below 25% of your health. ', 'multitoggle', 0, null, "Daily");
+
+ //dRaiding
+ document.getElementById('Rdarmormagic').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('RdAMPraid', ['Daily Praiding Off', 'Daily Praiding On', 'DPR: Normal'], 'MASTER BUTTON
Toggle Daily Prestige Raiding. Use DPR: Zone, DPR: Raid and DPR: Cell to Raid Prestiges in higher Maps.
I.e: World is 95, DPR: Zone is [95,105], DPR: Raid is [105,115], DPR: Cell is 1. Will go into map creation at cell 1, create maps 101, 102, 103, 104, 105 with Prestige option. If you can\'t afford P maps, it will try without. If still unable to afford will buy the highest maps first without buying 101 and 102 for example. Raiding will take longer if you can\'t afford it. Once all maps are created it will run the lowest created then move onto the next till all created maps are finished. If you have enabled DPR: Recycle it will then recycle those maps. DPR: Normal will use the settings in Raiding tab so if they are the same you do not have to copy them over. ', 'multitoggle', 0, null, 'Daily');
+ createSetting('RdAMPraidmaz', 'Daily Praiding Settings', 'Click to open the Daily Praiding settings. ', 'infoclick', false, null, 'Daily');
+ createSetting('RdAMPraidzone', 'DPR: Zone', 'Zones to Prestige Raid. Can use 95,105,115! ', 'multiValue', [-1], null, 'Daily');
+ createSetting('RdAMPraidraid', 'DPR: Raid', 'What Maps to Raid. Corrosponds to PR: Zone, so first value will corrospond to first value in PR: Zone. Can use 105,115,125! ', 'multiValue', [-1], null, 'Daily');
+ createSetting('RdAMPraidcell', 'DPR: Cell', 'What Cell to start Prestige Raiding at. -1 to Raid at cell 1. ', 'multiValue', [-1], null, 'Daily');
+ createSetting('RdAMPraidfrag', ['DPR: Frag', 'DPR: Frag Min', 'DPR: Frag Max'], 'Farm for fragments to afford the maps you want to create. DPR: Frag Min is used for absolute minimum frag costs (which includes no Prestige special, perfect sliders, random map and the difficulty and size options, however it will try to afford those options first!) and prioritises buying the most maps for a smoother sequential raid. DPR: Frag Max is used for the ultimate Raiding experience. This option will probably take the most time to farm but may save you time in the actual raid. I would recommend using Min Mode if you don\'t have frag drop or explorer effic on your heirloom and Max if you are confident in your Fragment gains. ', 'multitoggle', 0, null, 'Daily');
+ createSetting('RdAMPraidrecycle', 'DPR: Recycle', 'Recycle maps created in Daily Prestige Raiding. ', 'boolean', false, null, 'Daily');
+
+ //dTimefarm
+ document.getElementById('RdAMPraidrecycle').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rdtimefarm', ['Daily Time Farm Off', 'Daily Time Farm On', 'DTF: Normal'], 'Turn this on if you want to use Daily Time Farming. Use DTF: Normal if you want to use the settings in the Maps tab if do not wish to copy them here. ', 'multitoggle', 0, null, 'Daily');
+ createSetting('Rdtimefarmmaz', 'DTM Settings', 'Click to open the Daily Time Farm settings. It will also put all your workers into what you are gathering.
Zone: What zone to start time farming.
Cell: What cell to start time farming at.
Time: How much time in Minutes to farm.
Level: How many map levels above your zone to use.
Map: What kind of map you want to use.
Special: What type of special you want to use.
Gather: What resource you would like to gather.
Example: If you put Zone: 60\, Cell: 10\, Time: 3\, Level: 5\, Map: Gardens\, Special: Large Metal Cache\, Gather: Metal\, while in a Daily you will farm at zone 60 at cell 10 for 3 minutes in a +5 Gardens map that has a Large Metal Cache while gathering metal. ', 'infoclick', false, null, 'Daily');
+ createSetting('Rdtimefarmzone', 'DTF: Zone', 'zone', 'multiValue', [-1], null, 'Daily');
+ createSetting('Rdtimefarmcell', 'DTF: Cell', 'cell', 'multiValue', [-1], null, 'Daily');
+ createSetting('Rdtimefarmtime', 'DTF: Time', 'time', 'multiValue', [-1], null, 'Daily');
+ createSetting('Rdtimefarmlevel', 'DTF: Map Level', 'level', 'multiValue', [0], null, 'Daily');
+ createSetting('Rdtimefarmmap', 'DTF: Map Selection', 'map', 'textValue', 'undefined', null, 'Daily');
+ createSetting('Rdtimefarmspecial', 'DTF: Special Selection', 'special', 'textValue', 'undefined', null, 'Daily');
+ createSetting('Rdtimefarmgather', 'DTF: Gather Selection', 'gather', 'textValue', 'undefined', null, 'Daily');
+
+
+ //Heirloom
+ createSetting('dhighdmg', 'DHS: High Damage', 'HIGH DAMAGE HEIRLOOM
Enter the name of your high damage heirloom. This is your heirloom that you will use normally in dailies. ', 'textValue', 'undefined', null, 'Daily');
+ createSetting('dlowdmg', 'DHS: Low Damage', 'LOW DAMAGE HEIRLOOM
Enter the name of your low damage heirloom. This is the heirloom that you will use for windstacking in dailies. ', 'textValue', 'undefined', null, 'Daily');
+
+
+ //RHeirloom
+ document.getElementById('dlowdmg').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rdhs', ['DHS: Off', 'DHS: On', 'DHS: Normal'], 'Heirloom swapping master button for Dailies. Turn this on to allow heirloom swapping and its associated settings. Use DHS: Normal to use the non-daily settings. ', 'multitoggle', 0, null, 'Daily');
+
+ //DShield Swapping
+ document.getElementById('Rdhs').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rdhsshield', 'Daily Shields', 'Toggle to swap Shields in Dailies', 'boolean', false, null, 'Daily');
+ createSetting('Rdhsz', 'DHSh: Zone', 'Which zone to swap from your first heirloom you have defined to your second heirloom you have defined. I.e if this value is 75 it will switch to the second heirloom on z75', 'value', '-1', null, 'Daily');
+ createSetting('Rdhs1', 'DHSh: First', 'First Heirloom to use
Enter the name of your first heirloom. This is the heirloom that you will use before swapping to the second heirloom at the zone you have defined in the HS: Zone. ', 'textValue', 'undefined', null, 'Daily');
+ createSetting('Rdhs2', 'DHSh: Second', 'Second Heirloom to use
Enter the name of your second heirloom. This is the heirloom that you will use after swapping from the first heirloom at the zone you have defined in the HS: Zone. ', 'textValue', 'undefined', null, 'Daily');
+
+ //DStaff Swapping
+ document.getElementById('Rdhs2').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rdhsstaff', 'Daily Staffs', 'Toggle to swap Staffs', 'boolean', false, null, 'Daily');
+ createSetting('Rdhsworldstaff', 'DHSt: World', 'World Staff
Enter the name of your world staff for Dailies.', 'textValue', 'undefined', null, 'Daily');
+ createSetting('Rdhsmapstaff', 'DHSt: Map', 'Mapping staff
Enter the name of your mapping staff for Dailies.', 'textValue', 'undefined', null, 'Daily');
+ createSetting('Rdhstributestaff', 'DHSt: Tribute', 'Tribute farming staff
Enter the name of the staff you would like to equip during tribute farming for Dailies', 'textValue', 'undefined', null, 'Daily');
+
+ //Shrine - U2 (Daily)
+ document.getElementById('Rdhstributestaff').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rdshrine', ['Daily AutoShrine Off', 'Daily AutoShrine On', 'DAS: Normal'], 'Turn this on if you want to use Shrines automatically in Dailies. Use DAS: Normal if you want to use the settings in the Maps tab if do not wish to copy them here. ', 'multitoggle', 0, null, 'Daily');
+ createSetting('Rdshrinemaz', 'Daily AutoShrine Settings', 'Click to open Daily AutoShrine settings.
Zone: What zone to use Bone Shrine charges.
Cell: What cell to use Bone Shrine charges at, if you use it after cell 80 you will get the benefit of all the books. to use.
Amount: How many Bone Shrine charges you wish to use.
Example: If you put Zone: 40\, Cell: 10\, Amount: 3\, you will use 3 Bone Shrine Charges at zone 40 at cell 10 in a Daily. ', 'infoclick', false, null, 'Daily');
+ createSetting('Rdshrinezone', 'AutoShrine: Zone', 'zone', 'multiValue', [-1], null, 'Daily');
+ createSetting('Rdshrinecell', 'AutoShrine: Cell', 'cell', 'multiValue', [-1], null, 'Daily');
+ createSetting('Rdshrineamount', 'AutoShrine: Amount', 'amount', 'multiValue', [-1], null, 'Daily');
+
+ //Portal Line
+ document.getElementById('Rdshrineamount').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('AutoStartDaily', 'Auto Start Daily', 'Starts Dailies for you. When you portal with this on, it will select the oldest Daily and run it. Use the settings in this tab to decide whats next. ', 'boolean', false, null, 'Daily');
+ createSetting('u2daily', 'Daily in U2', 'If this is on, you will do your daily in U2. ', 'boolean', false, null, 'Daily');
+ createSetting('AutoPortalDaily', ['Daily Portal Off', 'DP: He/Hr', 'DP: Custom'], 'DP: He/Hr: Portals when your world zone is above the minium you set (if applicable) and the buffer falls below the % you have defined.
DP: Custom: Portals after clearing the zone you have defined in Daily Custom Portal. ', 'multitoggle', '0', null, "Daily");
+ createSetting('dHeliumHourChallenge', 'DP: Challenge', 'Automatically portal into this challenge when using helium per hour or custom autoportal in dailies when there are none left. Custom portals after cell 100 of the zone specified. Do not choose a challenge if you havent unlocked it. ', 'dropdown', 'None', ['None', 'Balance', 'Decay', 'Electricity', 'Life', 'Crushed', 'Nom', 'Toxicity', 'Watch', 'Lead', 'Corrupted', 'Domination', 'Experience'], "Daily");
+ createSetting('dCustomAutoPortal', 'Daily Custom Portal', 'Automatically portal AFTER clearing this level in dailies. (ie: setting to 200 would portal when you first reach level 201)', 'value', '999', null, "Daily");
+ createSetting('dHeHrDontPortalBefore', 'D: Don\'t Portal Before', 'Do NOT allow Helium per Hour Daily AutoPortal setting to portal BEFORE this level is reached in dailies. It is an additional check that prevents drops in helium/hr from triggering autoportal in dailies. Set to 0 or -1 to completely disable this check. (only shows up with Helium per Hour set in dailies)', 'value', '999', null, "Daily");
+ createSetting('dHeliumHrBuffer', 'D: He/Hr Portal Buffer %', 'IMPORTANT SETTING. When using the Daily He/Hr Autoportal, it will portal if your He/Hr drops by this amount of % lower than your best for current run in dailies, default is 0% (ie: set to 5 to portal at 95% of your best in dailies). Now with stuck protection - Allows portaling midzone if we exceed set buffer amount by 5x. (ie a normal 2% buffer setting would now portal mid-zone you fall below 10% buffer).', 'value', '0', null, 'Daily');
+ createSetting('DailyVoidMod', 'Daily Void Zone', 'What zone to do void maps in dailies. Disable with -1', 'value', -1, null, 'Daily');
+ createSetting('dvoidscell', 'Daily Voids Cell', 'Run Voids at this Cell. -1 to run them at the default value, which is 70. ', 'value', '-1', null, 'Daily');
+ createSetting('dRunNewVoidsUntilNew', 'Daily New Voids Mod', '0 to disable. Positive numbers are added to your Void Map zone. -1 for no cap. This allows you to run new Void Maps in Dailies obtained after your Void Map zone by adding this number to your Void Map zone.
Example Void map zone=187 and This setting=10. New Voids run until 197).
This means that any new void maps gained until Z197. CAUTION: May severely slow you down by trying to do too-high level void maps. Default 0 (OFF).', 'value', '0', null, 'Daily');
+ createSetting('drunnewvoidspoison', 'New Voids Poison', 'Only run new voids in poison zones.', 'boolean', false, null, 'Daily');
+
+ //RPortal Line
+ document.getElementById('dlowdmg').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('RAutoStartDaily', 'Auto Start Daily', 'Starts Dailies for you. When you portal with this on, it will select the oldest Daily and run it. Use the settings in this tab to decide whats next. ', 'boolean', false, null, 'Daily');
+ createSetting('u1daily', 'Daily in U1', 'If this is on, you will do your daily in U1. ', 'boolean', false, null, 'Daily');
+ createSetting('RAutoPortalDaily', ['Daily Portal Off', 'DP: Rn/Hr', 'DP: Custom'], 'DP: Rn/Hr: Portals when your world zone is above the minium you set (if applicable) and the buffer falls below the % you have defined.
DP: Custom: Portals after clearing the zone you have defined in Daily Custom Portal. ', 'multitoggle', '0', null, "Daily");
+ createSetting('RdHeliumHourChallenge', 'DP: Challenge', 'Automatically portal into this challenge when using radon per hour or custom autoportal in dailies when there are none left. Custom portals after cell 100 of the zone specified. Do not choose a challenge if you havent unlocked it. ', 'dropdown', 'None', ['None', 'Bublé', 'Melt', 'Quagmire', 'Archaeology', 'Insanity', 'Nurture', 'Alchemy', 'Hypothermia'], "Daily");
+ createSetting('RdCustomAutoPortal', 'Daily Custom Portal', 'Automatically portal AFTER clearing this level in dailies. (ie: setting to 200 would portal when you first reach level 201)', 'value', '999', null, "Daily");
+ createSetting('RdHeHrDontPortalBefore', 'D: Don\'t Portal Before', 'Do NOT allow Radon per Hour Daily AutoPortal setting to portal BEFORE this level is reached in dailies. It is an additional check that prevents drops in radon/hr from triggering autoportal in dailies. Set to 0 or -1 to completely disable this check. (only shows up with Radon per Hour set in dailies)', 'value', '999', null, "Daily");
+ createSetting('RdHeliumHrBuffer', 'D: Rn/Hr Portal Buffer %', 'IMPORTANT SETTING. When using the Daily Rn/Hr Autoportal, it will portal if your Rn/Hr drops by this amount of % lower than your best for current run in dailies, default is 0% (ie: set to 5 to portal at 95% of your best in dailies). Now with stuck protection - Allows portaling midzone if we exceed set buffer amount by 5x. (ie a normal 2% buffer setting would now portal mid-zone you fall below 10% buffer).', 'value', '0', null, 'Daily');
+ createSetting('RDailyVoidMod', 'Daily Void Zone', 'What zone to do void maps in dailies. Disable with -1', 'value', -1, null, 'Daily');
+ createSetting('RdRunNewVoidsUntilNew', 'Daily New Voids Mod', '0 to disable. Positive numbers are added to your Void Map zone. -1 for no cap. This allows you to run new Void Maps in Dailies obtained after your Void Map zone by adding this number to your Void Map zone.
Example Void map zone=187 and This setting=10. New Voids run until 197).
This means that any new void maps gained until Z197. CAUTION: May severely slow you down by trying to do too-high level void maps. Default 0 (OFF).', 'value', '0', null, 'Daily');
+
+
+
+ //C2
+
+ //Line 1
+ createSetting('FinishC2', 'Finish Challenge2', 'DONT USE THIS WITH C2 RUNNER
Finish / Abandon Challenge2 (any) when this zone is reached, if you are running one. For manual use. Recommended: Zones ending with 0 for most Challenge2. Disable with -1. Does not affect Non-Challenge2 runs.', 'value', -1, null, 'C2');
+ createSetting('buynojobsc', 'No F/L/M in C2', 'Buys No Farmers, Lumberjacks or Miners in the C2 challenges Watch and Trapper. ', 'boolean', 'false', null, "C2");
+ createSetting('cfightforever', 'Tox/Nom Fight Always', 'Sends trimps to fight if they\'re not fighting in the Toxicity and Nom Challenges, regardless of BAF. Essenitally the same as the one in combat, can use either if you wish, except this will only activate in these challenges (duh) ', 'boolean', 'false', null, 'C2');
+ createSetting('carmormagic', ['C2 Armor Magic Off', 'CAM: Above 80%', 'CAM: H:D', 'CAM: Always'], 'Will buy Armor to try and prevent death on Nom/Tox Challenges under the 3 conditions.
Above 80%: Will activate at and above 80% of your HZE and when your health is sufficiently low.
H:D: Will activate at and above the H:D you have defined in maps.
Always Will activate always.
All options will activate at or below 25% of your health. ', 'multitoggle', 0, null, "C2");
+ createSetting('mapc2hd', 'Mapology H:D', 'Set your H:D ratio for Mapology. Will not go into maps unless your H:D ratio is above this. -1 to use normal behaviour. ', 'value', '-1', null, 'C2');
+ createSetting('novmsc2', 'No VMs', 'Turn off VM running for C2s. Handy for the C2 Runner. ', 'boolean', 'false', null, "C2");
+
+ //C2 Runner Line
+ document.getElementById('novmsc2').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('c2runnerstart', 'C2 Runner', 'Runs the normal C2s in sequence according to difficulty. See C2Table for list. Once zone you have defined has been reached, will portal into next. I will advise you not to touch the challenges (abandoning, doing a different one, etc) if you are running this, it could break it. Only runs challenges that need updating, will not run ones close-ish to your HZE. ', 'boolean', false, null, 'C2');
+ createSetting('c2runnerportal', 'C2 Runner Portal', 'Automatically portal AFTER clearing this level in C2 Runner. (ie: setting to 200 would portal when you first reach level 201)', 'value', '999', null, "C2");
+ createSetting('c2runnerpercent', 'C2 Runner %', 'What percent Threshhold you want C2s to be over. E.g 85, will only run C2s with HZE% below this number. Default is 85%. Must have a value set for C2 Runner to... well, run. ', 'value', '85', null, "C2");
+ createSetting('c2table', 'C2 Table', 'Display your C2s and C3s in a convenient table which is colour coded.
Green = Not worth updating.
Yellow = Consider updating.
Red = Updating this C2/C3 is worth doing.
Blue = You have not yet done/unlocked this C2/C3 challenge. ', 'infoclick', 'c2table', null, 'C2');
+
+
+
+ //Buildings
+
+ //Line 1
+ createSetting('hidebuildings', 'Hide Buildings', 'If you have unlocked Autostructure and Decabuild, this setting will appear and enable you to hide the now obsolete building settings, so please use AutoStructure instead. The settings will only disappear if you disable the buy buildings button and turn this on. It will not hide the Gym settings as Autostructure does not allow you to customize how you buy them. ', 'boolean', false, null, "Buildings");
+ createSetting('BuyBuildingsNew', ['Buy Neither', 'Buy Buildings & Storage', 'Buy Buildings', 'Buy Storage'], 'AutoBuys Storage when it is almost full (it even anticipates Jestimp) and Non-Storage Buildings (As soon as they are available). Takes cost efficiency into account before buying Non-Storage Buildings.', 'multitoggle', 1, null, "Buildings");
createSetting('WarpstationCap', 'Warpstation Cap', 'Do not level Warpstations past Basewarp+DeltaGiga **. Without this, if a Giga wasnt available, it would level infinitely (wastes metal better spent on prestiges instead.) **The script bypasses this cap each time a new giga is bought, when it insta-buys as many as it can afford (since AT keeps available metal/gems to a low, overbuying beyond the cap to what is affordable at that first moment is not a bad thing). ', 'boolean', true, null, 'Buildings');
createSetting('WarpstationCoordBuy', 'Buy Warp to Hit Coord', 'If we are very close to hitting the next coordination, and we can afford the warpstations it takes to do it, Do it! (even if we are over the Cap/Wall). Recommended with WarpCap/WarpWall. (has no point otherwise) ', 'boolean', true, null, 'Buildings');
createSetting('MaxHut', 'Max Huts', 'Huts', 'value', '100', null, "Buildings");
createSetting('MaxHouse', 'Max Houses', 'Houses', 'value', '100', null, "Buildings");
createSetting('MaxMansion', 'Max Mansions', 'Mansions', 'value', '100', null, "Buildings");
createSetting('MaxHotel', 'Max Hotels', 'Hotels', 'value', '100', null, "Buildings");
- //Line2
+
+ //Line 2
createSetting('MaxResort', 'Max Resorts', 'Resorts', 'value', '100', null, "Buildings");
- createSetting('MaxGateway', 'Max Gateways', 'WARNING: Not recommended to raise above 25', 'value', '25', null, "Buildings");
+ createSetting('MaxGateway', 'Max Gateways', 'Gateways', 'value', '25', null, "Buildings");
createSetting('MaxWormhole', 'Max Wormholes', 'WARNING: Wormholes cost helium! Values below 0 do nothing.', 'value', '0', null, "Buildings");
createSetting('MaxCollector', 'Max Collectors', 'recommend: -1', 'value', '-1', null, "Buildings");
createSetting('MaxGym', 'Max Gyms', 'Advanced. recommend: -1', 'value', '-1', null, "Buildings");
createSetting('MaxTribute', 'Max Tributes', 'Advanced. recommend: -1 ', 'value', '-1', null, "Buildings");
- createSetting('GymWall', 'Gym Wall', 'Conserves Wood. Only buys 1 Gym when you can afford X gyms wood cost (at the first one\'s price, simple math). -1 or 0 to disable. In other words, only allows gyms that cost less than 1/nth your currently owned wood. (to save wood for nurseries for new z230+ Magma nursery strategy). Takes decimal numbers. (Identical to the Warpstation wall setting which is why its called that). Setting to 1 does nothing besides stopping gyms from being bought 2 at a time due to the mastery.', 'value', -1, null, 'Buildings');
- //Line3
+ createSetting('GymWall', 'Gym Wall', 'Conserves Wood. Only buys 1 Gym when you can afford X gyms wood cost (at the first one\'s price, simple math). -1 or 0 to disable. In other words, only allows gyms that cost less than 1/nth your currently owned wood. (to save wood for nurseries for new z230+ Magma nursery strategy). Takes decimal numbers. (Identical to the Warpstation wall setting which is why its called that). Setting to 1 does nothing besides stopping gyms from being bought 2 at a time due to the mastery.', 'value', -1, null, 'Buildings'); //remove?
+
+ //Line 3
createSetting('FirstGigastation', 'First Gigastation', 'How many warpstations to buy before your first gigastation', 'value', '20', null, "Buildings");
- createSetting('DeltaGigastation', 'Delta Gigastation', 'How many extra warpstations to buy for each gigastation. Supports decimal values. For example 2.5 will buy +2/+3/+2/+3...', 'value', '2', null, "Buildings");
+ createSetting('DeltaGigastation', 'Delta Gigastation', 'YOU MUST HAVE BUY UPGRADES ENABLED!
How many extra warpstations to buy for each gigastation. Supports decimal values. For example 2.5 will buy +2/+3/+2/+3...', 'value', '2', null, "Buildings");
+ createSetting('AutoGigas', 'Auto Gigas', "Advanced.
If enabled, AT will buy its first Gigastation if:
A) Has more than 2 Warps &
B) Can't afford more Coords &
C) (Only if Custom Delta Factor > 20) Lacking Health or Damage &
D) (Only if Custom Delta Factor > 20) Has run at least 1 map stack or
E) If forced to by using the firstGiga(true) command in the console.
Then, it'll calculate the delta based on your Custom Delta Factor and your Auto Portal/VM zone (whichever is higher), or Daily Auto Portal/VM zone, or C2 zone, or Custom AutoGiga Zone.", 'boolean', 'true', null, 'Buildings');
+ createSetting('CustomTargetZone', 'Custom Target Zone', 'To be used with Auto Gigas.
The zone to be used as a the target zone when calculating the Auto Gigas delta.
Values below 60 will be discarded.', 'value', '-1', null, "Buildings");
+ createSetting('CustomDeltaFactor', 'Custom Delta Factor', 'Advanced. To be used with Auto Gigas.
This setting is used to calculate a better Delta. Think of this setting as how long your target zone takes to complete divided by the zone you bought your first giga in.
Basically, a higher number means a higher delta. Values below 1 will default to 10.
Recommended: 1-2 for very quick runs. 5-10 for regular runs where you slow down at the end. 20-100+ for very pushy runs.', 'value', '-1', null, "Buildings");
createSetting('WarpstationWall3', 'Warpstation Wall', 'Conserves Metal. Only buys 1 Warpstation when you can afford X warpstations metal cost (at the first one\'s price, simple math). -1, 0, 1 = disable. In other words, only allows warps that cost less than 1/nth your currently owned metal. (to save metal for prestiges)', 'value', -1, null, 'Buildings');
createSetting('MaxNursery', 'Max Nurseries', 'Advanced. Recommend: -1 until you reach Magma (z230+)', 'value', '-1', null, "Buildings");
- createSetting('NoNurseriesUntil', 'No Nurseries Until z', 'For Magma z230+ purposes. Nurseries get shut down, and wasting nurseries early on is probably a bad idea. Might want to set this to 230+ for now. Can use combined with the old Max Nurseries cap setting.', 'value', -1, null, 'Buildings');
- createSetting('PreSpireNurseries', 'Nurseries pre-Spire', 'Set the maximum number of Nurseries to build for Spires. Overrides No Nurseries Until z and Max Nurseries so you can keep them seperate! Will build nurseries before z200 for Spire 1, but only on the zone of Spires 2+ to avoid unnecessary burning. Disable with -1.', 'value', -1, null, 'Buildings');
+ //Line 4
+ createSetting('NurseryWall', 'Nursery Wall', 'Only spends N% of resources on nurseries. N being this setting. ', 'value', -1, null, 'Buildings');
+ createSetting('NoNurseriesUntil', 'No Nurseries Until z', 'Builds Nurseries starting from this zone. -1 to build from when they are unlocked. ', 'value', '-1', null, 'Buildings');
+
+ //RBuildings
+
+ //Line 1
+ createSetting('RBuyBuildingsNew', 'AutoBuildings', 'Buys buildings in an efficient way. Also enables Vanilla AutoStorage if its off. ', 'boolean', 'true', null, "Buildings");
+ createSetting('RMaxHut', 'Max Huts', 'Huts', 'value', '100', null, "Buildings");
+ createSetting('RMaxHouse', 'Max Houses', 'Houses', 'value', '100', null, "Buildings");
+ createSetting('RMaxMansion', 'Max Mansions', 'Mansions', 'value', '100', null, "Buildings");
+ createSetting('RMaxHotel', 'Max Hotels', 'Hotels', 'value', '100', null, "Buildings");
+ createSetting('RMaxResort', 'Max Resorts', 'Resorts', 'value', '100', null, "Buildings");
+ createSetting('RMaxGateway', 'Max Gateways', 'Gateways', 'value', '25', null, "Buildings");
+
+ //Line 2
+ createSetting('RMaxCollector', 'Max Collectors', 'recommend: -1', 'value', '-1', null, "Buildings");
+ createSetting('RMaxTribute', 'Max Tributes', 'Advanced. recommend: -1 ', 'value', '-1', null, "Buildings");
+ createSetting('RMaxLabs', 'Max Labs', 'It is about 10 labs per level at level 10 plus. ', 'value', '0', null, "Buildings");
+ createSetting('Rmeltsmithy', 'Melt Smithy', 'Run the Melting Point Map to gain one extra Smithy when at or above this value. ', 'value', '-1', null, "Buildings");
+ createSetting('Rsmithylogic', 'Smithy Savings', 'ABSOLUTELY WILL NOT WORK IN TESTING!
Uses Smithy Saving logic when this is turned on. Make sure every SS setting is set above 0 or it wont work. This feature will stop using resources on items needed for Smithy when you have reached the targets you have selected.', 'boolean', 'false', null, "Buildings");
+ createSetting('Rsmithynumber', 'SS: Number', 'Start SS at this number of Smithys. I.e 9, will buy anything regardless of Smithy before having 9 Smithys. After 9 has been reached will start to save up for them. ', 'value', '-1', null, "Buildings");
+ createSetting('Rsmithypercent', 'SS: Percent', 'If you have SS enabled this value will allow items below this value to be purchased. I.e if this is set to 1, it will only buy items if that item is 1% of Smithys cost or lower. ', 'value', '-1', null, "Buildings");
+ createSetting('Rsmithyseconds', 'SS: Seconds', 'How many seconds SS starts activating at. I.e 120, if your Smithy is 120 seconds away from being purchased SS will kick in. ', 'value', '-1', null, "Buildings");
-//Jobs
- createSetting('BuyJobs', 'Buy Jobs', 'Buys jobs based on ratios configured below. CAUTION: you cannot manually assign jobs with this. Toggle if you need to.', 'boolean', true, null, "Jobs");
- createSetting('WorkerRatios', 'Auto Worker Ratios', 'Automatically changes worker ratios based on current progress. WARNING: overrides worker ratio settings. Settings: 1/1/1 up to 300k trimps, 3/3/5 up to 3mil trimps, then 3/1/4 above 3 mil trimps, then 1/1/10 above 1000 tributes, then 1/2/22 above 1500 tributes, then 1/12/12 above 3000 tributes.', 'boolean', true, null, "Jobs");
+ //Jobs
+
+ //Line 1
+ createSetting('fuckjobs', 'Hide Jobs', 'Hides obsolete settings when you have obtained the AutoJobs Mastery. It should be far better to use than AT, Especially on c2 Challenges like Watch. ', 'boolean', 'false', null, "Jobs");
+ createSetting('BuyJobsNew', ['Don\'t Buy Jobs', 'Auto Worker Ratios', 'Manual Worker Ratios'], 'Manual Worker Ratios buys jobs for your trimps according to the ratios below, Make sure they are all different values, if two of them are the same it might causing an infinite loop of hiring and firing! Auto Worker ratios automatically changes these ratios based on current progress, overriding your ratio settings.
AutoRatios: 1/1/1 up to 300k trimps, 3/3/5 up to 3mil trimps, then 3/1/4 above 3 mil trimps, then 1/1/10 above 1000 tributes, then 1/2/22 above 1500 tributes, then 1/12/12 above 3000 tributes.
CAUTION: You cannot manually assign jobs with this, turn it off if you have to', 'multitoggle', 1, null, "Jobs");
createSetting('AutoMagmamancers', 'Auto Magmamancers', 'Auto Magmamancer Management. Hires Magmamancers when the Current Zone time goes over 10 minutes. Does a one-time spend of at most 10% of your gem resources. Every increment of 10 minutes after that repeats the 10% hiring process. Magmamancery mastery is accounted for, with that it hires them at 5 minutes instead of 10. Disclaimer: May negatively impact Gem count.', 'boolean', true, null, 'Jobs');
createSetting('FarmerRatio', 'Farmer Ratio', '', 'value', '1', null, "Jobs");
createSetting('LumberjackRatio', 'Lumberjack Ratio', '', 'value', '1', null, "Jobs");
createSetting('MinerRatio', 'Miner Ratio', '', 'value', '1', null, "Jobs");
- createSetting('MaxScientists', 'Max Scientists', 'Enable or disable hiring of scientists or Cap your scientists. (This is NOT a ratio, it is an absolute number). Recommend: -1 (infinite cap, hiring controls itself). 0 means Dont Hire Scientists at all. Any other number sets the population cap, not the ratio. Scientist ratio can be controlled by internal variable: MODULES[\\"jobs\\"].scientistRatio = 25; Example Math Behind It: ScientistRatio=(FarmerRatio+LumberjackRatio+MinerRatio)/25.', 'value', '-1', null, "Jobs");
- //Line2
- createSetting('MaxExplorers', 'Max Explorers', 'Advanced. Cap your explorers. recommend: -1', 'value', '-1', null, "Jobs");
- createSetting('MaxTrainers', 'Max Trainers', 'Advanced. Cap your trainers. recommend: -1', 'value', '-1', null, "Jobs");
- createSetting('TrainerCaptoTributes', 'Cap Trainers %', 'Only Buy a Trainer when its cost is LESS than X% of cost of a tribute. This setting can work in combination with the other one, or set the other one to -1 and this will take full control. Default: -1 (Disabled). 50% is close to the point where the cap does nothing. You can go as low as you want but recommended is 10% to 1%. (example: Trainer cost of 5001, Tribute cost of 100000, @ 5%, it would NOT buy the trainer.)', 'value', '-1', null, 'Jobs');
- createSetting('BreedFire', 'Breed Fire', 'OPTIONAL. Fire Lumberjacks and Miners to speed up breeding when needed. Basically trades wood/metal to cut the wait between deaths down. Disclaimer: May heavily negatively impact wood-gathering. ', 'boolean', false, null, 'Jobs');
+ createSetting('MaxScientists', 'Max Scientists', 'Advanced. Cap your scientists (This is an absolute number not a ratio). recommend: -1 (infinite still controls itself)', 'value', '-1', null, "Jobs");
+ createSetting('MaxExplorers', 'Max Explorers', 'Advanced. Cap your explorers (This is an absolute number not a ratio). recommend: -1', 'value', '-1', null, "Jobs");
+ //Line 2
+ createSetting('MaxTrainers', 'Max Trainers', 'Advanced. Cap your trainers (This is an absolute number not a ratio). recommend: -1', 'value', '-1', null, "Jobs");
+ //RJobs
-//GEAR:
- createSetting('BuyArmor', 'Buy Armor Levels', 'Auto-Buy/Level-Up the most cost efficient armor available. ', 'boolean', true, null, "Gear");
- createSetting('BuyArmorUpgrades', 'Buy Armor Prestiges', '(Prestiges) & Gymystic. Will buy the most efficient armor upgrade available. ', 'boolean', true, null, "Gear");
- createSetting('BuyWeapons', 'Buy Weapon Levels', 'Auto-Buy/Level-Up the most cost efficient weapon available. ', 'boolean', true, null, "Gear");
- createSetting('BuyWeaponUpgrades', 'Buy Weapon Prestiges', '(Prestiges) Will buy the most efficient weapon upgrade available. ', 'boolean', true, null, "Gear");
- createSetting('CapEquip2', 'Cap Equip to', 'Do not level equipment past this number. Helps stop wasting metal when the script levels-up equip High, only to prestige right after. Recommended value: earlygame 10, lategame: 100. Disable with -1 or 0. NEW: Also sub-caps to 10% of your number during liquified or overkilled(under 25sec) zones. This does not mean the script always hits the cap. Your Equip will now always be leveled to at least 2 since its the most effective level. It will only be leveled however if you dont have enoughHealth or enoughDamage. But During Spire, everything will be leveled up to the cap.
Hidden var: MODULES[\\"equipment\\"].capDivisor = 10; //number to divide your normal cap by.', 'value', 10, null, 'Gear');
- createSetting('DynamicPrestige2', 'Dynamic Prestige z', 'Dynamic Prestige: Set Target Zone number: Z #. (disable with 0 or -1)
Skip getting prestiges at first, and Gradually work up to the desired Prestige setting you have set (set the Prestige dropdown to the highest weapon you want to end up on at the target zone you set here). Runs with Dagger to save a significant amount of time until we need better gear, then starts increasing the prestige setting near the end of the run. Examines which prestiges you have, how many missing ones youd need to achieve the desired target and starts running maps every zone (more maps for higher settings), Until the target prestige is reached. ', 'value', -1, null, 'Gear');
- createSetting('Prestige', 'Prestige', 'Acquire prestiges through the selected item (inclusive) as soon as they are available in maps. Forces equip first mode. Automap must be enabled. THIS IS AN IMPORTANT SETTING related to speed climbing and should probably always be on something. If you find the script getting stuck somewhere, particularly where you should easily be able to kill stuff, setting this to an option lower down in the list will help ensure you are more powerful at all times, but will spend more time acquiring the prestiges in maps.', 'dropdown', 'Polierarm', ['Off', 'Supershield', 'Dagadder', 'Bootboost', 'Megamace', 'Hellishmet', 'Polierarm', 'Pantastic', 'Axeidic', 'Smoldershoulder', 'Greatersword', 'Bestplate', 'Harmbalest', 'GambesOP'], "Gear");
- //Make a backup of the prestige setting: backup setting grabs the actual value of the primary setting any time it is changed, (line 784 of the function settingChanged())
- var lastSetting = autoTrimpSettings["PrestigeBackup"];
- autoTrimpSettings["PrestigeBackup"] = {
- selected: (lastSetting != undefined ? lastSetting.selected : autoTrimpSettings["Prestige"].selected ) || "Off",
- id: "PrestigeBackup",
- name: "PrestigeBackup"
- };
- //Line2:
- createSetting('ForcePresZ', 'Force Prestige Z', 'On and after this zone is reached, always try to prestige for everything immediately, ignoring Dynamic Prestige settings and overriding that of Linear Prestige. Prestige Skip mode will exit this. Disable with -1.', 'value', -1, null, 'Gear');
- createSetting('PrestigeSkipMode', 'Prestige Skip Mode', 'If there are more than 2 Unbought Prestiges (besides Shield), ie: sitting in your upgrades window but you cant afford them, AutoMaps will not enter Prestige Mode, and/or will exit from it. The amount of unboughts can be configured with this variable MODULES[\\"maps\\"].SkipNumUnboughtPrestiges = 2;', 'boolean', false, null, "Gear");
- createSetting('PrestigeSkip2', 'Prestige Skip 2', 'If there are 2 or fewer Unobtained Weapon Prestiges in maps, ie: there are less than 2 types to run for, AutoMaps will not enter Prestige Mode, and/or will exit from it. For users who tends to not need the last few prestiges due to resource gain not keeping up. The amount of unboughts can be configured with MODULES.maps.UnearnedPrestigesRequired. If PrestigeSkipMode is enabled, both conditions need to be reached before exiting.', 'boolean', false, null, 'Gear');
- createSetting('DelayArmorWhenNeeded', 'Delay Armor Prestige', 'Delays buying armor prestige-upgrades during Want More Damage or Farming automap-modes, Although if you need health AND damage, it WILL buy armor prestiges tho. NOTE: Applies to Prestiges only', 'boolean', false, null, 'Gear');
- createSetting('BuyShieldblock', 'Buy Shield Block', 'Will buy the shield block upgrade. CAUTION: If you are progressing past zone 60, you probably don\'t want this :)', 'boolean', false, null, "Gear");
+ //Line 1
+ createSetting('RBuyJobsNew', ['Don\'t Buy Jobs', 'Auto Worker Ratios', 'Manual Worker Ratios'], 'Manual Worker Ratios buys jobs for your trimps according to the ratios below, Make sure they are all different values, if two of them are the same it might causing an infinite loop of hiring and firing! Auto Worker ratios automatically changes these ratios based on current progress, overriding your ratio settings.
AutoRatios: 1/1/1 up to 300k trimps, 3/3/5 up to 3mil trimps, then 3/1/4 above 3 mil trimps, then 1/1/10 above 1000 tributes, then 1/2/22 above 1500 tributes, then 1/12/12 above 3000 tributes.
CAUTION: You cannot manually assign jobs with this, turn it off if you have to', 'multitoggle', 1, null, "Jobs");
+ createSetting('RFarmerRatio', 'Farmer Ratio', '', 'value', '1', null, "Jobs");
+ createSetting('RLumberjackRatio', 'Lumberjack Ratio', '', 'value', '1', null, "Jobs");
+ createSetting('RMinerRatio', 'Miner Ratio', '', 'value', '1', null, "Jobs");
+ createSetting('RMaxExplorers', 'Max Explorers', 'Advanced. Cap your explorers (This is an absolute number not a ratio). recommend: -1', 'value', '-1', null, "Jobs");
+
+ //Ships
+ document.getElementById('RMaxExplorers').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rshipfarmon', 'Ship Farming', 'Turn Ship Farming off or on. You need to have unlocked Large Savory Cache to use this. If you have not I would recommend Time Farm instead. ', 'boolean', 'false', null, "Jobs");
+ createSetting('Rshipfarmzone', 'SF: Zone', 'Farms for specified worshippers in SF: Amount at zone according to this settings value. Can use 59,61,62. ', 'multiValue', [-1], null, 'Jobs');
+ createSetting('Rshipfarmcell', 'SF: Cell', 'Ship Farm at this Cell. -1 to run them at the default value, which is 1. ', 'value', '-1', null, 'Jobs');
+ createSetting('Rshipfarmamount', 'SF: Amount', 'How many Worshippers to farm up to at zone specified in SF. Can use 50,45,40. These values should match up to your SF zones. If using SF and SF: Amount examples (59 and 50 respectively) it will farm at z59 up to 50 Worshippers. Just use one 50 if you want it to farm to 50 everytime. ', 'multiValue', [-1], null, 'Jobs');
+ createSetting('Rshipfarmlevel', 'SF: Map Level', 'What map level to use for SF. Can use -1,1,2. -1 to use a level down from world (Map Reducer mastery gives loot equal to world one level down), 0 to use world, 1 etc to use +maps. Using 0 by itself will use global level for all maps. ', 'multiValue', [0], null, 'Jobs');
+ createSetting('Rshipfarmfrag', 'SF: Frags', '**Ship farming will create infinite maps if this isnt on**
Turn this on to farm fragments if you cannot afford the map you have selected for SF. ', 'boolean', 'false', null, 'Jobs');
+ //Gear
+ //Line 1
+ createSetting('BuyArmorNew', ['Armor: Buy Neither', 'Armor: Buy Both', 'Armor: Prestiges', 'Armor: Levels'], 'AutoBuys Prestiges and Levels up the most cost efficient Armor available. Gymystic buying is controlled under this setting\'s prestige option', 'multitoggle', 1, null, "Gear"); //This should replace the two below
+ createSetting('BuyWeaponsNew', ['Weapons: Buy Neither', 'Weapons: Buy Both', 'Weapons: Prestiges', 'Weapons: Levels'], 'AutoBuys Prestiges and Levels up the most cost efficient Weapon available.', 'multitoggle', 1, null, "Gear"); //This should replace the two below
+ createSetting('CapEquip2', 'Weapon Level Cap', 'Do not level Weapons past this number. Helps stop wasting metal when the script levels-up equip High, only to prestige right after. Recommended value: earlygame 10, lategame: 100. Disable with -1 or 0. NEW: Also sub-caps to 10% of your number during liquified or overkilled(under 25sec) zones. This does not mean the script always hits the cap. Your Equip will now always be leveled to at least 2 since its the most effective level. It will only be leveled however if you dont have enoughDamage. But During Spire, everything will be leveled up to the cap.
Hidden var: MODULES[\\"equipment\\"].capDivisor = 10; //number to divide your normal cap by.', 'value', 10, null, 'Gear');
+ createSetting('CapEquiparm', 'Armor Level Cap', 'Do not level Armor past this number. Helps stop wasting metal when the script levels-up equip High, only to prestige right after. Recommended value: earlygame 10, lategame: 100. Disable with -1 or 0. NEW: Also sub-caps to 10% of your number during liquified or overkilled(under 25sec) zones. This does not mean the script always hits the cap. Your Equip will now always be leveled to at least 2 since its the most effective level. It will only be leveled however if you dont have enoughHealth. But During Spire, everything will be leveled up to the cap.
Hidden var: MODULES[\\"equipment\\"].capDivisor = 10; //number to divide your normal cap by.', 'value', 10, null, 'Gear');
+ createSetting('dmgcuntoff', 'Equipment Cut Off', 'Decides when to buy gear. 4 is default. This means it will take 1 hit to kill an enemy if in D stance. ', 'value', '4', null, 'Gear');
+ createSetting('DynamicPrestige2', 'Dynamic Prestige z', 'Dynamic Prestige: Set Target Zone number: Z #. (disable with 0 or -1)
Skip getting prestiges at first, and Gradually work up to the desired Prestige setting you have set (set the Prestige dropdown to the highest weapon you want to end up on at the target zone you set here). Runs with Dagger to save a significant amount of time until we need better gear, then starts increasing the prestige setting near the end of the run. Examines which prestiges you have, how many missing ones youd need to achieve the desired target and starts running maps every zone (more maps for higher settings), Until the target prestige is reached. Use Dagger or else', 'value', -1, null, 'Gear');
+ createSetting('Prestige', 'Prestige', 'Acquire prestiges through the selected item (inclusive) as soon as they are available in maps. Forces equip first mode. Automap must be enabled. THIS IS AN IMPORTANT SETTING related to speed climbing and should probably always be on something. If you find the script getting stuck somewhere, particularly where you should easily be able to kill stuff, setting this to an option lower down in the list will help ensure you are more powerful at all times, but will spend more time acquiring the prestiges in maps.', 'dropdown', 'Polierarm', ['Off', 'Supershield', 'Dagadder', 'Bootboost', 'Megamace', 'Hellishmet', 'Polierarm', 'Pantastic', 'Axeidic', 'Smoldershoulder', 'Greatersword', 'Bestplate', 'Harmbalest', 'GambesOP'], "Gear");
-//AutoMaps + VoidMaps settings:
-//Could combine automaps and run unique maps into one 3 way toggle: Automaps on, Non-unique maps only, Automaps off.
- createSetting('AutoMaps', ["Auto Maps Off","Auto Maps","Auto Maps No Unique"], 'Recommended. Automatically run maps to progress. Very Important. Has multiple modes: Prestige, Voids, Want more Damage, Want more Health, Want Health & Damage, and Farming.Prestige takes precedence and does equal level maps until it gets what is needed as per Autotrimps Prestige dropdown setting. Voids is self explanatory: use the Void Difficulty Check setting to control the amount of farming. If \'want more damage\', it will only do 10 maps for 200% mapbonus damage bonus. If \'Farming\', it does maps beyond 10 if the displayed number is over >16x. \'Want more health[or and damage]\' is basically just a status message telling you need more health, theres not much that can be done besides tell AutoLevelEquipment to keep buying stuff. If you \'want health\' but your damage is OK to continue, invest in more HP perks.
Maps/Levels: Automation for the idle incremental game 'Trimps' View the Project on GitHub genbtc/AutoTrimps Having trouble with Pages? Check out our documentation or contact support and we’ll help you sort it out.
The Block - 12
The Wall - 16
Dimension of Anger - 21
Trimple Of Doom - 34
The Prison - 82
Bionic Wonderland (only during Crushed) @ 127
NOTE: This should generally be on.
NOTE: Run Bionic Before Spire prevents the setting of Unique.
NOTICE: This does NOT auto-run all your Bionics according to your lack of Robotrimp status or whether you pass a certain level (yet).', 'multitoggle', 1, null, "Maps");
+ //Line 2
+ createSetting('ForcePresZ', 'Force Prestige Z', 'On and after this zone is reached, always try to prestige for everything immediately, ignoring Dynamic Prestige settings and overriding that of Linear Prestige. Prestige Skip mode will exit this. Disable with -1.', 'value', -1, null, 'Gear');
+ createSetting('PrestigeSkip1_2', ['Prestige Skip Off', 'Prestige Skip 1 & 2', 'Prestige Skip 1', 'Prestige Skip 2'], 'Prestige Skip 1: If there are more than 2 Unbought Prestiges (besides Shield), ie: sitting in your upgrades window but you cant afford them, AutoMaps will not enter Prestige Mode, and/or will exit from it. The amount of unboughts can be configured with this variable MODULES[\\"maps\\"].SkipNumUnboughtPrestiges = 2;
Prestige Skip 2: If there are 2 or fewer Unobtained Weapon Prestiges in maps, ie: there are less than 2 types to run for, AutoMaps will not enter Prestige Mode, and/or will exit from it. For users who tends to not need the last few prestiges due to resource gain not keeping up. The amount of unboughts can be configured with MODULES.maps.UnearnedPrestigesRequired. If PrestigeSkipMode is enabled, both conditions need to be reached before exiting.', 'multitoggle', 0, null, "Gear");
+ createSetting('DelayArmorWhenNeeded', 'Delay Armor Prestige', 'Delays buying armor prestige-upgrades during Want More Damage or Farming automap-modes, Although if you need health AND damage, it WILL buy armor prestiges tho. NOTE: Applies to Prestiges only', 'boolean', false, null, 'Gear');
+ createSetting('BuyShieldblock', 'Buy Shield Block', 'Will buy the shield block upgrade. CAUTION: If you are progressing past zone 60, you probably don\'t want this :)', 'boolean', false, null, "Gear");
+ createSetting('trimpsnotdie', 'Buy Armor on Death', 'Buys 10 levels of Armor when Trimps die. Useful when your trimps die frequentely. ', 'boolean', false, null, "Gear");
+ createSetting('gearamounttobuy', 'Gear Levels to Buy', 'Set the amount of Gear Levels to buy for AT. I.e if set to 1 will buy 1 level at a time. Recommended value 1. MUST ALWAYS HAVE A VALUE GREATER THAN 0! ', 'value', 1, null, "Gear");
+ createSetting('always2', 'Always Level 2', 'Always buys level 2 of weapons and armor regardless of efficiency', 'boolean', false, null, "Gear");
+
+
+ //RGear
+
+ //Line 1
+ createSetting('Requipon', 'AutoEquip', 'AutoEquip. Buys Prestiges and levels equipment according to various settings. Will only buy prestiges if it is worth it. Levels all eqiupment according to best efficiency. ', 'boolean', false, null, "Gear");
+ createSetting('Rdmgcuntoff', 'AE: Cut-off', 'Decides when to buy gear. 1 is default. This means it will take 1 hit to kill an enemy. If zone is below the zone you have defined in AE: Zone then it will only buy equips when needed. ', 'value', '1', null, 'Gear');
+ createSetting('Requipamount', 'AE: Amount', 'How much equipment to level per time. ', 'value', 1, null, "Gear");
+ createSetting('Requipcapattack', 'AE: Weapon Cap', 'What level to stop buying Weapons at. ', 'value', 50, null, "Gear");
+ createSetting('Requipcaphealth', 'AE: Armour Cap', 'What level to stop buying Armour at. ', 'value', 50, null, "Gear");
+ createSetting('Requipzone', 'AE: Zone', 'What zone to stop caring about H:D and buy as much prestiges and equipment as possible. ', 'value', -1, null, "Gear");
+ createSetting('Requippercent', 'AE: Percent', 'What percent of resources to spend on equipment before the zone you have set in AE: Zone', 'value', 1, null, "Gear");
+ createSetting('Requip2', 'AE: 2', 'Always buys level 2 of weapons and armor regardless of efficiency', 'boolean', true, null, "Gear");
+ document.getElementById('Requip2').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Requipfarmon', 'AE: Farm', 'AutoEquip Farm. Calculates metal needed to reach the target you have defined in the AEF settings. Will try to buy the best map you can make. Will never make a plus map as this is intended for us on deep push runs. ', 'boolean', false, null, "Gear");
+ createSetting('Requipfarmzone', 'AEF: Zone', 'What zone to start AEF: H:D and AEF: Multiplier. ', 'value', '-1', null, 'Gear');
+ createSetting('RequipfarmHD', 'AEF: H:D', 'What H:D to use for AEF target. ', 'value', '-1', null, 'Gear');
+ createSetting('Requipfarmmult', 'AEF: Multiplier', 'Starting from the zone above AEF: Zone, this setting will multiply the H:D you have set in AEF: H:D. So if AEF: Zone was 100, AEF: H:D was 10, AEF: Multiplier was 1.2, at z101 your H:D target will be 12, then at z102 it will be 14.4 and so on. This way you can account for the zones getting stronger and you will not waste time farming for a really low H:D. ', 'value', '-1', null, 'Gear');
+ createSetting('Requipfarmhits', 'AEF: Hits', 'How many hits do you want to kill an enemy in a AEF map. ', 'value', '-1', null, 'Gear');
+
+
+
+ //Maps
+
+ //Line 1
+ createSetting('AutoMaps', ["Auto Maps Off", "Auto Maps On", "Auto Maps: Unique"], 'Automaps. Recommended ON. Do not use MaZ, it will not work. Automaps: Unique will unlock settings for each unique map. Select which unique maps you would like to run\, but otherwise functions the same. ', 'multitoggle', 1, null, "Maps");
+ createSetting('AMUblock', 'AMU: The Block', 'Turn on to run this map every run. ', 'boolean', false, null, 'Maps');
+ createSetting('AMUwall', 'AMU: The Wall', 'Turn on to run this map every run. ', 'boolean', false, null, 'Maps');
+ createSetting('AMUanger', 'AMU: Dimension of Anger', 'Turn on to run this map every run. ', 'boolean', false, null, 'Maps');
+ createSetting('AMUtrimple', 'AMU: Trimple', 'Turn on to run this map every run. ', 'boolean', false, null, 'Maps');
+ createSetting('AMUprison', 'AMU: Prison', 'Turn on to run this map every run. ', 'boolean', false, null, 'Maps');
+ createSetting('AMUbw', 'AMU: BW', 'Turn on to run this map every run. ', 'boolean', false, null, 'Maps');
+ createSetting('AMUstar', 'AMU: Imploding Star', 'Turn on to run this map every run. ', 'boolean', false, null, 'Maps');
+ createSetting('automapsportal', 'AM Portal', 'Makes sure Auto Maps is on on portal. ', 'boolean', false, null, 'Maps');
+ createSetting('automapsalways', 'AM Always', 'Makes sure Auto Maps is on always. ', 'boolean', false, null, 'Maps');
+ document.getElementById('automapsportal').parentNode.insertAdjacentHTML('afterend', '
');
+
+ //Line 2
createSetting('DynamicSiphonology', 'Dynamic Siphonology', 'Recommended Always ON. Use the right level of siphonology based on your damage output. IE: Only uses siphonology if you are weak. With this OFF it means it ALWAYS uses the lowest siphonology map you can create. Siphonology is a perk you get at level 115-125ish, and means you receive map bonus stacks for running maps below your current zone - Up to 3 zones below (1 per perk level).', 'boolean', true, null, 'Maps');
- createSetting('PreferMetal', 'Prefer Metal Maps', 'ADVANCED: Always prefer metal maps, intended for manual use, such as pre-spire farming. Remember to turn it back off after you\'re done farming! Usually helps for pre-spire. Use on x90-x99 zones.', 'boolean', false, null, 'Maps');
+ createSetting('PreferMetal', 'Prefer Metal Maps', 'Always prefer metal maps, intended for manual use, such as pre-spire farming. Remember to turn it back off after you\'re done farming!', 'boolean', false, null, 'Maps');
+ createSetting('mapselection', 'Map Selection', 'Select which you prefer to use. Recommend Plentiful (Gardens) if you have unlocked it. ', 'dropdown', 'Mountain', ["Random", "Mountain", "Forest", "Sea", "Depths", "Gardens"], 'Maps');
createSetting('MaxMapBonusAfterZone', 'Max MapBonus After', 'Always gets Max Map Bonus from this zone on. (inclusive and after).
NOTE: Set -1 to disable entirely (default). Set 0 to use it always.
Advanced:User can set a lower number than the default 10 maps with the AT hidden console command: MODULES[\\"maps\\"].maxMapBonusAfterZ = 9;', 'value', '-1', null, 'Maps');
- createSetting('DisableFarm', 'Disable Farming', 'Disables the extended farming algorithm of the AutoMaps part of the script. Always returns to the world after reaching 10 map stacks. Use at your own risk. (No need to refresh anymore)', 'boolean', false, null, 'Maps');
+ createSetting('MaxMapBonuslimit', 'Max MapBonus Limit', 'Limit the amount of Map Bonuses you get. Default is 10. ', 'value', '10', null, 'Maps');
+ createSetting('MaxMapBonushealth', 'Max MapBonus Health', 'Limit the amount of map bonuses you get when AutoMaps requires more health. Default is 10. ', 'value', '10', null, 'Maps');
+ createSetting('mapcuntoff', 'Map Cut Off', 'Decides when to get max map bonus. 4 is default. This means it will take 1 hit to kill an enemy if in D stance. ', 'value', '4', null, 'Maps');
+
+ //Line 3
+ createSetting('DisableFarm', 'Farming H:D', 'If H:D goes above this value, it will farm for Damage & Health. The lower this setting, the more it will want to farm. Default is 16. -1 to disable farming!', 'value', -1, null, 'Maps');
createSetting('LowerFarmingZone', 'Lower Farming Zone', 'Lowers the zone used during Farming mode. Uses the dynamic siphonology code, to Find the minimum map level you can successfully one-shot, and uses this level for any maps done after the first 10 map stacks. The difference being it goes LOWER than what Siphonology gives you map-bonus for, but after 10 stacks you dont need bonus, you just want to do maps that you can one-shot. Goes as low as 10 below current zone if your damage is that bad, but this is extreme and indicates you should probably portal.', 'boolean', true, null, 'Maps');
- //Line2
- createSetting('MaxStacksForSpire', 'Max Map Bonus for Spire', 'Get max map bonus before running the Spire.', 'boolean', false, null, 'Maps');
- createSetting('MinutestoFarmBeforeSpire', 'Farm Before Spire', 'Farm level 200/199(or BW) maps for X minutes before continuing onto attempting Spire.
NOTE: Set 0 to disable entirely (default).
Setting to -1/Infinite does not work here, set a very high number instead.', 'value', '0', null, 'Maps');
- createSetting('IgnoreSpiresUntil', 'Ignore Spires Until', 'Spire specific settings like end-at-cell are ignored until at least this zone is reached (0 to disable).
Does not work with Run Bionic Before Spire.', 'value', '200', null, 'Maps');
- createSetting('RunBionicBeforeSpire', 'Run Bionic Before Spire', 'CAUTION: Runs Bionic Wonderlands and repeatedly farms Bionic VI @ level 200 before attempting Spire, for the purpose of resource farming. Then it attempts the spire. The Minutes-Before-Spire timer runs concurrently to this, and needs to be set. If not set, it will exit without doing any Bionics... You can un-toggle it on the fly.
NOTE: Turning this on also mandates that AutoMaps + Unique Maps be on.
WARNING: These 100 square maps take ~3x longer than normal maps.
WARNING: If you dont have Bionic Magnet mastery, this will run the 5 pre-requisites and take longer.
NOTE: In fact, it may not be what you want at all.', 'boolean', false, null, 'Maps');
- createSetting('ExitSpireCell', 'Exit Spire After Cell', 'Optional/Rare. Exits the Spire early, after completing cell X. example: 40 for Row 4. (use 0 or -1 to disable)', 'value', '-1', null, 'Maps');
- createSetting('CorruptionCalc', 'Corruption Farm Mode', 'Recommended. Enabling this will cause the Automaps routine to take amount of corruption in a zone into account, to decide whether it should do maps first for map bonus. ONLY in Zone 181+ (or Headstart 1,2,3 zone: 176,166,151) ', 'boolean', true, null, 'Maps');
createSetting('FarmWhenNomStacks7', 'Farm on >7 NOMstacks', 'Optional. If Improbability already has 5 NOMstacks, stack 30 Anticipation. If the Improbability has >7 NOMstacks on it, get +200% dmg from MapBonus. If we still cant kill it, enter Farming mode at 30 stacks, Even with DisableFarming On! (exits when we get under 10x). Farms if we hit 100 stacks in the world. If we ever hit (100) nomstacks in a map (likely a voidmap), farm, (exit the voidmap) and (prevent void from running, until situation is clear). Restarts any voidmaps if we hit 100 stacks. ', 'boolean', false, null, 'Maps');
- //Line3
- createSetting('VoidMaps', 'Void Maps', 'The zone at which you want all your void maps to be cleared (Cell 96). 0 is off', 'value', '0', null, "Maps");
- createSetting('RunNewVoids', 'Run New Voids', 'Run new void maps acquired after the set void map zone. Runs them at Cell 95 by default, unless you set a decimal value indicating the cell, like: 187.75 CAUTION: May severely slow you down by trying to do too-high level voidmaps. Use the adjacent RunNewVoidsUntil setting to limit this.', 'boolean', false, null, 'Maps');
- createSetting('RunNewVoidsUntil', 'New Voids Until', 'Run New Voids Until: Put a cap on what zone new voids will run at, until this zone, inclusive. ', 'value', '-1', null, 'Maps');
- //createSetting('VoidsPerZone', 'Voids per Zone', 'Run a max of this many Voids per zone, if you have a lot of Voids saved up. Then moves onto the next zone and does more voids.', 'value', '-1', null, 'Maps');
- createSetting('VoidCheck', 'Void Difficulty Check', 'How many hits to be able to take from a void map boss in X stance before we attempt the map. Higher values will get you stronger (by farming maps for health) before attempting. Disabling this with 0 or -1 translates into a default of surviving 2 hits. I recommend somewhere between 2 and 12 (default is now 6).', 'value', '6', null, 'Maps');
- createSetting('MaxTox', 'Max Toxicity Stacks', 'Get maximum toxicity stacks before killing the improbability in each zone 60 and above. Generally only recommended for 1 run to maximize bone portal value. This setting will revert to disabled after a successful Max-Tox run + Toxicity Autoportal.', 'boolean', false, null, 'Maps');
+ createSetting('VoidMaps', 'Void Maps', '0 to disable The zone at which you want all your void maps to be cleared inclusive of the zone you type. Runs them at Cell 70. Use odd zones on Lead.
', 'value', '0', null, "Maps");
+ createSetting('voidscell', 'Voids Cell', 'Run Voids at this Cell. -1 to run them at the default value, which is 70. ', 'value', '-1', null, 'Maps');
+ createSetting('RunNewVoidsUntilNew', 'New Voids Mod', '0 to disable. Positive numbers are added to your Void Map zone. -1 for no cap. This allows you to run new Void Maps obtained after your Void Map zone by adding this number to your Void Map zone.
Example Void map zone=187 and This setting=10. New Voids run until 197).
This means that any new void maps gained until Z197. CAUTION: May severely slow you down by trying to do too-high level void maps. Default 0 (OFF).', 'value', '0', null, 'Maps');
+ createSetting('runnewvoidspoison', 'New Voids Poison', 'Only run new voids in poison zones.', 'boolean', false, null, 'Maps');
+ createSetting('onlystackedvoids', 'Stacked Voids Only', 'Only run stacked voids. ', 'boolean', false, null, 'Maps');
+
+ //Line 4
createSetting('TrimpleZ', 'Trimple Z', 'I don\'t really think doing this automatically is a good idea. You might want to farm for a bit before this, but I\'m not sure if it\'s meaningful at all to make a \'farm X minutes before trimple\' parameter to go along with it. Set it to the zone you want and it will run Trimple of Doom for Ancient Treasure AFTER farming and getting map stacks. If it is a negative number, this will be disabled after a successful run so you can set it differently next time.', 'valueNegative', 0, null, 'Maps');
- createSetting('AdvMapSpecialModifier', 'Map Special Modifier', 'EXPERIMENTAL. Attempt to select the BEST map special attacks mod. With this on, this will replace the normal behavior. If bugs, please report as this will become more default soon.', 'boolean', false, null, 'Maps');
+ createSetting('AdvMapSpecialModifier', 'Map Special Modifier', 'BELOW 300 ONLY
Attempt to select the BEST map special modifier. When starting a map for Prestige it will use Prestigious. When starting a map for Farming (for equipment) it will use your best metal cache. In any other case (such as farming for map stacks) it will use Fast Attacks. In all cases it uses the best modifier that can be afforded.', 'boolean', true, null, 'Maps');
+ createSetting('scryvoidmaps', 'VM Scryer', 'Only use if you have Scryhard II, for er, obvious reasons. Works without the scryer options. ', 'boolean', false, null, 'Maps');
+ createSetting('buywepsvoid', 'VM Buy Weps', 'Buys gear in Void maps regardless of your H:D ratio. Useful if you want to overkill as much as possible. ', 'boolean', false, null, 'Maps');
+ createSetting('farmWonders', 'Farm Wonders', 'Farms wonders until the selected amount and does BW at given zone to finish the challenge', 'boolean', false, null, 'Maps')
+ createSetting('wondersAmount', 'Wonders Amount', 'Select the amount of Wonders you want to farm in each given run, 0 to disable ', 'value', '0', null, "Maps");
+ createSetting('maxExpZone', "Max XP Zone", 'Acquire Wonders from this zone down. This must have a value or other Experience settings will not work. If >z600, will complete Experience by running BW on this zone as well. For example, targeting three Wonders with a Max XP Zone of 600 will obtain the Wonders at: 600, 595, 590.', 'value', '600', null, 'Maps');
+ createSetting('finishExpOnBw', 'Finish XP on BW', 'Finish Experience challenge by completing this level of BW. This level of BW should already be in your inventory. Use BW Raiding module if you want to raid to a specific level of BW before 601, or else you may accidentally complete the challenge at a lower or higher BW than intended using this setting. If this is an invalid BW value, it will run the next lowest valid BW zone (e.g. 606 will run 605).', 'value', '605', null, 'Maps');
+
+ //Shrine - U1
+ document.getElementById('finishExpOnBw').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Hshrine', 'AutoShrine', 'Turn this on if you want to use Shrines automatically. ', 'boolean', false, null, 'Maps');
+ createSetting('Hshrinemaz', 'AutoShrine Settings', 'Click to open AutoShrine settings.
Zone: What zone to use Bone Shrine charges.
Cell: What cell to use Bone Shrine charges at, if you use it after cell 80 you will get the benefit of all the books. to use.
Amount: How many Bone Shrine charges you wish to use.
Example: If you put Zone: 40\, Cell: 10\, Amount: 3\, you will use 3 Bone Shrine Charges at zone 40 at cell 10. ', 'infoclick', false, null, 'Maps');
+ createSetting('Hshrinezone', 'AutoShrine: Zone', 'zone', 'multiValue', [-1], null, 'Maps');
+ createSetting('Hshrinecell', 'AutoShrine: Cell', 'cell', 'multiValue', [-1], null, 'Maps');
+ createSetting('Hshrineamount', 'AutoShrine: Amount', 'amount', 'multiValue', [-1], null, 'Maps');
+ createSetting('Hshrinecharge', 'AutoShrine: Charge', 'charge count you will never see this setting hehehehe', 'value', 0, null, 'Maps');
+
+ //RMaps
+
+ //Line 1
+ createSetting('RAutoMaps', ["Auto Maps Off", "Auto Maps On", "Auto Maps No Unique"], 'Automaps. The no unique setting will not run unique maps such as dimensions of rage. Recommended ON. ', 'multitoggle', 1, null, "Maps");
+ createSetting('Rautomapsportal', 'AM Portal', 'Makes sure Auto Maps is on portal. ', 'boolean', false, null, 'Maps');
+ createSetting('Rautomapsalways', 'AM Always', 'Makes sure Auto Maps is on always. ', 'boolean', false, null, 'Maps');
+ createSetting('Rmapselection', 'Map Selection', 'Select which you prefer to use. Recommend Plentiful (Gardens) if you have unlocked it. ', 'dropdown', 'Mountain', ["Random", "Mountain", "Forest", "Sea", "Depths", "Plentiful", "Farmlands"], 'Maps');
+ createSetting('RMaxMapBonusAfterZone', 'Max MapBonus After', 'Always gets Max Map Bonus from this zone on. (inclusive and after).
NOTE: Set -1 to disable entirely (default). Set 0 to use it always. ', 'value', '-1', null, 'Maps');
+ createSetting('RMaxMapBonuslimit', 'Max MapBonus Limit', 'Limit the amount of Map Bonuses you get. Default is 10. ', 'value', '10', null, 'Maps');
+ createSetting('RMaxMapBonushealth', 'Max MapBonus Health', 'Limit the amount of map bonuses you get when AutoMaps requires more health. Default is 10. ', 'value', '10', null, 'Maps');
+ createSetting('Rhitssurvived', 'Hits Survived', 'Set this value to tell the script how many enemy attacks you wish to survive for. The default is 10. The lower this is the less health the script will get. If you set this too high it will farm too much so please be careful. ', 'value', '10', null, 'Maps');
+ createSetting('Rmapcuntoff', 'Map Cut Off', 'Decides when to get max map bonus. 1 is default. This means it will take 1 hit to kill an enemy. ', 'value', '1', null, 'Maps');
+ createSetting('RDisableFarm', 'Farming H:D', 'If H:D goes above this value, it will farm for Damage & Health. The lower this setting, the more it will want to farm. Default is 16. -1 to disable farming!', 'value', -1, null, 'Maps');
+
+ //Line 2
+ createSetting('RVoidMaps', 'Void Maps', '0 to disable The zone at which you want all your void maps to be cleared inclusive of the zone you type. Runs them at Cell 70. Use odd zones on Lead.
', 'value', '0', null, "Maps");
+ createSetting('Rvoidscell', 'Voids Cell', 'Run Voids at this Cell. -1 to run them at the default value, which is 70. ', 'value', '-1', null, 'Maps');
+ createSetting('RRunNewVoidsUntilNew', 'New Voids Mod', '0 to disable. Positive numbers are added to your Void Map zone. -1 for no cap. This allows you to run new Void Maps obtained after your Void Map zone by adding this number to your Void Map zone.
Example Void map zone=187 and This setting=10. New Voids run until 197).
This means that any new void maps gained until Z197. CAUTION: May severely slow you down by trying to do too-high level void maps. Default 0 (OFF).', 'value', '0', null, 'Maps');
+ createSetting('Rprispalace', 'Prismatic Palace', 'Run Prismatic Palace when its unlocked. ', 'boolean', true, null, 'Maps');
+ createSetting('Rmeltpoint', 'Melting Point', '-1 to disable. When to run the map Melting Point. Use it like this: 50,91. The first number is what zone Melting Point should be run at, the second number is what Cell to run it at. In this example AutoMaps would run Melting Point at z50 cell 91. Must define both values. Works in the challenges Melt and Trappapalooza. ', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rfrozencastle', 'Frozen Castle', '-1 to disable. When to run the map Frozen Castle. Use it like this: 200,91. The first number is what zone Frozen Castle should be run at, the second number is what Cell to run it at. In this example AutoMaps would run Frozen Castle at z200 cell 91. Must define both values. Works in any challenge so be careful. ', 'multiValue', [-1], null, 'Maps');
+
+ //Timefarm
+ document.getElementById('Rfrozencastle').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rtimefarm', 'Time Farm', 'Turn this on if you want to use Time Farming. ', 'boolean', false, null, 'Maps');
+ createSetting('Rtimefarmmaz', 'Time Farm Settings', 'Click to open the Time Farm settings. It will also put all your workers into what you are gathering.
Zone: What zone to start time farming.
Cell: What cell to start time farming at.
Time: How much time in Minutes to farm.
Level: How many map levels above your zone to use.
Map: What kind of map you want to use.
Special: What type of special you want to use.
Gather: What resource you would like to gather.
Example: If you put Zone: 60\, Cell: 10\, Time: 3\, Level: 5\, Map: Gardens\, Special: Large Metal Cache\, Gather: Metal\, you will farm at zone 60 at cell 10 for 3 minutes in a +5 Gardens map that has a Large Metal Cache while gathering metal. ', 'infoclick', false, null, 'Maps');
+ createSetting('Rtimefarmzone', 'TF: Zone', 'zone', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rtimefarmcell', 'TF: Cell', 'cell', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rtimefarmtime', 'TF: Time', 'time', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rtimefarmlevel', 'TF: Map Level', 'level', 'multiValue', [0], null, 'Maps');
+ createSetting('Rtimefarmmap', 'TF: Map Selection', 'map', 'textValue', 'undefined', null, 'Maps');
+ createSetting('Rtimefarmspecial', 'TF: Special Selection', 'special', 'textValue', 'undefined', null, 'Maps');
+ createSetting('Rtimefarmgather', 'TF: Gather Selection', 'gather', 'textValue', 'undefined', null, 'Maps');
+
+ //Smithyfarm
+ document.getElementById('Rtimefarmgather').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rsmithyfarm', 'Smithy Farm', 'Turn this on if you want to use Smithy Farming. ', 'boolean', false, null, 'Maps');
+ createSetting('Rsmithyfarmmaz', 'Smithy Farm Settings', 'Click to open the Smithy Farm settings.
Zone: What zone to start smithy farming.
Cell: What cell to start smithy farming at.
Smithys: How many smithys you want to have at that zone.
Example: If you put Zone: 60\, Cell: 10\, Smithys: 2\, you will farm at zone 60 at cell 10 for 2 total smithies in an autogenerated map that will fill your resource needs\, gather and job appropriately', 'infoclick', false, null, 'Maps');
+ createSetting('Rsmithyfarmzone', 'SF: Zone', 'zone', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rsmithyfarmcell', 'SF: Cell', 'cell', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rsmithyfarmamount', 'SF: Smithys', 'smithys', 'multiValue', [-1], null, 'Maps');
+
+ //Tributefarm
+ document.getElementById('Rsmithyfarmamount').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rtributefarm', 'Tribute Farm', 'Turn this on if you want to use Tribute Farming. ', 'boolean', false, null, 'Maps');
+ createSetting('Rtributefarmmaz', 'Tribute Farm Settings', 'Click to open the Tribute Farm settings.
Zone: What zone to start tribute farming. It will also put all your workers into farming.
Cell: What cell to start tribute farming at.
Tributes: How many tributes to farm.
Level: How many map levels above your zone to use.
Map: What kind of map you want to use.
Special: What type of special you want to use.
Gather: What resource you would like to gather.
Example: If you put Zone: 40\, Cell: 10\, Tributes: 1000\, Level: 5\, Map: Gardens\, Special: Large Savory Cache\, Gather: Food\, you will farm at zone 40 at cell 10 for 1000 tributes in a +5 Gardens map that has a Large Savory Cache while gathering food. ', 'infoclick', false, null, 'Maps');
+ createSetting('Rtributefarmzone', 'TrF: Zone', 'zone', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rtributefarmcell', 'TrF: Cell', 'cell', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rtributefarmamount', 'TrF: Tributes', 'tributes', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rtributefarmlevel', 'TrF: Map Level', 'level', 'multiValue', [0], null, 'Maps');
+ createSetting('Rtributemapselection', 'TrF: Map Selection', 'map', 'textValue', 'undefined', null, 'Maps');
+ createSetting('Rtributespecialselection', 'TrF: Special Selection', 'special', 'textValue', 'undefined', null, 'Maps');
+ createSetting('Rtributegatherselection', 'TrF: Gather Selection', 'gather', 'textValue', 'undefined', null, 'Maps');
+
+ //Shrine - U2
+ document.getElementById('Rtributegatherselection').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rshrine', 'AutoShrine', 'Turn this on if you want to use Shrines automatically. ', 'boolean', false, null, 'Maps');
+ createSetting('Rshrinemaz', 'AutoShrine Settings', 'Click to open AutoShrine settings.
Zone: What zone to use Bone Shrine charges.
Cell: What cell to use Bone Shrine charges at, if you use it after cell 80 you will get the benefit of all the books. to use.
Amount: How many Bone Shrine charges you wish to use.
Example: If you put Zone: 40\, Cell: 10\, Amount: 3\, you will use 3 Bone Shrine Charges at zone 40 at cell 10. ', 'infoclick', false, null, 'Maps');
+ createSetting('Rshrinezone', 'AutoShrine: Zone', 'zone', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rshrinecell', 'AutoShrine: Cell', 'cell', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rshrineamount', 'AutoShrine: Amount', 'amount', 'multiValue', [-1], null, 'Maps');
+ createSetting('Rshrinecharge', 'AutoShrine: Charge', 'charge count you will never see this setting hehehehe', 'value', 0, null, 'Maps');
+
+
+ //Spire
+
+ //Line 1
+ createSetting('MaxStacksForSpire', 'Max Map Bonus for Spire', 'Get max map bonus before running the Spire.', 'boolean', false, null, 'Spire');
+ createSetting('MinutestoFarmBeforeSpire', 'Farm Before Spire', 'Farm level 200/199(or BW) maps for X minutes before continuing onto attempting Spire.
NOTE: Set 0 to disable entirely (default).
Setting to -1/Infinite does not work here, set a very high number instead. **PLEASE DO NOT USE THIS IT MAY NOT WORK AND I CANNOT FIX IT**', 'value', '0', null, 'Spire');
+ createSetting('IgnoreSpiresUntil', 'Ignore Spires Until', 'Spire specific settings like end-at-cell are ignored until at least this zone is reached (0 to disable).
Does not work with Run Bionic Before Spire.', 'value', '200', null, 'Spire');
+ createSetting('ExitSpireCell', 'Exit Spire After Cell', 'Optional/Rare. Exits the Spire early, after completing cell X. example: 40 for Row 4. (use 0 or -1 to disable)', 'value', '-1', null, 'Spire');
+ createSetting('SpireBreedTimer', 'Spire Breed Timer', 'ONLY USE IF YOU USE VANILLA GASet a time for your GA in spire. Recommend not touching GA during this time. ', 'value', -1, null, 'Spire');
+ createSetting('PreSpireNurseries', 'Nurseries pre-Spire', 'Set the maximum number of Nurseries to build for Spires. Overrides No Nurseries Until z and Max Nurseries so you can keep them seperate! Will build nurseries before z200 for Spire 1, but only on the zone of Spires 2+ to avoid unnecessary burning. Disable with -1.', 'value', -1, null, 'Spire');
+ createSetting('spireshitbuy', 'Buy Gear in Spire', 'Will buy Weapons and Armor in Spire regardless of your H:D ratio. Respects your max gear level and ignore spires setting. ', 'boolean', false, null, 'Spire');
+ createSetting('SkipSpires', 'Skip Spires', 'Will disregard your H:D ratio after Farm Before Spire is done (if set). Useful to die in spires if farming takes too long', 'boolean', false, null, 'Spire');
+
+
+ //Raiding
+
+ //Line 1
+ createSetting('Praidingzone', 'P Raiding Z', 'Raids Maps for prestiges at zone specified. Example: 495, will raid Maps at 501-505 sequentially. Once all gear is obtained from the maps, it will revert back to regular farming. Use P Raiding HD to determine how many extra maps you wish you raid. Extremely helpful for spire. Best used in poison zones. You can use multiple values like this 495,506,525! ', 'multiValue', [-1], null, 'Raiding');
+ createSetting('Praidingcell', 'P Raiding Cell', 'What Cell to start P Raiding at. Recommend below your BW Raiding cell if used together. -1 to Raid at cell 1. ', 'value', -1, null, 'Raiding');
+ createSetting('PraidingHD', 'P Raiding HD', 'Checks if you can raid the map. If your HD value (calculated using the maps you will raid) is below this value it will not buy the map and you will stop raiding. The higher this value the higher zones it will raid. Can raid up to +10 depending on the zone. -1 or 0 to remove this check.', 'value', -1, null, 'Raiding');
+ createSetting('PraidingP', 'P Raiding Poison', 'Maximum level of map to P Raid at in Poison. If this value is 10 it will be able to go to +10 maps in Poison. You should use this instead of the HD function if you feel the calculations are off, but you can use both if needed. -1 or 0 to have no max. ', 'value', -1, null, 'Raiding');
+ createSetting('PraidingI', 'P Raiding Ice', 'Maximum level of map to P Raid at in Ice. If this value is 10 it will be able to go to +10 maps in Ice. You should use this instead of the HD function if you feel the calculations are off, but you can use both if needed. -1 or 0 to have no max. ', 'value', -1, null, 'Raiding');
+ createSetting('PraidHarder', 'Hardcore P Raiding', '(EXPERIMENTAL) P Raid Harder: When enabled, always buys the highest prestige map we can afford when P raiding, with option to farm fragments for highest available prestige level.', 'boolean', false, null, 'Raiding');
+ createSetting('MaxPraidZone', 'Max P Raid Zones', 'List of maximum zones to Praid corresponding to the list specified in Praiding zones. e.g. if P raiding zones setting is 491,495 and this setting is 495,505, AT will P raid up to 495 from 491, and 505 from 495. Set to -1 to always buy highest available prestige map. If no corrsponding value, or value is invalid, defaults to max available (up to +10)', 'multiValue', [-1], null, 'Raiding');
+ createSetting('PraidFarmFragsZ', 'Farm Fragments Z', 'P Raiding harder: List of zones where we should farm fragments until we can afford the highest or target prestige map for P raiding. Set to -1 to never farm fragments. ', 'multiValue', [-1], null, 'Raiding');
+ createSetting('PraidBeforeFarmZ', 'Raid before farm Z', 'P Raiding harder: List of zones where we should P Raid as far as we can afford before trying to farm fragments to Praid the highest or target prestige map. Only occasionally useful, e.g. if it picks up a Speedexplorer or farming fragments is slow due to low damage. Set to -1 to never raid prestiges before farming fragents.', 'multiValue', [-1], null, 'Raiding');
+ createSetting('BWraid', 'BW Raiding', 'Raids BW at zone specified in BW Raiding Z/max. Turn off Climb BW. ', 'boolean', false, null, 'Raiding');
+ createSetting('bwraidcell', 'BW Raiding Cell', 'What Cell to start BW Raiding at. Recommend above your P Raiding cell if used together. -1 to Raid at cell 1. ', 'value', -1, null, 'Raiding');
+ createSetting('BWraidingz', 'Z to BW Raid', 'Raids BWs at zone specified. Example: 495, will raid all BWs for all gear starting from 495. Will skip lower BWs if you have enough damage. Once all gear is obtained, will return to regular farming. Accepts comma separated lists, and raids up to the value in the corrsponding position in the Max BW to raid setting. So if this is set to 480,495 and Max BW to Raid is set to 500,515 AT will BW raid up to 500 from 480, and 515 from 495. Make sure these lists are the same length or BW raiding may fail.', 'multiValue', [-1], null, 'Raiding');
+ createSetting('BWraidingmax', 'Max BW to raid', 'Raids BWs until zone specified. Example: 515, will raid all BWs for all gear until 515. Will skip lower BWs if you have enough damage. Once all gear is obtained, will return to regular farming. Now accepts comma separated lists - see description of Z to BW raid setting for details.', 'multiValue', [-1], null, 'Raiding');
+
+
+ //RRaiding
+
+ //Line 1
+ createSetting('RAMPraid', 'Praiding', 'MASTER BUTTON
Toggle Prestige Raiding. Use PR: Zone, PR: Raid and PR: Cell to Raid Prestiges in higher Maps.
I.e: World is 95, PR: Zone is [95,105], PR: Raid is [105,115], PR: Cell is 1. Will go into map creation at cell 1, create maps 101, 102, 103, 104, 105 with Prestige option. If you can\'t afford P maps, it will try without. If still unable to afford will buy the highest maps first without buying 101 and 102 for example. Raiding will take longer if you can\'t afford it. Once all maps are created it will run the lowest created then move onto the next till all created maps are finished. If you have enabled PR: Recycle it will then recycle those maps. There may be more options in the future depending on content added. ', 'boolean', false, null, 'Raiding');
+ createSetting('RAMPraidmaz', 'Praiding Settings', 'Click to open the Praiding settings. ', 'infoclick', false, null, 'Raiding');
+ createSetting('RAMPraidzone', 'PR: Zone', 'zone', 'multiValue', [-1], null, 'Raiding');
+ createSetting('RAMPraidraid', 'PR: Raid', 'raid', 'multiValue', [-1], null, 'Raiding');
+ createSetting('RAMPraidcell', 'PR: Cell', 'cell', 'multiValue', [-1], null, 'Raiding');
+ createSetting('RAMPraidfrag', ['PR: Frag', 'PR: Frag Min', 'PR: Frag Max'], 'Farm for fragments to afford the maps you want to create. PR: Frag Min is used for absolute minimum frag costs (which includes no Prestige special, perfect sliders, random map and the difficulty and size options, however it will try to afford those options first!) and prioritises buying the most maps for a smoother sequential raid. PR: Frag Max is used for the ultimate Raiding experience. This option will probably take the most time to farm but may save you time in the actual raid. I would recommend using Min Mode if you don\'t have frag drop or explorer effic on your heirloom and Max if you are confident in your Fragment gains. ', 'multitoggle', 0, null, 'Raiding');
+ createSetting('RAMPraidrecycle', 'PR: Recycle', 'Recycle maps created in Prestige Raiding. ', 'boolean', false, null, 'Raiding');
+
+
+
+ //Windstacking
+
+ //Line 1
+ createSetting('windstackingfiller', 'Use Daily Tab for Dailies!', 'These settings are for fillers ONLY. ', 'boolean', 'false', null, 'Windstacking');
+ createSetting('turnwson', 'Turn WS On!', 'Turn on Windstacking Stance in Combat to see the settings! ', 'boolean', 'false', null, 'Windstacking');
+ createSetting('WindStackingMin', 'Windstack Min Zone', 'For use with Windstacking Stance, enables windstacking in zones above and inclusive of the zone set. (Get specified windstacks then change to D, kill bad guy, then repeat). This is designed to force S use until you have specified stacks in wind zones, overriding scryer settings. All windstack settings apart from WS MAX work off this setting. ', 'value', '-1', null, 'Windstacking');
+ createSetting('WindStackingMinHD', 'Windstack H:D', 'For use with Windstacking Stance, if your H:D is below this number it will use W inside windlight and S outside of it. If it is above it will start manually windstacking using heirloom swapping and stancing. If you just want to use W stance just set this to something impossibly high like 1e30. ', 'value', '-1', null, 'Windstacking');
+ createSetting('WindStackingMax', 'Windstack Stacks', 'For use with Windstacking Stance. Amount of windstacks to obtain before switching to D stance. Default is 200, but I recommend anywhere between 175-190. In Wind Enlightenment it will add 100 stacks to your total automatically. So if this setting is 200 It will assume you want 300 stacks instead during enlightenment. ', 'value', '200', null, 'Windstacking');
+ createSetting('windcutoff', 'Wind Damage Cutoff', 'Set this value to optimise your windstacking. Can work without AS3, but not recommended. AT normally uses 4 as its cutoff. I.e if the cutoff is above 4 it will buy max equipment. If you set this to 160, it will not get more damage till you are above x160. Essentially, the higher the value, the less damage AT wants to get, this will enable you to windstack to incredibly high amounts. -1 to disable/go back to default. Must set your windstacking min zone to use. ', 'value', '-1', null, 'Windstacking');
+ createSetting('windcutoffmap', 'Wind Map Cutoff', 'Set this value to optimise your windstacking. Can work without AS3, but not recommended. AT normally uses 4 as its cutoff. I.e if the cutoff is above 4 it will get map bonus. If you set this to 160, it will not get more map bonus till you are above x160. Essentially, the higher the value, the less damage AT wants to get, this will enable you to windstack to incredibly high amounts. -1 to disable/go back to default. Must set your windstacking min zone to use. ', 'value', '-1', null, 'Windstacking');
+ createSetting('wsmax', 'WS MAX', 'For maximising Windstacking an entire run. Withholds damage to try and get your max windstacks every wind zone. Not recommended for normal usage. Good for BPs. ', 'value', '-1', null, 'Windstacking');
+ createSetting('wsmaxhd', 'WSM H:D', 'Fiddle with this to maximise your WSM settings. Default is 0.00025. Same logic applies from the normal H:D setting. ', 'value', '-1', null, 'Windstacking');
+
+
+
+ //ATGA
+
+ //Line 1
+ createSetting('ATGA2', 'ATGA', 'ATGA MASTER BUTTON
AT Geneticassist. Do not use vanilla GA, as it will conflict otherwise. May get fucky with super high values. ', 'boolean', 'false', null, 'ATGA');
+ createSetting('ATGA2gen', 'ATGA: Gen %', 'ATGA: Geneassist %
ATGA will only hire geneticists if they cost less than this value. E.g if this setting is 1 it will only buy geneticists if they cost less than 1% of your food. Default is 1%. ', 'value', '1', null, 'ATGA');
+ createSetting('ATGA2timer', 'ATGA: Timer', 'ATGA Timer
This is the default time your ATGA will use. ', 'value', '-1', null, 'ATGA');
+
+ //Zone Timers
+ document.getElementById('ATGA2timer').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('zATGA2timer', 'ATGA: T: Before Z', 'ATGA Timer: Before Z
ATGA will use the value you define in ATGA: T: BZT before the zone you have defined in this setting, overwriting your default timer. Useful for Liq or whatever. ', 'value', '-1', null, 'ATGA');
+ createSetting('ztATGA2timer', 'ATGA: T: BZT', 'ATGA Timer: Before Z Timer
ATGA will use this value before the zone you have defined in ATGA: T: Before Z, overwriting your default timer. Useful for Liq or whatever. Does not work on challenges. ', 'value', '-1', null, 'ATGA');
+ createSetting('ATGA2timerz', 'ATGA: T: After Z', 'ATGA Timer: After Z
ATGA will use the value you define in ATGA: T: AZT after the zone you have defined in this setting, overwriting your default timer. Useful for super push runs or whatever. Does not work on challenges. ', 'value', '-1', null, 'ATGA');
+ createSetting('ATGA2timerzt', 'ATGA: T: AZT', 'ATGA Timer: After Z Timer
ATGA will use this value after the zone that has been defined in ATGA: T: After Z, overwriting your default timer. Useful for super push runs or whatever. ', 'value', '-1', null, 'ATGA');
+
+ //Spire Timers
+ document.getElementById('ATGA2timerzt').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('sATGA2timer', 'ATGA: T: Spire', 'ATGA Timer: Spire
ATGA will use this value in Spires. Respects your ignore Spires setting. Do not use this if you use the setting in the Spire tab! (As that uses vanilla GA) Nothing overwrites this except Daily Spire. ', 'value', '-1', null, 'ATGA');
+ createSetting('dsATGA2timer', 'ATGA: T: Daily Spire', 'ATGA Timer: Daily Spire
ATGA will use this value in Daily Spires. Respects your ignore Spires setting. Do not use this if you use the setting in the Spire tab! (As that uses vanilla GA) Nothing overwrites this. ', 'value', '-1', null, 'ATGA');
+
+ //Daily Timers
+ document.getElementById('dsATGA2timer').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('dATGA2Auto', ['ATGA: Manual', 'ATGA: Auto No Spire', 'ATGA: Auto Dailies'], 'EXPERIMENTAL
ATGA Timer: Auto Dailies
ATGA will use automatically set breed timers in plague and bogged, overwriting your default timer.
Set No Spire to not override in spire, respecting ignore spire settings.', 'multitoggle', 2, null, 'ATGA');
+ createSetting('dATGA2timer', 'ATGA: T: Dailies', 'ATGA Timer: Normal Dailies
ATGA will use this value for normal Dailies such as ones without plague etc, overwriting your default timer. Useful for pushing your dailies that extra bit at the end. Overwrites Default, Before Z and After Z. ', 'value', '-1', null, 'ATGA');
+ createSetting('dhATGA2timer', 'ATGA: T: D: Hard', 'ATGA Timer: Hard Dailies
ATGA will use this value in Dailies that are considered Hard. Such Dailies include plaged, bloodthirst and Dailies with a lot of negative mods. Overwrites Default, Before Z and After Z and normal Daily ATGA Timer. ', 'value', '-1', null, 'ATGA');
+
+ //C2 Timers
+ document.getElementById('dhATGA2timer').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('cATGA2timer', 'ATGA: T: C2', 'ATGA Timer: C2s
ATGA will use this value in C2s. Overwrites Default, Before Z and After Z. ', 'value', '-1', null, 'ATGA');
+ createSetting('chATGA2timer', 'ATGA: T: C: Hard', 'ATGA Timer: Hard C2s
ATGA will use this value in C2s that are considered Hard. Electricity, Nom, Toxicity. Overwrites Default, Before Z and After Z and C2 ATGA', 'value', '-1', null, 'ATGA');
+
+
+
+ //Challenges
+
+ //Hide
+ createSetting('Rchallengehide', 'Hide Stuff', 'Enable seeing the hide challenges buttons. Feel free to turn this off once you are done. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidequag', 'Quag', 'Set this on if you wish to hide the Quagmire challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidearch', 'Arch', 'Set this on if you wish to hide the Archaeology challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidemayhem', 'Mayhem', 'Set this on if you wish to hide the Mayhem challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidestorm', 'Storm', 'Set this on if you wish to hide the Storm challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehideinsanity', 'Insanity', 'Set this on if you wish to hide the Insanity challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehideexterminate', 'Exterminate', 'Set this on if you wish to hide the Exterminate challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidenurture', 'Nurture', 'Set this on if you wish to hide the Nurture challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidepanda', 'Pandemonium', 'Set this on if you wish to hide the Pandemonium challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidealchemy', 'Alchemy', 'Set this on if you wish to hide the Alchemy challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidehypothermia', 'Hypothermia', 'Set this on if you wish to hide the Hypothermia challenge settings. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rchallengehidedeso', 'Desolation', 'Set this on if you wish to hide the Desolation challenge settings. ', 'boolean', false, null, 'Challenges');
+
+ //Quagmire
+ document.getElementById('Rchallengehidedeso').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rblackbog', 'Quagmire', 'Enable Bog Running for Quagmire. ', 'boolean', false, null, 'Challenges');
+ createSetting('Rblackbogmaz', 'Quagmire Settings', 'Click to open the Quagmire settings.
Zone: What zone to start bogging.
Black Bogs: How many Black Bogs to at specified zones.
Example: If you put Zone: 40\, Black Bogs: 10\, you will run 10 black bogs at zone 40. ', 'infoclick', false, null, 'Challenges');
+ createSetting('Rblackbogzone', 'Zone', 'zone', 'multiValue', [-1], null, 'Challenges');
+ createSetting('Rblackbogamount', 'Amount', 'black bogs', 'multiValue', [-1], null, 'Challenges');
+
+ //Nurture
+ createSetting('Rnurtureon', 'Nurture', 'Enables the Lab setting in Buildings and building labs through it. ', 'boolean', 'false', null, 'Challenges');
+
+ //Arch
+ createSetting('Rarchon', 'Archaeology', 'Turn on Archaeology settings. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rarchstring1', 'First String', 'First string to use in Archaeology. Put the zone you want to stop using this string and start using the second string (Make sure the second string has a value) at the start. I.e: 70,10a,10e ', 'textValue', 'undefined', null, 'Challenges');
+ createSetting('Rarchstring2', 'Second String', 'Second string to use in Archaeology. Put the zone you want to stop using this string and start using the third string (Make sure the third string has a value) at the start. I.e: 94,10a,10e ', 'textValue', 'undefined', null, 'Challenges');
+ createSetting('Rarchstring3', 'Third String', 'Third string to use in Archaeology. Make sure this is just your Archaeology string and nothing else. I.e: 10a,10e ', 'textValue', 'undefined', null, 'Challenges');
+
+ //Mayhem
+ createSetting('Rmayhemon', 'Mayhem', 'Turn on Mayhem settings. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rmayhemattack', 'M: Attack', 'Turn this on to ignore your farm settings so It will do maps if you cannot survive the hits you have defined in Maps. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rmayhemhealth', 'M: Health', 'Turn this on to ignore your farm settings so It will do maps if your HD is above the target you have defined in Maps. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rmayhemabcut', 'M: Attack Boss', 'What cut-off to use when farming for the boss using M: Attack. If this setting is 100, the script will farm till you can kill the boss in 100 average hits. ', 'value', '-1', null, 'Challenges');
+ createSetting('Rmayhemamcut', 'M: Attack Map', 'What cut-off to use when farming maps using M: Attack and M: Smart Map. If this setting is 10, the script will do maps you can kill cells in 10 average hits. ', 'value', '-1', null, 'Challenges');
+ createSetting('Rmayhemhcut', 'M: Health Cut-off', 'What cut-off to use when using M: Health. ', 'value', '-1', null, 'Challenges');
+ createSetting('Rmayhemmap', ['M: Maps Off', 'M: Highest Map', 'M: Smart Map'], 'Control what maps you do to farm M: Attack and/or M: Health. M: Highest map always selects the highest map you have whether it be from Praiding, Time Farming or any you have manually created. M: Smart Map attempts to create a map best suited to the situation. Will calculate if you can survive and kill the map, and will try to buy all the necessary map attributes such as FA. ', 'multitoggle', 0, null, 'Challenges');
+
+ //Storm
+ createSetting('Rstormon', 'Storm', 'Turn on Storm settings. This also controls the entireity of Storm settings. If you turn this off it will not do anything in Storm. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rstormzone', 'S: Zone', 'What zone to start S: H:D and S: Multiplier. ', 'value', '-1', null, 'Challenges');
+ createSetting('RstormHD', 'S: H:D', 'What H:D to use inside Storm. ', 'value', '-1', null, 'Challenges');
+ createSetting('Rstormmult', 'S: Multiplier', 'Starting from the zone above S: Zone, this setting will multiply the H:D you have set in S: H:D. So if S: Zone was 100, S: H:D was 10, S: Multiplier was 1.2, at z101 your H:D target will be 12, then at z102 it will be 14.4 and so on. This way you can account for the zones getting stronger and you will not waste time farming for a really low H:D. ', 'value', '-1', null, 'Challenges');
+
+ //Insanity
+ createSetting('Rinsanityon', 'Insanity', 'Turn on Insanity settings. This also controls the entireity of IF. If you turn this off it will not Insanity Farm. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rinsanitymaz', 'Insanity Settings', 'Click to open the Insanity settings.
Zone: What zone to farm insanity stacks in.
Cell: What cell to start farming insanity stacks on.
Stacks: Number of stacks you want.
Level: How many map levels you want above zone.
Example: If you put Zone: 60\, Cell: 50\, Stacks: 500\, Level: 5\, you will farm at zone 60\, on cell 50 until you have 500 insanity stacks\, in a +5 map. ', 'infoclick', false, null, 'Challenges');
+ createSetting('Rinsanityfarmzone', 'Insanity Farming', 'zone', 'multiValue', [-1], null, 'Challenges');
+ createSetting('Rinsanityfarmcell', 'IF: Cell', 'cell', 'multiValue', '-1', null, 'Challenges');
+ createSetting('Rinsanityfarmstack', 'IF: Stacks', 'stacks', 'multiValue', [-1], null, 'Challenges');
+ createSetting('Rinsanityfarmlevel', 'IF: Map Level', 'level', 'multiValue', [0], null, 'Challenges');
+ createSetting('Rinsanityfarmfrag', 'IF: Frags', 'Turn this on to farm fragments if you cannot afford the map you have selected for IF. ', 'boolean', 'false', null, 'Challenges');
+
+ //Exterminate
+ createSetting('Rexterminateon', 'Exterminate', 'Turn on Exterminate settings. This also controls the entireity of Exterminate. If you turn this off it will not calculate Exterminate. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rexterminatecalc', 'E: Calc', 'Calculate Exterminate enemies instead of the usual ones. May improve your challenge experience. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rexterminateeq', 'E: Equality', 'Will manage your equality \'better\' inside the challenge. When you have the experienced buff it will turn it off, when you dont it will turn it on and let it build up. ', 'boolean', 'false', null, 'Challenges');
+
+ //Panda
+ createSetting('Rpandaon', 'Pandemonium', 'Turn on Pandemonium settings. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rpandamaps', 'P: Mapping', 'Turn this on to automate mapping Pandemonium starting at the zone defined in P: Zone. Use the P: Attacks to define the maximum amount of hits an enemy in a map should take to kill. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rpandazone', 'P: Zone', 'What zone to start Pandemonium mapping at. Will ignore Pandemonium stacks below this zone. ', 'value', '-1', null, 'Challenges');
+ createSetting('Rpandahits', 'P: Hits', 'How many hits an enemy in a plus map should take to kill. Will select up to +6 levels. If you cannot kill an enemy in the maximum number of hits in any plus map, will try to run a +1 map anyway. ', 'value', '-1', null, 'Challenges');
+
+ //Alch
+ createSetting('Ralchon', 'Alchemy', 'Turn on Alchemy settings. This also controls the entireity of AF. If you turn this off it will not Alchemy Farm. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Ralchfarmmaz', 'Alchemy Settings', 'Click to open the Alchemy settings. Do not use vanilla autobrew AF will buy potions for you.
Zone: What zone to farm herbs and potions in.
Cell: What cell to start farming herbs and potions on.
Potion: You must pair a potion with a level here. Example: h15\,g20\,s15. This will farm Herby potion up to level 15 on the first AF zone\, Gaseous potion to level 20 and so on.
Level: How many map levels you want above zone.
Example: If you put Zone: 81\, Cell: 50\, Potion: h15\, Level: 5\, Map: Farmlands\, you will farm at zone 81\, on cell 50 until you can afford 15 total herby potions\, in a +5 map\, using a farmlands map. ', 'infoclick', false, null, 'Challenges');
+ createSetting('Ralchfarmzone', 'Alchemy Farming', 'zone', 'multiValue', [-1], null, 'Challenges');
+ createSetting('Ralchfarmcell', 'AF: Cell', 'cell', 'multiValue', '[-1]', null, 'Challenges');
+ createSetting('Ralchfarmstack', 'AF: Potion', 'potion', 'textValue', 'undefined', null, 'Challenges');
+ createSetting('Ralchfarmlevel', 'AF: Map Level', 'level', 'multiValue', [0], null, 'Challenges');
+ createSetting('Ralchfarmselection', 'AF: Map Selection', 'map', 'textValue', 'l', null, 'Challenges');
+ createSetting('Ralchfarmfrag', 'AF: Frags', 'Turn this on to farm fragments if you cannot afford the map you have selected for AF. ', 'boolean', 'false', null, 'Challenges');
+
+ //Hypo
+ createSetting('Rhypoon', 'Hypothermia', 'Turn on Hypothermia settings. This also controls the entireity of HF. If you turn this off it will not Hypothermia Farm. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rhypofarmmaz', 'Hypothermia Settings', 'Click to open the Hypothermia settings. HF will not spend wood on zones you are farming bonfires or until you have achieved your bonfire goal.
Zone: What zone to farm bonfires in.
Cell: What cell to start farming bonfires on.
Bonfire: The number of total bonfires in the run you want at that zone.
Level: How many map levels you want above zone.
Example: If you put Zone: 17\, Cell: 50\, Bonfire: 5\, Level: 5\, you will farm at zone 17\, on cell 50 until you can afford 5 total bonfires\, in a +5 map. ', 'infoclick', false, null, 'Challenges');
+ createSetting('Rhypofarmzone', 'Hypothermia Farming', 'zone', 'multiValue', [-1], null, 'Challenges');
+ createSetting('Rhypofarmcell', 'HF: Cell', 'cell', 'multiValue', [-1], null, 'Challenges');
+ createSetting('Rhypofarmstack', 'HF: Bonfire', 'bonfire', 'multiValue', 'undefined', null, 'Challenges');
+ createSetting('Rhypofarmlevel', 'HF: Map Level', 'level', 'multiValue', [0], null, 'Challenges');
+ createSetting('Rhypofarmfrag', 'HF: Frags', 'Turn this on to farm fragments if you cannot afford the map you have selected for HF. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rhypocastle', 'Frozen Castle', 'What zone you wish you run frozen castle on to complete the challenge. Will run castle after voids so make sure thats set up right. ', 'value', '-1', null, 'Challenges');
+ createSetting('Rhypovoids', 'After Voids', 'Only run Frozen castle after all voids have been completed. ', 'boolean', true, null, 'Challenges');
+ createSetting('Rhypostorage', 'Storage', 'Turn this on to disable buying sheds unless you need more wood for your HF: Bonfire target price (AT AutoBuildings). Essentially this means you wont get accidently bonfires but you may lose out on smithies and shield prestiges. If you use vanilla autobuildings this setting is pointless. Disables AutoStorage until the first Bonfire farm zone that you reach during the challenge.', 'boolean', 'false', null, 'Challenges');
+
+ //Desolation
+ createSetting('Rdesoon', 'Desolation', 'Turn on Desolation settings. This also controls the entireity of Desolation settings. If you turn this off it will not do anything in Desolation. ', 'boolean', 'false', null, 'Challenges');
+ createSetting('Rdesozone', 'D: Zone', 'What zone to start D: H:D and D: Multiplier. ', 'value', '-1', null, 'Challenges');
+ createSetting('RdesoHD', 'D: H:D', 'What H:D to use inside Desolation. ', 'value', '-1', null, 'Challenges');
+ createSetting('Rdesomult', 'D: Multiplier', 'Starting from the zone above D: Zone, this setting will multiply the H:D you have set in D: H:D. So if D: Zone was 100, D: H:D was 10, D: Multiplier was 1.2, at z101 your H:D target will be 12, then at z102 it will be 14.4 and so on. This way you can account for the zones getting stronger and you will not waste time farming for a really low H:D. ', 'value', '-1', null, 'Challenges');
+ //Combat
-//Combat
- //Subsection1Line1
- createSetting('BetterAutoFight', ['Better AutoFight OFF', 'Better Auto Fight 1', 'Better Auto Fight 2'], '3-Way Button, Recommended. Will automatically handle fighting. The decision between BetterAutoFight 1 or 2 is up to your own discretion. The new BAF#2 does: A)Click fight anyway if we are dead and stuck in a loop due to Dimensional Generator and we can get away with adding time to it.(RemainingTime + ArmyAdd.Time < GeneTimer) and B) Clicks fight anyway if we are dead and have >=31 NextGroupTimer and deal with the consequences by firing genetecists afterwards. WARNING: If you autoportal with BetterAutoFight disabled, the game sits there doing nothing until you click FIGHT. (not good for afk) ', 'multitoggle', 1, null, "Combat");
- createSetting('AutoStance', ['Auto Stance OFF', 'Auto Stance 1', 'Auto Stance 2'], 'Automatically swap stances to avoid death. The decision between AutoStance 1 or 2 is up to your own discretion and they should be similar. ', 'multitoggle', 1, null, "Combat");
+ //Line 1
+ createSetting('BetterAutoFight', ['Better AutoFight OFF', 'Better Auto Fight', 'Vanilla'], '3-Way Button, Recommended. Will automatically handle fighting.
BAF = Old Algo (Fights if dead, new squad ready, new squad breed timer target exceeded, and if breeding takes under 0.5 seconds
BAF3 = Uses vanilla autofight and makes sure you fight on portal.
WARNING: If you autoportal with BetterAutoFight disabled, the game may sit there doing nothing until you click FIGHT. (not good for afk) ', 'multitoggle', 1, null, "Combat");
+ createSetting('AutoStance', ['Auto Stance OFF', 'Auto Stance', 'D Stance', 'Windstacking'], 'Autostance: Automatically swap stances to avoid death.
D Stance: Keeps you in D stance regardless of Health.
Windstacking: For use after nature (z230), and will keep you in D stance unless you are windstacking (Only useful if transfer is maxed out and wind empowerment is high). Manages your Heirloom swapping and stance to obtain wind stacks efficiently. You must set your High Dmg and Low Dmg Heirlooms, Windstack H:D or WSMAX H:D where relevant for this to work. ', 'multitoggle', 1, null, "Combat");
createSetting('IgnoreCrits', ['Safety First', 'Ignore Void Strength', 'Ignore All Crits'], 'No longer switches to B against corrupted precision and/or void strength. Basically we now treat \'crit things\' as regular in both autoStance and autoStance2. In fact it no longer takes precision / strength into account and will manage like a normal enemy, thus retaining X / D depending on your needs. If you\'re certain your block is high enough regardless if you\'re fighting a crit guy in a crit daily, use this! Alternatively, manage the stances yourself.', 'multitoggle', 0, null, 'Combat');
- createSetting('PowerSaving', ['Don\'t care', 'Power Saving', 'Only Rush Voids'], 'Avoid killing your army impatiently. Don\'t force abandon trimps when prestiging. Will still Die To Use Z and aggressively autostance to aid progression and anything else. Made for Empower daily, you might find it helpful if you\'re doing Workplace Safety feat. Then again with that I strongly recommend doing it fully manually. Anyway, don\'t blame me whatever happens. Only Rush Voids will allow considering abandoning, not force one. Note: AT will no longer be able to fix when your scryer gets stuck!', 'multitoggle', 0, null, 'Combat');
- createSetting('ForceAbandon', 'Auto Force-Abandon', '(Trimpicide). If a new fight group is available and anticipation stacks arent maxed, force abandon and grab a new group. Located in the geneticist management script.', 'boolean', true, null, 'Combat');
+ createSetting('PowerSaving', ['AutoAbandon', 'Don\'t Abandon', 'Only Rush Voids'], 'Autoabandon: Considers abandoning trimps for void maps/prestiges.
Don\'t Abandon: Will not abandon troops, but will still agressively autostance even if it will kill you (WILL NOT ABANDON TRIMPS TO DO VOIDS).
Only Rush Voids: Considers abandoning trimps for void maps, but not prestiges, still autostances aggressively.
Made for Empower daily, and you might find this helpful if you\'re doing Workplace Safety feat. Then again with that I strongly recommend doing it fully manually. Anyway, don\'t blame me whatever happens.
Note: AT will no longer be able to fix when your scryer gets stuck!', 'multitoggle', 0, null, 'Combat');
+ createSetting('ForceAbandon', 'Trimpicide', 'If a new fight group is available and anticipation stacks aren\'t maxed, Trimpicide and grab a new group. Will not abandon in spire. Recommended ON. ', 'boolean', true, null, 'Combat');
createSetting('DynamicGyms', 'Dynamic Gyms', 'Designed to limit your block to slightly more than however much the enemy attack is. If MaxGyms is capped or GymWall is set, those will still work, and this will NOT override those (works concurrently), but it will further limit them. In the future it may override, but the calculation is not easy to get right so I dont want it undo-ing other things yet. ', 'boolean', false, null, 'Combat');
createSetting('AutoRoboTrimp', 'AutoRoboTrimp', 'Use RoboTrimps ability starting at this level, and every 5 levels thereafter. (set to 0 to disable. default 60.) 60 is a good choice for mostly everybody.', 'value', '60', null, 'Combat');
-
-
-
-//Scryer
- createSetting('UseScryerStance', 'Use Scryer Stance', 'MASTER BUTTON Stay in Scryer stance in z181 and above (Overrides Autostance). Falls back to regular Autostance when not in use (so leave that on). Get 2x resources or Dark Essence. All other buttons have no effect if this one is off.', 'boolean', true, null, 'Scryer');
- createSetting('ScryerUseWhenOverkill', 'Use When Overkill', 'Use when we can Overkill in S stance, for double loot with no speed penalty. Recommend this be on. NOTE: This being on, and being able to overkill in S will override ALL other settings (Except never use in spire). This is a boolean logic shortcut that disregards all the other settings including Min and Max Zone. If you ONLY want to use S during Overkill, as a workaround: turn this on and Min zone: to 9999 and everything else off(red). ', 'boolean', true, null, 'Scryer');
- createSetting('ScryerMinZone', 'Min Zone', 'Minimum zone to start using scryer in.(inclusive) Recommend:(60 or 181). This needs to be On & Valid for options other than Overkill to work. Tip: Use 9999 to disable all other Non-Overkill scryer usage.', 'value', '181', null, 'Scryer');
- createSetting('ScryerMaxZone', 'Max Zone', 'Zone to STOP using scryer at.(not inclusive) Recommend: Leave off (0 or -1 to disable: doesnt prevent options other than Overkill from working.) Positive numbers DO disable it past that zone. ', 'value', '230', null, 'Scryer');
- createSetting('ScryerUseinMaps2', ['Maybe Use in Maps', 'Force Use in Maps'], 'Maybe/Force Use in Maps. Overkill overrides this setting. Does not have to be on for Overkill Button to use S in maps. (Obeys zone settings)', 'multitoggle', 0, null, 'Scryer');
- createSetting('ScryerUseinVoidMaps2', ['Maybe Use in VoidMaps', 'Force Use in VoidMaps', 'Never Use in VoidMaps'], 'Maybe/Force/Never Use in Void Maps. Never WILL override the Overkill setting, and never use S in Void Maps. Maybe means default - treat Void Maps like any other cell (something else has to be ON to trigger Scryer). Force = Always use S.', 'multitoggle', 0, null, 'Scryer');
- createSetting('ScryerUseinSpire2', ['Maybe Use in Spire', 'Force Use in Spire', 'Never Use in Spire'], 'Maybe/Force/Never Use in Spire. Never WILL override the Overkill setting, and never use S in Spire. Maybe means default - treat Spire like any other cell (something else has to be ON to trigger Scryer). Force = Always use S.', 'multitoggle', 0, null, 'Scryer');
- //Line2
- createSetting('ScryerSkipBoss2', ['Default on Cell 100', 'Never Use on Cell 100 above VoidLevel', 'Never Use on Cell 100 (ALL Levels)'], 'On cell 100: Default/Never Use(above VoidLevel)/Never Use(ALL Levels). Overkill overrides this setting. Doesnt use Scrying stance for world Improbabilities/Bosses (cell 100) if you are past the level you have your VoidMaps set to run at. (or all levels, if set.) Default treats cell 100 like any other cell.', 'multitoggle', 0, null, 'Scryer');
- createSetting('ScryerSkipCorrupteds2', ['Maybe Use S on Corrupteds', 'Dont Use S on Corrupteds'], 'Overkill overrides this setting, even on Dont Use. Turning this Green doesnt use S stance for corrupted cells UNLESS you can overkill them. Red/Maybe just means default (corrupteds are treated like normal cells), so something else has to be ON to trigger Scryer to be used. Magma maps and Corrupted Voidmaps are classified under this box as corrupted and Green-DontUse here will override the ForceMaps/ForceVoidmaps (for now)', 'multitoggle', 0, null, 'Scryer');
- createSetting('ScryerDieToUseS', 'Die To Use S', 'Turning this on will switch you back to S even when doing so would kill you. Happens in scenarios where you used Skip Corrupteds that took you into regular Autostance X/H stance, killed the corrupted and reached a non-corrupted enemy that you wish to use S on, but you havent bred yet and you are too low on health to just switch back to S. So youd rather die, wait to breed, then use S for the full non-corrupted enemy, to maximize DE. This feature was added for 1 person, use at your own risk.', 'boolean', false, null, 'Scryer');
- createSetting('ScryerDieZ', 'Scryer Suicide Z', 'You know, Die To Use S is helpful and all, but sometimes it doesn\'t matter in early zones. Don\'t you think so? That was a rhetorical question, don\'t answer it. Like Void Maps config, you can put a decimal value for cell, like 230.60 for after zone 230 for >= 60th cell.', 'value', 230.60, null, 'Scryer');
- //createSetting('ScryUseinPoison', ' Scry in Poison', ['Maybe Use in Poison', 'Force Use in Poison', 'Never Use in Poison']
-
-
-
-
-// Dimensional Generator settings:
- createSetting('UseAutoGen', ['Auto Generator OFF', 'Auto Generator ON'], 'MASTER BUTTON Dynamically switch generator modes. Required for the following mode management configurations to work. The Dimensional Generator is a building unlocked in The Magma, from z230.', 'multitoggle', 0, null, 'Magma');
- createSetting('AutoGen2', ['Default', 'Microtick', 'Max Cap', 'Overclock'], 'Before Z is reached, Microtick and Max Cap will switch between [Hybrid / Gain Fuel] to get EXACTLY one / FULL stacks of Capacity (not Storage) before using [Gain Mi]. Default will respect whatever you set it to and won\'t fiddle with it unless challenge overriding is on. Overclock will Gain Fuel until Z.', 'multitoggle', 2, null, 'Magma');
- createSetting('AutoGen2End', 'End Early Mode Z', 'On and after Z, be done with the mode we start with and switch to the final mode. -1 to disable.', 'value', 300, null, 'Magma');
- createSetting('AutoGen2SupplyEnd', 'End at Supply', 'On and after the zone for gathering the most magma by Supply, end Early Mode. Works alongside AutoGen2End and will end when either condition is met.', 'boolean', false, null, 'Magma');
- createSetting('AutoGen3', ['Gain Mi', 'Gain Fuel', 'Hybrid'], 'Mode to use after Z / SupplyEnd.', 'multitoggle', 1, null, 'Magma');
- createSetting('AutoGenDC', ['Daily: Normal', 'Daily: Fuel', 'Daily: Hybrid'], 'Use a special mode in dailies to make the most out of it. Overrides AutoGen3 unless Strong Override is on.', 'multitoggle', 1, null, 'Magma');
- createSetting('AutoGenC2', ['c2: Normal', 'c2: Fuel', 'c2: Hybrid'], 'Use a special mode when running challenge2s to make the most out of it. Overrides AutoGen3 unless Strong Override is on.', 'multitoggle', 1, null, 'Magma');
- createSetting('AutoGen2Override', ['Override Final Only', 'Strong Override'], 'Overrides apply to the final mode (always use early mode), or also to early mode (will stop microtick etc). Normal will not change anything.', 'multitoggle', 1, null, 'Magma');
- createSetting('AutoMagmiteSpender2', ['Spend Magmite OFF', 'Spend Magmite (Portal)', 'Spend Magmite Always'], 'Auto Spends any unspent Magmite immediately before portaling. (Or Always, if toggled). Part 1 buys any permanent one-and-done upgrades in order from most expensive to least. Part 2 then analyzes Efficiency vs Capacity for cost/benefit, and buys Efficiency if its BETTER than Capacity. If not, if the PRICE of Capacity is less than the price of Supply, it buys Capacity. If not, it buys Supply. And then it repeats itself until you run out of Magmite and cant buy anymore. For Magma z230+ purposes.', 'multitoggle', 1, null, 'Magma');
- createSetting('SupplyWall', 'Throttle Supply (or Capacity)', 'Positive number NOT 1 e.g. 2.5: Consider Supply when its cost * 2.5 is < Capacity, instead of immediately when < Cap. Effectively throttles supply for when you don\'t need too many.
Negative number (-1 is ok) e.g. -2.5: Consider Supply if it costs < Capacity * 2.5, buy more supplys! Effectively throttling capacity instead.
Set to 1: DISABLE SUPPLY only spend magmite on Efficiency, Capacity and Overclocker. (For some end game players, supply is worth probably figuratively nothing.)
Set to 0: IGNORE SETTING and use old behaviour (will still try to buy overclocker)', 'valueNegative', 2, null, 'Magma');
- createSetting('OneTimeOnly', 'One Time / Overclock Only', 'Makes the magmite spending sequence only buy one time upgrades and overclock, ignoring Efficiency, Capacity and Supply. Intended for manual use. Does not disable itself.', 'boolean', false, null, 'Magma');
- createSetting('BuyOvclock', 'Buy Overclock', 'Turn this off to not buy anymore overclocks. Will still buy the first level if you don\'t already own it.', 'boolean', true, null, 'Magma');
+ //Line 2
+ createSetting('fightforever', 'Fight Always', 'U1: -1 to disable. Sends trimps to fight if they\'re not fighting, regardless of BAF. Has 2 uses. Set to 0 to always send out trimps. Or set a number higher than 0 to enable the H:D function. If the H:D ratio is below this number it will send them out. I.e, this is set to 1, it will send out trimps regardless with the H:D ratio is below 1. ', 'value', '-1', null, 'Combat');
+ createSetting('addpoison', 'Poison Calc', 'Experimental.
Adds poison to the battlecalc. May improve your poison zone speed. ', 'boolean', 'false', null, 'Combat');
+ createSetting('fullice', 'Ice Calc', 'Experimental.
Always calculates your ice to be a consistent level instead of going by the enemy debuff. Stops H:D spazzing out. ', 'boolean', 'false', null, 'Combat');
+ createSetting('45stacks', 'Antistack Calc', 'Experimental.
Always calcs your damage as having full antistacks. Useful for windstacking. ', 'boolean', 'false', null, 'Combat');
+
+
+ //RCombat
+ createSetting('Rfightforever', 'Fight Always', 'U2: -1 to disable. Sends trimps to fight if they\'re not fighting, regardless of BAF. Has 2 uses. Set to 0 to always send out trimps. Or set a number higher than 0 to enable the H:D function. If the H:D ratio is below this number it will send them out. I.e, this is set to 1, it will send out trimps regardless with the H:D ratio is below 1. ', 'value', '-1', null, 'Combat');
+ createSetting('Rcalcmaxequality', ['Equality Calc Off', 'EC: On', 'EC: Health'], 'Experimental.
Adds Equality Scaling levels to the battlecalc. Will always calculate equality based on actual scaling levels when its turned off by other settings. Assumes you use Equality Scaling. Turning this on allows in-game Equality Scaling to adjust your Health accordingly. EC: Health only decreases enemies attack in the calculation which may improve speed. ', 'multitoggle', 0, null, 'Combat');
+ createSetting('Rmanageequality', 'Manage Equality', 'Manages Equality for you. Sets Equality to 0 on Slow enemies, and Autoscaling on for Fast enemies. ', 'boolean', 'false', null, 'Combat');
+ createSetting('Rcalcfrenzy', 'Frenzy Calc', 'Experimental.
Adds frenzy to the calc. Be warned\, it will not farm as much with this on as it expects 100% frenzy uptime. ', 'boolean', 'false', null, 'Combat');
+ createSetting('Rmutecalc', 'Mute Calc', 'What zone to start calculating Mutations at. 0 to disable.', 'value', '-1', null, 'Combat');
+
+
+ //Scryer
+
+ //Line 1
+ createSetting('UseScryerStance', 'Enable Scryer Stance', 'MASTER BUTTON Activates all other scrying settings, and overrides AutoStance when scryer conditions are met. Leave regular Autostance on while this is active. Scryer gives 2x Resources (Non-Helium/Nullifium) and a chance for Dark Essence. Once this is on, priority for Scryer decisions goes as such:
NEVER USE, FORCE USE, OVERKILL, MIN/MAX ZONE
NO OTHER BUTTONS WILL DO ANYTHING IF THIS IS OFF.', 'boolean', true, null, 'Scryer');
+ createSetting('ScryerUseWhenOverkill', 'Use When Overkill', 'Overrides everything! Toggles stance when we can Overkill in S, giving us double loot with no speed penalty (minimum one overkill, if you have more than 1, it will lose speed) NOTE: This being on, and being able to overkill in S will override ALL other settings (Except never use in spire). This is a boolean logic shortcut that disregards all the other settings including Min and Max Zone. If you ONLY want to use S during Overkill, as a workaround: turn this on and Min zone: to 9999 and everything else off(red). ', 'boolean', true, null, 'Scryer');
+ createSetting('ScryerMinZone', 'Min Zone', 'Minimum zone to start using scryer in.(inclusive) Recommend:(60 or 181). Overkill ignores this. This needs to be On & Valid for the MAYBE option on all other Scryer settings to do anything if Overkill is off. Tip: Use 9999 to disable all Non-Overkill, Non-Force, scryer usage.', 'value', '181', null, 'Scryer');
+ createSetting('ScryerMaxZone', 'Max Zone', '0 or -1 to disable (Recommended)
Overkill ignores this. Zone to STOP using scryer at (not inclusive). Turning this ON with a positive number stops MAYBE use of all other Scryer settings.', 'value', '230', null, 'Scryer');
+ createSetting('onlyminmaxworld', 'World Min & Max Only', 'Forces Scryer to only work in world regardless of other settings. ', 'boolean', false, null, 'Scryer');
+ createSetting('ScryerUseinMaps2', ['Maps: NEVER', 'Maps: FORCE', 'Maps: MAYBE'], 'NEVER Means what it says!!!
FORCE means Scryer will ALWAYS activate in Maps
MAYBE means that Overkill and Min/Max use are allowed.
This setting requires use on Corrupteds to be on after corruption/magma.
Recommend MAYBE.', 'multitoggle', 2, null, 'Scryer');
+ createSetting('ScryerUseinVoidMaps2', ['VoidMaps: NEVER', 'VoidMaps: FORCE', 'VoidMaps: MAYBE'], 'NEVER Means what it says!!!
FORCE means Scryer will ALWAYS activate in Void Maps
MAYBE means that Overkill and Min/Max use are allowed. ', 'multitoggle', 0, null, 'Scryer');
+
+ //Line 2
+ createSetting('ScryerUseinPMaps', ['P Maps: NEVER', 'P Maps: FORCE', 'P Maps: MAYBE'], 'NEVER Means what it says!!!
FORCE means Scryer will ALWAYS activate in maps higher than your zone
MAYBE means that Overkill and Min/Max use are allowed.
Recommend NEVER.', 'multitoggle', 0, null, 'Scryer');
+ createSetting('ScryerUseinBW', ['BW: NEVER', 'BW: FORCE', 'BW: MAYBE'], 'NEVER Means what it says!!!
FORCE means Scryer will ALWAYS activate in BW Maps
MAYBE means that Overkill and Min/Max use are allowed.
This setting requires use in Maps to be on.
Recommend NEVER.', 'multitoggle', 0, null, 'Scryer');
+ createSetting('ScryerUseinSpire2', ['Spire: NEVER', 'Spire: FORCE', 'Spire: MAYBE'], 'NEVER Means what it says!!!
FORCE means Scryer will ALWAYS activate in the Spire
MAYBE means that Overkill and Min/Max use are allowed.
This setting requires use on Corrupteds to be on for corrupted enemies.
Recommend NEVER.', 'multitoggle', 0, null, 'Scryer');
+ createSetting('ScryerSkipBoss2', ['Boss: NEVER (All Levels)', 'Boss: NEVER (Above VoidLevel)', 'Boss: MAYBE'], 'NEVER (All Levels) will NEVER use S in cell 100 of the world!!!
NEVER (Above VoidLevel) will NEVER use S in cell 100 of the world ABOVE the zone that your void maps are set to run at (Maps).
MAYBE treats the cell no differently to any other, Overkill and Min/Max Scryer is allowed.
Recommend NEVER (There is little benefit to double NON-HELIUM resources and a small chance of DE).', 'multitoggle', 0, null, 'Scryer');
+ createSetting('ScryerSkipCorrupteds2', ['Corrupted: NEVER', 'Corrupted: FORCE', 'Corrupted: MAYBE'], 'NEVER Means what it says!!!
FORCE means Scryer will ALWAYS activate against Corrupted enemies
MAYBE means that Overkill and Min/Max use are allowed.
Magma maps and Corrupted Voidmaps are currently classified as corrupted and NEVER here will override Maps and Voidmaps use of Scryer
Recommend MAYBE.', 'multitoggle', 2, null, 'Scryer');
+ createSetting('ScryerSkipHealthy', ['Healthy: NEVER', 'Healthy: FORCE', 'Healthy: MAYBE'], 'NEVER Means what it says!!!
FORCE means Scryer will ALWAYS activate against Healthy enemies
MAYBE means that Overkill and Min/Max use are allowed.
Corrupted Voidmaps are currently classified as Healthy (same as corrupted) and NEVER here will override Maps and Voidmaps use of Scryer
Recommend MAYBE.', 'multitoggle', 2, null, 'Scryer');
+ createSetting('ScryUseinPoison', 'Scry in Poison', 'Decides what you do in Poison.
-1 = Maybe
0 = Never
Above 0 = Max Zone you want it scrying ', 'value', -1, null, 'Scryer');
+
+ //Line 3
+ createSetting('ScryUseinWind', 'Scry in Wind', 'Decides what you do in Wind.
-1 = Maybe
0 = Never
Above 0 = Max Zone you want it scrying', 'value', -1, null, 'Scryer');
+ createSetting('ScryUseinIce', 'Scry in Ice', 'Decides what you do in Ice.
-1 = Maybe
0 = Never
Above 0 = Max Zone you want it scrying', 'value', -1, null, 'Scryer');
+ createSetting('ScryerDieZ', 'Die To Use S', '-1 to disable.
Turning this on will switch you back to S even when doing so would kill you. Happens in scenarios where you used Skip Corrupteds that took you into regular Autostance X/H stance, killed the corrupted and reached a non-corrupted enemy that you wish to use S on, but you havent bred yet and you are too low on health to just switch back to S. So you\'d rather die, wait to breed, then use S for the full non-corrupted enemy, to maximize DE. NOTE: Use at your own risk.
Use this input to set the minimum zone that scryer activates in (You can use decimal values to specify what cell this setting starts from)', 'value', 230.60, null, 'Scryer');
+ createSetting('screwessence', 'Remaining Essence Only', 'Why scry when theres no essence? Turns off scrying when the remaining enemies with essence drops to 0. ', 'boolean', false, null, 'Scryer');
+
+
+ //Magma
+
+ createSetting('UseAutoGen', 'Auto Generator', 'Turn this on to use these settings. ', 'boolean', false, null, 'Magma');
+ createSetting('beforegen', ['Gain Mi', 'Gain Fuel', 'Hybrid'], 'MODE BEFORE FUELING: Which mode to use before fueling. This is the mode which the generator will use if you fuel after z230. Using Hybrid mode before unlocking is very naughty and will be punished! ', 'multitoggle', 1, null, 'Magma');
+ createSetting('fuellater', 'Start Fuel Z', 'Start fueling at this zone instead of 230. I would suggest you have a value lower than your max, for obvious reasons. Recommend starting at a value close-ish to your max supply. Use 230 to use your BEFORE FUEL setting. ', 'value', -1, null, 'Magma');
+ createSetting('fuelend', 'End Fuel Z', 'End fueling at this zone. After this zone is reached, will follow your preference. -1 to fuel infinitely. ', 'value', -1, null, 'Magma');
+ createSetting('defaultgen', ['Gain Mi', 'Gain Fuel', 'Hybrid'], 'MODE AFTER FUELING: Which mode to use after fueling. Using Hybrid mode before unlocking is very naughty and will be punished! ', 'multitoggle', 1, null, 'Magma');
+ createSetting('AutoGenDC', ['Daily: Normal', 'Daily: Fuel', 'Daily: Hybrid'], 'Normal: Uses the AutoGen settings.
Fuel: Fuels the entire Daily.
Hybrid: Uses Hybrid for the entire Daily. Using Hybrid mode before unlocking is very naughty and will be punished! ', 'multitoggle', 1, null, 'Magma');
+ createSetting('AutoGenC2', ['C2: Normal', 'C2: Fuel', 'C2: Hybrid'], 'Normal: Uses the AutoGen settings.
Fuel: Fuels the entire C2.
Hybrid: Uses Hybrid for the entire C2. Using Hybrid mode before unlocking is very naughty and will be punished! ', 'multitoggle', 1, null, 'Magma');
+
+ //Spend Mi
+ document.getElementById('AutoGenC2').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('spendmagmite', ['Spend Magmite OFF', 'Spend Magmite (Portal)', 'Spend Magmite Always'], 'Auto Spends any unspent Magmite immediately before portaling. (Or Always, if toggled). Part 1 buys any permanent one-and-done upgrades in order from most expensive to least. Part 2 then analyzes Efficiency vs Capacity for cost/benefit, and buys Efficiency if its BETTER than Capacity. If not, if the PRICE of Capacity is less than the price of Supply, it buys Capacity. If not, it buys Supply. And then it repeats itself until you run out of Magmite and cant buy anymore. ', 'multitoggle', 1, null, 'Magma');
+ createSetting('ratiospend', 'Ratio Spending', 'Spends Magmite in a Ratio you define. ', 'boolean', false, null, 'Magma');
+ createSetting('effratio', 'Efficiency', 'Use -1 or 0 to not spend on this. Any value above 0 will spend. ', 'value', -1, null, 'Magma');
+ createSetting('capratio', 'Capacity', 'Use -1 or 0 to not spend on this. Any value above 0 will spend. ', 'value', -1, null, 'Magma');
+ createSetting('supratio', 'Supply', 'Use -1 or 0 to not spend on this. Any value above 0 will spend. ', 'value', -1, null, 'Magma');
+ createSetting('ocratio', 'Overclocker', 'Use -1 or 0 to not spend on this. Any value above 0 will spend. ', 'value', -1, null, 'Magma');
+ createSetting('SupplyWall', 'Throttle Supply (or Capacity)', 'Positive number NOT 1 e.g. 2.5: Consider Supply when its cost * 2.5 is < Capacity, instead of immediately when < Cap. Effectively throttles supply for when you don\'t need too many.
Negative number (-1 is ok) e.g. -2.5: Consider Supply if it costs < Capacity * 2.5, buy more supplys! Effectively throttling capacity instead.
Set to 1: DISABLE SUPPLY only spend magmite on Efficiency, Capacity and Overclocker. Always try to get supply close to your HZE.
Set to 0: IGNORE SETTING and use old behaviour (will still try to buy overclocker)', 'valueNegative', 0.4, null, 'Magma');
+ createSetting('spendmagmitesetting', ['Normal', 'Normal & No OC', 'OneTime Only', 'OneTime & OC'], 'Normal: Spends Magmite Normally as Explained in Magmite spending behaviour.
Normal & No OC: Same as normal, except skips OC afterbuying 1 OC upgrade.
OneTime Only: Only Buys the One off upgrades except skips OC afterbuying 1 OC upgrade.
OneTime & OC: Buys all One off upgrades, then buys OC only. ', 'multitoggle', 0, null, 'Magma');
createSetting('MagmiteExplain', 'Magmite spending behaviour', '1. Buy one-and-done upgrades, expensive first, then consider 1st level of Overclocker;
2. Buy Overclocker IF AND ONLY IF we can afford it;
2.5. Exit if OneTimeOnly
3. Buy Efficiency if it is better than capacity;
4. Buy Capacity or Supply depending on which is cheaper, or based on SupplyWall', 'infoclick', 'MagmiteExplain', null, 'Magma');
-
-
-
-//Heirloom Settings
- createSetting('AutoHeirlooms', 'Auto Heirlooms', 'Automatically evaluate and carry the best heirlooms, and recommend upgrades for equipped items. AutoHeirlooms will only change carried items when the heirlooms window is not open. Carried items will be compared and swapped with the types that are already carried. If a carry spot is empty, it will be filled with the best shield (if available). Evaluation is based ONLY on the following mods (listed in order of priority, high to low): Void Map Drop Chance/Trimp Attack, Crit Chance/Crit Damage, Miner Efficiency/Metal Drop, Gem Drop/Dragimp Efficiency, Farmer/Lumberjack Efficiency. For the purposes of carrying, rarity trumps all of the stat evaluations. Empty mod slots are valued at the average value of the best missing mod.', 'boolean', false, null, "Heirlooms");
- createSetting('AutoHeirlooms2', 'Auto Heirlooms2', 'IMPORTANT SETTING. New algorithm for Heirlooms. While enabled, the old AutoHeirlooms algorithm will be disabled (the button will stay lit or you can turn that one off). CAUTION: Turning this on will immediately re-sort your heirlooms according to the new algorithm, and turning it off again DOES revert to the original algorithm even though it may NOT have a visible result on your heirlooms. (fyi: This lack of action highlights one of the problems with the old one.) ', 'boolean', false, null, 'Heirlooms');
- createSetting('AutoUpgradeHeirlooms', 'Auto Upgrade Heirlooms', 'Automatically buys the upgrades the script advises for the Equipped shield and staff, until we are out of nullifium.', 'boolean', false, null, 'Heirlooms');
-
-
-
-//Golden Upgrade Strategies:
- createSetting('AutoGoldenUpgrades', 'AutoGoldenUpgrades', 'IMPORTANT SETTING. Automatically Buy the specified Golden Upgrades as they become available. Faster than vanilla. NOTE: Void setting unlocks more settings: goldStrat, goldAlternating, goldZone and goldNoBattle. New: Void also has a \\"Max then Helium\\" setting so you can get the perfect 60% Voids then Helium. More buttons will become visible when you make selections.', 'dropdown', 'Void', ["Off", "Helium", "Battle", "Void"], 'Golden');
- createSetting('goldStrat', 'Strategy', 'VOID ONLY: After max Void golden upgrades, alternate between buying helium and battle upgrades. Or Choose a Zone to switch over completely at (zones lower than X will buy only battle, and zones higher than X only helium). Battle can be disabled completely with the goldNoBattle button. MAX THEN HELIUM setting so you can get the perfect 60% Voids then Helium', 'dropdown', 'Max then Helium', ["Off", "Alternating", "Zone", "Max then Helium"], 'Golden');
- createSetting('goldAlternating', 'GU VOID: Alternating', 'Buy a helium upgrade after X-1 battle upgrades have been purchased', 'value', '2', null, 'Golden');
- createSetting('goldZone', 'GU VOID: Zone', 'Buy a helium upgrade until zone X, then buy battle upgrades.', 'value', '200', null, 'Golden');
- createSetting('goldNoBattle', 'GU VOID: No Battle', 'Dont ever buy battle upgrades.', 'boolean', true, null, 'Golden');
-
-
-
-// Nature settings:
+ //Heirloom
+ createSetting('highdmg', 'WS: High Damage', 'HIGH DAMAGE HEIRLOOM
Enter the name of your high damage heirloom. This is your heirloom that you will use normally. ', 'textValue', 'undefined', null, 'Heirlooms');
+ createSetting('lowdmg', 'WS: Low Damage', 'LOW DAMAGE HEIRLOOM
Enter the name of your low damage heirloom. This is the heirloom that you will use for windstacking. ', 'textValue', 'undefined', null, 'Heirlooms');
+
+ //Heirloom Swapping
+ document.getElementById('lowdmg').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rhs', 'Heirloom Swapping', 'Heirloom swapping master button. Turn this on to allow heirloom swapping and its associated settings. ', 'boolean', false, null, 'Heirlooms');
+
+ //Shield Swapping
+ document.getElementById('Rhs').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rhsshield', 'Shields', 'Toggle to swap Shields', 'boolean', false, null, 'Heirlooms');
+ createSetting('Rhsz', 'HS: Zone', 'Which zone to swap from your first heirloom you have defined to your second heirloom you have defined. I.e if this value is 75 it will switch to the second heirloom on z75', 'value', '-1', null, 'Heirlooms');
+ createSetting('Rhs1', 'HS: First', 'First Heirloom to use
Enter the name of your first heirloom. This is the heirloom that you will use before swapping to the second heirloom at the zone you have defined in the HS: Zone. ', 'textValue', 'undefined', null, 'Heirlooms');
+ createSetting('Rhs2', 'HS: Second', 'Second Heirloom to use
Enter the name of your second heirloom. This is the heirloom that you will use after swapping from the first heirloom at the zone you have defined in the HS: Zone. ', 'textValue', 'undefined', null, 'Heirlooms');
+
+ //Staff Swapping
+ document.getElementById('Rhs2').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rhsstaff', 'Staffs', 'Toggle to swap Staffs', 'boolean', false, null, 'Heirlooms');
+ createSetting('Rhsworldstaff', 'World', 'World Staff
Enter the name of your world staff.', 'textValue', 'undefined', null, 'Heirlooms');
+ createSetting('Rhsmapstaff', 'Map', 'Mapping staff
Enter the name of your mapping staff.', 'textValue', 'undefined', null, 'Heirlooms');
+ createSetting('Rhstributestaff', 'Tribute', 'Tribute farming staff
Enter the name of the staff you would like to equip during tribute farming.', 'textValue', 'undefined', null, 'Heirlooms');
+
+ //Heirloom Line
+ document.getElementById('Rhstributestaff').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('autoheirlooms', 'Auto Heirlooms', 'Auto Heirlooms master button. Turn this on to enable all Auto Heirloom settings.
The Modifier points will be explained here. The more points an heirloom has, the better chance it has of being kept. If empty is selected, it will muliplty the score by 4.
E.g Mod 1 = CC (+5 if dropped, 1st modifier)
Mod 2 = CD (+5 if dropped, 2nd modifier)
Mod 3 = PB (+5 if dropped, 3rd modifier)
Mod 4 = Empty (x4 if dropped, +0 if not)
Mod 5 = Empty (x4 if dropped, +0 if not)
If an heirloom dropped with these exact modifiers, it would get a score of 192 (5+5+5*4*4=240). The highest point heirlooms will be kept.
You MUST select at least one modifier. It will fill up the slots first then recycle the lowest rarity. ', 'boolean', false, null, 'Heirlooms');
+ createSetting('typetokeep', ['None', 'Shields', 'Staffs', 'Cores', 'All'], 'Shields: Keeps Shields and nothing else.
Staffs: Keeps Staffs and nothing else.
Cores: Keeps Cores and nothing else.
All: Keeps 4 Shields and 3 Staffs and 3 Cores. If you have protected heirlooms in your inventory it will overrite one slot. E.g if one heirloom is protected, you will keep 4 Shields and 3 Staffs and 2 Cores. ', 'multitoggle', 0, null, 'Heirlooms');
+ createSetting('raretokeep', 'Rarity to Keep', 'Auto Heirlooms. Keeps the selected rarity of heirloom, recycles all others when your inventory is full. You may keep lower rarity heirlooms if you have empty slots. ', 'dropdown', 'Any', ["Any", "Common", "Uncommon", "Rare", "Epic", "Legendary", "Magnificent", "Ethereal", "Magmatic", "Plagued", "Radiating", "Hazardous", "Enigmatic"], 'Heirlooms');
+
+ //Shield Line
+ document.getElementById('raretokeep').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('keepshields', 'Shields', 'Auto Heirlooms. Enables in-depth shield settings. ', 'boolean', false, null, 'Heirlooms');
+ createSetting('slot1modsh', 'Shield: Modifier 1', 'Auto Heirlooms. Keeps Shields with selected Mod. Modifier 1 is worth 5 points. ', 'dropdown', 'empty', ["empty", "playerEfficiency", "trainerEfficiency", "storageSize", "breedSpeed", "trimpHealth", "trimpAttack", "trimpBlock", "critDamage", "critChance", "voidMaps", "plaguebringer", "prismatic", "gammaBurst", "inequality"], 'Heirlooms');
+ createSetting('slot2modsh', 'Shield: Modifier 2', 'Auto Heirlooms. Keeps Shields with selected Mod. Modifier 2 is worth 5 points. ', 'dropdown', 'empty', ["empty", "playerEfficiency", "trainerEfficiency", "storageSize", "breedSpeed", "trimpHealth", "trimpAttack", "trimpBlock", "critDamage", "critChance", "voidMaps", "plaguebringer", "prismatic", "gammaBurst", "inequality"], 'Heirlooms');
+ createSetting('slot3modsh', 'Shield: Modifier 3', 'Auto Heirlooms. Keeps Shields with selected Mod. Modifier 3 is worth 5 points. ', 'dropdown', 'empty', ["empty", "playerEfficiency", "trainerEfficiency", "storageSize", "breedSpeed", "trimpHealth", "trimpAttack", "trimpBlock", "critDamage", "critChance", "voidMaps", "plaguebringer", "prismatic", "gammaBurst", "inequality"], 'Heirlooms');
+ createSetting('slot4modsh', 'Shield: Modifier 4', 'Auto Heirlooms. Keeps Shields with selected Mod. Modifier 4 is worth 5 points. ', 'dropdown', 'empty', ["empty", "playerEfficiency", "trainerEfficiency", "storageSize", "breedSpeed", "trimpHealth", "trimpAttack", "trimpBlock", "critDamage", "critChance", "voidMaps", "plaguebringer", "prismatic", "gammaBurst", "inequality"], 'Heirlooms');
+ createSetting('slot5modsh', 'Shield: Modifier 5', 'Auto Heirlooms. Keeps Shields with selected Mod. Modifier 5 is worth 5 points. ', 'dropdown', 'empty', ["empty", "playerEfficiency", "trainerEfficiency", "storageSize", "breedSpeed", "trimpHealth", "trimpAttack", "trimpBlock", "critDamage", "critChance", "voidMaps", "plaguebringer", "prismatic", "gammaBurst", "inequality"], 'Heirlooms');
+ createSetting('slot6modsh', 'Shield: Modifier 6', 'Auto Heirlooms. Keeps Shields with selected Mod. Modifier 6 is worth 5 points. ', 'dropdown', 'empty', ["empty", "playerEfficiency", "trainerEfficiency", "storageSize", "breedSpeed", "trimpHealth", "trimpAttack", "trimpBlock", "critDamage", "critChance", "voidMaps", "plaguebringer", "prismatic", "gammaBurst", "inequality"], 'Heirlooms');
+ createSetting('slot7modsh', 'Shield: Modifier 7', 'Auto Heirlooms. Keeps Shields with selected Mod. Modifier 7 is worth 5 points. ', 'dropdown', 'empty', ["empty", "playerEfficiency", "trainerEfficiency", "storageSize", "breedSpeed", "trimpHealth", "trimpAttack", "trimpBlock", "critDamage", "critChance", "voidMaps", "plaguebringer", "prismatic", "gammaBurst", "inequality"], 'Heirlooms');
+
+ //Staff Line
+ document.getElementById('slot7modsh').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('keepstaffs', 'Staffs', 'Auto Heirlooms. Enables in-depth staff settings. ', 'boolean', false, null, 'Heirlooms');
+ createSetting('slot1modst', 'Staff: Modifier 1', 'Auto Heirlooms. Keeps Staffs with selected Mod. Modifier 1 is worth 5 points. ', 'dropdown', 'empty', ["empty", "metalDrop", "foodDrop", "woodDrop", "gemsDrop", "fragmentsDrop", "minerSpeed", "FarmerSpeed", "LumberjackSpeed", "DragimpSpeed", "ExplorerSpeed", "ScientistSpeed", "FluffyExp", "ParityPower"], 'Heirlooms');
+ createSetting('slot2modst', 'Staff: Modifier 2', 'Auto Heirlooms. Keeps Staffs with selected Mod. Modifier 2 is worth 5 points. ', 'dropdown', 'empty', ["empty", "metalDrop", "foodDrop", "woodDrop", "gemsDrop", "fragmentsDrop", "minerSpeed", "FarmerSpeed", "LumberjackSpeed", "DragimpSpeed", "ExplorerSpeed", "ScientistSpeed", "FluffyExp", "ParityPower"], 'Heirlooms');
+ createSetting('slot3modst', 'Staff: Modifier 3', 'Auto Heirlooms. Keeps Staffs with selected Mod. Modifier 3 is worth 5 points. ', 'dropdown', 'empty', ["empty", "metalDrop", "foodDrop", "woodDrop", "gemsDrop", "fragmentsDrop", "minerSpeed", "FarmerSpeed", "LumberjackSpeed", "DragimpSpeed", "ExplorerSpeed", "ScientistSpeed", "FluffyExp", "ParityPower"], 'Heirlooms');
+ createSetting('slot4modst', 'Staff: Modifier 4', 'Auto Heirlooms. Keeps Staffs with selected Mod. Modifier 4 is worth 5 points. ', 'dropdown', 'empty', ["empty", "metalDrop", "foodDrop", "woodDrop", "gemsDrop", "fragmentsDrop", "minerSpeed", "FarmerSpeed", "LumberjackSpeed", "DragimpSpeed", "ExplorerSpeed", "ScientistSpeed", "FluffyExp", "ParityPower"], 'Heirlooms');
+ createSetting('slot5modst', 'Staff: Modifier 5', 'Auto Heirlooms. Keeps Staffs with selected Mod. Modifier 5 is worth 5 points. ', 'dropdown', 'empty', ["empty", "metalDrop", "foodDrop", "woodDrop", "gemsDrop", "fragmentsDrop", "minerSpeed", "FarmerSpeed", "LumberjackSpeed", "DragimpSpeed", "ExplorerSpeed", "ScientistSpeed", "FluffyExp", "ParityPower"], 'Heirlooms');
+ createSetting('slot6modst', 'Staff: Modifier 6', 'Auto Heirlooms. Keeps Staffs with selected Mod. Modifier 6 is worth 5 points. ', 'dropdown', 'empty', ["empty", "metalDrop", "foodDrop", "woodDrop", "gemsDrop", "fragmentsDrop", "minerSpeed", "FarmerSpeed", "LumberjackSpeed", "DragimpSpeed", "ExplorerSpeed", "ScientistSpeed", "FluffyExp", "ParityPower"], 'Heirlooms');
+ createSetting('slot7modst', 'Staff: Modifier 7', 'Auto Heirlooms. Keeps Staffs with selected Mod. Modifier 7 is worth 5 points. ', 'dropdown', 'empty', ["empty", "metalDrop", "foodDrop", "woodDrop", "gemsDrop", "fragmentsDrop", "minerSpeed", "FarmerSpeed", "LumberjackSpeed", "DragimpSpeed", "ExplorerSpeed", "ScientistSpeed", "FluffyExp", "ParityPower"], 'Heirlooms');
+
+ //Core Line
+ document.getElementById('slot7modst').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('keepcores', 'Cores', 'Auto Heirlooms. Enables in-depth core settings. ', 'boolean', false, null, 'Heirlooms');
+ createSetting('slot1modcr', 'Cores: Modifier 1', 'Auto Heirlooms. Keeps Cores with selected Mod. Modifier 1 is worth 5 points. ', 'dropdown', 'empty', ["empty", "fireTrap", "poisonTrap", "lightningTrap", "runestones", "strengthEffect", "condenserEffect"], 'Heirlooms');
+ createSetting('slot2modcr', 'Cores: Modifier 2', 'Auto Heirlooms. Keeps Cores with selected Mod. Modifier 2 is worth 5 points. ', 'dropdown', 'empty', ["empty", "fireTrap", "poisonTrap", "lightningTrap", "runestones", "strengthEffect", "condenserEffect"], 'Heirlooms');
+ createSetting('slot3modcr', 'Cores: Modifier 3', 'Auto Heirlooms. Keeps Cores with selected Mod. Modifier 3 is worth 5 points. ', 'dropdown', 'empty', ["empty", "fireTrap", "poisonTrap", "lightningTrap", "runestones", "strengthEffect", "condenserEffect"], 'Heirlooms');
+ createSetting('slot4modcr', 'Cores: Modifier 4', 'Auto Heirlooms. Keeps Cores with selected Mod. Modifier 4 is worth 5 points. ', 'dropdown', 'empty', ["empty", "fireTrap", "poisonTrap", "lightningTrap", "runestones", "strengthEffect", "condenserEffect"], 'Heirlooms');
+
+
+
+ //Golden
+
+ createSetting('AutoGoldenUpgrades', 'AutoGoldenUpgrades', 'Buys Golden Upgrades in Fillers. Helium buys all Helium golden upgrades. Battle buys all Battle golden upgrades. Void buys 8 Void golden upgrades (max number you can buy) then buys helium golden upgrades. Void + Battle buys 8 voids then battle. Will run way faster than Vanilla AutoGold so if you have this on expect it to win over vanilla settings. ', 'dropdown', 'Off', ["Off", "Helium", "Battle", "Void", "Void + Battle"], 'Golden');
+ createSetting('dAutoGoldenUpgrades', 'Daily AutoGoldenUpgrades', 'Buys Golden Upgrades in Dailies. Helium buys all Helium golden upgrades. Battle buys all Battle golden upgrades. Void buys 8 Void golden upgrades (max number you can buy) then buys helium golden upgrades. Void + Battle buys 8 voids then battle. Will run way faster than Vanilla AutoGold so if you have this on expect it to win over vanilla settings. ', 'dropdown', 'Off', ["Off", "Helium", "Battle", "Void", "Void + Battle"], 'Golden');
+ createSetting('cAutoGoldenUpgrades', 'C2 AutoGoldenUpgrades', 'Buys Golden Upgrades in C2s. Helium buys all Helium golden upgrades. Battle buys all Battle golden upgrades. Void buys 8 Void golden upgrades (max number you can buy) then buys helium golden upgrades. Void + Battle buys 8 voids then battle. Will run way faster than Vanilla AutoGold so if you have this on expect it to win over vanilla settings. ', 'dropdown', 'Off', ["Off", "Battle", "Void", "Void + Battle"], 'Golden');
+ document.getElementById('cAutoGoldenUpgrades').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('voidheliumbattle', 'Void Battle', '-1 to disable.
Buys Battle goldens instead of Helium at this zone and onwards. This option only appears when selecting void. ', 'value', -1, null, 'Golden');
+ createSetting('dvoidheliumbattle', 'Daily Void Battle', '-1 to disable.
Buys Battle goldens instead of Helium at this zone and onwards in Dailies. This option only appears when selecting void. ', 'value', -1, null, 'Golden');
+ createSetting('radonbattle', 'Helium Battle', '-1 to disable.
Buys Battle goldens instead of helium after this many helium goldens have been purchased and onwards. This option only appears when selecting helium. ', 'value', -1, null, 'Golden');
+ createSetting('dradonbattle', 'Daily Helium Battle', '-1 to disable.
Buys Battle goldens instead of helium after this many helium goldens have been purchased and onwards in Dailies. This option only appears when selecting helium. ', 'value', -1, null, 'Golden');
+ createSetting('battleradon', 'Battle Helium', '-1 to disable.
Buys helium goldens instead of Battle after this many Battle goldens have been purchased and onwards. This option only appears when selecting battle. ', 'value', -1, null, 'Golden');
+ createSetting('dbattleradon', 'Daily Battle Helium', '-1 to disable.
Buys helium goldens instead of Battle after this many battle goldens have been purchased and onwards in Dailies. This option only appears when selecting battle. ', 'value', -1, null, 'Golden');
+
+
+ //RGolden
+
+ createSetting('RAutoGoldenUpgrades', 'AutoGoldenUpgrades', 'Buys Golden Upgrades in Fillers. Radon buys all Radon golden upgrades. Battle buys all Battle golden upgrades. Void buys 8 Void golden upgrades (max number you can buy) then buys helium golden upgrades. Void + Battle buys 8 voids then battle. ', 'dropdown', 'Off', ["Off", "Radon", "Battle", "Void", "Void + Battle"], 'Golden');
+ createSetting('RdAutoGoldenUpgrades', 'Daily AutoGoldenUpgrades', 'Buys Golden Upgrades in Dailies. Radon buys all Radon golden upgrades. Battle buys all Battle golden upgrades. Void buys 8 Void golden upgrades (max number you can buy) then buys helium golden upgrades. Void + Battle buys 8 voids then battle. ', 'dropdown', 'Off', ["Off", "Radon", "Battle", "Void", "Void + Battle"], 'Golden');
+ createSetting('RcAutoGoldenUpgrades', 'C2 AutoGoldenUpgrades', 'Buys Golden Upgrades in C2s. Radon buys all Radon golden upgrades. Battle buys all Battle golden upgrades. Void buys 8 Void golden upgrades (max number you can buy) then buys helium golden upgrades. Void + Battle buys 8 voids then battle. ', 'dropdown', 'Off', ["Off", "Battle", "Void", "Void + Battle"], 'Golden');
+ document.getElementById('RcAutoGoldenUpgrades').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('Rvoidheliumbattle', 'Void Battle', '-1 to disable.
Buys Battle goldens instead of Radon at this zone and onwards. This option only appears when selecting void. ', 'value', -1, null, 'Golden');
+ createSetting('Rdvoidheliumbattle', 'Daily Void Battle', '-1 to disable.
Buys Battle goldens instead of Radon at this zone and onwards in Dailies. This option only appears when selecting void. ', 'value', -1, null, 'Golden');
+ createSetting('Rradonbattle', 'Radon Battle', '-1 to disable.
Buys Battle goldens instead of Radon after this many Radon goldens have been purchased and onwards. This option only appears when selecting radon. ', 'value', -1, null, 'Golden');
+ createSetting('Rdradonbattle', 'Daily Radon Battle', '-1 to disable.
Buys Battle goldens instead of Radon after this many Radon goldens have been purchased and onwards in Dailies. This option only appears when selecting radon. ', 'value', -1, null, 'Golden');
+ createSetting('Rbattleradon', 'Battle Radon', '-1 to disable.
Buys Radon goldens instead of Battle after this many Battle goldens have been purchased and onwards. This option only appears when selecting battle. ', 'value', -1, null, 'Golden');
+ createSetting('Rdbattleradon', 'Daily Battle Radon', '-1 to disable.
Buys Radon goldens instead of Battle after this many battle goldens have been purchased and onwards in Dailies. This option only appears when selecting battle. ', 'value', -1, null, 'Golden');
+
+
+
+ //AB
+
+ createSetting('RAB', 'SA', 'Turn on SA settings and allow them to work. Do not open input settings when SA is on or you will crash. ', 'boolean', false, null, "SA");
+ createSetting('RABpreset', 'Presets', 'Automatically switch presets depending on current enemy. You must make sure preset 1 is for Poison\, preset 2 Bleed and preset 3 Shock. If enemy has less than 2 resistances it will switch between the non-resisted presets till you kill the enemy. It will not purchase any equips or try different ones though so it may get stuck till you update your presets. ', 'boolean', false, null, "SA");
+ createSetting('RABdustsimple', ['Simple Dust Off', 'SD: Equipped', 'SD: Non-hidden'], 'SD: Equipped automatically upgrades currently equipped items by lowest price. SD: Non-hidden automatically upgrades items that are not hidden and not equipped. ', 'multitoggle', 0, null, 'SA');
+ createSetting('RABfarm', 'Save String', 'Saves your best Dust/s using SA level and your equipped items in a string. If this is on it will continously check your dust/s and generate a farm string if you beat your previous best. ', 'boolean', false, null, "SA");
+ createSetting('RABfarmswitch', 'Switch', 'If this is on it will swtich directly to the SA level and equipped items. ', 'boolean', false, null, "SA");
+ createSetting('RABfarmstring', 'String', 'This is your best farming string. Feel free to share it with other AT users. If you do use a shared string I advise you to change the second value (the dust part) to 0 so it calcs the actual dust you get instead of the shared strings. ', 'textValue', '-1', null, "SA");
+ createSetting('RABsolve', 'Solver', 'Solves your current level including farming\, item levels\, and contracts. Currently does up to 10. ', 'boolean', false, null, "SA");
+
+
+
+ //Nature
+
+ //Tokens
createSetting('AutoNatureTokens', 'Spend Nature Tokens', 'MASTER BUTTON Automatically spend or convert nature tokens.', 'boolean', false, null, 'Nature');
+ createSetting('tokenthresh', 'Token Threshold', 'If Tokens would go below this value it will not convert tokens. ', 'value', -1, null, 'Nature');
createSetting('AutoPoison', 'Poison', 'Spend/convert Poison tokens', 'dropdown', 'Off', ['Off', 'Empowerment', 'Transfer', 'Convert to Wind', 'Convert to Ice', 'Convert to Both'], 'Nature');
createSetting('AutoWind', 'Wind', 'Spend/convert Wind tokens', 'dropdown', 'Off', ['Off', 'Empowerment', 'Transfer', 'Convert to Poison', 'Convert to Ice', 'Convert to Both'], 'Nature');
createSetting('AutoIce', 'Ice', 'Spend/convert Ice tokens', 'dropdown', 'Off', ['Off', 'Empowerment', 'Transfer', 'Convert to Poison', 'Convert to Wind', 'Convert to Both'], 'Nature');
-
-
-//Display settings:
- //Subsection1Line1
+ //Enlights
+ document.getElementById('AutoIce').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('autoenlight', 'Enlight: Auto', 'Enables Automatic Enlightenment. Use the settings to define how it works. ', 'boolean', false, null, 'Nature');
+ document.getElementById('autoenlight').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('pfillerenlightthresh', 'E: F: Poison', 'Activate Poison Enlight when Enlight cost is below this Thresh in Fillers. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ createSetting('wfillerenlightthresh', 'E: F: Wind', 'Activate Wind Enlight when Enlight cost is below this Thresh in Fillers. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ createSetting('ifillerenlightthresh', 'E: F: Ice', 'Activate Ice Enlight when Enlight cost is below this Thresh in Fillers. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ document.getElementById('ifillerenlightthresh').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('pdailyenlightthresh', 'E: D: Poison', 'Activate Poison Enlight when Enlight cost is below this Thresh in Dailies. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ createSetting('wdailyenlightthresh', 'E: D: Wind', 'Activate Wind Enlight when Enlight cost is below this Thresh in Dailies. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ createSetting('idailyenlightthresh', 'E: D: Ice', 'Activate Ice Enlight when Enlight cost is below this Thresh in Dailies. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ document.getElementById('idailyenlightthresh').parentNode.insertAdjacentHTML('afterend', '
');
+ createSetting('pc2enlightthresh', 'E: C: Poison', 'Activate Poison Enlight when Enlight cost is below this Thresh in C2s. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ createSetting('wc2enlightthresh', 'E: C: Wind', 'Activate Wind Enlight when Enlight cost is below this Thresh in C2s. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+ createSetting('ic2enlightthresh', 'E: C: Ice', 'Activate Ice Enlight when Enlight cost is below this Thresh in C2s. Consumes Tokens. -1 to disable. ', 'value', -1, null, 'Nature');
+
+
+ //MAZ window Stuff
+ document.getElementById('Rtimefarmmaz').setAttribute('onclick', 'MAZLookalike("Time Farm", "Rtimefarm")');
+ document.getElementById('Rdtimefarmmaz').setAttribute('onclick', 'MAZLookalike("dTime Farm", "Rdtimefarm")');
+ document.getElementById('Rsmithyfarmmaz').setAttribute('onclick', 'MAZLookalike("Smithy Farm", "Rsmithyfarm")');
+ document.getElementById('Rtributefarmmaz').setAttribute('onclick', 'MAZLookalike("Tribute Farm", "Rtributefarm")');
+ document.getElementById('Hshrinemaz').setAttribute('onclick', 'MAZLookalike("Shrine - U1", "Hshrine")');
+ document.getElementById('Hdshrinemaz').setAttribute('onclick', 'MAZLookalike("Shrine - U1 (Daily)", "Hdshrine")');
+ document.getElementById('Rshrinemaz').setAttribute('onclick', 'MAZLookalike("Shrine - U2", "Rshrine")');
+ document.getElementById('Rdshrinemaz').setAttribute('onclick', 'MAZLookalike("Shrine - U2 (Daily)", "Rdshrine")');
+ document.getElementById('Rblackbogmaz').setAttribute('onclick', 'MAZLookalike("Quagmire", "Rblackbog")');
+ document.getElementById('Rinsanitymaz').setAttribute('onclick', 'MAZLookalike("Insanity", "Rinsanityon")');
+ document.getElementById('Ralchfarmmaz').setAttribute('onclick', 'MAZLookalike("Alch", "Ralchon")');
+ document.getElementById('Rhypofarmmaz').setAttribute('onclick', 'MAZLookalike("Hypo", "Rhypoon")');
+ document.getElementById('RAMPraidmaz').setAttribute('onclick', 'MAZLookalike("Praid", "RAMPraid")');
+ document.getElementById('RdAMPraidmaz').setAttribute('onclick', 'MAZLookalike("dPraid", "RdAMPraid")');
+
+ //Display
+
+ //Line 1
+ createSetting('zonetracker', 'Zone', 'tracks zones you wil lnot see this huehue', 'value', 1, null, 'Display');
createSetting('EnhanceGrids', 'Enhance Grids', 'Apply slight visual enhancements to world and map grids that highlights with drop shadow all the exotic, powerful, skeletimps and other special imps.', 'boolean', false, null, 'Display');
+ createSetting('showbreedtimer', 'Enable Breed Timer', 'Enables the display of the hidden breedtimer. Turn this off to reduce memory. ', 'boolean', true, null, 'Display');
+ createSetting('showautomapstatus', 'Enable AutoMap Status', 'Enables the display of the map status. Turn this off to reduce memory. ', 'boolean', true, null, 'Display');
+ createSetting('Rshowautomapstatus', 'Enable AutoMap Status', 'Enables the display of the map status. Turn this off to reduce memory. ', 'boolean', true, null, 'Display');
createSetting('EnableAFK', 'Go AFK Mode', '(Action Button). Go AFK uses a Black Screen, and suspends ALL the Trimps GUI visual update functions (updateLabels) to improve performance by not doing unnecessary stuff. This feature is primarily just a CPU and RAM saving mode. Everything will resume when you come back and press the Back button. Console debug output is also disabled. The blue color means this is not a settable setting, just a button. You can now also click the Zone # (World Info) area to go AFK now.', 'action', 'MODULES["performance"].EnableAFKMode()', null, 'Display');
- document.getElementById('battleSideTitle').setAttribute('onclick','MODULES["performance"].EnableAFKMode()');
+ document.getElementById('battleSideTitle').setAttribute('onclick', 'MODULES["performance"].EnableAFKMode()');
document.getElementById('battleSideTitle').setAttribute('onmouseover', "getZoneStats(event);this.style.cursor='pointer'");
createSetting('ChangeLog', 'Show Changelog', '(Action Button). Shows the changelog popup message that AT loads on startup again, in case you missed it. The blue color means this is not a settable setting, just a button.', 'action', 'printChangelog()', null, 'Display');
- document.getElementById('Display').lastChild.insertAdjacentHTML('afterend','
');
+ document.getElementById('Display').lastChild.insertAdjacentHTML('afterend', '
');
+
+
+
+ //SPAM
+
+ //Line 1
-//SPAM settings:
- //Subsection2Line1
createSetting('SpamGeneral', 'General Spam', 'General Spam = Notification Messages, Auto He/Hr', 'boolean', true, null, 'Display');
createSetting('SpamUpgrades', 'Upgrades Spam', 'Upgrades Spam', 'boolean', true, null, 'Display');
createSetting('SpamEquipment', 'Equipment Spam', 'Equipment Spam', 'boolean', true, null, 'Display');
@@ -464,48 +1173,64 @@ function initializeAllSettings() {
createSetting('SpamOther', 'Other Spam', 'Other Spam = mostly Better Auto Fight (disable with: MODULES[\\"fight\\"].enableDebug=false ), Trimpicide & AutoBreed/Gene Timer changes, AnalyticsID, etc - a catch all. ', 'boolean', true, null, 'Display');
createSetting('SpamBuilding', 'Building Spam', 'Building Spam = all buildings, even storage', 'boolean', false, null, 'Display');
createSetting('SpamJobs', 'Job Spam', 'Job Spam = All jobs, in scientific notation', 'boolean', false, null, 'Display');
- //Line2
+
+ //Line 2
createSetting('SpamGraphs', 'Starting Zone Spam', 'Disables \'Starting new Zone ###\' , RoboTrimp MagnetoShreik, and any future Graph Spam that comes from graph logs.', 'boolean', true, null, 'Display');
createSetting('SpamMagmite', 'Magmite/Magma Spam', 'Everything in Magmite Module and Buy Magmamancers', 'boolean', true, null, 'Display');
createSetting('SpamPerks', 'AutoPerks Spam', 'Everything in related to AutoPerks', 'boolean', true, null, 'Display');
+ createSetting('SpamNature', 'Nature Spam', 'Everything in related to Nature', 'boolean', true, null, 'Display');
-
-// Export/Import/Default settings
+
+ //Export/Import/Default
createSetting('ImportAutoTrimps', 'Import AutoTrimps', 'Import your AutoTrimps Settings. Asks you to name it as a profile afterwards.', 'infoclick', 'ImportAutoTrimps', null, 'Import Export');
createSetting('ExportAutoTrimps', 'Export AutoTrimps', 'Export your AutoTrimps Settings as a output string text formatted in JSON.', 'infoclick', 'ExportAutoTrimps', null, 'Import Export');
createSetting('DefaultAutoTrimps', 'Reset to Default', 'Reset everything to the way it was when you first installed the script. ', 'infoclick', 'ResetDefaultSettingsProfiles', null, 'Import Export');
+ createSetting('Export60', '-60 AT Settings', 'Gives you an AT settings String that you can use to import. Use if you are less than z60. May not work for you perfectly, should really only be used as an example!', 'infoclick', 'Export60', null, 'Import Export');
+ createSetting('Export550', '550+ AT Settings', 'Gives you an AT settings String that you can use to import. Use if you are z550+. May not work for you perfectly, should really only be used as an example! ', 'infoclick', 'Export550', null, 'Import Export');
createSetting('CleanupAutoTrimps', 'Cleanup Saved Settings ', 'Deletes old values from previous versions of the script from your AutoTrimps Settings file.', 'infoclick', 'CleanupAutoTrimps', null, 'Import Export');
- createSetting('allowSettingsUpload', 'Allow Analytics Upload', 'Uploads your AUTOTRIMPS saved settings files (the same as Export AutoTrimps on this tab) anonymously - to https://autotrimps.site = the official Autotrimps development server. It will remain private for now, and aggregated for analytics to improve the script in the future and see which features are being used. Please Opt in. The upload will be approximately a small 5-10KB uncompressed text file every time the script is LOADED (for the time being until it is refined), and there is no concern for any personal data leak or privacy concern. This is all in good faith, and you are welcome to check the open source file modules/client-server.js. In the future, I will have to make a more fine-grained data-usage privacy-policy. Possible other data collected in the near-future may include certain game stats such as your highest zone, helium amount, bones, resource/magma/DE amounts, perk ratio selections. ', 'boolean', true, null, 'Import Export');
- settingsProfileMakeGUI(); //Settings Profile dropdown and Delete button. (this always shows up first - can be here last)
- //createSetting('ExportModuleVars', 'Export Custom Variables', 'Export your custom MODULES variables.', 'infoclick', 'ExportModuleVars', null, 'Import Export');
- //createSetting('ImportModuleVars', 'Import Custom Variables', 'Import your custom MODULES variables (and save).', 'infoclick', 'ImportModuleVars', null, 'Import Export');
- //createSetting('ResetModuleVars', 'Reset Custom Variables', 'Reset(Delete) your custom MODULES variables, and return the script to normal. ', 'infoclick', 'ResetModuleVars', null, 'Import Export');
+
+ document.getElementById('Rchallengehidearch').setAttribute('onclick', 'settingChanged("Rchallengehidearch"), modifyParentNode("Rchallengehidearch", "Rarchstring3")');
+ modifyParentNode("Rchallengehidearch", "Rarchstring3");
+
+ document.getElementById('Rchallengehidemayhem').setAttribute('onclick', 'settingChanged("Rchallengehidemayhem"), modifyParentNode("Rchallengehidemayhem", "Rmayhemmap")');
+ modifyParentNode("Rchallengehidemayhem", "Rmayhemmap");
+
+ document.getElementById('Rchallengehidestorm').setAttribute('onclick', 'settingChanged("Rchallengehidestorm"), modifyParentNode("Rchallengehidestorm", "Rstormmult")');
+ modifyParentNode("Rchallengehidestorm", "Rstormmult");
+
+ document.getElementById('Rchallengehideinsanity').setAttribute('onclick', 'settingChanged("Rchallengehideinsanity"), modifyParentNode("Rchallengehideinsanity", "Rinsanityfarmfrag")');
+ modifyParentNode("Rchallengehideinsanity", "Rinsanityfarmfrag");
+
+ document.getElementById('Rchallengehideexterminate').setAttribute('onclick', 'settingChanged("Rchallengehideexterminate"), modifyParentNode("Rchallengehideexterminate", "Rexterminateeq")');
+ modifyParentNode("Rchallengehideexterminate", "Rexterminateeq");
+
+ document.getElementById('Rchallengehidepanda').setAttribute('onclick', 'settingChanged("Rchallengehidepanda"), modifyParentNode("Rchallengehidepanda", "Rpandahits")');
+ modifyParentNode("Rchallengehidepanda", "Rpandahits");
+
+ document.getElementById('Rchallengehidealchemy').setAttribute('onclick', 'settingChanged("Rchallengehidealchemy"), modifyParentNode("Rchallengehidealchemy", "Ralchfarmfrag")');
+ modifyParentNode("Rchallengehidealchemy", "Ralchfarmfrag");
+
+ document.getElementById('Rchallengehidehypothermia').setAttribute('onclick', 'settingChanged("Rchallengehidehypothermia"), modifyParentNode("Rchallengehidehypothermia", "Rhypostorage")');
+ modifyParentNode("Rchallengehidehypothermia", "Rhypostorage");
- //createSetting('PlayerLevel', 'PlayerLevel', 'PlayerLevel: Indicate around what level you are. noob, low, medium, high, spire, magma, expert, z450+, z500+, endgame and so on. Might be used to control which settings are visible in the future. ', 'dropdown', "Medium", ["Noob","Low","Medium","High","Spire","Magma","Expert","z450+","z500+","EndGame"], 'Display');
- /*
- createSetting('ATModuleListDropdown', 'Modules', 'AT Module List Dropdown: Lists all the individual modules (.js files) that have been auto-loaded. It might be possible to unload these or something in the future.', 'dropdown', ATmoduleList[0], ATmoduleList, 'Import Export');
- document.getElementById('ATModuleListDropdown').multiple = true; //allow 4 multiple selections
- document.getElementById('ATModuleListDropdown').size = 4;
- document.getElementById('ATModuleListDropdown').height = '5vw';
- document.getElementById('ATModuleListDropdownLabel').style.verticalAlign = 'top';
- document.getElementById('ATModuleListDropdownLabel').parentNode.style.width = null; //make the next stuff fit on 1 line.
- createSetting('ATModuleUnload', 'Unload Module', 'UnLoads a running module file this session', 'infoclick', 'ATModuleUnload', null, 'Import Export');
- createSetting('ATModuleLoad', 'ReLoad Module', 'Load/Reloads a module file (.js) and runs it.', 'infoclick', 'ATModuleLoad', null, 'Import Export');
- */
+ document.getElementById('Rchallengehidedeso').setAttribute('onclick', 'settingChanged("Rchallengehidedeso"), modifyParentNode("Rchallengehidedeso", "Rdesomult")');
+ modifyParentNode("Rchallengehidedeso", "Rdesomult");
+
+ settingsProfileMakeGUI();
+
}
-initializeAllSettings(); //EXECUTE
-//Universal function that creates sets up the Settings database, structures and associated graphic elements
+initializeAllSettings();
+
function createSetting(id, name, description, type, defaultValue, list, container) {
var btnParent = document.createElement("DIV");
- // btnParent.setAttribute('class', 'optionContainer');
btnParent.setAttribute('style', 'display: inline-block; vertical-align: top; margin-left: 1vw; margin-bottom: 1vw; width: 13.142vw;');
var btn = document.createElement("DIV");
btn.id = id;
var loaded = autoTrimpSettings[id];
if (type == 'boolean') {
- if (!(loaded && id == loaded.id))
+ if (!(loaded && id == loaded.id && loaded.type === type))
autoTrimpSettings[id] = {
id: id,
name: name,
@@ -523,7 +1248,43 @@ function createSetting(id, name, description, type, defaultValue, list, containe
if (container) document.getElementById(container).appendChild(btnParent);
else document.getElementById("autoSettings").appendChild(btnParent);
} else if (type == 'value' || type == 'valueNegative') {
- if (!(loaded && id == loaded.id))
+ if (!(loaded && id == loaded.id && loaded.type === type))
+ autoTrimpSettings[id] = {
+ id: id,
+ name: name,
+ description: description,
+ type: type,
+ value: loaded === undefined ? defaultValue : loaded
+ };
+ btn.setAttribute("style", "font-size: 1.1vw;");
+ btn.setAttribute('class', 'noselect settingsBtn btn-info');
+ btn.setAttribute("onclick", `autoSetValueToolTip("${id}", "${name}", ${type == 'valueNegative'}, ${type == 'multiValue'})`);
+ btn.setAttribute("onmouseover", 'tooltip(\"' + name + '\", \"customText\", event, \"' + description + '\")');
+ btn.setAttribute("onmouseout", 'tooltip("hide")');
+ btn.textContent = name;
+ btnParent.appendChild(btn);
+ if (container) document.getElementById(container).appendChild(btnParent);
+ else document.getElementById("autoSettings").appendChild(btnParent);
+ } else if (type == 'multiValue' || type == 'valueNegative') {
+ if (!(loaded && id == loaded.id && loaded.type === type))
+ autoTrimpSettings[id] = {
+ id: id,
+ name: name,
+ description: description,
+ type: type,
+ value: loaded === undefined ? defaultValue : loaded
+ };
+ btn.setAttribute("style", "font-size: 1.1vw;");
+ btn.setAttribute('class', 'noselect settingsBtn btn-info');
+ btn.setAttribute("onclick", `autoSetValueToolTip("${id}", "${name}", ${type == 'valueNegative'}, ${type == 'multiValue'})`);
+ btn.setAttribute("onmouseover", 'tooltip(\"' + name + '\", \"customText\", event, \"' + description + '\")');
+ btn.setAttribute("onmouseout", 'tooltip("hide")');
+ btn.textContent = name;
+ btnParent.appendChild(btn);
+ if (container) document.getElementById(container).appendChild(btnParent);
+ else document.getElementById("autoSettings").appendChild(btnParent);
+ } else if (type == 'textValue') {
+ if (!(loaded && id == loaded.id && loaded.type === type))
autoTrimpSettings[id] = {
id: id,
name: name,
@@ -533,7 +1294,7 @@ function createSetting(id, name, description, type, defaultValue, list, containe
};
btn.setAttribute("style", "font-size: 1.1vw;");
btn.setAttribute('class', 'noselect settingsBtn btn-info');
- btn.setAttribute("onclick", 'autoSetValueToolTip("' + id + '", "' + name + '",'+`${(type == 'valueNegative')}`+')');
+ btn.setAttribute("onclick", `autoSetTextToolTip("${id}", "${name}", ${type == 'textValue'})`);
btn.setAttribute("onmouseover", 'tooltip(\"' + name + '\", \"customText\", event, \"' + description + '\")');
btn.setAttribute("onmouseout", 'tooltip("hide")');
btn.textContent = name;
@@ -541,7 +1302,7 @@ function createSetting(id, name, description, type, defaultValue, list, containe
if (container) document.getElementById(container).appendChild(btnParent);
else document.getElementById("autoSettings").appendChild(btnParent);
} else if (type == 'dropdown') {
- if (!(loaded && id == loaded.id))
+ if (!(loaded && id == loaded.id && loaded.type === type))
autoTrimpSettings[id] = {
id: id,
name: name,
@@ -558,7 +1319,6 @@ function createSetting(id, name, description, type, defaultValue, list, containe
btn.setAttribute("onmouseover", 'tooltip(\"' + name + '\", \"customText\", event, \"' + description + '\")');
btn.setAttribute("onmouseout", 'tooltip("hide")');
btn.setAttribute("onchange", 'settingChanged("' + id + '")');
-
for (var item in list) {
var option = document.createElement("option");
option.value = list[item];
@@ -566,7 +1326,6 @@ function createSetting(id, name, description, type, defaultValue, list, containe
btn.appendChild(option);
}
btn.value = autoTrimpSettings[id].selected;
-
var dropdownLabel = document.createElement("Label");
dropdownLabel.id = id + "Label";
dropdownLabel.innerHTML = name + ":";
@@ -576,19 +1335,18 @@ function createSetting(id, name, description, type, defaultValue, list, containe
if (container) document.getElementById(container).appendChild(btnParent);
else document.getElementById("autoSettings").appendChild(btnParent);
} else if (type == 'infoclick') {
- btn.setAttribute('class', 'btn btn-info');
+ btn.setAttribute('class', 'noselect settingsBtn settingBtn3');
btn.setAttribute("onclick", 'ImportExportTooltip(\'' + defaultValue + '\', \'update\')');
btn.setAttribute("onmouseover", 'tooltip(\"' + name + '\", \"customText\", event, \"' + description + '\")');
btn.setAttribute("onmouseout", 'tooltip("hide")');
- btn.setAttribute("style", "display: block; font-size: 0.8vw;");
+ btn.setAttribute("style", "background-color: #d88839; color: black; font-size: 1.1vw;");
btn.textContent = name;
- btnParent.style.width = '';
btnParent.appendChild(btn);
if (container) document.getElementById(container).appendChild(btnParent);
else document.getElementById("autoSettings").appendChild(btnParent);
- return; //return means don't store it in autoTrimpSettings at the bottom
+ return;
} else if (type == 'multitoggle') {
- if (!(loaded && id == loaded.id))
+ if (!(loaded && id == loaded.id && loaded.type === type))
autoTrimpSettings[id] = {
id: id,
name: name,
@@ -605,12 +1363,9 @@ function createSetting(id, name, description, type, defaultValue, list, containe
btnParent.appendChild(btn);
if (container) document.getElementById(container).appendChild(btnParent);
else document.getElementById("autoSettings").appendChild(btnParent);
- }
- else if(type === 'action')
- {
- //We're not storing the state on these.
+ } else if (type === 'action') {
btn.setAttribute("style", "font-size: 1.1vw;");
- btn.setAttribute('class', 'noselect settingsBtn settingBtn3'); //color 3 is teal.
+ btn.setAttribute('class', 'noselect settingsBtn settingBtn3');
btn.setAttribute('onclick', defaultValue);
btn.setAttribute("onmouseover", 'tooltip(\"' + name + '\", \"customText\", event, \"' + description + '\")');
btn.setAttribute("onmouseout", 'tooltip("hide")');
@@ -618,10 +1373,8 @@ function createSetting(id, name, description, type, defaultValue, list, containe
btnParent.appendChild(btn);
if (container) document.getElementById(container).appendChild(btnParent);
else document.getElementById("autoSettings").appendChild(btnParent);
- return; //return means don't store it in autoTrimpSettings at the bottom
+ return;
}
-
- //make sure names/descriptions match what we have stored.
if (autoTrimpSettings[id].name != name)
autoTrimpSettings[id].name = name;
if (autoTrimpSettings[id].description != description)
@@ -629,7 +1382,6 @@ function createSetting(id, name, description, type, defaultValue, list, containe
autoTrimpSettings["ATversion"] = ATversion;
}
-//makes labeled checkboxes.
function createInput(id, name, description) {
var $btnParent = document.createElement("DIV");
$btnParent.setAttribute('style', 'display: inline-block; vertical-align: top; margin-left: 0.5vw; margin-bottom: 0.5vw; width: 6.5vw;');
@@ -639,7 +1391,6 @@ function createInput(id, name, description) {
$input.type = 'checkbox';
$input.setAttribute('id', id);
$input.setAttribute('style', 'text-align: left; width: 0.8vw; ');
- //$input.setAttribute('onkeypress', 'isValidKey2(this,event)');
$btnParent.appendChild($input);
var $label = document.createElement("label");
$label.setAttribute('style', 'text-align: left; margin-left: 0.2vw; font-size: 0.6vw');
@@ -648,7 +1399,6 @@ function createInput(id, name, description) {
document.getElementById("autoSettings").appendChild($btnParent);
}
-//Default Toggler handler for any setting of the 3 special types (boolean, multitoggle, dropdown, and handle PrestigeBackup) - not value type.
function settingChanged(id) {
var btn = autoTrimpSettings[id];
if (btn.type == 'boolean') {
@@ -656,10 +1406,9 @@ function settingChanged(id) {
document.getElementById(id).setAttribute('class', 'noselect settingsBtn settingBtn' + btn.enabled);
}
if (btn.type == 'multitoggle') {
- //puts a 5 second pause in between cycling through from "on portal" to "always" so you can switch it to "off".
if (id == 'AutoMagmiteSpender2' && btn.value == 1) {
magmiteSpenderChanged = true;
- setTimeout(function() {
+ setTimeout(function () {
magmiteSpenderChanged = false;
}, 5000);
}
@@ -671,29 +1420,29 @@ function settingChanged(id) {
}
if (btn.type == 'dropdown') {
btn.selected = document.getElementById(id).value;
- //part of the prestige dropdown's "backup" system to prevent internal tampering via the dynamic prestige algorithm. everytime we see a user initiated change, make a backup.
- if (id == "Prestige")
- autoTrimpSettings["PrestigeBackup"].selected = document.getElementById(id).value;
+ if (id == "Prestige") {
+ autoTrimpSettings["PrestigeBackup"] = {
+ selected: document.getElementById(id).value,
+ name: "PrestigeBackup",
+ id: "PrestigeBackup"
+ };
+ }
}
- //console.log(id + " Setting Changed");
updateCustomButtons();
saveSettings();
checkPortalSettings();
- if ((autoTrimpSettings.AutoGen2.value == 3) && game.generatorUpgrades["Overclocker"].upgrades <= 0)
- tooltip('confirm', null, 'update', 'WARNING: You are set to Overclock but do not have any Overclocker upgrades. AutoGen2 will default to \'Max Cap\' in this case. If this is not desired, please fix your AutoGen2 setting.', 'cancelTooltip()', 'Cannot Overclock');
}
-//Popup Tooltip - ask them to enter some numerical input. (STANDARDIZED)
-function autoSetValueToolTip(id, text,negative) {
+function autoSetValueToolTip(id, text, negative, multi) {
ranstring = text;
var elem = document.getElementById("tooltipDiv");
var tooltipText = 'Type a number below. You can also use shorthand such as 2e5 or 200k.';
if (negative)
- tooltipText += 'Accepts negative numbers as validated inputs.';
+ tooltipText += ' Accepts negative numbers as validated inputs.';
else
- tooltipText += 'Put -1 for Infinite.';
- tooltipText += '
';
- var costText = '
`;
+ var costText = '
`;
+ var costText = '
Estimated autoPortal level: ' + portalLevel, 'cancelTooltip()', 'Void Maps Conflict');
- if ((leadCheck || game.global.challengeActive == 'Lead') && (voidmaps % 2 == 0 && portalLevel <= 181))
- tooltip('confirm', null, 'update', 'WARNING: Voidmaps run during Lead on an Even zone do not receive the 2x Helium Bonus for Odd zones, and are also tougher. You should probably fix this.', 'cancelTooltip()', 'Lead Challenge Void Maps');
return portalLevel;
}
-//Hider's He/Hr Info stats (in world sidebar)
function getDailyHeHrStats() {
- var words = "";
- if (game.global.challengeActive == "Daily") {
- var getPercent = (game.stats.heliumHour.value() / (game.global.totalHeliumEarned - (game.global.heliumLeftover + game.resources.helium.owned)));
- getPercent *= 100 + getDailyHeliumValue(countDailyWeight());
- words = "After Daily He/Hr: " + getPercent.toFixed(3) +'%';
+ var a = "";
+ if ("Daily" == game.global.challengeActive) {
+ var b = game.stats.heliumHour.value() / (game.global.totalHeliumEarned - (game.global.heliumLeftover + game.resources.helium.owned));
+ b *= 100 + getDailyHeliumValue(countDailyWeight()), a = "After Daily He/Hr: " + b.toFixed(3) + "%"
+ }
+ return a
+}
+
+function getDailyRnHrStats() {
+ var a = "";
+ if ("Daily" == game.global.challengeActive) {
+ var b = game.stats.heliumHour.value() / (game.global.totalRadonEarned - (game.global.radonLeftover + game.resources.radon.owned));
+ b *= 100 + getDailyHeliumValue(countDailyWeight()), a = "After Daily Rn/Hr: " + b.toFixed(3) + "%"
}
- return words;
+ return a
}
-//Part of import-export.js module.
-function settingsProfileMakeGUI(){}; //blank on purpose, will be overwritten if necessary.
-
-//controls the button skips 2 of the tri-state automaps button
-function toggleAutoMaps(){
- if (getPageSetting('AutoMaps'))
- setPageSetting('AutoMaps',0);
- else
- setPageSetting('AutoMaps',1);
- document.getElementById("autoMapBtn").setAttribute("class", "noselect settingsBtn settingBtn" + autoTrimpSettings.AutoMaps.value);
-}
\ No newline at end of file
+function settingsProfileMakeGUI() { }
+
+function toggleAutoMaps() {
+ if (game.global.universe == 1) {
+ if (getPageSetting('AutoMaps')) {
+ setPageSetting('AutoMaps', 0);
+ } else {
+ setPageSetting('AutoMaps', 1);
+ }
+ document.getElementById('autoMapBtn').setAttribute('class', 'noselect settingsBtn settingBtn' + autoTrimpSettings.AutoMaps.value);
+ }
+ if (game.global.universe == 2) {
+ if (getPageSetting('RAutoMaps')) {
+ setPageSetting('RAutoMaps', 0);
+ } else {
+ setPageSetting('RAutoMaps', 1);
+ }
+ document.getElementById('autoMapBtn').setAttribute('class', 'noselect settingsBtn settingBtn' + autoTrimpSettings.RAutoMaps.value);
+ }
+ saveSettings();
+}
diff --git a/dark-graph.css b/dark-graph.css
index c8aecade9..bcacc0c90 100644
--- a/dark-graph.css
+++ b/dark-graph.css
@@ -1,8 +1,8 @@
-[id^='highcharts'] rect.highcharts-background,
+[id^='highcharts'] .highcharts-background,
[id^='highcharts'] .highcharts-tooltip > path:last-of-type {
fill: rgba(0, 0, 0, 0.5) !important;
}
-[id^='highcharts'] rect.highcharts-selection-marker {
+[id^='highcharts'] .highcharts-selection-marker {
fill: rgba(255, 255, 255, 0.5);
}
[id^='highcharts'] .highcharts-xaxis > path,
diff --git a/docs/AutoPerks EfficiencyQueue.txt b/docs/AutoPerks EfficiencyQueue.txt
deleted file mode 100644
index 9a0337c6a..000000000
--- a/docs/AutoPerks EfficiencyQueue.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-How AutoPerks Works:
-----------------------
-Get list of Ratio'ed Perks.
-Create an Efficiency queue of each of the 16 perks.
- - Current Level
- - Current Price @ that level
- - Current Stat Increase @ that Level.
- - Current Efficiency (price / stat increase).
-Then the list of 16 perks is sorted by Efficiency, and the 1st one on the list is purchased.
-Repeat ad nauseum 36 million iterations.
-
-for (var e in effQueue.array) { console.log("Effiency@ " + effQueue.array[e].efficiency + " Perk name: " + effQueue.array[e].name);}
-
-Effiency@ 30.00000000000003 Perk name: power
-Effiency@ 4.0000000000000036 Perk name: toughness
-Effiency@ 3.200000000000003e-9 Perk name: cunning
-Effiency@ 1.3333333333333346 Perk name: pheromones
-Effiency@ 1.0000000000000009 Perk name: motivation
-Effiency@ 0.36 Perk name: carpentry
-Effiency@ 0.13333333333333333 Perk name: artisanistry
-Effiency@ 0.08 Perk name: resilience
-Effiency@ 0.00030000000000000024 Perk name: power_II
-Effiency@ 0.00014999999999999682 Perk name: looting_II
-Effiency@ 0.00011333333333333333 Perk name: coordinated
-Effiency@ 0.00004000000000000004 Perk name: toughness_II
-Effiency@ 0.000008000000000000006 Perk name: motivation_II
-Effiency@ 0.000002249999999999952 Perk name: carpentry_II
-Effiency@ 0.000002 Perk name: resourceful
-Effiency@ 0.000001 Perk name: overkill
\ No newline at end of file
diff --git a/docs/SettingsTooltipDocumentation.txt b/docs/SettingsTooltipDocumentation.txt
deleted file mode 100644
index 289452cc1..000000000
--- a/docs/SettingsTooltipDocumentation.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-Auto Gather/Build - Automatically gathers resources (and uses Turkimp on metal). Auto speed-builds your build queue and auto-researches science on demand.
-Better Auto Fight - Will automatically handle fighting. It gives you autofight before you get the Battle upgrade in Zone 1.. .CAUTION: If you autoportal with BetterAutoFight disabled, the game sits there doing nothing until you click FIGHT. (not good for afk)
-Auto Stance - Automatically swap stances to avoid death.
-Trap Trimps - Automatically trap trimps when needed, including building traps.
-Buy Storage - Will buy storage when resource is almost full. (like AutoStorage, even anticipates Jestimp)
-Buy Jobs - Buys jobs based on ratios configured below. CAUTION: you cannot manually assign jobs with this. Toggle if you need to.
-Buy Buildings - Will buy non storage buildings as soon as they are available
-Buy Upgrades - Autobuy non equipment Upgrades
-Buy Armor - Auto-Buy/Level-Up the most cost efficient armor available.
-Buy Armor Upgrades - (Prestiges) & Gymystic. Will buy the most efficient armor upgrade available.
-Buy Weapons - Auto-Buy/Level-Up the most cost efficient weapon available.
-Buy Weapon Upgrades - (Prestiges) Will buy the most efficient weapon upgrade available.
-Buy Shield Block - Will buy the shield block upgrade. CAUTION: If you are progressing past zone 60, you probably don't want this :)
-Run Unique Maps - Relies on AutoMaps to choose to run Unique maps. Required for AutoPortal. Also needed for challenges: Electricity, Mapocalypse, Meditate, and Crushed (etc). Needed to auto-run The Wall and Dimension of Anger.
-Auto Heirlooms - Automatically evaluate and carry the best heirlooms, and recommend upgrades for equipped items. AutoHeirlooms will only change carried items when the heirlooms window is not open. Carried items will be compared and swapped with the types that are already carried. If a carry spot is empty, it will be filled with the best shield (if available). Evaluation is based ONLY on the following mods (listed in order of priority, high to low): Void Map Drop Chance/Trimp Attack, Crit Chance/Crit Damage, Miner Efficiency/Metal Drop, Gem Drop/Dragimp Efficiency, Farmer/Lumberjack Efficiency. For the purposes of carrying, rarity trumps all of the stat evaluations. Empty mod slots are valued at the average value of the best missing mod.
-Hire Scientists - Enable or disable hiring of scientists. Math: ScientistRatio=(FarmerRatio+LumberjackRatio+MinerRatio)/25 and stops hiring scientists after 250k Farmers.
-Manage Breed Timer - Automatically manage the breed timer by purchasing Genetecists. Sets ideal anticpation stacks. If not using AutoStance, this will probably be undesirable... Picks appropriate times for various challenges (3.5s,11s,30s). Delays purchasing potency and nurseries if trying to raise the timer. EFFECTIVELY LOCKS THE BREED TIMER
-Geneticist Timer - Breed time in seconds to shoot for using geneticists. Disable with -1 (and Disable ManageBreedTimer) to disable the Hiring/Firing of genetecists (and potency upgrades). CANNOT CHANGE WITH MANAGE BREED TIMER OPTION ON
-Farmer Ratio -
-Lumberjack Ratio -
-Miner Ratio -
-Max Explorers - Map the planet!!
-Max Trainers - Fist bump me bro
-Max Huts -
-Max Houses -
-Max Mansions -
-Max Hotels -
-Max Resorts -
-Max Gateways - WARNING: Not recommended to raise above 25
-Max Wormholes - WARNING: Wormholes cost helium! Values below 0 do nothing.
-Max Collectors -
-First Gigastation - How many warpstations to buy before your first gigastation
-Delta Gigastation - How many extra warpstations to buy for each gigastation. Supports fractional values. For example 2.5 will buy +2/+3/+2/+3...
-Max Gyms -
-Max Tributes -
-Max Nurseries -
-Void Maps - The zone at which you want all your void maps to be cleared (Cell 96). 0 is off
-Prestige - Acquire prestiges through the selected item (inclusive) as soon as they are available in maps. Forces equip first mode. Automap must be enabled. THIS IS AN IMPORTANT SETTING related to speed climbing and should probably always be on something. If you find the script getting stuck somewhere, particularly where you should easily be able to kill stuff, setting this to an option lower down in the list will help ensure you are more powerful at all times, but will spend more time acquiring the prestiges in maps.
-Auto Portal - Automatically portal. Will NOT auto-portal if you have a challenge active, the challenge setting dictates which challenge it will select for the next run. All challenge settings will portal right after the challenge ends, regardless. Helium Per Hour portals at cell 1 of the first level where your He/Hr went down even slightly compared to the current runs Best He/Hr. Take note, there is a Buffer option in the genBTC settings, which is like a grace percentage of how low it can dip without triggering. CAUTION: Selecting He/hr may immediately portal you if its lower.
-Challenge for Helium per Hour and Custom - Automatically portal into this challenge when using helium per hour or custom autoportal. Custom portals after cell 100 of the zone specified.
-Custom Portal - Automatically portal AFTER clearing this level.(ie: setting to 200 would portal when you first reach level 201)
-Limit Equipment - Limit levels of equipment bought to:(level 11 - the prestige level). At or Above Prestige X (10), your equipment will remain at level 1. In other words, do not level equipment after ~level ~51, and only buy Prestiges. CAUTION: may reduce He/hr performance in many cases.
-Breed Fire - Fire Lumberjacks and Miners to speed up breeding when needed. (Not genetecists).
-Max Toxicity Stacks - Get maximum toxicity stacks before killing the improbability in each zone 60 and above. Generally only recommended for 1 run to maximize bone portal value. This setting will revert to disabled after a successful Max-Tox run + Toxicity Autoportal.
-Run New Voids - Run new void maps acquired after the set void map zone. Runs them at Cell 95 by default, unless you set a decimal value indicating the cell, like: 187.75 CAUTION: May severely slow you down by trying to do too-high level voidmaps. Use the adjacent RunNewVoidsUntil setting to limit this.
-Void Difficulty Check - How many hits to be able to take from a void map boss in dominance stance before we attempt the map. Higher values will get you stronger (by farming for health) before attempting. 2 should be fine.
-Disable Farming - Disables the farming section of the automaps algorithm. This will cause it to always return to the zone upon reaching 10 map stacks. TROUBLESHOOTING: Save and Refresh when you toggle this, if necessary. INFO: The new Trimps 3.22 map-buttons greatly eliminate the usefulness of this. ALSO: NO LONGER DISABLES SIPHONOLOGY.
-PauseAutoTrimps - PauseAutoTrimps(notincludingthegraphsmodule)
-Warpstation Cap - Do not level Warpstations past Basewarp+DeltaGiga **. Without this, if a Giga wasnt available, it would level infinitely (wastes metal better spent on prestiges instead.) **The script bypasses this cap each time a new giga is bought, when it insta-buys as many as it can afford (since AT keeps available metal/gems to a low, overbuying beyond the cap to what is affordable at that first moment is not a bad thing).
-Cap Equip to 10 - Do not level equipment past 10. Similar to LimitEquipment, Helps for early game when the script wants to level your tier2s to 40+, but unlike LimitEquipment, does not impact Zone 60+.
-Skip Gear Level 58&59 - Dont Buy Gear during level 58 and 59, wait till level 60, when cost drops down to 10%.
-Delay Armor - Delay buying armor prestige upgrades during Want More Damage or Farming automap-modes.
-Dynamic Siphonology - Use the right level of siphonology based on your damage output.
-Farm on >7 NomStacks - On Improbability(cell 100). Meant to be used with DisableFarming (otherwise farming would take care of this, but its slower). If Improbability already has 5 NomStacks, stack 30 Anticipation. If the Improbability has >7 NomStacks on it, get +200% dmg from MapBonus. If we still cant kill it, enter Farming mode at 30 stacks, Even with DisableFarming On! (exits when we get under 20x)
-AutoRoboTrimp - Use RoboTrimps ability starting at this level, and every 5 levels thereafter. (set to 0 to disable)
-He/Hr Portal Buffer % - When using the He/Hr Autoportal, it will portal if your He/Hr drops by this amount of % lower than your best for current run, default is 0% (ie: set to 5 to portal at 95% of your best)
-Run New Voids Until - Put a cap on what zone new voids will run at, until this zone, inclusive.
-Always Buy Lvl 2 Armor - Always Buy the 2nd point of Armor even if we dont need the HP. Its the most cost effective level, and the HP _need_ script isnt always adequate.
-Dynamic Prestige - EXPERIMENTAL: Skip getting prestiges at first, and Gradually work up to the desired Prestige setting you have set. Runs with Dagger to save a significant amount of time until we need better gear, then starts increasing the prestige setting near the end of the run. ---NEW ALGORITHM 7/23/2016--- Examines which prestiges you have, how many missing ones youd need to achieve the desired target and starts running 5 maps or 2 maps every zone, Until the target prestige is reached. Example: For mace, starts getting the prerequisite prestiges 10 zones away from max, then more and more, finally reaching the desired prestige by the last final zone (also goes for 9 mapbonus on the last zone). IMPORTANT NOTE PLEASE READ: Final Zone Number is inherently tied to the AutoPortal setting. When using the Helium per Hour setting, it uses the zone we portaled at last run (game.global.lastPortal). If the AutoPortal is set to a challenge, it will use the last zone of the challenge. CAUTION: EXPERIMENTAL, please come to Discord chat if you have problems.
-undefined - undefined
-Run Bionic Before Spire - Run the Bionic Wonderlands I through VI and then repeatedly farms VI(level 200) before attempting Spire, for the purpose of farming. WARNING: The point at which it stops farming has yet to be fully decided upon or set in stone, so it currently runs Bionic VI until it runs out of new prestige item rewards, then runs Bionic VII until it runs out of prestige items from that one, and then attempts the spire. This amounts to somewhere around 144 minutes. DO NOT USE WITH HE/HR PORTAL. Not meant to be used every time, He/Hr suffers.
-Cap Trainers to a % of Tributes - Only Buy a Trainer when its cost is LESS than X% of cost of a tribute. This setting can work in combination with the other one, or set the other one to -1 and this will take full control. Default: -1 (Disabled). 50% is close to the point where the cap does nothing. You can go as low as you want but recommended is 10% to 1%. (example: Trainer cost of 5001, Tribute cost of 100000, @ 5%, it would NOT buy the trainer.)
-PrestigeBackup - Acquire prestiges through the selected item (inclusive) as soon as they are available in maps. Forces equip first mode. Automap must be enabled. THIS IS AN IMPORTANT SETTING related to speed climbing and should probably always be on something. If you find the script getting stuck somewhere, particularly where you should easily be able to kill stuff, setting this to an option lower down in the list will help ensure you are more powerful at all times, but will spend more time acquiring the prestiges in maps.
-Auto Heirlooms2 - New algorithm for Heirlooms. While enabled, the old AutoHeirlooms algorithm will be disabled (the button will stay lit or you can turn that one off). CAUTION: Turning this on will immediately re-sort your heirlooms according to the new algorithm, and turning it off again DOES revert to the original algorithm even though it may NOT have a visible result on your heirlooms. (fyi: This lack of action highlights one of the problems with the old one.)
-AutoGoldenUpgrades - Automatically Buy the specified Golden Upgrades as they become available.
-Auto Upgrade Heirlooms - Automatically buy the upgrade the script advises for the Equipped shield and staff, until we are out of nullifium.
-Minutes to Farm Before Spire - Farm level 200 maps for X minutes before continuing to beat spire (0 to disable)
-Auto Maps - Automatically run maps to progress. Very Important.
-Auto Worker Ratios - Automatically changes worker ratios based on current progress. WARNING: overrides worker ratio settings. Settings: 1/1/1 up to 300k trimps, 3/3/5 up to 3mil trimps, then 3/1/4 above 3 mil trimps, then 1/1/10 above 1000 tributes, then 1/2/22 above 1500 tributes. Uses 1/40/8 in Spire since we get plenty of metal from that.
-Warpstation Wall - Do not level Warpstations if it costs over 1/4th of the current metal we own. (Experimental)
-Exit Spire After Cell - Exits the Spire after completing cell X. example: 40 for Row 4. (0 to disable)
\ No newline at end of file
diff --git a/docs/TODO.md b/docs/TODO.md
deleted file mode 100644
index 7bd8d4d26..000000000
--- a/docs/TODO.md
+++ /dev/null
@@ -1,136 +0,0 @@
-Document Code Structure: (for other developers): see main-doc.txt
-----------------
-Main-Documentation (main-doc.txt)
-TODO List (this file - TODO.md)
-Update README.md/changelog(.json?)/version # (manually for now)
-Code Comments (getting better)
-
-Near Future:
-------------------------
-WebSite https://autotrimps.site - even just a link to github, or link to tutorials on how to install.
--GRAPHS!
-TODO 1: Add notes or labels to graph runs. (to indicate which settings we used)
-TODO 1: HighCharts annotations module for "notes" comments to indicate which graph runs were what.
-TODO: IMPLEMENTING A STANDARD FOR CLOUD GRAPH STATISTICS:
- -now : Highest zone, helium, bones, Perk preset/ratios.
- -next: ATSettings, MODULES, which graphs were clicked on.
-
-
-new TODO LIST: 3/3/2018 and 3/4/2018 extended to 3/7 still working on it as of 3/20.
--------------------------------------
-XXXX: AutoPerks - background thread / web worker
-XXXX: AutoPerks - allocate speed improvement, shortcuts, (36 million iterations and 15 seconds @ 720Qa HE)
- - maybe slow due to OO structure and repeated resolutions for pass2.
-TODO: Perky - implement Altizar Perky new Perk manager interface
-TODO: SPAM tab - more granular settings. maybe every module could have its own toggle? - working on it.
-TODO: "Map Special Modifier": Special Modifiers, Perfect Sliders (way more fragments), Extra Zones (+0 to +10)
- with a save config option
- if you create a config with FA and +5 zones, and save it, next time you/the script creates a map, it will remember the setting
- so if you want you can use the script to create 3 setups (there are 3 slots to save your config)
- + maps should be only created at poison zones and when they will provide new equipment
- prestigious when you need prestiges, lmc when you need more lvls in your eq
- perfect sliders when you can afford it
- make perfect sliders like if you're able to afford 3x the cost of it in frags, just buy it. otherwise no. and it will be rarer that way but still useful
- another valid idea is burn out all your frags on perfect near the end i guess
-TODO: (from old TODO LIST: 8/17/2016) BionicW toggle that can let AT do Bionic Wonderland maps if they haven't ever been done before?
- (in the same vein, check for "Speed" achievements for unique maps and do them if they're not done yet and possible)
-TODO: for alfa166: "Bionic OverBurner" :smiley: Make it Configurable to run BW 470 one time at z480 to unlock and run BW485, (with the +5 map kit)
-TODO: Make a more configurable Auto Spend Nulli function for 2018
-TODO: Should invent a tool/script to plug in the version numbers, changelogs, docs.
-TODO: Instead of hard-coded changelog, Break changelog out into a seperate file and HTTPRequest it, parse it and run it through a standardized display function.
- Pull external .JSON Changelog and stuff from this site's API (obviously have to create a new server endpoint PHP script)
-TODO: Modular Structured load of the modules/*.js files is less than robust now. Check status of each loaded, tally a count, double check success.
- -FAR: In this way, the tracking and loading of modules can be timestamped and version controlled for itemization and aggregate cloud managed.
-FAR TODO: Cloud management of Save Files (already uploading save files and naming them. just need to download)
-FAR TODO: Cloud distributed graphs. Show similar users graphs? (STARTED)
- -Could just upload all the graphs after every run (how to detect full run?)
-FAR TODO: Theoretically the graphs database can be used as a pro-active future prediction model and conditions can be inferred from past runs.
- Example: If Helium per/hour is ABOUT to go down based on previous cached runs (during the ambiguity period of about a few zones), portal earlier.
- Think like Grace %% setting but automatic.
-FAR TODO: Analysis of the Userbase and custom settings, even make queries to ask server for better decision making based on global multi-client probability state
-TODO: Develop an internal utility for me to Scrape/Grep/Grok the .json analytics files already on the server.
-FAR TODO: Import/Export/Append Graphs. is delete working on refresh?
-FAR TODO: Graphs encoding vs. storage is wasteful of space. We need more. Compress data or RLE it
-TODO: Structure of Graphs.js is very wonky and can be re-sorted, nested somehow.
-TODO: GUI javascript warning message "Are you sure?" OK/cancel template.
-TODO: Bundle a newbie profile into the profiles-defaults.
-TODO: Keep generating content in this file very late at night, that nobody can see or care about - real smart use of my time.
-
-
-Bugs To Fix:
-----------------
-Last github pull request is from 2016 = needs to be cleared. Has useful code that could be imported into Settings file for version comparisons and settings migrations/in-place upgrades.
-All Issues from January to February have been resolved.
-Any Issues remaining from prior 2017 should be disregarded.
-BUG 1: Bone Portal messes with graphs / Importing a savedgame in progress produces bad graphs
-BUG 2: The graphs still can miss time and have gaps/skips and has zone innacuracies, additionally it can fail to track Trimps data entirely during background window Javascript AFK/idle/catchup mode.
-BUG 2: Overkill and certain graphs can skip progress and get mis-aligned if the script was paused or was backgrounded.
-
-
-Done Did:
-----------
-Done: Visible Version Status Number in UI / Startup popup messages
-Done: Essence graph
-Done: Renamed Module names: Some stuff is named auto, some stuff isnt. Its AutoTrimps so isn't everything auto? Redundant?
-Done: Renamed NewUI2.js as SettingsGUI - needs new name, some love.
-Done: Add autotrimps.site data json upload capability (thanks to Swiffy)
-Done: BUG 1: Liquification - the Auto-Skip-tons-of-zones-in-beginning - causes overkill graph to be off by a LOT.
-Not actually a thing: "Max Magmamancers By Zone #" so we can buy them at the start, to gain 5% attack for the first 10 minutes, usually for cases when the void zone which is the same as the portal zone, and you want to stack that level up with all you've got.
- -5% Attack is only given after 5 minutes. Misunderstanding.
-Done: AutoTrimps Presets dropdown list to name, save, reload different profiles
-Done: Partially: Split SettingsGUI.js up into front-end DOM+GUI, back-end functions for Settings/Modules/Profiles, and createSettings+descriptions.
-Done: Fluffy XP Graph
-Done: Pin the ATSettings Tab MenuBar + Minimize,Maximize,Close buttons.
-Done: TODO: Graphs, make 2 arrows to cycle sequentially through the graphs without using the dropdown everytime.
-Done: TODO: Put changelog show/hide popup Button into settings
-Done: PrintChangelog: print changelog function should be refactored: another function should be made to create a DOM element for all the changelog lines, scrape the API data into it, and then print tooltip with header/footer.
-
-Other Improvements:
-------------------
-AUTOMAPS:
-Rewrite the automaps way of deciding/picking/buying/running maps. (convo below)
----------------------------------------------------------------------------------
--: Decide whether map stacks can help speed you up or not:
-If you're more limited by you being dead and your lack of health, than damage output, its probably more likely to not be worth it.
-also if you don't have the overkill perk increasing damage can get inefficient when damage output is wasted
-so keeping a good "survivability to damage output" ratio is better than optimizing "damage output"
-keep a count of how long you were dead and how long you were doing damage
-if you're never dead, then the damage boost from map stacks is USUALLY worth it. (cant say for sure but im pretty sure)
-I still think you'd have to run 1 full map to know for sure if its worth it. then extrapolate that out times 10
--: Summary:
-never dead -> damage boost helps when not "early game when you're ripping through bad guys"
-almost never alive, frequently dead -> if more damage output than damage taken (and enough hp to react to fast guys), go on, otherwise farm
-occasionally dead and dies faster than breeding -> needs more damage
-occasionally dead and dies slower than breeding -> advance
-Also while doing this, determine more refined rules for entering the 3 modes: want dmg/want health/farming
-
--:230+ regular maps should really be treated differently from corruption
-they don't have block pierce, and no special abilities
--it doesnt go into the map bonus mode soon enough because of the fact that its gauging the zone on non-corrupted enemies
- //we will get at least 85 toxstacks from the 1st voidmap UNLESS we have overkill, then we dont get enough.
- //if a new fight group is available and anticipation stacks aren't 30, abandon and grab a new group
-
-
-VOIDMAPS:
-Void Map Farming - based on how much damage you do rather than your health/survival
----------------------------------------------------------------------------------
--:Voidmaps:
- //TODO: Account for magmated voidmaps. (not /2)
- //TODO: Account for daily.
--:On Voids Diff:
-if you have enough HP to survive poisonous without genetecists, i guess its easy
-poison is really bad before you get geneticists for example
-before you have geneticists poisonous is just awful
-if you block everything, heinous is awful
-if you almost block everything, destructive is awful
-and then the double hit is somewhere in the middle
-yeah i think they shift a lot depending on how strong you are
-if you're strong enough that doing voids at 190 is a joke but can't do them later after you finish corrupted for example
-for me right now I usually block close to 100% of the damage, which is why destruction and heinous are worst
-poison is completely trivial when the maps are already easy
-destruction = % damage, heinous = crit
-if you're trying to do the void maps before you're actually strong though poison is a killer
-yea thats a good point, people doing them at the challenge boundary vs at the end of their run
-I also thing the difficulty check should consider block, if it doesn't already do that
-i always found poison to be the most obnoxious of them early on because when you don't even have geneticists to fire to make breeding faster again it just takes sooo long
-for a large part of the game I only did VMs when I could completely block everything, which made them trivial
diff --git a/docs/dailymodifiers.txt b/docs/dailymodifiers.txt
deleted file mode 100644
index 951395309..000000000
--- a/docs/dailymodifiers.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-badHealth = enemy, health
-badMapHealth = enemy, health
-badMapStrength = enemy, attack
-badStrength = enemy, attack
-bloodthirst = enemy, stacks
-bogged = self, health, drain
-crits = enemy, crit
-dedication = gathering
-dysfunctional = breeding
-evenTrimpBuff = self,+attack
-explosive = enemy, attack, drainy
-famine = gathering, loot
-karma = loot, stacks
-large = housing
-maxDamage = self,attack
-minDamage = self,attack
-oddTrimpNerf = self,-attack
-plague = -health, stacks
-rampage = self, +attack, stacks
-slippery= dodge
-toxic = breeding, stacks
-weakness= self, -attack, stacks
-
-Main.js @ line 5455
-var dailyModifiers =
-{
- minDamage: {
- description : "Trimp min damage reduced by X % (additive)."
- },
- maxDamage: {
- description : "Trimp max damage increased by X % (additive)."
- },
- plague: {
- //Half of electricity
- description : "Enemies stack a debuff with each attack, damaging Trimps for X% of total health per turn per stack, resets on Trimp death."
- },
- weakness: {
- description : "Enemies stack a debuff with each attack, reducing Trimp attack by X% per stack. Stacks cap at 9 and reset on Trimp death."
- },
- large: {
- description : "All housing can store X% fewer Trimps"
- },
- dedication: {
- description : "Gain X% more resources from gathering"
- },
- famine: {
- description : "Gain X% less Metal, Food, Wood, and Gems from all sources"
- },
- badStrength: {
- description : "Enemy attack increased by X%."
- },
- badHealth: {
- description : "Enemy health increased by X%."
- },
- badMapStrength: {
- description : "Enemy attack in maps increased by X%."
- },
- badMapHealth: {
- description : "Enemy health in maps increased by X%."
- },
- crits: {
- description : "Enemies have a 25% chance to crit for X% of normal damage"
- },
- bogged: {
- description : "Your Trimps lose X% of their max health after each attack."
- },
- dysfunctional: {
- description : "Your Trimps breed X% slower"
- },
- oddTrimpNerf: {
- description : "Trimps have X% less attack on odd numbered zones"
- },
- evenTrimpBuff: {
- description : "Trimps have X% more attack on even numbered zones"
- },
- karma: {
- description : 'Gain a stack after killing an enemy, increasing all non Helium loot by X%. Stacks cap at Y, and reset after clearing a zone.'
- },
- toxic: {
- description : "Gain a stack after killing an enemy, reducing breed speed by X% (compounding). Stacks cap at Y, and reset after clearing a zone."
- },
- bloodthirst: {
- description : "Enemies gain a stack of Bloodthirst whenever Trimps die.Every X stacks, enemies will heal to full and gain an additive 50 % attack.Stacks cap at Y, and reset after killing an enemy."
- },
- explosive: {
- description : " Enemies instantly deal % of their attack damage when killed if (str > 15) UNLESS your block is as high as your maximum health "
- },
- slippery: {
- description : " Enemies have a % chance to dodge your attacks on odd ? / ?even zones."
- },
- rampage: {
- description : "Gain a stack after killing an enemy, increasing Trimp attack by % (additive). Stacks cap at ? , and reset when your Trimps die."
- },
-}
diff --git a/docs/main-doc.txt b/docs/main-doc.txt
deleted file mode 100644
index 6a3cb24b1..000000000
--- a/docs/main-doc.txt
+++ /dev/null
@@ -1,283 +0,0 @@
-AutoTrimps - A Highly Extensive Idle Clicker Game Script
-
-Code Execution Structure,Behavior/Explanation:
-==============================================
-A script bootstrap file userscript "install.user.js" is ran by Tampermonkeyed/Greasemonkeyed and installed into permanence on the browser extension. This loads AutoTrimps2.js. First it loads utils.js for some tools, then it loads the Settings UI and then it Loads the Graphs, This loads all the 17 submodules *.js files in the modules/ dir, in a particular order as listed. From that point, a timeout/interval loop is set up to launch the Main Game and Re-run the "Main Loop" every 100ms (10x a second) in sync with the Game Loop. Also the Graphs has its own identical tick count and loop. Each module function is called during the "Main Loop" generally one by one, sequentially, in a particular order, each cycle. There is no future state, just current. The past state is limited to anything we explicitly choose to keep around like in the graphs db or other variables.
-The main files are: AutoTrimps2.js, SettingsGUI.js, Graphs.js - Keep reading for details. The separate modules are documented below.
-
-MODULES (2018):
-===============
-battlecalc.js
-breedtimer.js
-buildings.js
-client-server.js
-dimgen.js (not used anymore?)
-dynprestige.js
-equipment.js
-fight.js
-gather.js
-heirlooms.js
-import-export.js
-jobs.js
-magmite.js
-maps.js
-other.js
-perks.js
-portal.js
-query.js
-scryer.js
-stance.js
-upgrades.js
-utils.js
-
-EXTERNAL FILES:
-================
-FastPriorityQueue.js - AutoPerks - uses a 3rd party library for data queues
-HighCharts.js - Graphs - uses a 3rd party library to draw the graphs...
-tabs.css - User Interface - mandatory css styles for the settings tab or to rewrite or style the UI
-dark-graph.css - Graphs - needed some tweaks to work for dark theme.
-
-GUI:
-=====
-Consists of SettingsGUI.js is the Settings section + styles of tabs.css
-
-SETTINGS:
-=========
-AlwaysArmorLvl2
-AutoFight
-AutoGoldenUpgrades
-AutoHeirlooms
-AutoHeirlooms2
-AutoMaps
-AutoPortal
-AutoRoboTrimp
-AutoStance
-AutoUpgradeHeirlooms
-BreedFire
-BuyArmor
-BuyArmorUpgrades
-BuyBuildings
-BuyJobs
-BuyShieldblock
-BuyStorage
-BuyUpgrades
-BuyWeapons
-BuyWeaponUpgrades
-CapEquip
-CorruptionCalc
-CustomAutoPortal
-DefaultAutoTrimps
-DelayArmorWhenNeeded
-DeltaGigastation
-DisableFarm
-DynamicPrestige
-DynamicSiphonology
-ExitSpireCell
-ExportAutoTrimps
-FarmerRatio
-FarmWhenNomStacks7
-FirstGigastation
-GeneticistTimer
-HeliumHourChallenge
-HeliumHrBuffer
-HireScientists
-ImportAutoTrimps
-LimitEquipment
-LumberjackRatio
-ManageBreedtimer
-ManualGather
-MaxCollector
-MaxExplorers
-MaxGateway
-MaxGym
-MaxHotel
-MaxHouse
-MaxHut
-MaxMansion
-MaxNursery
-MaxResort
-MaxTox
-MaxTrainers
-MaxTribute
-MaxWormhole
-MinerRatio
-MinutestoFarmBeforeSpire
-PauseScript
-Prestige
-RunBionicBeforeSpire
-RunNewVoids
-RunNewVoidsUntil
-RunUniqueMaps
-ScryerMaxZone
-ScryerMinZone
-ScryerSkipBoss2
-ScryerSkipCorrupteds2
-ScryerUseinMaps2
-ScryerUseinSpire2
-ScryerUseinVoidMaps2
-ScryerUseWhenOverkill
-TrainerCaptoTributes
-TrapTrimps
-UseScryerStance
-VoidCheck
-VoidMaps
-WaitTill60
-WarpstationCap
-WarpstationWall
-WorkerRatios
-
-GRAPHS - Graphs.js is the graphs section: + dark-graph.css (maybe need to darkify the css on the perks too window)
-=======
-HeliumPerHour
-Helium
-HeliumPerHour Instant
-HeliumPerHour Delta
-HeHr % / LifetimeHe
-He % / LifetimeHe
-Clear Time
-Cumulative Clear Time
-Run Time
-Map Bonus
-Void Maps
-Void Map History
-Loot Sources
-Coords
-Gigas
-UnusedGigas
-Lastwarp
-Trimps
-Nullifium Gained
-DarkEssence
-DarkEssencePerHour
-OverkillCells
-Magmite
-Magmamancers
-
-AutoTrimps2.js Detailed Main Function Documentation (from 2016):
-===================================================
-The main loop consists of the following subroutines, all of which are enable-able/disable-able by their buttons.:
- workerRatios(); //"Auto Worker Ratios"
- buyUpgrades(); //"Buy Upgrades"
- autoGoldenUpgrades(); //"AutoGoldenUpgrades" (genBTC settings area)
- buyStorage(); //"Buy Storage"
- buyBuildings(); //"Buy Buildings"
- buyJobs(); //"Buy Jobs"
- manualLabor(); //"Auto Gather/Build"
- autoMap(); //"Auto Maps"
- manageGenes(); //"Genetecist Timer" / "Manage Breed Timer"
- autoPortal(); //"Auto Portal" (hidden until level 60)
- autoHeirlooms2(); or autoHeirlooms(); //"Auto Heirlooms 2" (genBTC settings area) or //"Auto Heirlooms"
- toggleAutoTrap(); //"Trap Trimps"
- autoRoboTrimp(); //"AutoRoboTrimp" (genBTC settings area)
- autoNull(); //"Auto Upgrade Heirlooms" (genBTC settings area)
- autoLevelEquipment(); //"Buy Armor", "Buy Armor Upgrades", "Buy Weapons","Buy Weapons Upgrades"
- autoStance(); //"Auto Stance"
- betterAutoFight(); //"Better Auto Fight"
- prestigeChanging2(); //"Dynamic Prestige" (genBTC settings area)
- userscripts(); //Runs any user provided scripts - by copying and pasting a function named userscripts() into the Chrome Dev console. (F12)
-
-
-Version Numbered Files (files needing version string during minor upgrades):
-======================
-.user.js
-user.js
-install.user.js
-AutoTrimps2.js
-Graphs.js
-TODO: Should invent a tool/script to advance the version numbers, generate changelogs, auto-link docs.
-
-HOWTO = Become an AutoTrimps developer
-======================================
-The script is setup to be able to be bootstrapped from Tampermonkey/Greasemonkey.
-If you paste the AutoTrimps2.js into your Tampermonkey window directly, you can attempt to run a local developer copy and edit it in the tampermonkey edit window. This pulls from a repo and loads all the sub-modules .js files.
-The point to understand is HTTPS and SSL is required. It has to be served over an actual HTTPS web-server so chrome can successfully load the secure content resources since https://trimps.github.io is technically the origin and any non-secure javascript resources will be flagged,denied and not-executed...
-Simply, You can fork the project on github, find&replace my github URL with yours and upload all your changes to your own repo. And every time you make a change you will have to re-upload / defeat caching / reload to host the file. But this is non-ideal from a "agile" or "live" developer POV.
-A better way is to set up a local HTTPS server, mirror my github repo to a local folder, and tell the webserver to run out of that folder, serving it up on https://localhost:4443 or some port number.
-So instead of downloading Apache or a full complicated webserver or something, download python - or most computers these days have Python installed. You can use python to be a simple HTTP server with the following scripts, applicable to either Python2.x or Python3.x.
-There are multiple ways to achieve the webserver, but this is the best way i've found (if it doesnt do HTTPS it wont work).
-These scripts let you open a folder, double click the script, and start serving files out of that local dir instantly over HTTPS.
-//(make sure you generate a self-signed .PEM cert to serve.) - this Cert is what provides the necessary SSL functionality
-
-# generate the cert with the following command (should be an openssl binary exe somewhere on the system)
-# openssl req -new -x509 -keyout AutoTrimps.pem -out AutoTrimps.pem -days 365 -nodes
-# run as follows:
-# python https.py
-# then in your browser, visit:
-# https://localhost:4443
-#
-
-Choose the right version of https.py for your System:
-----------------------------------------
-https.py = HTTPS Localhost Self serve - With Python 2:
-----------------------------------------
-import BaseHTTPServer, SimpleHTTPServer
-import ssl
-httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
-httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./AutoTrimps.pem', server_side=True)
-httpd.serve_forever()
-
-----------------------------------------
-https.py = HTTPS Localhost Self serve - With Python 3:
-----------------------------------------
-import logging
-import os
-import sys
-import http.server
-import socketserver
-import ssl
-logging.info('Server running...')
-httpd = socketserver.TCPServer(('localhost', 4443), http.server.SimpleHTTPRequestHandler)
-httpd.socket = ssl.wrap_socket(httpd.socket, certfile='./AutoTrimps.pem', server_side=True)
-httpd.serve_forever()
-
-//(make sure you generate a self-signed .PEM cert to serve.) - this Cert is what provides the necessary SSL functionality
-
-Make this batch script to double click to easily run the .py file from windows explorer without going to command line (mac/linux make a .sh file im sure you know how):
---------------------
-SIMPLEHTTPSERVER.BAT
---------------------
-@echo off
-cd C:\Users\EOFL\Documents\GitHub\AutoTrimps
-rem Infinite loop, counting from 1 to 10 with increment of 0. (just makes it restart on errors)
-for /L %%n in (1,0,10) do (
- C:\Python36\python.exe https.py
-)
-
-
-HOWTO = Add A Button
-=====================
-All the buttons are created in SettingsGUI.js @ line 410 - with a function createSetting():
-This function takes 7 parameters and can make about 6 types of buttons: (boolean, value, valueNegative, dropdown, infoclick, multitoggle). The visual style will match similar. First determine the type of button, then copy a similar button. This explains the parameters:
-function createSetting(id, name, description, type, defaultValue, list, container)
-id = settings variable name
-name = text on the button
-description = tooltip when hovering inside the button.
-type = boolean, value, valueNegative, dropdown, infoclick, multitoggle
-defaultValue = pick the most common desirable setting
-list = Only for dropdowns, the list of choices in ["one", "two", "three"] form
-container = IMPORTANT: this will position the button in any of the tabbable sections "Main, Gear, Maps, Settings, Scryer" etc.
-
- These container tabs are what we will learn next:
-
-HOWTO = Add a New Tab (to the settings area.)
-=============================================
-All the tabs are created in SettingsGUI.js @ line 143 - the function is: initializeAllTabs():
-Inside there, follow the existing pattern and create a new line in the form of:
- createTabs("Tab Name", "Tab Sub Heading");
-
-Then you can use this new "Tab Name" as the container variable when you createSetting() and the button will go in there.
-
-HOWTO = Add a New Script Module
-===============================
-AutoTrimps2.js is the module loader. Line 32:
-var ATmodules = ['query', 'import-export', 'upgrades', 'heirlooms', 'buildings', 'jobs', 'equipment', 'gather', 'stance', 'battlecalc', 'maps', 'breedtimer', 'dynprestige', 'fight', 'scryer', 'magmite', 'portal', 'other', 'client-server', 'perks'];
-They refer to .js files of the same name in the "modules" directory.
-All you have to do is create a new file in modules/ named something.js and add ,'something' to the end of that list.
-The script will then load it on startup, so it either has to run itself self-sufficiently, or you need to use ATs userscripts functionality to run it, something like this:
-function userscripts()
-{
- runModuleWhatever.FunctionFromThatModuleFile();
-}
-Any function named userscripts will execute 10 times per second at the final portion of each game cycle.
-This way means you can add your own code without contaminating AutoTrimps files directly.
-Some Files contain/require game-code overwrites that need to be periodically checked and maintained. These are undocumented. Some are for the GUI and some are in utils.js maybe some for the heirlooms, and also graph loot...
\ No newline at end of file
diff --git a/docs/v2.1.5.1 b/docs/v2.1.5.1
deleted file mode 100644
index 1600aadd9..000000000
--- a/docs/v2.1.5.1
+++ /dev/null
@@ -1,72 +0,0 @@
-v2.1.5.1 - 12/23/2016
-AutoTrimps2.js:
-internals: fix module load order bug
-move automaps re-enable after portal to mainCleanup
-NEW: make AT use betterautofight on Zone 1 before Battle upgrade even when better autofight is disabled
-internals: Change ATrunning variable
-
-docs/TODO.md:
-Add a conversation about Void map difficulty so I dont forget
-
-Graphs.js
-NEW: Add Magmite Graph
-dont push updates if the game is paused. fix import on pause Clear Time problem
-Change Loot Sources graph to 60 datapoints, every 15 seconds.
-internals: refactor time graph functions
-Change Dark Essence graph to be Total owned, not gained that run.
-internals: refactor code for Dark Essence per Hour graph, adjust 0's zone alignment
-internals: tried to change Loot Sources from having 0.5 tick lengths on the x-axis but failed.
-
-Autofight.js - Refactor;
-betterAutoFight2 use lowLevelFight when scientist 1 is incomplete, not complete.
-IMPORTANT: betterAutoFight2 dont use #3 when VoidMap is first ran (so it waits and loads your full Anticipation stacks)
-
-Automaps.js
-add MODULE variable for SpireFarm199Maps
-NEW: add a more efficient health check to make sure you can in fact kill the enemy on that specific cell you're on and you arent stuck on it due to it being fast and lack of health etc.
-TODO: Account for magmated voidmaps.
-TODO: Account for dailymods in voidmaps.
-NEW: Change entire system of map sliders:
- fixed bug where it was picking Metal maps at low level.
- start all map sliders on 9/9/9 and decrement cost if needed based on priority that is assigned based on which situation.
-
-Autostance.js
-Fix rare case when your enemyHealth == baseDamage
-Fix some bugs in Autostance2 with Crit
-Start fixing the scryer checkOnly thing but didnt finish.
-NEW: (mentioned in automaps) autoStanceCheck now handles individual cell health checks that follow all the autostance rules (for automap)
-
-Battlecalc.js
-Allow functions to be called with variables to disable stance correction and min/max damage range fluctuation.
-
-Buildings 1 & 2.js
-Fix Green highlighting
-NEW: Delay buying Gyms if we NEED gymystic
-
-Equipment.js
-NEW: Skip buying shields (w/ shieldblock) if we NEED gymystic
-Uncap Equipment levels during Metal Challenge
-
-Gather.js
-Change Trapping Behavior, make it identical between gather1 and gather2.
-Make sure watch challenge doesnt get stuck.
-
-Jobs.js
-Only try to buy jobs (and therefore print message) if we can afford them. (reduce spam)
-Add Auto Worker Ratios for Metal Challenge (acts somewhat weird but better than nothing)
-
-Other.js
-TODO: coding the Auto Dimensional Generator (determined which functions to use)
-TODO: start coding for Overclocker upgrade (need help/advice)
-
-Portal.js
-NEW: AutoFinishDailyZone : Finish Daily by this # of zones earlier/later than your regular Custom AutoPortal zone or your Helium Dont Portal Before zone
-
-Utils.js
-moved to mainLoop in AutoTrimps2.js
-
-SettingsGUI.js
-Change wording to "Better" Auto Fight
-AutoFinishDailyZone
-TODO: Start coding the importModuleVars stuff for "Import your custom MODULES variables "
-Create a way to make negative value boxes.
\ No newline at end of file
diff --git a/github/styles.css b/github/styles.css
index 2e1768e14..a0739c56b 100644
--- a/github/styles.css
+++ b/github/styles.css
@@ -292,7 +292,7 @@ footer {
padding:0;
}
- header ul, header p.view {
+ header ul, header .view {
position:static;
}
diff --git a/highcharts.js b/highcharts.js
new file mode 100644
index 000000000..42736c1f7
--- /dev/null
+++ b/highcharts.js
@@ -0,0 +1,581 @@
+/*
+ Highcharts JS v9.1.0 (2021-05-03)
+
+ (c) 2009-2021 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(W,O){"object"===typeof module&&module.exports?(O["default"]=O,module.exports=W.document?O(W):O):"function"===typeof define&&define.amd?define("highcharts/highcharts",function(){return O(W)}):(W.Highcharts&&W.Highcharts.error(16,!0),W.Highcharts=O(W))})("undefined"!==typeof window?window:this,function(W){function O(D,b,e,z){D.hasOwnProperty(b)||(D[b]=z.apply(null,e))}var e={};O(e,"Core/Globals.js",[],function(){var D="undefined"!==typeof W?W:"undefined"!==typeof window?window:{},b;(function(b){b.SVG_NS=
+"http://www.w3.org/2000/svg";b.product="Highcharts";b.version="9.1.0";b.win=D;b.doc=b.win.document;b.svg=b.doc&&b.doc.createElementNS&&!!b.doc.createElementNS(b.SVG_NS,"svg").createSVGRect;b.userAgent=b.win.navigator&&b.win.navigator.userAgent||"";b.isChrome=-1!==b.userAgent.indexOf("Chrome");b.isFirefox=-1!==b.userAgent.indexOf("Firefox");b.isMS=/(edge|msie|trident)/i.test(b.userAgent)&&!b.win.opera;b.isSafari=!b.isChrome&&-1!==b.userAgent.indexOf("Safari");b.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(b.userAgent);
+b.isWebKit=-1!==b.userAgent.indexOf("AppleWebKit");b.deg2rad=2*Math.PI/360;b.hasBidiBug=b.isFirefox&&4>parseInt(b.userAgent.split("Firefox/")[1],10);b.hasTouch=!!b.win.TouchEvent;b.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];b.noop=function(){};b.supportsPassiveEvents=function(){var D=!1;if(!b.isMS){var e=Object.defineProperty({},"passive",{get:function(){D=!0}});b.win.addEventListener&&b.win.removeEventListener&&(b.win.addEventListener("testPassive",b.noop,e),b.win.removeEventListener("testPassive",
+b.noop,e))}return D}();b.charts=[];b.dateFormats={};b.seriesTypes={};b.symbolSizes={}})(b||(b={}));return b});O(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(D){function b(a,c,h,r){var y=c?"Highcharts error":"Highcharts warning";32===a&&(a=y+": Deprecated member");var d=w(a),M=d?y+" #"+a+": www.highcharts.com/errors/"+a+"/":a.toString();if("undefined"!==typeof r){var t="";d&&(M+="?");n(r,function(p,a){t+="\n - "+a+": "+p;d&&(M+=encodeURI(a)+"="+encodeURI(p))});M+=t}E(Highcharts,"displayError",
+{chart:h,code:a,message:M,params:r},function(){if(c)throw Error(M);g.console&&-1===b.messages.indexOf(M)&&console.warn(M)});b.messages.push(M)}function e(a,c){var y={};n(a,function(g,h){if(C(a[h],!0)&&!a.nodeType&&c[h])g=e(a[h],c[h]),Object.keys(g).length&&(y[h]=g);else if(C(a[h])||a[h]!==c[h])y[h]=a[h]});return y}function z(a,c){return parseInt(a,c||10)}function H(a){return"string"===typeof a}function G(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===
+a}function C(a,c){return!!a&&"object"===typeof a&&(!c||!G(a))}function B(a){return C(a)&&"number"===typeof a.nodeType}function x(a){var c=a&&a.constructor;return!(!C(a,!0)||B(a)||!c||!c.name||"Object"===c.name)}function w(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity=c-1&&(c=Math.floor(h)),Math.max(0,c-(y(a,"padding-left",!0)||0)-(y(a,"padding-right",!0)||0));if("height"===c)return Math.max(0,Math.min(a.offsetHeight,a.scrollHeight)-(y(a,"padding-top",!0)||0)-(y(a,"padding-bottom",!0)||0));g.getComputedStyle||b(27,!0);if(a=g.getComputedStyle(a,void 0)){var r=a.getPropertyValue(c);q(h,"opacity"!==
+c)&&(r=z(r))}return r}function n(a,c,g){for(var h in a)Object.hasOwnProperty.call(a,h)&&c.call(g||a[h],a[h],h,a)}function J(a,c,g){function h(t,p){var c=a.removeEventListener||D.removeEventListenerPolyfill;c&&c.call(a,t,p,!1)}function y(t){var p;if(a.nodeName){if(c){var g={};g[c]=!0}else g=t;n(g,function(a,c){if(t[c])for(p=t[c].length;p--;)h(c,t[c][p].fn)})}}var r="function"===typeof a&&a.prototype||a;if(Object.hasOwnProperty.call(r,"hcEvents")){var M=r.hcEvents;c?(r=M[c]||[],g?(M[c]=r.filter(function(a){return g!==
+a.fn}),h(c,g)):(y(M),M[c]=[])):(y(M),delete r.hcEvents)}}function E(a,g,h,r){h=h||{};if(c.createEvent&&(a.dispatchEvent||a.fireEvent&&a!==D)){var y=c.createEvent("Events");y.initEvent(g,!0,!0);h=d(y,h);a.dispatchEvent?a.dispatchEvent(h):a.fireEvent(g,h)}else if(a.hcEvents){h.target||d(h,{preventDefault:function(){h.defaultPrevented=!0},target:a,type:g});y=[];for(var m=a,M=!1;m.hcEvents;)Object.hasOwnProperty.call(m,"hcEvents")&&m.hcEvents[g]&&(y.length&&(M=!0),y.unshift.apply(y,m.hcEvents[g])),m=
+Object.getPrototypeOf(m);M&&y.sort(function(a,p){return a.order-p.order});y.forEach(function(t){!1===t.fn.call(a,h)&&h.preventDefault()})}r&&!h.defaultPrevented&&r.call(a,h)}var m=D.charts,c=D.doc,g=D.win;"";(b||(b={})).messages=[];var a;Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};var h=Array.prototype.find?function(a,c){return a.find(c)}:function(a,c){var g,h=a.length;for(g=0;gk.length&&k.forEach(function(a){0===a%18E5&&"000000000"===n.dateFormat("%H%M%S%L",a)&&(N[a]="day")})}k.info=G(f,{higherRanks:N,totalRange:c*
+g});return k};return q}();e.Time=b;return e.Time});O(e,"Core/Options.js",[e["Core/Globals.js"],e["Core/Color/Color.js"],e["Core/Color/Palette.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(e,b,I,z,H){var D=e.isTouchDevice,C=e.svg;b=b.parse;var B=H.merge;"";var x={colors:I.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
+weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",
+x:-10,y:10}},zoomBySingleTouch:!1,width:null,height:null,borderColor:I.highlightColor80,backgroundColor:I.backgroundColor,plotBorderColor:I.neutralColor20},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:I.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},
+borderColor:I.neutralColor40,borderRadius:0,navigation:{activeColor:I.highlightColor100,inactiveColor:I.neutralColor20},itemStyle:{color:I.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:I.neutralColor100},itemHiddenStyle:{color:I.neutralColor20},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",
+position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:I.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:C,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:D?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',
+backgroundColor:b(I.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:I.neutralColor80,cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:I.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};x.chart.styledMode=!1;"";var w=new z(B(x.global,x.time));return{defaultOptions:x,defaultTime:w,getOptions:function(){return x},
+setOptions:function(v){B(!0,x,v);if(v.time||v.global)e.time?e.time.update(B(x.global,x.time,v.global,v.time)):e.time=w;return x}}});O(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,b,I){var D=e.parse,H=b.win,G=I.isNumber,C=I.objectEach;return function(){function b(b,w,v){this.pos=NaN;this.options=w;this.elem=b;this.prop=v}b.prototype.dSetter=function(){var b=this.paths,w=b&&b[0];b=b&&b[1];var v=this.now||0,f=[];if(1!==v&&w&&b)if(w.length===
+b.length&&1>v)for(var d=0;dl&&v.shadow));q&&(q.startX=f.xMap,q.isArea=f.isArea)})};x.prototype.getGraphPath=function(b,e,f){var d=this,q=d.options,k=q.step,l,v=[],u=[],n;b=b||d.points;(l=b.reversed)&&b.reverse();(k={right:1,
+center:2}[k]||k&&3)&&l&&(k=4-k);b=this.getValidPoints(b,!1,!(q.connectNulls&&!e&&!f));b.forEach(function(l,w){var m=l.plotX,c=l.plotY,g=b[w-1];(l.leftCliff||g&&g.rightCliff)&&!f&&(n=!0);l.isNull&&!G(e)&&0
q?h-q:l-(C?q:0)}k(e.options.pointWidth)&&(y=D=Math.ceil(e.options.pointWidth),A-=Math.round((y-u)/2));b.centerInCategory&&(A=a.adjustForMissingColumns(A,y,e,v));e.barX=A;e.pointWidth=y;e.tooltipPos=c.inverted?[d(f.len+
+f.pos-c.plotLeft-r,f.pos-c.plotLeft,f.len+f.pos-c.plotLeft),g.len+g.pos-c.plotTop-A-D/2,z]:[g.left-c.plotLeft+A+D/2,d(r+f.pos-c.plotTop,f.pos-c.plotTop,f.len+f.pos-c.plotTop),z];e.shapeType=a.pointClass.prototype.shapeType||"rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?[A,l,D,0]:[A,B,D,z])})};b.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};b.prototype.pointAttribs=function(a,c){var b=this.options,d=this.pointAttrToOptions||{};var e=d.stroke||
+"borderColor";var h=d["stroke-width"]||"borderWidth",g=a&&a.color||this.color,f=a&&a[e]||b[e]||g,k=a&&a[h]||b[h]||this[h]||0;d=a&&a.options.dashStyle||b.dashStyle;var m=E(a&&a.opacity,b.opacity,1);if(a&&this.zones.length){var l=a.getZone();g=a.options.color||l&&(l.color||a.nonZonedColor)||this.color;l&&(f=l.borderColor||f,d=l.dashStyle||d,k=l.borderWidth||k)}c&&a&&(a=J(b.states[c],a.options.states&&a.options.states[c]||{}),c=a.brightness,g=a.color||"undefined"!==typeof c&&v(g).brighten(a.brightness).get()||
+g,f=a[e]||f,k=a[h]||k,d=a.dashStyle||d,m=E(a.opacity,m));e={fill:g,stroke:f,"stroke-width":k,opacity:m};d&&(e.dashstyle=d);return e};b.prototype.drawPoints=function(){var a=this,c=this.chart,b=a.options,d=c.renderer,e=b.animationLimit||250,g;a.points.forEach(function(h){var f=h.graphic,k=!!f,m=f&&c.pointCount
',pointFormat:"x: {point.x}
y: {point.y}
"}});return w}(b);C(z.prototype,{drawTracker:e.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});G(z,"afterTranslate",function(){this.applyJitter()});I.registerSeriesType("scatter",
+z);"";return z});O(e,"Mixins/CenteredSeries.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(e,b,I){var D=I.isNumber,H=I.pick,G=I.relativeLength,C=e.deg2rad;return e.CenteredSeriesMixin={getCenter:function(){var e=this.options,D=this.chart,w=2*(e.slicedOffset||0),v=D.plotWidth-2*w,f=D.plotHeight-2*w,d=e.center,q=Math.min(v,f),k=e.size,l=e.innerSize||0;"string"===typeof k&&(k=parseFloat(k));"string"===typeof l&&(l=parseFloat(l));e=[H(d[0],"50%"),H(d[1],"50%"),H(k&&
+0>k?void 0:e.size,"100%"),H(l&&0>l?void 0:e.innerSize||0,"0%")];!D.angular||this instanceof b||(e[3]=0);for(d=0;4>d;++d)k=e[d],D=2>d||2===d&&/%$/.test(k),e[d]=G(k,[v,f,q,e[2]][d])+(D?w:0);e[3]>e[2]&&(e[3]=e[2]);return e},getStartAndEndRadians:function(b,e){b=D(b)?b:0;e=D(e)&&e>b&&360>e-b?e:b+360;return{start:C*(b+-90),end:C*(e+-90)}}}});O(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(e,b,I){var D=this&&this.__extends||
+function(){var b=function(e,d){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,d){b.__proto__=d}||function(b,d){for(var e in d)d.hasOwnProperty(e)&&(b[e]=d[e])};return b(e,d)};return function(e,d){function f(){this.constructor=e}b(e,d);e.prototype=null===d?Object.create(d):(f.prototype=d.prototype,new f)}}(),H=e.setAnimation,G=I.addEvent,C=I.defined;e=I.extend;var B=I.isNumber,x=I.pick,w=I.relativeLength;I=function(e){function f(){var b=null!==e&&e.apply(this,arguments)||this;
+b.labelDistance=void 0;b.options=void 0;b.series=void 0;return b}D(f,e);f.prototype.getConnectorPath=function(){var b=this.labelPosition,e=this.series.options.dataLabels,f=e.connectorShape,l=this.connectorShapes;l[f]&&(f=l[f]);return f.call(this,{x:b.final.x,y:b.final.y,alignment:b.alignment},b.connectorPosition,e)};f.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};f.prototype.haloPath=function(b){var d=this.shapeArgs;return this.sliced||!this.visible?
+[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+b,d.r+b,{innerR:d.r-1,start:d.start,end:d.end})};f.prototype.init=function(){b.prototype.init.apply(this,arguments);var d=this;d.name=x(d.name,"Slice");var e=function(b){d.slice("select"===b.type)};G(d,"select",e);G(d,"unselect",e);return d};f.prototype.isValid=function(){return B(this.y)&&0<=this.y};f.prototype.setVisible=function(b,e){var d=this,f=d.series,q=f.chart,v=f.options.ignoreHiddenPoint;e=x(e,v);b!==d.visible&&(d.visible=d.options.visible=
+b="undefined"===typeof b?!d.visible:b,f.options.data[f.data.indexOf(d)]=d.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(e){if(d[e])d[e][b?"show":"hide"](b)}),d.legendItem&&q.legend.colorizeItem(d,b),b||"hover"!==d.state||d.setState(""),v&&(f.isDirty=!0),e&&q.redraw())};f.prototype.slice=function(b,e,f){var d=this.series;H(f,d.chart);x(e,!0);this.sliced=this.options.sliced=C(b)?b:!this.sliced;d.options.data[d.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());
+this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return f}(b);e(I.prototype,{connectorShapes:{fixedOffset:function(b,e,d){var f=e.breakAt;e=e.touchingSliceAt;return[["M",b.x,b.y],d.softConnector?["C",b.x+("left"===b.alignment?-5:5),b.y,2*f.x-e.x,2*f.y-e.y,f.x,f.y]:["L",f.x,f.y],["L",e.x,e.y]]},straight:function(b,e){e=e.touchingSliceAt;return[["M",b.x,b.y],["L",e.x,e.y]]},crookedLine:function(b,e,d){e=e.touchingSliceAt;var f=this.series,k=f.center[0],l=f.chart.plotWidth,v=f.chart.plotLeft;
+f=b.alignment;var u=this.shapeArgs.r;d=w(d.crookDistance,1);l="left"===f?k+u+(l+v-k-u)*(1-d):v+(k-u)*d;d=["L",l,b.y];k=!0;if("left"===f?l>b.x||lAutotrimps
-