from rlgym.rocket_league.common_values import OCTANE, DOMINUS, PLANK, BREAKOUT, HYBRID, MERC

CAR_BODIES = [
    [21, "Backfire", OCTANE],
    [22, "Breakout", BREAKOUT],
    [23, "Octane", OCTANE],
    [24, "Paladin", PLANK],
    [25, "Road Hog", OCTANE],
    [26, "Gizmo", OCTANE],
    [27, "Sweet Tooth", OCTANE],
    [28, "X-Devil", HYBRID],
    [29, "Hotshot", DOMINUS],
    [30, "Merc", MERC],
    [31, "Venom", HYBRID],
    [402, "Takumi", OCTANE],
    [403, "Dominus", DOMINUS],
    [404, "Scarab", OCTANE],
    [523, "Zippy", OCTANE],
    [597, "DeLorean Time Machine", DOMINUS],
    [600, "Ripper", DOMINUS],
    [607, "Grog", OCTANE],
    [625, "Armadillo", OCTANE],
    [723, "Hogsticker", OCTANE],
    [803, "Batmobile (2016)", PLANK],
    [1018, "Dominus GT", DOMINUS],
    [1159, "X-Devil Mk2", HYBRID],
    [1171, "Masamune", DOMINUS],
    [1172, "Marauder", OCTANE],
    [1286, "Aftershock", DOMINUS],
    [1295, "Takumi RX-T", OCTANE],
    [1300, "Road Hog XL", OCTANE],
    [1317, "Esper", HYBRID],
    [1416, "Breakout Type-S", BREAKOUT],
    [1475, "Proteus", OCTANE],
    [1478, "Triton", OCTANE],
    [1533, "Vulcan", OCTANE],
    [1568, "Octane ZSR", OCTANE],
    [1603, "Twin Mill III", PLANK],
    [1623, "Bone Shaker", OCTANE],
    [1624, "Endo", HYBRID],
    [1675, "Ice Charger", DOMINUS],
    [1689, "Nemesis", DOMINUS],
    [1691, "Mantis", PLANK],
    [1856, "Jäger 619", HYBRID],
    [1883, "Imperator DT5", DOMINUS],
    [1894, "Samurai", BREAKOUT],
    [1919, "Centio", PLANK],
    [1932, "Animus GP", BREAKOUT],
    [2070, "Werewolf", DOMINUS],
    [2268, "Fast & Furious Dodge Charger", DOMINUS],
    [2269, "Fast & Furious Nissan Skyline", HYBRID],
    [2298, "Samus's Gunship", DOMINUS],
    [2313, "Mario NSR", OCTANE],
    [2665, "The Dark Knight's Tumbler", OCTANE],
    [2666, "Batmobile (1989)", DOMINUS],
    [2853, "Twinzer", OCTANE],
    [2919, "Jurassic Jeep® Wrangler", OCTANE],
    [2949, "Fast 4WD", OCTANE],
    [2950, "MR11", DOMINUS],
    [2951, "Gazella GT", DOMINUS],
    [3031, "Cyclone", BREAKOUT],
    [3155, "Maverick", DOMINUS],
    [3156, "Maverick G1", DOMINUS],
    [3157, "Maverick GXT", DOMINUS],
    [3265, "McLaren 570S", DOMINUS],
    [3311, "Komodo", BREAKOUT],
    [3426, "Diestro", DOMINUS],
    [3451, "Nimbus", HYBRID],
    [3582, "Insidio", HYBRID],
    [3594, "Artemis G1", PLANK],
    [3614, "Artemis", PLANK],
    [3622, "Artemis GXT", PLANK],
    [3702, "Tygris", HYBRID],
    [3875, "Guardian GXT", DOMINUS],
    [3879, "Guardian", DOMINUS],
    [3880, "Guardian G1", DOMINUS],
    [4014, "K.I.T.T.", DOMINUS],
    [4155, "Ecto-1", DOMINUS],
    [4268, "Sentinel", PLANK],
    [4284, "Fennec", OCTANE],
    [4318, "Mudcat", OCTANE],
    [4319, "Mudcat G1", OCTANE],
    [4320, "Mudcat GXT", OCTANE],
    [4367, "Chikara GXT", DOMINUS],
    [4472, "Chikara", DOMINUS],
    [4473, "Chikara G1", DOMINUS],
    [4745, "Ronin GXT", DOMINUS],
    [4770, "Dominus", DOMINUS],
    [4780, "Battle Bus", MERC],
    [4781, "Peregrine TT", DOMINUS],
    [4782, "Psyclops", OCTANE],  # With weird wheels
    [4861, "Ronin", DOMINUS],
    [4864, "Ronin G1", DOMINUS],
    [4906, "Harbinger", OCTANE],
    [5020, "Outlaw", OCTANE],
    [5039, "Harbinger GXT", OCTANE],
    [5188, "Scarab", OCTANE],
    [5265, "Formula 1 2021", PLANK],
    [5361, "Dingo", OCTANE],
    [5470, "R3MX", HYBRID],
    [5488, "R3MX GXT", HYBRID],
    [5547, "007's Aston Martin DB5", OCTANE],
    [5709, "NASCAR Ford Mustang", DOMINUS],
    [5713, "Ford F-150 RLE", OCTANE],
    [5773, "NASCAR Toyota Camry", DOMINUS],
    [5823, "NASCAR Chevrolet Camaro", DOMINUS],
    [5837, "Outlaw GXT", OCTANE],
    [5858, "Tyranno", DOMINUS],
    [5879, "Fast & Furious Pontiac Fiero", HYBRID],
    [5951, "Jackal", OCTANE],
    [5964, "Lamborghini Huracán STO", DOMINUS],
    [5979, "Tyranno GXT", DOMINUS],
    [6122, "Masamune", DOMINUS],
    [6243, "Nexus", BREAKOUT],
    [6244, "BMW M240i", DOMINUS],
    [6247, "McLaren 765LT", DOMINUS],
    [6260, "007's Aston Martin Valhalla", DOMINUS],
    [6489, "Nexus SC", BREAKOUT],
    [6836, "Ford Mustang Shelby GT350R RLE", DOMINUS],
    [6939, "Ford Mustang Mach-E RLE", OCTANE],
    [7012, "Tesla Cybertruck", HYBRID],
    [7052, "Formula 1 2022", PLANK],  # Actually slightly shifted version of plank
    [7211, "Mamba", DOMINUS],
    [7336, "Nomad", MERC],
    [7337, "NASCAR Next Gen Chevrolet Camaro", DOMINUS],
    [7338, "NASCAR Next Gen Ford Mustang", DOMINUS],
    [7341, "NASCAR Next Gen Toyota Camry", DOMINUS],
    [7343, "007's Aston Martin DBS", DOMINUS],
    [7415, "Batmobile (2022)", DOMINUS],
    [7477, "Nomad GXT", MERC],
    [7512, "Lamborghini Countach LPI 800-4", DOMINUS],
    [7532, "Maestro", DOMINUS],
    [7593, "Nissan Z Performance", DOMINUS],
    [7651, "Redline", BREAKOUT],
    [7696, "Whiplash", BREAKOUT],
    [7772, "Ferrari 296 GTB", DOMINUS],
    [7815, "Ford Bronco Raptor RLE", MERC],
    [7890, "Fuse", BREAKOUT],
    [7901, "Fast & Furious Mazda RX-7", BREAKOUT],
    [7947, "Honda Civic Type R", OCTANE],
    [7948, "Honda Civic Type R-LE", OCTANE],
    [7979, "Stampede", MERC],
    [8006, "Mako", BREAKOUT],
    [8360, "Emperor", BREAKOUT],
    [8361, "Emperor II", BREAKOUT],
    [8383, "Xentari", OCTANE],
    [8454, "Admiral", DOMINUS],
    [8524, "Bugatti Centodieci", PLANK],
    [8565, "Emperor II: Frozen", BREAKOUT],
    [8566, "Emperor II: Scorched", BREAKOUT],
    [8669, "Ace", BREAKOUT],
    [8806, "Volkswagen Golf GTI", OCTANE],
    [8807, "Volkswagen Golf GTI RLE", OCTANE],
    [9053, "Fast & Furious Dodge Charger SRT Hellcat", DOMINUS],
    [9084, "Nissan Silvia", HYBRID],
    [9085, "Nissan Silvia RLE", HYBRID],
    [9088, "Porsche 911 Turbo", DOMINUS],
    [9089, "Porsche 911 Turbo RLE", DOMINUS],
    [9140, "Bumblebee", DOMINUS],
    [9357, "Diesel", BREAKOUT],
    [9388, "Lightning McQueen", DOMINUS],
    [9427, "Primo", HYBRID],
    [9894, "Scorpion", DOMINUS],
    [10044, "Beskar", HYBRID],
    [10440, "Nissan Fairlady Z", DOMINUS],
    [10441, "Nissan Fairlady Z RLE", DOMINUS],
    [10689, "Behemoth", MERC],
    [10694, "Lockjaw", DOMINUS],
    [10697, "The Incredibile", BREAKOUT],
    [10698, "1966 Cadillac DeVille", BREAKOUT],
    [10805, "Nissan Skyline GT-R (R32)", HYBRID],
    [10817, "Quadra Turbo-R", BREAKOUT],
    [10822, "McLaren Senna", BREAKOUT],
    [10896, "BMW 1 Series", OCTANE],
    [10897, "BMW 1 Series RLE", OCTANE],
    [10900, "Shokunin", OCTANE],
    [10901, "Shokunin GXT", OCTANE],
    [11016, "Porsche 911 GT3 RS", DOMINUS],
    [11038, "Revolver", BREAKOUT],
    [11095, "Dodge Charger Daytona Scat Pack", DOMINUS],
    [11098, "Turtle Van", MERC],
    [11138, "Void Burn", HYBRID],
    [11141, "Lamborghini Urus SE", HYBRID],
    [11314, "Jeep Wrangler Rubicon", MERC],
    [11315, "Ford Mustang Shelby GT500", DOMINUS],
    [11336, "Dominus: Neon", DOMINUS],
    [11379, "Ram 1500 RHO", HYBRID],
    [11394, "Azura", BREAKOUT],
    [11505, "Breakout X", BREAKOUT],
    [11603, "Fennec ZR-F", OCTANE],
    [11800, "Megastar", BREAKOUT],
]

HITBOX_FROM_ITEM_ID = {k: v for k, _, v in CAR_BODIES}
NAME_FROM_ITEM_ID = {k: v for k, v, _ in CAR_BODIES}
