202 lines
9.1 KiB
Python
202 lines
9.1 KiB
Python
|
|
VANILLA_KEYBLADE_STATS = [
|
|||
|
|
{"STR": 3, "CRR": 20, "CRB": 0, "REC": 30, "MP": 0}, # Kingdom Key
|
|||
|
|
{"STR": 1, "CRR": 20, "CRB": 0, "REC": 30, "MP": 0}, # Dream Sword
|
|||
|
|
{"STR": 1, "CRR": 0, "CRB": 0, "REC": 60, "MP": 0}, # Dream Shield
|
|||
|
|
{"STR": 1, "CRR": 10, "CRB": 0, "REC": 30, "MP": 0}, # Dream Rod
|
|||
|
|
{"STR": 0, "CRR": 20, "CRB": 0, "REC": 30, "MP": 0}, # Wooden Sword
|
|||
|
|
{"STR": 5, "CRR": 10, "CRB": 0, "REC": 1, "MP": 0}, # Jungle King
|
|||
|
|
{"STR": 6, "CRR": 20, "CRB": 0, "REC": 60, "MP": 0}, # Three Wishes
|
|||
|
|
{"STR": 8, "CRR": 10, "CRB": 2, "REC": 30, "MP": 1}, # Fairy Harp
|
|||
|
|
{"STR": 7, "CRR": 40, "CRB": 0, "REC": 1, "MP": 0}, # Pumpkinhead
|
|||
|
|
{"STR": 6, "CRR": 20, "CRB": 0, "REC": 30, "MP": 1}, # Crabclaw
|
|||
|
|
{"STR": 13, "CRR": 40, "CRB": 0, "REC": 60, "MP": 0}, # Divine Rose
|
|||
|
|
{"STR": 4, "CRR": 20, "CRB": 0, "REC": 30, "MP": 2}, # Spellbinder
|
|||
|
|
{"STR": 10, "CRR": 20, "CRB": 2, "REC": 90, "MP": 0}, # Olympia
|
|||
|
|
{"STR": 10, "CRR": 20, "CRB": 0, "REC": 30, "MP": 1}, # Lionheart
|
|||
|
|
{"STR": 9, "CRR": 2, "CRB": 0, "REC": 90, "MP": -1}, # Metal Chocobo
|
|||
|
|
{"STR": 9, "CRR": 40, "CRB": 0, "REC": 1, "MP": 1}, # Oathkeeper
|
|||
|
|
{"STR": 11, "CRR": 20, "CRB": 2, "REC": 30, "MP": -1}, # Oblivion
|
|||
|
|
{"STR": 7, "CRR": 20, "CRB": 0, "REC": 1, "MP": 2}, # Lady Luck
|
|||
|
|
{"STR": 5, "CRR": 200, "CRB": 2, "REC": 1, "MP": 0}, # Wishing Star
|
|||
|
|
{"STR": 14, "CRR": 40, "CRB": 2, "REC": 90, "MP": 2}, # Ultima Weapon
|
|||
|
|
{"STR": 3, "CRR": 20, "CRB": 0, "REC": 1, "MP": 3}, # Diamond Dust
|
|||
|
|
{"STR": 8, "CRR": 10, "CRB": 16, "REC": 90, "MP": -2}, # One-Winged Angel
|
|||
|
|
]
|
|||
|
|
VANILLA_PUPPY_LOCATIONS = [
|
|||
|
|
"Traverse Town Mystical House Glide Chest",
|
|||
|
|
"Traverse Town Alleyway Behind Crates Chest",
|
|||
|
|
"Traverse Town Item Workshop Left Chest",
|
|||
|
|
"Traverse Town Secret Waterway Near Stairs Chest",
|
|||
|
|
"Wonderland Queen's Castle Hedge Right Blue Chest",
|
|||
|
|
"Wonderland Lotus Forest Nut Chest",
|
|||
|
|
"Wonderland Tea Party Garden Above Lotus Forest Entrance 1st Chest",
|
|||
|
|
"Olympus Coliseum Coliseum Gates Right Blue Trinity Chest",
|
|||
|
|
"Deep Jungle Hippo's Lagoon Center Chest",
|
|||
|
|
"Deep Jungle Vines 2 Chest",
|
|||
|
|
"Deep Jungle Waterfall Cavern Middle Chest",
|
|||
|
|
"Deep Jungle Camp Blue Trinity Chest",
|
|||
|
|
"Agrabah Cave of Wonders Treasure Room Across Platforms Chest",
|
|||
|
|
"Halloween Town Oogie's Manor Hollow Chest",
|
|||
|
|
"Neverland Pirate Ship Deck White Trinity Chest",
|
|||
|
|
"Agrabah Cave of Wonders Hidden Room Left Chest",
|
|||
|
|
"Agrabah Cave of Wonders Entrance Tall Tower Chest",
|
|||
|
|
"Agrabah Palace Gates High Opposite Palace Chest",
|
|||
|
|
"Monstro Chamber 3 Platform Above Chamber 2 Entrance Chest",
|
|||
|
|
"Wonderland Lotus Forest Through the Painting Thunder Plant Chest",
|
|||
|
|
"Hollow Bastion Grand Hall Left of Gate Chest",
|
|||
|
|
"Halloween Town Cemetery By Cat Shape Chest",
|
|||
|
|
"Halloween Town Moonlight Hill White Trinity Chest",
|
|||
|
|
"Halloween Town Guillotine Square Pumpkin Structure Right Chest",
|
|||
|
|
"Monstro Mouth High Platform Across from Boat Chest",
|
|||
|
|
"Monstro Chamber 6 Low Chest",
|
|||
|
|
"Monstro Chamber 5 Atop Barrel Chest",
|
|||
|
|
"Neverland Hold Flight 1st Chest",
|
|||
|
|
"Neverland Hold Yellow Trinity Green Chest",
|
|||
|
|
"Neverland Captain's Cabin Chest",
|
|||
|
|
"Hollow Bastion Rising Falls Floating Platform Near Save Chest",
|
|||
|
|
"Hollow Bastion Castle Gates Gravity Chest",
|
|||
|
|
"Hollow Bastion Lift Stop Outside Library Gravity Chest"
|
|||
|
|
]
|
|||
|
|
CHAR_TO_KH = {
|
|||
|
|
" ": 0x01,
|
|||
|
|
"0": 0x21,
|
|||
|
|
"1": 0x22,
|
|||
|
|
"2": 0x23,
|
|||
|
|
"3": 0x24,
|
|||
|
|
"4": 0x25,
|
|||
|
|
"5": 0x26,
|
|||
|
|
"6": 0x27,
|
|||
|
|
"7": 0x28,
|
|||
|
|
"8": 0x29,
|
|||
|
|
"9": 0x2A,
|
|||
|
|
"A": 0x2B,
|
|||
|
|
"B": 0x2C,
|
|||
|
|
"C": 0x2D,
|
|||
|
|
"D": 0x2E,
|
|||
|
|
"E": 0x2F,
|
|||
|
|
"F": 0x30,
|
|||
|
|
"G": 0x31,
|
|||
|
|
"H": 0x32,
|
|||
|
|
"I": 0x33,
|
|||
|
|
"J": 0x34,
|
|||
|
|
"K": 0x35,
|
|||
|
|
"L": 0x36,
|
|||
|
|
"M": 0x37,
|
|||
|
|
"N": 0x38,
|
|||
|
|
"O": 0x39,
|
|||
|
|
"P": 0x3A,
|
|||
|
|
"Q": 0x3B,
|
|||
|
|
"R": 0x3C,
|
|||
|
|
"S": 0x3D,
|
|||
|
|
"T": 0x3E,
|
|||
|
|
"U": 0x3F,
|
|||
|
|
"V": 0x40,
|
|||
|
|
"W": 0x41,
|
|||
|
|
"X": 0x42,
|
|||
|
|
"Y": 0x43,
|
|||
|
|
"Z": 0x44,
|
|||
|
|
"a": 0x45,
|
|||
|
|
"b": 0x46,
|
|||
|
|
"c": 0x47,
|
|||
|
|
"d": 0x48,
|
|||
|
|
"e": 0x49,
|
|||
|
|
"f": 0x4A,
|
|||
|
|
"g": 0x4B,
|
|||
|
|
"h": 0x4C,
|
|||
|
|
"i": 0x4D,
|
|||
|
|
"j": 0x4E,
|
|||
|
|
"k": 0x4F,
|
|||
|
|
"l": 0x50,
|
|||
|
|
"m": 0x51,
|
|||
|
|
"n": 0x52,
|
|||
|
|
"o": 0x53,
|
|||
|
|
"p": 0x54,
|
|||
|
|
"q": 0x55,
|
|||
|
|
"r": 0x56,
|
|||
|
|
"s": 0x57,
|
|||
|
|
"t": 0x58,
|
|||
|
|
"u": 0x59,
|
|||
|
|
"v": 0x5A,
|
|||
|
|
"w": 0x5B,
|
|||
|
|
"x": 0x5C,
|
|||
|
|
"y": 0x5D,
|
|||
|
|
"z": 0x5E
|
|||
|
|
}
|
|||
|
|
VANILLA_ABILITY_AP_COSTS = [
|
|||
|
|
{"Ability Name": "Treasure Magnet", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Combo Plus", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Air Combo Plus", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Critical Plus", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Second Wind", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Scan", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Sonic Blade", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Ars Arcanum", "AP Cost": 4, "Randomize": True},
|
|||
|
|
{"Ability Name": "Strike Raid", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Ragnarok", "AP Cost": 4, "Randomize": True},
|
|||
|
|
{"Ability Name": "Trinity Limit", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Cheer", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Vortex", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Aerial Sweep", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Counter Attack", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Blitz", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Guard", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Dodge Roll", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "MP Haste", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "MP Rage", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Second Chance", "AP Cost": 5, "Randomize": True},
|
|||
|
|
{"Ability Name": "Berserk", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Jackpot", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Lucky Strike", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Charge", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Rocket", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Tornado", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "MP Gift", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Raging Boar", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Asp's Bite", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Healing Herb", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Wind Armor", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Crescent", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Sandstorm", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Applause!", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Blazing Fury", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Icy Terror", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Bolts of Sorrow", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Ghostly Scream", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Hummingbird", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Time-Out", "AP Cost": 4, "Randomize": True},
|
|||
|
|
{"Ability Name": "Storm´s Eye", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Ferocious Lunge", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Furious Bellow", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Spiral Wave", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Thunder Potion", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Cure Potion", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Aero Potion", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Slapshot", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Sliding Dash", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Hurricane Blast", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Ripple Drive", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "Stun Impact", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Gravity Break", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Zantetsuken", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Tech Boost", "AP Cost": 2, "Randomize": True},
|
|||
|
|
{"Ability Name": "Encounter Plus", "AP Cost": 1, "Randomize": True},
|
|||
|
|
{"Ability Name": "Leaf Bracer", "AP Cost": 5, "Randomize": True},
|
|||
|
|
{"Ability Name": "Evolution", "AP Cost": 3, "Randomize": True},
|
|||
|
|
{"Ability Name": "EXP Zero", "AP Cost": 0, "Randomize": True},
|
|||
|
|
{"Ability Name": "Combo Master", "AP Cost": 3, "Randomize": True}
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
WORLD_KEY_ITEMS = {
|
|||
|
|
"Footprints": "Wonderland",
|
|||
|
|
"Entry Pass": "Olympus Coliseum",
|
|||
|
|
"Slides": "Deep Jungle",
|
|||
|
|
"Crystal Trident": "Atlantica",
|
|||
|
|
"Forget-Me-Not": "Halloween Town",
|
|||
|
|
"Jack-In-The-Box": "Halloween Town",
|
|||
|
|
"Theon Vol. 6": "Hollow Bastion"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
LOGIC_BEGINNER = 0
|
|||
|
|
LOGIC_NORMAL = 5
|
|||
|
|
LOGIC_PROUD = 10
|
|||
|
|
LOGIC_MINIMAL = 15
|