For the people who want 'damage multipliers' , technically it should be possible to set the amount of Strength+ (bonus stat from consuming STR Elixirs) to very high. Haven't tested it myself yet, will try it in a bit. But you should also be able to turn this off again by simply resetting that stat to 0.
How to use this cheat table?
Install Cheat Engine
Double-click the .CT file in order to open it.
Click the PC icon in Cheat Engine in order to select the game process.
Keep the list.
Activate the trainer options by checking boxes or setting values from 0 to 1
- Add pointer for bIsClearGame which you can set,then save to unlock New Game+
- Add pointers for Char class, level , so you can play with it & unlock 4th class even though you're not in New Game+
I figured out the seed mechanic, each time you get legit seed, the game will add a few items into the pools...
So, if you want other items from planting modified seed, you have to modify the pools eg; add your own items into the pools.
The pools are not few, though ,so, why bother unless you're so passion about it lol... -Add a few pointers to the pools
Welp, Enjoy..
How class level and class number works?
I want use tier 4 classe early game
i would like to check,
when adding the seeds via the obtain all items(except key items), when you plant those seeds, it will show error item.
Any ways to fix that?
how do u get level changes to actually fully reflect? i was experimenting w/ tryin to lower my lvl so i could do a "proper (to me)" NG+ later but lowering it just seems to be visual and it still retains my current lvl's stats and such.
or is it only possible to use it to increase ur lvl
Change the level AND exp and then change the area youre in, im not sure if you dont have to freeze the new values as well. The game will automatically update the stats once you get to a loading screen.
When the seeds are actually planted it gives you a random item. This CAN be manipulated by reloading your save. I reloaded my save 3 times before using 20, and every time they were different items. I never had the same cycle of items.
HOWEVER, it is indeed determined whether you get an item at all or not depends on if the Item Seed was obtained legit.
Any Seed that was added via editing values with the table will just give Candies/Bracelet only.
[Edit] After multiple reloading, I actually managed to get a copy of a cycled set of items on my 2nd 10x batch. It's almost if you have item slots for the seeds. Regular rarity, Rare (Accessories, temporary drop buffs?), and Very Rare? (Very Rare being the stat boosters I guess).
In the case of the seeds, I wonder if an Infinite Item Usage cheat would solve the problem? If so, I hereby request it.
You'd still have to figure out how to bypass that annoying check. Unfortunately it doesn't seem to just be a case of simple Item ID/Address + Quantity only. So setting the values to 99, or preventing item consumption only won't really work here I think. You have to make the game know that you actually picked up said items.
lol LMAO, so there's a check to this thing, fucking hell. I was like ok maybe thats normal when gold seed still giving me candy, but when i spam ??? seeds and it still give me candies, I had to check just to make sure and this confirm it! Dang it. xD
[ENABLE]
{$lua}
tInfCS = createTimer(nil, false)
tInfCS.OnTimer = function(fInfCS)
errorOnLookupFailure = false
if (getAddress("MainBaseAddr") == 0) then
tInfCS.Destroy()
end
local MainAddr = ReadQword(getAddress("MainBaseAddr"))
if (MainAddr ~= nil) then
local Char1Ptr1 = ReadQword(MainAddr + 0x9D50)
if (Char1Ptr1 ~= nil) then
local Char1Ptr2 = ReadQword(Char1Ptr1 + 0x178)
if (Char1Ptr2 ~= nil) then
local NumChars = 6
local CurrentChar = 0
while (CurrentChar < NumChars) do
if (Char1Ptr2 ~= nil) then
local MaxCS = 400
WriteInteger(Char1Ptr2 + (CurrentChar * 0x200) + 0x5C,MaxCS)
end
CurrentChar = CurrentChar + 1
end
end
end
end
end
tInfCS.Interval = 1000
tInfCS.Enabled = true
{$asm}
[DISABLE]
{$lua}
tInfCS.Destroy()
{$asm}
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>5138</ID>
<Description>"Unlock All Costume"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{$STRICT}
{$lua}
if syntaxcheck then return end
[ENABLE]
errorOnLookupFailure = false
if (getAddress("MainBaseAddr") == 0) then
tCostume.Destroy()
end
local MainAddr = ReadQword(getAddress("MainBaseAddr"))
if (MainAddr ~= nil) then
local Char1Ptr1 = ReadQword(MainAddr + 0x9D50)
if (Char1Ptr1 ~= nil) then
local Char1Ptr2 = ReadQword(Char1Ptr1 + 0x178)
if (Char1Ptr2 ~= nil) then
local NumChars = 6
local CurrentChar = 0
while (CurrentChar < NumChars) do
if (Char1Ptr2 ~= nil) then
WriteInteger(Char1Ptr2 + (CurrentChar * 0x200) + 0x1E0,9)
local Char1Ptr3 = ReadQword(Char1Ptr2 + (CurrentChar * 0x200) + 0x1D8)
WriteBytes(Char1Ptr3,1,2,3,4,5,6,7,8,9)
end
CurrentChar = CurrentChar + 1
end
end
end
end
[DISABLE]
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>5139</ID>
<Description>"Unlock All Costume"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{$STRICT}
{$lua}
if syntaxcheck then return end
[ENABLE]
errorOnLookupFailure = false
local Char1Ptr1 = ReadQword('char')
if (Char1Ptr1 ~= nil) then
local Char1Ptr2 = ReadQword(Char1Ptr1 + 0x178)
if (Char1Ptr2 ~= nil) then
local NumChars = 6
local CurrentChar = 0
while (CurrentChar < NumChars) do
if (Char1Ptr2 ~= nil) then
WriteInteger(Char1Ptr2 + (CurrentChar * 0x200) + 0x1E0,9)
local Char1Ptr3 = ReadQword(Char1Ptr2 + (CurrentChar * 0x200) + 0x1D8)
WriteBytes(Char1Ptr3,1,2,3,4,5,6,7,8,9)
end
CurrentChar = CurrentChar + 1
end
end
end
[DISABLE]
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Last edited by Cake-san on Mon Apr 27, 2020 5:37 pm, edited 1 time in total.
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>5163</ID>
<Description>"Faster"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{$STRICT}
{$lua}
if syntaxcheck then return end
[ENABLE]
tfaster = createTimer(nil, false)
tfaster.OnTimer = function(faster)
errorOnLookupFailure = false
local RunMaxSpeed = 700
local WalkMaxSpeed = 200
local DashMaxSpeed = 3000
local Acceration = 3000
if (getAddress("MainBaseAddr") == 0) then
tfaster.Destroy()
end
local MainAddr = ReadQword(getAddress("MainBaseAddr"))
if (MainAddr ~= nil) then
local Char1Ptr1 = ReadQword(MainAddr + 0x9D50)
if (Char1Ptr1 ~= nil) then
local Char1Ptr2 = ReadQword(Char1Ptr1 + 0x178)
if (Char1Ptr2 ~= nil) then
local NumChars = 6
local CurrentChar = 0
while (CurrentChar < NumChars) do
if (Char1Ptr2 ~= nil) then
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x10,RunMaxSpeed)
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x14,WalkMaxSpeed)
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x18,DashMaxSpeed)
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x1C,Acceration)
end
CurrentChar = CurrentChar + 1
end
end
end
end
end
tfaster.Interval = 1000
tfaster.Enabled = true
[DISABLE]
tfaster.Destroy()
local defaultRunMaxSpeed = 700
local defaultWalkMaxSpeed = 200
local defaultDashMaxSpeed = 1000
local defaultAcceration = 3000
if (getAddress("MainBaseAddr") == 0) then
tfaster.Destroy()
end
local MainAddr = ReadQword(getAddress("MainBaseAddr"))
if (MainAddr ~= nil) then
local Char1Ptr1 = ReadQword(MainAddr + 0x9D50)
if (Char1Ptr1 ~= nil) then
local Char1Ptr2 = ReadQword(Char1Ptr1 + 0x178)
if (Char1Ptr2 ~= nil) then
local NumChars = 6
local CurrentChar = 0
while (CurrentChar < NumChars) do
if (Char1Ptr2 ~= nil) then
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x10,defaultRunMaxSpeed)
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x14,defaultWalkMaxSpeed)
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x18,defaultDashMaxSpeed)
WriteFloat(Char1Ptr2 + (CurrentChar * 0x200) + 0x1C,defaultAcceration)
end
CurrentChar = CurrentChar + 1
end
end
end
end
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>