Files
Grinch-AP/worlds/kh1/Data.py

202 lines
9.1 KiB
Python
Raw Permalink Normal View History

Kingdom Hearts: Adding a bunch of new features (#5078) * Change vanilla_emblem_pieces to randomize_emblem_pieces * Add jungle slider and starting tools options * Update option name and add preset * GICU changes * unnecessary * Update Options.py * Fix has_all * Update Options.py * Update Options.py * Some potenitial logic changes * Oops * Oops 2 * Cups choice options * typos * Logic tweaks * Ice Titan and Superboss changes * Suggested change and one more * Updating some other option descriptions for clarity/typos * Update Locations.py * commit * SYNTHESIS * commit * commit * commit * Add command to change communication path I'm not a python programmer, so do excuse the code etiquette. This aims to allow Linux users to communicate to their proton directory. * commit * commit * commit * commit * commit * commit * commit * commit * Update Client.py * Update Locations.py * Update Regions.py * commit * commit * commit * Update Rules.py * commit * commit * commit * commit logic changes and linux fix from other branch * commit * commit * Update __init__.py * Update Rules.py * commit * commit * commit * commit * add starting accessory setting * fix starting accessories bug * Update Locations.py * commit * add ap cost rando * fix some problem locations * add raft materials * Update Client.py * OK WORK THIS TIME PLEASE * Corrected typos * setting up for logic difficulty * commit 1 * commit 2 * commit 3 * minor error fix * some logic changes and fixed some typos * tweaks * commit * SYNTHESIS * commit * commit * commit * commit * commit * commit * commit * commit * commit * commit * commit * Update Client.py * Update Locations.py * Update Regions.py * commit * commit * commit * Update Rules.py * commit * commit * commit * commit logic changes and linux fix from other branch * commit * commit * Update __init__.py * Update Rules.py * commit * commit * commit * commit * add starting accessory setting * fix starting accessories bug * Update Locations.py * commit * add ap cost rando * fix some problem locations * add raft materials * Update Client.py * cleanup * commit 4 * tweaks 2 * tweaks 3 * Reset * Update __init__.py * Change vanilla_emblem_pieces to randomize_emblem_pieces * Add jungle slider and starting tools options * unnecessary * Vanilla Puppies Part 1 The easy part * Update __init__.py I'm not certain this is the exact right chest for Tea Party Garden, Waterfall Cavern, HT Cemetery, or Neverland Hold but logically it's the same. Will do a test run later and fix if need be * Vanilla Puppies Part 3 Wrong toggle cause I just copied over Emblem Pieces oops * Vanilla Puppies Part 4 Forgor commented out code * Vanilla Puppies Part 5 I now realize how this works and that what I had before was redundant * Update __init__.py Learning much about strings * cleanup * Update __init__.py Only missed one! * Update option name and add preset * GICU changes * Update Options.py * Fix has_all * Update Options.py * Update Options.py * Cups choice options * typos * Ice Titan and Superboss changes * Some potenitial logic changes * Oops * Oops 2 * Logic tweaks * Suggested change and one more * Updating some other option descriptions for clarity/typos * Update Locations.py * Add command to change communication path I'm not a python programmer, so do excuse the code etiquette. This aims to allow Linux users to communicate to their proton directory. * Moving over changes from REVAMP * whoops * Fix patch files on the website * Update test_goal.py * commit * Update worlds/kh1/__init__.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> * change some default options * Missed a condition * let's try that * Update Options.py * unnecessary sub check * Some more cleanup * tuples * add icon * merge cleanup * merge cleanup 2 * merge clean up 3 * Update Data.py * Fix cups option * commit * Update Rules.py * Update Rules.py * phantom tweak * review commit * minor fixes * review 2 * minor typo fix * minor logic tweak * Update Client.py * Update __init__.py * Update Rules.py * Olympus Cup fixes * Update Options.py * even MORE tweaks * commit * Update Options.py * Update has_x_worlds * Update Rules.py * commit * Update Options.py * Update Options.py * Update Options.py * tweak 5 * Add Stacking Key Items and Halloween Town Key Item Bundle * Update worlds/kh1/Rules.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update Rules.py * commit * Update worlds/kh1/__init__.py Co-authored-by: Scipio Wright <scipiowright@gmail.com> * Update __init__.py * Update __init__.py * whoops * Update Rules.py * Update Rules.py * Fix documentation styling * Clean up option help text * Reordering options so they're consistent and fixing a logic bug when EOTW Unlock is item but door is emblems * Make have x world logic consider if the player has HAW on or not * Fix Atlantica beginner logic things, vanilla keyblade stats being broken, and some behind boss locations * Fix vanilla puppy option * hotfix for crabclaw logic * Fix defaults and some boss locations * Fix server spam * Remove 3 High Jump Item Workshop Logic, small client changes * Updates for PR --------- Co-authored-by: esutley <ecsutley@gmail.com> Co-authored-by: Goblin God <37878138+esutley@users.noreply.github.com> Co-authored-by: River Buizel <4911928+rocket0634@users.noreply.github.com> Co-authored-by: omnises <OmnisGamers@gmail.com> Co-authored-by: Omnises Nihilis <38057571+Omnises@users.noreply.github.com> Co-authored-by: Scipio Wright <scipiowright@gmail.com>
2025-09-10 16:49:32 -05:00
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