mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 12:11:33 -06:00
Move Factorio, Hollow Knight and Minecraft Options into AutoWorld
This commit is contained in:
153
Options.py
153
Options.py
@@ -296,157 +296,12 @@ alttp_options: typing.Dict[str, type(Option)] = {
|
||||
"shop_item_slots": ShopItemSlots,
|
||||
}
|
||||
|
||||
|
||||
|
||||
hollow_knight_randomize_options: typing.Dict[str, type(Option)] = {
|
||||
"RandomizeDreamers": DefaultOnToggle,
|
||||
"RandomizeSkills": DefaultOnToggle,
|
||||
"RandomizeCharms": DefaultOnToggle,
|
||||
"RandomizeKeys": DefaultOnToggle,
|
||||
"RandomizeGeoChests": Toggle,
|
||||
"RandomizeMaskShards": DefaultOnToggle,
|
||||
"RandomizeVesselFragments": DefaultOnToggle,
|
||||
"RandomizeCharmNotches": Toggle,
|
||||
"RandomizePaleOre": DefaultOnToggle,
|
||||
"RandomizeRancidEggs": Toggle,
|
||||
"RandomizeRelics": DefaultOnToggle,
|
||||
"RandomizeMaps": Toggle,
|
||||
"RandomizeStags": Toggle,
|
||||
"RandomizeGrubs": Toggle,
|
||||
"RandomizeWhisperingRoots": Toggle,
|
||||
"RandomizeRocks": Toggle,
|
||||
"RandomizeSoulTotems": Toggle,
|
||||
"RandomizePalaceTotems": Toggle,
|
||||
"RandomizeLoreTablets": Toggle,
|
||||
"RandomizeLifebloodCocoons": Toggle,
|
||||
"RandomizeFlames": Toggle
|
||||
}
|
||||
|
||||
hollow_knight_skip_options: typing.Dict[str, type(Option)] = {
|
||||
"MILDSKIPS": Toggle,
|
||||
"SPICYSKIPS": Toggle,
|
||||
"FIREBALLSKIPS": Toggle,
|
||||
"ACIDSKIPS": Toggle,
|
||||
"SPIKETUNNELS": Toggle,
|
||||
"DARKROOMS": Toggle,
|
||||
"CURSED": Toggle,
|
||||
"SHADESKIPS": Toggle,
|
||||
}
|
||||
|
||||
hollow_knight_options: typing.Dict[str, type(Option)] = {**hollow_knight_randomize_options,
|
||||
**hollow_knight_skip_options}
|
||||
|
||||
|
||||
class MaxSciencePack(Choice):
|
||||
option_automation_science_pack = 0
|
||||
option_logistic_science_pack = 1
|
||||
option_military_science_pack = 2
|
||||
option_chemical_science_pack = 3
|
||||
option_production_science_pack = 4
|
||||
option_utility_science_pack = 5
|
||||
option_space_science_pack = 6
|
||||
default = 6
|
||||
|
||||
def get_allowed_packs(self):
|
||||
return {option.replace("_", "-") for option, value in self.options.items() if value <= self.value} - \
|
||||
{"space-science-pack"} # with rocket launch being the goal, post-launch techs don't make sense
|
||||
|
||||
|
||||
class TechCost(Choice):
|
||||
option_very_easy = 0
|
||||
option_easy = 1
|
||||
option_kind = 2
|
||||
option_normal = 3
|
||||
option_hard = 4
|
||||
option_very_hard = 5
|
||||
option_insane = 6
|
||||
default = 3
|
||||
|
||||
|
||||
class FreeSamples(Choice):
|
||||
option_none = 0
|
||||
option_single_craft = 1
|
||||
option_half_stack = 2
|
||||
option_stack = 3
|
||||
default = 3
|
||||
|
||||
|
||||
class TechTreeLayout(Choice):
|
||||
option_single = 0
|
||||
option_small_diamonds = 1
|
||||
option_medium_diamonds = 2
|
||||
option_large_diamonds = 3
|
||||
option_small_pyramids = 4
|
||||
option_medium_pyramids = 5
|
||||
option_large_pyramids = 6
|
||||
option_small_funnels = 7
|
||||
option_medium_funnels = 8
|
||||
option_large_funnels = 9
|
||||
option_funnels = 4
|
||||
alias_pyramid = 6
|
||||
alias_funnel = 9
|
||||
default = 0
|
||||
|
||||
|
||||
class TechTreeInformation(Choice):
|
||||
option_none = 0
|
||||
option_advancement = 1
|
||||
option_full = 2
|
||||
default = 2
|
||||
|
||||
|
||||
class RecipeTime(Choice):
|
||||
option_vanilla = 0
|
||||
option_fast = 1
|
||||
option_normal = 2
|
||||
option_slow = 4
|
||||
option_chaos = 5
|
||||
|
||||
|
||||
class FactorioStartItems(OptionDict):
|
||||
default = {"burner-mining-drill": 19, "stone-furnace": 19}
|
||||
|
||||
|
||||
factorio_options: typing.Dict[str, type(Option)] = {
|
||||
"max_science_pack": MaxSciencePack,
|
||||
"tech_tree_layout": TechTreeLayout,
|
||||
"tech_cost": TechCost,
|
||||
"free_samples": FreeSamples,
|
||||
"tech_tree_information": TechTreeInformation,
|
||||
"starting_items": FactorioStartItems,
|
||||
"recipe_time": RecipeTime,
|
||||
"imported_blueprints": DefaultOnToggle,
|
||||
}
|
||||
|
||||
|
||||
class AdvancementGoal(Choice):
|
||||
option_few = 0
|
||||
option_normal = 1
|
||||
option_many = 2
|
||||
default = 1
|
||||
|
||||
|
||||
class CombatDifficulty(Choice):
|
||||
option_easy = 0
|
||||
option_normal = 1
|
||||
option_hard = 2
|
||||
default = 1
|
||||
|
||||
|
||||
minecraft_options: typing.Dict[str, type(Option)] = {
|
||||
"advancement_goal": AdvancementGoal,
|
||||
"combat_difficulty": CombatDifficulty,
|
||||
"include_hard_advancements": Toggle,
|
||||
"include_insane_advancements": Toggle,
|
||||
"include_postgame_advancements": Toggle,
|
||||
"shuffle_structures": Toggle
|
||||
}
|
||||
|
||||
# replace with World.options
|
||||
option_sets = (
|
||||
minecraft_options,
|
||||
factorio_options,
|
||||
# minecraft_options,
|
||||
# factorio_options,
|
||||
alttp_options,
|
||||
hollow_knight_options
|
||||
# hollow_knight_options
|
||||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Reference in New Issue
Block a user