diff --git a/dungeontracker.html b/dungeontracker.html
index d366004b..b684bceb 100644
--- a/dungeontracker.html
+++ b/dungeontracker.html
@@ -213,6 +213,7 @@
Door Shuffle:
+
diff --git a/index.html b/index.html
index 9a912820..6918bcbb 100644
--- a/index.html
+++ b/index.html
@@ -196,6 +196,10 @@
+
+
+
+
diff --git a/js/autot.js b/js/autot.js
index 75f8096a..060b6586 100644
--- a/js/autot.js
+++ b/js/autot.js
@@ -290,10 +290,12 @@ function autotrackDoTracking(data) {
function updatesmallkeys(dungeon, offset) {
if (changed(offset)) {
- var newkeys = autotrackPrevData === null ? data[offset] : (data[offset] - autotrackPrevData[offset] + items["smallkey" + dungeon]);
- if (newkeys > items["smallkey" + dungeon]) {
- document.getElementById("smallkey" + dungeon).innerHTML = newkeys;
- items["smallkey" + dungeon] = newkeys;
+ var label = "smallkey" + dungeon;
+ var newkeys = autotrackPrevData === null ? data[offset] : (data[offset] - autotrackPrevData[offset] + items[label]);
+ if (newkeys > items[label]) {
+ document.getElementById(label).style.color = (newkeys === items.range[label].max) ? "green" : "white";
+ document.getElementById(label).innerHTML = newkeys;
+ items[label] = newkeys;
updateMapTracker();
}
}
diff --git a/js/items.js b/js/items.js
index 944fc387..87b88f30 100644
--- a/js/items.js
+++ b/js/items.js
@@ -2,24 +2,24 @@
'use strict';
var query = uri_query();
-
- window.flags = {
+
+ window.flags = {
gametype: query.f.charAt(0),
entrancemode: query.f.charAt(1),
- doorshuffle: query.f.charAt(2),
- overworldshuffle: query.f.charAt(3),
+ doorshuffle: query.f.charAt(2),
+ overworldshuffle: query.f.charAt(3),
bossshuffle: query.f.charAt(4),
enemyshuffle: query.f.charAt(5),
- unknown: query.f.charAt(6),
+ unknown: query.f.charAt(6),
glitches: query.f.charAt(7),
- wildmaps: (query.f.charAt(8) === '1' ? true : false),
- wildcompasses: (query.f.charAt(9) === '1' ? true : false),
- wildkeys: (query.f.charAt(10) === '1' ? true : false),
- wildbigkeys: (query.f.charAt(11) === '1' ? true : false),
- shopsanity: query.f.charAt(12),
- ambrosia: query.f.charAt(13),
- nonprogressivebows: (query.f.charAt(14) === 'Y' ? true : false),
- activatedflute: (query.f.charAt(15) === 'Y' ? true : false),
+ wildmaps: (query.f.charAt(8) === '1' ? true : false),
+ wildcompasses: (query.f.charAt(9) === '1' ? true : false),
+ wildkeys: (query.f.charAt(10) === '1' ? true : false),
+ wildbigkeys: (query.f.charAt(11) === '1' ? true : false),
+ shopsanity: query.f.charAt(12),
+ ambrosia: query.f.charAt(13),
+ nonprogressivebows: (query.f.charAt(14) === 'Y' ? true : false),
+ activatedflute: (query.f.charAt(15) === 'Y' ? true : false),
goals: query.f.charAt(16),
opentower: query.f.charAt(17),
opentowercount: query.f.charAt(18),
@@ -38,44 +38,44 @@
startingitems: query.s,
sprite: query.p.replace('#','').replace('!',''),
};
-
- window.maptype = query.map;
-
- window.startingitems = query.starting;
-
- var chestmod = 0;
-
- if (flags.wildmaps) {
- chestmod++;
- }
-
- if (flags.wildcompasses) {
- chestmod++;
- }
-
- var chestmodcrossed = chestmod;
-
- if (flags.wildbigkeys) {
- chestmod++;
- if (flags.wildkeys || flags.gametype === 'R') {
- chestmodcrossed++;
- }
- }
-
- var chests0 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 3 + chestmod;
- var chests1 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
- var chests2 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
- var chests3 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 5 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 6 : 0);
- var chests4 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 6 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
- var chests5 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 3 : 0);
- var chests6 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 4 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
- var chests7 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 3 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 2 : 0);
- var chests8 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 3 : 0);
- var chests9 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 5 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 4 : 0);
- var chests10 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 20 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 4 : 0);
- var chests11 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 6 + (flags.wildmaps ? 1 : 0) + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
- var chests12 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : ((flags.wildkeys || flags.gametype === 'R') ? 2 : 0);
-
+
+ window.maptype = query.map;
+
+ window.startingitems = query.starting;
+
+ var chestmod = 0;
+
+ if (flags.wildmaps) {
+ chestmod++;
+ }
+
+ if (flags.wildcompasses) {
+ chestmod++;
+ }
+
+ var chestmodcrossed = chestmod;
+
+ if (flags.wildbigkeys) {
+ chestmod++;
+ if (flags.wildkeys || flags.gametype === 'R') {
+ chestmodcrossed++;
+ }
+ }
+
+ var chests0 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 3 + chestmod;
+ var chests1 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
+ var chests2 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
+ var chests3 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 5 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 6 : 0);
+ var chests4 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 6 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
+ var chests5 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 3 : 0);
+ var chests6 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 4 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
+ var chests7 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 3 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 2 : 0);
+ var chests8 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 2 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 3 : 0);
+ var chests9 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 5 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 4 : 0);
+ var chests10 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 20 + chestmod + ((flags.wildkeys || flags.gametype === 'R') ? 4 : 0);
+ var chests11 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : 6 + (flags.wildmaps ? 1 : 0) + ((flags.wildkeys || flags.gametype === 'R') ? 1 : 0);
+ var chests12 = flags.doorshuffle === 'C' ? 3 + chestmodcrossed : ((flags.wildkeys || flags.gametype === 'R') ? 2 : 0);
+
var maxchests0 = flags.doorshuffle === 'C' ? 32 : chests0;
var maxchests1 = flags.doorshuffle === 'C' ? 32 : chests1;
var maxchests2 = flags.doorshuffle === 'C' ? 32 : chests2;
@@ -89,7 +89,64 @@
var maxchests10 = flags.doorshuffle === 'C' ? 32 : chests10;
var maxchests11 = flags.doorshuffle === 'C' ? 32 : chests11;
var maxchests12 = flags.doorshuffle === 'C' ? 32 : chests12;
-
+
+ var dungeonKeys = {
+ ep: { chests: 0, pots: 2},
+ dp: { chests: 1, pots: 3},
+ th: { chests: 1, pots: 0},
+ pd: { chests: 6, pots: 0},
+ sp: { chests: 1, pots: 5},
+ sw: { chests: 3, pots: 2},
+ tt: { chests: 1, pots: 2},
+ ip: { chests: 2, pots: 4},
+ mm: { chests: 3, pots: 3},
+ tr: { chests: 4, pots: 2},
+ gt: { chests: 4, pots: 4},
+ hc: { chests: 1, pots: 3},
+ at: { chests: 2, pots: 2},
+ };
+
+ var keyCount = function(dungeonKeyInfo) {
+ if (flags.doorshuffle === 'C') { return 29; }
+ return dungeonKeyInfo.chests + (flags.doorshuffle === 'P' ? dungeonKeyInfo.pots : 0);
+ }
+
+ var range = {
+ tunic: { min: 1, max: 3 },
+ sword: { min: 0, max: 4 },
+ shield: { min: 0, max: 3 },
+ bottle: { min: 0, max: 4 },
+ bow: { min: 0, max: 3 },
+ boomerang: { min: 0, max: 3 },
+ glove: { min: 0, max: 2 },
+ smallkey0: { min: 0, max: keyCount(dungeonKeys.ep) },
+ smallkey1: { min: 0, max: keyCount(dungeonKeys.dp) },
+ smallkey2: { min: 0, max: keyCount(dungeonKeys.th) },
+ smallkey3: { min: 0, max: keyCount(dungeonKeys.pd) },
+ smallkey4: { min: 0, max: keyCount(dungeonKeys.sp) },
+ smallkey5: { min: 0, max: keyCount(dungeonKeys.sw) },
+ smallkey6: { min: 0, max: keyCount(dungeonKeys.tt) },
+ smallkey7: { min: 0, max: keyCount(dungeonKeys.ip) },
+ smallkey8: { min: 0, max: keyCount(dungeonKeys.mm) },
+ smallkey9: { min: 0, max: keyCount(dungeonKeys.tr) },
+ smallkey10: { min: 0, max: keyCount(dungeonKeys.gt) },
+ smallkeyhalf0: { min: 0, max: keyCount(dungeonKeys.hc) },
+ smallkeyhalf1: { min: 0, max: keyCount(dungeonKeys.at) },
+ chest0: { min: 0, max: maxchests0 },
+ chest1: { min: 0, max: maxchests1 },
+ chest2: { min: 0, max: maxchests2 },
+ chest3: { min: 0, max: maxchests3 },
+ chest4: { min: 0, max: maxchests4 },
+ chest5: { min: 0, max: maxchests5 },
+ chest6: { min: 0, max: maxchests6 },
+ chest7: { min: 0, max: maxchests7 },
+ chest8: { min: 0, max: maxchests8 },
+ chest9: { min: 0, max: maxchests9 },
+ chest10: { min: 0, max: maxchests10 },
+ chest11: { min: 0, max: maxchests11 },
+ chest12: { min: 0, max: maxchests12 }
+ };
+
window.items = {
tunic: 1,
sword: 0,
@@ -126,9 +183,9 @@
flute: false,
agahnim: false,
agahnim2: false,
- bomb: false,
- magic: false,
- bombfloor: false,
+ bomb: false,
+ magic: false,
+ bombfloor: false,
boss0: false,
boss1: false,
@@ -140,7 +197,7 @@
boss7: false,
boss8: false,
boss9: false,
-
+
chest0: chests0,
chest1: chests1,
chest2: chests2,
@@ -151,10 +208,10 @@
chest7: chests7,
chest8: chests8,
chest9: chests9,
- chest10: chests10,
- chest11: chests11,
- chest12: chests12,
-
+ chest10: chests10,
+ chest11: chests11,
+ chest12: chests12,
+
maxchest0: maxchests0,
maxchest1: maxchests1,
maxchest2: maxchests2,
@@ -165,9 +222,9 @@
maxchest7: maxchests7,
maxchest8: maxchests8,
maxchest9: maxchests9,
- maxchest10: maxchests10,
- maxchest11: maxchests11,
- maxchest12: maxchests12,
+ maxchest10: maxchests10,
+ maxchest11: maxchests11,
+ maxchest12: maxchests12,
chestknown0: false,
chestknown1: false,
@@ -183,97 +240,37 @@
chestknown11: false,
chestknown12: false,
- bigkey0: !flags.wildbigkeys,
- bigkey1: !flags.wildbigkeys,
- bigkey2: !flags.wildbigkeys,
- bigkey3: !flags.wildbigkeys,
- bigkey4: !flags.wildbigkeys,
- bigkey5: !flags.wildbigkeys,
- bigkey6: !flags.wildbigkeys,
- bigkey7: !flags.wildbigkeys,
- bigkey8: !flags.wildbigkeys,
- bigkey9: !flags.wildbigkeys,
- bigkey10: !flags.wildbigkeys,
- bigkeyhalf0: !flags.wildbigkeys,
- bigkeyhalf1: !flags.wildbigkeys,
-
- smallkey0: (flags.wildkeys ? 0 : 0),
- smallkey1: (flags.wildkeys ? 0 : 1),
- smallkey2: (flags.wildkeys ? 0 : 1),
- smallkey3: (flags.wildkeys ? 0 : 6),
- smallkey4: (flags.wildkeys ? 0 : 1),
- smallkey5: (flags.wildkeys ? 0 : 3),
- smallkey6: (flags.wildkeys ? 0 : 1),
- smallkey7: (flags.wildkeys ? 0 : 2),
- smallkey8: (flags.wildkeys ? 0 : 3),
- smallkey9: (flags.wildkeys ? 0 : 4),
- smallkey10: (flags.wildkeys ? 0 : 4),
- smallkeyhalf0: (flags.wildkeys ? 0 : 1),
- smallkeyhalf1: (flags.wildkeys ? 0 : 2),
-
- inc: limit(1, {
- tunic: { min: 1, max: 3 },
- sword: { max: 4 },
- shield: { max: 3 },
- bottle: { max: 4 },
- bow: { max: 3 },
- boomerang: { max: 3 },
- glove: { max: 2 },
- smallkey0: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 0 },
- smallkey1: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey2: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey3: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 6 },
- smallkey4: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey5: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 3 },
- smallkey6: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey7: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 2 },
- smallkey8: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 3 },
- smallkey9: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 4 },
- smallkey10: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 4 },
- smallkeyhalf0: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkeyhalf1: { min: 0, max: flags.doorshuffle === 'C' ? 29 : 2 },
- chest0: { min: 0, max: maxchests0 },
- chest1: { min: 0, max: maxchests1 },
- chest2: { min: 0, max: maxchests2 },
- chest3: { min: 0, max: maxchests3 },
- chest4: { min: 0, max: maxchests4 },
- chest5: { min: 0, max: maxchests5 },
- chest6: { min: 0, max: maxchests6 },
- chest7: { min: 0, max: maxchests7 },
- chest8: { min: 0, max: maxchests8 },
- chest9: { min: 0, max: maxchests9 },
- chest10: { min: 0, max: maxchests10 },
- chest11: { min: 0, max: maxchests11 },
- chest12: { min: 0, max: maxchests12 }
- }),
- dec: limit(-1, {
- chest0: { max: maxchests0 },
- chest1: { max: maxchests1 },
- chest2: { max: maxchests2 },
- chest3: { max: maxchests3 },
- chest4: { max: maxchests4 },
- chest5: { max: maxchests5 },
- chest6: { max: maxchests6 },
- chest7: { max: maxchests7 },
- chest8: { max: maxchests8 },
- chest9: { max: maxchests9 },
- chest10: { max: maxchests10 },
- chest11: { max: maxchests11 },
- chest12: { max: maxchests12 },
- smallkey0: { max: flags.doorshuffle === 'C' ? 29 : 0 },
- smallkey1: { max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey2: { max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey3: { max: flags.doorshuffle === 'C' ? 29 : 6 },
- smallkey4: { max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey5: { max: flags.doorshuffle === 'C' ? 29 : 3 },
- smallkey6: { max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkey7: { max: flags.doorshuffle === 'C' ? 29 : 2 },
- smallkey8: { max: flags.doorshuffle === 'C' ? 29 : 3 },
- smallkey9: { max: flags.doorshuffle === 'C' ? 29 : 4 },
- smallkey10: { max: flags.doorshuffle === 'C' ? 29 : 4 },
- smallkeyhalf0: { max: flags.doorshuffle === 'C' ? 29 : 1 },
- smallkeyhalf1: { max: flags.doorshuffle === 'C' ? 29 : 2 }
- })
+ bigkey0: !flags.wildbigkeys,
+ bigkey1: !flags.wildbigkeys,
+ bigkey2: !flags.wildbigkeys,
+ bigkey3: !flags.wildbigkeys,
+ bigkey4: !flags.wildbigkeys,
+ bigkey5: !flags.wildbigkeys,
+ bigkey6: !flags.wildbigkeys,
+ bigkey7: !flags.wildbigkeys,
+ bigkey8: !flags.wildbigkeys,
+ bigkey9: !flags.wildbigkeys,
+ bigkey10: !flags.wildbigkeys,
+ bigkeyhalf0: !flags.wildbigkeys,
+ bigkeyhalf1: !flags.wildbigkeys,
+
+ smallkey0: (flags.wildkeys ? 0 : range['smallkey0'].max),
+ smallkey1: (flags.wildkeys ? 0 : range['smallkey1'].max),
+ smallkey2: (flags.wildkeys ? 0 : range['smallkey2'].max),
+ smallkey3: (flags.wildkeys ? 0 : range['smallkey3'].max),
+ smallkey4: (flags.wildkeys ? 0 : range['smallkey4'].max),
+ smallkey5: (flags.wildkeys ? 0 : range['smallkey5'].max),
+ smallkey6: (flags.wildkeys ? 0 : range['smallkey6'].max),
+ smallkey7: (flags.wildkeys ? 0 : range['smallkey7'].max),
+ smallkey8: (flags.wildkeys ? 0 : range['smallkey8'].max),
+ smallkey9: (flags.wildkeys ? 0 : range['smallkey9'].max),
+ smallkey10: (flags.wildkeys ? 0 : range['smallkey10'].max),
+ smallkeyhalf0: (flags.wildkeys ? 0 : range['smallkeyhalf0'].max),
+ smallkeyhalf1: (flags.wildkeys ? 0 : range['smallkeyhalf1'].max),
+
+ range: range,
+ inc: limit(1, range),
+ dec: limit(-1, range)
};
function getdelay() {
diff --git a/js/track.js b/js/track.js
index 0fb8dc88..116e152f 100644
--- a/js/track.js
+++ b/js/track.js
@@ -948,21 +948,25 @@
if (label.substring(0,12) === 'smallkeyhalf') {
if (flags.gametype != 'R') {
var value = items.inc(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
skipkey = true;
} else {
var value = items.dec(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
skipkey = true;
}
}
- if (label.substring(0,8) === 'smallkey' && label.substring(0,12) != 'smallkeyhalf') {
+ else if (label.substring(0,8) === 'smallkey') {
if (flags.gametype != 'R') {
var value = items.inc(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
skipkey = true;
} else {
var value = items.dec(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
skipkey = true;
}
@@ -1323,18 +1327,22 @@
if (label.substring(0,12) === 'smallkeyhalf') {
if (flags.gametype != 'R') {
var value = items.dec(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
} else {
var value = items.inc(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
}
}
- if (label.substring(0,8) === 'smallkey' && label.substring(0,12) != 'smallkeyhalf') {
+ else if (label.substring(0,8) === 'smallkey') {
if (flags.gametype != 'R') {
var value = items.dec(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
} else {
var value = items.inc(label);
+ document.getElementById(label).style.color = (value === items.range[label].max) ? "green" : "white";
document.getElementById(label).innerHTML = value;
}
}
@@ -2328,6 +2336,172 @@
$('#flagsModal').hide();
}
+ window.updateMysteryPointTotal = function() {
+ var worldstate = 0;
+ switch (document.getElementById("stateselect").value) {
+ case "O":
+ case "S":
+ worldstate = 0;
+ break;
+ case "I":
+ case "R":
+ worldstate = 20
+ break;
+ }
+
+ var goal = 0;
+ switch (document.getElementById('goalselect').value) {
+ case 'G':
+ case 'F':
+ goal = 0;
+ break;
+ case 'A':
+ case 'P':
+ goal = 10;
+ break;
+ case 'O':
+ goal = 20;
+ break;
+ }
+
+ var swords = 0;
+ switch (document.getElementById('swordselect').value) {
+ case "R":
+ case "A":
+ swords = 0;
+ break;
+ case "V":
+ swords = 10;
+ break;
+ case "S":
+ swords = 20;
+ break;
+ }
+
+ var itempool = 0;
+ switch (document.getElementById('itempoolselect').value) {
+ case "N":
+ itempool = 0;
+ break;
+ case "H":
+ itempool = 20;
+ break;
+ case "E":
+ itempool = 30;
+ break;
+ }
+
+ var accessibility = 0;
+ switch (document.getElementById('accessibilityselect').value) {
+ case "100":
+ accessibility = 0;
+ break;
+ case "B":
+ accessibility = 10;
+ break;
+ }
+
+ var opentower = 0;
+ switch (flags.opentowercount) {
+ case 0:
+ case 1:
+ opentower = 20;
+ break;
+ case 2:
+ case 3:
+ case 4:
+ opentower = 10;
+ break;
+ default:
+ opentower = 0;
+ break;
+ }
+
+ var ganonvuln = 0;
+ switch (flags.ganonvulncount) {
+ case 3:
+ case 4:
+ ganonvuln = 10;
+ break;
+ default:
+ ganonvuln = 0;
+ break;
+ }
+
+ var hints = 0;
+ switch (document.getElementById('hintselect').value) {
+ case "Y":
+ hints = 10;
+ break;
+ case "N":
+ hints = 0;
+ break;
+ }
+
+ var bossshuffle = 0;
+ switch (document.getElementById('bossselect').value) {
+ case "N":
+ bossshuffle = 0;
+ break;
+ case "S":
+ bossshuffle = 20;
+ break;
+ case "R":
+ bossshuffle = 30;
+ break;
+ }
+
+ var enemyshuffle = 0;
+ switch (document.getElementById('enemyselect').value) {
+ case "N":
+ enemyshuffle = 0;
+ break;
+ case "S":
+ enemyshuffle = 20;
+ break;
+ }
+
+ var enemydamage = 0;
+ switch (document.getElementById('enemydamageselect').value) {
+ case "N":
+ enemydamage = 0;
+ break;
+ case "S":
+ enemydamage = 30;
+ break;
+ }
+
+ var enemyhealth = 0;
+ switch (document.getElementById('enemyhealthselect').value) {
+ case "N":
+ enemyhealth = 0;
+ break;
+ case "E":
+ enemyhealth = 20;
+ break;
+ case "H":
+ enemyhealth = 30;
+ break;
+ }
+
+ var dungeonitems = 0;
+ dungeonitems += (document.getElementById('shuffledmaps').checked) ? 10 : 0;
+ dungeonitems += (document.getElementById('shuffledcompasses').checked) ? 10 : 0;
+ dungeonitems += (document.getElementById('shuffledkeys').checked) ? 10 : 0;
+ dungeonitems += (document.getElementById('shuffledbigkeys').checked) ? 10 : 0;
+
+ var startingitems = 0;
+ startingitems += (document.getElementById('starthookshot').checked) ? 20 : 0;
+ startingitems += (document.getElementById('startfirerod').checked) ? 20 : 0;
+ startingitems += (document.getElementById('starticerod').checked) ? 20 : 0;
+ startingitems += (document.getElementById('startflippers').checked) ? 20 : 0;
+ startingitems += (document.getElementById('startflute').checked) ? 20 : 0;
+ startingitems += (document.getElementById('startmirror').checked) ? 20 : 0;
+ startingitems += (document.getElementById('startboots').checked) ? 0 : 20;
+
+ document.getElementById("mysterypointtotal").innerHTML = (worldstate + goal + swords + itempool + accessibility + opentower + ganonvuln + hints + bossshuffle + enemyshuffle + enemydamage + enemyhealth + dungeonitems + startingitems);
+ }
+
window.adjustFlags = function() {
//Clean up states and variables before we start
click_map();
@@ -2519,70 +2693,8 @@
}
}
- items.inc = limit(1, {
- tunic: { min: 1, max: 3 },
- sword: { max: 4 },
- shield: { max: 3 },
- bottle: { max: 4 },
- bow: { max: 3 },
- boomerang: { max: 3 },
- glove: { max: 2 },
- smallkey0: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 0 },
- smallkey1: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey2: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey3: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 6 },
- smallkey4: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey5: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 3 },
- smallkey6: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey7: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 2 },
- smallkey8: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 3 },
- smallkey9: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 4 },
- smallkey10: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 4 },
- smallkeyhalf0: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkeyhalf1: { min: 0, max: document.getElementById('doorselect').value === 'C' ? 29 : 2 },
- chest0: { min: 0, max: maxchests0 },
- chest1: { min: 0, max: maxchests1 },
- chest2: { min: 0, max: maxchests2 },
- chest3: { min: 0, max: maxchests3 },
- chest4: { min: 0, max: maxchests4 },
- chest5: { min: 0, max: maxchests5 },
- chest6: { min: 0, max: maxchests6 },
- chest7: { min: 0, max: maxchests7 },
- chest8: { min: 0, max: maxchests8 },
- chest9: { min: 0, max: maxchests9 },
- chest10: { min: 0, max: maxchests10 },
- chest11: { min: 0, max: maxchests11 },
- chest12: { min: 0, max: maxchests12 }
- });
-
- items.dec = limit(-1, {
- chest0: { max: maxchests0 },
- chest1: { max: maxchests1 },
- chest2: { max: maxchests2 },
- chest3: { max: maxchests3 },
- chest4: { max: maxchests4 },
- chest5: { max: maxchests5 },
- chest6: { max: maxchests6 },
- chest7: { max: maxchests7 },
- chest8: { max: maxchests8 },
- chest9: { max: maxchests9 },
- chest10: { max: maxchests10 },
- chest11: { max: maxchests11 },
- chest12: { max: maxchests12 },
- smallkey0: { max: document.getElementById('doorselect').value === 'C' ? 29 : 0 },
- smallkey1: { max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey2: { max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey3: { max: document.getElementById('doorselect').value === 'C' ? 29 : 6 },
- smallkey4: { max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey5: { max: document.getElementById('doorselect').value === 'C' ? 29 : 3 },
- smallkey6: { max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkey7: { max: document.getElementById('doorselect').value === 'C' ? 29 : 2 },
- smallkey8: { max: document.getElementById('doorselect').value === 'C' ? 29 : 3 },
- smallkey9: { max: document.getElementById('doorselect').value === 'C' ? 29 : 4 },
- smallkey10: { max: document.getElementById('doorselect').value === 'C' ? 29 : 4 },
- smallkeyhalf0: { max: document.getElementById('doorselect').value === 'C' ? 29 : 1 },
- smallkeyhalf1: { max: document.getElementById('doorselect').value === 'C' ? 29 : 2 }
- });
+ items.inc = limit(1, items.range);
+ items.dec = limit(-1, items.range);
flags.doorshuffle = document.getElementById('doorselect').value;
@@ -2962,6 +3074,7 @@
}
}
+ updateMysteryPointTotal();
$('#flagsModal').hide();
}
diff --git a/tracker.html b/tracker.html
index 5efefd88..7b188aaa 100644
--- a/tracker.html
+++ b/tracker.html
@@ -1175,21 +1175,21 @@ Load Spoiler Log
-
+
Change Flags
Main settings
-
+
|
World State:
|
- |
-
+
-
+
+
|
@@ -1224,7 +1225,7 @@ Change Flags
Enemy Shuffle:
-
+
@@ -1235,13 +1236,13 @@ Change Flags
Dungeon Items:
|
-
+
-
+
-
+
-
+
|
@@ -1250,7 +1251,7 @@ Change Flags
Goal:
-
+
@@ -1264,7 +1265,7 @@ Change Flags
Swords:
|
-
+
@@ -1272,6 +1273,18 @@ Change Flags
|
+
+ |
+ Item Pool:
+ |
+
+
+
+
+
+
+ |
+
Activated Flute:
@@ -1280,8 +1293,82 @@ Change Flags
|
+
+ |
+ Total Points:
+ |
+
+
+ |
+