Stand/Stand/eExplosionTag.hpp
2024-10-16 11:20:42 +08:00

284 lines
11 KiB
C++

#pragma once
#include "CommandListActionItemData.hpp"
enum eExplosionTag
{
EXP_TAG_DONTCARE = -1,
EXP_TAG_GRENADE,
EXP_TAG_GRENADELAUNCHER,
EXP_TAG_STICKYBOMB,
EXP_TAG_MOLOTOV,
EXP_TAG_ROCKET,
EXP_TAG_TANKSHELL,
EXP_TAG_HI_OCTANE,
EXP_TAG_CAR,
EXP_TAG_PLANE,
EXP_TAG_PETROL_PUMP,
EXP_TAG_BIKE,
EXP_TAG_DIR_STEAM,
EXP_TAG_DIR_FLAME,
EXP_TAG_DIR_WATER_HYDRANT,
EXP_TAG_DIR_GAS_CANISTER,
EXP_TAG_BOAT,
EXP_TAG_SHIP_DESTROY,
EXP_TAG_TRUCK,
EXP_TAG_BULLET,
EXP_TAG_SMOKEGRENADELAUNCHER,
EXP_TAG_SMOKEGRENADE,
EXP_TAG_BZGAS,
EXP_TAG_FLARE,
EXP_TAG_GAS_CANISTER,
EXP_TAG_EXTINGUISHER,
EXP_TAG_PROGRAMMABLEAR,
EXP_TAG_TRAIN,
EXP_TAG_BARREL,
EXP_TAG_PROPANE,
EXP_TAG_BLIMP,
EXP_TAG_DIR_FLAME_EXPLODE,
EXP_TAG_TANKER,
EXP_TAG_PLANE_ROCKET,
EXP_TAG_VEHICLE_BULLET,
EXP_TAG_GAS_TANK,
EXP_TAG_BIRD_CRAP,
EXP_TAG_RAILGUN,
EXP_TAG_BLIMP2,
EXP_TAG_FIREWORK,
EXP_TAG_SNOWBALL,
EXP_TAG_PROXMINE,
EXP_TAG_VALKYRIE_CANNON,
EXP_TAG_AIR_DEFENCE,
EXP_TAG_PIPEBOMB,
EXP_TAG_VEHICLEMINE,
EXP_TAG_EXPLOSIVEAMMO,
EXP_TAG_APCSHELL,
EXP_TAG_BOMB_CLUSTER,
EXP_TAG_BOMB_GAS,
EXP_TAG_BOMB_INCENDIARY,
EXP_TAG_BOMB_STANDARD,
EXP_TAG_TORPEDO,
EXP_TAG_TORPEDO_UNDERWATER,
EXP_TAG_BOMBUSHKA_CANNON,
EXP_TAG_BOMB_CLUSTER_SECONDARY,
EXP_TAG_HUNTER_BARRAGE,
EXP_TAG_HUNTER_CANNON,
EXP_TAG_ROGUE_CANNON,
EXP_TAG_MINE_UNDERWATER,
EXP_TAG_ORBITAL_CANNON,
EXP_TAG_BOMB_STANDARD_WIDE,
EXP_TAG_EXPLOSIVEAMMO_SHOTGUN,
EXP_TAG_OPPRESSOR2_CANNON,
EXP_TAG_MORTAR_KINETIC,
EXP_TAG_VEHICLEMINE_KINETIC,
EXP_TAG_VEHICLEMINE_EMP,
EXP_TAG_VEHICLEMINE_SPIKE,
EXP_TAG_VEHICLEMINE_SLICK,
EXP_TAG_VEHICLEMINE_TAR,
EXP_TAG_SCRIPT_DRONE,
EXP_TAG_RAYGUN,
EXP_TAG_BURIEDMINE,
EXP_TAG_SCRIPT_MISSILE,
EXP_TAG_RCTANK_ROCKET,
EXP_TAG_BOMB_WATER,
EXP_TAG_BOMB_WATER_SECONDARY,
EXP_TAG_MINE_CNCSPIKE,
EXP_TAG_BZGAS_MK2,
EXP_TAG_FLASHGRENADE,
EXP_TAG_STUNGRENADE,
EXP_TAG_CNC_KINETICRAM,
EXP_TAG_SCRIPT_MISSILE_LARGE,
EXP_TAG_SUBMARINE_BIG,
EXP_TAG_EMPLAUNCHER_EMP,
EXP_TAG_RAILGUNXM3,
EXP_TAG_BALANCED_CANNONS,
};
namespace Stand
{
inline Label explosion_tag_labels[] = {
LOC("EXP_TAG_GRENADE"),
LOC("EXP_TAG_GRENADELAUNCHER"),
LOC("EXP_TAG_STICKYBOMB"),
LOC("EXP_TAG_MOLOTOV"),
LOC("EXP_TAG_ROCKET"),
LOC("EXP_TAG_TANKSHELL"),
LOC("EXP_TAG_HI_OCTANE"),
LOC("EXP_TAG_CAR"),
LOC("EXP_TAG_PLANE"),
LOC("EXP_TAG_PETROL_PUMP"),
LOC("EXP_TAG_BIKE"),
LOC("EXP_TAG_DIR_STEAM"),
LOC("EXP_TAG_DIR_FLAME"),
LOC("EXP_TAG_DIR_WATER_HYDRANT"),
LOC("EXP_TAG_DIR_GAS_CANISTER"),
LOC("EXP_TAG_BOAT"),
LOC("EXP_TAG_SHIP_DESTROY"),
LOC("EXP_TAG_TRUCK"),
LOC("EXP_TAG_BULLET"),
LOC("EXP_TAG_SMOKEGRENADELAUNCHER"),
LOC("EXP_TAG_SMOKEGRENADE"),
LOC("EXP_TAG_BZGAS"),
LOC("EXP_TAG_FLARE"),
LOC("EXP_TAG_GAS_CANISTER"),
LOC("EXP_TAG_EXTINGUISHER"),
LOC("EXP_TAG_PROGRAMMABLEAR"),
LOC("EXP_TAG_TRAIN"),
LOC("EXP_TAG_BARREL"),
LOC("EXP_TAG_PROPANE"),
LOC("EXP_TAG_BLIMP"),
LOC("EXP_TAG_DIR_FLAME_EXPLODE"),
LOC("EXP_TAG_TANKER"),
LOC("EXP_TAG_PLANE_ROCKET"),
LOC("EXP_TAG_VEHICLE_BULLET"),
LOC("EXP_TAG_GAS_TANK"),
LOC("EXP_TAG_BIRD_CRAP"),
LOC("EXP_TAG_RAILGUN"),
LOC("EXP_TAG_BLIMP2"),
LOC("EXP_TAG_FIREWORK"),
LOC("EXP_TAG_SNOWBALL"),
LOC("EXP_TAG_PROXMINE"),
LOC("EXP_TAG_VALKYRIE_CANNON"),
LOC("EXP_TAG_AIR_DEFENCE"),
LOC("EXP_TAG_PIPEBOMB"),
LOC("EXP_TAG_VEHICLEMINE"),
LOC("EXP_TAG_EXPLOSIVEAMMO"),
LOC("EXP_TAG_APCSHELL"),
LOC("EXP_TAG_BOMB_CLUSTER"),
LOC("EXP_TAG_BOMB_GAS"),
LOC("EXP_TAG_BOMB_INCENDIARY"),
LOC("EXP_TAG_BOMB_STANDARD"),
LOC("EXP_TAG_TORPEDO"),
LOC("EXP_TAG_TORPEDO_UNDERWATER"),
LOC("EXP_TAG_BOMBUSHKA_CANNON"),
LOC("EXP_TAG_BOMB_CLUSTER_SECONDARY"),
LOC("EXP_TAG_HUNTER_BARRAGE"),
LOC("EXP_TAG_HUNTER_CANNON"),
LOC("EXP_TAG_ROGUE_CANNON"),
LOC("EXP_TAG_MINE_UNDERWATER"),
LOC("EXP_TAG_ORBITAL_CANNON"),
LOC("EXP_TAG_BOMB_STANDARD_WIDE"),
LOC("EXP_TAG_EXPLOSIVEAMMO_SHOTGUN"),
LOC("EXP_TAG_OPPRESSOR2_CANNON"),
LOC("EXP_TAG_MORTAR_KINETIC"),
LOC("EXP_TAG_VEHICLEMINE_KINETIC"),
LOC("EXP_TAG_VEHICLEMINE_EMP"),
LOC("EXP_TAG_VEHICLEMINE_SPIKE"),
LOC("EXP_TAG_VEHICLEMINE_SLICK"),
LOC("EXP_TAG_VEHICLEMINE_TAR"),
LOC("EXP_TAG_SCRIPT_DRONE"),
LOC("EXP_TAG_RAYGUN"),
LOC("EXP_TAG_BURIEDMINE"),
LOC("EXP_TAG_SCRIPT_MISSILE"),
LOC("EXP_TAG_RCTANK_ROCKET"),
LOC("EXP_TAG_BOMB_WATER"),
LOC("EXP_TAG_BOMB_WATER_SECONDARY"),
LOC("EXP_TAG_MINE_CNCSPIKE"),
LOC("EXP_TAG_BZGAS_MK2"),
LOC("EXP_TAG_FLASHGRENADE"),
LOC("EXP_TAG_STUNGRENADE"),
LOC("EXP_TAG_CNC_KINETICRAM"),
LOC("EXP_TAG_SCRIPT_MISSILE_LARGE"),
LOC("EXP_TAG_SUBMARINE_BIG"),
LOC("EXP_TAG_EMPLAUNCHER_EMP"),
LOC("EXP_TAG_RAILGUNXM3"),
LOC("EXP_TAG_BALANCED_CANNONS"),
};
[[nodiscard]] inline std::vector<CommandListActionItemData> eExplosionTag_getListActionItems(bool includeDontCare = false)
{
std::vector<CommandListActionItemData> options = {
{ EXP_TAG_GRENADE, explosion_tag_labels[EXP_TAG_GRENADE] },
{ EXP_TAG_GRENADELAUNCHER, explosion_tag_labels[EXP_TAG_GRENADELAUNCHER] },
{ EXP_TAG_STICKYBOMB, explosion_tag_labels[EXP_TAG_STICKYBOMB] },
{ EXP_TAG_MOLOTOV, explosion_tag_labels[EXP_TAG_MOLOTOV] },
{ EXP_TAG_ROCKET, explosion_tag_labels[EXP_TAG_ROCKET] },
{ EXP_TAG_TANKSHELL, explosion_tag_labels[EXP_TAG_TANKSHELL] },
{ EXP_TAG_HI_OCTANE, explosion_tag_labels[EXP_TAG_HI_OCTANE] },
{ EXP_TAG_CAR, explosion_tag_labels[EXP_TAG_CAR] },
{ EXP_TAG_PLANE, explosion_tag_labels[EXP_TAG_PLANE] },
{ EXP_TAG_PETROL_PUMP, explosion_tag_labels[EXP_TAG_PETROL_PUMP] },
{ EXP_TAG_BIKE, explosion_tag_labels[EXP_TAG_BIKE] },
{ EXP_TAG_DIR_STEAM, explosion_tag_labels[EXP_TAG_DIR_STEAM] },
{ EXP_TAG_DIR_FLAME, explosion_tag_labels[EXP_TAG_DIR_FLAME] },
{ EXP_TAG_DIR_WATER_HYDRANT, explosion_tag_labels[EXP_TAG_DIR_WATER_HYDRANT] },
{ EXP_TAG_DIR_GAS_CANISTER, explosion_tag_labels[EXP_TAG_DIR_GAS_CANISTER] },
{ EXP_TAG_BOAT, explosion_tag_labels[EXP_TAG_BOAT] },
{ EXP_TAG_SHIP_DESTROY, explosion_tag_labels[EXP_TAG_SHIP_DESTROY] },
{ EXP_TAG_TRUCK, explosion_tag_labels[EXP_TAG_TRUCK] },
{ EXP_TAG_BULLET, explosion_tag_labels[EXP_TAG_BULLET] },
{ EXP_TAG_SMOKEGRENADELAUNCHER, explosion_tag_labels[EXP_TAG_SMOKEGRENADELAUNCHER] },
{ EXP_TAG_SMOKEGRENADE, explosion_tag_labels[EXP_TAG_SMOKEGRENADE] },
{ EXP_TAG_BZGAS, explosion_tag_labels[EXP_TAG_BZGAS] },
{ EXP_TAG_FLARE, explosion_tag_labels[EXP_TAG_FLARE] },
{ EXP_TAG_GAS_CANISTER, explosion_tag_labels[EXP_TAG_GAS_CANISTER] },
{ EXP_TAG_EXTINGUISHER, explosion_tag_labels[EXP_TAG_EXTINGUISHER] },
{ EXP_TAG_PROGRAMMABLEAR, explosion_tag_labels[EXP_TAG_PROGRAMMABLEAR] },
{ EXP_TAG_TRAIN, explosion_tag_labels[EXP_TAG_TRAIN] },
{ EXP_TAG_BARREL, explosion_tag_labels[EXP_TAG_BARREL] },
{ EXP_TAG_PROPANE, explosion_tag_labels[EXP_TAG_PROPANE] },
{ EXP_TAG_BLIMP, explosion_tag_labels[EXP_TAG_BLIMP] },
//{EXP_TAG_DIR_FLAME_EXPLODE, explosion_tag_labels[EXP_TAG_DIR_FLAME_EXPLODE]}, -- Same as 12
{ EXP_TAG_TANKER, explosion_tag_labels[EXP_TAG_TANKER] },
{ EXP_TAG_PLANE_ROCKET, explosion_tag_labels[EXP_TAG_PLANE_ROCKET] },
{ EXP_TAG_VEHICLE_BULLET, explosion_tag_labels[EXP_TAG_VEHICLE_BULLET] },
{ EXP_TAG_GAS_TANK, explosion_tag_labels[EXP_TAG_GAS_TANK] },
//{EXP_TAG_BIRD_CRAP, explosion_tag_labels[EXP_TAG_BIRD_CRAP]}, -- No effect as far as I can tell
{ EXP_TAG_RAILGUN, explosion_tag_labels[EXP_TAG_RAILGUN] },
{ EXP_TAG_BLIMP2, explosion_tag_labels[EXP_TAG_BLIMP2] },
{ EXP_TAG_FIREWORK, explosion_tag_labels[EXP_TAG_FIREWORK] },
{ EXP_TAG_SNOWBALL, explosion_tag_labels[EXP_TAG_SNOWBALL] },
{ EXP_TAG_PROXMINE, explosion_tag_labels[EXP_TAG_PROXMINE] },
{ EXP_TAG_VALKYRIE_CANNON, explosion_tag_labels[EXP_TAG_VALKYRIE_CANNON] },
{ EXP_TAG_AIR_DEFENCE, explosion_tag_labels[EXP_TAG_AIR_DEFENCE] },
{ EXP_TAG_PIPEBOMB, explosion_tag_labels[EXP_TAG_PIPEBOMB] },
{ EXP_TAG_VEHICLEMINE, explosion_tag_labels[EXP_TAG_VEHICLEMINE] },
{ EXP_TAG_EXPLOSIVEAMMO, explosion_tag_labels[EXP_TAG_EXPLOSIVEAMMO] },
{ EXP_TAG_APCSHELL, explosion_tag_labels[EXP_TAG_APCSHELL] },
{ EXP_TAG_BOMB_CLUSTER, explosion_tag_labels[EXP_TAG_BOMB_CLUSTER] },
{ EXP_TAG_BOMB_GAS, explosion_tag_labels[EXP_TAG_BOMB_GAS] },
{ EXP_TAG_BOMB_INCENDIARY, explosion_tag_labels[EXP_TAG_BOMB_INCENDIARY] },
{ EXP_TAG_BOMB_STANDARD, explosion_tag_labels[EXP_TAG_BOMB_STANDARD] },
{ EXP_TAG_TORPEDO, explosion_tag_labels[EXP_TAG_TORPEDO] },
{ EXP_TAG_TORPEDO_UNDERWATER, explosion_tag_labels[EXP_TAG_TORPEDO_UNDERWATER] },
{ EXP_TAG_BOMBUSHKA_CANNON, explosion_tag_labels[EXP_TAG_BOMBUSHKA_CANNON] },
{ EXP_TAG_BOMB_CLUSTER_SECONDARY, explosion_tag_labels[EXP_TAG_BOMB_CLUSTER_SECONDARY] },
{ EXP_TAG_HUNTER_BARRAGE, explosion_tag_labels[EXP_TAG_HUNTER_BARRAGE] },
{ EXP_TAG_HUNTER_CANNON, explosion_tag_labels[EXP_TAG_HUNTER_CANNON] },
{ EXP_TAG_ROGUE_CANNON, explosion_tag_labels[EXP_TAG_ROGUE_CANNON] },
{ EXP_TAG_MINE_UNDERWATER, explosion_tag_labels[EXP_TAG_MINE_UNDERWATER] },
{ EXP_TAG_ORBITAL_CANNON, explosion_tag_labels[EXP_TAG_ORBITAL_CANNON] },
{ EXP_TAG_BOMB_STANDARD_WIDE, explosion_tag_labels[EXP_TAG_BOMB_STANDARD_WIDE] },
{ EXP_TAG_EXPLOSIVEAMMO_SHOTGUN, explosion_tag_labels[EXP_TAG_EXPLOSIVEAMMO_SHOTGUN] },
{ EXP_TAG_OPPRESSOR2_CANNON, explosion_tag_labels[EXP_TAG_OPPRESSOR2_CANNON] },
{ EXP_TAG_MORTAR_KINETIC, explosion_tag_labels[EXP_TAG_MORTAR_KINETIC] },
{ EXP_TAG_VEHICLEMINE_KINETIC, explosion_tag_labels[EXP_TAG_VEHICLEMINE_KINETIC] },
{ EXP_TAG_VEHICLEMINE_EMP, explosion_tag_labels[EXP_TAG_VEHICLEMINE_EMP] },
{ EXP_TAG_VEHICLEMINE_SPIKE, explosion_tag_labels[EXP_TAG_VEHICLEMINE_SPIKE] },
{ EXP_TAG_VEHICLEMINE_SLICK, explosion_tag_labels[EXP_TAG_VEHICLEMINE_SLICK] },
{ EXP_TAG_VEHICLEMINE_TAR, explosion_tag_labels[EXP_TAG_VEHICLEMINE_TAR] },
{ EXP_TAG_SCRIPT_DRONE, explosion_tag_labels[EXP_TAG_SCRIPT_DRONE] },
{ EXP_TAG_RAYGUN, explosion_tag_labels[EXP_TAG_RAYGUN] },
{ EXP_TAG_BURIEDMINE, explosion_tag_labels[EXP_TAG_BURIEDMINE] },
{ EXP_TAG_SCRIPT_MISSILE, explosion_tag_labels[EXP_TAG_SCRIPT_MISSILE] },
{ EXP_TAG_RCTANK_ROCKET, explosion_tag_labels[EXP_TAG_RCTANK_ROCKET] },
{ EXP_TAG_BOMB_WATER, explosion_tag_labels[EXP_TAG_BOMB_WATER] },
{ EXP_TAG_BOMB_WATER_SECONDARY, explosion_tag_labels[EXP_TAG_BOMB_WATER_SECONDARY] },
{ EXP_TAG_MINE_CNCSPIKE, explosion_tag_labels[EXP_TAG_MINE_CNCSPIKE] },
{ EXP_TAG_BZGAS_MK2, explosion_tag_labels[EXP_TAG_BZGAS_MK2] },
{ EXP_TAG_FLASHGRENADE, explosion_tag_labels[EXP_TAG_FLASHGRENADE] },
{ EXP_TAG_STUNGRENADE, explosion_tag_labels[EXP_TAG_STUNGRENADE] },
{ EXP_TAG_CNC_KINETICRAM, explosion_tag_labels[EXP_TAG_CNC_KINETICRAM] },
{ EXP_TAG_SCRIPT_MISSILE_LARGE, explosion_tag_labels[EXP_TAG_SCRIPT_MISSILE_LARGE] },
{ EXP_TAG_SUBMARINE_BIG, explosion_tag_labels[EXP_TAG_SUBMARINE_BIG] },
{ EXP_TAG_EMPLAUNCHER_EMP, explosion_tag_labels[EXP_TAG_EMPLAUNCHER_EMP] },
{ EXP_TAG_RAILGUNXM3, explosion_tag_labels[EXP_TAG_RAILGUNXM3] },
{ EXP_TAG_BALANCED_CANNONS, explosion_tag_labels[EXP_TAG_BALANCED_CANNONS] },
};
if (includeDontCare)
{
options.insert(options.begin(), { EXP_TAG_DONTCARE, LOC("DOFF") });
}
return options;
}
}