Subnautica: implement create_item and therefore start_inventory
This commit is contained in:
parent
2d65fbf798
commit
7fd0f1a5bf
|
@ -20,8 +20,8 @@ class RiskOfRainWorld(World):
|
||||||
options = ror2_options
|
options = ror2_options
|
||||||
topology_present = False
|
topology_present = False
|
||||||
|
|
||||||
item_name_to_id = {name: data for name, data in item_table.items()}
|
item_name_to_id = item_table
|
||||||
location_name_to_id = {name: data for name, data in location_table.items()}
|
location_name_to_id = location_table
|
||||||
|
|
||||||
data_version = 1
|
data_version = 1
|
||||||
forced_auto_forfeit = True
|
forced_auto_forfeit = True
|
||||||
|
|
|
@ -4,7 +4,7 @@ from typing import Set
|
||||||
logger = logging.getLogger("Subnautica")
|
logger = logging.getLogger("Subnautica")
|
||||||
|
|
||||||
from .Locations import lookup_name_to_id as locations_lookup_name_to_id
|
from .Locations import lookup_name_to_id as locations_lookup_name_to_id
|
||||||
from .Items import item_table
|
from .Items import item_table, lookup_name_to_item
|
||||||
from .Items import lookup_name_to_id as items_lookup_name_to_id
|
from .Items import lookup_name_to_id as items_lookup_name_to_id
|
||||||
|
|
||||||
from .Regions import create_regions
|
from .Regions import create_regions
|
||||||
|
@ -34,7 +34,7 @@ class SubnauticaWorld(World):
|
||||||
neptune_launch_platform = None
|
neptune_launch_platform = None
|
||||||
for item in item_table:
|
for item in item_table:
|
||||||
for i in range(item["count"]):
|
for i in range(item["count"]):
|
||||||
subnautica_item = SubnauticaItem(item["name"], item["progression"], item["id"], player = self.player)
|
subnautica_item = self.create_item(item["name"])
|
||||||
if item["name"] == "Neptune Launch Platform":
|
if item["name"] == "Neptune Launch Platform":
|
||||||
neptune_launch_platform = subnautica_item
|
neptune_launch_platform = subnautica_item
|
||||||
else:
|
else:
|
||||||
|
@ -42,26 +42,28 @@ class SubnauticaWorld(World):
|
||||||
self.world.itempool += pool
|
self.world.itempool += pool
|
||||||
|
|
||||||
# Victory item
|
# Victory item
|
||||||
self.world.get_location("Aurora - Captain Data Terminal", self.player).place_locked_item(neptune_launch_platform)
|
self.world.get_location("Aurora - Captain Data Terminal", self.player).place_locked_item(
|
||||||
self.world.get_location("Neptune Launch", self.player).place_locked_item(SubnauticaItem("Victory", True, None, player = self.player))
|
neptune_launch_platform)
|
||||||
|
self.world.get_location("Neptune Launch", self.player).place_locked_item(
|
||||||
|
SubnauticaItem("Victory", True, None, player=self.player))
|
||||||
|
|
||||||
def set_rules(self):
|
def set_rules(self):
|
||||||
set_rules(self.world, self.player)
|
set_rules(self.world, self.player)
|
||||||
|
|
||||||
|
|
||||||
def create_regions(self):
|
def create_regions(self):
|
||||||
create_regions(self.world, self.player)
|
create_regions(self.world, self.player)
|
||||||
|
|
||||||
|
|
||||||
def generate_output(self, output_directory: str):
|
def generate_output(self, output_directory: str):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def fill_slot_data(self):
|
def fill_slot_data(self):
|
||||||
slot_data = {}
|
slot_data = {}
|
||||||
return slot_data
|
return slot_data
|
||||||
|
|
||||||
|
def create_item(self, name: str) -> Item:
|
||||||
|
item = lookup_name_to_item[name]
|
||||||
|
return SubnauticaItem(name, item["progression"], item["id"], player=self.player)
|
||||||
|
|
||||||
|
|
||||||
def create_region(world: MultiWorld, player: int, name: str, locations=None, exits=None):
|
def create_region(world: MultiWorld, player: int, name: str, locations=None, exits=None):
|
||||||
ret = Region(name, None, name, player)
|
ret = Region(name, None, name, player)
|
||||||
|
|
Loading…
Reference in New Issue