mirror of
https://github.com/Auties00/Reboot-Launcher.git
synced 2026-01-13 19:22:22 +01:00
<feat: New project structure>
<feat: New release>
This commit is contained in:
138
dependencies/reboot/Project Reboot 3.0/FortPlayerStateAthena.h
vendored
Normal file
138
dependencies/reboot/Project Reboot 3.0/FortPlayerStateAthena.h
vendored
Normal file
@@ -0,0 +1,138 @@
|
||||
#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);
|
||||
}
|
||||
};
|
||||
|
||||
struct FDeathInfo
|
||||
{
|
||||
static UStruct* GetStruct()
|
||||
{
|
||||
static auto Struct = FindObject<UStruct>("/Script/FortniteGame.DeathInfo");
|
||||
return Struct;
|
||||
}
|
||||
|
||||
static int GetStructSize() { return GetStruct()->GetPropertiesSize(); }
|
||||
|
||||
bool& IsDBNO()
|
||||
{
|
||||
static auto bDBNOOffset = FindOffsetStruct("/Script/FortniteGame.DeathInfo", "bDBNO");
|
||||
return *(bool*)(__int64(this) + bDBNOOffset);
|
||||
}
|
||||
};
|
||||
|
||||
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>(L"/Script/FortniteGame.FortPlayerStateAthena.ClientReportKill");
|
||||
this->ProcessEvent(ClientReportKillFn, &Player);
|
||||
}
|
||||
|
||||
void OnRep_DeathInfo()
|
||||
{
|
||||
static auto OnRep_DeathInfoFn = FindObject<UFunction>(L"/Script/FortniteGame.FortPlayerStateAthena.OnRep_DeathInfo");
|
||||
|
||||
if (OnRep_DeathInfoFn) // needed?
|
||||
{
|
||||
this->ProcessEvent(OnRep_DeathInfoFn);
|
||||
}
|
||||
}
|
||||
|
||||
FDeathInfo* GetDeathInfo()
|
||||
{
|
||||
return GetPtr<FDeathInfo>(MemberOffsets::FortPlayerStateAthena::DeathInfo);
|
||||
}
|
||||
|
||||
void ClearDeathInfo()
|
||||
{
|
||||
RtlSecureZeroMemory(GetDeathInfo(), FDeathInfo::GetStructSize()); // TODO FREE THE DEATHTAGS
|
||||
}
|
||||
|
||||
static void ServerSetInAircraftHook(UObject* Context, FFrame& Stack, void* Ret);
|
||||
|
||||
static UClass* StaticClass()
|
||||
{
|
||||
static auto Class = FindObject<UClass>(L"/Script/FortniteGame.FortPlayerStateAthena");
|
||||
return Class;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user