Move game names and descriptions into AutoWorld, fix option value names on player-settings pages

This commit is contained in:
Chris Wilson
2021-08-31 17:28:46 -04:00
parent 66627d8a66
commit 4fcce66505
7 changed files with 41 additions and 57 deletions

View File

@@ -24,6 +24,12 @@ lttp_logger = logging.getLogger("A Link to the Past")
class ALTTPWorld(World):
"""
The Legend of Zelda: A Link to the Past is an action/adventure game. Take on the role of
Link, a boy who is destined to save the land of Hyrule. Delve through three palaces and nine
dungeons on your quest to rescue the descendents of the seven wise men and defeat the evil
Ganon!
"""
game: str = "A Link to the Past"
options = alttp_options
topology_present = True
@@ -192,8 +198,8 @@ class ALTTPWorld(World):
elif 'Bow' in item_name:
if state.has('Silver Bow', item.player):
return
elif state.has('Bow', item.player) and (self.world.difficulty_requirements[item.player].progressive_bow_limit >= 2
or self.world.logic[item.player] == 'noglitches'
elif state.has('Bow', item.player) and (self.world.difficulty_requirements[item.player].progressive_bow_limit >= 2
or self.world.logic[item.player] == 'noglitches'
or self.world.swordless[item.player]): # modes where silver bow is always required for ganon
return 'Silver Bow'
elif self.world.difficulty_requirements[item.player].progressive_bow_limit >= 1:
@@ -401,4 +407,4 @@ class ALttPLogic(LogicMixin):
return True
if self.world.smallkey_shuffle[player] == smallkey_shuffle.option_universal:
return self.can_buy_unlimited('Small Key (Universal)', player)
return self.prog_items[item, player] >= count
return self.prog_items[item, player] >= count

View File

@@ -24,6 +24,11 @@ all_items["Evolution Trap"] = factorio_base_id - 2
class Factorio(World):
"""
Factorio is a game about automation. You play as an engineer who has crash landed on the planet
Nauvis, an inhospitable world filled with dangerous creatures called biters. Build a factory,
research new technologies, and become more efficient in your quest to build a rocket and return home.
"""
game: str = "Factorio"
static_nodes = {"automation", "logistics", "rocket-silo"}
custom_recipes = {}

View File

@@ -16,6 +16,12 @@ from ..AutoWorld import World
client_version = 6
class MinecraftWorld(World):
"""
Minecraft is a game about creativity. In a world made entirely of cubes, you explore, discover, mine,
craft, and try not to explode. Delve deep into the earth and discover abandoned mines, ancient
structures, and materials to create a portal to another world. Defeat the Ender Dragon, and claim
victory!
"""
game: str = "Minecraft"
options = minecraft_options
topology_present = True
@@ -47,7 +53,7 @@ class MinecraftWorld(World):
itempool = []
junk_pool = junk_weights.copy()
# Add all required progression items
for (name, num) in required_items.items():
for (name, num) in required_items.items():
itempool += [name] * num
# Add structure compasses if desired
if self.world.structure_compasses[self.player]:
@@ -85,9 +91,9 @@ class MinecraftWorld(World):
def MCRegion(region_name: str, exits=[]):
ret = Region(region_name, None, region_name, self.player, self.world)
ret.locations = [MinecraftAdvancement(self.player, loc_name, loc_data.id, ret)
for loc_name, loc_data in advancement_table.items()
for loc_name, loc_data in advancement_table.items()
if loc_data.region == region_name]
for exit in exits:
for exit in exits:
ret.exits.append(Entrance(self.player, exit, ret))
return ret
@@ -100,7 +106,7 @@ class MinecraftWorld(World):
with open(os.path.join(output_directory, filename), 'wb') as f:
f.write(b64encode(bytes(json.dumps(data), 'utf-8')))
def fill_slot_data(self):
def fill_slot_data(self):
slot_data = self._get_mc_data()
for option_name in minecraft_options:
option = getattr(self.world, option_name)[self.player]
@@ -115,7 +121,7 @@ class MinecraftWorld(World):
item.never_exclude = True
return item
def mc_update_output(raw_data, server, port):
def mc_update_output(raw_data, server, port):
data = json.loads(b64decode(raw_data))
data['server'] = server
data['port'] = port

View File

@@ -15,6 +15,11 @@ from ..AutoWorld import World
class SubnauticaWorld(World):
"""
Subnautica is an undersea exploration game. Stranded on an alien world, you become infected by
an unknown bacteria. The planet's automatic quarantine will shoot you down if you try to leave.
You must find a cure for yourself, build an escape rocket, and leave the planet.
"""
game: str = "Subnautica"
item_name_to_id = items_lookup_name_to_id
@@ -53,7 +58,7 @@ class SubnauticaWorld(World):
pass
def fill_slot_data(self):
def fill_slot_data(self):
slot_data = {}
return slot_data