mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06: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`
This commit is contained in:
342
worlds/sa2b/AestheticData.py
Normal file
342
worlds/sa2b/AestheticData.py
Normal file
@@ -0,0 +1,342 @@
|
||||
|
||||
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",
|
||||
]
|
||||
|
||||
totally_real_item_names = [
|
||||
"Mallet",
|
||||
"Lava Rod",
|
||||
"Master Knife",
|
||||
"Slippers",
|
||||
"Spade",
|
||||
|
||||
"Progressive Car Upgrade",
|
||||
"Bonus Token",
|
||||
|
||||
"Shortnail",
|
||||
"Runmaster",
|
||||
|
||||
"Courage Form",
|
||||
"Auto Courage",
|
||||
"Donald Defender",
|
||||
"Goofy Blizzard",
|
||||
"Ultimate Weapon",
|
||||
|
||||
"Song of the Sky Whale",
|
||||
"Gryphon Shoes",
|
||||
"Wing Key",
|
||||
"Strength Anklet",
|
||||
|
||||
"Hairclip",
|
||||
|
||||
"Key of Wisdom",
|
||||
|
||||
"Baking",
|
||||
"Progressive Block Mining",
|
||||
|
||||
"Jar",
|
||||
"Whistle of Space",
|
||||
"Rito Tunic",
|
||||
|
||||
"Kitchen Sink",
|
||||
|
||||
"Rock Badge",
|
||||
"Key Card",
|
||||
"Pikachu",
|
||||
"Eevee",
|
||||
"HM02 Strength",
|
||||
|
||||
"Progressive Astromancers",
|
||||
"Progressive Chefs",
|
||||
"The Living Safe",
|
||||
"Lady Quinn",
|
||||
|
||||
"Dio's Worst Enemy",
|
||||
|
||||
"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)",
|
||||
|
||||
"Sensor Bunker",
|
||||
"Phantom",
|
||||
"Soldier",
|
||||
|
||||
"Plasma Suit",
|
||||
"Gravity Beam",
|
||||
"Hi-Jump Ball",
|
||||
|
||||
"Cannon Unlock LLL",
|
||||
"Feather Cap",
|
||||
|
||||
"Progressive Yoshi",
|
||||
"Purple Switch Palace",
|
||||
"Cape Feather",
|
||||
|
||||
"Cane of Bryan",
|
||||
|
||||
"Van Repair",
|
||||
"Autumn",
|
||||
"Galaxy Knife",
|
||||
"Green Cabbage Seeds",
|
||||
|
||||
"Timespinner Cog 1",
|
||||
|
||||
"Ladder",
|
||||
|
||||
"Visible Dots",
|
||||
]
|
||||
|
||||
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
|
||||
]
|
Reference in New Issue
Block a user