#pragma once // MassBuilderSaveTool // Copyright (C) 2021-2022 Guillaume Jacquemin // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include #include #include using namespace Corrade; using namespace Magnum; using namespace Containers::Literals; // region Melee static const std::map melee_grips { {0, "Combat Grip (1H)"_s}, {1, "Knuckle Guard Grip (1H)"_s}, {2, "Dual Guard Grip (1H)"_s}, {3, "Sepal Grip (1H)"_s}, {4, "Warrior Grip (1H)"_s}, {5, "Guardian Grip (1H)"_s}, {6, "Knight Guard Grip (1H)"_s}, {7, "Saber Guard Grip (1H)"_s}, {100, "Combat Side Grip (1H)"_s}, {101, "Hollowed Side Grip (1H)"_s}, {102, "Pulled Back Side Grip (1H)"_s}, {103, "Plated Side Grip (1H)"_s}, {104, "Locked Side Grip (1H)"_s}, {105, "Longpoint Side Grip (1H)"_s}, {200, "Combat Dual Grip (1H)"_s}, {201, "Hollowed Dual Grip (1H)"_s}, {202, "Plated Dual Grip (1H)"_s}, {400, "Combat Twin Grip (1H)"_s}, {401, "Sepal Twin Grip (1H)"_s}, {402, "Hollowed Twin Grip (1H)"_s}, {403, "Knuckle Guard Twin Grip (1H)"_s}, {404, "Arched Twin Grip (1H)"_s}, {1000, "Combat Knuckle (R/L)"_s}, {1001, "Battle Fist (R/L)"_s}, {1002, "Guard Knuckle (R/L)"_s}, {2000, "Combat Polearm (2H)"_s}, {2001, "Dual Guard Polearm (2H)"_s}, {2002, "Sepal Polearm (2H)"_s}, {2003, "Fin Polearm (2H)"_s}, {2004, "Arched Polearm (2H)"_s}, {2100, "Combat Side Polearm (2H)"_s}, {2101, "Plated Side Polearm (2H)"_s}, {2102, "Locked Side Polearm (2H)"_s}, {2103, "Fin Side Polearm (2H)"_s}, {2200, "Combat Dual Polearm (2H)"_s}, {2400, "Combat Twin Blade (2H)"_s}, {2401, "Guard Twin Blade (2H)"_s}, {2402, "Sepal Twin Blade (2H)"_s}, {2403, "Fin Twin Blade (2H)"_s}, {2404, "Arched Twin Blade (2H)"_s}, }; static const std::map melee_assaulters { {0, "Long Metal Blade"_s}, {1, "Long Assault Blade"_s}, {2, "Long Fin Blade"_s}, {3, "Long Double Blades"_s}, {4, "Long Straight Blade"_s}, {5, "Long Faceted Blade"_s}, {6, "Long Interlocked Blade"_s}, {7, "Long Frontbreak Blade"_s}, {8, "Long Encased Blade"_s}, {9, "Long Flat Gouger"_s}, {10, "Long Curved Blade"_s}, {11, "Long Broad Blade"_s}, {20, "Long Combat Edge"_s}, {21, "Long Attached Edge"_s}, {40, "Katana Blade"_s}, {41, "Custom Katana Blade"_s}, {60, "Energy Blade (Motion)"_s}, {61, "Powered Blade"_s}, {100, "Short Metal Blade"_s}, {101, "Short Assault Blade"_s}, {102, "Short Fin Blade"_s}, {120, "Short Combat Edge"_s}, {160, "Short Energy Blade (Motion)"_s}, {161, "Short Powered Blade"_s}, {180, "Triclaw"_s}, {181, "Straight Triclaw"_s}, {182, "Griphold Claw"_s}, {183, "Energy Claw"_s}, {184, "Openhold Claw"_s}, {185, "Hooktusk Claw"_s}, {200, "Bracer"_s}, {201, "Custom Bracer"_s}, {210, "Expanded Bracer"_s}, {211, "Expanded Custom Bracer"_s}, {300, "Heavy Smasher"_s}, {301, "Heavy Basher"_s}, {302, "Heavy Torch Mace"_s}, {400, "Light Smasher"_s}, {401, "Light Basher"_s}, {402, "Light Torch Mace"_s}, {420, "War Hammer"_s}, {421, "Great Hammer"_s}, {422, "Spiked Hammer"_s}, {423, "Broadhead Hammer"_s}, {440, "Morning Star"_s}, {441, "Spike Ball"_s}, {500, "Combat Lance"_s}, {501, "Gouger Lance"_s}, {510, "Piercer"_s}, {600, "Short Combat Lance"_s}, {605, "Short Combat Drill (Motion)"_s}, {610, "Short Piercer"_s}, {700, "Combat Axe"_s}, {701, "Custom Combat Axe"_s}, {702, "Piercing Axe"_s}, {703, "Frontbreak Axe"_s}, {704, "Maiming Axe"_s}, {705, "Delta Axe"_s}, {800, "Combat Scythe"_s}, {801, "Reaper Blade"_s}, {802, "Clawtooth Scythe"_s}, {803, "Wingpoint Scythe"_s}, {804, "Snakebone Scythe"_s}, {900, "Short Combat Scythe"_s}, {901, "Short Reaper Blade"_s}, {902, "Short Clawtooth Scythe"_s}, {903, "Short Wingpoint Scythe"_s}, {904, "Short Snakebone Scythe"_s}, }; // endregion // region Shields static const std::map shield_handles { {0, "Balanced Handle"_s}, {1, "Expanded Handle"_s}, {2, "Lowguard Handle"_s}, {3, "Longblocker Handle"_s}, {4, "Winged Handle"_s}, {5, "Stopper Handle"_s}, {6, "Layered Handle"_s}, {7, "Riotguard Handle"_s}, {8, "Blitz Handle"_s}, {9, "Foldable Handle"_s}, {10, "Board Handle"_s}, {11, "Knight Handle"_s}, {12, "Cargwall Handle"_s}, {100, "Buckler Handle"_s}, {101, "Star Handle"_s}, }; static const std::map shield_shells { {0, "Balanced Shell"_s}, {1, "Compass Shell"_s}, {2, "Uppoint Shell"_s}, {3, "Pointed Shell"_s}, {4, "Padded Shell"_s}, {5, "Pincer Shell"_s}, {6, "Fang Shell"_s}, {7, "Holder Shell"_s}, {8, "Composite Shell"_s}, {9, "Mechanical Shell"_s}, {10, "Layered Shell"_s}, {11, "Parted Shell"_s}, {12, "Tapst Shell"_s}, {13, "Sidloc Shell"_s}, {100, "V-Cross Shell"_s}, }; // endregion // region Bullet Shooters static const std::map bshooter_triggers { {0, "BL-Combat Trigger (1H)"_s}, {1, "Light Machine Trigger (1H)"_s}, {2, "Tactical Trigger (1H)"_s}, {3, "Compact Trigger (1H)"_s}, {4, "Longhold Trigger (1H)"_s}, {5, "Downhold Trigger (1H)"_s}, {6, "Cellblock Trigger (1H)"_s}, {99, "Base Trigger (1H)"_s}, {100, "BL-Machine Trigger (2H)"_s}, {101, "BL-Short Trigger (2H)"_s}, {102, "Shielded Trigger (2H)"_s}, {103, "Platedframe Trigger (2H)"_s}, {104, "Sidebox Trigger (2H) (Motion)"_s}, {199, "2H Base Trigger (2H)"_s}, }; static const std::map bshooter_barrels { {0, "BL-Combat Barrel (1 shot)"_s}, {1, "Shock Absorb Barrel (1 shot) (Motion)"_s}, {2, "Muzzlemod Barrel (1 shot)"_s}, {3, "Triangular Barrel (1 shot)"_s}, {4, "Recoilblock Barrel (1 shot) (Motion)"_s}, {97, "Short S Base Barrel (1 shot)"_s}, {98, "Medium S Base Barrel (1 shot)"_s}, {99, "Long S Base Barrel (1 shot)"_s}, {100, "Six-Barrel Gatling (Auto) (Motion)"_s}, {101, "Modded Six-Barrel Gatling (Auto) (Motion)"_s}, {102, "Four-Barrel Gatling (Auto) (Motion)"_s}, {103, "Retro Style Gatling (Auto) (Motion)"_s}, {197, "Short G Base Barrel (Auto)"_s}, {198, "Medium G Base Barrel (Auto)"_s}, {199, "Long G Base Barrel (Auto)"_s}, {200, "Blast Barrel (Spread)"_s}, {201, "Wideblast Barrel (Spread) (Motion)"_s}, {202, "Pelleter Barrel (Spread) (Motion)"_s}, {203, "Lockhold Barrel (Spread) (Motion)"_s}, {297, "Short B Base Barrel (Spread)"_s}, {298, "Medium B Base Barrel (Spread)"_s}, {299, "Long B Base Barrel (Spread)"_s}, {300, "Propulsive Barrel (Detonate)"_s}, {301, "Roundbox Barrel (Detonate)"_s}, {302, "ShieldDet Barrel (Detonate)"_s}, {303, "RecoilDet Barrel (Detonate) (Motion)"_s}, {397, "Short D Base Barrel (Detonate)"_s}, {398, "Medium D Base Barrel (Detonate)"_s}, {399, "Long D Base Barrel (Detonate)"_s}, }; // endregion //region Energy Shooters static const std::map eshooter_triggers { {0, "EN-Rifle Trigger (1H)"_s}, {1, "Underarm Trigger (1H)"_s}, {2, "EN-Inverted Trigger (1H)"_s}, {3, "EN-Submachine Trigger (1H) (Motion)"_s}, {4, "EN-Needler Trigger (1H)"_s}, {5, "Angular Trigger (1H)"_s}, {6, "Exposed Trigger (1H)"_s}, {99, "Base EnTrigger (1H)"_s}, {100, "EN-Combat Trigger (2H)"_s}, {101, "EN-Alternate Trigger (2H)"_s}, {102, "Framed Trigger (2H) (Motion)"_s}, {103, "Stabilised Trigger (2H)"_s}, {104, "EN-Heavy Trigger (2H)"_s}, {199, "2H Base EnTrigger (2H)"_s}, }; static const std::map eshooter_busters { {0, "EN-Combat Buster (1 shot)"_s}, {1, "Delta Cycler (1 shot) (Motion)"_s}, {2, "EN-Longbarrel Buster (1 shot)"_s}, {3, "Kinetic Buster (1 shot) (Motion)"_s}, {97, "Short S Base Buster (1 shot)"_s}, {98, "Medium S Base Buster (1 shot)"_s}, {99, "Long S Base Buster (1 shot)"_s}, {100, "EN-Rifle Buster (Auto)"_s}, {101, "EN-Focus Buster (Auto)"_s}, {102, "Machinist Buster (Auto)"_s}, {103, "EN-Precision Buster (Auto) (Motion)"_s}, {197, "Short A Base Buster (Auto)"_s}, {198, "Medium A Base Buster (Auto)"_s}, {199, "Long A Base Buster (Auto)"_s}, {200, "Railcharge Buster (Ray) (Motion)"_s}, {201, "Clawcharge Buster (Ray)"_s}, {202, "Twizelcharge Buster (Ray)"_s}, {203, "Deltacharge Buster (Ray)"_s}, {297, "Short R Base Buster (Ray)"_s}, {298, "Medium R Base Buster (Ray)"_s}, {299, "Long R Base Buster (Ray)"_s}, {300, "Subsonic Buster (Wave)"_s}, {301, "Amplifier Buster (Wave) (Motion)"_s}, {302, "Cyclonwave Buster (Wave)"_s}, {303, "Warhorn Buster (Wave) (Motion)"_s}, {397, "Short W Base Buster (Wave)"_s}, {398, "Medium W Base Buster (Wave)"_s}, {399, "Long W Base Buster (Wave)"_s}, }; // endregion // region Bullet Launchers static const std::map blauncher_pods { {0, "BL-Delta Pack Launcher (Missile x12)"_s}, {1, "BL-Twin Pack Launcher (Missile x12)"_s}, {2, "Detector Launcher (Missile x12)"_s}, {3, "BL-Triplet Pack Launcher (Missile x12)"_s}, {4, "Shielded Launcher (Missile x12)"_s}, {99, "H Base Pod (Missile x12)"_s}, {100, "Warhead Pod (Nuke x2)"_s}, {101, "Warhead Launcher (Nuke x2)"_s}, {102, "Triangular Warhead Pod (Nuke x2)"_s}, {103, "Expanded Warhead Pod (Nuke x2)"_s}, {104, "Shielded Warhead Pod (Nuke x2)"_s}, {199, "N Base Pod (Nuke x2)"_s}, {200, "Widepack Launcher (Salvo x24)"_s}, {201, "Covered Launcher (Salvo x24)"_s}, {202, "Double Delta Launcher (Salvo x24)"_s}, {203, "Hexagonal Launcher (Salvo x24)"_s}, {204, "Shielded Six Launcher (Salvo x24)"_s}, {299, "S Base Pod (Salvo x24)"_s}, {300, "Sentinel Cluster Pod (Cluster x40)"_s}, {301, "Pincer Cluster Pod (Cluster x40)"_s}, {302, "Elliptical Cluster Pod (Cluster x40)"_s}, {303, "Sawed Cluster Pod (Cluster x40)"_s}, {304, "Pentagonal Cluster Pod (Cluster x40)"_s}, {399, "C Base Pod (Cluster x40)"_s}, }; static const std::map blauncher_projectiles { {0, "Flathead Missile"_s}, {1, "Warhead Missile"_s}, {2, "Pointhead Missile"_s}, {3, "Marker Missile"_s}, {4, "ArB Missile"_s}, }; // endregion // region Energy Launchers static const std::map elauncher_generators { {0, "Fly Unit"_s}, {1, "Assault Unit (Motion)"_s}, {2, "Falcon Unit"_s}, {3, "Drake Unit (Motion)"_s}, {4, "Kingfisher Unit"_s}, {5, "Tri-Edge Unit"_s}, {6, "Flatline Unit"_s}, {7, "Boost Unit"_s}, {8, "Sparrow Unit"_s}, {9, "Guarded Unit"_s}, {10, "Sailtail Unit"_s}, {11, "Tri-Covered Unit"_s}, {12, "Pointy Unit"_s}, {13, "Scope-Like Unit"_s}, {14, "Rotating Unit (Motion)"_s}, {15, "Clamper Unit"_s}, {16, "Quadsat Unit"_s}, {17, "Squ-Rotating Unit (Motion)"_s}, {18, "Bloom Unit"_s}, {19, "Edge-Rotating Unit (Motion)"_s}, {20, "Shipend Unit"_s}, {21, "Revwing Unit"_s}, {22, "Viper Unit"_s}, {23, "EX Unit"_s}, {24, "Aery Unit"_s}, {25, "Carrier Unit"_s}, {26, "Compartment Unit"_s}, {27, "Flatedge Unit"_s}, {99, "Base Generator"}, }; static const std::map elauncher_pods { {0, "EN-Dual Claw Launcher (Echo) (Motion)"_s}, {1, "EN-Assault Launcher (Echo)"_s}, {2, "EN-Tactical Launcher (Echo)"_s}, {3, "EN-Force Focus Launcher (Echo) (Motion)"_s}, {4, "EN-Needler Launcher (Echo)"_s}, {5, "Spark Launcher (Echo)"_s}, {6, "Pinpoint Launcher (Echo)"_s}, {99, "E Base EPod (Echo)"_s}, {100, "Raystream Launcher (Beam)"_s}, {101, "Perpetum Launcher (Beam)"_s}, {102, "Scorcher Launcher (Beam)"_s}, {103, "Concentrator Launcher (Beam)"_s}, {104, "Crosshair Launcher (Beam)"_s}, {105, "Powerlined Launcher (Beam)"_s}, {106, "Attached Launcher (Beam)"_s}, {199, "B Base EPod (Beam)"_s}, {200, "Hilt Launcher (Slash) (Motion)"_s}, {201, "Underangle Launcher (Slash)"_s}, {202, "Crossblade Launcher (Slash)"_s}, {203, "Deltablade Launcher (Slash) (Motion)"_s}, {204, "Spike Launcher (Slash)"_s}, {205, "Tri-Pronged Launcher (Slash) (Motion)"_s}, {206, "Heavyblade Launcher (Slash)"_s}, {299, "S Base EPod (Slash)"_s}, {300, "Covering Launcher (Photon)"_s}, {301, "Boxhead Launcher (Photon)"_s}, {302, "Stabilised Launcher (Photon)"_s}, {303, "Flatline Launcher (Photon)"_s}, {304, "Shelled Launcher (Photon)"_s}, {305, "Widearm Launcher (Photon)"_s}, {306, "Wingspan Launcher (Photon)"_s}, {399, "P Base EPod (Photon)"_s}, }; // endregion