a good update

Added a very useful debugging tool, made looting even more proper
This commit is contained in:
Milxnor
2023-05-09 22:37:04 -04:00
parent b64f569551
commit 3fb5c4671d
34 changed files with 612 additions and 169 deletions

View File

@@ -6,18 +6,49 @@
#include "FortWorldItemDefinition.h"
#include "FortInventory.h"
enum class ERespawnRequirements : uint8_t
{
RespawnOnly = 0,
NoRespawnOnly = 1,
Both = 2,
ERespawnRequirements_MAX = 3
};
struct FItemsToDropOnDeath
{
UFortWorldItemDefinition* ItemToDrop; // 0x0000(0x0008) (Edit, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash, NativeAccessSpecifierPublic)
FScalableFloat NumberToDrop; // 0x0008(0x0020) (Edit, NativeAccessSpecifierPublic)
static UStruct* GetStruct()
{
static auto Struct = FindObject<UStruct>("/Script/FortniteGame.ItemsToDropOnDeath");
return Struct;
}
static int GetStructSize() { return GetStruct()->GetPropertiesSize(); }
UFortWorldItemDefinition*& GetItemToDrop()
{
static auto ItemToDropOffset = FindOffsetStruct("/Script/FortniteGame.ItemsToDropOnDeath", "ItemToDrop");
return *(UFortWorldItemDefinition**)(__int64(this) + ItemToDropOffset);
}
FScalableFloat* GetNumberToDrop()
{
static auto NumberToDropOffset = FindOffsetStruct("/Script/FortniteGame.ItemsToDropOnDeath", "NumberToDrop");
return (FScalableFloat*)(__int64(this) + NumberToDropOffset);
}
};
class AFortAthenaMutator_ItemDropOnDeath : public AFortAthenaMutator
{
public:
ERespawnRequirements/*&*/ GetRespawnRequirements()
{
static auto RespawnRequirementsOffset = GetOffset("RespawnRequirements");
return Get<ERespawnRequirements>(RespawnRequirementsOffset);
}
TArray<FItemsToDropOnDeath>& GetItemsToDrop()
{
static auto ItemsToDropOffset = GetOffset("ItemsToDrop");
return Get<TArray<FItemsToDropOnDeath>>(ItemsToDropoOffset);
return Get<TArray<FItemsToDropOnDeath>>(ItemsToDropOffset);
}
};