SetPlayerHealth

This commit is contained in:
NightFyre 2024-01-30 08:33:46 -05:00
parent 745598de5f
commit 3511329eea
3 changed files with 32 additions and 5 deletions

View File

@ -311,6 +311,24 @@ void RespawnLocalPlayer(bool bIsSafe)
bIsSafe ? pPalPlayerController->TeleportToSafePoint_ToServer() : pPalPlayerState->RequestRespawn(); 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() void ReviveLocalPlayer()
{ {
@ -318,10 +336,16 @@ void ReviveLocalPlayer()
if (!pPalPlayerCharacter) if (!pPalPlayerCharacter)
return; return;
FFixedPoint newHealthPoint = FFixedPoint(99999999); UPalCharacterParameterComponent* pParams = pPalPlayerCharacter->CharacterParameterComponent;
if (Config.GetPalPlayerCharacter()->CharacterParameterComponent->IsDying()) if (!pParams)
Config.GetPalPlayerCharacter()->CharacterParameterComponent->ReviveFromDying(); return;
pPalPlayerCharacter->ReviveCharacter_ToServer(newHealthPoint);
if (pParams->IsDying())
pParams->ReviveFromDying();
FFixedPoint64 maxHP = pParams->GetMaxHP();
FFixedPoint newHealth = FFixedPoint(maxHP.Value);
pPalPlayerCharacter->ReviveCharacter_ToServer(newHealth);
} }
// //

View File

@ -29,6 +29,8 @@ void SetDemiGodMode(bool bIsSet);
void RespawnLocalPlayer(bool bIsSafe); void RespawnLocalPlayer(bool bIsSafe);
void SetPlayerHealth(__int32 newHealth);
void ReviveLocalPlayer(); void ReviveLocalPlayer();
void ResetStamina(); void ResetStamina();

View File

@ -783,10 +783,11 @@ namespace DX11_Base
if (Config.IsDeathAura) if (Config.IsDeathAura)
DeathAura(Config.mDeathAuraAmount, Config.mDeathAuraDistance, true); DeathAura(Config.mDeathAuraAmount, Config.mDeathAuraDistance, true);
// //
// SetDemiGodMode(Config.IsMuteki); // SetDemiGodMode(Config.IsMuteki);
if (Config.IsGodMode) if (Config.IsGodMode)
ReviveLocalPlayer(); SetPlayerHealth(INT_MAX);
} }
} }