diff --git a/python-api-src/lib_sc2_typeenums.cpp b/python-api-src/lib_sc2_typeenums.cpp
index 40b993a2ef2e57bc959bf7673cf4fa26b7d4eb2c..9fd2551a7050a2534e1fd430b56d2d09b5914fa8 100644
--- a/python-api-src/lib_sc2_typeenums.cpp
+++ b/python-api-src/lib_sc2_typeenums.cpp
@@ -7,217 +7,1997 @@ namespace py = pybind11;
 void define_typeenums(py::module & m)
 {
     py::enum_<sc2::UNIT_TYPEID>(m, "UNIT_TYPEID")
-        .value("INVALID", sc2::UNIT_TYPEID::INVALID)
-        .value("TERRAN_ARMORY", sc2::UNIT_TYPEID::TERRAN_ARMORY)
-        .value("TERRAN_AUTOTURRET", sc2::UNIT_TYPEID::TERRAN_AUTOTURRET)
-        .value("TERRAN_BANSHEE", sc2::UNIT_TYPEID::TERRAN_BANSHEE)
-        .value("TERRAN_BARRACKS", sc2::UNIT_TYPEID::TERRAN_BARRACKS)
-        .value("TERRAN_BARRACKSFLYING", sc2::UNIT_TYPEID::TERRAN_BARRACKSFLYING)
-        .value("TERRAN_BARRACKSREACTOR", sc2::UNIT_TYPEID::TERRAN_BARRACKSREACTOR)
-        .value("TERRAN_BARRACKSTECHLAB", sc2::UNIT_TYPEID::TERRAN_BARRACKSTECHLAB)
-        .value("TERRAN_BATTLECRUISER", sc2::UNIT_TYPEID::TERRAN_BATTLECRUISER)
-        .value("TERRAN_BUNKER", sc2::UNIT_TYPEID::TERRAN_BUNKER)
-        .value("TERRAN_COMMANDCENTER", sc2::UNIT_TYPEID::TERRAN_COMMANDCENTER)
-        .value("TERRAN_COMMANDCENTERFLYING", sc2::UNIT_TYPEID::TERRAN_COMMANDCENTERFLYING)
-        .value("TERRAN_CYCLONE", sc2::UNIT_TYPEID::TERRAN_CYCLONE)
-        .value("TERRAN_ENGINEERINGBAY", sc2::UNIT_TYPEID::TERRAN_ENGINEERINGBAY)
-        .value("TERRAN_FACTORY", sc2::UNIT_TYPEID::TERRAN_FACTORY)
-        .value("TERRAN_FACTORYFLYING", sc2::UNIT_TYPEID::TERRAN_FACTORYFLYING)
-        .value("TERRAN_FACTORYREACTOR", sc2::UNIT_TYPEID::TERRAN_FACTORYREACTOR)
-        .value("TERRAN_FACTORYTECHLAB", sc2::UNIT_TYPEID::TERRAN_FACTORYTECHLAB)
-        .value("TERRAN_FUSIONCORE", sc2::UNIT_TYPEID::TERRAN_FUSIONCORE)
-        .value("TERRAN_GHOST", sc2::UNIT_TYPEID::TERRAN_GHOST)
-        .value("TERRAN_GHOSTACADEMY", sc2::UNIT_TYPEID::TERRAN_GHOSTACADEMY)
-        .value("TERRAN_HELLION", sc2::UNIT_TYPEID::TERRAN_HELLION)
-        .value("TERRAN_HELLIONTANK", sc2::UNIT_TYPEID::TERRAN_HELLIONTANK)
-        .value("TERRAN_LIBERATOR", sc2::UNIT_TYPEID::TERRAN_LIBERATOR)
-        .value("TERRAN_LIBERATORAG", sc2::UNIT_TYPEID::TERRAN_LIBERATORAG)
-        .value("TERRAN_MARAUDER", sc2::UNIT_TYPEID::TERRAN_MARAUDER)
-        .value("TERRAN_MARINE", sc2::UNIT_TYPEID::TERRAN_MARINE)
-        .value("TERRAN_MEDIVAC", sc2::UNIT_TYPEID::TERRAN_MEDIVAC)
-        .value("TERRAN_MISSILETURRET", sc2::UNIT_TYPEID::TERRAN_MISSILETURRET)
-        .value("TERRAN_MULE", sc2::UNIT_TYPEID::TERRAN_MULE)
-        .value("TERRAN_ORBITALCOMMAND", sc2::UNIT_TYPEID::TERRAN_ORBITALCOMMAND)
-        .value("TERRAN_ORBITALCOMMANDFLYING", sc2::UNIT_TYPEID::TERRAN_ORBITALCOMMANDFLYING)
-        .value("TERRAN_PLANETARYFORTRESS", sc2::UNIT_TYPEID::TERRAN_PLANETARYFORTRESS)
-        .value("TERRAN_RAVEN", sc2::UNIT_TYPEID::TERRAN_RAVEN)
-        .value("TERRAN_REAPER", sc2::UNIT_TYPEID::TERRAN_REAPER)
-        .value("TERRAN_REFINERY", sc2::UNIT_TYPEID::TERRAN_REFINERY)
-        .value("TERRAN_SCV", sc2::UNIT_TYPEID::TERRAN_SCV)
-        .value("TERRAN_SENSORTOWER", sc2::UNIT_TYPEID::TERRAN_SENSORTOWER)
-        .value("TERRAN_SIEGETANK", sc2::UNIT_TYPEID::TERRAN_SIEGETANK)
-        .value("TERRAN_SIEGETANKSIEGED", sc2::UNIT_TYPEID::TERRAN_SIEGETANKSIEGED)
-        .value("TERRAN_STARPORT", sc2::UNIT_TYPEID::TERRAN_STARPORT)
-        .value("TERRAN_STARPORTFLYING", sc2::UNIT_TYPEID::TERRAN_STARPORTFLYING)
-        .value("TERRAN_STARPORTREACTOR", sc2::UNIT_TYPEID::TERRAN_STARPORTREACTOR)
-        .value("TERRAN_STARPORTTECHLAB", sc2::UNIT_TYPEID::TERRAN_STARPORTTECHLAB)
-        .value("TERRAN_SUPPLYDEPOT", sc2::UNIT_TYPEID::TERRAN_SUPPLYDEPOT)
-        .value("TERRAN_SUPPLYDEPOTLOWERED", sc2::UNIT_TYPEID::TERRAN_SUPPLYDEPOTLOWERED)
-        .value("TERRAN_THOR", sc2::UNIT_TYPEID::TERRAN_THOR)
-        .value("TERRAN_THORAP", sc2::UNIT_TYPEID::TERRAN_THORAP)
-        .value("TERRAN_VIKINGASSAULT", sc2::UNIT_TYPEID::TERRAN_VIKINGASSAULT)
-        .value("TERRAN_VIKINGFIGHTER", sc2::UNIT_TYPEID::TERRAN_VIKINGFIGHTER)
-        .value("TERRAN_WIDOWMINE", sc2::UNIT_TYPEID::TERRAN_WIDOWMINE)
-        .value("TERRAN_WIDOWMINEBURROWED", sc2::UNIT_TYPEID::TERRAN_WIDOWMINEBURROWED)
-        .value("TERRAN_KD8CHARGE", sc2::UNIT_TYPEID::TERRAN_KD8CHARGE)
-        .value("TERRAN_NUKE", sc2::UNIT_TYPEID::TERRAN_NUKE)
-        .value("TERRAN_POINTDEFENSEDRONE", sc2::UNIT_TYPEID::TERRAN_POINTDEFENSEDRONE)
-        .value("TERRAN_REACTOR", sc2::UNIT_TYPEID::TERRAN_REACTOR)
-        .value("TERRAN_TECHLAB", sc2::UNIT_TYPEID::TERRAN_TECHLAB)
-        .value("ZERG_BANELING", sc2::UNIT_TYPEID::ZERG_BANELING)
-        .value("ZERG_BANELINGBURROWED", sc2::UNIT_TYPEID::ZERG_BANELINGBURROWED)
-        .value("ZERG_BANELINGCOCOON", sc2::UNIT_TYPEID::ZERG_BANELINGCOCOON)
-        .value("ZERG_BANELINGNEST", sc2::UNIT_TYPEID::ZERG_BANELINGNEST)
-        .value("ZERG_BROODLING", sc2::UNIT_TYPEID::ZERG_BROODLING)
-        .value("ZERG_BROODLORD", sc2::UNIT_TYPEID::ZERG_BROODLORD)
-        .value("ZERG_BROODLORDCOCOON", sc2::UNIT_TYPEID::ZERG_BROODLORDCOCOON)
-        .value("ZERG_CHANGELING", sc2::UNIT_TYPEID::ZERG_CHANGELING)
-        .value("ZERG_CHANGELINGMARINE", sc2::UNIT_TYPEID::ZERG_CHANGELINGMARINE)
-        .value("ZERG_CHANGELINGMARINESHIELD", sc2::UNIT_TYPEID::ZERG_CHANGELINGMARINESHIELD)
-        .value("ZERG_CHANGELINGZEALOT", sc2::UNIT_TYPEID::ZERG_CHANGELINGZEALOT)
-        .value("ZERG_CHANGELINGZERGLING", sc2::UNIT_TYPEID::ZERG_CHANGELINGZERGLING)
-        .value("ZERG_CHANGELINGZERGLINGWINGS", sc2::UNIT_TYPEID::ZERG_CHANGELINGZERGLINGWINGS)
-        .value("ZERG_CORRUPTOR", sc2::UNIT_TYPEID::ZERG_CORRUPTOR)
-        .value("ZERG_CREEPTUMOR", sc2::UNIT_TYPEID::ZERG_CREEPTUMOR)
-        .value("ZERG_CREEPTUMORBURROWED", sc2::UNIT_TYPEID::ZERG_CREEPTUMORBURROWED)
-        .value("ZERG_CREEPTUMORQUEEN", sc2::UNIT_TYPEID::ZERG_CREEPTUMORQUEEN)
-        .value("ZERG_DRONE", sc2::UNIT_TYPEID::ZERG_DRONE)
-        .value("ZERG_DRONEBURROWED", sc2::UNIT_TYPEID::ZERG_DRONEBURROWED)
-        .value("ZERG_EGG", sc2::UNIT_TYPEID::ZERG_EGG)
-        .value("ZERG_EVOLUTIONCHAMBER", sc2::UNIT_TYPEID::ZERG_EVOLUTIONCHAMBER)
-        .value("ZERG_EXTRACTOR", sc2::UNIT_TYPEID::ZERG_EXTRACTOR)
-        .value("ZERG_GREATERSPIRE", sc2::UNIT_TYPEID::ZERG_GREATERSPIRE)
-        .value("ZERG_HATCHERY", sc2::UNIT_TYPEID::ZERG_HATCHERY)
-        .value("ZERG_HIVE", sc2::UNIT_TYPEID::ZERG_HIVE)
-        .value("ZERG_HYDRALISK", sc2::UNIT_TYPEID::ZERG_HYDRALISK)
-        .value("ZERG_HYDRALISKBURROWED", sc2::UNIT_TYPEID::ZERG_HYDRALISKBURROWED)
-        .value("ZERG_HYDRALISKDEN", sc2::UNIT_TYPEID::ZERG_HYDRALISKDEN)
-        .value("ZERG_INFESTATIONPIT", sc2::UNIT_TYPEID::ZERG_INFESTATIONPIT)
-        .value("ZERG_INFESTEDTERRANSEGG", sc2::UNIT_TYPEID::ZERG_INFESTEDTERRANSEGG)
-        .value("ZERG_INFESTOR", sc2::UNIT_TYPEID::ZERG_INFESTOR)
-        .value("ZERG_INFESTORBURROWED", sc2::UNIT_TYPEID::ZERG_INFESTORBURROWED)
-        .value("ZERG_INFESTORTERRAN", sc2::UNIT_TYPEID::ZERG_INFESTORTERRAN)
-        .value("ZERG_LAIR", sc2::UNIT_TYPEID::ZERG_LAIR)
-        .value("ZERG_LARVA", sc2::UNIT_TYPEID::ZERG_LARVA)
-        .value("ZERG_LOCUSTMP", sc2::UNIT_TYPEID::ZERG_LOCUSTMP)
-        .value("ZERG_LOCUSTMPFLYING", sc2::UNIT_TYPEID::ZERG_LOCUSTMPFLYING)
-        .value("ZERG_LURKERDENMP", sc2::UNIT_TYPEID::ZERG_LURKERDENMP)
-        .value("ZERG_LURKERMP", sc2::UNIT_TYPEID::ZERG_LURKERMP)
-        .value("ZERG_LURKERMPBURROWED", sc2::UNIT_TYPEID::ZERG_LURKERMPBURROWED)
-        .value("ZERG_LURKERMPEGG", sc2::UNIT_TYPEID::ZERG_LURKERMPEGG)
-        .value("ZERG_MUTALISK", sc2::UNIT_TYPEID::ZERG_MUTALISK)
-        .value("ZERG_NYDUSCANAL", sc2::UNIT_TYPEID::ZERG_NYDUSCANAL)
-        .value("ZERG_NYDUSNETWORK", sc2::UNIT_TYPEID::ZERG_NYDUSNETWORK)
-        .value("ZERG_OVERLORD", sc2::UNIT_TYPEID::ZERG_OVERLORD)
-        .value("ZERG_OVERLORDCOCOON", sc2::UNIT_TYPEID::ZERG_OVERLORDCOCOON)
-        .value("ZERG_OVERLORDTRANSPORT", sc2::UNIT_TYPEID::ZERG_OVERLORDTRANSPORT)
-        .value("ZERG_OVERSEER", sc2::UNIT_TYPEID::ZERG_OVERSEER)
-        .value("ZERG_QUEEN", sc2::UNIT_TYPEID::ZERG_QUEEN)
-        .value("ZERG_QUEENBURROWED", sc2::UNIT_TYPEID::ZERG_QUEENBURROWED)
-        .value("ZERG_RAVAGER", sc2::UNIT_TYPEID::ZERG_RAVAGER)
-        .value("ZERG_RAVAGERCOCOON", sc2::UNIT_TYPEID::ZERG_RAVAGERCOCOON)
-        .value("ZERG_ROACH", sc2::UNIT_TYPEID::ZERG_ROACH)
-        .value("ZERG_ROACHBURROWED", sc2::UNIT_TYPEID::ZERG_ROACHBURROWED)
-        .value("ZERG_ROACHWARREN", sc2::UNIT_TYPEID::ZERG_ROACHWARREN)
-        .value("ZERG_SPAWNINGPOOL", sc2::UNIT_TYPEID::ZERG_SPAWNINGPOOL)
-        .value("ZERG_SPINECRAWLER", sc2::UNIT_TYPEID::ZERG_SPINECRAWLER)
-        .value("ZERG_SPINECRAWLERUPROOTED", sc2::UNIT_TYPEID::ZERG_SPINECRAWLERUPROOTED)
-        .value("ZERG_SPIRE", sc2::UNIT_TYPEID::ZERG_SPIRE)
-        .value("ZERG_SPORECRAWLER", sc2::UNIT_TYPEID::ZERG_SPORECRAWLER)
-        .value("ZERG_SPORECRAWLERUPROOTED", sc2::UNIT_TYPEID::ZERG_SPORECRAWLERUPROOTED)
-        .value("ZERG_SWARMHOSTBURROWEDMP", sc2::UNIT_TYPEID::ZERG_SWARMHOSTBURROWEDMP)
-        .value("ZERG_SWARMHOSTMP", sc2::UNIT_TYPEID::ZERG_SWARMHOSTMP)
-        .value("ZERG_TRANSPORTOVERLORDCOCOON", sc2::UNIT_TYPEID::ZERG_TRANSPORTOVERLORDCOCOON)
-        .value("ZERG_ULTRALISK", sc2::UNIT_TYPEID::ZERG_ULTRALISK)
-        .value("ZERG_ULTRALISKCAVERN", sc2::UNIT_TYPEID::ZERG_ULTRALISKCAVERN)
-        .value("ZERG_VIPER", sc2::UNIT_TYPEID::ZERG_VIPER)
-        .value("ZERG_ZERGLING", sc2::UNIT_TYPEID::ZERG_ZERGLING)
-        .value("ZERG_ZERGLINGBURROWED", sc2::UNIT_TYPEID::ZERG_ZERGLINGBURROWED)
-        .value("ZERG_PARASITICBOMBDUMMY", sc2::UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY)
-        .value("PROTOSS_ADEPT", sc2::UNIT_TYPEID::PROTOSS_ADEPT)
-        .value("PROTOSS_ADEPTPHASESHIFT", sc2::UNIT_TYPEID::PROTOSS_ADEPTPHASESHIFT)
-        .value("PROTOSS_ARCHON", sc2::UNIT_TYPEID::PROTOSS_ARCHON)
-        .value("PROTOSS_ASSIMILATOR", sc2::UNIT_TYPEID::PROTOSS_ASSIMILATOR)
-        .value("PROTOSS_CARRIER", sc2::UNIT_TYPEID::PROTOSS_CARRIER)
-        .value("PROTOSS_COLOSSUS", sc2::UNIT_TYPEID::PROTOSS_COLOSSUS)
-        .value("PROTOSS_CYBERNETICSCORE", sc2::UNIT_TYPEID::PROTOSS_CYBERNETICSCORE)
-        .value("PROTOSS_DARKSHRINE", sc2::UNIT_TYPEID::PROTOSS_DARKSHRINE)
-        .value("PROTOSS_DARKTEMPLAR", sc2::UNIT_TYPEID::PROTOSS_DARKTEMPLAR)
-        .value("PROTOSS_DISRUPTOR", sc2::UNIT_TYPEID::PROTOSS_DISRUPTOR)
-        .value("PROTOSS_DISRUPTORPHASED", sc2::UNIT_TYPEID::PROTOSS_DISRUPTORPHASED)
-        .value("PROTOSS_FLEETBEACON", sc2::UNIT_TYPEID::PROTOSS_FLEETBEACON)
-        .value("PROTOSS_FORGE", sc2::UNIT_TYPEID::PROTOSS_FORGE)
-        .value("PROTOSS_GATEWAY", sc2::UNIT_TYPEID::PROTOSS_GATEWAY)
-        .value("PROTOSS_HIGHTEMPLAR", sc2::UNIT_TYPEID::PROTOSS_HIGHTEMPLAR)
-        .value("PROTOSS_IMMORTAL", sc2::UNIT_TYPEID::PROTOSS_IMMORTAL)
-        .value("PROTOSS_INTERCEPTOR", sc2::UNIT_TYPEID::PROTOSS_INTERCEPTOR)
-        .value("PROTOSS_MOTHERSHIP", sc2::UNIT_TYPEID::PROTOSS_MOTHERSHIP)
-        .value("PROTOSS_MOTHERSHIPCORE", sc2::UNIT_TYPEID::PROTOSS_MOTHERSHIPCORE)
-        .value("PROTOSS_NEXUS", sc2::UNIT_TYPEID::PROTOSS_NEXUS)
-        .value("PROTOSS_OBSERVER", sc2::UNIT_TYPEID::PROTOSS_OBSERVER)
-        .value("PROTOSS_ORACLE", sc2::UNIT_TYPEID::PROTOSS_ORACLE)
-        .value("PROTOSS_ORACLESTASISTRAP", sc2::UNIT_TYPEID::PROTOSS_ORACLESTASISTRAP)
-        .value("PROTOSS_PHOENIX", sc2::UNIT_TYPEID::PROTOSS_PHOENIX)
-        .value("PROTOSS_PHOTONCANNON", sc2::UNIT_TYPEID::PROTOSS_PHOTONCANNON)
-        .value("PROTOSS_PROBE", sc2::UNIT_TYPEID::PROTOSS_PROBE)
-        .value("PROTOSS_PYLON", sc2::UNIT_TYPEID::PROTOSS_PYLON)
-        .value("PROTOSS_PYLONOVERCHARGED", sc2::UNIT_TYPEID::PROTOSS_PYLONOVERCHARGED)
-        .value("PROTOSS_ROBOTICSBAY", sc2::UNIT_TYPEID::PROTOSS_ROBOTICSBAY)
-        .value("PROTOSS_ROBOTICSFACILITY", sc2::UNIT_TYPEID::PROTOSS_ROBOTICSFACILITY)
-        .value("PROTOSS_SENTRY", sc2::UNIT_TYPEID::PROTOSS_SENTRY)
-        .value("PROTOSS_SHIELDBATTERY", sc2::UNIT_TYPEID::PROTOSS_SHIELDBATTERY)
-        .value("PROTOSS_STALKER", sc2::UNIT_TYPEID::PROTOSS_STALKER)
-        .value("PROTOSS_STARGATE", sc2::UNIT_TYPEID::PROTOSS_STARGATE)
-        .value("PROTOSS_TEMPEST", sc2::UNIT_TYPEID::PROTOSS_TEMPEST)
-        .value("PROTOSS_TEMPLARARCHIVE", sc2::UNIT_TYPEID::PROTOSS_TEMPLARARCHIVE)
-        .value("PROTOSS_TWILIGHTCOUNCIL", sc2::UNIT_TYPEID::PROTOSS_TWILIGHTCOUNCIL)
-        .value("PROTOSS_VOIDRAY", sc2::UNIT_TYPEID::PROTOSS_VOIDRAY)
-        .value("PROTOSS_WARPGATE", sc2::UNIT_TYPEID::PROTOSS_WARPGATE)
-        .value("PROTOSS_WARPPRISM", sc2::UNIT_TYPEID::PROTOSS_WARPPRISM)
-        .value("PROTOSS_WARPPRISMPHASING", sc2::UNIT_TYPEID::PROTOSS_WARPPRISMPHASING)
-        .value("PROTOSS_ZEALOT", sc2::UNIT_TYPEID::PROTOSS_ZEALOT)
-        .value("NEUTRAL_BATTLESTATIONMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_BATTLESTATIONMINERALFIELD)
-        .value("NEUTRAL_BATTLESTATIONMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_BATTLESTATIONMINERALFIELD750)
-        .value("NEUTRAL_COLLAPSIBLEROCKTOWERDEBRIS", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLEROCKTOWERDEBRIS)
-        .value("NEUTRAL_COLLAPSIBLEROCKTOWERDIAGONAL", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLEROCKTOWERDIAGONAL)
-        .value("NEUTRAL_COLLAPSIBLEROCKTOWERPUSHUNIT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLEROCKTOWERPUSHUNIT)
-        .value("NEUTRAL_COLLAPSIBLETERRANTOWERDEBRIS", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERDEBRIS)
-        .value("NEUTRAL_COLLAPSIBLETERRANTOWERDIAGONAL", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERDIAGONAL)
-        .value("NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNIT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNIT)
-        .value("NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPLEFT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPLEFT)
-        .value("NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPRIGHT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPRIGHT)
-        .value("NEUTRAL_COLLAPSIBLETERRANTOWERRAMPLEFT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERRAMPLEFT)
-        .value("NEUTRAL_COLLAPSIBLETERRANTOWERRAMPRIGHT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERRAMPRIGHT)
-        .value("NEUTRAL_DEBRISRAMPLEFT", sc2::UNIT_TYPEID::NEUTRAL_DEBRISRAMPLEFT)
-        .value("NEUTRAL_DEBRISRAMPRIGHT", sc2::UNIT_TYPEID::NEUTRAL_DEBRISRAMPRIGHT)
-        .value("NEUTRAL_DESTRUCTIBLEDEBRIS6X6", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEDEBRIS6X6)
-        .value("NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEBLUR", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEBLUR)
-        .value("NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEULBR", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEULBR)
-        .value("NEUTRAL_DESTRUCTIBLEROCK6X6", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEROCK6X6)
-        .value("NEUTRAL_DESTRUCTIBLEROCKEX1DIAGONALHUGEBLUR", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEROCKEX1DIAGONALHUGEBLUR)
-        .value("NEUTRAL_FORCEFIELD", sc2::UNIT_TYPEID::NEUTRAL_FORCEFIELD)
-        .value("NEUTRAL_KARAKFEMALE", sc2::UNIT_TYPEID::NEUTRAL_KARAKFEMALE)
-        .value("NEUTRAL_LABMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_LABMINERALFIELD)
-        .value("NEUTRAL_LABMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_LABMINERALFIELD750)
-        .value("NEUTRAL_MINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_MINERALFIELD)
-        .value("NEUTRAL_MINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_MINERALFIELD750)
-        .value("NEUTRAL_PROTOSSVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_PROTOSSVESPENEGEYSER)
-        .value("NEUTRAL_PURIFIERMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERMINERALFIELD)
-        .value("NEUTRAL_PURIFIERMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERMINERALFIELD750)
-        .value("NEUTRAL_PURIFIERRICHMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERRICHMINERALFIELD)
-        .value("NEUTRAL_PURIFIERRICHMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERRICHMINERALFIELD750)
-        .value("NEUTRAL_PURIFIERVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERVESPENEGEYSER)
-        .value("NEUTRAL_RICHMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_RICHMINERALFIELD)
-        .value("NEUTRAL_RICHMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_RICHMINERALFIELD750)
-        .value("NEUTRAL_RICHVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_RICHVESPENEGEYSER)
-        .value("NEUTRAL_SCANTIPEDE", sc2::UNIT_TYPEID::NEUTRAL_SCANTIPEDE)
-        .value("NEUTRAL_SHAKURASVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_SHAKURASVESPENEGEYSER)
-        .value("NEUTRAL_SPACEPLATFORMGEYSER", sc2::UNIT_TYPEID::NEUTRAL_SPACEPLATFORMGEYSER)
-        .value("NEUTRAL_UNBUILDABLEBRICKSDESTRUCTIBLE", sc2::UNIT_TYPEID::NEUTRAL_UNBUILDABLEBRICKSDESTRUCTIBLE)
-        .value("NEUTRAL_UNBUILDABLEPLATESDESTRUCTIBLE", sc2::UNIT_TYPEID::NEUTRAL_UNBUILDABLEPLATESDESTRUCTIBLE)
-        .value("NEUTRAL_UTILITYBOT", sc2::UNIT_TYPEID::NEUTRAL_UTILITYBOT)
-        .value("NEUTRAL_VESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_VESPENEGEYSER)
-        .value("NEUTRAL_XELNAGATOWER", sc2::UNIT_TYPEID::NEUTRAL_XELNAGATOWER)
+		.value("ABANDONEDBUILDING", sc2::UNIT_TYPEID::ABANDONEDBUILDING)
+		.value("ABERRATIONACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ABERRATIONACGLUESCREENDUMMY)
+		.value("ACCELERATIONZONEFLYINGLARGE", sc2::UNIT_TYPEID::ACCELERATIONZONEFLYINGLARGE)
+		.value("ACCELERATIONZONEFLYINGMEDIUM", sc2::UNIT_TYPEID::ACCELERATIONZONEFLYINGMEDIUM)
+		.value("ACCELERATIONZONEFLYINGSMALL", sc2::UNIT_TYPEID::ACCELERATIONZONEFLYINGSMALL)
+		.value("ACCELERATIONZONELARGE", sc2::UNIT_TYPEID::ACCELERATIONZONELARGE)
+		.value("ACCELERATIONZONEMEDIUM", sc2::UNIT_TYPEID::ACCELERATIONZONEMEDIUM)
+		.value("ACCELERATIONZONESMALL", sc2::UNIT_TYPEID::ACCELERATIONZONESMALL)
+		.value("ACIDSALIVAWEAPON", sc2::UNIT_TYPEID::ACIDSALIVAWEAPON)
+		.value("ACIDSPINESWEAPON", sc2::UNIT_TYPEID::ACIDSPINESWEAPON)
+		.value("ADEPTFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ADEPTFENIXACGLUESCREENDUMMY)
+		.value("ADEPTPIERCINGWEAPON", sc2::UNIT_TYPEID::ADEPTPIERCINGWEAPON)
+		.value("ADEPTUPGRADEWEAPON", sc2::UNIT_TYPEID::ADEPTUPGRADEWEAPON)
+		.value("ADEPTWEAPON", sc2::UNIT_TYPEID::ADEPTWEAPON)
+		.value("ADJUTANTCAPSULE", sc2::UNIT_TYPEID::ADJUTANTCAPSULE)
+		.value("AIURLIGHTBRIDGEABANDONEDNE10", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNE10)
+		.value("AIURLIGHTBRIDGEABANDONEDNE10OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNE10OUT)
+		.value("AIURLIGHTBRIDGEABANDONEDNE12", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNE12)
+		.value("AIURLIGHTBRIDGEABANDONEDNE12OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNE12OUT)
+		.value("AIURLIGHTBRIDGEABANDONEDNE8", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNE8)
+		.value("AIURLIGHTBRIDGEABANDONEDNE8OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNE8OUT)
+		.value("AIURLIGHTBRIDGEABANDONEDNW10", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNW10)
+		.value("AIURLIGHTBRIDGEABANDONEDNW10OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNW10OUT)
+		.value("AIURLIGHTBRIDGEABANDONEDNW12", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNW12)
+		.value("AIURLIGHTBRIDGEABANDONEDNW12OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNW12OUT)
+		.value("AIURLIGHTBRIDGEABANDONEDNW8", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNW8)
+		.value("AIURLIGHTBRIDGEABANDONEDNW8OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGEABANDONEDNW8OUT)
+		.value("AIURLIGHTBRIDGENE10", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENE10)
+		.value("AIURLIGHTBRIDGENE10OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENE10OUT)
+		.value("AIURLIGHTBRIDGENE12", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENE12)
+		.value("AIURLIGHTBRIDGENE12OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENE12OUT)
+		.value("AIURLIGHTBRIDGENE8", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENE8)
+		.value("AIURLIGHTBRIDGENE8OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENE8OUT)
+		.value("AIURLIGHTBRIDGENW10", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENW10)
+		.value("AIURLIGHTBRIDGENW10OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENW10OUT)
+		.value("AIURLIGHTBRIDGENW12", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENW12)
+		.value("AIURLIGHTBRIDGENW12OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENW12OUT)
+		.value("AIURLIGHTBRIDGENW8", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENW8)
+		.value("AIURLIGHTBRIDGENW8OUT", sc2::UNIT_TYPEID::AIURLIGHTBRIDGENW8OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLENE10OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLENE10OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLENE12OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLENE12OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLENE8OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLENE8OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLENW10OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLENW10OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLENW12OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLENW12OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLENW8OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLENW8OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLESE10OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLESE10OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLESE12OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLESE12OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLESE8OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLESE8OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLESW10OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLESW10OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLESW12OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLESW12OUT)
+		.value("AIURTEMPLEBRIDGEDESTRUCTIBLESW8OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGEDESTRUCTIBLESW8OUT)
+		.value("AIURTEMPLEBRIDGENE10OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGENE10OUT)
+		.value("AIURTEMPLEBRIDGENE12OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGENE12OUT)
+		.value("AIURTEMPLEBRIDGENE8OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGENE8OUT)
+		.value("AIURTEMPLEBRIDGENW10OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGENW10OUT)
+		.value("AIURTEMPLEBRIDGENW12OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGENW12OUT)
+		.value("AIURTEMPLEBRIDGENW8OUT", sc2::UNIT_TYPEID::AIURTEMPLEBRIDGENW8OUT)
+		.value("ANTEPLOTT", sc2::UNIT_TYPEID::ANTEPLOTT)
+		.value("ARBITERMP", sc2::UNIT_TYPEID::ARBITERMP)
+		.value("ARBITERMPWEAPONMISSILE", sc2::UNIT_TYPEID::ARBITERMPWEAPONMISSILE)
+		.value("ARCHIVE", sc2::UNIT_TYPEID::ARCHIVE)
+		.value("ARCHIVESEALED", sc2::UNIT_TYPEID::ARCHIVESEALED)
+		.value("ARCHONACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ARCHONACGLUESCREENDUMMY)
+		.value("ARTANIS", sc2::UNIT_TYPEID::ARTANIS)
+		.value("ARTIFACT", sc2::UNIT_TYPEID::ARTIFACT)
+		.value("ARTIFACTPIECE1", sc2::UNIT_TYPEID::ARTIFACTPIECE1)
+		.value("ARTIFACTPIECE2", sc2::UNIT_TYPEID::ARTIFACTPIECE2)
+		.value("ARTIFACTPIECE3", sc2::UNIT_TYPEID::ARTIFACTPIECE3)
+		.value("ARTIFACTPIECE4", sc2::UNIT_TYPEID::ARTIFACTPIECE4)
+		.value("ARTIFACTPIECE5", sc2::UNIT_TYPEID::ARTIFACTPIECE5)
+		.value("ARTIFACTVAULT", sc2::UNIT_TYPEID::ARTIFACTVAULT)
+		.value("ARTILLERYMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ARTILLERYMENGSKACGLUESCREENDUMMY)
+		.value("ARTOSILOPE", sc2::UNIT_TYPEID::ARTOSILOPE)
+		.value("ATALASERBATTERYLMWEAPON", sc2::UNIT_TYPEID::ATALASERBATTERYLMWEAPON)
+		.value("ATSLASERBATTERYLMWEAPON", sc2::UNIT_TYPEID::ATSLASERBATTERYLMWEAPON)
+		.value("AUTOMATEDREFINERY", sc2::UNIT_TYPEID::AUTOMATEDREFINERY)
+		.value("AUTOTESTATTACKER", sc2::UNIT_TYPEID::AUTOTESTATTACKER)
+		.value("AUTOTESTATTACKTARGETAIR", sc2::UNIT_TYPEID::AUTOTESTATTACKTARGETAIR)
+		.value("AUTOTESTATTACKTARGETGROUND", sc2::UNIT_TYPEID::AUTOTESTATTACKTARGETGROUND)
+		.value("AUTOTURRETRELEASEWEAPON", sc2::UNIT_TYPEID::AUTOTURRETRELEASEWEAPON)
+		.value("AVERNUSGATECONTROL", sc2::UNIT_TYPEID::AVERNUSGATECONTROL)
+		.value("BACKLASHROCKETSLMWEAPON", sc2::UNIT_TYPEID::BACKLASHROCKETSLMWEAPON)
+		.value("BALL", sc2::UNIT_TYPEID::BALL)
+		.value("BANELINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BANELINGACGLUESCREENDUMMY)
+		.value("BANSHEEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BANSHEEACGLUESCREENDUMMY)
+		.value("BARRACKSTECHREACTOR", sc2::UNIT_TYPEID::BARRACKSTECHREACTOR)
+		.value("BATTLECRUISERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BATTLECRUISERACGLUESCREENDUMMY)
+		.value("BATTLECRUISERHELIOS", sc2::UNIT_TYPEID::BATTLECRUISERHELIOS)
+		.value("BATTLECRUISERHELIOSALMWEAPON", sc2::UNIT_TYPEID::BATTLECRUISERHELIOSALMWEAPON)
+		.value("BATTLECRUISERHELIOSGLMWEAPON", sc2::UNIT_TYPEID::BATTLECRUISERHELIOSGLMWEAPON)
+		.value("BATTLECRUISERHELIOSMORPH", sc2::UNIT_TYPEID::BATTLECRUISERHELIOSMORPH)
+		.value("BATTLECRUISERLOKILMWEAPON", sc2::UNIT_TYPEID::BATTLECRUISERLOKILMWEAPON)
+		.value("BATTLECRUISERMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BATTLECRUISERMENGSKACGLUESCREENDUMMY)
+		.value("BEACONARMY", sc2::UNIT_TYPEID::BEACONARMY)
+		.value("BEACONATTACK", sc2::UNIT_TYPEID::BEACONATTACK)
+		.value("BEACONAUTO", sc2::UNIT_TYPEID::BEACONAUTO)
+		.value("BEACONCLAIM", sc2::UNIT_TYPEID::BEACONCLAIM)
+		.value("BEACONCUSTOM1", sc2::UNIT_TYPEID::BEACONCUSTOM1)
+		.value("BEACONCUSTOM2", sc2::UNIT_TYPEID::BEACONCUSTOM2)
+		.value("BEACONCUSTOM3", sc2::UNIT_TYPEID::BEACONCUSTOM3)
+		.value("BEACONCUSTOM4", sc2::UNIT_TYPEID::BEACONCUSTOM4)
+		.value("BEACONDEFEND", sc2::UNIT_TYPEID::BEACONDEFEND)
+		.value("BEACONDETECT", sc2::UNIT_TYPEID::BEACONDETECT)
+		.value("BEACONEXPAND", sc2::UNIT_TYPEID::BEACONEXPAND)
+		.value("BEACONHARASS", sc2::UNIT_TYPEID::BEACONHARASS)
+		.value("BEACONIDLE", sc2::UNIT_TYPEID::BEACONIDLE)
+		.value("BEACONRALLY", sc2::UNIT_TYPEID::BEACONRALLY)
+		.value("BEACONSCOUT", sc2::UNIT_TYPEID::BEACONSCOUT)
+		.value("BEACON_NOVA", sc2::UNIT_TYPEID::BEACON_NOVA)
+		.value("BEACON_NOVASMALL", sc2::UNIT_TYPEID::BEACON_NOVASMALL)
+		.value("BEACON_PROTOSS", sc2::UNIT_TYPEID::BEACON_PROTOSS)
+		.value("BEACON_PROTOSSSMALL", sc2::UNIT_TYPEID::BEACON_PROTOSSSMALL)
+		.value("BEACON_TERRAN", sc2::UNIT_TYPEID::BEACON_TERRAN)
+		.value("BEACON_TERRANSMALL", sc2::UNIT_TYPEID::BEACON_TERRANSMALL)
+		.value("BEACON_ZERG", sc2::UNIT_TYPEID::BEACON_ZERG)
+		.value("BEACON_ZERGSMALL", sc2::UNIT_TYPEID::BEACON_ZERGSMALL)
+		.value("BILELAUNCHERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BILELAUNCHERACGLUESCREENDUMMY)
+		.value("BIODOME", sc2::UNIT_TYPEID::BIODOME)
+		.value("BIODOMECOMMAND", sc2::UNIT_TYPEID::BIODOMECOMMAND)
+		.value("BIODOMECOMMANDFLYING", sc2::UNIT_TYPEID::BIODOMECOMMANDFLYING)
+		.value("BIODOMEHALFBUILT", sc2::UNIT_TYPEID::BIODOMEHALFBUILT)
+		.value("BIOPLASMIDDISCHARGEWEAPON", sc2::UNIT_TYPEID::BIOPLASMIDDISCHARGEWEAPON)
+		.value("BIOSTASISMISSILE", sc2::UNIT_TYPEID::BIOSTASISMISSILE)
+		.value("BLACKOPSMISSILETURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BLACKOPSMISSILETURRETACGLUESCREENDUMMY)
+		.value("BLASTERBILLYACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BLASTERBILLYACGLUESCREENDUMMY)
+		.value("BLIMP", sc2::UNIT_TYPEID::BLIMP)
+		.value("BLIMPADS", sc2::UNIT_TYPEID::BLIMPADS)
+		.value("BLIMPMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BLIMPMENGSKACGLUESCREENDUMMY)
+		.value("BLOCKER16X16", sc2::UNIT_TYPEID::BLOCKER16X16)
+		.value("BLOCKER4X4", sc2::UNIT_TYPEID::BLOCKER4X4)
+		.value("BLOCKER6X6", sc2::UNIT_TYPEID::BLOCKER6X6)
+		.value("BLOCKER8X8", sc2::UNIT_TYPEID::BLOCKER8X8)
+		.value("BRAXISALPHADESTRUCTIBLE1X1", sc2::UNIT_TYPEID::BRAXISALPHADESTRUCTIBLE1X1)
+		.value("BRAXISALPHADESTRUCTIBLE2X2", sc2::UNIT_TYPEID::BRAXISALPHADESTRUCTIBLE2X2)
+		.value("BREACHINGCHARGE", sc2::UNIT_TYPEID::BREACHINGCHARGE)
+		.value("BRIDGEBLOCKER4X12", sc2::UNIT_TYPEID::BRIDGEBLOCKER4X12)
+		.value("BROODLINGESCORT", sc2::UNIT_TYPEID::BROODLINGESCORT)
+		.value("BROODLORDACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BROODLORDACGLUESCREENDUMMY)
+		.value("BROODLORDAWEAPON", sc2::UNIT_TYPEID::BROODLORDAWEAPON)
+		.value("BROODLORDBWEAPON", sc2::UNIT_TYPEID::BROODLORDBWEAPON)
+		.value("BROODLORDEGG", sc2::UNIT_TYPEID::BROODLORDEGG)
+		.value("BROODLORDEGGMISSILE", sc2::UNIT_TYPEID::BROODLORDEGGMISSILE)
+		.value("BROODLORDWEAPON", sc2::UNIT_TYPEID::BROODLORDWEAPON)
+		.value("BRUTALISK", sc2::UNIT_TYPEID::BRUTALISK)
+		.value("BRUTALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BRUTALISKACGLUESCREENDUMMY)
+		.value("BRUTALISKWEAPON", sc2::UNIT_TYPEID::BRUTALISKWEAPON)
+		.value("BUBBACOMMERCIAL", sc2::UNIT_TYPEID::BUBBACOMMERCIAL)
+		.value("BUNKERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BUNKERACGLUESCREENDUMMY)
+		.value("BUNKERDEPOTMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BUNKERDEPOTMENGSKACGLUESCREENDUMMY)
+		.value("BUNKERUPGRADEDACGLUESCREENDUMMY", sc2::UNIT_TYPEID::BUNKERUPGRADEDACGLUESCREENDUMMY)
+		.value("BYPASSARMORDRONE", sc2::UNIT_TYPEID::BYPASSARMORDRONE)
+		.value("CABOOSE", sc2::UNIT_TYPEID::CABOOSE)
+		.value("CARGOTRUCKUNITBARRELS", sc2::UNIT_TYPEID::CARGOTRUCKUNITBARRELS)
+		.value("CARGOTRUCKUNITFLATBED", sc2::UNIT_TYPEID::CARGOTRUCKUNITFLATBED)
+		.value("CARGOTRUCKUNITTRAILER", sc2::UNIT_TYPEID::CARGOTRUCKUNITTRAILER)
+		.value("CARRIERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::CARRIERACGLUESCREENDUMMY)
+		.value("CARRIERAIURACGLUESCREENDUMMY", sc2::UNIT_TYPEID::CARRIERAIURACGLUESCREENDUMMY)
+		.value("CARRIERFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::CARRIERFENIXACGLUESCREENDUMMY)
+		.value("CARRIONBIRD", sc2::UNIT_TYPEID::CARRIONBIRD)
+		.value("CASTANARDESTRUCTIBLEDEBRIS", sc2::UNIT_TYPEID::CASTANARDESTRUCTIBLEDEBRIS)
+		.value("CASTANARULTRALISKSHACKLEDUNIT", sc2::UNIT_TYPEID::CASTANARULTRALISKSHACKLEDUNIT)
+		.value("CASTANARWINDOWLARGEDIAGONALBLURUNIT", sc2::UNIT_TYPEID::CASTANARWINDOWLARGEDIAGONALBLURUNIT)
+		.value("CASTANARWINDOWLARGEDIAGONALULBRUNIT", sc2::UNIT_TYPEID::CASTANARWINDOWLARGEDIAGONALULBRUNIT)
+		.value("CAUSTICSPRAYMISSILE", sc2::UNIT_TYPEID::CAUSTICSPRAYMISSILE)
+		.value("CELLBLOCKB", sc2::UNIT_TYPEID::CELLBLOCKB)
+		.value("CHARDESTRUCTIBLEROCKCOVER", sc2::UNIT_TYPEID::CHARDESTRUCTIBLEROCKCOVER)
+		.value("CHARDESTRUCTIBLEROCKCOVERULDR", sc2::UNIT_TYPEID::CHARDESTRUCTIBLEROCKCOVERULDR)
+		.value("CHARDESTRUCTIBLEROCKCOVERURDL", sc2::UNIT_TYPEID::CHARDESTRUCTIBLEROCKCOVERURDL)
+		.value("CHARDESTRUCTIBLEROCKCOVERV", sc2::UNIT_TYPEID::CHARDESTRUCTIBLEROCKCOVERV)
+		.value("CHECKSTATION", sc2::UNIT_TYPEID::CHECKSTATION)
+		.value("CHECKSTATIONDIAGONALBLUR", sc2::UNIT_TYPEID::CHECKSTATIONDIAGONALBLUR)
+		.value("CHECKSTATIONDIAGONALBLUROPENED", sc2::UNIT_TYPEID::CHECKSTATIONDIAGONALBLUROPENED)
+		.value("CHECKSTATIONDIAGONALULBR", sc2::UNIT_TYPEID::CHECKSTATIONDIAGONALULBR)
+		.value("CHECKSTATIONDIAGONALULBROPENED", sc2::UNIT_TYPEID::CHECKSTATIONDIAGONALULBROPENED)
+		.value("CHECKSTATIONOPENED", sc2::UNIT_TYPEID::CHECKSTATIONOPENED)
+		.value("CHECKSTATIONVERTICAL", sc2::UNIT_TYPEID::CHECKSTATIONVERTICAL)
+		.value("CHECKSTATIONVERTICALOPENED", sc2::UNIT_TYPEID::CHECKSTATIONVERTICALOPENED)
+		.value("CHRYSALISEGG", sc2::UNIT_TYPEID::CHRYSALISEGG)
+		.value("CIVILIAN", sc2::UNIT_TYPEID::CIVILIAN)
+		.value("CIVILIANCARSUNIT", sc2::UNIT_TYPEID::CIVILIANCARSUNIT)
+		.value("CIVILIANFEMALE", sc2::UNIT_TYPEID::CIVILIANFEMALE)
+		.value("CIVILIANSHIPWRECKED", sc2::UNIT_TYPEID::CIVILIANSHIPWRECKED)
+		.value("CIVILIANWEAPON", sc2::UNIT_TYPEID::CIVILIANWEAPON)
+		.value("CLEANINGBOT", sc2::UNIT_TYPEID::CLEANINGBOT)
+		.value("COLLAPSIBLEPURIFIERTOWERDEBRIS", sc2::UNIT_TYPEID::COLLAPSIBLEPURIFIERTOWERDEBRIS)
+		.value("COLLAPSIBLEPURIFIERTOWERDIAGONAL", sc2::UNIT_TYPEID::COLLAPSIBLEPURIFIERTOWERDIAGONAL)
+		.value("COLLAPSIBLEPURIFIERTOWERPUSHUNIT", sc2::UNIT_TYPEID::COLLAPSIBLEPURIFIERTOWERPUSHUNIT)
+		.value("COLLAPSIBLEROCKTOWER", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWER)
+		.value("COLLAPSIBLEROCKTOWERDEBRISRAMPLEFT", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERDEBRISRAMPLEFT)
+		.value("COLLAPSIBLEROCKTOWERDEBRISRAMPLEFTGREEN", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERDEBRISRAMPLEFTGREEN)
+		.value("COLLAPSIBLEROCKTOWERDEBRISRAMPRIGHT", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERDEBRISRAMPRIGHT)
+		.value("COLLAPSIBLEROCKTOWERDEBRISRAMPRIGHTGREEN", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERDEBRISRAMPRIGHTGREEN)
+		.value("COLLAPSIBLEROCKTOWERPUSHUNITRAMPLEFT", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERPUSHUNITRAMPLEFT)
+		.value("COLLAPSIBLEROCKTOWERPUSHUNITRAMPLEFTGREEN", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERPUSHUNITRAMPLEFTGREEN)
+		.value("COLLAPSIBLEROCKTOWERPUSHUNITRAMPRIGHT", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERPUSHUNITRAMPRIGHT)
+		.value("COLLAPSIBLEROCKTOWERPUSHUNITRAMPRIGHTGREEN", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERPUSHUNITRAMPRIGHTGREEN)
+		.value("COLLAPSIBLEROCKTOWERRAMPLEFT", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERRAMPLEFT)
+		.value("COLLAPSIBLEROCKTOWERRAMPLEFTGREEN", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERRAMPLEFTGREEN)
+		.value("COLLAPSIBLEROCKTOWERRAMPRIGHT", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERRAMPRIGHT)
+		.value("COLLAPSIBLEROCKTOWERRAMPRIGHTGREEN", sc2::UNIT_TYPEID::COLLAPSIBLEROCKTOWERRAMPRIGHTGREEN)
+		.value("COLLAPSIBLETERRANTOWER", sc2::UNIT_TYPEID::COLLAPSIBLETERRANTOWER)
+		.value("COLONIST", sc2::UNIT_TYPEID::COLONIST)
+		.value("COLONISTBIODOME", sc2::UNIT_TYPEID::COLONISTBIODOME)
+		.value("COLONISTBIODOMEHALFBUILT", sc2::UNIT_TYPEID::COLONISTBIODOMEHALFBUILT)
+		.value("COLONISTFEMALE", sc2::UNIT_TYPEID::COLONISTFEMALE)
+		.value("COLONISTHUT", sc2::UNIT_TYPEID::COLONISTHUT)
+		.value("COLONISTSHIP", sc2::UNIT_TYPEID::COLONISTSHIP)
+		.value("COLONISTSHIPFLYING", sc2::UNIT_TYPEID::COLONISTSHIPFLYING)
+		.value("COLONISTSHIPTHANSON02A", sc2::UNIT_TYPEID::COLONISTSHIPTHANSON02A)
+		.value("COLONISTTRANSPORT", sc2::UNIT_TYPEID::COLONISTTRANSPORT)
+		.value("COLONISTVEHICLEUNIT", sc2::UNIT_TYPEID::COLONISTVEHICLEUNIT)
+		.value("COLONISTVEHICLEUNIT01", sc2::UNIT_TYPEID::COLONISTVEHICLEUNIT01)
+		.value("COLONYINFESTATIONWEAPON", sc2::UNIT_TYPEID::COLONYINFESTATIONWEAPON)
+		.value("COLOSSUSACGLUESCREENDUMMY", sc2::UNIT_TYPEID::COLOSSUSACGLUESCREENDUMMY)
+		.value("COLOSSUSFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::COLOSSUSFENIXACGLUESCREENDUMMY)
+		.value("COLOSSUSPURIFIERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::COLOSSUSPURIFIERACGLUESCREENDUMMY)
+		.value("COLOSSUSTALDARIMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::COLOSSUSTALDARIMACGLUESCREENDUMMY)
+		.value("COMMENTATORBOT1", sc2::UNIT_TYPEID::COMMENTATORBOT1)
+		.value("COMMENTATORBOT2", sc2::UNIT_TYPEID::COMMENTATORBOT2)
+		.value("COMMENTATORBOT3", sc2::UNIT_TYPEID::COMMENTATORBOT3)
+		.value("COMMENTATORBOT4", sc2::UNIT_TYPEID::COMMENTATORBOT4)
+		.value("COMPOUNDMANSION_DOORE", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORE)
+		.value("COMPOUNDMANSION_DOORELOWERED", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORELOWERED)
+		.value("COMPOUNDMANSION_DOORN", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORN)
+		.value("COMPOUNDMANSION_DOORNE", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORNE)
+		.value("COMPOUNDMANSION_DOORNELOWERED", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORNELOWERED)
+		.value("COMPOUNDMANSION_DOORNLOWERED", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORNLOWERED)
+		.value("COMPOUNDMANSION_DOORNW", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORNW)
+		.value("COMPOUNDMANSION_DOORNWLOWERED", sc2::UNIT_TYPEID::COMPOUNDMANSION_DOORNWLOWERED)
+		.value("CONSUMEDNAFEEDBACKWEAPON", sc2::UNIT_TYPEID::CONSUMEDNAFEEDBACKWEAPON)
+		.value("CONTAMINATEWEAPON", sc2::UNIT_TYPEID::CONTAMINATEWEAPON)
+		.value("CORROSIVEPARASITEWEAPON", sc2::UNIT_TYPEID::CORROSIVEPARASITEWEAPON)
+		.value("CORRUPTIONWEAPON", sc2::UNIT_TYPEID::CORRUPTIONWEAPON)
+		.value("CORRUPTORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::CORRUPTORACGLUESCREENDUMMY)
+		.value("CORSAIRACGLUESCREENDUMMY", sc2::UNIT_TYPEID::CORSAIRACGLUESCREENDUMMY)
+		.value("CORSAIRMP", sc2::UNIT_TYPEID::CORSAIRMP)
+		.value("COVERTBANSHEEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::COVERTBANSHEEACGLUESCREENDUMMY)
+		.value("COW", sc2::UNIT_TYPEID::COW)
+		.value("CRABEETLE", sc2::UNIT_TYPEID::CRABEETLE)
+		.value("CREEPBLOCKER1X1", sc2::UNIT_TYPEID::CREEPBLOCKER1X1)
+		.value("CREEPBLOCKER4X4", sc2::UNIT_TYPEID::CREEPBLOCKER4X4)
+		.value("CREEPERHOSTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::CREEPERHOSTACGLUESCREENDUMMY)
+		.value("CREEPONLYBLOCKER4X4", sc2::UNIT_TYPEID::CREEPONLYBLOCKER4X4)
+		.value("CREEPTUMORMISSILE", sc2::UNIT_TYPEID::CREEPTUMORMISSILE)
+		.value("CRUISERBIKE", sc2::UNIT_TYPEID::CRUISERBIKE)
+		.value("CYCLONEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::CYCLONEACGLUESCREENDUMMY)
+		.value("CYCLONEMISSILE", sc2::UNIT_TYPEID::CYCLONEMISSILE)
+		.value("CYCLONEMISSILELARGE", sc2::UNIT_TYPEID::CYCLONEMISSILELARGE)
+		.value("CYCLONEMISSILELARGEAIR", sc2::UNIT_TYPEID::CYCLONEMISSILELARGEAIR)
+		.value("CYCLONEMISSILELARGEAIRALTERNATIVE", sc2::UNIT_TYPEID::CYCLONEMISSILELARGEAIRALTERNATIVE)
+		.value("D8CHARGE", sc2::UNIT_TYPEID::D8CHARGE)
+		.value("D8CHARGEWEAPON", sc2::UNIT_TYPEID::D8CHARGEWEAPON)
+		.value("D8CLUSTERBOMB", sc2::UNIT_TYPEID::D8CLUSTERBOMB)
+		.value("D8CLUSTERBOMBWEAPON", sc2::UNIT_TYPEID::D8CLUSTERBOMBWEAPON)
+		.value("DARKARCHONACGLUESCREENDUMMY", sc2::UNIT_TYPEID::DARKARCHONACGLUESCREENDUMMY)
+		.value("DARKPYLONACGLUESCREENDUMMY", sc2::UNIT_TYPEID::DARKPYLONACGLUESCREENDUMMY)
+		.value("DARKTEMPLARSHAKURASACGLUESCREENDUMMY", sc2::UNIT_TYPEID::DARKTEMPLARSHAKURASACGLUESCREENDUMMY)
+		.value("DATACORE", sc2::UNIT_TYPEID::DATACORE)
+		.value("DEBRIS2X2NONCONJOINED", sc2::UNIT_TYPEID::DEBRIS2X2NONCONJOINED)
+		.value("DEFENSEWALLE", sc2::UNIT_TYPEID::DEFENSEWALLE)
+		.value("DEFENSEWALLN", sc2::UNIT_TYPEID::DEFENSEWALLN)
+		.value("DEFENSEWALLNE", sc2::UNIT_TYPEID::DEFENSEWALLNE)
+		.value("DEFENSEWALLNW", sc2::UNIT_TYPEID::DEFENSEWALLNW)
+		.value("DEFENSEWALLS", sc2::UNIT_TYPEID::DEFENSEWALLS)
+		.value("DEFENSEWALLSE", sc2::UNIT_TYPEID::DEFENSEWALLSE)
+		.value("DEFENSEWALLSW", sc2::UNIT_TYPEID::DEFENSEWALLSW)
+		.value("DEFENSEWALLW", sc2::UNIT_TYPEID::DEFENSEWALLW)
+		.value("DEFILERBONESAMPLE", sc2::UNIT_TYPEID::DEFILERBONESAMPLE)
+		.value("DEFILERMP", sc2::UNIT_TYPEID::DEFILERMP)
+		.value("DEFILERMPBURROWED", sc2::UNIT_TYPEID::DEFILERMPBURROWED)
+		.value("DEFILERMPDARKSWARMWEAPON", sc2::UNIT_TYPEID::DEFILERMPDARKSWARMWEAPON)
+		.value("DEFILERMPPLAGUEWEAPON", sc2::UNIT_TYPEID::DEFILERMPPLAGUEWEAPON)
+		.value("DESERTPLANETSEARCHLIGHT", sc2::UNIT_TYPEID::DESERTPLANETSEARCHLIGHT)
+		.value("DESERTPLANETSTREETLIGHT", sc2::UNIT_TYPEID::DESERTPLANETSTREETLIGHT)
+		.value("DESTRUCTIBLEBILLBOARDSCROLLINGTEXT", sc2::UNIT_TYPEID::DESTRUCTIBLEBILLBOARDSCROLLINGTEXT)
+		.value("DESTRUCTIBLEBILLBOARDTALL", sc2::UNIT_TYPEID::DESTRUCTIBLEBILLBOARDTALL)
+		.value("DESTRUCTIBLEBULLHORNLIGHTS", sc2::UNIT_TYPEID::DESTRUCTIBLEBULLHORNLIGHTS)
+		.value("DESTRUCTIBLECITYDEBRIS2X4HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLECITYDEBRIS2X4HORIZONTAL)
+		.value("DESTRUCTIBLECITYDEBRIS2X4VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLECITYDEBRIS2X4VERTICAL)
+		.value("DESTRUCTIBLECITYDEBRIS2X6HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLECITYDEBRIS2X6HORIZONTAL)
+		.value("DESTRUCTIBLECITYDEBRIS2X6VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLECITYDEBRIS2X6VERTICAL)
+		.value("DESTRUCTIBLECITYDEBRIS4X4", sc2::UNIT_TYPEID::DESTRUCTIBLECITYDEBRIS4X4)
+		.value("DESTRUCTIBLECITYDEBRISHUGEDIAGONALBLUR", sc2::UNIT_TYPEID::DESTRUCTIBLECITYDEBRISHUGEDIAGONALBLUR)
+		.value("DESTRUCTIBLECITYDEBRISHUGEDIAGONALULBR", sc2::UNIT_TYPEID::DESTRUCTIBLECITYDEBRISHUGEDIAGONALULBR)
+		.value("DESTRUCTIBLEDEBRIS4X4", sc2::UNIT_TYPEID::DESTRUCTIBLEDEBRIS4X4)
+		.value("DESTRUCTIBLEEXPEDITIONGATE6X6", sc2::UNIT_TYPEID::DESTRUCTIBLEEXPEDITIONGATE6X6)
+		.value("DESTRUCTIBLEGARAGE", sc2::UNIT_TYPEID::DESTRUCTIBLEGARAGE)
+		.value("DESTRUCTIBLEGARAGELARGE", sc2::UNIT_TYPEID::DESTRUCTIBLEGARAGELARGE)
+		.value("DESTRUCTIBLEGATEDIAGONALBLUR", sc2::UNIT_TYPEID::DESTRUCTIBLEGATEDIAGONALBLUR)
+		.value("DESTRUCTIBLEGATEDIAGONALBLURLOWERED", sc2::UNIT_TYPEID::DESTRUCTIBLEGATEDIAGONALBLURLOWERED)
+		.value("DESTRUCTIBLEGATEDIAGONALULBR", sc2::UNIT_TYPEID::DESTRUCTIBLEGATEDIAGONALULBR)
+		.value("DESTRUCTIBLEGATEDIAGONALULBRLOWERED", sc2::UNIT_TYPEID::DESTRUCTIBLEGATEDIAGONALULBRLOWERED)
+		.value("DESTRUCTIBLEGATESTRAIGHTHORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTHORIZONTAL)
+		.value("DESTRUCTIBLEGATESTRAIGHTHORIZONTALBF", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTHORIZONTALBF)
+		.value("DESTRUCTIBLEGATESTRAIGHTHORIZONTALBFLOWERED", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTHORIZONTALBFLOWERED)
+		.value("DESTRUCTIBLEGATESTRAIGHTHORIZONTALLOWERED", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTHORIZONTALLOWERED)
+		.value("DESTRUCTIBLEGATESTRAIGHTVERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTVERTICAL)
+		.value("DESTRUCTIBLEGATESTRAIGHTVERTICALLF", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTVERTICALLF)
+		.value("DESTRUCTIBLEGATESTRAIGHTVERTICALLFLOWERED", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTVERTICALLFLOWERED)
+		.value("DESTRUCTIBLEGATESTRAIGHTVERTICALLOWERED", sc2::UNIT_TYPEID::DESTRUCTIBLEGATESTRAIGHTVERTICALLOWERED)
+		.value("DESTRUCTIBLEICE2X4HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEICE2X4HORIZONTAL)
+		.value("DESTRUCTIBLEICE2X4VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEICE2X4VERTICAL)
+		.value("DESTRUCTIBLEICE2X6HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEICE2X6HORIZONTAL)
+		.value("DESTRUCTIBLEICE2X6VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEICE2X6VERTICAL)
+		.value("DESTRUCTIBLEICE4X4", sc2::UNIT_TYPEID::DESTRUCTIBLEICE4X4)
+		.value("DESTRUCTIBLEICE6X6", sc2::UNIT_TYPEID::DESTRUCTIBLEICE6X6)
+		.value("DESTRUCTIBLEICEDIAGONALHUGEBLUR", sc2::UNIT_TYPEID::DESTRUCTIBLEICEDIAGONALHUGEBLUR)
+		.value("DESTRUCTIBLEICEDIAGONALHUGEULBR", sc2::UNIT_TYPEID::DESTRUCTIBLEICEDIAGONALHUGEULBR)
+		.value("DESTRUCTIBLEICEHORIZONTALHUGE", sc2::UNIT_TYPEID::DESTRUCTIBLEICEHORIZONTALHUGE)
+		.value("DESTRUCTIBLEICEVERTICALHUGE", sc2::UNIT_TYPEID::DESTRUCTIBLEICEVERTICALHUGE)
+		.value("DESTRUCTIBLEKORHALFLAG", sc2::UNIT_TYPEID::DESTRUCTIBLEKORHALFLAG)
+		.value("DESTRUCTIBLEKORHALFOLIAGE", sc2::UNIT_TYPEID::DESTRUCTIBLEKORHALFOLIAGE)
+		.value("DESTRUCTIBLEKORHALPODIUM", sc2::UNIT_TYPEID::DESTRUCTIBLEKORHALPODIUM)
+		.value("DESTRUCTIBLEKORHALTREE", sc2::UNIT_TYPEID::DESTRUCTIBLEKORHALTREE)
+		.value("DESTRUCTIBLERAMPDIAGONALHUGEBLUR", sc2::UNIT_TYPEID::DESTRUCTIBLERAMPDIAGONALHUGEBLUR)
+		.value("DESTRUCTIBLERAMPDIAGONALHUGEULBR", sc2::UNIT_TYPEID::DESTRUCTIBLERAMPDIAGONALHUGEULBR)
+		.value("DESTRUCTIBLERAMPHORIZONTALHUGE", sc2::UNIT_TYPEID::DESTRUCTIBLERAMPHORIZONTALHUGE)
+		.value("DESTRUCTIBLERAMPVERTICALHUGE", sc2::UNIT_TYPEID::DESTRUCTIBLERAMPVERTICALHUGE)
+		.value("DESTRUCTIBLEROCK2X4HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCK2X4HORIZONTAL)
+		.value("DESTRUCTIBLEROCK2X4VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCK2X4VERTICAL)
+		.value("DESTRUCTIBLEROCK2X6HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCK2X6HORIZONTAL)
+		.value("DESTRUCTIBLEROCK2X6VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCK2X6VERTICAL)
+		.value("DESTRUCTIBLEROCK4X4", sc2::UNIT_TYPEID::DESTRUCTIBLEROCK4X4)
+		.value("DESTRUCTIBLEROCK6X6WEAK", sc2::UNIT_TYPEID::DESTRUCTIBLEROCK6X6WEAK)
+		.value("DESTRUCTIBLEROCKEX12X4HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX12X4HORIZONTAL)
+		.value("DESTRUCTIBLEROCKEX12X4VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX12X4VERTICAL)
+		.value("DESTRUCTIBLEROCKEX12X6HORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX12X6HORIZONTAL)
+		.value("DESTRUCTIBLEROCKEX12X6VERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX12X6VERTICAL)
+		.value("DESTRUCTIBLEROCKEX14X4", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX14X4)
+		.value("DESTRUCTIBLEROCKEX16X6", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX16X6)
+		.value("DESTRUCTIBLEROCKEX1DIAGONALHUGEULBR", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX1DIAGONALHUGEULBR)
+		.value("DESTRUCTIBLEROCKEX1HORIZONTALHUGE", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX1HORIZONTALHUGE)
+		.value("DESTRUCTIBLEROCKEX1VERTICALHUGE", sc2::UNIT_TYPEID::DESTRUCTIBLEROCKEX1VERTICALHUGE)
+		.value("DESTRUCTIBLESANDBAGS", sc2::UNIT_TYPEID::DESTRUCTIBLESANDBAGS)
+		.value("DESTRUCTIBLESEARCHLIGHT", sc2::UNIT_TYPEID::DESTRUCTIBLESEARCHLIGHT)
+		.value("DESTRUCTIBLESIGNSCONSTRUCTION", sc2::UNIT_TYPEID::DESTRUCTIBLESIGNSCONSTRUCTION)
+		.value("DESTRUCTIBLESIGNSDIRECTIONAL", sc2::UNIT_TYPEID::DESTRUCTIBLESIGNSDIRECTIONAL)
+		.value("DESTRUCTIBLESIGNSFUNNY", sc2::UNIT_TYPEID::DESTRUCTIBLESIGNSFUNNY)
+		.value("DESTRUCTIBLESIGNSICONS", sc2::UNIT_TYPEID::DESTRUCTIBLESIGNSICONS)
+		.value("DESTRUCTIBLESIGNSWARNING", sc2::UNIT_TYPEID::DESTRUCTIBLESIGNSWARNING)
+		.value("DESTRUCTIBLESPACEPLATFORMBARRIER", sc2::UNIT_TYPEID::DESTRUCTIBLESPACEPLATFORMBARRIER)
+		.value("DESTRUCTIBLESPACEPLATFORMSIGN", sc2::UNIT_TYPEID::DESTRUCTIBLESPACEPLATFORMSIGN)
+		.value("DESTRUCTIBLESTOREFRONTCITYPROPS", sc2::UNIT_TYPEID::DESTRUCTIBLESTOREFRONTCITYPROPS)
+		.value("DESTRUCTIBLESTREETLIGHT", sc2::UNIT_TYPEID::DESTRUCTIBLESTREETLIGHT)
+		.value("DESTRUCTIBLETRAFFICSIGNAL", sc2::UNIT_TYPEID::DESTRUCTIBLETRAFFICSIGNAL)
+		.value("DESTRUCTIBLEWALLCORNER45", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45)
+		.value("DESTRUCTIBLEWALLCORNER45BL90R", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45BL90R)
+		.value("DESTRUCTIBLEWALLCORNER45BR90T", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45BR90T)
+		.value("DESTRUCTIBLEWALLCORNER45UL90B", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45UL90B)
+		.value("DESTRUCTIBLEWALLCORNER45ULBL", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45ULBL)
+		.value("DESTRUCTIBLEWALLCORNER45ULUR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45ULUR)
+		.value("DESTRUCTIBLEWALLCORNER45UR90L", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45UR90L)
+		.value("DESTRUCTIBLEWALLCORNER45URBR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER45URBR)
+		.value("DESTRUCTIBLEWALLCORNER90B45UR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90B45UR)
+		.value("DESTRUCTIBLEWALLCORNER90BR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90BR)
+		.value("DESTRUCTIBLEWALLCORNER90L45BR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90L45BR)
+		.value("DESTRUCTIBLEWALLCORNER90LB", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90LB)
+		.value("DESTRUCTIBLEWALLCORNER90LT", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90LT)
+		.value("DESTRUCTIBLEWALLCORNER90R45UL", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90R45UL)
+		.value("DESTRUCTIBLEWALLCORNER90T45BL", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90T45BL)
+		.value("DESTRUCTIBLEWALLCORNER90TR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLCORNER90TR)
+		.value("DESTRUCTIBLEWALLDIAGONALBLUR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLDIAGONALBLUR)
+		.value("DESTRUCTIBLEWALLDIAGONALBLURLF", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLDIAGONALBLURLF)
+		.value("DESTRUCTIBLEWALLDIAGONALULBR", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLDIAGONALULBR)
+		.value("DESTRUCTIBLEWALLDIAGONALULBRLF", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLDIAGONALULBRLF)
+		.value("DESTRUCTIBLEWALLSTRAIGHTHORIZONTAL", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLSTRAIGHTHORIZONTAL)
+		.value("DESTRUCTIBLEWALLSTRAIGHTHORIZONTALBF", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLSTRAIGHTHORIZONTALBF)
+		.value("DESTRUCTIBLEWALLSTRAIGHTVERTICAL", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLSTRAIGHTVERTICAL)
+		.value("DESTRUCTIBLEWALLVERTICALLF", sc2::UNIT_TYPEID::DESTRUCTIBLEWALLVERTICALLF)
+		.value("DESTRUCTIBLEZERGINFESTATION3X3", sc2::UNIT_TYPEID::DESTRUCTIBLEZERGINFESTATION3X3)
+		.value("DEVASTATIONTURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::DEVASTATIONTURRETACGLUESCREENDUMMY)
+		.value("DEVASTATORMISSILEWEAPON", sc2::UNIT_TYPEID::DEVASTATORMISSILEWEAPON)
+		.value("DEVILDOG", sc2::UNIT_TYPEID::DEVILDOG)
+		.value("DEVOURERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::DEVOURERACGLUESCREENDUMMY)
+		.value("DEVOURERCOCOONMP", sc2::UNIT_TYPEID::DEVOURERCOCOONMP)
+		.value("DEVOURERMP", sc2::UNIT_TYPEID::DEVOURERMP)
+		.value("DEVOURERMPWEAPONMISSILE", sc2::UNIT_TYPEID::DEVOURERMPWEAPONMISSILE)
+		.value("DEVOURERTISSUEDOODAD", sc2::UNIT_TYPEID::DEVOURERTISSUEDOODAD)
+		.value("DEVOURERTISSUEMISSILE", sc2::UNIT_TYPEID::DEVOURERTISSUEMISSILE)
+		.value("DEVOURERTISSUESAMPLE", sc2::UNIT_TYPEID::DEVOURERTISSUESAMPLE)
+		.value("DEVOURERTISSUESAMPLETUBE", sc2::UNIT_TYPEID::DEVOURERTISSUESAMPLETUBE)
+		.value("DIAMONDBACK", sc2::UNIT_TYPEID::DIAMONDBACK)
+		.value("DIGESTERCREEPSPRAYTARGETUNIT", sc2::UNIT_TYPEID::DIGESTERCREEPSPRAYTARGETUNIT)
+		.value("DIGESTERCREEPSPRAYUNIT", sc2::UNIT_TYPEID::DIGESTERCREEPSPRAYUNIT)
+		.value("DISRUPTORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::DISRUPTORACGLUESCREENDUMMY)
+		.value("DOG", sc2::UNIT_TYPEID::DOG)
+		.value("DOMINIONKILLTEAM", sc2::UNIT_TYPEID::DOMINIONKILLTEAM)
+		.value("DOMINIONKILLTEAMLMWEAPON", sc2::UNIT_TYPEID::DOMINIONKILLTEAMLMWEAPON)
+		.value("DRAGOONACGLUESCREENDUMMY", sc2::UNIT_TYPEID::DRAGOONACGLUESCREENDUMMY)
+		.value("DRAKKENLASERDRILL", sc2::UNIT_TYPEID::DRAKKENLASERDRILL)
+		.value("DRBATTLECRUISERALMWEAPON", sc2::UNIT_TYPEID::DRBATTLECRUISERALMWEAPON)
+		.value("DRBATTLECRUISERGLMWEAPON", sc2::UNIT_TYPEID::DRBATTLECRUISERGLMWEAPON)
+		.value("DUKESREVENGE", sc2::UNIT_TYPEID::DUKESREVENGE)
+		.value("DUMPTRUCK", sc2::UNIT_TYPEID::DUMPTRUCK)
+		.value("DUSKWING", sc2::UNIT_TYPEID::DUSKWING)
+		.value("DUSKWINGWEAPON", sc2::UNIT_TYPEID::DUSKWINGWEAPON)
+		.value("EGGPURPLE", sc2::UNIT_TYPEID::EGGPURPLE)
+		.value("ELEVATORBLOCKER", sc2::UNIT_TYPEID::ELEVATORBLOCKER)
+		.value("ELITEMARINEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ELITEMARINEACGLUESCREENDUMMY)
+		.value("ELSECARO_COLONIST_HUT", sc2::UNIT_TYPEID::ELSECARO_COLONIST_HUT)
+		.value("EMP2WEAPON", sc2::UNIT_TYPEID::EMP2WEAPON)
+		.value("ENEMYPATHINGBLOCKER16X16", sc2::UNIT_TYPEID::ENEMYPATHINGBLOCKER16X16)
+		.value("ENEMYPATHINGBLOCKER1X1", sc2::UNIT_TYPEID::ENEMYPATHINGBLOCKER1X1)
+		.value("ENEMYPATHINGBLOCKER2X2", sc2::UNIT_TYPEID::ENEMYPATHINGBLOCKER2X2)
+		.value("ENEMYPATHINGBLOCKER4X4", sc2::UNIT_TYPEID::ENEMYPATHINGBLOCKER4X4)
+		.value("ENEMYPATHINGBLOCKER8X8", sc2::UNIT_TYPEID::ENEMYPATHINGBLOCKER8X8)
+		.value("EXPERIMENTALPLASMAGUNWEAPON", sc2::UNIT_TYPEID::EXPERIMENTALPLASMAGUNWEAPON)
+		.value("EXPLODINGBARRELLARGE", sc2::UNIT_TYPEID::EXPLODINGBARRELLARGE)
+		.value("EXTENDINGBRIDGENEWIDE10", sc2::UNIT_TYPEID::EXTENDINGBRIDGENEWIDE10)
+		.value("EXTENDINGBRIDGENEWIDE10OUT", sc2::UNIT_TYPEID::EXTENDINGBRIDGENEWIDE10OUT)
+		.value("EXTENDINGBRIDGENEWIDE12", sc2::UNIT_TYPEID::EXTENDINGBRIDGENEWIDE12)
+		.value("EXTENDINGBRIDGENEWIDE12OUT", sc2::UNIT_TYPEID::EXTENDINGBRIDGENEWIDE12OUT)
+		.value("EXTENDINGBRIDGENEWIDE8", sc2::UNIT_TYPEID::EXTENDINGBRIDGENEWIDE8)
+		.value("EXTENDINGBRIDGENEWIDE8OUT", sc2::UNIT_TYPEID::EXTENDINGBRIDGENEWIDE8OUT)
+		.value("EXTENDINGBRIDGENWWIDE10", sc2::UNIT_TYPEID::EXTENDINGBRIDGENWWIDE10)
+		.value("EXTENDINGBRIDGENWWIDE10OUT", sc2::UNIT_TYPEID::EXTENDINGBRIDGENWWIDE10OUT)
+		.value("EXTENDINGBRIDGENWWIDE12", sc2::UNIT_TYPEID::EXTENDINGBRIDGENWWIDE12)
+		.value("EXTENDINGBRIDGENWWIDE12OUT", sc2::UNIT_TYPEID::EXTENDINGBRIDGENWWIDE12OUT)
+		.value("EXTENDINGBRIDGENWWIDE8", sc2::UNIT_TYPEID::EXTENDINGBRIDGENWWIDE8)
+		.value("EXTENDINGBRIDGENWWIDE8OUT", sc2::UNIT_TYPEID::EXTENDINGBRIDGENWWIDE8OUT)
+		.value("EYESTALKWEAPON", sc2::UNIT_TYPEID::EYESTALKWEAPON)
+		.value("FACTORYTECHREACTOR", sc2::UNIT_TYPEID::FACTORYTECHREACTOR)
+		.value("FEEDERLING", sc2::UNIT_TYPEID::FEEDERLING)
+		.value("FIREBAT", sc2::UNIT_TYPEID::FIREBAT)
+		.value("FIREBATACGLUESCREENDUMMY", sc2::UNIT_TYPEID::FIREBATACGLUESCREENDUMMY)
+		.value("FIREROACHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::FIREROACHACGLUESCREENDUMMY)
+		.value("FIREWORKSBLUE", sc2::UNIT_TYPEID::FIREWORKSBLUE)
+		.value("FIREWORKSRED", sc2::UNIT_TYPEID::FIREWORKSRED)
+		.value("FIREWORKSYELLOW", sc2::UNIT_TYPEID::FIREWORKSYELLOW)
+		.value("FLAMINGBETTY", sc2::UNIT_TYPEID::FLAMINGBETTY)
+		.value("FLAMINGBETTYACGLUESCREENDUMMY", sc2::UNIT_TYPEID::FLAMINGBETTYACGLUESCREENDUMMY)
+		.value("FLATBEDTRUCK", sc2::UNIT_TYPEID::FLATBEDTRUCK)
+		.value("FLYOVERUNIT", sc2::UNIT_TYPEID::FLYOVERUNIT)
+		.value("FOOD1000", sc2::UNIT_TYPEID::FOOD1000)
+		.value("FREIGHTCAR", sc2::UNIT_TYPEID::FREIGHTCAR)
+		.value("FRENZYWEAPON", sc2::UNIT_TYPEID::FRENZYWEAPON)
+		.value("FUNGALGROWTHMISSILE", sc2::UNIT_TYPEID::FUNGALGROWTHMISSILE)
+		.value("FUSIONREACTOR", sc2::UNIT_TYPEID::FUSIONREACTOR)
+		.value("G4CHARGEWEAPON", sc2::UNIT_TYPEID::G4CHARGEWEAPON)
+		.value("GASCANISTER", sc2::UNIT_TYPEID::GASCANISTER)
+		.value("GASCANISTERPROTOSS", sc2::UNIT_TYPEID::GASCANISTERPROTOSS)
+		.value("GASCANISTERZERG", sc2::UNIT_TYPEID::GASCANISTERZERG)
+		.value("GATECONTROLUNIT", sc2::UNIT_TYPEID::GATECONTROLUNIT)
+		.value("GHOSTALTERNATE", sc2::UNIT_TYPEID::GHOSTALTERNATE)
+		.value("GHOSTLASERLINES", sc2::UNIT_TYPEID::GHOSTLASERLINES)
+		.value("GHOSTMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::GHOSTMENGSKACGLUESCREENDUMMY)
+		.value("GHOSTNOVA", sc2::UNIT_TYPEID::GHOSTNOVA)
+		.value("GLAIVEWURMBOUNCEWEAPON", sc2::UNIT_TYPEID::GLAIVEWURMBOUNCEWEAPON)
+		.value("GLAIVEWURMM2WEAPON", sc2::UNIT_TYPEID::GLAIVEWURMM2WEAPON)
+		.value("GLAIVEWURMM3WEAPON", sc2::UNIT_TYPEID::GLAIVEWURMM3WEAPON)
+		.value("GLAIVEWURMWEAPON", sc2::UNIT_TYPEID::GLAIVEWURMWEAPON)
+		.value("GLOBESTATUE", sc2::UNIT_TYPEID::GLOBESTATUE)
+		.value("GOLIATH", sc2::UNIT_TYPEID::GOLIATH)
+		.value("GOLIATHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::GOLIATHACGLUESCREENDUMMY)
+		.value("GOLIATHAWEAPON", sc2::UNIT_TYPEID::GOLIATHAWEAPON)
+		.value("GRAPPLEWEAPON", sc2::UNIT_TYPEID::GRAPPLEWEAPON)
+		.value("GUARDIANACGLUESCREENDUMMY", sc2::UNIT_TYPEID::GUARDIANACGLUESCREENDUMMY)
+		.value("GUARDIANCOCOONMP", sc2::UNIT_TYPEID::GUARDIANCOCOONMP)
+		.value("GUARDIANMP", sc2::UNIT_TYPEID::GUARDIANMP)
+		.value("GUARDIANMPWEAPON", sc2::UNIT_TYPEID::GUARDIANMPWEAPON)
+		.value("HAILSTORMMISSILESWEAPON", sc2::UNIT_TYPEID::HAILSTORMMISSILESWEAPON)
+		.value("HAMMERSECURITY", sc2::UNIT_TYPEID::HAMMERSECURITY)
+		.value("HAMMERSECURITYLMWEAPON", sc2::UNIT_TYPEID::HAMMERSECURITYLMWEAPON)
+		.value("HEALINGPOTIONTESTINSTANT", sc2::UNIT_TYPEID::HEALINGPOTIONTESTINSTANT)
+		.value("HEALINGPOTIONTESTTARGET", sc2::UNIT_TYPEID::HEALINGPOTIONTESTTARGET)
+		.value("HEAVYSIEGETANKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HEAVYSIEGETANKACGLUESCREENDUMMY)
+		.value("HELLBATACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HELLBATACGLUESCREENDUMMY)
+		.value("HELLBATRANGERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HELLBATRANGERACGLUESCREENDUMMY)
+		.value("HELPEREMITTERSELECTIONARROW", sc2::UNIT_TYPEID::HELPEREMITTERSELECTIONARROW)
+		.value("HELSANGELASSAULT", sc2::UNIT_TYPEID::HELSANGELASSAULT)
+		.value("HELSANGELFIGHTER", sc2::UNIT_TYPEID::HELSANGELFIGHTER)
+		.value("HELSANGELFIGHTERWEAPON", sc2::UNIT_TYPEID::HELSANGELFIGHTERWEAPON)
+		.value("HERC", sc2::UNIT_TYPEID::HERC)
+		.value("HERCPLACEMENT", sc2::UNIT_TYPEID::HERCPLACEMENT)
+		.value("HERCULES", sc2::UNIT_TYPEID::HERCULES)
+		.value("HERCULESACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HERCULESACGLUESCREENDUMMY)
+		.value("HERCULESLANDER", sc2::UNIT_TYPEID::HERCULESLANDER)
+		.value("HERCULESLANDERFLYING", sc2::UNIT_TYPEID::HERCULESLANDERFLYING)
+		.value("HERONUKE", sc2::UNIT_TYPEID::HERONUKE)
+		.value("HHBATTLECRUISERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHBATTLECRUISERACGLUESCREENDUMMY)
+		.value("HHBOMBERPLATFORMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHBOMBERPLATFORMACGLUESCREENDUMMY)
+		.value("HHHELLIONTANKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHHELLIONTANKACGLUESCREENDUMMY)
+		.value("HHMERCSTARPORTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHMERCSTARPORTACGLUESCREENDUMMY)
+		.value("HHMISSILETURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHMISSILETURRETACGLUESCREENDUMMY)
+		.value("HHRAVENACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHRAVENACGLUESCREENDUMMY)
+		.value("HHREAPERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHREAPERACGLUESCREENDUMMY)
+		.value("HHVIKINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHVIKINGACGLUESCREENDUMMY)
+		.value("HHWIDOWMINEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHWIDOWMINEACGLUESCREENDUMMY)
+		.value("HHWRAITHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HHWRAITHACGLUESCREENDUMMY)
+		.value("HIGHTEMPLARACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HIGHTEMPLARACGLUESCREENDUMMY)
+		.value("HIGHTEMPLARSKINPREVIEW", sc2::UNIT_TYPEID::HIGHTEMPLARSKINPREVIEW)
+		.value("HIGHTEMPLARTALDARIMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HIGHTEMPLARTALDARIMACGLUESCREENDUMMY)
+		.value("HIGHTEMPLARWEAPONMISSILE", sc2::UNIT_TYPEID::HIGHTEMPLARWEAPONMISSILE)
+		.value("HIVEMINDEMULATOR", sc2::UNIT_TYPEID::HIVEMINDEMULATOR)
+		.value("HOLDINGPEN", sc2::UNIT_TYPEID::HOLDINGPEN)
+		.value("HOMELARGE", sc2::UNIT_TYPEID::HOMELARGE)
+		.value("HOMESMALL", sc2::UNIT_TYPEID::HOMESMALL)
+		.value("HUNTERKILLER", sc2::UNIT_TYPEID::HUNTERKILLER)
+		.value("HUNTERKILLERBURROWED", sc2::UNIT_TYPEID::HUNTERKILLERBURROWED)
+		.value("HUNTERKILLERWEAPON", sc2::UNIT_TYPEID::HUNTERKILLERWEAPON)
+		.value("HUNTERSEEKERWEAPON", sc2::UNIT_TYPEID::HUNTERSEEKERWEAPON)
+		.value("HURRICANEMISSILELEFT", sc2::UNIT_TYPEID::HURRICANEMISSILELEFT)
+		.value("HURRICANEMISSILERIGHT", sc2::UNIT_TYPEID::HURRICANEMISSILERIGHT)
+		.value("HUT", sc2::UNIT_TYPEID::HUT)
+		.value("HYBRID", sc2::UNIT_TYPEID::HYBRID)
+		.value("HYBRIDCPLASMAWEAPON", sc2::UNIT_TYPEID::HYBRIDCPLASMAWEAPON)
+		.value("HYBRIDDESTROYER", sc2::UNIT_TYPEID::HYBRIDDESTROYER)
+		.value("HYBRIDREAVER", sc2::UNIT_TYPEID::HYBRIDREAVER)
+		.value("HYBRIDSINGULARITYFEEDBACKWEAPON", sc2::UNIT_TYPEID::HYBRIDSINGULARITYFEEDBACKWEAPON)
+		.value("HYDRALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HYDRALISKACGLUESCREENDUMMY)
+		.value("HYDRALISKIMPALEMISSILE", sc2::UNIT_TYPEID::HYDRALISKIMPALEMISSILE)
+		.value("HYDRALISKLURKERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::HYDRALISKLURKERACGLUESCREENDUMMY)
+		.value("HYPERION", sc2::UNIT_TYPEID::HYPERION)
+		.value("HYPERIONALMWEAPON", sc2::UNIT_TYPEID::HYPERIONALMWEAPON)
+		.value("HYPERIONLMWEAPON", sc2::UNIT_TYPEID::HYPERIONLMWEAPON)
+		.value("HYPERIONYAMATOSPECIALWEAPON", sc2::UNIT_TYPEID::HYPERIONYAMATOSPECIALWEAPON)
+		.value("ICE2X2NONCONJOINED", sc2::UNIT_TYPEID::ICE2X2NONCONJOINED)
+		.value("ICEPROTOSSCRATES", sc2::UNIT_TYPEID::ICEPROTOSSCRATES)
+		.value("IMMORTALACGLUESCREENDUMMY", sc2::UNIT_TYPEID::IMMORTALACGLUESCREENDUMMY)
+		.value("IMMORTALFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::IMMORTALFENIXACGLUESCREENDUMMY)
+		.value("IMMORTALKARAXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::IMMORTALKARAXACGLUESCREENDUMMY)
+		.value("IMMORTALTALDARIMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::IMMORTALTALDARIMACGLUESCREENDUMMY)
+		.value("INFESTABLEBIODOME", sc2::UNIT_TYPEID::INFESTABLEBIODOME)
+		.value("INFESTABLECOLONISTBIODOME", sc2::UNIT_TYPEID::INFESTABLECOLONISTBIODOME)
+		.value("INFESTABLECOLONISTHUT", sc2::UNIT_TYPEID::INFESTABLECOLONISTHUT)
+		.value("INFESTABLEHUT", sc2::UNIT_TYPEID::INFESTABLEHUT)
+		.value("INFESTATIONSPIRE", sc2::UNIT_TYPEID::INFESTATIONSPIRE)
+		.value("INFESTEDABOMINATION", sc2::UNIT_TYPEID::INFESTEDABOMINATION)
+		.value("INFESTEDABOMINATIONBURROWED", sc2::UNIT_TYPEID::INFESTEDABOMINATIONBURROWED)
+		.value("INFESTEDACIDSPINESWEAPON", sc2::UNIT_TYPEID::INFESTEDACIDSPINESWEAPON)
+		.value("INFESTEDARMORY", sc2::UNIT_TYPEID::INFESTEDARMORY)
+		.value("INFESTEDBARRACKS", sc2::UNIT_TYPEID::INFESTEDBARRACKS)
+		.value("INFESTEDBUNKER", sc2::UNIT_TYPEID::INFESTEDBUNKER)
+		.value("INFESTEDCC", sc2::UNIT_TYPEID::INFESTEDCC)
+		.value("INFESTEDCIVILIAN", sc2::UNIT_TYPEID::INFESTEDCIVILIAN)
+		.value("INFESTEDCIVILIANBURROWED", sc2::UNIT_TYPEID::INFESTEDCIVILIANBURROWED)
+		.value("INFESTEDCOCOON", sc2::UNIT_TYPEID::INFESTEDCOCOON)
+		.value("INFESTEDCOLONISTSHIP", sc2::UNIT_TYPEID::INFESTEDCOLONISTSHIP)
+		.value("INFESTEDENGBAY", sc2::UNIT_TYPEID::INFESTEDENGBAY)
+		.value("INFESTEDFACTORY", sc2::UNIT_TYPEID::INFESTEDFACTORY)
+		.value("INFESTEDMERCHAVEN", sc2::UNIT_TYPEID::INFESTEDMERCHAVEN)
+		.value("INFESTEDMISSILETURRET", sc2::UNIT_TYPEID::INFESTEDMISSILETURRET)
+		.value("INFESTEDREFINERY", sc2::UNIT_TYPEID::INFESTEDREFINERY)
+		.value("INFESTEDSTARPORT", sc2::UNIT_TYPEID::INFESTEDSTARPORT)
+		.value("INFESTEDSUPPLY", sc2::UNIT_TYPEID::INFESTEDSUPPLY)
+		.value("INFESTEDTERRAN", sc2::UNIT_TYPEID::INFESTEDTERRAN)
+		.value("INFESTEDTERRANCAMPAIGN", sc2::UNIT_TYPEID::INFESTEDTERRANCAMPAIGN)
+		.value("INFESTEDTERRANCAMPAIGNBURROWED", sc2::UNIT_TYPEID::INFESTEDTERRANCAMPAIGNBURROWED)
+		.value("INFESTEDTERRANSEGGPLACEMENT", sc2::UNIT_TYPEID::INFESTEDTERRANSEGGPLACEMENT)
+		.value("INFESTEDTERRANSWEAPON", sc2::UNIT_TYPEID::INFESTEDTERRANSWEAPON)
+		.value("INFESTEDVENTBROODLORDEGG", sc2::UNIT_TYPEID::INFESTEDVENTBROODLORDEGG)
+		.value("INFESTEDVENTCORRUPTOREGG", sc2::UNIT_TYPEID::INFESTEDVENTCORRUPTOREGG)
+		.value("INFESTEDVENTEGGMISSILE", sc2::UNIT_TYPEID::INFESTEDVENTEGGMISSILE)
+		.value("INFESTEDVENTMUTALISKEGG", sc2::UNIT_TYPEID::INFESTEDVENTMUTALISKEGG)
+		.value("INFESTORENSNAREATTACKMISSILE", sc2::UNIT_TYPEID::INFESTORENSNAREATTACKMISSILE)
+		.value("INFESTORTERRANBURROWED", sc2::UNIT_TYPEID::INFESTORTERRANBURROWED)
+		.value("INFESTORTERRANSWEAPON", sc2::UNIT_TYPEID::INFESTORTERRANSWEAPON)
+		.value("INHIBITORZONEFLYINGLARGE", sc2::UNIT_TYPEID::INHIBITORZONEFLYINGLARGE)
+		.value("INHIBITORZONEFLYINGMEDIUM", sc2::UNIT_TYPEID::INHIBITORZONEFLYINGMEDIUM)
+		.value("INHIBITORZONEFLYINGSMALL", sc2::UNIT_TYPEID::INHIBITORZONEFLYINGSMALL)
+		.value("INHIBITORZONELARGE", sc2::UNIT_TYPEID::INHIBITORZONELARGE)
+		.value("INHIBITORZONEMEDIUM", sc2::UNIT_TYPEID::INHIBITORZONEMEDIUM)
+		.value("INHIBITORZONESMALL", sc2::UNIT_TYPEID::INHIBITORZONESMALL)
+		.value("INVALID", sc2::UNIT_TYPEID::INVALID)
+		.value("INVISIBLEPYLON", sc2::UNIT_TYPEID::INVISIBLEPYLON)
+		.value("INVISIBLETARGETDUMMY", sc2::UNIT_TYPEID::INVISIBLETARGETDUMMY)
+		.value("IONCANNONSWEAPON", sc2::UNIT_TYPEID::IONCANNONSWEAPON)
+		.value("IPISTOLAD", sc2::UNIT_TYPEID::IPISTOLAD)
+		.value("ITEMGRAVITYBOMBS", sc2::UNIT_TYPEID::ITEMGRAVITYBOMBS)
+		.value("ITEMGRAVITYBOMBSWEAPON", sc2::UNIT_TYPEID::ITEMGRAVITYBOMBSWEAPON)
+		.value("ITEMGRENADES", sc2::UNIT_TYPEID::ITEMGRENADES)
+		.value("ITEMGRENADESWEAPON", sc2::UNIT_TYPEID::ITEMGRENADESWEAPON)
+		.value("ITEMMEDKIT", sc2::UNIT_TYPEID::ITEMMEDKIT)
+		.value("ITEMMINES", sc2::UNIT_TYPEID::ITEMMINES)
+		.value("JORIUMSTOCKPILE", sc2::UNIT_TYPEID::JORIUMSTOCKPILE)
+		.value("KARAKMALE", sc2::UNIT_TYPEID::KARAKMALE)
+		.value("KARASS", sc2::UNIT_TYPEID::KARASS)
+		.value("KARASSWEAPON", sc2::UNIT_TYPEID::KARASSWEAPON)
+		.value("KD8CHARGEWEAPON", sc2::UNIT_TYPEID::KD8CHARGEWEAPON)
+		.value("KERRIGAN", sc2::UNIT_TYPEID::KERRIGAN)
+		.value("KERRIGANCHAR", sc2::UNIT_TYPEID::KERRIGANCHAR)
+		.value("KERRIGANCHARBURROWED", sc2::UNIT_TYPEID::KERRIGANCHARBURROWED)
+		.value("KERRIGANCHARWEAPON", sc2::UNIT_TYPEID::KERRIGANCHARWEAPON)
+		.value("KERRIGANEGG", sc2::UNIT_TYPEID::KERRIGANEGG)
+		.value("KERRIGANWEAPON", sc2::UNIT_TYPEID::KERRIGANWEAPON)
+		.value("KHAYDARINMONOLITHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::KHAYDARINMONOLITHACGLUESCREENDUMMY)
+		.value("L800ETC_AD", sc2::UNIT_TYPEID::L800ETC_AD)
+		.value("LABBOT", sc2::UNIT_TYPEID::LABBOT)
+		.value("LARVARELEASEMISSILE", sc2::UNIT_TYPEID::LARVARELEASEMISSILE)
+		.value("LEVIATHAN", sc2::UNIT_TYPEID::LEVIATHAN)
+		.value("LEVIATHANACGLUESCREENDUMMY", sc2::UNIT_TYPEID::LEVIATHANACGLUESCREENDUMMY)
+		.value("LEVIATHANSCOURGEMISSILE", sc2::UNIT_TYPEID::LEVIATHANSCOURGEMISSILE)
+		.value("LIBERATORAGMISSILE", sc2::UNIT_TYPEID::LIBERATORAGMISSILE)
+		.value("LIBERATORDAMAGEMISSILE", sc2::UNIT_TYPEID::LIBERATORDAMAGEMISSILE)
+		.value("LIBERATORMISSILE", sc2::UNIT_TYPEID::LIBERATORMISSILE)
+		.value("LIBERATORSKINPREVIEW", sc2::UNIT_TYPEID::LIBERATORSKINPREVIEW)
+		.value("LIGHTNINGBOMBWEAPON", sc2::UNIT_TYPEID::LIGHTNINGBOMBWEAPON)
+		.value("LOCUSTMPEGGAMISSILEWEAPON", sc2::UNIT_TYPEID::LOCUSTMPEGGAMISSILEWEAPON)
+		.value("LOCUSTMPEGGBMISSILEWEAPON", sc2::UNIT_TYPEID::LOCUSTMPEGGBMISSILEWEAPON)
+		.value("LOCUSTMPPRECURSOR", sc2::UNIT_TYPEID::LOCUSTMPPRECURSOR)
+		.value("LOCUSTMPWEAPON", sc2::UNIT_TYPEID::LOCUSTMPWEAPON)
+		.value("LOGISTICSHEADQUARTERS", sc2::UNIT_TYPEID::LOGISTICSHEADQUARTERS)
+		.value("LOKI", sc2::UNIT_TYPEID::LOKI)
+		.value("LOKIHURRICANEMISSILELEFT", sc2::UNIT_TYPEID::LOKIHURRICANEMISSILELEFT)
+		.value("LOKIHURRICANEMISSILERIGHT", sc2::UNIT_TYPEID::LOKIHURRICANEMISSILERIGHT)
+		.value("LOKIYAMATOWEAPON", sc2::UNIT_TYPEID::LOKIYAMATOWEAPON)
+		.value("LONGBOLTMISSILEWEAPON", sc2::UNIT_TYPEID::LONGBOLTMISSILEWEAPON)
+		.value("LURKER", sc2::UNIT_TYPEID::LURKER)
+		.value("LURKERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::LURKERACGLUESCREENDUMMY)
+		.value("LURKERBURROWED", sc2::UNIT_TYPEID::LURKERBURROWED)
+		.value("LURKERDEN", sc2::UNIT_TYPEID::LURKERDEN)
+		.value("LURKEREGG", sc2::UNIT_TYPEID::LURKEREGG)
+		.value("LYOTE", sc2::UNIT_TYPEID::LYOTE)
+		.value("MAAR", sc2::UNIT_TYPEID::MAAR)
+		.value("MAARWARPINUNIT", sc2::UNIT_TYPEID::MAARWARPINUNIT)
+		.value("MAINCELLBLOCK", sc2::UNIT_TYPEID::MAINCELLBLOCK)
+		.value("MARAUDERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MARAUDERACGLUESCREENDUMMY)
+		.value("MARAUDERCOMMANDOACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MARAUDERCOMMANDOACGLUESCREENDUMMY)
+		.value("MARAUDERMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MARAUDERMENGSKACGLUESCREENDUMMY)
+		.value("MARINEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MARINEACGLUESCREENDUMMY)
+		.value("MARSARABRIDGEBLUR", sc2::UNIT_TYPEID::MARSARABRIDGEBLUR)
+		.value("MARSARABRIDGEBRUL", sc2::UNIT_TYPEID::MARSARABRIDGEBRUL)
+		.value("MECHABANELINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHABANELINGACGLUESCREENDUMMY)
+		.value("MECHABATTLECARRIERLORDACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHABATTLECARRIERLORDACGLUESCREENDUMMY)
+		.value("MECHACORRUPTORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHACORRUPTORACGLUESCREENDUMMY)
+		.value("MECHAHYDRALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHAHYDRALISKACGLUESCREENDUMMY)
+		.value("MECHAINFESTORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHAINFESTORACGLUESCREENDUMMY)
+		.value("MECHALURKERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHALURKERACGLUESCREENDUMMY)
+		.value("MECHAOVERSEERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHAOVERSEERACGLUESCREENDUMMY)
+		.value("MECHASPINECRAWLERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHASPINECRAWLERACGLUESCREENDUMMY)
+		.value("MECHASPORECRAWLERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHASPORECRAWLERACGLUESCREENDUMMY)
+		.value("MECHAULTRALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHAULTRALISKACGLUESCREENDUMMY)
+		.value("MECHAZERGLINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MECHAZERGLINGACGLUESCREENDUMMY)
+		.value("MEDIC", sc2::UNIT_TYPEID::MEDIC)
+		.value("MEDICACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MEDICACGLUESCREENDUMMY)
+		.value("MEDIVACMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MEDIVACMENGSKACGLUESCREENDUMMY)
+		.value("MENGSKHOLOGRAMBILLBOARD", sc2::UNIT_TYPEID::MENGSKHOLOGRAMBILLBOARD)
+		.value("MENGSKSTATUE", sc2::UNIT_TYPEID::MENGSKSTATUE)
+		.value("MENGSKSTATUEALONE", sc2::UNIT_TYPEID::MENGSKSTATUEALONE)
+		.value("MERCCOMPOUND", sc2::UNIT_TYPEID::MERCCOMPOUND)
+		.value("MERCENARYFORTRESS", sc2::UNIT_TYPEID::MERCENARYFORTRESS)
+		.value("METALGATEDIAGONALBLUR", sc2::UNIT_TYPEID::METALGATEDIAGONALBLUR)
+		.value("METALGATEDIAGONALBLURLOWERED", sc2::UNIT_TYPEID::METALGATEDIAGONALBLURLOWERED)
+		.value("METALGATEDIAGONALULBR", sc2::UNIT_TYPEID::METALGATEDIAGONALULBR)
+		.value("METALGATEDIAGONALULBRLOWERED", sc2::UNIT_TYPEID::METALGATEDIAGONALULBRLOWERED)
+		.value("METALGATESTRAIGHTHORIZONTAL", sc2::UNIT_TYPEID::METALGATESTRAIGHTHORIZONTAL)
+		.value("METALGATESTRAIGHTHORIZONTALBF", sc2::UNIT_TYPEID::METALGATESTRAIGHTHORIZONTALBF)
+		.value("METALGATESTRAIGHTHORIZONTALBFLOWERED", sc2::UNIT_TYPEID::METALGATESTRAIGHTHORIZONTALBFLOWERED)
+		.value("METALGATESTRAIGHTHORIZONTALLOWERED", sc2::UNIT_TYPEID::METALGATESTRAIGHTHORIZONTALLOWERED)
+		.value("METALGATESTRAIGHTVERTICAL", sc2::UNIT_TYPEID::METALGATESTRAIGHTVERTICAL)
+		.value("METALGATESTRAIGHTVERTICALLF", sc2::UNIT_TYPEID::METALGATESTRAIGHTVERTICALLF)
+		.value("METALGATESTRAIGHTVERTICALLFLOWERED", sc2::UNIT_TYPEID::METALGATESTRAIGHTVERTICALLFLOWERED)
+		.value("METALGATESTRAIGHTVERTICALLOWERED", sc2::UNIT_TYPEID::METALGATESTRAIGHTVERTICALLOWERED)
+		.value("MINDSIPHONRETURNWEAPON", sc2::UNIT_TYPEID::MINDSIPHONRETURNWEAPON)
+		.value("MINDSIPHONWEAPON", sc2::UNIT_TYPEID::MINDSIPHONWEAPON)
+		.value("MINERALCRYSTAL", sc2::UNIT_TYPEID::MINERALCRYSTAL)
+		.value("MINERALFIELDOPAQUE", sc2::UNIT_TYPEID::MINERALFIELDOPAQUE)
+		.value("MINERALFIELDOPAQUE900", sc2::UNIT_TYPEID::MINERALFIELDOPAQUE900)
+		.value("MINERMALE", sc2::UNIT_TYPEID::MINERMALE)
+		.value("MISSILETURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MISSILETURRETACGLUESCREENDUMMY)
+		.value("MISSILETURRETMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MISSILETURRETMENGSKACGLUESCREENDUMMY)
+		.value("MOHANDAR", sc2::UNIT_TYPEID::MOHANDAR)
+		.value("MONLYTHARTIFACTFORCEFIELD", sc2::UNIT_TYPEID::MONLYTHARTIFACTFORCEFIELD)
+		.value("MONLYTHFORCEFIELDSTATUE", sc2::UNIT_TYPEID::MONLYTHFORCEFIELDSTATUE)
+		.value("MONOLITH", sc2::UNIT_TYPEID::MONOLITH)
+		.value("MOOPY", sc2::UNIT_TYPEID::MOOPY)
+		.value("MOTHERSHIPCOREWEAPONWEAPON", sc2::UNIT_TYPEID::MOTHERSHIPCOREWEAPONWEAPON)
+		.value("MULTIKILLOBJECT", sc2::UNIT_TYPEID::MULTIKILLOBJECT)
+		.value("MURLOCMARINE", sc2::UNIT_TYPEID::MURLOCMARINE)
+		.value("MUTALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MUTALISKACGLUESCREENDUMMY)
+		.value("MUTALISKBROODLORDACGLUESCREENDUMMY", sc2::UNIT_TYPEID::MUTALISKBROODLORDACGLUESCREENDUMMY)
+		.value("MUTALISKEGG", sc2::UNIT_TYPEID::MUTALISKEGG)
+		.value("MUTALISKEGGMISSILE", sc2::UNIT_TYPEID::MUTALISKEGGMISSILE)
+		.value("NATURALGAS", sc2::UNIT_TYPEID::NATURALGAS)
+		.value("NATURALMINERALS", sc2::UNIT_TYPEID::NATURALMINERALS)
+		.value("NATURALMINERALSRED", sc2::UNIT_TYPEID::NATURALMINERALSRED)
+		.value("NEEDLESPINESWEAPON", sc2::UNIT_TYPEID::NEEDLESPINESWEAPON)
+		.value("NEURALPARASITETENTACLEMISSILE", sc2::UNIT_TYPEID::NEURALPARASITETENTACLEMISSILE)
+		.value("NEURALPARASITEWEAPON", sc2::UNIT_TYPEID::NEURALPARASITEWEAPON)
+		.value("NEUTRAL_BATTLESTATIONMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_BATTLESTATIONMINERALFIELD)
+		.value("NEUTRAL_BATTLESTATIONMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_BATTLESTATIONMINERALFIELD750)
+		.value("NEUTRAL_COLLAPSIBLEROCKTOWERDEBRIS", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLEROCKTOWERDEBRIS)
+		.value("NEUTRAL_COLLAPSIBLEROCKTOWERDIAGONAL", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLEROCKTOWERDIAGONAL)
+		.value("NEUTRAL_COLLAPSIBLEROCKTOWERPUSHUNIT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLEROCKTOWERPUSHUNIT)
+		.value("NEUTRAL_COLLAPSIBLETERRANTOWERDEBRIS", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERDEBRIS)
+		.value("NEUTRAL_COLLAPSIBLETERRANTOWERDIAGONAL", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERDIAGONAL)
+		.value("NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNIT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNIT)
+		.value("NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPLEFT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPLEFT)
+		.value("NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPRIGHT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERPUSHUNITRAMPRIGHT)
+		.value("NEUTRAL_COLLAPSIBLETERRANTOWERRAMPLEFT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERRAMPLEFT)
+		.value("NEUTRAL_COLLAPSIBLETERRANTOWERRAMPRIGHT", sc2::UNIT_TYPEID::NEUTRAL_COLLAPSIBLETERRANTOWERRAMPRIGHT)
+		.value("NEUTRAL_DEBRISRAMPLEFT", sc2::UNIT_TYPEID::NEUTRAL_DEBRISRAMPLEFT)
+		.value("NEUTRAL_DEBRISRAMPRIGHT", sc2::UNIT_TYPEID::NEUTRAL_DEBRISRAMPRIGHT)
+		.value("NEUTRAL_DESTRUCTIBLECITYDEBRIS6X6", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLECITYDEBRIS6X6)
+		.value("NEUTRAL_DESTRUCTIBLEDEBRIS6X6", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEDEBRIS6X6)
+		.value("NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEBLUR", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEBLUR)
+		.value("NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEULBR", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEDEBRISRAMPDIAGONALHUGEULBR)
+		.value("NEUTRAL_DESTRUCTIBLEROCK6X6", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEROCK6X6)
+		.value("NEUTRAL_DESTRUCTIBLEROCKEX1DIAGONALHUGEBLUR", sc2::UNIT_TYPEID::NEUTRAL_DESTRUCTIBLEROCKEX1DIAGONALHUGEBLUR)
+		.value("NEUTRAL_FORCEFIELD", sc2::UNIT_TYPEID::NEUTRAL_FORCEFIELD)
+		.value("NEUTRAL_KARAKFEMALE", sc2::UNIT_TYPEID::NEUTRAL_KARAKFEMALE)
+		.value("NEUTRAL_LABMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_LABMINERALFIELD)
+		.value("NEUTRAL_LABMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_LABMINERALFIELD750)
+		.value("NEUTRAL_MINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_MINERALFIELD)
+		.value("NEUTRAL_MINERALFIELD450", sc2::UNIT_TYPEID::NEUTRAL_MINERALFIELD450)
+		.value("NEUTRAL_MINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_MINERALFIELD750)
+		.value("NEUTRAL_PROTOSSVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_PROTOSSVESPENEGEYSER)
+		.value("NEUTRAL_PURIFIERMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERMINERALFIELD)
+		.value("NEUTRAL_PURIFIERMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERMINERALFIELD750)
+		.value("NEUTRAL_PURIFIERRICHMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERRICHMINERALFIELD)
+		.value("NEUTRAL_PURIFIERRICHMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERRICHMINERALFIELD750)
+		.value("NEUTRAL_PURIFIERVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_PURIFIERVESPENEGEYSER)
+		.value("NEUTRAL_RICHMINERALFIELD", sc2::UNIT_TYPEID::NEUTRAL_RICHMINERALFIELD)
+		.value("NEUTRAL_RICHMINERALFIELD750", sc2::UNIT_TYPEID::NEUTRAL_RICHMINERALFIELD750)
+		.value("NEUTRAL_RICHVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_RICHVESPENEGEYSER)
+		.value("NEUTRAL_SCANTIPEDE", sc2::UNIT_TYPEID::NEUTRAL_SCANTIPEDE)
+		.value("NEUTRAL_SHAKURASVESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_SHAKURASVESPENEGEYSER)
+		.value("NEUTRAL_SPACEPLATFORMGEYSER", sc2::UNIT_TYPEID::NEUTRAL_SPACEPLATFORMGEYSER)
+		.value("NEUTRAL_UNBUILDABLEBRICKSDESTRUCTIBLE", sc2::UNIT_TYPEID::NEUTRAL_UNBUILDABLEBRICKSDESTRUCTIBLE)
+		.value("NEUTRAL_UNBUILDABLEPLATESDESTRUCTIBLE", sc2::UNIT_TYPEID::NEUTRAL_UNBUILDABLEPLATESDESTRUCTIBLE)
+		.value("NEUTRAL_UTILITYBOT", sc2::UNIT_TYPEID::NEUTRAL_UTILITYBOT)
+		.value("NEUTRAL_VESPENEGEYSER", sc2::UNIT_TYPEID::NEUTRAL_VESPENEGEYSER)
+		.value("NEUTRAL_XELNAGATOWER", sc2::UNIT_TYPEID::NEUTRAL_XELNAGATOWER)
+		.value("NEWFOLSOMPRISONENTRANCE", sc2::UNIT_TYPEID::NEWFOLSOMPRISONENTRANCE)
+		.value("NEWSARCTURUSINTERVIEWSET", sc2::UNIT_TYPEID::NEWSARCTURUSINTERVIEWSET)
+		.value("NEWSARCTURUSPRESSROOM", sc2::UNIT_TYPEID::NEWSARCTURUSPRESSROOM)
+		.value("NEWSMEINHOFFREFUGEECENTER", sc2::UNIT_TYPEID::NEWSMEINHOFFREFUGEECENTER)
+		.value("NEWSRAYNORLOGO", sc2::UNIT_TYPEID::NEWSRAYNORLOGO)
+		.value("NEWSTVEFFECT", sc2::UNIT_TYPEID::NEWSTVEFFECT)
+		.value("NOVA", sc2::UNIT_TYPEID::NOVA)
+		.value("NUKENOODLESCOMMERCIAL", sc2::UNIT_TYPEID::NUKENOODLESCOMMERCIAL)
+		.value("NUKEPACK", sc2::UNIT_TYPEID::NUKEPACK)
+		.value("NUKESILONOVA", sc2::UNIT_TYPEID::NUKESILONOVA)
+		.value("NYDUSCANALATTACKER", sc2::UNIT_TYPEID::NYDUSCANALATTACKER)
+		.value("NYDUSCANALATTACKERWEAPON", sc2::UNIT_TYPEID::NYDUSCANALATTACKERWEAPON)
+		.value("NYDUSCANALCREEPER", sc2::UNIT_TYPEID::NYDUSCANALCREEPER)
+		.value("NYDUSNETWORKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::NYDUSNETWORKACGLUESCREENDUMMY)
+		.value("NYDUSWORMLAVADEATH", sc2::UNIT_TYPEID::NYDUSWORMLAVADEATH)
+		.value("OBELISK", sc2::UNIT_TYPEID::OBELISK)
+		.value("OBSERVERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::OBSERVERACGLUESCREENDUMMY)
+		.value("OBSERVERFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::OBSERVERFENIXACGLUESCREENDUMMY)
+		.value("ODIN", sc2::UNIT_TYPEID::ODIN)
+		.value("ODINAAWEAPON", sc2::UNIT_TYPEID::ODINAAWEAPON)
+		.value("ODINBUILD", sc2::UNIT_TYPEID::ODINBUILD)
+		.value("ODINWRECKAGE", sc2::UNIT_TYPEID::ODINWRECKAGE)
+		.value("OMEGALISK", sc2::UNIT_TYPEID::OMEGALISK)
+		.value("OMEGALISKBURROWED", sc2::UNIT_TYPEID::OMEGALISKBURROWED)
+		.value("OMEGANETWORKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::OMEGANETWORKACGLUESCREENDUMMY)
+		.value("ORACLEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ORACLEACGLUESCREENDUMMY)
+		.value("ORACLEWEAPON", sc2::UNIT_TYPEID::ORACLEWEAPON)
+		.value("ORBITALCOMMANDACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ORBITALCOMMANDACGLUESCREENDUMMY)
+		.value("OVERLORDGENERATECREEPKEYBIND", sc2::UNIT_TYPEID::OVERLORDGENERATECREEPKEYBIND)
+		.value("OVERMIND", sc2::UNIT_TYPEID::OVERMIND)
+		.value("OVERMINDREMAINS", sc2::UNIT_TYPEID::OVERMINDREMAINS)
+		.value("OVERSEERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::OVERSEERACGLUESCREENDUMMY)
+		.value("OVERSEERZAGARAACGLUESCREENDUMMY", sc2::UNIT_TYPEID::OVERSEERZAGARAACGLUESCREENDUMMY)
+		.value("PALLETGAS", sc2::UNIT_TYPEID::PALLETGAS)
+		.value("PALLETMINERALS", sc2::UNIT_TYPEID::PALLETMINERALS)
+		.value("PARASITESPOREWEAPON", sc2::UNIT_TYPEID::PARASITESPOREWEAPON)
+		.value("PARASITICBOMBMISSILE", sc2::UNIT_TYPEID::PARASITICBOMBMISSILE)
+		.value("PARASITICBOMBRELAYDUMMY", sc2::UNIT_TYPEID::PARASITICBOMBRELAYDUMMY)
+		.value("PATHINGBLOCKER1X1", sc2::UNIT_TYPEID::PATHINGBLOCKER1X1)
+		.value("PATHINGBLOCKER2X2", sc2::UNIT_TYPEID::PATHINGBLOCKER2X2)
+		.value("PATHINGBLOCKERRADIUS1", sc2::UNIT_TYPEID::PATHINGBLOCKERRADIUS1)
+		.value("PERDITIONTURRET", sc2::UNIT_TYPEID::PERDITIONTURRET)
+		.value("PERDITIONTURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PERDITIONTURRETACGLUESCREENDUMMY)
+		.value("PERDITIONTURRETUNDERGROUND", sc2::UNIT_TYPEID::PERDITIONTURRETUNDERGROUND)
+		.value("PERMANENTCREEPBLOCKER1X1", sc2::UNIT_TYPEID::PERMANENTCREEPBLOCKER1X1)
+		.value("PHOENIXAIURACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PHOENIXAIURACGLUESCREENDUMMY)
+		.value("PHOENIXPURIFIERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PHOENIXPURIFIERACGLUESCREENDUMMY)
+		.value("PHOTONCANNONACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PHOTONCANNONACGLUESCREENDUMMY)
+		.value("PHOTONCANNONFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PHOTONCANNONFENIXACGLUESCREENDUMMY)
+		.value("PHOTONCANNONTALDARIMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PHOTONCANNONTALDARIMACGLUESCREENDUMMY)
+		.value("PHOTONCANNONWEAPON", sc2::UNIT_TYPEID::PHOTONCANNONWEAPON)
+		.value("PHYSICSCAPSULE", sc2::UNIT_TYPEID::PHYSICSCAPSULE)
+		.value("PHYSICSCUBE", sc2::UNIT_TYPEID::PHYSICSCUBE)
+		.value("PHYSICSCYLINDER", sc2::UNIT_TYPEID::PHYSICSCYLINDER)
+		.value("PHYSICSKNOT", sc2::UNIT_TYPEID::PHYSICSKNOT)
+		.value("PHYSICSL", sc2::UNIT_TYPEID::PHYSICSL)
+		.value("PHYSICSPRIMITIVES", sc2::UNIT_TYPEID::PHYSICSPRIMITIVES)
+		.value("PHYSICSSPHERE", sc2::UNIT_TYPEID::PHYSICSSPHERE)
+		.value("PHYSICSSTAR", sc2::UNIT_TYPEID::PHYSICSSTAR)
+		.value("PICKUPCHRONORIFTCHARGE", sc2::UNIT_TYPEID::PICKUPCHRONORIFTCHARGE)
+		.value("PICKUPCHRONORIFTDEVICE", sc2::UNIT_TYPEID::PICKUPCHRONORIFTDEVICE)
+		.value("PICKUPENERGY100", sc2::UNIT_TYPEID::PICKUPENERGY100)
+		.value("PICKUPENERGY25", sc2::UNIT_TYPEID::PICKUPENERGY25)
+		.value("PICKUPENERGY50", sc2::UNIT_TYPEID::PICKUPENERGY50)
+		.value("PICKUPENERGYFULL", sc2::UNIT_TYPEID::PICKUPENERGYFULL)
+		.value("PICKUPGRENADES", sc2::UNIT_TYPEID::PICKUPGRENADES)
+		.value("PICKUPHEALTH100", sc2::UNIT_TYPEID::PICKUPHEALTH100)
+		.value("PICKUPHEALTH25", sc2::UNIT_TYPEID::PICKUPHEALTH25)
+		.value("PICKUPHEALTH50", sc2::UNIT_TYPEID::PICKUPHEALTH50)
+		.value("PICKUPHEALTHFULL", sc2::UNIT_TYPEID::PICKUPHEALTHFULL)
+		.value("PICKUPMANARECHARGE", sc2::UNIT_TYPEID::PICKUPMANARECHARGE)
+		.value("PICKUPMEDICRECHARGE", sc2::UNIT_TYPEID::PICKUPMEDICRECHARGE)
+		.value("PICKUPMINES", sc2::UNIT_TYPEID::PICKUPMINES)
+		.value("PICKUPPALLETGAS", sc2::UNIT_TYPEID::PICKUPPALLETGAS)
+		.value("PICKUPPALLETMINERALS", sc2::UNIT_TYPEID::PICKUPPALLETMINERALS)
+		.value("PICKUPPLASMAGUN", sc2::UNIT_TYPEID::PICKUPPLASMAGUN)
+		.value("PICKUPPLASMAROUNDS", sc2::UNIT_TYPEID::PICKUPPLASMAROUNDS)
+		.value("PICKUPPSISTORM", sc2::UNIT_TYPEID::PICKUPPSISTORM)
+		.value("PICKUPRESTORATIONCHARGE", sc2::UNIT_TYPEID::PICKUPRESTORATIONCHARGE)
+		.value("PICKUPSCRAPSALVAGE1X1", sc2::UNIT_TYPEID::PICKUPSCRAPSALVAGE1X1)
+		.value("PICKUPSCRAPSALVAGE2X2", sc2::UNIT_TYPEID::PICKUPSCRAPSALVAGE2X2)
+		.value("PICKUPSCRAPSALVAGE3X3", sc2::UNIT_TYPEID::PICKUPSCRAPSALVAGE3X3)
+		.value("PLASMATORPEDOESWEAPON", sc2::UNIT_TYPEID::PLASMATORPEDOESWEAPON)
+		.value("PLATFORMCONNECTOR", sc2::UNIT_TYPEID::PLATFORMCONNECTOR)
+		.value("POINTDEFENSEDRONERELEASEWEAPON", sc2::UNIT_TYPEID::POINTDEFENSEDRONERELEASEWEAPON)
+		.value("PORTCITY_BRIDGE_UNITE10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITE10)
+		.value("PORTCITY_BRIDGE_UNITE10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITE10OUT)
+		.value("PORTCITY_BRIDGE_UNITE12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITE12)
+		.value("PORTCITY_BRIDGE_UNITE12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITE12OUT)
+		.value("PORTCITY_BRIDGE_UNITE8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITE8)
+		.value("PORTCITY_BRIDGE_UNITE8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITE8OUT)
+		.value("PORTCITY_BRIDGE_UNITN10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITN10)
+		.value("PORTCITY_BRIDGE_UNITN10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITN10OUT)
+		.value("PORTCITY_BRIDGE_UNITN12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITN12)
+		.value("PORTCITY_BRIDGE_UNITN12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITN12OUT)
+		.value("PORTCITY_BRIDGE_UNITN8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITN8)
+		.value("PORTCITY_BRIDGE_UNITN8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITN8OUT)
+		.value("PORTCITY_BRIDGE_UNITNE10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNE10)
+		.value("PORTCITY_BRIDGE_UNITNE10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNE10OUT)
+		.value("PORTCITY_BRIDGE_UNITNE12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNE12)
+		.value("PORTCITY_BRIDGE_UNITNE12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNE12OUT)
+		.value("PORTCITY_BRIDGE_UNITNE8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNE8)
+		.value("PORTCITY_BRIDGE_UNITNE8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNE8OUT)
+		.value("PORTCITY_BRIDGE_UNITNW10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNW10)
+		.value("PORTCITY_BRIDGE_UNITNW10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNW10OUT)
+		.value("PORTCITY_BRIDGE_UNITNW12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNW12)
+		.value("PORTCITY_BRIDGE_UNITNW12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNW12OUT)
+		.value("PORTCITY_BRIDGE_UNITNW8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNW8)
+		.value("PORTCITY_BRIDGE_UNITNW8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITNW8OUT)
+		.value("PORTCITY_BRIDGE_UNITS10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITS10)
+		.value("PORTCITY_BRIDGE_UNITS10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITS10OUT)
+		.value("PORTCITY_BRIDGE_UNITS12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITS12)
+		.value("PORTCITY_BRIDGE_UNITS12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITS12OUT)
+		.value("PORTCITY_BRIDGE_UNITS8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITS8)
+		.value("PORTCITY_BRIDGE_UNITS8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITS8OUT)
+		.value("PORTCITY_BRIDGE_UNITSE10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSE10)
+		.value("PORTCITY_BRIDGE_UNITSE10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSE10OUT)
+		.value("PORTCITY_BRIDGE_UNITSE12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSE12)
+		.value("PORTCITY_BRIDGE_UNITSE12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSE12OUT)
+		.value("PORTCITY_BRIDGE_UNITSE8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSE8)
+		.value("PORTCITY_BRIDGE_UNITSE8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSE8OUT)
+		.value("PORTCITY_BRIDGE_UNITSW10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSW10)
+		.value("PORTCITY_BRIDGE_UNITSW10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSW10OUT)
+		.value("PORTCITY_BRIDGE_UNITSW12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSW12)
+		.value("PORTCITY_BRIDGE_UNITSW12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSW12OUT)
+		.value("PORTCITY_BRIDGE_UNITSW8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSW8)
+		.value("PORTCITY_BRIDGE_UNITSW8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITSW8OUT)
+		.value("PORTCITY_BRIDGE_UNITW10", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITW10)
+		.value("PORTCITY_BRIDGE_UNITW10OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITW10OUT)
+		.value("PORTCITY_BRIDGE_UNITW12", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITW12)
+		.value("PORTCITY_BRIDGE_UNITW12OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITW12OUT)
+		.value("PORTCITY_BRIDGE_UNITW8", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITW8)
+		.value("PORTCITY_BRIDGE_UNITW8OUT", sc2::UNIT_TYPEID::PORTCITY_BRIDGE_UNITW8OUT)
+		.value("PORTJUNKER", sc2::UNIT_TYPEID::PORTJUNKER)
+		.value("PREDATOR", sc2::UNIT_TYPEID::PREDATOR)
+		.value("PRESERVERA", sc2::UNIT_TYPEID::PRESERVERA)
+		.value("PRESERVERB", sc2::UNIT_TYPEID::PRESERVERB)
+		.value("PRESERVERBASE", sc2::UNIT_TYPEID::PRESERVERBASE)
+		.value("PRESERVERC", sc2::UNIT_TYPEID::PRESERVERC)
+		.value("PRESERVERPRISON", sc2::UNIT_TYPEID::PRESERVERPRISON)
+		.value("PRIMALGUARDIANACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALGUARDIANACGLUESCREENDUMMY)
+		.value("PRIMALHYDRALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALHYDRALISKACGLUESCREENDUMMY)
+		.value("PRIMALIMPALERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALIMPALERACGLUESCREENDUMMY)
+		.value("PRIMALMUTALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALMUTALISKACGLUESCREENDUMMY)
+		.value("PRIMALROACHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALROACHACGLUESCREENDUMMY)
+		.value("PRIMALSWARMHOSTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALSWARMHOSTACGLUESCREENDUMMY)
+		.value("PRIMALULTRALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALULTRALISKACGLUESCREENDUMMY)
+		.value("PRIMALWURMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALWURMACGLUESCREENDUMMY)
+		.value("PRIMALZERGLINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::PRIMALZERGLINGACGLUESCREENDUMMY)
+		.value("PRISONERCIVILIAN", sc2::UNIT_TYPEID::PRISONERCIVILIAN)
+		.value("PRISONERSPECTRE", sc2::UNIT_TYPEID::PRISONERSPECTRE)
+		.value("PRISONZEALOT", sc2::UNIT_TYPEID::PRISONZEALOT)
+		.value("PROTOSSCRATES", sc2::UNIT_TYPEID::PROTOSSCRATES)
+		.value("PROTOSSPSIELEMENTS", sc2::UNIT_TYPEID::PROTOSSPSIELEMENTS)
+		.value("PROTOSSRELIC", sc2::UNIT_TYPEID::PROTOSSRELIC)
+		.value("PROTOSSSNAKESEGMENTDEMO", sc2::UNIT_TYPEID::PROTOSSSNAKESEGMENTDEMO)
+		.value("PROTOSS_ADEPT", sc2::UNIT_TYPEID::PROTOSS_ADEPT)
+		.value("PROTOSS_ADEPTPHASESHIFT", sc2::UNIT_TYPEID::PROTOSS_ADEPTPHASESHIFT)
+		.value("PROTOSS_ARCHON", sc2::UNIT_TYPEID::PROTOSS_ARCHON)
+		.value("PROTOSS_ASSIMILATOR", sc2::UNIT_TYPEID::PROTOSS_ASSIMILATOR)
+		.value("PROTOSS_ASSIMILATORRICH", sc2::UNIT_TYPEID::PROTOSS_ASSIMILATORRICH)
+		.value("PROTOSS_CARRIER", sc2::UNIT_TYPEID::PROTOSS_CARRIER)
+		.value("PROTOSS_COLOSSUS", sc2::UNIT_TYPEID::PROTOSS_COLOSSUS)
+		.value("PROTOSS_CYBERNETICSCORE", sc2::UNIT_TYPEID::PROTOSS_CYBERNETICSCORE)
+		.value("PROTOSS_DARKSHRINE", sc2::UNIT_TYPEID::PROTOSS_DARKSHRINE)
+		.value("PROTOSS_DARKTEMPLAR", sc2::UNIT_TYPEID::PROTOSS_DARKTEMPLAR)
+		.value("PROTOSS_DISRUPTOR", sc2::UNIT_TYPEID::PROTOSS_DISRUPTOR)
+		.value("PROTOSS_DISRUPTORPHASED", sc2::UNIT_TYPEID::PROTOSS_DISRUPTORPHASED)
+		.value("PROTOSS_FLEETBEACON", sc2::UNIT_TYPEID::PROTOSS_FLEETBEACON)
+		.value("PROTOSS_FORGE", sc2::UNIT_TYPEID::PROTOSS_FORGE)
+		.value("PROTOSS_GATEWAY", sc2::UNIT_TYPEID::PROTOSS_GATEWAY)
+		.value("PROTOSS_HIGHTEMPLAR", sc2::UNIT_TYPEID::PROTOSS_HIGHTEMPLAR)
+		.value("PROTOSS_IMMORTAL", sc2::UNIT_TYPEID::PROTOSS_IMMORTAL)
+		.value("PROTOSS_INTERCEPTOR", sc2::UNIT_TYPEID::PROTOSS_INTERCEPTOR)
+		.value("PROTOSS_MOTHERSHIP", sc2::UNIT_TYPEID::PROTOSS_MOTHERSHIP)
+		.value("PROTOSS_MOTHERSHIPCORE", sc2::UNIT_TYPEID::PROTOSS_MOTHERSHIPCORE)
+		.value("PROTOSS_NEXUS", sc2::UNIT_TYPEID::PROTOSS_NEXUS)
+		.value("PROTOSS_OBSERVER", sc2::UNIT_TYPEID::PROTOSS_OBSERVER)
+		.value("PROTOSS_OBSERVERSIEGEMODE", sc2::UNIT_TYPEID::PROTOSS_OBSERVERSIEGEMODE)
+		.value("PROTOSS_ORACLE", sc2::UNIT_TYPEID::PROTOSS_ORACLE)
+		.value("PROTOSS_ORACLESTASISTRAP", sc2::UNIT_TYPEID::PROTOSS_ORACLESTASISTRAP)
+		.value("PROTOSS_PHOENIX", sc2::UNIT_TYPEID::PROTOSS_PHOENIX)
+		.value("PROTOSS_PHOTONCANNON", sc2::UNIT_TYPEID::PROTOSS_PHOTONCANNON)
+		.value("PROTOSS_PROBE", sc2::UNIT_TYPEID::PROTOSS_PROBE)
+		.value("PROTOSS_PYLON", sc2::UNIT_TYPEID::PROTOSS_PYLON)
+		.value("PROTOSS_PYLONOVERCHARGED", sc2::UNIT_TYPEID::PROTOSS_PYLONOVERCHARGED)
+		.value("PROTOSS_ROBOTICSBAY", sc2::UNIT_TYPEID::PROTOSS_ROBOTICSBAY)
+		.value("PROTOSS_ROBOTICSFACILITY", sc2::UNIT_TYPEID::PROTOSS_ROBOTICSFACILITY)
+		.value("PROTOSS_SENTRY", sc2::UNIT_TYPEID::PROTOSS_SENTRY)
+		.value("PROTOSS_SHIELDBATTERY", sc2::UNIT_TYPEID::PROTOSS_SHIELDBATTERY)
+		.value("PROTOSS_STALKER", sc2::UNIT_TYPEID::PROTOSS_STALKER)
+		.value("PROTOSS_STARGATE", sc2::UNIT_TYPEID::PROTOSS_STARGATE)
+		.value("PROTOSS_TEMPEST", sc2::UNIT_TYPEID::PROTOSS_TEMPEST)
+		.value("PROTOSS_TEMPLARARCHIVE", sc2::UNIT_TYPEID::PROTOSS_TEMPLARARCHIVE)
+		.value("PROTOSS_TWILIGHTCOUNCIL", sc2::UNIT_TYPEID::PROTOSS_TWILIGHTCOUNCIL)
+		.value("PROTOSS_VOIDRAY", sc2::UNIT_TYPEID::PROTOSS_VOIDRAY)
+		.value("PROTOSS_WARPGATE", sc2::UNIT_TYPEID::PROTOSS_WARPGATE)
+		.value("PROTOSS_WARPPRISM", sc2::UNIT_TYPEID::PROTOSS_WARPPRISM)
+		.value("PROTOSS_WARPPRISMPHASING", sc2::UNIT_TYPEID::PROTOSS_WARPPRISMPHASING)
+		.value("PROTOSS_ZEALOT", sc2::UNIT_TYPEID::PROTOSS_ZEALOT)
+		.value("PSIDISRUPTOR", sc2::UNIT_TYPEID::PSIDISRUPTOR)
+		.value("PSIINDOCTRINATOR", sc2::UNIT_TYPEID::PSIINDOCTRINATOR)
+		.value("PSIOPSCOMMERCIAL", sc2::UNIT_TYPEID::PSIOPSCOMMERCIAL)
+		.value("PSISHOCKWEAPON", sc2::UNIT_TYPEID::PSISHOCKWEAPON)
+		.value("PUNISHERGRENADESLMWEAPON", sc2::UNIT_TYPEID::PUNISHERGRENADESLMWEAPON)
+		.value("PURIFIER", sc2::UNIT_TYPEID::PURIFIER)
+		.value("PURIFIERBLASTMARKUNIT", sc2::UNIT_TYPEID::PURIFIERBLASTMARKUNIT)
+		.value("PYGALISK", sc2::UNIT_TYPEID::PYGALISK)
+		.value("PYGALISKCOCOON", sc2::UNIT_TYPEID::PYGALISKCOCOON)
+		.value("QUEENCOOPACGLUESCREENDUMMY", sc2::UNIT_TYPEID::QUEENCOOPACGLUESCREENDUMMY)
+		.value("QUEENMP", sc2::UNIT_TYPEID::QUEENMP)
+		.value("QUEENMPENSNAREMISSILE", sc2::UNIT_TYPEID::QUEENMPENSNAREMISSILE)
+		.value("QUEENMPSPAWNBROODLINGSMISSILE", sc2::UNIT_TYPEID::QUEENMPSPAWNBROODLINGSMISSILE)
+		.value("QUEENZAGARAACGLUESCREENDUMMY", sc2::UNIT_TYPEID::QUEENZAGARAACGLUESCREENDUMMY)
+		.value("QUESTIONMARK", sc2::UNIT_TYPEID::QUESTIONMARK)
+		.value("RAIDLIBERATORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::RAIDLIBERATORACGLUESCREENDUMMY)
+		.value("RAILGUNTURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::RAILGUNTURRETACGLUESCREENDUMMY)
+		.value("RAPTORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::RAPTORACGLUESCREENDUMMY)
+		.value("RAVAGERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::RAVAGERACGLUESCREENDUMMY)
+		.value("RAVAGERBURROWED", sc2::UNIT_TYPEID::RAVAGERBURROWED)
+		.value("RAVAGERCORROSIVEBILEMISSILE", sc2::UNIT_TYPEID::RAVAGERCORROSIVEBILEMISSILE)
+		.value("RAVAGERWEAPONMISSILE", sc2::UNIT_TYPEID::RAVAGERWEAPONMISSILE)
+		.value("RAVASAURACGLUESCREENDUMMY", sc2::UNIT_TYPEID::RAVASAURACGLUESCREENDUMMY)
+		.value("RAVENREPAIRDRONE", sc2::UNIT_TYPEID::RAVENREPAIRDRONE)
+		.value("RAVENREPAIRDRONERELEASEWEAPON", sc2::UNIT_TYPEID::RAVENREPAIRDRONERELEASEWEAPON)
+		.value("RAVENSCRAMBLERMISSILE", sc2::UNIT_TYPEID::RAVENSCRAMBLERMISSILE)
+		.value("RAVENSHREDDERMISSILEWEAPON", sc2::UNIT_TYPEID::RAVENSHREDDERMISSILEWEAPON)
+		.value("RAVENTYPEIIACGLUESCREENDUMMY", sc2::UNIT_TYPEID::RAVENTYPEIIACGLUESCREENDUMMY)
+		.value("RAYNOR", sc2::UNIT_TYPEID::RAYNOR)
+		.value("RAYNOR01", sc2::UNIT_TYPEID::RAYNOR01)
+		.value("RAYNORCOMMANDO", sc2::UNIT_TYPEID::RAYNORCOMMANDO)
+		.value("REAPERPLACEHOLDER", sc2::UNIT_TYPEID::REAPERPLACEHOLDER)
+		.value("REAPERPLACEMENT", sc2::UNIT_TYPEID::REAPERPLACEMENT)
+		.value("REAVERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::REAVERACGLUESCREENDUMMY)
+		.value("REDSTONELAVACRITTER", sc2::UNIT_TYPEID::REDSTONELAVACRITTER)
+		.value("REDSTONELAVACRITTERBURROWED", sc2::UNIT_TYPEID::REDSTONELAVACRITTERBURROWED)
+		.value("REDSTONELAVACRITTERINJURED", sc2::UNIT_TYPEID::REDSTONELAVACRITTERINJURED)
+		.value("REDSTONELAVACRITTERINJUREDBURROWED", sc2::UNIT_TYPEID::REDSTONELAVACRITTERINJUREDBURROWED)
+		.value("RELEASEINTERCEPTORSBEACON", sc2::UNIT_TYPEID::RELEASEINTERCEPTORSBEACON)
+		.value("RENEGADELONGBOLTMISSILEWEAPON", sc2::UNIT_TYPEID::RENEGADELONGBOLTMISSILEWEAPON)
+		.value("RENEGADEMISSILETURRET", sc2::UNIT_TYPEID::RENEGADEMISSILETURRET)
+		.value("REPLICANT", sc2::UNIT_TYPEID::REPLICANT)
+		.value("REPTILECRATE", sc2::UNIT_TYPEID::REPTILECRATE)
+		.value("REPULSERFIELD10", sc2::UNIT_TYPEID::REPULSERFIELD10)
+		.value("REPULSERFIELD12", sc2::UNIT_TYPEID::REPULSERFIELD12)
+		.value("REPULSERFIELD6", sc2::UNIT_TYPEID::REPULSERFIELD6)
+		.value("REPULSERFIELD8", sc2::UNIT_TYPEID::REPULSERFIELD8)
+		.value("REPULSORCANNONWEAPON", sc2::UNIT_TYPEID::REPULSORCANNONWEAPON)
+		.value("RESOURCEBLOCKER", sc2::UNIT_TYPEID::RESOURCEBLOCKER)
+		.value("RIPFIELDGENERATOR", sc2::UNIT_TYPEID::RIPFIELDGENERATOR)
+		.value("RIPFIELDGENERATORSMALL", sc2::UNIT_TYPEID::RIPFIELDGENERATORSMALL)
+		.value("ROACHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ROACHACGLUESCREENDUMMY)
+		.value("ROACHVILEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ROACHVILEACGLUESCREENDUMMY)
+		.value("ROCKS2X2NONCONJOINED", sc2::UNIT_TYPEID::ROCKS2X2NONCONJOINED)
+		.value("ROUGHTERRAIN", sc2::UNIT_TYPEID::ROUGHTERRAIN)
+		.value("SCIENCEFACILITY", sc2::UNIT_TYPEID::SCIENCEFACILITY)
+		.value("SCIENCEVESSEL", sc2::UNIT_TYPEID::SCIENCEVESSEL)
+		.value("SCIENCEVESSELACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SCIENCEVESSELACGLUESCREENDUMMY)
+		.value("SCIENTIST", sc2::UNIT_TYPEID::SCIENTIST)
+		.value("SCOPETEST", sc2::UNIT_TYPEID::SCOPETEST)
+		.value("SCOURGE", sc2::UNIT_TYPEID::SCOURGE)
+		.value("SCOURGEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SCOURGEACGLUESCREENDUMMY)
+		.value("SCOURGEMP", sc2::UNIT_TYPEID::SCOURGEMP)
+		.value("SCOUT", sc2::UNIT_TYPEID::SCOUT)
+		.value("SCOUTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SCOUTACGLUESCREENDUMMY)
+		.value("SCOUTAIRWEAPONLEFT", sc2::UNIT_TYPEID::SCOUTAIRWEAPONLEFT)
+		.value("SCOUTAIRWEAPONRIGHT", sc2::UNIT_TYPEID::SCOUTAIRWEAPONRIGHT)
+		.value("SCOUTMP", sc2::UNIT_TYPEID::SCOUTMP)
+		.value("SCOUTMPAIRWEAPONLEFT", sc2::UNIT_TYPEID::SCOUTMPAIRWEAPONLEFT)
+		.value("SCOUTMPAIRWEAPONRIGHT", sc2::UNIT_TYPEID::SCOUTMPAIRWEAPONRIGHT)
+		.value("SCRAPHUGE", sc2::UNIT_TYPEID::SCRAPHUGE)
+		.value("SCRAPSALVAGE1X1", sc2::UNIT_TYPEID::SCRAPSALVAGE1X1)
+		.value("SCRAPSALVAGE2X2", sc2::UNIT_TYPEID::SCRAPSALVAGE2X2)
+		.value("SCRAPSALVAGE3X3", sc2::UNIT_TYPEID::SCRAPSALVAGE3X3)
+		.value("SECRETDOCUMENTS", sc2::UNIT_TYPEID::SECRETDOCUMENTS)
+		.value("SECURITYGATEDIAGONALBLUR", sc2::UNIT_TYPEID::SECURITYGATEDIAGONALBLUR)
+		.value("SECURITYGATEDIAGONALBLURLOWERED", sc2::UNIT_TYPEID::SECURITYGATEDIAGONALBLURLOWERED)
+		.value("SECURITYGATEDIAGONALULBR", sc2::UNIT_TYPEID::SECURITYGATEDIAGONALULBR)
+		.value("SECURITYGATEDIAGONALULBRLOWERED", sc2::UNIT_TYPEID::SECURITYGATEDIAGONALULBRLOWERED)
+		.value("SECURITYGATESTRAIGHTHORIZONTAL", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTHORIZONTAL)
+		.value("SECURITYGATESTRAIGHTHORIZONTALBF", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTHORIZONTALBF)
+		.value("SECURITYGATESTRAIGHTHORIZONTALBFLOWERED", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTHORIZONTALBFLOWERED)
+		.value("SECURITYGATESTRAIGHTHORIZONTALLOWERED", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTHORIZONTALLOWERED)
+		.value("SECURITYGATESTRAIGHTVERTICAL", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTVERTICAL)
+		.value("SECURITYGATESTRAIGHTVERTICALLF", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTVERTICALLF)
+		.value("SECURITYGATESTRAIGHTVERTICALLFLOWERED", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTVERTICALLFLOWERED)
+		.value("SECURITYGATESTRAIGHTVERTICALLOWERED", sc2::UNIT_TYPEID::SECURITYGATESTRAIGHTVERTICALLOWERED)
+		.value("SEEKERMISSILE", sc2::UNIT_TYPEID::SEEKERMISSILE)
+		.value("SELENDIS", sc2::UNIT_TYPEID::SELENDIS)
+		.value("SELENDISINTERCEPTOR", sc2::UNIT_TYPEID::SELENDISINTERCEPTOR)
+		.value("SENTRYACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SENTRYACGLUESCREENDUMMY)
+		.value("SENTRYFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SENTRYFENIXACGLUESCREENDUMMY)
+		.value("SENTRYGUN", sc2::UNIT_TYPEID::SENTRYGUN)
+		.value("SENTRYGUNUNDERGROUND", sc2::UNIT_TYPEID::SENTRYGUNUNDERGROUND)
+		.value("SENTRYPURIFIERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SENTRYPURIFIERACGLUESCREENDUMMY)
+		.value("SENTRYTALDARIMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SENTRYTALDARIMACGLUESCREENDUMMY)
+		.value("SHAKURASLIGHTBRIDGENE10", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENE10)
+		.value("SHAKURASLIGHTBRIDGENE10OUT", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENE10OUT)
+		.value("SHAKURASLIGHTBRIDGENE12", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENE12)
+		.value("SHAKURASLIGHTBRIDGENE12OUT", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENE12OUT)
+		.value("SHAKURASLIGHTBRIDGENE8", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENE8)
+		.value("SHAKURASLIGHTBRIDGENE8OUT", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENE8OUT)
+		.value("SHAKURASLIGHTBRIDGENW10", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENW10)
+		.value("SHAKURASLIGHTBRIDGENW10OUT", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENW10OUT)
+		.value("SHAKURASLIGHTBRIDGENW12", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENW12)
+		.value("SHAKURASLIGHTBRIDGENW12OUT", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENW12OUT)
+		.value("SHAKURASLIGHTBRIDGENW8", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENW8)
+		.value("SHAKURASLIGHTBRIDGENW8OUT", sc2::UNIT_TYPEID::SHAKURASLIGHTBRIDGENW8OUT)
+		.value("SHAPE4POINTSTAR", sc2::UNIT_TYPEID::SHAPE4POINTSTAR)
+		.value("SHAPE5POINTSTAR", sc2::UNIT_TYPEID::SHAPE5POINTSTAR)
+		.value("SHAPE6POINTSTAR", sc2::UNIT_TYPEID::SHAPE6POINTSTAR)
+		.value("SHAPE8POINTSTAR", sc2::UNIT_TYPEID::SHAPE8POINTSTAR)
+		.value("SHAPEAPPLE", sc2::UNIT_TYPEID::SHAPEAPPLE)
+		.value("SHAPEARROWPOINTER", sc2::UNIT_TYPEID::SHAPEARROWPOINTER)
+		.value("SHAPEBANANA", sc2::UNIT_TYPEID::SHAPEBANANA)
+		.value("SHAPEBASEBALL", sc2::UNIT_TYPEID::SHAPEBASEBALL)
+		.value("SHAPEBASEBALLBAT", sc2::UNIT_TYPEID::SHAPEBASEBALLBAT)
+		.value("SHAPEBASKETBALL", sc2::UNIT_TYPEID::SHAPEBASKETBALL)
+		.value("SHAPEBOWL", sc2::UNIT_TYPEID::SHAPEBOWL)
+		.value("SHAPEBOX", sc2::UNIT_TYPEID::SHAPEBOX)
+		.value("SHAPECAPSULE", sc2::UNIT_TYPEID::SHAPECAPSULE)
+		.value("SHAPECARROT", sc2::UNIT_TYPEID::SHAPECARROT)
+		.value("SHAPECASHLARGE", sc2::UNIT_TYPEID::SHAPECASHLARGE)
+		.value("SHAPECASHMEDIUM", sc2::UNIT_TYPEID::SHAPECASHMEDIUM)
+		.value("SHAPECASHSMALL", sc2::UNIT_TYPEID::SHAPECASHSMALL)
+		.value("SHAPECHERRY", sc2::UNIT_TYPEID::SHAPECHERRY)
+		.value("SHAPECONE", sc2::UNIT_TYPEID::SHAPECONE)
+		.value("SHAPECRESCENTMOON", sc2::UNIT_TYPEID::SHAPECRESCENTMOON)
+		.value("SHAPECUBE", sc2::UNIT_TYPEID::SHAPECUBE)
+		.value("SHAPECYLINDER", sc2::UNIT_TYPEID::SHAPECYLINDER)
+		.value("SHAPEDECAHEDRON", sc2::UNIT_TYPEID::SHAPEDECAHEDRON)
+		.value("SHAPEDIAMOND", sc2::UNIT_TYPEID::SHAPEDIAMOND)
+		.value("SHAPEDODECAHEDRON", sc2::UNIT_TYPEID::SHAPEDODECAHEDRON)
+		.value("SHAPEDOLLARSIGN", sc2::UNIT_TYPEID::SHAPEDOLLARSIGN)
+		.value("SHAPEEGG", sc2::UNIT_TYPEID::SHAPEEGG)
+		.value("SHAPEEUROSIGN", sc2::UNIT_TYPEID::SHAPEEUROSIGN)
+		.value("SHAPEFOOTBALL", sc2::UNIT_TYPEID::SHAPEFOOTBALL)
+		.value("SHAPEFOOTBALLCOLORED", sc2::UNIT_TYPEID::SHAPEFOOTBALLCOLORED)
+		.value("SHAPEGEMSTONE", sc2::UNIT_TYPEID::SHAPEGEMSTONE)
+		.value("SHAPEGOLFBALL", sc2::UNIT_TYPEID::SHAPEGOLFBALL)
+		.value("SHAPEGOLFCLUB", sc2::UNIT_TYPEID::SHAPEGOLFCLUB)
+		.value("SHAPEGRAPE", sc2::UNIT_TYPEID::SHAPEGRAPE)
+		.value("SHAPEHAND", sc2::UNIT_TYPEID::SHAPEHAND)
+		.value("SHAPEHEART", sc2::UNIT_TYPEID::SHAPEHEART)
+		.value("SHAPEHOCKEYPUCK", sc2::UNIT_TYPEID::SHAPEHOCKEYPUCK)
+		.value("SHAPEHOCKEYSTICK", sc2::UNIT_TYPEID::SHAPEHOCKEYSTICK)
+		.value("SHAPEHORSESHOE", sc2::UNIT_TYPEID::SHAPEHORSESHOE)
+		.value("SHAPEICOSAHEDRON", sc2::UNIT_TYPEID::SHAPEICOSAHEDRON)
+		.value("SHAPEJACK", sc2::UNIT_TYPEID::SHAPEJACK)
+		.value("SHAPELEMON", sc2::UNIT_TYPEID::SHAPELEMON)
+		.value("SHAPELEMONSMALL", sc2::UNIT_TYPEID::SHAPELEMONSMALL)
+		.value("SHAPEMONEYBAG", sc2::UNIT_TYPEID::SHAPEMONEYBAG)
+		.value("SHAPEO", sc2::UNIT_TYPEID::SHAPEO)
+		.value("SHAPEOCTAHEDRON", sc2::UNIT_TYPEID::SHAPEOCTAHEDRON)
+		.value("SHAPEORANGE", sc2::UNIT_TYPEID::SHAPEORANGE)
+		.value("SHAPEORANGESMALL", sc2::UNIT_TYPEID::SHAPEORANGESMALL)
+		.value("SHAPEPEANUT", sc2::UNIT_TYPEID::SHAPEPEANUT)
+		.value("SHAPEPEAR", sc2::UNIT_TYPEID::SHAPEPEAR)
+		.value("SHAPEPINEAPPLE", sc2::UNIT_TYPEID::SHAPEPINEAPPLE)
+		.value("SHAPEPLUSSIGN", sc2::UNIT_TYPEID::SHAPEPLUSSIGN)
+		.value("SHAPEPOUNDSIGN", sc2::UNIT_TYPEID::SHAPEPOUNDSIGN)
+		.value("SHAPEPYRAMID", sc2::UNIT_TYPEID::SHAPEPYRAMID)
+		.value("SHAPERAINBOW", sc2::UNIT_TYPEID::SHAPERAINBOW)
+		.value("SHAPEROUNDEDCUBE", sc2::UNIT_TYPEID::SHAPEROUNDEDCUBE)
+		.value("SHAPESADFACE", sc2::UNIT_TYPEID::SHAPESADFACE)
+		.value("SHAPESHAMROCK", sc2::UNIT_TYPEID::SHAPESHAMROCK)
+		.value("SHAPESMILEYFACE", sc2::UNIT_TYPEID::SHAPESMILEYFACE)
+		.value("SHAPESOCCERBALL", sc2::UNIT_TYPEID::SHAPESOCCERBALL)
+		.value("SHAPESPADE", sc2::UNIT_TYPEID::SHAPESPADE)
+		.value("SHAPESPHERE", sc2::UNIT_TYPEID::SHAPESPHERE)
+		.value("SHAPESTRAWBERRY", sc2::UNIT_TYPEID::SHAPESTRAWBERRY)
+		.value("SHAPETENNISBALL", sc2::UNIT_TYPEID::SHAPETENNISBALL)
+		.value("SHAPETETRAHEDRON", sc2::UNIT_TYPEID::SHAPETETRAHEDRON)
+		.value("SHAPETHICKTORUS", sc2::UNIT_TYPEID::SHAPETHICKTORUS)
+		.value("SHAPETHINTORUS", sc2::UNIT_TYPEID::SHAPETHINTORUS)
+		.value("SHAPETORUS", sc2::UNIT_TYPEID::SHAPETORUS)
+		.value("SHAPETREASURECHESTCLOSED", sc2::UNIT_TYPEID::SHAPETREASURECHESTCLOSED)
+		.value("SHAPETREASURECHESTOPEN", sc2::UNIT_TYPEID::SHAPETREASURECHESTOPEN)
+		.value("SHAPETUBE", sc2::UNIT_TYPEID::SHAPETUBE)
+		.value("SHAPEWATERMELON", sc2::UNIT_TYPEID::SHAPEWATERMELON)
+		.value("SHAPEWATERMELONSMALL", sc2::UNIT_TYPEID::SHAPEWATERMELONSMALL)
+		.value("SHAPEWONSIGN", sc2::UNIT_TYPEID::SHAPEWONSIGN)
+		.value("SHAPEX", sc2::UNIT_TYPEID::SHAPEX)
+		.value("SHAPEYENSIGN", sc2::UNIT_TYPEID::SHAPEYENSIGN)
+		.value("SHEEP", sc2::UNIT_TYPEID::SHEEP)
+		.value("SHIELDBATTERYACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SHIELDBATTERYACGLUESCREENDUMMY)
+		.value("SHIPALARM", sc2::UNIT_TYPEID::SHIPALARM)
+		.value("SHORTBRIDGEHORIZONTAL", sc2::UNIT_TYPEID::SHORTBRIDGEHORIZONTAL)
+		.value("SHORTBRIDGEVERTICAL", sc2::UNIT_TYPEID::SHORTBRIDGEVERTICAL)
+		.value("SIEGEBREAKER", sc2::UNIT_TYPEID::SIEGEBREAKER)
+		.value("SIEGEBREAKERSIEGED", sc2::UNIT_TYPEID::SIEGEBREAKERSIEGED)
+		.value("SIEGETANKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SIEGETANKACGLUESCREENDUMMY)
+		.value("SIEGETANKMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SIEGETANKMENGSKACGLUESCREENDUMMY)
+		.value("SIEGETANKSKINPREVIEW", sc2::UNIT_TYPEID::SIEGETANKSKINPREVIEW)
+		.value("SILIBERATORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SILIBERATORACGLUESCREENDUMMY)
+		.value("SLAYNELEMENTAL", sc2::UNIT_TYPEID::SLAYNELEMENTAL)
+		.value("SLAYNELEMENTALGRABAIRUNIT", sc2::UNIT_TYPEID::SLAYNELEMENTALGRABAIRUNIT)
+		.value("SLAYNELEMENTALGRABGROUNDUNIT", sc2::UNIT_TYPEID::SLAYNELEMENTALGRABGROUNDUNIT)
+		.value("SLAYNELEMENTALGRABWEAPON", sc2::UNIT_TYPEID::SLAYNELEMENTALGRABWEAPON)
+		.value("SLAYNELEMENTALWEAPON", sc2::UNIT_TYPEID::SLAYNELEMENTALWEAPON)
+		.value("SLAYNSWARMHOSTSPAWNFLYER", sc2::UNIT_TYPEID::SLAYNSWARMHOSTSPAWNFLYER)
+		.value("SMADJUTANT", sc2::UNIT_TYPEID::SMADJUTANT)
+		.value("SMADJUTANTHOLOGRAM", sc2::UNIT_TYPEID::SMADJUTANTHOLOGRAM)
+		.value("SMANNABELLE", sc2::UNIT_TYPEID::SMANNABELLE)
+		.value("SMARCTURUSHOLOGRAM", sc2::UNIT_TYPEID::SMARCTURUSHOLOGRAM)
+		.value("SMARCTURUSMENGSK", sc2::UNIT_TYPEID::SMARCTURUSMENGSK)
+		.value("SMARMORYBANSHEE", sc2::UNIT_TYPEID::SMARMORYBANSHEE)
+		.value("SMARMORYBANSHEEPHCRATE", sc2::UNIT_TYPEID::SMARMORYBANSHEEPHCRATE)
+		.value("SMARMORYDROPSHIP", sc2::UNIT_TYPEID::SMARMORYDROPSHIP)
+		.value("SMARMORYDROPSHIPPHCRATE", sc2::UNIT_TYPEID::SMARMORYDROPSHIPPHCRATE)
+		.value("SMARMORYGHOSTCRATE", sc2::UNIT_TYPEID::SMARMORYGHOSTCRATE)
+		.value("SMARMORYGHOSTCRATEPHCRATE", sc2::UNIT_TYPEID::SMARMORYGHOSTCRATEPHCRATE)
+		.value("SMARMORYRIFLE", sc2::UNIT_TYPEID::SMARMORYRIFLE)
+		.value("SMARMORYSPECTRECRATE", sc2::UNIT_TYPEID::SMARMORYSPECTRECRATE)
+		.value("SMARMORYSPECTRECRATEPHCRATE", sc2::UNIT_TYPEID::SMARMORYSPECTRECRATEPHCRATE)
+		.value("SMARMORYSPIDERMINE", sc2::UNIT_TYPEID::SMARMORYSPIDERMINE)
+		.value("SMARMORYSPIDERMINEPHCRATE", sc2::UNIT_TYPEID::SMARMORYSPIDERMINEPHCRATE)
+		.value("SMARMORYTANK", sc2::UNIT_TYPEID::SMARMORYTANK)
+		.value("SMARMORYTANKPHCRATE", sc2::UNIT_TYPEID::SMARMORYTANKPHCRATE)
+		.value("SMARMORYVIKING", sc2::UNIT_TYPEID::SMARMORYVIKING)
+		.value("SMARMORYVIKINGPHCRATE", sc2::UNIT_TYPEID::SMARMORYVIKINGPHCRATE)
+		.value("SMBANSHEE", sc2::UNIT_TYPEID::SMBANSHEE)
+		.value("SMBOUNTYHUNTER", sc2::UNIT_TYPEID::SMBOUNTYHUNTER)
+		.value("SMBRALIK", sc2::UNIT_TYPEID::SMBRALIK)
+		.value("SMBRIDGEPLANETAGRIA", sc2::UNIT_TYPEID::SMBRIDGEPLANETAGRIA)
+		.value("SMBRIDGEPLANETAIUR", sc2::UNIT_TYPEID::SMBRIDGEPLANETAIUR)
+		.value("SMBRIDGEPLANETAVERNUS", sc2::UNIT_TYPEID::SMBRIDGEPLANETAVERNUS)
+		.value("SMBRIDGEPLANETBELSHIR", sc2::UNIT_TYPEID::SMBRIDGEPLANETBELSHIR)
+		.value("SMBRIDGEPLANETCASTANAR", sc2::UNIT_TYPEID::SMBRIDGEPLANETCASTANAR)
+		.value("SMBRIDGEPLANETCHAR", sc2::UNIT_TYPEID::SMBRIDGEPLANETCHAR)
+		.value("SMBRIDGEPLANETHAVEN", sc2::UNIT_TYPEID::SMBRIDGEPLANETHAVEN)
+		.value("SMBRIDGEPLANETKORHAL", sc2::UNIT_TYPEID::SMBRIDGEPLANETKORHAL)
+		.value("SMBRIDGEPLANETMEINHOFF", sc2::UNIT_TYPEID::SMBRIDGEPLANETMEINHOFF)
+		.value("SMBRIDGEPLANETMONLYTH", sc2::UNIT_TYPEID::SMBRIDGEPLANETMONLYTH)
+		.value("SMBRIDGEPLANETNEWFOLSOM", sc2::UNIT_TYPEID::SMBRIDGEPLANETNEWFOLSOM)
+		.value("SMBRIDGEPLANETPORTZION", sc2::UNIT_TYPEID::SMBRIDGEPLANETPORTZION)
+		.value("SMBRIDGEPLANETREDSTONE", sc2::UNIT_TYPEID::SMBRIDGEPLANETREDSTONE)
+		.value("SMBRIDGEPLANETSHAKURAS", sc2::UNIT_TYPEID::SMBRIDGEPLANETSHAKURAS)
+		.value("SMBRIDGEPLANETSPACE", sc2::UNIT_TYPEID::SMBRIDGEPLANETSPACE)
+		.value("SMBRIDGEPLANETSPACEASTEROIDS", sc2::UNIT_TYPEID::SMBRIDGEPLANETSPACEASTEROIDS)
+		.value("SMBRIDGEPLANETTARSONIS", sc2::UNIT_TYPEID::SMBRIDGEPLANETTARSONIS)
+		.value("SMBRIDGEPLANETTYPHON", sc2::UNIT_TYPEID::SMBRIDGEPLANETTYPHON)
+		.value("SMBRIDGEPLANETTYRADOR", sc2::UNIT_TYPEID::SMBRIDGEPLANETTYRADOR)
+		.value("SMBRIDGEPLANETULAAN", sc2::UNIT_TYPEID::SMBRIDGEPLANETULAAN)
+		.value("SMBRIDGEPLANETULNAR", sc2::UNIT_TYPEID::SMBRIDGEPLANETULNAR)
+		.value("SMBRIDGEPLANETVALHALLA", sc2::UNIT_TYPEID::SMBRIDGEPLANETVALHALLA)
+		.value("SMBRIDGEPLANETXIL", sc2::UNIT_TYPEID::SMBRIDGEPLANETXIL)
+		.value("SMBRIDGEPLANETZHAKULDAS", sc2::UNIT_TYPEID::SMBRIDGEPLANETZHAKULDAS)
+		.value("SMBRIDGEWINDOWSPACE", sc2::UNIT_TYPEID::SMBRIDGEWINDOWSPACE)
+		.value("SMCADE", sc2::UNIT_TYPEID::SMCADE)
+		.value("SMCAMERABRIDGE", sc2::UNIT_TYPEID::SMCAMERABRIDGE)
+		.value("SMCAMERATERRAN01", sc2::UNIT_TYPEID::SMCAMERATERRAN01)
+		.value("SMCAMERATERRAN02A", sc2::UNIT_TYPEID::SMCAMERATERRAN02A)
+		.value("SMCAMERATERRAN02B", sc2::UNIT_TYPEID::SMCAMERATERRAN02B)
+		.value("SMCAMERATERRAN03", sc2::UNIT_TYPEID::SMCAMERATERRAN03)
+		.value("SMCAMERATERRAN04", sc2::UNIT_TYPEID::SMCAMERATERRAN04)
+		.value("SMCAMERATERRAN04A", sc2::UNIT_TYPEID::SMCAMERATERRAN04A)
+		.value("SMCAMERATERRAN04B", sc2::UNIT_TYPEID::SMCAMERATERRAN04B)
+		.value("SMCAMERATERRAN05", sc2::UNIT_TYPEID::SMCAMERATERRAN05)
+		.value("SMCAMERATERRAN06A", sc2::UNIT_TYPEID::SMCAMERATERRAN06A)
+		.value("SMCAMERATERRAN06B", sc2::UNIT_TYPEID::SMCAMERATERRAN06B)
+		.value("SMCAMERATERRAN06C", sc2::UNIT_TYPEID::SMCAMERATERRAN06C)
+		.value("SMCAMERATERRAN07", sc2::UNIT_TYPEID::SMCAMERATERRAN07)
+		.value("SMCAMERATERRAN08", sc2::UNIT_TYPEID::SMCAMERATERRAN08)
+		.value("SMCAMERATERRAN09", sc2::UNIT_TYPEID::SMCAMERATERRAN09)
+		.value("SMCAMERATERRAN10", sc2::UNIT_TYPEID::SMCAMERATERRAN10)
+		.value("SMCAMERATERRAN11", sc2::UNIT_TYPEID::SMCAMERATERRAN11)
+		.value("SMCAMERATERRAN12", sc2::UNIT_TYPEID::SMCAMERATERRAN12)
+		.value("SMCAMERATERRAN13", sc2::UNIT_TYPEID::SMCAMERATERRAN13)
+		.value("SMCAMERATERRAN14", sc2::UNIT_TYPEID::SMCAMERATERRAN14)
+		.value("SMCAMERATERRAN15", sc2::UNIT_TYPEID::SMCAMERATERRAN15)
+		.value("SMCAMERATERRAN16", sc2::UNIT_TYPEID::SMCAMERATERRAN16)
+		.value("SMCAMERATERRAN17", sc2::UNIT_TYPEID::SMCAMERATERRAN17)
+		.value("SMCAMERATERRAN20", sc2::UNIT_TYPEID::SMCAMERATERRAN20)
+		.value("SMCHARBATTLEFIELDENDPROPS", sc2::UNIT_TYPEID::SMCHARBATTLEFIELDENDPROPS)
+		.value("SMCHARBATTLEZONEARTIFACTHS", sc2::UNIT_TYPEID::SMCHARBATTLEZONEARTIFACTHS)
+		.value("SMCHARBATTLEZONEBRIEFCASEHS", sc2::UNIT_TYPEID::SMCHARBATTLEZONEBRIEFCASEHS)
+		.value("SMCHARBATTLEZONEBRIEFINGSET", sc2::UNIT_TYPEID::SMCHARBATTLEZONEBRIEFINGSET)
+		.value("SMCHARBATTLEZONEBRIEFINGSET2", sc2::UNIT_TYPEID::SMCHARBATTLEZONEBRIEFINGSET2)
+		.value("SMCHARBATTLEZONEBRIEFINGSETLEFT", sc2::UNIT_TYPEID::SMCHARBATTLEZONEBRIEFINGSETLEFT)
+		.value("SMCHARBATTLEZONEBRIEFINGSETRIGHT", sc2::UNIT_TYPEID::SMCHARBATTLEZONEBRIEFINGSETRIGHT)
+		.value("SMCHARBATTLEZONEDROPSHIPHS", sc2::UNIT_TYPEID::SMCHARBATTLEZONEDROPSHIPHS)
+		.value("SMCHARBATTLEZONEFLAG", sc2::UNIT_TYPEID::SMCHARBATTLEZONEFLAG)
+		.value("SMCHARBATTLEZONERADIOHS", sc2::UNIT_TYPEID::SMCHARBATTLEZONERADIOHS)
+		.value("SMCHARBATTLEZONESET", sc2::UNIT_TYPEID::SMCHARBATTLEZONESET)
+		.value("SMCHARBATTLEZONESET2", sc2::UNIT_TYPEID::SMCHARBATTLEZONESET2)
+		.value("SMCHARBATTLEZONESET3", sc2::UNIT_TYPEID::SMCHARBATTLEZONESET3)
+		.value("SMCHARBATTLEZONESET4", sc2::UNIT_TYPEID::SMCHARBATTLEZONESET4)
+		.value("SMCHARBATTLEZONESET5", sc2::UNIT_TYPEID::SMCHARBATTLEZONESET5)
+		.value("SMCHARBATTLEZONESHADOWBOX", sc2::UNIT_TYPEID::SMCHARBATTLEZONESHADOWBOX)
+		.value("SMCHARBATTLEZONETURRET", sc2::UNIT_TYPEID::SMCHARBATTLEZONETURRET)
+		.value("SMCHARCUTSCENES00", sc2::UNIT_TYPEID::SMCHARCUTSCENES00)
+		.value("SMCHARCUTSCENES01", sc2::UNIT_TYPEID::SMCHARCUTSCENES01)
+		.value("SMCHARCUTSCENES02", sc2::UNIT_TYPEID::SMCHARCUTSCENES02)
+		.value("SMCHARCUTSCENES03", sc2::UNIT_TYPEID::SMCHARCUTSCENES03)
+		.value("SMCHARGATLINGGUN", sc2::UNIT_TYPEID::SMCHARGATLINGGUN)
+		.value("SMCHARINTERACTIVE02SKYPARALLAX", sc2::UNIT_TYPEID::SMCHARINTERACTIVE02SKYPARALLAX)
+		.value("SMCHARINTERACTIVESKYPARALLAX", sc2::UNIT_TYPEID::SMCHARINTERACTIVESKYPARALLAX)
+		.value("SMCIVILIAN", sc2::UNIT_TYPEID::SMCIVILIAN)
+		.value("SMCOOPER", sc2::UNIT_TYPEID::SMCOOPER)
+		.value("SMDONNYVERMILLION", sc2::UNIT_TYPEID::SMDONNYVERMILLION)
+		.value("SMDONNYVERMILLIONDEATH", sc2::UNIT_TYPEID::SMDONNYVERMILLIONDEATH)
+		.value("SMDONNYVERMILLIONSET", sc2::UNIT_TYPEID::SMDONNYVERMILLIONSET)
+		.value("SMDROPSHIP", sc2::UNIT_TYPEID::SMDROPSHIP)
+		.value("SMDROPSHIPBLUE", sc2::UNIT_TYPEID::SMDROPSHIPBLUE)
+		.value("SMEARL", sc2::UNIT_TYPEID::SMEARL)
+		.value("SMFIREBAT", sc2::UNIT_TYPEID::SMFIREBAT)
+		.value("SMFIREBATPHCRATE", sc2::UNIT_TYPEID::SMFIREBATPHCRATE)
+		.value("SMFIRSTOFFICER", sc2::UNIT_TYPEID::SMFIRSTOFFICER)
+		.value("SMFLY", sc2::UNIT_TYPEID::SMFLY)
+		.value("SMGENERICMALEGREASEMONKEY01", sc2::UNIT_TYPEID::SMGENERICMALEGREASEMONKEY01)
+		.value("SMGENERICMALEGREASEMONKEY02", sc2::UNIT_TYPEID::SMGENERICMALEGREASEMONKEY02)
+		.value("SMGENERICMALEOFFICER01", sc2::UNIT_TYPEID::SMGENERICMALEOFFICER01)
+		.value("SMGENERICMALEOFFICER02", sc2::UNIT_TYPEID::SMGENERICMALEOFFICER02)
+		.value("SMHALL", sc2::UNIT_TYPEID::SMHALL)
+		.value("SMHAVENPLANET", sc2::UNIT_TYPEID::SMHAVENPLANET)
+		.value("SMHILL", sc2::UNIT_TYPEID::SMHILL)
+		.value("SMHYDRALISK", sc2::UNIT_TYPEID::SMHYDRALISK)
+		.value("SMHYDRALISKDEAD", sc2::UNIT_TYPEID::SMHYDRALISKDEAD)
+		.value("SMHYPERIONARMORER", sc2::UNIT_TYPEID::SMHYPERIONARMORER)
+		.value("SMHYPERIONARMORYSPACELIGHTING", sc2::UNIT_TYPEID::SMHYPERIONARMORYSPACELIGHTING)
+		.value("SMHYPERIONARMORYSTAGE1SET", sc2::UNIT_TYPEID::SMHYPERIONARMORYSTAGE1SET)
+		.value("SMHYPERIONARMORYSTAGE1SET01", sc2::UNIT_TYPEID::SMHYPERIONARMORYSTAGE1SET01)
+		.value("SMHYPERIONARMORYSTAGE1SET02", sc2::UNIT_TYPEID::SMHYPERIONARMORYSTAGE1SET02)
+		.value("SMHYPERIONARMORYSTAGE1SET03", sc2::UNIT_TYPEID::SMHYPERIONARMORYSTAGE1SET03)
+		.value("SMHYPERIONARMORYSTAGE1SWANNCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONARMORYSTAGE1SWANNCAMERAS)
+		.value("SMHYPERIONARMORYSTAGE1TECHNOLOGYCONSOLEHS", sc2::UNIT_TYPEID::SMHYPERIONARMORYSTAGE1TECHNOLOGYCONSOLEHS)
+		.value("SMHYPERIONARMORYVIKING", sc2::UNIT_TYPEID::SMHYPERIONARMORYVIKING)
+		.value("SMHYPERIONBRIDGEBRIEFING", sc2::UNIT_TYPEID::SMHYPERIONBRIDGEBRIEFING)
+		.value("SMHYPERIONBRIDGEBRIEFINGCENTER", sc2::UNIT_TYPEID::SMHYPERIONBRIDGEBRIEFINGCENTER)
+		.value("SMHYPERIONBRIDGEBRIEFINGLEFT", sc2::UNIT_TYPEID::SMHYPERIONBRIDGEBRIEFINGLEFT)
+		.value("SMHYPERIONBRIDGEBRIEFINGRIGHT", sc2::UNIT_TYPEID::SMHYPERIONBRIDGEBRIEFINGRIGHT)
+		.value("SMHYPERIONBRIDGEHOLOMAP", sc2::UNIT_TYPEID::SMHYPERIONBRIDGEHOLOMAP)
+		.value("SMHYPERIONBRIDGEPROPS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGEPROPS)
+		.value("SMHYPERIONBRIDGESTAGE1BATTLECOMMANDHS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1BATTLECOMMANDHS)
+		.value("SMHYPERIONBRIDGESTAGE1BATTLEREPORTSHS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1BATTLEREPORTSHS)
+		.value("SMHYPERIONBRIDGESTAGE1BOW", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1BOW)
+		.value("SMHYPERIONBRIDGESTAGE1CANTINAHS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1CANTINAHS)
+		.value("SMHYPERIONBRIDGESTAGE1CENTERCONSOLEHS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1CENTERCONSOLEHS)
+		.value("SMHYPERIONBRIDGESTAGE1HANSONCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1HANSONCAMERAS)
+		.value("SMHYPERIONBRIDGESTAGE1HORNERCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1HORNERCAMERAS)
+		.value("SMHYPERIONBRIDGESTAGE1SET", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1SET)
+		.value("SMHYPERIONBRIDGESTAGE1SET2", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1SET2)
+		.value("SMHYPERIONBRIDGESTAGE1SET3", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1SET3)
+		.value("SMHYPERIONBRIDGESTAGE1TOSHCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1TOSHCAMERAS)
+		.value("SMHYPERIONBRIDGESTAGE1TYCHUSCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1TYCHUSCAMERAS)
+		.value("SMHYPERIONBRIDGESTAGE1WINDOWHS", sc2::UNIT_TYPEID::SMHYPERIONBRIDGESTAGE1WINDOWHS)
+		.value("SMHYPERIONBRIDGETRAYNOR03BRIEFINGCAMERA", sc2::UNIT_TYPEID::SMHYPERIONBRIDGETRAYNOR03BRIEFINGCAMERA)
+		.value("SMHYPERIONCANTINABADGEHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINABADGEHS)
+		.value("SMHYPERIONCANTINAHYDRACLAWSHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAHYDRACLAWSHS)
+		.value("SMHYPERIONCANTINAMERCCOMPUTERHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAMERCCOMPUTERHS)
+		.value("SMHYPERIONCANTINAPOSTER1HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAPOSTER1HS)
+		.value("SMHYPERIONCANTINAPOSTER2HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAPOSTER2HS)
+		.value("SMHYPERIONCANTINAPOSTER3HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAPOSTER3HS)
+		.value("SMHYPERIONCANTINAPOSTER4HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAPOSTER4HS)
+		.value("SMHYPERIONCANTINAPOSTER5HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAPOSTER5HS)
+		.value("SMHYPERIONCANTINAPROGRESSFRAME", sc2::UNIT_TYPEID::SMHYPERIONCANTINAPROGRESSFRAME)
+		.value("SMHYPERIONCANTINAPROPS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAPROPS)
+		.value("SMHYPERIONCANTINASTAGE1ARCADEGAMEHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1ARCADEGAMEHS)
+		.value("SMHYPERIONCANTINASTAGE1CORKBOARDHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1CORKBOARDHS)
+		.value("SMHYPERIONCANTINASTAGE1EXITHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1EXITHS)
+		.value("SMHYPERIONCANTINASTAGE1JUKEBOXHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1JUKEBOXHS)
+		.value("SMHYPERIONCANTINASTAGE1PROGRESS1HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1PROGRESS1HS)
+		.value("SMHYPERIONCANTINASTAGE1PROGRESS2HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1PROGRESS2HS)
+		.value("SMHYPERIONCANTINASTAGE1PROGRESS3HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1PROGRESS3HS)
+		.value("SMHYPERIONCANTINASTAGE1PROGRESS4HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1PROGRESS4HS)
+		.value("SMHYPERIONCANTINASTAGE1PROGRESS5HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1PROGRESS5HS)
+		.value("SMHYPERIONCANTINASTAGE1PROGRESS6HS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1PROGRESS6HS)
+		.value("SMHYPERIONCANTINASTAGE1SET", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1SET)
+		.value("SMHYPERIONCANTINASTAGE1SET2", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1SET2)
+		.value("SMHYPERIONCANTINASTAGE1STAIRCASEHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1STAIRCASEHS)
+		.value("SMHYPERIONCANTINASTAGE1TVHS", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1TVHS)
+		.value("SMHYPERIONCANTINASTAGE1WALLPIECE", sc2::UNIT_TYPEID::SMHYPERIONCANTINASTAGE1WALLPIECE)
+		.value("SMHYPERIONCANTINATOSHCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONCANTINATOSHCAMERAS)
+		.value("SMHYPERIONCANTINATYCHUSCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONCANTINATYCHUSCAMERAS)
+		.value("SMHYPERIONCANTINAYBARRACAMERAS", sc2::UNIT_TYPEID::SMHYPERIONCANTINAYBARRACAMERAS)
+		.value("SMHYPERIONCORRIDORPROPS", sc2::UNIT_TYPEID::SMHYPERIONCORRIDORPROPS)
+		.value("SMHYPERIONCORRIDORSET", sc2::UNIT_TYPEID::SMHYPERIONCORRIDORSET)
+		.value("SMHYPERIONEXTERIOR", sc2::UNIT_TYPEID::SMHYPERIONEXTERIOR)
+		.value("SMHYPERIONEXTERIORHOLOGRAM", sc2::UNIT_TYPEID::SMHYPERIONEXTERIORHOLOGRAM)
+		.value("SMHYPERIONEXTERIORLOW", sc2::UNIT_TYPEID::SMHYPERIONEXTERIORLOW)
+		.value("SMHYPERIONLABADJUTANTCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONLABADJUTANTCAMERAS)
+		.value("SMHYPERIONLABARTIFACTBASEHS", sc2::UNIT_TYPEID::SMHYPERIONLABARTIFACTBASEHS)
+		.value("SMHYPERIONLABARTIFACTPART1HS", sc2::UNIT_TYPEID::SMHYPERIONLABARTIFACTPART1HS)
+		.value("SMHYPERIONLABARTIFACTPART2HS", sc2::UNIT_TYPEID::SMHYPERIONLABARTIFACTPART2HS)
+		.value("SMHYPERIONLABARTIFACTPART3HS", sc2::UNIT_TYPEID::SMHYPERIONLABARTIFACTPART3HS)
+		.value("SMHYPERIONLABARTIFACTPART4HS", sc2::UNIT_TYPEID::SMHYPERIONLABARTIFACTPART4HS)
+		.value("SMHYPERIONLABCOWINCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONLABCOWINCAMERAS)
+		.value("SMHYPERIONLABHANSONCAMERAS", sc2::UNIT_TYPEID::SMHYPERIONLABHANSONCAMERAS)
+		.value("SMHYPERIONMEDLABBRIEFING", sc2::UNIT_TYPEID::SMHYPERIONMEDLABBRIEFING)
+		.value("SMHYPERIONMEDLABBRIEFINGCENTER", sc2::UNIT_TYPEID::SMHYPERIONMEDLABBRIEFINGCENTER)
+		.value("SMHYPERIONMEDLABBRIEFINGLEFT", sc2::UNIT_TYPEID::SMHYPERIONMEDLABBRIEFINGLEFT)
+		.value("SMHYPERIONMEDLABBRIEFINGRIGHT", sc2::UNIT_TYPEID::SMHYPERIONMEDLABBRIEFINGRIGHT)
+		.value("SMHYPERIONMEDLABCRYOTUBEA", sc2::UNIT_TYPEID::SMHYPERIONMEDLABCRYOTUBEA)
+		.value("SMHYPERIONMEDLABCRYOTUBEB", sc2::UNIT_TYPEID::SMHYPERIONMEDLABCRYOTUBEB)
+		.value("SMHYPERIONMEDLABPROPS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABPROPS)
+		.value("SMHYPERIONMEDLABPROTOSSCRYOTUBE0HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABPROTOSSCRYOTUBE0HS)
+		.value("SMHYPERIONMEDLABPROTOSSCRYOTUBE1HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABPROTOSSCRYOTUBE1HS)
+		.value("SMHYPERIONMEDLABPROTOSSCRYOTUBE2HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABPROTOSSCRYOTUBE2HS)
+		.value("SMHYPERIONMEDLABPROTOSSCRYOTUBE3HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABPROTOSSCRYOTUBE3HS)
+		.value("SMHYPERIONMEDLABPROTOSSCRYOTUBE4HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABPROTOSSCRYOTUBE4HS)
+		.value("SMHYPERIONMEDLABPROTOSSCRYOTUBE5HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABPROTOSSCRYOTUBE5HS)
+		.value("SMHYPERIONMEDLABSTAGE1ARTIFACTHS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABSTAGE1ARTIFACTHS)
+		.value("SMHYPERIONMEDLABSTAGE1CONSOLEHS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABSTAGE1CONSOLEHS)
+		.value("SMHYPERIONMEDLABSTAGE1CRYSTALHS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABSTAGE1CRYSTALHS)
+		.value("SMHYPERIONMEDLABSTAGE1DOORHS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABSTAGE1DOORHS)
+		.value("SMHYPERIONMEDLABSTAGE1SET", sc2::UNIT_TYPEID::SMHYPERIONMEDLABSTAGE1SET)
+		.value("SMHYPERIONMEDLABSTAGE1SET2", sc2::UNIT_TYPEID::SMHYPERIONMEDLABSTAGE1SET2)
+		.value("SMHYPERIONMEDLABSTAGE1SETLIGHTS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABSTAGE1SETLIGHTS)
+		.value("SMHYPERIONMEDLABZERGCRYOTUBE0HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABZERGCRYOTUBE0HS)
+		.value("SMHYPERIONMEDLABZERGCRYOTUBE1HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABZERGCRYOTUBE1HS)
+		.value("SMHYPERIONMEDLABZERGCRYOTUBE2HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABZERGCRYOTUBE2HS)
+		.value("SMHYPERIONMEDLABZERGCRYOTUBE3HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABZERGCRYOTUBE3HS)
+		.value("SMHYPERIONMEDLABZERGCRYOTUBE4HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABZERGCRYOTUBE4HS)
+		.value("SMHYPERIONMEDLABZERGCRYOTUBE5HS", sc2::UNIT_TYPEID::SMHYPERIONMEDLABZERGCRYOTUBE5HS)
+		.value("SMKACHINSKY", sc2::UNIT_TYPEID::SMKACHINSKY)
+		.value("SMKATELOCKWELL", sc2::UNIT_TYPEID::SMKATELOCKWELL)
+		.value("SMKERRIGANPHOTO", sc2::UNIT_TYPEID::SMKERRIGANPHOTO)
+		.value("SMLABASSISTANT", sc2::UNIT_TYPEID::SMLABASSISTANT)
+		.value("SMLEEKENO", sc2::UNIT_TYPEID::SMLEEKENO)
+		.value("SMLEEKENOSET", sc2::UNIT_TYPEID::SMLEEKENOSET)
+		.value("SMMARAUDER", sc2::UNIT_TYPEID::SMMARAUDER)
+		.value("SMMARAUDERPHCRATE", sc2::UNIT_TYPEID::SMMARAUDERPHCRATE)
+		.value("SMMARINE01", sc2::UNIT_TYPEID::SMMARINE01)
+		.value("SMMARINE02", sc2::UNIT_TYPEID::SMMARINE02)
+		.value("SMMARINE02AOD", sc2::UNIT_TYPEID::SMMARINE02AOD)
+		.value("SMMARINE03", sc2::UNIT_TYPEID::SMMARINE03)
+		.value("SMMARINE04", sc2::UNIT_TYPEID::SMMARINE04)
+		.value("SMMARINERIFLE", sc2::UNIT_TYPEID::SMMARINERIFLE)
+		.value("SMMARSARABARBADGEHS", sc2::UNIT_TYPEID::SMMARSARABARBADGEHS)
+		.value("SMMARSARABARBOTTLESHS", sc2::UNIT_TYPEID::SMMARSARABARBOTTLESHS)
+		.value("SMMARSARABARBRIEFINGSET", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGSET)
+		.value("SMMARSARABARBRIEFINGSET2", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGSET2)
+		.value("SMMARSARABARBRIEFINGSETLEFT", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGSETLEFT)
+		.value("SMMARSARABARBRIEFINGSETRIGHT", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGSETRIGHT)
+		.value("SMMARSARABARBRIEFINGTVMAIN", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVMAIN)
+		.value("SMMARSARABARBRIEFINGTVMAIN2", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVMAIN2)
+		.value("SMMARSARABARBRIEFINGTVMAIN3", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVMAIN3)
+		.value("SMMARSARABARBRIEFINGTVPORTRAIT1", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVPORTRAIT1)
+		.value("SMMARSARABARBRIEFINGTVPORTRAIT2", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVPORTRAIT2)
+		.value("SMMARSARABARBRIEFINGTVPORTRAIT3", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVPORTRAIT3)
+		.value("SMMARSARABARBRIEFINGTVPORTRAIT4", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVPORTRAIT4)
+		.value("SMMARSARABARBRIEFINGTVPORTRAIT5", sc2::UNIT_TYPEID::SMMARSARABARBRIEFINGTVPORTRAIT5)
+		.value("SMMARSARABARCORKBOARDBACKGROUND", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDBACKGROUND)
+		.value("SMMARSARABARCORKBOARDHS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDHS)
+		.value("SMMARSARABARCORKBOARDITEM1HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM1HS)
+		.value("SMMARSARABARCORKBOARDITEM2HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM2HS)
+		.value("SMMARSARABARCORKBOARDITEM3HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM3HS)
+		.value("SMMARSARABARCORKBOARDITEM4HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM4HS)
+		.value("SMMARSARABARCORKBOARDITEM5HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM5HS)
+		.value("SMMARSARABARCORKBOARDITEM6HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM6HS)
+		.value("SMMARSARABARCORKBOARDITEM7HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM7HS)
+		.value("SMMARSARABARCORKBOARDITEM8HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM8HS)
+		.value("SMMARSARABARCORKBOARDITEM9HS", sc2::UNIT_TYPEID::SMMARSARABARCORKBOARDITEM9HS)
+		.value("SMMARSARABARHYDRALISKSKULLHS", sc2::UNIT_TYPEID::SMMARSARABARHYDRALISKSKULLHS)
+		.value("SMMARSARABARJUKEBOXHS", sc2::UNIT_TYPEID::SMMARSARABARJUKEBOXHS)
+		.value("SMMARSARABARKERRIGANPHOTOHS", sc2::UNIT_TYPEID::SMMARSARABARKERRIGANPHOTOHS)
+		.value("SMMARSARABARPROPS", sc2::UNIT_TYPEID::SMMARSARABARPROPS)
+		.value("SMMARSARABARSET", sc2::UNIT_TYPEID::SMMARSARABARSET)
+		.value("SMMARSARABARSET2", sc2::UNIT_TYPEID::SMMARSARABARSET2)
+		.value("SMMARSARABARSTARMAPHS", sc2::UNIT_TYPEID::SMMARSARABARSTARMAPHS)
+		.value("SMMARSARABARTVHS", sc2::UNIT_TYPEID::SMMARSARABARTVHS)
+		.value("SMMARSARABARTYCHUSCAMERAS", sc2::UNIT_TYPEID::SMMARSARABARTYCHUSCAMERAS)
+		.value("SMMARSARAPLANET", sc2::UNIT_TYPEID::SMMARSARAPLANET)
+		.value("SMMIKELIBERTY", sc2::UNIT_TYPEID::SMMIKELIBERTY)
+		.value("SMMUTALISK", sc2::UNIT_TYPEID::SMMUTALISK)
+		.value("SMNOVA", sc2::UNIT_TYPEID::SMNOVA)
+		.value("SMPRESSROOMPROPS", sc2::UNIT_TYPEID::SMPRESSROOMPROPS)
+		.value("SMRAYNORCOMMANDER", sc2::UNIT_TYPEID::SMRAYNORCOMMANDER)
+		.value("SMRAYNORGUN", sc2::UNIT_TYPEID::SMRAYNORGUN)
+		.value("SMRAYNORHANDS", sc2::UNIT_TYPEID::SMRAYNORHANDS)
+		.value("SMRAYNORMARINE", sc2::UNIT_TYPEID::SMRAYNORMARINE)
+		.value("SMSHADOWBOX", sc2::UNIT_TYPEID::SMSHADOWBOX)
+		.value("SMSTETMANN", sc2::UNIT_TYPEID::SMSTETMANN)
+		.value("SMTERRAN01FX", sc2::UNIT_TYPEID::SMTERRAN01FX)
+		.value("SMTERRAN03FX", sc2::UNIT_TYPEID::SMTERRAN03FX)
+		.value("SMTERRAN05FX", sc2::UNIT_TYPEID::SMTERRAN05FX)
+		.value("SMTERRAN05FXMUTALISKS", sc2::UNIT_TYPEID::SMTERRAN05FXMUTALISKS)
+		.value("SMTERRAN05PROPS", sc2::UNIT_TYPEID::SMTERRAN05PROPS)
+		.value("SMTERRAN06AFX", sc2::UNIT_TYPEID::SMTERRAN06AFX)
+		.value("SMTERRAN06APROPS", sc2::UNIT_TYPEID::SMTERRAN06APROPS)
+		.value("SMTERRAN06BFX", sc2::UNIT_TYPEID::SMTERRAN06BFX)
+		.value("SMTERRAN06BPROPS", sc2::UNIT_TYPEID::SMTERRAN06BPROPS)
+		.value("SMTERRAN06CFX", sc2::UNIT_TYPEID::SMTERRAN06CFX)
+		.value("SMTERRAN07FX", sc2::UNIT_TYPEID::SMTERRAN07FX)
+		.value("SMTERRAN07PROPS", sc2::UNIT_TYPEID::SMTERRAN07PROPS)
+		.value("SMTERRAN08PROPS", sc2::UNIT_TYPEID::SMTERRAN08PROPS)
+		.value("SMTERRAN09FX", sc2::UNIT_TYPEID::SMTERRAN09FX)
+		.value("SMTERRAN09PROPS", sc2::UNIT_TYPEID::SMTERRAN09PROPS)
+		.value("SMTERRAN11FX", sc2::UNIT_TYPEID::SMTERRAN11FX)
+		.value("SMTERRAN11FXBLOOD", sc2::UNIT_TYPEID::SMTERRAN11FXBLOOD)
+		.value("SMTERRAN11FXDEBRIS", sc2::UNIT_TYPEID::SMTERRAN11FXDEBRIS)
+		.value("SMTERRAN11FXDEBRIS1", sc2::UNIT_TYPEID::SMTERRAN11FXDEBRIS1)
+		.value("SMTERRAN11FXDEBRIS2", sc2::UNIT_TYPEID::SMTERRAN11FXDEBRIS2)
+		.value("SMTERRAN11FXEXPLOSIONS", sc2::UNIT_TYPEID::SMTERRAN11FXEXPLOSIONS)
+		.value("SMTERRAN11FXMISSILES", sc2::UNIT_TYPEID::SMTERRAN11FXMISSILES)
+		.value("SMTERRAN11PROPS", sc2::UNIT_TYPEID::SMTERRAN11PROPS)
+		.value("SMTERRAN11PROPSBURROWROCKS", sc2::UNIT_TYPEID::SMTERRAN11PROPSBURROWROCKS)
+		.value("SMTERRAN11PROPSRIFLESHELLS", sc2::UNIT_TYPEID::SMTERRAN11PROPSRIFLESHELLS)
+		.value("SMTERRAN12FX", sc2::UNIT_TYPEID::SMTERRAN12FX)
+		.value("SMTERRAN12PROPS", sc2::UNIT_TYPEID::SMTERRAN12PROPS)
+		.value("SMTERRAN13PROPS", sc2::UNIT_TYPEID::SMTERRAN13PROPS)
+		.value("SMTERRAN14FX", sc2::UNIT_TYPEID::SMTERRAN14FX)
+		.value("SMTERRAN14PROPS", sc2::UNIT_TYPEID::SMTERRAN14PROPS)
+		.value("SMTERRAN15FX", sc2::UNIT_TYPEID::SMTERRAN15FX)
+		.value("SMTERRAN15PROPS", sc2::UNIT_TYPEID::SMTERRAN15PROPS)
+		.value("SMTERRAN16FX", sc2::UNIT_TYPEID::SMTERRAN16FX)
+		.value("SMTERRAN16FXFLAK", sc2::UNIT_TYPEID::SMTERRAN16FXFLAK)
+		.value("SMTERRAN17FX", sc2::UNIT_TYPEID::SMTERRAN17FX)
+		.value("SMTERRAN17PROPS", sc2::UNIT_TYPEID::SMTERRAN17PROPS)
+		.value("SMTERRANREADYROOMLEFTTV", sc2::UNIT_TYPEID::SMTERRANREADYROOMLEFTTV)
+		.value("SMTERRANREADYROOMMAINTV", sc2::UNIT_TYPEID::SMTERRANREADYROOMMAINTV)
+		.value("SMTERRANREADYROOMRIGHTTV", sc2::UNIT_TYPEID::SMTERRANREADYROOMRIGHTTV)
+		.value("SMTERRANREADYROOMSET", sc2::UNIT_TYPEID::SMTERRANREADYROOMSET)
+		.value("SMTESTCAMERA", sc2::UNIT_TYPEID::SMTESTCAMERA)
+		.value("SMTOSHKNIFE", sc2::UNIT_TYPEID::SMTOSHKNIFE)
+		.value("SMTOSHSHUTTLEPROPS", sc2::UNIT_TYPEID::SMTOSHSHUTTLEPROPS)
+		.value("SMTOSHSHUTTLESET", sc2::UNIT_TYPEID::SMTOSHSHUTTLESET)
+		.value("SMTOSHSHUTTLESET2", sc2::UNIT_TYPEID::SMTOSHSHUTTLESET2)
+		.value("SMTVSTATIC", sc2::UNIT_TYPEID::SMTVSTATIC)
+		.value("SMUNNCAMERA", sc2::UNIT_TYPEID::SMUNNCAMERA)
+		.value("SMUNNSCREEN", sc2::UNIT_TYPEID::SMUNNSCREEN)
+		.value("SMUNNSET", sc2::UNIT_TYPEID::SMUNNSET)
+		.value("SMVALERIANFLAGSHIPCORRIDORSSET", sc2::UNIT_TYPEID::SMVALERIANFLAGSHIPCORRIDORSSET)
+		.value("SMVALERIANFLAGSHIPCORRIDORSSET2", sc2::UNIT_TYPEID::SMVALERIANFLAGSHIPCORRIDORSSET2)
+		.value("SMVALERIANFLAGSHIPCORRIDORSSET3", sc2::UNIT_TYPEID::SMVALERIANFLAGSHIPCORRIDORSSET3)
+		.value("SMVALERIANFLAGSHIPCORRIDORSSET4", sc2::UNIT_TYPEID::SMVALERIANFLAGSHIPCORRIDORSSET4)
+		.value("SMVALERIANMENGSK", sc2::UNIT_TYPEID::SMVALERIANMENGSK)
+		.value("SMVALERIANOBSERVATORYPAINTINGHS", sc2::UNIT_TYPEID::SMVALERIANOBSERVATORYPAINTINGHS)
+		.value("SMVALERIANOBSERVATORYPROPS", sc2::UNIT_TYPEID::SMVALERIANOBSERVATORYPROPS)
+		.value("SMVALERIANOBSERVATORYSET", sc2::UNIT_TYPEID::SMVALERIANOBSERVATORYSET)
+		.value("SMVALERIANOBSERVATORYSET2", sc2::UNIT_TYPEID::SMVALERIANOBSERVATORYSET2)
+		.value("SMVALERIANOBSERVATORYSET3", sc2::UNIT_TYPEID::SMVALERIANOBSERVATORYSET3)
+		.value("SMVALERIANOBSERVATORYSTARMAP", sc2::UNIT_TYPEID::SMVALERIANOBSERVATORYSTARMAP)
+		.value("SMVIKING", sc2::UNIT_TYPEID::SMVIKING)
+		.value("SMYBARRA", sc2::UNIT_TYPEID::SMYBARRA)
+		.value("SMZERATUL", sc2::UNIT_TYPEID::SMZERATUL)
+		.value("SMZERGEDHANSON", sc2::UNIT_TYPEID::SMZERGEDHANSON)
+		.value("SMZERGLING", sc2::UNIT_TYPEID::SMZERGLING)
+		.value("SNARE_PLACEHOLDER", sc2::UNIT_TYPEID::SNARE_PLACEHOLDER)
+		.value("SNOWGLAZESTARTERMP", sc2::UNIT_TYPEID::SNOWGLAZESTARTERMP)
+		.value("SNOWREFINERY_TERRAN_EXTENDINGBRIDGENESHORT8", sc2::UNIT_TYPEID::SNOWREFINERY_TERRAN_EXTENDINGBRIDGENESHORT8)
+		.value("SNOWREFINERY_TERRAN_EXTENDINGBRIDGENESHORT8OUT", sc2::UNIT_TYPEID::SNOWREFINERY_TERRAN_EXTENDINGBRIDGENESHORT8OUT)
+		.value("SNOWREFINERY_TERRAN_EXTENDINGBRIDGENWSHORT8", sc2::UNIT_TYPEID::SNOWREFINERY_TERRAN_EXTENDINGBRIDGENWSHORT8)
+		.value("SNOWREFINERY_TERRAN_EXTENDINGBRIDGENWSHORT8OUT", sc2::UNIT_TYPEID::SNOWREFINERY_TERRAN_EXTENDINGBRIDGENWSHORT8OUT)
+		.value("SPACEDIABLO", sc2::UNIT_TYPEID::SPACEDIABLO)
+		.value("SPACEPLATFORMCLIFFDOOR0", sc2::UNIT_TYPEID::SPACEPLATFORMCLIFFDOOR0)
+		.value("SPACEPLATFORMCLIFFDOOR1", sc2::UNIT_TYPEID::SPACEPLATFORMCLIFFDOOR1)
+		.value("SPACEPLATFORMCLIFFDOOROPEN0", sc2::UNIT_TYPEID::SPACEPLATFORMCLIFFDOOROPEN0)
+		.value("SPACEPLATFORMCLIFFDOOROPEN1", sc2::UNIT_TYPEID::SPACEPLATFORMCLIFFDOOROPEN1)
+		.value("SPACEPLATFORMDESTRUCTIBLEJUMBOBLOCKER", sc2::UNIT_TYPEID::SPACEPLATFORMDESTRUCTIBLEJUMBOBLOCKER)
+		.value("SPACEPLATFORMDESTRUCTIBLELARGEBLOCKER", sc2::UNIT_TYPEID::SPACEPLATFORMDESTRUCTIBLELARGEBLOCKER)
+		.value("SPACEPLATFORMDESTRUCTIBLEMEDIUMBLOCKER", sc2::UNIT_TYPEID::SPACEPLATFORMDESTRUCTIBLEMEDIUMBLOCKER)
+		.value("SPACEPLATFORMDESTRUCTIBLESMALLBLOCKER", sc2::UNIT_TYPEID::SPACEPLATFORMDESTRUCTIBLESMALLBLOCKER)
+		.value("SPACEPLATFORMREACTORPATHINGBLOCKER", sc2::UNIT_TYPEID::SPACEPLATFORMREACTORPATHINGBLOCKER)
+		.value("SPACEPLATFORMVENTSUNIT", sc2::UNIT_TYPEID::SPACEPLATFORMVENTSUNIT)
+		.value("SPARTANCOMPANY", sc2::UNIT_TYPEID::SPARTANCOMPANY)
+		.value("SPARTANCOMPANYAWEAPON", sc2::UNIT_TYPEID::SPARTANCOMPANYAWEAPON)
+		.value("SPECIALOPSDROPSHIP", sc2::UNIT_TYPEID::SPECIALOPSDROPSHIP)
+		.value("SPECOPSGHOSTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SPECOPSGHOSTACGLUESCREENDUMMY)
+		.value("SPECTRE", sc2::UNIT_TYPEID::SPECTRE)
+		.value("SPECTRENUKE", sc2::UNIT_TYPEID::SPECTRENUKE)
+		.value("SPIDERMINE", sc2::UNIT_TYPEID::SPIDERMINE)
+		.value("SPIDERMINEBURROWED", sc2::UNIT_TYPEID::SPIDERMINEBURROWED)
+		.value("SPINECRAWLERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SPINECRAWLERACGLUESCREENDUMMY)
+		.value("SPINECRAWLERWEAPON", sc2::UNIT_TYPEID::SPINECRAWLERWEAPON)
+		.value("SPINNINGDIZZYACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SPINNINGDIZZYACGLUESCREENDUMMY)
+		.value("SPLITTERLINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SPLITTERLINGACGLUESCREENDUMMY)
+		.value("SPORECANNON", sc2::UNIT_TYPEID::SPORECANNON)
+		.value("SPORECANNONFIREMISSILE", sc2::UNIT_TYPEID::SPORECANNONFIREMISSILE)
+		.value("SPORECRAWLERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SPORECRAWLERACGLUESCREENDUMMY)
+		.value("SPORECRAWLERWEAPON", sc2::UNIT_TYPEID::SPORECRAWLERWEAPON)
+		.value("SS_BACKGROUNDSPACE00", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACE00)
+		.value("SS_BACKGROUNDSPACE01", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACE01)
+		.value("SS_BACKGROUNDSPACE02", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACE02)
+		.value("SS_BACKGROUNDSPACELARGE", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACELARGE)
+		.value("SS_BACKGROUNDSPACEPROT00", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEPROT00)
+		.value("SS_BACKGROUNDSPACEPROT01", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEPROT01)
+		.value("SS_BACKGROUNDSPACEPROT02", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEPROT02)
+		.value("SS_BACKGROUNDSPACEPROT03", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEPROT03)
+		.value("SS_BACKGROUNDSPACEPROT04", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEPROT04)
+		.value("SS_BACKGROUNDSPACEPROTOSSLARGE", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEPROTOSSLARGE)
+		.value("SS_BACKGROUNDSPACETERRAN00", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACETERRAN00)
+		.value("SS_BACKGROUNDSPACETERRAN01", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACETERRAN01)
+		.value("SS_BACKGROUNDSPACETERRAN02", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACETERRAN02)
+		.value("SS_BACKGROUNDSPACETERRANLARGE", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACETERRANLARGE)
+		.value("SS_BACKGROUNDSPACEZERG00", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEZERG00)
+		.value("SS_BACKGROUNDSPACEZERG01", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEZERG01)
+		.value("SS_BACKGROUNDSPACEZERG02", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEZERG02)
+		.value("SS_BACKGROUNDSPACEZERGLARGE", sc2::UNIT_TYPEID::SS_BACKGROUNDSPACEZERGLARGE)
+		.value("SS_BACKGROUNDZERG01", sc2::UNIT_TYPEID::SS_BACKGROUNDZERG01)
+		.value("SS_BATTLECRUISER", sc2::UNIT_TYPEID::SS_BATTLECRUISER)
+		.value("SS_BATTLECRUISERHUNTERSEEKERMISSILE", sc2::UNIT_TYPEID::SS_BATTLECRUISERHUNTERSEEKERMISSILE)
+		.value("SS_BATTLECRUISERMISSILE", sc2::UNIT_TYPEID::SS_BATTLECRUISERMISSILE)
+		.value("SS_BATTLECRUISERMISSILELAUNCHER", sc2::UNIT_TYPEID::SS_BATTLECRUISERMISSILELAUNCHER)
+		.value("SS_BLACKEDGEBORDER", sc2::UNIT_TYPEID::SS_BLACKEDGEBORDER)
+		.value("SS_CARRIER", sc2::UNIT_TYPEID::SS_CARRIER)
+		.value("SS_CARRIERBOSS", sc2::UNIT_TYPEID::SS_CARRIERBOSS)
+		.value("SS_CARRIERBOSSMISSILE", sc2::UNIT_TYPEID::SS_CARRIERBOSSMISSILE)
+		.value("SS_CORRUPTOR", sc2::UNIT_TYPEID::SS_CORRUPTOR)
+		.value("SS_CORRUPTORMISSILE", sc2::UNIT_TYPEID::SS_CORRUPTORMISSILE)
+		.value("SS_FIGHTER", sc2::UNIT_TYPEID::SS_FIGHTER)
+		.value("SS_FIGHTERDRONEMISSILE", sc2::UNIT_TYPEID::SS_FIGHTERDRONEMISSILE)
+		.value("SS_FIGHTERMISSILELEFT", sc2::UNIT_TYPEID::SS_FIGHTERMISSILELEFT)
+		.value("SS_FIGHTERMISSILERIGHT", sc2::UNIT_TYPEID::SS_FIGHTERMISSILERIGHT)
+		.value("SS_INTERCEPTOR", sc2::UNIT_TYPEID::SS_INTERCEPTOR)
+		.value("SS_INTERCEPTORMISSILE", sc2::UNIT_TYPEID::SS_INTERCEPTORMISSILE)
+		.value("SS_INTERCEPTORSPAWNMISSILE", sc2::UNIT_TYPEID::SS_INTERCEPTORSPAWNMISSILE)
+		.value("SS_LEVIATHAN", sc2::UNIT_TYPEID::SS_LEVIATHAN)
+		.value("SS_LEVIATHANBOMB", sc2::UNIT_TYPEID::SS_LEVIATHANBOMB)
+		.value("SS_LEVIATHANBOMBMISSILE", sc2::UNIT_TYPEID::SS_LEVIATHANBOMBMISSILE)
+		.value("SS_LEVIATHANSPAWNBOMBMISSILE", sc2::UNIT_TYPEID::SS_LEVIATHANSPAWNBOMBMISSILE)
+		.value("SS_LEVIATHANTENTACLEL1MISSILE", sc2::UNIT_TYPEID::SS_LEVIATHANTENTACLEL1MISSILE)
+		.value("SS_LEVIATHANTENTACLEL2MISSILE", sc2::UNIT_TYPEID::SS_LEVIATHANTENTACLEL2MISSILE)
+		.value("SS_LEVIATHANTENTACLER1MISSILE", sc2::UNIT_TYPEID::SS_LEVIATHANTENTACLER1MISSILE)
+		.value("SS_LEVIATHANTENTACLER2MISSILE", sc2::UNIT_TYPEID::SS_LEVIATHANTENTACLER2MISSILE)
+		.value("SS_LEVIATHANTENTACLETARGET", sc2::UNIT_TYPEID::SS_LEVIATHANTENTACLETARGET)
+		.value("SS_LIGHTNINGPROJECTORFACELEFT", sc2::UNIT_TYPEID::SS_LIGHTNINGPROJECTORFACELEFT)
+		.value("SS_LIGHTNINGPROJECTORFACERIGHT", sc2::UNIT_TYPEID::SS_LIGHTNINGPROJECTORFACERIGHT)
+		.value("SS_PHOENIX", sc2::UNIT_TYPEID::SS_PHOENIX)
+		.value("SS_PHOENIXMISSILE", sc2::UNIT_TYPEID::SS_PHOENIXMISSILE)
+		.value("SS_POWERUPBOMB", sc2::UNIT_TYPEID::SS_POWERUPBOMB)
+		.value("SS_POWERUPHEALTH", sc2::UNIT_TYPEID::SS_POWERUPHEALTH)
+		.value("SS_POWERUPSIDEMISSILES", sc2::UNIT_TYPEID::SS_POWERUPSIDEMISSILES)
+		.value("SS_POWERUPSTRONGERMISSILES", sc2::UNIT_TYPEID::SS_POWERUPSTRONGERMISSILES)
+		.value("SS_SCIENCEVESSEL", sc2::UNIT_TYPEID::SS_SCIENCEVESSEL)
+		.value("SS_SCIENCEVESSELMISSILE", sc2::UNIT_TYPEID::SS_SCIENCEVESSELMISSILE)
+		.value("SS_SCOURGE", sc2::UNIT_TYPEID::SS_SCOURGE)
+		.value("SS_SCOURGEMISSILE", sc2::UNIT_TYPEID::SS_SCOURGEMISSILE)
+		.value("SS_SCOUT", sc2::UNIT_TYPEID::SS_SCOUT)
+		.value("SS_SCOUTMISSILE", sc2::UNIT_TYPEID::SS_SCOUTMISSILE)
+		.value("SS_STRONGMISSILE1", sc2::UNIT_TYPEID::SS_STRONGMISSILE1)
+		.value("SS_STRONGMISSILE2", sc2::UNIT_TYPEID::SS_STRONGMISSILE2)
+		.value("SS_SWARMGUARDIAN", sc2::UNIT_TYPEID::SS_SWARMGUARDIAN)
+		.value("SS_SWARMGUARDIANMISSILE", sc2::UNIT_TYPEID::SS_SWARMGUARDIANMISSILE)
+		.value("SS_TERRATRON", sc2::UNIT_TYPEID::SS_TERRATRON)
+		.value("SS_TERRATRONBEAMTARGET", sc2::UNIT_TYPEID::SS_TERRATRONBEAMTARGET)
+		.value("SS_TERRATRONMISSILE", sc2::UNIT_TYPEID::SS_TERRATRONMISSILE)
+		.value("SS_TERRATRONMISSILELAUNCHER", sc2::UNIT_TYPEID::SS_TERRATRONMISSILELAUNCHER)
+		.value("SS_TERRATRONMISSILESPINNER", sc2::UNIT_TYPEID::SS_TERRATRONMISSILESPINNER)
+		.value("SS_TERRATRONMISSILESPINNERLAUNCHER", sc2::UNIT_TYPEID::SS_TERRATRONMISSILESPINNERLAUNCHER)
+		.value("SS_TERRATRONMISSILESPINNERMISSILE", sc2::UNIT_TYPEID::SS_TERRATRONMISSILESPINNERMISSILE)
+		.value("SS_TERRATRONSAW", sc2::UNIT_TYPEID::SS_TERRATRONSAW)
+		.value("SS_WRAITH", sc2::UNIT_TYPEID::SS_WRAITH)
+		.value("SS_WRAITHMISSILE", sc2::UNIT_TYPEID::SS_WRAITHMISSILE)
+		.value("STALKERSHAKURASACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STALKERSHAKURASACGLUESCREENDUMMY)
+		.value("STALKERTALDARIMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STALKERTALDARIMACGLUESCREENDUMMY)
+		.value("STALKERWEAPON", sc2::UNIT_TYPEID::STALKERWEAPON)
+		.value("STARPORTTECHREACTOR", sc2::UNIT_TYPEID::STARPORTTECHREACTOR)
+		.value("STEREOSCOPICOPTIONSUNIT", sc2::UNIT_TYPEID::STEREOSCOPICOPTIONSUNIT)
+		.value("STETMANN", sc2::UNIT_TYPEID::STETMANN)
+		.value("STONEZEALOT", sc2::UNIT_TYPEID::STONEZEALOT)
+		.value("STRIKEGOLIATHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STRIKEGOLIATHACGLUESCREENDUMMY)
+		.value("STUKOVBROODQUEENACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVBROODQUEENACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDBANSHEEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDBANSHEEACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDBUNKERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDBUNKERACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDCIVILIANACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDCIVILIANACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDDIAMONDBACKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDDIAMONDBACKACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDMARINEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDMARINEACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDMISSILETURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDMISSILETURRETACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDSIEGETANKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDSIEGETANKACGLUESCREENDUMMY)
+		.value("STUKOVINFESTEDTROOPERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::STUKOVINFESTEDTROOPERACGLUESCREENDUMMY)
+		.value("SUPERWARPGATE", sc2::UNIT_TYPEID::SUPERWARPGATE)
+		.value("SUPPLICANTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SUPPLICANTACGLUESCREENDUMMY)
+		.value("SUPPLYDEPOTDROP", sc2::UNIT_TYPEID::SUPPLYDEPOTDROP)
+		.value("SWANN", sc2::UNIT_TYPEID::SWANN)
+		.value("SWANNWEAPON", sc2::UNIT_TYPEID::SWANNWEAPON)
+		.value("SWARMHOSTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SWARMHOSTACGLUESCREENDUMMY)
+		.value("SWARMLING", sc2::UNIT_TYPEID::SWARMLING)
+		.value("SWARMLINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SWARMLINGACGLUESCREENDUMMY)
+		.value("SWARMQUEENACGLUESCREENDUMMY", sc2::UNIT_TYPEID::SWARMQUEENACGLUESCREENDUMMY)
+		.value("SYSTEM_SNAPSHOT_DUMMY", sc2::UNIT_TYPEID::SYSTEM_SNAPSHOT_DUMMY)
+		.value("TALDARIMMOTHERSHIP", sc2::UNIT_TYPEID::TALDARIMMOTHERSHIP)
+		.value("TALDARIMPRISON", sc2::UNIT_TYPEID::TALDARIMPRISON)
+		.value("TALDARIMPRISONCRYSTAL", sc2::UNIT_TYPEID::TALDARIMPRISONCRYSTAL)
+		.value("TALONSMISSILEWEAPON", sc2::UNIT_TYPEID::TALONSMISSILEWEAPON)
+		.value("TANKERTRUCK", sc2::UNIT_TYPEID::TANKERTRUCK)
+		.value("TARSONISENGINE", sc2::UNIT_TYPEID::TARSONISENGINE)
+		.value("TARSONISENGINEFAST", sc2::UNIT_TYPEID::TARSONISENGINEFAST)
+		.value("TARSONIS_DOORE", sc2::UNIT_TYPEID::TARSONIS_DOORE)
+		.value("TARSONIS_DOORELOWERED", sc2::UNIT_TYPEID::TARSONIS_DOORELOWERED)
+		.value("TARSONIS_DOORN", sc2::UNIT_TYPEID::TARSONIS_DOORN)
+		.value("TARSONIS_DOORNE", sc2::UNIT_TYPEID::TARSONIS_DOORNE)
+		.value("TARSONIS_DOORNELOWERED", sc2::UNIT_TYPEID::TARSONIS_DOORNELOWERED)
+		.value("TARSONIS_DOORNLOWERED", sc2::UNIT_TYPEID::TARSONIS_DOORNLOWERED)
+		.value("TARSONIS_DOORNW", sc2::UNIT_TYPEID::TARSONIS_DOORNW)
+		.value("TARSONIS_DOORNWLOWERED", sc2::UNIT_TYPEID::TARSONIS_DOORNWLOWERED)
+		.value("TASSADAR", sc2::UNIT_TYPEID::TASSADAR)
+		.value("TAURENOUTHOUSE", sc2::UNIT_TYPEID::TAURENOUTHOUSE)
+		.value("TAURENSPACEMARINE", sc2::UNIT_TYPEID::TAURENSPACEMARINE)
+		.value("TECHREACTOR", sc2::UNIT_TYPEID::TECHREACTOR)
+		.value("TEMPESTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TEMPESTACGLUESCREENDUMMY)
+		.value("TEMPESTWEAPON", sc2::UNIT_TYPEID::TEMPESTWEAPON)
+		.value("TEMPESTWEAPONGROUND", sc2::UNIT_TYPEID::TEMPESTWEAPONGROUND)
+		.value("TENTACLEAMISSILE", sc2::UNIT_TYPEID::TENTACLEAMISSILE)
+		.value("TENTACLEBMISSILE", sc2::UNIT_TYPEID::TENTACLEBMISSILE)
+		.value("TENTACLECMISSILE", sc2::UNIT_TYPEID::TENTACLECMISSILE)
+		.value("TENTACLEDMISSILE", sc2::UNIT_TYPEID::TENTACLEDMISSILE)
+		.value("TERRANBUGGY", sc2::UNIT_TYPEID::TERRANBUGGY)
+		.value("TERRANDROPPOD", sc2::UNIT_TYPEID::TERRANDROPPOD)
+		.value("TERRAN_ARMORY", sc2::UNIT_TYPEID::TERRAN_ARMORY)
+		.value("TERRAN_AUTOTURRET", sc2::UNIT_TYPEID::TERRAN_AUTOTURRET)
+		.value("TERRAN_BANSHEE", sc2::UNIT_TYPEID::TERRAN_BANSHEE)
+		.value("TERRAN_BARRACKS", sc2::UNIT_TYPEID::TERRAN_BARRACKS)
+		.value("TERRAN_BARRACKSFLYING", sc2::UNIT_TYPEID::TERRAN_BARRACKSFLYING)
+		.value("TERRAN_BARRACKSREACTOR", sc2::UNIT_TYPEID::TERRAN_BARRACKSREACTOR)
+		.value("TERRAN_BARRACKSTECHLAB", sc2::UNIT_TYPEID::TERRAN_BARRACKSTECHLAB)
+		.value("TERRAN_BATTLECRUISER", sc2::UNIT_TYPEID::TERRAN_BATTLECRUISER)
+		.value("TERRAN_BUNKER", sc2::UNIT_TYPEID::TERRAN_BUNKER)
+		.value("TERRAN_COMMANDCENTER", sc2::UNIT_TYPEID::TERRAN_COMMANDCENTER)
+		.value("TERRAN_COMMANDCENTERFLYING", sc2::UNIT_TYPEID::TERRAN_COMMANDCENTERFLYING)
+		.value("TERRAN_CYCLONE", sc2::UNIT_TYPEID::TERRAN_CYCLONE)
+		.value("TERRAN_ENGINEERINGBAY", sc2::UNIT_TYPEID::TERRAN_ENGINEERINGBAY)
+		.value("TERRAN_FACTORY", sc2::UNIT_TYPEID::TERRAN_FACTORY)
+		.value("TERRAN_FACTORYFLYING", sc2::UNIT_TYPEID::TERRAN_FACTORYFLYING)
+		.value("TERRAN_FACTORYREACTOR", sc2::UNIT_TYPEID::TERRAN_FACTORYREACTOR)
+		.value("TERRAN_FACTORYTECHLAB", sc2::UNIT_TYPEID::TERRAN_FACTORYTECHLAB)
+		.value("TERRAN_FUSIONCORE", sc2::UNIT_TYPEID::TERRAN_FUSIONCORE)
+		.value("TERRAN_GHOST", sc2::UNIT_TYPEID::TERRAN_GHOST)
+		.value("TERRAN_GHOSTACADEMY", sc2::UNIT_TYPEID::TERRAN_GHOSTACADEMY)
+		.value("TERRAN_HELLION", sc2::UNIT_TYPEID::TERRAN_HELLION)
+		.value("TERRAN_HELLIONTANK", sc2::UNIT_TYPEID::TERRAN_HELLIONTANK)
+		.value("TERRAN_KD8CHARGE", sc2::UNIT_TYPEID::TERRAN_KD8CHARGE)
+		.value("TERRAN_LIBERATOR", sc2::UNIT_TYPEID::TERRAN_LIBERATOR)
+		.value("TERRAN_LIBERATORAG", sc2::UNIT_TYPEID::TERRAN_LIBERATORAG)
+		.value("TERRAN_MARAUDER", sc2::UNIT_TYPEID::TERRAN_MARAUDER)
+		.value("TERRAN_MARINE", sc2::UNIT_TYPEID::TERRAN_MARINE)
+		.value("TERRAN_MEDIVAC", sc2::UNIT_TYPEID::TERRAN_MEDIVAC)
+		.value("TERRAN_MISSILETURRET", sc2::UNIT_TYPEID::TERRAN_MISSILETURRET)
+		.value("TERRAN_MULE", sc2::UNIT_TYPEID::TERRAN_MULE)
+		.value("TERRAN_NUKE", sc2::UNIT_TYPEID::TERRAN_NUKE)
+		.value("TERRAN_ORBITALCOMMAND", sc2::UNIT_TYPEID::TERRAN_ORBITALCOMMAND)
+		.value("TERRAN_ORBITALCOMMANDFLYING", sc2::UNIT_TYPEID::TERRAN_ORBITALCOMMANDFLYING)
+		.value("TERRAN_PLANETARYFORTRESS", sc2::UNIT_TYPEID::TERRAN_PLANETARYFORTRESS)
+		.value("TERRAN_POINTDEFENSEDRONE", sc2::UNIT_TYPEID::TERRAN_POINTDEFENSEDRONE)
+		.value("TERRAN_PREVIEWBUNKERUPGRADED", sc2::UNIT_TYPEID::TERRAN_PREVIEWBUNKERUPGRADED)
+		.value("TERRAN_RAVEN", sc2::UNIT_TYPEID::TERRAN_RAVEN)
+		.value("TERRAN_REACTOR", sc2::UNIT_TYPEID::TERRAN_REACTOR)
+		.value("TERRAN_REAPER", sc2::UNIT_TYPEID::TERRAN_REAPER)
+		.value("TERRAN_REFINERY", sc2::UNIT_TYPEID::TERRAN_REFINERY)
+		.value("TERRAN_REFINERYRICH", sc2::UNIT_TYPEID::TERRAN_REFINERYRICH)
+		.value("TERRAN_SCV", sc2::UNIT_TYPEID::TERRAN_SCV)
+		.value("TERRAN_SENSORTOWER", sc2::UNIT_TYPEID::TERRAN_SENSORTOWER)
+		.value("TERRAN_SIEGETANK", sc2::UNIT_TYPEID::TERRAN_SIEGETANK)
+		.value("TERRAN_SIEGETANKSIEGED", sc2::UNIT_TYPEID::TERRAN_SIEGETANKSIEGED)
+		.value("TERRAN_STARPORT", sc2::UNIT_TYPEID::TERRAN_STARPORT)
+		.value("TERRAN_STARPORTFLYING", sc2::UNIT_TYPEID::TERRAN_STARPORTFLYING)
+		.value("TERRAN_STARPORTREACTOR", sc2::UNIT_TYPEID::TERRAN_STARPORTREACTOR)
+		.value("TERRAN_STARPORTTECHLAB", sc2::UNIT_TYPEID::TERRAN_STARPORTTECHLAB)
+		.value("TERRAN_SUPPLYDEPOT", sc2::UNIT_TYPEID::TERRAN_SUPPLYDEPOT)
+		.value("TERRAN_SUPPLYDEPOTLOWERED", sc2::UNIT_TYPEID::TERRAN_SUPPLYDEPOTLOWERED)
+		.value("TERRAN_TECHLAB", sc2::UNIT_TYPEID::TERRAN_TECHLAB)
+		.value("TERRAN_THOR", sc2::UNIT_TYPEID::TERRAN_THOR)
+		.value("TERRAN_THORAP", sc2::UNIT_TYPEID::TERRAN_THORAP)
+		.value("TERRAN_VIKINGASSAULT", sc2::UNIT_TYPEID::TERRAN_VIKINGASSAULT)
+		.value("TERRAN_VIKINGFIGHTER", sc2::UNIT_TYPEID::TERRAN_VIKINGFIGHTER)
+		.value("TERRAN_WIDOWMINE", sc2::UNIT_TYPEID::TERRAN_WIDOWMINE)
+		.value("TERRAN_WIDOWMINEBURROWED", sc2::UNIT_TYPEID::TERRAN_WIDOWMINEBURROWED)
+		.value("TERRAZINECANISTER", sc2::UNIT_TYPEID::TERRAZINECANISTER)
+		.value("TERRAZINENODE", sc2::UNIT_TYPEID::TERRAZINENODE)
+		.value("TERRAZINENODEDEADTERRAN", sc2::UNIT_TYPEID::TERRAZINENODEDEADTERRAN)
+		.value("TERRAZINENODEHAPPYPROTOSS", sc2::UNIT_TYPEID::TERRAZINENODEHAPPYPROTOSS)
+		.value("TERRAZINETANK", sc2::UNIT_TYPEID::TERRAZINETANK)
+		.value("TESTHERO", sc2::UNIT_TYPEID::TESTHERO)
+		.value("TESTHERODEBUGMISSILEABILITY1WEAPON", sc2::UNIT_TYPEID::TESTHERODEBUGMISSILEABILITY1WEAPON)
+		.value("TESTHERODEBUGMISSILEABILITY2WEAPON", sc2::UNIT_TYPEID::TESTHERODEBUGMISSILEABILITY2WEAPON)
+		.value("TESTHEROTHROWMISSILE", sc2::UNIT_TYPEID::TESTHEROTHROWMISSILE)
+		.value("TESTSHOP", sc2::UNIT_TYPEID::TESTSHOP)
+		.value("TESTZERG", sc2::UNIT_TYPEID::TESTZERG)
+		.value("THORAALANCE", sc2::UNIT_TYPEID::THORAALANCE)
+		.value("THORAAWEAPON", sc2::UNIT_TYPEID::THORAAWEAPON)
+		.value("THORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::THORACGLUESCREENDUMMY)
+		.value("THORMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::THORMENGSKACGLUESCREENDUMMY)
+		.value("THORNLIZARD", sc2::UNIT_TYPEID::THORNLIZARD)
+		.value("THORWRECKAGE", sc2::UNIT_TYPEID::THORWRECKAGE)
+		.value("TORNADOMISSILEDUMMYWEAPON", sc2::UNIT_TYPEID::TORNADOMISSILEDUMMYWEAPON)
+		.value("TORNADOMISSILEWEAPON", sc2::UNIT_TYPEID::TORNADOMISSILEWEAPON)
+		.value("TORRASQUEACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TORRASQUEACGLUESCREENDUMMY)
+		.value("TOSH", sc2::UNIT_TYPEID::TOSH)
+		.value("TOSSGRENADEWEAPON", sc2::UNIT_TYPEID::TOSSGRENADEWEAPON)
+		.value("TOWERMINE", sc2::UNIT_TYPEID::TOWERMINE)
+		.value("TRAFFICSIGNAL", sc2::UNIT_TYPEID::TRAFFICSIGNAL)
+		.value("TRANSPORTTRUCK", sc2::UNIT_TYPEID::TRANSPORTTRUCK)
+		.value("TRAYNOR01SIGNSDESTRUCTIBLE1", sc2::UNIT_TYPEID::TRAYNOR01SIGNSDESTRUCTIBLE1)
+		.value("TROOPERMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TROOPERMENGSKACGLUESCREENDUMMY)
+		.value("TRUCKFLATBEDUNIT", sc2::UNIT_TYPEID::TRUCKFLATBEDUNIT)
+		.value("TRUCKSEMIUNIT", sc2::UNIT_TYPEID::TRUCKSEMIUNIT)
+		.value("TRUCKUTILITYUNIT", sc2::UNIT_TYPEID::TRUCKUTILITYUNIT)
+		.value("TYCHUSCHAINGUN", sc2::UNIT_TYPEID::TYCHUSCHAINGUN)
+		.value("TYCHUSCOMMANDO", sc2::UNIT_TYPEID::TYCHUSCOMMANDO)
+		.value("TYCHUSEJECTMISSILE", sc2::UNIT_TYPEID::TYCHUSEJECTMISSILE)
+		.value("TYCHUSFIREBATACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSFIREBATACGLUESCREENDUMMY)
+		.value("TYCHUSGHOSTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSGHOSTACGLUESCREENDUMMY)
+		.value("TYCHUSGRENADEWEAPON", sc2::UNIT_TYPEID::TYCHUSGRENADEWEAPON)
+		.value("TYCHUSHERCACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSHERCACGLUESCREENDUMMY)
+		.value("TYCHUSMARAUDERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSMARAUDERACGLUESCREENDUMMY)
+		.value("TYCHUSMEDICACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSMEDICACGLUESCREENDUMMY)
+		.value("TYCHUSREAPERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSREAPERACGLUESCREENDUMMY)
+		.value("TYCHUSSCVAUTOTURRETACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSSCVAUTOTURRETACGLUESCREENDUMMY)
+		.value("TYCHUSSPECTREACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSSPECTREACGLUESCREENDUMMY)
+		.value("TYCHUSWARHOUNDACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYCHUSWARHOUNDACGLUESCREENDUMMY)
+		.value("TYRANNOZORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::TYRANNOZORACGLUESCREENDUMMY)
+		.value("ULAANSMOKEBRIDGE", sc2::UNIT_TYPEID::ULAANSMOKEBRIDGE)
+		.value("ULTRALISKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ULTRALISKACGLUESCREENDUMMY)
+		.value("ULTRASONICPULSEWEAPON", sc2::UNIT_TYPEID::ULTRASONICPULSEWEAPON)
+		.value("UNBUILDABLEBRICKSSMALLUNIT", sc2::UNIT_TYPEID::UNBUILDABLEBRICKSSMALLUNIT)
+		.value("UNBUILDABLEBRICKSUNIT", sc2::UNIT_TYPEID::UNBUILDABLEBRICKSUNIT)
+		.value("UNBUILDABLEPLATESSMALLUNIT", sc2::UNIT_TYPEID::UNBUILDABLEPLATESSMALLUNIT)
+		.value("UNBUILDABLEPLATESUNIT", sc2::UNIT_TYPEID::UNBUILDABLEPLATESUNIT)
+		.value("UNBUILDABLEROCKSDESTRUCTIBLE", sc2::UNIT_TYPEID::UNBUILDABLEROCKSDESTRUCTIBLE)
+		.value("UNBUILDABLEROCKSSMALLUNIT", sc2::UNIT_TYPEID::UNBUILDABLEROCKSSMALLUNIT)
+		.value("UNBUILDABLEROCKSUNIT", sc2::UNIT_TYPEID::UNBUILDABLEROCKSUNIT)
+		.value("URSADAKCALF", sc2::UNIT_TYPEID::URSADAKCALF)
+		.value("URSADAKFEMALE", sc2::UNIT_TYPEID::URSADAKFEMALE)
+		.value("URSADAKFEMALEEXOTIC", sc2::UNIT_TYPEID::URSADAKFEMALEEXOTIC)
+		.value("URSADAKMALE", sc2::UNIT_TYPEID::URSADAKMALE)
+		.value("URSADAKMALEEXOTIC", sc2::UNIT_TYPEID::URSADAKMALEEXOTIC)
+		.value("URSADON", sc2::UNIT_TYPEID::URSADON)
+		.value("URSULA", sc2::UNIT_TYPEID::URSULA)
+		.value("URUN", sc2::UNIT_TYPEID::URUN)
+		.value("URUNWEAPONLEFT", sc2::UNIT_TYPEID::URUNWEAPONLEFT)
+		.value("URUNWEAPONRIGHT", sc2::UNIT_TYPEID::URUNWEAPONRIGHT)
+		.value("VALHALLABASEDESTRUCTIBLEDOOR", sc2::UNIT_TYPEID::VALHALLABASEDESTRUCTIBLEDOOR)
+		.value("VALHALLABASEDESTRUCTIBLEDOORDEAD", sc2::UNIT_TYPEID::VALHALLABASEDESTRUCTIBLEDOORDEAD)
+		.value("VALHALLADESTRUCTIBLEWALL", sc2::UNIT_TYPEID::VALHALLADESTRUCTIBLEWALL)
+		.value("VIKING", sc2::UNIT_TYPEID::VIKING)
+		.value("VIKINGACGLUESCREENDUMMY", sc2::UNIT_TYPEID::VIKINGACGLUESCREENDUMMY)
+		.value("VIKINGFIGHTERWEAPON", sc2::UNIT_TYPEID::VIKINGFIGHTERWEAPON)
+		.value("VIKINGMENGSKACGLUESCREENDUMMY", sc2::UNIT_TYPEID::VIKINGMENGSKACGLUESCREENDUMMY)
+		.value("VIKINGSKINPREVIEW", sc2::UNIT_TYPEID::VIKINGSKINPREVIEW)
+		.value("VIKINGSKY_UNIT", sc2::UNIT_TYPEID::VIKINGSKY_UNIT)
+		.value("VILESTREAMWEAPON", sc2::UNIT_TYPEID::VILESTREAMWEAPON)
+		.value("VIPERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::VIPERACGLUESCREENDUMMY)
+		.value("VIPERCONSUMESTRUCTUREWEAPON", sc2::UNIT_TYPEID::VIPERCONSUMESTRUCTUREWEAPON)
+		.value("VIROPHAGE", sc2::UNIT_TYPEID::VIROPHAGE)
+		.value("VOIDMPIMMORTALREVIVECORPSE", sc2::UNIT_TYPEID::VOIDMPIMMORTALREVIVECORPSE)
+		.value("VOIDRAYACGLUESCREENDUMMY", sc2::UNIT_TYPEID::VOIDRAYACGLUESCREENDUMMY)
+		.value("VOIDRAYSHAKURASACGLUESCREENDUMMY", sc2::UNIT_TYPEID::VOIDRAYSHAKURASACGLUESCREENDUMMY)
+		.value("VOIDSEEKER", sc2::UNIT_TYPEID::VOIDSEEKER)
+		.value("VOIDSEEKERPHASEMINEBLASTSECONDARYWEAPON", sc2::UNIT_TYPEID::VOIDSEEKERPHASEMINEBLASTSECONDARYWEAPON)
+		.value("VOIDSEEKERPHASEMINEBLASTWEAPON", sc2::UNIT_TYPEID::VOIDSEEKERPHASEMINEBLASTWEAPON)
+		.value("VOIDSEEKERWEAPON", sc2::UNIT_TYPEID::VOIDSEEKERWEAPON)
+		.value("VULTURE", sc2::UNIT_TYPEID::VULTURE)
+		.value("VULTUREACGLUESCREENDUMMY", sc2::UNIT_TYPEID::VULTUREACGLUESCREENDUMMY)
+		.value("VULTUREWEAPON", sc2::UNIT_TYPEID::VULTUREWEAPON)
+		.value("WALLOFFIRE", sc2::UNIT_TYPEID::WALLOFFIRE)
+		.value("WARBOT", sc2::UNIT_TYPEID::WARBOT)
+		.value("WARBOTBMISSILE", sc2::UNIT_TYPEID::WARBOTBMISSILE)
+		.value("WARHOUND", sc2::UNIT_TYPEID::WARHOUND)
+		.value("WARHOUNDWEAPON", sc2::UNIT_TYPEID::WARHOUNDWEAPON)
+		.value("WARPIG", sc2::UNIT_TYPEID::WARPIG)
+		.value("WARPPRISMSKINPREVIEW", sc2::UNIT_TYPEID::WARPPRISMSKINPREVIEW)
+		.value("WARPPRISMTALDARIMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::WARPPRISMTALDARIMACGLUESCREENDUMMY)
+		.value("WEAPON", sc2::UNIT_TYPEID::WEAPON)
+		.value("WEAPONHYBRIDC", sc2::UNIT_TYPEID::WEAPONHYBRIDC)
+		.value("WEAPONHYBRIDD", sc2::UNIT_TYPEID::WEAPONHYBRIDD)
+		.value("WIDOWMINEAIRWEAPON", sc2::UNIT_TYPEID::WIDOWMINEAIRWEAPON)
+		.value("WIDOWMINEWEAPON", sc2::UNIT_TYPEID::WIDOWMINEWEAPON)
+		.value("WOLFSTATUE", sc2::UNIT_TYPEID::WOLFSTATUE)
+		.value("WRAITH", sc2::UNIT_TYPEID::WRAITH)
+		.value("WRAITHACGLUESCREENDUMMY", sc2::UNIT_TYPEID::WRAITHACGLUESCREENDUMMY)
+		.value("WRAITHAIRWEAPONLEFT", sc2::UNIT_TYPEID::WRAITHAIRWEAPONLEFT)
+		.value("WRAITHAIRWEAPONRIGHT", sc2::UNIT_TYPEID::WRAITHAIRWEAPONRIGHT)
+		.value("WRAITHGROUNDWEAPON", sc2::UNIT_TYPEID::WRAITHGROUNDWEAPON)
+		.value("WRECKEDBATTLECRUISERHELIOSFINAL", sc2::UNIT_TYPEID::WRECKEDBATTLECRUISERHELIOSFINAL)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6E", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6E)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6N", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6N)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6NE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6NE)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6NW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6NW)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6S", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6S)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6SE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6SE)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6SW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6SW)
+		.value("XELNAGADESTRUCTIBLEBLOCKER6W", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER6W)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8E", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8E)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8N", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8N)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8NE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8NE)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8NW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8NW)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8S", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8S)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8SE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8SE)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8SW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8SW)
+		.value("XELNAGADESTRUCTIBLEBLOCKER8W", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLEBLOCKER8W)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6E", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6E)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6N", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6N)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6NE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6NE)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6NW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6NW)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6S", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6S)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6SE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6SE)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6SW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6SW)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER6W", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER6W)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8E", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8E)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8N", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8N)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8NE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8NE)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8NW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8NW)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8S", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8S)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8SE", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8SE)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8SW", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8SW)
+		.value("XELNAGADESTRUCTIBLERAMPBLOCKER8W", sc2::UNIT_TYPEID::XELNAGADESTRUCTIBLERAMPBLOCKER8W)
+		.value("XELNAGAHEALINGSHRINE", sc2::UNIT_TYPEID::XELNAGAHEALINGSHRINE)
+		.value("XELNAGAPRISON", sc2::UNIT_TYPEID::XELNAGAPRISON)
+		.value("XELNAGAPRISONCONSOLE", sc2::UNIT_TYPEID::XELNAGAPRISONCONSOLE)
+		.value("XELNAGAPRISONHEIGHT2", sc2::UNIT_TYPEID::XELNAGAPRISONHEIGHT2)
+		.value("XELNAGAPRISONNORTH", sc2::UNIT_TYPEID::XELNAGAPRISONNORTH)
+		.value("XELNAGAPRISONNORTHHEIGHT2", sc2::UNIT_TYPEID::XELNAGAPRISONNORTHHEIGHT2)
+		.value("XELNAGASHRINE", sc2::UNIT_TYPEID::XELNAGASHRINE)
+		.value("XELNAGASHRINEXIL", sc2::UNIT_TYPEID::XELNAGASHRINEXIL)
+		.value("XELNAGATEMPLE", sc2::UNIT_TYPEID::XELNAGATEMPLE)
+		.value("XELNAGATEMPLEDOOR", sc2::UNIT_TYPEID::XELNAGATEMPLEDOOR)
+		.value("XELNAGATEMPLEDOORBURROWED", sc2::UNIT_TYPEID::XELNAGATEMPLEDOORBURROWED)
+		.value("XELNAGATEMPLEDOORURDL", sc2::UNIT_TYPEID::XELNAGATEMPLEDOORURDL)
+		.value("XELNAGATEMPLEDOORURDLBURROWED", sc2::UNIT_TYPEID::XELNAGATEMPLEDOORURDLBURROWED)
+		.value("XELNAGAVAULT", sc2::UNIT_TYPEID::XELNAGAVAULT)
+		.value("XELNAGAWORLDSHIPVAULT", sc2::UNIT_TYPEID::XELNAGAWORLDSHIPVAULT)
+		.value("XELNAGA_CAVERNS_DOORE", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORE)
+		.value("XELNAGA_CAVERNS_DOOREOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOOREOPENED)
+		.value("XELNAGA_CAVERNS_DOORN", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORN)
+		.value("XELNAGA_CAVERNS_DOORNE", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORNE)
+		.value("XELNAGA_CAVERNS_DOORNEOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORNEOPENED)
+		.value("XELNAGA_CAVERNS_DOORNOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORNOPENED)
+		.value("XELNAGA_CAVERNS_DOORNW", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORNW)
+		.value("XELNAGA_CAVERNS_DOORNWOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORNWOPENED)
+		.value("XELNAGA_CAVERNS_DOORS", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORS)
+		.value("XELNAGA_CAVERNS_DOORSE", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORSE)
+		.value("XELNAGA_CAVERNS_DOORSEOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORSEOPENED)
+		.value("XELNAGA_CAVERNS_DOORSOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORSOPENED)
+		.value("XELNAGA_CAVERNS_DOORSW", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORSW)
+		.value("XELNAGA_CAVERNS_DOORSWOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORSWOPENED)
+		.value("XELNAGA_CAVERNS_DOORW", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORW)
+		.value("XELNAGA_CAVERNS_DOORWOPENED", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_DOORWOPENED)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEH10", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEH10)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEH10OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEH10OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEH12", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEH12)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEH12OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEH12OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEH8", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEH8)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEH8OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEH8OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENE10", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENE10)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENE10OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENE10OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENE12", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENE12)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENE12OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENE12OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENE8", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENE8)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENE8OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENE8OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENW10", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENW10)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENW10OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENW10OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENW12", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENW12)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENW12OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENW12OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENW8", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENW8)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGENW8OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGENW8OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEV10", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEV10)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEV10OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEV10OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEV12", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEV12)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEV12OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEV12OUT)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEV8", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEV8)
+		.value("XELNAGA_CAVERNS_FLOATING_BRIDGEV8OUT", sc2::UNIT_TYPEID::XELNAGA_CAVERNS_FLOATING_BRIDGEV8OUT)
+		.value("YAMATOWEAPON", sc2::UNIT_TYPEID::YAMATOWEAPON)
+		.value("YOINKMISSILE", sc2::UNIT_TYPEID::YOINKMISSILE)
+		.value("YOINKSIEGETANKMISSILE", sc2::UNIT_TYPEID::YOINKSIEGETANKMISSILE)
+		.value("YOINKVIKINGAIRMISSILE", sc2::UNIT_TYPEID::YOINKVIKINGAIRMISSILE)
+		.value("YOINKVIKINGGROUNDMISSILE", sc2::UNIT_TYPEID::YOINKVIKINGGROUNDMISSILE)
+		.value("ZEALOTACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZEALOTACGLUESCREENDUMMY)
+		.value("ZEALOTAIURACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZEALOTAIURACGLUESCREENDUMMY)
+		.value("ZEALOTFENIXACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZEALOTFENIXACGLUESCREENDUMMY)
+		.value("ZEALOTPURIFIERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZEALOTPURIFIERACGLUESCREENDUMMY)
+		.value("ZEALOTSHAKURASACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZEALOTSHAKURASACGLUESCREENDUMMY)
+		.value("ZEALOTVORAZUNACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZEALOTVORAZUNACGLUESCREENDUMMY)
+		.value("ZERATUL", sc2::UNIT_TYPEID::ZERATUL)
+		.value("ZERATULCRYSTALCHARGE", sc2::UNIT_TYPEID::ZERATULCRYSTALCHARGE)
+		.value("ZERATULDARKTEMPLARACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULDARKTEMPLARACGLUESCREENDUMMY)
+		.value("ZERATULDISRUPTORACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULDISRUPTORACGLUESCREENDUMMY)
+		.value("ZERATULIMMORTALACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULIMMORTALACGLUESCREENDUMMY)
+		.value("ZERATULOBSERVERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULOBSERVERACGLUESCREENDUMMY)
+		.value("ZERATULPHOTONCANNONACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULPHOTONCANNONACGLUESCREENDUMMY)
+		.value("ZERATULSENTRYACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULSENTRYACGLUESCREENDUMMY)
+		.value("ZERATULSTALKERACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULSTALKERACGLUESCREENDUMMY)
+		.value("ZERATULWARPPRISMACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERATULWARPPRISMACGLUESCREENDUMMY)
+		.value("ZERGDROPPOD", sc2::UNIT_TYPEID::ZERGDROPPOD)
+		.value("ZERGDROPPODCREEP", sc2::UNIT_TYPEID::ZERGDROPPODCREEP)
+		.value("ZERGLINGKERRIGANACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERGLINGKERRIGANACGLUESCREENDUMMY)
+		.value("ZERGLINGZAGARAACGLUESCREENDUMMY", sc2::UNIT_TYPEID::ZERGLINGZAGARAACGLUESCREENDUMMY)
+		.value("ZERG_BANELING", sc2::UNIT_TYPEID::ZERG_BANELING)
+		.value("ZERG_BANELINGBURROWED", sc2::UNIT_TYPEID::ZERG_BANELINGBURROWED)
+		.value("ZERG_BANELINGCOCOON", sc2::UNIT_TYPEID::ZERG_BANELINGCOCOON)
+		.value("ZERG_BANELINGNEST", sc2::UNIT_TYPEID::ZERG_BANELINGNEST)
+		.value("ZERG_BROODLING", sc2::UNIT_TYPEID::ZERG_BROODLING)
+		.value("ZERG_BROODLORD", sc2::UNIT_TYPEID::ZERG_BROODLORD)
+		.value("ZERG_BROODLORDCOCOON", sc2::UNIT_TYPEID::ZERG_BROODLORDCOCOON)
+		.value("ZERG_CHANGELING", sc2::UNIT_TYPEID::ZERG_CHANGELING)
+		.value("ZERG_CHANGELINGMARINE", sc2::UNIT_TYPEID::ZERG_CHANGELINGMARINE)
+		.value("ZERG_CHANGELINGMARINESHIELD", sc2::UNIT_TYPEID::ZERG_CHANGELINGMARINESHIELD)
+		.value("ZERG_CHANGELINGZEALOT", sc2::UNIT_TYPEID::ZERG_CHANGELINGZEALOT)
+		.value("ZERG_CHANGELINGZERGLING", sc2::UNIT_TYPEID::ZERG_CHANGELINGZERGLING)
+		.value("ZERG_CHANGELINGZERGLINGWINGS", sc2::UNIT_TYPEID::ZERG_CHANGELINGZERGLINGWINGS)
+		.value("ZERG_CORRUPTOR", sc2::UNIT_TYPEID::ZERG_CORRUPTOR)
+		.value("ZERG_CREEPTUMOR", sc2::UNIT_TYPEID::ZERG_CREEPTUMOR)
+		.value("ZERG_CREEPTUMORBURROWED", sc2::UNIT_TYPEID::ZERG_CREEPTUMORBURROWED)
+		.value("ZERG_CREEPTUMORQUEEN", sc2::UNIT_TYPEID::ZERG_CREEPTUMORQUEEN)
+		.value("ZERG_DRONE", sc2::UNIT_TYPEID::ZERG_DRONE)
+		.value("ZERG_DRONEBURROWED", sc2::UNIT_TYPEID::ZERG_DRONEBURROWED)
+		.value("ZERG_EGG", sc2::UNIT_TYPEID::ZERG_EGG)
+		.value("ZERG_EVOLUTIONCHAMBER", sc2::UNIT_TYPEID::ZERG_EVOLUTIONCHAMBER)
+		.value("ZERG_EXTRACTOR", sc2::UNIT_TYPEID::ZERG_EXTRACTOR)
+		.value("ZERG_EXTRACTORRICH", sc2::UNIT_TYPEID::ZERG_EXTRACTORRICH)
+		.value("ZERG_GREATERSPIRE", sc2::UNIT_TYPEID::ZERG_GREATERSPIRE)
+		.value("ZERG_HATCHERY", sc2::UNIT_TYPEID::ZERG_HATCHERY)
+		.value("ZERG_HIVE", sc2::UNIT_TYPEID::ZERG_HIVE)
+		.value("ZERG_HYDRALISK", sc2::UNIT_TYPEID::ZERG_HYDRALISK)
+		.value("ZERG_HYDRALISKBURROWED", sc2::UNIT_TYPEID::ZERG_HYDRALISKBURROWED)
+		.value("ZERG_HYDRALISKDEN", sc2::UNIT_TYPEID::ZERG_HYDRALISKDEN)
+		.value("ZERG_INFESTATIONPIT", sc2::UNIT_TYPEID::ZERG_INFESTATIONPIT)
+		.value("ZERG_INFESTEDTERRANSEGG", sc2::UNIT_TYPEID::ZERG_INFESTEDTERRANSEGG)
+		.value("ZERG_INFESTOR", sc2::UNIT_TYPEID::ZERG_INFESTOR)
+		.value("ZERG_INFESTORBURROWED", sc2::UNIT_TYPEID::ZERG_INFESTORBURROWED)
+		.value("ZERG_INFESTORTERRAN", sc2::UNIT_TYPEID::ZERG_INFESTORTERRAN)
+		.value("ZERG_LAIR", sc2::UNIT_TYPEID::ZERG_LAIR)
+		.value("ZERG_LARVA", sc2::UNIT_TYPEID::ZERG_LARVA)
+		.value("ZERG_LOCUSTMP", sc2::UNIT_TYPEID::ZERG_LOCUSTMP)
+		.value("ZERG_LOCUSTMPFLYING", sc2::UNIT_TYPEID::ZERG_LOCUSTMPFLYING)
+		.value("ZERG_LURKERDENMP", sc2::UNIT_TYPEID::ZERG_LURKERDENMP)
+		.value("ZERG_LURKERMP", sc2::UNIT_TYPEID::ZERG_LURKERMP)
+		.value("ZERG_LURKERMPBURROWED", sc2::UNIT_TYPEID::ZERG_LURKERMPBURROWED)
+		.value("ZERG_LURKERMPEGG", sc2::UNIT_TYPEID::ZERG_LURKERMPEGG)
+		.value("ZERG_MUTALISK", sc2::UNIT_TYPEID::ZERG_MUTALISK)
+		.value("ZERG_NYDUSCANAL", sc2::UNIT_TYPEID::ZERG_NYDUSCANAL)
+		.value("ZERG_NYDUSNETWORK", sc2::UNIT_TYPEID::ZERG_NYDUSNETWORK)
+		.value("ZERG_OVERLORD", sc2::UNIT_TYPEID::ZERG_OVERLORD)
+		.value("ZERG_OVERLORDCOCOON", sc2::UNIT_TYPEID::ZERG_OVERLORDCOCOON)
+		.value("ZERG_OVERLORDTRANSPORT", sc2::UNIT_TYPEID::ZERG_OVERLORDTRANSPORT)
+		.value("ZERG_OVERSEER", sc2::UNIT_TYPEID::ZERG_OVERSEER)
+		.value("ZERG_OVERSEERSIEGEMODE", sc2::UNIT_TYPEID::ZERG_OVERSEERSIEGEMODE)
+		.value("ZERG_PARASITICBOMBDUMMY", sc2::UNIT_TYPEID::ZERG_PARASITICBOMBDUMMY)
+		.value("ZERG_QUEEN", sc2::UNIT_TYPEID::ZERG_QUEEN)
+		.value("ZERG_QUEENBURROWED", sc2::UNIT_TYPEID::ZERG_QUEENBURROWED)
+		.value("ZERG_RAVAGER", sc2::UNIT_TYPEID::ZERG_RAVAGER)
+		.value("ZERG_RAVAGERCOCOON", sc2::UNIT_TYPEID::ZERG_RAVAGERCOCOON)
+		.value("ZERG_ROACH", sc2::UNIT_TYPEID::ZERG_ROACH)
+		.value("ZERG_ROACHBURROWED", sc2::UNIT_TYPEID::ZERG_ROACHBURROWED)
+		.value("ZERG_ROACHWARREN", sc2::UNIT_TYPEID::ZERG_ROACHWARREN)
+		.value("ZERG_SPAWNINGPOOL", sc2::UNIT_TYPEID::ZERG_SPAWNINGPOOL)
+		.value("ZERG_SPINECRAWLER", sc2::UNIT_TYPEID::ZERG_SPINECRAWLER)
+		.value("ZERG_SPINECRAWLERUPROOTED", sc2::UNIT_TYPEID::ZERG_SPINECRAWLERUPROOTED)
+		.value("ZERG_SPIRE", sc2::UNIT_TYPEID::ZERG_SPIRE)
+		.value("ZERG_SPORECRAWLER", sc2::UNIT_TYPEID::ZERG_SPORECRAWLER)
+		.value("ZERG_SPORECRAWLERUPROOTED", sc2::UNIT_TYPEID::ZERG_SPORECRAWLERUPROOTED)
+		.value("ZERG_SWARMHOSTBURROWEDMP", sc2::UNIT_TYPEID::ZERG_SWARMHOSTBURROWEDMP)
+		.value("ZERG_SWARMHOSTMP", sc2::UNIT_TYPEID::ZERG_SWARMHOSTMP)
+		.value("ZERG_TRANSPORTOVERLORDCOCOON", sc2::UNIT_TYPEID::ZERG_TRANSPORTOVERLORDCOCOON)
+		.value("ZERG_ULTRALISK", sc2::UNIT_TYPEID::ZERG_ULTRALISK)
+		.value("ZERG_ULTRALISKBURROWED", sc2::UNIT_TYPEID::ZERG_ULTRALISKBURROWED)
+		.value("ZERG_ULTRALISKCAVERN", sc2::UNIT_TYPEID::ZERG_ULTRALISKCAVERN)
+		.value("ZERG_VIPER", sc2::UNIT_TYPEID::ZERG_VIPER)
+		.value("ZERG_ZERGLING", sc2::UNIT_TYPEID::ZERG_ZERGLING)
+		.value("ZERG_ZERGLINGBURROWED", sc2::UNIT_TYPEID::ZERG_ZERGLINGBURROWED)
+		.value("ZERUSDESTRUCTIBLEARCH", sc2::UNIT_TYPEID::ZERUSDESTRUCTIBLEARCH)
+		.value("ZHAKULDASLIBRARYUNIT", sc2::UNIT_TYPEID::ZHAKULDASLIBRARYUNIT)
+		.value("ZHAKULDASLIBRARYUNITBURROWED", sc2::UNIT_TYPEID::ZHAKULDASLIBRARYUNITBURROWED)
+		.value("ZHAKULDASLIGHTBRIDGE", sc2::UNIT_TYPEID::ZHAKULDASLIGHTBRIDGE)
+		.value("ZHAKULDASLIGHTBRIDGEOFF", sc2::UNIT_TYPEID::ZHAKULDASLIGHTBRIDGEOFF)
+		.value("ZHAKULDASLIGHTBRIDGEOFFTOPRIGHT", sc2::UNIT_TYPEID::ZHAKULDASLIGHTBRIDGEOFFTOPRIGHT)
+		.value("ZHAKULDASLIGHTBRIDGETOPRIGHT", sc2::UNIT_TYPEID::ZHAKULDASLIGHTBRIDGETOPRIGHT)
+		.value("_10SLOTBAG", sc2::UNIT_TYPEID::_10SLOTBAG)
+		.value("_12SLOTBAG", sc2::UNIT_TYPEID::_12SLOTBAG)
+		.value("_14SLOTBAG", sc2::UNIT_TYPEID::_14SLOTBAG)
+		.value("_16SLOTBAG", sc2::UNIT_TYPEID::_16SLOTBAG)
+		.value("_18SLOTBAG", sc2::UNIT_TYPEID::_18SLOTBAG)
+		.value("_20SLOTBAG", sc2::UNIT_TYPEID::_20SLOTBAG)
+		.value("_22SLOTBAG", sc2::UNIT_TYPEID::_22SLOTBAG)
+		.value("_24SLOTBAG", sc2::UNIT_TYPEID::_24SLOTBAG)
+		.value("_4SLOTBAG", sc2::UNIT_TYPEID::_4SLOTBAG)
+		.value("_6SLOTBAG", sc2::UNIT_TYPEID::_6SLOTBAG)
+		.value("_8SLOTBAG", sc2::UNIT_TYPEID::_8SLOTBAG)
         .def("__eq__", [](const sc2::UNIT_TYPEID &value, sc2::UnitTypeID &value2) { return value == value2; });
 
     py::enum_<sc2::ABILITY_ID>(m, "ABILITY_ID")
diff --git a/python-api-src/library.cpp b/python-api-src/library.cpp
index 1c59abb89366b7100c46e995e974cbf7ba7dad54..9b231c4a3ecb292458a8ae9bd5f53a6713a75e3b 100644
--- a/python-api-src/library.cpp
+++ b/python-api-src/library.cpp
@@ -55,6 +55,11 @@ PYBIND11_MODULE(library, m)
 
     py::implicitly_convertible<sc2::UPGRADE_ID, sc2::UpgradeID>();
 
+	py::class_<sc2::EffectID>(m, "EffectID")
+		.def(py::init<sc2::EFFECT_ID>());
+
+	py::implicitly_convertible<sc2::EFFECT_ID, sc2::EffectID>();
+
     py::class_<sc2::AbilityID>(m, "AbilityID")
         .def(py::init<sc2::ABILITY_ID>());
 
@@ -122,8 +127,8 @@ PYBIND11_MODULE(library, m)
         .value("CheatMoney", sc2::Difficulty::CheatMoney)
         .value("CheatInsane", sc2::Difficulty::CheatInsane);
 
-    m.def("create_participants", &sc2::CreateParticipant, "Create participant from bot", "race"_a, "bot"_a);
-    m.def("create_computer", &sc2::CreateComputer, "Create participant from built-in Starcraft computer", "race"_a, "difficulty"_a);
+	m.def("create_participants", &sc2::CreateParticipant, "Create participant from bot", "race"_a, "bot"_a, "player_name"_a);
+	m.def("create_computer", &sc2::CreateComputer, "Create participant from built-in Starcraft computer", "race"_a, "difficulty"_a, "ai_build"_a, "player_name"_a);
 
     /*
     py::class_<BuildDescription>(m, "BuildDescription")
diff --git a/src/Unit.cpp b/src/Unit.cpp
index ff4c26f2eff10ade772578a9e6ec70ac470c1326..12a5ac1a0f373c981112385294359a6b4164da3e 100644
--- a/src/Unit.cpp
+++ b/src/Unit.cpp
@@ -236,7 +236,7 @@ void Unit::move(const CCPosition & targetPosition) const
 {
 	BOT_ASSERT(isValid(), "Unit is not valid");
 #ifdef SC2API
-	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::MOVE, targetPosition);
+	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::GENERAL_MOVE, targetPosition);
 #else
 	m_unit->move(targetPosition);
 #endif
@@ -246,7 +246,7 @@ void Unit::move(const CCTilePosition & targetPosition) const
 {
 	BOT_ASSERT(isValid(), "Unit is not valid");
 #ifdef SC2API
-	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::MOVE, CCPosition((float)targetPosition.x, (float)targetPosition.y));
+	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::GENERAL_MOVE, CCPosition((float)targetPosition.x, (float)targetPosition.y));
 #else
 	m_unit->move(CCPosition(targetPosition));
 #endif
@@ -411,13 +411,13 @@ sc2::AbilityID Unit::getCurrentAbilityID() const
 void Unit::holdPosition() const
 {
 	BOT_ASSERT(isValid(), "Unit is not valid");
-	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::HOLDPOSITION);
+	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::GENERAL_HOLDPOSITION);
 }
 
 void Unit::patrol(const CCPosition & targetPosition) const
 {
 	BOT_ASSERT(isValid(), "Unit is not valid");
-	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::PATROL, targetPosition);
+	m_bot->Actions()->UnitCommand(m_unit, sc2::ABILITY_ID::GENERAL_PATROL, targetPosition);
 }
 
 void Unit::stopDance() const