Skip to content

Commit

Permalink
Add Kerrigan Assimilation Aura and Immobilization Wave
Browse files Browse the repository at this point in the history
  • Loading branch information
Ziktofel committed Oct 22, 2024
1 parent 6f2cd0b commit ed18581
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 9 deletions.
2 changes: 2 additions & 0 deletions worlds/sc2/item_descriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.",
Expand Down
23 changes: 15 additions & 8 deletions worlds/sc2/item_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions worlds/sc2/item_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion worlds/sc2/items.py
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down Expand Up @@ -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"}),
Expand Down

0 comments on commit ed18581

Please sign in to comment.