GameData: add IDs for hidden weapon parts.

This commit is contained in:
Guillaume Jacquemin 2024-12-07 14:57:02 +01:00
parent f11c7828e5
commit 1337329efb
Signed by: williamjcm
SSH key fingerprint: SHA256:AYLOg+iTV0ElElnlu4vqM4edFazVdRiuQB0Y5LoKc4A

View file

@ -27,17 +27,21 @@ using namespace Containers::Literals;
namespace mbst::GameData { namespace mbst::GameData {
// As of this writing (2024-12-07T12:08+01:00), the IDs ending in 96 are not valid IDs in the game, but are used by the
// Save Tool to display a name instead of "ID: <number>".
// region Melee // region Melee
static const std::map<std::int32_t, Containers::StringView> melee_grips { static const std::map<std::int32_t, Containers::StringView> melee_grips {
{0, "Combat Grip (1H)"_s}, {0, "Combat Grip (1H)"_s},
{1, "Knuckle Guard Grip (1H)"_s}, {1, "Knuckle Guard Grip (1H)"_s},
{2, "Dual Guard Grip (1H)"_s}, {2, "Dual Guard Grip (1H)"_s},
{3, "Sepal Grip (1H)"_s}, {3, "Sepal Grip (1H)"_s},
{4, "Warrior Grip (1H)"_s}, {4, "Warrior Grip (1H)"_s},
{5, "Guardian Grip (1H)"_s}, {5, "Guardian Grip (1H)"_s},
{6, "Knight Guard Grip (1H)"_s}, {6, "Knight Guard Grip (1H)"_s},
{7, "Saber Guard Grip (1H)"_s}, {7, "Saber Guard Grip (1H)"_s},
{8, "Base Grip (1H)"_s}, {8, "Base Grip (1H)"_s},
{96, "<hidden grip> (1H)"_s},
{100, "Combat Side Grip (1H)"_s}, {100, "Combat Side Grip (1H)"_s},
{101, "Hollowed Side Grip (1H)"_s}, {101, "Hollowed Side Grip (1H)"_s},
@ -48,12 +52,14 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
{106, "Concave Side Grip (1H)"_s}, {106, "Concave Side Grip (1H)"_s},
{107, "Polehead Side Grip (1H)"_s}, {107, "Polehead Side Grip (1H)"_s},
{108, "Base Side Grip (1H)"_s}, {108, "Base Side Grip (1H)"_s},
{196, "<hidden side grip> (1H)"_s},
{200, "Combat Dual Grip (1H)"_s}, {200, "Combat Dual Grip (1H)"_s},
{201, "Hollowed Dual Grip (1H)"_s}, {201, "Hollowed Dual Grip (1H)"_s},
{202, "Plated Dual Grip (1H)"_s}, {202, "Plated Dual Grip (1H)"_s},
{203, "Concave Dual Grip (1H)"_s}, {203, "Concave Dual Grip (1H)"_s},
{204, "Polehead Dual Grip (1H)"_s}, {204, "Polehead Dual Grip (1H)"_s},
{296, "<hidden dual grip> (1H)"_s},
{400, "Combat Twin Grip (1H)"_s}, {400, "Combat Twin Grip (1H)"_s},
{401, "Sepal Twin Grip (1H)"_s}, {401, "Sepal Twin Grip (1H)"_s},
@ -63,6 +69,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
{405, "Handguard Twin Grip (1H)"_s}, {405, "Handguard Twin Grip (1H)"_s},
{406, "Fullguard Twin Grip (1H)"_s}, {406, "Fullguard Twin Grip (1H)"_s},
{407, "Base Twin Grip (1H)"_s}, {407, "Base Twin Grip (1H)"_s},
{496, "<hidden twin grip> (1H)"_s},
{1000, "Combat Knuckle (R/L)"_s}, {1000, "Combat Knuckle (R/L)"_s},
{1001, "Battle Fist (R/L)"_s}, {1001, "Battle Fist (R/L)"_s},
@ -70,6 +77,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
{1003, "Heavy Fist (R/L)"_s}, {1003, "Heavy Fist (R/L)"_s},
{1004, "Thick Fist (R/L)"_s}, {1004, "Thick Fist (R/L)"_s},
{1005, "Base Fist (R/L)"_s}, {1005, "Base Fist (R/L)"_s},
{1096, "<hidden fist> (R/L)"_s},
{2000, "Combat Polearm (2H)"_s}, {2000, "Combat Polearm (2H)"_s},
{2001, "Dual Guard Polearm (2H)"_s}, {2001, "Dual Guard Polearm (2H)"_s},
@ -79,6 +87,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
{2005, "Sharp Polearm (2H)"_s}, {2005, "Sharp Polearm (2H)"_s},
{2006, "Ring Polearm (2H)"_s}, {2006, "Ring Polearm (2H)"_s},
{2007, "Base Polearm (2H)"_s}, {2007, "Base Polearm (2H)"_s},
{2096, "<hidden polearm> (2H)"_s},
{2100, "Combat Side Polearm (2H)"_s}, {2100, "Combat Side Polearm (2H)"_s},
{2101, "Plated Side Polearm (2H)"_s}, {2101, "Plated Side Polearm (2H)"_s},
@ -86,10 +95,12 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
{2103, "Fin Side Polearm (2H)"_s}, {2103, "Fin Side Polearm (2H)"_s},
{2104, "Heavy Side Polearm (2H)"_s}, {2104, "Heavy Side Polearm (2H)"_s},
{2105, "Base Side Polearm (2H)"_s}, {2105, "Base Side Polearm (2H)"_s},
{2196, "<hidden side polearm> (2H)"_s},
{2200, "Combat Dual Polearm (2H)"_s}, {2200, "Combat Dual Polearm (2H)"_s},
{2201, "Studded Dual Polearm (2H)"_s}, {2201, "Studded Dual Polearm (2H)"_s},
{2202, "Circular Dual Polearm (2H)"_s}, {2202, "Circular Dual Polearm (2H)"_s},
{2296, "<hidden dual polearm> (2H)"_s},
{2400, "Combat Twin Blade (2H)"_s}, {2400, "Combat Twin Blade (2H)"_s},
{2401, "Guard Twin Blade (2H)"_s}, {2401, "Guard Twin Blade (2H)"_s},
@ -99,6 +110,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_grips {
{2405, "Holder Twin Blade (2H)"_s}, {2405, "Holder Twin Blade (2H)"_s},
{2406, "Ring Twin Blade (2H)"_s}, {2406, "Ring Twin Blade (2H)"_s},
{2407, "Base Twin Blade (2H)"_s}, {2407, "Base Twin Blade (2H)"_s},
{2496, "<hidden twin blade> (2H)"_s},
}; };
static const std::map<std::int32_t, Containers::StringView> melee_assaulters { static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
@ -115,39 +127,35 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
{10, "Long Curved Blade"_s}, {10, "Long Curved Blade"_s},
{11, "Long Broad Blade"_s}, {11, "Long Broad Blade"_s},
{12, "Base L Sword"_s}, {12, "Base L Sword"_s},
{20, "Long Combat Edge"_s}, {20, "Long Combat Edge"_s},
{21, "Long Attached Edge"_s}, {21, "Long Attached Edge"_s},
{40, "Katana Blade"_s}, {40, "Katana Blade"_s},
{41, "Custom Katana Blade"_s}, {41, "Custom Katana Blade"_s},
{60, "Energy Blade (Motion)"_s}, {60, "Energy Blade (Motion)"_s},
{61, "Powered Blade"_s}, {61, "Powered Blade"_s},
{96, "<hidden long blade>"_s},
{100, "Short Metal Blade"_s}, {100, "Short Metal Blade"_s},
{101, "Short Assault Blade"_s}, {101, "Short Assault Blade"_s},
{102, "Short Fin Blade"_s}, {102, "Short Fin Blade"_s},
{103, "Base S Sword"_s}, {103, "Base S Sword"_s},
{120, "Short Combat Edge"_s}, {120, "Short Combat Edge"_s},
{160, "Short Energy Blade (Motion)"_s}, {160, "Short Energy Blade (Motion)"_s},
{161, "Short Powered Blade"_s}, {161, "Short Powered Blade"_s},
{180, "Triclaw"_s}, {180, "Triclaw"_s},
{181, "Straight Triclaw"_s}, {181, "Straight Triclaw"_s},
{182, "Griphold Claw"_s}, {182, "Griphold Claw"_s},
{183, "Energy Claw"_s}, {183, "Energy Claw"_s},
{184, "Openhold Claw"_s}, {184, "Openhold Claw"_s},
{185, "Hooktusk Claw"_s}, {185, "Hooktusk Claw"_s},
{196, "<hidden short blade>"_s},
{200, "Bracer"_s}, {200, "Bracer"_s},
{201, "Custom Bracer"_s}, {201, "Custom Bracer"_s},
{202, "Base Hammer"_s}, {202, "Base Hammer"_s},
{210, "Expanded Bracer"_s}, {210, "Expanded Bracer"_s},
{211, "Expanded Custom Bracer"_s}, {211, "Expanded Custom Bracer"_s},
{296, "<hidden bracer>"_s},
{300, "Heavy Smasher"_s}, {300, "Heavy Smasher"_s},
{301, "Heavy Basher"_s}, {301, "Heavy Basher"_s},
@ -156,6 +164,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
{304, "Heavy Diamond Smasher"_s}, {304, "Heavy Diamond Smasher"_s},
{305, "Heavy Spinning Smasher (Motion)"_s}, {305, "Heavy Spinning Smasher (Motion)"_s},
{306, "Base L Mace"_s}, {306, "Base L Mace"_s},
{396, "<hidden heavy mace>"_s},
{400, "Light Smasher"_s}, {400, "Light Smasher"_s},
{401, "Light Basher"_s}, {401, "Light Basher"_s},
@ -164,14 +173,13 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
{404, "Light Diamond Smasher"_s}, {404, "Light Diamond Smasher"_s},
{405, "Light Spinning Smasher"_s}, {405, "Light Spinning Smasher"_s},
{406, "Base S Mace"_s}, {406, "Base S Mace"_s},
{420, "War Hammer"_s}, {420, "War Hammer"_s},
{421, "Great Hammer"_s}, {421, "Great Hammer"_s},
{422, "Spiked Hammer"_s}, {422, "Spiked Hammer"_s},
{423, "Broadhead Hammer"_s}, {423, "Broadhead Hammer"_s},
{440, "Morning Star"_s}, {440, "Morning Star"_s},
{441, "Spike Ball"_s}, {441, "Spike Ball"_s},
{496, "<hidden light mace>"_s},
{500, "Combat Lance"_s}, {500, "Combat Lance"_s},
{501, "Gouger Lance"_s}, {501, "Gouger Lance"_s},
@ -179,6 +187,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
{503, "Spinning Pointy Lance (Motion)"_s}, {503, "Spinning Pointy Lance (Motion)"_s},
{504, "Crystal Lance"_s}, {504, "Crystal Lance"_s},
{510, "Piercer"_s}, {510, "Piercer"_s},
{596, "<hidden lance>"_s},
{600, "Short Combat Lance"_s}, {600, "Short Combat Lance"_s},
{601, "Short Pointy Lance"_s}, {601, "Short Pointy Lance"_s},
@ -186,6 +195,7 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
{603, "Short Crystal Lance"_s}, {603, "Short Crystal Lance"_s},
{605, "Short Combat Drill (Motion)"_s}, {605, "Short Combat Drill (Motion)"_s},
{610, "Short Piercer"_s}, {610, "Short Piercer"_s},
{696, "<hidden short lance>"_s},
{700, "Combat Axe"_s}, {700, "Combat Axe"_s},
{701, "Custom Combat Axe"_s}, {701, "Custom Combat Axe"_s},
@ -193,57 +203,60 @@ static const std::map<std::int32_t, Containers::StringView> melee_assaulters {
{703, "Frontbreak Axe"_s}, {703, "Frontbreak Axe"_s},
{704, "Maiming Axe"_s}, {704, "Maiming Axe"_s},
{705, "Delta Axe"_s}, {705, "Delta Axe"_s},
{796, "<hidden axe>"_s},
{800, "Combat Scythe"_s}, {800, "Combat Scythe"_s},
{801, "Reaper Blade"_s}, {801, "Reaper Blade"_s},
{802, "Clawtooth Scythe"_s}, {802, "Clawtooth Scythe"_s},
{803, "Wingpoint Scythe"_s}, {803, "Wingpoint Scythe"_s},
{804, "Snakebone Scythe"_s}, {804, "Snakebone Scythe"_s},
{896, "<hidden scythe>"_s},
{900, "Short Combat Scythe"_s}, {900, "Short Combat Scythe"_s},
{901, "Short Reaper Blade"_s}, {901, "Short Reaper Blade"_s},
{902, "Short Clawtooth Scythe"_s}, {902, "Short Clawtooth Scythe"_s},
{903, "Short Wingpoint Scythe"_s}, {903, "Short Wingpoint Scythe"_s},
{904, "Short Snakebone Scythe"_s}, {904, "Short Snakebone Scythe"_s},
{996, "<hidden short scythe>"_s},
}; };
// endregion // endregion
// region Shields // region Shields
static const std::map<std::int32_t, Containers::StringView> shield_handles { static const std::map<std::int32_t, Containers::StringView> shield_handles {
{0, "Balanced Handle"_s}, {0, "Balanced Handle"_s},
{1, "Expanded Handle"_s}, {1, "Expanded Handle"_s},
{2, "Lowguard Handle"_s}, {2, "Lowguard Handle"_s},
{3, "Longblocker Handle"_s}, {3, "Longblocker Handle"_s},
{4, "Winged Handle"_s}, {4, "Winged Handle"_s},
{5, "Stopper Handle"_s}, {5, "Stopper Handle"_s},
{6, "Layered Handle"_s}, {6, "Layered Handle"_s},
{7, "Riotguard Handle"_s}, {7, "Riotguard Handle"_s},
{8, "Blitz Handle"_s}, {8, "Blitz Handle"_s},
{9, "Foldable Handle"_s}, {9, "Foldable Handle"_s},
{10, "Board Handle"_s}, {10, "Board Handle"_s},
{11, "Knight Handle"_s}, {11, "Knight Handle"_s},
{12, "Cargwall Handle"_s}, {12, "Cargwall Handle"_s},
{96, "<hidden handle>"_s},
{100, "Buckler Handle"_s}, {100, "Buckler Handle"_s},
{101, "Star Handle"_s}, {101, "Star Handle"_s},
}; };
static const std::map<std::int32_t, Containers::StringView> shield_shells { static const std::map<std::int32_t, Containers::StringView> shield_shells {
{0, "Balanced Shell"_s}, {0, "Balanced Shell"_s},
{1, "Compass Shell"_s}, {1, "Compass Shell"_s},
{2, "Uppoint Shell"_s}, {2, "Uppoint Shell"_s},
{3, "Pointed Shell"_s}, {3, "Pointed Shell"_s},
{4, "Padded Shell"_s}, {4, "Padded Shell"_s},
{5, "Pincer Shell"_s}, {5, "Pincer Shell"_s},
{6, "Fang Shell"_s}, {6, "Fang Shell"_s},
{7, "Holder Shell"_s}, {7, "Holder Shell"_s},
{8, "Composite Shell"_s}, {8, "Composite Shell"_s},
{9, "Mechanical Shell"_s}, {9, "Mechanical Shell"_s},
{10, "Layered Shell"_s}, {10, "Layered Shell"_s},
{11, "Parted Shell"_s}, {11, "Parted Shell"_s},
{12, "Tapst Shell"_s}, {12, "Tapst Shell"_s},
{13, "Sidloc Shell"_s}, {13, "Sidloc Shell"_s},
{96, "<hidden shell>"_s},
{100, "V-Cross Shell"_s}, {100, "V-Cross Shell"_s},
}; };
// endregion // endregion
@ -257,6 +270,7 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_triggers {
{4, "Longhold Trigger (1H)"_s}, {4, "Longhold Trigger (1H)"_s},
{5, "Downhold Trigger (1H)"_s}, {5, "Downhold Trigger (1H)"_s},
{6, "Cellblock Trigger (1H)"_s}, {6, "Cellblock Trigger (1H)"_s},
{96, "<hidden trigger> (1H)"_s},
{99, "Base Trigger (1H)"_s}, {99, "Base Trigger (1H)"_s},
{100, "BL-Machine Trigger (2H)"_s}, {100, "BL-Machine Trigger (2H)"_s},
@ -264,6 +278,7 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_triggers {
{102, "Shielded Trigger (2H)"_s}, {102, "Shielded Trigger (2H)"_s},
{103, "Platedframe Trigger (2H)"_s}, {103, "Platedframe Trigger (2H)"_s},
{104, "Sidebox Trigger (2H) (Motion)"_s}, {104, "Sidebox Trigger (2H) (Motion)"_s},
{196, "<hidden trigger> (2H)"_s},
{199, "2H Base Trigger (2H)"_s}, {199, "2H Base Trigger (2H)"_s},
}; };
@ -273,6 +288,7 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_barrels {
{2, "Muzzlemod Barrel (1 shot)"_s}, {2, "Muzzlemod Barrel (1 shot)"_s},
{3, "Triangular Barrel (1 shot)"_s}, {3, "Triangular Barrel (1 shot)"_s},
{4, "Recoilblock Barrel (1 shot) (Motion)"_s}, {4, "Recoilblock Barrel (1 shot) (Motion)"_s},
{96, "<hidden barrel> (1 shot)"_s},
{97, "Short S Base Barrel (1 shot)"_s}, {97, "Short S Base Barrel (1 shot)"_s},
{98, "Medium S Base Barrel (1 shot)"_s}, {98, "Medium S Base Barrel (1 shot)"_s},
{99, "Long S Base Barrel (1 shot)"_s}, {99, "Long S Base Barrel (1 shot)"_s},
@ -281,6 +297,7 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_barrels {
{101, "Modded Six-Barrel Gatling (Auto) (Motion)"_s}, {101, "Modded Six-Barrel Gatling (Auto) (Motion)"_s},
{102, "Four-Barrel Gatling (Auto) (Motion)"_s}, {102, "Four-Barrel Gatling (Auto) (Motion)"_s},
{103, "Retro Style Gatling (Auto) (Motion)"_s}, {103, "Retro Style Gatling (Auto) (Motion)"_s},
{196, "<hidden barrel> (Auto)"_s},
{197, "Short G Base Barrel (Auto)"_s}, {197, "Short G Base Barrel (Auto)"_s},
{198, "Medium G Base Barrel (Auto)"_s}, {198, "Medium G Base Barrel (Auto)"_s},
{199, "Long G Base Barrel (Auto)"_s}, {199, "Long G Base Barrel (Auto)"_s},
@ -289,6 +306,7 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_barrels {
{201, "Wideblast Barrel (Spread) (Motion)"_s}, {201, "Wideblast Barrel (Spread) (Motion)"_s},
{202, "Pelleter Barrel (Spread) (Motion)"_s}, {202, "Pelleter Barrel (Spread) (Motion)"_s},
{203, "Lockhold Barrel (Spread) (Motion)"_s}, {203, "Lockhold Barrel (Spread) (Motion)"_s},
{296, "<hidden barrel> (Spread)"_s},
{297, "Short B Base Barrel (Spread)"_s}, {297, "Short B Base Barrel (Spread)"_s},
{298, "Medium B Base Barrel (Spread)"_s}, {298, "Medium B Base Barrel (Spread)"_s},
{299, "Long B Base Barrel (Spread)"_s}, {299, "Long B Base Barrel (Spread)"_s},
@ -297,6 +315,7 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_barrels {
{301, "Roundbox Barrel (Detonate)"_s}, {301, "Roundbox Barrel (Detonate)"_s},
{302, "ShieldDet Barrel (Detonate)"_s}, {302, "ShieldDet Barrel (Detonate)"_s},
{303, "RecoilDet Barrel (Detonate) (Motion)"_s}, {303, "RecoilDet Barrel (Detonate) (Motion)"_s},
{396, "<hidden barrel> (Detonate)"_s},
{397, "Short D Base Barrel (Detonate)"_s}, {397, "Short D Base Barrel (Detonate)"_s},
{398, "Medium D Base Barrel (Detonate)"_s}, {398, "Medium D Base Barrel (Detonate)"_s},
{399, "Long D Base Barrel (Detonate)"_s}, {399, "Long D Base Barrel (Detonate)"_s},
@ -304,6 +323,7 @@ static const std::map<std::int32_t, Containers::StringView> bshooter_barrels {
{400, "Heavy Burst Barrel (Pile Bunker) (Motion)"_s}, {400, "Heavy Burst Barrel (Pile Bunker) (Motion)"_s},
{401, "Under Guard Barrel (Pile Bunker) (Motion)"_s}, {401, "Under Guard Barrel (Pile Bunker) (Motion)"_s},
{402, "Facthold Barrel (Pile Bunker) (Motion)"_s}, {402, "Facthold Barrel (Pile Bunker) (Motion)"_s},
{496, "<hidden barrel> (Pile Bunker)"_s},
{499, "Long P Base Barrel (Pile Bunker) (Motion)"_s}, {499, "Long P Base Barrel (Pile Bunker) (Motion)"_s},
}; };
// endregion // endregion
@ -317,6 +337,7 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_triggers {
{4, "EN-Needler Trigger (1H)"_s}, {4, "EN-Needler Trigger (1H)"_s},
{5, "Angular Trigger (1H)"_s}, {5, "Angular Trigger (1H)"_s},
{6, "Exposed Trigger (1H)"_s}, {6, "Exposed Trigger (1H)"_s},
{96, "<hidden trigger> (1H)"_s},
{99, "Base EnTrigger (1H)"_s}, {99, "Base EnTrigger (1H)"_s},
{100, "EN-Combat Trigger (2H)"_s}, {100, "EN-Combat Trigger (2H)"_s},
@ -324,6 +345,7 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_triggers {
{102, "Framed Trigger (2H) (Motion)"_s}, {102, "Framed Trigger (2H) (Motion)"_s},
{103, "Stabilised Trigger (2H)"_s}, {103, "Stabilised Trigger (2H)"_s},
{104, "EN-Heavy Trigger (2H)"_s}, {104, "EN-Heavy Trigger (2H)"_s},
{196, "<hidden trigger> (2H)"_s},
{199, "2H Base EnTrigger (2H)"_s}, {199, "2H Base EnTrigger (2H)"_s},
}; };
@ -332,6 +354,7 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_busters {
{1, "Delta Cycler (1 shot) (Motion)"_s}, {1, "Delta Cycler (1 shot) (Motion)"_s},
{2, "EN-Longbarrel Buster (1 shot)"_s}, {2, "EN-Longbarrel Buster (1 shot)"_s},
{3, "Kinetic Buster (1 shot) (Motion)"_s}, {3, "Kinetic Buster (1 shot) (Motion)"_s},
{96, "<hidden buster> (1 shot)"_s},
{97, "Short S Base Buster (1 shot)"_s}, {97, "Short S Base Buster (1 shot)"_s},
{98, "Medium S Base Buster (1 shot)"_s}, {98, "Medium S Base Buster (1 shot)"_s},
{99, "Long S Base Buster (1 shot)"_s}, {99, "Long S Base Buster (1 shot)"_s},
@ -340,6 +363,7 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_busters {
{101, "EN-Focus Buster (Auto)"_s}, {101, "EN-Focus Buster (Auto)"_s},
{102, "Machinist Buster (Auto)"_s}, {102, "Machinist Buster (Auto)"_s},
{103, "EN-Precision Buster (Auto) (Motion)"_s}, {103, "EN-Precision Buster (Auto) (Motion)"_s},
{196, "<hidden buster> (Auto)"_s},
{197, "Short A Base Buster (Auto)"_s}, {197, "Short A Base Buster (Auto)"_s},
{198, "Medium A Base Buster (Auto)"_s}, {198, "Medium A Base Buster (Auto)"_s},
{199, "Long A Base Buster (Auto)"_s}, {199, "Long A Base Buster (Auto)"_s},
@ -348,6 +372,7 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_busters {
{201, "Clawcharge Buster (Ray)"_s}, {201, "Clawcharge Buster (Ray)"_s},
{202, "Twizelcharge Buster (Ray)"_s}, {202, "Twizelcharge Buster (Ray)"_s},
{203, "Deltacharge Buster (Ray)"_s}, {203, "Deltacharge Buster (Ray)"_s},
{296, "<hidden buster> (Ray)"_s},
{297, "Short R Base Buster (Ray)"_s}, {297, "Short R Base Buster (Ray)"_s},
{298, "Medium R Base Buster (Ray)"_s}, {298, "Medium R Base Buster (Ray)"_s},
{299, "Long R Base Buster (Ray)"_s}, {299, "Long R Base Buster (Ray)"_s},
@ -356,6 +381,7 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_busters {
{301, "Amplifier Buster (Wave) (Motion)"_s}, {301, "Amplifier Buster (Wave) (Motion)"_s},
{302, "Cyclonwave Buster (Wave)"_s}, {302, "Cyclonwave Buster (Wave)"_s},
{303, "Warhorn Buster (Wave) (Motion)"_s}, {303, "Warhorn Buster (Wave) (Motion)"_s},
{396, "<hidden buster> (Wave)"_s},
{397, "Short W Base Buster (Wave)"_s}, {397, "Short W Base Buster (Wave)"_s},
{398, "Medium W Base Buster (Wave)"_s}, {398, "Medium W Base Buster (Wave)"_s},
{399, "Long W Base Buster (Wave)"_s}, {399, "Long W Base Buster (Wave)"_s},
@ -363,6 +389,7 @@ static const std::map<std::int32_t, Containers::StringView> eshooter_busters {
{400, "Wiredcharge Buster (Prism) (Motion)"_s}, {400, "Wiredcharge Buster (Prism) (Motion)"_s},
{402, "Heavyclamp Buster (Prism) (Motion)"_s}, {402, "Heavyclamp Buster (Prism) (Motion)"_s},
{402, "Curlescent Buster (Prism) (Motion)"_s}, {402, "Curlescent Buster (Prism) (Motion)"_s},
{496, "<hidden buster> (Prism)"_s},
{499, "Long P Base Buster (Prism) (Motion)"_s}, {499, "Long P Base Buster (Prism) (Motion)"_s},
}; };
// endregion // endregion
@ -374,6 +401,7 @@ static const std::map<std::int32_t, Containers::StringView> blauncher_pods {
{2, "Detector Launcher (Missile x12)"_s}, {2, "Detector Launcher (Missile x12)"_s},
{3, "BL-Triplet Pack Launcher (Missile x12)"_s}, {3, "BL-Triplet Pack Launcher (Missile x12)"_s},
{4, "Shielded Launcher (Missile x12)"_s}, {4, "Shielded Launcher (Missile x12)"_s},
{96, "<hidden launcher> (Missile x12)"_s},
{99, "H Base Pod (Missile x12)"_s}, {99, "H Base Pod (Missile x12)"_s},
{100, "Warhead Pod (Nuke x2)"_s}, {100, "Warhead Pod (Nuke x2)"_s},
@ -381,6 +409,7 @@ static const std::map<std::int32_t, Containers::StringView> blauncher_pods {
{102, "Triangular Warhead Pod (Nuke x2)"_s}, {102, "Triangular Warhead Pod (Nuke x2)"_s},
{103, "Expanded Warhead Pod (Nuke x2)"_s}, {103, "Expanded Warhead Pod (Nuke x2)"_s},
{104, "Shielded Warhead Pod (Nuke x2)"_s}, {104, "Shielded Warhead Pod (Nuke x2)"_s},
{196, "<hidden launcher> (Nuke x2)"_s},
{199, "N Base Pod (Nuke x2)"_s}, {199, "N Base Pod (Nuke x2)"_s},
{200, "Widepack Launcher (Salvo x24)"_s}, {200, "Widepack Launcher (Salvo x24)"_s},
@ -388,6 +417,7 @@ static const std::map<std::int32_t, Containers::StringView> blauncher_pods {
{202, "Double Delta Launcher (Salvo x24)"_s}, {202, "Double Delta Launcher (Salvo x24)"_s},
{203, "Hexagonal Launcher (Salvo x24)"_s}, {203, "Hexagonal Launcher (Salvo x24)"_s},
{204, "Shielded Six Launcher (Salvo x24)"_s}, {204, "Shielded Six Launcher (Salvo x24)"_s},
{296, "<hidden launcher> (Salvo x24)"_s},
{299, "S Base Pod (Salvo x24)"_s}, {299, "S Base Pod (Salvo x24)"_s},
{300, "Sentinel Cluster Pod (Cluster x40)"_s}, {300, "Sentinel Cluster Pod (Cluster x40)"_s},
@ -395,15 +425,17 @@ static const std::map<std::int32_t, Containers::StringView> blauncher_pods {
{302, "Elliptical Cluster Pod (Cluster x40)"_s}, {302, "Elliptical Cluster Pod (Cluster x40)"_s},
{303, "Sawed Cluster Pod (Cluster x40)"_s}, {303, "Sawed Cluster Pod (Cluster x40)"_s},
{304, "Pentagonal Cluster Pod (Cluster x40)"_s}, {304, "Pentagonal Cluster Pod (Cluster x40)"_s},
{396, "<hidden launcher> (Cluster x24)"_s},
{399, "C Base Pod (Cluster x40)"_s}, {399, "C Base Pod (Cluster x40)"_s},
}; };
static const std::map<std::int32_t, Containers::StringView> blauncher_projectiles { static const std::map<std::int32_t, Containers::StringView> blauncher_projectiles {
{0, "Flathead Missile"_s}, {0, "Flathead Missile"_s},
{1, "Warhead Missile"_s}, {1, "Warhead Missile"_s},
{2, "Pointhead Missile"_s}, {2, "Pointhead Missile"_s},
{3, "Marker Missile"_s}, {3, "Marker Missile"_s},
{4, "ArB Missile"_s}, {4, "ArB Missile"_s},
{96, "<hidden missile>"_s},
}; };
// endregion // endregion
@ -437,7 +469,8 @@ static const std::map<std::int32_t, Containers::StringView> elauncher_generators
{25, "Carrier Unit"_s}, {25, "Carrier Unit"_s},
{26, "Compartment Unit"_s}, {26, "Compartment Unit"_s},
{27, "Flatedge Unit"_s}, {27, "Flatedge Unit"_s},
{99, "Base Generator"}, {96, "<hidden generator>"_s},
{99, "Base Generator"_s},
}; };
static const std::map<std::int32_t, Containers::StringView> elauncher_pods { static const std::map<std::int32_t, Containers::StringView> elauncher_pods {
@ -448,6 +481,7 @@ static const std::map<std::int32_t, Containers::StringView> elauncher_pods {
{4, "EN-Needler Launcher (Echo)"_s}, {4, "EN-Needler Launcher (Echo)"_s},
{5, "Spark Launcher (Echo)"_s}, {5, "Spark Launcher (Echo)"_s},
{6, "Pinpoint Launcher (Echo)"_s}, {6, "Pinpoint Launcher (Echo)"_s},
{96, "<hidden pod> (Echo)"_s},
{99, "E Base EPod (Echo)"_s}, {99, "E Base EPod (Echo)"_s},
{100, "Raystream Launcher (Beam)"_s}, {100, "Raystream Launcher (Beam)"_s},
@ -457,6 +491,7 @@ static const std::map<std::int32_t, Containers::StringView> elauncher_pods {
{104, "Crosshair Launcher (Beam)"_s}, {104, "Crosshair Launcher (Beam)"_s},
{105, "Powerlined Launcher (Beam)"_s}, {105, "Powerlined Launcher (Beam)"_s},
{106, "Attached Launcher (Beam)"_s}, {106, "Attached Launcher (Beam)"_s},
{196, "<hidden pod> (Beam)"_s},
{199, "B Base EPod (Beam)"_s}, {199, "B Base EPod (Beam)"_s},
{200, "Hilt Launcher (Slash) (Motion)"_s}, {200, "Hilt Launcher (Slash) (Motion)"_s},
@ -466,6 +501,7 @@ static const std::map<std::int32_t, Containers::StringView> elauncher_pods {
{204, "Spike Launcher (Slash)"_s}, {204, "Spike Launcher (Slash)"_s},
{205, "Tri-Pronged Launcher (Slash) (Motion)"_s}, {205, "Tri-Pronged Launcher (Slash) (Motion)"_s},
{206, "Heavyblade Launcher (Slash)"_s}, {206, "Heavyblade Launcher (Slash)"_s},
{296, "<hidden pod> (Slash)"_s},
{299, "S Base EPod (Slash)"_s}, {299, "S Base EPod (Slash)"_s},
{300, "Covering Launcher (Photon)"_s}, {300, "Covering Launcher (Photon)"_s},
@ -475,6 +511,7 @@ static const std::map<std::int32_t, Containers::StringView> elauncher_pods {
{304, "Shelled Launcher (Photon)"_s}, {304, "Shelled Launcher (Photon)"_s},
{305, "Widearm Launcher (Photon)"_s}, {305, "Widearm Launcher (Photon)"_s},
{306, "Wingspan Launcher (Photon)"_s}, {306, "Wingspan Launcher (Photon)"_s},
{396, "<hidden pod> (Photon)"_s},
{399, "P Base EPod (Photon)"_s}, {399, "P Base EPod (Photon)"_s},
}; };
// endregion // endregion