From 9277dabf4903119c740ade7f60de97d8f973c199 Mon Sep 17 00:00:00 2001 From: Syphon <144607268+Syphonfr@users.noreply.github.com> Date: Wed, 21 May 2025 22:57:34 -0500 Subject: [PATCH 1/3] fixed rifts on high versions (scuffed) --- Project Reboot 3.0/FortPlayerPawnAthena.cpp | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Project Reboot 3.0/FortPlayerPawnAthena.cpp b/Project Reboot 3.0/FortPlayerPawnAthena.cpp index 8864bd0..dae73df 100644 --- a/Project Reboot 3.0/FortPlayerPawnAthena.cpp +++ b/Project Reboot 3.0/FortPlayerPawnAthena.cpp @@ -51,5 +51,27 @@ void AFortPlayerPawnAthena::OnCapsuleBeginOverlapHook(UObject* Context, FFrame* } } + if (OtherActor && OtherActor->GetName().contains("Rift") && Fortnite_Version >= 17) + { + Pawn->TeleportTo(Pawn->GetActorLocation() + FVector(0, 0, 20000), Pawn->GetActorRotation()); + + UAbilitySystemComponent* AbilitySystemComponent = ((AFortPlayerStateAthena*)Pawn->GetPlayerState())->GetAbilitySystemComponent(); + if (!AbilitySystemComponent) return; + + UClass* RiftAbility = FindObject(L"/Game/Athena/Items/ForagedItems/Rift/GA_Rift_Athena_Skydive.GA_Rift_Athena_Skydive_C"); + if (!RiftAbility) return; + + FGameplayAbilitySpec* Spec = MakeNewSpec(RiftAbility); + if (!Spec) return; + + static unsigned int* (*GiveAbilityAndActivateOnce)(UAbilitySystemComponent * ASC, int* outHandle, __int64 Spec, FGameplayEventData * TriggerEventData) = decltype(GiveAbilityAndActivateOnce)(Addresses::GiveAbilityAndActivateOnce); + + if (GiveAbilityAndActivateOnce) + { + int outHandle = 0; + GiveAbilityAndActivateOnce(AbilitySystemComponent, &outHandle, __int64(Spec), nullptr); + } + } + // return OnCapsuleBeginOverlapOriginal(Context, Stack, Ret); // we love explicit } \ No newline at end of file From 2fdf8925780d032d2ff14f4733cf473c039b9ef7 Mon Sep 17 00:00:00 2001 From: Syphon <144607268+Syphonfr@users.noreply.github.com> Date: Wed, 21 May 2025 22:58:35 -0500 Subject: [PATCH 2/3] whoops --- Project Reboot 3.0/FortPlayerPawnAthena.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project Reboot 3.0/FortPlayerPawnAthena.cpp b/Project Reboot 3.0/FortPlayerPawnAthena.cpp index dae73df..4626167 100644 --- a/Project Reboot 3.0/FortPlayerPawnAthena.cpp +++ b/Project Reboot 3.0/FortPlayerPawnAthena.cpp @@ -58,7 +58,7 @@ void AFortPlayerPawnAthena::OnCapsuleBeginOverlapHook(UObject* Context, FFrame* UAbilitySystemComponent* AbilitySystemComponent = ((AFortPlayerStateAthena*)Pawn->GetPlayerState())->GetAbilitySystemComponent(); if (!AbilitySystemComponent) return; - UClass* RiftAbility = FindObject(L"/Game/Athena/Items/ForagedItems/Rift/GA_Rift_Athena_Skydive.GA_Rift_Athena_Skydive_C"); + static UClass* RiftAbility = FindObject(L"/Game/Athena/Items/ForagedItems/Rift/GA_Rift_Athena_Skydive.GA_Rift_Athena_Skydive_C"); if (!RiftAbility) return; FGameplayAbilitySpec* Spec = MakeNewSpec(RiftAbility); From 27e15bca56afa1bec566caeac8d25d3676a72b94 Mon Sep 17 00:00:00 2001 From: Syphon <144607268+Syphonfr@users.noreply.github.com> Date: Wed, 21 May 2025 23:23:08 -0500 Subject: [PATCH 3/3] fricken milnor --- Project Reboot 3.0/FortPlayerPawnAthena.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project Reboot 3.0/FortPlayerPawnAthena.cpp b/Project Reboot 3.0/FortPlayerPawnAthena.cpp index 4626167..dae73df 100644 --- a/Project Reboot 3.0/FortPlayerPawnAthena.cpp +++ b/Project Reboot 3.0/FortPlayerPawnAthena.cpp @@ -58,7 +58,7 @@ void AFortPlayerPawnAthena::OnCapsuleBeginOverlapHook(UObject* Context, FFrame* UAbilitySystemComponent* AbilitySystemComponent = ((AFortPlayerStateAthena*)Pawn->GetPlayerState())->GetAbilitySystemComponent(); if (!AbilitySystemComponent) return; - static UClass* RiftAbility = FindObject(L"/Game/Athena/Items/ForagedItems/Rift/GA_Rift_Athena_Skydive.GA_Rift_Athena_Skydive_C"); + UClass* RiftAbility = FindObject(L"/Game/Athena/Items/ForagedItems/Rift/GA_Rift_Athena_Skydive.GA_Rift_Athena_Skydive_C"); if (!RiftAbility) return; FGameplayAbilitySpec* Spec = MakeNewSpec(RiftAbility);