mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Add SMZ3 support (#270)
This commit is contained in:
63
worlds/smz3/Options.py
Normal file
63
worlds/smz3/Options.py
Normal file
@@ -0,0 +1,63 @@
|
||||
import typing
|
||||
from Options import Choice, Option
|
||||
|
||||
class SMLogic(Choice):
|
||||
"""This option selects what kind of logic to use for item placement inside
|
||||
Super Metroid.
|
||||
|
||||
Normal - Normal logic includes only what Super Metroid teaches players
|
||||
itself. Anything that's not demonstrated in-game or by the intro cutscenes
|
||||
will not be required here.
|
||||
|
||||
Hard - Hard logic is based upon the "no major glitches" ruleset and
|
||||
includes most tricks that are considered minor glitches, with some
|
||||
restrictions. You'll want to be somewhat of a Super Metroid veteran for
|
||||
this logic.
|
||||
|
||||
See https://samus.link/information for required moves."""
|
||||
display_name = "SMLogic"
|
||||
option_Normal = 0
|
||||
option_Hard = 1
|
||||
default = 0
|
||||
|
||||
class SwordLocation(Choice):
|
||||
"""This option decides where the first sword will be placed.
|
||||
Randomized - The sword can be placed anywhere.
|
||||
Early - The sword will be placed in a location accessible from the start of
|
||||
the game.
|
||||
Unce assured - The sword will always be placed on Link's Uncle."""
|
||||
display_name = "Sword Location"
|
||||
option_Randomized = 0
|
||||
option_Early = 1
|
||||
option_Uncle = 2
|
||||
default = 0
|
||||
|
||||
class MorphLocation(Choice):
|
||||
"""This option decides where the morph ball will be placed.
|
||||
Randomized - The morph ball can be placed anywhere.
|
||||
Early - The morph ball will be placed in a location accessible from the
|
||||
start of the game.
|
||||
Original location - The morph ball will always be placed at its original
|
||||
location."""
|
||||
display_name = "Morph Location"
|
||||
option_Randomized = 0
|
||||
option_Early = 1
|
||||
option_Original = 2
|
||||
default = 0
|
||||
|
||||
class KeyShuffle(Choice):
|
||||
"""This option decides how dungeon items such as keys are shuffled.
|
||||
None - A Link to the Past dungeon items can only be placed inside the
|
||||
dungeon they belong to, and there are no changes to Super Metroid.
|
||||
Keysanity - See https://samus.link/information"""
|
||||
display_name = "Key Shuffle"
|
||||
option_None = 0
|
||||
option_Keysanity = 1
|
||||
default = 0
|
||||
|
||||
smz3_options: typing.Dict[str, type(Option)] = {
|
||||
"sm_logic": SMLogic,
|
||||
"sword_location": SwordLocation,
|
||||
"morph_location": MorphLocation,
|
||||
"key_shuffle": KeyShuffle
|
||||
}
|
||||
Reference in New Issue
Block a user