[OC2] Enabled DLC Option (#1688)

- New OC2 option `DLCOptionSet`, which is a list of DLCs whose levels should or shouldn't be used for entrance randomizer (and mention in documentation). By default, DLC owners now need to enable DLCs in weighted settings.
- Throw user-friendly exceptions when contradictory settings are enabled
- Slightly relax generation requirements for sphere 1/2 level permutations
- Write entrance randomizer info in spoiler log
- Skip adding "Dark Green Ramp" to item pool if Kevin Levels are disabled
This commit is contained in:
toasterparty
2023-04-10 18:43:29 -07:00
committed by GitHub
parent 3c3954f5e8
commit c711d803f8
7 changed files with 130 additions and 71 deletions

View File

@@ -4,11 +4,11 @@ from typing import List
class Overcooked2Dlc(Enum):
STORY = "Story"
SEASONAL = "Seasonal"
SURF_N_TURF = "Surf 'n' Turf"
CAMPFIRE_COOK_OFF = "Campfire Cook Off"
NIGHT_OF_THE_HANGRY_HORDE = "Night of the Hangry Horde"
CARNIVAL_OF_CHAOS = "Carnival of Chaos"
SEASONAL = "Seasonal"
# CHRISTMAS = "Christmas"
# CHINESE_NEW_YEAR = "Chinese New Year"
# WINTER_WONDERLAND = "Winter Wonderland"
@@ -87,31 +87,6 @@ class Overcooked2Dlc(Enum):
return []
def exclusive_items(self) -> List[str]:
"""Returns list of items exclusive to this DLC"""
if self == Overcooked2Dlc.SURF_N_TURF:
return ["Bellows"]
if self == Overcooked2Dlc.CAMPFIRE_COOK_OFF:
return ["Wood"]
if self == Overcooked2Dlc.NIGHT_OF_THE_HANGRY_HORDE:
return ["Coal Bucket"]
if self == Overcooked2Dlc.CARNIVAL_OF_CHAOS:
return ["Faster Condiment/Drink Switch"]
if self == Overcooked2Dlc.SEASONAL:
return ["Wok Wheels"]
return []
ITEMS_TO_EXCLUDE_IF_NO_DLC = [
"Wood",
"Coal Bucket",
"Bellows",
"Coin Purse",
"Wok Wheels",
"Lightweight Backpack",
"Faster Condiment/Drink Switch",
"Calmer Unbread",
]
class Overcooked2GameWorld(IntEnum):
ONE = 1