Merge branch 'DoorDev' into Synthesis
# Conflicts: # Main.py # README.md # RELEASENOTES.md
This commit is contained in:
1
.mailmap
Normal file
1
.mailmap
Normal file
@@ -0,0 +1 @@
|
||||
<randall.rupper@gmail.com> <randall.rupper@sirsidynix.com>
|
||||
@@ -2626,6 +2626,8 @@ mandatory_connections = [('Links House S&Q', 'Links House'),
|
||||
('Bumper Cave Entrance Mirror Spot', 'Death Mountain Entrance'),
|
||||
('Bumper Cave Ledge Drop', 'West Dark World'),
|
||||
('Bumper Cave Ledge Mirror Spot', 'Death Mountain Return Ledge'),
|
||||
('Bumper Cave Bottom to Top', 'Bumper Cave (top)'),
|
||||
('Bumper Cave Top To Bottom', 'Bumper Cave (bottom)'),
|
||||
('Skull Woods Forest', 'Skull Woods Forest'),
|
||||
('Desert Ledge Mirror Spot', 'Desert Ledge'),
|
||||
('Desert Ledge (Northeast) Mirror Spot', 'Desert Ledge (Northeast)'),
|
||||
@@ -2754,6 +2756,8 @@ inverted_mandatory_connections = [('Links House S&Q', 'Inverted Links House'),
|
||||
('Bumper Cave Entrance Rock', 'Bumper Cave Entrance'),
|
||||
('Bumper Cave Entrance Drop', 'West Dark World'),
|
||||
('Bumper Cave Ledge Drop', 'West Dark World'),
|
||||
('Bumper Cave Bottom to Top', 'Bumper Cave (top)'),
|
||||
('Bumper Cave Top To Bottom', 'Bumper Cave (bottom)'),
|
||||
('Skull Woods Forest', 'Skull Woods Forest'),
|
||||
('Paradox Cave Push Block Reverse', 'Paradox Cave Chest Area'),
|
||||
('Paradox Cave Push Block', 'Paradox Cave Front'),
|
||||
@@ -2977,8 +2981,8 @@ default_connections = [('Links House', 'Links House'),
|
||||
('C-Shaped House', 'C-Shaped House'),
|
||||
('Chest Game', 'Chest Game'),
|
||||
('Dark World Hammer Peg Cave', 'Dark World Hammer Peg Cave'),
|
||||
('Bumper Cave (Bottom)', 'Bumper Cave'),
|
||||
('Bumper Cave (Top)', 'Bumper Cave'),
|
||||
('Bumper Cave (Bottom)', 'Bumper Cave (bottom)'),
|
||||
('Bumper Cave (Top)', 'Bumper Cave (top)'),
|
||||
('Red Shield Shop', 'Red Shield Shop'),
|
||||
('Dark Sanctuary Hint', 'Dark Sanctuary Hint'),
|
||||
('Fortune Teller (Dark)', 'Fortune Teller (Dark)'),
|
||||
@@ -3140,7 +3144,7 @@ inverted_default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'
|
||||
('Inverted Big Bomb Shop', 'Inverted Big Bomb Shop'),
|
||||
('Inverted Dark Sanctuary', 'Inverted Dark Sanctuary'),
|
||||
('Inverted Dark Sanctuary Exit', 'West Dark World'),
|
||||
('Old Man Cave (West)', 'Bumper Cave'),
|
||||
('Old Man Cave (West)', 'Bumper Cave (bottom)'),
|
||||
('Old Man Cave (East)', 'Death Mountain Return Cave (left)'),
|
||||
('Old Man Cave Exit (West)', 'West Dark World'),
|
||||
('Old Man Cave Exit (East)', 'Dark Death Mountain'),
|
||||
@@ -3149,7 +3153,7 @@ inverted_default_connections = [('Waterfall of Wishing', 'Waterfall of Wishing'
|
||||
('Bumper Cave (Top)', 'Dark Death Mountain Healer Fairy'),
|
||||
('Bumper Cave Exit (Top)', 'Death Mountain Return Ledge'),
|
||||
('Bumper Cave Exit (Bottom)', 'Light World'),
|
||||
('Death Mountain Return Cave (West)', 'Bumper Cave'),
|
||||
('Death Mountain Return Cave (West)', 'Bumper Cave (top)'),
|
||||
('Death Mountain Return Cave (East)', 'Death Mountain Return Cave (right)'),
|
||||
('Death Mountain Return Cave Exit (West)', 'Death Mountain'),
|
||||
('Death Mountain Return Cave Exit (East)', 'Death Mountain'),
|
||||
|
||||
@@ -184,7 +184,8 @@ def create_inverted_regions(world, player):
|
||||
create_cave_region(player, 'Chest Game', 'a game of 16 chests', ['Chest Game']),
|
||||
create_cave_region(player, 'Red Shield Shop', 'the rare shop', ['Red Shield Shop - Left', 'Red Shield Shop - Middle', 'Red Shield Shop - Right']),
|
||||
create_cave_region(player, 'Inverted Dark Sanctuary', 'a storyteller', None, ['Inverted Dark Sanctuary Exit']),
|
||||
create_cave_region(player, 'Bumper Cave', 'a connector', None, ['Bumper Cave Exit (Bottom)', 'Bumper Cave Exit (Top)']),
|
||||
create_cave_region(player, 'Bumper Cave (bottom)', 'a connector', None, ['Bumper Cave Exit (Bottom)', 'Bumper Cave Bottom to Top']),
|
||||
create_cave_region(player, 'Bumper Cave (top)', 'a connector', None, ['Bumper Cave Exit (Top)', 'Bumper Cave Top To Bottom']),
|
||||
create_dw_region(player, 'Skull Woods Forest', None, ['Skull Woods First Section Hole (East)', 'Skull Woods First Section Hole (West)', 'Skull Woods First Section Hole (North)',
|
||||
'Skull Woods First Section Door', 'Skull Woods Second Section Door (East)']),
|
||||
create_dw_region(player, 'Skull Woods Forest (West)', None, ['Skull Woods Second Section Hole', 'Skull Woods Second Section Door (West)', 'Skull Woods Final Section']),
|
||||
|
||||
2
Main.py
2
Main.py
@@ -33,7 +33,7 @@ from source.overworld.EntranceShuffle2 import link_entrances_new
|
||||
from source.tools.BPS import create_bps_from_data
|
||||
from source.classes.CustomSettings import CustomSettings
|
||||
|
||||
__version__ = '1.0.1.3-x'
|
||||
__version__ = '1.2.0.0-x'
|
||||
|
||||
from source.classes.BabelFish import BabelFish
|
||||
|
||||
|
||||
@@ -745,11 +745,11 @@ vanilla_pots = {
|
||||
0xE7: [Pot(68, 5, PotItem.OneRupee, 'Death Mountain Return Cave (right)', obj=RoomObject(0x0AB389, [0x8B, 0x2B, 0xFA])),
|
||||
Pot(72, 5, PotItem.OneRupee, 'Death Mountain Return Cave (right)', obj=RoomObject(0x0AB38C, [0x93, 0x2B, 0xFA]))],
|
||||
0xE8: [Pot(96, 4, PotItem.Heart, 'Superbunny Cave (Bottom)', obj=RoomObject(0x0AA98E, [0xC3, 0x23, 0xFA]))],
|
||||
0xEB: [Pot(206, 8, PotItem.FiveRupees, 'Bumper Cave', obj=RoomObject(0x0AADE7, [0x9F, 0x47, 0xFA])),
|
||||
Pot(210, 8, PotItem.FiveRupees, 'Bumper Cave', obj=RoomObject(0x0AADEA, [0xA7, 0x47, 0xFA])),
|
||||
Pot(88, 14, PotItem.SmallMagic, 'Bumper Cave', obj=RoomObject(0x0AADED, [0xB3, 0x73, 0xFA])),
|
||||
Pot(92, 14, PotItem.Heart, 'Bumper Cave', obj=RoomObject(0x0AADF0, [0xBB, 0x73, 0xFA])),
|
||||
Pot(96, 14, PotItem.SmallMagic, 'Bumper Cave', obj=RoomObject(0x0AADF3, [0xC3, 0x73, 0xFA]))],
|
||||
0xEB: [Pot(206, 8, PotItem.FiveRupees, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADE7, [0x9F, 0x47, 0xFA])),
|
||||
Pot(210, 8, PotItem.FiveRupees, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADEA, [0xA7, 0x47, 0xFA])),
|
||||
Pot(88, 14, PotItem.SmallMagic, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADED, [0xB3, 0x73, 0xFA])),
|
||||
Pot(92, 14, PotItem.Heart, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADF0, [0xBB, 0x73, 0xFA])),
|
||||
Pot(96, 14, PotItem.SmallMagic, 'Bumper Cave (bottom)', obj=RoomObject(0x0AADF3, [0xC3, 0x73, 0xFA]))],
|
||||
0xF1: [Pot(64, 5, PotItem.Heart, 'Old Man Cave', obj=RoomObject(0x0AA6B2, [0x83, 0x2B, 0xFA]))],
|
||||
0xF3: [Pot(0x28, 0x14, PotItem.Nothing, 'Elder House', obj=RoomObject(0x0AA76F, [0x53, 0xA3, 0xFA])),
|
||||
Pot(0x2C, 0x14, PotItem.Nothing, 'Elder House', obj=RoomObject(0x0AA772, [0x5B, 0xA3, 0xFA])),
|
||||
@@ -851,10 +851,10 @@ vanilla_pots = {
|
||||
Pot(100, 22, PotItem.Heart, 'Dark Lake Hylia Ledge Spike Cave', obj=RoomObject(0x0AB62A, [0xCB, 0xB3, 0xFA])),
|
||||
Pot(88, 28, PotItem.Heart, 'Dark Lake Hylia Ledge Spike Cave', obj=RoomObject(0x0AB633, [0xB3, 0xE3, 0xFA])),
|
||||
Pot(100, 28, PotItem.Heart, 'Dark Lake Hylia Ledge Spike Cave', obj=RoomObject(0x0AB636, [0xCB, 0xE3, 0xFA]))],
|
||||
0x127: [Pot(24, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2A801A, [0x33, 0xCB, 0xFA])),
|
||||
Pot(28, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2A801D, [0x3B, 0xCB, 0xFA])),
|
||||
Pot(32, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2A8020, [0x43, 0xCB, 0xFA])),
|
||||
Pot(36, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2A8023, [0x4B, 0xCB, 0xFA]))],
|
||||
0x127: [Pot(24, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2B801A, [0x33, 0xCB, 0xFA])),
|
||||
Pot(28, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2B801D, [0x3B, 0xCB, 0xFA])),
|
||||
Pot(32, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2B8020, [0x43, 0xCB, 0xFA])),
|
||||
Pot(36, 25, PotItem.Nothing, 'Dark World Hammer Peg Cave', obj=RoomObject(0x2B8023, [0x4B, 0xCB, 0xFA]))],
|
||||
}
|
||||
|
||||
|
||||
|
||||
459
README.md
459
README.md
@@ -4,15 +4,39 @@ This is a door randomizer for _The Legend of Zelda: A Link to the Past_ for the
|
||||
based on the Entrance Randomizer found at [KevinCathcart's Github Project.](https://github.com/KevinCathcart/ALttPEntranceRandomizer)
|
||||
See https://alttpr.com/ for more details on the normal randomizer.
|
||||
|
||||
# Known Issues
|
||||
# Documentation
|
||||
1. [Setup and Installation](#setup-and-installation)
|
||||
2. [Commonly Missed Things](#commonly-missed-things) (** **Read This If New** **)
|
||||
3. [Settings](#settings)
|
||||
1. [Dungeon Randomization](#dungeon-settings)
|
||||
1. [Dungeon Door Shuffle](#door-shuffle---doorshuffle)
|
||||
2. [Intensity Level](#intensity---intensity-number)
|
||||
3. [Key Drop Shuffle (Legacy)](#key-drop-shuffle-legacy---keydropshuffle)
|
||||
4. [Pottery](#pottery)
|
||||
5. [Shuffle Enemy Key Drops](#shuffle-enemy-key-drops---dropshuffle)
|
||||
6. [Experimental Features](#experimental-features)
|
||||
7. [Crossed Dungeon Specific Settings](#crossed-dungeon-specific-settings)
|
||||
2. [Item Randomization Changes](#item-randomization)
|
||||
1. [New "Items"](#new-items)
|
||||
2. [Shopsanity](#shopsanity)
|
||||
3. [Logic Level](#logic-level)
|
||||
4. [Goal](#goal)
|
||||
5. [Item Sorting](#item-sorting)
|
||||
6. [Forbidden Boss Items](#forbidden-boss-items)
|
||||
3. [Entrance Randomization](#entrance-randomization)
|
||||
1. [Shuffle Links House](#shuffle-links-house)
|
||||
2. [Overworld Map](#overworld-map)
|
||||
4. [Enemizer](#enemizer)
|
||||
5. [Game Options](#game-options)
|
||||
6. [Generation Setup & Miscellaneous](#generation-setup--miscellaneous)
|
||||
|
||||
[List of Known Issues and Their Status](https://docs.google.com/document/d/1Bk-m-QRvH5iF60ndptKYgyaV7P93D3TiG8xmdxp_bdQ/edit?usp=sharing)
|
||||
## Setup and Installation
|
||||
|
||||
# Feedback and Bug Reports
|
||||
### Feedback and Bug Reports
|
||||
|
||||
Please just DM me on discord for now. I (Aerinon) can be found at the [ALTTP Randomizer discord](https://discordapp.com/invite/alttprandomizer).
|
||||
|
||||
# Installation
|
||||
### Installation
|
||||
|
||||
Click on
|
||||
|
||||
@@ -22,7 +46,7 @@ Go down to Assets and find a build for your system (Windows, Mac, or Linux)
|
||||
|
||||
Download and unzip. Find the DungeonRandomizer.exe or equivalent
|
||||
|
||||
# Installation from source
|
||||
### Installation from source
|
||||
|
||||
See these instructions.
|
||||
|
||||
@@ -36,7 +60,8 @@ To use the CLI, run ```DungeonRandomizer.py```.
|
||||
|
||||
Alternatively, run ```Gui.py``` for a simple graphical user interface.
|
||||
|
||||
# Commonly Missed Things and Differences from other Randomizers
|
||||
# Commonly Missed Things
|
||||
#### and Differences from other Randomizers
|
||||
|
||||
Most of these apply only when the door shuffle is not vanilla.
|
||||
|
||||
@@ -76,69 +101,111 @@ You start with a “Mirror Scroll”, a dumbed-down mirror that only works in du
|
||||
|
||||
# Settings
|
||||
|
||||
## Dungeon Settings
|
||||
|
||||
Only extra settings are found here. All entrance randomizer settings are supported. See their [readme](https://github.com/KevinCathcart/ALttPEntranceRandomizer/blob/master/README.md)
|
||||
|
||||
## Door Shuffle (--doorShuffle)
|
||||
### Door Shuffle (--doorShuffle)
|
||||
|
||||
### Basic
|
||||
* Vanilla - Doors are not shuffled
|
||||
* Basic - Doors are shuffled only within a single dungeon.
|
||||
* Crossed - Doors are shuffled between dungeons as well.
|
||||
|
||||
Doors are shuffled only within a single dungeon.
|
||||
### Intensity (--intensity number)
|
||||
|
||||
### Crossed
|
||||
* Level 1 - Normal door and spiral staircases are shuffled
|
||||
* Level 2 - Same as Level 1 plus open edges and both types of straight staircases are shuffled.
|
||||
* Level 3 - Same as Level 2 plus Dungeon Lobbies are shuffled
|
||||
|
||||
Doors are shuffled between dungeons as well.
|
||||
|
||||
### Vanilla
|
||||
|
||||
Doors are not shuffled.
|
||||
|
||||
## Intensity (--intensity number)
|
||||
|
||||
#### Level 1
|
||||
Normal door and spiral staircases are shuffled
|
||||
#### Level 2
|
||||
Same as Level 1 plus open edges and both types of straight staircases are shuffled.
|
||||
#### Level 3
|
||||
Same as Level 2 plus Dungeon Lobbies are shuffled
|
||||
|
||||
## KeyDropShuffle (--keydropshuffle)
|
||||
### Key Drop Shuffle (Legacy) (--keydropshuffle)
|
||||
|
||||
Adds 33 new locations to the randomization pool. The 32 small keys found under pots and dropped by enemies and the Big
|
||||
Key drop location are added to the pool. The keys normally found there are added to the item pool. Retro adds
|
||||
32 generic keys to the pool instead.
|
||||
32 generic keys to the pool instead. This has been can be controlled more granularly with the [Pottery](#pottery) and
|
||||
[Shuffle Enemy Key Drops](#shuffle-enemy-key-drops---dropshuffle)
|
||||
|
||||
## Crossed Dungeon Specific Settings
|
||||
### Pottery
|
||||
|
||||
### Mixed Travel (--mixed_travel value)
|
||||
New pottery option that control which pots (and large blocks) are in the locations pool:
|
||||
|
||||
Due to Hammerjump, Hovering in PoD Arena, and the Mire Big Key Chest bomb jump two sections of a supertile that are
|
||||
* None: No pots are in the pool, like normal randomizer
|
||||
* Key Pots: The pots that have keys are in the pool. This is about half of the old keydropshuffle option
|
||||
* Cave Pots: The pots that are not found in dungeons are in the pool. (Includes the large block in Spike Cave). Does
|
||||
not include key pots.
|
||||
* Cave + Keys Pots: Both non-dungeon pots and pots that used to have keys are in the pool.
|
||||
* Reduced Dungeon Pots: Same as Cave+Keys but also roughly a quarter of dungeon pots are added to the location pool picked at random. This is a dynamic mode so pots in the pool will be colored. Pots out of the pool will have vanilla contents.
|
||||
* Clustered Dungeon Pots: Like reduced but pots are grouped by logical sets and roughly 50% of pots are chosen from those groups. This is a dynamic mode like the above.
|
||||
* Excludes Empty Pots: All pots that had some sort of objects under them are chosen to be in the location pool. This excludes most large blocks and some pots out of dungeons.
|
||||
* Dungeon Pots: The pots that are in dungeons are in the pool. (Includes serveral large blocks)
|
||||
* Lottery: All pots and large blocks are in the pool.
|
||||
|
||||
By default, switches remain in their vanilla location (unless you turn on the legacy option below)
|
||||
|
||||
CLI `--pottery <option>` from `none, keys, cave, cavekeys, reduced, clustered, nonempty, dungeon, lottery`
|
||||
|
||||
Note for multiworld: due to the design of the pottery lottery, only 256 items for other players can be under pots in your world.
|
||||
|
||||
#### Colorize Pots
|
||||
|
||||
If the pottery mode is dynamic, this option is forced to be on (clustered and reduced). It is allowed to be on in all other pottery modes. Exceptions include "none" where no pots would be colored, and "lottery" where all pots would be. This option colors the pots differently that have been chosen to be part of the location pool. If not specified, you are expected to remember the pottery setting you chose. Note that Mystery will colorize all pots if lottery is chosen randomly.
|
||||
|
||||
CLI `--colorizepots`
|
||||
|
||||
#### Pot Shuffle (Legacy)
|
||||
|
||||
This continues to works the same by shuffling all pots on a supertile. It works with the lottery option as well to move the switches to any valid pot on the supertile regardless of the pots chosen in the pottery mode. This may increase the number of pot locations slightly depending on the mode.
|
||||
|
||||
### Shuffle Enemy Key Drops (--dropshuffle)
|
||||
|
||||
Enemies that drop keys can have their drop shuffled into the pool. This is the one part of the keydropshuffle option.
|
||||
See the pottery option for more options involving pots.
|
||||
|
||||
### Experimental Features
|
||||
|
||||
You will start as a bunny if your spawn point is in the dark world. CLI: `--experimental`
|
||||
|
||||
### Crossed Dungeon Specific Settings
|
||||
|
||||
#### Dungeon Chest Counters
|
||||
|
||||
* Auto - picks an appropriate setting based on other settings. Generally will be pickup if the number of item in a dungeon changes.
|
||||
* On - Dungeon counters on hud always displayed
|
||||
* Off - Dungeon counters on hud never displayer
|
||||
* On Compass Pickup - Dungeons with a compass item will display the counter once the compass is found. Dungeons without a compass item will display always unless the number of items in the dungeon is completely vanilla.
|
||||
|
||||
CLI: `--dungeon_counters` from `auto, on, off, pickup`
|
||||
|
||||
#### Mixed Travel (--mixed_travel value)
|
||||
|
||||
Due to Hammerjump, Hovering in PoD Arena, and the Mire Big Key Chest bomb jump, two sections of a supertile that are
|
||||
otherwise unconnected logically can be reached using these glitches. To prevent the player from unintentionally changing
|
||||
dungeons while doing these tricks, you may use one of the following options.
|
||||
dungeons while doing these tricks, you may use one of the following options:
|
||||
|
||||
#### Prevent (default)
|
||||
* Prevent (default):
|
||||
Rails are added the 3 spots to prevent these tricks. This setting is recommend for those learning crossed dungeon mode to learn what is dangerous and what is not. No logic seeds ignore this setting.
|
||||
* Allow: The rooms are left alone and it is up to the discretion of the player whether to use these tricks or not.
|
||||
* Force: The two disjointed sections are forced to be in the same dungeon but the glitches are never logically required to complete that game.
|
||||
|
||||
Rails are added the 3 spots to prevent this tricks. This setting is recommend for those learning crossed dungeon mode to
|
||||
learn what is dangerous and what is not. No logic seeds ignore this setting.
|
||||
|
||||
#### Allow
|
||||
|
||||
The rooms are left alone and it is up to the discretion of the player whether to use these tricks or not.
|
||||
|
||||
#### Force
|
||||
|
||||
The two disjointed sections are forced to be in the same dungeon but the glitches are never logically required to complete that game.cause then you would need time to check the map in a d
|
||||
|
||||
### Standardize Palettes (--standardize_palettes)
|
||||
#### Standardize Palettes (--standardize_palettes)
|
||||
No effect if door shuffle is not on crossed
|
||||
|
||||
#### Standardize (default)
|
||||
Rooms in the same dungeon have their palettes changed to match. Hyrule Castle is split between Sewer and HC palette.
|
||||
* Standardize (default): Rooms in the same dungeon have their palettes changed to match. Hyrule Castle is split between Sewer and HC palette.
|
||||
Rooms adjacent to sanctuary get their coloring to match the Sanctuary's original palette.
|
||||
* Original: Rooms/supertiles keep their original palettes.
|
||||
|
||||
#### Original
|
||||
Rooms/supertiles keep their original palettes.
|
||||
## Item Randomization
|
||||
|
||||
## Shopsanity
|
||||
### New "Items"
|
||||
|
||||
#### Bombbag (--bombbag)
|
||||
|
||||
Two bomb bags are added to the item pool (They look like +10 Capacity upgrades). Bombs are unable to be used until one is found. Bomb capacity upgrades are otherwise unavailable.
|
||||
|
||||
#### Pseudo Boots (--pseudoboots)
|
||||
|
||||
Dashing is allowed without the boots item however doors and certain rocks remain un-openable until boots are found. Items that require boots are still unattainable. Specific sequence breaks like hovering and water-walking are not allowed until boots are found. Bonk distance is shortened to prevent certain pits from being crossed. Finding boots restores all normal behavior.
|
||||
|
||||
### Shopsanity
|
||||
|
||||
This adds 32 shop locations (9 more in retro) to the general location pool.
|
||||
|
||||
@@ -193,33 +260,33 @@ Detailed explanation: It is calculated how much money is available in the item p
|
||||
All prices range approx. from half the base price to twice the base price (as a max) in increments of 5, the exact price is chosen randomly within the range subject to adjustments by the sphere effects above.
|
||||
|
||||
| Category | Items | Base Price | Typical Range |
|
||||
| ----------------- | ------- |:----------:|:-------------:|
|
||||
| Major Progression | Hammer, Hookshot, Mirror, Ocarina, Boots, Somaria, Fire Rod, Ice Rod | 250 | 125-500
|
||||
| | Moon Pearl | 200 | 100-400
|
||||
| | Lamp, Progressive Bows, Gloves, & Swords | 150 | 75-300
|
||||
| | Triforce Piece | 100 | 50-200
|
||||
| Medallions | Bombos, Ether, Quake | 100 | 50-200
|
||||
| Safety/Fetch | Cape, Mushroom, Shovel, Powder, Bug Net, Byrna, Progressive Armor & Shields, Half Magic | 50 | 25-100
|
||||
| Bottles | Empty Bottle or Bee Bottle | 50 | 25-100
|
||||
| | Green Goo or Good Bee | 60 | 30-120
|
||||
| | Red Goo or Fairy | 70 | 35-140
|
||||
| | Blue Goo | 80 | 40-160
|
||||
| Health | Heart Container | 40 | 20-80
|
||||
| | Sanctuary Heart | 50 | 25-100
|
||||
| | Piece of Heart | 10 | 5-20
|
||||
| Dungeon | Big Keys | 60 | 30-120
|
||||
| | Small Keys | 40 | 20-80
|
||||
| | Info Maps | 20 | 10-40
|
||||
| | Other Maps & Compasses | 10 | 5-20
|
||||
| Rupees | Green | Free | Free
|
||||
| | Blue | 2 | 2-4
|
||||
| | Red | 10 | 5-20
|
||||
| | Fifty | 25 | 15-50
|
||||
| | One Hundred | 50 | 25-100
|
||||
| | Three Hundred | 150 | 75-300
|
||||
| Ammo | Three Bombs | 15 | 10-30
|
||||
| | Single Arrow | 3 | 3-6
|
||||
| Original Shop Items | Other Ammo, Refills, Non-Progressive Shields, Capacity Upgrades, Small Hearts, Retro Quiver, Universal Key | Original | .5 - 2 * Original
|
||||
|---------------------|------------------------------------------------------------------------------------------------------------|:----------:|:-----------------:|
|
||||
| Major Progression | Hammer, Hookshot, Mirror, Ocarina, Boots, Somaria, Fire Rod, Ice Rod | 250 | 125-500 |
|
||||
| | Moon Pearl | 200 | 100-400 |
|
||||
| | Lamp, Progressive Bows, Gloves, & Swords | 150 | 75-300 |
|
||||
| | Triforce Piece | 100 | 50-200 |
|
||||
| Medallions | Bombos, Ether, Quake | 100 | 50-200 |
|
||||
| Safety/Fetch | Cape, Mushroom, Shovel, Powder, Bug Net, Byrna, Progressive Armor & Shields, Half Magic | 50 | 25-100 |
|
||||
| Bottles | Empty Bottle or Bee Bottle | 50 | 25-100 |
|
||||
| | Green Goo or Good Bee | 60 | 30-120 |
|
||||
| | Red Goo or Fairy | 70 | 35-140 |
|
||||
| | Blue Goo | 80 | 40-160 |
|
||||
| Health | Heart Container | 40 | 20-80 |
|
||||
| | Sanctuary Heart | 50 | 25-100 |
|
||||
| | Piece of Heart | 10 | 5-20 |
|
||||
| Dungeon | Big Keys | 60 | 30-120 |
|
||||
| | Small Keys | 40 | 20-80 |
|
||||
| | Info Maps | 20 | 10-40 |
|
||||
| | Other Maps & Compasses | 10 | 5-20 |
|
||||
| Rupees | Green | Free | Free |
|
||||
| | Blue | 2 | 2-4 |
|
||||
| | Red | 10 | 5-20 |
|
||||
| | Fifty | 25 | 15-50 |
|
||||
| | One Hundred | 50 | 25-100 |
|
||||
| | Three Hundred | 150 | 75-300 |
|
||||
| Ammo | Three Bombs | 15 | 10-30 |
|
||||
| | Single Arrow | 3 | 3-6 |
|
||||
| Original Shop Items | Other Ammo, Refills, Non-Progressive Shields, Capacity Upgrades, Small Hearts, Retro Quiver, Universal Key | Original | .5 - 2 * Original |
|
||||
|
||||
#### Rupee Balancing Algorithm
|
||||
|
||||
@@ -241,39 +308,148 @@ Arrow Capacity upgrades are now replaced by Rupees wherever it might end up.
|
||||
|
||||
The Ten Arrows and 5 randomly selected Small Hearts or Blue Shields are replaced by the quiver item (represented by the Single Arrow in game.) 5 Red Potion refills are replaced by the Universal small key. It is assured that at least one shop sells Universal Small Keys. The quiver may thus not be found in shops. The quiver and small keys retain their original base price, but may be discounted.
|
||||
|
||||
## Logic Level
|
||||
### Logic Level
|
||||
|
||||
### Overworld Glitches
|
||||
Overworld Glitches is now supported.
|
||||
|
||||
Set `--logic` to `owglitches` to make overworld glitches required in the logic.
|
||||
CLI: `--logic owglitches`
|
||||
|
||||
## Shuffle Links House
|
||||
### Goal
|
||||
|
||||
Trinity goal is now supported. Find one of 3 triforces to win. One is at pedestal. One is with Ganon. One is with Murahdahla who wants you to find 8 of 10 triforce pieces to complete.
|
||||
|
||||
### Item Sorting
|
||||
|
||||
The "Item Sorting" option or ```--algorithm``` has been updated with new placement algorithms. Older algorithms have been removed.
|
||||
|
||||
When referenced below, Major Items include all Y items, all A items, all equipment (swords, shields, & armor) and Heart Containers. Dungeon items are considered major if shuffled outside of dungeons. Bomb and arrows upgrades are Major if shopsanity is turned on. The arrow quiver and universal small keys are Major if retro is turned on. Triforce Pieces are Major if that is the goal, and the Bomb Bag is Major if that is enabled.
|
||||
|
||||
Here are the current fill options:
|
||||
|
||||
#### Balanced
|
||||
|
||||
This one stays the same as before and is recommended for the most random distribution of items.
|
||||
|
||||
#### Vanilla Fill
|
||||
|
||||
This fill attempts to place all items in their vanilla locations when possible. Obviously shuffling entrances or the dungeon interiors will often prevent items from being placed in their vanilla location. If the vanilla fill is not possible, then other locations are tried in sequence preferring "major" locations (see below), then heart piece locations, then the rest except for GT locations which are preferred last. Note the PoD small key that is normally found in the dark maze in vanilla is move to Harmless Hellway due to the placement algorithm limitation.
|
||||
|
||||
#### Major Location Restriction
|
||||
|
||||
This fill attempts to place major items in major locations. Major locations are where the major items are found in the vanilla game. This includes the spot next to Uncle in the Sewers, and the Boomerang chest in Hyrule Castle.
|
||||
|
||||
This location pool is expanded to where dungeon items are locations if those dungeon items are shuffled. The Capacity Fairy locations are included if Shopsanity is on. If retro is enabled in addition to shopsanity, then the Old Man Sword Cave and one location in each retro cave is included. Key drop locations can be included if small or big key shuffle is on. This gives a very good balance between overworld and underworld locations though the dungeons ones will be on bosses and in big chests generally. Seeds do become more linear but usually easier to figure out.
|
||||
|
||||
#### Dungeon Restriction
|
||||
|
||||
The fill attempts to place all major items in dungeons. It will overflow to the overworld if there are more items than locations (e.g. Triforce hunt.) This fill does attempt to run the GT trash fill when possible. Seeds are typically very linear but tend to be more difficult.
|
||||
|
||||
#### District Restriction
|
||||
|
||||
The world is divided up into different regions or districts. Each dungeon is its own district. The overworld consists of the following districts:
|
||||
|
||||
Light world:
|
||||
|
||||
* Kakariko (The main screen, blacksmith screen, and library/maze race screens)
|
||||
* Northwest Hyrule (The lost woods and fortune teller screens all the way to the river west of the potion shop)
|
||||
* Central Hyrule (Hyrule castle, Link's House, the marsh, and the haunted grove)
|
||||
* Desert (From the thief to the main desert screen)
|
||||
* Lake Hylia (Around the lake)
|
||||
* Eastern Hyrule (The eastern wild, the potion shop, and Zora's Domain)
|
||||
* Death Mountain
|
||||
|
||||
Dark world:
|
||||
|
||||
* East Dark World (The pyramid, Palace of darkness, and Catfish)
|
||||
* South Dark World (The dark lake, swamp area, to the dig game)
|
||||
* Northwest Dark World (Village of Outcasts, to the Dark Sanctuary and screens in between)
|
||||
* The Mire
|
||||
* Dark Death Mountain
|
||||
|
||||
These districts are chosen at random and then filled with major items. If a location is part of a chosen district, but there are no more major items to place, a single green rupee is placed in the extra to indicate that as a placeholder. All other single green rupees are changed to be a blue rupee in order to not give false positives.
|
||||
|
||||
In entrance shuffle, what is shuffled to the entrances is considered instead of where the interior was originally. For example, if Blind's Hut is shuffled to the Dam, then the 5 chests in Blind's Hut are part of Central Hyrule instead of Kakariko.
|
||||
|
||||
Note: Bombos Tablet, Lake Hylia Island, Bumper Cave Ledge, the Floating Island, Cave 45, the Graveyard Cave, Checkerboard Cave and Mimic Cave are considered part of the light world region rather than the dark world region you mirror from.
|
||||
|
||||
In multiworld, the districts chosen apply to all players.
|
||||
|
||||
#### CLI values:
|
||||
|
||||
```balanced, vanilla_fill, major_only, dungeon_only, district```
|
||||
|
||||
#### New Hints
|
||||
|
||||
Based on the district algorithm above (whether it is enabled or not,) new hints can appear about that district or dungeon. For each district and dungeon, it is evaluated whether it contains vital items and how many. If it has not any vital item, items then it moves onto useful items. Useful items are generally safeties or convenience items: shields, mails, half magic, bottles, medallions that aren't required, etc. If it contains none of those and is an overworld district, then it checks for a couple more things. First, if dungeons are shuffled, it looks to see if any are in the district, if so, one of those dungeons is picked for the hint. Then, if connectors are shuffled, it checks to see if you can get to unique region through a connector in that district. If none of the above apply, the district or dungeon is considered completely foolish.
|
||||
|
||||
### Forbidden Boss Items
|
||||
|
||||
You may now restrict the items that can appear on the boss, like the popular ambrosia preset does.
|
||||
|
||||
CLI: ```--restrict_boss_items <option>```
|
||||
|
||||
#### Options
|
||||
|
||||
* none: As before, the boss may have any item including any dungeon item that could occur there.
|
||||
* mapcompass: ~~The map and compass are logically required to defeat a boss. This prevents both of those from appearing on the dungeon boss. Note that this does affect item placement logic and the placement algorithm as maps and compasses are considered as required items to beat a boss.~~ Currently bugged, not recommended for use.
|
||||
* dungeon: Same as above but both small keys and bigs keys of the dungeon are not allowed on a boss. (Note: this does not affect universal keys as they are not dungeon-specific)
|
||||
|
||||
## Entrance Randomization
|
||||
|
||||
### Shuffle Links House
|
||||
|
||||
In certain ER shuffles, (not dungeonssimple or dungeonsfulls), you can now control whether Links House is shuffled or remains vanilla. Previously, inverted seeds had this behavior and would shuffle links house, but now if will only do so if this is specified. Now, also works for open modes, but links house is never shuffled in standard mode.
|
||||
|
||||
## Bomb Logic (--bombbag)
|
||||
### Overworld Map
|
||||
|
||||
When enabling this option, you do not start with bomb capacity but rather you must find 1 of 2 bomb bags. (They are represented by the +10 capacity item.) Bomb capacity upgrades are otherwise unavailable.
|
||||
Option to move indicators on overworld map to reference dungeon location. The non-default options include indicators for Hyrule Castle, Agahnim's Tower, and Ganon's Tower.
|
||||
|
||||
## Reduce Flashing
|
||||
* Default: Status quo. Showing only the prize markers on the vanilla dungeon locations.
|
||||
* Compass:
|
||||
The compass item controls whether the marker is moved to the dungeons locations. If you possess the compass but not the map, only a glowing X will be present regardless of dungeon prize type, if you only possess the map, the prizes will be shown in predicable locations at the bottom of the overworld map instead of the vanilla location. Light world dungeons on the light world map and dark world dungeons on the dark world map. If you posses both map and compass, then the prize of the dungeon and the location will be on the map.
|
||||
* Map: The map item plays double duty in this mode and only possession of the map will show both prize and location of the dungeon. If you do not shuffle maps or the dungeon does not have a map, the information will be displayed without needing to find any items.
|
||||
|
||||
Accessibility option to reducing some flashing animations in the game.
|
||||
If you do not shuffle the compass or map outside of the dungeon, the non-shuffled items are not needed to display the information. If a dungeon does not have a map or compass, it is not needed for the information. Talking to the bomb shop or Sahasrahla furnishes you with complete information as well as map information.
|
||||
|
||||
## Pseudo-boots
|
||||
CLI ```--overworld_map [default, compass, map]```
|
||||
|
||||
Option to start with ability to dash, but not able to make any boots required logical checks or traversal.
|
||||
## Enemizer
|
||||
|
||||
## SFX Shuffle (--shuffle_sfx)
|
||||
### Boss Shuffle: Unique
|
||||
|
||||
At least one boss each of the prize bosses will be present guarding the prizes. GT bosses can be anything.
|
||||
|
||||
### Blind Note
|
||||
|
||||
If bosses are shuffled and Blind is chosen to be the boss of Thieves Town, then bombing the attic and delivering the maiden is still required.
|
||||
|
||||
## Game Options
|
||||
|
||||
### MSU Resume
|
||||
|
||||
Turns on msu resume support. Found on "Game Options" tab, the "Adjust/Patch" tab, or use the `--msu_resume` CLI option.
|
||||
|
||||
### Collection Rate
|
||||
|
||||
Display the collection rate unless the triforce piece counter is needed. If the game was generated as a mystery, then the total count is not displayed. `--collection_rate`
|
||||
|
||||
### Reduce Flashing
|
||||
|
||||
Accessibility option to reducing some flashing animations in the game. `--reduce_flashing`
|
||||
|
||||
### Shuffle Sound Effects (--shuffle_sfx)
|
||||
|
||||
Shuffles a large portion of the sounds effects. Can be used with the adjuster.
|
||||
|
||||
## Experimental Features
|
||||
## Generation Setup & Miscellaneous
|
||||
|
||||
You will start as a bunny if your spawn point is in the dark world.
|
||||
### Create BPS Patches
|
||||
|
||||
## Triforce Hunt Settings
|
||||
Create bps patch(es) instead of generating rom(s) for distribution. `--bps`
|
||||
|
||||
A collection of settings to control the triforce piece pool.
|
||||
### Triforce Hunt Settings
|
||||
|
||||
A collection of settings to control the triforce piece pool for the CLI/Mystery
|
||||
|
||||
* --triforce_goal_min: Minimum number of pieces to collect to win
|
||||
* --triforce_goal_max: Maximum number of pieces to collect to win
|
||||
@@ -281,110 +457,13 @@ A collection of settings to control the triforce piece pool.
|
||||
* --triforce_pool_max: Maximum number of pieces in item pool
|
||||
* --triforce_min_difference: Minimum difference between pool and goal to win
|
||||
|
||||
## Seed
|
||||
### Seed
|
||||
|
||||
Can be used to set a seed number to generate. Using the same seed with same settings on the same version of the entrance randomizer will always yield an identical output.
|
||||
|
||||
## Count
|
||||
### Count
|
||||
|
||||
Use to batch generate multiple seeds with same settings. If a seed number is provided, it will be used for the first seed, then used to derive the next seed (i.e. generating 10 seeds with the same seed number given will produce the same 10 (different) roms each time).
|
||||
|
||||
# Command Line Options
|
||||
|
||||
```
|
||||
-h, --help
|
||||
```
|
||||
|
||||
Show the help message and exit.
|
||||
|
||||
```
|
||||
--door_shuffle <mode>
|
||||
```
|
||||
|
||||
For specifying the door shuffle you want as above. (default: basic)
|
||||
|
||||
```
|
||||
--intensity <number>
|
||||
```
|
||||
|
||||
For specifying the door shuffle intensity level you want as above. (default: 2)
|
||||
|
||||
```
|
||||
--keydropshuffle
|
||||
```
|
||||
|
||||
Include mobs and pots drop in the item pool. (default: not enabled)
|
||||
|
||||
```
|
||||
--shopsanity
|
||||
```
|
||||
|
||||
Includes shop locations in the item pool.
|
||||
|
||||
```
|
||||
--pseudoboots
|
||||
```
|
||||
|
||||
Start with dash ability, but no way to use boots to accomplish checks
|
||||
|
||||
```
|
||||
--shufflelinks
|
||||
```
|
||||
|
||||
Whether to shuffle links house in most ER modes.
|
||||
|
||||
```
|
||||
--shuffletavern
|
||||
```
|
||||
|
||||
Whether to shuffle the back of the tavern in most ER modes.
|
||||
|
||||
```
|
||||
--bombbag
|
||||
```
|
||||
Need to find the bombbag upgrade to used bombs
|
||||
|
||||
```
|
||||
--experimental
|
||||
```
|
||||
|
||||
Enables experimental features
|
||||
|
||||
```
|
||||
--mixed_travel <mode>
|
||||
```
|
||||
|
||||
How to handle certain glitches in crossed dungeon mode. (default: prevent)
|
||||
|
||||
```
|
||||
--standardize_palettes (mode)
|
||||
```
|
||||
|
||||
Whether to standardize dungeon palettes in crossed dungeon mode. (default: standardize)
|
||||
|
||||
```
|
||||
--reduce_flashing
|
||||
```
|
||||
|
||||
Reduces amount of flashing in some animations
|
||||
|
||||
```
|
||||
--shuffle_sfx
|
||||
```
|
||||
|
||||
Shuffles a bunch of the sounds effects
|
||||
|
||||
```
|
||||
--msu_resume
|
||||
```
|
||||
|
||||
Enable MSU resume feature
|
||||
|
||||
```
|
||||
--collection_rate
|
||||
```
|
||||
|
||||
Total collection rate is displayed unless Triforce Hunt is on. If the game was designed as a mystery, then the total count is not displayed.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ Currently bugged, not recommended for use.
|
||||
|
||||
Same as above but both small keys and bigs keys of the dungeon are not allowed on a boss. (Note: this does not affect universal keys as they are not dungeon-specific)
|
||||
|
||||
## Notes and Bug Fixes
|
||||
# Bug Fixes and Notes
|
||||
|
||||
#### StandardThrone
|
||||
|
||||
@@ -208,90 +208,8 @@ Same as above but both small keys and bigs keys of the dungeon are not allowed o
|
||||
* Fixed up the GUI selection of the customizer file.
|
||||
* Fixed up the item_pool section to skip a lot of pool manipulations. Key items will be added (like the bow) if not detected. Extra dungeon items can be added to the pool and will be confined to the dungeon if possible (and not shuffled). If the pool isn't full, junk items are added to the pool to fill it out.
|
||||
|
||||
#### Unstable
|
||||
#### Main
|
||||
|
||||
* 1.0.1.3
|
||||
* Fix for rain prevented doors fouling up key doors
|
||||
* Couple minor issues
|
||||
* 1.0.1.2
|
||||
* Removed "good bee" as an in-logic way of killing Mothula
|
||||
* Fixed an issue with Mystery generation and Windows path
|
||||
* Fixed an issue with small key bias rework
|
||||
* Fixed an issue where trinity goal would open pyramid unexpectedly. (No longer does so if ER mdoe is shuffling holes). Crystals goal updated to match that behavior.
|
||||
* Fixed a playthrough issue that was not respecting pot rules
|
||||
* Fixed an issue that was conflicting with downstream OWR project
|
||||
* Fixed an issue with inverted and certain pottery settings
|
||||
* Fixed an issue with small keys being shuffled and big keys not (key distribution)
|
||||
* 1.0.1.1
|
||||
* Fixed the pots in Mire Storyteller/ Dark Desert Hint to be colorized when they should be
|
||||
* Certain pot items no longer reload when reloading the supertile (matches original pot behavior better)
|
||||
* Changed the key distribution that made small keys placement more random when keys are in their own dungeon
|
||||
* Unique boss shuffle no longer allows repeat bosses in GT (e.g. only one Trinexx in GT, so exactly 3 bosses are repeated in the seed. This is a difference process than full which does affect the probability distribution.)
|
||||
* Removed text color in hints due to vanilla bug
|
||||
* 1.0.1.0
|
||||
* Large features
|
||||
* New pottery modes - see notes above
|
||||
* Pot substitutions added for red rupees, 10 bomb packs, 3 bomb packs, and 10 arrows have been added. They use objects that can result from a tree pull or other drop. The 3 bomb pack becomes a 4 bomb pack and the 10 bomb pack becomes an 8 pack. These substitutions are repeatable like all other normal pot contents.
|
||||
* Updated TFH to support up to 850 pieces
|
||||
* New font support
|
||||
* Trinity goal added
|
||||
* Separated Collection Rate counter from experimental
|
||||
* Added MSU Resume option
|
||||
* Support for BPS patch creation and applying patches during adjustment
|
||||
* New option for Boss Shuffle: Unique (Prize bosses will be one of each, but GT bosses can be anything)
|
||||
* Logic Notes
|
||||
* Skull X Room requires Boots or access to Skull Back Drop
|
||||
* GT Falling Torches requires Boots to get over the falling tile gap (this is a stop-gap measure until more sophisticated crystal switch traversal is possible)
|
||||
* Waterfall of Wishing logic in open. You must have flippers to exit the Waterfall (flippers also required in glitched modes as well)
|
||||
* Fix for GT Crystal Conveyor not requiring Somaria/Bombs to get through
|
||||
* Pedestal goal + vanilla swords places a random sword in the pool
|
||||
* Added a few more places Links House shouldn't go when shuffled
|
||||
* Small features
|
||||
* Added a check for python package requirements before running code. GUI and console both for better error messages. Thanks to mtrethewey for the idea.
|
||||
* Refactored spoiler to generate in stages for better error collection. A meta file will be generated additionally for mystery seeds. Some random settings moved later in the spoiler to have the meta section at the top not spoil certain things. (GT/Ganon requirements.) Thanks to codemann and OWR for most of this work.
|
||||
* Updated tourney winners (included Doors Async League winners)
|
||||
* Some textual changes for hints (capitalization standardization)
|
||||
* Reworked GT Trash Fill. Base rate is 0-75% of locations fill with 7 crystals entrance requirements. Triforce hunt is 75%-100% of locations. The 75% number will decrease based on the crystal entrance requirement. Dungeon_only algorithm caps it based on how many items need to be placed in dungeons. Cross dungeon shuffle will now work with the trash fill.
|
||||
* Expanded Mystery logic options (e.g. owglitches)
|
||||
* Updated indicators on keysanity menu for overworld map option
|
||||
* Bug fixes:
|
||||
* Fix for Zelda (or any follower) going to the maiden cell supertile and the boss is not Blind. The follower will not despawn unless the boss is Blind, then the maiden will spawn as normal.
|
||||
* Bug with 0 GT crystals not opening GT
|
||||
* Fixed a couple issues with dungeon counters and the DungeonCompletion field for autotracking
|
||||
* Settings code fix
|
||||
* Fix for forbidding certain dashable doors (it actually does something this time)
|
||||
* Fix for major item algorithm and pottery
|
||||
* Updated map display on keysanity menu to work better with overworld_map option
|
||||
* Minor bug in crossed doors
|
||||
* Fix for Multiworld forfeits, shops and pot items now included
|
||||
* MultiServer fix for ssl certs and python
|
||||
* forbid certain doors from being dashable when you either can't dash them open (but bombs would work) or you'd fall into a pit from the bonk recoil in OHKO
|
||||
* Fixed a couple rain state issues
|
||||
* Add major_only algorithm to settings code
|
||||
* Fixes for Links House being at certain entrances (did not generate)
|
||||
* Fix for vanilla_fill, it now prioritizes heart container placements
|
||||
* Fix for dungeon counter showing up in AT/HC in crossed dungeon mode
|
||||
* Fixed usestartinventory with mystery
|
||||
* Added double click fix for install.py
|
||||
* Fix for SFX shuffle
|
||||
* Fix for districting + shopsanity
|
||||
* Fix for multiworld progression balancing would place Nothing or Arrow items
|
||||
* Fixed a bug with shopsanity + district algorithm where pre-placed potions messed up the placeholder count
|
||||
* Fixed usestartinventory flag (can be use on a per player basis)
|
||||
* Sprite selector fix for systems with SSL issues
|
||||
* Fix for Standard ER where locations in rain state could be in logic
|
||||
* 1.0.0.3
|
||||
* overworld_map=map mode fixed. Location of dungeons with maps are not shown until map is retrieved. (Dungeon that do not have map like Castle Tower are simply never shown)
|
||||
* Aga2 completion on overworld_map now tied to boss defeat flag instead of pyramid hole being opened (fast ganon fix)
|
||||
* Minor issue in dungeon_only algorithm fixed (minorly affected major_only keyshuffle and vanilla fallbacks)
|
||||
* 1.0.0.2
|
||||
* Include 1.0.1 fixes
|
||||
* District hint rework
|
||||
* 1.0.0.1
|
||||
* Add Light Hype Fairy to bombbag mode as needing bombs
|
||||
|
||||
### From stable DoorDev
|
||||
|
||||
* 1.0.1
|
||||
* Fixed a bug with key doors not detecting one side of an interior door
|
||||
* Sprite selector fix for systems with SSL issues
|
||||
* 1.1.1
|
||||
* Fixed a logic bug with Bumper Cave where the pots were accessible without Cape or Hookshot from the top entrance
|
||||
* Fixed a pot coloring issue with hammer peg cave
|
||||
@@ -181,7 +181,8 @@ def create_regions(world, player):
|
||||
create_cave_region(player, 'Chest Game', 'a game of 16 chests', ['Chest Game']),
|
||||
create_cave_region(player, 'Red Shield Shop', 'the rare shop', ['Red Shield Shop - Left', 'Red Shield Shop - Middle', 'Red Shield Shop - Right']),
|
||||
create_cave_region(player, 'Dark Sanctuary Hint', 'a storyteller'),
|
||||
create_cave_region(player, 'Bumper Cave', 'a connector', None, ['Bumper Cave Exit (Bottom)', 'Bumper Cave Exit (Top)']),
|
||||
create_cave_region(player, 'Bumper Cave (bottom)', 'a connector', None, ['Bumper Cave Exit (Bottom)', 'Bumper Cave Bottom to Top']),
|
||||
create_cave_region(player, 'Bumper Cave (top)', 'a connector', None, ['Bumper Cave Exit (Top)', 'Bumper Cave Top To Bottom']),
|
||||
create_dw_region(player, 'Bumper Cave Ledge', ['Bumper Cave Ledge'], ['Bumper Cave Ledge Drop', 'Bumper Cave (Top)', 'Bumper Cave Ledge Mirror Spot'], 'a ledge with an item'),
|
||||
create_dw_region(player, 'Skull Woods Forest', None, ['Skull Woods First Section Hole (East)', 'Skull Woods First Section Hole (West)', 'Skull Woods First Section Hole (North)',
|
||||
'Skull Woods First Section Door', 'Skull Woods Second Section Door (East)']),
|
||||
|
||||
8
Rules.py
8
Rules.py
@@ -856,8 +856,8 @@ def default_rules(world, player):
|
||||
set_rule(world.get_entrance('Peg Area Rocks', player), lambda state: state.has_Pearl(player) and state.can_lift_heavy_rocks(player))
|
||||
set_rule(world.get_entrance('Village of Outcasts Pegs', player), lambda state: state.has_Pearl(player) and state.has('Hammer', player))
|
||||
set_rule(world.get_entrance('Grassy Lawn Pegs', player), lambda state: state.has_Pearl(player) and state.has('Hammer', player))
|
||||
set_rule(world.get_entrance('Bumper Cave Exit (Top)', player), lambda state: state.has('Cape', player))
|
||||
set_rule(world.get_entrance('Bumper Cave Exit (Bottom)', player), lambda state: state.has('Cape', player) or state.has('Hookshot', player))
|
||||
set_rule(world.get_entrance('Bumper Cave Bottom to Top', player), lambda state: state.has('Cape', player))
|
||||
set_rule(world.get_entrance('Bumper Cave Top To Bottom', player), lambda state: state.has('Cape', player) or state.has('Hookshot', player))
|
||||
|
||||
set_rule(world.get_entrance('Skull Woods Final Section', player), lambda state: state.has('Fire Rod', player) and state.has_Pearl(player)) # bunny cannot use fire rod
|
||||
set_rule(world.get_entrance('Misery Mire', player), lambda state: state.has_Pearl(player) and state.has_sword(player) and state.has_misery_mire_medallion(player)) # sword required to cast magic (!)
|
||||
@@ -1784,8 +1784,8 @@ def set_bunny_rules(world, player, inverted):
|
||||
|
||||
# regions for the exits of multi-entrace caves/drops that bunny cannot pass
|
||||
# Note spiral cave may be technically passible, but it would be too absurd to require since OHKO mode is a thing.
|
||||
bunny_impassable_caves = ['Bumper Cave', 'Two Brothers House', 'Hookshot Cave (Middle)',
|
||||
'Pyramid', 'Spiral Cave (Top)', 'Fairy Ascension Cave (Drop)']
|
||||
bunny_impassable_caves = ['Bumper Cave (top)', 'Bumper Cave (bottom)', 'Two Brothers House',
|
||||
'Hookshot Cave (Middle)', 'Pyramid', 'Spiral Cave (Top)', 'Fairy Ascension Cave (Drop)']
|
||||
bunny_accessible_locations = ['Link\'s Uncle', 'Sahasrahla', 'Sick Kid', 'Lost Woods Hideout', 'Lumberjack Tree',
|
||||
'Checkerboard Cave', 'Potion Shop', 'Spectacle Rock Cave', 'Pyramid',
|
||||
'Hype Cave - Generous Guy', 'Peg Cave', 'Bumper Cave Ledge', 'Dark Blacksmith Ruins',
|
||||
|
||||
@@ -6,7 +6,7 @@ import subprocess # do stuff at the shell level
|
||||
|
||||
env = common.prepare_env()
|
||||
|
||||
pip_requirements = os.path.join("..","resources","app","meta","manifests","pip_requirements.txt")
|
||||
pip_requirements = os.path.join(".","resources","app","meta","manifests","pip_requirements.txt")
|
||||
if not os.path.isfile(pip_requirements):
|
||||
pip_requirements = os.path.join("..","..","..","resources","app","meta","manifests","pip_requirements.txt")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user