From 17238d304420435465d51f3846718f67436b4f11 Mon Sep 17 00:00:00 2001 From: EnvyDragon <138727357+EnvyDragon@users.noreply.github.com> Date: Fri, 24 May 2024 18:06:21 -0400 Subject: [PATCH] SC2: Adding Aberration and Corruptor upgrades --- worlds/sc2/item_descriptions.py | 11 +++++++++++ worlds/sc2/item_names.py | 9 +++++++++ worlds/sc2/items.py | 29 +++++++++++++++++++++++++++-- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/worlds/sc2/item_descriptions.py b/worlds/sc2/item_descriptions.py index 2cbeb3d9ee0f..cf01801b16a1 100644 --- a/worlds/sc2/item_descriptions.py +++ b/worlds/sc2/item_descriptions.py @@ -51,6 +51,8 @@ item_names.HYDRALISK: (25, 25, 1), item_names.SWARM_HOST: (100, 25, 0), item_names.ULTRALISK: (100, 0, 2), + item_names.ABERRATION: (50, 25, 0), + item_names.CORRUPTOR: (50, 25, 0), DISPLAY_NAME_BROOD_LORD: (0, 75, 0), item_names.SWARM_QUEEN: (0, 50, 0), item_names.ARBITER: (50, 0, 0), @@ -591,6 +593,15 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description: item_names.DEFILER_TRAPDOOR_ADAPTATION: "Defilers can now use abilities while burrowed.", item_names.DEFILER_PREDATORY_CONSUMPTION: "Defilers can now use Consume on any non-heroic biological unit, not just friendly Zerg.", item_names.DEFILER_COMORBIDITY: "Plague now stacks up to three times, and depletes energy as well as health.", + item_names.ABERRATION_MONSTROUS_RESILIENCE: "Aberrations gain +140 life.", + item_names.ABERRATION_CONSTRUCT_REGENERATION: "Aberrations gain increased life regeneration.", + item_names.ABERRATION_PROTECTIVE_COVER: "Aberrations grant damage reduction to allied units directly beneath them.", + item_names.ABERRATION_BANELING_INCUBATION: "Aberrations spawn 2 Banelings upon death.", + item_names.ABERRATION_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(item_names.ABERRATION), + item_names.CORRUPTOR_MONSTROUS_RESILIENCE: "Corruptors gain +100 life.", + item_names.CORRUPTOR_CONSTRUCT_REGENERATION: "Corruptors gain increased life regeneration.", + item_names.CORRUPTOR_SCOURGE_INCUBATION: "Corruptors spawn 2 Scourge upon death (3 with Swarm Scourge).", + item_names.CORRUPTOR_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(item_names.CORRUPTOR), item_names.ZERGLING_RAPTOR_STRAIN: "Allows Zerglings to jump up and down cliffs and leap onto enemies. Also increases Zergling attack damage by 2.", item_names.ZERGLING_SWARMLING_STRAIN: "Zerglings will spawn instantly and with an extra Zergling per egg at no additional cost.", item_names.ROACH_VILE_STRAIN: "Roach attacks will slow the movement and attack speed of enemies.", diff --git a/worlds/sc2/item_names.py b/worlds/sc2/item_names.py index 667eadeaefc2..ec3382be5369 100644 --- a/worlds/sc2/item_names.py +++ b/worlds/sc2/item_names.py @@ -418,6 +418,15 @@ DEFILER_TRAPDOOR_ADAPTATION = "Trapdoor Adaptation (Defiler)" DEFILER_PREDATORY_CONSUMPTION = "Predatory Consumption (Defiler)" DEFILER_COMORBIDITY = "Comorbidity (Defiler)" +ABERRATION_MONSTROUS_RESILIENCE = "Monstrous Resilience (Aberration)" +ABERRATION_CONSTRUCT_REGENERATION = "Construct Regeneration (Aberration)" +ABERRATION_BANELING_INCUBATION = "Baneling Incubation (Aberration)" +ABERRATION_PROTECTIVE_COVER = "Protective Cover (Aberration)" +ABERRATION_RESOURCE_EFFICIENCY = "Resource Efficiency (Aberration)" +CORRUPTOR_MONSTROUS_RESILIENCE = "Monstrous Resilience (Corruptor)" +CORRUPTOR_CONSTRUCT_REGENERATION = "Construct Regeneration (Corruptor)" +CORRUPTOR_SCOURGE_INCUBATION = "Scourge Incubation (Corruptor)" +CORRUPTOR_RESOURCE_EFFICIENCY = "Resource Efficiency (Corruptor)" # Zerg Strains ZERGLING_RAPTOR_STRAIN = "Raptor Strain (Zergling)" diff --git a/worlds/sc2/items.py b/worlds/sc2/items.py index 975d011005b0..11f72242000e 100644 --- a/worlds/sc2/items.py +++ b/worlds/sc2/items.py @@ -1274,6 +1274,33 @@ def get_full_item_list(): item_names.DEFILER_COMORBIDITY: ItemData(280 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 18, SC2Race.ZERG, parent_item=item_names.DEFILER, origin={"ext"}), + item_names.ABERRATION_MONSTROUS_RESILIENCE: + ItemData(281 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 21, SC2Race.ZERG, parent_item=item_names.ABERRATION, + origin={"ext"}), + item_names.ABERRATION_CONSTRUCT_REGENERATION: + ItemData(282 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 22, SC2Race.ZERG, parent_item=item_names.ABERRATION, + origin={"ext"}), + item_names.ABERRATION_BANELING_INCUBATION: + ItemData(283 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 23, SC2Race.ZERG, parent_item=item_names.ABERRATION, + origin={"ext"}), + item_names.ABERRATION_PROTECTIVE_COVER: + ItemData(284 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 24, SC2Race.ZERG, parent_item=item_names.ABERRATION, + origin={"ext"}), + item_names.ABERRATION_RESOURCE_EFFICIENCY: + ItemData(285 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 25, SC2Race.ZERG, parent_item=item_names.ABERRATION, + origin={"ext"}), + item_names.CORRUPTOR_MONSTROUS_RESILIENCE: + ItemData(286 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 26, SC2Race.ZERG, parent_item=item_names.CORRUPTOR, + origin={"ext"}), + item_names.CORRUPTOR_CONSTRUCT_REGENERATION: + ItemData(287 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 27, SC2Race.ZERG, parent_item=item_names.CORRUPTOR, + origin={"ext"}), + item_names.CORRUPTOR_SCOURGE_INCUBATION: + ItemData(288 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 28, SC2Race.ZERG, parent_item=item_names.CORRUPTOR, + origin={"ext"}), + item_names.CORRUPTOR_RESOURCE_EFFICIENCY: + ItemData(289 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 29, SC2Race.ZERG, parent_item=item_names.CORRUPTOR, + origin={"ext"}), item_names.ZERGLING_RAPTOR_STRAIN: ItemData(300 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Strain, 0, SC2Race.ZERG, parent_item=item_names.ZERGLING, @@ -1740,8 +1767,6 @@ def get_basic_units(world: 'SC2World', race: SC2Race) -> typing.Set[str]: # Zerg static defenses item_names.SPORE_CRAWLER, item_names.SPINE_CRAWLER, - # Aberration (no upgrades) - item_names.ABERRATION, # Spear of Adun Abilities item_names.SOA_CHRONO_SURGE, item_names.SOA_PROGRESSIVE_PROXY_PYLON,