mirror of
https://github.com/Milxnor/Project-Reboot-3.0.git
synced 2026-01-13 02:42:22 +01:00
If its not scuffed its not reboot
This commit is contained in:
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "reboot.h"
|
#include "reboot.h"
|
||||||
#include "FortAthenaAIBotCharacterCustomization.h"
|
#include "FortAthenaAIBotCharacterCustomization.h"
|
||||||
|
#include "FortPlayerController.h"
|
||||||
|
#include "FortPlayerState.h"
|
||||||
|
|
||||||
class UFortAthenaAIBotCustomizationData : public UObject // UPrimaryDataAsset
|
class UFortAthenaAIBotCustomizationData : public UObject // UPrimaryDataAsset
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1528,7 +1528,7 @@ void AFortGameModeAthena::Athena_HandleStartingNewPlayerHook(AFortGameModeAthena
|
|||||||
auto PlayerAbilitySet = GetPlayerAbilitySet();
|
auto PlayerAbilitySet = GetPlayerAbilitySet();
|
||||||
auto AbilitySystemComponent = PlayerStateAthena->GetAbilitySystemComponent();
|
auto AbilitySystemComponent = PlayerStateAthena->GetAbilitySystemComponent();
|
||||||
|
|
||||||
if (PlayerAbilitySet)
|
if (PlayerAbilitySet && Fortnite_Version != 12.00)
|
||||||
{
|
{
|
||||||
PlayerAbilitySet->GiveToAbilitySystem(AbilitySystemComponent);
|
PlayerAbilitySet->GiveToAbilitySystem(AbilitySystemComponent);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -394,6 +394,9 @@ std::vector<LootDrop> PickLootDrops(FName TierGroupName, int WorldLevel, int For
|
|||||||
LTDTables.clear();
|
LTDTables.clear();
|
||||||
LPTables.clear();
|
LPTables.clear();
|
||||||
|
|
||||||
|
if (Fortnite_Version == 12.00)
|
||||||
|
return LootDrops;
|
||||||
|
|
||||||
bool bFoundPlaylistTable = false;
|
bool bFoundPlaylistTable = false;
|
||||||
|
|
||||||
if (CurrentPlaylist)
|
if (CurrentPlaylist)
|
||||||
@@ -622,7 +625,7 @@ std::vector<LootDrop> PickLootDrops(FName TierGroupName, int WorldLevel, int For
|
|||||||
|
|
||||||
if (!Addresses::LoadAsset)
|
if (!Addresses::LoadAsset)
|
||||||
{
|
{
|
||||||
if (Fortnite_Version <= 6 || std::floor(Fortnite_Version) == 9) // ahhh
|
if (Fortnite_Version <= 6 || std::floor(Fortnite_Version) == 9) // the tables unload!
|
||||||
{
|
{
|
||||||
LTDTables.clear();
|
LTDTables.clear();
|
||||||
LPTables.clear();
|
LPTables.clear();
|
||||||
|
|||||||
10
Project Reboot 3.0/FortServerBotManagerAthena.cpp
Normal file
10
Project Reboot 3.0/FortServerBotManagerAthena.cpp
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#include "FortServerBotManagerAthena.h"
|
||||||
|
#include "bots.h"
|
||||||
|
|
||||||
|
AFortPlayerPawnAthena* UFortServerBotManagerAthena::SpawnBotHook(UFortServerBotManagerAthena* BotManager, FVector& InSpawnLocation, FRotator& InSpawnRotation,
|
||||||
|
UFortAthenaAIBotCustomizationData* InBotData, FFortAthenaAIBotRunTimeCustomizationData* InRuntimeBotData)
|
||||||
|
{
|
||||||
|
LOG_INFO(LogBots, "SpawnBotHook!");
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
20
Project Reboot 3.0/FortServerBotManagerAthena.h
Normal file
20
Project Reboot 3.0/FortServerBotManagerAthena.h
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Object.h"
|
||||||
|
#include "FortPlayerPawnAthena.h"
|
||||||
|
#include "FortAthenaAIBotCustomizationData.h"
|
||||||
|
|
||||||
|
struct FFortAthenaAIBotRunTimeCustomizationData
|
||||||
|
{
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
static inline void (*BotManagerSetupStuffIdk)(__int64 BotManaager, __int64 Pawn, __int64 BehaviorTree, __int64 a4, DWORD* SkillLevel, __int64 idk, __int64 StartupInventory, __int64 BotNameSettings, __int64 idk_1, BYTE* CanRespawnOnDeath, unsigned __int8 BitFieldDataThing, BYTE* CustomSquadId, FFortAthenaAIBotRunTimeCustomizationData InRuntimeBotData) = decltype(BotManagerSetupStuffIdk)(__int64(GetModuleHandleW(0)) + 0x19D93F0);
|
||||||
|
|
||||||
|
class UFortServerBotManagerAthena : public UObject
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static inline AFortPlayerPawnAthena* (*SpawnBotOriginal)(UFortServerBotManagerAthena* BotManager, FVector InSpawnLocation, FRotator InSpawnRotation, UFortAthenaAIBotCustomizationData* InBotData, FFortAthenaAIBotRunTimeCustomizationData InRuntimeBotData);
|
||||||
|
|
||||||
|
static AFortPlayerPawnAthena* SpawnBotHook(UFortServerBotManagerAthena* BotManager, FVector& InSpawnLocation, FRotator& InSpawnRotation, UFortAthenaAIBotCustomizationData* InBotData, FFortAthenaAIBotRunTimeCustomizationData* InRuntimeBotData);
|
||||||
|
};
|
||||||
@@ -233,6 +233,7 @@
|
|||||||
<ClCompile Include="FortPlayerStateAthena.cpp" />
|
<ClCompile Include="FortPlayerStateAthena.cpp" />
|
||||||
<ClCompile Include="FortPlaysetItemDefinition.cpp" />
|
<ClCompile Include="FortPlaysetItemDefinition.cpp" />
|
||||||
<ClCompile Include="FortSafeZoneIndicator.cpp" />
|
<ClCompile Include="FortSafeZoneIndicator.cpp" />
|
||||||
|
<ClCompile Include="FortServerBotManagerAthena.cpp" />
|
||||||
<ClCompile Include="FortWeapon.cpp" />
|
<ClCompile Include="FortWeapon.cpp" />
|
||||||
<ClCompile Include="FortWeaponItemDefinition.cpp" />
|
<ClCompile Include="FortWeaponItemDefinition.cpp" />
|
||||||
<ClCompile Include="FortWeaponRangedMountedCannon.cpp" />
|
<ClCompile Include="FortWeaponRangedMountedCannon.cpp" />
|
||||||
@@ -386,6 +387,7 @@
|
|||||||
<ClInclude Include="FortQuickBars.h" />
|
<ClInclude Include="FortQuickBars.h" />
|
||||||
<ClInclude Include="FortResourceItemDefinition.h" />
|
<ClInclude Include="FortResourceItemDefinition.h" />
|
||||||
<ClInclude Include="FortSafeZoneIndicator.h" />
|
<ClInclude Include="FortSafeZoneIndicator.h" />
|
||||||
|
<ClInclude Include="FortServerBotManagerAthena.h" />
|
||||||
<ClInclude Include="FortVehicleItemDefinition.h" />
|
<ClInclude Include="FortVehicleItemDefinition.h" />
|
||||||
<ClInclude Include="FortVolume.h" />
|
<ClInclude Include="FortVolume.h" />
|
||||||
<ClInclude Include="FortWeapon.h" />
|
<ClInclude Include="FortWeapon.h" />
|
||||||
|
|||||||
@@ -235,9 +235,6 @@
|
|||||||
<ClCompile Include="NetConnection.cpp">
|
<ClCompile Include="NetConnection.cpp">
|
||||||
<Filter>Engine\Source\Runtime\Engine\Private</Filter>
|
<Filter>Engine\Source\Runtime\Engine\Private</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="dllmain.cpp">
|
|
||||||
<Filter>Reboot\Public</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="SavePackage.cpp">
|
<ClCompile Include="SavePackage.cpp">
|
||||||
<Filter>Engine\Source\Runtime\CoreUObject\Private</Filter>
|
<Filter>Engine\Source\Runtime\CoreUObject\Private</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -304,6 +301,10 @@
|
|||||||
<ClCompile Include="extra.cpp">
|
<ClCompile Include="extra.cpp">
|
||||||
<Filter>Reboot\Private</Filter>
|
<Filter>Reboot\Private</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="dllmain.cpp" />
|
||||||
|
<ClCompile Include="FortServerBotManagerAthena.cpp">
|
||||||
|
<Filter>FortniteGame\Source\FortniteGame\Private\AI</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="log.h" />
|
<ClInclude Include="log.h" />
|
||||||
@@ -974,6 +975,9 @@
|
|||||||
<ClInclude Include="FortAthenaAISpawnerDataComponent_CosmeticLoadout.h">
|
<ClInclude Include="FortAthenaAISpawnerDataComponent_CosmeticLoadout.h">
|
||||||
<Filter>FortniteGame\Source\FortniteGame\Public\AI</Filter>
|
<Filter>FortniteGame\Source\FortniteGame\Public\AI</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="FortServerBotManagerAthena.h">
|
||||||
|
<Filter>FortniteGame\Source\FortniteGame\Public\AI</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="Engine">
|
<Filter Include="Engine">
|
||||||
@@ -1243,6 +1247,9 @@
|
|||||||
<Filter Include="FortniteGame\Source\FortniteGame\Public\Stats">
|
<Filter Include="FortniteGame\Source\FortniteGame\Public\Stats">
|
||||||
<UniqueIdentifier>{3c8e3f87-8a4c-4220-b952-39b0e0315e85}</UniqueIdentifier>
|
<UniqueIdentifier>{3c8e3f87-8a4c-4220-b952-39b0e0315e85}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="FortniteGame\Source\FortniteGame\Private\AI">
|
||||||
|
<UniqueIdentifier>{4aadfbef-7320-4457-9f5c-e5fd53b97367}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="UnrealEngine.cpp">
|
<None Include="UnrealEngine.cpp">
|
||||||
|
|||||||
@@ -611,12 +611,11 @@ std::vector<uint64> Addresses::GetFunctionsToNull()
|
|||||||
toNull.push_back(Memcury::Scanner::FindStringRef(L"Widget Class %s - Running Initialize On Archetype, %s.").ScanFor({ 0x40, 0x55 }, false).Get()); // Widget class
|
toNull.push_back(Memcury::Scanner::FindStringRef(L"Widget Class %s - Running Initialize On Archetype, %s.").ScanFor({ 0x40, 0x55 }, false).Get()); // Widget class
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Engine_Version == 422
|
if (Engine_Version >= 422
|
||||||
|| Engine_Version == 423
|
&& Fortnite_Version <= 12.00 // guessed
|
||||||
|| Engine_Version == 424 // guessed
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// This sig is valid on 7.40, 8.51, 11.31 (3 refs), but on 12.41 it has 1 ref which isn't widget class
|
// This sig is valid on 7.40, 8.51, 11.31 (3 refs), but on 12.41 it has 1 ref which isn't widget class (12.00 is right).
|
||||||
// Also this isn't the actual function but something the widget class thing calls
|
// Also this isn't the actual function but something the widget class thing calls
|
||||||
toNull.push_back(Memcury::Scanner::FindPattern("48 89 5C 24 ? 57 48 83 EC 30 48 8B 41 28 48 8B DA 48 8B F9 48 85 C0 74 34 48 8B 4B 08 48 8D").Get()); // widget class
|
toNull.push_back(Memcury::Scanner::FindPattern("48 89 5C 24 ? 57 48 83 EC 30 48 8B 41 28 48 8B DA 48 8B F9 48 85 C0 74 34 48 8B 4B 08 48 8D").Get()); // widget class
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
#include "FortAthenaVehicleSpawner.h"
|
#include "FortAthenaVehicleSpawner.h"
|
||||||
#include "FortGameSessionDedicatedAthena.h"
|
#include "FortGameSessionDedicatedAthena.h"
|
||||||
#include "FortAIEncounterInfo.h"
|
#include "FortAIEncounterInfo.h"
|
||||||
|
#include "FortServerBotManagerAthena.h"
|
||||||
|
|
||||||
enum class EMeshNetworkNodeType : uint8_t
|
enum class EMeshNetworkNodeType : uint8_t
|
||||||
{
|
{
|
||||||
@@ -874,7 +875,7 @@ DWORD WINAPI Main(LPVOID)
|
|||||||
static auto FortOctopusVehicleDefault = FindObject<AFortOctopusVehicle>(L"/Script/FortniteGame.Default__FortOctopusVehicle");
|
static auto FortOctopusVehicleDefault = FindObject<AFortOctopusVehicle>(L"/Script/FortniteGame.Default__FortOctopusVehicle");
|
||||||
static auto FortPlayerControllerAthenaDefault = FindObject<AFortPlayerControllerAthena>(L"/Script/FortniteGame.Default__FortPlayerControllerAthena"); // FindObject<UClass>(L"/Game/Athena/Athena_PlayerController.Default__Athena_PlayerController_C");
|
static auto FortPlayerControllerAthenaDefault = FindObject<AFortPlayerControllerAthena>(L"/Script/FortniteGame.Default__FortPlayerControllerAthena"); // FindObject<UClass>(L"/Game/Athena/Athena_PlayerController.Default__Athena_PlayerController_C");
|
||||||
|
|
||||||
if (Fortnite_Version >= 20)
|
if (Fortnite_Version >= 20 || Fortnite_Version == 12.00)
|
||||||
ApplyNullAndRetTrues();
|
ApplyNullAndRetTrues();
|
||||||
|
|
||||||
// UKismetSystemLibrary::ExecuteConsoleCommand(GetWorld(), L"log LogNetPackageMap VeryVerbose", nullptr);
|
// UKismetSystemLibrary::ExecuteConsoleCommand(GetWorld(), L"log LogNetPackageMap VeryVerbose", nullptr);
|
||||||
@@ -964,10 +965,16 @@ DWORD WINAPI Main(LPVOID)
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (Fortnite_Version >= 16 && Fortnite_Version < 19)
|
||||||
|
{
|
||||||
|
// Bus crash (only needed if we are calling StartAircraftPhase on seperate thread I THINK) (sometimes)
|
||||||
|
Hooking::MinHook::Hook(Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 6C 24 ? 56 57 41 54 41 56 41 57 48 83 EC 40 48 8B 59 28 45 33 E4").GetAs<PVOID>(), (PVOID)EmptyHook); // also on 16.50
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if (Fortnite_Version == 17.30) // Rift Tour stuff
|
if (Fortnite_Version == 17.30) // Rift Tour stuff
|
||||||
{
|
{
|
||||||
auto busCrash = Hooking::MinHook::Hook(Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 6C 24 ? 56 57 41 54 41 56 41 57 48 83 EC 40 48 8B 59 28 45 33 E4").GetAs<PVOID>(), (PVOID)EmptyHook);
|
|
||||||
|
|
||||||
Hooking::MinHook::Hook((PVOID)(__int64(GetModuleHandleW(0)) + 0x3E07910), (PVOID)GetMeshNetworkNodeTypeHook, nullptr);
|
Hooking::MinHook::Hook((PVOID)(__int64(GetModuleHandleW(0)) + 0x3E07910), (PVOID)GetMeshNetworkNodeTypeHook, nullptr);
|
||||||
Hooking::MinHook::Hook((PVOID)(__int64(GetModuleHandleW(0)) + 0x3DED158), (PVOID)ReturnTrueHook, nullptr); // 7FF7E556D158
|
Hooking::MinHook::Hook((PVOID)(__int64(GetModuleHandleW(0)) + 0x3DED158), (PVOID)ReturnTrueHook, nullptr); // 7FF7E556D158
|
||||||
Hooking::MinHook::Hook((PVOID)(__int64(GetModuleHandleW(0)) + 0x3DECFC8), (PVOID)ReturnTrueHook, nullptr); // 7FF7E556CFC8
|
Hooking::MinHook::Hook((PVOID)(__int64(GetModuleHandleW(0)) + 0x3DECFC8), (PVOID)ReturnTrueHook, nullptr); // 7FF7E556CFC8
|
||||||
@@ -1025,7 +1032,7 @@ DWORD WINAPI Main(LPVOID)
|
|||||||
|
|
||||||
LOG_INFO(LogDev, "Switch levels.");
|
LOG_INFO(LogDev, "Switch levels.");
|
||||||
|
|
||||||
if (Fortnite_Version < 20)
|
if (Fortnite_Version < 20 && Fortnite_Version != 12)
|
||||||
ApplyNullAndRetTrues();
|
ApplyNullAndRetTrues();
|
||||||
|
|
||||||
if (Fortnite_Version != 22.4)
|
if (Fortnite_Version != 22.4)
|
||||||
@@ -1098,6 +1105,9 @@ DWORD WINAPI Main(LPVOID)
|
|||||||
(PVOID*)&AFortGameModeAthena::OnAircraftEnteredDropZoneOriginal, false, false, true, true);
|
(PVOID*)&AFortGameModeAthena::OnAircraftEnteredDropZoneOriginal, false, false, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Hooking::MinHook::Hook(FindObject<UFortServerBotManagerAthena>(L"/Script/FortniteGame.Default__FortServerBotManagerAthena"), FindObject<UFunction>(L"/Script/FortniteGame.FortServerBotManagerAthena.SpawnBot"),
|
||||||
|
// UFortServerBotManagerAthena::SpawnBotHook, (PVOID*)&UFortServerBotManagerAthena::SpawnBotOriginal, false);
|
||||||
|
|
||||||
Hooking::MinHook::Hook(GameModeDefault, FindObject<UFunction>(L"/Script/Engine.GameModeBase.SpawnDefaultPawnFor"),
|
Hooking::MinHook::Hook(GameModeDefault, FindObject<UFunction>(L"/Script/Engine.GameModeBase.SpawnDefaultPawnFor"),
|
||||||
AGameModeBase::SpawnDefaultPawnForHook, nullptr, false);
|
AGameModeBase::SpawnDefaultPawnForHook, nullptr, false);
|
||||||
// Hooking::MinHook::Hook(GameModeDefault, FindObject<UFunction>(L"/Script/Engine.GameModeBase.PlayerCanRestart"),
|
// Hooking::MinHook::Hook(GameModeDefault, FindObject<UFunction>(L"/Script/Engine.GameModeBase.PlayerCanRestart"),
|
||||||
|
|||||||
@@ -801,8 +801,9 @@ static inline void MainUI()
|
|||||||
if (!bStartedBus)
|
if (!bStartedBus)
|
||||||
{
|
{
|
||||||
if (Globals::bLateGame.load()
|
if (Globals::bLateGame.load()
|
||||||
|| Fortnite_Version >= 11 // Its been a minute but iirc it just wouldnt start when countdown ended or crash? cant remember
|
|| (Fortnite_Version >= 11 // Its been a minute but iirc it just wouldnt start when countdown ended or crash? cant remember
|
||||||
)
|
&& false
|
||||||
|
))
|
||||||
{
|
{
|
||||||
if (ImGui::Button("Start Bus"))
|
if (ImGui::Button("Start Bus"))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user