Files
Grinch-AP/worlds/sa2b/AestheticData.py

579 lines
8.1 KiB
Python
Raw Normal View History

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 02:08:38 -05:00
chao_name_conversion = {
"!": 0x01,
"!": 0x02,
"#": 0x03,
"$": 0x04,
"%": 0x05,
"&": 0x06,
"\\": 0x07,
"(": 0x08,
")": 0x09,
"*": 0x0A,
"+": 0x0B,
",": 0x0C,
"-": 0x0D,
".": 0x0E,
"/": 0x0F,
"0": 0x10,
"1": 0x11,
"2": 0x12,
"3": 0x13,
"4": 0x14,
"5": 0x15,
"6": 0x16,
"7": 0x17,
"8": 0x18,
"9": 0x19,
":": 0x1A,
";": 0x1B,
"<": 0x1C,
"=": 0x1D,
">": 0x1E,
"?": 0x1F,
"@": 0x20,
"A": 0x21,
"B": 0x22,
"C": 0x23,
"D": 0x24,
"E": 0x25,
"F": 0x26,
"G": 0x27,
"H": 0x28,
"I": 0x29,
"J": 0x2A,
"K": 0x2B,
"L": 0x2C,
"M": 0x2D,
"N": 0x2E,
"O": 0x2F,
"P": 0x30,
"Q": 0x31,
"R": 0x32,
"S": 0x33,
"T": 0x34,
"U": 0x35,
"V": 0x36,
"W": 0x37,
"X": 0x38,
"Y": 0x39,
"Z": 0x3A,
"[": 0x3B,
"¥": 0x3C,
"]": 0x3D,
"^": 0x3E,
"_": 0x3F,
"`": 0x40,
"a": 0x41,
"b": 0x42,
"c": 0x43,
"d": 0x44,
"e": 0x45,
"f": 0x46,
"g": 0x47,
"h": 0x48,
"i": 0x49,
"j": 0x4A,
"k": 0x4B,
"l": 0x4C,
"m": 0x4D,
"n": 0x4E,
"o": 0x4F,
"p": 0x50,
"q": 0x51,
"r": 0x52,
"s": 0x53,
"t": 0x54,
"u": 0x55,
"v": 0x56,
"w": 0x57,
"x": 0x58,
"y": 0x59,
"z": 0x5A,
"{": 0x5B,
"|": 0x5C,
"}": 0x5D,
"~": 0x5E,
" ": 0x5F,
}
sample_chao_names = [
"Aginah",
"Biter",
"Steve",
"Ryley",
"Watcher",
"Acrid",
"Sheik",
"Lunais",
"Samus",
"The Kid",
"Jack",
"Sir Lee",
"Viridian",
"Rouhi",
"Toad",
"Merit",
"Ridley",
"Hornet",
"Carl",
"Raynor",
"Dixie",
"Wolnir",
"Mario",
"Gary",
"Wayne",
"Kevin",
"J.J.",
"Maxim",
"Redento",
"Caesar",
"Abigail",
"Link",
"Ninja",
"Roxas",
"Marin",
"Yorgle",
"DLC",
"Mina",
"Sans",
"Lan",
"Rin",
"Doomguy",
"Guide",
"May",
"Hubert",
"Corvus",
"Nigel",
SA2B: v2.4 - Minigame Madness (#4663) Changelog: Features: - New Goal - Minigame Madness - Win a certain number of each type of Minigame Trap, then defeat the Finalhazard to win! - How many of each Minigame are required can be set by an Option - When the required amount of a Minigame has been received, that Minigame can be replayed in the Chao World Lobby - New optional Location Checks - Bigsanity - Go fishing with Big in each stage for a Location Check - Itemboxsanity - Either Extra Life Boxes or All Item Boxes - New Items - New Traps - Literature Trap - Controller Drift Trap - Poison Trap - Bee Trap - New Minigame Traps - Breakout Trap - Fishing Trap - Trivia Trap - Pokemon Trivia Trap - Pokemon Count Trap - Number Sequence Trap - Light Up Path Trap - Pinball Trap - Math Quiz Trap - Snake Trap - Input Sequence Trap - Trap Link - When you receive a trap, you send a copy of it to every other player with Trap Link enabled - Boss Gate Plando - Expert Logic Difficulty - Use at your own risk. This difficulty requires complete mastery of SA2. - Missions can now be enabled and disabled per-character, instead of just per-style - Minigame Difficulty can now be set to "Chaos", which selects a new difficulty randomly per-trap received Quality of Life: - Gate Stages and Mission Orders are now displayed in the spoiler log - Additional play stats are saved and displayed with the randomizer credits - Stage Locations progress UI now displays in multiple pages when Itemboxsanity is enabled - Current stage mission order and progress are now shown when paused in-level - Chaos Emeralds are now shown when paused in-level - Location Name Groups were created - Moved SA2B to the new Options system - Option Presets were created - Error Messages are more obvious Bug Fixes: - Added missing `Dry Lagoon - 12 Animals` location - Flying Dog boss should no longer crash when you have done at least 3 Intermediate Kart Races - Invincibility can no longer be received in the King Boom Boo fight, preventing a crash - Chaos Emeralds should no longer disproportionately end up in Cannon's Core or the final Level Gate - Going into submenus from the pause menu should no longer reset traps - `Sonic - Magic Gloves` are now plural - Junk items will no longer cause a crash when in a falling state - Chao Garden: - Prevent races from occasionally becoming uncompletable when using the "Prize Only" option - Properly allow Hero Chao to participate in Dark Races - Don't allow the Chao Garden to send locations when connected to an invalid server - Prevent the Chao Garden from resetting your life count - Fix Chao World Entrance Shuffle causing inaccessible Neutral Garden - Fix pressing the 'B' button to take you to the proper location in Chao World Entrance Shuffle - Prevent Chao Karate progress icon overflow - Prevent changing Chao Timescale while paused or while a Minigame is active - Logic Fixes: - `Mission Street - Chao Key 1` (Hard Logic) now requires no upgrades - `Mission Street - Chao Key 2` (Hard Logic) now requires no upgrades - `Crazy Gadget - Hidden 1` (Standard Logic) now requires `Sonic - Bounce Bracelet` instead of `Sonic - Light Shoes` - `Lost Colony - Hidden 1` (Standard Logic) now requires `Eggman - Jet Engine` - `Mad Space - Gold Beetle` (Standard Logic) now only requires `Rouge - Iron Boots` - `Cosmic Wall - Gold Beetle` (Standard and Hard Logic) now only requires `Eggman - Jet Engine`
2025-03-22 08:00:07 -04:00
"Benjamin",
"Gooey",
"Maddy",
"AFGNCAAP",
"Reinhardt",
"Claire",
"Yoshi",
"Peasley",
"Faux",
"Naija",
"Kaiba",
"Hat Kid",
"TzTokJad",
"Sora",
"WoodMan",
"Yachty",
"Grieve",
"Portia",
"Graves",
"Kaycee",
"Ghandi",
"Medli",
"Jak",
"Wario",
"Theo",
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 02:08:38 -05:00
]
totally_real_item_names: dict[str, list[str]] = {
"Bumper Stickers": [
"Bonus Score",
"Boosting Bumper",
],
"Castlevania 64": [
"Earth card",
"Venus card",
"Ax",
"Storehouse Key",
],
"Celeste 64": [
"Blueberry",
"Side Flip",
"Triple Dash Refills",
"Swap Blocks",
"Dream Blocks",
],
"Celeste (Open World)": [
"Green Boosters",
"Triple Dash Refills",
"Rising Platforms",
"Red Bubbles",
"Granny's Car Keys",
"Blueberry",
],
"Civilization VI": [
"Advanced Trebuchets",
"The Wheel 2",
"NFTs",
],
"Donkey Kong Country 3": [
"Progressive Car Upgrade",
"Bonus Token",
],
"Factorio": [
"logistic-ai",
"progressive-militia",
"progressive-stronger-explosives",
"uranium-food",
],
"A Hat in Time": [
"Fire Hat",
"69 Pons",
"Relic (Green Canyon)",
"Relic (Cooler Cow)",
"Time Fragment",
],
"Hollow Knight": [
"Shortnail",
"Runmaster",
],
"Jak and Daxter The Precursor Legacy": [
"69 Precursor Orbs",
"Jump Roll",
"Roll Kick",
],
"Kirby's Dream Land 3": [
"CooCoo",
],
"Kingdom Hearts 2": [
"Courage Form",
"Auto Courage",
"Donald Defender",
"Goofy Blizzard",
"Ultimate Weapon",
],
"Lingo": [
"Art Gallery (First Floor)",
"Color Hunt - Pink Barrier",
],
"A Link to the Past": [
"Mallet",
"Lava Rod",
"Master Knife",
"Slippers",
"Spade",
"Big Key (Dark Palace)",
"Big Key (Hera Tower)",
],
"Links Awakening DX": [
"Song of the Sky Whale",
"Gryphon Shoes",
"Wing Key",
"Strength Anklet",
],
"Mario & Luigi Superstar Saga": [
"Mega Nut",
],
"The Messenger": [
"Key of Anger",
"Time Shard (69)",
"Hydro",
],
"Muse Dash": [
"U.N. Owen Was Her",
"Renai Circulation",
"Flyers",
],
"Noita": [
"Gold (69)",
"Sphere",
"Melee Die",
],
"Ocarina of Time": [
"Jar",
"Whistle of Space",
"Rito Tunic",
"Boss Key (Forest Haven)",
"Boss Key (Swamp Palace)",
"Boss Key (Great Bay Temple)",
],
"Old School Runescape": [
"Area: Taverly",
"Area: Meiyerditch",
"Fire Cape",
],
"Overcooked! 2": [
"Kitchen Sink",
],
"Paint": [
"AI Enhance",
"Paint Bucket",
"Pen",
],
"Pokemon Red and Blue": [
"Rock Badge",
"Key Card",
"Pikachu",
"Eevee",
"HM02 Strength",
"HM05 Fly",
"HM01 Surf",
"Card Key 12F",
],
"Risk of Rain 2": [
"Dio's Worst Enemy",
"Stage 5",
"Mythical Item",
],
"Rogue Legacy": [
"Progressive Astromancers",
"Progressive Chefs",
"The Living Safe",
"Lady Quinn",
],
"Saving Princess": [
"Fire Spreadshot",
"Volcano Key",
"Frozen Key",
],
"Secret of Evermore": [
"Mantis Claw",
"Progressive pants",
"Deflect",
],
"shapez": [
"Spinner",
"Toggle",
"Slicer",
"Splitter",
],
"SMZ3": [
"Cane of Bryan",
],
"Sonic Adventure 2 Battle": [
"Pink Chaos Emerald",
"Black Chaos Emerald",
"Tails - Large Cannon",
"Eggman - Bazooka",
"Eggman - Booster",
"Knuckles - Shades",
"Sonic - Magic Shoes",
"Shadow - Bounce Bracelet",
"Rouge - Air Necklace",
"Big Key (Eggman's Pyramid)",
],
"Starcraft 2": [
"Sensor Bunker",
"Phantom",
"Soldier",
],
"Stardew Valley": [
"Van Repair",
"Ship Repair",
"Autumn",
"Galaxy Knife",
"Green Cabbage Seeds",
"Casket",
"Pet Moonlight Jelly",
"Adventurer's Guild Key",
],
"Super Mario Land 2": [
"Luigi Coin",
"Luigi Zone Progression",
"Hard Mode",
],
"Super Metroid": [
"Plasma Suit",
"Gravity Beam",
"Hi-Jump Ball",
],
"Super Mario 64": [
"Cannon Unlock LLL",
"Feather Cap",
],
"Super Mario World": [
"Progressive Yoshi",
"Purple Switch Palace",
"Cape Feather",
"Fire Flower",
"Cling",
"Twirl Jump",
],
"Timespinner": [
"Timespinner Cog 1",
"Leg Cannon",
],
"TUNIC": [
"Ladder To West Forest",
"Money x69",
"Page 69",
"Master Sword",
],
"The Wind Waker": [
"Ballad of Storms",
"Wind God's Song",
"Earth God's Song",
"Ordon's Pearl",
],
"The Witness": [
"Visible Dots",
],
"Yacht Dice": [
"Category One of a Kind",
"Category Fuller House",
],
"Yoshi's Island": [
"Ear of Luigi",
"+69 Stars",
"Water Melon",
"World 7 Gate",
"Small Spring Ball",
],
"Yu-Gi-Oh! 2006": [
"DUELIST ALLIANCE",
"DUEL OVERLOAD",
"POWER OF THE ELEMENTS",
"S:P Little Knight",
"Red-Eyes Dark Dragoon",
"Maxx C"
],
}
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 02:08:38 -05:00
all_exits = [
0x00, # Lobby to Neutral
0x01, # Lobby to Hero
0x02, # Lobby to Dark
0x03, # Lobby to Kindergarten
0x04, # Neutral to Lobby
0x05, # Neutral to Cave
0x06, # Neutral to Transporter
0x07, # Hero to Lobby
0x08, # Hero to Transporter
0x09, # Dark to Lobby
0x0A, # Dark to Transporter
0x0B, # Cave to Neutral
0x0C, # Cave to Race
0x0D, # Cave to Karate
0x0E, # Race to Cave
0x0F, # Karate to Cave
0x10, # Transporter to Neutral
#0x11, # Transporter to Hero
#0x12, # Transporter to Dark
0x13, # Kindergarten to Lobby
]
all_destinations = [
0x07, # Lobby
0x07,
0x07,
0x07,
0x01, # Neutral
0x01,
0x01,
0x02, # Hero
0x02,
0x03, # Dark
0x03,
0x09, # Cave
0x09,
0x09,
0x05, # Chao Race
0x0A, # Chao Karate
0x0C, # Transporter
#0x0C,
#0x0C,
0x06, # Kindergarten
]
multi_rooms = [
0x07,
0x01,
0x02,
0x03,
0x09,
]
single_rooms = [
0x05,
0x0A,
0x0C,
0x06,
]
room_to_exits_map = {
0x07: [0x00, 0x01, 0x02, 0x03],
0x01: [0x04, 0x05, 0x06],
0x02: [0x07, 0x08],
0x03: [0x09, 0x0A],
0x09: [0x0B, 0x0C, 0x0D],
0x05: [0x0E],
0x0A: [0x0F],
0x0C: [0x10],#, 0x11, 0x12],
0x06: [0x13],
}
exit_to_room_map = {
0x00: 0x07, # Lobby to Neutral
0x01: 0x07, # Lobby to Hero
0x02: 0x07, # Lobby to Dark
0x03: 0x07, # Lobby to Kindergarten
0x04: 0x01, # Neutral to Lobby
0x05: 0x01, # Neutral to Cave
0x06: 0x01, # Neutral to Transporter
0x07: 0x02, # Hero to Lobby
0x08: 0x02, # Hero to Transporter
0x09: 0x03, # Dark to Lobby
0x0A: 0x03, # Dark to Transporter
0x0B: 0x09, # Cave to Neutral
0x0C: 0x09, # Cave to Race
0x0D: 0x09, # Cave to Karate
0x0E: 0x05, # Race to Cave
0x0F: 0x0A, # Karate to Cave
0x10: 0x0C, # Transporter to Neutral
#0x11: 0x0C, # Transporter to Hero
#0x12: 0x0C, # Transporter to Dark
0x13: 0x06, # Kindergarten to Lobby
}
valid_kindergarten_exits = [
0x04, # Neutral to Lobby
0x05, # Neutral to Cave
0x07, # Hero to Lobby
0x09, # Dark to Lobby
]