dericktseng / BOG

Build Order Generator discord bot for SC2Replay files
MIT License
1 stars 0 forks source link

Alias certain items to increase readability #2

Closed dericktseng closed 3 years ago

StoicLoofah commented 3 years ago

If you're feeling charitable, we could actually use this in the spawningtool repo.

The constants supports a richer format

https://github.com/StoicLoofah/spawningtool/blob/513d796935d2d444254a8e5281f5aa90f9a4252c/spawningtool/coop_constants.py#L336-L341

but it hasn't gotten fully backported into the lotv constants

https://github.com/StoicLoofah/spawningtool/blob/master/spawningtool/lotv_constants.py#L69-L70

The display_name is probably the only one you care about, but the others would be nice too

If it helps, I actually have the whole mapping in a private repo, so that's reproduced below for your reference.

BUILD_OBJECT_NAMES = {
    'Archon': 'Archon',
    'Armory': 'Armory',
    'Assimilator': 'Assimilator',
    'Baneling': 'Baneling',
    'BanelingCocoon': 'Baneling',
    'BanelingNest': 'Baneling Nest',
    'Banshee': 'Banshee',
    'BansheeCloak': 'Cloaking Field',
    "BansheeSpeed": "Hyperflight Rotors",
    'Barracks': 'Barracks',
    'BarracksFlying': 'Barracks',
    'BarracksReactor': 'Barracks Reactor',
    'BarracksTechLab': 'Barracks Tech Lab',
    'Battlecruiser': 'Battlecruiser',
    'BattlecruiserBehemothReactor': 'Behemoth Reactor',
    'BattlecruiserEnableSpecializations': 'Weapon Refit',
    'BattleHellion': 'Hellbat',
    'BlinkTech': 'Blink',
    'BroodlingEscort': 'Broodling Escort',
    'BroodLord': 'Brood Lord',
    'BroodLordCocoon': 'Brood Lord Cocoon',
    'Bunker': 'Bunker',
    'Burrow': 'Burrow',
    'Carrier': 'Carrier',
    'CarrierLaunchSpeedUpgrade': 'Graviton Catapult',
    'CentrificalHooks': 'Centrifical Hooks',
    'ChangelingZealot': 'Changeling',
    'ChangelingZergling': 'Changeling',
    'ChangelingZerglingWings': 'Changeling',
    'ChangelingMarine': 'Changeling',
    'ChangelingMarineShield': 'Changeling',
    'Charge': 'Charge',
    'ChitinousPlating': 'Chitinous Plating',
    'Colossus': 'Colossus',
    'CommandCenter': 'Command Center',
    'CommandCenterFlying': 'Command Center',
    'Corruptor': 'Corruptor',
    'CreepTumorBurrowed': 'Creep Tumor',
    'CyberneticsCore': 'Cybernetics Core',
    "CycloneLockOnDamageUpgrade": "Mag-Field Accelerator",
    'DarkShrine': 'Dark Shrine',
    'DarkTemplar': 'Dark Templar',
    'DrillClaws': 'Drilling Claws',
    'Drone': 'Drone',
    'DroneBurrowed': 'Drone',
    'DurableMaterials': 'Durable Materials',
    'EngineeringBay': 'Engineering Bay',
    'EvolutionChamber': 'Evolution Chamber',
    'ExtendedThermalLance': 'Extended Thermal Lance',
    'Extractor': 'Extractor',
    'Factory': 'Factory',
    'FactoryFlying': 'Factory',
    'FactoryReactor': 'Factory Reactor',
    'FactoryTechLab': 'Factory Tech Lab',
    'FleetBeacon': 'Fleet Beacon',
    'Forge': 'Forge',
    'FusionCore': 'Fusion Core',
    'Gateway': 'Gateway',
    'Ghost': 'Ghost',
    'GhostAcademy': 'Ghost Academy',
    'GhostMoebiusReactor': 'Moebius Reactor',
    'GlialReconstitution': 'Glial Reconstitution',
    'GraviticDrive': 'Gravitic Drive',
    'GreaterSpire': 'Greater Spire',
    'haltech': 'haltech',
    'Hatchery': 'Hatchery',
    'Hellion': 'Hellion',
    'HighCapacityBarrels': 'Infernal Pre-Igniter',
    'HighTemplar': 'High Templar',
    'HiSecAutoTracking': 'Hi-Sec Auto Tracking',
    'Hive': 'Hive',
    'Hydralisk': 'Hydralisk',
    'HydraliskDen': 'Hydralisk Den',
    'hydraliskspeed': 'Muscular Augments',  # was Grooved Spines in HotS, now Lotv
    'HydraliskSpeedUpgrade': 'Muscular Augments',  # HotS Muscular Augments
    'Immortal': 'Immortal',
    'InfestationPit': 'Infestation Pit',
    'Infestor': 'Infestor',
    'InfestorBurrowed': 'Infestor',
    'InfestorEnergyUpgrade': 'Pathogen Glands',
    'Lair': 'Lair',
    "LiberatorAGRangeUpgrade": "Advanced Ballistics",
    'Locust': 'Locust',
    'LocustLifetimeIncrease': 'Enduring Locusts',
    'MagFieldLaunchers': 'Mag-Field Launchers',
    'Marauder': 'Marauder',
    'Marine': 'Marine',
    'Medivac': 'Medivac',
    'MedivacCaduceusReactor': 'Caduceus Reactor',
    "MedivacIncreaseSpeedBoost": "High Capacity Fuel Tanks",
    'MissileTurret': 'Missile Turret',
    'Mothership': 'Mothership',
    'MothershipCore': 'Mothership Core',
    'Mutalisk': 'Mutalisk',
    'NeosteelFrame': 'Neosteel Frame',
    'NeuralParasite': 'Neural Parasite',
    'Nexus': 'Nexus',
    "Nuke": "Nuke",
    'NydusCanal': 'Nydus Canal',
    'NydusNetwork': 'Nydus Network',
    'Observer': 'Observer',
    'ObserverGraviticBooster': 'Observer Gravitic Boosters',
    'Oracle': 'Oracle',
    'OrbitalCommand': 'Orbital Command',
    'OrbitalCommandFlying': 'Orbital Command',
    'Overlord': 'Overlord',
    'overlordspeed': 'Pneumatized Carapace',
    'overlordtransport': 'Ventral Sacs',
    'Overseer': 'Overseer',
    'PersonalCloaking': 'Personal Cloaking',
    'Phoenix': 'Phoenix',
    'PhoenixRangeUpgrade': 'Anion Pulse-Crystals',
    'PhotonCannon': 'Photon Cannon',
    'PlanetaryFortress': 'Planetary Fortress',
    'Probe': 'Probe',
    'ProtossAirArmorsLevel1': 'Protoss Air Armor Level 1',
    'ProtossAirArmorsLevel2': 'Protoss Air Armor Level 2',
    'ProtossAirArmorsLevel3': 'Protoss Air Armor Level 3',
    'ProtossAirWeaponsLevel1': 'Protoss Air Weapons Level 1',
    'ProtossAirWeaponsLevel2': 'Protoss Air Weapons Level 2',
    'ProtossAirWeaponsLevel3': 'Protoss Air Weapons Level 3',
    'ProtossGroundArmorsLevel1': 'Protoss Ground Armor Level 1',
    'ProtossGroundArmorsLevel2': 'Protoss Ground Armor Level 2',
    'ProtossGroundArmorsLevel3': 'Protoss Ground Armor Level 3',
    'ProtossGroundWeaponsLevel1': 'Protoss Ground Weapons Level 1',
    'ProtossGroundWeaponsLevel2': 'Protoss Ground Weapons Level 2',
    'ProtossGroundWeaponsLevel3': 'Protoss Ground Weapons Level 3',
    'ProtossShieldsLevel1': 'Protoss Shields Level 1',
    'ProtossShieldsLevel2': 'Protoss Shields Level 2',
    'ProtossShieldsLevel3': 'Protoss Shields Level 3',
    'PsiStormTech': 'Psionic Storm',
    'PunisherGrenades': 'Concussive Shells',
    'Pylon': 'Pylon',
    'Queen': 'Queen',
    'QueenBurrowed': 'Queen',
    'Raven': 'Raven',
    'RavenCorvidReactor': 'Corvid Reactor',
    "RavenDamageUpgrade": "Explosive Shrapnel Shells",
    'Reactor': 'Reactor',
    'Reaper': 'Reaper',
    'Refinery': 'Refinery',
    'Roach': 'Roach',
    'RoachBurrowed': 'Roach',
    'RoachWarren': 'Roach Warren',
    'RoboticsBay': 'Robotics Bay',
    'RoboticsFacility': 'Robotics Facility',
    'SCV': 'SCV',
    'SensorTower': 'Sensor Tower',
    'Sentry': 'Sentry',
    'ShieldWall': 'Combat Shield',
    'SiegeTank': 'Siege Tank',
    'SiegeTankSieged': 'Siege Tank',
    'SpawningPool': 'Spawning Pool',
    'SpineCrawler': 'Spine Crawler',
    'SpineCrawlerUprooted': 'Spine Crawler',
    'Spire': 'Spire',
    'SporeCrawler': 'Spore Crawler',
    'SporeCrawlerUprooted': 'Spore Crawler',
    'Stalker': 'Stalker',
    'Stargate': 'Stargate',
    'Starport': 'Starport',
    'StarportFlying': 'Starport',
    'StarportReactor': 'Starport Reactor',
    'StarportTechLab': 'Starport Tech Lab',
    'Stimpack': 'Stimpack',
    'StrikeCannons': '250mm Strike Cannons',
    'SupplyDepot': 'Supply Depot',
    'SupplyDepotLowered': 'Supply Depot',
    'SwarmHost': 'Swarm Host',
    'SwarmHostBurrowed': 'Swarm Host',
    'TechLab': 'Tech Lab',
    'Tempest': 'Tempest',
    'TemplarArchive': 'Templar Archives',
    'TerranBuildingArmor': 'Building Armor',
    'TerranInfantryArmorsLevel1': 'Terran Infantry Armor Level 1',
    'TerranInfantryArmorsLevel2': 'Terran Infantry Armor Level 2',
    'TerranInfantryArmorsLevel3': 'Terran Infantry Armor Level 3',
    'TerranInfantryWeaponsLevel1': 'Terran Infantry Weapons Level 1',
    'TerranInfantryWeaponsLevel2': 'Terran Infantry Weapons Level 2',
    'TerranInfantryWeaponsLevel3': 'Terran Infantry Weapons Level 3',
    'TerranShipArmorsLevel1': 'Terran Ship Armor Level 1',
    'TerranShipArmorsLevel2': 'Terran Ship Armor Level 2',
    'TerranShipArmorsLevel3': 'Terran Ship Armor Level 3',
    'TerranShipWeaponsLevel1': 'Terran Ship Weapons Level 1',
    'TerranShipWeaponsLevel2': 'Terran Ship Weapons Level 2',
    'TerranShipWeaponsLevel3': 'Terran Ship Weapons Level 3',
    'TerranVehicleAndShipWeaponsLevel1': 'Terran Vehicle and Ship Weapons Level 1',
    'TerranVehicleAndShipWeaponsLevel2': 'Terran Vehicle and Ship Weapons Level 2',
    'TerranVehicleAndShipWeaponsLevel3': 'Terran Vehicle and Ship Weapons Level 3',
    'TerranVehicleAndShipArmorsLevel1': 'Terran Vehicle And Ship Armor Level 1',
    'TerranVehicleAndShipArmorsLevel2': 'Terran Vehicle And Ship Armor Level 2',
    'TerranVehicleAndShipArmorsLevel3': 'Terran Vehicle And Ship Armor Level 3',
    'TerranVehicleArmorsLevel1': 'Terran Vehicle Armor Level 1',
    'TerranVehicleArmorsLevel2': 'Terran Vehicle Armor Level 2',
    'TerranVehicleArmorsLevel3': 'Terran Vehicle Armor Level 3',
    'TerranVehicleWeaponsLevel1': 'Terran Vehicle Weapons Level 1',
    'TerranVehicleWeaponsLevel2': 'Terran Vehicle Weapons Level 2',
    'TerranVehicleWeaponsLevel3': 'Terran Vehicle Weapons Level 3',
    'Thor': 'Thor',
    'TransformationServos': 'Transformation Servos',
    'TunnelingClaws': 'Tunneling Claws',
    'TwilightCouncil': 'Twilight Council',
    'Ultralisk': 'Ultralisk',
    'UltraliskCavern': 'Ultralisk Cavern',
    'Viking': 'Viking',
    'VikingAssault': 'Viking',
    'VikingFighter': 'Viking',
    'Viper': 'Viper',
    'VoidRay': 'Void Ray',
    'WarpGate':  'Gateway',  # can't build a WarpGate, but you can kill one
    'WarpGateResearch': 'Warp Gate',
    'WarpPrism': 'Warp Prism',
    'WarpPrismPhasing': 'Warp Prism',
    'WidowMine': 'Widow Mine',
    'WidowMineBurrowed': 'Widow Mine',
    'Zealot': 'Zealot',
    'ZergFlyerArmorsLevel1': 'Zerg Flyer Armor Level 1',
    'ZergFlyerArmorsLevel2': 'Zerg Flyer Armor Level 2',
    'ZergFlyerArmorsLevel3': 'Zerg Flyer Armor Level 3',
    'ZergFlyerWeaponsLevel1': 'Zerg Flyer Weapons Level 1',
    'ZergFlyerWeaponsLevel2': 'Zerg Flyer Weapons Level 2',
    'ZergFlyerWeaponsLevel3': 'Zerg Flyer Weapons Level 3',
    'ZergGroundArmorsLevel1': 'Zerg Ground Armor Level 1',
    'ZergGroundArmorsLevel2': 'Zerg Ground Armor Level 2',
    'ZergGroundArmorsLevel3': 'Zerg Ground Armor Level 3',
    'Zergling': 'Zergling',
    'zerglingattackspeed': 'Adrenal Glands',
    'ZerglingBurrowed': 'Zergling',
    'zerglingmovementspeed': 'Metabolic Boost',
    'ZergMeleeWeaponsLevel1': 'Zerg Melee Weapons Level 1',
    'ZergMeleeWeaponsLevel2': 'Zerg Melee Weapons Level 2',
    'ZergMeleeWeaponsLevel3': 'Zerg Melee Weapons Level 3',
    'ZergMissileWeaponsLevel1': 'Zerg Missile Weapons Level 1',
    'ZergMissileWeaponsLevel2': 'Zerg Missile Weapons Level 2',
    'ZergMissileWeaponsLevel3': 'Zerg Missile Weapons Level 3',
    # LotV alpha mod
    'HERC': 'HERC',
    'ARCGun': 'ARC Gun',
    'TargetingOptics': 'Targeting Optics',
    'HyperflightRotors': 'Hyperflight Rotors',
    'FlyingLocusts': 'Flying Locusts',
    # LotV closed beta
    'Cyclone': 'Cyclone',
    'Adept': 'Adept',
    'RavagerCocoon': 'Ravager',
    'LurkerMPEgg': 'Lurker',
    'LurkerDenMP': 'Lurker Den',
    'LurkerRange': 'Seismic Spines',
    'Disruptor': 'Disruptor',
    'AdeptShieldUpgrade': 'Shield Upgrade',
    'Liberator': 'Liberator',
    # LotV
    'AdeptPiercingAttack': 'Resonating Glaives',
    # Lotv 3.8.0
    'EvolveGroovedSpines': 'Grooved Spines',
    'EvolveMuscularAugments': 'Muscular Augments',
    'RavenRecalibratedExplosives': 'Recalibrated Explosives',
    'DarkTemplarBlinkUpgrade': 'Shadow Stride',
    # LotV 4.0.0
    'RavenEnhancedMunitions': 'Enhanced Munitions',
    'CycloneRapidFireLaunchers': 'Rapid Fire Launchers',
    'SmartServos': 'Smart Servos',
    'ShieldBattery': 'Shield Battery',
    'DiggingClaws': 'Adaptive Talons',
}
dericktseng commented 3 years ago

I can make a pull request to spawningtool once I make the changes. Is adding in the extra keys to the lotv_constants.py file all that is required (e.g. race, type, display_name, is_morph)?

StoicLoofah commented 3 years ago

I think that's all you have to do. I thinkt he display_name is the only important one for your purposes, but it would be nice to have the rest too =)