Skip to content

Commit

Permalink
SC2: Updating Dawnbringer name/desc/logic
Browse files Browse the repository at this point in the history
  • Loading branch information
EnvyDragon committed Jul 10, 2024
1 parent 06df4f6 commit a1ac7c9
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 15 deletions.
4 changes: 2 additions & 2 deletions worlds/sc2/item_descriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -743,7 +743,7 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description:
item_names.CORSAIR: "Air superiority starfighter. Can use the Disruption Web ability.",
item_names.DESTROYER: "Area assault craft. Can use the Destruction Beam ability to attack multiple units at once.",
item_names.WARP_RAY: "Surgical-strike craft. Damage output increases the longer the Warp Ray remains on target.",
item_names.SCORCHER: "Flying Assault Ship. Can use prismatic alignment to temporarily deal increased damage at the cost of movement speed.",
item_names.DAWNBRINGER: "Flying Anti-Surface Assault Ship. Attacks in an area around the target. Attack count increases as it continues firing.",
item_names.SCOUT: "Versatile high-speed fighter.",
item_names.TEMPEST: "Siege artillery craft. Attacks from long range. Can use the Disintegration ability.",
item_names.MOTHERSHIP: "Ultimate Protoss vessel, Can use the Vortex and Mass Recall abilities. Cloaks nearby units and structures.",
Expand Down Expand Up @@ -801,7 +801,7 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description:
item_names.ARBITER_ENHANCED_CLOAK_FIELD: "Increases Arbiter Cloaking Field range.",
item_names.CARRIER_SKYLORD_PURGER_GRAVITON_CATAPULT: "Carriers can launch Interceptors more quickly.",
item_names.CARRIER_SKYLORD_PURGER_HULL_OF_PAST_GLORIES: "Carriers gain +2 armour.",
item_names.VOID_RAY_DESTROYER_WARP_RAY_SCORCHER_FLUX_VANES: "Increases Void Ray and Destroyer movement speed.",
item_names.VOID_RAY_DESTROYER_WARP_RAY_DAWNBRINGER_FLUX_VANES: "Increases movement speed of Void Ray variants.",
item_names.DESTROYER_REFORGED_BLOODSHARD_CORE: "When fully charged, the Destroyer's Destruction Beam weapon does full damage to secondary targets.",
item_names.WARP_PRISM_GRAVITIC_DRIVE: "Increases the movement speed of Warp Prisms.",
item_names.WARP_PRISM_PHASE_BLASTER: "Equips Warp Prisms with an auto-attack that can hit ground and air targets.",
Expand Down
4 changes: 2 additions & 2 deletions worlds/sc2/item_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@ def get_all_group_names(cls) -> typing.Set[str]:
]
item_name_groups[ItemGroupNames.STARGATE_UNITS] = stargate_units = [
item_names.PHOENIX, item_names.MIRAGE, item_names.CORSAIR,
item_names.VOID_RAY, item_names.DESTROYER, item_names.WARP_RAY, item_names.SCORCHER,
item_names.VOID_RAY, item_names.DESTROYER, item_names.WARP_RAY, item_names.DAWNBRINGER,
item_names.CARRIER, item_names.SKYLORD, item_names.PURGER,
item_names.TEMPEST, item_names.SCOUT, item_names.MOTHERSHIP,
item_names.ARBITER, item_names.ORACLE,
Expand All @@ -559,7 +559,7 @@ def get_all_group_names(cls) -> typing.Set[str]:
item_name_groups[ItemGroupNames.PURIFIER_UNITS] = [
item_names.SENTINEL, item_names.ADEPT, item_names.INSTIGATOR, item_names.ENERGIZER,
item_names.STALWART, item_names.COLOSSUS, item_names.DISRUPTOR,
item_names.MIRAGE, item_names.SCORCHER, item_names.PURGER, item_names.TEMPEST,
item_names.MIRAGE, item_names.DAWNBRINGER, item_names.PURGER, item_names.TEMPEST,
]
item_name_groups[ItemGroupNames.SOA_ITEMS] = soa_items = [
*[item_name for item_name, item_data in items.item_table.items() if item_data.type == items.ProtossItemType.Spear_Of_Adun],
Expand Down
4 changes: 3 additions & 1 deletion worlds/sc2/item_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,9 @@
CORSAIR = "Corsair"
DESTROYER = "Destroyer"
WARP_RAY = "Warp Ray"
# Retaining name for backward compatibility
SCORCHER = "Scorcher"
DAWNBRINGER = "Dawnbringer"
SCOUT = "Scout"
TEMPEST = "Tempest"
MOTHERSHIP = "Mothership"
Expand Down Expand Up @@ -633,7 +635,7 @@
ARBITER_ENHANCED_CLOAK_FIELD = "Enhanced Cloak Field (Arbiter)"
CARRIER_SKYLORD_PURGER_GRAVITON_CATAPULT = "Graviton Catapult (Carrier/Skylord/Purger)"
CARRIER_SKYLORD_PURGER_HULL_OF_PAST_GLORIES = "Hull of Past Glories (Carrier/Skylord/Purger)"
VOID_RAY_DESTROYER_WARP_RAY_SCORCHER_FLUX_VANES = "Flux Vanes (Void Ray/Destroyer/Warp Ray/Scorcher)"
VOID_RAY_DESTROYER_WARP_RAY_DAWNBRINGER_FLUX_VANES = "Flux Vanes (Void Ray/Destroyer/Warp Ray/Dawnbringer)"
DESTROYER_REFORGED_BLOODSHARD_CORE = "Reforged Bloodshard Core (Destroyer)"
WARP_PRISM_GRAVITIC_DRIVE = "Gravitic Drive (Warp Prism)"
WARP_PRISM_PHASE_BLASTER = "Phase Blaster (Warp Prism)"
Expand Down
4 changes: 2 additions & 2 deletions worlds/sc2/items.py
Original file line number Diff line number Diff line change
Expand Up @@ -1584,7 +1584,7 @@ def get_full_item_list():
item_names.WARP_RAY:
ItemData(31 + SC2LOTV_ITEM_ID_OFFSET, ProtossItemType.Unit_2, 10, SC2Race.PROTOSS,
classification=ItemClassification.progression, origin={"wol"}),
item_names.SCORCHER:
item_names.DAWNBRINGER:
ItemData(32 + SC2LOTV_ITEM_ID_OFFSET, ProtossItemType.Unit_2, 11, SC2Race.PROTOSS,
classification=ItemClassification.progression, origin={"ext"}),
item_names.SKYLORD:
Expand Down Expand Up @@ -1650,7 +1650,7 @@ def get_full_item_list():
ItemData(333 + SC2LOTV_ITEM_ID_OFFSET, ProtossItemType.Forge_2, 3, SC2Race.PROTOSS, origin={"wol"}),
item_names.CARRIER_SKYLORD_PURGER_HULL_OF_PAST_GLORIES:
ItemData(334 + SC2LOTV_ITEM_ID_OFFSET, ProtossItemType.Forge_2, 4, SC2Race.PROTOSS, origin={"bw"}),
item_names.VOID_RAY_DESTROYER_WARP_RAY_SCORCHER_FLUX_VANES:
item_names.VOID_RAY_DESTROYER_WARP_RAY_DAWNBRINGER_FLUX_VANES:
ItemData(335 + SC2LOTV_ITEM_ID_OFFSET, ProtossItemType.Forge_2, 5, SC2Race.PROTOSS, classification=ItemClassification.filler,
origin={"ext"}),
item_names.DESTROYER_REFORGED_BLOODSHARD_CORE:
Expand Down
6 changes: 3 additions & 3 deletions worlds/sc2/pool_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -507,9 +507,9 @@ def attempt_removal(item: Item) -> bool:
if not {item_names.PHOENIX, item_names.MIRAGE} & logical_inventory_set:
inventory = [item for item in inventory if not item.name.endswith("(Phoenix/Mirage)")]
unused_items = [item_name for item_name in unused_items if not item_name.endswith("(Phoenix/Mirage)")]
if not {item_names.VOID_RAY, item_names.DESTROYER, item_names.WARP_RAY, item_names.SCORCHER} & logical_inventory_set:
inventory = [item for item in inventory if not item.name.endswith("(Void Ray/Destroyer/Warp Ray/Scorcher)")]
unused_items = [item_name for item_name in unused_items if not item_name.endswith("(Void Ray/Destroyer/Warp Ray/Scorcher)")]
if not {item_names.VOID_RAY, item_names.DESTROYER, item_names.WARP_RAY, item_names.DAWNBRINGER} & logical_inventory_set:
inventory = [item for item in inventory if not item.name.endswith("(Void Ray/Destroyer/Warp Ray/Dawnbringer)")]
unused_items = [item_name for item_name in unused_items if not item_name.endswith("(Void Ray/Destroyer/Warp Ray/Dawnbringer)")]
if not {item_names.CARRIER, item_names.SKYLORD, item_names.PURGER} & logical_inventory_set:
inventory = [item for item in inventory if not item.name.endswith("(Carrier/Skylord/Purger)")]
unused_items = [item_name for item_name in unused_items if not item_name.endswith("(Carrier/Skylord/Purger)")]
Expand Down
10 changes: 5 additions & 5 deletions worlds/sc2/rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,7 @@ def protoss_basic_anti_air(self, state: CollectionState) -> bool:

def protoss_anti_armor_anti_air(self, state: CollectionState) -> bool:
return self.protoss_competent_anti_air(state) \
or state.has_any({item_names.SCOUT, item_names.WRATHWALKER, item_names.WARP_RAY, item_names.SCORCHER}, self.player) \
or state.has_any({item_names.SCOUT, item_names.WRATHWALKER, item_names.WARP_RAY}, self.player) \
or (state.has_any({item_names.IMMORTAL, item_names.ANNIHILATOR, item_names.STALWART}, self.player)
and state.has(item_names.IMMORTAL_ANNIHILATOR_STALWART_ADVANCED_TARGETING_MECHANICS, self.player))

Expand All @@ -509,7 +509,7 @@ def protoss_competent_anti_air(self, state: CollectionState) -> bool:
item_names.SKYLORD
}, self.player)
and state.has_any({
item_names.SCOUT, item_names.WRATHWALKER, item_names.SCORCHER, item_names.WARP_RAY
item_names.SCOUT, item_names.WRATHWALKER, item_names.WARP_RAY
}, self.player)
) \
or (self.advanced_tactics
Expand All @@ -526,7 +526,7 @@ def protoss_has_blink(self, state: CollectionState) -> bool:
def protoss_can_attack_behind_chasm(self, state: CollectionState) -> bool:
return state.has_any({
item_names.SCOUT, item_names.TEMPEST, item_names.CARRIER, item_names.SKYLORD, item_names.PURGER,
item_names.VOID_RAY, item_names.DESTROYER, item_names.WARP_RAY, item_names.SCORCHER, item_names.MOTHERSHIP
item_names.VOID_RAY, item_names.DESTROYER, item_names.WARP_RAY, item_names.DAWNBRINGER, item_names.MOTHERSHIP
}, self.player) \
or self.protoss_has_blink(state) \
or (state.has(item_names.WARP_PRISM, self.player)
Expand All @@ -537,7 +537,7 @@ def protoss_can_attack_behind_chasm(self, state: CollectionState) -> bool:
def protoss_fleet(self, state: CollectionState) -> bool:
return state.has_any({
item_names.CARRIER, item_names.SKYLORD, item_names.PURGER, item_names.TEMPEST, item_names.VOID_RAY,
item_names.DESTROYER, item_names.WARP_RAY, item_names.SCORCHER
item_names.DESTROYER, item_names.WARP_RAY, item_names.DAWNBRINGER
}, self.player)

def templars_return_requirement(self, state: CollectionState) -> bool:
Expand Down Expand Up @@ -601,7 +601,7 @@ def the_infinite_cycle_requirement(self, state: CollectionState) -> bool:
def protoss_basic_splash(self, state: CollectionState) -> bool:
return state.has_any(
{item_names.ZEALOT, item_names.COLOSSUS, item_names.VANGUARD, item_names.HIGH_TEMPLAR, item_names.SIGNIFIER,
item_names.DARK_TEMPLAR, item_names.REAVER, item_names.ASCENDANT}, self.player)
item_names.DARK_TEMPLAR, item_names.REAVER, item_names.ASCENDANT, item_names.DAWNBRINGER}, self.player)

def protoss_static_defense(self, state: CollectionState) -> bool:
return state.has_any({item_names.PHOTON_CANNON, item_names.KHAYDARIN_MONOLITH}, self.player)
Expand Down

0 comments on commit a1ac7c9

Please sign in to comment.