mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 10:52:22 +01:00
89 lines
2.6 KiB
C++
89 lines
2.6 KiB
C++
#pragma once
|
|
|
|
#include "Actor.h"
|
|
#include "FortPawn.h"
|
|
|
|
enum class EFortPickupSourceTypeFlag : uint8_t
|
|
{
|
|
Other = 0,
|
|
Player = 1,
|
|
Destruction = 2,
|
|
Container = 3,
|
|
AI = 4,
|
|
Tossed = 5,
|
|
FloorLoot = 6,
|
|
EFortPickupSourceTypeFlag_MAX = 7
|
|
};
|
|
|
|
enum class EFortPickupSpawnSource : uint8_t
|
|
{
|
|
Unset = 0,
|
|
PlayerElimination = 1,
|
|
Chest = 2,
|
|
SupplyDrop = 3,
|
|
AmmoBox = 4,
|
|
Drone = 5,
|
|
ItemSpawner = 6,
|
|
EFortPickupSpawnSource_MAX = 7
|
|
};
|
|
|
|
ENUM_CLASS_FLAGS(EFortPickupSourceTypeFlag)
|
|
|
|
struct FFortPickupLocationData
|
|
{
|
|
AFortPawn*& GetPickupTarget()
|
|
{
|
|
static auto PickupTargetOffset = FindOffsetStruct("/Script/FortniteGame.FortPickupLocationData", "PickupTarget");
|
|
return *(AFortPawn**)(__int64(this) + PickupTargetOffset);
|
|
}
|
|
|
|
float& GetFlyTime()
|
|
{
|
|
static auto FlyTimeOffset = FindOffsetStruct("/Script/FortniteGame.FortPickupLocationData", "FlyTime");
|
|
return *(float*)(__int64(this) + FlyTimeOffset);
|
|
}
|
|
|
|
AFortPawn*& GetItemOwner()
|
|
{
|
|
static auto ItemOwnerOffset = FindOffsetStruct("/Script/FortniteGame.FortPickupLocationData", "ItemOwner");
|
|
return *(AFortPawn**)(__int64(this) + ItemOwnerOffset);
|
|
}
|
|
|
|
FVector& GetStartDirection()
|
|
{
|
|
static auto StartDirectionOffset = FindOffsetStruct("/Script/FortniteGame.FortPickupLocationData", "StartDirection");
|
|
return *(FVector*)(__int64(this) + StartDirectionOffset);
|
|
}
|
|
|
|
FGuid& GetPickupGuid()
|
|
{
|
|
static auto PickupGuidOffset = FindOffsetStruct("/Script/FortniteGame.FortPickupLocationData", "PickupGuid");
|
|
return *(FGuid*)(__int64(this) + PickupGuidOffset);
|
|
}
|
|
};
|
|
|
|
class AFortPickup : public AActor
|
|
{
|
|
public:
|
|
static inline char (*CompletePickupAnimationOriginal)(AFortPickup* Pickup);
|
|
|
|
void TossPickup(FVector FinalLocation, class AFortPawn* ItemOwner, int OverrideMaxStackCount, bool bToss, EFortPickupSourceTypeFlag InPickupSourceTypeFlags, EFortPickupSpawnSource InPickupSpawnSource);
|
|
|
|
FFortPickupLocationData* GetPickupLocationData()
|
|
{
|
|
static auto PickupLocationDataOffset = this->GetOffset("PickupLocationData");
|
|
return this->GetPtr<FFortPickupLocationData>(PickupLocationDataOffset);
|
|
}
|
|
|
|
FFortItemEntry* GetPrimaryPickupItemEntry()
|
|
{
|
|
static auto PrimaryPickupItemEntryOffset = this->GetOffset("PrimaryPickupItemEntry");
|
|
return this->GetPtr<FFortItemEntry>(PrimaryPickupItemEntryOffset);
|
|
}
|
|
|
|
static AFortPickup* SpawnPickup(class UFortItemDefinition* ItemDef, FVector Location, int Count,
|
|
EFortPickupSourceTypeFlag PickupSource = EFortPickupSourceTypeFlag::Other, EFortPickupSpawnSource SpawnSource = EFortPickupSpawnSource::Unset,
|
|
int LoadedAmmo = -1, class AFortPawn* Pawn = nullptr);
|
|
|
|
static char CompletePickupAnimationHook(AFortPickup* Pickup);
|
|
}; |