Ensure removed items and events do not appear in the starting inventory multidata and web tracker
This commit is contained in:
parent
16e6b9eed7
commit
f17e6f9afd
|
@ -454,12 +454,14 @@ class OOTWorld(World):
|
||||||
generate_itempool(self)
|
generate_itempool(self)
|
||||||
add_dungeon_items(self)
|
add_dungeon_items(self)
|
||||||
junk_pool = get_junk_pool(self)
|
junk_pool = get_junk_pool(self)
|
||||||
|
removed_items = []
|
||||||
# Determine starting items
|
# Determine starting items
|
||||||
for item in self.world.precollected_items:
|
for item in self.world.precollected_items:
|
||||||
if item.player != self.player:
|
if item.player != self.player:
|
||||||
continue
|
continue
|
||||||
if item.name in self.remove_from_start_inventory:
|
if item.name in self.remove_from_start_inventory:
|
||||||
self.remove_from_start_inventory.remove(item.name)
|
self.remove_from_start_inventory.remove(item.name)
|
||||||
|
removed_items.append(item.name)
|
||||||
else:
|
else:
|
||||||
self.starting_items[item.name] += 1
|
self.starting_items[item.name] += 1
|
||||||
if item.type == 'Song':
|
if item.type == 'Song':
|
||||||
|
@ -475,6 +477,7 @@ class OOTWorld(World):
|
||||||
self.starting_items['Rupees'] = 999
|
self.starting_items['Rupees'] = 999
|
||||||
|
|
||||||
self.world.itempool += self.itempool
|
self.world.itempool += self.itempool
|
||||||
|
self.remove_from_start_inventory.extend(removed_items)
|
||||||
|
|
||||||
def set_rules(self):
|
def set_rules(self):
|
||||||
set_rules(self)
|
set_rules(self)
|
||||||
|
@ -767,6 +770,14 @@ class OOTWorld(World):
|
||||||
finally:
|
finally:
|
||||||
hint_data_available.set()
|
hint_data_available.set()
|
||||||
|
|
||||||
|
def modify_multidata(self, multidata: dict):
|
||||||
|
for item_name in self.remove_from_start_inventory:
|
||||||
|
item_id = self.item_name_to_id.get(item_name, None)
|
||||||
|
try:
|
||||||
|
multidata["precollected_items"][self.player].remove(item_id)
|
||||||
|
except ValueError as e:
|
||||||
|
logger.warning(f"Attempted to remove nonexistent item id {item_id} from OoT precollected items ({item_name})")
|
||||||
|
|
||||||
|
|
||||||
# Helper functions
|
# Helper functions
|
||||||
def get_shuffled_entrances(self):
|
def get_shuffled_entrances(self):
|
||||||
|
|
Loading…
Reference in New Issue