171 lines
3.9 KiB
C
171 lines
3.9 KiB
C
#ifndef WEAPON_ENUMS_H
|
|
#define WEAPON_ENUMS_H
|
|
|
|
#include "atl/hashstring.h"
|
|
|
|
// Keep in sync with weapon_enums.sch / alias in weaponenums.psc
|
|
enum eDamageType
|
|
{
|
|
DAMAGE_TYPE_UNKNOWN = 0,
|
|
DAMAGE_TYPE_NONE,
|
|
DAMAGE_TYPE_MELEE,
|
|
DAMAGE_TYPE_BULLET,
|
|
DAMAGE_TYPE_BULLET_RUBBER,
|
|
DAMAGE_TYPE_EXPLOSIVE,
|
|
DAMAGE_TYPE_FIRE,
|
|
DAMAGE_TYPE_COLLISION,
|
|
DAMAGE_TYPE_FALL,
|
|
DAMAGE_TYPE_DROWN,
|
|
DAMAGE_TYPE_ELECTRIC,
|
|
DAMAGE_TYPE_BARBED_WIRE,
|
|
DAMAGE_TYPE_FIRE_EXTINGUISHER,
|
|
DAMAGE_TYPE_SMOKE,
|
|
DAMAGE_TYPE_WATER_CANNON,
|
|
DAMAGE_TYPE_TRANQUILIZER,
|
|
NUM_EDAMAGETYPE,
|
|
EDAMAGETYPE_MAX = NUM_EDAMAGETYPE,
|
|
};
|
|
|
|
enum eFireType
|
|
{
|
|
FIRE_TYPE_NONE = 0,
|
|
FIRE_TYPE_MELEE,
|
|
FIRE_TYPE_INSTANT_HIT,
|
|
FIRE_TYPE_DELAYED_HIT,
|
|
FIRE_TYPE_PROJECTILE,
|
|
FIRE_TYPE_VOLUMETRIC_PARTICLE,
|
|
NUM_EFIRETYPE,
|
|
EFIRETYPE_MAX = NUM_EFIRETYPE,
|
|
};
|
|
|
|
enum eWeaponEffectGroup
|
|
{
|
|
WEAPON_EFFECT_GROUP_PUNCH_KICK = 0,
|
|
WEAPON_EFFECT_GROUP_MELEE_WOOD,
|
|
WEAPON_EFFECT_GROUP_MELEE_METAL,
|
|
WEAPON_EFFECT_GROUP_MELEE_SHARP,
|
|
WEAPON_EFFECT_GROUP_MELEE_GENERIC,
|
|
WEAPON_EFFECT_GROUP_PISTOL_SMALL,
|
|
WEAPON_EFFECT_GROUP_PISTOL_LARGE,
|
|
WEAPON_EFFECT_GROUP_PISTOL_SILENCED,
|
|
WEAPON_EFFECT_GROUP_RUBBER,
|
|
WEAPON_EFFECT_GROUP_SMG,
|
|
WEAPON_EFFECT_GROUP_SHOTGUN,
|
|
WEAPON_EFFECT_GROUP_RIFLE_ASSAULT,
|
|
WEAPON_EFFECT_GROUP_RIFLE_SNIPER,
|
|
WEAPON_EFFECT_GROUP_ROCKET,
|
|
WEAPON_EFFECT_GROUP_GRENADE,
|
|
WEAPON_EFFECT_GROUP_MOLOTOV,
|
|
WEAPON_EFFECT_GROUP_FIRE,
|
|
WEAPON_EFFECT_GROUP_EXPLOSION,
|
|
WEAPON_EFFECT_GROUP_LASER,
|
|
WEAPON_EFFECT_GROUP_STUNGUN,
|
|
WEAPON_EFFECT_GROUP_HEAVY_MG,
|
|
WEAPON_EFFECT_GROUP_VEHICLE_MG,
|
|
NUM_EWEAPONEFFECTGROUP,
|
|
EWEAPONEFFECTGROUP_MAX = NUM_EWEAPONEFFECTGROUP,
|
|
};
|
|
|
|
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,
|
|
NUM_EEXPLOSIONTAG,
|
|
EEXPLOSIONTAG_MAX = NUM_EEXPLOSIONTAG,
|
|
};
|
|
|
|
eExplosionTag eExplosionTag_Parse(atHashValue hashName, const eExplosionTag defaultVal = EXP_TAG_DONTCARE);
|
|
eExplosionTag eExplosionTag_Parse(const char *str, const eExplosionTag defaultVal = EXP_TAG_DONTCARE);
|
|
|
|
const char ** eExplosionTag_GetStaticTagNames();
|
|
int eExplosionTag_GetTagNameCount();
|
|
|
|
#if __BANK
|
|
const char* GetWeaponEffectGroupName(eWeaponEffectGroup weaponEffectGroup);
|
|
#endif
|
|
|
|
#endif // WEAPON_ENUMS_H
|