mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-03-23 18:23:21 -07:00
Create OptionGroups.
This commit is contained in:
@@ -13,7 +13,7 @@ from pymem.exception import ProcessNotFound
|
||||
import Utils
|
||||
from NetUtils import ClientStatus
|
||||
from CommonClient import ClientCommandProcessor, CommonContext, logger, server_loop, gui_enabled
|
||||
from .JakAndDaxterOptions import EnableOrbsanity
|
||||
from .Options import EnableOrbsanity
|
||||
|
||||
from .GameID import jak1_name
|
||||
from .client.ReplClient import JakAndDaxterReplClient
|
||||
|
||||
@@ -3,7 +3,7 @@ import typing
|
||||
from Options import OptionError
|
||||
from . import JakAndDaxterWorld
|
||||
from .Items import item_table
|
||||
from .JakAndDaxterOptions import EnableOrbsanity, CompletionCondition
|
||||
from .Options import EnableOrbsanity, CompletionCondition
|
||||
from .Rules import can_reach_orbs_global
|
||||
from .locs import CellLocations as Cells, ScoutLocations as Scouts
|
||||
from .regs import (GeyserRockRegions as GeyserRock,
|
||||
|
||||
@@ -2,15 +2,15 @@ import typing
|
||||
from BaseClasses import MultiWorld, CollectionState
|
||||
from Options import OptionError
|
||||
from . import JakAndDaxterWorld
|
||||
from .JakAndDaxterOptions import (JakAndDaxterOptions,
|
||||
EnableOrbsanity,
|
||||
GlobalOrbsanityBundleSize,
|
||||
PerLevelOrbsanityBundleSize,
|
||||
FireCanyonCellCount,
|
||||
MountainPassCellCount,
|
||||
LavaTubeCellCount,
|
||||
CitizenOrbTradeAmount,
|
||||
OracleOrbTradeAmount)
|
||||
from .Options import (JakAndDaxterOptions,
|
||||
EnableOrbsanity,
|
||||
GlobalOrbsanityBundleSize,
|
||||
PerLevelOrbsanityBundleSize,
|
||||
FireCanyonCellCount,
|
||||
MountainPassCellCount,
|
||||
LavaTubeCellCount,
|
||||
CitizenOrbTradeAmount,
|
||||
OracleOrbTradeAmount)
|
||||
from .locs import CellLocations as Cells
|
||||
from .Locations import location_table
|
||||
from .Levels import level_table
|
||||
|
||||
@@ -2,6 +2,7 @@ from typing import Dict, Any, ClassVar, Tuple, Callable, Optional, Union, List
|
||||
from math import ceil
|
||||
import Utils
|
||||
import settings
|
||||
from Options import OptionGroup
|
||||
|
||||
from Utils import local_path
|
||||
from BaseClasses import (Item,
|
||||
@@ -9,7 +10,7 @@ from BaseClasses import (Item,
|
||||
Tutorial,
|
||||
CollectionState)
|
||||
from .GameID import jak1_id, jak1_name, jak1_max
|
||||
from .JakAndDaxterOptions import JakAndDaxterOptions, EnableOrbsanity, CompletionCondition
|
||||
from . import Options
|
||||
from .Locations import (JakAndDaxterLocation,
|
||||
location_table,
|
||||
cell_location_table,
|
||||
@@ -74,6 +75,24 @@ class JakAndDaxterWebWorld(WebWorld):
|
||||
|
||||
tutorials = [setup_en]
|
||||
|
||||
option_groups = [
|
||||
OptionGroup("Orbsanity", [
|
||||
Options.EnableOrbsanity,
|
||||
Options.GlobalOrbsanityBundleSize,
|
||||
Options.PerLevelOrbsanityBundleSize,
|
||||
]),
|
||||
OptionGroup("Power Cell Counts", [
|
||||
Options.EnableOrderedCellCounts,
|
||||
Options.FireCanyonCellCount,
|
||||
Options.MountainPassCellCount,
|
||||
Options.LavaTubeCellCount,
|
||||
]),
|
||||
OptionGroup("Orb Trade Counts", [
|
||||
Options.CitizenOrbTradeAmount,
|
||||
Options.OracleOrbTradeAmount,
|
||||
]),
|
||||
]
|
||||
|
||||
|
||||
class JakAndDaxterWorld(World):
|
||||
"""
|
||||
@@ -91,8 +110,8 @@ class JakAndDaxterWorld(World):
|
||||
|
||||
# Options
|
||||
settings: ClassVar[JakAndDaxterSettings]
|
||||
options_dataclass = JakAndDaxterOptions
|
||||
options: JakAndDaxterOptions
|
||||
options_dataclass = Options.JakAndDaxterOptions
|
||||
options: Options.JakAndDaxterOptions
|
||||
|
||||
# Web world
|
||||
web = JakAndDaxterWebWorld()
|
||||
@@ -166,10 +185,10 @@ class JakAndDaxterWorld(World):
|
||||
verify_orb_trade_amounts(self)
|
||||
|
||||
# Cache the orb bundle size and item name for quicker reference.
|
||||
if self.options.enable_orbsanity == EnableOrbsanity.option_per_level:
|
||||
if self.options.enable_orbsanity == Options.EnableOrbsanity.option_per_level:
|
||||
self.orb_bundle_size = self.options.level_orbsanity_bundle_size.value
|
||||
self.orb_bundle_item_name = orb_item_table[self.orb_bundle_size]
|
||||
elif self.options.enable_orbsanity == EnableOrbsanity.option_global:
|
||||
elif self.options.enable_orbsanity == Options.EnableOrbsanity.option_global:
|
||||
self.orb_bundle_size = self.options.global_orbsanity_bundle_size.value
|
||||
self.orb_bundle_item_name = orb_item_table[self.orb_bundle_size]
|
||||
else:
|
||||
@@ -204,7 +223,7 @@ class JakAndDaxterWorld(World):
|
||||
prog_count = max(self.power_cell_thresholds[:3])
|
||||
non_prog_count = 101 - prog_count
|
||||
|
||||
if self.options.jak_completion_condition == CompletionCondition.option_open_100_cell_door:
|
||||
if self.options.jak_completion_condition == Options.CompletionCondition.option_open_100_cell_door:
|
||||
counts_and_classes.append((100, ItemClass.progression_skip_balancing))
|
||||
counts_and_classes.append((1, ItemClass.filler))
|
||||
else:
|
||||
@@ -268,7 +287,7 @@ class JakAndDaxterWorld(World):
|
||||
# If it is OFF, don't add any orb bundles to the item pool, period.
|
||||
# If it is ON, don't add any orb bundles that don't match the chosen option.
|
||||
if (item_name in self.item_name_groups["Precursor Orbs"]
|
||||
and (self.options.enable_orbsanity == EnableOrbsanity.option_off
|
||||
and (self.options.enable_orbsanity == Options.EnableOrbsanity.option_off
|
||||
or item_name != self.orb_bundle_item_name)):
|
||||
continue
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@ from typing import List
|
||||
|
||||
from BaseClasses import CollectionState
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_reach_orbs_level
|
||||
from ..locs import CellLocations as Cells, ScoutLocations as Scouts
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_reach_orbs_level
|
||||
from ..locs import ScoutLocations as Scouts
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@ from typing import List
|
||||
|
||||
from BaseClasses import CollectionState
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld, CompletionCondition
|
||||
from ..Options import EnableOrbsanity, CompletionCondition
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_reach_orbs_level
|
||||
from ..locs import CellLocations as Cells, ScoutLocations as Scouts
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_reach_orbs_level
|
||||
from ..locs import ScoutLocations as Scouts
|
||||
from worlds.generic.Rules import add_rule
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_reach_orbs_level
|
||||
from ..locs import CellLocations as Cells, ScoutLocations as Scouts
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,8 @@ from typing import List
|
||||
|
||||
from BaseClasses import CollectionState
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_fight, can_reach_orbs_level
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
from typing import List
|
||||
|
||||
from .RegionBase import JakAndDaxterRegion
|
||||
from .. import EnableOrbsanity, JakAndDaxterWorld
|
||||
from ..Options import EnableOrbsanity
|
||||
from .. import JakAndDaxterWorld
|
||||
from ..Rules import can_free_scout_flies, can_reach_orbs_level
|
||||
from ..locs import ScoutLocations as Scouts
|
||||
|
||||
|
||||
Reference in New Issue
Block a user