diff --git a/initialize.js b/initialize.js index d60cff7d..f5d7755d 100644 --- a/initialize.js +++ b/initialize.js @@ -580,8 +580,9 @@ var AreaIndexes = [0,18,31,44,55,72,95,101,103,104,112,119,130,147,154,173,190,2 var SongIndexes = [1000,467,477,1000,1000,1000,466,1000,475,1000,474,1000,1000,468,1000,1000,10000,471,469,470,1000,1000,473,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000]; var SongIndexes2 = [1000,467,477,1000,1000,1000,466,1000,475,1000,474,1000,1000,472,1000,1000,1000,471,476,470,1000,1000,473,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000]; -var lastItem = 465; -var lastSong = 477; +const lastItem = Locations.indexOf('zeldasSpot') - 1; +const lastSong = Locations.indexOf('oot'); +const lastOverworldItem = Locations.indexOf('forest_first') - 1; // Includes Deku, DC, Jabu, Ice Location.med1 = "unknown"; Location.med2 = "unknown"; @@ -1337,7 +1338,7 @@ for (var i = 0; i lastItem) {songItemChecked = true;} - document.getElementById("text_" + Locations[i]).dispatchEvent(new Event('mousedown')); continue; + if (i > lastItem) { + songItemChecked = true; + var change = "text_" + document.getElementById(key).id; + document.getElementById(change).innerHTML += ": " + ItemNames2[j]; + junkSong(document.getElementById(key)); + trackAnimalQuest(); + break; + } else { + document.getElementById("text_" + Locations[i]).dispatchEvent(new Event('mousedown')); + } + continue; } - if (j == 1) {Check[document.getElementById(key).id]="small_key"; forcedDisplay[i] = true; document.getElementById(key).style.backgroundImage= ""; document.getElementById(key).value = document.getElementById(key).value.toUpperCase(); continue;} - if (j == 2) {Check[document.getElementById(key).id]="boss_key"; forcedDisplay[i] = true; document.getElementById(key).style.backgroundImage= ""; document.getElementById(key).value = document.getElementById(key).value.toUpperCase(); continue;} - if (j == 4) {Check[document.getElementById(key).id]="bombchus"; forcedDisplay[i] = true; document.getElementById(key).style.backgroundImage= ""; document.getElementById(key).value = document.getElementById(key).value.toUpperCase(); continue;} + if (j == 1) { // Small key + // Small key for overworld or song location is currently unsupported. + if (i <= lastOverworldItem || i > lastItem) continue; + + Check[document.getElementById(key).id]="small_key"; + forcedDisplay[i] = true; + document.getElementById(key).style.backgroundImage= ""; + document.getElementById(key).value = document.getElementById(key).value.toUpperCase(); + continue; + } + if (j == 2) { // Boss key + // Boss key for overworld or song location is currently unsupported. + if (i <= lastOverworldItem || i > lastItem) continue; + + Check[document.getElementById(key).id]="boss_key"; + forcedDisplay[i] = true; + document.getElementById(key).style.backgroundImage= ""; + document.getElementById(key).value = document.getElementById(key).value.toUpperCase(); + continue; + } + if (j == 4) { // Bombchus + Check[document.getElementById(key).id]="bombchus"; + forcedDisplay[i] = true; + document.getElementById(key).style.backgroundImage= ""; + document.getElementById(key).value = document.getElementById(key).value.toUpperCase(); + continue; + } for (var k = 0; k <= 3; k++) { if (k == 0) {var duplicate = "";} else {var duplicate = k + "";} @@ -134,7 +168,7 @@ function processInputs() { trackAnimalQuest(); break; } - else if (i > lastItem && j < 41) { + else if (i > lastItem && j < 44) { songItemChecked = true; Check[document.getElementById(key).id] = Items2[j] + duplicate; Location[Items2[j] + duplicate] = document.getElementById(key).id; @@ -1261,7 +1295,12 @@ function updateLogicInfo() { if (document.getElementById(str).style.display != "none") {if (document.getElementById(str).style.color == "orange" || document.getElementById(str).style.color == "magenta") {colorChange = true;} else {colorChange = false;}} else {colorChange = false;} if(document.getElementById(str).style.display == "none") {continue;} document.getElementById(str).innerHTML = backUp[i]; - if (i > lastItem && Check[key] != "unknown") {document.getElementById(str).innerHTML += ": " + capitalizeFirstLetter(ItemNames[Items.indexOf(Check[key])])} + if (i > lastItem && Check[key] != "unknown") { + // Handle chus separately since they're not in the Items list. + itemName = Check[key] == "bombchus" ? "Bombchus" : capitalizeFirstLetter(ItemNames[Items.indexOf(Check[key])]); + document.getElementById(str).innerHTML += ": " + itemName; + junkSong(document.getElementById(key)); + } if(i > lastItem && Check[key] != "unknown" && !Player[Check[key]] && (Location_Logic[key] || Location_Peek[key] || Location_Could_Access[key])) document.getElementById(str).style.backgroundColor = "gray";