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_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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user