Files
GTASource/game/weapons/WeaponEnums.h
expvintl 419f2e4752 init
2025-02-23 17:40:52 +08:00

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