Notifications
General

Vae Victis Khan Cheats: Ren'Py Console Commands, Stats, and Territory Editing

Vae Victis Khan Cheats

Vae Victis Khan runs on the Ren'Py visual novel engine, which leaves its entire game state exposed through a built-in developer console. The developer, DoorKnob22, did not strip this functionality from the release build. With a single keyboard shortcut, players can rewrite the protagonist's combat stats, manipulate resources, adjust territory loyalty, and even wipe the achievement slate clean. No third-party tools are required for the basics, though Cheat Engine tables exist for players who prefer a graphical interface.

This guide covers the console activation process, every verified variable, the achievement reset command, and where the save files hide.

How to Open the Console

Press Shift + O at any time during gameplay. A command line drops down from the top of the screen. The console accepts raw Python and Ren'Py script statements. Press Shift + O again to close it. On keyboards where the O key requires a function modifier, Fn + Shift + O may be necessary.

If the console does not appear, the game files may have been modified by a third-party patch or the build may be non-standard. The console is hard-coded into Ren'Py and cannot be disabled without editing the engine scripts directly.

Verified Console Variables

All commands use standard Python assignment syntax: $ variable = value. The dollar sign tells Ren'Py to execute the line as Python. Omitting it causes a syntax error. Values are integers unless otherwise noted.

Variable Effect Notes
mcBaseDamage = XX Sets the protagonist's base combat damage Subdue and defensive attacks deal half this value. Aggressive attacks deal double. Setting this above 50 trivializes every fight.
mc_hp = XX Sets current health points Useful for healing mid-battle without consumables.
mc_max_hp = XX Sets maximum health points Does not auto-heal the player to the new cap. Adjust mc_hp separately.
troops = XX Sets current troop count Hard-capped at 10 on Day 0. The cap increases by 20 after claiming Gaunteinguk, and by another 20 after claiming Oryeonguk. Values above the cap are silently clamped.
gold = XX Sets current gold balance Subject to the same territory-based cap as troops.
Gaunteinguk.obedience = XX Sets obedience level for Gaunteinguk territory High values prevent rebellion. Low values trigger unrest events.
Gaunteinguk.morale = XX Sets morale level for Gaunteinguk Affects yield rolls and garrison performance.
Gaunteinguk.garrisonTroops = XX Sets garrison size for Gaunteinguk Higher garrisons reduce raid damage and rebellion chance.
Oryeonguk.obedience = XX Sets obedience level for Oryeonguk territory Same mechanics as Gaunteinguk.
Oryeonguk.morale = XX Sets morale level for Oryeonguk Same mechanics as Gaunteinguk.
Oryeonguk.garrisonTroops = XX Sets garrison size for Oryeonguk Same mechanics as Gaunteinguk.

How to Reset Achievements

Vae Victis Khan tracks achievements across playthroughs via a persistent data file. If a player has existing progress from an older version or wants to re-earn everything from scratch, the console provides a nuclear option.

achievement.Clear_all()

The procedure is simple:

  1. Press Shift + O to open the console.
  2. Type achievement.Clear_all() exactly as shown — capitalization matters.
  3. Press Enter. No confirmation message appears, but the command executes silently.
  4. Exit the game completely and relaunch it.

On restart, the achievement tracker is empty. Steam achievements already unlocked on the profile remain on the Steam account; this command only clears the internal game tally.

Cheat Engine Table

For players who prefer hotkeys over typing commands, the OpenCheatTables community hosts a dedicated Cheat Engine table. It provides memory pointers for live editing of stats, resources, and territory values without opening the console. The table requires Cheat Engine 7.0 or newer and attachment to the game's process.

Because Ren'Py compiles to bytecode, pointer paths are relatively stable between minor patches. However, major version updates — such as the jump from 0.6 to 0.6.9 — can shift memory addresses and render the table non-functional until the community releases a compatibility update. Players should verify their game version against the table's supported build before attempting to use it.

Save File Locations

Ren'Py stores data in two layers: individual save slots and a global persistent file. The persistent file holds achievement progress, unlocked gallery entries, and cheat flags. Individual saves store the current campaign state.

Platform Path
Windows %APPDATA%\RenPy\VaeVictisKhan-[version] or C:\Users\[Username]\AppData\Roaming\RenPy\VaeVictisKhan-[version]
macOS ~/Library/RenPy/VaeVictisKhan-[version]
Linux ~/.renpy/VaeVictisKhan-[version]
Android /sdcard/Android/data/[package]/files/ or Documents/RenPy_Saves/

The folder contains .save files for individual slots and a file named persistent that stores cross-save data. Deleting the persistent file wipes all achievement progress and unlocked gallery content across every save slot. Players should back up the entire folder before experimenting with console commands or file edits.

Honest Warnings

  • Back up the persistent file before using achievement.Clear_all(). The command has no undo. Once the internal tally is wiped, the only recovery is restoring a backup of the persistent file.
  • Resource caps are hard-coded. Setting troops = 999 on Day 0 does nothing. The game enforces a cap of 10 until Gaunteinguk is claimed, then 30, then 50. The console does not bypass this logic.
  • Combat difficulty scales with base damage. Setting mcBaseDamage to an extreme value can break battle scripts that expect damage to fall within a specific range. If a battle soft-locks after a stat edit, the only fix is loading a pre-cheat save.
  • Console commands are case-sensitive. mcBaseDamage works; mcbasedamage does not. Python throws a NameError and the command fails silently in the console.
  • Android players are limited. The Shift + O console requires a physical keyboard. Most Android builds do not expose the console without rooting and manual file editing.

Frequently Asked Questions

Do console commands disable Steam achievements?

No. The game has no anti-cheat layer. Achievements unlock normally regardless of console use, stat editing, or Cheat Engine. The achievement.Clear_all() command only resets the internal tracker; it does not revoke already-earned Steam achievements.

Can the console unlock all gallery entries?

No dedicated command has been verified for mass gallery unlocking. Individual entries may be accessible by jumping to specific script labels with jump [label_name], but the exact label names are not documented. Community mods are the safer route for players who want to bypass progression requirements.

Why does the troop count not increase after editing?

The cap. The game limits troops and gold based on story progression. Claiming territories raises the cap automatically. The console cannot override this without also editing the territory claim flags, which are not documented in public sources.

Is there a way to edit territory names or add new ones?

Not through the console. Territory definitions are baked into the game scripts. Adding new territories would require decompiling and modifying the Ren'Py source files, which is beyond the scope of standard cheat commands.

Can Cheat Engine edit the persistent file directly?

No. Cheat Engine manipulates live memory values while the game is running. The persistent file is read on startup and written on shutdown. To edit it directly, the player must use a text or hex editor on the file itself while the game is closed.

Bottom Line

Vae Victis Khan leaves its entire state exposed through Ren'Py's native console. A handful of variables control combat, resources, and territory loyalty, while a single command wipes the achievement tracker clean. The resource caps prevent early-game god mode, but mid-game players with multiple territories claimed can rewrite their economy in seconds. Back up the persistent file, respect the caps, and remember that Ren'Py's console accepts full Python — which means a typo can just as easily crash the script as fix it.

Post a Comment