mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 02:42:22 +01:00
fix bugs with picking up + lategame loot
This commit is contained in:
@@ -496,6 +496,7 @@ bool AFortGameModeAthena::Athena_ReadyToStartMatchHook(AFortGameModeAthena* Game
|
||||
|
||||
// return false;
|
||||
|
||||
Globals::AmountOfListens++;
|
||||
Globals::bStartedListening = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ void AFortPickup::TossPickup(FVector FinalLocation, AFortPawn* ItemOwner, int Ov
|
||||
|
||||
AFortPickup* AFortPickup::SpawnPickup(FFortItemEntry* ItemEntry, FVector Location,
|
||||
EFortPickupSourceTypeFlag PickupSource, EFortPickupSpawnSource SpawnSource,
|
||||
class AFortPawn* Pawn, UClass* OverrideClass, bool bToss)
|
||||
class AFortPawn* Pawn, UClass* OverrideClass, bool bToss, int OverrideCount)
|
||||
{
|
||||
// static auto FortPickupClass = FindObject<UClass>(L"/Script/FortniteGame.FortPickup");
|
||||
static auto FortPickupAthenaClass = FindObject<UClass>(L"/Script/FortniteGame.FortPickupAthena");
|
||||
@@ -54,10 +54,11 @@ AFortPickup* AFortPickup::SpawnPickup(FFortItemEntry* ItemEntry, FVector Locatio
|
||||
else
|
||||
{
|
||||
PrimaryPickupItemEntry->GetItemDefinition() = ItemEntry->GetItemDefinition();
|
||||
PrimaryPickupItemEntry->GetCount() = ItemEntry->GetCount();
|
||||
PrimaryPickupItemEntry->GetLoadedAmmo() = ItemEntry->GetLoadedAmmo();
|
||||
}
|
||||
|
||||
PrimaryPickupItemEntry->GetCount() = OverrideCount == -1 ? ItemEntry->GetCount() : OverrideCount;
|
||||
|
||||
PrimaryPickupItemEntry->GetItemGuid() = OldGuid;
|
||||
|
||||
// Pickup->OnRep_PrimaryPickupItemEntry();
|
||||
@@ -88,6 +89,14 @@ AFortPickup* AFortPickup::SpawnPickup(FFortItemEntry* ItemEntry, FVector Locatio
|
||||
AFortPickup* AFortPickup::SpawnPickup(UFortItemDefinition* ItemDef, FVector Location, int Count, EFortPickupSourceTypeFlag PickupSource, EFortPickupSpawnSource SpawnSource,
|
||||
int LoadedAmmo, AFortPawn* Pawn, UClass* OverrideClass, bool bToss)
|
||||
{
|
||||
if (LoadedAmmo == -1)
|
||||
{
|
||||
if (auto WeaponDef = Cast<UFortWeaponItemDefinition>(ItemDef)) // bPreventDefaultPreload ?
|
||||
LoadedAmmo = WeaponDef->GetClipSize();
|
||||
else
|
||||
LoadedAmmo = 0;
|
||||
}
|
||||
|
||||
auto ItemEntry = FFortItemEntry::MakeItemEntry(ItemDef, Count, LoadedAmmo);
|
||||
auto Pickup = SpawnPickup(ItemEntry, Location, PickupSource, SpawnSource, Pawn, OverrideClass, bToss);
|
||||
// VirtualFree(ItemEntry);
|
||||
@@ -236,7 +245,10 @@ char AFortPickup::CompletePickupAnimationHook(AFortPickup* Pickup)
|
||||
UFortWorldItemDefinition* ItemDefinitionToSpawn = PickupItemDefinition;
|
||||
int AmountToSpawn = cpyCount > PickupItemDefinition->GetMaxStackSize() ? PickupItemDefinition->GetMaxStackSize() : cpyCount;
|
||||
|
||||
SpawnPickup(ItemDefinitionToSpawn, PawnLoc, AmountToSpawn, EFortPickupSourceTypeFlag::Player, EFortPickupSpawnSource::Unset, -1, Pawn);
|
||||
int LoadedAmmo = 0;
|
||||
|
||||
// SpawnPickup(ItemDefinitionToSpawn, PawnLoc, AmountToSpawn, EFortPickupSourceTypeFlag::Player, EFortPickupSpawnSource::Unset, -1, Pawn);
|
||||
SpawnPickup(PickupEntry, PawnLoc, EFortPickupSourceTypeFlag::Player, EFortPickupSpawnSource::Unset, Pawn, nullptr, true, AmountToSpawn);
|
||||
cpyCount -= AmountToSpawn;
|
||||
bForceOverflow = false;
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ public:
|
||||
|
||||
static AFortPickup* SpawnPickup(FFortItemEntry* ItemEntry, FVector Location,
|
||||
EFortPickupSourceTypeFlag PickupSource = EFortPickupSourceTypeFlag::Other, EFortPickupSpawnSource SpawnSource = EFortPickupSpawnSource::Unset,
|
||||
class AFortPawn* Pawn = nullptr, UClass* OverrideClass = nullptr, bool bToss = true);
|
||||
class AFortPawn* Pawn = nullptr, UClass* OverrideClass = nullptr, bool bToss = true, int OverrideCount = -1);
|
||||
|
||||
static AFortPickup* SpawnPickup(class UFortItemDefinition* ItemDef, FVector Location, int Count,
|
||||
EFortPickupSourceTypeFlag PickupSource = EFortPickupSourceTypeFlag::Other, EFortPickupSpawnSource SpawnSource = EFortPickupSpawnSource::Unset,
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "FortGadgetItemDefinition.h"
|
||||
#include "FortAbilitySet.h"
|
||||
#include "vendingmachine.h"
|
||||
#include "KismetSystemLibrary.h"
|
||||
|
||||
void AFortPlayerController::ClientReportDamagedResourceBuilding(ABuildingSMActor* BuildingSMActor, EFortResourceType PotentialResourceType, int PotentialResourceCount, bool bDestroyed, bool bJustHitWeakspot)
|
||||
{
|
||||
@@ -635,6 +636,16 @@ void AFortPlayerController::ServerAttemptAircraftJumpHook(AFortPlayerController*
|
||||
|
||||
WorldInventory->Update();
|
||||
}
|
||||
|
||||
static int LastNum1 = 124;
|
||||
|
||||
if (LastNum1 != AmountOfRestarts)
|
||||
{
|
||||
LastNum1 = AmountOfRestarts;
|
||||
|
||||
UKismetSystemLibrary::ExecuteConsoleCommand(GetWorld(), L"skipshrinksafezone", nullptr);
|
||||
UKismetSystemLibrary::ExecuteConsoleCommand(GetWorld(), L"skipshrinksafezone", nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
void AFortPlayerController::ServerDropAllItemsHook(AFortPlayerController* PlayerController, UFortItemDefinition* IgnoreItemDef)
|
||||
|
||||
@@ -4,8 +4,10 @@
|
||||
|
||||
void AFortPlayerStateAthena::ServerSetInAircraftHook(UObject* Context, FFrame& Stack, void* Ret)
|
||||
{
|
||||
/* LOG_INFO(LogDev, "bLateGame: {}", Globals::bLateGame)
|
||||
|
||||
if (Globals::bLateGame)
|
||||
return ServerSetInAircraftOriginal(Context, Stack, Ret);
|
||||
return ServerSetInAircraftOriginal(Context, Stack, Ret); */
|
||||
|
||||
auto PlayerState = (AFortPlayerStateAthena*)Context;
|
||||
auto PlayerController = Cast<AFortPlayerControllerAthena>(PlayerState->GetOwner());
|
||||
@@ -24,7 +26,7 @@ void AFortPlayerStateAthena::ServerSetInAircraftHook(UObject* Context, FFrame& S
|
||||
|
||||
auto& ItemInstances = InventoryList.GetItemInstances();
|
||||
|
||||
if (/* (bNewInAircraft && !PlayerController->IsInAircraft()) || */ /* (Globals::bLateGame ? bNewInAircraft : true)) && */ ItemInstances.Num())
|
||||
if (/* (bNewInAircraft && !PlayerController->IsInAircraft()) || */ /* (Globals::bLateGame ? bNewInAircraft : true)) && */ !Globals::bLateGame && ItemInstances.Num())
|
||||
{
|
||||
// std::cout << "InventoryList.ItemInstances.Num(): " << InventoryList.ItemInstances.Num() << '\n';
|
||||
|
||||
|
||||
@@ -609,7 +609,7 @@
|
||||
<Filter>Engine\Source\Runtime\Engine\Classes\Kismet</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FortOctopusVehicle.h">
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Vehicles</Filter>
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Athena\Vehicle</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IntroSort.h">
|
||||
<Filter>Engine\Source\Runtime\Core\Public\Algo</Filter>
|
||||
@@ -687,16 +687,16 @@
|
||||
<Filter>Reboot\Public\GUI</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FortWeaponRangedMountedCannon.h">
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Vehicles</Filter>
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Athena\Vehicle</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FortMountedCannon.h">
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Vehicles</Filter>
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Athena\Vehicle</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FortAthenaSKPushCannon.h">
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Vehicles</Filter>
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Athena\Vehicle</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FortAthenaVehicle.h">
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Vehicles</Filter>
|
||||
<Filter>FortniteGame\Source\FortniteGame\Public\Athena\Vehicle</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MemoryOps.h">
|
||||
<Filter>Engine\Source\Runtime\Core\Public\Templates</Filter>
|
||||
@@ -904,9 +904,6 @@
|
||||
<Filter Include="Engine\Source\Runtime\Core\Public\Internationalization">
|
||||
<UniqueIdentifier>{b00f4455-11e7-4fd9-aa6d-2d814788b544}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FortniteGame\Source\FortniteGame\Public\Vehicles">
|
||||
<UniqueIdentifier>{b1cc2ad4-6196-455c-bda7-d0a2e7be2e70}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FortniteGame\Source\FortniteGame\Private\Vehicles">
|
||||
<UniqueIdentifier>{702a4ab1-e5e1-46e1-b8cd-2fab1c4fb48c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
@@ -931,6 +928,12 @@
|
||||
<Filter Include="FortniteGame\Source\FortniteGame\Public\Private\Gameplay">
|
||||
<UniqueIdentifier>{52d438db-beaf-44be-bddd-9aeb07c2459f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FortniteGame\Source\FortniteGame\Public\Athena">
|
||||
<UniqueIdentifier>{af212a31-57d1-4345-a73f-cd28dc4ebd2f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FortniteGame\Source\FortniteGame\Public\Athena\Vehicle">
|
||||
<UniqueIdentifier>{b1cc2ad4-6196-455c-bda7-d0a2e7be2e70}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="UnrealEngine.cpp">
|
||||
|
||||
@@ -287,6 +287,11 @@ static inline bool HasEvent()
|
||||
return GetOurEvent().Version == Fortnite_Version;
|
||||
}
|
||||
|
||||
static inline bool RequiresEventPlaylist()
|
||||
{
|
||||
return false; // todo
|
||||
}
|
||||
|
||||
static inline UObject* GetEventScripting()
|
||||
{
|
||||
Event OurEvent;
|
||||
|
||||
@@ -17,6 +17,8 @@ namespace Globals
|
||||
extern inline bool bHitReadyToStartMatch = false;
|
||||
extern inline bool bInitializedPlaylist = false;
|
||||
extern inline bool bStartedListening = false;
|
||||
|
||||
extern inline int AmountOfListens = 0; // TODO: Switch to this for LastNum
|
||||
}
|
||||
|
||||
extern inline std::string PlaylistName =
|
||||
|
||||
@@ -384,7 +384,7 @@ void MainUI()
|
||||
|
||||
if (ImGui::Button("Restart"))
|
||||
{
|
||||
if (Engine_Version < 424)
|
||||
if (true) // Engine_Version < 424)
|
||||
{
|
||||
FString LevelA = Engine_Version < 424
|
||||
? L"open Athena_Terrain" : Engine_Version >= 500 ? Engine_Version >= 501
|
||||
@@ -453,23 +453,22 @@ void MainUI()
|
||||
Sleep(500);
|
||||
}
|
||||
|
||||
auto Aircrafts = GameState->GetPtr<TArray<AActor*>>(AircraftsOffset);
|
||||
|
||||
while (Aircrafts->Num() <= 0)
|
||||
while (GameState->GetPtr<TArray<AActor*>>(AircraftsOffset)->Num() <= 0) // hmm
|
||||
{
|
||||
Sleep(500);
|
||||
}
|
||||
|
||||
static auto NextNextCenterOffset = GameState->Get(SafeZoneIndicatorOffset)->GetOffset("NextNextCenter");
|
||||
static auto NextCenterOffset = GameState->Get(SafeZoneIndicatorOffset)->GetOffset("NextCenter");
|
||||
FVector LocationToStartAircraft = GameState->Get(SafeZoneIndicatorOffset)->Get<FVector>(NextCenterOffset); // SafeZoneLocations.at(4);
|
||||
FVector LocationToStartAircraft = GameState->Get(SafeZoneIndicatorOffset)->Get<FVector>(NextNextCenterOffset); // SafeZoneLocations.at(4);
|
||||
LocationToStartAircraft.Z += 10000;
|
||||
|
||||
for (int i = 0; i < Aircrafts->Num(); i++)
|
||||
for (int i = 0; i < GameState->GetPtr<TArray<AActor*>>(AircraftsOffset)->Num(); i++)
|
||||
{
|
||||
Aircrafts->at(i)->TeleportTo(LocationToStartAircraft, FRotator());
|
||||
GameState->GetPtr<TArray<AActor*>>(AircraftsOffset)->at(i)->TeleportTo(LocationToStartAircraft, FRotator());
|
||||
|
||||
static auto FlightInfoOffset = Aircrafts->at(i)->GetOffset("FlightInfo");
|
||||
auto FlightInfo = Aircrafts->at(i)->GetPtr<FAircraftFlightInfo>(FlightInfoOffset);
|
||||
static auto FlightInfoOffset = GameState->GetPtr<TArray<AActor*>>(AircraftsOffset)->at(i)->GetOffset("FlightInfo");
|
||||
auto FlightInfo = GameState->GetPtr<TArray<AActor*>>(AircraftsOffset)->at(i)->GetPtr<FAircraftFlightInfo>(FlightInfoOffset);
|
||||
|
||||
FlightInfo->GetFlightSpeed() = 0;
|
||||
FlightInfo->GetFlightStartLocation() = LocationToStartAircraft;
|
||||
@@ -499,8 +498,6 @@ void MainUI()
|
||||
static auto bAircraftIsLockedOffset = GameState->GetOffset("bAircraftIsLocked");
|
||||
static auto bAircraftIsLockedFieldMask = GetFieldMask(GameState->GetProperty("bAircraftIsLocked"));
|
||||
GameState->SetBitfieldValue(bAircraftIsLockedOffset, bAircraftIsLockedFieldMask, false);
|
||||
|
||||
UKismetSystemLibrary::ExecuteConsoleCommand(GetWorld(), L"skipshrinksafezone", nullptr);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user