Skip to content

Commit

Permalink
Fix Engine of Destruction requirement
Browse files Browse the repository at this point in the history
  • Loading branch information
Ziktofel committed Jan 11, 2024
1 parent 7e225ad commit 0e53316
Show file tree
Hide file tree
Showing 24 changed files with 15 additions and 30 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed data/sc2/Mods/ArchipelagoHotS.SC2Mod
Binary file not shown.
6 changes: 0 additions & 6 deletions data/sc2/Mods/ArchipelagoPlayer.SC2Mod/Preload.xml

This file was deleted.

32 changes: 8 additions & 24 deletions worlds/sc2/Locations.py
Original file line number Diff line number Diff line change
Expand Up @@ -470,42 +470,26 @@ def get_locations(multiworld: Optional[MultiWorld], player: Optional[int]) -> Tu
LocationData("Cutthroat", "Cutthroat: West Command Center", SC2WOL_LOC_ID_OFFSET + 1807, LocationType.EXTRA,
lambda state: logic.terran_common_unit(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Victory", SC2WOL_LOC_ID_OFFSET + 1900, LocationType.VICTORY,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Odin", SC2WOL_LOC_ID_OFFSET + 1901, LocationType.EXTRA,
lambda state: logic.marine_medic_upgrade(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Loki", SC2WOL_LOC_ID_OFFSET + 1902,
LocationType.CHALLENGE,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Lab Devourer", SC2WOL_LOC_ID_OFFSET + 1903, LocationType.VANILLA,
lambda state: logic.marine_medic_upgrade(state)),
LocationData("Engine of Destruction", "Engine of Destruction: North Devourer", SC2WOL_LOC_ID_OFFSET + 1904, LocationType.VANILLA,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Southeast Devourer", SC2WOL_LOC_ID_OFFSET + 1905, LocationType.VANILLA,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Engine of Destruction", "Engine of Destruction: West Base", SC2WOL_LOC_ID_OFFSET + 1906, LocationType.EXTRA,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Northwest Base", SC2WOL_LOC_ID_OFFSET + 1907, LocationType.EXTRA,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Northeast Base", SC2WOL_LOC_ID_OFFSET + 1908, LocationType.EXTRA,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Engine of Destruction", "Engine of Destruction: Southeast Base", SC2WOL_LOC_ID_OFFSET + 1909, LocationType.EXTRA,
lambda state: logic.marine_medic_upgrade(state) and
logic.terran_competent_anti_air(state) and
logic.terran_common_unit(state) or state.has(ItemNames.WRAITH, player)),
lambda state: logic.engine_of_destruction_requirement(state)),
LocationData("Media Blitz", "Media Blitz: Victory", SC2WOL_LOC_ID_OFFSET + 2000, LocationType.VICTORY,
lambda state: logic.terran_competent_comp(state)),
LocationData("Media Blitz", "Media Blitz: Tower 1", SC2WOL_LOC_ID_OFFSET + 2001, LocationType.VANILLA,
Expand Down
7 changes: 7 additions & 0 deletions worlds/sc2/Rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,13 @@ def terran_respond_to_colony_infestations(self, state: CollectionState) -> bool:
and self.terran_defense_rating(state, True) >= 3
)

def engine_of_destruction_requirement(self, state: CollectionState):
self.marine_medic_upgrade(state) \
and (
self.terran_competent_anti_air(state)
and self.terran_common_unit(state) or state.has(ItemNames.WRAITH, self.player)
)

def all_in_requirement(self, state: CollectionState):
"""
All-in
Expand Down

0 comments on commit 0e53316

Please sign in to comment.