Skip to content

Commit

Permalink
Fixed location errors, unit test cases, and website related text.
Browse files Browse the repository at this point in the history
  • Loading branch information
gaithern committed Dec 6, 2023
1 parent 0d43cec commit b362609
Show file tree
Hide file tree
Showing 11 changed files with 110 additions and 121 deletions.
12 changes: 6 additions & 6 deletions worlds/khcom/Options.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@

class PrioritizeBosses(DefaultOnToggle):
"""
Should boss location prioritize holding progression items?
Toggles whether boss locations should prioritize holding progression items.
"""
display_name = "Progression Items Prioritized to Bosses"

class PacksOrSets(Choice):
"""
Packs contain cards that are randomized upon receipt at the lua script level
Sets are static card sets (i.e. You received Lady Luck 4-6)
Sets are static card sets (i.e. You received Card Set Lady Luck 4-6)
"""
display_name = "Packs or Sets"
option_sets = 1
Expand All @@ -20,25 +20,25 @@ class PacksOrSets(Choice):

class Zeroes(DefaultOnToggle):
"""
Toggle whether 0's should be included. Does nothing if you are using card packs
Toggle whether 0 value card's should be included in the item pool. Innefective if you are using card packs
"""
display_name = "Zeroes"

class Cure(DefaultOnToggle):
"""
Toggle whether Cure cards should be included. Does nothing if you are using card packs
Toggle whether Cure cards should be included in the item pool. Innefective if you are using card packs
"""
display_name = "Cure"

class EarlyCure(DefaultOnToggle):
"""
Should one of the starting checks contain Cure 4-6?
Toggles whether one of the starting locations should contain Cure 4-6?
"""
display_name = "Early Cure"

class EnemyCards(DefaultOnToggle):
"""
Should enemy cards be shuffled into the pool?
Toggles whether enemy cards should be shuffled into the item pool.
"""
display_name = "Enemy Cards"

Expand Down
5 changes: 2 additions & 3 deletions worlds/khcom/Regions.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ def create_regions(multiworld: MultiWorld, player: int):

regions["Floor 10"].locations.append("F10 100 Acre Wood Complete (Characters I Bambi)")
regions["Floor 10"].locations.append("F10 100 Acre Wood Complete (Magic Cards Bambi)")
regions["Floor 10"].locations.append("F10 100 Acre Wood Owl (Attack Cards Spellbinder)")
regions["Floor 10"].locations.append("F10 100 Acre Wood Field Scene Owl (Attack Cards Spellbinder)")
regions["Floor 10"].locations.append("F10 100 Acre Wood Field Scene Eeyore (Characters II Eeyore)")
regions["Floor 10"].locations.append("F10 100 Acre Wood Field Scene Owl (Characters II Owl)")
regions["Floor 10"].locations.append("F10 100 Acre Wood Field Scene Piglet (Characters II Piglet)")
Expand Down Expand Up @@ -163,10 +163,9 @@ def create_regions(multiworld: MultiWorld, player: int):
#regions["Floor 12"].locations.append("F12 Destiny Islands Post Floor (Attack Cards Oblivion)")
regions["Floor 12"].locations.append("F12 Destiny Islands Room of Rewards (Item Cards Megalixir)")

regions["Floor 13"].locations.append("F13 Castle Oblivion Post Floor (Characters I Marluxia)")
regions["Floor 13"].locations.append("F13 Castle Oblivion Event (Characters I Marluxia)")
regions["Floor 13"].locations.append("F13 Castle Oblivion Post Floor (Story Castle Oblivion)")
regions["Floor 13"].locations.append("F13 Castle Oblivion Post Marluxia (Attack Cards Diamond Dust)")
regions["Floor 13"].locations.append("F13 Castle Oblivion Post Marluxia (Attack Cards One-Winged Angel)")

regions["Heartless"].locations.append("Heartless Air Pirate")
regions["Heartless"].locations.append("Heartless Air Soldier")
Expand Down
24 changes: 5 additions & 19 deletions worlds/khcom/docs/en_Kingdom Hearts Chain of Memories.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ configure and export a config file.

The Kingdom Hearts Chain of Memories Randomizer will take removes cards you pick up in the overworld, moogle shops, and as rewards from boss battles.

Journal entries are checks, including story, enemy, and battle card entries.

The entire castle is open from the start after completing Traverse Town. Floors you haven't unlocked are assigned Traverse Town, otherwise they will be assigned normally.

