@@ -58,7 +58,8 @@ def filter_missions(world: World) -> Dict[MissionPools, List[SC2Mission]]:
58
58
# Vanilla uses the entire mission pool
59
59
goal_priorities : Dict [SC2Campaign , SC2CampaignGoalPriority ] = {campaign : get_campaign_goal_priority (campaign ) for campaign in enabled_campaigns }
60
60
goal_level = max (goal_priorities .values ())
61
- candidate_campaigns = [campaign for campaign , goal_priority in goal_priorities .items () if goal_priority == goal_level ]
61
+ candidate_campaigns : List [SC2Campaign ] = [campaign for campaign , goal_priority in goal_priorities .items () if goal_priority == goal_level ]
62
+ candidate_campaigns .sort (key = lambda it : it .id )
62
63
goal_campaign = world .random .choice (candidate_campaigns )
63
64
if campaign_final_mission_locations [goal_campaign ] is not None :
64
65
mission_pools [MissionPools .FINAL ] = [campaign_final_mission_locations [goal_campaign ].mission ]
@@ -70,7 +71,8 @@ def filter_missions(world: World) -> Dict[MissionPools, List[SC2Mission]]:
70
71
# Finding the goal map
71
72
goal_priorities = {campaign : get_campaign_goal_priority (campaign , excluded_missions ) for campaign in enabled_campaigns }
72
73
goal_level = max (goal_priorities .values ())
73
- candidate_campaigns = [campaign for campaign , goal_priority in goal_priorities .items () if goal_priority == goal_level ]
74
+ candidate_campaigns : List [SC2Campaign ] = [campaign for campaign , goal_priority in goal_priorities .items () if goal_priority == goal_level ]
75
+ candidate_campaigns .sort (key = lambda it : it .id )
74
76
goal_campaign = world .random .choice (candidate_campaigns )
75
77
primary_goal = campaign_final_mission_locations [goal_campaign ]
76
78
if primary_goal is None or primary_goal .mission in excluded_missions :
0 commit comments