Files
dockipelago/worlds/dc1/data/QueensGeoItems.py
Jonathan Tinney 7971961166
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
add schedule I, sonic 1/frontiers/heroes, spirit island
2026-04-02 23:46:36 -07:00

125 lines
6.3 KiB
Python

from BaseClasses import ItemClassification
from ..Items import DarkCloudItem
from ..Options import DarkCloudOptions
ids = {
"Progressive Ruty's Store": 971110300,
"Progressive Suzy's Store": 971110301,
"Progressive Lana's Store": 971110302,
"Progressive Jack's Store": 971110303,
"Progressive Joker's House": 971110304,
"Progressive Divining House": 971110305,
"Progressive Cathedral": 971110306,
"Progressive Basker's Store": 971110307,
"Progressive King's Hideout": 971110308,
"Progressive Sheriff's Office": 971110309,
"Progressive Queens Fountain": 971110310,
"Progressive Leaning Tower": 971110311,
"Queens Trees": 971110312,
"Queens Road": 971110313
}
classifications = {
"Progressive Ruty's Store": ItemClassification.progression | ItemClassification.useful,
"Progressive Suzy's Store": ItemClassification.progression | ItemClassification.useful,
"Progressive Lana's Store": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Jack's Store": ItemClassification.progression | ItemClassification.useful,
"Progressive Joker's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Divining House": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Cathedral": ItemClassification.progression | ItemClassification.filler,
"Progressive Basker's Store": ItemClassification.progression | ItemClassification.filler,
"Progressive King's Hideout": ItemClassification.progression,
"Progressive Sheriff's Office": ItemClassification.progression | ItemClassification.useful,
"Progressive Queens Fountain": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Leaning Tower": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Queens Trees": ItemClassification.filler,
"Queens Road": ItemClassification.filler
}
king_ids = ["Progressive King's Hideout", "Progressive King's Hideout", "Progressive King's Hideout",
"Progressive King's Hideout", "Progressive King's Hideout", "Progressive King's Hideout",
"Progressive King's Hideout"]
cathedral_ids = ["Progressive Cathedral", "Progressive Cathedral", "Progressive Cathedral",
"Progressive Cathedral"]
joker_ids = ["Progressive Joker's House", "Progressive Joker's House",
"Progressive Joker's House", "Progressive Joker's House", "Progressive Joker's House"]
ruty_ids = ["Progressive Ruty's Store", "Progressive Ruty's Store",
"Progressive Ruty's Store", "Progressive Ruty's Store"]
suzy_ids = ["Progressive Suzy's Store", "Progressive Suzy's Store"]
lana_ids = ["Progressive Lana's Store"]
jack_ids = ["Progressive Jack's Store",
"Progressive Jack's Store", "Progressive Jack's Store", "Progressive Jack's Store",
"Progressive Jack's Store"]
basker_ids = ["Progressive Basker's Store", "Progressive Basker's Store", "Progressive Basker's Store",
"Progressive Basker's Store", "Progressive Basker's Store"]
sheriff_ids = ["Progressive Sheriff's Office", "Progressive Sheriff's Office", "Progressive Sheriff's Office",
"Progressive Sheriff's Office", "Progressive Sheriff's Office", "Progressive Sheriff's Office",
"Progressive Sheriff's Office"]
fountain_ids = ["Progressive Queens Fountain", "Progressive Queens Fountain", "Progressive Queens Fountain"]
tower_ids = ["Progressive Leaning Tower", "Progressive Leaning Tower"]
other_ids = ["Queens Trees", "Queens Trees", "Queens Road", "Queens Road",
"Queens Road", "Queens Road", "Queens Road", "Queens Road"]
# Atla that give MCs by content quality (unless handled otherwise). If MC shuffle is on, these all need to be required
# Sheriff completion is required for Joker's house access inside, yielding a fruit o eden
mc_useful = (["Progressive Suzy's Store", "Progressive Suzy's Store", "Progressive Suzy's Store",
"Progressive Suzy's Store", "Progressive Lana's Store", "Progressive Lana's Store",
"Progressive Basker's Store", "Progressive Queens Fountain", "Progressive Leaning Tower", ] +
sheriff_ids + joker_ids)
mc_filler = ["Progressive Ruty's Store", "Progressive Lana's Store",
"Progressive Lana's Store", "Progressive Basker's Store"]
# Always required/useful/filler items
# Jack's Store has a parfait
required = king_ids + ["Progressive Jack's Store", "Progressive Jack's Store",
"Progressive Joker's House", "Progressive Cathedral"]
useful = jack_ids + suzy_ids + ruty_ids
filler = other_ids + fountain_ids + tower_ids + lana_ids + basker_ids
def create_queens_atla(options: DarkCloudOptions, player: int) -> list["DarkCloudItem"]:
"""Create atla items for Norune Village based on option settings."""
items = []
queens_required = required.copy()
queens_useful = useful.copy()
queens_filler = filler.copy()
if options.boss_goal == 3 or options.all_bosses:
queens_required.extend(
["Progressive Divining House", "Progressive Divining House", "Progressive Divining House",
"Progressive Divining House"])
else:
if options.miracle_sanity:
queens_required.extend(["Progressive Divining House", "Progressive Divining House"])
else:
queens_useful.extend(["Progressive Divining House", "Progressive Divining House"])
queens_filler.extend(["Progressive Divining House", "Progressive Divining House"])
if options.all_bosses or options.boss_goal == 3:
queens_required.extend(cathedral_ids)
else:
queens_filler.extend(cathedral_ids)
if options.miracle_sanity:
queens_required.extend(mc_useful)
queens_required.extend(mc_filler)
else:
queens_useful.extend(mc_useful)
queens_filler.extend(mc_filler)
for i in queens_required:
items.append(DarkCloudItem(i, ItemClassification.progression, ids[i], player))
for i in queens_useful:
items.append(DarkCloudItem(i, ItemClassification.useful, ids[i], player))
for i in queens_filler:
items.append(DarkCloudItem(i, ItemClassification.filler, ids[i], player))
# print(len(items))
# print (items)
return items