diff --git a/worlds/sc2/item_descriptions.py b/worlds/sc2/item_descriptions.py index 8c075259ad0f..c1fb6c5eb41d 100644 --- a/worlds/sc2/item_descriptions.py +++ b/worlds/sc2/item_descriptions.py @@ -792,6 +792,8 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description: item_names.KERRIGAN_SPAWN_LEVIATHAN: "Kerrigan summons a mightly flying Leviathan with timed life. Deals massive damage and has energy-based abilities.", item_names.KERRIGAN_DROP_PODS: "Kerrigan drops Primal Zerg forces with timed life to the battlefield.", item_names.KERRIGAN_PRIMAL_FORM: "Kerrigan takes on her Primal Zerg form and gains greatly increased energy regeneration.", + item_names.KERRIGAN_ASSIMIlATION_AURA: "Causes all nearby enemies to drop resources when killed.", + item_names.KERRIGAN_IMMOBILIZATION_WAVE: "Deals 100 damage to enemies around a large area and stuns them for 10 seconds.", item_names.KERRIGAN_LEVELS_10: "Gives Kerrigan +10 Levels.", item_names.KERRIGAN_LEVELS_9: "Gives Kerrigan +9 Levels.", item_names.KERRIGAN_LEVELS_8: "Gives Kerrigan +8 Levels.", diff --git a/worlds/sc2/item_groups.py b/worlds/sc2/item_groups.py index 7de5677bb0cc..1d9f2385cdd0 100644 --- a/worlds/sc2/item_groups.py +++ b/worlds/sc2/item_groups.py @@ -123,6 +123,7 @@ class ItemGroupNames: HOTS_GLOBAL_UPGRADES = "HotS Global Upgrades" HOTS_MORPHS = "HotS Morphs" KERRIGAN_ABILITIES = "Kerrigan Abilities" + KERRIGAN_HOTS_ABILITIES = "Kerrigan HotS Abilities" KERRIGAN_PASSIVES = "Kerrigan Passives" KERRIGAN_TIER_1 = "Kerrigan Tier 1" KERRIGAN_TIER_2 = "Kerrigan Tier 2" @@ -453,27 +454,33 @@ def get_all_group_names(cls) -> typing.Set[str]: item_names.KERRIGAN_HEROIC_FORTITUDE, item_names.KERRIGAN_CHAIN_REACTION, item_names.KERRIGAN_INFEST_BROODLINGS, item_names.KERRIGAN_FURY, item_names.KERRIGAN_ABILITY_EFFICIENCY, ] -item_name_groups[ItemGroupNames.KERRIGAN_TIER_1] = [ +item_name_groups[ItemGroupNames.KERRIGAN_TIER_1] = kerrigan_tier_1 = [ item_names.KERRIGAN_CRUSHING_GRIP, item_names.KERRIGAN_HEROIC_FORTITUDE, item_names.KERRIGAN_LEAPING_STRIKE ] -item_name_groups[ItemGroupNames.KERRIGAN_TIER_2] = [ +item_name_groups[ItemGroupNames.KERRIGAN_TIER_2] = kerrigan_tier_2= [ item_names.KERRIGAN_CRUSHING_GRIP, item_names.KERRIGAN_CHAIN_REACTION, item_names.KERRIGAN_PSIONIC_SHIFT ] -item_name_groups[ItemGroupNames.KERRIGAN_TIER_3] = [ +item_name_groups[ItemGroupNames.KERRIGAN_TIER_3] = kerrigan_tier_3 = [ item_names.TWIN_DRONES, item_names.AUTOMATED_EXTRACTORS, item_names.ZERGLING_RECONSTITUTION ] -item_name_groups[ItemGroupNames.KERRIGAN_TIER_4] = [ +item_name_groups[ItemGroupNames.KERRIGAN_TIER_4] = kerrigan_tier_4 = [ item_names.KERRIGAN_MEND, item_names.KERRIGAN_SPAWN_BANELINGS, item_names.KERRIGAN_WILD_MUTATION ] -item_name_groups[ItemGroupNames.KERRIGAN_TIER_5] = [ +item_name_groups[ItemGroupNames.KERRIGAN_TIER_5] = kerrigan_tier_5 = [ item_names.MALIGNANT_CREEP, item_names.VESPENE_EFFICIENCY, item_names.OVERLORD_IMPROVED_OVERLORDS ] -item_name_groups[ItemGroupNames.KERRIGAN_TIER_6] = [ +item_name_groups[ItemGroupNames.KERRIGAN_TIER_6] = kerrigan_tier_6 = [ item_names.KERRIGAN_INFEST_BROODLINGS, item_names.KERRIGAN_FURY, item_names.KERRIGAN_ABILITY_EFFICIENCY ] -item_name_groups[ItemGroupNames.KERRIGAN_TIER_7] = [ +item_name_groups[ItemGroupNames.KERRIGAN_TIER_7] = kerrigan_tier_7 = [ item_names.KERRIGAN_APOCALYPSE, item_names.KERRIGAN_SPAWN_LEVIATHAN, item_names.KERRIGAN_DROP_PODS ] +item_name_groups[ItemGroupNames.KERRIGAN_HOTS_ABILITIES] = kerrigan_hots_abilities = [ + ability for tiers in [ + kerrigan_tier_1, kerrigan_tier_2, kerrigan_tier_4, kerrigan_tier_6, kerrigan_tier_7 + ] for ability in tiers +] + item_name_groups[ItemGroupNames.OVERLORD_UPGRADES] = [ item_names.OVERLORD_ANTENNAE, item_names.OVERLORD_VENTRAL_SACS, @@ -507,7 +514,7 @@ def get_all_group_names(cls) -> typing.Set[str]: item_name_groups[ItemGroupNames.HOTS_ITEMS] = vanilla_hots_items = ( hots_units + hots_buildings - + kerrigan_abilities + + kerrigan_hots_abilities + hots_mutations + hots_strains + hots_global_upgrades diff --git a/worlds/sc2/item_names.py b/worlds/sc2/item_names.py index 74bdf9fa367d..5baa81040ab4 100644 --- a/worlds/sc2/item_names.py +++ b/worlds/sc2/item_names.py @@ -583,6 +583,8 @@ KERRIGAN_APOCALYPSE = "Apocalypse (Kerrigan Ability)" KERRIGAN_SPAWN_LEVIATHAN = "Spawn Leviathan (Kerrigan Ability)" KERRIGAN_DROP_PODS = "Drop-Pods (Kerrigan Ability)" +KERRIGAN_ASSIMIlATION_AURA = "Assimilation Aura (Kerrigan Ability)" +KERRIGAN_IMMOBILIZATION_WAVE = "Immobilization Wave (Kerrigan Ability)" KERRIGAN_PRIMAL_FORM = "Primal Form (Kerrigan)" # Misc Upgrades diff --git a/worlds/sc2/items.py b/worlds/sc2/items.py index da631480dd1f..1f8aedb876f0 100644 --- a/worlds/sc2/items.py +++ b/worlds/sc2/items.py @@ -1655,7 +1655,8 @@ def get_full_item_list(): item_names.KERRIGAN_DROP_PODS: ItemData(420 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Ability, 14, SC2Race.ZERG, origin={"hots"}, classification=ItemClassification.progression), # Handled separately from other abilities item_names.KERRIGAN_PRIMAL_FORM: ItemData(421 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Primal_Form, 0, SC2Race.ZERG, origin={"hots"}), - item_names.ZERG_CREEP_STOMACH: ItemData(422 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Evolution_Pit, 10, SC2Race.ZERG), + item_names.KERRIGAN_ASSIMIlATION_AURA: ItemData(422 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Ability, 15, SC2Race.ZERG), + item_names.KERRIGAN_IMMOBILIZATION_WAVE: ItemData(423 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Ability, 16, SC2Race.ZERG), item_names.KERRIGAN_LEVELS_10: ItemData(500 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Level, 10, SC2Race.ZERG, origin={"hots"}, quantity=0, classification=ItemClassification.progression), item_names.KERRIGAN_LEVELS_9: ItemData(501 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Level, 9, SC2Race.ZERG, origin={"hots"}, quantity=0, classification=ItemClassification.progression), @@ -1686,6 +1687,7 @@ def get_full_item_list(): item_names.OVERLORD_ANTENNAE: ItemData(702 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Evolution_Pit, 8, SC2Race.ZERG, origin={"ext"}, classification=ItemClassification.filler), item_names.OVERLORD_PNEUMATIZED_CARAPACE: ItemData(703 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Evolution_Pit, 9, SC2Race.ZERG, origin={"ext"}), item_names.ZERG_EXCAVATING_CLAWS: ItemData(704 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Evolution_Pit, 11, SC2Race.ZERG, origin={"ext"}), + item_names.ZERG_CREEP_STOMACH: ItemData(705 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Evolution_Pit, 10, SC2Race.ZERG), # Morphs item_names.MUTALISK_CORRUPTOR_GUARDIAN_ASPECT: ItemData(800 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Morph, 6, SC2Race.ZERG, origin={"bw"}),