Cheating

Important note
This page, as stated below, has to do with cheating in the game through use of third-party programs to manipulate data in the game. Keep in mind that any issues encountered after cheating might not be legitimate "bugs" in the game, so please consider that before submitting such reports to the developer, and mention your cheating if you do. She doesn't mind cheating, but she does mind bug reports that turn out to be your fault for cheating.

Also note that if you must cheat, save editors work better than Cheat Engine for most purposes, and you will be less likely to accidentally change things you didn't mean to.

Game's reaction
In some cases the game will notice that you have cheated and react to it:
 * You may miss the Incubus King armor from the Deep Cache, if Simon's level is 40 or greater, or the party's Sx is 100,000 or greater - though you miss it anyway if you don't get it on the first trip through Devil's Pass.
 * Dialogue from the old man in Ari-Yhilina Outskirts about whether you are doing well will be different.
 * If you try to get an investment that requires an impossible amount of ProN, the game creator will encourage you not to cheat at this part ("Think of the economic stuff as part of the plot!")
 * If you defeat the Rodak Elite during the Trials of Orcish Strength, the hidden Orcent Fights variable is reset to 0. This has the effect of lowering your prize money to 900 Sx, which is 1100 Sx less than if you had lost to the Elite.
 * During the Erosian crisis, there's a fight in the Tower of Tak-Kan which Orcent joins if it reaches the third turn, granting him an eyepatch upgrade. Finishing the fight before that point skips the upgrade.
 * During confrontation with Fucklord during the Erosian crisis if Simon's level is 61 or higher you don't get any bonus to a hidden variable determining outcome of the battle.
 * If you complete the Tower Delving, Magical Constructs, or Demonic Research before it's legitimately possible, you won't get their "in progress" bonuses during the Erosian war.
 * If you defeat the Fucklord on the Erosian Mountaintop, without giving him a round to complain after losing 25% HP, you won't get the [FL Battle Injury] bonus.
 * If you defeat the Fucklord in the Zirantia Palace, you'll lose -1 Erosian Front, -1 Tower Front, -1 Ghenalese Front, and you won't get the [Fucklord Endured] bonus.
 * If you defeat the Fucklord in Fucklord's Tower, without giving him a round to say "..." and end the fight automatically, you won't get the [FL Injury 2] bonus.
 * If you complete the Anak's event during the Second Gathering in 10 seconds or less (impossible without cheating), Xerces will comment that you were suspiciously fast. This adversely affects your race score, since he does not approve of disturbing the balance via reality manipulation.

Story mode mod
Before you download and use this, read the following information. This mod is intended for when the user does not wish to dedicate the amount of time and thought to combat that the developer intended. It will allow the player to instantly win almost any battle they choose. The mod works as follows:
 * 1) All basic/small Health Potions will be replaced by Scepters . The first opportunity to get these is in the chest during the Prologue, and they can be bought at shops that would otherwise be selling the unmodded item.
 * 2) A Scepter can be used in battle, and is not consumed on use. It will defeat all enemies before they can act, unless you are not meant to defeat an enemy or it may be unwise to do so, in which case an appropriate message will display and there may be a different helpful effect. You can also fight the battles normally if you choose, aside from the fact that the single item has been changed.
 * 3) The value of a single Scepter hasn't been changed from 100 Sx, so you can buy/sell them like normal with minimal impact on the economic balance.
 * 4) This mod only edits the data for the Health Potion and one script, which are stored in the game files and not in your save files. Reverting from this mod to the unmodded game will change your whole stack of Scepters into normal health potions, and vice versa. In other words, it's safe to continue your save from this mod in an unmodded game, and safe to continue your save from an unmodded game in this mod.
 * 5) Finally, as a small bonus, item drops are guaranteed.

 Disclaimers: 
 * 1) Using instant-win items bypasses solid, balanced content, such as the battles Sierra Lee has created. Loading your save into this mod will get you past any battles that you're having trouble with, but it might be more satisfying (!) to come out on top in a legitimate way, because the turn-based combat RPG side of things is that coherent in this game. You also won't get the intended dramatic effect of battles.
 * 2) Everything that should be winnable is winnable in the base game. The mooks in an area will teach you the patterns, tactics, and compositions that you'll need to take on the area boss, who in turn often summons the same minions you just learned the weaknesses of. It's fun.
 * 3) This mod does nothing for your ProN, Sx, and EXP gain, which are balanced as they normally are, nor does it allow you to edit variables. The other tools provided on the Cheating page should more than suffice if you choose to go that route. This mod is officially sanctioned by the game's author, but she's not responsible for issues you may encounter while playing a modified version of her game edited by a stranger online.

