mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Pokemon Emerald: Rework tags/dynamically create item and location groups (#3263)
* Pokemon Emerald: Rework location tags to categories * Pokemon Emerald: Rework item tags, automatically create item/location groups * Pokemon Emerald: Move item and location groups to data.py, add some regional location groups * Map Regions * Pokemon Emerald: Fix up location groups * Pokemon Emerald: Move groups to their own file * Pokemon Emerald: Add meta groups for location groups * Pokemon Emerald: Fix has_group using updated item group name * Pokemon Emerald: Add sanity check for maps in location groups * Pokemon Emerald: Remove missed use of location.tags * Pokemon Emerald: Reclassify white and black flutes * Pokemon Emerald: Update changelog * Pokemon Emerald: Adjust changelog --------- Co-authored-by: Tsukino <16899482+Tsukino-uwu@users.noreply.github.com>
This commit is contained in:
@@ -117,6 +117,21 @@ class ItemData(NamedTuple):
|
||||
tags: FrozenSet[str]
|
||||
|
||||
|
||||
class LocationCategory(IntEnum):
|
||||
BADGE = 0
|
||||
HM = 1
|
||||
KEY = 2
|
||||
ROD = 3
|
||||
BIKE = 4
|
||||
TICKET = 5
|
||||
OVERWORLD_ITEM = 6
|
||||
HIDDEN_ITEM = 7
|
||||
GIFT = 8
|
||||
BERRY_TREE = 9
|
||||
TRAINER = 10
|
||||
POKEDEX = 11
|
||||
|
||||
|
||||
class LocationData(NamedTuple):
|
||||
name: str
|
||||
label: str
|
||||
@@ -124,6 +139,7 @@ class LocationData(NamedTuple):
|
||||
default_item: int
|
||||
address: Union[int, List[int]]
|
||||
flag: int
|
||||
category: LocationCategory
|
||||
tags: FrozenSet[str]
|
||||
|
||||
|
||||
@@ -431,6 +447,7 @@ def _init() -> None:
|
||||
location_json["default_item"],
|
||||
[location_json["address"]] + [j["address"] for j in alternate_rival_jsons],
|
||||
location_json["flag"],
|
||||
LocationCategory[location_attributes_json[location_name]["category"]],
|
||||
frozenset(location_attributes_json[location_name]["tags"])
|
||||
)
|
||||
else:
|
||||
@@ -441,6 +458,7 @@ def _init() -> None:
|
||||
location_json["default_item"],
|
||||
location_json["address"],
|
||||
location_json["flag"],
|
||||
LocationCategory[location_attributes_json[location_name]["category"]],
|
||||
frozenset(location_attributes_json[location_name]["tags"])
|
||||
)
|
||||
new_region.locations.append(location_name)
|
||||
@@ -948,6 +966,7 @@ def _init() -> None:
|
||||
evo_stage_to_ball_map[evo_stage],
|
||||
data.locations[dex_location_name].address,
|
||||
data.locations[dex_location_name].flag,
|
||||
data.locations[dex_location_name].category,
|
||||
data.locations[dex_location_name].tags
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user