Skip to content

Commit 939a5ec

Browse files
LTTP: remove multiworld = None (#2290)
1 parent 4ce58c0 commit 939a5ec

File tree

17 files changed

+122
-122
lines changed

17 files changed

+122
-122
lines changed

test/bases.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from worlds.AutoWorld import World, call_all
1111

1212
from BaseClasses import Location, MultiWorld, CollectionState, ItemClassification, Item
13-
from worlds.alttp.Items import ItemFactory
13+
from worlds.alttp.Items import item_factory
1414

1515

1616
class TestBase(unittest.TestCase):
@@ -91,15 +91,15 @@ def _get_items(self, item_pool, all_except):
9191
items = self.multiworld.itempool[:]
9292
items = [item for item in items if
9393
item.name not in all_except and not ("Bottle" in item.name and "AnyBottle" in all_except)]
94-
items.extend(ItemFactory(item_pool[0], 1))
94+
items.extend(item_factory(item_pool[0], self.multiworld.worlds[1]))
9595
else:
96-
items = ItemFactory(item_pool[0], 1)
96+
items = item_factory(item_pool[0], self.multiworld.worlds[1])
9797
return self.get_state(items)
9898

9999
def _get_items_partial(self, item_pool, missing_item):
100100
new_items = item_pool[0].copy()
101101
new_items.remove(missing_item)
102-
items = ItemFactory(new_items, 1)
102+
items = item_factory(new_items, self.multiworld.worlds[1])
103103
return self.get_state(items)
104104

105105

test/general/test_items.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class TestBase(unittest.TestCase):
88
def test_create_item(self):
99
"""Test that a world can successfully create all items in its datapackage"""
1010
for game_name, world_type in AutoWorldRegister.world_types.items():
11-
proxy_world = world_type(None, 0) # this is identical to MultiServer.py creating worlds
11+
proxy_world = setup_solo_multiworld(world_type, ()).worlds[1]
1212
for item_name in world_type.item_name_to_id:
1313
with self.subTest("Create Item", item_name=item_name, game_name=game_name):
1414
item = proxy_world.create_item(item_name)

worlds/AutoWorld.py

+1
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ class World(metaclass=AutoWorldRegister):
296296
"""path it was loaded from"""
297297

298298
def __init__(self, multiworld: "MultiWorld", player: int):
299+
assert multiworld is not None
299300
self.multiworld = multiworld
300301
self.player = player
301302

worlds/alttp/Dungeons.py

+43-43
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from Fill import fill_restrictive
88

99
from .Bosses import BossFactory, Boss
10-
from .Items import ItemFactory
10+
from .Items import item_factory
1111
from .Regions import lookup_boss_drops, key_drop_data
1212
from .Options import small_key_shuffle
1313

@@ -81,90 +81,90 @@ def make_dungeon(name, default_boss, dungeon_regions, big_key, small_keys, dunge
8181
return dungeon
8282

8383
ES = make_dungeon('Hyrule Castle', None, ['Hyrule Castle', 'Sewers', 'Sewer Drop', 'Sewers (Dark)', 'Sanctuary'],
84-
ItemFactory('Big Key (Hyrule Castle)', player),
85-
ItemFactory(['Small Key (Hyrule Castle)'] * 4, player),
86-
[ItemFactory('Map (Hyrule Castle)', player)])
84+
item_factory('Big Key (Hyrule Castle)', world),
85+
item_factory(['Small Key (Hyrule Castle)'] * 4, world),
86+
[item_factory('Map (Hyrule Castle)', world)])
8787
EP = make_dungeon('Eastern Palace', 'Armos Knights', ['Eastern Palace'],
88-
ItemFactory('Big Key (Eastern Palace)', player),
89-
ItemFactory(['Small Key (Eastern Palace)'] * 2, player),
90-
ItemFactory(['Map (Eastern Palace)', 'Compass (Eastern Palace)'], player))
88+
item_factory('Big Key (Eastern Palace)', world),
89+
item_factory(['Small Key (Eastern Palace)'] * 2, world),
90+
item_factory(['Map (Eastern Palace)', 'Compass (Eastern Palace)'], world))
9191
DP = make_dungeon('Desert Palace', 'Lanmolas',
9292
['Desert Palace North', 'Desert Palace Main (Inner)', 'Desert Palace Main (Outer)',
93-
'Desert Palace East'], ItemFactory('Big Key (Desert Palace)', player),
94-
ItemFactory(['Small Key (Desert Palace)'] * 4, player),
95-
ItemFactory(['Map (Desert Palace)', 'Compass (Desert Palace)'], player))
93+
'Desert Palace East'], item_factory('Big Key (Desert Palace)', world),
94+
item_factory(['Small Key (Desert Palace)'] * 4, world),
95+
item_factory(['Map (Desert Palace)', 'Compass (Desert Palace)'], world))
9696
ToH = make_dungeon('Tower of Hera', 'Moldorm',
9797
['Tower of Hera (Bottom)', 'Tower of Hera (Basement)', 'Tower of Hera (Top)'],
98-
ItemFactory('Big Key (Tower of Hera)', player),
99-
[ItemFactory('Small Key (Tower of Hera)', player)],
100-
ItemFactory(['Map (Tower of Hera)', 'Compass (Tower of Hera)'], player))
98+
item_factory('Big Key (Tower of Hera)', world),
99+
[item_factory('Small Key (Tower of Hera)', world)],
100+
item_factory(['Map (Tower of Hera)', 'Compass (Tower of Hera)'], world))
101101
PoD = make_dungeon('Palace of Darkness', 'Helmasaur King',
102102
['Palace of Darkness (Entrance)', 'Palace of Darkness (Center)',
103103
'Palace of Darkness (Big Key Chest)', 'Palace of Darkness (Bonk Section)',
104104
'Palace of Darkness (North)', 'Palace of Darkness (Maze)',
105105
'Palace of Darkness (Harmless Hellway)', 'Palace of Darkness (Final Section)'],
106-
ItemFactory('Big Key (Palace of Darkness)', player),
107-
ItemFactory(['Small Key (Palace of Darkness)'] * 6, player),
108-
ItemFactory(['Map (Palace of Darkness)', 'Compass (Palace of Darkness)'], player))
106+
item_factory('Big Key (Palace of Darkness)', world),
107+
item_factory(['Small Key (Palace of Darkness)'] * 6, world),
108+
item_factory(['Map (Palace of Darkness)', 'Compass (Palace of Darkness)'], world))
109109
TT = make_dungeon('Thieves Town', 'Blind', ['Thieves Town (Entrance)', 'Thieves Town (Deep)', 'Blind Fight'],
110-
ItemFactory('Big Key (Thieves Town)', player),
111-
ItemFactory(['Small Key (Thieves Town)'] * 3, player),
112-
ItemFactory(['Map (Thieves Town)', 'Compass (Thieves Town)'], player))
110+
item_factory('Big Key (Thieves Town)', world),
111+
item_factory(['Small Key (Thieves Town)'] * 3, world),
112+
item_factory(['Map (Thieves Town)', 'Compass (Thieves Town)'], world))
113113
SW = make_dungeon('Skull Woods', 'Mothula', ['Skull Woods Final Section (Entrance)', 'Skull Woods First Section',
114114
'Skull Woods Second Section', 'Skull Woods Second Section (Drop)',
115115
'Skull Woods Final Section (Mothula)',
116116
'Skull Woods First Section (Right)',
117117
'Skull Woods First Section (Left)', 'Skull Woods First Section (Top)'],
118-
ItemFactory('Big Key (Skull Woods)', player),
119-
ItemFactory(['Small Key (Skull Woods)'] * 5, player),
120-
ItemFactory(['Map (Skull Woods)', 'Compass (Skull Woods)'], player))
118+
item_factory('Big Key (Skull Woods)', world),
119+
item_factory(['Small Key (Skull Woods)'] * 5, world),
120+
item_factory(['Map (Skull Woods)', 'Compass (Skull Woods)'], world))
121121
SP = make_dungeon('Swamp Palace', 'Arrghus',
122122
['Swamp Palace (Entrance)', 'Swamp Palace (First Room)', 'Swamp Palace (Starting Area)',
123123
'Swamp Palace (West)', 'Swamp Palace (Center)', 'Swamp Palace (North)'],
124-
ItemFactory('Big Key (Swamp Palace)', player),
125-
ItemFactory(['Small Key (Swamp Palace)'] * 6, player),
126-
ItemFactory(['Map (Swamp Palace)', 'Compass (Swamp Palace)'], player))
124+
item_factory('Big Key (Swamp Palace)', world),
125+
item_factory(['Small Key (Swamp Palace)'] * 6, world),
126+
item_factory(['Map (Swamp Palace)', 'Compass (Swamp Palace)'], world))
127127
IP = make_dungeon('Ice Palace', 'Kholdstare',
128128
['Ice Palace (Entrance)', 'Ice Palace (Second Section)', 'Ice Palace (Main)', 'Ice Palace (East)',
129-
'Ice Palace (East Top)', 'Ice Palace (Kholdstare)'], ItemFactory('Big Key (Ice Palace)', player),
130-
ItemFactory(['Small Key (Ice Palace)'] * 6, player),
131-
ItemFactory(['Map (Ice Palace)', 'Compass (Ice Palace)'], player))
129+
'Ice Palace (East Top)', 'Ice Palace (Kholdstare)'], item_factory('Big Key (Ice Palace)', world),
130+
item_factory(['Small Key (Ice Palace)'] * 6, world),
131+
item_factory(['Map (Ice Palace)', 'Compass (Ice Palace)'], world))
132132
MM = make_dungeon('Misery Mire', 'Vitreous',
133133
['Misery Mire (Entrance)', 'Misery Mire (Main)', 'Misery Mire (West)', 'Misery Mire (Final Area)',
134-
'Misery Mire (Vitreous)'], ItemFactory('Big Key (Misery Mire)', player),
135-
ItemFactory(['Small Key (Misery Mire)'] * 6, player),
136-
ItemFactory(['Map (Misery Mire)', 'Compass (Misery Mire)'], player))
134+
'Misery Mire (Vitreous)'], item_factory('Big Key (Misery Mire)', world),
135+
item_factory(['Small Key (Misery Mire)'] * 6, world),
136+
item_factory(['Map (Misery Mire)', 'Compass (Misery Mire)'], world))
137137
TR = make_dungeon('Turtle Rock', 'Trinexx',
138138
['Turtle Rock (Entrance)', 'Turtle Rock (First Section)', 'Turtle Rock (Chain Chomp Room)',
139139
'Turtle Rock (Pokey Room)',
140140
'Turtle Rock (Second Section)', 'Turtle Rock (Big Chest)', 'Turtle Rock (Crystaroller Room)',
141141
'Turtle Rock (Dark Room)', 'Turtle Rock (Eye Bridge)', 'Turtle Rock (Trinexx)'],
142-
ItemFactory('Big Key (Turtle Rock)', player),
143-
ItemFactory(['Small Key (Turtle Rock)'] * 6, player),
144-
ItemFactory(['Map (Turtle Rock)', 'Compass (Turtle Rock)'], player))
142+
item_factory('Big Key (Turtle Rock)', world),
143+
item_factory(['Small Key (Turtle Rock)'] * 6, world),
144+
item_factory(['Map (Turtle Rock)', 'Compass (Turtle Rock)'], world))
145145

