This commit is contained in:
Milxnor
2023-03-22 00:41:44 -04:00
parent 97ab80fef0
commit 4913d64719
16 changed files with 298 additions and 35 deletions

View File

@@ -1,12 +1,57 @@
#include "FortGameStateAthena.h"
#include "reboot.h"
#include "FortPlayerStateAthena.h"
/* void AFortGameStateAthena::AddPlayerStateToGameMemberInfo(class AFortPlayerStateAthena* PlayerState)
{
} */
UObject*& AFortGameStateAthena::GetCurrentPlaylist()
{
static auto CurrentPlaylistInfoOffset = GetOffset("CurrentPlaylistInfo", false);
if (CurrentPlaylistInfoOffset == 0)
{
static auto CurrentPlaylistDataOffset = GetOffset("CurrentPlaylistData");
return Get(CurrentPlaylistDataOffset);
}
auto CurrentPlaylistInfo = this->GetPtr<FFastArraySerializer>(CurrentPlaylistInfoOffset);
static auto BasePlaylistOffset = FindOffsetStruct("/Script/FortniteGame.PlaylistPropertyArray", "BasePlaylist");
return *(UObject**)(__int64(CurrentPlaylistInfo) + BasePlaylistOffset);
}
int AFortGameStateAthena::GetAircraftIndex(AFortPlayerState* PlayerState)
{
// The function has a string in it but we can just remake lol
auto PlayerStateAthena = Cast<AFortPlayerStateAthena>(PlayerState);
if (!PlayerStateAthena)
return 0;
auto CurrentPlaylist = GetCurrentPlaylist();
if (!CurrentPlaylist)
return 0;
static auto AirCraftBehaviorOffset = GetOffset("AirCraftBehavior");
if (Get<uint8_t>(AirCraftBehaviorOffset) != 1) // AirCraftBehavior != EAirCraftBehavior::OpposingAirCraftForEachTeam
return 0;
auto TeamIndex = PlayerStateAthena->GetTeamIndex();
int idfkwhatthisisimguessing = TeamIndex;
static auto DefaultFirstTeamOffset = CurrentPlaylist->GetOffset("DefaultFirstTeam");
auto DefaultFirstTeam = CurrentPlaylist->Get<int>(DefaultFirstTeamOffset);
return TeamIndex - idfkwhatthisisimguessing;
}
bool AFortGameStateAthena::IsRespawningAllowed(AFortPlayerState* PlayerState) // actually in zone
{
static auto IsRespawningAllowedFn = FindObject<UFunction>("/Script/FortniteGame.FortGameStateZone.IsRespawningAllowed");