Files
Project-Reboot-3.0/Project Reboot 3.0/FortPlayerStateAthena.h
Milxnor 1da6822119 Reboot Living up to its name
almost finish rebooting (im going insane), performance, increase llama spawn radius, remove auto restart for a little bit
2023-05-13 19:46:50 -04:00

101 lines
2.7 KiB
C++

#pragma once
#include "FortPlayerState.h"
#include "Stack.h"
struct FFortRespawnData
{
static UStruct* GetStruct()
{
static auto Struct = FindObject<UStruct>(L"/Script/FortniteGame.FortRespawnData");
return Struct;
}
static int GetStructSize() { return GetStruct()->GetPropertiesSize(); }
bool& IsRespawnDataAvailable()
{
static auto bRespawnDataAvailableOffset = FindOffsetStruct("/Script/FortniteGame.FortRespawnData", "bRespawnDataAvailable");
return *(bool*)(__int64(this) + bRespawnDataAvailableOffset);
}
bool& IsClientReady()
{
static auto bClientIsReadyOffset = FindOffsetStruct("/Script/FortniteGame.FortRespawnData", "bClientIsReady");
return *(bool*)(__int64(this) + bClientIsReadyOffset);
}
bool& IsServerReady()
{
static auto bServerIsReadyOffset = FindOffsetStruct("/Script/FortniteGame.FortRespawnData", "bServerIsReady");
return *(bool*)(__int64(this) + bServerIsReadyOffset);
}
};
class AFortPlayerStateAthena : public AFortPlayerState
{
public:
static inline void (*ServerSetInAircraftOriginal)(UObject* Context, FFrame& Stack, void* Ret);
uint8& GetSquadId()
{
static auto SquadIdOffset = GetOffset("SquadId");
return Get<uint8>(SquadIdOffset);
}
uint8& GetTeamIndex()
{
static auto TeamIndexOffset = GetOffset("TeamIndex");
return Get<uint8>(TeamIndexOffset);
}
int& GetPlace()
{
static auto PlaceOffset = GetOffset("Place");
return Get<int>(PlaceOffset);
}
FFortRespawnData* GetRespawnData()
{
static auto RespawnDataOffset = GetOffset("RespawnData");
return GetPtr<FFortRespawnData>(RespawnDataOffset);
}
bool IsInAircraft()
{
static auto bInAircraftOffset = GetOffset("bInAircraft");
static auto bInAircraftFieldMask = GetFieldMask(GetProperty("bInAircraft"));
return ReadBitfieldValue(bInAircraftOffset, bInAircraftFieldMask);
}
bool HasThankedBusDriver()
{
static auto bThankedBusDriverOffset = GetOffset("bThankedBusDriver");
static auto bThankedBusDriverFieldMask = GetFieldMask(GetProperty("bThankedBusDriver"));
return ReadBitfieldValue(bThankedBusDriverOffset, bThankedBusDriverFieldMask);
}
bool& IsResurrectingNow()
{
static auto bResurrectingNowOffset = GetOffset("bResurrectingNow", false);
// if (bResurrectingNowOffset == -1)
// return false;
return Get<bool>(bResurrectingNowOffset);
}
void ClientReportKill(AFortPlayerStateAthena* Player)
{
static auto ClientReportKillFn = FindObject<UFunction>("/Script/FortniteGame.FortPlayerStateAthena.ClientReportKill");
this->ProcessEvent(ClientReportKillFn, &Player);
}
static void ServerSetInAircraftHook(UObject* Context, FFrame& Stack, void* Ret);
static UClass* StaticClass()
{
static auto Class = FindObject<UClass>("/Script/FortniteGame.FortPlayerStateAthena");
return Class;
}
};