Skip to content

Commit

Permalink
sc2: Templated ability unlock descriptions and applied it to most places
Browse files Browse the repository at this point in the history
  • Loading branch information
MatthewMarinets committed Apr 7, 2024
1 parent 35a740b commit bd5d5d9
Showing 1 changed file with 25 additions and 18 deletions.
43 changes: 25 additions & 18 deletions worlds/sc2/ItemDescriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,13 @@ def _get_resource_efficiency_desc(item_name: str) -> str:
def _get_start_and_max_energy_desc(unit_name_plural: str, starting_amount_increase: int = 150, maximum_amount_increase: int = 50) -> str:
return f"{unit_name_plural} gain +{starting_amount_increase} starting energy and +{maximum_amount_increase} maximum energy."

def _ability_desc(unit_name_plural: str, ability_name: str, ability_description: str = '') -> str:
if ability_description:
suffix = f", which {ability_description}"
else:
suffix = ""
return f"{unit_name_plural} gain the {ability_name} ability{suffix}."


item_descriptions = {
ItemNames.MARINE: "General-purpose infantry.",
Expand Down Expand Up @@ -169,8 +176,8 @@ def _get_start_and_max_energy_desc(unit_name_plural: str, starting_amount_increa
ItemNames.MARINE_LASER_TARGETING_SYSTEM: LASER_TARGETING_SYSTEMS_DESCRIPTION,
ItemNames.MARINE_MAGRAIL_MUNITIONS: "Deals 20 damage to target unit. Autocast on attack with a cooldown.",
ItemNames.MARINE_OPTIMIZED_LOGISTICS: "Increases Marine training speed.",
ItemNames.MEDIC_RESTORATION: "Removes negative status effects from target allied unit.",
ItemNames.MEDIC_OPTICAL_FLARE: "Reduces vision range of target enemy unit. Disables detection.",
ItemNames.MEDIC_RESTORATION: _ability_desc("Medics", "Restoration", "removes negative status effects from a target allied unit"),
ItemNames.MEDIC_OPTICAL_FLARE: _ability_desc("Medics", "Optical Flare", "reduces vision range of target enemy unit. Disables detection"),
ItemNames.MEDIC_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.MEDIC),
ItemNames.FIREBAT_PROGRESSIVE_STIMPACK: STIMPACK_LARGE_DESCRIPTION,
ItemNames.FIREBAT_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.FIREBAT),
Expand Down Expand Up @@ -314,7 +321,7 @@ def _get_start_and_max_energy_desc(unit_name_plural: str, starting_amount_increa
ItemNames.BANSHEE_SHAPED_HULL: "Increases Banshee life by 100.",
ItemNames.BANSHEE_ADVANCED_TARGETING_OPTICS: "Increases Banshee attack range by 2 while cloaked.",
ItemNames.BANSHEE_DISTORTION_BLASTERS: "Increases Banshee attack damage by 25% while cloaked.",
ItemNames.BANSHEE_ROCKET_BARRAGE: "Deals 75 damage to enemy ground units in the target area.",
ItemNames.BANSHEE_ROCKET_BARRAGE: _ability_desc("Banshees", "Rocket Barrage", "deals 75 damage to enemy ground units in the target area"),
ItemNames.GHOST_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.GHOST),
ItemNames.SPECTRE_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.SPECTRE),
ItemNames.THOR_BUTTON_WITH_A_SKULL_ON_IT: "Allows Thors to launch nukes.",
Expand Down Expand Up @@ -561,24 +568,24 @@ def _get_start_and_max_energy_desc(unit_name_plural: str, starting_amount_increa
ItemNames.LURKER_ADAPTED_SPINES: "Lurkers deal increased damage to non-light targets.",
ItemNames.RAVAGER_POTENT_BILE: "Ravager Corrosive Bile deals an additional +40 damage.",
ItemNames.RAVAGER_BLOATED_BILE_DUCTS: "Ravager Corrosive Bile hits a much larger area.",
ItemNames.RAVAGER_DEEP_TUNNEL: "Ravagers gain the Deep Tunnel ability, allowing them to burrow to any visible location on the map.",
ItemNames.VIPER_PARASITIC_BOMB: "Vipers gain the Parasitic Bomb ability, which inflicts an area-damaging effect on an enemy air unit.",
ItemNames.RAVAGER_DEEP_TUNNEL: _ability_desc("Ravagers", "Deep Tunnel", "allows them to burrow to any visible location on the map"),
ItemNames.VIPER_PARASITIC_BOMB: _ability_desc("Vipers", "Parasitic Bomb", "inflicts an area-damaging effect on an enemy air unit"),
ItemNames.VIPER_PARALYTIC_BARBS: "Viper Abduct stuns units for an additional 5 seconds.",
ItemNames.VIPER_VIRULENT_MICROBES: "All Viper abilities gain +4 range.",
ItemNames.BROOD_LORD_POROUS_CARTILAGE: "Brood Lords gain increased movement speed.",
ItemNames.BROOD_LORD_EVOLVED_CARAPACE: "Brood Lords gain +100 life and +1 armor.",
ItemNames.BROOD_LORD_SPLITTER_MITOSIS: "Brood Lord attacks spawn twice as many broodlings.",
ItemNames.BROOD_LORD_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(DISPLAY_NAME_BROOD_LORD),
ItemNames.INFESTOR_INFESTED_TERRAN: "Infestors gain the Spawn Infested Terran ability.",
ItemNames.INFESTOR_MICROBIAL_SHROUD: "Infestors gain the Microbial Shroud ability, which reduces incoming damage from air units in an area.",
ItemNames.SWARM_QUEEN_SPAWN_LARVAE: "Swarm Queens gain the Spawn Larvae ability.",
ItemNames.SWARM_QUEEN_DEEP_TUNNEL: "Swarm Queens gain the Deep Tunnel ability.",
ItemNames.INFESTOR_INFESTED_TERRAN: _ability_desc("Infestors", "Spawn Infested Terran"),
ItemNames.INFESTOR_MICROBIAL_SHROUD: _ability_desc("Infestors", "Microbial Shroud", "reduces incoming damage from air units in an area"),
ItemNames.SWARM_QUEEN_SPAWN_LARVAE: _ability_desc("Swarm Queens", "Spawn Larvae"),
ItemNames.SWARM_QUEEN_DEEP_TUNNEL: _ability_desc("Swarm Queens", "Deep Tunnel"),
ItemNames.SWARM_QUEEN_ORGANIC_CARAPACE: "Swarm Queens gain +25 life.",
ItemNames.SWARM_QUEEN_BIO_MECHANICAL_TRANSFUSION: "Swarm Queen Burst Heal heals an additional +10 life and can now target mechanical units.",
ItemNames.SWARM_QUEEN_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.SWARM_QUEEN),
ItemNames.SWARM_QUEEN_INCUBATOR_CHAMBER: "Swarm Queens may now be built two at a time from the Hatchery, Lair, or Hive.",
ItemNames.BROOD_QUEEN_FUNGAL_GROWTH: "Brood Queens gain the Fungal Growth ability.",
ItemNames.BROOD_QUEEN_ENSNARE: "Brood Queens gain the Ensnare ability.",
ItemNames.BROOD_QUEEN_FUNGAL_GROWTH: _ability_desc("Brood Queens", "Fungal Growth"),
ItemNames.BROOD_QUEEN_ENSNARE: _ability_desc("Brood Queens", "Ensnare"),
ItemNames.BROOD_QUEEN_ENHANCED_MITOCHONDRIA: "Brood Queens start with maximum energy and gain increased energy regeneration. Like powerhouses (of the cell).",
ItemNames.ZERGLING_RAPTOR_STRAIN: "Allows Zerglings to jump up and down cliffs and leap onto enemies. Also increases Zergling attack damage by 2.",
ItemNames.ZERGLING_SWARMLING_STRAIN: "Zerglings will spawn instantly and with an extra Zergling per egg at no additional cost.",
Expand Down Expand Up @@ -734,24 +741,24 @@ def _get_start_and_max_energy_desc(unit_name_plural: str, starting_amount_increa
ItemNames.WRATHWALKER_EYE_OF_WRATH: "Increases Wrathwalker weapon range by +1.",
ItemNames.DARK_TEMPLAR_AVENGER_BLOOD_HUNTER_SHROUD_OF_ADUN: f"Increases {DISPLAY_NAME_CLOAKED_ASSASSIN} maximum shields by +80.",
ItemNames.DARK_TEMPLAR_AVENGER_BLOOD_HUNTER_SHADOW_GUARD_TRAINING: f"Increases {DISPLAY_NAME_CLOAKED_ASSASSIN} maximum life by +40.",
ItemNames.DARK_TEMPLAR_AVENGER_BLOOD_HUNTER_BLINK: "Dark Templar, Avengers, and Blood Hunters gain the Blink ability.",
ItemNames.DARK_TEMPLAR_AVENGER_BLOOD_HUNTER_BLINK: _ability_desc("Dark Templar, Avengers, and Blood Hunters", "Blink"),
ItemNames.DARK_TEMPLAR_AVENGER_BLOOD_HUNTER_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(DISPLAY_NAME_CLOAKED_ASSASSIN),
ItemNames.DARK_TEMPLAR_DARK_ARCHON_MELD: "Allows 2 Dark Templar to meld into a Dark Archon.",
ItemNames.HIGH_TEMPLAR_SIGNIFIER_UNSHACKLED_PSIONIC_STORM: "High Templar and Signifiers deal increased damage with Psi Storm.",
ItemNames.HIGH_TEMPLAR_SIGNIFIER_HALLUCINATION: "High Templar and Signifiers gain the Hallucination ability, which creates 2 hallucinated copies of a target unit.",
ItemNames.HIGH_TEMPLAR_SIGNIFIER_HALLUCINATION: _ability_desc("High Templar and Signifiers", "Hallucination", "creates 2 hallucinated copies of a target unit"),
ItemNames.HIGH_TEMPLAR_SIGNIFIER_KHAYDARIN_AMULET: _get_start_and_max_energy_desc("High Templar and Signifiers"),
ItemNames.ARCHON_HIGH_ARCHON: "Archons can use High Templar abilities.",
ItemNames.DARK_ARCHON_FEEDBACK: "Dark Archons gain the Feedback ability, which drains all energy from a target and deals 1 damage per point of energy drained.",
ItemNames.DARK_ARCHON_MAELSTROM: "Dark Archons gain the Maelstrom ability, which stuns biological units in an area.",
ItemNames.DARK_ARCHON_FEEDBACK: _ability_desc("Dark Archons", "Feedback", "drains all energy from a target and deals 1 damage per point of energy drained"),
ItemNames.DARK_ARCHON_MAELSTROM: _ability_desc("Dark Archons", "Maelstrom", "stuns biological units in an area"),
ItemNames.DARK_ARCHON_ARGUS_TALISMAN: _get_start_and_max_energy_desc("Dark Archons"),
ItemNames.ASCENDANT_POWER_OVERWHELMING: "Ascendants gain the ability to sacrifice Supplicants for increased shields and spell damage.",
ItemNames.ASCENDANT_CHAOTIC_ATTUNEMENT: "Ascendants' Psionic Orbs gain 25% increased travel distance.",
ItemNames.ASCENDANT_BLOOD_AMULET: _get_start_and_max_energy_desc("Ascendants"),
ItemNames.SENTRY_ENERGIZER_HAVOC_CLOAKING_MODULE: "Sentries, Energizers, and Havocs become permanently cloaked.",
ItemNames.SENTRY_ENERGIZER_HAVOC_SHIELD_BATTERY_RAPID_RECHARGING: "Sentries, Energizers, and Havocs gain +100% energy regeneration rate.",
ItemNames.SENTRY_FORCE_FIELD: "Sentries gain the Force Field ability.",
ItemNames.SENTRY_HALLUCINATION: "Sentries gain the Hallucination ability, which creates hallucinated versions of Protoss units.",
ItemNames.ENERGIZER_RECLAMATION: "Energizers gain the Reclamation ability.",
ItemNames.SENTRY_FORCE_FIELD: _ability_desc("Sentries", "Force Field"),
ItemNames.SENTRY_HALLUCINATION: _ability_desc("Sentries", "Hallucination", "creates hallucinated versions of Protoss units"),
ItemNames.ENERGIZER_RECLAMATION: _ability_desc("Energizers", "Reclamation"),
ItemNames.ENERGIZER_FORGED_CHASSIS: "Increases Energizer Life by +20.",
ItemNames.HAVOC_DETECT_WEAKNESS: "Havocs' Target Lock gives an additional +15% damage bonus.",
ItemNames.HAVOC_BLOODSHARD_RESONANCE: "Havoc gain increased range for Squad Sight, Target Lock, and Force Field.",
Expand Down

0 comments on commit bd5d5d9

Please sign in to comment.