Add god mode cheat

This commit is contained in:
2026-02-03 18:26:19 +01:00
parent 5e1c28e931
commit 0779c53c1a

View File

@@ -37,6 +37,7 @@ static bool g_CA_fix_enabled = false;
static bool g_Vignetting_fix_enabled = false; static bool g_Vignetting_fix_enabled = false;
static bool g_Fog_fix_enabled = false; static bool g_Fog_fix_enabled = false;
static bool g_TimeDilation_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 bool g_Stealth_fix_enabled = false;
static int g_AdditionalFOVValue = 0; static int g_AdditionalFOVValue = 0;
static float g_CameraMultiplier = 1.f; static float g_CameraMultiplier = 1.f;
@@ -156,6 +157,7 @@ extern "C" __declspec(dllexport) void SetFixEnabled(bool enabled, bool init) {
} }
if (!init && WorldTimedilationaddress) { if (!init && WorldTimedilationaddress) {
EnableCheats(Cheat::TimeDilation); EnableCheats(Cheat::TimeDilation);
EnableCheats(Cheat::GodMode);
EnableCheats(Cheat::Stealth); EnableCheats(Cheat::Stealth);
} }
ProcessEvent(); 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::Fog) { g_Fog_fix_enabled = enabled; FogFixEnabled(); }
if (fix == GameFixes::HUD) { g_HUD_fix_enabled = enabled; HUDFixEnabled(); LogHUD(); } 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::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); } 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; if (now - lastScanTick < DEFAULT_ACTORS_SCAN_BETWEEN_TICKS) return;
lastScanTick = now; 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; if (!object->IsA(AEnemy_Character::StaticClass())) return;
AEnemy_Character* enemy = static_cast<AEnemy_Character*>(object); AEnemy_Character* enemy = static_cast<AEnemy_Character*>(object);
if (!enemy || !enemy->Class) return; if (!enemy || !enemy->Class) return;
enemy->CustomTimeDilation = g_TimeDilation_fix_enabled ? g_AITimeDilationValue : 1.f; // Enemy time dilation enemy->CustomTimeDilation = g_TimeDilation_fix_enabled ? g_AITimeDilationValue : 1.f; // Enemy time dilation
if (enemy->EnemyAIComponent && enemy->EnemyAIComponent->IsA(UEnemyAIComponent::StaticClass())) if (enemy->EnemyAIComponent && enemy->EnemyAIComponent->IsA(UEnemyAIComponent::StaticClass()))
enemy->EnemyAIComponent->EnablePerception(!g_Stealth_fix_enabled); // Stealth mode 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::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"); if (cheat == Cheat::Stealth) logger->info("Stealth cheat {}", g_Stealth_fix_enabled ? "enabled" : "disabled");
} }