Major only update (split pot keys and key drops)
This commit is contained in:
@@ -29,7 +29,6 @@ class LocationGroup(object):
|
||||
|
||||
# flags
|
||||
self.keyshuffle = False
|
||||
self.keydropshuffle = False
|
||||
self.shopsanity = False
|
||||
self.retro = False
|
||||
|
||||
@@ -37,9 +36,8 @@ class LocationGroup(object):
|
||||
self.locations = list(locs)
|
||||
return self
|
||||
|
||||
def flags(self, k, d=False, s=False, r=False):
|
||||
def flags(self, k, s=False, r=False):
|
||||
self.keyshuffle = k
|
||||
self.keydropshuffle = d
|
||||
self.shopsanity = s
|
||||
self.retro = r
|
||||
return self
|
||||
@@ -124,12 +122,14 @@ def create_item_pool_config(world):
|
||||
groups = LocationGroup('Major').locs(init_set)
|
||||
if world.bigkeyshuffle[player]:
|
||||
groups.locations.extend(mode_grouping['Big Keys'])
|
||||
if world.keydropshuffle[player] != 'none':
|
||||
if world.dropshuffle[player] != 'none':
|
||||
groups.locations.extend(mode_grouping['Big Key Drops'])
|
||||
if world.keyshuffle[player]:
|
||||
groups.locations.extend(mode_grouping['Small Keys'])
|
||||
if world.keydropshuffle[player] != 'none':
|
||||
if world.dropshuffle[player] != 'none':
|
||||
groups.locations.extend(mode_grouping['Key Drops'])
|
||||
if world.pottery[player] not in ['none', 'cave']:
|
||||
groups.locations.extend(mode_grouping['Pot Keys'])
|
||||
if world.compassshuffle[player]:
|
||||
groups.locations.extend(mode_grouping['Compasses'])
|
||||
if world.mapshuffle[player]:
|
||||
@@ -329,49 +329,6 @@ def count_major_items(config, world, player):
|
||||
return sum(1 for x in world.itempool if x.name in config.item_pool[player] and x.player == player)
|
||||
|
||||
|
||||
def calc_dungeon_limits(world, player):
|
||||
b, s, c, m, k, r, bi = (world.bigkeyshuffle[player], world.keyshuffle[player], world.compassshuffle[player],
|
||||
world.mapshuffle[player], world.keydropshuffle[player], world.retro[player],
|
||||
world.restrict_boss_items[player])
|
||||
if world.doorShuffle[player] in ['vanilla', 'basic']:
|
||||
limits = {}
|
||||
for dungeon, info in dungeon_table.items():
|
||||
val = info.free_items
|
||||
if bi != 'none' and info.prize:
|
||||
if bi == 'mapcompass' and (not c or not m):
|
||||
val -= 1
|
||||
if bi == 'dungeon' and (not c or not m or not (s or r) or not b):
|
||||
val -= 1
|
||||
if b:
|
||||
val += 1 if info.bk_present else 0
|
||||
if k != 'none':
|
||||
val += 1 if info.bk_drops else 0
|
||||
if s or r:
|
||||
val += info.key_num
|
||||
if k != 'none':
|
||||
val += info.key_drops
|
||||
if c:
|
||||
val += 1 if info.compass_present else 0
|
||||
if m:
|
||||
val += 1 if info.map_present else 0
|
||||
limits[dungeon] = val
|
||||
else:
|
||||
limits = 60
|
||||
if world.bigkeyshuffle[player]:
|
||||
limits += 11
|
||||
if world.keydropshuffle[player] != 'none':
|
||||
limits += 1
|
||||
if world.keyshuffle[player] or world.retro[player]:
|
||||
limits += 29
|
||||
if world.keydropshuffle[player] != 'none':
|
||||
limits += 32
|
||||
if world.compassshuffle[player]:
|
||||
limits += 11
|
||||
if world.mapshuffle[player]:
|
||||
limits += 12
|
||||
return limits
|
||||
|
||||
|
||||
def determine_major_items(world, player):
|
||||
major_item_set = set(major_items)
|
||||
if world.progressive == 'off':
|
||||
@@ -776,19 +733,22 @@ mode_grouping = {
|
||||
],
|
||||
'Key Drops': [
|
||||
'Hyrule Castle - Map Guard Key Drop', 'Hyrule Castle - Boomerang Guard Key Drop',
|
||||
'Hyrule Castle - Key Rat Key Drop', 'Eastern Palace - Dark Square Pot Key',
|
||||
'Eastern Palace - Dark Eyegore Key Drop', 'Desert Palace - Desert Tiles 1 Pot Key',
|
||||
'Desert Palace - Beamos Hall Pot Key', 'Desert Palace - Desert Tiles 2 Pot Key',
|
||||
'Hyrule Castle - Key Rat Key Drop', 'Eastern Palace - Dark Eyegore Key Drop',
|
||||
'Castle Tower - Dark Archer Key Drop', 'Castle Tower - Circle of Pots Key Drop',
|
||||
'Skull Woods - Spike Corner Key Drop', 'Ice Palace - Jelly Key Drop', 'Ice Palace - Conveyor Key Drop',
|
||||
'Misery Mire - Conveyor Crystal Key Drop', 'Turtle Rock - Pokey 1 Key Drop',
|
||||
'Turtle Rock - Pokey 2 Key Drop', 'Ganons Tower - Mini Helmasuar Key Drop',
|
||||
],
|
||||
'Pot Keys': [
|
||||
'Eastern Palace - Dark Square Pot Key', 'Desert Palace - Desert Tiles 1 Pot Key',
|
||||
'Desert Palace - Beamos Hall Pot Key', 'Desert Palace - Desert Tiles 2 Pot Key',
|
||||
'Swamp Palace - Pot Row Pot Key', 'Swamp Palace - Trench 1 Pot Key', 'Swamp Palace - Hookshot Pot Key',
|
||||
'Swamp Palace - Trench 2 Pot Key', 'Swamp Palace - Waterway Pot Key', 'Skull Woods - West Lobby Pot Key',
|
||||
'Skull Woods - Spike Corner Key Drop', "Thieves' Town - Hallway Pot Key",
|
||||
"Thieves' Town - Spike Switch Pot Key", 'Ice Palace - Jelly Key Drop', 'Ice Palace - Conveyor Key Drop',
|
||||
"Thieves' Town - Hallway Pot Key", "Thieves' Town - Spike Switch Pot Key",
|
||||
'Ice Palace - Hammer Block Key Drop', 'Ice Palace - Many Pots Pot Key', 'Misery Mire - Spikes Pot Key',
|
||||
'Misery Mire - Fishbone Pot Key', 'Misery Mire - Conveyor Crystal Key Drop', 'Turtle Rock - Pokey 1 Key Drop',
|
||||
'Turtle Rock - Pokey 2 Key Drop', 'Ganons Tower - Conveyor Cross Pot Key',
|
||||
'Misery Mire - Fishbone Pot Key', 'Ganons Tower - Conveyor Cross Pot Key',
|
||||
'Ganons Tower - Double Switch Pot Key', 'Ganons Tower - Conveyor Star Pits Pot Key',
|
||||
'Ganons Tower - Mini Helmasuar Key Drop',
|
||||
|
||||
],
|
||||
'Big Key Drops': ['Hyrule Castle - Big Key Drop'],
|
||||
'Shops': [
|
||||
|
||||
Reference in New Issue
Block a user