Skip to content

Commit fe3c98e

Browse files
committed
Items: make some more progress on ItemClassification #2
1 parent 745eacc commit fe3c98e

File tree

4 files changed

+19
-13
lines changed

4 files changed

+19
-13
lines changed

BaseClasses.py

-1
Original file line numberDiff line numberDiff line change
@@ -1177,7 +1177,6 @@ def __init__(self, name: str, classification: ItemClassification, code: Optional
11771177
self.classification = classification
11781178
else: # temporary compat for old bool saying advancement
11791179
warnings.warn("Use of advancement bool in Item.__init__ instead of new classification.")
1180-
raise Exception
11811180
self.classification = ItemClassification.progression if classification else ItemClassification.filler
11821181
self.player = player
11831182
self.code = code

worlds/generic/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import NamedTuple, Union
22
import logging
33

4-
from BaseClasses import Item, Tutorial
4+
from BaseClasses import Item, Tutorial, ItemClassification
55

66
from ..AutoWorld import World, WebWorld
77
from NetUtils import SlotType
@@ -46,7 +46,7 @@ def generate_early(self):
4646

4747
def create_item(self, name: str) -> Item:
4848
if name == "Nothing":
49-
return Item(name, False, -1, self.player)
49+
return Item(name, ItemClassification.filler, -1, self.player)
5050
raise KeyError(name)
5151

5252

worlds/spire/__init__.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import string
22

3-
from BaseClasses import Item, MultiWorld, Region, Location, Entrance, Tutorial
3+
from BaseClasses import Item, MultiWorld, Region, Location, Entrance, Tutorial, ItemClassification, RegionType
44
from .Items import item_table, item_pool, event_item_pairs
55
from .Locations import location_table
66
from .Regions import create_regions
@@ -12,7 +12,8 @@
1212
class SpireWeb(WebWorld):
1313
tutorials = [Tutorial(
1414
"Multiworld Setup Guide",
15-
"A guide to setting up Slay the Spire for Archipelago. This guide covers single-player, multiworld, and related software.",
15+
"A guide to setting up Slay the Spire for Archipelago. "
16+
"This guide covers single-player, multiworld, and related software.",
1617
"English",
1718
"slay-the-spire_en.md",
1819
"slay-the-spire/en",
@@ -77,8 +78,7 @@ def set_rules(self):
7778
set_rules(self.world, self.player)
7879

7980
def create_item(self, name: str) -> Item:
80-
item_data = item_table[name]
81-
return Item(name, item_data.progression, item_data.code, self.player)
81+
return SpireItem(name, self.player)
8282

8383
def create_regions(self):
8484
create_regions(self.world, self.player)
@@ -95,7 +95,7 @@ def get_filler_item_name(self) -> str:
9595

9696

9797
def create_region(world: MultiWorld, player: int, name: str, locations=None, exits=None):
98-
ret = Region(name, None, name, player)
98+
ret = Region(name, RegionType.Generic, name, player)
9999
ret.world = world
100100
if locations:
101101
for location in locations:
@@ -124,4 +124,8 @@ class SpireItem(Item):
124124

125125
def __init__(self, name, player: int = None):
126126
item_data = item_table[name]
127-
super(SpireItem, self).__init__(name, item_data.progression, item_data.code, player)
127+
super(SpireItem, self).__init__(
128+
name,
129+
ItemClassification.progression if item_data.progression else ItemClassification.filler,
130+
item_data.code, player
131+
)

worlds/subnautica/__init__.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from .Rules import set_rules
1212
from .Options import options
1313

14-
from BaseClasses import Region, Entrance, Location, MultiWorld, Item, Tutorial
14+
from BaseClasses import Region, Entrance, Location, MultiWorld, Item, Tutorial, ItemClassification, RegionType
1515
from ..AutoWorld import World, WebWorld
1616

1717

@@ -74,7 +74,7 @@ def generate_basic(self):
7474
self.world.get_location("Aurora - Captain Data Terminal", self.player).place_locked_item(
7575
neptune_launch_platform)
7676
self.world.get_location("Neptune Launch", self.player).place_locked_item(
77-
SubnauticaItem("Victory", True, None, player=self.player))
77+
SubnauticaItem("Victory", ItemClassification.progression, None, player=self.player))
7878

7979
def set_rules(self):
8080
set_rules(self.world, self.player)
@@ -88,10 +88,13 @@ def fill_slot_data(self):
8888

8989
def create_item(self, name: str) -> Item:
9090
item = lookup_name_to_item[name]
91-
return SubnauticaItem(name, item["progression"], item["id"], player=self.player)
91+
return SubnauticaItem(name,
92+
ItemClassification.progression if item["progression"] else ItemClassification.filler,
93+
item["id"], player=self.player)
94+
9295

9396
def create_region(world: MultiWorld, player: int, name: str, locations=None, exits=None):
94-
ret = Region(name, None, name, player)
97+
ret = Region(name, RegionType.Generic, name, player)
9598
ret.world = world
9699
if locations:
97100
for location in locations:

0 commit comments

Comments
 (0)