Current version of this mod only works for release 0.64.3 of TLS and can be downloaded here: Story Mode mod applied to 0.64.3.

Variable names
Can be modified by using RPGMakerSaveEdit (ULMF link, MEGA link (0.6.6), Dropbox link (0.6.10)) or SaveEditOnline (not recommended due to not showing variable names and general lack of features).

Cheat Engine
Warning: Cheat Engine isn't ideal for games using the RPG Maker engine, such as The Last Sovereign. Memory addresses may shift around, even within a single game session. If you want to use this method, just narrow down values until you're sure you have the right address and then change them immediately; don't try to freeze them at that value.

A quick and simple guide to cheating in RPG Maker Games without having to do the math yourself, even though it's just (value*2)+1.

Using Cheat Engine
There's actually an easy way to use Cheat Engine with RPG Maker games... a script you use to make it search correctly for those games alone so you don't have to use binary and get millions of hits.

Games with RPG VX Ace or normal VX. People often tell you to search for (value*2)+1. So if you're looking for 123 gold that you want to change, search for 247. But if you wish to use this custom type (so you don't have to do that *2 stuff) then do the following:


 * 1) Start Cheat Engine.
 * 2) Open any process.
 * 3) Right-click the "value type" dropdown menu box.
 * 4) Click "define new custom type (Auto Assembler)".
 * 5) Delete and replace the existing script with the script posted here.
 * 6) Click OK.
 * 7) You can now search for the values as they appear! No need to double and add one or anything like that.

Note: I save this as RPG VX type, and it will open with Cheat Engine forever after as another type option. Easy-peasy. Have fun cheating RPGMaker games everyone!

The script
alloc(TypeName,256) alloc(ByteSize,4) alloc(PreferedAlignment, 4) alloc(ConvertRoutine,1024) alloc(ConvertBackRoutine,1024)

TypeName: db 'RPG VX type',0

ByteSize: dd 4

PreferedAlignment: dd 1

//The convert routine should hold a routine that converts the data to an nteger (in eax) //function declared as: stdcall int ConvertRoutine(unsigned char *input);

//Note: Keep in mind that this routine can be called by multiple threads at the same time.

ConvertRoutine: [32-bit] push ebp mov ebp,esp push ecx mov ecx,[ebp+8] [/32-bit]

//at this point ecx contains the address where the bytes are stored

//put the bytes into the eax register mov eax,[ecx] //second fun fact, addressing with 32-bit registers doesn't work in 64-bit, it becomes a 64-bit automatically (most of the time) shr eax,1 //shift right by 1 bit (divide by 2)

//and now exit the routine [64-bit] ret [/64-bit] [32-bit] pop ecx pop ebp ret 4 [/32-bit]

//The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value) //function declared as: stdcall void ConvertBackRoutine(int i, unsigned char *output); ConvertBackRoutine: [32-bit] push ebp mov ebp,esp push edx //save the registers push ecx mov edx,[ebp+0c] mov ecx,[ebp+08] [/32-bit]

//at this point edx contains the address to write the value to //and ecx contains the value

push eax push edx

mov edx,[edx] //edx now contains the original value and edx,1 //only save the first bit

mov eax,ecx //eax gets the user input value shl eax,1 //shift left by 1 bit (multiply by 2) or eax,edx //add the bits of the original value

pop edx mov [edx],eax //write the new value into the old value pop eax

[64-bit] //everything is back to what it was, so exit ret [/64-bit]

[32-bit] //cleanup first pop ecx pop edx pop ebp ret 8 [/32-bit]