forked from mirror/Archipelago
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
120 lines
5.6 KiB
Python
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
|