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
103 lines
4.9 KiB
Python
103 lines
4.9 KiB
Python
from typing import List
|
|
|
|
from BaseClasses import ItemClassification
|
|
from ..Items import DarkCloudItem
|
|
from ..Options import DarkCloudOptions
|
|
|
|
ids = {
|
|
"Progressive Parts HD": 971110500,
|
|
"Progressive Parts AMR": 971110501,
|
|
"Progressive Parts AML": 971110502,
|
|
"Progressive Parts HGR": 971110503,
|
|
"Progressive Parts HGL": 971110504,
|
|
"Progressive Parts HGR2": 971110505,
|
|
"Progressive Parts HGL2": 971110506,
|
|
"Progressive Parts CT": 971110507,
|
|
"Progressive Parts WT": 971110508,
|
|
"Progressive Parts TIR": 971110509,
|
|
"Progressive Parts TIL": 971110510,
|
|
"Progressive Parts FTR": 971110511,
|
|
"Progressive Parts FTL": 971110512,
|
|
"Progressive Lookout": 971110513,
|
|
}
|
|
|
|
classifications = {
|
|
"Progressive Parts HD": ItemClassification.progression | ItemClassification.useful,
|
|
"Progressive Parts AMR": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts AML": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts HGR": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts HGL": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts HGR2": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts HGL2": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts CT": ItemClassification.progression | ItemClassification.useful | ItemClassification.filler,
|
|
"Progressive Parts WT": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts TIR": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts TIL": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts FTR": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Parts FTL": ItemClassification.progression | ItemClassification.filler,
|
|
"Progressive Lookout": ItemClassification.progression | ItemClassification.filler,
|
|
}
|
|
|
|
# Head is required to fight Joe
|
|
head_ids = ["Progressive Parts HD", "Progressive Parts HD"]
|
|
|
|
aml_ids = ["Progressive Parts AML", "Progressive Parts AML", "Progressive Parts AML",
|
|
"Progressive Parts AML", "Progressive Parts AML"]
|
|
amr_ids = ["Progressive Parts AMR", "Progressive Parts AMR", "Progressive Parts AMR",
|
|
"Progressive Parts AMR", "Progressive Parts AMR"]
|
|
hgr_ids = ["Progressive Parts HGR", "Progressive Parts HGR", "Progressive Parts HGR", "Progressive Parts HGR"]
|
|
hgl_ids = ["Progressive Parts HGL", "Progressive Parts HGL", "Progressive Parts HGL", "Progressive Parts HGL"]
|
|
hg2_ids = ["Progressive Parts HGR2", "Progressive Parts HGL2"]
|
|
chest_ids = ["Progressive Parts CT", "Progressive Parts CT"]
|
|
waist_ids = ["Progressive Parts WT", "Progressive Parts WT", "Progressive Parts WT"]
|
|
tir_ids = ["Progressive Parts TIR", "Progressive Parts TIR"]
|
|
til_ids = ["Progressive Parts TIL", "Progressive Parts TIL"]
|
|
ftr_ids = ["Progressive Parts FTR", "Progressive Parts FTR", "Progressive Parts FTR", "Progressive Parts FTR"]
|
|
ftl_ids = ["Progressive Parts FTL", "Progressive Parts FTL", "Progressive Parts FTL", "Progressive Parts FTL"]
|
|
|
|
# Excluding the lookout tower, only the first piece of any georama gives any MCs
|
|
mc_filler = ["Progressive Lookout", "Progressive Lookout", "Progressive Parts AMR", "Progressive Parts AML",
|
|
"Progressive Parts HGR", "Progressive Parts HGL", "Progressive Parts HGR2", "Progressive Parts HGL2",
|
|
"Progressive Parts TIR", "Progressive Parts TIL", "Progressive Parts FTR", "Progressive Parts FTL"]
|
|
mc_useful = ["Progressive Parts CT"]
|
|
|
|
filler = (aml_ids + amr_ids + hgr_ids + hgl_ids + hg2_ids + chest_ids + waist_ids +
|
|
tir_ids + til_ids + ftr_ids + ftl_ids)
|
|
|
|
|
|
def create_factory_atla(options: DarkCloudOptions, player: int) -> List["DarkCloudItem"]:
|
|
items = []
|
|
|
|
factory_required = ["Progressive Lookout", "Progressive Lookout", "Progressive Parts WT"]
|
|
factory_useful = []
|
|
factory_filler = filler.copy()
|
|
|
|
if options.boss_goal == 5 or options.all_bosses:
|
|
factory_required.extend(head_ids + ["Progressive Parts HD"])
|
|
else:
|
|
if options.miracle_sanity:
|
|
factory_required.append("Progressive Parts HD")
|
|
else:
|
|
factory_useful.append("Progressive Parts HD")
|
|
factory_filler.extend(head_ids)
|
|
|
|
if options.miracle_sanity:
|
|
factory_required.extend(mc_useful)
|
|
factory_required.extend(mc_filler)
|
|
else:
|
|
factory_useful.extend(mc_useful)
|
|
factory_filler.extend(mc_filler)
|
|
|
|
for i in factory_required:
|
|
items.append(DarkCloudItem(i, ItemClassification.progression, ids[i], player))
|
|
|
|
for i in factory_useful:
|
|
items.append(DarkCloudItem(i, ItemClassification.useful, ids[i], player))
|
|
|
|
for i in factory_filler:
|
|
items.append(DarkCloudItem(i, ItemClassification.filler, ids[i], player))
|
|
|
|
# print(len(items))
|
|
# print (items)
|
|
return items
|