Files
Project-Reboot-3.0/Project Reboot 3.0/FortAthenaMutator_Barrier.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

73 lines
2.1 KiB
C++

#pragma once
#include "FortAthenaMutator.h"
#include "AthenaBigBaseWall.h"
#include "AthenaBarrierObjective.h"
#include "AthenaBarrierFlag.h"
struct FBarrierTeamState // Idk if this actually changes
{
static UStruct* GetStruct()
{
static auto Struct = FindObject<UStruct>("/Script/FortniteGame.BarrierTeamState");
return Struct;
}
static int GetStructSize() { return GetStruct()->GetPropertiesSize(); }
EBarrierFoodTeam& GetFoodTeam()
{
static auto FoodTeamOffset = FindOffsetStruct("/Script/FortniteGame.BarrierTeamState", "FoodTeam");
return *(EBarrierFoodTeam*)(__int64(this) + FoodTeamOffset);
}
AAthenaBarrierFlag*& GetObjectiveFlag()
{
static auto ObjectiveFlagOffset = FindOffsetStruct("/Script/FortniteGame.BarrierTeamState", "ObjectiveFlag");
return *(AAthenaBarrierFlag**)(__int64(this) + ObjectiveFlagOffset);
}
AAthenaBarrierObjective*& GetObjectiveObject()
{
static auto ObjectiveObjectOffset = FindOffsetStruct("/Script/FortniteGame.BarrierTeamState", "ObjectiveObject");
return *(AAthenaBarrierObjective**)(__int64(this) + ObjectiveObjectOffset);
}
};
class AFortAthenaMutator_Barrier : public AFortAthenaMutator
{
public:
static inline void (*OnGamePhaseStepChangedOriginal)(UObject* Context, FFrame& Stack, void* Ret);
UClass* GetBigBaseWallClass()
{
static auto BigBaseWallClassOffset = GetOffset("BigBaseWallClass");
return Get<UClass*>(BigBaseWallClassOffset);
}
UClass* GetObjectiveFlagClass()
{
static auto ObjectiveFlagOffset = GetOffset("ObjectiveFlag");
return Get<UClass*>(ObjectiveFlagOffset);
}
AAthenaBigBaseWall*& GetBigBaseWall()
{
static auto BigBaseWallOffset = GetOffset("BigBaseWall");
return Get<AAthenaBigBaseWall*>(BigBaseWallOffset);
}
FBarrierTeamState* GetTeam_0_State()
{
static auto Team_0_StateOffset = GetOffset("Team_0_State");
return GetPtr<FBarrierTeamState>(Team_0_StateOffset);
}
FBarrierTeamState* GetTeam_1_State()
{
static auto Team_1_StateOffset = GetOffset("Team_1_State");
return GetPtr<FBarrierTeamState>(Team_1_StateOffset);
}
static void OnGamePhaseStepChangedHook(UObject* Context, FFrame& Stack, void* Ret);
};