Add god mode cheat
This commit is contained in:
@@ -37,6 +37,7 @@ static bool g_CA_fix_enabled = false;
|
||||
static bool g_Vignetting_fix_enabled = false;
|
||||
static bool g_Fog_fix_enabled = false;
|
||||
static bool g_TimeDilation_fix_enabled = false;
|
||||
static bool g_GodMide_fix_enabled = false;
|
||||
static bool g_Stealth_fix_enabled = false;
|
||||
static int g_AdditionalFOVValue = 0;
|
||||
static float g_CameraMultiplier = 1.f;
|
||||
@@ -156,6 +157,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init) {
|
||||
}
|
||||
if (!init && WorldTimedilationaddress) {
|
||||
EnableCheats(Cheat::TimeDilation);
|
||||
EnableCheats(Cheat::GodMode);
|
||||
EnableCheats(Cheat::Stealth);
|
||||
}
|
||||
ProcessEvent();
|
||||
@@ -173,6 +175,7 @@ extern "C" __declspec(dllexport) void SetFixesEnabled(GameFixes fix, bool enable
|
||||
if (fix == GameFixes::Fog) { g_Fog_fix_enabled = enabled; FogFixEnabled(); }
|
||||
if (fix == GameFixes::HUD) { g_HUD_fix_enabled = enabled; HUDFixEnabled(); LogHUD(); }
|
||||
if (fix == GameFixes::TimeDilation) { g_TimeDilation_fix_enabled = enabled; EnableCheats(Cheat::TimeDilation); }
|
||||
if (fix == GameFixes::GodMode) { g_GodMide_fix_enabled = enabled; EnableCheats(Cheat::GodMode); }
|
||||
if (fix == GameFixes::Stealth) { g_Stealth_fix_enabled = enabled; EnableCheats(Cheat::Stealth); }
|
||||
}
|
||||
|
||||
@@ -323,11 +326,15 @@ static void EnableCheats(Cheat cheat) {
|
||||
if (now - lastScanTick < DEFAULT_ACTORS_SCAN_BETWEEN_TICKS) return;
|
||||
lastScanTick = now;
|
||||
|
||||
if (object->IsA(ABiped_Player::StaticClass())) {
|
||||
ABiped_Player* bipedPlayer = static_cast<ABiped_Player*>(object);
|
||||
if (bipedPlayer && bipedPlayer->Controller && bipedPlayer->Controller->IsA(APlayerController::StaticClass()))
|
||||
if (g_GodMide_fix_enabled) bipedPlayer->RestoreHealth();
|
||||
}
|
||||
if (!object->IsA(AEnemy_Character::StaticClass())) return;
|
||||
|
||||
AEnemy_Character* enemy = static_cast<AEnemy_Character*>(object);
|
||||
if (!enemy || !enemy->Class) return;
|
||||
|
||||
enemy->CustomTimeDilation = g_TimeDilation_fix_enabled ? g_AITimeDilationValue : 1.f; // Enemy time dilation
|
||||
if (enemy->EnemyAIComponent && enemy->EnemyAIComponent->IsA(UEnemyAIComponent::StaticClass()))
|
||||
enemy->EnemyAIComponent->EnablePerception(!g_Stealth_fix_enabled); // Stealth mode
|
||||
@@ -335,6 +342,7 @@ static void EnableCheats(Cheat cheat) {
|
||||
}
|
||||
|
||||
if (cheat == Cheat::TimeDilation) logger->info("Time dilation cheat {}", g_TimeDilation_fix_enabled ? "enabled" : "disabled");
|
||||
if (cheat == Cheat::GodMode) logger->info("God mode cheat {}", g_GodMide_fix_enabled ? "enabled" : "disabled");
|
||||
if (cheat == Cheat::Stealth) logger->info("Stealth cheat {}", g_Stealth_fix_enabled ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user