Files
Project-Reboot-3.0/Project Reboot 3.0/FortWorldItemDefinition.h
Milxnor 5da8485485 a lot
fix 1.11 replication, fix some ltm specific stuff, start on shadow stones, fix some events not having foundations, fix s4-s6 gadgets, fix clear inventory on some versions
2023-04-22 23:52:20 -04:00

85 lines
2.7 KiB
C++

#pragma once
#include "FortItemDefinition.h"
enum class EWorldItemDropBehavior : uint8_t
{
DropAsPickup = 0,
DestroyOnDrop = 1,
DropAsPickupDestroyOnEmpty = 2,
EWorldItemDropBehavior_MAX = 3
};
class UFortWorldItemDefinition : public UFortItemDefinition
{
public:
bool CanBeDropped()
{
static auto bCanBeDroppedOffset = GetOffset("bCanBeDropped");
static auto bCanBeDroppedFieldMask = GetFieldMask(GetProperty("bCanBeDropped"));
return ReadBitfieldValue(bCanBeDroppedOffset, bCanBeDroppedFieldMask);
}
EWorldItemDropBehavior& GetDropBehavior()
{
static auto DropBehaviorOffset = GetOffset("DropBehavior");
return Get<EWorldItemDropBehavior>(DropBehaviorOffset);
}
bool ShouldDropOnDeath()
{
static auto bDropOnDeathOffset = GetOffset("bDropOnDeath");
static auto bDropOnDeathFieldMask = GetFieldMask(GetProperty("bDropOnDeath"));
return ReadBitfieldValue(bDropOnDeathOffset, bDropOnDeathFieldMask);
}
bool ShouldIgnoreRespawningOnDrop()
{
static auto bIgnoreRespawningForDroppingAsPickupOffset = GetOffset("bIgnoreRespawningForDroppingAsPickup", false);
if (bIgnoreRespawningForDroppingAsPickupOffset == -1)
return false;
static auto bIgnoreRespawningForDroppingAsPickupFieldMask = GetFieldMask(GetProperty("bIgnoreRespawningForDroppingAsPickup"));
return ReadBitfieldValue(bIgnoreRespawningForDroppingAsPickupOffset, bIgnoreRespawningForDroppingAsPickupFieldMask);
}
bool ShouldPersistWhenFinalStackEmpty()
{
static auto bPersistInInventoryWhenFinalStackEmptyOffset = GetOffset("bPersistInInventoryWhenFinalStackEmpty", false);
if (bPersistInInventoryWhenFinalStackEmptyOffset == -1)
return false;
static auto bPersistInInventoryWhenFinalStackEmptyFieldMask = GetFieldMask(GetProperty("bPersistInInventoryWhenFinalStackEmpty"));
return ReadBitfieldValue(bPersistInInventoryWhenFinalStackEmptyOffset, bPersistInInventoryWhenFinalStackEmptyFieldMask);
}
bool ShouldFocusWhenAdded()
{
static auto bForceFocusWhenAddedOffset = GetOffset("bForceFocusWhenAdded", false);
if (bForceFocusWhenAddedOffset == -1)
return false;
static auto bForceFocusWhenAddedFieldMask = GetFieldMask(GetProperty("bForceFocusWhenAdded"));
return ReadBitfieldValue(bForceFocusWhenAddedOffset, bForceFocusWhenAddedFieldMask);
}
bool ShouldForceFocusWhenAdded()
{
static auto bForceFocusWhenAddedOffset = GetOffset("bForceFocusWhenAdded");
if (bForceFocusWhenAddedOffset == -1)
return false;
static auto bForceFocusWhenAddedFieldMask = GetFieldMask(GetProperty("bForceFocusWhenAdded"));
return ReadBitfieldValue(bForceFocusWhenAddedOffset, bForceFocusWhenAddedFieldMask);
}
static UClass* StaticClass()
{
static auto Class = FindObject<UClass>("/Script/FortniteGame.FortWorldItemDefinition");
return Class;
}
};