Merging conflicts
This commit is contained in:
@@ -1,13 +1,27 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from Options import FreeText, NumericOption, Toggle, DefaultOnToggle, Choice, TextChoice, Range, NamedRange, OptionList, \
|
||||
PerGameCommonOptions, OptionSet, OptionCounter
|
||||
from Options import (
|
||||
FreeText,
|
||||
NumericOption,
|
||||
Toggle,
|
||||
DefaultOnToggle,
|
||||
Choice,
|
||||
TextChoice,
|
||||
Range,
|
||||
NamedRange,
|
||||
OptionList,
|
||||
PerGameCommonOptions,
|
||||
OptionSet,
|
||||
OptionCounter,
|
||||
)
|
||||
|
||||
|
||||
class StartingArea(Choice):
|
||||
"""
|
||||
Here, you can select which area you'll start the game with. [NOT IMPLEMENTED]
|
||||
Whichever one you pick is the region you'll have access to at the start of the Multiworld.
|
||||
"""
|
||||
|
||||
option_whoville = 0
|
||||
option_who_forest = 1
|
||||
option_who_dump = 2
|
||||
@@ -15,14 +29,17 @@ class StartingArea(Choice):
|
||||
default = 0
|
||||
display_name = "Starting Area"
|
||||
|
||||
class ProgressiveVacuum(Toggle):#DefaultOnToggle
|
||||
|
||||
class ProgressiveVacuum(Toggle): # DefaultOnToggle
|
||||
"""
|
||||
Determines whether you get access to main areas progressively [NOT IMPLEMENTED]
|
||||
|
||||
Enabled: Whoville > Who Forest > Who Dump > Who Lake
|
||||
"""
|
||||
|
||||
display_name = "Progressive Vacuum Tubes"
|
||||
|
||||
|
||||
class Missionsanity(Choice):
|
||||
"""
|
||||
How mission checks are randomized in the pool [NOT IMPLEMENTED]
|
||||
@@ -32,6 +49,7 @@ class Missionsanity(Choice):
|
||||
Individual: Individual tasks for one mission, such as individual snowmen squashed, are checks.
|
||||
Both: Both individual tasks and mission completion are randomized.
|
||||
"""
|
||||
|
||||
display_name = "Mission Locations"
|
||||
option_none = 0
|
||||
option_completion = 1
|
||||
@@ -39,6 +57,7 @@ class Missionsanity(Choice):
|
||||
option_both = 3
|
||||
default = 1
|
||||
|
||||
|
||||
class ExcludeEnvironments(OptionSet):
|
||||
"""
|
||||
Allows entire environments to be an excluded location to ensure you are not logically required to enter the environment along
|
||||
@@ -51,52 +70,83 @@ class ExcludeEnvironments(OptionSet):
|
||||
"Ski Resort", "Civic Center", "Minefield", "Power Plant", "Generator Building", "Scout's Hut",
|
||||
"North Shore", "Mayor's Villa", "Sleigh Ride"
|
||||
"""
|
||||
display_name = "Exclude Environments"
|
||||
valid_keys = {"Whoville", "Who Forest", "Who Dump", "Who Lake", "Post Office", "Clock Tower", "City Hall",
|
||||
"Ski Resort", "Civic Center", "Minefield", "Power Plant", "Generator Building", "Scout's Hut",
|
||||
"North Shore", "Mayor's Villa", "Sleigh Ride"}
|
||||
|
||||
class ProgressiveGadget(Toggle):#DefaultOnToggle
|
||||
display_name = "Exclude Environments"
|
||||
valid_keys = {
|
||||
"Whoville",
|
||||
"Who Forest",
|
||||
"Who Dump",
|
||||
"Who Lake",
|
||||
"Post Office",
|
||||
"Clock Tower",
|
||||
"City Hall",
|
||||
"Ski Resort",
|
||||
"Civic Center",
|
||||
"Minefield",
|
||||
"Power Plant",
|
||||
"Generator Building",
|
||||
"Scout's Hut",
|
||||
"North Shore",
|
||||
"Mayor's Villa",
|
||||
"Sleigh Ride",
|
||||
}
|
||||
|
||||
|
||||
class ProgressiveGadget(Toggle): # DefaultOnToggle
|
||||
"""
|
||||
Determines whether you get access to a gadget as individual blueprint count. [NOT IMPLEMENTED]
|
||||
"""
|
||||
|
||||
display_name = "Progressive Gadgets"
|
||||
|
||||
|
||||
class Supadow(Toggle):
|
||||
"""Enables completing minigames through the Supadows in Mount Crumpit as checks. NOT IMPLEMENTED]"""
|
||||
|
||||
display_name = "Supadow Minigames"
|
||||
|
||||
|
||||
class Gifts(Range):
|
||||
"""
|
||||
Considers how many gifts must be squashed per check.
|
||||
Enabling this will also enable squashing all gifts in a region mission along side this. [NOT IMPLEMENTED]
|
||||
"""
|
||||
|
||||
display_name = "Gifts Squashed per Check"
|
||||
range_start = 0
|
||||
range_end = 300
|
||||
default = 0
|
||||
|
||||
|
||||
class Moverando(Toggle):
|
||||
"""Randomizes Grinch's moveset along with randomizing max into the pool. [NOT IMPLEMENTED]
|
||||
"""
|
||||
"""Randomizes Grinch's moveset along with randomizing max into the pool. [NOT IMPLEMENTED]"""
|
||||
|
||||
display_name = "Moves Randomized"
|
||||
|
||||
|
||||
class UnlimitedEggs(Toggle):
|
||||
"""Determine whether or not you run out of rotten eggs when you utilize your gadgets."""
|
||||
|
||||
display_name = "Unlimited Rotten Eggs"
|
||||
|
||||
|
||||
class RingLinkOption(Toggle):
|
||||
"""Whenever this is toggled, your ammo is linked with other ringlink-compatible games that also have this enabled."""
|
||||
|
||||
display_name = "Ring Link"
|
||||
|
||||
|
||||
class TrapLinkOption(Toggle):
|
||||
"""If a trap is sent from Grinch, traps that are compatible with other games are triggered as well. [NOT IMPLEMENTED]"""
|
||||
|
||||
display_name = "Trap Link"
|
||||
|
||||
|
||||
class FillerWeight(OptionCounter):
|
||||
"""
|
||||
Determines how often each filler item appears in the itempool
|
||||
"""
|
||||
|
||||
default = {
|
||||
"5 Rotten Eggs": 50,
|
||||
"10 Rotten Eggs": 25,
|
||||
@@ -105,19 +155,23 @@ class FillerWeight(OptionCounter):
|
||||
}
|
||||
display_name = "Filler Weights"
|
||||
|
||||
|
||||
class TrapPercentage(Range):
|
||||
"""
|
||||
Set a percentage of how many filler items are replaced with traps here.
|
||||
"""
|
||||
|
||||
display_name = "Trap Percentage"
|
||||
range_start = 0
|
||||
range_end = 100
|
||||
default = 10
|
||||
|
||||
|
||||
class PerTrapWeight(OptionCounter):
|
||||
"""
|
||||
Determines how often each filler item appears in the itempool
|
||||
"""
|
||||
|
||||
display_name = "Enabled Traps with Weight"
|
||||
default = {
|
||||
"Depletion Trap": 10,
|
||||
@@ -125,8 +179,9 @@ class PerTrapWeight(OptionCounter):
|
||||
"Who sent me back?": 10,
|
||||
}
|
||||
|
||||
|
||||
@dataclass
|
||||
class GrinchOptions(PerGameCommonOptions):#DeathLinkMixin
|
||||
class GrinchOptions(PerGameCommonOptions): # DeathLinkMixin
|
||||
starting_area: StartingArea
|
||||
progressive_vacuum: ProgressiveVacuum
|
||||
missionsanity: Missionsanity
|
||||
|
||||
@@ -69,12 +69,6 @@ class GrinchWorld(World):
|
||||
for _ in range(3):
|
||||
self_itempool.append(self.create_item(item))
|
||||
|
||||
<<<<<<< HEAD
|
||||
#Get number of current unfilled locations
|
||||
unfilled_locations: int = (
|
||||
len(self.multiworld.get_unfilled_locations(self.player)) - len(self_itempool)
|
||||
)
|
||||
=======
|
||||
# Get number of current unfilled locations
|
||||
unfilled_locations: int = (
|
||||
len(self.multiworld.get_unfilled_locations(self.player)) - len(ALL_ITEMS_TABLE.keys()) - 3
|
||||
@@ -86,7 +80,6 @@ class GrinchWorld(World):
|
||||
# This catches the extra 1 or 2 unfilled_locations that come up from the math.floor()
|
||||
extra_locations = unfilled_locations - (filler_locations + trap_locations)
|
||||
filler_locations != extra_locations
|
||||
>>>>>>> 31333183 (Adding weights for filler and traps)
|
||||
|
||||
# Total available weight sum
|
||||
total_fillerweights = sum(self.options.filler_weight[filler] for filler in MISC_ITEMS_TABLE)
|
||||
|
||||
Reference in New Issue
Block a user