Skip to content

Commit

Permalink
SC2: Easier supernova raceswap logic
Browse files Browse the repository at this point in the history
  • Loading branch information
EnvyDragon committed Nov 24, 2024
1 parent d1c03ce commit f08e983
Showing 1 changed file with 30 additions and 10 deletions.
40 changes: 30 additions & 10 deletions worlds/sc2/locations.py
Original file line number Diff line number Diff line change
Expand Up @@ -2784,50 +2784,70 @@ def get_locations(world: Optional['SC2World']) -> Tuple[LocationData, ...]:
logic.protoss_competent_comp
),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "Victory", SC2_RACESWAP_LOC_ID_OFFSET + 2100, LocationType.VICTORY,
logic.zerg_competent_comp_competent_aa
lambda state: (
logic.zerg_competent_comp_competent_aa(state)
and (adv_tactics or state.has(item_names.YGGDRASIL, player)))
),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "West Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2101, LocationType.VANILLA),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "North Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2102, LocationType.VANILLA),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "South Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2103, LocationType.VANILLA,
logic.zerg_competent_comp_competent_aa
lambda state: (
logic.zerg_competent_comp_competent_aa(state)
and (adv_tactics or state.has(item_names.YGGDRASIL, player)))
),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "East Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2104, LocationType.VANILLA,
logic.zerg_competent_comp_competent_aa
lambda state: (
logic.zerg_competent_comp_competent_aa(state)
and (adv_tactics or state.has(item_names.YGGDRASIL, player)))
),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "Landing Zone Cleared", SC2_RACESWAP_LOC_ID_OFFSET + 2105, LocationType.EXTRA),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "Middle Base", SC2_RACESWAP_LOC_ID_OFFSET + 2106, LocationType.EXTRA,
logic.zerg_competent_comp_competent_aa
lambda state: (
logic.zerg_competent_comp_competent_aa(state)
and (adv_tactics or state.has(item_names.YGGDRASIL, player)))
),
make_location_data(SC2Mission.SUPERNOVA_Z.mission_name, "Southeast Base", SC2_RACESWAP_LOC_ID_OFFSET + 2107, LocationType.EXTRA,
logic.zerg_competent_comp_competent_aa
lambda state: (
logic.zerg_competent_comp_competent_aa(state)
and (adv_tactics or state.has(item_names.YGGDRASIL, player)))
),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "Victory", SC2_RACESWAP_LOC_ID_OFFSET + 2200, LocationType.VICTORY,
lambda state: (
logic.protoss_competent_comp(state)
and (adv_tactics or state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player)))
and (
state.count(item_names.PROGRESSIVE_WARP_RELOCATE, player) >= 2
or (adv_tactics and state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player))))
),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "West Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2201, LocationType.VANILLA),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "North Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2202, LocationType.VANILLA),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "South Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2203, LocationType.VANILLA,
lambda state: (
logic.protoss_competent_comp(state)
and (adv_tactics or state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player)))
and (
state.count(item_names.PROGRESSIVE_WARP_RELOCATE, player) >= 2
or (adv_tactics and state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player))))
),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "East Relic", SC2_RACESWAP_LOC_ID_OFFSET + 2204, LocationType.VANILLA,
lambda state: (
logic.protoss_competent_comp(state)
and (adv_tactics or state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player)))
and (
state.count(item_names.PROGRESSIVE_WARP_RELOCATE, player) >= 2
or (adv_tactics and state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player))))
),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "Landing Zone Cleared", SC2_RACESWAP_LOC_ID_OFFSET + 2205, LocationType.EXTRA),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "Middle Base", SC2_RACESWAP_LOC_ID_OFFSET + 2206, LocationType.EXTRA,
lambda state: (
logic.protoss_competent_comp(state)
and (adv_tactics or state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player)))
and (
state.count(item_names.PROGRESSIVE_WARP_RELOCATE, player) >= 2
or (adv_tactics and state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player))))
),
make_location_data(SC2Mission.SUPERNOVA_P.mission_name, "Southeast Base", SC2_RACESWAP_LOC_ID_OFFSET + 2207, LocationType.EXTRA,
lambda state: (
logic.protoss_competent_comp(state)
and (adv_tactics or state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player)))
and (
state.count(item_names.PROGRESSIVE_WARP_RELOCATE, player) >= 2
or (adv_tactics and state.has(item_names.PROGRESSIVE_WARP_RELOCATE, player))))
),
make_location_data(SC2Mission.MAW_OF_THE_VOID_Z.mission_name, "Victory", SC2_RACESWAP_LOC_ID_OFFSET + 2300, LocationType.VICTORY,
logic.zerg_maw_requirement
Expand Down

0 comments on commit f08e983

Please sign in to comment.