# Kingdom Hearts (PC)

## Where is the options page?

The [player options page for this game](../player-options) contains most of the options you need to 
configure and export a config file.

## What does randomization do to this game?

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.

The default goal is to enter End of the World and defeat Final Ansem.

## What items and locations get shuffled?

### Items

Any weapon, accessory, spell, trinity, summon, world, key item, stat up, consumable, or ability can be found in any location.

### Locations

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 "INFORMATION" box.

## What do I do if I encounter a bug with the game?

Please reach out to Gicu#7034 on Discord.

## Credits
This is a collaborative effort from several individuals in the Kingdom Hearts community, but most of all, denhonator.

Denho's original KH rando laid the foundation for the work here and makes everything here possible, so thank you Denho for such a blast of a randomizer.

Other credits include:

Sonicshadowsilver2 for their work finding many memory addresses, working to identify and resolve bugs, and converting the code base to the latest EGS update.

Shananas and the rest of the OpenKH team for providing such an amazing tool for us to utilize on this project.

TopazTK for their work on the `Show Prompt` method and Krujo for their implementation of the method in AP.

JaredWeakStrike for helping clean up my mess of code.

KSX for their `Interact in Battle` code.

RavSpect for their title screen image edit.

SunCatMC for their work on ChecksFinder, which I used as a basis for game-to-client communication.

ThePhar for their work on Rogue Legacy AP, which I used as a basis for the apworld creation.
