From 11f0ad9ea0a9a5856cb5cf7adbdc5fb34a88a232 Mon Sep 17 00:00:00 2001 From: Ziktofel Date: Wed, 6 Nov 2024 20:52:09 +0100 Subject: [PATCH] Add Old Soldiers race swaps --- worlds/sc2/locations.py | 36 ++++++++++++++++++++++++++++++++++++ worlds/sc2/mission_tables.py | 5 +++-- worlds/sc2/options.py | 2 +- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/worlds/sc2/locations.py b/worlds/sc2/locations.py index 656e61d721bd..807971554cd1 100644 --- a/worlds/sc2/locations.py +++ b/worlds/sc2/locations.py @@ -3697,6 +3697,42 @@ def get_locations(world: Optional['SC2World']) -> Tuple[LocationData, ...]: make_location_data(SC2Mission.FIRE_IN_THE_SKY_P.mission_name, "Southeast Orbital Command Center", SC2_RACESWAP_LOC_ID_OFFSET + 7412, LocationType.CHALLENGE, logic.protoss_competent_comp ), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "Victory", SC2_RACESWAP_LOC_ID_OFFSET + 7500, LocationType.VICTORY, + logic.terran_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "East Science Lab", SC2_RACESWAP_LOC_ID_OFFSET + 7501, LocationType.VANILLA, + logic.terran_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "North Science Lab", SC2_RACESWAP_LOC_ID_OFFSET + 7502, LocationType.VANILLA, + logic.terran_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "Get Nuked", SC2_RACESWAP_LOC_ID_OFFSET + 7503, LocationType.EXTRA), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "Entrance Gate", SC2_RACESWAP_LOC_ID_OFFSET + 7504, LocationType.EXTRA), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "Citadel Gate", SC2_RACESWAP_LOC_ID_OFFSET + 7505, LocationType.EXTRA, + logic.terran_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "South Expansion", SC2_RACESWAP_LOC_ID_OFFSET + 7506, LocationType.EXTRA), + make_location_data(SC2Mission.OLD_SOLDIERS_T.mission_name, "Rich Mineral Expansion", SC2_RACESWAP_LOC_ID_OFFSET + 7507, LocationType.EXTRA, + logic.terran_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "Victory", SC2_RACESWAP_LOC_ID_OFFSET + 7600, LocationType.VICTORY, + logic.protoss_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "East Science Lab", SC2_RACESWAP_LOC_ID_OFFSET + 7601, LocationType.VANILLA, + logic.protoss_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "North Science Lab", SC2_RACESWAP_LOC_ID_OFFSET + 7602, LocationType.VANILLA, + logic.protoss_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "Get Nuked", SC2_RACESWAP_LOC_ID_OFFSET + 7603, LocationType.EXTRA), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "Entrance Gate", SC2_RACESWAP_LOC_ID_OFFSET + 7604, LocationType.EXTRA), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "Citadel Gate", SC2_RACESWAP_LOC_ID_OFFSET + 7605, LocationType.EXTRA, + logic.protoss_competent_comp + ), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "South Expansion", SC2_RACESWAP_LOC_ID_OFFSET + 7606, LocationType.EXTRA), + make_location_data(SC2Mission.OLD_SOLDIERS_P.mission_name, "Rich Mineral Expansion", SC2_RACESWAP_LOC_ID_OFFSET + 7607, LocationType.EXTRA, + logic.protoss_competent_comp + ), ] beat_events = [] diff --git a/worlds/sc2/mission_tables.py b/worlds/sc2/mission_tables.py index 4e864fe964fd..edb52fd6492f 100644 --- a/worlds/sc2/mission_tables.py +++ b/worlds/sc2/mission_tables.py @@ -141,7 +141,7 @@ def __init__(self, mission_id: int, name: str, campaign: SC2Campaign, area: str, ENEMY_WITHIN = 35, "Enemy Within", SC2Campaign.HOTS, "Kaldir", SC2Race.ANY, MissionPools.EASY, "ap_enemy_within", MissionFlag.Zerg|MissionFlag.NoBuild|MissionFlag.VsProtoss DOMINATION = 36, "Domination (Zerg)", SC2Campaign.HOTS, "Char", SC2Race.ZERG, MissionPools.EASY, "ap_domination", MissionFlag.Zerg|MissionFlag.Kerrigan|MissionFlag.Countdown|MissionFlag.VsZerg|MissionFlag.HasRaceSwap FIRE_IN_THE_SKY = 37, "Fire in the Sky (Zerg)", SC2Campaign.HOTS, "Char", SC2Race.ZERG, MissionPools.MEDIUM, "ap_fire_in_the_sky", MissionFlag.Zerg|MissionFlag.Kerrigan|MissionFlag.Countdown|MissionFlag.VsTerran|MissionFlag.HasRaceSwap - OLD_SOLDIERS = 38, "Old Soldiers", SC2Campaign.HOTS, "Char", SC2Race.ZERG, MissionPools.MEDIUM, "ap_old_soldiers", MissionFlag.Zerg|MissionFlag.Kerrigan|MissionFlag.VsTerran + OLD_SOLDIERS = 38, "Old Soldiers (Zerg)", SC2Campaign.HOTS, "Char", SC2Race.ZERG, MissionPools.MEDIUM, "ap_old_soldiers", MissionFlag.Zerg|MissionFlag.Kerrigan|MissionFlag.VsTerran|MissionFlag.HasRaceSwap WAKING_THE_ANCIENT = 39, "Waking the Ancient", SC2Campaign.HOTS, "Zerus", SC2Race.ZERG, MissionPools.MEDIUM, "ap_waking_the_ancient", MissionFlag.Zerg|MissionFlag.Kerrigan|MissionFlag.VsZerg THE_CRUCIBLE = 40, "The Crucible", SC2Campaign.HOTS, "Zerus", SC2Race.ZERG, MissionPools.MEDIUM, "ap_the_crucible", MissionFlag.Zerg|MissionFlag.TimedDefense|MissionFlag.VsZerg SUPREME = 41, "Supreme", SC2Campaign.HOTS, "Zerus", SC2Race.ANY, MissionPools.MEDIUM, "ap_supreme", MissionFlag.Zerg|MissionFlag.Kerrigan|MissionFlag.NoBuild|MissionFlag.VsZerg @@ -255,7 +255,8 @@ def __init__(self, mission_id: int, name: str, campaign: SC2Campaign, area: str, DOMINATION_P = 155, "Domination (Protoss)", SC2Campaign.HOTS, "Char", SC2Race.PROTOSS, MissionPools.EASY, "ap_domination", MissionFlag.Protoss|MissionFlag.Countdown|MissionFlag.VsZerg|MissionFlag.RaceSwap FIRE_IN_THE_SKY_T = 156, "Fire in the Sky (Terran)", SC2Campaign.HOTS, "Char", SC2Race.TERRAN, MissionPools.MEDIUM, "ap_fire_in_the_sky", MissionFlag.Terran|MissionFlag.Countdown|MissionFlag.VsTerran|MissionFlag.RaceSwap FIRE_IN_THE_SKY_P = 157, "Fire in the Sky (Protoss)", SC2Campaign.HOTS, "Char", SC2Race.PROTOSS, MissionPools.MEDIUM, "ap_fire_in_the_sky", MissionFlag.Protoss|MissionFlag.Countdown|MissionFlag.VsTerran|MissionFlag.RaceSwap - # 158/159 - Old Soldiers + OLD_SOLDIERS_T = 158, "Old Soldiers (Terran)", SC2Campaign.HOTS, "Char", SC2Race.TERRAN, MissionPools.MEDIUM, "ap_old_soldiers", MissionFlag.Terran|MissionFlag.VsTerran|MissionFlag.RaceSwap + OLD_SOLDIERS_P = 159, "Old Soldiers (Protoss)", SC2Campaign.HOTS, "Char", SC2Race.PROTOSS, MissionPools.MEDIUM, "ap_old_soldiers", MissionFlag.Protoss|MissionFlag.VsTerran|MissionFlag.RaceSwap # 160/161 - Waking the Ancient # 162/163 - The Crucible # 164/165 - Supreme diff --git a/worlds/sc2/options.py b/worlds/sc2/options.py index ddd16fb65a9c..9c2189b02e79 100644 --- a/worlds/sc2/options.py +++ b/worlds/sc2/options.py @@ -150,7 +150,7 @@ class MaximumCampaignSize(Range): """ display_name = "Maximum Campaign Size" range_start = 1 - range_end = 125 + range_end = 127 default = 83