Files
dockipelago/worlds/papermario/data/enum_options.py
Jonathan Tinney 7971961166
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
add schedule I, sonic 1/frontiers/heroes, spirit island
2026-04-02 23:46:36 -07:00

123 lines
2.4 KiB
Python

# from https://github.com/icebound777/PMR-SeedGenerator/blob/main/rando_enums/enum_options.py
from enum import IntEnum, unique
@unique
class BowserCastleMode(IntEnum):
VANILLA = 0
SHORTEN = 1
BOSSRUSH = 2
@unique
class HiddenBlockMode(IntEnum):
VANILLA = 0
WATT_OUT = 1
WATT_ACQUIRED = 2
ALWAYS_VISIBLE = 3
@unique
class StartingBoots(IntEnum):
JUMPLESS = -1
BOOTS = 0
SUPERBOOTS = 1
ULTRABOOTS = 2
@unique
class StartingHammer(IntEnum):
HAMMERLESS = -1
HAMMER = 0
SUPERHAMMER = 1
ULTRAHAMMER = 2
@unique
class IncludeFavorsMode(IntEnum):
NOT_RANDOMIZED = 0
RND_REWARD_VANILLA_KEYITEMS = 1
FULL_SHUFFLE = 2
@unique
class IncludeLettersMode(IntEnum):
NOT_RANDOMIZED = 0
SIMPLE_LETTERS = 1
RANDOM_CHAIN_REWARD = 2
FULL_SHUFFLE = 3
@unique
class RandomizeConsumablesMode(IntEnum):
OFF = 0
FULL_RANDOM = 1
BALANCED_RANDOM = 2
MYSTERY_ONLY = 3
@unique
class ItemTrapMode(IntEnum):
OFF = 0
SPARSE = 1
MODERATE = 2
PLENTY = 3
@unique
class GearShuffleMode(IntEnum):
VANILLA = 0
GEAR_LOCATION_SHUFFLE = 1
FULL_SHUFFLE = 2
@unique
class RandomMoveCosts(IntEnum):
VANILLA = 0
BALANCED_RANDOM = 1
SHUFFLED = 2
FULLY_RANDOM = 3
# modified from the original since we can't have both a value and a setting from one option
# two options per palette would be rather ugly looking and probably a bit confusing
# SETTING is the old value, kept them around in case they were needed
@unique
class RandomPalettes(IntEnum):
DEFAULT_PALETTE = 0
SELECT_PALETTE = 1
RANDOM_PICK = 10
RANDOM_PICK_NOT_VANILLA = 11
ALWAYS_RANDOM = 12
RANDOM_PICK_SETTING = 2
RANDOM_PICK_NOT_VANILLA_SETTING = 3
ALWAYS_RANDOM_SETTING = 4
@classmethod
def get_setting_value(cls, value):
if value == cls.ALWAYS_RANDOM:
return cls.ALWAYS_RANDOM_SETTING
elif value == cls.RANDOM_PICK_NOT_VANILLA:
return cls.RANDOM_PICK_NOT_VANILLA_SETTING
elif value == cls.RANDOM_PICK:
return cls.RANDOM_PICK_SETTING
return value
@unique
class MerlowRewardPricing(IntEnum):
CHEAP = 0
NORMAL = 1
@classmethod
def has_value(cls, value):
return value in set(item.value for item in cls)
@unique
class PartnerUpgradeShuffle(IntEnum):
OFF = 0
SUPERBLOCKLOCATIONS = 1
FULL = 2