You start with Key of Beginnings, Key of Guidance, and Key to Truth for Floor 1 in your inventory.
Expand All @@ -19,29 +17,17 @@ Your goal is find all 7 friend cards (Aladdin, Ariel, Beast, Donald, Goofy, Jack

## What items and locations get shuffled?

###Items

In addition to the unlocks for each floor, card packs or card sets are shuffled into the item pool.

Card sets are comprised of a card type and a value range. For example, you might receive Blizzard 4-6, which means you receive Blizzard 4, Blizzard 5, and Blizzard 6.

Card packs are the other way to receive cards in the randomizer and come in three varieties:

Bronze

Most abundant

Contains 3 cards of any numeric value of the following types: Kingdom Key, Three Wishes, Pumpkinhead, Olympia, Wishing Star, Lady Luck, Potion, Hi-Potion, Ether, Fire, Blizzard, Thunder, Simba, Genie, Cloud, Dumbo

Silver

Second most abundant

Contains 3 cards of any numeric value of the following types: Lionheart, Metal Chocobo, Spellbinder, Divine Rose, Crabclaw, Mega-Potion, Elixir, Mega-Ether, Cure, Stop, Gravity, Aero, Bambi, Mushu, Tinker Bell

Gold
Card packs are the other way to receive cards in the randomizer and include a predefined number of cards which vary in strength depending on the card pack tier; Bronze, Silver, or Gold.

Least abundant
###Locations

Contains 3 cards of any numeric value of the following types: Oathkeeper, Oblivion, Diamond Dust, One-Winged Angel, Ultima Weapon, Megalixir
Journal entries are locations, including story, heartless, and battle card entries discluding enemy cards.


## Which items can be in another player's world?
Expand Down
2 changes: 1 addition & 1 deletion worlds/khcom/docs/khcom_en.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ an experience customized for their taste, and different players in the same mult

### Where do I get a YAML file?

you can customize your settings by visiting the [Kingdom Hearts Chain of Memories Settings Page](/games/Kingdom%20Hearts%20Chain%20of%20Memories/player-settings).
You can customize your settings by visiting the [Kingdom Hearts Chain of Memories Settings Page](/games/Kingdom%20Hearts%20Chain%20of%20Memories/player-settings).

### Connect to the MultiServer

Expand Down
2 changes: 1 addition & 1 deletion worlds/khrecom/Items.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ def get_items_by_category(category: str, disclude: list) -> Dict[str, KHRECOMIte
"Key to Rewards Neverland": KHRECOMItemData("Gold Map Cards", code = 268_3308, classification = ItemClassification.useful, max_quantity = 1, weight = 1),
"Key to Rewards Hollow Bastion": KHRECOMItemData("Gold Map Cards", code = 268_3309, classification = ItemClassification.progression, max_quantity = 1, weight = 1),
"Key to Rewards Twilight Town": KHRECOMItemData("Gold Map Cards", code = 268_3311, classification = ItemClassification.useful, max_quantity = 1, weight = 1),
"Key to Rewards Destiny Island": KHRECOMItemData("Gold Map Cards", code = 268_3312, classification = ItemClassification.progression, max_quantity = 1, weight = 1),
"Key to Rewards Destiny Islands": KHRECOMItemData("Gold Map Cards", code = 268_3312, classification = ItemClassification.progression, max_quantity = 1, weight = 1),
"Key to Rewards Castle Oblivion": KHRECOMItemData("Gold Map Cards", code = 268_3313, classification = ItemClassification.useful, max_quantity = 1, weight = 1),

#Friend Cards
Expand Down
15 changes: 4 additions & 11 deletions worlds/khrecom/Options.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,31 @@

from Options import Choice, Range, Option, Toggle, DeathLink, DefaultOnToggle, OptionSet

class PrioritizeBosses(DefaultOnToggle):
"""
Should boss location prioritize holding progression items?
"""
display_name = "Progression Items Prioritized to Bosses"

class Zeroes(DefaultOnToggle):
"""
Toggle whether 0's should be included
Toggle whether 0 value cards should be included in the item pool.
"""
display_name = "Zeroes"

class Cure(DefaultOnToggle):
"""
Toggle whether Cure cards should be included
Toggle whether Cure cards should be included in the item pool.
"""
display_name = "Cure"

class EarlyCure(DefaultOnToggle):
"""
Should one of the starting checks contain Cure 4-6?
Toggle whether one of the starting checks should include Cure 4-6
"""
display_name = "Early Cure"

class EnemyCards(DefaultOnToggle):
"""
Should enemy cards be shuffled into the pool?
Toggle whether Enemy Cards should be included in the item pool.
"""
display_name = "Enemy Cards"

khrecom_options: Dict[str, type(Option)] = {
"prioritize_bosses": PrioritizeBosses,
"zeroes": Zeroes,
"cure": Cure,
"early_cure": EarlyCure,
Expand Down
6 changes: 0 additions & 6 deletions worlds/khrecom/Rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,6 @@ def set_rules(multiworld: MultiWorld, player: int):
multiworld.get_entrance("Floor 12" , player).access_rule = lambda state: has_item(state, player,"World Card Destiny Islands") and has_x_worlds(state, player, 7)
multiworld.get_entrance("Floor 13" , player).access_rule = lambda state: has_item(state, player,"World Card Castle Oblivion") and has_x_worlds(state, player, 9)

# Options

if multiworld.prioritize_bosses[player]:
for location in multiworld.get_locations(player):
if location.name in get_locations_by_category("Boss").keys():
location.progress_type = LocationProgressType.PRIORITY


# Win condition.
Expand Down
57 changes: 0 additions & 57 deletions worlds/khrecom/docs/en_Kingdom Hearts Chain of Memories.md

This file was deleted.

40 changes: 40 additions & 0 deletions worlds/khrecom/docs/en_Kingdom Hearts RE Chain of Memories.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Kingdom Hearts RE Chain of Memories (PC)

## Where is the settings page?

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

## What does randomization do to this game?

The Kingdom Hearts RE Chain of Memories Randomizer will removes cards you pick up in the overworld, moogle shops, and as rewards from boss battles from your inventory.

The entire castle is open from the start after completing Traverse Town. Floors you haven't unlocked are assigned Traverse Town, otherwise they will be assigned normally.

Your goal is find all 7 friend cards (Aladdin, Ariel, Beast, Donald, Goofy, Jack, Peter Pan). These are tracked in your journal.

## What items and locations get shuffled?

###Items

World Unlocks, Key of Rewards for each floor, Enemy Cards, and card sets are shuffled into the item pool.

Card sets are comprised of a card type and a value range. For example, you might receive Blizzard 4-6, which means you receive Blizzard 4, Blizzard 5, and Blizzard 6.

###Locations

Journal entries for Attack, Magic, Summon, and Item Cards are locations, as well as the Enemy Card journal entries for boss enemy cards.

Opening each floor's Room of Beginnings, Room of Guidance, and Room of Truth for the first time are also locations.

## 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.

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

Please reach out to Gicu#7034 on Discord.
17 changes: 0 additions & 17 deletions worlds/khrecom/docs/khcom_en.md

This file was deleted.

51 changes: 51 additions & 0 deletions worlds/khrecom/docs/khrecom_en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Kingdom Hearts RECOM Randomizer Setup Guide

##Setting up the required mods
1. Install OpenKH and the LUA Backend.

Download the latest release of OpenKH here: 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 via Epic Games Store and navigate to your KH_1.5_2.5 in the path box and click "Next"

When prompted, install Panacea, then click "Next"

When prompted, check ReCoM plus any other AP game you play (KH2) and click "Install and configure LUA backend", then click "Next".

Ensure that "Launch via Epic Games" is checked and click "Next"

Extract game data for ReCoM and any other AP game you play (KH2), then click "Next".

Click "Finish"

2. Open "OpenKh.Tools.ModsManager.exe"

3. Click the drop down menu at the top-right and choose "Re:Chain of Memories"

4. Click Mods>Install a New Mod

5. In "Add a new mod from GitHub" paste "gaithern/KH-RECOM-AP-LUA"

6. Click Install

7. Navigate to Mod Loader and click "Build Only"


## Configuring your YAML file

### What is a YAML file and why do I need one?

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.

### Where do I get a YAML file?

you can customize your settings by visiting the [Kingdom Hearts RE Chain of Memories Settings Page](/games/Kingdom%20Hearts%20RE%20Chain%20of%20Memories/player-settings).

## Connect to the MultiServer

On the title screen, open your KHRECOM Client and connect to your MultiServer.

0 comments on commit b362609

Please sign in to comment.