diff --git a/worlds/sc2/ItemDescriptions.py b/worlds/sc2/ItemDescriptions.py new file mode 100644 index 000000000000..957dc190656c --- /dev/null +++ b/worlds/sc2/ItemDescriptions.py @@ -0,0 +1,795 @@ +""" +Contains descriptions for Starcraft 2 items. +""" +import inspect + +from . import ItemNames + +WEAPON_ARMOR_UPGRADE_NOTE = inspect.cleandoc(""" + Must be researched during the mission if the mission type isn't set to auto-unlock generic upgrades. +""") +GENERIC_UPGRADE_TEMPLATE = "Increases {} of {} {}.\n" + WEAPON_ARMOR_UPGRADE_NOTE +TERRAN = "Terran" +ZERG = "Zerg" +PROTOSS = "Protoss" + +LASER_TARGETING_SYSTEMS_DESCRIPTION = "Increases vision by 2 and weapon range by 1." +STIMPACK_SMALL_COST = 10 +STIMPACK_SMALL_HEAL = 30 +STIMPACK_LARGE_COST = 20 +STIMPACK_LARGE_HEAL = 60 +STIMPACK_TEMPLATE = inspect.cleandoc(""" + Level 1: Stimpack: Increases unit movement and attack speed for 15 seconds. Injures the unit for {} life. + Level 2: Super Stimpack: Instead of injuring the unit, heals the unit for {} life instead. +""") +STIMPACK_SMALL_DESCRIPTION = STIMPACK_TEMPLATE.format(STIMPACK_SMALL_COST, STIMPACK_SMALL_HEAL) +STIMPACK_LARGE_DESCRIPTION = STIMPACK_TEMPLATE.format(STIMPACK_LARGE_COST, STIMPACK_LARGE_HEAL) +SMART_SERVOS_DESCRIPTION = "Increases transformation speed between modes." +INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE = "{} can be trained from a {} without an attached Tech Lab." +CLOAK_DESCRIPTION_TEMPLATE = "Allows {} to use the Cloak ability." + +DISPLAY_NAME_BROOD_LORD = "Brood Lord" +DISPLAY_NAME_CLOAKED_ASSASSIN = "Dark Templar, Avenger, and Blood Hunter" + +resource_efficiency_cost_reduction = { + ItemNames.MEDIC: (25, 25, 1), + ItemNames.FIREBAT: (50, 0, 1), + ItemNames.GOLIATH: (50, 0, 1), + ItemNames.SIEGE_TANK: (0, 25, 1), + ItemNames.DIAMONDBACK: (0, 50, 1), + ItemNames.PREDATOR: (0, 75, 1), + ItemNames.WARHOUND: (75, 0, 0), + ItemNames.HERC: (25, 25, 1), + ItemNames.WRAITH: (0, 50, 0), + ItemNames.GHOST: (125, 75, 1), + ItemNames.SPECTRE: (125, 75, 1), + ItemNames.RAVEN: (0, 50, 0), + ItemNames.CYCLONE: (25, 50, 1), + ItemNames.LIBERATOR: (25, 25, 0), + ItemNames.VALKYRIE: (100, 25, 1), + ItemNames.SCOURGE: (0, 50, 0), + ItemNames.HYDRALISK: (25, 25, 1), + ItemNames.SWARM_HOST: (100, 25, 0), + ItemNames.ULTRALISK: (100, 0, 2), + DISPLAY_NAME_BROOD_LORD: (0, 75, 0), + ItemNames.SWARM_QUEEN: (0, 50, 0), + ItemNames.ARBITER: (50, 0, 0), + ItemNames.REAVER: (100, 100, 2), + DISPLAY_NAME_CLOAKED_ASSASSIN: (0, 50, 0), +} + +def _get_resource_efficiency_desc(item_name: str) -> str: + cost = resource_efficiency_cost_reduction[item_name] + parts = [f"{cost[0]} minerals"] if cost[0] else [] + parts += [f"{cost[1]} gas"] if cost[1] else [] + parts += [f"{cost[2]} supply"] if cost[2] else [] + assert parts, f"{item_name} doesn't reduce cost by anything" + if len(parts) == 1: + amount = parts[0] + elif len(parts) == 2: + amount = " and ".join(parts) + else: + amount = ", ".join(parts[:-1]) + ", and " + parts[-1] + return (f"Reduces {item_name} cost by {amount}.") + +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.", + ItemNames.MEDIC: "Support trooper. Heals nearby biological units.", + ItemNames.FIREBAT: "Specialized anti-infantry attacker.", + ItemNames.MARAUDER: "Heavy assault infantry.", + ItemNames.REAPER: "Raider. Capable of jumping up and down cliffs. Throws explosive mines.", + ItemNames.HELLION: "Fast scout. Has a flame attack that damages all enemy units in its line of fire.", + ItemNames.VULTURE: "Fast skirmish unit. Can use the Spider Mine ability.", + ItemNames.GOLIATH: "Heavy-fire support unit.", + ItemNames.DIAMONDBACK: "Fast, high-damage hovertank. Rail Gun can fire while the Diamondback is moving.", + ItemNames.SIEGE_TANK: "Heavy tank. Long-range artillery in Siege Mode.", + ItemNames.MEDIVAC: "Air transport. Heals nearby biological units.", + ItemNames.WRAITH: "Highly mobile flying unit. Excellent at surgical strikes.", + ItemNames.VIKING: inspect.cleandoc(""" + Durable support flyer. Loaded with strong anti-capital air missiles. + Can switch into Assault Mode to attack ground units. + """), + ItemNames.BANSHEE: "Tactical-strike aircraft.", + ItemNames.BATTLECRUISER: "Powerful warship.", + ItemNames.GHOST: inspect.cleandoc(""" + Infiltration unit. Can use Snipe and Cloak abilities. Can also call down Tactical Nukes. + """), + ItemNames.SPECTRE: inspect.cleandoc(""" + Infiltration unit. Can use Ultrasonic Pulse, Psionic Lash, and Cloak. + Can also call down Tactical Nukes. + """), + ItemNames.THOR: "Heavy assault mech.", + ItemNames.LIBERATOR: inspect.cleandoc(""" + Artillery fighter. Loaded with missiles that deal area damage to enemy air targets. + Can switch into Defender Mode to provide siege support. + """), + ItemNames.VALKYRIE: inspect.cleandoc(""" + Advanced anti-aircraft fighter. + Able to use cluster missiles that deal area damage to air targets. + """), + ItemNames.WIDOW_MINE: inspect.cleandoc(""" + Robotic mine. Launches missiles at nearby enemy units while burrowed. + Attacks deal splash damage in a small area around the target. + Widow Mine is revealed when Sentinel Missile is on cooldown. + """), + ItemNames.CYCLONE: inspect.cleandoc(""" + Mobile assault vehicle. Can use Lock On to quickly fire while moving. + """), + ItemNames.HERC: inspect.cleandoc(""" + Front-line infantry. Can use Grapple. + """), + ItemNames.WARHOUND: inspect.cleandoc(""" + Anti-vehicle mech. Haywire missiles do bonus damage to mechanical units. + """), + ItemNames.PROGRESSIVE_TERRAN_INFANTRY_WEAPON: GENERIC_UPGRADE_TEMPLATE.format("damage", TERRAN, "infantry"), + ItemNames.PROGRESSIVE_TERRAN_INFANTRY_ARMOR: GENERIC_UPGRADE_TEMPLATE.format("armor", TERRAN, "infantry"), + ItemNames.PROGRESSIVE_TERRAN_VEHICLE_WEAPON: GENERIC_UPGRADE_TEMPLATE.format("damage", TERRAN, "vehicles"), + ItemNames.PROGRESSIVE_TERRAN_VEHICLE_ARMOR: GENERIC_UPGRADE_TEMPLATE.format("armor", TERRAN, "vehicles"), + ItemNames.PROGRESSIVE_TERRAN_SHIP_WEAPON: GENERIC_UPGRADE_TEMPLATE.format("damage", TERRAN, "starships"), + ItemNames.PROGRESSIVE_TERRAN_SHIP_ARMOR: GENERIC_UPGRADE_TEMPLATE.format("armor", TERRAN, "starships"), + ItemNames.PROGRESSIVE_TERRAN_WEAPON_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage", TERRAN, "units"), + ItemNames.PROGRESSIVE_TERRAN_ARMOR_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("armor", TERRAN, "units"), + ItemNames.PROGRESSIVE_TERRAN_INFANTRY_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", TERRAN, "infantry"), + ItemNames.PROGRESSIVE_TERRAN_VEHICLE_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", TERRAN, "vehicles"), + ItemNames.PROGRESSIVE_TERRAN_SHIP_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", TERRAN, "starships"), + ItemNames.PROGRESSIVE_TERRAN_WEAPON_ARMOR_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", TERRAN, "units"), + ItemNames.BUNKER_PROJECTILE_ACCELERATOR: "Increases range of all units in the Bunker by 1.", + ItemNames.BUNKER_NEOSTEEL_BUNKER: "Increases the number of Bunker slots by 2.", + ItemNames.MISSILE_TURRET_TITANIUM_HOUSING: "Increases Missile Turret life by 75.", + ItemNames.MISSILE_TURRET_HELLSTORM_BATTERIES: "The Missile Turret unleashes an additional flurry of missiles with each attack.", + ItemNames.SCV_ADVANCED_CONSTRUCTION: "Multiple SCVs can construct a structure, reducing its construction time.", + ItemNames.SCV_DUAL_FUSION_WELDERS: "SCVs repair twice as fast.", + ItemNames.PROGRESSIVE_FIRE_SUPPRESSION_SYSTEM: inspect.cleandoc(""" + Level 1: While on low health, Terran structures are repaired to half health instead of burning down. + Level 2: Terran structures are repaired to full health instead of half health. + """), + ItemNames.PROGRESSIVE_ORBITAL_COMMAND: inspect.cleandoc(""" + Level 1: Allows Command Centers to use Scanner Sweep and Calldown: MULE abilities. + Level 2: Orbital Command abilities work even in Planetary Fortress mode. + """), + ItemNames.MARINE_PROGRESSIVE_STIMPACK: STIMPACK_SMALL_DESCRIPTION, + ItemNames.MARINE_COMBAT_SHIELD: "Increases Marine life by 10.", + ItemNames.MEDIC_ADVANCED_MEDIC_FACILITIES: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Medics", "Barracks"), + ItemNames.MEDIC_STABILIZER_MEDPACKS: "Increases Medic heal speed. Reduces the amount of energy required for each heal.", + ItemNames.FIREBAT_INCINERATOR_GAUNTLETS: "Increases Firebat's damage radius by 40%.", + ItemNames.FIREBAT_JUGGERNAUT_PLATING: "Increases Firebat's armor by 2.", + ItemNames.MARAUDER_CONCUSSIVE_SHELLS: "Marauder attack temporarily slows all units in target area.", + ItemNames.MARAUDER_KINETIC_FOAM: "Increases Marauder life by 25.", + ItemNames.REAPER_U238_ROUNDS: inspect.cleandoc(""" + Increases Reaper pistol attack range by 1. + Reaper pistols do additional 3 damage to Light Armor. + """), + ItemNames.REAPER_G4_CLUSTERBOMB: "Timed explosive that does heavy area damage.", + ItemNames.CYCLONE_MAG_FIELD_ACCELERATORS: "Increases Cyclone Lock-On damage.", + ItemNames.CYCLONE_MAG_FIELD_LAUNCHERS: "Increases Cyclone attack range by 2.", + 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: _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), + ItemNames.MARAUDER_PROGRESSIVE_STIMPACK: STIMPACK_LARGE_DESCRIPTION, + ItemNames.MARAUDER_LASER_TARGETING_SYSTEM: LASER_TARGETING_SYSTEMS_DESCRIPTION, + ItemNames.MARAUDER_MAGRAIL_MUNITIONS: "Deals 20 damage to target unit. Autocast on attack with a cooldown.", + ItemNames.MARAUDER_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Marauders", "Barracks"), + ItemNames.SCV_HOSTILE_ENVIRONMENT_ADAPTATION: "Increases SCV life by 15 and attack speed slightly.", + ItemNames.MEDIC_ADAPTIVE_MEDPACKS: "Allows Medics to heal mechanical and air units.", + ItemNames.MEDIC_NANO_PROJECTOR: "Increases Medic heal range by 2.", + ItemNames.FIREBAT_INFERNAL_PRE_IGNITER: "Firebats do an additional 4 damage to Light Armor.", + ItemNames.FIREBAT_KINETIC_FOAM: "Increases Firebat life by 100.", + ItemNames.FIREBAT_NANO_PROJECTORS: "Increases Firebat attack range by 2.", + ItemNames.MARAUDER_JUGGERNAUT_PLATING: "Increases Marauder's armor by 2.", + ItemNames.REAPER_JET_PACK_OVERDRIVE: inspect.cleandoc(""" + Allows the Reaper to fly for 10 seconds. + While flying, the Reaper can attack air units. + """), + ItemNames.HELLION_INFERNAL_PLATING: "Increases Hellion and Hellbat armor by 2.", + ItemNames.VULTURE_AUTO_REPAIR: "Vultures regenerate life.", + ItemNames.GOLIATH_SHAPED_HULL: "Increases Goliath life by 25.", + ItemNames.GOLIATH_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.GOLIATH), + ItemNames.GOLIATH_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Goliaths", "Factory"), + ItemNames.SIEGE_TANK_SHAPED_HULL: "Increases Siege Tank life by 25.", + ItemNames.SIEGE_TANK_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.SIEGE_TANK), + ItemNames.PREDATOR_CLOAK: CLOAK_DESCRIPTION_TEMPLATE.format("Predators"), + ItemNames.PREDATOR_CHARGE: "Allows Predators to intercept enemy ground units.", + ItemNames.MEDIVAC_SCATTER_VEIL: "Medivacs get 100 shields.", + ItemNames.REAPER_PROGRESSIVE_STIMPACK: STIMPACK_SMALL_DESCRIPTION, + ItemNames.REAPER_LASER_TARGETING_SYSTEM: LASER_TARGETING_SYSTEMS_DESCRIPTION, + ItemNames.REAPER_ADVANCED_CLOAKING_FIELD: "Reapers are permanently cloaked.", + ItemNames.REAPER_SPIDER_MINES: "Allows Reapers to lay Spider Mines. 3 charges per Reaper.", + ItemNames.REAPER_COMBAT_DRUGS: "Reapers regenerate life while out of combat.", + ItemNames.HELLION_HELLBAT_ASPECT: "Allows Hellions to transform into Hellbats.", + ItemNames.HELLION_SMART_SERVOS: "Transforms faster between modes. Hellions can attack while moving.", + ItemNames.HELLION_OPTIMIZED_LOGISTICS: "Increases Hellion training speed.", + ItemNames.HELLION_JUMP_JETS: inspect.cleandoc(""" + Increases movement speed in Hellion mode. + In Hellbat mode, launches the Hellbat toward enemy ground units and briefly stuns them. + """), + ItemNames.HELLION_PROGRESSIVE_STIMPACK: STIMPACK_LARGE_DESCRIPTION, + ItemNames.VULTURE_ION_THRUSTERS: "Increases Vulture movement speed.", + ItemNames.VULTURE_AUTO_LAUNCHERS: "Allows Vultures to attack while moving.", + ItemNames.SPIDER_MINE_HIGH_EXPLOSIVE_MUNITION: "Increases Spider mine damage.", + ItemNames.GOLIATH_JUMP_JETS: "Allows Goliaths to jump up and down cliffs.", + ItemNames.GOLIATH_OPTIMIZED_LOGISTICS: "Increases Goliath training speed.", + ItemNames.DIAMONDBACK_HYPERFLUXOR: "Increases Diamondback attack speed.", + ItemNames.DIAMONDBACK_BURST_CAPACITORS: inspect.cleandoc(""" + While not attacking, the Diamondback charges its weapon. + The next attack does 10 additional damage. + """), + ItemNames.DIAMONDBACK_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.DIAMONDBACK), + ItemNames.SIEGE_TANK_JUMP_JETS: inspect.cleandoc(""" + Repositions Siege Tank to a target location. + Can be used in either mode and to jump up and down cliffs. + """), + ItemNames.SIEGE_TANK_SPIDER_MINES: inspect.cleandoc(""" + Allows Siege Tanks to lay Spider Mines. + Lays 3 Spider Mines at once. 3 charges. + """), + ItemNames.SIEGE_TANK_SMART_SERVOS: SMART_SERVOS_DESCRIPTION, + ItemNames.SIEGE_TANK_GRADUATING_RANGE: inspect.cleandoc(""" + Increases the Siege Tank's attack range by 1 every 3 seconds while in Siege Mode, + up to a maximum of 5 additional range. + """), + ItemNames.SIEGE_TANK_LASER_TARGETING_SYSTEM: LASER_TARGETING_SYSTEMS_DESCRIPTION, + ItemNames.SIEGE_TANK_ADVANCED_SIEGE_TECH: "Siege Tanks gain +3 armor in Siege Mode.", + ItemNames.SIEGE_TANK_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Siege Tanks", "Factory"), + ItemNames.PREDATOR_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.PREDATOR), + ItemNames.MEDIVAC_EXPANDED_HULL: "Increases Medivac cargo space by 4.", + ItemNames.MEDIVAC_AFTERBURNERS: "Ability. Temporarily increases the Medivac's movement speed by 70%.", + ItemNames.WRAITH_ADVANCED_LASER_TECHNOLOGY: inspect.cleandoc(""" + Burst Lasers do more damage and can hit both ground and air targets. + Replaces Gemini Missiles weapon. + """), + ItemNames.VIKING_SMART_SERVOS: SMART_SERVOS_DESCRIPTION, + ItemNames.VIKING_ANTI_MECHANICAL_MUNITION: "Increases Viking damage to mechanical units while in Assault Mode.", + ItemNames.DIAMONDBACK_ION_THRUSTERS: "Increases Diamondback movement speed.", + ItemNames.WARHOUND_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.WARHOUND), + ItemNames.WARHOUND_REINFORCED_PLATING: "Increases Warhound armor by 2.", + ItemNames.HERC_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.HERC), + ItemNames.HERC_JUGGERNAUT_PLATING: "Increases HERC armor by 2.", + ItemNames.HERC_KINETIC_FOAM: "Increases HERC life by 50.", + ItemNames.HELLION_TWIN_LINKED_FLAMETHROWER: "Doubles the width of the Hellion's flame attack.", + ItemNames.HELLION_THERMITE_FILAMENTS: "Hellions do an additional 10 damage to Light Armor.", + ItemNames.SPIDER_MINE_CERBERUS_MINE: "Increases trigger and blast radius of Spider Mines.", + ItemNames.VULTURE_PROGRESSIVE_REPLENISHABLE_MAGAZINE: inspect.cleandoc(""" + Level 1: Allows Vultures to replace used Spider Mines. Costs 15 minerals. + Level 2: Replacing used Spider Mines no longer costs minerals. + """), + ItemNames.GOLIATH_MULTI_LOCK_WEAPONS_SYSTEM: "Goliaths can attack both ground and air targets simultaneously.", + ItemNames.GOLIATH_ARES_CLASS_TARGETING_SYSTEM: "Increases Goliath ground attack range by 1 and air by 3.", + ItemNames.DIAMONDBACK_PROGRESSIVE_TRI_LITHIUM_POWER_CELL: inspect.cleandoc(""" + Level 1: Tri-Lithium Power Cell: Increases Diamondback attack range by 1. + Level 2: Tungsten Spikes: Increases Diamondback attack range by 3. + """), + ItemNames.DIAMONDBACK_SHAPED_HULL: "Increases Diamondback life by 50.", + ItemNames.SIEGE_TANK_MAELSTROM_ROUNDS: "Siege Tanks do an additional 40 damage to the primary target in Siege Mode.", + ItemNames.SIEGE_TANK_SHAPED_BLAST: "Reduces splash damage to friendly targets while in Siege Mode by 75%.", + ItemNames.MEDIVAC_RAPID_DEPLOYMENT_TUBE: "Medivacs deploy loaded troops almost instantly.", + ItemNames.MEDIVAC_ADVANCED_HEALING_AI: "Medivacs can heal two targets at once.", + ItemNames.WRAITH_PROGRESSIVE_TOMAHAWK_POWER_CELLS: inspect.cleandoc(""" + Level 1: Tomahawk Power Cells: Increases Wraith starting energy by 100. + Level 2: Unregistered Cloaking Module: Wraiths do not require energy to cloak and remain cloaked. + """), + ItemNames.WRAITH_DISPLACEMENT_FIELD: "Wraiths evade 20% of incoming attacks while cloaked.", + ItemNames.VIKING_RIPWAVE_MISSILES: "Vikings do area damage while in Fighter Mode.", + ItemNames.VIKING_PHOBOS_CLASS_WEAPONS_SYSTEM: "Increases Viking attack range by 1 in Assault mode and 2 in Fighter mode.", + ItemNames.BANSHEE_PROGRESSIVE_CROSS_SPECTRUM_DAMPENERS: inspect.cleandoc(""" + Level 1: Banshees can remain cloaked twice as long. + Level 2: Banshees do not require energy to cloak and remain cloaked. + """), + ItemNames.BANSHEE_SHOCKWAVE_MISSILE_BATTERY: "Banshees do area damage in a straight line.", + ItemNames.BATTLECRUISER_PROGRESSIVE_MISSILE_PODS: "Spell. Missile Pods do damage to air targets in a target area.", + ItemNames.BATTLECRUISER_PROGRESSIVE_DEFENSIVE_MATRIX: inspect.cleandoc(""" + Level 1: Spell. For 20 seconds the Battlecruiser gains a shield that can absorb up to 200 damage. + Level 2: Passive. Battlecruiser gets 200 shields. + """), + ItemNames.GHOST_OCULAR_IMPLANTS: "Increases Ghost sight range by 3 and attack range by 2.", + ItemNames.GHOST_CRIUS_SUIT: "Cloak no longer requires energy to activate or maintain.", + ItemNames.SPECTRE_PSIONIC_LASH: "Spell. Deals 200 damage to a single target.", + ItemNames.SPECTRE_NYX_CLASS_CLOAKING_MODULE: "Cloak no longer requires energy to activate or maintain.", + ItemNames.THOR_330MM_BARRAGE_CANNON: inspect.cleandoc(""" + Improves 250mm Strike Cannons ability to deal area damage and stun units in a small area. + Can be also freely aimed on ground. + """), + ItemNames.THOR_PROGRESSIVE_IMMORTALITY_PROTOCOL: inspect.cleandoc(""" + Level 1: Allows destroyed Thors to be reconstructed on the field. Costs Vespene Gas. + Level 2: Thors are automatically reconstructed after falling for free. + """), + ItemNames.LIBERATOR_ADVANCED_BALLISTICS: "Increases Liberator range by 3 in Defender Mode.", + ItemNames.LIBERATOR_RAID_ARTILLERY: "Allows Liberators to attack structures while in Defender Mode.", + ItemNames.WIDOW_MINE_DRILLING_CLAWS: "Allows Widow Mines to burrow and unburrow faster.", + ItemNames.WIDOW_MINE_CONCEALMENT: "Burrowed Widow Mines are no longer revealed when the Sentinel Missile is on cooldown.", + ItemNames.MEDIVAC_ADVANCED_CLOAKING_FIELD: "Medivacs are permanently cloaked.", + ItemNames.WRAITH_TRIGGER_OVERRIDE: "Wraith attack speed increases by 10% with each attack, up to a maximum of 100%.", + ItemNames.WRAITH_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Wraiths", "Starport"), + ItemNames.WRAITH_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.WRAITH), + ItemNames.VIKING_SHREDDER_ROUNDS: "Attacks in Assault mode do line splash damage.", + ItemNames.VIKING_WILD_MISSILES: "Launches 5 rockets at the target unit. Each rocket does 25 (40 vs armored) damage.", + 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: _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.", + ItemNames.THOR_LASER_TARGETING_SYSTEM: LASER_TARGETING_SYSTEMS_DESCRIPTION, + ItemNames.THOR_LARGE_SCALE_FIELD_CONSTRUCTION: "Allows Thors to be built by SCVs like a structure.", + ItemNames.RAVEN_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.RAVEN), + ItemNames.RAVEN_DURABLE_MATERIALS: "Extends timed life duration of Raven's summoned objects.", + ItemNames.SCIENCE_VESSEL_IMPROVED_NANO_REPAIR: "Nano-Repair no longer requires energy to use.", + ItemNames.SCIENCE_VESSEL_ADVANCED_AI_SYSTEMS: "Science Vessel can use Nano-Repair at two targets at once.", + ItemNames.CYCLONE_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.CYCLONE), + ItemNames.BANSHEE_HYPERFLIGHT_ROTORS: "Increases Banshee movement speed.", + ItemNames.BANSHEE_LASER_TARGETING_SYSTEM: LASER_TARGETING_SYSTEMS_DESCRIPTION, + ItemNames.BANSHEE_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Banshees", "Starport"), + ItemNames.BATTLECRUISER_TACTICAL_JUMP: inspect.cleandoc(""" + Allows Battlecruisers to warp to a target location anywhere on the map. + """), + ItemNames.BATTLECRUISER_CLOAK: CLOAK_DESCRIPTION_TEMPLATE.format("Battlecruisers"), + ItemNames.BATTLECRUISER_ATX_LASER_BATTERY: inspect.cleandoc(""" + Battlecruisers can attack while moving, + do the same damage to both ground and air targets, and fire faster. + """), + ItemNames.BATTLECRUISER_OPTIMIZED_LOGISTICS: "Increases Battlecruiser training speed.", + ItemNames.BATTLECRUISER_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Battlecruisers", "Starport"), + ItemNames.GHOST_EMP_ROUNDS: inspect.cleandoc(""" + Spell. Does 100 damage to shields and drains all energy from units in the targeted area. + Cloaked units hit by EMP are revealed for a short time. + """), + ItemNames.GHOST_LOCKDOWN: "Spell. Stuns a target mechanical unit for a long time.", + ItemNames.SPECTRE_IMPALER_ROUNDS: "Spectres do additional damage to armored targets.", + ItemNames.THOR_PROGRESSIVE_HIGH_IMPACT_PAYLOAD: inspect.cleandoc(f""" + Level 1: Allows Thors to transform in order to use an alternative air attack. + Level 2: {SMART_SERVOS_DESCRIPTION} + """), + ItemNames.RAVEN_BIO_MECHANICAL_REPAIR_DRONE: "Spell. Deploys a drone that can heal biological or mechanical units.", + ItemNames.RAVEN_SPIDER_MINES: "Spell. Deploys 3 Spider Mines to a target location.", + ItemNames.RAVEN_RAILGUN_TURRET: inspect.cleandoc(""" + Spell. Allows Ravens to deploy an advanced Auto-Turret, + that can attack enemy ground units in a straight line. + """), + ItemNames.RAVEN_HUNTER_SEEKER_WEAPON: "Allows Ravens to attack with a Hunter-Seeker weapon.", + ItemNames.RAVEN_INTERFERENCE_MATRIX: inspect.cleandoc(""" + Spell. Target enemy Mechanical or Psionic unit can't attack or use abilities for a short duration. + """), + ItemNames.RAVEN_ANTI_ARMOR_MISSILE: "Spell. Decreases target and nearby enemy units armor by 2.", + ItemNames.RAVEN_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Ravens", "Starport"), + ItemNames.SCIENCE_VESSEL_EMP_SHOCKWAVE: "Spell. Depletes all energy and shields of all units in a target area.", + ItemNames.SCIENCE_VESSEL_DEFENSIVE_MATRIX: inspect.cleandoc(""" + Spell. Provides a target unit with a defensive barrier that can absorb up to 250 damage. + """), + ItemNames.CYCLONE_TARGETING_OPTICS: "Increases Cyclone Lock On casting range and the range while Locked On.", + ItemNames.CYCLONE_RAPID_FIRE_LAUNCHERS: "The first 12 shots of Lock On are fired more quickly.", + ItemNames.LIBERATOR_CLOAK: CLOAK_DESCRIPTION_TEMPLATE.format("Liberators"), + ItemNames.LIBERATOR_LASER_TARGETING_SYSTEM: LASER_TARGETING_SYSTEMS_DESCRIPTION, + ItemNames.LIBERATOR_OPTIMIZED_LOGISTICS: "Increases Liberator training speed.", + ItemNames.WIDOW_MINE_BLACK_MARKET_LAUNCHERS: "Increases Widow Mine Sentinel Missile range.", + ItemNames.WIDOW_MINE_EXECUTIONER_MISSILES: inspect.cleandoc(""" + Reduces Sentinel Missile cooldown. + When killed, Widow Mines will launch several missiles at random enemy targets. + """), + ItemNames.VALKYRIE_ENHANCED_CLUSTER_LAUNCHERS: "Valkyries fire 2 additional rockets each volley.", + ItemNames.VALKYRIE_SHAPED_HULL: "Increases Valkyrie life by 50.", + ItemNames.VALKYRIE_FLECHETTE_MISSILES: "Equips Valkyries with Air-to-Surface missiles to attack ground units.", + ItemNames.VALKYRIE_AFTERBURNERS: "Ability. Temporarily increases the Valkyries's movement speed by 70%.", + ItemNames.CYCLONE_INTERNAL_TECH_MODULE: INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Cyclones", "Factory"), + ItemNames.LIBERATOR_SMART_SERVOS: SMART_SERVOS_DESCRIPTION, + ItemNames.LIBERATOR_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.LIBERATOR), + ItemNames.HERCULES_INTERNAL_FUSION_MODULE: "Hercules can be trained from a Starport without having a Fusion Core.", + ItemNames.HERCULES_TACTICAL_JUMP: inspect.cleandoc(""" + Allows Hercules to warp to a target location anywhere on the map. + """), + ItemNames.PLANETARY_FORTRESS_PROGRESSIVE_AUGMENTED_THRUSTERS: inspect.cleandoc(""" + Level 1: Lift Off - Planetary Fortress can lift off. + Level 2: Armament Stabilizers - Planetary Fortress can attack while lifted off. + """), + ItemNames.PLANETARY_FORTRESS_ADVANCED_TARGETING: "Planetary Fortress can attack air units.", + ItemNames.VALKYRIE_LAUNCHING_VECTOR_COMPENSATOR: "Allows Valkyries to shoot air while moving.", + ItemNames.VALKYRIE_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.VALKYRIE), + ItemNames.PREDATOR_PREDATOR_S_FURY: "Predators can use an attack that jumps between targets.", + ItemNames.BATTLECRUISER_BEHEMOTH_PLATING: "Increases Battlecruiser armor by 2.", + ItemNames.BATTLECRUISER_COVERT_OPS_ENGINES: "Increases Battlecruiser movement speed.", + ItemNames.BUNKER: "Defensive structure. Able to load infantry units, giving them +1 range to their attacks.", + ItemNames.MISSILE_TURRET: "Anti-air defensive structure.", + ItemNames.SENSOR_TOWER: "Reveals locations of enemy units at long range.", + ItemNames.WAR_PIGS: "Mercenary Marines.", + ItemNames.DEVIL_DOGS: "Mercenary Firebats.", + ItemNames.HAMMER_SECURITIES: "Mercenary Marauders.", + ItemNames.SPARTAN_COMPANY: "Mercenary Goliaths.", + ItemNames.SIEGE_BREAKERS: "Mercenary Siege Tanks.", + ItemNames.HELS_ANGELS: "Mercenary Vikings.", + ItemNames.DUSK_WINGS: "Mercenary Banshees.", + ItemNames.JACKSONS_REVENGE: "Mercenary Battlecruiser.", + ItemNames.SKIBIS_ANGELS: "Mercenary Medics.", + ItemNames.DEATH_HEADS: "Mercenary Reapers.", + ItemNames.WINGED_NIGHTMARES: "Mercenary Wraiths.", + ItemNames.MIDNIGHT_RIDERS: "Mercenary Liberators.", + ItemNames.BRYNHILDS: "Mercenary Valkyries.", + ItemNames.JOTUN: "Mercenary Thor.", + ItemNames.ULTRA_CAPACITORS: "Increases attack speed of units by 5% per weapon upgrade.", + ItemNames.VANADIUM_PLATING: "Increases the life of units by 5% per armor upgrade.", + ItemNames.ORBITAL_DEPOTS: "Supply depots are built instantly.", + ItemNames.MICRO_FILTERING: "Refineries produce Vespene gas 25% faster.", + ItemNames.AUTOMATED_REFINERY: "Eliminates the need for SCVs in vespene gas production.", + ItemNames.COMMAND_CENTER_REACTOR: "Command Centers can train two SCVs at once.", + ItemNames.RAVEN: "Aerial Caster unit.", + ItemNames.SCIENCE_VESSEL: "Aerial Caster unit. Can repair mechanical units.", + ItemNames.TECH_REACTOR: "Merges Tech Labs and Reactors into one add on structure to provide both functions.", + ItemNames.ORBITAL_STRIKE: "Trained units from Barracks are instantly deployed on rally point.", + ItemNames.BUNKER_SHRIKE_TURRET: "Adds an automated turret to Bunkers.", + ItemNames.BUNKER_FORTIFIED_BUNKER: "Bunkers have more life.", + ItemNames.PLANETARY_FORTRESS: inspect.cleandoc(""" + Allows Command Centers to upgrade into a defensive structure with a turret and additional armor. + Planetary Fortresses cannot Lift Off, or cast Orbital Command spells. + """), + ItemNames.PERDITION_TURRET: "Automated defensive turret. Burrows down while no enemies are nearby.", + ItemNames.PREDATOR: "Anti-infantry specialist that deals area damage with each attack.", + ItemNames.HERCULES: "Massive transport ship.", + ItemNames.CELLULAR_REACTOR: "All Terran spellcasters get +100 starting and maximum energy.", + ItemNames.PROGRESSIVE_REGENERATIVE_BIO_STEEL: inspect.cleandoc(""" + Allows Terran mechanical units to regenerate health while not in combat. + Each level increases life regeneration speed. + """), + ItemNames.HIVE_MIND_EMULATOR: "Defensive structure. Can permanently Mind Control Zerg units.", + ItemNames.PSI_DISRUPTER: "Defensive structure. Slows the attack and movement speeds of all nearby Zerg units.", + ItemNames.STRUCTURE_ARMOR: "Increases armor of all Terran structures by 2.", + ItemNames.HI_SEC_AUTO_TRACKING: "Increases attack range of all Terran structures by 1.", + ItemNames.ADVANCED_OPTICS: "Increases attack range of all Terran mechanical units by 1.", + ItemNames.ROGUE_FORCES: "Mercenary calldowns are no longer limited by charges.", + ItemNames.ZEALOT: "Powerful melee warrior. Can use the charge ability.", + ItemNames.STALKER: "Ranged attack strider. Can use the Blink ability.", + ItemNames.HIGH_TEMPLAR: "Potent psionic master. Can use the Feedback and Psionic Storm abilities. Can merge into an Archon.", + ItemNames.DARK_TEMPLAR: "Deadly warrior-assassin. Permanently cloaked. Can use the Shadow Fury ability.", + ItemNames.IMMORTAL: "Assault strider. Can use Barrier to absorb damage.", + ItemNames.COLOSSUS: "Battle strider with a powerful area attack. Can walk up and down cliffs. Attacks set fire to the ground, dealing extra damage to enemies over time.", + ItemNames.PHOENIX: "Air superiority starfighter. Can use Graviton Beam and Phasing Armor abilities.", + ItemNames.VOID_RAY: "Surgical strike craft. Has the Prismatic Alignment and Prismatic Range abilities.", + ItemNames.CARRIER: "Capital ship. Builds and launches Interceptors that attack enemy targets. Repair Drones heal nearby mechanical units.", + ItemNames.STARTING_MINERALS: "Increases the starting minerals for all missions.", + ItemNames.STARTING_VESPENE: "Increases the starting vespene for all missions.", + ItemNames.STARTING_SUPPLY: "Increases the starting supply for all missions.", + ItemNames.NOTHING: "Does nothing. Used to remove a location from the game.", + ItemNames.NOVA_GHOST_VISOR: "Reveals the locations of enemy units in the fog of war around Nova. Can detect cloaked units.", + ItemNames.NOVA_RANGEFINDER_OCULUS: "Increaases Nova's vision range and non-melee weapon attack range by 2. Also increases range of melee weapons by 1.", + ItemNames.NOVA_DOMINATION: "Gives Nova the ability to mind-control a target enemy unit.", + ItemNames.NOVA_BLINK: "Gives Nova the ability to teleport a short distance and cloak for 10s.", + ItemNames.NOVA_PROGRESSIVE_STEALTH_SUIT_MODULE: inspect.cleandoc(""" + Level 1: Gives Nova the ability to cloak. + Level 2: Nova is permanently cloaked. + """), + ItemNames.NOVA_ENERGY_SUIT_MODULE: "Increases Nova's maximum energy and energy regeneration rate.", + ItemNames.NOVA_ARMORED_SUIT_MODULE: "Increases Nova's health by 100 and armour by 1. Nova also regenerates life quickly out of combat.", + ItemNames.NOVA_JUMP_SUIT_MODULE: "Increases Nova's movement speed and allows her to jump up and down cliffs.", + ItemNames.NOVA_C20A_CANISTER_RIFLE: "Allows Nova to equip the C20A Canister Rifle, which has a ranged attack and allows Nova to cast Snipe.", + ItemNames.NOVA_HELLFIRE_SHOTGUN: "Allows Nova to equip the Hellfire Shotgun, which has a short-range area attack in a cone and allows Nova to cast Penetrating Blast.", + ItemNames.NOVA_PLASMA_RIFLE: "Allows Nova to equip the Plasma Rifle, which has a rapidfire ranged attack and allows Nova to cast Plasma Shot.", + ItemNames.NOVA_MONOMOLECULAR_BLADE: "Allows Nova to equip the Monomolecular Blade, which has a melee attack and allows Nova to cast Dash Attack.", + ItemNames.NOVA_BLAZEFIRE_GUNBLADE: "Allows Nova to equip the Blazefire Gunblade, which has a melee attack and allows Nova to cast Fury of One.", + ItemNames.NOVA_STIM_INFUSION: "Gives Nova the ability to heal herself and temporarily increase her movement and attack speeds.", + ItemNames.NOVA_PULSE_GRENADES: "Gives Nova the ability to throw a grenade dealing large damage in an area.", + ItemNames.NOVA_FLASHBANG_GRENADES: "Gives Nova the ability to throw a grenade to stun enemies and disable detection in a large area.", + ItemNames.NOVA_IONIC_FORCE_FIELD: "Gives Nova the ability to shield herself temporarily.", + ItemNames.NOVA_HOLO_DECOY: "Gives Nova the ability to summon a decoy unit which enemies will prefer to target and takes reduced damage.", + ItemNames.NOVA_NUKE: "Gives Nova the ability to launch tactical nukes built from the Shadow Ops.", + ItemNames.ZERGLING: "Fast inexpensive melee attacker. Hatches in pairs from a single larva. Can morph into a Baneling.", + ItemNames.SWARM_QUEEN: "Ranged support caster. Can use the Spawn Creep Tumor and Rapid Transfusion abilities.", + ItemNames.ROACH: "Durable short ranged attacker. Regenerates life quickly when burrowed.", + ItemNames.HYDRALISK: "High-damage generalist ranged attacker.", + ItemNames.ZERGLING_BANELING_ASPECT: "Anti-ground suicide unit. Does damage over a small area on death. Morphed from the Zergling.", + ItemNames.ABERRATION: "Durable melee attacker that deals heavy damage and can walk over other units.", + ItemNames.MUTALISK: "Fragile flying attacker. Attacks bounce between targets.", + ItemNames.SWARM_HOST: "Siege unit that attacks by rooting in place and continually spawning Locusts.", + ItemNames.INFESTOR: "Support caster that can move while burrowed. Can use the Fungal Growth, Parasitic Domination, and Consumption abilities.", + ItemNames.ULTRALISK: "Massive melee attacker. Has an area-damage cleave attack.", + ItemNames.SPORE_CRAWLER: "Anti-air defensive structure that can detect cloaked units.", + ItemNames.SPINE_CRAWLER: "Anti-ground defensive structure.", + ItemNames.CORRUPTOR: "Anti-air flying attacker specializing in taking down enemy capital ships.", + ItemNames.SCOURGE: "Flying anti-air suicide unit. Hatches in pairs from a single larva.", + ItemNames.BROOD_QUEEN: "Flying support caster. Can cast the Ocular Symbiote and Spawn Broodlings abilities.", + ItemNames.DEFILER: "Support caster. Can use the Dark Swarm, Consume, and Plague abilities.", + ItemNames.PROGRESSIVE_ZERG_MELEE_ATTACK: GENERIC_UPGRADE_TEMPLATE.format("damage", ZERG, "melee ground units"), + ItemNames.PROGRESSIVE_ZERG_MISSILE_ATTACK: GENERIC_UPGRADE_TEMPLATE.format("damage", ZERG, "ranged ground units"), + ItemNames.PROGRESSIVE_ZERG_GROUND_CARAPACE: GENERIC_UPGRADE_TEMPLATE.format("armor", ZERG, "ground units"), + ItemNames.PROGRESSIVE_ZERG_FLYER_ATTACK: GENERIC_UPGRADE_TEMPLATE.format("damage", ZERG, "flyers"), + ItemNames.PROGRESSIVE_ZERG_FLYER_CARAPACE: GENERIC_UPGRADE_TEMPLATE.format("armor", ZERG, "flyers"), + ItemNames.PROGRESSIVE_ZERG_WEAPON_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage", ZERG, "units"), + ItemNames.PROGRESSIVE_ZERG_ARMOR_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("armor", ZERG, "units"), + ItemNames.PROGRESSIVE_ZERG_GROUND_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", ZERG, "ground units"), + ItemNames.PROGRESSIVE_ZERG_FLYER_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", ZERG, "flyers"), + ItemNames.PROGRESSIVE_ZERG_WEAPON_ARMOR_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", ZERG, "units"), + ItemNames.ZERGLING_HARDENED_CARAPACE: "Increases Zergling health by +10.", + ItemNames.ZERGLING_ADRENAL_OVERLOAD: "Increases Zergling attack speed.", + ItemNames.ZERGLING_METABOLIC_BOOST: "Increases Zergling movement speed.", + ItemNames.ROACH_HYDRIODIC_BILE: "Roaches deal +8 damage to light targets.", + ItemNames.ROACH_ADAPTIVE_PLATING: "Roaches gain +3 armour when their life is below 50%.", + ItemNames.ROACH_TUNNELING_CLAWS: "Allows Roaches to move while burrowed.", + ItemNames.HYDRALISK_FRENZY: "Allows Hydralisks to use the Frenzy ability, which increases their attack speed by 50%.", + ItemNames.HYDRALISK_ANCILLARY_CARAPACE: "Hydralisks gain +20 health.", + ItemNames.HYDRALISK_GROOVED_SPINES: "Hydralisks gain +1 range.", + ItemNames.BANELING_CORROSIVE_ACID: "Increases the damage banelings deal to their primary target. Splash damage remains the same.", + ItemNames.BANELING_RUPTURE: "Increases the splash radius of baneling attacks.", + ItemNames.BANELING_REGENERATIVE_ACID: "Banelings will heal nearby friendly units when they explode.", + ItemNames.MUTALISK_VICIOUS_GLAIVE: "Mutalisks attacks will bounce an additional 3 times.", + ItemNames.MUTALISK_RAPID_REGENERATION: "Mutalisks will regenerate quickly when out of combat.", + ItemNames.MUTALISK_SUNDERING_GLAIVE: "Mutalisks deal increased damage to their primary target.", + ItemNames.SWARM_HOST_BURROW: "Allows Swarm Hosts to burrow instead of root to spawn locusts.", + ItemNames.SWARM_HOST_RAPID_INCUBATION: "Swarm Hosts will spawn locusts 20% faster.", + ItemNames.SWARM_HOST_PRESSURIZED_GLANDS: "Allows Swarm Host Locusts to attack air targets.", + ItemNames.ULTRALISK_BURROW_CHARGE: "Allows Ultralisks to burrow and charge at enemy units, knocking back and stunning units when it emerges.", + ItemNames.ULTRALISK_TISSUE_ASSIMILATION: "Ultralisks recover health when they deal damage.", + ItemNames.ULTRALISK_MONARCH_BLADES: "Ultralisks gain increased splash damage.", + ItemNames.CORRUPTOR_CAUSTIC_SPRAY: "Allows Corruptors to use the Caustic Spray ability, which deals ramping damage to buildings over time.", + ItemNames.CORRUPTOR_CORRUPTION: "Allows Corruptors to use the Corruption ability, which causes a target enemy unit to take increased damage.", + ItemNames.SCOURGE_VIRULENT_SPORES: "Scourge will deal splash damage.", + ItemNames.SCOURGE_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.SCOURGE), + ItemNames.SCOURGE_SWARM_SCOURGE: "An extra Scourge will be built from each egg at no additional cost.", + ItemNames.ZERGLING_SHREDDING_CLAWS: "Zergling attacks will temporarily reduce their target's armour to 0.", + ItemNames.ROACH_GLIAL_RECONSTITUTION: "Increases Roach movement speed.", + ItemNames.ROACH_ORGANIC_CARAPACE: "Increases Roach health by +25.", + ItemNames.HYDRALISK_MUSCULAR_AUGMENTS: "Increases Hydralisk movement speed.", + ItemNames.HYDRALISK_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.HYDRALISK), + ItemNames.BANELING_CENTRIFUGAL_HOOKS: "Increases the movement speed of Banelings.", + ItemNames.BANELING_TUNNELING_JAWS: "Allows Banelings to move while burrowed.", + ItemNames.BANELING_RAPID_METAMORPH: "Banelings morph faster.", + ItemNames.MUTALISK_SEVERING_GLAIVE: "Mutalisk bounce attacks will deal full damage.", + ItemNames.MUTALISK_AERODYNAMIC_GLAIVE_SHAPE: "Increases the attack range of Mutalisks by 2.", + ItemNames.SWARM_HOST_LOCUST_METABOLIC_BOOST: "Increases Locust movement speed.", + ItemNames.SWARM_HOST_ENDURING_LOCUSTS: "Increases the duration of Swarm Hosts' Locusts by 10s.", + ItemNames.SWARM_HOST_ORGANIC_CARAPACE: "Increases Swarm Host health by +40.", + ItemNames.SWARM_HOST_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.SWARM_HOST), + ItemNames.ULTRALISK_ANABOLIC_SYNTHESIS: "Ultralisks gain increased movement speed.", + ItemNames.ULTRALISK_CHITINOUS_PLATING: "Ultralisks gain +2 armor.", + ItemNames.ULTRALISK_ORGANIC_CARAPACE: "Ultralisks gain +100 armor.", + ItemNames.ULTRALISK_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.ULTRALISK), + ItemNames.DEVOURER_CORROSIVE_SPRAY: "Devourer attacks will now deal area damage.", + ItemNames.DEVOURER_GAPING_MAW: "Devourer's attack speed increased by 25%.", + ItemNames.DEVOURER_IMPROVED_OSMOSIS: "Devourer's Acid Spores duration increased by 50%.", + ItemNames.DEVOURER_PRESCIENT_SPORES: "Allows Devourers to attack ground targets.", + ItemNames.GUARDIAN_PROLONGED_DISPERSION: "Guardians gain +3 range.", + ItemNames.GUARDIAN_PRIMAL_ADAPTATION: "Allows Guardians to attack air units with a decreased attack damage.", + ItemNames.GUARDIAN_SORONAN_ACID: "Guardians deal increased damage to ground targets.", + ItemNames.IMPALER_ADAPTIVE_TALONS: "Impalers burrow faster.", + ItemNames.IMPALER_SECRETION_GLANDS: "Impalers generate creep while standing still or burrowed.", + ItemNames.IMPALER_HARDENED_TENTACLE_SPINES: "Impalers deal increased damage.", + ItemNames.LURKER_SEISMIC_SPINES: "Lurkers gain +6 range.", + 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: _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: _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: _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.", + ItemNames.ROACH_VILE_STRAIN: "Roach attacks will slow the movement and attack speed of enemies.", + ItemNames.ROACH_CORPSER_STRAIN: "Units killed after being attacked by Roaches will spawn 2 Roachlings.", + ItemNames.HYDRALISK_IMPALER_ASPECT: "Allows Hydralisks to morph into Impalers.", + ItemNames.HYDRALISK_LURKER_ASPECT: "Allows Hydralisks to morph into Lurkers.", + ItemNames.BANELING_SPLITTER_STRAIN: "Banelings will split into two smaller Splitterlings on exploding.", + ItemNames.BANELING_HUNTER_STRAIN: "Allows Banelings to jump up and down cliffs and leap onto enemies.", + ItemNames.MUTALISK_CORRUPTOR_BROOD_LORD_ASPECT: "Allows Mutalisks and Corruptors to morph into Brood Lords.", + ItemNames.MUTALISK_CORRUPTOR_VIPER_ASPECT: "Allows Mutalisks and Corruptors to morph into Vipers.", + ItemNames.SWARM_HOST_CARRION_STRAIN: "Swarm Hosts will spawn Flying Locusts.", + ItemNames.SWARM_HOST_CREEPER_STRAIN: "Allows Swarm Hosts to teleport to any creep on the map in vision. Swarm Hosts will spread creep around them when rooted or burrowed.", + ItemNames.ULTRALISK_NOXIOUS_STRAIN: "Ultralisks will periodically spread poison, damaging nearby biological enemies.", + ItemNames.ULTRALISK_TORRASQUE_STRAIN: "Ultralisks will revive after being killed.", + ItemNames.KERRIGAN_KINETIC_BLAST: "Kerrigan deals 300 damage to target unit or structure from long range.", + ItemNames.KERRIGAN_HEROIC_FORTITUDE: "Kerrigan gains +200 maximum life and double life regeneration rate.", + ItemNames.KERRIGAN_LEAPING_STRIKE: "Kerrigan leaps to her target and deals 150 damage.", + ItemNames.KERRIGAN_CRUSHING_GRIP: "Kerrigan stuns enemies in a target area for 3 seconds and deals 30 damage over time. Heroic units are not stunned.", + ItemNames.KERRIGAN_CHAIN_REACTION: "Kerrigan's attacks deal normal damage to her target then jump to additional nearby enemies.", + ItemNames.KERRIGAN_PSIONIC_SHIFT: "Kerrigan dashes through enemies, dealing 50 damage to all enemies in her path.", + ItemNames.KERRIGAN_ZERGLING_RECONSTITUTION: "Killed Zerglings respawn from your primary Hatchery at no cost.", + ItemNames.KERRIGAN_IMPROVED_OVERLORDS: "Overlords morph instantly and provide 50% more supply.", + ItemNames.KERRIGAN_AUTOMATED_EXTRACTORS: "Extractors automatically harvest Vespene Gas without the need for Drones.", + ItemNames.KERRIGAN_WILD_MUTATION: "Kerrigan gives all units in an area +200 max life and double attack speed for 10 seconds.", + ItemNames.KERRIGAN_SPAWN_BANELINGS: "Kerrigan spawns six Banelings with timed life.", + ItemNames.KERRIGAN_MEND: "Kerrigan heals for 150 life and heals nearby friendly units for 50 life. An additional +50% life is healed over 15 seconds.", + ItemNames.KERRIGAN_TWIN_DRONES: "Drones morph in groups of two at no additional cost and require less supply.", + ItemNames.KERRIGAN_MALIGNANT_CREEP: "Your units and structures gain increased life regeneration and 30% increased attack speed while on creep. Creep Tumors also spread creep faster and farther.", + ItemNames.KERRIGAN_VESPENE_EFFICIENCY: "Extractors produce Vespene gas 25% faster.", + ItemNames.KERRIGAN_INFEST_BROODLINGS: "Enemies damaged by Kerrigan become infested and will spawn Broodlings with timed life if killed quickly.", + ItemNames.KERRIGAN_FURY: "Each of Kerrigan's attacks temporarily increase her attack speed by 15%. Can stack up to 75%.", + ItemNames.KERRIGAN_ABILITY_EFFICIENCY: "Kerrigan's abilities have their cooldown and energy cost reduced by 20%.", + ItemNames.KERRIGAN_APOCALYPSE: "Kerrigan deals 300 damage (+400 vs Structure) to enemies in a large area.", + ItemNames.KERRIGAN_SPAWN_LEVIATHAN: "Kerrigan summons a mightly flying Leviathan with timed life. Deals massive damage and has energy-based abilities.", + ItemNames.KERRIGAN_DROP_PODS: "Kerrigan drops Primal Zerg forces with timed life to the battlefield.", + ItemNames.KERRIGAN_PRIMAL_FORM: "Kerrigan takes on her Primal Zerg form and gains greatly increased energy regeneration.", + ItemNames.KERRIGAN_LEVELS_10: "Gives Kerrigan +10 Levels.", + ItemNames.KERRIGAN_LEVELS_9: "Gives Kerrigan +9 Levels.", + ItemNames.KERRIGAN_LEVELS_8: "Gives Kerrigan +8 Levels.", + ItemNames.KERRIGAN_LEVELS_7: "Gives Kerrigan +7 Levels.", + ItemNames.KERRIGAN_LEVELS_6: "Gives Kerrigan +6 Levels.", + ItemNames.KERRIGAN_LEVELS_5: "Gives Kerrigan +5 Levels.", + ItemNames.KERRIGAN_LEVELS_4: "Gives Kerrigan +4 Levels.", + ItemNames.KERRIGAN_LEVELS_3: "Gives Kerrigan +3 Levels.", + ItemNames.KERRIGAN_LEVELS_2: "Gives Kerrigan +2 Levels.", + ItemNames.KERRIGAN_LEVELS_1: "Gives Kerrigan +1 Level.", + ItemNames.KERRIGAN_LEVELS_14: "Gives Kerrigan +14 Levels.", + ItemNames.KERRIGAN_LEVELS_35: "Gives Kerrigan +35 Levels.", + ItemNames.KERRIGAN_LEVELS_70: "Gives Kerrigan +70 Levels.", + ItemNames.INFESTED_MEDICS: "Mercenary infested Medics that may be called in from the Hatchery.", + ItemNames.INFESTED_SIEGE_TANKS: "Mercenary infested Siege Tanks that may be called in from the Hatchery.", + ItemNames.INFESTED_BANSHEES: "Mercenary infested Banshees that may be called in from the Hatchery.", + ItemNames.OVERLORD_VENTRAL_SACS: "Overlords gain the ability to transport ground units.", + ItemNames.MUTALISK_CORRUPTOR_GUARDIAN_ASPECT: "Long-range anti-ground flyer. Can attack ground units. Morphed from the Mutalisk or Corruptor.", + ItemNames.MUTALISK_CORRUPTOR_DEVOURER_ASPECT: "Anti-air flyer. Attack inflict Acid Spores. Can attack air units. Morphed from the Mutalisk or Corruptor.", + ItemNames.ROACH_RAVAGER_ASPECT: "Ranged artillery. Can use Corrosive Bile. Can attack ground units. Morphed from the Roach.", + ItemNames.OBSERVER: "Flying spy. Cloak renders the unit invisible to enemies without detection.", + ItemNames.CENTURION: "Powerful melee warrior. Has the Shadow Charge and Darkcoil abilities.", + ItemNames.SENTINEL: "Powerful melee warrior. Has the Charge and Reconstruction abilities.", + ItemNames.SUPPLICANT: "Powerful melee warrior. Has powerful damage resistant shields.", + ItemNames.INSTIGATOR: "Ranged support strider. Can store multiple Blink charges.", + ItemNames.SLAYER: "Ranged attack strider. Can use the Phase Blink and Phasing Armor abilities.", + ItemNames.SENTRY: "Robotic support unit can use the Guardian Shield ability and restore the shields of nearby Protoss units.", + ItemNames.ENERGIZER: "Robotic support unit. Can use the Chrono Beam ability and become stationary to power nearby structures.", + ItemNames.HAVOC: "Robotic support unit. Can use the Target Lock and Force Field abilities and increase the range of nearby Protoss units.", + ItemNames.SIGNIFIER: "Potent permanently cloaked psionic master. Can use the Feedback and Crippling Psionic Storm abilities. Can merge into an Archon.", + ItemNames.ASCENDANT: "Potent psionic master. Can use the Psionic Orb, Mind Blast, and Sacrifice abilities.", + ItemNames.AVENGER: "Deadly warrior-assassin. Permanently cloaked. Recalls to the nearest Dark Shrine upon death.", + ItemNames.BLOOD_HUNTER: "Deadly warrior-assassin. Permanently cloaked. Can use the Void Stasis ability.", + ItemNames.DRAGOON: "Ranged assault strider. Has enhanced health and damage.", + ItemNames.DARK_ARCHON: "Potent psionic master. Can use the Confuse and Mind Control abilities.", + ItemNames.ADEPT: "Ranged specialist. Can use the Psionic Transfer ability.", + ItemNames.WARP_PRISM: "Flying transport. Can carry units and become stationary to deploy a power field.", + ItemNames.ANNIHILATOR: "Assault Strider. Can use the Shadow Cannon ability to damage air and ground units.", + ItemNames.VANGUARD: "Assault Strider. Deals splash damage around the primary target.", + ItemNames.WRATHWALKER: "Battle strider with a powerful single target attack. Can walk up and down cliffs.", + ItemNames.REAVER: "Area damage siege unit. Builds and launches explosive Scarabs for high burst damage.", + ItemNames.DISRUPTOR: "Robotic disruption unit. Can use the Purification Nova ability to deal heavy area damage.", + ItemNames.MIRAGE: "Air superiority starfighter. Can use Graviton Beam and Phasing Armor abilities.", + ItemNames.CORSAIR: "Air superiority starfighter. Can use the Disruption Web ability.", + ItemNames.DESTROYER: "Area assault craft. Can use the Destruction Beam ability to attack multiple units at once.", + ItemNames.SCOUT: "Versatile high-speed fighter.", + ItemNames.TEMPEST: "Siege artillery craft. Attacks from long range. Can use the Disintegration ability.", + ItemNames.MOTHERSHIP: "Ultimate Protoss vessel, Can use the Vortex and Mass Recall abilities. Cloaks nearby units and structures.", + ItemNames.ARBITER: "Army support craft. Has the Stasis Field and Recall abilities. Cloaks nearby units.", + ItemNames.ORACLE: "Flying caster. Can use the Revelation and Stasis Ward abilities.", + ItemNames.PROGRESSIVE_PROTOSS_GROUND_WEAPON: GENERIC_UPGRADE_TEMPLATE.format("damage", PROTOSS, "ground units"), + ItemNames.PROGRESSIVE_PROTOSS_GROUND_ARMOR: GENERIC_UPGRADE_TEMPLATE.format("armor", PROTOSS, "ground units"), + ItemNames.PROGRESSIVE_PROTOSS_SHIELDS: GENERIC_UPGRADE_TEMPLATE.format("shields", PROTOSS, "units"), + ItemNames.PROGRESSIVE_PROTOSS_AIR_WEAPON: GENERIC_UPGRADE_TEMPLATE.format("damage", PROTOSS, "starships"), + ItemNames.PROGRESSIVE_PROTOSS_AIR_ARMOR: GENERIC_UPGRADE_TEMPLATE.format("armor", PROTOSS, "starships"), + ItemNames.PROGRESSIVE_PROTOSS_WEAPON_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage", PROTOSS, "units"), + ItemNames.PROGRESSIVE_PROTOSS_ARMOR_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("armor", PROTOSS, "units"), + ItemNames.PROGRESSIVE_PROTOSS_GROUND_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", PROTOSS, "ground units"), + ItemNames.PROGRESSIVE_PROTOSS_AIR_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", PROTOSS, "starships"), + ItemNames.PROGRESSIVE_PROTOSS_WEAPON_ARMOR_UPGRADE: GENERIC_UPGRADE_TEMPLATE.format("damage and armor", PROTOSS, "units"), + ItemNames.PHOTON_CANNON: "Protoss defensive structure. Can attack ground and air units.", + ItemNames.KHAYDARIN_MONOLITH: "Advanced Protoss defensive structure. Has superior range and damage, but is very expensive and attacks slowly.", + ItemNames.SHIELD_BATTERY: "Protoss defensive structure. Restores shields to nearby friendly units and structures.", + ItemNames.SUPPLICANT_BLOOD_SHIELD: "Increases the armor value of Supplicant shields.", + ItemNames.SUPPLICANT_SOUL_AUGMENTATION: "Increases Supplicant max shields by +25.", + ItemNames.SUPPLICANT_SHIELD_REGENERATION: "Increases Supplicant shield regeneration rate.", + ItemNames.ADEPT_SHOCKWAVE: "When Adepts deal a finishing blow, their projectiles can jump onto 2 additional targets.", + ItemNames.ADEPT_RESONATING_GLAIVES: "Increases Adept attack speed.", + ItemNames.ADEPT_PHASE_BULWARK: "Increases Adept shield maximum by +50.", + ItemNames.STALKER_INSTIGATOR_SLAYER_DISINTEGRATING_PARTICLES: "Increases weapon damage of Stalkers, Instigators, and Slayers.", + ItemNames.STALKER_INSTIGATOR_SLAYER_PARTICLE_REFLECTION: "Attacks fired by Stalkers, Instigators, and Slayers have a chance to bounce to additional targets for reduced damage.", + ItemNames.DRAGOON_HIGH_IMPACT_PHASE_DISRUPTORS: "Dragoons deal increased damage.", + ItemNames.DRAGOON_TRILLIC_COMPRESSION_SYSTEM: "Dragoons gain +20 life and their shield regeneration rate is doubled. Allows Dragoons to regenerate shields in combat.", + ItemNames.DRAGOON_SINGULARITY_CHARGE: "Increases Dragoon range by +2.", + ItemNames.DRAGOON_ENHANCED_STRIDER_SERVOS: "Increases Dragoon movement speed.", + ItemNames.SCOUT_COMBAT_SENSOR_ARRAY: "Scouts gain +3 range against air and +1 range against ground.", + ItemNames.SCOUT_APIAL_SENSORS: "Scouts gain increased sight range.", + ItemNames.SCOUT_GRAVITIC_THRUSTERS: "Scouts gain increased movement speed.", + ItemNames.SCOUT_ADVANCED_PHOTON_BLASTERS: "Scouts gain increased damage against ground targets.", + ItemNames.TEMPEST_TECTONIC_DESTABILIZERS: "Tempests deal increased damage to buildings.", + ItemNames.TEMPEST_QUANTIC_REACTOR: "Tempests deal increased damage to massive units.", + ItemNames.TEMPEST_GRAVITY_SLING: "Tempests gain +8 range against air targets.", + ItemNames.PHOENIX_MIRAGE_IONIC_WAVELENGTH_FLUX: "Increases Phoenix and Mirage weapon damage by +2.", + ItemNames.PHOENIX_MIRAGE_ANION_PULSE_CRYSTALS: "Increases Phoenix and Mirage range by +2.", + ItemNames.CORSAIR_STEALTH_DRIVE: "Corsairs become permanently cloaked.", + ItemNames.CORSAIR_ARGUS_JEWEL: "Corsairs can store 2 charges of disruption web.", + ItemNames.CORSAIR_SUSTAINING_DISRUPTION: "Corsair disruption webs last longer.", + ItemNames.CORSAIR_NEUTRON_SHIELDS: "Increases corsair maximum shields by +20.", + ItemNames.ORACLE_STEALTH_DRIVE: "Oracles become permanently cloaked.", + ItemNames.ORACLE_STASIS_CALIBRATION: "Enemies caught by the Oracle's Stasis Ward may now be attacked.", + ItemNames.ORACLE_TEMPORAL_ACCELERATION_BEAM: "Oracles no longer need to to spend energy to attack.", + ItemNames.ARBITER_CHRONOSTATIC_REINFORCEMENT: "Arbiters gain +50 maximum life and +1 armor.", + ItemNames.ARBITER_KHAYDARIN_CORE: _get_start_and_max_energy_desc("Arbiters"), + ItemNames.ARBITER_SPACETIME_ANCHOR: "Arbiter Stasis Field lasts 50 seconds longer.", + ItemNames.ARBITER_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.ARBITER), + ItemNames.ARBITER_ENHANCED_CLOAK_FIELD: "Increases Arbiter Cloaking Field range.", + ItemNames.CARRIER_GRAVITON_CATAPULT: "Carriers can launch Interceptors more quickly.", + ItemNames.CARRIER_HULL_OF_PAST_GLORIES: "Carriers gain +2 armour.", + ItemNames.VOID_RAY_DESTROYER_FLUX_VANES: "Increases Void Ray and Destroyer movement speed.", + ItemNames.DESTROYER_REFORGED_BLOODSHARD_CORE: "When fully charged, the Destroyer's Destruction Beam weapon does full damage to secondary targets.", + ItemNames.WARP_PRISM_GRAVITIC_DRIVE: "Increases the movement speed of Warp Prisms.", + ItemNames.WARP_PRISM_PHASE_BLASTER: "Equips Warp Prisms with an auto-attack that can hit ground and air targets.", + ItemNames.WARP_PRISM_WAR_CONFIGURATION: "Warp Prisms transform faster and gain increased power radius in Phasing Mode.", + ItemNames.OBSERVER_GRAVITIC_BOOSTERS: "Increases Observer movement speed.", + ItemNames.OBSERVER_SENSOR_ARRAY: "Increases Observer sight range.", + ItemNames.REAVER_SCARAB_DAMAGE: "Reaver Scarabs deal +25 damage.", + ItemNames.REAVER_SOLARITE_PAYLOAD: "Reaver Scarabs gain increased splash damage radius.", + ItemNames.REAVER_REAVER_CAPACITY: "Reavers can store 10 Scarabs.", + ItemNames.REAVER_RESOURCE_EFFICIENCY: _get_resource_efficiency_desc(ItemNames.REAVER), + ItemNames.VANGUARD_AGONY_LAUNCHERS: "Increases Vanguard attack range by +2.", + ItemNames.VANGUARD_MATTER_DISPERSION: "Increases Vanguard attack area.", + ItemNames.IMMORTAL_ANNIHILATOR_SINGULARITY_CHARGE: "Increases Immortal and Annihilator attack range by +2.", + ItemNames.IMMORTAL_ANNIHILATOR_ADVANCED_TARGETING_MECHANICS: "Immortals and Annihilators can attack air units.", + ItemNames.COLOSSUS_PACIFICATION_PROTOCOL: "Increases Colossus attack speed.", + ItemNames.WRATHWALKER_RAPID_POWER_CYCLING: "Reduces the charging time and increases attack speed of the Wrathwalker's Charged Blast.", + 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: _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: _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: _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: _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.", + ItemNames.ZEALOT_SENTINEL_CENTURION_LEG_ENHANCEMENTS: "Zealots, Sentinels, and Centurions gain increased movement speed.", + ItemNames.ZEALOT_SENTINEL_CENTURION_SHIELD_CAPACITY: "Zealots, Sentinels, and Centurions gain +30 maximum shields.", + ItemNames.SOA_CHRONO_SURGE: "The Spear of Adun increases a target structure's unit warp in and research speeds by +1000% for 20 seconds.", + ItemNames.SOA_PROGRESSIVE_PROXY_PYLON: inspect.cleandoc(""" + Level 1: The Spear of Adun quickly warps in a Pylon to a target location. + Level 2: The Spear of Adun warps in a Pylon, 2 melee warriors, and 2 ranged warriors to a target location. + """), + ItemNames.SOA_PYLON_OVERCHARGE: "The Spear of Adun temporarily gives a target Pylon increased shields and a powerful attack.", + ItemNames.SOA_ORBITAL_STRIKE: "The Spear of Adun fires 5 laser blasts from orbit.", + ItemNames.SOA_TEMPORAL_FIELD: "The Spear of Adun creates 3 temporal fields that freeze enemy units and structures in time.", + ItemNames.SOA_SOLAR_LANCE: "The Spear of Adun strafes a target area with 3 laser beams.", + ItemNames.SOA_MASS_RECALL: "The Spear of Adun warps all units in a target area back to the primary Nexus and gives them a temporary shield.", + ItemNames.SOA_SHIELD_OVERCHARGE: "The Spear of Adun gives all friendly units a shield that absorbs 200 damage. Lasts 20 seconds.", + ItemNames.SOA_DEPLOY_FENIX: "The Spear of Adun drops Fenix onto the battlefield. Fenix is a powerful warrior who will fight for 30 seconds.", + ItemNames.SOA_PURIFIER_BEAM: "The Spear of Adun fires a wide laser that deals large amounts of damage in a moveable area. Lasts 15 seconds.", + ItemNames.SOA_TIME_STOP: "The Spear of Adun freezes all enemy units and structures in time for 20 seconds.", + ItemNames.SOA_SOLAR_BOMBARDMENT: "The Spear of Adun fires 200 laser blasts randomly over a wide area.", + ItemNames.MATRIX_OVERLOAD: "All friendly units gain 25% movement speed and 15% attack speed within a Pylon's power field and for 15 seconds after leaving it.", + ItemNames.QUATRO: "All friendly Protoss units gain the equivalent of their +1 armour, attack, and shield upgrades.", + ItemNames.NEXUS_OVERCHARGE: "The Protoss Nexus gains a long-range auto-attack.", + ItemNames.ORBITAL_ASSIMILATORS: "Assimilators automatically harvest Vespene Gas without the need for Probes.", + ItemNames.WARP_HARMONIZATION: "Stargates and Robotics Facilities can transform to utilize Warp In technology. Warp In cooldowns are 20% faster than original build times.", + ItemNames.GUARDIAN_SHELL: "The Spear of Adun passively shields friendly Protoss units before death, making them invulnerable for 5 seconds. Each unit can only be shielded once every 60 seconds.", + ItemNames.RECONSTRUCTION_BEAM: "The Spear of Adun will passively heal mechanical units for 5 and non-biological structures for 10 life per second. Up to 3 targets can be repaired at once.", + ItemNames.OVERWATCH: "Once per second, the Spear of Adun will last-hit a damaged enemy unit that is below 50 health.", + ItemNames.SUPERIOR_WARP_GATES: "Protoss Warp Gates can hold up to 3 charges of unit warp-ins.", + ItemNames.ENHANCED_TARGETING: "Protoss defensive structures gain +2 range.", + ItemNames.OPTIMIZED_ORDNANCE: "Increases the attack speed of Protoss defensive structures by 25%.", + ItemNames.KHALAI_INGENUITY: "Pylons, Photon Cannons, Monoliths, and Shield Batteries warp in near-instantly.", + ItemNames.AMPLIFIED_ASSIMILATORS: "Assimilators produce Vespene gas 25% faster.", +} diff --git a/worlds/sc2/Items.py b/worlds/sc2/Items.py index 1d14bc35544c..cc0670ed92cf 100644 --- a/worlds/sc2/Items.py +++ b/worlds/sc2/Items.py @@ -19,7 +19,6 @@ class ItemData(typing.NamedTuple): quantity: int = 1 parent_item: typing.Optional[str] = None origin: typing.Set[str] = {"wol"} - description: typing.Optional[str] = None important_for_filtering: bool = False def is_important_for_filtering(self): @@ -40,226 +39,91 @@ def get_full_item_list(): SC2HOTS_ITEM_ID_OFFSET = SC2WOL_ITEM_ID_OFFSET + 1000 SC2LOTV_ITEM_ID_OFFSET = SC2HOTS_ITEM_ID_OFFSET + 1000 -# Descriptions -WEAPON_ARMOR_UPGRADE_NOTE = inspect.cleandoc(""" - Must be researched during the mission if the mission type isn't set to auto-unlock generic upgrades. -""") -LASER_TARGETING_SYSTEMS_DESCRIPTION = "Increases vision by 2 and weapon range by 1." -STIMPACK_SMALL_COST = 10 -STIMPACK_SMALL_HEAL = 30 -STIMPACK_LARGE_COST = 20 -STIMPACK_LARGE_HEAL = 60 -STIMPACK_TEMPLATE = inspect.cleandoc(""" - Level 1: Stimpack: Increases unit movement and attack speed for 15 seconds. Injures the unit for {} life. - Level 2: Super Stimpack: Instead of injuring the unit, heals the unit for {} life instead. -""") -STIMPACK_SMALL_DESCRIPTION = STIMPACK_TEMPLATE.format(STIMPACK_SMALL_COST, STIMPACK_SMALL_HEAL) -STIMPACK_LARGE_DESCRIPTION = STIMPACK_TEMPLATE.format(STIMPACK_LARGE_COST, STIMPACK_LARGE_HEAL) -SMART_SERVOS_DESCRIPTION = "Increases transformation speed between modes." -INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE = "{} can be trained from a {} without an attached Tech Lab." -RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE = "Reduces {} resource and supply cost." -RESOURCE_EFFICIENCY_NO_SUPPLY_DESCRIPTION_TEMPLATE = "Reduces {} resource cost." -CLOAK_DESCRIPTION_TEMPLATE = "Allows {} to use the Cloak ability." - # The items are sorted by their IDs. The IDs shall be kept for compatibility with older games. item_table = { # WoL ItemNames.MARINE: ItemData(0 + SC2WOL_ITEM_ID_OFFSET, "Unit", 0, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="General-purpose infantry."), + classification=ItemClassification.progression), ItemNames.MEDIC: ItemData(1 + SC2WOL_ITEM_ID_OFFSET, "Unit", 1, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Support trooper. Heals nearby biological units."), + classification=ItemClassification.progression), ItemNames.FIREBAT: ItemData(2 + SC2WOL_ITEM_ID_OFFSET, "Unit", 2, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Specialized anti-infantry attacker."), + classification=ItemClassification.progression), ItemNames.MARAUDER: ItemData(3 + SC2WOL_ITEM_ID_OFFSET, "Unit", 3, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Heavy assault infantry."), + classification=ItemClassification.progression), ItemNames.REAPER: ItemData(4 + SC2WOL_ITEM_ID_OFFSET, "Unit", 4, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Raider. Capable of jumping up and down cliffs. Throws explosive mines."), + classification=ItemClassification.progression), ItemNames.HELLION: ItemData(5 + SC2WOL_ITEM_ID_OFFSET, "Unit", 5, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Fast scout. Has a flame attack that damages all enemy units in its line of fire."), + classification=ItemClassification.progression), ItemNames.VULTURE: ItemData(6 + SC2WOL_ITEM_ID_OFFSET, "Unit", 6, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Fast skirmish unit. Can use the Spider Mine ability."), + classification=ItemClassification.progression), ItemNames.GOLIATH: ItemData(7 + SC2WOL_ITEM_ID_OFFSET, "Unit", 7, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Heavy-fire support unit."), + classification=ItemClassification.progression), ItemNames.DIAMONDBACK: ItemData(8 + SC2WOL_ITEM_ID_OFFSET, "Unit", 8, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Fast, high-damage hovertank. Rail Gun can fire while the Diamondback is moving."), + classification=ItemClassification.progression), ItemNames.SIEGE_TANK: ItemData(9 + SC2WOL_ITEM_ID_OFFSET, "Unit", 9, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Heavy tank. Long-range artillery in Siege Mode."), + classification=ItemClassification.progression), ItemNames.MEDIVAC: ItemData(10 + SC2WOL_ITEM_ID_OFFSET, "Unit", 10, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Air transport. Heals nearby biological units."), + classification=ItemClassification.progression), ItemNames.WRAITH: ItemData(11 + SC2WOL_ITEM_ID_OFFSET, "Unit", 11, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Highly mobile flying unit. Excellent at surgical strikes."), + classification=ItemClassification.progression), ItemNames.VIKING: ItemData(12 + SC2WOL_ITEM_ID_OFFSET, "Unit", 12, SC2Race.TERRAN, - classification=ItemClassification.progression, - description=inspect.cleandoc( - """ - Durable support flyer. Loaded with strong anti-capital air missiles. - Can switch into Assault Mode to attack ground units. - """ - )), + classification=ItemClassification.progression), ItemNames.BANSHEE: ItemData(13 + SC2WOL_ITEM_ID_OFFSET, "Unit", 13, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Tactical-strike aircraft."), + classification=ItemClassification.progression), ItemNames.BATTLECRUISER: ItemData(14 + SC2WOL_ITEM_ID_OFFSET, "Unit", 14, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Powerful warship."), + classification=ItemClassification.progression), ItemNames.GHOST: ItemData(15 + SC2WOL_ITEM_ID_OFFSET, "Unit", 15, SC2Race.TERRAN, - classification=ItemClassification.progression, - description=inspect.cleandoc( - """ - Infiltration unit. Can use Snipe and Cloak abilities. Can also call down Tactical Nukes. - """ - )), + classification=ItemClassification.progression), ItemNames.SPECTRE: ItemData(16 + SC2WOL_ITEM_ID_OFFSET, "Unit", 16, SC2Race.TERRAN, - classification=ItemClassification.progression, - description=inspect.cleandoc( - """ - Infiltration unit. Can use Ultrasonic Pulse, Psionic Lash, and Cloak. - Can also call down Tactical Nukes. - """ - )), + classification=ItemClassification.progression), ItemNames.THOR: ItemData(17 + SC2WOL_ITEM_ID_OFFSET, "Unit", 17, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Heavy assault mech."), + classification=ItemClassification.progression), # EE units ItemNames.LIBERATOR: ItemData(18 + SC2WOL_ITEM_ID_OFFSET, "Unit", 18, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"nco", "ext"}, - description=inspect.cleandoc( - """ - Artillery fighter. Loaded with missiles that deal area damage to enemy air targets. - Can switch into Defender Mode to provide siege support. - """ - )), + classification=ItemClassification.progression, origin={"nco", "ext"}), ItemNames.VALKYRIE: ItemData(19 + SC2WOL_ITEM_ID_OFFSET, "Unit", 19, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"bw"}, - description=inspect.cleandoc( - """ - Advanced anti-aircraft fighter. - Able to use cluster missiles that deal area damage to air targets. - """ - )), + classification=ItemClassification.progression, origin={"bw"}), ItemNames.WIDOW_MINE: ItemData(20 + SC2WOL_ITEM_ID_OFFSET, "Unit", 20, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"ext"}, - description=inspect.cleandoc( - """ - Robotic mine. Launches missiles at nearby enemy units while burrowed. - Attacks deal splash damage in a small area around the target. - Widow Mine is revealed when Sentinel Missile is on cooldown. - """ - )), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.CYCLONE: ItemData(21 + SC2WOL_ITEM_ID_OFFSET, "Unit", 21, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"ext"}, - description=inspect.cleandoc( - """ - Mobile assault vehicle. Can use Lock On to quickly fire while moving. - """ - )), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.HERC: ItemData(22 + SC2WOL_ITEM_ID_OFFSET, "Unit", 26, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"ext"}, - description=inspect.cleandoc( - """ - Front-line infantry. Can use Grapple. - """ - )), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.WARHOUND: ItemData(23 + SC2WOL_ITEM_ID_OFFSET, "Unit", 27, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"ext"}, - description=inspect.cleandoc( - """ - Anti-vehicle mech. Haywire missiles do bonus damage to mechanical units. - """ - )), + classification=ItemClassification.progression, origin={"ext"}), # Some other items are moved to Upgrade group because of the way how the bot message is parsed - ItemNames.PROGRESSIVE_TERRAN_INFANTRY_WEAPON: - ItemData(100 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 0, SC2Race.TERRAN, - quantity=3, - description=inspect.cleandoc( - f""" - Increases damage of Terran infantry units. - {WEAPON_ARMOR_UPGRADE_NOTE} - """ - )), - ItemNames.PROGRESSIVE_TERRAN_INFANTRY_ARMOR: - ItemData(102 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 2, SC2Race.TERRAN, - quantity=3, - description=inspect.cleandoc( - f""" - Increases armor of Terran infantry units. - {WEAPON_ARMOR_UPGRADE_NOTE} - """ - )), - ItemNames.PROGRESSIVE_TERRAN_VEHICLE_WEAPON: - ItemData(103 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 4, SC2Race.TERRAN, - quantity=3, - description=inspect.cleandoc( - f""" - Increases damage of Terran vehicle units. - {WEAPON_ARMOR_UPGRADE_NOTE} - """ - )), - ItemNames.PROGRESSIVE_TERRAN_VEHICLE_ARMOR: - ItemData(104 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 6, SC2Race.TERRAN, - quantity=3, - description=inspect.cleandoc( - f""" - Increases armor of Terran vehicle units. - {WEAPON_ARMOR_UPGRADE_NOTE} - """ - )), - ItemNames.PROGRESSIVE_TERRAN_SHIP_WEAPON: - ItemData(105 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 8, SC2Race.TERRAN, - quantity=3, - description=inspect.cleandoc( - f""" - Increases damage of Terran starship units. - {WEAPON_ARMOR_UPGRADE_NOTE} - """ - )), - ItemNames.PROGRESSIVE_TERRAN_SHIP_ARMOR: - ItemData(106 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 10, SC2Race.TERRAN, - quantity=3, - description=inspect.cleandoc( - f""" - Increases armor of Terran starship units. - {WEAPON_ARMOR_UPGRADE_NOTE} - """ - )), + ItemNames.PROGRESSIVE_TERRAN_INFANTRY_WEAPON: ItemData(100 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 0, SC2Race.TERRAN, quantity=3,), + ItemNames.PROGRESSIVE_TERRAN_INFANTRY_ARMOR: ItemData(102 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 2, SC2Race.TERRAN, quantity=3), + ItemNames.PROGRESSIVE_TERRAN_VEHICLE_WEAPON: ItemData(103 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 4, SC2Race.TERRAN, quantity=3), + ItemNames.PROGRESSIVE_TERRAN_VEHICLE_ARMOR: ItemData(104 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 6, SC2Race.TERRAN, quantity=3), + ItemNames.PROGRESSIVE_TERRAN_SHIP_WEAPON: ItemData(105 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 8, SC2Race.TERRAN, quantity=3), + ItemNames.PROGRESSIVE_TERRAN_SHIP_ARMOR: ItemData(106 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 10, SC2Race.TERRAN, quantity=3), # Upgrade bundle 'number' values are used as indices to get affected 'number's ItemNames.PROGRESSIVE_TERRAN_WEAPON_UPGRADE: ItemData(107 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 0, SC2Race.TERRAN, quantity=3), ItemNames.PROGRESSIVE_TERRAN_ARMOR_UPGRADE: ItemData(108 + SC2WOL_ITEM_ID_OFFSET, "Upgrade", 1, SC2Race.TERRAN, quantity=3), @@ -271,1222 +135,806 @@ def get_full_item_list(): # Unit and structure upgrades ItemNames.BUNKER_PROJECTILE_ACCELERATOR: ItemData(200 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 0, SC2Race.TERRAN, - parent_item=ItemNames.BUNKER, - description="Increases range of all units in the Bunker by 1."), + parent_item=ItemNames.BUNKER), ItemNames.BUNKER_NEOSTEEL_BUNKER: ItemData(201 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 1, SC2Race.TERRAN, - parent_item=ItemNames.BUNKER, - description="Increases the number of Bunker slots by 2."), + parent_item=ItemNames.BUNKER), ItemNames.MISSILE_TURRET_TITANIUM_HOUSING: ItemData(202 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 2, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MISSILE_TURRET, - description="Increases Missile Turret life by 75."), + classification=ItemClassification.filler, parent_item=ItemNames.MISSILE_TURRET), ItemNames.MISSILE_TURRET_HELLSTORM_BATTERIES: ItemData(203 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 3, SC2Race.TERRAN, - parent_item=ItemNames.MISSILE_TURRET, - description="The Missile Turret unleashes an additional flurry of missiles with each attack."), + parent_item=ItemNames.MISSILE_TURRET), ItemNames.SCV_ADVANCED_CONSTRUCTION: - ItemData(204 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 4, SC2Race.TERRAN, - description="Multiple SCVs can construct a structure, reducing its construction time."), + ItemData(204 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 4, SC2Race.TERRAN), ItemNames.SCV_DUAL_FUSION_WELDERS: - ItemData(205 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 5, SC2Race.TERRAN, - description="SCVs repair twice as fast."), + ItemData(205 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 5, SC2Race.TERRAN), ItemNames.PROGRESSIVE_FIRE_SUPPRESSION_SYSTEM: ItemData(206 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 24, SC2Race.TERRAN, - quantity=2, - description=inspect.cleandoc( - """ - Level 1: While on low health, Terran structures are repaired to half health instead of burning down. - Level 2: Terran structures are repaired to full health instead of half health - """ - )), + quantity=2), ItemNames.PROGRESSIVE_ORBITAL_COMMAND: ItemData(207 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 26, SC2Race.TERRAN, - quantity=2, classification=ItemClassification.progression, - description=inspect.cleandoc( - """ - Level 1: Allows Command Centers to use Scanner Sweep and Calldown: MULE abilities. - Level 2: Orbital Command abilities work even in Planetary Fortress mode. - """ - )), + quantity=2, classification=ItemClassification.progression), ItemNames.MARINE_PROGRESSIVE_STIMPACK: ItemData(208 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 0, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.MARINE, quantity=2, - description=STIMPACK_SMALL_DESCRIPTION), + classification=ItemClassification.progression, parent_item=ItemNames.MARINE, quantity=2), ItemNames.MARINE_COMBAT_SHIELD: ItemData(209 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 9, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.MARINE, - description="Increases Marine life by 10."), + classification=ItemClassification.progression, parent_item=ItemNames.MARINE), ItemNames.MEDIC_ADVANCED_MEDIC_FACILITIES: ItemData(210 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 10, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Medics", "Barracks")), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIC), ItemNames.MEDIC_STABILIZER_MEDPACKS: ItemData(211 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 11, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.MEDIC, - description="Increases Medic heal speed. Reduces the amount of energy required for each heal."), + classification=ItemClassification.progression, parent_item=ItemNames.MEDIC), ItemNames.FIREBAT_INCINERATOR_GAUNTLETS: ItemData(212 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 12, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.FIREBAT, - description="Increases Firebat's damage radius by 40%"), + classification=ItemClassification.filler, parent_item=ItemNames.FIREBAT), ItemNames.FIREBAT_JUGGERNAUT_PLATING: ItemData(213 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 13, SC2Race.TERRAN, - parent_item=ItemNames.FIREBAT, - description="Increases Firebat's armor by 2."), + parent_item=ItemNames.FIREBAT), ItemNames.MARAUDER_CONCUSSIVE_SHELLS: ItemData(214 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 14, SC2Race.TERRAN, - parent_item=ItemNames.MARAUDER, - description="Marauder attack temporarily slows all units in target area."), + parent_item=ItemNames.MARAUDER), ItemNames.MARAUDER_KINETIC_FOAM: ItemData(215 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 15, SC2Race.TERRAN, - parent_item=ItemNames.MARAUDER, - description="Increases Marauder life by 25."), + parent_item=ItemNames.MARAUDER), ItemNames.REAPER_U238_ROUNDS: ItemData(216 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 16, SC2Race.TERRAN, - parent_item=ItemNames.REAPER, - description=inspect.cleandoc( - """ - Increases Reaper pistol attack range by 1. - Reaper pistols do additional 3 damage to Light Armor. - """ - )), + parent_item=ItemNames.REAPER), ItemNames.REAPER_G4_CLUSTERBOMB: ItemData(217 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 17, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.REAPER, - description="Timed explosive that does heavy area damage."), + classification=ItemClassification.progression, parent_item=ItemNames.REAPER), ItemNames.CYCLONE_MAG_FIELD_ACCELERATORS: ItemData(218 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 18, SC2Race.TERRAN, - parent_item=ItemNames.CYCLONE, origin={"ext"}, - description="Increases Cyclone Lock On damage"), + parent_item=ItemNames.CYCLONE, origin={"ext"}), ItemNames.CYCLONE_MAG_FIELD_LAUNCHERS: ItemData(219 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 19, SC2Race.TERRAN, - parent_item=ItemNames.CYCLONE, origin={"ext"}, - description="Increases Cyclone attack range by 2."), + parent_item=ItemNames.CYCLONE, origin={"ext"}), ItemNames.MARINE_LASER_TARGETING_SYSTEM: ItemData(220 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 8, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MARINE, origin={"nco"}, - description=LASER_TARGETING_SYSTEMS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.MARINE, origin={"nco"}), ItemNames.MARINE_MAGRAIL_MUNITIONS: ItemData(221 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 20, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.MARINE, origin={"nco"}, - description="Deals 20 damage to target unit. Autocast on attack with a cooldown."), + classification=ItemClassification.progression, parent_item=ItemNames.MARINE, origin={"nco"}), ItemNames.MARINE_OPTIMIZED_LOGISTICS: ItemData(222 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 21, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MARINE, origin={"nco"}, - description="Increases Marine training speed."), + classification=ItemClassification.filler, parent_item=ItemNames.MARINE, origin={"nco"}), ItemNames.MEDIC_RESTORATION: ItemData(223 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 22, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"bw"}, - description="Removes negative status effects from target allied unit."), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"bw"}), ItemNames.MEDIC_OPTICAL_FLARE: ItemData(224 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 23, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"bw"}, - description="Reduces vision range of target enemy unit. Disables detection."), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"bw"}), ItemNames.MEDIC_RESOURCE_EFFICIENCY: ItemData(225 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 24, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"bw"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Medic")), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"bw"}), ItemNames.FIREBAT_PROGRESSIVE_STIMPACK: ItemData(226 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 6, SC2Race.TERRAN, - parent_item=ItemNames.FIREBAT, quantity=2, origin={"bw"}, - description=STIMPACK_LARGE_DESCRIPTION), + parent_item=ItemNames.FIREBAT, quantity=2, origin={"bw"}), ItemNames.FIREBAT_RESOURCE_EFFICIENCY: ItemData(227 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 25, SC2Race.TERRAN, - parent_item=ItemNames.FIREBAT, origin={"bw"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Firebat")), + parent_item=ItemNames.FIREBAT, origin={"bw"}), ItemNames.MARAUDER_PROGRESSIVE_STIMPACK: ItemData(228 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 8, SC2Race.TERRAN, - parent_item=ItemNames.MARAUDER, quantity=2, origin={"nco"}, - description=STIMPACK_LARGE_DESCRIPTION), + parent_item=ItemNames.MARAUDER, quantity=2, origin={"nco"}), ItemNames.MARAUDER_LASER_TARGETING_SYSTEM: ItemData(229 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 26, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MARAUDER, origin={"nco"}, - description=LASER_TARGETING_SYSTEMS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.MARAUDER, origin={"nco"}), ItemNames.MARAUDER_MAGRAIL_MUNITIONS: ItemData(230 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 27, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MARAUDER, origin={"nco"}, - description="Deals 20 damage to target unit. Autocast on attack with a cooldown."), + classification=ItemClassification.filler, parent_item=ItemNames.MARAUDER, origin={"nco"}), ItemNames.MARAUDER_INTERNAL_TECH_MODULE: ItemData(231 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 28, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MARAUDER, origin={"nco"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Marauders", "Barracks")), + classification=ItemClassification.filler, parent_item=ItemNames.MARAUDER, origin={"nco"}), ItemNames.SCV_HOSTILE_ENVIRONMENT_ADAPTATION: ItemData(232 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 29, SC2Race.TERRAN, - classification=ItemClassification.filler, origin={"bw"}, - description="Increases SCV life by 15 and attack speed slightly."), + classification=ItemClassification.filler, origin={"bw"}), ItemNames.MEDIC_ADAPTIVE_MEDPACKS: ItemData(233 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 0, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.MEDIC, origin={"ext"}, - description="Allows Medics to heal mechanical and air units."), + classification=ItemClassification.progression, parent_item=ItemNames.MEDIC, origin={"ext"}), ItemNames.MEDIC_NANO_PROJECTOR: ItemData(234 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 1, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"ext"}, - description="Increases Medic heal range by 2."), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIC, origin={"ext"}), ItemNames.FIREBAT_INFERNAL_PRE_IGNITER: ItemData(235 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 2, SC2Race.TERRAN, - parent_item=ItemNames.FIREBAT, origin={"bw"}, - description="Firebats do an additional 4 damage to Light Armor."), + parent_item=ItemNames.FIREBAT, origin={"bw"}), ItemNames.FIREBAT_KINETIC_FOAM: ItemData(236 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 3, SC2Race.TERRAN, - parent_item=ItemNames.FIREBAT, origin={"ext"}, - description="Increases Firebat life by 100."), + parent_item=ItemNames.FIREBAT, origin={"ext"}), ItemNames.FIREBAT_NANO_PROJECTORS: ItemData(237 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 4, SC2Race.TERRAN, - parent_item=ItemNames.FIREBAT, origin={"ext"}, - description="Increases Firebat attack range by 2"), + parent_item=ItemNames.FIREBAT, origin={"ext"}), ItemNames.MARAUDER_JUGGERNAUT_PLATING: ItemData(238 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 5, SC2Race.TERRAN, - parent_item=ItemNames.MARAUDER, origin={"ext"}, - description="Increases Marauder's armor by 2."), + parent_item=ItemNames.MARAUDER, origin={"ext"}), ItemNames.REAPER_JET_PACK_OVERDRIVE: ItemData(239 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 6, SC2Race.TERRAN, - parent_item=ItemNames.REAPER, origin={"ext"}, - description=inspect.cleandoc( - """ - Allows the Reaper to fly for 10 seconds. - While flying, the Reaper can attack air units. - """ - )), + parent_item=ItemNames.REAPER, origin={"ext"}), ItemNames.HELLION_INFERNAL_PLATING: ItemData(240 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 7, SC2Race.TERRAN, - parent_item=ItemNames.HELLION, origin={"ext"}, - description="Increases Hellion and Hellbat armor by 2."), + parent_item=ItemNames.HELLION, origin={"ext"}), ItemNames.VULTURE_AUTO_REPAIR: ItemData(241 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 8, SC2Race.TERRAN, - parent_item=ItemNames.VULTURE, origin={"ext"}, - description="Vultures regenerate life."), + parent_item=ItemNames.VULTURE, origin={"ext"}), ItemNames.GOLIATH_SHAPED_HULL: ItemData(242 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 9, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.GOLIATH, origin={"nco", "ext"}, - description="Increases Goliath life by 25."), + classification=ItemClassification.filler, parent_item=ItemNames.GOLIATH, origin={"nco", "ext"}), ItemNames.GOLIATH_RESOURCE_EFFICIENCY: ItemData(243 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 10, SC2Race.TERRAN, - parent_item=ItemNames.GOLIATH, origin={"nco", "bw"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Goliath")), + parent_item=ItemNames.GOLIATH, origin={"nco", "bw"}), ItemNames.GOLIATH_INTERNAL_TECH_MODULE: ItemData(244 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 11, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.GOLIATH, origin={"nco", "bw"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Goliaths", "Factory")), + classification=ItemClassification.filler, parent_item=ItemNames.GOLIATH, origin={"nco", "bw"}), ItemNames.SIEGE_TANK_SHAPED_HULL: ItemData(245 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 12, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.SIEGE_TANK, origin={"nco", "ext"}, - description="Increases Siege Tank life by 25."), + classification=ItemClassification.filler, parent_item=ItemNames.SIEGE_TANK, origin={"nco", "ext"}), ItemNames.SIEGE_TANK_RESOURCE_EFFICIENCY: ItemData(246 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 13, SC2Race.TERRAN, - parent_item=ItemNames.SIEGE_TANK, origin={"bw"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Siege Tank")), + parent_item=ItemNames.SIEGE_TANK, origin={"bw"}), ItemNames.PREDATOR_CLOAK: ItemData(247 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 14, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.PREDATOR, origin={"ext"}, - description=CLOAK_DESCRIPTION_TEMPLATE.format("Predators")), + classification=ItemClassification.filler, parent_item=ItemNames.PREDATOR, origin={"ext"}), ItemNames.PREDATOR_CHARGE: ItemData(248 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 15, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.PREDATOR, origin={"ext"}, - description="Allows Predators to intercept enemy ground units."), + classification=ItemClassification.filler, parent_item=ItemNames.PREDATOR, origin={"ext"}), ItemNames.MEDIVAC_SCATTER_VEIL: ItemData(249 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 16, SC2Race.TERRAN, - parent_item=ItemNames.MEDIVAC, origin={"ext"}, - description="Medivacs get 100 shields."), + parent_item=ItemNames.MEDIVAC, origin={"ext"}), ItemNames.REAPER_PROGRESSIVE_STIMPACK: ItemData(250 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 10, SC2Race.TERRAN, - parent_item=ItemNames.REAPER, quantity=2, origin={"nco"}, - description=STIMPACK_SMALL_DESCRIPTION), + parent_item=ItemNames.REAPER, quantity=2, origin={"nco"}), ItemNames.REAPER_LASER_TARGETING_SYSTEM: ItemData(251 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 17, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.REAPER, origin={"nco"}, - description=LASER_TARGETING_SYSTEMS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.REAPER, origin={"nco"}), ItemNames.REAPER_ADVANCED_CLOAKING_FIELD: ItemData(252 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 18, SC2Race.TERRAN, - parent_item=ItemNames.REAPER, origin={"nco"}, - description="Reapers are permanently cloaked."), + parent_item=ItemNames.REAPER, origin={"nco"}), ItemNames.REAPER_SPIDER_MINES: ItemData(253 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 19, SC2Race.TERRAN, classification=ItemClassification.filler, parent_item=ItemNames.REAPER, origin={"nco"}, - important_for_filtering=True, - description="Allows Reapers to lay Spider Mines. 3 charges per Reaper."), + important_for_filtering=True), ItemNames.REAPER_COMBAT_DRUGS: ItemData(254 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 20, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.REAPER, origin={"ext"}, - description="Reapers regenerate life while out of combat."), + classification=ItemClassification.filler, parent_item=ItemNames.REAPER, origin={"ext"}), ItemNames.HELLION_HELLBAT_ASPECT: ItemData(255 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 21, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.HELLION, origin={"nco"}, - description="Allows Hellions to transform into Hellbats."), + classification=ItemClassification.progression, parent_item=ItemNames.HELLION, origin={"nco"}), ItemNames.HELLION_SMART_SERVOS: ItemData(256 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 22, SC2Race.TERRAN, - parent_item=ItemNames.HELLION, origin={"nco"}, - description="Transforms faster between modes. Hellions can attack while moving."), + parent_item=ItemNames.HELLION, origin={"nco"}), ItemNames.HELLION_OPTIMIZED_LOGISTICS: ItemData(257 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 23, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.HELLION, origin={"nco"}, - description="Increases Hellion training speed."), + classification=ItemClassification.filler, parent_item=ItemNames.HELLION, origin={"nco"}), ItemNames.HELLION_JUMP_JETS: ItemData(258 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 24, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.HELLION, origin={"nco"}, - description=inspect.cleandoc( - """ - Increases movement speed in Hellion mode. - In Hellbat mode, launches the Hellbat toward enemy ground units and briefly stuns them. - """ - )), + classification=ItemClassification.filler, parent_item=ItemNames.HELLION, origin={"nco"}), ItemNames.HELLION_PROGRESSIVE_STIMPACK: ItemData(259 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 12, SC2Race.TERRAN, - parent_item=ItemNames.HELLION, quantity=2, origin={"nco"}, - description=STIMPACK_LARGE_DESCRIPTION), + parent_item=ItemNames.HELLION, quantity=2, origin={"nco"}), ItemNames.VULTURE_ION_THRUSTERS: ItemData(260 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 25, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.VULTURE, origin={"bw"}, - description="Increases Vulture movement speed."), + classification=ItemClassification.filler, parent_item=ItemNames.VULTURE, origin={"bw"}), ItemNames.VULTURE_AUTO_LAUNCHERS: ItemData(261 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 26, SC2Race.TERRAN, - parent_item=ItemNames.VULTURE, origin={"bw"}, - description="Allows Vultures to attack while moving."), + parent_item=ItemNames.VULTURE, origin={"bw"}), ItemNames.SPIDER_MINE_HIGH_EXPLOSIVE_MUNITION: ItemData(262 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 27, SC2Race.TERRAN, - origin={"bw"}, - description="Increases Spider mine damage."), + origin={"bw"}), ItemNames.GOLIATH_JUMP_JETS: ItemData(263 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 28, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.GOLIATH, origin={"nco"}, - description="Allows Goliaths to jump up and down cliffs."), + classification=ItemClassification.progression, parent_item=ItemNames.GOLIATH, origin={"nco"}), ItemNames.GOLIATH_OPTIMIZED_LOGISTICS: ItemData(264 + SC2WOL_ITEM_ID_OFFSET, "Armory 2", 29, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.GOLIATH, origin={"nco"}, - description="Increases Goliath training speed."), + classification=ItemClassification.filler, parent_item=ItemNames.GOLIATH, origin={"nco"}), ItemNames.DIAMONDBACK_HYPERFLUXOR: ItemData(265 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 0, SC2Race.TERRAN, - parent_item=ItemNames.DIAMONDBACK, origin={"ext"}, - description="Increases Diamondback attack speed."), + parent_item=ItemNames.DIAMONDBACK, origin={"ext"}), ItemNames.DIAMONDBACK_BURST_CAPACITORS: ItemData(266 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 1, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.DIAMONDBACK, origin={"ext"}, - description=inspect.cleandoc( - """ - While not attacking, the Diamondback charges its weapon. - The next attack does 10 additional damage. - """ - )), + classification=ItemClassification.filler, parent_item=ItemNames.DIAMONDBACK, origin={"ext"}), ItemNames.DIAMONDBACK_RESOURCE_EFFICIENCY: ItemData(267 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 2, SC2Race.TERRAN, - parent_item=ItemNames.DIAMONDBACK, origin={"ext"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Diamondback")), + parent_item=ItemNames.DIAMONDBACK, origin={"ext"}), ItemNames.SIEGE_TANK_JUMP_JETS: ItemData(268 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 3, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.SIEGE_TANK, origin={"nco"}, - description=inspect.cleandoc( - """ - Repositions Siege Tank to a target location. - Can be used in either mode and to jump up and down cliffs. - """ - )), + classification=ItemClassification.progression, parent_item=ItemNames.SIEGE_TANK, origin={"nco"}), ItemNames.SIEGE_TANK_SPIDER_MINES: ItemData(269 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 4, SC2Race.TERRAN, classification=ItemClassification.filler, parent_item=ItemNames.SIEGE_TANK, origin={"nco"}, - important_for_filtering=True, - description=inspect.cleandoc( - """ - Allows Siege Tanks to lay Spider Mines. - Lays 3 Spider Mines at once. 3 charges - """ - )), + important_for_filtering=True), ItemNames.SIEGE_TANK_SMART_SERVOS: ItemData(270 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 5, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.SIEGE_TANK, origin={"nco"}, - description=SMART_SERVOS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.SIEGE_TANK, origin={"nco"}), ItemNames.SIEGE_TANK_GRADUATING_RANGE: ItemData(271 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 6, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.SIEGE_TANK, origin={"ext"}, - description=inspect.cleandoc( - """ - Increases the Siege Tank's attack range by 1 every 3 seconds while in Siege Mode, - up to a maximum of 5 additional range. - """ - )), + classification=ItemClassification.progression, parent_item=ItemNames.SIEGE_TANK, origin={"ext"}), ItemNames.SIEGE_TANK_LASER_TARGETING_SYSTEM: ItemData(272 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 7, SC2Race.TERRAN, - parent_item=ItemNames.SIEGE_TANK, origin={"nco"}, - description=LASER_TARGETING_SYSTEMS_DESCRIPTION), + parent_item=ItemNames.SIEGE_TANK, origin={"nco"}), ItemNames.SIEGE_TANK_ADVANCED_SIEGE_TECH: ItemData(273 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 8, SC2Race.TERRAN, - parent_item=ItemNames.SIEGE_TANK, origin={"ext"}, - description="Siege Tanks gain +3 armor in Siege Mode."), + parent_item=ItemNames.SIEGE_TANK, origin={"ext"}), ItemNames.SIEGE_TANK_INTERNAL_TECH_MODULE: ItemData(274 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 9, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.SIEGE_TANK, origin={"nco"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Siege Tanks", "Factory")), + classification=ItemClassification.filler, parent_item=ItemNames.SIEGE_TANK, origin={"nco"}), ItemNames.PREDATOR_RESOURCE_EFFICIENCY: ItemData(275 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 10, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.PREDATOR, origin={"ext"}, - description="Decreases Predator resource and supply cost."), + classification=ItemClassification.filler, parent_item=ItemNames.PREDATOR, origin={"ext"}), ItemNames.MEDIVAC_EXPANDED_HULL: ItemData(276 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 11, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC, origin={"ext"}, - description="Increases Medivac cargo space by 4."), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC, origin={"ext"}), ItemNames.MEDIVAC_AFTERBURNERS: ItemData(277 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 12, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC, origin={"ext"}, - description="Ability. Temporarily increases the Medivac's movement speed by 70%."), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC, origin={"ext"}), ItemNames.WRAITH_ADVANCED_LASER_TECHNOLOGY: ItemData(278 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 13, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.WRAITH, origin={"ext"}, - description=inspect.cleandoc( - """ - Burst Lasers do more damage and can hit both ground and air targets. - Replaces Gemini Missiles weapon. - """ - )), + classification=ItemClassification.progression, parent_item=ItemNames.WRAITH, origin={"ext"}), ItemNames.VIKING_SMART_SERVOS: ItemData(279 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 14, SC2Race.TERRAN, - parent_item=ItemNames.VIKING, origin={"ext"}, - description=SMART_SERVOS_DESCRIPTION), + parent_item=ItemNames.VIKING, origin={"ext"}), ItemNames.VIKING_ANTI_MECHANICAL_MUNITION: ItemData(280 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 15, SC2Race.TERRAN, - parent_item=ItemNames.VIKING, origin={"ext"}, - description="Increases Viking damage to mechanical units while in Assault Mode."), + parent_item=ItemNames.VIKING, origin={"ext"}), ItemNames.DIAMONDBACK_ION_THRUSTERS: ItemData(281 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 21, SC2Race.TERRAN, - parent_item=ItemNames.DIAMONDBACK, origin={"ext"}, - description="Increases Diamondback movement speed."), + parent_item=ItemNames.DIAMONDBACK, origin={"ext"}), ItemNames.WARHOUND_RESOURCE_EFFICIENCY: ItemData(282 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 13, SC2Race.TERRAN, - parent_item=ItemNames.WARHOUND, origin={"ext"}, - description=RESOURCE_EFFICIENCY_NO_SUPPLY_DESCRIPTION_TEMPLATE.format("Warhound")), + parent_item=ItemNames.WARHOUND, origin={"ext"}), ItemNames.WARHOUND_REINFORCED_PLATING: ItemData(283 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 14, SC2Race.TERRAN, - parent_item=ItemNames.WARHOUND, origin={"ext"}, - description="Increases Warhound armor by 2."), + parent_item=ItemNames.WARHOUND, origin={"ext"}), ItemNames.HERC_RESOURCE_EFFICIENCY: ItemData(284 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 15, SC2Race.TERRAN, - parent_item=ItemNames.HERC, origin={"ext"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("HERC")), + parent_item=ItemNames.HERC, origin={"ext"}), ItemNames.HERC_JUGGERNAUT_PLATING: ItemData(285 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 16, SC2Race.TERRAN, - parent_item=ItemNames.HERC, origin={"ext"}, - description="Increases HERC armor by 2."), + parent_item=ItemNames.HERC, origin={"ext"}), ItemNames.HERC_KINETIC_FOAM: ItemData(286 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 17, SC2Race.TERRAN, - parent_item=ItemNames.HERC, origin={"ext"}, - description="Increases HERC life by 50."), + parent_item=ItemNames.HERC, origin={"ext"}), ItemNames.HELLION_TWIN_LINKED_FLAMETHROWER: ItemData(300 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 16, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.HELLION, - description="Doubles the width of the Hellion's flame attack."), + classification=ItemClassification.filler, parent_item=ItemNames.HELLION), ItemNames.HELLION_THERMITE_FILAMENTS: ItemData(301 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 17, SC2Race.TERRAN, - parent_item=ItemNames.HELLION, - description="Hellions do an additional 10 damage to Light Armor."), + parent_item=ItemNames.HELLION), ItemNames.SPIDER_MINE_CERBERUS_MINE: ItemData(302 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 18, SC2Race.TERRAN, - classification=ItemClassification.filler, - description="Increases trigger and blast radius of Spider Mines."), + classification=ItemClassification.filler), ItemNames.VULTURE_PROGRESSIVE_REPLENISHABLE_MAGAZINE: ItemData(303 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 16, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.VULTURE, quantity=2, - description=inspect.cleandoc( - """ - Level 1: Allows Vultures to replace used Spider Mines. Costs 15 minerals. - Level 2: Replacing used Spider Mines no longer costs minerals. - """ - )), + classification=ItemClassification.filler, parent_item=ItemNames.VULTURE, quantity=2), ItemNames.GOLIATH_MULTI_LOCK_WEAPONS_SYSTEM: ItemData(304 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 19, SC2Race.TERRAN, - parent_item=ItemNames.GOLIATH, - description="Goliaths can attack both ground and air targets simultaneously."), + parent_item=ItemNames.GOLIATH), ItemNames.GOLIATH_ARES_CLASS_TARGETING_SYSTEM: ItemData(305 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 20, SC2Race.TERRAN, - parent_item=ItemNames.GOLIATH, - description="Increases Goliath ground attack range by 1 and air by 3."), + parent_item=ItemNames.GOLIATH), ItemNames.DIAMONDBACK_PROGRESSIVE_TRI_LITHIUM_POWER_CELL: ItemData(306 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade 2", 4, SC2Race.TERRAN, - parent_item=ItemNames.DIAMONDBACK, quantity=2, - description=inspect.cleandoc( - """ - Level 1: Tri-Lithium Power Cell: Increases Diamondback attack range by 1. - Level 2: Tungsten Spikes: Increases Diamondback attack range by 3. - """ - )), + parent_item=ItemNames.DIAMONDBACK, quantity=2), ItemNames.DIAMONDBACK_SHAPED_HULL: ItemData(307 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 22, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.DIAMONDBACK, - description="Increases Diamondback life by 50."), + classification=ItemClassification.filler, parent_item=ItemNames.DIAMONDBACK), ItemNames.SIEGE_TANK_MAELSTROM_ROUNDS: ItemData(308 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 23, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.SIEGE_TANK, - description="Siege Tanks do an additional 40 damage to the primary target in Siege Mode."), + classification=ItemClassification.progression, parent_item=ItemNames.SIEGE_TANK), ItemNames.SIEGE_TANK_SHAPED_BLAST: ItemData(309 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 24, SC2Race.TERRAN, - parent_item=ItemNames.SIEGE_TANK, - description="Reduces splash damage to friendly targets while in Siege Mode by 75%."), + parent_item=ItemNames.SIEGE_TANK), ItemNames.MEDIVAC_RAPID_DEPLOYMENT_TUBE: ItemData(310 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 25, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC, - description="Medivacs deploy loaded troops almost instantly."), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC), ItemNames.MEDIVAC_ADVANCED_HEALING_AI: ItemData(311 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 26, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC, - description="Medivacs can heal two targets at once."), + classification=ItemClassification.filler, parent_item=ItemNames.MEDIVAC), ItemNames.WRAITH_PROGRESSIVE_TOMAHAWK_POWER_CELLS: ItemData(312 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 18, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.WRAITH, quantity=2, - description=inspect.cleandoc( - """ - Level 1: Tomahawk Power Cells: Increases Wraith starting energy by 100. - Level 2: Unregistered Cloaking Module: Wraiths do not require energy to cloak and remain cloaked. - """ - )), + classification=ItemClassification.filler, parent_item=ItemNames.WRAITH, quantity=2), ItemNames.WRAITH_DISPLACEMENT_FIELD: ItemData(313 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 27, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.WRAITH, - description="Wraiths evade 20% of incoming attacks while cloaked."), + classification=ItemClassification.filler, parent_item=ItemNames.WRAITH), ItemNames.VIKING_RIPWAVE_MISSILES: ItemData(314 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 28, SC2Race.TERRAN, - parent_item=ItemNames.VIKING, - description="Vikings do area damage while in Fighter Mode"), + parent_item=ItemNames.VIKING), ItemNames.VIKING_PHOBOS_CLASS_WEAPONS_SYSTEM: ItemData(315 + SC2WOL_ITEM_ID_OFFSET, "Armory 3", 29, SC2Race.TERRAN, - parent_item=ItemNames.VIKING, - description="Increases Viking attack range by 1 in Assault mode and 2 in Fighter mode."), + parent_item=ItemNames.VIKING), ItemNames.BANSHEE_PROGRESSIVE_CROSS_SPECTRUM_DAMPENERS: ItemData(316 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 2, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, quantity=2, - description=inspect.cleandoc( - """ - Level 1: Banshees can remain cloaked twice as long. - Level 2: Banshees do not require energy to cloak and remain cloaked. - """ - )), + classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, quantity=2), ItemNames.BANSHEE_SHOCKWAVE_MISSILE_BATTERY: ItemData(317 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 0, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.BANSHEE, - description="Banshees do area damage in a straight line."), + classification=ItemClassification.progression, parent_item=ItemNames.BANSHEE), ItemNames.BATTLECRUISER_PROGRESSIVE_MISSILE_PODS: ItemData(318 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade 2", 2, SC2Race.TERRAN, - parent_item=ItemNames.BATTLECRUISER, quantity=2, - description="Spell. Missile Pods do damage to air targets in a target area."), + parent_item=ItemNames.BATTLECRUISER, quantity=2), ItemNames.BATTLECRUISER_PROGRESSIVE_DEFENSIVE_MATRIX: ItemData(319 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 20, SC2Race.TERRAN, - parent_item=ItemNames.BATTLECRUISER, quantity=2, - description=inspect.cleandoc( - """ - Level 1: Spell. For 20 seconds the Battlecruiser gains a shield that can absorb up to 200 damage. - Level 2: Passive. Battlecruiser gets 200 shields. - """ - )), + parent_item=ItemNames.BATTLECRUISER, quantity=2), ItemNames.GHOST_OCULAR_IMPLANTS: ItemData(320 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 2, SC2Race.TERRAN, - parent_item=ItemNames.GHOST, - description="Increases Ghost sight range by 3 and attack range by 2."), + parent_item=ItemNames.GHOST), ItemNames.GHOST_CRIUS_SUIT: ItemData(321 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 3, SC2Race.TERRAN, - parent_item=ItemNames.GHOST, - description="Cloak no longer requires energy to activate or maintain."), + parent_item=ItemNames.GHOST), ItemNames.SPECTRE_PSIONIC_LASH: ItemData(322 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 4, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.SPECTRE, - description="Spell. Deals 200 damage to a single target."), + classification=ItemClassification.progression, parent_item=ItemNames.SPECTRE), ItemNames.SPECTRE_NYX_CLASS_CLOAKING_MODULE: ItemData(323 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 5, SC2Race.TERRAN, - parent_item=ItemNames.SPECTRE, - description="Cloak no longer requires energy to activate or maintain."), + parent_item=ItemNames.SPECTRE), ItemNames.THOR_330MM_BARRAGE_CANNON: ItemData(324 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 6, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.THOR, - description=inspect.cleandoc( - """ - Improves 250mm Strike Cannons ability to deal area damage and stun units in a small area. - Can be also freely aimed on ground. - """ - )), + classification=ItemClassification.filler, parent_item=ItemNames.THOR), ItemNames.THOR_PROGRESSIVE_IMMORTALITY_PROTOCOL: ItemData(325 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 22, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.THOR, quantity=2, - description=inspect.cleandoc(""" - Level 1: Allows destroyed Thors to be reconstructed on the field. Costs Vespene Gas. - Level 2: Thors are automatically reconstructed after falling for free. - """ - )), + classification=ItemClassification.filler, parent_item=ItemNames.THOR, quantity=2), ItemNames.LIBERATOR_ADVANCED_BALLISTICS: ItemData(326 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 7, SC2Race.TERRAN, - parent_item=ItemNames.LIBERATOR, origin={"ext"}, - description="Increases Liberator range by 3 in Defender Mode."), + parent_item=ItemNames.LIBERATOR, origin={"ext"}), ItemNames.LIBERATOR_RAID_ARTILLERY: ItemData(327 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 8, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.LIBERATOR, origin={"nco"}, - description="Allows Liberators to attack structures while in Defender Mode."), + classification=ItemClassification.progression, parent_item=ItemNames.LIBERATOR, origin={"nco"}), ItemNames.WIDOW_MINE_DRILLING_CLAWS: ItemData(328 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 9, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.WIDOW_MINE, origin={"ext"}, - description="Allows Widow Mines to burrow and unburrow faster."), + classification=ItemClassification.filler, parent_item=ItemNames.WIDOW_MINE, origin={"ext"}), ItemNames.WIDOW_MINE_CONCEALMENT: ItemData(329 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 10, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.WIDOW_MINE, origin={"ext"}, - description="Burrowed Widow Mines are no longer revealed when the Sentinel Missile is on cooldown."), + classification=ItemClassification.progression, parent_item=ItemNames.WIDOW_MINE, origin={"ext"}), ItemNames.MEDIVAC_ADVANCED_CLOAKING_FIELD: ItemData(330 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 11, SC2Race.TERRAN, - parent_item=ItemNames.MEDIVAC, origin={"ext"}, - description="Medivacs are permanently cloaked."), + parent_item=ItemNames.MEDIVAC, origin={"ext"}), ItemNames.WRAITH_TRIGGER_OVERRIDE: ItemData(331 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 12, SC2Race.TERRAN, - parent_item=ItemNames.WRAITH, origin={"ext"}, - description="Wraith attack speed increases by 10% with each attack, up to a maximum of 100%."), + parent_item=ItemNames.WRAITH, origin={"ext"}), ItemNames.WRAITH_INTERNAL_TECH_MODULE: ItemData(332 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 13, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.WRAITH, origin={"bw"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Wraiths", "Starport")), + classification=ItemClassification.filler, parent_item=ItemNames.WRAITH, origin={"bw"}), ItemNames.WRAITH_RESOURCE_EFFICIENCY: ItemData(333 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 14, SC2Race.TERRAN, - parent_item=ItemNames.WRAITH, origin={"bw"}, - description=RESOURCE_EFFICIENCY_NO_SUPPLY_DESCRIPTION_TEMPLATE.format("Wraith")), + parent_item=ItemNames.WRAITH, origin={"bw"}), ItemNames.VIKING_SHREDDER_ROUNDS: ItemData(334 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 15, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.VIKING, origin={"ext"}, - description="Attacks in Assault mode do line splash damage."), + classification=ItemClassification.progression, parent_item=ItemNames.VIKING, origin={"ext"}), ItemNames.VIKING_WILD_MISSILES: ItemData(335 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 16, SC2Race.TERRAN, - parent_item=ItemNames.VIKING, origin={"ext"}, - description="Launches 5 rockets at the target unit. Each rocket does 25 (40 vs armored) damage."), + parent_item=ItemNames.VIKING, origin={"ext"}), ItemNames.BANSHEE_SHAPED_HULL: ItemData(336 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 17, SC2Race.TERRAN, - parent_item=ItemNames.BANSHEE, origin={"ext"}, - description="Increases Banshee life by 100."), + parent_item=ItemNames.BANSHEE, origin={"ext"}), ItemNames.BANSHEE_ADVANCED_TARGETING_OPTICS: ItemData(337 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 18, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.BANSHEE, origin={"ext"}, - description="Increases Banshee attack range by 2 while cloaked."), + classification=ItemClassification.progression, parent_item=ItemNames.BANSHEE, origin={"ext"}), ItemNames.BANSHEE_DISTORTION_BLASTERS: ItemData(338 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 19, SC2Race.TERRAN, - parent_item=ItemNames.BANSHEE, origin={"ext"}, - description="Increases Banshee attack damage by 25% while cloaked."), + parent_item=ItemNames.BANSHEE, origin={"ext"}), ItemNames.BANSHEE_ROCKET_BARRAGE: ItemData(339 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 20, SC2Race.TERRAN, - parent_item=ItemNames.BANSHEE, origin={"ext"}, - description="Deals 75 damage to enemy ground units in the target area."), + parent_item=ItemNames.BANSHEE, origin={"ext"}), ItemNames.GHOST_RESOURCE_EFFICIENCY: ItemData(340 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 21, SC2Race.TERRAN, - parent_item=ItemNames.GHOST, origin={"bw"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Ghost")), + parent_item=ItemNames.GHOST, origin={"bw"}), ItemNames.SPECTRE_RESOURCE_EFFICIENCY: ItemData(341 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 22, SC2Race.TERRAN, - parent_item=ItemNames.SPECTRE, origin={"ext"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Spectre")), + parent_item=ItemNames.SPECTRE, origin={"ext"}), ItemNames.THOR_BUTTON_WITH_A_SKULL_ON_IT: ItemData(342 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 23, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.THOR, origin={"ext"}, - description="Allows Thors to launch nukes."), + classification=ItemClassification.progression, parent_item=ItemNames.THOR, origin={"ext"}), ItemNames.THOR_LASER_TARGETING_SYSTEM: ItemData(343 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 24, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.THOR, origin={"ext"}, - description=LASER_TARGETING_SYSTEMS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.THOR, origin={"ext"}), ItemNames.THOR_LARGE_SCALE_FIELD_CONSTRUCTION: ItemData(344 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 25, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.THOR, origin={"ext"}, - description="Allows Thors to be built by SCVs like a structure."), + classification=ItemClassification.filler, parent_item=ItemNames.THOR, origin={"ext"}), ItemNames.RAVEN_RESOURCE_EFFICIENCY: ItemData(345 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 26, SC2Race.TERRAN, - parent_item=ItemNames.RAVEN, origin={"ext"}, - description=RESOURCE_EFFICIENCY_NO_SUPPLY_DESCRIPTION_TEMPLATE.format("Raven")), + parent_item=ItemNames.RAVEN, origin={"ext"}), ItemNames.RAVEN_DURABLE_MATERIALS: ItemData(346 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 27, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.RAVEN, origin={"ext"}, - description="Extends timed life duration of Raven's summoned objects."), + classification=ItemClassification.filler, parent_item=ItemNames.RAVEN, origin={"ext"}), ItemNames.SCIENCE_VESSEL_IMPROVED_NANO_REPAIR: ItemData(347 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 28, SC2Race.TERRAN, - parent_item=ItemNames.SCIENCE_VESSEL, origin={"ext"}, - description="Nano-Repair no longer requires energy to use."), + parent_item=ItemNames.SCIENCE_VESSEL, origin={"ext"}), ItemNames.SCIENCE_VESSEL_ADVANCED_AI_SYSTEMS: ItemData(348 + SC2WOL_ITEM_ID_OFFSET, "Armory 4", 29, SC2Race.TERRAN, - parent_item=ItemNames.SCIENCE_VESSEL, origin={"ext"}, - description="Science Vessel can use Nano-Repair at two targets at once."), + parent_item=ItemNames.SCIENCE_VESSEL, origin={"ext"}), ItemNames.CYCLONE_RESOURCE_EFFICIENCY: ItemData(349 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 0, SC2Race.TERRAN, - parent_item=ItemNames.CYCLONE, origin={"ext"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Cyclone")), + parent_item=ItemNames.CYCLONE, origin={"ext"}), ItemNames.BANSHEE_HYPERFLIGHT_ROTORS: ItemData(350 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 1, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, origin={"ext"}, - description="Increases Banshee movement speed."), + classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, origin={"ext"}), ItemNames.BANSHEE_LASER_TARGETING_SYSTEM: ItemData(351 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 2, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, origin={"nco"}, - description=LASER_TARGETING_SYSTEMS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, origin={"nco"}), ItemNames.BANSHEE_INTERNAL_TECH_MODULE: ItemData(352 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 3, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, origin={"nco"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Banshees", "Starport")), + classification=ItemClassification.filler, parent_item=ItemNames.BANSHEE, origin={"nco"}), ItemNames.BATTLECRUISER_TACTICAL_JUMP: ItemData(353 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 4, SC2Race.TERRAN, - parent_item=ItemNames.BATTLECRUISER, origin={"nco", "ext"}, - description=inspect.cleandoc( - """ - Allows Battlecruisers to warp to a target location anywhere on the map. - """ - )), + parent_item=ItemNames.BATTLECRUISER, origin={"nco", "ext"}), ItemNames.BATTLECRUISER_CLOAK: ItemData(354 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 5, SC2Race.TERRAN, - parent_item=ItemNames.BATTLECRUISER, origin={"nco"}, - description=CLOAK_DESCRIPTION_TEMPLATE.format("Battlecruisers")), + parent_item=ItemNames.BATTLECRUISER, origin={"nco"}), ItemNames.BATTLECRUISER_ATX_LASER_BATTERY: ItemData(355 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 6, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.BATTLECRUISER, origin={"nco"}, - description=inspect.cleandoc( - """ - Battlecruisers can attack while moving, - do the same damage to both ground and air targets, and fire faster. - """ - )), + classification=ItemClassification.progression, parent_item=ItemNames.BATTLECRUISER, origin={"nco"}), ItemNames.BATTLECRUISER_OPTIMIZED_LOGISTICS: ItemData(356 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 7, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.BATTLECRUISER, origin={"ext"}, - description="Increases Battlecruiser training speed."), + classification=ItemClassification.filler, parent_item=ItemNames.BATTLECRUISER, origin={"ext"}), ItemNames.BATTLECRUISER_INTERNAL_TECH_MODULE: ItemData(357 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 8, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.BATTLECRUISER, origin={"nco"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Battlecruisers", "Starport")), + classification=ItemClassification.filler, parent_item=ItemNames.BATTLECRUISER, origin={"nco"}), ItemNames.GHOST_EMP_ROUNDS: ItemData(358 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 9, SC2Race.TERRAN, - parent_item=ItemNames.GHOST, origin={"ext"}, - description=inspect.cleandoc( - """ - Spell. Does 100 damage to shields and drains all energy from units in the targeted area. - Cloaked units hit by EMP are revealed for a short time. - """ - )), + parent_item=ItemNames.GHOST, origin={"ext"}), ItemNames.GHOST_LOCKDOWN: ItemData(359 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 10, SC2Race.TERRAN, - parent_item=ItemNames.GHOST, origin={"bw"}, - description="Spell. Stuns a target mechanical unit for a long time."), + parent_item=ItemNames.GHOST, origin={"bw"}), ItemNames.SPECTRE_IMPALER_ROUNDS: ItemData(360 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 11, SC2Race.TERRAN, - parent_item=ItemNames.SPECTRE, origin={"ext"}, - description="Spectres do additional damage to armored targets."), + parent_item=ItemNames.SPECTRE, origin={"ext"}), ItemNames.THOR_PROGRESSIVE_HIGH_IMPACT_PAYLOAD: ItemData(361 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 14, SC2Race.TERRAN, - parent_item=ItemNames.THOR, quantity=2, origin={"ext"}, - description=inspect.cleandoc( - f""" - Level 1: Allows Thors to transform in order to use an alternative air attack. - Level 2: {SMART_SERVOS_DESCRIPTION} - """ - )), + parent_item=ItemNames.THOR, quantity=2, origin={"ext"}), ItemNames.RAVEN_BIO_MECHANICAL_REPAIR_DRONE: ItemData(363 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 12, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.RAVEN, origin={"nco"}, - description="Spell. Deploys a drone that can heal biological or mechanical units."), + classification=ItemClassification.progression, parent_item=ItemNames.RAVEN, origin={"nco"}), ItemNames.RAVEN_SPIDER_MINES: ItemData(364 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 13, SC2Race.TERRAN, - parent_item=ItemNames.RAVEN, origin={"nco"}, important_for_filtering=True, - description="Spell. Deploys 3 Spider Mines to a target location."), + parent_item=ItemNames.RAVEN, origin={"nco"}, important_for_filtering=True), ItemNames.RAVEN_RAILGUN_TURRET: ItemData(365 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 14, SC2Race.TERRAN, - parent_item=ItemNames.RAVEN, origin={"nco"}, - description=inspect.cleandoc( - """ - Spell. Allows Ravens to deploy an advanced Auto-Turret, - that can attack enemy ground units in a straight line. - """ - )), + parent_item=ItemNames.RAVEN, origin={"nco"}), ItemNames.RAVEN_HUNTER_SEEKER_WEAPON: ItemData(366 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 15, SC2Race.TERRAN, - classification=ItemClassification.progression, parent_item=ItemNames.RAVEN, origin={"nco"}, - description="Allows Ravens to attack with a Hunter-Seeker weapon."), + classification=ItemClassification.progression, parent_item=ItemNames.RAVEN, origin={"nco"}), ItemNames.RAVEN_INTERFERENCE_MATRIX: ItemData(367 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 16, SC2Race.TERRAN, - parent_item=ItemNames.RAVEN, origin={"ext"}, - description=inspect.cleandoc( - """ - Spell. Target enemy Mechanical or Psionic unit can't attack or use abilities for a short duration. - """ - )), + parent_item=ItemNames.RAVEN, origin={"ext"}), ItemNames.RAVEN_ANTI_ARMOR_MISSILE: ItemData(368 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 17, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.RAVEN, origin={"ext"}, - description="Spell. Decreases target and nearby enemy units armor by 2."), + classification=ItemClassification.filler, parent_item=ItemNames.RAVEN, origin={"ext"}), ItemNames.RAVEN_INTERNAL_TECH_MODULE: ItemData(369 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 18, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.RAVEN, origin={"nco"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Ravens", "Starport")), + classification=ItemClassification.filler, parent_item=ItemNames.RAVEN, origin={"nco"}), ItemNames.SCIENCE_VESSEL_EMP_SHOCKWAVE: ItemData(370 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 19, SC2Race.TERRAN, - parent_item=ItemNames.SCIENCE_VESSEL, origin={"bw"}, - description="Spell. Depletes all energy and shields of all units in a target area."), + parent_item=ItemNames.SCIENCE_VESSEL, origin={"bw"}), ItemNames.SCIENCE_VESSEL_DEFENSIVE_MATRIX: ItemData(371 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 20, SC2Race.TERRAN, - parent_item=ItemNames.SCIENCE_VESSEL, origin={"bw"}, - description=inspect.cleandoc( - """ - Spell. Provides a target unit with a defensive barrier that can absorb up to 250 damage - """ - )), + parent_item=ItemNames.SCIENCE_VESSEL, origin={"bw"}), ItemNames.CYCLONE_TARGETING_OPTICS: ItemData(372 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 21, SC2Race.TERRAN, - parent_item=ItemNames.CYCLONE, origin={"ext"}, - description="Increases Cyclone Lock On casting range and the range while Locked On."), + parent_item=ItemNames.CYCLONE, origin={"ext"}), ItemNames.CYCLONE_RAPID_FIRE_LAUNCHERS: ItemData(373 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 22, SC2Race.TERRAN, - parent_item=ItemNames.CYCLONE, origin={"ext"}, - description="The first 12 shots of Lock On are fired more quickly."), + parent_item=ItemNames.CYCLONE, origin={"ext"}), ItemNames.LIBERATOR_CLOAK: ItemData(374 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 23, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"nco"}, - description=CLOAK_DESCRIPTION_TEMPLATE.format("Liberators")), + classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"nco"}), ItemNames.LIBERATOR_LASER_TARGETING_SYSTEM: ItemData(375 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 24, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"ext"}, - description=LASER_TARGETING_SYSTEMS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"ext"}), ItemNames.LIBERATOR_OPTIMIZED_LOGISTICS: ItemData(376 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 25, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"nco"}, - description="Increases Liberator training speed."), + classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"nco"}), ItemNames.WIDOW_MINE_BLACK_MARKET_LAUNCHERS: ItemData(377 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 26, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.WIDOW_MINE, origin={"ext"}, - description="Increases Widow Mine Sentinel Missile range."), + classification=ItemClassification.filler, parent_item=ItemNames.WIDOW_MINE, origin={"ext"}), ItemNames.WIDOW_MINE_EXECUTIONER_MISSILES: ItemData(378 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 27, SC2Race.TERRAN, - parent_item=ItemNames.WIDOW_MINE, origin={"ext"}, - description=inspect.cleandoc( - """ - Reduces Sentinel Missile cooldown. - When killed, Widow Mines will launch several missiles at random enemy targets. - """ - )), + parent_item=ItemNames.WIDOW_MINE, origin={"ext"}), ItemNames.VALKYRIE_ENHANCED_CLUSTER_LAUNCHERS: ItemData(379 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 28, - SC2Race.TERRAN, parent_item=ItemNames.VALKYRIE, origin={"ext"}, - description="Valkyries fire 2 additional rockets each volley."), + SC2Race.TERRAN, parent_item=ItemNames.VALKYRIE, origin={"ext"}), ItemNames.VALKYRIE_SHAPED_HULL: ItemData(380 + SC2WOL_ITEM_ID_OFFSET, "Armory 5", 29, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.VALKYRIE, origin={"ext"}, - description="Increases Valkyrie life by 50."), + classification=ItemClassification.filler, parent_item=ItemNames.VALKYRIE, origin={"ext"}), ItemNames.VALKYRIE_FLECHETTE_MISSILES: ItemData(381 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 0, SC2Race.TERRAN, - parent_item=ItemNames.VALKYRIE, origin={"ext"}, - description="Equips Valkyries with Air-to-Surface missiles to attack ground units."), + parent_item=ItemNames.VALKYRIE, origin={"ext"}), ItemNames.VALKYRIE_AFTERBURNERS: ItemData(382 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 1, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.VALKYRIE, origin={"ext"}, - description="Ability. Temporarily increases the Valkyries's movement speed by 70%."), + classification=ItemClassification.filler, parent_item=ItemNames.VALKYRIE, origin={"ext"}), ItemNames.CYCLONE_INTERNAL_TECH_MODULE: ItemData(383 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 2, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.CYCLONE, origin={"ext"}, - description=INTERNAL_TECH_MODULE_DESCRIPTION_TEMPLATE.format("Cyclones", "Factory")), + classification=ItemClassification.filler, parent_item=ItemNames.CYCLONE, origin={"ext"}), ItemNames.LIBERATOR_SMART_SERVOS: ItemData(384 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 3, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"nco"}, - description=SMART_SERVOS_DESCRIPTION), + classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"nco"}), ItemNames.LIBERATOR_RESOURCE_EFFICIENCY: ItemData(385 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 4, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"ext"}, - description=RESOURCE_EFFICIENCY_NO_SUPPLY_DESCRIPTION_TEMPLATE.format("Liberator")), + classification=ItemClassification.filler, parent_item=ItemNames.LIBERATOR, origin={"ext"}), ItemNames.HERCULES_INTERNAL_FUSION_MODULE: ItemData(386 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 5, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.HERCULES, origin={"ext"}, - description="Hercules can be trained from a Starport without having a Fusion Core."), + classification=ItemClassification.filler, parent_item=ItemNames.HERCULES, origin={"ext"}), ItemNames.HERCULES_TACTICAL_JUMP: ItemData(387 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 6, SC2Race.TERRAN, - parent_item=ItemNames.HERCULES, origin={"ext"}, - description=inspect.cleandoc( - """ - Allows Hercules to warp to a target location anywhere on the map. - """ - )), + parent_item=ItemNames.HERCULES, origin={"ext"}), ItemNames.PLANETARY_FORTRESS_PROGRESSIVE_AUGMENTED_THRUSTERS: ItemData(388 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 28, SC2Race.TERRAN, - parent_item=ItemNames.PLANETARY_FORTRESS, origin={"ext"}, quantity=2, - description=inspect.cleandoc( - """ - Level 1: Lift Off - Planetary Fortress can lift off. - Level 2: Armament Stabilizers - Planetary Fortress can attack while lifted off. - """ - )), + parent_item=ItemNames.PLANETARY_FORTRESS, origin={"ext"}, quantity=2), ItemNames.PLANETARY_FORTRESS_ADVANCED_TARGETING: ItemData(389 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 7, SC2Race.TERRAN, - parent_item=ItemNames.PLANETARY_FORTRESS, origin={"ext"}, - description="Planetary Fortress can attack air units."), + parent_item=ItemNames.PLANETARY_FORTRESS, origin={"ext"}), ItemNames.VALKYRIE_LAUNCHING_VECTOR_COMPENSATOR: ItemData(390 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 8, SC2Race.TERRAN, - classification=ItemClassification.filler, parent_item=ItemNames.VALKYRIE, origin={"ext"}, - description="Allows Valkyries to shoot air while moving."), + classification=ItemClassification.filler, parent_item=ItemNames.VALKYRIE, origin={"ext"}), ItemNames.VALKYRIE_RESOURCE_EFFICIENCY: ItemData(391 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 9, SC2Race.TERRAN, - parent_item=ItemNames.VALKYRIE, origin={"ext"}, - description=RESOURCE_EFFICIENCY_DESCRIPTION_TEMPLATE.format("Valkyrie")), + parent_item=ItemNames.VALKYRIE, origin={"ext"}), ItemNames.PREDATOR_PREDATOR_S_FURY: ItemData(392 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 10, SC2Race.TERRAN, - parent_item=ItemNames.PREDATOR, origin={"ext"}, - description="Predators can use an attack that jumps between targets."), + parent_item=ItemNames.PREDATOR, origin={"ext"}), ItemNames.BATTLECRUISER_BEHEMOTH_PLATING: ItemData(393 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 11, SC2Race.TERRAN, - parent_item=ItemNames.BATTLECRUISER, origin={"ext"}, - description="Increases Battlecruiser armor by 2."), + parent_item=ItemNames.BATTLECRUISER, origin={"ext"}), ItemNames.BATTLECRUISER_COVERT_OPS_ENGINES: ItemData(394 + SC2WOL_ITEM_ID_OFFSET, "Armory 6", 12, SC2Race.TERRAN, - parent_item=ItemNames.BATTLECRUISER, origin={"nco"}, - description="Increases Battlecruiser movement speed."), + parent_item=ItemNames.BATTLECRUISER, origin={"nco"}), #Buildings ItemNames.BUNKER: ItemData(400 + SC2WOL_ITEM_ID_OFFSET, "Building", 0, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Defensive structure. Able to load infantry units, giving them +1 range to their attacks."), + classification=ItemClassification.progression), ItemNames.MISSILE_TURRET: ItemData(401 + SC2WOL_ITEM_ID_OFFSET, "Building", 1, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Anti-air defensive structure."), + classification=ItemClassification.progression), ItemNames.SENSOR_TOWER: - ItemData(402 + SC2WOL_ITEM_ID_OFFSET, "Building", 2, SC2Race.TERRAN, - description="Reveals locations of enemy units at long range."), + ItemData(402 + SC2WOL_ITEM_ID_OFFSET, "Building", 2, SC2Race.TERRAN), ItemNames.WAR_PIGS: ItemData(500 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 0, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Mercenary Marines"), + classification=ItemClassification.progression), ItemNames.DEVIL_DOGS: ItemData(501 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 1, SC2Race.TERRAN, - classification=ItemClassification.filler, - description="Mercenary Firebats"), + classification=ItemClassification.filler), ItemNames.HAMMER_SECURITIES: - ItemData(502 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 2, SC2Race.TERRAN, - description="Mercenary Marauders"), + ItemData(502 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 2, SC2Race.TERRAN), ItemNames.SPARTAN_COMPANY: ItemData(503 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 3, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Mercenary Goliaths"), + classification=ItemClassification.progression), ItemNames.SIEGE_BREAKERS: - ItemData(504 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 4, SC2Race.TERRAN, - description="Mercenary Siege Tanks"), + ItemData(504 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 4, SC2Race.TERRAN), ItemNames.HELS_ANGELS: ItemData(505 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 5, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Mercenary Vikings"), + classification=ItemClassification.progression), ItemNames.DUSK_WINGS: - ItemData(506 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 6, SC2Race.TERRAN, - description="Mercenary Banshees"), + ItemData(506 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 6, SC2Race.TERRAN), ItemNames.JACKSONS_REVENGE: - ItemData(507 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 7, SC2Race.TERRAN, - description="Mercenary Battlecruiser"), + ItemData(507 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 7, SC2Race.TERRAN), ItemNames.SKIBIS_ANGELS: ItemData(508 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 8, SC2Race.TERRAN, - origin={"ext"}, - description="Mercenary Medics"), + origin={"ext"}), ItemNames.DEATH_HEADS: ItemData(509 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 9, SC2Race.TERRAN, - origin={"ext"}, - description="Mercenary Reapers"), + origin={"ext"}), ItemNames.WINGED_NIGHTMARES: ItemData(510 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 10, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"ext"}, - description="Mercenary Wraiths"), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.MIDNIGHT_RIDERS: ItemData(511 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 11, SC2Race.TERRAN, - origin={"ext"}, - description="Mercenary Liberators"), + origin={"ext"}), ItemNames.BRYNHILDS: ItemData(512 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 12, SC2Race.TERRAN, - classification=ItemClassification.progression, origin={"ext"}, - description="Mercenary Valkyries"), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.JOTUN: ItemData(513 + SC2WOL_ITEM_ID_OFFSET, "Mercenary", 13, SC2Race.TERRAN, - origin={"ext"}, - description="Mercenary Thor"), + origin={"ext"}), ItemNames.ULTRA_CAPACITORS: - ItemData(600 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 0, SC2Race.TERRAN, - description="Increases attack speed of units by 5% per weapon upgrade."), + ItemData(600 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 0, SC2Race.TERRAN), ItemNames.VANADIUM_PLATING: - ItemData(601 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 1, SC2Race.TERRAN, - description="Increases the life of units by 5% per armor upgrade."), + ItemData(601 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 1, SC2Race.TERRAN), ItemNames.ORBITAL_DEPOTS: - ItemData(602 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 2, SC2Race.TERRAN, - description="Supply depots are built instantly."), + ItemData(602 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 2, SC2Race.TERRAN), ItemNames.MICRO_FILTERING: - ItemData(603 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 3, SC2Race.TERRAN, - description="Refineries produce Vespene gas 25% faster."), + ItemData(603 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 3, SC2Race.TERRAN), ItemNames.AUTOMATED_REFINERY: - ItemData(604 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 4, SC2Race.TERRAN, - description="Eliminates the need for SCVs in vespene gas production."), + ItemData(604 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 4, SC2Race.TERRAN), ItemNames.COMMAND_CENTER_REACTOR: - ItemData(605 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 5, SC2Race.TERRAN, - description="Command Centers can train two SCVs at once."), + ItemData(605 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 5, SC2Race.TERRAN), ItemNames.RAVEN: ItemData(606 + SC2WOL_ITEM_ID_OFFSET, "Unit", 22, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Aerial Caster unit."), + classification=ItemClassification.progression), ItemNames.SCIENCE_VESSEL: ItemData(607 + SC2WOL_ITEM_ID_OFFSET, "Unit", 23, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Aerial Caster unit. Can repair mechanical units."), + classification=ItemClassification.progression), ItemNames.TECH_REACTOR: - ItemData(608 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 6, SC2Race.TERRAN, - description="Merges Tech Labs and Reactors into one add on structure to provide both functions."), + ItemData(608 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 6, SC2Race.TERRAN), ItemNames.ORBITAL_STRIKE: - ItemData(609 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 7, SC2Race.TERRAN, - description="Trained units from Barracks are instantly deployed on rally point."), + ItemData(609 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 7, SC2Race.TERRAN), ItemNames.BUNKER_SHRIKE_TURRET: ItemData(610 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 6, SC2Race.TERRAN, - parent_item=ItemNames.BUNKER, - description="Adds an automated turret to Bunkers."), + parent_item=ItemNames.BUNKER), ItemNames.BUNKER_FORTIFIED_BUNKER: ItemData(611 + SC2WOL_ITEM_ID_OFFSET, "Armory 1", 7, SC2Race.TERRAN, - parent_item=ItemNames.BUNKER, - description="Bunkers have more life."), + parent_item=ItemNames.BUNKER), ItemNames.PLANETARY_FORTRESS: ItemData(612 + SC2WOL_ITEM_ID_OFFSET, "Building", 3, SC2Race.TERRAN, - classification=ItemClassification.progression, - description=inspect.cleandoc( - """ - Allows Command Centers to upgrade into a defensive structure with a turret and additional armor. - Planetary Fortresses cannot Lift Off, or cast Orbital Command spells. - """ - )), + classification=ItemClassification.progression), ItemNames.PERDITION_TURRET: ItemData(613 + SC2WOL_ITEM_ID_OFFSET, "Building", 4, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Automated defensive turret. Burrows down while no enemies are nearby."), + classification=ItemClassification.progression), ItemNames.PREDATOR: ItemData(614 + SC2WOL_ITEM_ID_OFFSET, "Unit", 24, SC2Race.TERRAN, - classification=ItemClassification.filler, - description="Anti-infantry specialist that deals area damage with each attack."), + classification=ItemClassification.filler), ItemNames.HERCULES: ItemData(615 + SC2WOL_ITEM_ID_OFFSET, "Unit", 25, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Massive transport ship."), + classification=ItemClassification.progression), ItemNames.CELLULAR_REACTOR: - ItemData(616 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 8, SC2Race.TERRAN, - description="All Terran spellcasters get +100 starting and maximum energy."), + ItemData(616 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 8, SC2Race.TERRAN), ItemNames.PROGRESSIVE_REGENERATIVE_BIO_STEEL: ItemData(617 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade", 4, SC2Race.TERRAN, quantity=3, - classification= ItemClassification.progression, - description=inspect.cleandoc( - """ - Allows Terran mechanical units to regenerate health while not in combat. - Each level increases life regeneration speed. - """ - )), + classification= ItemClassification.progression), ItemNames.HIVE_MIND_EMULATOR: ItemData(618 + SC2WOL_ITEM_ID_OFFSET, "Building", 5, SC2Race.TERRAN, - ItemClassification.progression, - description="Defensive structure. Can permanently Mind Control Zerg units."), + classification=ItemClassification.progression), ItemNames.PSI_DISRUPTER: ItemData(619 + SC2WOL_ITEM_ID_OFFSET, "Building", 6, SC2Race.TERRAN, - classification=ItemClassification.progression, - description="Defensive structure. Slows the attack and movement speeds of all nearby Zerg units."), + classification=ItemClassification.progression), ItemNames.STRUCTURE_ARMOR: - ItemData(620 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 9, SC2Race.TERRAN, - description="Increases armor of all Terran structures by 2."), + ItemData(620 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 9, SC2Race.TERRAN), ItemNames.HI_SEC_AUTO_TRACKING: - ItemData(621 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 10, SC2Race.TERRAN, - description="Increases attack range of all Terran structures by 1."), + ItemData(621 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 10, SC2Race.TERRAN), ItemNames.ADVANCED_OPTICS: - ItemData(622 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 11, SC2Race.TERRAN, - description="Increases attack range of all Terran mechanical units by 1."), + ItemData(622 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 11, SC2Race.TERRAN), ItemNames.ROGUE_FORCES: - ItemData(623 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 12, SC2Race.TERRAN, - origin={"ext"}, - description="Mercenary calldowns are no longer limited by charges."), + ItemData(623 + SC2WOL_ITEM_ID_OFFSET, "Laboratory", 12, SC2Race.TERRAN, origin={"ext"}), ItemNames.ZEALOT: ItemData(700 + SC2WOL_ITEM_ID_OFFSET, "Unit", 0, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Powerful melee warrior. Can use the charge ability."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.STALKER: ItemData(701 + SC2WOL_ITEM_ID_OFFSET, "Unit", 1, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Ranged attack strider. Can use the Blink ability."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.HIGH_TEMPLAR: ItemData(702 + SC2WOL_ITEM_ID_OFFSET, "Unit", 2, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Potent psionic master. Can use the Feedback and Psionic Storm abilities. Can merge into an Archon."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.DARK_TEMPLAR: ItemData(703 + SC2WOL_ITEM_ID_OFFSET, "Unit", 3, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Deadly warrior-assassin. Permanently cloaked. Can use the Shadow Fury ability."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.IMMORTAL: ItemData(704 + SC2WOL_ITEM_ID_OFFSET, "Unit", 4, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Assault strider. Can use Barrier to absorb damage."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.COLOSSUS: ItemData(705 + SC2WOL_ITEM_ID_OFFSET, "Unit", 5, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Battle strider with a powerful area attack. Can walk up and down cliffs. Attacks set fire to the ground, dealing extra damage to enemies over time."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.PHOENIX: ItemData(706 + SC2WOL_ITEM_ID_OFFSET, "Unit", 6, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Air superiority starfighter. Can use Graviton Beam and Phasing Armor abilities."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.VOID_RAY: ItemData(707 + SC2WOL_ITEM_ID_OFFSET, "Unit", 7, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Surgical strike craft. Has the Prismatic Alignment and Prismatic Range abilities."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), ItemNames.CARRIER: ItemData(708 + SC2WOL_ITEM_ID_OFFSET, "Unit", 8, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"wol", "lotv"}, - description="Capital ship. Builds and launches Interceptors that attack enemy targets. Repair Drones heal nearby mechanical units."), + classification=ItemClassification.progression, origin={"wol", "lotv"}), # Filler items to fill remaining spots ItemNames.STARTING_MINERALS: ItemData(800 + SC2WOL_ITEM_ID_OFFSET, "Minerals", 15, SC2Race.ANY, quantity=0, - classification=ItemClassification.filler, - description="Increases the starting minerals for all missions."), + classification=ItemClassification.filler), ItemNames.STARTING_VESPENE: ItemData(801 + SC2WOL_ITEM_ID_OFFSET, "Vespene", 15, SC2Race.ANY, quantity=0, - classification=ItemClassification.filler, - description="Increases the starting vespene for all missions."), + classification=ItemClassification.filler), ItemNames.STARTING_SUPPLY: ItemData(802 + SC2WOL_ITEM_ID_OFFSET, "Supply", 2, SC2Race.ANY, quantity=0, - classification=ItemClassification.filler, - description="Increases the starting supply for all missions."), + classification=ItemClassification.filler), # This item is used to "remove" location from the game. Never placed unless plando'd ItemNames.NOTHING: ItemData(803 + SC2WOL_ITEM_ID_OFFSET, "Nothing Group", 2, SC2Race.ANY, quantity=0, - classification=ItemClassification.trap, - description="Does nothing. Used to remove a location from the game."), + classification=ItemClassification.trap), # Nova gear ItemNames.NOVA_GHOST_VISOR: - ItemData(900 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 0, SC2Race.TERRAN, origin={"nco"}, - description="Reveals the locations of enemy units in the fog of war around Nova. Can detect cloaked units."), + ItemData(900 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 0, SC2Race.TERRAN, origin={"nco"}), ItemNames.NOVA_RANGEFINDER_OCULUS: - ItemData(901 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 1, SC2Race.TERRAN, origin={"nco"}, - description="Increaases Nova's vision range and non-melee weapon attack range by 2. Also increases range of melee weapons by 1."), + ItemData(901 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 1, SC2Race.TERRAN, origin={"nco"}), ItemNames.NOVA_DOMINATION: ItemData(902 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 2, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to mind-control a target enemy unit."), + classification=ItemClassification.progression), ItemNames.NOVA_BLINK: ItemData(903 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 3, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to teleport a short distance and cloak for 10s."), + classification=ItemClassification.progression), ItemNames.NOVA_PROGRESSIVE_STEALTH_SUIT_MODULE: ItemData(904 + SC2WOL_ITEM_ID_OFFSET, "Progressive Upgrade 2", 0, SC2Race.TERRAN, quantity=2, origin={"nco"}, - classification=ItemClassification.progression, - description=inspect.cleandoc( - """ - Level 1: Gives Nova the ability to cloak. - Level 2: Nova is permanently cloaked. - """ - )), + classification=ItemClassification.progression), ItemNames.NOVA_ENERGY_SUIT_MODULE: - ItemData(905 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 4, SC2Race.TERRAN, origin={"nco"}, - description="Increases Nova's maximum energy and energy regeneration rate."), + ItemData(905 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 4, SC2Race.TERRAN, origin={"nco"}), ItemNames.NOVA_ARMORED_SUIT_MODULE: ItemData(906 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 5, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Increases Nova's health by 100 and armour by 1. Nova also regenerates life quickly out of combat."), + classification=ItemClassification.progression), ItemNames.NOVA_JUMP_SUIT_MODULE: ItemData(907 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 6, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Increases Nova's movement speed and allows her to jump up and down cliffs."), + classification=ItemClassification.progression), ItemNames.NOVA_C20A_CANISTER_RIFLE: ItemData(908 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 7, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Allows Nova to equip the C20A Canister Rifle, which has a ranged attack and allows Nova to cast Snipe."), + classification=ItemClassification.progression), ItemNames.NOVA_HELLFIRE_SHOTGUN: ItemData(909 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 8, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Allows Nova to equip the Hellfire Shotgun, which has a short-range area attack in a cone and allows Nova to cast Penetrating Blast."), + classification=ItemClassification.progression), ItemNames.NOVA_PLASMA_RIFLE: ItemData(910 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 9, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Allows Nova to equip the Plasma Rifle, which has a rapidfire ranged attack and allows Nova to cast Plasma Shot."), + classification=ItemClassification.progression), ItemNames.NOVA_MONOMOLECULAR_BLADE: ItemData(911 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 10, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Allows Nova to equip the Monomolecular Blade, which has a melee attack and allows Nova to cast Dash Attack."), + classification=ItemClassification.progression), ItemNames.NOVA_BLAZEFIRE_GUNBLADE: ItemData(912 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 11, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Allows Nova to equip the Blazefire Gunblade, which has a melee attack and allows Nova to cast Fury of One."), + classification=ItemClassification.progression), ItemNames.NOVA_STIM_INFUSION: ItemData(913 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 12, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to heal herself and temporarily increase her movement and attack speeds."), + classification=ItemClassification.progression), ItemNames.NOVA_PULSE_GRENADES: ItemData(914 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 13, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to throw a grenade dealing large damage in an area."), + classification=ItemClassification.progression), ItemNames.NOVA_FLASHBANG_GRENADES: ItemData(915 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 14, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to throw a grenade to stun enemies and disable detection in a large area."), + classification=ItemClassification.progression), ItemNames.NOVA_IONIC_FORCE_FIELD: ItemData(916 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 15, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to shield herself temporarily."), + classification=ItemClassification.progression), ItemNames.NOVA_HOLO_DECOY: ItemData(917 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 16, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to summon a decoy unit which enemies will prefer to target and takes reduced damage."), + classification=ItemClassification.progression), ItemNames.NOVA_NUKE: ItemData(918 + SC2WOL_ITEM_ID_OFFSET, "Nova Gear", 17, SC2Race.TERRAN, origin={"nco"}, - classification=ItemClassification.progression, - description="Gives Nova the ability to launch tactical nukes built from the Shadow Ops."), + classification=ItemClassification.progression), # HotS ItemNames.ZERGLING: ItemData(0 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 0, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Fast inexpensive melee attacker. Hatches in pairs from a single larva. Can morph into a Baneling."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.SWARM_QUEEN: ItemData(1 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 1, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Ranged support caster. Can use the Spawn Creep Tumor and Rapid Transfusion abilities."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.ROACH: ItemData(2 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 2, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Durable short ranged attacker. Regenerates life quickly when burrowed."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.HYDRALISK: ItemData(3 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 3, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="High-damage generalist ranged attacker."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.ZERGLING_BANELING_ASPECT: ItemData(4 + SC2HOTS_ITEM_ID_OFFSET, "Morph", 5, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Anti-ground suicide unit. Does damage over a small area on death."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.ABERRATION: ItemData(5 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 5, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Durable melee attacker that deals heavy damage and can walk over other units."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.MUTALISK: ItemData(6 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 6, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Fragile flying attacker. Attacks bounce between targets."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.SWARM_HOST: ItemData(7 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 7, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Siege unit that attacks by rooting in place and continually spawning Locusts."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.INFESTOR: ItemData(8 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 8, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Support caster that can move while burrowed. Can use the Fungal Growth, Parasitic Domination, and Consumption abilities."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.ULTRALISK: ItemData(9 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 9, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Massive melee attacker. Has an area-damage cleave attack."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.SPORE_CRAWLER: ItemData(10 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 10, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Anti-air defensive structure that can detect cloaked units."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.SPINE_CRAWLER: ItemData(11 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 11, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"hots"}, - description="Anti-ground defensive structure."), + classification=ItemClassification.progression, origin={"hots"}), ItemNames.CORRUPTOR: ItemData(12 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 12, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"ext"}, - description="Anti-air flying attacker specializing in taking down enemy capital ships."), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.SCOURGE: ItemData(13 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 13, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"bw", "ext"}, - description="Flying anti-air suicide unit. Hatches in pairs from a single larva."), + classification=ItemClassification.progression, origin={"bw", "ext"}), ItemNames.BROOD_QUEEN: ItemData(14 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 4, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"bw", "ext"}, - description="Flying support caster. Can cast the Ocular Symbiote and Spawn Broodlings abilities."), + classification=ItemClassification.progression, origin={"bw", "ext"}), ItemNames.DEFILER: ItemData(15 + SC2HOTS_ITEM_ID_OFFSET, "Unit", 14, SC2Race.ZERG, - classification=ItemClassification.progression, origin={"bw"}, - description="Support caster. Can use the Dark Swarm, Consume, and Plague abilities."), + classification=ItemClassification.progression, origin={"bw"}), ItemNames.PROGRESSIVE_ZERG_MELEE_ATTACK: ItemData(100 + SC2HOTS_ITEM_ID_OFFSET, "Upgrade", 0, SC2Race.ZERG, quantity=3, origin={"hots"}), ItemNames.PROGRESSIVE_ZERG_MISSILE_ATTACK: ItemData(101 + SC2HOTS_ITEM_ID_OFFSET, "Upgrade", 2, SC2Race.ZERG, quantity=3, origin={"hots"}), @@ -1501,142 +949,122 @@ def get_full_item_list(): ItemNames.PROGRESSIVE_ZERG_WEAPON_ARMOR_UPGRADE: ItemData(109 + SC2HOTS_ITEM_ID_OFFSET, "Upgrade", 10, SC2Race.ZERG, quantity=3, origin={"hots"}), ItemNames.ZERGLING_HARDENED_CARAPACE: - ItemData(200 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 0, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, - origin={"hots"}, description="Increases Zergling health by +10."), + ItemData(200 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 0, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, origin={"hots"}), ItemNames.ZERGLING_ADRENAL_OVERLOAD: - ItemData(201 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 1, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, - origin={"hots"}, description="Increases Zergling attack speed."), + ItemData(201 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 1, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, origin={"hots"}), ItemNames.ZERGLING_METABOLIC_BOOST: ItemData(202 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 2, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, - origin={"hots"}, classification=ItemClassification.filler, - description="Increases Zergling movement speed."), + origin={"hots"}, classification=ItemClassification.filler), ItemNames.ROACH_HYDRIODIC_BILE: - ItemData(203 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 3, SC2Race.ZERG, parent_item=ItemNames.ROACH, - origin={"hots"}, description="Roaches deal +8 damage to light targets."), + ItemData(203 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 3, SC2Race.ZERG, parent_item=ItemNames.ROACH, origin={"hots"}), ItemNames.ROACH_ADAPTIVE_PLATING: - ItemData(204 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 4, SC2Race.ZERG, parent_item=ItemNames.ROACH, - origin={"hots"}, description="Roaches gain +3 armour when their life is below 50%."), + ItemData(204 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 4, SC2Race.ZERG, parent_item=ItemNames.ROACH, origin={"hots"}), ItemNames.ROACH_TUNNELING_CLAWS: ItemData(205 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 5, SC2Race.ZERG, parent_item=ItemNames.ROACH, - origin={"hots"}, classification=ItemClassification.filler, - description="Allows Roaches to move while burrowed."), + origin={"hots"}, classification=ItemClassification.filler), ItemNames.HYDRALISK_FRENZY: - ItemData(206 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 6, SC2Race.ZERG, parent_item=ItemNames.HYDRALISK, - origin={"hots"}, - description="Allows Hydralisks to use the Frenzy ability, which increases their attack speed by 50%."), + ItemData(206 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 6, SC2Race.ZERG, parent_item=ItemNames.HYDRALISK, origin={"hots"}), ItemNames.HYDRALISK_ANCILLARY_CARAPACE: ItemData(207 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 7, SC2Race.ZERG, parent_item=ItemNames.HYDRALISK, - origin={"hots"}, classification=ItemClassification.filler, description="Hydralisks gain +20 health."), + origin={"hots"}, classification=ItemClassification.filler), ItemNames.HYDRALISK_GROOVED_SPINES: ItemData(208 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 8, SC2Race.ZERG, parent_item=ItemNames.HYDRALISK, - origin={"hots"}, description="Hydralisks gain +1 range."), + origin={"hots"}), ItemNames.BANELING_CORROSIVE_ACID: ItemData(209 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 9, SC2Race.ZERG, - parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}, - description="Increases the damage banelings deal to their primary target. Splash damage remains the same."), + parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}), ItemNames.BANELING_RUPTURE: ItemData(210 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 10, SC2Race.ZERG, parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}, - classification=ItemClassification.filler, - description="Increases the splash radius of baneling attacks."), + classification=ItemClassification.filler), ItemNames.BANELING_REGENERATIVE_ACID: ItemData(211 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 11, SC2Race.ZERG, parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}, - classification=ItemClassification.filler, - description="Banelings will heal nearby friendly units when they explode."), + classification=ItemClassification.filler), ItemNames.MUTALISK_VICIOUS_GLAIVE: ItemData(212 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 12, SC2Race.ZERG, parent_item=ItemNames.MUTALISK, - origin={"hots"}, description="Mutalisks attacks will bounce an additional 3 times."), + origin={"hots"}), ItemNames.MUTALISK_RAPID_REGENERATION: ItemData(213 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 13, SC2Race.ZERG, parent_item=ItemNames.MUTALISK, - origin={"hots"}, description="Mutalisks will regenerate quickly when out of combat."), + origin={"hots"}), ItemNames.MUTALISK_SUNDERING_GLAIVE: ItemData(214 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 14, SC2Race.ZERG, parent_item=ItemNames.MUTALISK, - origin={"hots"}, description="Mutalisks deal increased damage to their primary target."), + origin={"hots"}), ItemNames.SWARM_HOST_BURROW: ItemData(215 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 15, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"hots"}, classification=ItemClassification.filler, - description="Allows Swarm Hosts to burrow instead of root to spawn locusts."), + origin={"hots"}, classification=ItemClassification.filler), ItemNames.SWARM_HOST_RAPID_INCUBATION: ItemData(216 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 16, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"hots"}, description="Swarm Hosts will spawn locusts 20% faster."), + origin={"hots"}), ItemNames.SWARM_HOST_PRESSURIZED_GLANDS: ItemData(217 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 17, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"hots"}, classification=ItemClassification.progression, - description="Allows Swarm Host Locusts to attack air targets."), + origin={"hots"}, classification=ItemClassification.progression), ItemNames.ULTRALISK_BURROW_CHARGE: ItemData(218 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 18, SC2Race.ZERG, parent_item=ItemNames.ULTRALISK, - origin={"hots"}, - description="Allows Ultralisks to burrow and charge at enemy units, knocking back and stunning units when it emerges."), + origin={"hots"}), ItemNames.ULTRALISK_TISSUE_ASSIMILATION: ItemData(219 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 19, SC2Race.ZERG, parent_item=ItemNames.ULTRALISK, - origin={"hots"}, description="Ultralisks recover health when they deal damage."), + origin={"hots"}), ItemNames.ULTRALISK_MONARCH_BLADES: ItemData(220 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 20, SC2Race.ZERG, parent_item=ItemNames.ULTRALISK, - origin={"hots"}, description="Ultralisks gain increased splash damage."), + origin={"hots"}), ItemNames.CORRUPTOR_CAUSTIC_SPRAY: ItemData(221 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 21, SC2Race.ZERG, parent_item=ItemNames.CORRUPTOR, - origin={"ext"}, - description="Allows Corruptors to use the Caustic Spray ability, which deals ramping damage to buildings over time."), + origin={"ext"}), ItemNames.CORRUPTOR_CORRUPTION: ItemData(222 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 22, SC2Race.ZERG, parent_item=ItemNames.CORRUPTOR, - origin={"ext"}, - description="Allows Corruptors to use the Corruption ability, which causes a target enemy unit to take increased damage."), + origin={"ext"}), ItemNames.SCOURGE_VIRULENT_SPORES: ItemData(223 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 23, SC2Race.ZERG, parent_item=ItemNames.SCOURGE, - origin={"ext"}, description="Scourge will deal splash damage."), + origin={"ext"}), ItemNames.SCOURGE_RESOURCE_EFFICIENCY: ItemData(224 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 24, SC2Race.ZERG, parent_item=ItemNames.SCOURGE, - origin={"ext"}, classification=ItemClassification.progression, - description="Reduces the cost of Scourge by 50 gas per egg."), + origin={"ext"}, classification=ItemClassification.progression), ItemNames.SCOURGE_SWARM_SCOURGE: ItemData(225 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 25, SC2Race.ZERG, parent_item=ItemNames.SCOURGE, - origin={"ext"}, description="An extra Scourge will be built from each egg at no additional cost."), + origin={"ext"}), ItemNames.ZERGLING_SHREDDING_CLAWS: ItemData(226 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 26, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, - origin={"ext"}, description="Zergling attacks will temporarily reduce their target's armour to 0."), + origin={"ext"}), ItemNames.ROACH_GLIAL_RECONSTITUTION: ItemData(227 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 27, SC2Race.ZERG, parent_item=ItemNames.ROACH, - origin={"ext"}, description="Increases Roach movement speed."), + origin={"ext"}), ItemNames.ROACH_ORGANIC_CARAPACE: ItemData(228 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 28, SC2Race.ZERG, parent_item=ItemNames.ROACH, - origin={"ext"}, description="Increases Roach health by +25."), + origin={"ext"}), ItemNames.HYDRALISK_MUSCULAR_AUGMENTS: ItemData(229 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 1", 29, SC2Race.ZERG, parent_item=ItemNames.HYDRALISK, - origin={"bw"}, description="Increases Hydralisk movement speed."), + origin={"bw"}), ItemNames.HYDRALISK_RESOURCE_EFFICIENCY: ItemData(230 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 0, SC2Race.ZERG, parent_item=ItemNames.HYDRALISK, - origin={"bw"}, description="Reduces Hydralisk resource cost by 25/25 and supply cost by 1."), + origin={"bw"}), ItemNames.BANELING_CENTRIFUGAL_HOOKS: ItemData(231 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 1, SC2Race.ZERG, - parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"ext"}, - description="Increases the movement speed of Banelings."), + parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"ext"}), ItemNames.BANELING_TUNNELING_JAWS: ItemData(232 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 2, SC2Race.ZERG, - parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"ext"}, - description="Allows Banelings to move while burrowed."), + parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"ext"}), ItemNames.BANELING_RAPID_METAMORPH: ItemData(233 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 3, SC2Race.ZERG, - parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"ext"}, description="Banelings morph faster."), + parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"ext"}), ItemNames.MUTALISK_SEVERING_GLAIVE: ItemData(234 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 4, SC2Race.ZERG, parent_item=ItemNames.MUTALISK, - origin={"ext"}, description="Mutalisk bounce attacks will deal full damage."), + origin={"ext"}), ItemNames.MUTALISK_AERODYNAMIC_GLAIVE_SHAPE: ItemData(235 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 5, SC2Race.ZERG, parent_item=ItemNames.MUTALISK, - origin={"ext"}, description="Increases the attack range of Mutalisks by 2."), + origin={"ext"}), ItemNames.SWARM_HOST_LOCUST_METABOLIC_BOOST: ItemData(236 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 6, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"ext"}, classification=ItemClassification.filler, - description="Increases Locust movement speed."), + origin={"ext"}, classification=ItemClassification.filler), ItemNames.SWARM_HOST_ENDURING_LOCUSTS: ItemData(237 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 7, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"ext"}, description="Increases the duration of Swarm Hosts' Locusts by 10s."), + origin={"ext"}), ItemNames.SWARM_HOST_ORGANIC_CARAPACE: ItemData(238 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 8, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"ext"}, description="Increases Swarm Host health by +40."), + origin={"ext"}), ItemNames.SWARM_HOST_RESOURCE_EFFICIENCY: ItemData(239 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 9, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"ext"}, description="Reduces Swarm Host resource cost by 100/25."), + origin={"ext"}), ItemNames.ULTRALISK_ANABOLIC_SYNTHESIS: ItemData(240 + SC2HOTS_ITEM_ID_OFFSET, "Mutation 2", 10, SC2Race.ZERG, parent_item=ItemNames.ULTRALISK, origin={"bw"}, classification=ItemClassification.filler), @@ -1753,55 +1181,44 @@ def get_full_item_list(): ItemNames.ZERGLING_RAPTOR_STRAIN: ItemData(300 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 0, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, - origin={"hots"}, - description="Allows Zerglings to jump up and down cliffs and leap onto enemies. Also increases Zergling attack damage by 2."), + origin={"hots"}), ItemNames.ZERGLING_SWARMLING_STRAIN: ItemData(301 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 1, SC2Race.ZERG, parent_item=ItemNames.ZERGLING, - origin={"hots"}, - description="Zerglings will spawn instantly and with an extra Zergling per egg at no additional cost."), + origin={"hots"}), ItemNames.ROACH_VILE_STRAIN: - ItemData(302 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 2, SC2Race.ZERG, parent_item=ItemNames.ROACH, origin={"hots"}, - description="Roach attacks will slow the movement and attack speed of enemies."), + ItemData(302 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 2, SC2Race.ZERG, parent_item=ItemNames.ROACH, origin={"hots"}), ItemNames.ROACH_CORPSER_STRAIN: - ItemData(303 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 3, SC2Race.ZERG, parent_item=ItemNames.ROACH, origin={"hots"}, - description="Units killed after being attacked by Roaches will spawn 2 Roachlings."), + ItemData(303 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 3, SC2Race.ZERG, parent_item=ItemNames.ROACH, origin={"hots"}), ItemNames.HYDRALISK_IMPALER_ASPECT: ItemData(304 + SC2HOTS_ITEM_ID_OFFSET, "Morph", 0, SC2Race.ZERG, origin={"hots"}, - classification=ItemClassification.progression, - description="Allows Hydralisks to morph into Impalers."), + classification=ItemClassification.progression), ItemNames.HYDRALISK_LURKER_ASPECT: ItemData(305 + SC2HOTS_ITEM_ID_OFFSET, "Morph", 1, SC2Race.ZERG, origin={"hots"}, - classification=ItemClassification.progression, description="Allows Hydralisks to morph into Lurkers."), + classification=ItemClassification.progression), ItemNames.BANELING_SPLITTER_STRAIN: ItemData(306 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 6, SC2Race.ZERG, - parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}, - description="Banelings will split into two smaller Splitterlings on exploding."), + parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}), ItemNames.BANELING_HUNTER_STRAIN: ItemData(307 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 7, SC2Race.ZERG, - parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}, - description="Allows Banelings to jump up and down cliffs and leap onto enemies."), + parent_item=ItemNames.ZERGLING_BANELING_ASPECT, origin={"hots"}), ItemNames.MUTALISK_CORRUPTOR_BROOD_LORD_ASPECT: ItemData(308 + SC2HOTS_ITEM_ID_OFFSET, "Morph", 2, SC2Race.ZERG, origin={"hots"}, - classification=ItemClassification.progression, - description="Allows Mutalisks and Corruptors to morph into Brood Lords."), + classification=ItemClassification.progression), ItemNames.MUTALISK_CORRUPTOR_VIPER_ASPECT: ItemData(309 + SC2HOTS_ITEM_ID_OFFSET, "Morph", 3, SC2Race.ZERG, origin={"hots"}, - classification=ItemClassification.progression, - description="Allows Mutalisks and Corruptors to morph into Vipers."), + classification=ItemClassification.progression), ItemNames.SWARM_HOST_CARRION_STRAIN: ItemData(310 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 10, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"hots"}, description="Swarm Hosts will spawn Flying Locusts."), + origin={"hots"}), ItemNames.SWARM_HOST_CREEPER_STRAIN: ItemData(311 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 11, SC2Race.ZERG, parent_item=ItemNames.SWARM_HOST, - origin={"hots"}, classification=ItemClassification.filler, - description="Allows Swarm Hosts to teleport to any creep on the map in vision. Swarm Hosts will spread creep around them when rooted or burrowed."), + origin={"hots"}, classification=ItemClassification.filler), ItemNames.ULTRALISK_NOXIOUS_STRAIN: ItemData(312 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 12, SC2Race.ZERG, parent_item=ItemNames.ULTRALISK, - origin={"hots"}, classification=ItemClassification.filler, - description="Ultralisks will periodically spread poison, damaging nearby biological enemies."), + origin={"hots"}, classification=ItemClassification.filler), ItemNames.ULTRALISK_TORRASQUE_STRAIN: ItemData(313 + SC2HOTS_ITEM_ID_OFFSET, "Strain", 13, SC2Race.ZERG, parent_item=ItemNames.ULTRALISK, - origin={"hots"}, description="Ultralisks will revive after being killed."), + origin={"hots"}), ItemNames.KERRIGAN_KINETIC_BLAST: ItemData(400 + SC2HOTS_ITEM_ID_OFFSET, "Ability", 0, SC2Race.ZERG, origin={"hots"}, classification=ItemClassification.progression), ItemNames.KERRIGAN_HEROIC_FORTITUDE: ItemData(401 + SC2HOTS_ITEM_ID_OFFSET, "Ability", 1, SC2Race.ZERG, origin={"hots"}, classification=ItemClassification.progression), @@ -1857,95 +1274,65 @@ def get_full_item_list(): # Protoss Units (those that aren't as items in WoL (Prophecy)) ItemNames.OBSERVER: ItemData(0 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 9, SC2Race.PROTOSS, - classification=ItemClassification.filler, origin={"wol"}, - description="Flying spy. Cloak renders the unit invisible to enemies without detection."), + classification=ItemClassification.filler, origin={"wol"}), ItemNames.CENTURION: ItemData(1 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 10, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Powerful melee warrior. Has the Shadow Charge and Darkcoil abilities."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.SENTINEL: ItemData(2 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 11, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Powerful melee warrior. Has the Charge and Reconstruction abilities."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.SUPPLICANT: ItemData(3 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 12, SC2Race.PROTOSS, - classification=ItemClassification.filler, important_for_filtering=True, origin={"ext"}, - description="Powerful melee warrior. Has powerful damage resistant shields."), + classification=ItemClassification.filler, important_for_filtering=True, origin={"ext"}), ItemNames.INSTIGATOR: ItemData(4 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 13, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, - description="Ranged support strider. Can store multiple Blink charges."), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.SLAYER: ItemData(5 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 14, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, - description="Ranged attack strider. Can use the Phase Blink and Phasing Armor abilities."), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.SENTRY: ItemData(6 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 15, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Robotic support unit can use the Guardian Shield ability and restore the shields of nearby Protoss units."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.ENERGIZER: ItemData(7 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 16, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Robotic support unit. Can use the Chrono Beam ability and become stationary to power nearby structures."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.HAVOC: ItemData(8 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 17, SC2Race.PROTOSS, - origin={"lotv"}, important_for_filtering=True, - description="Robotic support unit. Can use the Target Lock and Force Field abilities and increase the range of nearby Protoss units."), + origin={"lotv"}, important_for_filtering=True), ItemNames.SIGNIFIER: ItemData(9 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 18, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, - description="Potent permanently cloaked psionic master. Can use the Feedback and Crippling Psionic Storm abilities. Can merge into an Archon."), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.ASCENDANT: ItemData(10 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 19, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Potent psionic master. Can use the Psionic Orb, Mind Blast, and Sacrifice abilities."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.AVENGER: ItemData(11 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 20, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Deadly warrior-assassin. Permanently cloaked. Recalls to the nearest Dark Shrine upon death."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.BLOOD_HUNTER: ItemData(12 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 21, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Deadly warrior-assassin. Permanently cloaked. Can use the Void Stasis ability."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.DRAGOON: ItemData(13 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 22, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Ranged assault strider. Has enhanced health and damage."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.DARK_ARCHON: ItemData(14 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 23, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Potent psionic master. Can use the Confuse and Mind Control abilities."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.ADEPT: ItemData(15 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 24, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Ranged specialist. Can use the Psionic Transfer ability."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.WARP_PRISM: ItemData(16 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 25, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, - description="Flying transport. Can carry units and become stationary to deploy a power field."), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.ANNIHILATOR: ItemData(17 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 26, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Assault Strider. Can use the Shadow Cannon ability to damage air and ground units."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.VANGUARD: ItemData(18 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 27, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Assault Strider. Deals splash damage around the primary target."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.WRATHWALKER: ItemData(19 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 28, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Battle strider with a powerful single target attack. Can walk up and down cliffs."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.REAVER: ItemData(20 + SC2LOTV_ITEM_ID_OFFSET, "Unit", 29, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Area damage siege unit. Builds and launches explosive Scarabs for high burst damage."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.DISRUPTOR: ItemData(21 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 0, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, - description="Robotic disruption unit. Can use the Purification Nova ability to deal heavy area damage."), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.MIRAGE: ItemData(22 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 1, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Air superiority starfighter. Can use Graviton Beam and Phasing Armor abilities."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.CORSAIR: ItemData(23 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 2, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Air superiority starfighter. Can use the Disruption Web ability."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.DESTROYER: ItemData(24 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 3, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Area assault craft. Can use the Destruction Beam ability to attack multiple units at once."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.SCOUT: ItemData(25 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 4, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, - description="Versatile high-speed fighter."), + classification=ItemClassification.progression, origin={"ext"}), ItemNames.TEMPEST: ItemData(26 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 5, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Siege artillery craft. Attacks from long range. Can use the Disintegration ability."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.MOTHERSHIP: ItemData(27 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 6, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Ultimate Protoss vessel, Can use the Vortex and Mass Recall abilities. Cloaks nearby units and structures."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.ARBITER: ItemData(28 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 7, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="Army support craft. Has the Stasis Field and Recall abilities. Cloaks nearby units."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.ORACLE: ItemData(29 + SC2LOTV_ITEM_ID_OFFSET, "Unit 2", 8, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, - description="Flying caster. Can use the Revelation and Stasis Ward abilities."), + classification=ItemClassification.progression, origin={"ext"}), # Protoss Upgrades ItemNames.PROGRESSIVE_PROTOSS_GROUND_WEAPON: ItemData(100 + SC2LOTV_ITEM_ID_OFFSET, "Upgrade", 0, SC2Race.PROTOSS, quantity=3, origin={"wol", "lotv"}), @@ -2001,28 +1388,22 @@ def get_full_item_list(): ItemNames.ARBITER_ENHANCED_CLOAK_FIELD: ItemData(332 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 2, SC2Race.PROTOSS, classification=ItemClassification.filler, origin={"bw"}, parent_item=ItemNames.ARBITER), ItemNames.CARRIER_GRAVITON_CATAPULT: ItemData(333 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 3, SC2Race.PROTOSS, origin={"wol"}, - parent_item=ItemNames.CARRIER, - description="Carriers can launch Interceptors more quickly."), + parent_item=ItemNames.CARRIER), ItemNames.CARRIER_HULL_OF_PAST_GLORIES: ItemData(334 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 4, SC2Race.PROTOSS, origin={"bw"}, - parent_item=ItemNames.CARRIER, - description="Carriers gain +2 armour."), + parent_item=ItemNames.CARRIER), ItemNames.VOID_RAY_DESTROYER_FLUX_VANES: ItemData(335 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 5, SC2Race.PROTOSS, classification=ItemClassification.filler, - origin={"ext"}, - description="Increases Void Ray and Destroyer movement speed."), + origin={"ext"}), ItemNames.DESTROYER_REFORGED_BLOODSHARD_CORE: ItemData(336 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 6, SC2Race.PROTOSS, origin={"ext"}, - parent_item=ItemNames.DESTROYER, - description="When fully charged, the Destroyer's Destruction Beam weapon does full damage to secondary targets."), + parent_item=ItemNames.DESTROYER), ItemNames.WARP_PRISM_GRAVITIC_DRIVE: ItemData(337 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 7, SC2Race.PROTOSS, classification=ItemClassification.filler, - origin={"ext"}, parent_item=ItemNames.WARP_PRISM, - description="Increases the movement speed of Warp Prisms."), + origin={"ext"}, parent_item=ItemNames.WARP_PRISM), ItemNames.WARP_PRISM_PHASE_BLASTER: ItemData(338 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 8, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"ext"}, parent_item=ItemNames.WARP_PRISM, - description="Equips Warp Prisms with an auto-attack that can hit ground and air targets."), + classification=ItemClassification.progression, origin={"ext"}, parent_item=ItemNames.WARP_PRISM), ItemNames.WARP_PRISM_WAR_CONFIGURATION: ItemData(339 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 9, SC2Race.PROTOSS, origin={"ext"}, parent_item=ItemNames.WARP_PRISM), ItemNames.OBSERVER_GRAVITIC_BOOSTERS: ItemData(340 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 10, SC2Race.PROTOSS, classification=ItemClassification.filler, origin={"bw"}, parent_item=ItemNames.OBSERVER), ItemNames.OBSERVER_SENSOR_ARRAY: ItemData(341 + SC2LOTV_ITEM_ID_OFFSET, "Forge 2", 11, SC2Race.PROTOSS, classification=ItemClassification.filler, origin={"bw"}, parent_item=ItemNames.OBSERVER), @@ -2079,45 +1460,32 @@ def get_full_item_list(): # Generic Protoss Upgrades ItemNames.MATRIX_OVERLOAD: - ItemData(800 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 0, SC2Race.PROTOSS, origin={"lotv"}, - description=r"All friendly units gain 25% movement speed and 15% attack speed within a Pylon's power field and for 15 seconds after leaving it."), + ItemData(800 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 0, SC2Race.PROTOSS, origin={"lotv"}), ItemNames.QUATRO: - ItemData(801 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 1, SC2Race.PROTOSS, origin={"ext"}, - description="All friendly Protoss units gain the equivalent of their +1 armour, attack, and shield upgrades."), + ItemData(801 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 1, SC2Race.PROTOSS, origin={"ext"}), ItemNames.NEXUS_OVERCHARGE: - ItemData(802 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 2, SC2Race.PROTOSS, origin={"lotv"}, - important_for_filtering=True, description="The Protoss Nexus gains a long-range auto-attack."), + ItemData(802 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 2, SC2Race.PROTOSS, origin={"lotv"}, important_for_filtering=True), ItemNames.ORBITAL_ASSIMILATORS: - ItemData(803 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 3, SC2Race.PROTOSS, origin={"lotv"}, - description="Assimilators automatically harvest Vespene Gas without the need for Probes."), + ItemData(803 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 3, SC2Race.PROTOSS, origin={"lotv"}), ItemNames.WARP_HARMONIZATION: - ItemData(804 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 4, SC2Race.PROTOSS, origin={"lotv"}, - description=r"Stargates and Robotics Facilities can transform to utilize Warp In technology. Warp In cooldowns are 20% faster than original build times."), + ItemData(804 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 4, SC2Race.PROTOSS, origin={"lotv"}), ItemNames.GUARDIAN_SHELL: - ItemData(805 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 5, SC2Race.PROTOSS, origin={"lotv"}, - description="The Spear of Adun passively shields friendly Protoss units before death, making them invulnerable for 5 seconds. Each unit can only be shielded once every 60 seconds."), + ItemData(805 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 5, SC2Race.PROTOSS, origin={"lotv"}), ItemNames.RECONSTRUCTION_BEAM: ItemData(806 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 6, SC2Race.PROTOSS, - classification=ItemClassification.progression, origin={"lotv"}, - description="The Spear of Adun will passively heal mechanical units for 5 and non-biological structures for 10 life per second. Up to 3 targets can be repaired at once."), + classification=ItemClassification.progression, origin={"lotv"}), ItemNames.OVERWATCH: - ItemData(807 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 7, SC2Race.PROTOSS, origin={"ext"}, - description="Once per second, the Spear of Adun will last-hit a damaged enemy unit that is below 50 health."), + ItemData(807 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 7, SC2Race.PROTOSS, origin={"ext"}), ItemNames.SUPERIOR_WARP_GATES: - ItemData(808 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 8, SC2Race.PROTOSS, origin={"ext"}, - description="Protoss Warp Gates can hold up to 3 charges of unit warp-ins."), + ItemData(808 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 8, SC2Race.PROTOSS, origin={"ext"}), ItemNames.ENHANCED_TARGETING: - ItemData(809 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 9, SC2Race.PROTOSS, origin={"ext"}, - description="Protoss defensive structures gain +2 range."), + ItemData(809 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 9, SC2Race.PROTOSS, origin={"ext"}), ItemNames.OPTIMIZED_ORDNANCE: - ItemData(810 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 10, SC2Race.PROTOSS, origin={"ext"}, - description="Increases the attack speed of Protoss defensive structures by 25%."), + ItemData(810 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 10, SC2Race.PROTOSS, origin={"ext"}), ItemNames.KHALAI_INGENUITY: - ItemData(811 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 11, SC2Race.PROTOSS, origin={"ext"}, - description="Pylons, Photon Cannons, Monoliths, and Shield Batteries warp in near-instantly."), + ItemData(811 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 11, SC2Race.PROTOSS, origin={"ext"}), ItemNames.AMPLIFIED_ASSIMILATORS: - ItemData(812 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 12, SC2Race.PROTOSS, origin={"ext"}, - description=r"Assimilators produce Vespene gas 25% faster."), + ItemData(812 + SC2LOTV_ITEM_ID_OFFSET, "Solarite Core", 12, SC2Race.PROTOSS, origin={"ext"}), } diff --git a/worlds/sc2/test/test_itemdescriptions.py b/worlds/sc2/test/test_itemdescriptions.py new file mode 100644 index 000000000000..6367d27e0fde --- /dev/null +++ b/worlds/sc2/test/test_itemdescriptions.py @@ -0,0 +1,14 @@ +import unittest + +from .. import Items +from .. import ItemDescriptions + +class TestItemDescriptions(unittest.TestCase): + def test_all_items_have_description(self): + for item_name in Items.item_table: + self.assertIn(item_name, ItemDescriptions.item_descriptions) + + def test_all_descriptions_refer_to_item_and_end_in_dot(self): + for item_name, item_desc in ItemDescriptions.item_descriptions.items(): + self.assertIn(item_name, Items.item_table) + self.assertEqual(item_desc.strip()[-1], '.', msg=f"{item_name}'s item description does not end in a '.': '{item_desc}'")