Re: Atelier Lydie & Suelle
Posted: Thu Mar 29, 2018 3:00 pm
could u add a max synthesis option to the table?
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Code: Select all
[ENABLE]
aobscanmodule(QUALITY,Atelier_Lydie_and_Suelle.exe,48 8B 03 48 89 47 68) // should be unique
alloc(newmem,$1000,"Atelier_Lydie_and_Suelle.exe"+2D438C)
label(code)
label(return)
newmem:
code:
//This function executes when you highlight an item
mov byte ptr [rbx+04],64 //this is what I added to change to 100.
mov rax,[rbx] //This is where the code reads the item location and variables
mov [rdi+68],rax //this is the 'mouse over' display
jmp return
QUALITY:
jmp newmem
nop
nop
return:
registersymbol(QUALITY)
[DISABLE]
QUALITY:
db 48 8B 03 48 89 47 68
unregistersymbol(QUALITY)
dealloc(newmem)
Code: Select all
local al = getAddressList()
local base = al.createMemoryRecord()
base.Description = "Container Mod Codes"
base.IsGroupHeader = true
base.options = "[moHideChildren]"
local addr = "Atelier_Lydie_and_Suelle.exe+00E69B68"
local offsetItemID = 0x2
local offsetQuality = 0x4
local offsetTrait1 = 0x6
local offsetTrait2 = 0x8
local offsetTrait3 = 0xA
local offsetEffect1 = 0xC
local offsetEffect2 = 0xE
local offsetEffect3 = 0x10
local offsetComponent1 = 0x16
local offsetComponent2 = 0x18
local offsetComponent3 = 0x1A
local offsetComponent4 = 0x1C
local offsetUsage = 0x20
local slotnum = 1
for i = 1, 2500 do
local recHeader = al.createMemoryRecord()
local recItemID = al.createMemoryRecord()
local recQuality = al.createMemoryRecord()
local recTrait1 = al.createMemoryRecord()
local recTrait2 = al.createMemoryRecord()
local recTrait3 = al.createMemoryRecord()
local recEffect1 = al.createMemoryRecord()
local recEffect2 = al.createMemoryRecord()
local recEffect3 = al.createMemoryRecord()
local recComponent1 = al.createMemoryRecord()
local recComponent2 = al.createMemoryRecord()
local recComponent3 = al.createMemoryRecord()
local recComponent4 = al.createMemoryRecord()
local recUsage = al.createMemoryRecord()
local headertxt = string.format("Container Slot %d", slotnum)
recHeader.Description = headertxt
recHeader.isGroupHeader = true
recHeader.appendToEntry(base)
recHeader.options = "[moHideChildren]"
recItemID.Description = "Item ID"
recItemID.Address = addr
recItemID.OffsetCount = 1
recItemID.Offset[0] = offsetItemID
recItemID.appendToEntry(recHeader)
recItemID.type = vtWord
recQuality.Description = "Quality"
recQuality.Address = addr
recQuality.OffsetCount = 1
recQuality.Offset[0] = offsetQuality
recQuality.appendToEntry(recHeader)
recQuality.type = vtWord
recTrait1.Description = "Trait Slot 1"
recTrait1.Address = addr
recTrait1.OffsetCount = 1
recTrait1.Offset[0] = offsetTrait1
recTrait1.appendToEntry(recHeader)
recTrait1.type = vtWord
recTrait2.Description = "Trait Slot 2"
recTrait2.Address = addr
recTrait2.OffsetCount = 1
recTrait2.Offset[0] = offsetTrait2
recTrait2.appendToEntry(recHeader)
recTrait2.type = vtWord
recTrait3.Description = "Trait Slot 3"
recTrait3.Address = addr
recTrait3.OffsetCount = 1
recTrait3.Offset[0] = offsetTrait3
recTrait3.appendToEntry(recHeader)
recTrait3.type = vtWord
recEffect1.Description = "Item Effect Slot 1"
recEffect1.Address = addr
recEffect1.OffsetCount = 1
recEffect1.Offset[0] = offsetEffect1
recEffect1.appendToEntry(recHeader)
recEffect1.type = vtWord
recEffect2.Description = "Item Effect Slot 2"
recEffect2.Address = addr
recEffect2.OffsetCount = 1
recEffect2.Offset[0] = offsetEffect2
recEffect2.appendToEntry(recHeader)
recEffect2.type = vtWord
recEffect3.Description = "Item Effect Slot 3"
recEffect3.Address = addr
recEffect3.OffsetCount = 1
recEffect3.Offset[0] = offsetEffect3
recEffect3.appendToEntry(recHeader)
recEffect3.type = vtWord
recComponent1.Description = "Component Slot 1"
recComponent1.Address = addr
recComponent1.OffsetCount = 1
recComponent1.Offset[0] = offsetComponent1
recComponent1.appendToEntry(recHeader)
recComponent1.type = vtWord
recComponent2.Description = "Component Slot 2"
recComponent2.Address = addr
recComponent2.OffsetCount = 1
recComponent2.Offset[0] = offsetComponent2
recComponent2.appendToEntry(recHeader)
recComponent2.type = vtWord
recComponent3.Description = "Component Slot 3"
recComponent3.Address = addr
recComponent3.OffsetCount = 1
recComponent3.Offset[0] = offsetComponent3
recComponent3.appendToEntry(recHeader)
recComponent3.type = vtWord
recComponent4.Description = "Component Slot 4"
recComponent4.Address = addr
recComponent4.OffsetCount = 1
recComponent4.Offset[0] = offsetComponent4
recComponent4.appendToEntry(recHeader)
recComponent4.type = vtWord
recUsage.Description = "Item Usage Count"
recUsage.Address = addr
recUsage.OffsetCount = 1
recUsage.Offset[0] = offsetUsage
recUsage.appendToEntry(recHeader)
recUsage.type = vtByte
recUsage.Description = "Item Usage Count"
recUsage.Address = addr
recUsage.OffsetCount = 1
recUsage.Offset[0] = offsetUsage
recUsage.appendToEntry(recHeader)
recUsage.type = vtByte
offsetItemID = offsetItemID + 0x26
offsetQuality = offsetQuality + 0x26
offsetTrait1 = offsetTrait1 + 0x26
offsetTrait2 = offsetTrait2 + 0x26
offsetTrait3 = offsetTrait3 + 0x26
offsetEffect1 = offsetEffect1 + 0x26
offsetEffect2 = offsetEffect2 + 0x26
offsetEffect3 = offsetEffect3 + 0x26
offsetComponent1 = offsetComponent1 + 0x26
offsetComponent2 = offsetComponent2 + 0x26
offsetComponent3 = offsetComponent3 + 0x26
offsetComponent4 = offsetComponent4 + 0x26
offsetUsage = offsetUsage + 0x26
slotnum = slotnum + 1
end
Potentially yes, but the main benefit being that those extremely rare and tedious to grind traits don't have to be bothered with. The game makes more use out of traits and effects than it does just straight up stats.
Thank you for this! I've been adding recipes with it, it's been a huge help.Valatros wrote: ↑Thu Mar 29, 2018 5:56 pmFrom the sounds of things it's soon going to be meaningless, but adding it here for completionism. My third (final?) basket editor now has all 2500 container entries, and I updated the values for item ID's with stuffy's values. An oddity is that, it completely skips over equipment items in the container, I guess they're stored elsewhere, so if you want to directly edit equipment someone else'll have to find it. To display things in the container in the order they'll show up in this list, go to storage, press select (or whatever button for you opens "All", should show in the bottom right), and sort by Order. Fortunately with the item ID's finding what you want to edit is more reasonable, but it's still over 35000 separate codes to do the entire container, so... yeah, hopefully someone takes stuffy's highlight editor and runs with it. Unfortunately stuffy's highlight editor is basically gobbledygook to me so someone else'll have to step in for that.
Edit: it's... it's too large to attach. Haha... hah. Haha. Wow. Uh... I don't have a good solution for that. Copy paste the code below into the LUA script (Ctrl+Alt+J to open) and it'll create the container codes for you, I guess.
It won't be immediate because again, 35000 codes, so execute and wait, should still be less'n a minute. Attached below is an updated Basket Mod that has Item ID's in the drop table. The container script does NOT have the drop table because I don't know a way to put that in the script that'll work for everyone, I use predprey's dropdown menu editor to mass add them but that requires you have it installed. The basket cheat list DOES have the item ID's already saved in, though.Code: Select all
local al = getAddressList() local base = al.createMemoryRecord() base.Description = "Container Mod Codes" base.IsGroupHeader = true base.options = "[moHideChildren]" local addr = "Atelier_Lydie_and_Suelle.exe+00E69B68" local offsetItemID = 0x2 local offsetQuality = 0x4 local offsetTrait1 = 0x6 local offsetTrait2 = 0x8 local offsetTrait3 = 0xA local offsetEffect1 = 0xC local offsetEffect2 = 0xE local offsetEffect3 = 0x10 local offsetComponent1 = 0x16 local offsetComponent2 = 0x18 local offsetComponent3 = 0x1A local offsetComponent4 = 0x1C local offsetUsage = 0x20 local slotnum = 1 for i = 1, 2500 do local recHeader = al.createMemoryRecord() local recItemID = al.createMemoryRecord() local recQuality = al.createMemoryRecord() local recTrait1 = al.createMemoryRecord() local recTrait2 = al.createMemoryRecord() local recTrait3 = al.createMemoryRecord() local recEffect1 = al.createMemoryRecord() local recEffect2 = al.createMemoryRecord() local recEffect3 = al.createMemoryRecord() local recComponent1 = al.createMemoryRecord() local recComponent2 = al.createMemoryRecord() local recComponent3 = al.createMemoryRecord() local recComponent4 = al.createMemoryRecord() local recUsage = al.createMemoryRecord() local headertxt = string.format("Container Slot %d", slotnum) recHeader.Description = headertxt recHeader.isGroupHeader = true recHeader.appendToEntry(base) recHeader.options = "[moHideChildren]" recItemID.Description = "Item ID" recItemID.Address = addr recItemID.OffsetCount = 1 recItemID.Offset[0] = offsetItemID recItemID.appendToEntry(recHeader) recItemID.type = vtWord recQuality.Description = "Quality" recQuality.Address = addr recQuality.OffsetCount = 1 recQuality.Offset[0] = offsetQuality recQuality.appendToEntry(recHeader) recQuality.type = vtWord recTrait1.Description = "Trait Slot 1" recTrait1.Address = addr recTrait1.OffsetCount = 1 recTrait1.Offset[0] = offsetTrait1 recTrait1.appendToEntry(recHeader) recTrait1.type = vtWord recTrait2.Description = "Trait Slot 2" recTrait2.Address = addr recTrait2.OffsetCount = 1 recTrait2.Offset[0] = offsetTrait2 recTrait2.appendToEntry(recHeader) recTrait2.type = vtWord recTrait3.Description = "Trait Slot 3" recTrait3.Address = addr recTrait3.OffsetCount = 1 recTrait3.Offset[0] = offsetTrait3 recTrait3.appendToEntry(recHeader) recTrait3.type = vtWord recEffect1.Description = "Item Effect Slot 1" recEffect1.Address = addr recEffect1.OffsetCount = 1 recEffect1.Offset[0] = offsetEffect1 recEffect1.appendToEntry(recHeader) recEffect1.type = vtWord recEffect2.Description = "Item Effect Slot 2" recEffect2.Address = addr recEffect2.OffsetCount = 1 recEffect2.Offset[0] = offsetEffect2 recEffect2.appendToEntry(recHeader) recEffect2.type = vtWord recEffect3.Description = "Item Effect Slot 3" recEffect3.Address = addr recEffect3.OffsetCount = 1 recEffect3.Offset[0] = offsetEffect3 recEffect3.appendToEntry(recHeader) recEffect3.type = vtWord recComponent1.Description = "Component Slot 1" recComponent1.Address = addr recComponent1.OffsetCount = 1 recComponent1.Offset[0] = offsetComponent1 recComponent1.appendToEntry(recHeader) recComponent1.type = vtWord recComponent2.Description = "Component Slot 2" recComponent2.Address = addr recComponent2.OffsetCount = 1 recComponent2.Offset[0] = offsetComponent2 recComponent2.appendToEntry(recHeader) recComponent2.type = vtWord recComponent3.Description = "Component Slot 3" recComponent3.Address = addr recComponent3.OffsetCount = 1 recComponent3.Offset[0] = offsetComponent3 recComponent3.appendToEntry(recHeader) recComponent3.type = vtWord recComponent4.Description = "Component Slot 4" recComponent4.Address = addr recComponent4.OffsetCount = 1 recComponent4.Offset[0] = offsetComponent4 recComponent4.appendToEntry(recHeader) recComponent4.type = vtWord recUsage.Description = "Item Usage Count" recUsage.Address = addr recUsage.OffsetCount = 1 recUsage.Offset[0] = offsetUsage recUsage.appendToEntry(recHeader) recUsage.type = vtByte recUsage.Description = "Item Usage Count" recUsage.Address = addr recUsage.OffsetCount = 1 recUsage.Offset[0] = offsetUsage recUsage.appendToEntry(recHeader) recUsage.type = vtByte offsetItemID = offsetItemID + 0x26 offsetQuality = offsetQuality + 0x26 offsetTrait1 = offsetTrait1 + 0x26 offsetTrait2 = offsetTrait2 + 0x26 offsetTrait3 = offsetTrait3 + 0x26 offsetEffect1 = offsetEffect1 + 0x26 offsetEffect2 = offsetEffect2 + 0x26 offsetEffect3 = offsetEffect3 + 0x26 offsetComponent1 = offsetComponent1 + 0x26 offsetComponent2 = offsetComponent2 + 0x26 offsetComponent3 = offsetComponent3 + 0x26 offsetComponent4 = offsetComponent4 + 0x26 offsetUsage = offsetUsage + 0x26 slotnum = slotnum + 1 end