Archipelago/worlds/sa2b/Items.py

270 lines
12 KiB
Python
Raw Normal View History

import typing
from BaseClasses import Item, ItemClassification
from .Names import ItemName
2022-08-05 22:49:54 +00:00
from worlds.alttp import ALTTPWorld
class ItemData(typing.NamedTuple):
code: typing.Optional[int]
progression: bool
trap: bool = False
quantity: int = 1
event: bool = False
class SA2BItem(Item):
game: str = "Sonic Adventure 2: Battle"
def __init__(self, name, classification: ItemClassification, code: int = None, player: int = None):
super(SA2BItem, self).__init__(name, classification, code, player)
# Separate tables for each type of item.
emblems_table = {
SA2B: v2.3 - The Chao Update (#2277) Changelog: Features: - New goal - Chaos Chao - Raise a Chaos Chao to win! - New optional Location Checks - Chao Animal Parts - Each body part from each type of animal is a location - Chao Stats - 0-99 levels of each of the 7 Chao stats can be locations - The frequency of Chao Stat locations can be set (every level, every 2nd level, etc) - Kindergartensanity - Classroom lessons are locations - Either all lessons or any one of each category can be set as locations - Shopsanity - A specified number of locations can be placed in the Chao Black Market - These locations are unlocked by acquiring `Chao Coin`s - Ring costs for these items can be adjusted - Chao Karate can now be set to one location per fight, instead of one per tournament - Items - If any Chao locations are active, the following will be in the item pool: - Chao Eggs - Garden Seeds - Garden Fruit - Chao Hats - Chaos Drives - The starting eggs in the garden can be a random color - Chao World entrances can be shuffled - Chao are given default names - New Traps - Reverse Trap Quality of Life: - Chao Save Data is now separate per-slot in addition to per-seed - This allows a single player to have multiple slots in the same seed, each having separate Chao progress - Chao Race/Karate progress is now displayed on Stage Select (when hovering over Chao World) - All Chao can now enter the Hero and Dark races - Chao Karate difficulty can be set separately from Chao Race difficulty - Chao Aging can be sped up at will, up to 15× - New mod `config` option to fine-tune Chao Stat multiplication - Note: This does not mix well with the Mod Manager "`Chao Stat Multiplier`" code - Pong Traps can now activate in Chao World - Maximum range for possible number of Emblems is now 1000 - General APWorld cleanup and optimization - Option access has moved to the new options system - An item group now exists for trap items Bug Fixes: - Dry Lagoon now has all 11 Animals - Eternal Engine - 2 (Standard and Hard Logic) now requires only `Tails - Booster` - Lost Colony - 2 (Hard Logic) now requires no upgrades - Lost Colony - Animal 9 (Hard Logic) now requires either `Eggman - Jet Engine` or `Eggman - Large Cannon`
2023-11-16 07:08:38 +00:00
ItemName.emblem: ItemData(0xFF0000, True),
ItemName.market_token: ItemData(0xFF001F, True),
}
upgrades_table = {
ItemName.sonic_gloves: ItemData(0xFF0001, False),
ItemName.sonic_light_shoes: ItemData(0xFF0002, True),
ItemName.sonic_ancient_light: ItemData(0xFF0003, False),
ItemName.sonic_bounce_bracelet: ItemData(0xFF0004, True),
ItemName.sonic_flame_ring: ItemData(0xFF0005, True),
ItemName.sonic_mystic_melody: ItemData(0xFF0006, True),
ItemName.tails_laser_blaster: ItemData(0xFF0007, False),
ItemName.tails_booster: ItemData(0xFF0008, True),
ItemName.tails_mystic_melody: ItemData(0xFF0009, True),
ItemName.tails_bazooka: ItemData(0xFF000A, True),
ItemName.knuckles_mystic_melody: ItemData(0xFF000B, True),
ItemName.knuckles_shovel_claws: ItemData(0xFF000C, True),
ItemName.knuckles_air_necklace: ItemData(0xFF000D, True),
ItemName.knuckles_hammer_gloves: ItemData(0xFF000E, True),
ItemName.knuckles_sunglasses: ItemData(0xFF000F, True),
ItemName.shadow_flame_ring: ItemData(0xFF0010, True),
ItemName.shadow_air_shoes: ItemData(0xFF0011, True),
ItemName.shadow_ancient_light: ItemData(0xFF0012, False),
ItemName.shadow_mystic_melody: ItemData(0xFF0013, True),
ItemName.eggman_laser_blaster: ItemData(0xFF0014, False),
ItemName.eggman_mystic_melody: ItemData(0xFF0015, True),
ItemName.eggman_jet_engine: ItemData(0xFF0016, True),
ItemName.eggman_large_cannon: ItemData(0xFF0017, True),
ItemName.eggman_protective_armor: ItemData(0xFF0018, False),
ItemName.rouge_mystic_melody: ItemData(0xFF0019, True),
ItemName.rouge_pick_nails: ItemData(0xFF001A, True),
ItemName.rouge_treasure_scope: ItemData(0xFF001B, True),
ItemName.rouge_iron_boots: ItemData(0xFF001C, True),
}
junk_table = {
ItemName.five_rings: ItemData(0xFF0020, False),
ItemName.ten_rings: ItemData(0xFF0021, False),
ItemName.twenty_rings: ItemData(0xFF0022, False),
ItemName.extra_life: ItemData(0xFF0023, False),
ItemName.shield: ItemData(0xFF0024, False),
ItemName.magnetic_shield: ItemData(0xFF0025, False),
ItemName.invincibility: ItemData(0xFF0026, False),
}
trap_table = {
SA2B: v2.0 Content Update (#1294) Changelog: Features: - Completely reworked mission progression system - Control of which mission types can be active per-gameplay-style - Control of how many missions are active per-gameplay-style - Mission order shuffle - Two new Chaos Emerald Hunt goals - `Chaos Emerald Hunt` involves finding the seven Chaos Emeralds and beating Green Hill - `FinalHazard Chaos Emerald Hunt` is the same, but with the FinalHazard fight at the end of Green Hill - New optional Location Checks - Keysanity (Chao Containers) - Whistlesanity (Animal Pipes and hidden whistle spots) - Beetlesanity (Destroying Gold Beetles) - Option to require clearing all active Cannon's Core Missions for access to the Biolizard fight in `Biolizard` goal - Hard Logic option - More Music Options - Option to use SADX music - New `Singularity` music shuffle option - Option to choose the Narrator theme - New Traps - Tiny Trap is now permanent within a level - Gravity Trap - Exposition Trap Quality of Life: - Significant revamp to Stage Select screen information conveyance - Icons are displayed for: - Relevant character's upgrades - Which location checks are active/checked - Chaos Emeralds found (if relevant) - Gate and Cannon's Core emblem costs - The above stage-specific info can also be viewed when paused in-level - The current mission is also displayed when paused - Emblem Symbol on Mission Select subscreen now only displays if a high enough rank has been gotten on that mission to send the location check - Hints including SA2B locations will now specify which Gate that level is located in - Save file now stores slot name to help prevent false location checks in the case of one player having multiple SA2B slots in the same seed - Chao Intermediate and Expert race sets are now swapped, per player feedback - Intermediate now includes Beginner + Challenge + Hero + Dark - Expert now includes Beginner + Challenge + Hero + Dark + Jewel - New mod config option for the color of the Message Queue text Bug Fixes: - Fixed bug where game stops properly tracking items after 127 have been received. - Several logic fixes - Game now refers to `Knuckles - Shovel Claws` correctly - Minor AP World code cleanup
2022-12-07 05:20:02 +00:00
ItemName.omochao_trap: ItemData(0xFF0030, False, True),
ItemName.timestop_trap: ItemData(0xFF0031, False, True),
ItemName.confuse_trap: ItemData(0xFF0032, False, True),
ItemName.tiny_trap: ItemData(0xFF0033, False, True),
ItemName.gravity_trap: ItemData(0xFF0034, False, True),
ItemName.exposition_trap: ItemData(0xFF0035, False, True),
#ItemName.darkness_trap: ItemData(0xFF0036, False, True),
ItemName.ice_trap: ItemData(0xFF0037, False, True),
ItemName.slow_trap: ItemData(0xFF0038, False, True),
ItemName.cutscene_trap: ItemData(0xFF0039, False, True),
SA2B: v2.3 - The Chao Update (#2277) Changelog: Features: - New goal - Chaos Chao - Raise a Chaos Chao to win! - New optional Location Checks - Chao Animal Parts - Each body part from each type of animal is a location - Chao Stats - 0-99 levels of each of the 7 Chao stats can be locations - The frequency of Chao Stat locations can be set (every level, every 2nd level, etc) - Kindergartensanity - Classroom lessons are locations - Either all lessons or any one of each category can be set as locations - Shopsanity - A specified number of locations can be placed in the Chao Black Market - These locations are unlocked by acquiring `Chao Coin`s - Ring costs for these items can be adjusted - Chao Karate can now be set to one location per fight, instead of one per tournament - Items - If any Chao locations are active, the following will be in the item pool: - Chao Eggs - Garden Seeds - Garden Fruit - Chao Hats - Chaos Drives - The starting eggs in the garden can be a random color - Chao World entrances can be shuffled - Chao are given default names - New Traps - Reverse Trap Quality of Life: - Chao Save Data is now separate per-slot in addition to per-seed - This allows a single player to have multiple slots in the same seed, each having separate Chao progress - Chao Race/Karate progress is now displayed on Stage Select (when hovering over Chao World) - All Chao can now enter the Hero and Dark races - Chao Karate difficulty can be set separately from Chao Race difficulty - Chao Aging can be sped up at will, up to 15× - New mod `config` option to fine-tune Chao Stat multiplication - Note: This does not mix well with the Mod Manager "`Chao Stat Multiplier`" code - Pong Traps can now activate in Chao World - Maximum range for possible number of Emblems is now 1000 - General APWorld cleanup and optimization - Option access has moved to the new options system - An item group now exists for trap items Bug Fixes: - Dry Lagoon now has all 11 Animals - Eternal Engine - 2 (Standard and Hard Logic) now requires only `Tails - Booster` - Lost Colony - 2 (Hard Logic) now requires no upgrades - Lost Colony - Animal 9 (Hard Logic) now requires either `Eggman - Jet Engine` or `Eggman - Large Cannon`
2023-11-16 07:08:38 +00:00
ItemName.reverse_trap: ItemData(0xFF003A, False, True),
SA2B: v2.1 Content Update (#1563) Changelog: Features: - New goal - Grand Prix - Complete all of the Kart Races to win! - New optional Location Checks - Omosanity (Activating Omochao) - Kart Race Mode - Ring Loss option - `Classic` - lose all rings on hit - `Modern` - lose 20 rings on hit - `OHKO` - instantly die on hit, regardless of ring count (shields still protect you) - New Trap - Pong Trap Quality of Life: - SA2B is now distributed as an `.apworld` - Maximum possible number of Emblems in item pool is increased from 180 to 250 - An indicator now shows on the Stage Select screen when `Cannon's Core` is available - Certain traps (`Exposition` and `Pong`) are now possible to receive on `Route 101` and `Route 280` - Certain traps (`Confusion`, `Chaos Control`, `Exposition` and `Pong`) are now possible to receive on `FinalHazard` Bug Fixes: - Actually swap Intermediate and Expert Chao Races correctly - Don't always grant double score for killing Gold Beetles anymore - Ensure upgrades are applied properly, even when received while dying - Fix the Message Queue getting disordered when receiving many messages in quick succession - Fix Logic errors - `City Escape - 3` (Hard Logic) now requires no upgrades - `Mission Street - Pipe 2` (Hard Logic) now requires no upgrades - `Crazy Gadget - Pipe 3` (Hard Logic) now requires no upgrades - `Egg Quarters - 3` (Hard Logic) now requires only `Rouge - Mystic Melody` - `Mad Space - 5` (Hard Logic) now requires no upgrades Co-authored-by: RaspberrySpaceJam <tyler.summers@gmail.com>
2023-03-21 20:26:13 +00:00
ItemName.pong_trap: ItemData(0xFF0050, False, True),
SA2B: v2.0 Content Update (#1294) Changelog: Features: - Completely reworked mission progression system - Control of which mission types can be active per-gameplay-style - Control of how many missions are active per-gameplay-style - Mission order shuffle - Two new Chaos Emerald Hunt goals - `Chaos Emerald Hunt` involves finding the seven Chaos Emeralds and beating Green Hill - `FinalHazard Chaos Emerald Hunt` is the same, but with the FinalHazard fight at the end of Green Hill - New optional Location Checks - Keysanity (Chao Containers) - Whistlesanity (Animal Pipes and hidden whistle spots) - Beetlesanity (Destroying Gold Beetles) - Option to require clearing all active Cannon's Core Missions for access to the Biolizard fight in `Biolizard` goal - Hard Logic option - More Music Options - Option to use SADX music - New `Singularity` music shuffle option - Option to choose the Narrator theme - New Traps - Tiny Trap is now permanent within a level - Gravity Trap - Exposition Trap Quality of Life: - Significant revamp to Stage Select screen information conveyance - Icons are displayed for: - Relevant character's upgrades - Which location checks are active/checked - Chaos Emeralds found (if relevant) - Gate and Cannon's Core emblem costs - The above stage-specific info can also be viewed when paused in-level - The current mission is also displayed when paused - Emblem Symbol on Mission Select subscreen now only displays if a high enough rank has been gotten on that mission to send the location check - Hints including SA2B locations will now specify which Gate that level is located in - Save file now stores slot name to help prevent false location checks in the case of one player having multiple SA2B slots in the same seed - Chao Intermediate and Expert race sets are now swapped, per player feedback - Intermediate now includes Beginner + Challenge + Hero + Dark - Expert now includes Beginner + Challenge + Hero + Dark + Jewel - New mod config option for the color of the Message Queue text Bug Fixes: - Fixed bug where game stops properly tracking items after 127 have been received. - Several logic fixes - Game now refers to `Knuckles - Shovel Claws` correctly - Minor AP World code cleanup
2022-12-07 05:20:02 +00:00
}
emeralds_table = {
ItemName.white_emerald: ItemData(0xFF0040, True),
ItemName.red_emerald: ItemData(0xFF0041, True),
ItemName.cyan_emerald: ItemData(0xFF0042, True),
ItemName.purple_emerald: ItemData(0xFF0043, True),
ItemName.green_emerald: ItemData(0xFF0044, True),
ItemName.yellow_emerald: ItemData(0xFF0045, True),
ItemName.blue_emerald: ItemData(0xFF0046, True),
}
SA2B: v2.3 - The Chao Update (#2277) Changelog: Features: - New goal - Chaos Chao - Raise a Chaos Chao to win! - New optional Location Checks - Chao Animal Parts - Each body part from each type of animal is a location - Chao Stats - 0-99 levels of each of the 7 Chao stats can be locations - The frequency of Chao Stat locations can be set (every level, every 2nd level, etc) - Kindergartensanity - Classroom lessons are locations - Either all lessons or any one of each category can be set as locations - Shopsanity - A specified number of locations can be placed in the Chao Black Market - These locations are unlocked by acquiring `Chao Coin`s - Ring costs for these items can be adjusted - Chao Karate can now be set to one location per fight, instead of one per tournament - Items - If any Chao locations are active, the following will be in the item pool: - Chao Eggs - Garden Seeds - Garden Fruit - Chao Hats - Chaos Drives - The starting eggs in the garden can be a random color - Chao World entrances can be shuffled - Chao are given default names - New Traps - Reverse Trap Quality of Life: - Chao Save Data is now separate per-slot in addition to per-seed - This allows a single player to have multiple slots in the same seed, each having separate Chao progress - Chao Race/Karate progress is now displayed on Stage Select (when hovering over Chao World) - All Chao can now enter the Hero and Dark races - Chao Karate difficulty can be set separately from Chao Race difficulty - Chao Aging can be sped up at will, up to 15× - New mod `config` option to fine-tune Chao Stat multiplication - Note: This does not mix well with the Mod Manager "`Chao Stat Multiplier`" code - Pong Traps can now activate in Chao World - Maximum range for possible number of Emblems is now 1000 - General APWorld cleanup and optimization - Option access has moved to the new options system - An item group now exists for trap items Bug Fixes: - Dry Lagoon now has all 11 Animals - Eternal Engine - 2 (Standard and Hard Logic) now requires only `Tails - Booster` - Lost Colony - 2 (Hard Logic) now requires no upgrades - Lost Colony - Animal 9 (Hard Logic) now requires either `Eggman - Jet Engine` or `Eggman - Large Cannon`
2023-11-16 07:08:38 +00:00
eggs_table = {
ItemName.normal_egg: ItemData(0xFF0100, False),
ItemName.yellow_monotone_egg: ItemData(0xFF0101, False),
ItemName.white_monotone_egg: ItemData(0xFF0102, False),
ItemName.brown_monotone_egg: ItemData(0xFF0103, False),
ItemName.sky_blue_monotone_egg: ItemData(0xFF0104, False),
ItemName.pink_monotone_egg: ItemData(0xFF0105, False),
ItemName.blue_monotone_egg: ItemData(0xFF0106, False),
ItemName.grey_monotone_egg: ItemData(0xFF0107, False),
ItemName.green_monotone_egg: ItemData(0xFF0108, False),
ItemName.red_monotone_egg: ItemData(0xFF0109, False),
ItemName.lime_green_monotone_egg: ItemData(0xFF010A, False),
ItemName.purple_monotone_egg: ItemData(0xFF010B, False),
ItemName.orange_monotone_egg: ItemData(0xFF010C, False),
ItemName.black_monotone_egg: ItemData(0xFF010D, False),
ItemName.yellow_twotone_egg: ItemData(0xFF010E, False),
ItemName.white_twotone_egg: ItemData(0xFF010F, False),
ItemName.brown_twotone_egg: ItemData(0xFF0110, False),
ItemName.sky_blue_twotone_egg: ItemData(0xFF0111, False),
ItemName.pink_twotone_egg: ItemData(0xFF0112, False),
ItemName.blue_twotone_egg: ItemData(0xFF0113, False),
ItemName.grey_twotone_egg: ItemData(0xFF0114, False),
ItemName.green_twotone_egg: ItemData(0xFF0115, False),
ItemName.red_twotone_egg: ItemData(0xFF0116, False),
ItemName.lime_green_twotone_egg: ItemData(0xFF0117, False),
ItemName.purple_twotone_egg: ItemData(0xFF0118, False),
ItemName.orange_twotone_egg: ItemData(0xFF0119, False),
ItemName.black_twotone_egg: ItemData(0xFF011A, False),
ItemName.normal_shiny_egg: ItemData(0xFF011B, False),
ItemName.yellow_shiny_egg: ItemData(0xFF011C, False),
ItemName.white_shiny_egg: ItemData(0xFF011D, False),
ItemName.brown_shiny_egg: ItemData(0xFF011E, False),
ItemName.sky_blue_shiny_egg: ItemData(0xFF011F, False),
ItemName.pink_shiny_egg: ItemData(0xFF0120, False),
ItemName.blue_shiny_egg: ItemData(0xFF0121, False),
ItemName.grey_shiny_egg: ItemData(0xFF0122, False),
ItemName.green_shiny_egg: ItemData(0xFF0123, False),
ItemName.red_shiny_egg: ItemData(0xFF0124, False),
ItemName.lime_green_shiny_egg: ItemData(0xFF0125, False),
ItemName.purple_shiny_egg: ItemData(0xFF0126, False),
ItemName.orange_shiny_egg: ItemData(0xFF0127, False),
ItemName.black_shiny_egg: ItemData(0xFF0128, False),
}
fruits_table = {
ItemName.chao_garden_fruit: ItemData(0xFF0200, False),
ItemName.hero_garden_fruit: ItemData(0xFF0201, False),
ItemName.dark_garden_fruit: ItemData(0xFF0202, False),
ItemName.strong_fruit: ItemData(0xFF0203, False),
ItemName.tasty_fruit: ItemData(0xFF0204, False),
ItemName.hero_fruit: ItemData(0xFF0205, False),
ItemName.dark_fruit: ItemData(0xFF0206, False),
ItemName.round_fruit: ItemData(0xFF0207, False),
ItemName.triangle_fruit: ItemData(0xFF0208, False),
ItemName.square_fruit: ItemData(0xFF0209, False),
ItemName.heart_fruit: ItemData(0xFF020A, False),
ItemName.chao_fruit: ItemData(0xFF020B, False),
ItemName.smart_fruit: ItemData(0xFF020C, False),
ItemName.orange_fruit: ItemData(0xFF020D, False),
ItemName.blue_fruit: ItemData(0xFF020E, False),
ItemName.pink_fruit: ItemData(0xFF020F, False),
ItemName.green_fruit: ItemData(0xFF0210, False),
ItemName.purple_fruit: ItemData(0xFF0211, False),
ItemName.yellow_fruit: ItemData(0xFF0212, False),
ItemName.red_fruit: ItemData(0xFF0213, False),
ItemName.mushroom_fruit: ItemData(0xFF0214, False),
ItemName.super_mushroom_fruit: ItemData(0xFF0215, False),
ItemName.mint_candy_fruit: ItemData(0xFF0216, False),
ItemName.grapes_fruit: ItemData(0xFF0217, False),
}
seeds_table = {
ItemName.strong_seed: ItemData(0xFF0300, False),
ItemName.tasty_seed: ItemData(0xFF0301, False),
ItemName.hero_seed: ItemData(0xFF0302, False),
ItemName.dark_seed: ItemData(0xFF0303, False),
ItemName.round_seed: ItemData(0xFF0304, False),
ItemName.triangle_seed: ItemData(0xFF0305, False),
ItemName.square_seed: ItemData(0xFF0306, False),
}
hats_table = {
ItemName.pumpkin_hat: ItemData(0xFF0401, False),
ItemName.skull_hat: ItemData(0xFF0402, False),
ItemName.apple_hat: ItemData(0xFF0403, False),
ItemName.bucket_hat: ItemData(0xFF0404, False),
ItemName.empty_can_hat: ItemData(0xFF0405, False),
ItemName.cardboard_box_hat: ItemData(0xFF0406, False),
ItemName.flower_pot_hat: ItemData(0xFF0407, False),
ItemName.paper_bag_hat: ItemData(0xFF0408, False),
ItemName.pan_hat: ItemData(0xFF0409, False),
ItemName.stump_hat: ItemData(0xFF040A, False),
ItemName.watermelon_hat: ItemData(0xFF040B, False),
ItemName.red_wool_beanie_hat: ItemData(0xFF040C, False),
ItemName.blue_wool_beanie_hat: ItemData(0xFF040D, False),
ItemName.black_wool_beanie_hat: ItemData(0xFF040E, False),
ItemName.pacifier_hat: ItemData(0xFF040F, False),
}
animals_table = {
ItemName.animal_penguin: ItemData(0xFF0500, False),
ItemName.animal_seal: ItemData(0xFF0501, False),
ItemName.animal_otter: ItemData(0xFF0502, False),
ItemName.animal_rabbit: ItemData(0xFF0503, False),
ItemName.animal_cheetah: ItemData(0xFF0504, False),
ItemName.animal_warthog: ItemData(0xFF0505, False),
ItemName.animal_bear: ItemData(0xFF0506, False),
ItemName.animal_tiger: ItemData(0xFF0507, False),
ItemName.animal_gorilla: ItemData(0xFF0508, False),
ItemName.animal_peacock: ItemData(0xFF0509, False),
ItemName.animal_parrot: ItemData(0xFF050A, False),
ItemName.animal_condor: ItemData(0xFF050B, False),
ItemName.animal_skunk: ItemData(0xFF050C, False),
ItemName.animal_sheep: ItemData(0xFF050D, False),
ItemName.animal_raccoon: ItemData(0xFF050E, False),
ItemName.animal_halffish: ItemData(0xFF050F, False),
ItemName.animal_skeleton_dog: ItemData(0xFF0510, False),
ItemName.animal_bat: ItemData(0xFF0511, False),
ItemName.animal_dragon: ItemData(0xFF0512, False),
ItemName.animal_unicorn: ItemData(0xFF0513, False),
ItemName.animal_phoenix: ItemData(0xFF0514, False),
}
chaos_drives_table = {
ItemName.chaos_drive_yellow: ItemData(0xFF0515, False),
ItemName.chaos_drive_green: ItemData(0xFF0516, False),
ItemName.chaos_drive_red: ItemData(0xFF0517, False),
ItemName.chaos_drive_purple: ItemData(0xFF0518, False),
}
event_table = {
ItemName.maria: ItemData(0xFF001D, True),
}
# Complete item table.
item_table = {
**emblems_table,
**upgrades_table,
**junk_table,
**trap_table,
SA2B: v2.0 Content Update (#1294) Changelog: Features: - Completely reworked mission progression system - Control of which mission types can be active per-gameplay-style - Control of how many missions are active per-gameplay-style - Mission order shuffle - Two new Chaos Emerald Hunt goals - `Chaos Emerald Hunt` involves finding the seven Chaos Emeralds and beating Green Hill - `FinalHazard Chaos Emerald Hunt` is the same, but with the FinalHazard fight at the end of Green Hill - New optional Location Checks - Keysanity (Chao Containers) - Whistlesanity (Animal Pipes and hidden whistle spots) - Beetlesanity (Destroying Gold Beetles) - Option to require clearing all active Cannon's Core Missions for access to the Biolizard fight in `Biolizard` goal - Hard Logic option - More Music Options - Option to use SADX music - New `Singularity` music shuffle option - Option to choose the Narrator theme - New Traps - Tiny Trap is now permanent within a level - Gravity Trap - Exposition Trap Quality of Life: - Significant revamp to Stage Select screen information conveyance - Icons are displayed for: - Relevant character's upgrades - Which location checks are active/checked - Chaos Emeralds found (if relevant) - Gate and Cannon's Core emblem costs - The above stage-specific info can also be viewed when paused in-level - The current mission is also displayed when paused - Emblem Symbol on Mission Select subscreen now only displays if a high enough rank has been gotten on that mission to send the location check - Hints including SA2B locations will now specify which Gate that level is located in - Save file now stores slot name to help prevent false location checks in the case of one player having multiple SA2B slots in the same seed - Chao Intermediate and Expert race sets are now swapped, per player feedback - Intermediate now includes Beginner + Challenge + Hero + Dark - Expert now includes Beginner + Challenge + Hero + Dark + Jewel - New mod config option for the color of the Message Queue text Bug Fixes: - Fixed bug where game stops properly tracking items after 127 have been received. - Several logic fixes - Game now refers to `Knuckles - Shovel Claws` correctly - Minor AP World code cleanup
2022-12-07 05:20:02 +00:00
**emeralds_table,
SA2B: v2.3 - The Chao Update (#2277) Changelog: Features: - New goal - Chaos Chao - Raise a Chaos Chao to win! - New optional Location Checks - Chao Animal Parts - Each body part from each type of animal is a location - Chao Stats - 0-99 levels of each of the 7 Chao stats can be locations - The frequency of Chao Stat locations can be set (every level, every 2nd level, etc) - Kindergartensanity - Classroom lessons are locations - Either all lessons or any one of each category can be set as locations - Shopsanity - A specified number of locations can be placed in the Chao Black Market - These locations are unlocked by acquiring `Chao Coin`s - Ring costs for these items can be adjusted - Chao Karate can now be set to one location per fight, instead of one per tournament - Items - If any Chao locations are active, the following will be in the item pool: - Chao Eggs - Garden Seeds - Garden Fruit - Chao Hats - Chaos Drives - The starting eggs in the garden can be a random color - Chao World entrances can be shuffled - Chao are given default names - New Traps - Reverse Trap Quality of Life: - Chao Save Data is now separate per-slot in addition to per-seed - This allows a single player to have multiple slots in the same seed, each having separate Chao progress - Chao Race/Karate progress is now displayed on Stage Select (when hovering over Chao World) - All Chao can now enter the Hero and Dark races - Chao Karate difficulty can be set separately from Chao Race difficulty - Chao Aging can be sped up at will, up to 15× - New mod `config` option to fine-tune Chao Stat multiplication - Note: This does not mix well with the Mod Manager "`Chao Stat Multiplier`" code - Pong Traps can now activate in Chao World - Maximum range for possible number of Emblems is now 1000 - General APWorld cleanup and optimization - Option access has moved to the new options system - An item group now exists for trap items Bug Fixes: - Dry Lagoon now has all 11 Animals - Eternal Engine - 2 (Standard and Hard Logic) now requires only `Tails - Booster` - Lost Colony - 2 (Hard Logic) now requires no upgrades - Lost Colony - Animal 9 (Hard Logic) now requires either `Eggman - Jet Engine` or `Eggman - Large Cannon`
2023-11-16 07:08:38 +00:00
**eggs_table,
**fruits_table,
**seeds_table,
**hats_table,
**animals_table,
**chaos_drives_table,
**event_table,
}
lookup_id_to_name: typing.Dict[int, str] = {data.code: item_name for item_name, data in item_table.items() if data.code}
2022-08-05 22:49:54 +00:00
SA2B: v2.3 - The Chao Update (#2277) Changelog: Features: - New goal - Chaos Chao - Raise a Chaos Chao to win! - New optional Location Checks - Chao Animal Parts - Each body part from each type of animal is a location - Chao Stats - 0-99 levels of each of the 7 Chao stats can be locations - The frequency of Chao Stat locations can be set (every level, every 2nd level, etc) - Kindergartensanity - Classroom lessons are locations - Either all lessons or any one of each category can be set as locations - Shopsanity - A specified number of locations can be placed in the Chao Black Market - These locations are unlocked by acquiring `Chao Coin`s - Ring costs for these items can be adjusted - Chao Karate can now be set to one location per fight, instead of one per tournament - Items - If any Chao locations are active, the following will be in the item pool: - Chao Eggs - Garden Seeds - Garden Fruit - Chao Hats - Chaos Drives - The starting eggs in the garden can be a random color - Chao World entrances can be shuffled - Chao are given default names - New Traps - Reverse Trap Quality of Life: - Chao Save Data is now separate per-slot in addition to per-seed - This allows a single player to have multiple slots in the same seed, each having separate Chao progress - Chao Race/Karate progress is now displayed on Stage Select (when hovering over Chao World) - All Chao can now enter the Hero and Dark races - Chao Karate difficulty can be set separately from Chao Race difficulty - Chao Aging can be sped up at will, up to 15× - New mod `config` option to fine-tune Chao Stat multiplication - Note: This does not mix well with the Mod Manager "`Chao Stat Multiplier`" code - Pong Traps can now activate in Chao World - Maximum range for possible number of Emblems is now 1000 - General APWorld cleanup and optimization - Option access has moved to the new options system - An item group now exists for trap items Bug Fixes: - Dry Lagoon now has all 11 Animals - Eternal Engine - 2 (Standard and Hard Logic) now requires only `Tails - Booster` - Lost Colony - 2 (Hard Logic) now requires no upgrades - Lost Colony - Animal 9 (Hard Logic) now requires either `Eggman - Jet Engine` or `Eggman - Large Cannon`
2023-11-16 07:08:38 +00:00
item_groups: typing.Dict[str, str] = {
"Chaos Emeralds": list(emeralds_table.keys()),
"Eggs": list(eggs_table.keys()),
"Fruits": list(fruits_table.keys()),
"Seeds": list(seeds_table.keys()),
"Hats": list(hats_table.keys()),
"Traps": list(trap_table.keys()),
}
SA2B: v2.0 Content Update (#1294) Changelog: Features: - Completely reworked mission progression system - Control of which mission types can be active per-gameplay-style - Control of how many missions are active per-gameplay-style - Mission order shuffle - Two new Chaos Emerald Hunt goals - `Chaos Emerald Hunt` involves finding the seven Chaos Emeralds and beating Green Hill - `FinalHazard Chaos Emerald Hunt` is the same, but with the FinalHazard fight at the end of Green Hill - New optional Location Checks - Keysanity (Chao Containers) - Whistlesanity (Animal Pipes and hidden whistle spots) - Beetlesanity (Destroying Gold Beetles) - Option to require clearing all active Cannon's Core Missions for access to the Biolizard fight in `Biolizard` goal - Hard Logic option - More Music Options - Option to use SADX music - New `Singularity` music shuffle option - Option to choose the Narrator theme - New Traps - Tiny Trap is now permanent within a level - Gravity Trap - Exposition Trap Quality of Life: - Significant revamp to Stage Select screen information conveyance - Icons are displayed for: - Relevant character's upgrades - Which location checks are active/checked - Chaos Emeralds found (if relevant) - Gate and Cannon's Core emblem costs - The above stage-specific info can also be viewed when paused in-level - The current mission is also displayed when paused - Emblem Symbol on Mission Select subscreen now only displays if a high enough rank has been gotten on that mission to send the location check - Hints including SA2B locations will now specify which Gate that level is located in - Save file now stores slot name to help prevent false location checks in the case of one player having multiple SA2B slots in the same seed - Chao Intermediate and Expert race sets are now swapped, per player feedback - Intermediate now includes Beginner + Challenge + Hero + Dark - Expert now includes Beginner + Challenge + Hero + Dark + Jewel - New mod config option for the color of the Message Queue text Bug Fixes: - Fixed bug where game stops properly tracking items after 127 have been received. - Several logic fixes - Game now refers to `Knuckles - Shovel Claws` correctly - Minor AP World code cleanup
2022-12-07 05:20:02 +00:00
2022-08-05 22:49:54 +00:00
ALTTPWorld.pedestal_credit_texts[item_table[ItemName.sonic_light_shoes].code] = "and the Soap Shoes"
ALTTPWorld.pedestal_credit_texts[item_table[ItemName.shadow_air_shoes].code] = "and the Soap Shoes"