From 3511329eea90dd1d30703cbb919742ee5501f099 Mon Sep 17 00:00:00 2001 From: NightFyre <80198020+xCENTx@users.noreply.github.com> Date: Tue, 30 Jan 2024 08:33:46 -0500 Subject: [PATCH] SetPlayerHealth --- feature.cpp | 32 ++++++++++++++++++++++++++++---- feature.h | 2 ++ src/Menu.cpp | 3 ++- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/feature.cpp b/feature.cpp index 571e3d7..2e11d07 100644 --- a/feature.cpp +++ b/feature.cpp @@ -311,6 +311,24 @@ void RespawnLocalPlayer(bool bIsSafe) bIsSafe ? pPalPlayerController->TeleportToSafePoint_ToServer() : pPalPlayerState->RequestRespawn(); } +void SetPlayerHealth(__int32 newHealth) +{ + APalPlayerCharacter* pPalPlayerCharacter = Config.GetPalPlayerCharacter(); + if (!pPalPlayerCharacter) + return; + + UPalCharacterParameterComponent* pParams = pPalPlayerCharacter->CharacterParameterComponent; + if (!pParams) + return; + + FFixedPoint64 maxHP = pParams->GetMaxHP(); + if (newHealth > maxHP.Value) + newHealth = maxHP.Value; + + FFixedPoint newHealthPoint = FFixedPoint(newHealth); + pPalPlayerCharacter->ReviveCharacter_ToServer(newHealthPoint); +} + // void ReviveLocalPlayer() { @@ -318,10 +336,16 @@ void ReviveLocalPlayer() if (!pPalPlayerCharacter) return; - FFixedPoint newHealthPoint = FFixedPoint(99999999); - if (Config.GetPalPlayerCharacter()->CharacterParameterComponent->IsDying()) - Config.GetPalPlayerCharacter()->CharacterParameterComponent->ReviveFromDying(); - pPalPlayerCharacter->ReviveCharacter_ToServer(newHealthPoint); + UPalCharacterParameterComponent* pParams = pPalPlayerCharacter->CharacterParameterComponent; + if (!pParams) + return; + + if (pParams->IsDying()) + pParams->ReviveFromDying(); + + FFixedPoint64 maxHP = pParams->GetMaxHP(); + FFixedPoint newHealth = FFixedPoint(maxHP.Value); + pPalPlayerCharacter->ReviveCharacter_ToServer(newHealth); } // diff --git a/feature.h b/feature.h index fdf8fa3..f48d474 100644 --- a/feature.h +++ b/feature.h @@ -29,6 +29,8 @@ void SetDemiGodMode(bool bIsSet); void RespawnLocalPlayer(bool bIsSafe); +void SetPlayerHealth(__int32 newHealth); + void ReviveLocalPlayer(); void ResetStamina(); diff --git a/src/Menu.cpp b/src/Menu.cpp index 5e4a0cb..84e746a 100644 --- a/src/Menu.cpp +++ b/src/Menu.cpp @@ -783,10 +783,11 @@ namespace DX11_Base if (Config.IsDeathAura) DeathAura(Config.mDeathAuraAmount, Config.mDeathAuraDistance, true); + // // SetDemiGodMode(Config.IsMuteki); if (Config.IsGodMode) - ReviveLocalPlayer(); + SetPlayerHealth(INT_MAX); } } \ No newline at end of file