[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

@@ -1,6 +1,6 @@
from BaseClasses import Item
from typing import NamedTuple, Dict
from .Overcooked2Levels import Overcooked2Dlc
class ItemData(NamedTuple):
code: int
@@ -77,6 +77,18 @@ item_frequencies = {
"Ok Emote": 0,
}
dlc_exclusives = {
"Wood" : {Overcooked2Dlc.CAMPFIRE_COOK_OFF},
"Coal Bucket" : {Overcooked2Dlc.NIGHT_OF_THE_HANGRY_HORDE},
"Bellows" : {Overcooked2Dlc.SURF_N_TURF},
"Control Stick Batteries" : {Overcooked2Dlc.STORY, Overcooked2Dlc.SURF_N_TURF, Overcooked2Dlc.NIGHT_OF_THE_HANGRY_HORDE, Overcooked2Dlc.CARNIVAL_OF_CHAOS, Overcooked2Dlc.SEASONAL},
"Wok Wheels" : {Overcooked2Dlc.SEASONAL},
"Lightweight Backpack" : {Overcooked2Dlc.CAMPFIRE_COOK_OFF},
"Faster Condiment/Drink Switch" : {Overcooked2Dlc.SEASONAL, Overcooked2Dlc.CARNIVAL_OF_CHAOS},
"Calmer Unbread" : {Overcooked2Dlc.SEASONAL, Overcooked2Dlc.NIGHT_OF_THE_HANGRY_HORDE},
"Coin Purse" : {Overcooked2Dlc.SEASONAL, Overcooked2Dlc.NIGHT_OF_THE_HANGRY_HORDE},
}
item_name_to_config_name = {
"Wood" : "DisableWood" ,
"Coal Bucket" : "DisableCoal" ,