diff --git a/worlds/jakanddaxter/Items.py b/worlds/jakanddaxter/Items.py new file mode 100644 index 0000000000..8dd7fa5430 --- /dev/null +++ b/worlds/jakanddaxter/Items.py @@ -0,0 +1,25 @@ +import typing +from BaseClasses import Item + +class JakAndDaxterItem(Item): + game: str = "Jak and Daxter: The Precursor Legacy" + +# Items Found Multiple Times +generic_item_table = { + "Power Cell": 1000, + "Scout Fly": 2000, + "Precursor Orb": 3000 +} + +# Items Only Found Once +special_item_table = { + "Fisherman's Boat": 0, + "Sculptor's Muse": 1, + "Flut Flut": 2, + "Blue Eco Switch": 3, + "Gladiator's Pontoons": 4, + "Yellow Eco Switch": 5 +} + +# All Items +item_table = {**generic_item_table, **special_item_table} diff --git a/worlds/jakanddaxter/Locations.py b/worlds/jakanddaxter/Locations.py new file mode 100644 index 0000000000..2834efc505 --- /dev/null +++ b/worlds/jakanddaxter/Locations.py @@ -0,0 +1,43 @@ +import typing +import locs.CellLocations +import locs.ScoutLocations +from BaseClasses import Location + +class JakAndDaxterLocation(Location): + game: str = "Jak and Daxter: The Precursor Legacy" + +# All Locations +location_cellTable = { + **locGR_cellTable, \ + **locSV_cellTable, \ + **locFJ_cellTable, \ + **locSB_cellTable, \ + **locMI_cellTable, \ + **locFC_cellTable, \ + **locRV_cellTable, \ + **locPB_cellTable, \ + **locLPC_cellTable, \ + **locBS_cellTable, \ + **locMP_cellTable, \ + **locVC_cellTable, \ + **locSC_cellTable, \ + **locSM_cellTable, \ + **locLT_cellTable, \ + **locGMC_cellTable, \ + **locGR_scoutTable, \ + **locSV_scoutTable, \ + **locFJ_scoutTable, \ + **locSB_scoutTable, \ + **locMI_scoutTable, \ + **locFC_scoutTable, \ + **locRV_scoutTable, \ + **locPB_scoutTable, \ + **locLPC_scoutTable, \ + **locBS_scoutTable, \ + **locMP_scoutTable, \ + **locVC_scoutTable, \ + **locSC_scoutTable, \ + **locSM_scoutTable, \ + **locLT_scoutTable, \ + **locGMC_scoutTable +} diff --git a/worlds/jakanddaxter/Options.py b/worlds/jakanddaxter/Options.py new file mode 100644 index 0000000000..9895b0a6bc --- /dev/null +++ b/worlds/jakanddaxter/Options.py @@ -0,0 +1,12 @@ +import typing +from dataclasses import dataclass +from Options import DefaultOnToggle, Range, Toggle, DeathLink, Choice, PerGameCommonOptions, OptionSet +from .Items import action_item_table + +class EnableScoutFlies(Toggle): + """Enable to include each Scout Fly as a check. Adds 213 checks to the pool.""" + display_name = "Enable Scout Flies" + +# class EnablePrecursorOrbs(Toggle): +# """Enable to include each Precursor Orb as a check. Adds 2000 checks to the pool.""" +# display_name = "Enable Precursor Orbs" \ No newline at end of file diff --git a/worlds/jakanddaxter/Regions.py b/worlds/jakanddaxter/Regions.py new file mode 100644 index 0000000000..63f12f0098 --- /dev/null +++ b/worlds/jakanddaxter/Regions.py @@ -0,0 +1,33 @@ +import typing +from BaseClasses import Region, Location +from .Locations import JakAndDaxterLocation, location_table + +class JakAndDaxterLevel(int, Enum): + GEYSER_ROCK = 0 + SANDOVER_VILLAGE = 1 + FORBIDDEN_JUNGLE = 2 + SENTINEL_BEACH = 3 + MISTY_ISLAND = 4 + FIRE_CANYON = 5 + ROCK_VILLAGE = 6 + PRECURSOR_BASIN = 7 + LOST_PRECURSOR_CITY = 8 + BOGGY_SWAMP = 9 + MOUNTAIN_PASS = 10 + VOLCANIC_CRATER = 11 + SPIDER_CAVE = 12 + SNOWY_MOUNTAIN = 13 + LAVA_TUBE = 14 + GOL_AND_MAIAS_CITADEL = 15 + +class JakAndDaxterSubLevel(int, Enum): + MAIN = 0 + FORBIDDEN_JUNGLE_PLANT_ROOM = 1 + SENTINEL_BEACH_CANNON_TOWER = 2 + BOGGY_SWAMP_FLUT_FLUT = 3 + MOUNTAIN_PASS_SHORTCUT = 4 + SNOWY_MOUNTAIN_FLUT_FLUT = 5 + SNOWY_MOUNTAIN_LURKER_FORT = 6 + +class JakAndDaxterRegion(Region): + game: str = "Jak and Daxter: The Precursor Legacy" diff --git a/worlds/jakanddaxter/Rules.py b/worlds/jakanddaxter/Rules.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/worlds/jakanddaxter/__init__.py b/worlds/jakanddaxter/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/worlds/jakanddaxter/locs/CellLocations.py b/worlds/jakanddaxter/locs/CellLocations.py new file mode 100644 index 0000000000..cc5e9da6ce --- /dev/null +++ b/worlds/jakanddaxter/locs/CellLocations.py @@ -0,0 +1,164 @@ +# Geyser Rock +locGR_cellTable = { + "GR: Find The Cell On The Path": 0, + "GR: Open The Precursor Door": 1, + "GR: Climb Up The Cliff": 2, + "GR: Free 7 Scout Flies": 3 +} + +# Sandover Village +locSV_cellTable = { + "SV: Bring 90 Orbs To The Mayor": 4, + "SV: Bring 90 Orbs to Your Uncle": 5, + "SV: Herd The Yakows Into The Pen": 6, + "SV: Bring 120 Orbs To The Oracle (1)": 7, + "SV: Bring 120 Orbs To The Oracle (2)": 8, + "SV: Free 7 Scout Flies": 9 +} + +# Forbidden Jungle +locFJ_cellTable = { + "FJ: Connect The Eco Beams": 10, + "FJ: Get To The Top Of The Temple": 11, + "FJ: Find The Blue Vent Switch": 12, + "FJ: Defeat The Dark Eco Plant": 13, + "FJ: Catch 200 Pounds Of Fish": 14, + "FJ: Follow The Canyon To The Sea": 15, + "FJ: Open The Locked Temple Door": 16, + "FJ: Free 7 Scout Flies": 17 +} + +# Sentinel Beach +locSB_cellTable = { + "SB: Unblock The Eco Harvesters": 18, + "SB: Push The Flut Flut Egg Off The Cliff": 19, + "SB: Get The Power Cell From The Pelican": 20, + "SB: Chase The Seagulls": 21, + "SB: Launch Up To The Cannon Tower": 22, + "SB: Explore The Beach": 23, + "SB: Climb The Sentinel": 24, + "SB: Free 7 Scout Flies": 25 +} + +# Misty Island +locMI_cellTable = { + "MI: Catch The Sculptor's Muse": 26, + "MI: Climb The Lurker Ship": 27, + "MI: Stop The Cannon": 28, + "MI: Return To The Dark Eco Pool": 29, + "MI: Destroy the Balloon Lurkers": 30, + "MI: Use Zoomer To Reach Power Cell": 31, + "MI: Use Blue Eco To Reach Power Cell": 32, + "MI: Free 7 Scout Flies": 33 +} + +# Fire Canyon +locFC_cellTable = { + "FC: Reach The End Of Fire Canyon": 34, + "FC: Free 7 Scout Flies": 35 +} + +# Rock Village +locRV_cellTable = { + "RV: Bring 90 Orbs To The Gambler": 36, + "RV: Bring 90 Orbs To The Geologist": 37, + "RV: Bring 90 Orbs To The Warrior": 38, + "RV: Bring 120 Orbs To The Oracle (1)": 39, + "RV: Bring 120 Orbs To The Oracle (2)": 40, + "RV: Free 7 Scout Flies": 41 +} + +# Precursor Basin +locPB_cellTable = { + "PB: Herd The Moles Into Their Hole": 42, + "PB: Catch The Flying Lurkers": 43, + "PB: Beat Record Time On The Gorge": 44, + "PB: Get The Power Cell Over The Lake": 45, + "PB: Cure Dark Eco Infected Plants": 46, + "PB: Navigate The Purple Precursor Rings": 47, + "PB: Navigate The Blue Precursor Rings": 48, + "PB: Free 7 Scout Flies": 49 +} + +# Lost Precursor City +locLPC_cellTable = { + "LPC: Raise The Chamber": 50, + "LPC: Follow The Colored Pipes": 51, + "LPC: Reach The Bottom Of The City": 52, + "LPC: Quickly Cross The Dangerous Pool": 53, + "LPC: Match The Platform Colors": 54, + "LPC: Climb The Slide Tube": 55, + "LPC: Reach The Center Of The Complex": 56, + "LPC: Free 7 Scout Flies": 57 +} + +# Boggy Swamp +locBS_cellTable = { + "BS: Ride The Flut Flut": 58, + "BS: Protect Farthy's Snacks": 59, + "BS: Defeat The Lurker Ambush": 60, + "BS: Break The Tethers To The Zeppelin (1)": 61, + "BS: Break The Tethers To The Zeppelin (2)": 62, + "BS: Break The Tethers To The Zeppelin (3)": 63, + "BS: Break The Tethers To The Zeppelin (4)": 64, + "BS: Free 7 Scout Flies": 65 +} + +# Mountain Pass +locMP_cellTable = { + "MP: Defeat Klaww": 66, + "MP: Reach The End Of The Mountain Pass": 67, + "MP: Find The Hidden Power Cell": 68, + "MP: Free 7 Scout Flies": 69 +} + +# Volcanic Crater +locVC_cellTable = { + "VC: Bring 90 Orbs To The Miners (1)": 70, + "VC: Bring 90 Orbs To The Miners (2)": 71, + "VC: Bring 90 Orbs To The Miners (3)": 72, + "VC: Bring 90 Orbs To The Miners (4)": 73, + "VC: Bring 120 Orbs To The Oracle (1)": 74, + "VC: Bring 120 Orbs To The Oracle (2)": 75, + "VC: Find The Hidden Power Cell": 76, + "VC: Free 7 Scout Flies": 77 +} + +# Spider Cave +locSC_cellTable = { + "SC: Use Your Goggles To Shoot The Gnawing Lurkers": 78, + "SC: Destroy The Dark Eco Crystals": 79, + "SC: Explore The Dark Cave": 80, + "SC: Climb The Giant Robot": 81, + "SC: Launch To The Poles": 82, + "SC: Navigate The Spider Tunnel": 83, + "SC: Climb the Precursor Platforms": 84, + "SC: Free 7 Scout Flies": 85 +} + +# Snowy Mountain +locSM_cellTable = { + "SM: Find The Yellow Vent Switch": 86, + "SM: Stop The 3 Lurker Glacier Troops": 87, + "SM: Deactivate The Precursor Blockers": 88, + "SM: Open The Frozen Crate": 89, + "SM: Get Through The Lurker Fort": 90, + "SM: Open The Lurker Fort Gate": 91, + "SM: Survive The Lurker Infested Cave": 92, + "SM: Free 7 Scout Flies": 93 +} + +# Lava Tube +locLT_cellTable = { + "LT: Cross The Lava Tube": 94, + "LT: Free 7 Scout Flies": 95 +} + +# Gol and Maias Citadel +locGMC_cellTable = { + "GMC: Free The Blue Sage": 96, + "GMC: Free The Red Sage": 97, + "GMC: Free The Yellow Sage": 98, + "GMC: Free The Green Sage": 99, + "GMC: Free 7 Scout Flies ": 100 +} diff --git a/worlds/jakanddaxter/locs/ScoutLocations.py b/worlds/jakanddaxter/locs/ScoutLocations.py new file mode 100644 index 0000000000..227380a443 --- /dev/null +++ b/worlds/jakanddaxter/locs/ScoutLocations.py @@ -0,0 +1,63 @@ +# Geyser Rock +locGR_scoutTable = { +} + +# Sandover Village +locSV_scoutTable = { +} + +# Forbidden Jungle +locFJ_scoutTable = { +} + +# Sentinel Beach +locSB_scoutTable = { +} + +# Misty Island +locMI_scoutTable = { +} + +# Fire Canyon +locFC_scoutTable = { +} + +# Rock Village +locRV_scoutTable = { +} + +# Precursor Basin +locPB_scoutTable = { +} + +# Lost Precursor City +locLPC_scoutTable = { +} + +# Boggy Swamp +locBS_scoutTable = { +} + +# Mountain Pass +locMP_scoutTable = { +} + +# Volcanic Crater +locVC_scoutTable = { +} + +# Spider Cave +locSC_scoutTable = { +} + +# Snowy Mountain +locSM_scoutTable = { +} + +# Lava Tube +locLT_scoutTable = { +} + +# Gol and Maias Citadel +locGMC_scoutTable = { +}