From f9316d9cc3cfb748366758c41cf02634b6df9a08 Mon Sep 17 00:00:00 2001 From: erorcun Date: Tue, 7 Jan 2020 17:23:09 +0300 Subject: CPlayerPed & CMenuManager (#286) Make Frontend great again! --- src/weapons/Weapon.cpp | 16 ++++++++++++++-- src/weapons/Weapon.h | 4 +++- 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src/weapons') diff --git a/src/weapons/Weapon.cpp b/src/weapons/Weapon.cpp index 860e3ab2..8019a1cf 100644 --- a/src/weapons/Weapon.cpp +++ b/src/weapons/Weapon.cpp @@ -45,7 +45,7 @@ CWeapon::Reload(void) bool CWeapon::IsType2Handed(void) { - return m_eWeaponType >= WEAPONTYPE_SHOTGUN && m_eWeaponType <= WEAPONTYPE_FLAMETHROWER && m_eWeaponType != WEAPONTYPE_ROCKETLAUNCHER; + return m_eWeaponType >= WEAPONTYPE_SHOTGUN && m_eWeaponType <= WEAPONTYPE_FLAMETHROWER && m_eWeaponType != WEAPONTYPE_ROCKETLAUNCHER; } bool @@ -88,8 +88,20 @@ CWeapon::HitsGround(CEntity *holder, CVector *firePos, CEntity *aimingTo) return false; } +bool +CWeapon::HasWeaponAmmoToBeUsed(void) +{ + switch (m_eWeaponType) { + case WEAPONTYPE_UNARMED: + case WEAPONTYPE_BASEBALLBAT: + return true; + default: + return m_nAmmoTotal != 0; + } +} + STARTPATCHES InjectHook(0x55C330, &CWeapon::Initialise, PATCH_JUMP); InjectHook(0x5639D0, &CWeapon::Reload, PATCH_JUMP); InjectHook(0x564890, &CWeapon::HitsGround, PATCH_JUMP); -ENDPATCHES \ No newline at end of file +ENDPATCHES diff --git a/src/weapons/Weapon.h b/src/weapons/Weapon.h index 1663ee0d..1db66720 100644 --- a/src/weapons/Weapon.h +++ b/src/weapons/Weapon.h @@ -15,7 +15,8 @@ enum eWeaponType WEAPONTYPE_MOLOTOV, WEAPONTYPE_GRENADE, WEAPONTYPE_DETONATOR, - WEAPONTYPE_TOTAL_INVENTORY_WEAPONS, + WEAPONTYPE_TOTAL_INVENTORY_WEAPONS = 13, + WEAPONTYPE_HELICANNON = 13, WEAPONTYPE_TOTALWEAPONS, WEAPONTYPE_ARMOUR, WEAPONTYPE_RAMMEDBYCAR, @@ -72,6 +73,7 @@ public: bool IsType2Handed(void); static void DoTankDoomAiming(CEntity *playerVehicle, CEntity *playerPed, CVector *start, CVector *end); bool HitsGround(CEntity* holder, CVector* firePos, CEntity* aimingTo); + bool HasWeaponAmmoToBeUsed(void); static void InitialiseWeapons(void); static void UpdateWeapons(void); }; -- cgit v1.2.3