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

120 lines
5.6 KiB
Python

from typing import List
from BaseClasses import ItemClassification
from ..Items import DarkCloudItem
from ..Options import DarkCloudOptions
ids = {
"Progressive Chief's House": 971110400,
"Progressive Jibubu's House": 971110401,
"Progressive Zabo's House": 971110402,
"Progressive 3 Sisters' House": 971110403,
"Progressive Brooke's House": 971110404,
"Progressive Enga's House": 971110405,
"Progressive Prisoner Cabin": 971110406,
"Progressive Toto's House": 971110407,
"Progressive Totem Pole A": 971110408,
"Progressive Totem Pole B": 971110409,
"Progressive Totem Pole C": 971110410,
"Progressive Oasis": 971110411,
"Muska Lacka Trees": 971110412,
"Muska Lacka Road": 971110413
}
classifications = {
"Progressive Chief's House": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Jibubu's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Zabo's House": ItemClassification.progression | ItemClassification.useful,
"Progressive 3 Sisters' House": ItemClassification.progression,
"Progressive Brooke's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Enga's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Prisoner Cabin": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
"Progressive Toto's House": ItemClassification.progression | ItemClassification.useful,
"Progressive Totem Pole A": ItemClassification.progression | ItemClassification.filler,
"Progressive Totem Pole B": ItemClassification.progression | ItemClassification.filler,
"Progressive Totem Pole C": ItemClassification.progression | ItemClassification.filler,
"Progressive Oasis": ItemClassification.useful | ItemClassification.filler,
"Muska Lacka Trees": ItemClassification.filler,
"Muska Lacka Road": ItemClassification.filler
}
# Required for Ungaga
sister_ids = ["Progressive 3 Sisters' House", "Progressive 3 Sisters' House", "Progressive 3 Sisters' House",
"Progressive 3 Sisters' House", "Progressive 3 Sisters' House", "Progressive 3 Sisters' House",
"Progressive 3 Sisters' House"]
# 3 required for boss fight
chief_ids = ["Progressive Chief's House", "Progressive Chief's House",
"Progressive Chief's House", "Progressive Chief's House"]
zabo_ids = ["Progressive Zabo's House", "Progressive Zabo's House", "Progressive Zabo's House",
"Progressive Zabo's House", "Progressive Zabo's House"]
enga_ids = ["Progressive Enga's House", "Progressive Enga's House",
"Progressive Enga's House", "Progressive Enga's House"]
jibubu_ids = ["Progressive Jibubu's House", "Progressive Jibubu's House",
"Progressive Jibubu's House", "Progressive Jibubu's House"]
brooke_ids = ["Progressive Brooke's House", "Progressive Brooke's House",
"Progressive Brooke's House", "Progressive Brooke's House"]
toto_ids = ["Progressive Toto's House", "Progressive Toto's House", "Progressive Toto's House",
"Progressive Toto's House", "Progressive Toto's House"]
prisoner_ids = ["Progressive Prisoner Cabin", "Progressive Prisoner Cabin",
"Progressive Prisoner Cabin", "Progressive Prisoner Cabin"]
oasis_ids = ["Progressive Oasis", "Progressive Oasis", "Progressive Oasis"]
totem_ids = ["Progressive Totem Pole A", "Progressive Totem Pole B", "Progressive Totem Pole C",
"Progressive Totem Pole A", "Progressive Totem Pole B", "Progressive Totem Pole C"]
misc_ids = ["Muska Lacka Trees", "Muska Lacka Trees", "Muska Lacka Road", "Muska Lacka Road",
"Muska Lacka Road", "Muska Lacka Road", "Muska Lacka Road"]
mc_required = ["Progressive Chief's House", "Progressive Toto's House",
"Progressive Enga's House", "Progressive Enga's House", "Progressive Enga's House"]
mc_useful = ["Progressive Jibubu's House", "Progressive Jibubu's House", "Progressive Brooke's House",
"Progressive Prisoner Cabin", "Progressive Oasis"]
mc_filler = ["Progressive Totem Pole A", "Progressive Totem Pole B", "Progressive Totem Pole C"]
required = sister_ids
# Jibubu gives fruit of eden, Brooke runs a shop, Toto gives a nice sword
useful = jibubu_ids + brooke_ids + toto_ids
filler = prisoner_ids + oasis_ids + totem_ids + misc_ids
def create_muska_atla(options: DarkCloudOptions, player: int) -> List["DarkCloudItem"]:
items = []
muska_required = required.copy() + mc_required.copy()
muska_useful = useful.copy()
muska_filler = filler.copy()
if options.boss_goal == 4 or options.all_bosses:
muska_required.extend(chief_ids + zabo_ids + enga_ids + ["Progressive Zabo's House"])
else:
if options.miracle_sanity:
muska_required.append("Progressive Zabo's House")
else:
muska_useful.append("Progressive Zabo's House")
muska_filler.extend(chief_ids)
# Zabo gives Double Impact, Enga a buster sword + storage
muska_useful.extend(zabo_ids + enga_ids)
if options.miracle_sanity:
muska_required.extend(mc_useful)
muska_required.extend(mc_filler)
else:
muska_useful.extend(mc_useful)
muska_filler.extend(mc_filler)
for i in muska_required:
items.append(DarkCloudItem(i, ItemClassification.progression, ids[i], player))
for i in muska_useful:
items.append(DarkCloudItem(i, ItemClassification.useful, ids[i], player))
for i in muska_filler:
items.append(DarkCloudItem(i, ItemClassification.filler, ids[i], player))
# print(len(items))
# print (items)
return items