diff --git a/public/images/agahnim0.png b/public/images/agahnim0.png deleted file mode 100644 index 1d11d2c..0000000 Binary files a/public/images/agahnim0.png and /dev/null differ diff --git a/public/images/boss111.png b/public/images/boss111.png new file mode 100644 index 0000000..b23ed74 Binary files /dev/null and b/public/images/boss111.png differ diff --git a/public/images/agahnim1.png b/public/images/boss112.png similarity index 100% rename from public/images/agahnim1.png rename to public/images/boss112.png diff --git a/public/images/smallkey1.png b/public/images/smallkey1.png index 23d3715..86222bb 100644 Binary files a/public/images/smallkey1.png and b/public/images/smallkey1.png differ diff --git a/public/images/smallkey2.png b/public/images/smallkey2.png index 938085b..cb87d99 100644 Binary files a/public/images/smallkey2.png and b/public/images/smallkey2.png differ diff --git a/public/images/smallkey3.png b/public/images/smallkey3.png index 645d003..cb108f4 100644 Binary files a/public/images/smallkey3.png and b/public/images/smallkey3.png differ diff --git a/public/images/smallkey4.png b/public/images/smallkey4.png index 23f6c74..8f90c65 100644 Binary files a/public/images/smallkey4.png and b/public/images/smallkey4.png differ diff --git a/public/images/smallkey5.png b/public/images/smallkey5.png index a18d044..34504cb 100644 Binary files a/public/images/smallkey5.png and b/public/images/smallkey5.png differ diff --git a/public/images/smallkey6.png b/public/images/smallkey6.png index 717436c..6ef961c 100644 Binary files a/public/images/smallkey6.png and b/public/images/smallkey6.png differ diff --git a/public/script/chests.js b/public/script/chests.js index 4ddaf2b..87a603b 100644 --- a/public/script/chests.js +++ b/public/script/chests.js @@ -80,7 +80,7 @@ function glitchedLinkInDarkWorld() { } function canGoBeatAgahnim1(allowOutOfLogicGlitches) { - return !trackerData.items.agahnim + return trackerData.items.boss11 === 1 && (trackerData.items.lantern || allowOutOfLogicGlitches) && (trackerData.items.cape || trackerData.items.sword >= 2) && trackerData.items.sword >= 1; @@ -88,7 +88,7 @@ function canGoBeatAgahnim1(allowOutOfLogicGlitches) { function canEnterNorthEastDarkWorld(logic, agahnimCheck, allowOutOfLogicGlitches) { if (logic === 'majorGlitches') { - return trackerData.items.agahnim + return trackerData.items.boss11 === 2 || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches)) || (trackerData.items.moonpearl && ((canLiftDarkRocks() && (trackerData.items.boots || trackerData.items.flippers)) @@ -99,7 +99,7 @@ function canEnterNorthEastDarkWorld(logic, agahnimCheck, allowOutOfLogicGlitches || (trackerData.items.moonpearl && (trackerData.items.mirror || trackerData.items.boots)))); } else if (logic === 'owGlitches') { - return trackerData.items.agahnim + return trackerData.items.boss11 === 2 || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches)) || (trackerData.items.moonpearl && ((canLiftDarkRocks() && (trackerData.items.boots || trackerData.items.flippers)) @@ -109,7 +109,7 @@ function canEnterNorthEastDarkWorld(logic, agahnimCheck, allowOutOfLogicGlitches || (trackerData.items.moonpearl && (trackerData.items.mirror || trackerData.items.boots)))); } else if (logic === 'glitchless') { - return trackerData.items.agahnim + return trackerData.items.boss11 === 2 || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches)) || (trackerData.items.hammer && canLiftRocks() && trackerData.items.moonpearl) || (canLiftDarkRocks() && trackerData.items.flippers && trackerData.items.moonpearl); @@ -122,7 +122,7 @@ function canEnterNorthWestDarkWorld(logic, agahnimCheck, allowOutOfLogicGlitches || (trackerData.items.moonpearl && (canLiftDarkRocks() || (trackerData.items.hammer && canLiftRocks()) - || ((trackerData.items.agahnim || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) + || ((trackerData.items.boss11 === 2 || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) && trackerData.items.hookshot && (trackerData.items.hammer || canLiftRocks() || trackerData.items.flippers)))); } @@ -131,7 +131,7 @@ function canEnterNorthWestDarkWorld(logic, agahnimCheck, allowOutOfLogicGlitches || (trackerData.items.moonpearl && (canLiftDarkRocks() || (trackerData.items.hammer && canLiftRocks()) - || ((trackerData.items.agahnim || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) + || ((trackerData.items.boss11 === 2 || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) && trackerData.items.hookshot && (trackerData.items.hammer || canLiftRocks() || trackerData.items.flippers)))); } @@ -149,7 +149,7 @@ function canEnterSouthDarkWorld(logic, agahnimCheck, allowOutOfLogicGlitches) { || (trackerData.items.moonpearl && (canLiftDarkRocks() || (trackerData.items.hammer && canLiftRocks()) - || ((trackerData.items.agahnim || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) + || ((trackerData.items.boss11 === 2 || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) && (trackerData.items.hammer || (trackerData.items.hookshot && (trackerData.items.flippers || canLiftRocks())))))); } else if (logic === 'owGlitches') { @@ -157,7 +157,7 @@ function canEnterSouthDarkWorld(logic, agahnimCheck, allowOutOfLogicGlitches) { || (trackerData.items.moonpearl && (canLiftDarkRocks() || (trackerData.items.hammer && canLiftRocks()) - || ((trackerData.items.agahnim || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) + || ((trackerData.items.boss11 === 2 || (agahnimCheck && canGoBeatAgahnim1(allowOutOfLogicGlitches))) && (trackerData.items.hammer || (trackerData.items.hookshot && (trackerData.items.flippers || canLiftRocks())))))); } else if (logic === 'glitchless') { @@ -2265,6 +2265,45 @@ dungeons[10] = { } }; +dungeons[11] = { + name: "Castle Tower", + label: "CT", + x: "24.9%", + y: "54.1%", + image: "boss112.png", + canEnter: function (logic, allowOutOfLogicGlitches) { + return canGoBeatAgahnim1(allowOutOfLogicGlitches); + }, + isBeatable: function() { + const availability = new Availability(); + if (this.canEnter('glitchless', false)) { + availability.glitchless = 'available'; + availability.owGlitches = 'available'; + availability.majorGlitches = 'available'; + } + else if (this.canEnter('glitchless', true)) { + availability.glitchless = 'glitchavailable'; + availability.owGlitches = 'glitchavailable'; + availability.majorGlitches = 'glitchavailable'; + } + return availability; + }, + canGetChest: function() { + const availability = new Availability(); + if (this.canEnter('glitchless', false)) { + availability.glitchless = 'available'; + availability.owGlitches = 'available'; + availability.majorGlitches = 'available'; + } + else if (this.canEnter('glitchless', true)) { + availability.glitchless = 'glitchavailable'; + availability.owGlitches = 'glitchavailable'; + availability.majorGlitches = 'glitchavailable'; + } + return availability; + } +}; + //define overworld chests const chests = []; @@ -3317,7 +3356,7 @@ chests[37] = { const availability = new Availability(); availability.glitchless = 'possible'; if (trackerData.items.boots) { - if (trackerData.items.agahnim) { + if (trackerData.items.boss11 === 2) { availability.glitchless = 'available'; } else if (canGoBeatAgahnim1(false)) { @@ -4113,7 +4152,7 @@ chests[61] = { } if (crystalCount === 2 && trackerData.items.moonpearl) { if (canEnterSouthDarkWorld('glitchless', false, false) - && (trackerData.items.hammer || (trackerData.items.mirror && trackerData.items.agahnim))) { + && (trackerData.items.hammer || (trackerData.items.mirror && trackerData.items.boss11 === 2))) { availability.glitchless = 'available'; } else if (canEnterSouthDarkWorld('glitchless', true, false) @@ -4130,7 +4169,7 @@ chests[61] = { } else if (crystalCount === 2) { if (canEnterSouthDarkWorld('owGlitches', false, false) - && ((trackerData.items.hammer && trackerData.items.moonpearl) || (trackerData.items.mirror && trackerData.items.agahnim))) { + && ((trackerData.items.hammer && trackerData.items.moonpearl) || (trackerData.items.mirror && trackerData.items.boss11 === 2))) { availability.owGlitches = 'available' } else if (canEnterSouthDarkWorld('owGlitches', true, false) @@ -4142,7 +4181,7 @@ chests[61] = { availability.owGlitches = 'glitchagahnim'; } if (canEnterSouthDarkWorld('majorGlitches', false, false) - && ((trackerData.items.hammer && glitchedLinkInDarkWorld()) || (trackerData.items.mirror && trackerData.items.agahnim))) { + && ((trackerData.items.hammer && glitchedLinkInDarkWorld()) || (trackerData.items.mirror && trackerData.items.boss11 === 2))) { availability.majorGlitches = 'available' } else if (canEnterSouthDarkWorld('majorGlitches', true, false) diff --git a/public/script/items.js b/public/script/items.js index f194ef9..c566f9b 100644 --- a/public/script/items.js +++ b/public/script/items.js @@ -48,7 +48,7 @@ var defaultItemGrid = [ "boss0", "boss1", "boss2", - "agahnim", + "boss11", "blank", ], ]; @@ -99,7 +99,7 @@ var itemsInit = { boss8: 1, boss9: 1, boss10: 1, - agahnim: 0, + boss11: 1, blank: false }; @@ -115,15 +115,16 @@ var dungeonchestsInit = { 7: 3, 8: 2, 9: 5, - 10: 20 + 10: 20, + 11: 0 }; -var bigkeyInit = [false, false, false, false, false, false, false, false, false, false, false]; -var smallkeyInit = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var bigkeyInit = [false, false, false, false, false, false, false, false, false, false, false, false]; +var smallkeyInit = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; -var dungeonbeatenInit = [false, false, false, false, false, false, false, false, false, false, false]; -var prizesInit = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; -var medallionsInit = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var dungeonbeatenInit = [false, false, false, false, false, false, false, false, false, false, false, false]; +var prizesInit = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; +var medallionsInit = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; var itemsMin = { @@ -143,8 +144,6 @@ var itemsMin = { boss1: 1, boss2: 1, - agahnim:0, - boss3: 1, boss4: 1, boss5: 1, @@ -152,7 +151,8 @@ var itemsMin = { boss7: 1, boss8: 1, boss9: 1, - boss10: 1 + boss10: 1, + boss11: 1 }; var itemsMax = { @@ -172,8 +172,6 @@ var itemsMax = { boss1: 2, boss2: 2, - agahnim: 1, - boss3: 2, boss4: 2, boss5: 2, @@ -182,8 +180,9 @@ var itemsMax = { boss8: 2, boss9: 2, boss10: 2, - - chest0: 3, + boss11: 2, + + chest0: 3, chest1: 2, chest2: 2, chest3: 5, @@ -194,6 +193,7 @@ var itemsMax = { chest8: 2, chest9: 5, chest10: 20, + chest11: 0, key0: 0, key1: 1, @@ -205,5 +205,6 @@ var itemsMax = { key7: 2, key8: 3, key9: 4, - key10: 4 + key10: 4, + key11: 2 }; diff --git a/public/script/main.js b/public/script/main.js index 788ed77..8b27694 100644 --- a/public/script/main.js +++ b/public/script/main.js @@ -721,7 +721,7 @@ Vue.component('tracker-cell', { }, bigKeyImage: function() { if(this.bossNum && this.trackerOptions && this.trackerOptions.showbigkeys && this.trackerData.bigkeys) { - if(this.trackerData.bigkeys[this.bossNum]) { + if(this.trackerData.bigkeys[this.bossNum] && this.bossNum < 11) { return "url(/images/bigkey.png)"; } else { return "url(/images/nothing.png)"; @@ -740,7 +740,7 @@ Vue.component('tracker-cell', { return null; }, prizeImage: function() { - if(this.bossNum && this.bossNum !== "10" && this.trackerOptions && this.trackerOptions.showprizes) { + if(this.bossNum && this.bossNum < 10 && this.trackerOptions && this.trackerOptions.showprizes) { return "url(/images/dungeon" + this.trackerData.prizes[this.bossNum] + ".png)"; } return null;