Skip to content

Commit e6e31a2

Browse files
authored
SC2: Fix Nondeterministic Behavior (ArchipelagoMW#4246)
* Add < for sorting * Sorting for determinism * id instead of value
1 parent a650e90 commit e6e31a2

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

worlds/sc2/MissionTables.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ def __init__(self, campaign_id: int, name: str, goal_priority: SC2CampaignGoalPr
4343
self.goal_priority = goal_priority
4444
self.race = race
4545

46+
def __lt__(self, other: "SC2Campaign"):
47+
return self.id < other.id
48+
4649
GLOBAL = 0, "Global", SC2CampaignGoalPriority.NONE, SC2Race.ANY
4750
WOL = 1, "Wings of Liberty", SC2CampaignGoalPriority.VERY_HARD, SC2Race.TERRAN
4851
PROPHECY = 2, "Prophecy", SC2CampaignGoalPriority.MINI_CAMPAIGN, SC2Race.PROTOSS

worlds/sc2/Regions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def create_vanilla_regions(
5050
names: Dict[str, int] = {}
5151

5252
# Generating all regions and locations for each enabled campaign
53-
for campaign in enabled_campaigns:
53+
for campaign in sorted(enabled_campaigns):
5454
for region_name in vanilla_mission_req_table[campaign].keys():
5555
regions.append(create_region(world, locations_per_region, location_cache, region_name))
5656
world.multiworld.regions += regions

0 commit comments

Comments
 (0)