Files
Project-Reboot-3.0/Project Reboot 3.0/FortWeapon.h

30 lines
939 B
C++

#pragma once
#include "Actor.h"
#include "GameplayAbilitySpec.h"
#include "Stack.h"
class AFortWeapon : public AActor
{
public:
static inline void (*ServerReleaseWeaponAbilityOriginal)(UObject* Context, FFrame* Stack, void* Ret);
static inline void (*OnPlayImpactFXOriginal)(AFortWeapon* Weapon, __int64 HitResult, uint8_t ImpactPhysicalSurface, UObject* SpawnedPSC);
template <typename T = class UFortWeaponItemDefinition>
T* GetWeaponData()
{
static auto WeaponDataOffset = GetOffset("WeaponData");
return Get<T*>(WeaponDataOffset);
}
FGuid& GetItemEntryGuid()
{
static auto ItemEntryGuidOffset = GetOffset("ItemEntryGuid");
return Get<FGuid>(ItemEntryGuidOffset);
}
static void OnPlayImpactFXHook(AFortWeapon* Weapon, __int64 HitResult, uint8_t ImpactPhysicalSurface, UObject* SpawnedPSC);
static void ServerReleaseWeaponAbilityHook(UObject* Context, FFrame* Stack, void* Ret);
static UClass* StaticClass();
};