146146
if multiworld.mode[player] != 'inverted':
147147
AT = make_dungeon('Agahnims Tower', 'Agahnim', ['Agahnims Tower', 'Agahnim 1'], None,
148-
ItemFactory(['Small Key (Agahnims Tower)'] * 4, player), [])
148+
item_factory(['Small Key (Agahnims Tower)'] * 4, world), [])
149149
GT = make_dungeon('Ganons Tower', 'Agahnim2',
150150
['Ganons Tower (Entrance)', 'Ganons Tower (Tile Room)', 'Ganons Tower (Compass Room)',
151151
'Ganons Tower (Hookshot Room)', 'Ganons Tower (Map Room)', 'Ganons Tower (Firesnake Room)',
152152
'Ganons Tower (Teleport Room)', 'Ganons Tower (Bottom)', 'Ganons Tower (Top)',
153153
'Ganons Tower (Before Moldorm)', 'Ganons Tower (Moldorm)', 'Agahnim 2'],
154-
ItemFactory('Big Key (Ganons Tower)', player),
155-
ItemFactory(['Small Key (Ganons Tower)'] * 8, player),
156-
ItemFactory(['Map (Ganons Tower)', 'Compass (Ganons Tower)'], player))
154+
item_factory('Big Key (Ganons Tower)', world),
155+
item_factory(['Small Key (Ganons Tower)'] * 8, world),
156+
item_factory(['Map (Ganons Tower)', 'Compass (Ganons Tower)'], world))
157157
else:
158158
AT = make_dungeon('Inverted Agahnims Tower', 'Agahnim', ['Inverted Agahnims Tower', 'Agahnim 1'], None,
159-
ItemFactory(['Small Key (Agahnims Tower)'] * 4, player), [])
159+
item_factory(['Small Key (Agahnims Tower)'] * 4, world), [])
160160
GT = make_dungeon('Inverted Ganons Tower', 'Agahnim2',
161161
['Inverted Ganons Tower (Entrance)', 'Ganons Tower (Tile Room)',
162162
'Ganons Tower (Compass Room)', 'Ganons Tower (Hookshot Room)', 'Ganons Tower (Map Room)',
163163
'Ganons Tower (Firesnake Room)', 'Ganons Tower (Teleport Room)', 'Ganons Tower (Bottom)',
164164
'Ganons Tower (Top)', 'Ganons Tower (Before Moldorm)', 'Ganons Tower (Moldorm)',
165-
'Agahnim 2'], ItemFactory('Big Key (Ganons Tower)', player),
166-
ItemFactory(['Small Key (Ganons Tower)'] * 8, player),
167-
ItemFactory(['Map (Ganons Tower)', 'Compass (Ganons Tower)'], player))
165+
'Agahnim 2'], item_factory('Big Key (Ganons Tower)', world),
166+
item_factory(['Small Key (Ganons Tower)'] * 8, world),
167+
item_factory(['Map (Ganons Tower)', 'Compass (Ganons Tower)'], world))
168168

169169
GT.bosses['bottom'] = BossFactory('Armos Knights', player)
170170
GT.bosses['middle'] = BossFactory('Lanmolas', player)
@@ -259,7 +259,7 @@ def fill_dungeons_restrictive(multiworld: MultiWorld):
259259
if not key_drop_shuffle and player not in multiworld.groups:
260260
for key_loc in key_drop_data:
261261
key_data = key_drop_data[key_loc]
262-
all_state_base.remove(ItemFactory(key_data[3], player))
262+
all_state_base.remove(item_factory(key_data[3], multiworld.worlds[player]))
263263
loc = multiworld.get_location(key_loc, player)
264264

265265
if loc in all_state_base.events:

0 commit comments

Comments
 (0)