TLoZ: Implementing The Legend of Zelda (#1354)

Co-authored-by: t3hf1gm3nt <59876300+t3hf1gm3nt@users.noreply.github.com>
Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com>
This commit is contained in:
Rosalie-A
2023-03-05 07:31:31 -05:00
committed by GitHub
parent 3a68ce3faa
commit efb2ab4505
21 changed files with 2994 additions and 1 deletions

40
worlds/tloz/Options.py Normal file
View File

@@ -0,0 +1,40 @@
import typing
from Options import Option, DefaultOnToggle, Choice
class ExpandedPool(DefaultOnToggle):
"""Puts room clear drops into the pool of items and locations."""
display_name = "Expanded Item Pool"
class TriforceLocations(Choice):
"""Where Triforce fragments can be located. Note that Triforce pieces
obtained in a dungeon will heal and warp you out, while overworld Triforce pieces obtained will appear to have
no immediate effect. This is normal."""
display_name = "Triforce Locations"
option_vanilla = 0
option_dungeons = 1
option_anywhere = 2
class StartingPosition(Choice):
"""How easy is the start of the game.
Safe means a weapon is guaranteed in Starting Sword Cave.
Unsafe means that a weapon is guaranteed between Starting Sword Cave, Letter Cave, and Armos Knight.
Dangerous adds these level locations to the unsafe pool (if they exist):
# Level 1 Compass, Level 2 Bomb Drop (Keese), Level 3 Key Drop (Zols Entrance), Level 3 Compass
Very Dangerous is the same as dangerous except it doesn't guarantee a weapon. It will only mean progression
will be there in single player seeds. In multi worlds, however, this means all bets are off and after checking
the dangerous spots, you could be stuck until someone sends you a weapon"""
display_name = "Starting Position"
option_safe = 0
option_unsafe = 1
option_dangerous = 2
option_very_dangerous = 3
tloz_options: typing.Dict[str, type(Option)] = {
"ExpandedPool": ExpandedPool,
"TriforceLocations": TriforceLocations,
"StartingPosition": StartingPosition
}