Skip to content

Commit

Permalink
SC2: Adding Primal Igniter and upgrades
Browse files Browse the repository at this point in the history
  • Loading branch information
EnvyDragon committed Jul 4, 2024
1 parent eeae936 commit cbdb52f
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 0 deletions.
3 changes: 3 additions & 0 deletions worlds/sc2/item_descriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -651,6 +651,8 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description:
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.PRIMAL_IGNITER_CONCENTRATED_FIRE: "Primal Igniters deal +15 damage vs light armor.",
item_names.PRIMAL_IGNITER_PRIMAL_TENACITY: "Primal Igniters gain +100 health and +1 armor.",
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.",
Expand Down Expand Up @@ -712,6 +714,7 @@ def _ability_desc(unit_name_plural: str, ability_name: str, ability_description:
item_names.MUTALISK_CORRUPTOR_GUARDIAN_ASPECT: "Long-range anti-ground flyer. Can attack ground units. Morphed from the Mutalisk or Corruptor.",
item_names.MUTALISK_CORRUPTOR_DEVOURER_ASPECT: "Anti-air flyer. Attack inflict Acid Spores. Can attack air units. Morphed from the Mutalisk or Corruptor.",
item_names.ROACH_RAVAGER_ASPECT: "Ranged artillery. Can use Corrosive Bile. Can attack ground units. Morphed from the Roach.",
item_names.ROACH_PRIMAL_IGNITER_ASPECT: "Assault unit. Has an area-damage attack. Regenerates life quickly when burrowed. Can attack ground units. Morphed by merging two Roaches.",
item_names.OBSERVER: "Flying spy. Cloak renders the unit invisible to enemies without detection.",
item_names.CENTURION: "Powerful melee warrior. Has the Shadow Charge and Darkcoil abilities.",
item_names.SENTINEL: "Powerful melee warrior. Has the Charge and Reconstruction abilities.",
Expand Down
3 changes: 3 additions & 0 deletions worlds/sc2/item_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,8 @@
CORRUPTOR_CONSTRUCT_REGENERATION = "Construct Regeneration (Corruptor)"
CORRUPTOR_SCOURGE_INCUBATION = "Scourge Incubation (Corruptor)"
CORRUPTOR_RESOURCE_EFFICIENCY = "Resource Efficiency (Corruptor)"
PRIMAL_IGNITER_CONCENTRATED_FIRE = "Concentrated Fire (Primal Igniter)"
PRIMAL_IGNITER_PRIMAL_TENACITY = "Primal Tenacity (Primal Igniter)"
OVERLORD_IMPROVED_OVERLORDS = "Improved Overlords (Overlord)"
OVERLORD_VENTRAL_SACS = "Ventral Sacs (Overlord)"
OVERLORD_GENERATE_CREEP = "Generate Creep (Overlord)"
Expand Down Expand Up @@ -479,6 +481,7 @@
MUTALISK_CORRUPTOR_DEVOURER_ASPECT = "Devourer Aspect (Mutalisk/Corruptor)"
ROACH_RAVAGER_ASPECT = "Ravager Aspect (Roach)"
OVERLORD_OVERSEER_ASPECT = "Overseer Aspect (Overlord)"
ROACH_PRIMAL_IGNITER_ASPECT = "Primal Igniter Aspect (Roach)"

# Zerg Mercs
INFESTED_MEDICS = "Infested Medics"
Expand Down
9 changes: 9 additions & 0 deletions worlds/sc2/items.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ class ZergItemType(ItemTypeEnum):
"""Zerg global economy upgrades, like automated extractors"""
Mutation_2 = "Mutation", 10
Mutation_3 = "Mutation", 11
Mutation_4 = "Mutation", 12


class ProtossItemType(ItemTypeEnum):
Expand Down Expand Up @@ -1380,6 +1381,13 @@ def get_full_item_list():
ItemData(289 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_3, 29, SC2Race.ZERG, parent_item=item_names.CORRUPTOR,
origin={"ext"}),

item_names.PRIMAL_IGNITER_CONCENTRATED_FIRE:
ItemData(290 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_4, 0, SC2Race.ZERG, parent_item=item_names.ROACH_PRIMAL_IGNITER_ASPECT,
origin={"ext"}),
item_names.PRIMAL_IGNITER_PRIMAL_TENACITY:
ItemData(291 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Mutation_4, 1, SC2Race.ZERG, parent_item=item_names.ROACH_PRIMAL_IGNITER_ASPECT,
origin={"ext"}),

item_names.ZERGLING_RAPTOR_STRAIN:
ItemData(300 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Strain, 0, SC2Race.ZERG, parent_item=item_names.ZERGLING,
origin={"hots"}),
Expand Down Expand Up @@ -1476,6 +1484,7 @@ def get_full_item_list():
item_names.MUTALISK_CORRUPTOR_DEVOURER_ASPECT: ItemData(801 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Morph, 7, SC2Race.ZERG, origin={"bw"}),
item_names.ROACH_RAVAGER_ASPECT: ItemData(802 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Morph, 8, SC2Race.ZERG, origin={"ext"}),
item_names.OVERLORD_OVERSEER_ASPECT: ItemData(803 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Morph, 4, SC2Race.ZERG, origin={"ext"}, classification=ItemClassification.progression),
item_names.ROACH_PRIMAL_IGNITER_ASPECT: ItemData(804 + SC2HOTS_ITEM_ID_OFFSET, ZergItemType.Morph, 9, SC2Race.ZERG, origin={"ext"}),


# Protoss Units (those that aren't as items in WoL (Prophecy))
Expand Down
4 changes: 4 additions & 0 deletions worlds/sc2/pool_filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -486,8 +486,12 @@ def attempt_removal(item: Item) -> bool:
if item_names.ROACH not in logical_inventory_set and not enable_morphling:
inventory = [item for item in inventory if item.name != item_names.ROACH_RAVAGER_ASPECT]
inventory = [item for item in inventory if item_list[item.name].parent_item != item_names.ROACH_RAVAGER_ASPECT]
inventory = [item for item in inventory if item.name != item_names.ROACH_PRIMAL_IGNITER_ASPECT]
inventory = [item for item in inventory if item_list[item.name].parent_item != item_names.ROACH_PRIMAL_IGNITER_ASPECT]
unused_items = [item_name for item_name in unused_items if item_name != item_names.ROACH_RAVAGER_ASPECT]
unused_items = [item_name for item_name in unused_items if item_list[item_name].parent_item != item_names.ROACH_RAVAGER_ASPECT]
unused_items = [item_name for item_name in unused_items if item_name != item_names.ROACH_PRIMAL_IGNITER_ASPECT]
unused_items = [item_name for item_name in unused_items if item_list[item_name].parent_item != item_names.ROACH_PRIMAL_IGNITER_ASPECT]
if item_names.HYDRALISK not in logical_inventory_set and not enable_morphling:
inventory = [item for item in inventory if not item.name.endswith("(Hydralisk)")]
inventory = [item for item in inventory if item_list[item.name].parent_item != item_names.HYDRALISK_LURKER_ASPECT]
Expand Down

0 comments on commit cbdb52f

Please sign in to comment.