Files
dockipelago/worlds/dc1/data/MatatakiGeoItems.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

162 lines
8.0 KiB
Python

from BaseClasses import ItemClassification
from ..Items import DarkCloudItem
from ..Options import DarkCloudOptions
ids = {
"Progressive Pao's House": 971110200,
"Progressive Cacao's House": 971110201,
"Progressive Bunbuku's House": 971110202,
"Progressive Kye's House": 971110203,
"Progressive Baron's House": 971110204,
"Progressive Couscous's House": 971110205,
"Progressive Gob's House": 971110206,
"Progressive Mushroom House": 971110207,
"Progressive Well 1": 971110208,
"Progressive Well 2": 971110209,
"Progressive Well 3": 971110210,
"Progressive Watermill 1": 971110211,
"Progressive Watermill 2": 971110212,
"Progressive Watermill 3": 971110213,
"Progressive Owl Shop": 971110214,
"Matataki Trees": 971110215,
"Progressive Matataki River": 971110216,
"Matataki Bridge": 971110217,
"Earth A": 971110218,
"Earth B": 971110219,
}
classifications = {
"Progressive Pao's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Cacao's House": ItemClassification.progression,
"Progressive Bunbuku's House": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Kye's House": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Baron's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Couscous's House": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Gob's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Mushroom House": ItemClassification.progression | ItemClassification.useful,
"Progressive Well 1": ItemClassification.filler,
"Progressive Well 2": ItemClassification.filler,
"Progressive Well 3": ItemClassification.filler,
"Progressive Watermill 1": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Watermill 2": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Watermill 3": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Owl Shop": ItemClassification.progression | ItemClassification.useful,
"Matataki Trees": ItemClassification.filler,
"Progressive Matataki River": ItemClassification.progression,
"Matataki Bridge": ItemClassification.filler,
"Earth A": ItemClassification.filler,
"Earth B": ItemClassification.filler,
}
cacao_ids = ["Progressive Cacao's House", "Progressive Cacao's House", "Progressive Cacao's House",
"Progressive Cacao's House", "Progressive Cacao's House", "Progressive Cacao's House",
"Progressive Cacao's House"]
mush_ids = ["Progressive Mushroom House", "Progressive Mushroom House", "Progressive Mushroom House",
"Progressive Mushroom House", "Progressive Mushroom House"]
# Two pieces are needed to reach all MCs in the house, one for the second half of the dungeon
mush_ids_mc = ["Progressive Mushroom House"]
mush_ids_mc2 = ["Progressive Mushroom House"]
pao_ids = ["Progressive Pao's House",
"Progressive Pao's House", "Progressive Pao's House", "Progressive Pao's House"]
baron_ids = ["Progressive Baron's House", "Progressive Baron's House", "Progressive Baron's House",
"Progressive Baron's House", "Progressive Baron's House"]
bunbuku_ids = ["Progressive Bunbuku's House", "Progressive Bunbuku's House", "Progressive Bunbuku's House",
"Progressive Bunbuku's House", "Progressive Bunbuku's House"]
kye_ids = ["Progressive Kye's House", "Progressive Kye's House", "Progressive Kye's House", "Progressive Kye's House"]
# Fruit and gourd, rest is filler (rewards aren't that great)
couscous_ids = ["Progressive Couscous's House", "Progressive Couscous's House",
"Progressive Couscous's House", "Progressive Couscous's House"]
# House has a fruit, house reward is a weapon for goro so marking the whole thing useful except for MCs
gob_ids = ["Progressive Gob's House", "Progressive Gob's House",
"Progressive Gob's House", "Progressive Gob's House", "Progressive Gob's House"]
# Inside has a gourd, so first 2 pieces are minimum useful. Reward is a shop so the rest useful
owl_ids = ["Progressive Owl Shop", "Progressive Owl Shop", "Progressive Owl Shop", "Progressive Owl Shop"]
well_ids = ["Progressive Well 1", "Progressive Well 1", "Progressive Well 1", "Progressive Well 1",
"Progressive Well 1",
"Progressive Well 2", "Progressive Well 2", "Progressive Well 2", "Progressive Well 2",
"Progressive Well 2",
"Progressive Well 3", "Progressive Well 3", "Progressive Well 3", "Progressive Well 3",
"Progressive Well 3"]
# Each watermill has MCs, 2 have gourds
watermill_ids = ["Progressive Watermill 1", "Progressive Watermill 1", "Progressive Watermill 2",
"Progressive Watermill 2", "Progressive Watermill 3", "Progressive Watermill 3", ]
# Only 5 are required for progression, could take 3 out as useful?
river_ids = ["Progressive Matataki River", "Progressive Matataki River", "Progressive Matataki River",
"Progressive Matataki River", "Progressive Matataki River", "Progressive Matataki River",
"Progressive Matataki River", "Progressive Matataki River"]
other_ids = ["Matataki Trees", "Matataki Trees", "Matataki Bridge"]
# Atla that give MCs by content quality (unless handled otherwise). If MC shuffle is on, these all need to be required
mc_useful = ["Progressive Owl Shop", "Progressive Owl Shop",
"Progressive Bunbuku's House", "Progressive Bunbuku's House",
"Progressive Baron's House", "Progressive Pao's House", "Progressive Pao's House", ]
mc_filler = ["Progressive Watermill 1", ]
mc_useful_2 = ["Progressive Kye's House", "Progressive Kye's House", "Progressive Kye's House",
"Progressive Couscous's House", "Progressive Gob's House",
"Progressive Watermill 2", "Progressive Watermill 3", ]
# mc_filler_2 = [,] Bunbuku's chest accessed by the cabin is not shuffled right now
# Always required/useful/filler items
required = river_ids + cacao_ids
useful = pao_ids + baron_ids + gob_ids + owl_ids
filler = ["Earth A", "Earth B"] + other_ids + bunbuku_ids + couscous_ids + kye_ids + watermill_ids + well_ids
def create_matataki_atla(options: DarkCloudOptions, player: int) -> list["DarkCloudItem"]:
"""Create atla items for Matataki Village based on option settings."""
items = []
matataki_progression = required.copy()
matataki_useful = useful.copy()
matataki_filler = filler.copy()
# Mush house is only full required if Utan is required
if options.all_bosses or options.boss_goal == 2:
matataki_progression.extend(mush_ids)
matataki_progression.extend(mush_ids_mc)
matataki_progression.extend(mush_ids_mc2)
else:
matataki_useful.extend(mush_ids)
if options.miracle_sanity:
matataki_progression.extend(mush_ids_mc)
matataki_progression.extend(mush_ids_mc2)
else:
matataki_useful.extend(mush_ids_mc)
matataki_useful.extend(mush_ids_mc2)
if options.miracle_sanity:
matataki_progression.extend(mc_useful)
matataki_progression.extend(mc_useful_2)
matataki_progression.extend(mc_filler)
# matataki_progression.extend(mc_filler_2)
else:
matataki_useful.extend(mc_useful)
matataki_useful.extend(mc_useful_2)
matataki_filler.extend(mc_filler)
# matataki_filler.extend(mc_filler_2)
for i in matataki_progression:
items.append(DarkCloudItem(i, ItemClassification.progression, ids[i], player))
for i in matataki_useful:
items.append(DarkCloudItem(i, ItemClassification.useful, ids[i], player))
for i in matataki_filler:
items.append(DarkCloudItem(i, ItemClassification.filler, ids[i], player))
# print(len(items))
# print (items)
return items