Merge remote-tracking branch 'upstream/DoorDevUnstable' into OverworldShuffleDev

This commit is contained in:
codemann8
2022-12-22 04:27:59 -06:00
5 changed files with 104 additions and 3 deletions

View File

@@ -2299,7 +2299,7 @@ def find_current_trap_doors(builder):
for region in builder.master_sector.regions:
for ext in region.exits:
d = ext.door
if d and d.blocked and d.trapFlag != 0:
if d and d.blocked and d.trapFlag != 0: # could exclude removing boss doors here
current_doors.append(d)
return current_doors
@@ -2309,7 +2309,9 @@ def change_door_to_trap(d, world, player):
if d.type is DoorType.Interior:
kind = room.kind(d)
new_kind = None
if kind == DoorKind.TrapTriggerable and d.direction in [Direction.South, Direction.East]:
if kind == DoorKind.Trap:
new_kind = DoorKind.Trap
elif kind == DoorKind.TrapTriggerable and d.direction in [Direction.South, Direction.East]:
new_kind = DoorKind.Trap
elif kind == DoorKind.Trap2 and d.direction in [Direction.North, Direction.West]:
new_kind = DoorKind.Trap

View File

@@ -35,7 +35,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.2.0.1-u'
__version__ = '1.2.0.2-u'
from source.classes.BabelFish import BabelFish

View File

@@ -116,6 +116,9 @@ These are now independent of retro mode and have three options: None, Random, an
* Fix for vanilla Doors + Standard + ER
* Added a limit per dungeon on small key doors to ensure reasonable generation
* Fixed many small bugs
* 1.2.0.2-u
* Fixed a bug with certain trap doors missing
* Added a hint reference for district hints
# Known Issues

96
docs/DR_hint_reference.md Normal file
View File

@@ -0,0 +1,96 @@
Hint description:
Hints will appear in the following ratios across the 15 telepathic tiles that have hints and the five storyteller locations:
Hint distribution for crossed entrance / crossed dungeon:
* 4 hints for inconvenient entrances.
* 2 hints for random entrances (this can by coincidence pick inconvenient entrances that aren't used for the first set of hints).
* 1 hints for inconvenient item locations.
* 7 hints for valuable items
* 1 hint for the Thieves Town attic
* 5 district hints
More vanilla shuffles of entrances reduces the number of inconvenient and random entrances hinted and generally follows adjustments in the ER_hint_reference.
Non-crossed door shuffles removes the attic hint and reduces the number of interesting items hinted at.
### Inconvenient entrance list
* Skull Woods Final
* Ice Palace
* Misery Mire
* Turtle Rock
* Ganon's Tower
* Mimic Ledge
* SW DM Foothills Cave (mirror from upper Bumper ledge)
* Hammer Pegs (near purple chest)
* Super Bomb cracked wall
### Inconvenient location list
* Purple Chest
* Spike Cave
* Magic Bat
* Sahasrahla (Green Pendant)
The following are included only if door shuffle is vanilla:
* Swamp left (two chests)
* Mire left (two chests)
* Hera basement
* Eastern Palace Big Key chest (protected by anti-fairies)
* Thieves' Town Big Chest
* Ice Palace Big Chest
* Ganon's Tower Big Chest
In the vanilla, dungeonssimple, and dungeonsfull shuffles, the following two locations are added to the inconvenient locations list:
* Graveyard Cave
* Mimic Cave
### Valuable items
Valuable Items are simply all items that are shown on the pause subscreen (Y, B, or A sections) minus Silver Arrows and plus Triforce Pieces, Magic Upgrades (1/2 or 1/4), and the Single Arrow. If key shuffle is being used, you can additionally get hints for Small Keys or Big Keys but not hints for Maps or Compasses.
### District Hints
These replace all junk/joke hints.
Each dungeon is considered its own district. The overworld is divided into districts as according to this picture:
![District image](Districts.png "OW Districts")
Each district is classified in one of five categories:
* Foolish
* Connector Only
* Dungeon Only
* Useful
* Vital
A vital district contains one or more vital items. This includes:
* Y Items: Bows, Hookshot, Both Rods, Bombos, Lamp, Hammer, Ocarina, Book, Cane of Somaria, Mirror
* A Items: Gloves, Moon Pearl, Boots, Flippers
* All Swords, Triforce Pieces, and the Silver Arrows
* Ether and Quake if used to open an entrance
* Big Keys, Small Keys, Bomb Bags, Arrow Quivers in the appropriate mode (wild big keys, wild small keys, bomb bag, retro + shopsanity)
The hint will name the item if there is only one vital one, or give the number otherwise.
Useful district contain one or more useful items, but no vital items.
* Y Items: Boomerangs, Magic Powder, Mushroom, Shovel, Bug Net, Bottles, Cane of Byrna, Cape
* Ether and Quake if not used to open an entrance
* Shields, Mails, Magic Upgrades
Notably, the fetch items may technically be required depending on what is located at the fetch quest, but are considered useful still.
The hint will name the item if there is only one, or give the number of useful items otherwise.
A "Dungeon Only" district has no vital or useful items but contains one dungeon or more. The hint will pick one of the dungeon and state: "{district} is on the path to {dungeon}"
A "Connector Only" district has no vital or useful items but contains a connector that reaches a potentially inaccessible area like
the Turtle Rock upper ledge or the Maze Race (you have no mirror yet). The hint will state "{district} can reach {region}"
Foolish districts have no dungeons, no potentially useful connector and no useful or vital items. These districts, if they exist, are preferred for hints. The others are chosen randomly.

BIN
docs/Districts.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB