Hylics 2: Update item creation (#1671)

This commit is contained in:
Trevor L 2023-04-07 12:01:26 -06:00 committed by GitHub
parent ccb89dd65c
commit aa6ad5d34f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 16 deletions

View File

@ -1,5 +1,4 @@
import random from typing import Dict, List, Any
from typing import Dict, Any
from BaseClasses import Region, Entrance, Location, Item, Tutorial, ItemClassification from BaseClasses import Region, Entrance, Location, Item, Tutorial, ItemClassification
from worlds.generic.Rules import set_rule from worlds.generic.Rules import set_rule
from . import Exits, Items, Locations, Options, Rules from . import Exits, Items, Locations, Options, Rules
@ -73,7 +72,7 @@ class Hylics2World(World):
elif i == 3: elif i == 3:
self.start_location = "Shield Facility" self.start_location = "Shield Facility"
def generate_basic(self): def create_items(self):
# create item pool # create item pool
pool = [] pool = []
@ -88,6 +87,22 @@ class Hylics2World(World):
for i, data in Items.party_item_table.items(): for i, data in Items.party_item_table.items():
pool.append(self.add_item(data["name"], data["classification"], i)) pool.append(self.add_item(data["name"], data["classification"], i))
# handle gesture shuffle
if not self.multiworld.gesture_shuffle[self.player]: # add gestures to pool like normal
for i, data in Items.gesture_item_table.items():
pool.append(self.add_item(data["name"], data["classification"], i))
# add '10 Bones' items if medallion shuffle is enabled
if self.multiworld.medallion_shuffle[self.player]:
for i, data in Items.medallion_item_table.items():
for j in range(data["count"]):
pool.append(self.add_item(data["name"], data["classification"], i))
# add to world's pool
self.multiworld.itempool += pool
def pre_fill(self):
# handle gesture shuffle options # handle gesture shuffle options
if self.multiworld.gesture_shuffle[self.player] == 2: # vanilla locations if self.multiworld.gesture_shuffle[self.player] == 2: # vanilla locations
gestures = Items.gesture_item_table gestures = Items.gesture_item_table
@ -135,19 +150,6 @@ class Hylics2World(World):
gestures.remove(gest) gestures.remove(gest)
tvs.remove(tv) tvs.remove(tv)
else: # add gestures to pool like normal
for i, data in Items.gesture_item_table.items():
pool.append(self.add_item(data["name"], data["classification"], i))
# add '10 Bones' items if medallion shuffle is enabled
if self.multiworld.medallion_shuffle[self.player]:
for i, data in Items.medallion_item_table.items():
for j in range(data["count"]):
pool.append(self.add_item(data["name"], data["classification"], i))
# add to world's pool
self.multiworld.itempool += pool
def fill_slot_data(self) -> Dict[str, Any]: def fill_slot_data(self) -> Dict[str, Any]:
slot_data: Dict[str, Any] = { slot_data: Dict[str, Any] = {