Files
Project-Reboot-3.0/Project Reboot 3.0/FortPlayerStateAthena.cpp
Milxnor 769dfa08ef a bit
added some specific playlist items, fix s8-s10 markers because i broke, fixed removing items on aircraft on every version, added thanos stone automatic spawning, fix a bug with lategame, add marshmello stage, fix multiple battle buses, fix teams on large team gamemodes, fix some items not removing automatically
2023-04-21 22:09:20 -04:00

41 lines
1.5 KiB
C++

#include "FortPlayerStateAthena.h"
#include "Stack.h"
#include "FortPlayerControllerAthena.h"
void AFortPlayerStateAthena::ServerSetInAircraftHook(UObject* Context, FFrame& Stack, void* Ret)
{
/* LOG_INFO(LogDev, "bLateGame: {}", Globals::bLateGame)
if (Globals::bLateGame)
return ServerSetInAircraftOriginal(Context, Stack, Ret); */
auto PlayerState = (AFortPlayerStateAthena*)Context;
auto PlayerController = Cast<AFortPlayerControllerAthena>(PlayerState->GetOwner());
if (!PlayerController)
return ServerSetInAircraftOriginal(Context, Stack, Ret);
// std::cout << "PlayerController->IsInAircraft(): " << PlayerController->IsInAircraft() << '\n';
struct aaa { bool wtf; };
auto bNewInAircraft = ((aaa*)Stack.Locals)->wtf;// *(bool*)Stack.Locals;
LOG_INFO(LogDev, "bNewInAircraft: {}", bNewInAircraft);
auto WorldInventory = PlayerController->GetWorldInventory();
auto& InventoryList = WorldInventory->GetItemList();
auto& ItemInstances = InventoryList.GetItemInstances();
bool bOverrideDontClearInventory = false;
if (/* (bNewInAircraft && !PlayerController->IsInAircraft()) || */ /* (Globals::bLateGame ? bNewInAircraft : true)) && */
!Globals::bLateGame.load() && ItemInstances.Num() && !bOverrideDontClearInventory)
{
static auto CurrentShieldOffset = PlayerState->GetOffset("CurrentShield");
if (CurrentShieldOffset != -1)
PlayerState->Get<float>(CurrentShieldOffset) = 0; // real
}
return ServerSetInAircraftOriginal(Context, Stack, Ret);
}