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 <[email protected]>

* 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 <[email protected]>

* Update Rules.py

* commit

* Update worlds/kh1/__init__.py

Co-authored-by: Scipio Wright <[email protected]>

* 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 <[email protected]>
Co-authored-by: Goblin God <[email protected]>
Co-authored-by: River Buizel <[email protected]>
Co-authored-by: omnises <[email protected]>
Co-authored-by: Omnises Nihilis <[email protected]>
Co-authored-by: Scipio Wright <[email protected]>
This commit is contained in:
gaithern
2025-09-10 23:49:32 +02:00
committed by GitHub
co-authored by Scipio Wright esutley Goblin God River Buizel omnises Omnises Nihilis
parent 78b529fc23
commit 1322ce866e
15 changed files with 4043 additions and 2775 deletions
+9 -32
View File
@@ -7,7 +7,7 @@ configure and export a config file.
## What does randomization do to this game?
The Kingdom Hearts AP Randomizer randomizes most rewards in the game and adds several items which are used to unlock worlds, Olympus Coliseum cups, and world progression.
The Kingdom Hearts AP Randomizer randomizes rewards in the game and adds several items which are used to unlock worlds, Olympus Coliseum cups, and world progression.
Worlds can only be accessed by finding the corresponding item. For example, you need to find the `Monstro` item to enter Monstro.
@@ -21,49 +21,26 @@ Any weapon, accessory, spell, trinity, summon, world, key item, stat up, consuma
### Locations
Locations the player can find items include chests, event rewards, Atlantica clams, level up rewards, 101 Dalmatian rewards, and postcard rewards.
Locations the player can find items include:
- Chests
- Rewards
- Static Events
- Map Prizes from things such as Trinities, Wonderland flowers and chairs, etc.
- Level ups
## Which items can be in another player's world?
Any of the items which can be shuffled may also be placed into another player's world. It is possible to choose to limit
certain items to your own world.
## When the player receives an item, what happens?
When the player receives an item, your client will display a message displaying the item you have obtained. You will also see a notification in the "LEVEL UP" box.
When the player receives an item, your client will display a message displaying the item you have obtained. You will also see a notification in the "INFORMATION" box.
## What do I do if I encounter a bug with the game?
Please reach out to Gicu#7034 on Discord.
## How do I progress in a certain world?
### The evidence boxes aren't spawning in Wonderland.
Find `Footprints` in the multiworld.
### I can't enter any cups in Olympus Coliseum.
Firstly, find `Entry Pass` in the multiworld. Additionally, `Phil Cup`, `Pegasus Cup`, and `Hercules Cup` are all multiworld items. Finding all 3 grant you access to the Hades Cup and the Platinum Match. Clearing all cups lets you challenge Ice Titan.
### The slides aren't spawning in Deep Jungle.
Find `Slides` in the multiworld.
### I can't progress in Atlantica.
Find `Crystal Trident` in the multiworld.
### I can't progress in Halloween Town.
Find `Forget-Me-Not` and `Jack-in-the-Box` in the multiworld.
### The Hollow Bastion Library is missing a book.
Find `Theon Vol. 6` in the multiworld.
## How do I enter the End of the World?
You can enter End of the World by obtaining a number of Ansem's Reports or by finding `End of the World` in the multiworld, depending on your options.
## Credits
This is a collaborative effort from several individuals in the Kingdom Hearts community, but most of all, denhonator.
+81 -36
View File
@@ -1,54 +1,99 @@
# Kingdom Hearts Randomizer Setup Guide
# Kingdom Hearts Archipelago Randomizer Setup Guide
## Setting up the required mods
<h2 style="text-transform:none";>Required software</h2>
BEFORE MODDING, PLEASE INSTALL AND RUN KH1 AT LEAST ONCE.
- KINGDOM HEARTS -HD 1.5+2.5 ReMIX- from the [Epic Games Store](https://store.epicgames.com/en-US/discover/kingdom-hearts) or [Steam](https://store.steampowered.com/app/2552430/KINGDOM_HEARTS_HD_1525_ReMIX/)
1. Install OpenKH and the LUA Backend
- The latest release of [OpenKH](https://github.com/OpenKH/OpenKh/releases)
Download the [latest release of OpenKH](https://github.com/OpenKH/OpenKh/releases/tag/latest)
Extract the files to a directory of your choosing.
Open `OpenKh.Tools.ModsManager.exe` and run first time set up
When prompted for game edition, choose `PC Release`, select which platform you're using (EGS or Steam), navigate to your `Kingdom Hearts I.5 + II.5` installation folder in the path box and click `Next`
When prompted, install Panacea, then click `Next`
When prompted, check KH1 plus any other AP game you play and click `Install and configure LUA backend`, then click `Next`
Extracting game data for KH1 is unnecessary, but you may want to extract data for KH2 if you plan on playing KH2 AP
Click `Finish`
2. Open `OpenKh.Tools.ModsManager.exe`
- The latest release of the [Kingdom Hearts 1FM Randomizer Software](https://github.com/gaithern/KH1FM-RANDOMIZER/releases)
3. Click the drop-down menu at the top-right and choose `Kingdom Hearts 1`
- The latest release of [Archipelago](https://github.com/ArchipelagoMW/Archipelago/releases) for the ArchipelagoKH1Client.exe
4. Click `Mods>Install a New Mod`
<h2 style="text-transform:none";>Setting up the required software</h2>
5. In `Add a new mod from GitHub` paste `gaithern/KH-1FM-AP-LUA`
<h3 style="text-transform:none";>OpenKH</h3>
6. Click `Install`
- Extract the OpenKH files to a directory of your choosing.
- When prompted for game edition, choose PC Release, select which platform you're using (EGS or Steam), navigate to your `Kingdom Hearts I.5 + II.5` installation folder in the path box and click `Next`.
- When prompted, install Panacea, then click `Next`.
- When prompted, check KH1 plus any other AP game you want to play, and click `Install and configure Lua backend`, then click `Next`.
- Extract the data for KH1.
- Click `Finish`
7. Navigate to Mod Loader and click `Build and Run`
<h3 style="text-transform:none";>Kingdom Hearts 1FM Randomizer Software</h3>
- Extract the Kingdom Hearts 1FM Randomizer Software files in a directory of your choosing.
## Configuring your YAML file
<h2 style="text-transform:none";>Obtaining and using the seed zip</h2>
### What is a YAML file and why do I need one?
- When you generate a game you will see a download link for a KH1 .zip seed on the room page.
- After downloading this zip, open `mod_generator.exe` in your Kingdom Hearts 1FM Randomizer Software folder.
- Direct `mod_generator.exe` to both your seed zip and your KH1 data folder extracted during your OpenKH set up.
- Click `start`.
- After some time, you will find a file in your `Output` folder called `mod_YYYYMMDDHHMMSS.zip`
- Open `OpenKh.Tools.ModsManager.exe` and ensure that the dropdown in the top right is set to `Kingdom Hearts 1`
- Click the green plus, choose `Select and install Mod Archive or Lua Script`, and direct the prompt to your new mod zip.
- You should now see a mod on your list called `KH1 Randomizer Seed XYZ` where XYZ is your seed hex value.
- Ensure this mod is checked, then, if you want to play right away, click `Mod Loader` at the top.
- Click `Build and Run`. Your modded game should now open.
Your YAML file contains a set of configuration options which provide the generator with information about how it should
generate your game. Each player of a multiworld will provide their own YAML file. This setup allows each player to enjoy
an experience customized for their taste, and different players in the same multiworld can all have different options.
<h2 style="text-transform:none";>Connecting to your multiworld via the KH1 Client</h2>
### Where do I get a YAML file?
- Once your game is being hosted, open `ArchipelagoLauncher.exe`.
- Find `KH1 Client` and open it.
- At the top, in the `Server:` bar, type in the host address and port.
- Click the `Connect` button in the top right.
- If connection to the server was successful, you'll be prompted to type in your slot named in the `Command:` bar at the bottom.
- After typing your slot name, press enter.
- If all is well, you are now connected.
you can customize your settings by visiting the [Kingdom Hearts Options Page](/games/Kingdom%20Hearts/player-options).
<h2 style="text-transform:none";>FAQ</h2>
## Connect to the MultiWorld
<h3 style="text-transform:none";>The client did not confirm connection to the game, is that normal?</h3>
For first-time players, it is recommended to open your KH1 Client first before opening the game.
Yes, the game and client communicate via a game communication path set up in your in your `%AppData%` folder, and therefore don't need to establish a socket connection.
On the title screen, open your KH1 Client and connect to your multiworld.
<h3 style="text-transform:none";>I am not sending or receiving items.</h3>
Check out this [troubleshooting guide](https://docs.google.com/document/d/1oAXxJWrNeqSL-tkB_01bLR0eT0urxz2FBo4URpq3VbM/edit?usp=sharing)
<h3 style="text-transform:none";>Why aren't the evidence boxes spawning in Wonderland?</h3>
You'll need to find `Footprints` in your multiworld.
<h3 style="text-transform:none";>Why won't Phil let me start the Prelims?</h3>
You'll need to find `Entry Pass` in the multiworld.
<h3 style="text-transform:none";>Why aren't the slides spawning in Deep Jungle?</h3>
You'll need to find `Slides` in the multiworld.
<h3 style="text-transform:none";>Why can't I make progress in Atlantica?</h3>
You'll need to find `Crystal Trident` in the multiworld.
<h3 style="text-transform:none";>Why won't the doctor let me progress in Halloween Town?</h3>
You'll need to find either `Forget-Me-Not` or `Jack-in-the-Box` in the multiworld.
<h3 style="text-transform:none";>Why is there a book missing in the Hollow Bastion library?</h3>
You'll need to find `Theon Vol. 6` in the multiworld.
<h3 style="text-transform:none";>How do I unlock End of the World?</h3>
Depending on your settings, your options are either finding a specified amount of `Lucky Emblems` or finding the item `End of the World`.
<h3 style="text-transform:none";>How do I enter Destiny Islands?</h3>
After obtaining the item `Destiny Islands`, you can land there as an additional option in Traverse Town.
<h3 style="text-transform:none";>How do I progress to Destiny Islands Day 2 and 3?</h3>
In order to access Day 2 and 3, you need to collect an amount of `Raft Materials` specified in your settings. When you start Day 3, you'll be immediately warped to Homecoming.
<h3 style="text-transform:none";>Why can't I use the summon I obtained?</h3>
You need at least one magic spell before you can use summons.