Files
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

157 lines
7.5 KiB
Python

from typing import NamedTuple
from BaseClasses import Item, ItemClassification
class SonicFrontiersItem(Item):
game: str = "Sonic Frontiers"
class SonicFrontiersItemData(NamedTuple):
id: int
item_class: ItemClassification = ItemClassification.progression
offset: int = 101000
item_list = {
"Kronos Memory Token": SonicFrontiersItemData(offset, ItemClassification.filler),
"Kronos Portal Gear": SonicFrontiersItemData(offset + 1, ItemClassification.filler),
"Kronos Vault Key": SonicFrontiersItemData(offset + 2, ItemClassification.progression),
"Ares Memory Token": SonicFrontiersItemData(offset + 3, ItemClassification.filler),
"Ares Portal Gear": SonicFrontiersItemData(offset + 4, ItemClassification.filler),
"Ares Vault Key": SonicFrontiersItemData(offset + 5, ItemClassification.progression),
"Chaos Memory Token": SonicFrontiersItemData(offset + 6, ItemClassification.filler),
"Chaos Portal Gear": SonicFrontiersItemData(offset + 7, ItemClassification.filler),
"Chaos Vault Key": SonicFrontiersItemData(offset + 8, ItemClassification.progression),
"Ouranos Memory Token": SonicFrontiersItemData(offset + 9, ItemClassification.filler),
"Ouranos Portal Gear": SonicFrontiersItemData(offset + 10, ItemClassification.filler),
"Ouranos Vault Key": SonicFrontiersItemData(offset + 11, ItemClassification.progression),
"Progressive Chaos Emerald": SonicFrontiersItemData(offset + 12, ItemClassification.progression),
"Kronos Memory Treasure": SonicFrontiersItemData(offset + 36, ItemClassification.progression),
"Ares Memory Treasure": SonicFrontiersItemData(offset + 37, ItemClassification.progression),
"Chaos Memory Treasure": SonicFrontiersItemData(offset + 38, ItemClassification.progression),
"Ouranos Memory Treasure": SonicFrontiersItemData(offset + 39, ItemClassification.progression),
"Red Power Seed": SonicFrontiersItemData(offset + 40, ItemClassification.filler),
"Blue Power Seed": SonicFrontiersItemData(offset + 41, ItemClassification.filler),
"Nothing!": SonicFrontiersItemData(offset + 42, ItemClassification.filler),
"Phantom Rush": SonicFrontiersItemData(offset + 43, ItemClassification.useful),
"Air Trick":SonicFrontiersItemData(offset + 44, ItemClassification.useful),
"Stomp Attack": SonicFrontiersItemData(offset + 45, ItemClassification.progression),
"Quick Cyloop": SonicFrontiersItemData(offset + 46, ItemClassification.useful),
"Spin Dash": SonicFrontiersItemData(offset + 47, ItemClassification.useful),
"Sonic Boom": SonicFrontiersItemData(offset + 48, ItemClassification.useful),
"Parry": SonicFrontiersItemData(offset + 49, ItemClassification.progression),
"Homing Shot": SonicFrontiersItemData(offset + 50, ItemClassification.useful),
"Spin Slash": SonicFrontiersItemData(offset + 51, ItemClassification.useful),
"Recovery Smash": SonicFrontiersItemData(offset +52, ItemClassification.useful),
"Cyclone Kick": SonicFrontiersItemData(offset + 53, ItemClassification.useful),
"Cross Slash": SonicFrontiersItemData(offset + 54, ItemClassification.useful),
"Grand Slam": SonicFrontiersItemData(offset + 55, ItemClassification.useful),
"1-2 Unlocked": SonicFrontiersItemData(offset + 56,ItemClassification.progression),
"1-3 Unlocked": SonicFrontiersItemData(offset + 57,ItemClassification.progression),
"1-4 Unlocked": SonicFrontiersItemData(offset + 58,ItemClassification.progression),
"1-5 Unlocked": SonicFrontiersItemData(offset + 59,ItemClassification.progression),
"1-6 Unlocked": SonicFrontiersItemData(offset + 60,ItemClassification.progression),
"1-7 Unlocked": SonicFrontiersItemData(offset + 61,ItemClassification.progression),
"2-1 Unlocked": SonicFrontiersItemData(offset + 62,ItemClassification.progression),
"2-2 Unlocked": SonicFrontiersItemData(offset + 63,ItemClassification.progression),
"2-3 Unlocked": SonicFrontiersItemData(offset + 64,ItemClassification.progression),
"2-4 Unlocked": SonicFrontiersItemData(offset + 65,ItemClassification.progression),
"2-5 Unlocked": SonicFrontiersItemData(offset + 66,ItemClassification.progression),
"2-6 Unlocked": SonicFrontiersItemData(offset + 67,ItemClassification.progression),
"2-7 Unlocked": SonicFrontiersItemData(offset + 68,ItemClassification.progression),
"3-1 Unlocked": SonicFrontiersItemData(offset + 69,ItemClassification.progression),
"3-2 Unlocked": SonicFrontiersItemData(offset + 70,ItemClassification.progression),
"3-3 Unlocked": SonicFrontiersItemData(offset + 71,ItemClassification.progression),
"3-4 Unlocked": SonicFrontiersItemData(offset + 72,ItemClassification.progression),
"3-5 Unlocked": SonicFrontiersItemData(offset + 73,ItemClassification.progression),
"3-6 Unlocked": SonicFrontiersItemData(offset + 74,ItemClassification.progression),
"3-7 Unlocked": SonicFrontiersItemData(offset + 75,ItemClassification.progression),
"4-1 Unlocked": SonicFrontiersItemData(offset + 76,ItemClassification.progression),
"4-2 Unlocked": SonicFrontiersItemData(offset + 78,ItemClassification.progression),
"4-3 Unlocked": SonicFrontiersItemData(offset + 79,ItemClassification.progression),
"4-4 Unlocked": SonicFrontiersItemData(offset + 80,ItemClassification.progression),
"4-5 Unlocked": SonicFrontiersItemData(offset + 81,ItemClassification.progression),
"4-6 Unlocked": SonicFrontiersItemData(offset + 82,ItemClassification.progression),
"4-7 Unlocked": SonicFrontiersItemData(offset + 83,ItemClassification.progression),
"4-8 Unlocked": SonicFrontiersItemData(offset + 84,ItemClassification.progression),
"4-9 Unlocked": SonicFrontiersItemData(offset + 85,ItemClassification.progression),
"Victory": SonicFrontiersItemData(offset + 86,ItemClassification.progression),
}
kronos_amount = {
"Kronos Memory Treasure": 9,
"Kronos Vault Key": 20,
"Progressive Chaos Emerald": 6,
"1-2 Unlocked" : 1,
"1-3 Unlocked" : 1,
"1-4 Unlocked" : 1,
"1-5 Unlocked" : 1,
"1-6 Unlocked" : 1,
"1-7 Unlocked" : 1,
"Phantom Rush": 1,
"Air Trick": 1,
"Stomp Attack": 1,
"Quick Cyloop": 1,
"Spin Dash": 1,
"Sonic Boom": 1,
"Parry": 1,
"Homing Shot": 1,
"Spin Slash": 1,
"Recovery Smash": 1,
"Cyclone Kick": 1,
"Cross Slash": 1,
"Grand Slam": 1,
}
ares_amount = {
"Ares Memory Treasure": 32,
"Ares Vault Key": 24,
"Progressive Chaos Emerald": 6,
"2-1 Unlocked" : 1,
"2-2 Unlocked" : 1,
"2-3 Unlocked" : 1,
"2-4 Unlocked" : 1,
"2-5 Unlocked" : 1,
"2-6 Unlocked" : 1,
"2-7 Unlocked" : 1,
}
chaos_amount = {
"Chaos Memory Treasure": 20,
"Chaos Vault Key": 25,
"Progressive Chaos Emerald": 6,
"3-1 Unlocked" : 1,
"3-2 Unlocked" : 1,
"3-3 Unlocked" : 1,
"3-4 Unlocked" : 1,
"3-5 Unlocked" : 1,
"3-6 Unlocked" : 1,
"3-7 Unlocked" : 1,
}
ouranos_amount = {
"4-1 Unlocked" : 1,
"4-2 Unlocked" : 1,
"4-3 Unlocked" : 1,
"4-4 Unlocked" : 1,
"4-5 Unlocked" : 1,
"4-6 Unlocked" : 1,
"4-7 Unlocked" : 1,
"4-8 Unlocked" : 1,
"4-9 Unlocked" : 1,
"Ouranos Memory Treasure": 26,
"Ouranos Vault Key": 33,
"Progressive Chaos Emerald": 6,
}
fillers = {
"Red Power Seed": 15,
"Blue Power Seed": 15,
"Nothing!": 10,
"Kronos Portal Gear": 5,
"Kronos Vault Key": 5,
"Ares Portal Gear": 4,
"Ares Vault Key": 4,
"Chaos Vault Key": 3,
"Chaos Portal Gear": 3,
"Ouranos Portal Gear": 2,
"Ouranos Vault Key": 2,
}
#
#traps = {
# "Water",
# "Timescale";