347 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			347 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Python
		
	
	
	
| 
 | |
| 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",
 | |
| ]
 | |
| 
 | |
| 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
 | |
| ]
 |