Skip to content

Instantly share code, notes, and snippets.

@ForwardFeed
Last active March 22, 2026 14:19
Show Gist options
  • Select an option

  • Save ForwardFeed/91e66a2d41195bd0b3be57d45ecfcc70 to your computer and use it in GitHub Desktop.

Select an option

Save ForwardFeed/91e66a2d41195bd0b3be57d45ecfcc70 to your computer and use it in GitHub Desktop.
use rust_sc2::prelude::UnitTypeId::{self, *};
#[derive(Default, Debug, Clone, PartialEq)]
pub enum StructureHitboxCornerRadius{
#[default]
None,
Radius(f32),
Unhandled,
}
#[derive(Default, Debug, Clone, PartialEq)]
pub enum StructureVertices{
#[default]
None,
TwoDim(Vec<Vec<i32>>),
ThreeDim(Vec<Vec<Vec<i32>>>),
}
pub fn get_building_size(unit_id: UnitTypeId) -> Option<(u16, u16)>{
match unit_id {
TechLab => Some((2, 2)),
Reactor => Some((2, 2)),
PointDefenseDrone => None,
CommandCenter => Some((5, 5)),
SupplyDepot => Some((2, 2)),
Refinery => Some((3, 3)),
Barracks => Some((3, 3)),
EngineeringBay => Some((3, 3)),
MissileTurret => Some((2, 2)),
Bunker => Some((3, 3)),
SensorTower => Some((1, 1)),
GhostAcademy => Some((3, 3)),
Factory => Some((3, 3)),
Starport => Some((3, 3)),
Armory => Some((3, 3)),
FusionCore => Some((3, 3)),
AutoTurret => Some((2, 2)),
CommandCenterFlying => None,
BarracksTechLab => Some((2, 2)),
BarracksReactor => Some((2, 2)),
FactoryTechLab => Some((2, 2)),
FactoryReactor => Some((2, 2)),
StarportTechLab => Some((2, 2)),
StarportReactor => Some((2, 2)),
FactoryFlying => None,
StarportFlying => None,
BarracksFlying => None,
SupplyDepotLowered => Some((2, 2)),
Nexus => Some((5, 5)),
Pylon => Some((2, 2)),
Assimilator => Some((3, 3)),
Gateway => Some((3, 3)),
Forge => Some((3, 3)),
FleetBeacon => Some((3, 3)),
TwilightCouncil => Some((3, 3)),
PhotonCannon => Some((2, 2)),
Stargate => Some((3, 3)),
TemplarArchive => Some((3, 3)),
DarkShrine => Some((2, 2)),
RoboticsBay => Some((3, 3)),
RoboticsFacility => Some((3, 3)),
CyberneticsCore => Some((3, 3)),
Hatchery => Some((5, 5)),
CreepTumor => Some((1, 1)),
Extractor => Some((3, 3)),
SpawningPool => Some((3, 3)),
EvolutionChamber => Some((3, 3)),
HydraliskDen => Some((3, 3)),
Spire => Some((2, 2)),
UltraliskCavern => Some((3, 3)),
InfestationPit => Some((3, 3)),
NydusNetwork => Some((3, 3)),
BanelingNest => Some((3, 3)),
RoachWarren => Some((3, 3)),
SpineCrawler => Some((2, 2)),
SporeCrawler => Some((2, 2)),
Lair => Some((5, 5)),
Hive => Some((5, 5)),
GreaterSpire => Some((2, 2)),
PlanetaryFortress => Some((5, 5)),
OrbitalCommand => Some((5, 5)),
WarpGate => Some((3, 3)),
OrbitalCommandFlying => None,
CreepTumorBurrowed => Some((1, 1)),
CreepTumorQueen => Some((1, 1)),
SpineCrawlerUprooted => None,
SporeCrawlerUprooted => None,
NydusCanal => Some((3, 3)),
RichMineralField => Some((2, 1)),
RichMineralField750 => Some((2, 1)),
XelNagaTower => Some((2, 2)),
Rocks2x2NonConjoined => Some((2, 2)),
MineralField => Some((2, 1)),
VespeneGeyser => Some((3, 3)),
SpacePlatformGeyser => Some((3, 3)),
RichVespeneGeyser => Some((3, 3)),
DestructibleGarage => Some((3, 3)),
DestructibleGarageLarge => Some((5, 5)),
BraxisAlphaDestructible1x1 => Some((1, 1)),
BraxisAlphaDestructible2x2 => Some((2, 2)),
DestructibleDebris4x4 => Some((4, 4)),
DestructibleDebris6x6 => Some((6, 6)),
DestructibleRock2x4Vertical => Some((2, 4)),
DestructibleRock2x4Horizontal => Some((4, 2)),
DestructibleRock2x6Vertical => Some((2, 6)),
DestructibleRock2x6Horizontal => Some((6, 2)),
DestructibleRock4x4 => Some((4, 4)),
DestructibleRock6x6 => Some((6, 6)),
DestructibleRampDiagonalHugeULBR => Some((5, 10)),
DestructibleRampDiagonalHugeBLUR => Some((5, 10)),
DestructibleRampVerticalHuge => Some((4, 12)),
DestructibleRampHorizontalHuge => Some((12, 4)),
DestructibleDebrisRampDiagonalHugeULBR => Some((5, 10)),
DestructibleDebrisRampDiagonalHugeBLUR => Some((5, 10)),
MengskStatueAlone => Some((3, 3)),
MengskStatue => Some((6, 6)),
WolfStatue => Some((3, 3)),
GlobeStatue => Some((2, 2)),
UnbuildableRocksDestructible => Some((2, 2)),
UnbuildableBricksDestructible => Some((2, 2)),
UnbuildablePlatesDestructible => Some((2, 2)),
Debris2x2NonConjoined => Some((2, 2)),
MineralField750 => Some((2, 1)),
CollapsibleTerranTowerDebris => Some((5, 5)),
DebrisRampLeft => Some((5, 5)),
DebrisRampRight => Some((5, 5)),
CollapsibleRockTowerDebris => Some((5, 5)),
NydusCanalAttacker => Some((2, 2)),
NydusCanalCreeper => Some((2, 2)),
LurkerDenMP => Some((3, 3)),
ExtendingBridgeNEWide8Out => Some((7, 15)),
ExtendingBridgeNEWide8 => Some((0, 0)),
ExtendingBridgeNWWide8Out => Some((7, 15)),
ExtendingBridgeNWWide8 => Some((0, 0)),
ExtendingBridgeNEWide10Out => Some((7, 15)),
ExtendingBridgeNEWide10 => Some((0, 0)),
ExtendingBridgeNWWide10Out => Some((7, 15)),
ExtendingBridgeNWWide10 => Some((0, 0)),
ExtendingBridgeNEWide12Out => Some((7, 15)),
ExtendingBridgeNEWide12 => Some((0, 0)),
ExtendingBridgeNWWide12Out => Some((7, 15)),
ExtendingBridgeNWWide12 => Some((0, 0)),
CollapsibleRockTowerDebrisRampRight => Some((5, 5)),
CollapsibleRockTowerDebrisRampLeft => Some((5, 5)),
XelNagaCavernsFloatingBridgeNE8Out => Some((7, 10)),
XelNagaCavernsFloatingBridgeNE8 => Some((7, 10)),
XelNagaCavernsFloatingBridgeNW8Out => Some((7, 10)),
XelNagaCavernsFloatingBridgeNW8 => Some((7, 10)),
XelNagaCavernsFloatingBridgeNE10Out => Some((7, 10)),
XelNagaCavernsFloatingBridgeNE10 => Some((7, 10)),
XelNagaCavernsFloatingBridgeNW10Out => Some((7, 10)),
XelNagaCavernsFloatingBridgeNW10 => Some((7, 10)),
XelNagaCavernsFloatingBridgeNE12Out => Some((7, 10)),
XelNagaCavernsFloatingBridgeNE12 => Some((7, 10)),
XelNagaCavernsFloatingBridgeNW12Out => Some((7, 10)),
XelNagaCavernsFloatingBridgeNW12 => Some((7, 10)),
XelNagaCavernsFloatingBridgeH8Out => Some((10, 6)),
XelNagaCavernsFloatingBridgeH8 => Some((10, 6)),
XelNagaCavernsFloatingBridgeV8Out => Some((6, 10)),
XelNagaCavernsFloatingBridgeV8 => Some((6, 10)),
XelNagaCavernsFloatingBridgeH10Out => Some((10, 6)),
XelNagaCavernsFloatingBridgeH10 => Some((10, 6)),
XelNagaCavernsFloatingBridgeV10Out => Some((6, 10)),
XelNagaCavernsFloatingBridgeV10 => Some((6, 10)),
XelNagaCavernsFloatingBridgeH12Out => Some((10, 6)),
XelNagaCavernsFloatingBridgeH12 => Some((10, 6)),
XelNagaCavernsFloatingBridgeV12Out => Some((6, 10)),
XelNagaCavernsFloatingBridgeV12 => Some((6, 10)),
CollapsibleTerranTowerPushUnitRampLeft => None,
CollapsibleTerranTowerPushUnitRampRight => None,
CollapsibleRockTowerPushUnit => None,
CollapsibleTerranTowerPushUnit => None,
CollapsibleRockTowerPushUnitRampRight => None,
CollapsibleRockTowerPushUnitRampLeft => None,
DigesterCreepSprayTargetUnit => None,
ResourceBlocker => None,
CollapsibleRockTowerDiagonal => Some((5, 5)),
CollapsibleTerranTowerDiagonal => Some((5, 5)),
CollapsibleTerranTowerRampLeft => Some((5, 5)),
CollapsibleTerranTowerRampRight => Some((5, 5)),
Ice2x2NonConjoined => Some((2, 2)),
ProtossVespeneGeyser => Some((3, 3)),
CollapsibleRockTower => Some((5, 5)),
CollapsibleTerranTower => Some((5, 5)),
DestructibleRock6x6Weak => Some((6, 6)),
DestructibleCityDebris2x4Vertical => Some((2, 4)),
DestructibleCityDebris2x4Horizontal => Some((4, 2)),
DestructibleCityDebris2x6Vertical => Some((2, 6)),
DestructibleCityDebris2x6Horizontal => Some((6, 2)),
DestructibleCityDebris4x4 => Some((4, 4)),
DestructibleCityDebris6x6 => Some((6, 6)),
DestructibleCityDebrisHugeDiagonalBLUR => Some((5, 10)),
DestructibleCityDebrisHugeDiagonalULBR => Some((5, 10)),
DestructibleRockEx12x4Vertical => Some((2, 4)),
DestructibleRockEx12x4Horizontal => Some((4, 2)),
DestructibleRockEx12x6Vertical => Some((2, 6)),
DestructibleRockEx12x6Horizontal => Some((6, 2)),
DestructibleRockEx14x4 => Some((4, 4)),
DestructibleRockEx16x6 => Some((6, 6)),
DestructibleRockEx1DiagonalHugeULBR => Some((5, 10)),
DestructibleRockEx1DiagonalHugeBLUR => Some((5, 10)),
DestructibleRockEx1VerticalHuge => Some((4, 12)),
DestructibleRockEx1HorizontalHuge => Some((12, 4)),
DestructibleIce2x4Vertical => Some((2, 4)),
DestructibleIce2x4Horizontal => Some((4, 2)),
DestructibleIce2x6Vertical => Some((2, 6)),
DestructibleIce2x6Horizontal => Some((6, 2)),
DestructibleIce4x4 => Some((4, 4)),
DestructibleIce6x6 => Some((6, 6)),
DestructibleIceDiagonalHugeULBR => Some((5, 10)),
DestructibleIceDiagonalHugeBLUR => Some((5, 10)),
DestructibleIceVerticalHuge => Some((4, 12)),
DestructibleIceHorizontalHuge => Some((12, 4)),
ZerusDestructibleArch => None,
CollapsibleRockTowerRampRight => Some((5, 5)),
CollapsibleRockTowerRampLeft => Some((5, 5)),
LabMineralField => Some((2, 1)),
LabMineralField750 => Some((2, 1)),
SnowRefineryTerranExtendingBridgeNEShort8Out => None,
SnowRefineryTerranExtendingBridgeNEShort8 => None,
SnowRefineryTerranExtendingBridgeNWShort8Out => None,
SnowRefineryTerranExtendingBridgeNWShort8 => None,
AiurLightBridgeNE8Out => Some((7, 13)),
AiurLightBridgeNE8 => Some((0, 0)),
AiurLightBridgeNE10Out => Some((7, 13)),
AiurLightBridgeNE10 => Some((0, 0)),
AiurLightBridgeNE12Out => Some((7, 13)),
AiurLightBridgeNE12 => Some((0, 0)),
AiurLightBridgeNW8Out => Some((7, 13)),
AiurLightBridgeNW8 => Some((0, 0)),
AiurLightBridgeNW10Out => Some((7, 13)),
AiurLightBridgeNW10 => Some((0, 0)),
AiurLightBridgeNW12Out => Some((7, 13)),
AiurLightBridgeNW12 => Some((0, 0)),
AiurTempleBridgeNE8Out => Some((7, 11)),
AiurTempleBridgeNE10Out => Some((7, 11)),
AiurTempleBridgeNE12Out => Some((7, 11)),
AiurTempleBridgeNW8Out => Some((7, 13)),
AiurTempleBridgeNW10Out => Some((7, 13)),
AiurTempleBridgeNW12Out => Some((7, 13)),
ShakurasLightBridgeNE8Out => Some((7, 13)),
ShakurasLightBridgeNE8 => Some((0, 0)),
ShakurasLightBridgeNE10Out => Some((7, 13)),
ShakurasLightBridgeNE10 => Some((0, 0)),
ShakurasLightBridgeNE12Out => Some((7, 13)),
ShakurasLightBridgeNE12 => Some((0, 0)),
ShakurasLightBridgeNW8Out => Some((7, 13)),
ShakurasLightBridgeNW8 => Some((0, 0)),
ShakurasLightBridgeNW10Out => Some((7, 13)),
ShakurasLightBridgeNW10 => Some((0, 0)),
ShakurasLightBridgeNW12Out => Some((7, 13)),
ShakurasLightBridgeNW12 => Some((0, 0)),
OracleStasisTrap => Some((1, 1)),
AiurLightBridgeAbandonedNE8Out => Some((7, 13)),
AiurLightBridgeAbandonedNE8 => Some((0, 0)),
AiurLightBridgeAbandonedNE10Out => Some((7, 13)),
AiurLightBridgeAbandonedNE10 => Some((0, 0)),
AiurLightBridgeAbandonedNE12Out => Some((7, 13)),
AiurLightBridgeAbandonedNE12 => Some((0, 0)),
AiurLightBridgeAbandonedNW8Out => Some((7, 13)),
AiurLightBridgeAbandonedNW8 => Some((0, 0)),
AiurLightBridgeAbandonedNW10Out => Some((7, 13)),
AiurLightBridgeAbandonedNW10 => Some((0, 0)),
AiurLightBridgeAbandonedNW12Out => Some((7, 13)),
AiurLightBridgeAbandonedNW12 => Some((0, 0)),
CollapsiblePurifierTowerDebris => Some((5, 5)),
PortCityBridgeUnitNE8Out => Some((11, 12)),
PortCityBridgeUnitNE8 => Some((11, 12)),
PortCityBridgeUnitSE8Out => Some((10, 12)),
PortCityBridgeUnitSE8 => Some((10, 12)),
PortCityBridgeUnitNW8Out => Some((10, 12)),
PortCityBridgeUnitNW8 => Some((10, 12)),
PortCityBridgeUnitSW8Out => Some((11, 12)),
PortCityBridgeUnitSW8 => Some((11, 12)),
PortCityBridgeUnitNE10Out => Some((11, 12)),
PortCityBridgeUnitNE10 => Some((11, 12)),
PortCityBridgeUnitSE10Out => Some((10, 12)),
PortCityBridgeUnitSE10 => Some((10, 12)),
PortCityBridgeUnitNW10Out => Some((10, 12)),
PortCityBridgeUnitNW10 => Some((10, 12)),
PortCityBridgeUnitSW10Out => Some((11, 12)),
PortCityBridgeUnitSW10 => Some((11, 12)),
PortCityBridgeUnitNE12Out => Some((11, 12)),
PortCityBridgeUnitNE12 => Some((11, 12)),
PortCityBridgeUnitSE12Out => Some((10, 12)),
PortCityBridgeUnitSE12 => Some((10, 12)),
PortCityBridgeUnitNW12Out => Some((10, 12)),
PortCityBridgeUnitNW12 => Some((10, 12)),
PortCityBridgeUnitSW12Out => Some((11, 12)),
PortCityBridgeUnitSW12 => Some((11, 12)),
PortCityBridgeUnitN8Out => Some((10, 8)),
PortCityBridgeUnitN8 => Some((10, 8)),
PortCityBridgeUnitS8Out => Some((10, 8)),
PortCityBridgeUnitS8 => Some((10, 8)),
PortCityBridgeUnitE8Out => Some((8, 10)),
PortCityBridgeUnitE8 => Some((8, 10)),
PortCityBridgeUnitW8Out => Some((8, 10)),
PortCityBridgeUnitW8 => Some((8, 10)),
PortCityBridgeUnitN10Out => Some((10, 8)),
PortCityBridgeUnitN10 => Some((10, 8)),
PortCityBridgeUnitS10Out => Some((10, 8)),
PortCityBridgeUnitS10 => Some((10, 8)),
PortCityBridgeUnitE10Out => Some((8, 10)),
PortCityBridgeUnitE10 => Some((8, 10)),
PortCityBridgeUnitW10Out => Some((8, 10)),
PortCityBridgeUnitW10 => Some((8, 10)),
PortCityBridgeUnitN12Out => Some((10, 8)),
PortCityBridgeUnitN12 => Some((10, 8)),
PortCityBridgeUnitS12Out => Some((10, 8)),
PortCityBridgeUnitS12 => Some((10, 8)),
PortCityBridgeUnitE12Out => Some((8, 10)),
PortCityBridgeUnitE12 => Some((8, 10)),
PortCityBridgeUnitW12Out => Some((8, 10)),
PortCityBridgeUnitW12 => Some((8, 10)),
PurifierRichMineralField => Some((2, 1)),
PurifierRichMineralField750 => Some((2, 1)),
CollapsiblePurifierTowerPushUnit => None,
KD8Charge => None,
DestructibleExpeditionGate6x6 => Some((6, 6)),
DestructibleZergInfestation3x3 => Some((6, 6)),
AiurTempleBridgeDestructibleNE8Out => Some((7, 11)),
AiurTempleBridgeDestructibleNE10Out => Some((7, 11)),
AiurTempleBridgeDestructibleNE12Out => Some((7, 11)),
AiurTempleBridgeDestructibleNW8Out => Some((7, 13)),
AiurTempleBridgeDestructibleNW10Out => Some((7, 13)),
AiurTempleBridgeDestructibleNW12Out => Some((7, 13)),
AiurTempleBridgeDestructibleSW8Out => Some((7, 11)),
AiurTempleBridgeDestructibleSW10Out => Some((7, 11)),
AiurTempleBridgeDestructibleSW12Out => Some((7, 11)),
AiurTempleBridgeDestructibleSE8Out => Some((7, 13)),
AiurTempleBridgeDestructibleSE10Out => Some((7, 13)),
AiurTempleBridgeDestructibleSE12Out => Some((7, 13)),
XelNagaDestructibleRampBlocker6S => Some((6, 4)),
XelNagaDestructibleRampBlocker6SE => Some((6, 6)),
XelNagaDestructibleRampBlocker6E => Some((4, 6)),
XelNagaDestructibleRampBlocker6NE => Some((6, 6)),
XelNagaDestructibleRampBlocker6N => Some((6, 4)),
XelNagaDestructibleRampBlocker6NW => Some((6, 6)),
XelNagaDestructibleRampBlocker6W => Some((4, 6)),
XelNagaDestructibleRampBlocker6SW => Some((6, 6)),
XelNagaDestructibleRampBlocker8S => Some((8, 4)),
XelNagaDestructibleRampBlocker8SE => Some((5, 8)),
XelNagaDestructibleRampBlocker8E => Some((4, 8)),
XelNagaDestructibleRampBlocker8NE => Some((5, 8)),
XelNagaDestructibleRampBlocker8N => Some((8, 4)),
XelNagaDestructibleRampBlocker8NW => Some((5, 8)),
XelNagaDestructibleRampBlocker8W => Some((4, 8)),
XelNagaDestructibleRampBlocker8SW => Some((5, 8)),
PurifierVespeneGeyser => Some((3, 3)),
ShakurasVespeneGeyser => Some((3, 3)),
CollapsiblePurifierTowerDiagonal => Some((5, 5)),
PurifierMineralField => Some((2, 1)),
PurifierMineralField750 => Some((2, 1)),
BattleStationMineralField => Some((2, 1)),
BattleStationMineralField750 => Some((2, 1)),
ElsecaroColonistHut => Some((3, 3)),
PylonOvercharged => Some((2, 2)),
BypassArmorDrone => None,
XelNagaDestructibleBlocker6S => Some((6, 4)),
XelNagaDestructibleBlocker6SE => Some((6, 6)),
XelNagaDestructibleBlocker6E => Some((4, 6)),
XelNagaDestructibleBlocker6NE => Some((6, 6)),
XelNagaDestructibleBlocker6N => Some((6, 4)),
XelNagaDestructibleBlocker6NW => Some((6, 6)),
XelNagaDestructibleBlocker6W => Some((4, 6)),
XelNagaDestructibleBlocker6SW => Some((6, 6)),
XelNagaDestructibleBlocker8S => Some((8, 4)),
XelNagaDestructibleBlocker8SE => Some((5, 8)),
XelNagaDestructibleBlocker8E => Some((4, 8)),
XelNagaDestructibleBlocker8NE => Some((5, 8)),
XelNagaDestructibleBlocker8N => Some((8, 4)),
XelNagaDestructibleBlocker8NW => Some((5, 8)),
XelNagaDestructibleBlocker8W => Some((4, 8)),
XelNagaDestructibleBlocker8SW => Some((5, 8)),
ShieldBattery => Some((2, 2)),
RavenRepairDrone => None,
RenegadeMissileTurret => Some((2, 2)),
_ => { None }
}
}
pub fn get_building_vertices(unit_id: UnitTypeId) -> StructureVertices{
match unit_id {
TechLab => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
Reactor => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
PointDefenseDrone => StructureVertices::None,
CommandCenter => StructureVertices::TwoDim(vec![vec![2500, 1000], vec![2500, -1000], vec![1000, -2500], vec![-1000, -2500], vec![-2500, -1000], vec![-2500, 1000], vec![-1000, 2500], vec![1000, 2500], vec![2500, 1000]]),
SupplyDepot => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
Refinery => StructureVertices::TwoDim(vec![vec![750, 1500], vec![1500, 750], vec![1500, -750], vec![750, -1500], vec![-750, -1500], vec![-1500, -750], vec![-1500, 750], vec![-750, 1500], vec![750, 1500]]),
Barracks => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
EngineeringBay => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
MissileTurret => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
Bunker => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
SensorTower => StructureVertices::TwoDim(vec![vec![-500, 500], vec![500, 500], vec![500, -500], vec![-500, -500], vec![-500, 500]]),
GhostAcademy => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
Factory => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
Starport => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
Armory => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
FusionCore => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
AutoTurret => StructureVertices::TwoDim(vec![vec![375, 750], vec![750, 375], vec![750, -375], vec![375, -750], vec![-375, -750], vec![-750, -375], vec![-750, 375], vec![-375, 750], vec![375, 750]]),
CommandCenterFlying => StructureVertices::None,
BarracksTechLab => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
BarracksReactor => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
FactoryTechLab => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
FactoryReactor => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
StarportTechLab => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
StarportReactor => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
FactoryFlying => StructureVertices::None,
StarportFlying => StructureVertices::None,
BarracksFlying => StructureVertices::None,
SupplyDepotLowered => StructureVertices::None,
Nexus => StructureVertices::TwoDim(vec![vec![2500, 1000], vec![2500, -1000], vec![1000, -2500], vec![-1000, -2500], vec![-2500, -1000], vec![-2500, 1000], vec![-1000, 2500], vec![1000, 2500], vec![2500, 1000]]),
Pylon => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
Assimilator => StructureVertices::TwoDim(vec![vec![750, 1500], vec![1500, 750], vec![1500, -750], vec![750, -1500], vec![-750, -1500], vec![-1500, -750], vec![-1500, 750], vec![-750, 1500], vec![750, 1500]]),
Gateway => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
Forge => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
FleetBeacon => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
TwilightCouncil => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
PhotonCannon => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
Stargate => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
TemplarArchive => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
DarkShrine => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
RoboticsBay => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
RoboticsFacility => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
CyberneticsCore => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
Hatchery => StructureVertices::TwoDim(vec![vec![1000, 2500], vec![2500, 1000], vec![2500, -1000], vec![1000, -2500], vec![-1000, -2500], vec![-2500, -1000], vec![-2500, 1000], vec![-1000, 2500], vec![1000, 2500]]),
CreepTumor => StructureVertices::TwoDim(vec![vec![-500, 500], vec![500, 500], vec![500, -500], vec![-500, -500], vec![-500, 500]]),
Extractor => StructureVertices::TwoDim(vec![vec![750, 1500], vec![1500, 750], vec![1500, -750], vec![750, -1500], vec![-750, -1500], vec![-1500, -750], vec![-1500, 750], vec![-750, 1500], vec![750, 1500]]),
SpawningPool => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
EvolutionChamber => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
HydraliskDen => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
Spire => StructureVertices::TwoDim(vec![vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000]]),
UltraliskCavern => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
InfestationPit => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
NydusNetwork => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
BanelingNest => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
RoachWarren => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
SpineCrawler => StructureVertices::TwoDim(vec![vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000]]),
SporeCrawler => StructureVertices::TwoDim(vec![vec![250, 500], vec![500, 250], vec![500, -250], vec![250, -500], vec![-250, -500], vec![-500, -250], vec![-500, 250], vec![-250, 500], vec![250, 500]]),
Lair => StructureVertices::TwoDim(vec![vec![1000, 2500], vec![2500, 1000], vec![2500, -1000], vec![1000, -2500], vec![-1000, -2500], vec![-2500, -1000], vec![-2500, 1000], vec![-1000, 2500], vec![1000, 2500]]),
Hive => StructureVertices::TwoDim(vec![vec![1000, 2500], vec![2500, 1000], vec![2500, -1000], vec![1000, -2500], vec![-1000, -2500], vec![-2500, -1000], vec![-2500, 1000], vec![-1000, 2500], vec![1000, 2500]]),
GreaterSpire => StructureVertices::TwoDim(vec![vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000]]),
PlanetaryFortress => StructureVertices::TwoDim(vec![vec![2500, 1000], vec![2500, -1000], vec![1000, -2500], vec![-1000, -2500], vec![-2500, -1000], vec![-2500, 1000], vec![-1000, 2500], vec![1000, 2500], vec![2500, 1000]]),
OrbitalCommand => StructureVertices::TwoDim(vec![vec![2500, 1000], vec![2500, -1000], vec![1000, -2500], vec![-1000, -2500], vec![-2500, -1000], vec![-2500, 1000], vec![-1000, 2500], vec![1000, 2500], vec![2500, 1000]]),
WarpGate => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
OrbitalCommandFlying => StructureVertices::None,
CreepTumorBurrowed => StructureVertices::None,
CreepTumorQueen => StructureVertices::TwoDim(vec![vec![-500, 500], vec![500, 500], vec![500, -500], vec![-500, -500], vec![-500, 500]]),
SpineCrawlerUprooted => StructureVertices::None,
SporeCrawlerUprooted => StructureVertices::None,
NydusCanal => StructureVertices::TwoDim(vec![vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000]]),
RichMineralField => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
RichMineralField750 => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
XelNagaTower => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
Rocks2x2NonConjoined => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
MineralField => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
VespeneGeyser => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
SpacePlatformGeyser => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
RichVespeneGeyser => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
DestructibleGarage => StructureVertices::TwoDim(vec![vec![-1500, 1500], vec![1500, 1500], vec![1500, -1500], vec![-1500, -1500], vec![-1500, 1500]]),
DestructibleGarageLarge => StructureVertices::TwoDim(vec![vec![-2500, 2500], vec![2500, 2500], vec![2500, -2500], vec![-2500, -2500], vec![-2500, 2500]]),
BraxisAlphaDestructible1x1 => StructureVertices::TwoDim(vec![vec![-500, 500], vec![500, 500], vec![500, -500], vec![-500, -500], vec![-500, 500]]),
BraxisAlphaDestructible2x2 => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
DestructibleDebris4x4 => StructureVertices::TwoDim(vec![vec![2000, -1000], vec![1000, -2000], vec![-1000, -2000], vec![-2000, -1000], vec![-2000, 1000], vec![-1000, 2000], vec![1000, 2000], vec![2000, 1000], vec![2000, -1000]]),
DestructibleDebris6x6 => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
DestructibleRock2x4Vertical => StructureVertices::TwoDim(vec![vec![-1000, 2000], vec![1000, 2000], vec![1000, -2000], vec![-1000, -2000], vec![-1000, 2000]]),
DestructibleRock2x4Horizontal => StructureVertices::TwoDim(vec![vec![-2000, 1000], vec![2000, 1000], vec![2000, -1000], vec![-2000, -1000], vec![-2000, 1000]]),
DestructibleRock2x6Vertical => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![1000, 3000], vec![1000, -3000], vec![-1000, -3000], vec![-1000, 3000]]),
DestructibleRock2x6Horizontal => StructureVertices::TwoDim(vec![vec![-3000, 1000], vec![3000, 1000], vec![3000, -1000], vec![-3000, -1000], vec![-3000, 1000]]),
DestructibleRock4x4 => StructureVertices::TwoDim(vec![vec![2000, -1000], vec![1000, -2000], vec![-1000, -2000], vec![-2000, -1000], vec![-2000, 1000], vec![-1000, 2000], vec![1000, 2000], vec![2000, 1000], vec![2000, -1000]]),
DestructibleRock6x6 => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
DestructibleRampDiagonalHugeULBR => StructureVertices::TwoDim(vec![vec![-2000, 5000], vec![5000, -2000], vec![5000, -3000], vec![3000, -5000], vec![2000, -5000], vec![-5000, 2000], vec![-5000, 3000], vec![-3000, 5000], vec![-2000, 5000]]),
DestructibleRampDiagonalHugeBLUR => StructureVertices::TwoDim(vec![vec![3000, 5000], vec![5000, 3000], vec![5000, 2000], vec![-2000, -5000], vec![-3000, -5000], vec![-5000, -3000], vec![-5000, -2000], vec![2000, 5000], vec![3000, 5000]]),
DestructibleRampVerticalHuge => StructureVertices::TwoDim(vec![vec![1000, 6000], vec![2000, 5000], vec![2000, -5000], vec![1000, -6000], vec![-1000, -6000], vec![-2000, -5000], vec![-2000, 5000], vec![-1000, 6000], vec![1000, 6000]]),
DestructibleRampHorizontalHuge => StructureVertices::TwoDim(vec![vec![5000, 2000], vec![6000, 1000], vec![6000, -1000], vec![5000, -2000], vec![-5000, -2000], vec![-6000, -1000], vec![-6000, 1000], vec![-5000, 2000], vec![5000, 2000]]),
DestructibleDebrisRampDiagonalHugeULBR => StructureVertices::TwoDim(vec![vec![-2000, 5000], vec![5000, -2000], vec![5000, -3000], vec![3000, -5000], vec![2000, -5000], vec![-5000, 2000], vec![-5000, 3000], vec![-3000, 5000], vec![-2000, 5000]]),
DestructibleDebrisRampDiagonalHugeBLUR => StructureVertices::TwoDim(vec![vec![3000, 5000], vec![5000, 3000], vec![5000, 2000], vec![-2000, -5000], vec![-3000, -5000], vec![-5000, -3000], vec![-5000, -2000], vec![2000, 5000], vec![3000, 5000]]),
MengskStatueAlone => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
MengskStatue => StructureVertices::TwoDim(vec![vec![1500, 3000], vec![3000, 1500], vec![3000, -1500], vec![1500, -3000], vec![-1500, -3000], vec![-3000, -1500], vec![-3000, 1500], vec![-1500, 3000], vec![1500, 3000]]),
WolfStatue => StructureVertices::TwoDim(vec![vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000], vec![1500, -1000]]),
GlobeStatue => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
UnbuildableRocksDestructible => StructureVertices::None,
UnbuildableBricksDestructible => StructureVertices::None,
UnbuildablePlatesDestructible => StructureVertices::None,
Debris2x2NonConjoined => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
MineralField750 => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
CollapsibleTerranTowerDebris => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
DebrisRampLeft => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
DebrisRampRight => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
CollapsibleRockTowerDebris => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
NydusCanalAttacker => StructureVertices::TwoDim(vec![vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000]]),
NydusCanalCreeper => StructureVertices::TwoDim(vec![vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000]]),
LurkerDenMP => StructureVertices::TwoDim(vec![vec![1500, 1000], vec![1500, -1000], vec![1000, -1500], vec![-1000, -1500], vec![-1500, -1000], vec![-1500, 1000], vec![-1000, 1500], vec![1000, 1500], vec![1500, 1000]]),
ExtendingBridgeNEWide8Out => StructureVertices::ThreeDim(vec![vec![vec![8500, 4500], vec![8500, 2500], vec![-2500, -8500], vec![-4500, -8500], vec![8500, 4500]], vec![vec![-8500, -4500], vec![-8500, -2500], vec![2500, 8500], vec![4500, 8500], vec![-8500, -4500]]]),
ExtendingBridgeNEWide8 => StructureVertices::ThreeDim(vec![vec![vec![7500, 4500], vec![8000, 4000], vec![8500, 4500], vec![8500, 2500], vec![6500, 500], vec![6000, 1000], vec![5500, 1500], vec![7000, 3000], vec![3000, 7000], vec![1500, 5500], vec![1000, 6000], vec![500, 6500], vec![2500, 8500], vec![4500, 8500], vec![4000, 8000], vec![4500, 7500], vec![4000, 7000], vec![7000, 4000], vec![7500, 4500]], vec![vec![-1000, -6000], vec![-500, -6500], vec![-2500, -8500], vec![-4500, -8500], vec![-4000, -8000], vec![-4500, -7500], vec![-4000, -7000], vec![-7000, -4000], vec![-7500, -4500], vec![-8000, -4000], vec![-8500, -4500], vec![-8500, -2500], vec![-6500, -500], vec![-6000, -1000], vec![-5500, -1500], vec![-7000, -3000], vec![-3000, -7000], vec![-1500, -5500], vec![-1000, -6000]]]),
ExtendingBridgeNWWide8Out => StructureVertices::ThreeDim(vec![vec![vec![-8500, 2500], vec![-8500, 4500], vec![4500, -8500], vec![2500, -8500], vec![-8500, 2500]], vec![vec![-2500, 8500], vec![8500, -2500], vec![8500, -4500], vec![-4500, 8500], vec![-2500, 8500]]]),
ExtendingBridgeNWWide8 => StructureVertices::ThreeDim(vec![vec![vec![3000, -7000], vec![7000, -3000], vec![-3000, 7000], vec![-7000, 3000], vec![3000, -7000]], vec![vec![-2500, 8500], vec![8500, -2500], vec![8500, -4500], vec![8000, -4000], vec![7500, -4500], vec![7000, -4000], vec![4000, -7000], vec![4500, -7500], vec![4000, -8000], vec![4500, -8500], vec![2500, -8500], vec![-8500, 2500], vec![-8500, 4500], vec![-8000, 4000], vec![-7500, 4500], vec![-7000, 4000], vec![-4000, 7000], vec![-4500, 7500], vec![-4000, 8000], vec![-4500, 8500], vec![-2500, 8500]]]),
ExtendingBridgeNEWide10Out => StructureVertices::ThreeDim(vec![vec![vec![8500, 4500], vec![8500, 2500], vec![-2500, -8500], vec![-4500, -8500], vec![8500, 4500]], vec![vec![-8500, -4500], vec![-8500, -2500], vec![2500, 8500], vec![4500, 8500], vec![-8500, -4500]]]),
ExtendingBridgeNEWide10 => StructureVertices::ThreeDim(vec![vec![vec![7500, 4500], vec![8000, 4000], vec![8500, 4500], vec![8500, 2500], vec![6500, 500], vec![6000, 1000], vec![5500, 1500], vec![7000, 3000], vec![3000, 7000], vec![1500, 5500], vec![1000, 6000], vec![500, 6500], vec![2500, 8500], vec![4500, 8500], vec![4000, 8000], vec![4500, 7500], vec![4000, 7000], vec![7000, 4000], vec![7500, 4500]], vec![vec![-1000, -6000], vec![-500, -6500], vec![-2500, -8500], vec![-4500, -8500], vec![-4000, -8000], vec![-4500, -7500], vec![-4000, -7000], vec![-7000, -4000], vec![-7500, -4500], vec![-8000, -4000], vec![-8500, -4500], vec![-8500, -2500], vec![-6500, -500], vec![-6000, -1000], vec![-5500, -1500], vec![-7000, -3000], vec![-3000, -7000], vec![-1500, -5500], vec![-1000, -6000]]]),
ExtendingBridgeNWWide10Out => StructureVertices::ThreeDim(vec![vec![vec![-8500, 2500], vec![-8500, 4500], vec![4500, -8500], vec![2500, -8500], vec![-8500, 2500]], vec![vec![-2500, 8500], vec![8500, -2500], vec![8500, -4500], vec![-4500, 8500], vec![-2500, 8500]]]),
ExtendingBridgeNWWide10 => StructureVertices::ThreeDim(vec![vec![vec![3000, -7000], vec![7000, -3000], vec![-3000, 7000], vec![-7000, 3000], vec![3000, -7000]], vec![vec![-2500, 8500], vec![8500, -2500], vec![8500, -4500], vec![8000, -4000], vec![7500, -4500], vec![7000, -4000], vec![4000, -7000], vec![4500, -7500], vec![4000, -8000], vec![4500, -8500], vec![2500, -8500], vec![-8500, 2500], vec![-8500, 4500], vec![-8000, 4000], vec![-7500, 4500], vec![-7000, 4000], vec![-4000, 7000], vec![-4500, 7500], vec![-4000, 8000], vec![-4500, 8500], vec![-2500, 8500]]]),
ExtendingBridgeNEWide12Out => StructureVertices::ThreeDim(vec![vec![vec![8500, 4500], vec![8500, 2500], vec![-2500, -8500], vec![-4500, -8500], vec![8500, 4500]], vec![vec![-8500, -4500], vec![-8500, -2500], vec![2500, 8500], vec![4500, 8500], vec![-8500, -4500]]]),
ExtendingBridgeNEWide12 => StructureVertices::ThreeDim(vec![vec![vec![7500, 4500], vec![8000, 4000], vec![8500, 4500], vec![8500, 2500], vec![6500, 500], vec![6000, 1000], vec![5500, 1500], vec![7000, 3000], vec![3000, 7000], vec![1500, 5500], vec![1000, 6000], vec![500, 6500], vec![2500, 8500], vec![4500, 8500], vec![4000, 8000], vec![4500, 7500], vec![4000, 7000], vec![7000, 4000], vec![7500, 4500]], vec![vec![-1000, -6000], vec![-500, -6500], vec![-2500, -8500], vec![-4500, -8500], vec![-4000, -8000], vec![-4500, -7500], vec![-4000, -7000], vec![-7000, -4000], vec![-7500, -4500], vec![-8000, -4000], vec![-8500, -4500], vec![-8500, -2500], vec![-6500, -500], vec![-6000, -1000], vec![-5500, -1500], vec![-7000, -3000], vec![-3000, -7000], vec![-1500, -5500], vec![-1000, -6000]]]),
ExtendingBridgeNWWide12Out => StructureVertices::ThreeDim(vec![vec![vec![-8500, 2500], vec![-8500, 4500], vec![4500, -8500], vec![2500, -8500], vec![-8500, 2500]], vec![vec![-2500, 8500], vec![8500, -2500], vec![8500, -4500], vec![-4500, 8500], vec![-2500, 8500]]]),
ExtendingBridgeNWWide12 => StructureVertices::ThreeDim(vec![vec![vec![3000, -7000], vec![7000, -3000], vec![-3000, 7000], vec![-7000, 3000], vec![3000, -7000]], vec![vec![-2500, 8500], vec![8500, -2500], vec![8500, -4500], vec![8000, -4000], vec![7500, -4500], vec![7000, -4000], vec![4000, -7000], vec![4500, -7500], vec![4000, -8000], vec![4500, -8500], vec![2500, -8500], vec![-8500, 2500], vec![-8500, 4500], vec![-8000, 4000], vec![-7500, 4500], vec![-7000, 4000], vec![-4000, 7000], vec![-4500, 7500], vec![-4000, 8000], vec![-4500, 8500], vec![-2500, 8500]]]),
CollapsibleRockTowerDebrisRampRight => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
CollapsibleRockTowerDebrisRampLeft => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
XelNagaCavernsFloatingBridgeNE8Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeNE8 => StructureVertices::None,
XelNagaCavernsFloatingBridgeNW8Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeNW8 => StructureVertices::None,
XelNagaCavernsFloatingBridgeNE10Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeNE10 => StructureVertices::None,
XelNagaCavernsFloatingBridgeNW10Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeNW10 => StructureVertices::None,
XelNagaCavernsFloatingBridgeNE12Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeNE12 => StructureVertices::None,
XelNagaCavernsFloatingBridgeNW12Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeNW12 => StructureVertices::None,
XelNagaCavernsFloatingBridgeH8Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeH8 => StructureVertices::None,
XelNagaCavernsFloatingBridgeV8Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeV8 => StructureVertices::None,
XelNagaCavernsFloatingBridgeH10Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeH10 => StructureVertices::None,
XelNagaCavernsFloatingBridgeV10Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeV10 => StructureVertices::None,
XelNagaCavernsFloatingBridgeH12Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeH12 => StructureVertices::None,
XelNagaCavernsFloatingBridgeV12Out => StructureVertices::None,
XelNagaCavernsFloatingBridgeV12 => StructureVertices::None,
CollapsibleTerranTowerPushUnitRampLeft => StructureVertices::None,
CollapsibleTerranTowerPushUnitRampRight => StructureVertices::None,
CollapsibleRockTowerPushUnit => StructureVertices::None,
CollapsibleTerranTowerPushUnit => StructureVertices::None,
CollapsibleRockTowerPushUnitRampRight => StructureVertices::None,
CollapsibleRockTowerPushUnitRampLeft => StructureVertices::None,
DigesterCreepSprayTargetUnit => StructureVertices::None,
ResourceBlocker => StructureVertices::None,
CollapsibleRockTowerDiagonal => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
CollapsibleTerranTowerDiagonal => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
CollapsibleTerranTowerRampLeft => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
CollapsibleTerranTowerRampRight => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
Ice2x2NonConjoined => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
ProtossVespeneGeyser => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
CollapsibleRockTower => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
CollapsibleTerranTower => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
DestructibleRock6x6Weak => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
DestructibleCityDebris2x4Vertical => StructureVertices::TwoDim(vec![vec![-1000, 2000], vec![1000, 2000], vec![1000, -2000], vec![-1000, -2000], vec![-1000, 2000]]),
DestructibleCityDebris2x4Horizontal => StructureVertices::TwoDim(vec![vec![-2000, 1000], vec![2000, 1000], vec![2000, -1000], vec![-2000, -1000], vec![-2000, 1000]]),
DestructibleCityDebris2x6Vertical => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![1000, 3000], vec![1000, -3000], vec![-1000, -3000], vec![-1000, 3000]]),
DestructibleCityDebris2x6Horizontal => StructureVertices::TwoDim(vec![vec![-3000, 1000], vec![3000, 1000], vec![3000, -1000], vec![-3000, -1000], vec![-3000, 1000]]),
DestructibleCityDebris4x4 => StructureVertices::TwoDim(vec![vec![2000, -1000], vec![1000, -2000], vec![-1000, -2000], vec![-2000, -1000], vec![-2000, 1000], vec![-1000, 2000], vec![1000, 2000], vec![2000, 1000], vec![2000, -1000]]),
DestructibleCityDebris6x6 => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
DestructibleCityDebrisHugeDiagonalBLUR => StructureVertices::TwoDim(vec![vec![3000, 5000], vec![5000, 3000], vec![5000, 2000], vec![-2000, -5000], vec![-3000, -5000], vec![-5000, -3000], vec![-5000, -2000], vec![2000, 5000], vec![3000, 5000]]),
DestructibleCityDebrisHugeDiagonalULBR => StructureVertices::TwoDim(vec![vec![-2000, 5000], vec![5000, -2000], vec![5000, -3000], vec![3000, -5000], vec![2000, -5000], vec![-5000, 2000], vec![-5000, 3000], vec![-3000, 5000], vec![-2000, 5000]]),
DestructibleRockEx12x4Vertical => StructureVertices::TwoDim(vec![vec![-1000, 2000], vec![1000, 2000], vec![1000, -2000], vec![-1000, -2000], vec![-1000, 2000]]),
DestructibleRockEx12x4Horizontal => StructureVertices::TwoDim(vec![vec![-2000, 1000], vec![2000, 1000], vec![2000, -1000], vec![-2000, -1000], vec![-2000, 1000]]),
DestructibleRockEx12x6Vertical => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![1000, 3000], vec![1000, -3000], vec![-1000, -3000], vec![-1000, 3000]]),
DestructibleRockEx12x6Horizontal => StructureVertices::TwoDim(vec![vec![-3000, 1000], vec![3000, 1000], vec![3000, -1000], vec![-3000, -1000], vec![-3000, 1000]]),
DestructibleRockEx14x4 => StructureVertices::TwoDim(vec![vec![2000, -1000], vec![1000, -2000], vec![-1000, -2000], vec![-2000, -1000], vec![-2000, 1000], vec![-1000, 2000], vec![1000, 2000], vec![2000, 1000], vec![2000, -1000]]),
DestructibleRockEx16x6 => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
DestructibleRockEx1DiagonalHugeULBR => StructureVertices::TwoDim(vec![vec![-2000, 5000], vec![5000, -2000], vec![5000, -3000], vec![3000, -5000], vec![2000, -5000], vec![-5000, 2000], vec![-5000, 3000], vec![-3000, 5000], vec![-2000, 5000]]),
DestructibleRockEx1DiagonalHugeBLUR => StructureVertices::TwoDim(vec![vec![3000, 5000], vec![5000, 3000], vec![5000, 2000], vec![-2000, -5000], vec![-3000, -5000], vec![-5000, -3000], vec![-5000, -2000], vec![2000, 5000], vec![3000, 5000]]),
DestructibleRockEx1VerticalHuge => StructureVertices::TwoDim(vec![vec![1000, 6000], vec![2000, 5000], vec![2000, -5000], vec![1000, -6000], vec![-1000, -6000], vec![-2000, -5000], vec![-2000, 5000], vec![-1000, 6000], vec![1000, 6000]]),
DestructibleRockEx1HorizontalHuge => StructureVertices::TwoDim(vec![vec![5000, 2000], vec![6000, 1000], vec![6000, -1000], vec![5000, -2000], vec![-5000, -2000], vec![-6000, -1000], vec![-6000, 1000], vec![-5000, 2000], vec![5000, 2000]]),
DestructibleIce2x4Vertical => StructureVertices::TwoDim(vec![vec![-1000, 2000], vec![1000, 2000], vec![1000, -2000], vec![-1000, -2000], vec![-1000, 2000]]),
DestructibleIce2x4Horizontal => StructureVertices::TwoDim(vec![vec![-2000, 1000], vec![2000, 1000], vec![2000, -1000], vec![-2000, -1000], vec![-2000, 1000]]),
DestructibleIce2x6Vertical => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![1000, 3000], vec![1000, -3000], vec![-1000, -3000], vec![-1000, 3000]]),
DestructibleIce2x6Horizontal => StructureVertices::TwoDim(vec![vec![-3000, 1000], vec![3000, 1000], vec![3000, -1000], vec![-3000, -1000], vec![-3000, 1000]]),
DestructibleIce4x4 => StructureVertices::TwoDim(vec![vec![2000, -1000], vec![1000, -2000], vec![-1000, -2000], vec![-2000, -1000], vec![-2000, 1000], vec![-1000, 2000], vec![1000, 2000], vec![2000, 1000], vec![2000, -1000]]),
DestructibleIce6x6 => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
DestructibleIceDiagonalHugeULBR => StructureVertices::TwoDim(vec![vec![-2000, 5000], vec![5000, -2000], vec![5000, -3000], vec![3000, -5000], vec![2000, -5000], vec![-5000, 2000], vec![-5000, 3000], vec![-3000, 5000], vec![-2000, 5000]]),
DestructibleIceDiagonalHugeBLUR => StructureVertices::TwoDim(vec![vec![3000, 5000], vec![5000, 3000], vec![5000, 2000], vec![-2000, -5000], vec![-3000, -5000], vec![-5000, -3000], vec![-5000, -2000], vec![2000, 5000], vec![3000, 5000]]),
DestructibleIceVerticalHuge => StructureVertices::TwoDim(vec![vec![1000, 6000], vec![2000, 5000], vec![2000, -5000], vec![1000, -6000], vec![-1000, -6000], vec![-2000, -5000], vec![-2000, 5000], vec![-1000, 6000], vec![1000, 6000]]),
DestructibleIceHorizontalHuge => StructureVertices::TwoDim(vec![vec![5000, 2000], vec![6000, 1000], vec![6000, -1000], vec![5000, -2000], vec![-5000, -2000], vec![-6000, -1000], vec![-6000, 1000], vec![-5000, 2000], vec![5000, 2000]]),
ZerusDestructibleArch => StructureVertices::None,
CollapsibleRockTowerRampRight => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
CollapsibleRockTowerRampLeft => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
LabMineralField => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
LabMineralField750 => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
SnowRefineryTerranExtendingBridgeNEShort8Out => StructureVertices::None,
SnowRefineryTerranExtendingBridgeNEShort8 => StructureVertices::None,
SnowRefineryTerranExtendingBridgeNWShort8Out => StructureVertices::None,
SnowRefineryTerranExtendingBridgeNWShort8 => StructureVertices::None,
AiurLightBridgeNE8Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
AiurLightBridgeNE8 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
AiurLightBridgeNE10Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
AiurLightBridgeNE10 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
AiurLightBridgeNE12Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
AiurLightBridgeNE12 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
AiurLightBridgeNW8Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeNW8 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeNW10Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeNW10 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeNW12Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeNW12 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurTempleBridgeNE8Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeNE10Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeNE12Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeNW8Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
AiurTempleBridgeNW10Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
AiurTempleBridgeNW12Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
ShakurasLightBridgeNE8Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
ShakurasLightBridgeNE8 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
ShakurasLightBridgeNE10Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
ShakurasLightBridgeNE10 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
ShakurasLightBridgeNE12Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
ShakurasLightBridgeNE12 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
ShakurasLightBridgeNW8Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
ShakurasLightBridgeNW8 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
ShakurasLightBridgeNW10Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
ShakurasLightBridgeNW10 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
ShakurasLightBridgeNW12Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
ShakurasLightBridgeNW12 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
OracleStasisTrap => StructureVertices::None,
AiurLightBridgeAbandonedNE8Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
AiurLightBridgeAbandonedNE8 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
AiurLightBridgeAbandonedNE10Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
AiurLightBridgeAbandonedNE10 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
AiurLightBridgeAbandonedNE12Out => StructureVertices::ThreeDim(vec![vec![vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![6500, 2500]], vec![vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![-6500, -2500]]]),
AiurLightBridgeAbandonedNE12 => StructureVertices::ThreeDim(vec![vec![vec![-1000, -5000], vec![5000, 1000], vec![1000, 5000], vec![-5000, -1000], vec![-1000, -5000]], vec![vec![2500, 5500], vec![5500, 2500], vec![5500, 1500], vec![6500, 2500], vec![6500, 500], vec![-500, -6500], vec![-2500, -6500], vec![-1500, -5500], vec![-2500, -5500], vec![-5500, -2500], vec![-5500, -1500], vec![-6500, -2500], vec![-6500, -500], vec![500, 6500], vec![2500, 6500], vec![1500, 5500], vec![2500, 5500]]]),
AiurLightBridgeAbandonedNW8Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeAbandonedNW8 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeAbandonedNW10Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeAbandonedNW10 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeAbandonedNW12Out => StructureVertices::ThreeDim(vec![vec![vec![-6500, 500], vec![-6500, 2500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![-2500, 6500], vec![-500, 6500]]]),
AiurLightBridgeAbandonedNW12 => StructureVertices::ThreeDim(vec![vec![vec![1000, -5000], vec![5000, -1000], vec![-1000, 5000], vec![-5000, 1000], vec![1000, -5000]], vec![vec![-500, 6500], vec![6500, -500], vec![6500, -2500], vec![5500, -1500], vec![5500, -2500], vec![2500, -5500], vec![1500, -5500], vec![2500, -6500], vec![500, -6500], vec![-6500, 500], vec![-6500, 2500], vec![-5500, 1500], vec![-5500, 2500], vec![-2500, 5500], vec![-1500, 5500], vec![-2500, 6500], vec![-500, 6500]]]),
CollapsiblePurifierTowerDebris => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
PortCityBridgeUnitNE8Out => StructureVertices::None,
PortCityBridgeUnitNE8 => StructureVertices::None,
PortCityBridgeUnitSE8Out => StructureVertices::None,
PortCityBridgeUnitSE8 => StructureVertices::None,
PortCityBridgeUnitNW8Out => StructureVertices::None,
PortCityBridgeUnitNW8 => StructureVertices::None,
PortCityBridgeUnitSW8Out => StructureVertices::None,
PortCityBridgeUnitSW8 => StructureVertices::None,
PortCityBridgeUnitNE10Out => StructureVertices::None,
PortCityBridgeUnitNE10 => StructureVertices::None,
PortCityBridgeUnitSE10Out => StructureVertices::None,
PortCityBridgeUnitSE10 => StructureVertices::None,
PortCityBridgeUnitNW10Out => StructureVertices::None,
PortCityBridgeUnitNW10 => StructureVertices::None,
PortCityBridgeUnitSW10Out => StructureVertices::None,
PortCityBridgeUnitSW10 => StructureVertices::None,
PortCityBridgeUnitNE12Out => StructureVertices::None,
PortCityBridgeUnitNE12 => StructureVertices::None,
PortCityBridgeUnitSE12Out => StructureVertices::None,
PortCityBridgeUnitSE12 => StructureVertices::None,
PortCityBridgeUnitNW12Out => StructureVertices::None,
PortCityBridgeUnitNW12 => StructureVertices::None,
PortCityBridgeUnitSW12Out => StructureVertices::None,
PortCityBridgeUnitSW12 => StructureVertices::None,
PortCityBridgeUnitN8Out => StructureVertices::None,
PortCityBridgeUnitN8 => StructureVertices::None,
PortCityBridgeUnitS8Out => StructureVertices::None,
PortCityBridgeUnitS8 => StructureVertices::None,
PortCityBridgeUnitE8Out => StructureVertices::None,
PortCityBridgeUnitE8 => StructureVertices::None,
PortCityBridgeUnitW8Out => StructureVertices::None,
PortCityBridgeUnitW8 => StructureVertices::None,
PortCityBridgeUnitN10Out => StructureVertices::None,
PortCityBridgeUnitN10 => StructureVertices::None,
PortCityBridgeUnitS10Out => StructureVertices::None,
PortCityBridgeUnitS10 => StructureVertices::None,
PortCityBridgeUnitE10Out => StructureVertices::None,
PortCityBridgeUnitE10 => StructureVertices::None,
PortCityBridgeUnitW10Out => StructureVertices::None,
PortCityBridgeUnitW10 => StructureVertices::None,
PortCityBridgeUnitN12Out => StructureVertices::None,
PortCityBridgeUnitN12 => StructureVertices::None,
PortCityBridgeUnitS12Out => StructureVertices::None,
PortCityBridgeUnitS12 => StructureVertices::None,
PortCityBridgeUnitE12Out => StructureVertices::None,
PortCityBridgeUnitE12 => StructureVertices::None,
PortCityBridgeUnitW12Out => StructureVertices::None,
PortCityBridgeUnitW12 => StructureVertices::None,
PurifierRichMineralField => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
PurifierRichMineralField750 => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
CollapsiblePurifierTowerPushUnit => StructureVertices::None,
KD8Charge => StructureVertices::None,
DestructibleExpeditionGate6x6 => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
DestructibleZergInfestation3x3 => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![3000, 1000], vec![3000, -1000], vec![1000, -3000], vec![-1000, -3000], vec![-3000, -1000], vec![-3000, 1000], vec![-1000, 3000], vec![1000, 3000]]),
AiurTempleBridgeDestructibleNE8Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeDestructibleNE10Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeDestructibleNE12Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeDestructibleNW8Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
AiurTempleBridgeDestructibleNW10Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
AiurTempleBridgeDestructibleNW12Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
AiurTempleBridgeDestructibleSW8Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeDestructibleSW10Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeDestructibleSW12Out => StructureVertices::ThreeDim(vec![vec![vec![5500, 2500], vec![6500, 1500], vec![-1500, -6500], vec![-2500, -5500], vec![5500, 2500]], vec![vec![-6500, -1500], vec![1500, 6500], vec![2500, 5500], vec![-5500, -2500], vec![-6500, -1500]]]),
AiurTempleBridgeDestructibleSE8Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
AiurTempleBridgeDestructibleSE10Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
AiurTempleBridgeDestructibleSE12Out => StructureVertices::ThreeDim(vec![vec![vec![1500, -6500], vec![-6500, 1500], vec![-5500, 2500], vec![2500, -5500], vec![1500, -6500]], vec![vec![-1500, 6500], vec![6500, -1500], vec![5500, -2500], vec![-2500, 5500], vec![-1500, 6500]]]),
XelNagaDestructibleRampBlocker6S => StructureVertices::TwoDim(vec![vec![2500, 1500], vec![3000, 1000], vec![3000, -1000], vec![2500, -1500], vec![-2500, -1500], vec![-3000, -1000], vec![-3000, 1000], vec![-2500, 1500], vec![2500, 1500]]),
XelNagaDestructibleRampBlocker6SE => StructureVertices::TwoDim(vec![vec![2000, 3000], vec![3000, 2000], vec![3000, 1000], vec![-1000, -3000], vec![-2000, -3000], vec![-3000, -2000], vec![-3000, -1000], vec![1000, 3000], vec![2000, 3000]]),
XelNagaDestructibleRampBlocker6E => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![1500, 2500], vec![1500, -2500], vec![1000, -3000], vec![-1000, -3000], vec![-1500, -2500], vec![-1500, 2500], vec![-1000, 3000], vec![1000, 3000]]),
XelNagaDestructibleRampBlocker6NE => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![3000, -1000], vec![3000, -2000], vec![2000, -3000], vec![1000, -3000], vec![-3000, 1000], vec![-3000, 2000], vec![-2000, 3000], vec![-1000, 3000]]),
XelNagaDestructibleRampBlocker6N => StructureVertices::TwoDim(vec![vec![2500, 1500], vec![3000, 1000], vec![3000, -1000], vec![2500, -1500], vec![-2500, -1500], vec![-3000, -1000], vec![-3000, 1000], vec![-2500, 1500], vec![2500, 1500]]),
XelNagaDestructibleRampBlocker6NW => StructureVertices::TwoDim(vec![vec![2000, 3000], vec![3000, 2000], vec![3000, 1000], vec![-1000, -3000], vec![-2000, -3000], vec![-3000, -2000], vec![-3000, -1000], vec![1000, 3000], vec![2000, 3000]]),
XelNagaDestructibleRampBlocker6W => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![1500, 2500], vec![1500, -2500], vec![1000, -3000], vec![-1000, -3000], vec![-1500, -2500], vec![-1500, 2500], vec![-1000, 3000], vec![1000, 3000]]),
XelNagaDestructibleRampBlocker6SW => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![3000, -1000], vec![3000, -2000], vec![2000, -3000], vec![1000, -3000], vec![-3000, 1000], vec![-3000, 2000], vec![-2000, 3000], vec![-1000, 3000]]),
XelNagaDestructibleRampBlocker8S => StructureVertices::TwoDim(vec![vec![3000, 2000], vec![4000, 1000], vec![4000, -1000], vec![3000, -2000], vec![-3000, -2000], vec![-4000, -1000], vec![-4000, 1000], vec![-3000, 2000], vec![3000, 2000]]),
XelNagaDestructibleRampBlocker8SE => StructureVertices::TwoDim(vec![vec![2000, 4000], vec![4000, 2000], vec![-2000, -4000], vec![-4000, -2000], vec![2000, 4000]]),
XelNagaDestructibleRampBlocker8E => StructureVertices::TwoDim(vec![vec![1000, 4000], vec![2000, 3000], vec![2000, -3000], vec![1000, -4000], vec![-1000, -4000], vec![-2000, -3000], vec![-2000, 3000], vec![-1000, 4000], vec![1000, 4000]]),
XelNagaDestructibleRampBlocker8NE => StructureVertices::TwoDim(vec![vec![-2000, 4000], vec![4000, -2000], vec![2000, -4000], vec![-4000, 2000], vec![-2000, 4000]]),
XelNagaDestructibleRampBlocker8N => StructureVertices::TwoDim(vec![vec![3000, 2000], vec![4000, 1000], vec![4000, -1000], vec![3000, -2000], vec![-3000, -2000], vec![-4000, -1000], vec![-4000, 1000], vec![-3000, 2000], vec![3000, 2000]]),
XelNagaDestructibleRampBlocker8NW => StructureVertices::TwoDim(vec![vec![2000, 4000], vec![4000, 2000], vec![-2000, -4000], vec![-4000, -2000], vec![2000, 4000]]),
XelNagaDestructibleRampBlocker8W => StructureVertices::TwoDim(vec![vec![1000, 4000], vec![2000, 3000], vec![2000, -3000], vec![1000, -4000], vec![-1000, -4000], vec![-2000, -3000], vec![-2000, 3000], vec![-1000, 4000], vec![1000, 4000]]),
XelNagaDestructibleRampBlocker8SW => StructureVertices::TwoDim(vec![vec![-2000, 4000], vec![4000, -2000], vec![2000, -4000], vec![-4000, 2000], vec![-2000, 4000]]),
PurifierVespeneGeyser => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
ShakurasVespeneGeyser => StructureVertices::TwoDim(vec![vec![-1000, 1000], vec![1000, 1000], vec![1000, -1000], vec![-1000, -1000], vec![-1000, 1000]]),
CollapsiblePurifierTowerDiagonal => StructureVertices::TwoDim(vec![vec![1500, 2500], vec![2500, 1500], vec![2500, -1500], vec![1500, -2500], vec![-1500, -2500], vec![-2500, -1500], vec![-2500, 1500], vec![-1500, 2500], vec![1500, 2500]]),
PurifierMineralField => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
PurifierMineralField750 => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
BattleStationMineralField => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
BattleStationMineralField750 => StructureVertices::TwoDim(vec![vec![-1000, 500], vec![1000, 500], vec![1000, -500], vec![-1000, -500], vec![-1000, 500]]),
ElsecaroColonistHut => StructureVertices::TwoDim(vec![vec![-1500, 1500], vec![1500, 1500], vec![1500, -1500], vec![-1500, -1500], vec![-1500, 1500]]),
PylonOvercharged => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
BypassArmorDrone => StructureVertices::None,
XelNagaDestructibleBlocker6S => StructureVertices::TwoDim(vec![vec![2500, 1500], vec![3000, 1000], vec![3000, -1000], vec![2500, -1500], vec![-2500, -1500], vec![-3000, -1000], vec![-3000, 1000], vec![-2500, 1500], vec![2500, 1500]]),
XelNagaDestructibleBlocker6SE => StructureVertices::TwoDim(vec![vec![2000, 3000], vec![3000, 2000], vec![3000, 1000], vec![-1000, -3000], vec![-2000, -3000], vec![-3000, -2000], vec![-3000, -1000], vec![1000, 3000], vec![2000, 3000]]),
XelNagaDestructibleBlocker6E => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![1500, 2500], vec![1500, -2500], vec![1000, -3000], vec![-1000, -3000], vec![-1500, -2500], vec![-1500, 2500], vec![-1000, 3000], vec![1000, 3000]]),
XelNagaDestructibleBlocker6NE => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![3000, -1000], vec![3000, -2000], vec![2000, -3000], vec![1000, -3000], vec![-3000, 1000], vec![-3000, 2000], vec![-2000, 3000], vec![-1000, 3000]]),
XelNagaDestructibleBlocker6N => StructureVertices::TwoDim(vec![vec![2500, 1500], vec![3000, 1000], vec![3000, -1000], vec![2500, -1500], vec![-2500, -1500], vec![-3000, -1000], vec![-3000, 1000], vec![-2500, 1500], vec![2500, 1500]]),
XelNagaDestructibleBlocker6NW => StructureVertices::TwoDim(vec![vec![2000, 3000], vec![3000, 2000], vec![3000, 1000], vec![-1000, -3000], vec![-2000, -3000], vec![-3000, -2000], vec![-3000, -1000], vec![1000, 3000], vec![2000, 3000]]),
XelNagaDestructibleBlocker6W => StructureVertices::TwoDim(vec![vec![1000, 3000], vec![1500, 2500], vec![1500, -2500], vec![1000, -3000], vec![-1000, -3000], vec![-1500, -2500], vec![-1500, 2500], vec![-1000, 3000], vec![1000, 3000]]),
XelNagaDestructibleBlocker6SW => StructureVertices::TwoDim(vec![vec![-1000, 3000], vec![3000, -1000], vec![3000, -2000], vec![2000, -3000], vec![1000, -3000], vec![-3000, 1000], vec![-3000, 2000], vec![-2000, 3000], vec![-1000, 3000]]),
XelNagaDestructibleBlocker8S => StructureVertices::TwoDim(vec![vec![3000, 2000], vec![4000, 1000], vec![4000, -1000], vec![3000, -2000], vec![-3000, -2000], vec![-4000, -1000], vec![-4000, 1000], vec![-3000, 2000], vec![3000, 2000]]),
XelNagaDestructibleBlocker8SE => StructureVertices::TwoDim(vec![vec![2000, 4000], vec![4000, 2000], vec![-2000, -4000], vec![-4000, -2000], vec![2000, 4000]]),
XelNagaDestructibleBlocker8E => StructureVertices::TwoDim(vec![vec![1000, 4000], vec![2000, 3000], vec![2000, -3000], vec![1000, -4000], vec![-1000, -4000], vec![-2000, -3000], vec![-2000, 3000], vec![-1000, 4000], vec![1000, 4000]]),
XelNagaDestructibleBlocker8NE => StructureVertices::TwoDim(vec![vec![-2000, 4000], vec![4000, -2000], vec![2000, -4000], vec![-4000, 2000], vec![-2000, 4000]]),
XelNagaDestructibleBlocker8N => StructureVertices::TwoDim(vec![vec![3000, 2000], vec![4000, 1000], vec![4000, -1000], vec![3000, -2000], vec![-3000, -2000], vec![-4000, -1000], vec![-4000, 1000], vec![-3000, 2000], vec![3000, 2000]]),
XelNagaDestructibleBlocker8NW => StructureVertices::TwoDim(vec![vec![2000, 4000], vec![4000, 2000], vec![-2000, -4000], vec![-4000, -2000], vec![2000, 4000]]),
XelNagaDestructibleBlocker8W => StructureVertices::TwoDim(vec![vec![1000, 4000], vec![2000, 3000], vec![2000, -3000], vec![1000, -4000], vec![-1000, -4000], vec![-2000, -3000], vec![-2000, 3000], vec![-1000, 4000], vec![1000, 4000]]),
XelNagaDestructibleBlocker8SW => StructureVertices::TwoDim(vec![vec![-2000, 4000], vec![4000, -2000], vec![2000, -4000], vec![-4000, 2000], vec![-2000, 4000]]),
ShieldBattery => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
RavenRepairDrone => StructureVertices::None,
RenegadeMissileTurret => StructureVertices::TwoDim(vec![vec![500, -1000], vec![-500, -1000], vec![-1000, -500], vec![-1000, 500], vec![-500, 1000], vec![500, 1000], vec![1000, 500], vec![1000, -500], vec![500, -1000]]),
_ => { StructureVertices::None }
}
}
pub fn get_building_corner_radius(unit_id: UnitTypeId) -> StructureHitboxCornerRadius{
match unit_id {
TechLab => StructureHitboxCornerRadius::Radius(0.25),
Reactor => StructureHitboxCornerRadius::Radius(0.25),
PointDefenseDrone => StructureHitboxCornerRadius::None,
CommandCenter => StructureHitboxCornerRadius::Radius(0.3),
SupplyDepot => StructureHitboxCornerRadius::Radius(0.25),
Refinery => StructureHitboxCornerRadius::Radius(0.5),
Barracks => StructureHitboxCornerRadius::Radius(0.16666667),
EngineeringBay => StructureHitboxCornerRadius::Radius(0.16666667),
MissileTurret => StructureHitboxCornerRadius::Radius(0.25),
Bunker => StructureHitboxCornerRadius::Radius(0.16666667),
SensorTower => StructureHitboxCornerRadius::Radius(0.0),
GhostAcademy => StructureHitboxCornerRadius::Radius(0.16666667),
Factory => StructureHitboxCornerRadius::Radius(0.16666667),
Starport => StructureHitboxCornerRadius::Radius(0.16666667),
Armory => StructureHitboxCornerRadius::Radius(0.16666667),
FusionCore => StructureHitboxCornerRadius::Radius(0.16666667),
AutoTurret => StructureHitboxCornerRadius::Radius(0.33657283),
CommandCenterFlying => StructureHitboxCornerRadius::None,
BarracksTechLab => StructureHitboxCornerRadius::Radius(0.25),
BarracksReactor => StructureHitboxCornerRadius::Radius(0.25),
FactoryTechLab => StructureHitboxCornerRadius::Radius(0.25),
FactoryReactor => StructureHitboxCornerRadius::Radius(0.25),
StarportTechLab => StructureHitboxCornerRadius::Radius(0.25),
StarportReactor => StructureHitboxCornerRadius::Radius(0.25),
FactoryFlying => StructureHitboxCornerRadius::None,
StarportFlying => StructureHitboxCornerRadius::None,
BarracksFlying => StructureHitboxCornerRadius::None,
SupplyDepotLowered => StructureHitboxCornerRadius::Unhandled,
Nexus => StructureHitboxCornerRadius::Radius(0.3),
Pylon => StructureHitboxCornerRadius::Radius(0.25),
Assimilator => StructureHitboxCornerRadius::Radius(0.5),
Gateway => StructureHitboxCornerRadius::Radius(0.16666667),
Forge => StructureHitboxCornerRadius::Radius(0.16666667),
FleetBeacon => StructureHitboxCornerRadius::Radius(0.16666667),
TwilightCouncil => StructureHitboxCornerRadius::Radius(0.16666667),
PhotonCannon => StructureHitboxCornerRadius::Radius(0.25),
Stargate => StructureHitboxCornerRadius::Radius(0.16666667),
TemplarArchive => StructureHitboxCornerRadius::Radius(0.16666667),
DarkShrine => StructureHitboxCornerRadius::Radius(0.25),
RoboticsBay => StructureHitboxCornerRadius::Radius(0.16666667),
RoboticsFacility => StructureHitboxCornerRadius::Radius(0.16666667),
CyberneticsCore => StructureHitboxCornerRadius::Radius(0.16666667),
Hatchery => StructureHitboxCornerRadius::Radius(0.3),
CreepTumor => StructureHitboxCornerRadius::Radius(0.0),
Extractor => StructureHitboxCornerRadius::Radius(0.5),
SpawningPool => StructureHitboxCornerRadius::Radius(0.16666667),
EvolutionChamber => StructureHitboxCornerRadius::Radius(0.16666667),
HydraliskDen => StructureHitboxCornerRadius::Radius(0.16666667),
Spire => StructureHitboxCornerRadius::Radius(0.25),
UltraliskCavern => StructureHitboxCornerRadius::Radius(0.16666667),
InfestationPit => StructureHitboxCornerRadius::Radius(0.16666667),
NydusNetwork => StructureHitboxCornerRadius::Radius(0.16666667),
BanelingNest => StructureHitboxCornerRadius::Radius(0.16666667),
RoachWarren => StructureHitboxCornerRadius::Radius(0.16666667),
SpineCrawler => StructureHitboxCornerRadius::Radius(0.25),
SporeCrawler => StructureHitboxCornerRadius::Radius(0.4506939),
Lair => StructureHitboxCornerRadius::Radius(0.3),
Hive => StructureHitboxCornerRadius::Radius(0.3),
GreaterSpire => StructureHitboxCornerRadius::Radius(0.25),
PlanetaryFortress => StructureHitboxCornerRadius::Radius(0.3),
OrbitalCommand => StructureHitboxCornerRadius::Radius(0.3),
WarpGate => StructureHitboxCornerRadius::Radius(0.16666667),
OrbitalCommandFlying => StructureHitboxCornerRadius::None,
CreepTumorBurrowed => StructureHitboxCornerRadius::Unhandled,
CreepTumorQueen => StructureHitboxCornerRadius::Radius(0.0),
SpineCrawlerUprooted => StructureHitboxCornerRadius::None,
SporeCrawlerUprooted => StructureHitboxCornerRadius::None,
NydusCanal => StructureHitboxCornerRadius::Radius(0.37267798),
RichMineralField => StructureHitboxCornerRadius::Unhandled,
RichMineralField750 => StructureHitboxCornerRadius::Unhandled,
XelNagaTower => StructureHitboxCornerRadius::Radius(0.25),
Rocks2x2NonConjoined => StructureHitboxCornerRadius::Radius(0.0),
MineralField => StructureHitboxCornerRadius::Unhandled,
VespeneGeyser => StructureHitboxCornerRadius::Radius(0.5),
SpacePlatformGeyser => StructureHitboxCornerRadius::Radius(0.5),
RichVespeneGeyser => StructureHitboxCornerRadius::Radius(0.5),
DestructibleGarage => StructureHitboxCornerRadius::Radius(0.0),
DestructibleGarageLarge => StructureHitboxCornerRadius::Radius(0.0),
BraxisAlphaDestructible1x1 => StructureHitboxCornerRadius::Radius(0.0),
BraxisAlphaDestructible2x2 => StructureHitboxCornerRadius::Radius(0.0),
DestructibleDebris4x4 => StructureHitboxCornerRadius::Radius(0.25),
DestructibleDebris6x6 => StructureHitboxCornerRadius::Radius(0.33333334),
DestructibleRock2x4Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleRock2x4Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleRock2x6Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleRock2x6Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleRock4x4 => StructureHitboxCornerRadius::Radius(0.25),
DestructibleRock6x6 => StructureHitboxCornerRadius::Radius(0.33333334),
DestructibleRampDiagonalHugeULBR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleRampDiagonalHugeBLUR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleRampVerticalHuge => StructureHitboxCornerRadius::Unhandled,
DestructibleRampHorizontalHuge => StructureHitboxCornerRadius::Unhandled,
DestructibleDebrisRampDiagonalHugeULBR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleDebrisRampDiagonalHugeBLUR => StructureHitboxCornerRadius::Radius(0.0),
MengskStatueAlone => StructureHitboxCornerRadius::Radius(0.16666667),
MengskStatue => StructureHitboxCornerRadius::Radius(0.25),
WolfStatue => StructureHitboxCornerRadius::Radius(0.16666667),
GlobeStatue => StructureHitboxCornerRadius::Radius(0.0),
UnbuildableRocksDestructible => StructureHitboxCornerRadius::Unhandled,
UnbuildableBricksDestructible => StructureHitboxCornerRadius::Unhandled,
UnbuildablePlatesDestructible => StructureHitboxCornerRadius::Unhandled,
Debris2x2NonConjoined => StructureHitboxCornerRadius::Radius(0.0),
MineralField750 => StructureHitboxCornerRadius::Unhandled,
CollapsibleTerranTowerDebris => StructureHitboxCornerRadius::Radius(0.2),
DebrisRampLeft => StructureHitboxCornerRadius::Radius(0.2),
DebrisRampRight => StructureHitboxCornerRadius::Radius(0.2),
CollapsibleRockTowerDebris => StructureHitboxCornerRadius::Radius(0.2),
NydusCanalAttacker => StructureHitboxCornerRadius::Radius(0.25),
NydusCanalCreeper => StructureHitboxCornerRadius::Radius(0.25),
LurkerDenMP => StructureHitboxCornerRadius::Radius(0.16666667),
ExtendingBridgeNEWide8Out => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNEWide8 => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNWWide8Out => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNWWide8 => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNEWide10Out => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNEWide10 => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNWWide10Out => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNWWide10 => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNEWide12Out => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNEWide12 => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNWWide12Out => StructureHitboxCornerRadius::Unhandled,
ExtendingBridgeNWWide12 => StructureHitboxCornerRadius::Unhandled,
CollapsibleRockTowerDebrisRampRight => StructureHitboxCornerRadius::Radius(0.2),
CollapsibleRockTowerDebrisRampLeft => StructureHitboxCornerRadius::Radius(0.2),
XelNagaCavernsFloatingBridgeNE8Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNE8 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNW8Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNW8 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNE10Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNE10 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNW10Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNW10 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNE12Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNE12 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNW12Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeNW12 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeH8Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeH8 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeV8Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeV8 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeH10Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeH10 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeV10Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeV10 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeH12Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeH12 => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeV12Out => StructureHitboxCornerRadius::Unhandled,
XelNagaCavernsFloatingBridgeV12 => StructureHitboxCornerRadius::Unhandled,
CollapsibleTerranTowerPushUnitRampLeft => StructureHitboxCornerRadius::None,
CollapsibleTerranTowerPushUnitRampRight => StructureHitboxCornerRadius::None,
CollapsibleRockTowerPushUnit => StructureHitboxCornerRadius::None,
CollapsibleTerranTowerPushUnit => StructureHitboxCornerRadius::None,
CollapsibleRockTowerPushUnitRampRight => StructureHitboxCornerRadius::None,
CollapsibleRockTowerPushUnitRampLeft => StructureHitboxCornerRadius::None,
DigesterCreepSprayTargetUnit => StructureHitboxCornerRadius::None,
ResourceBlocker => StructureHitboxCornerRadius::None,
CollapsibleRockTowerDiagonal => StructureHitboxCornerRadius::Radius(0.2),
CollapsibleTerranTowerDiagonal => StructureHitboxCornerRadius::Radius(0.2),
CollapsibleTerranTowerRampLeft => StructureHitboxCornerRadius::Radius(0.2),
CollapsibleTerranTowerRampRight => StructureHitboxCornerRadius::Radius(0.2),
Ice2x2NonConjoined => StructureHitboxCornerRadius::Radius(0.0),
ProtossVespeneGeyser => StructureHitboxCornerRadius::Radius(0.5),
CollapsibleRockTower => StructureHitboxCornerRadius::Radius(0.2),
CollapsibleTerranTower => StructureHitboxCornerRadius::Radius(0.2),
DestructibleRock6x6Weak => StructureHitboxCornerRadius::Radius(0.33333334),
DestructibleCityDebris2x4Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleCityDebris2x4Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleCityDebris2x6Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleCityDebris2x6Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleCityDebris4x4 => StructureHitboxCornerRadius::Radius(0.25),
DestructibleCityDebris6x6 => StructureHitboxCornerRadius::Radius(0.33333334),
DestructibleCityDebrisHugeDiagonalBLUR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleCityDebrisHugeDiagonalULBR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleRockEx12x4Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleRockEx12x4Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleRockEx12x6Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleRockEx12x6Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleRockEx14x4 => StructureHitboxCornerRadius::Radius(0.25),
DestructibleRockEx16x6 => StructureHitboxCornerRadius::Radius(0.33333334),
DestructibleRockEx1DiagonalHugeULBR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleRockEx1DiagonalHugeBLUR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleRockEx1VerticalHuge => StructureHitboxCornerRadius::Unhandled,
DestructibleRockEx1HorizontalHuge => StructureHitboxCornerRadius::Unhandled,
DestructibleIce2x4Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleIce2x4Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleIce2x6Vertical => StructureHitboxCornerRadius::Unhandled,
DestructibleIce2x6Horizontal => StructureHitboxCornerRadius::Unhandled,
DestructibleIce4x4 => StructureHitboxCornerRadius::Radius(0.25),
DestructibleIce6x6 => StructureHitboxCornerRadius::Radius(0.33333334),
DestructibleIceDiagonalHugeULBR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleIceDiagonalHugeBLUR => StructureHitboxCornerRadius::Radius(0.0),
DestructibleIceVerticalHuge => StructureHitboxCornerRadius::Unhandled,
DestructibleIceHorizontalHuge => StructureHitboxCornerRadius::Unhandled,
ZerusDestructibleArch => StructureHitboxCornerRadius::None,
CollapsibleRockTowerRampRight => StructureHitboxCornerRadius::Radius(0.2),
CollapsibleRockTowerRampLeft => StructureHitboxCornerRadius::Radius(0.2),
LabMineralField => StructureHitboxCornerRadius::Unhandled,
LabMineralField750 => StructureHitboxCornerRadius::Unhandled,
SnowRefineryTerranExtendingBridgeNEShort8Out => StructureHitboxCornerRadius::None,
SnowRefineryTerranExtendingBridgeNEShort8 => StructureHitboxCornerRadius::None,
SnowRefineryTerranExtendingBridgeNWShort8Out => StructureHitboxCornerRadius::None,
SnowRefineryTerranExtendingBridgeNWShort8 => StructureHitboxCornerRadius::None,
AiurLightBridgeNE8Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNE8 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNE10Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNE10 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNE12Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNE12 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNW8Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNW8 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNW10Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNW10 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNW12Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeNW12 => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeNE8Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeNE10Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeNE12Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeNW8Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeNW10Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeNW12Out => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNE8Out => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNE8 => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNE10Out => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNE10 => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNE12Out => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNE12 => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNW8Out => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNW8 => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNW10Out => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNW10 => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNW12Out => StructureHitboxCornerRadius::Unhandled,
ShakurasLightBridgeNW12 => StructureHitboxCornerRadius::Unhandled,
OracleStasisTrap => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNE8Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNE8 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNE10Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNE10 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNE12Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNE12 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNW8Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNW8 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNW10Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNW10 => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNW12Out => StructureHitboxCornerRadius::Unhandled,
AiurLightBridgeAbandonedNW12 => StructureHitboxCornerRadius::Unhandled,
CollapsiblePurifierTowerDebris => StructureHitboxCornerRadius::Radius(0.2),
PortCityBridgeUnitNE8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNE8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSE8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSE8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNW8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNW8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSW8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSW8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNE10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNE10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSE10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSE10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNW10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNW10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSW10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSW10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNE12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNE12 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSE12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSE12 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNW12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitNW12 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSW12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitSW12 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitN8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitN8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitS8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitS8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitE8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitE8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitW8Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitW8 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitN10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitN10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitS10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitS10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitE10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitE10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitW10Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitW10 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitN12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitN12 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitS12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitS12 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitE12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitE12 => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitW12Out => StructureHitboxCornerRadius::Unhandled,
PortCityBridgeUnitW12 => StructureHitboxCornerRadius::Unhandled,
PurifierRichMineralField => StructureHitboxCornerRadius::Unhandled,
PurifierRichMineralField750 => StructureHitboxCornerRadius::Unhandled,
CollapsiblePurifierTowerPushUnit => StructureHitboxCornerRadius::None,
KD8Charge => StructureHitboxCornerRadius::None,
DestructibleExpeditionGate6x6 => StructureHitboxCornerRadius::Radius(0.33333334),
DestructibleZergInfestation3x3 => StructureHitboxCornerRadius::Radius(0.33333334),
AiurTempleBridgeDestructibleNE8Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleNE10Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleNE12Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleNW8Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleNW10Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleNW12Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleSW8Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleSW10Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleSW12Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleSE8Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleSE10Out => StructureHitboxCornerRadius::Unhandled,
AiurTempleBridgeDestructibleSE12Out => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker6S => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker6SE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleRampBlocker6E => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker6NE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleRampBlocker6N => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker6NW => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleRampBlocker6W => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker6SW => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleRampBlocker8S => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker8SE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleRampBlocker8E => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker8NE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleRampBlocker8N => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker8NW => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleRampBlocker8W => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleRampBlocker8SW => StructureHitboxCornerRadius::Radius(0.0),
PurifierVespeneGeyser => StructureHitboxCornerRadius::Radius(0.5),
ShakurasVespeneGeyser => StructureHitboxCornerRadius::Radius(0.5),
CollapsiblePurifierTowerDiagonal => StructureHitboxCornerRadius::Radius(0.2),
PurifierMineralField => StructureHitboxCornerRadius::Unhandled,
PurifierMineralField750 => StructureHitboxCornerRadius::Unhandled,
BattleStationMineralField => StructureHitboxCornerRadius::Unhandled,
BattleStationMineralField750 => StructureHitboxCornerRadius::Unhandled,
ElsecaroColonistHut => StructureHitboxCornerRadius::Radius(0.0),
PylonOvercharged => StructureHitboxCornerRadius::Radius(0.25),
BypassArmorDrone => StructureHitboxCornerRadius::None,
XelNagaDestructibleBlocker6S => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker6SE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleBlocker6E => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker6NE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleBlocker6N => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker6NW => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleBlocker6W => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker6SW => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleBlocker8S => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker8SE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleBlocker8E => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker8NE => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleBlocker8N => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker8NW => StructureHitboxCornerRadius::Radius(0.0),
XelNagaDestructibleBlocker8W => StructureHitboxCornerRadius::Unhandled,
XelNagaDestructibleBlocker8SW => StructureHitboxCornerRadius::Radius(0.0),
ShieldBattery => StructureHitboxCornerRadius::Radius(0.25),
RavenRepairDrone => StructureHitboxCornerRadius::None,
RenegadeMissileTurret => StructureHitboxCornerRadius::Radius(0.25),
_ => { StructureHitboxCornerRadius::None }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment