Atelier Firis: The Alchemist and the Mysterious Journey +25 (table Update12)

Mar 7, 2017
47
0
6
#41
<QUOTE author="Kentda" post_id="1241" time="1489272631" user_id="954">
Kentda post_id=1241 time=1489272631 user_id=954 said:
For those interested, there are over 800 Effects (817 by my count, and that's excluding "no description" as well as the obvious set from 4e5 to 515 which from the names implies they're mostly internal code we shouldn't be messing with anyway.)

There are also over 400 Traits (417 by my count, with not a single "no description" trait or the like that I found).

While the list is now "complete", we still have a lot of entries to fill. One of the worst offenders of course is the Weapon and Common Skills need proper details.
Yeah, since we have the values and names down I locked those parts and threw it up on gamefaqs. Might do the same for steam. Hopefully the internet hivemind wants to help with the rest because going through and filling in all the descriptions makes me feel physically ill to think about. The cauldron effects are interesting; they're basically straight from Atelier Sophie. I'm not very far in the game, but I do notice that the cauldron is replacable; I wonder if there's code in the game to make cauldrons that's unused and we can do some shenanigans with it. Gonna have to find out once I get further along.
 

Kentda

What is cheating?
Mar 10, 2017
25
0
1
#42
It's possible some of the Effects are what you would call "spaghetti code". Ie leftover from the early stages of development.

I mean, there are Effects that are listed as "no description" but DO exist as properly described Traits. This kind of implies somewhere during design they were going to be Effects, but they never properly removed them from the "database" as Effects.

Another possibility is that many of these Effects were simply removed when they ported it over to English. This is something that happens a lot with Japanese games, especially when the original was brutally difficult or had excessive amounts of combat. I've seen games where the original had like a dozen spells / items to remove various negative status effects. When they brought it over to English, they would simplify it with certain spells or items removing multiple status effects at once.

It's interesting looking at the list, leaving you wondering whether it was left over code, or stuff they changed for the English release. Of course we'll never know, without having access to the original Japanese version and someone who can translate the stuff.

I'll keep trying to plug away at the document myself, adding to it when I have the time and energy.
 
Mar 8, 2017
32
0
6
#43
Guys I have a question, is it possible to make a script that mods ALL the 1000 items in the Container at once? I used to do that with a multiline code in the GameGenie but here I have no idea how, it would be nice to be able to mod the Quality and other values of all the items in the container at once and not have to highlight each one, we know the quality address of the first item in the container is 14149C5A6 and the second one is 14149C5DA so the difference is +34 between each items, if someone can help make a script that runs 1000 times modding those addresses skipping +34 for the next one it would be great! Sorry if for some reason I didn't make myself clear but I'm just getting the hang of it... :(
 
Mar 7, 2017
47
0
6
#44
<QUOTE author="gvargas" post_id="1258" time="1489286608" user_id="876">
gvargas post_id=1258 time=1489286608 user_id=876 said:
Guys I have a question, is it possible to make a script that mods ALL the 1000 items in the Container at once? I used to do that with a multiline code in the GameGenie but here I have no idea how, it would be nice to be able to mod the Quality and other values of all the items in the container at once and not have to highlight each one, we know the quality address of the first item in the container is 14149C5A6 and the second one is 14149C5DA so the difference is +34 between each items, if someone can help make a script that runs 1000 times modding those addresses skipping +34 for the next one it would be great! Sorry if for some reason I didn't make myself clear but I'm just getting the hang of it... :(
Yes! The "right" way is to script things the way Cielson does. Since you've mentioned Atelier Sophie earlier, Shinkansen's table is the best example I can think of for this situation. Below is his item script (all the options just decide which parts of this script are used.)

Code:
[ENABLE]
label(itemstats_savedAOB)
label(itemstats_returnhere)
label(itemstats_originalcode)
label(itemstats_exit)

label(itemstats_update_exit)
label(itemstats_set_exit)
label(itemstats_qualityset_exit)
label(itemstats_synthesisset_exit)
label(itemstats_sizeset_exit)
label(itemstats_countset_exit)
label(itemstats_quantityset_exit)

registersymbol(itemstats_savedAOB)

//0070C6A3 - 56                    - push esi
//0070C6A4 - 8B 75 08              - mov esi,[ebp+08]
//0070C6A7 - 66 8B 46 02           - mov ax,[esi+02]
// Accesses Item ID
//0070C6AB - 66 3B 41 02           - cmp ax,[ecx+02]
//0070C6AF - 74 07                 - je 0070C6B8
//0070C6B1 - 32 C0                 - xor al,al
//0070C6B3 - 5E                    - pop esi
aobscan(itemstats_searchedAOB, 66 8B 46 02 66 3B 41 02 74 07)

alloc(itemstats_newmem, 2048, itemstats_searchedAOB)
alloc(itemstats_temp1, 4, itemstats_searchedAOB)
alloc(itemstats_temp2, 4, itemstats_searchedAOB)
alloc(itemstats_temp3, 4, itemstats_searchedAOB)
alloc(itemstats_temp4, 4, itemstats_searchedAOB)


itemstats_newmem:
mov [itemstats_temp1], eax
mov [itemstats_temp2], ebx
mov [itemstats_temp3], ecx
mov [itemstats_temp4], edx

cmp dword ptr [itemstats_update_enable], #0
je itemstats_update_exit
mov [itemstats_basepointer], ecx
itemstats_update_exit:

cmp dword ptr [itemstats_set_enable], #0
je itemstats_set_exit
itemstats_set_exit:

cmp dword ptr [itemstats_qualityset_enable], #0
je itemstats_qualityset_exit
mov [ecx+4], (float)999
itemstats_qualityset_exit:

cmp dword ptr [itemstats_synthesisset_enable], #0
je itemstats_synthesisset_exit
mov word ptr [ecx+16], #8
itemstats_synthesisset_exit:

cmp dword ptr [itemstats_sizeset_enable], #0
je itemstats_sizeset_exit
mov word ptr [ecx+18], #2048
itemstats_sizeset_exit:

cmp dword ptr [itemstats_countset_enable], #0
je itemstats_countset_exit
mov word ptr [ecx+1a], #999
itemstats_countset_exit:

cmp dword ptr [itemstats_quantityset_enable], #0
je itemstats_quantityset_exit
mov word ptr [ecx+22], #99
itemstats_quantityset_exit:

mov eax, [itemstats_temp1]
mov ebx, [itemstats_temp2]
mov ecx, [itemstats_temp3]
mov edx, [itemstats_temp4]


itemstats_originalcode:
db 66 8B 46 02 66 3B 41 02
//mov ax,[esi+02]
//cmp ax,[ecx+02]


itemstats_exit:
jmp itemstats_returnhere


itemstats_searchedAOB:
itemstats_savedAOB:
jmp itemstats_newmem
nop
nop
nop
itemstats_returnhere:


[DISABLE]
itemstats_savedAOB:
db 66 8B 46 02 66 3B 41 02
//mov ax,[esi+02]
//cmp ax,[ecx+02]

unregistersymbol(itemstats_savedAOB)

dealloc(itemstats_newmem)
dealloc(itemstats_temp1)
dealloc(itemstats_temp2)
dealloc(itemstats_temp3)
dealloc(itemstats_temp4)
Note that it uses symbols registered and memory allocated by the "Enable this first" box though, which is why it has to be enabled first to begin with.

If you can understand the code above at all, then use that method. I say this because I can barely read it well enough to understand what it's doing, and I assume if you're asking you don't know the language it uses either; but we can still do it, just... not quite so neatly or easily. If you're serious about using cheat engine to do whatever you can think of, though, learning how to use the code above (you can check Cielos's code out too by right clicking his headers and clicking Change Script) is a necessity.

But for container codes, or most batch RPG codes in general really, you can uh... cheat clumsily, which is how I made my initial "By a narb" version.

Code:
--First we use a code to get the Address List
local al = getAddressList()

--This is just to make a header called Basket Inventory to sort our codes into; I like sorting things.
local base = al.createMemoryRecord()
base.Description = "Basket Inventory Quality"
base.IsGroupHeader = true
base.options = "[moHideChildren, moRecursiveSetValue]"

--This is defining the address (It's a pointer; this address is where the basket "starts". How to get that is a seperate conversation.)
local basketaddr = "A18.exe+014D57C8"

--This is to create a slot "number" for the description to use to number the container slots.
local bsktslotnum = 1

--This line is the offset from the initial "Basket" pointer. In this example, it's exactly +4
--from the start of the first basket slot that holds the Quality, so it's 0x4. This is something you find in the process of getting a pointer,
--which again is a seperate conversation. There are way way way better guides out there than I could write on how to find that.
local offsetBasketQuality = 0x4

--for i = 1, 100 means it'll repeat the loop 100 times. 1000 for 1000 container spaces, you get the idea.
for i = 1, 100 do

--[[This creates an entry to the cheat table. local recQuality = al.createMemoryRecord() creates a memory record accessed by the
internal variable recQuality. It then sets the description, the base address, adds an offset (since the address itself only
points to the start of the basket), sets that offset to the address for quality, puts it under the header we made earlier, and sets
the value type to Float.
--]]
  local recQuality = al.createMemoryRecord()
  recQuality.Description = string.format("Basket Slot %d Quality", bsktslotnum)
  recQuality.Address = basketaddr
  recQuality.OffsetCount = 1
  recQuality.Offset[0] = offsetBasketQuality
  recQuality.appendToEntry(base)
  recQuality.type = vtSingle

--[[This makes sure that instead of creating the same address 100 times, it moves to the next inventory slot. Each slot in the
basket is 34 apart, so we add 34 to the offset each time. The slot number is increased each time to make sure the address
is labeled properly.
--]]
  offsetBasketQuality = offsetBasketQuality + 0x34
  bsktslotnum = bsktslotnum + 1
end
The above is lua code that, when run, creates 100 basket quality codes. I put a bunch of comments in to explain what each step does and why. Using something similar, you could create a code that lists all 3500+ possible container quality entries, for instance, and then set the quality on the header (after enabling RecursiveSetValue either in lua or just by right clicking the header and going to group options) to whatever you like and it would change every single entry. You could then just freeze all the values. Since this nets you thousands and thousands of cheat code entries it's the crappy way to be about it though.

I like this solution better for situations like using cheat engine on fire emblem games, or something, because by creating a header-per-slot, then subcodes for all the various stats I can view and edit each character individually. This is useful because I rarely want to edit my entire army to be near-clones. On atelier games though, not so useful.
 
Mar 7, 2017
47
0
6
#45
Alright, someone else had a similar (though naturally, minus the ID codes) google doc going on gamefaqs. I stole most of their stuff (eheh) for trait/effect descriptions, making sure it aligned with ours. All the empty spaces left are actually empty... in the xml files of the game itself. So if someone actually tries them out and they do something, feel free to punch it in there; otherwise they're probably just stuff left out of the game.
 

tontsa00

Novice Cheater
Mar 8, 2017
183
0
16
#47
<QUOTE author="Laice" post_id="1307" time="1489319199" user_id="1075">
Laice post_id=1307 time=1489319199 user_id=1075 said:
is it possiblöe to change the grade of an item? (D to S for example)
Just add traits into it :)
 

Cielos

RCE Fanatics
Talents
Mar 3, 2017
290
13
18
#48
made a testing script:
Code:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(customsIDReadOnExitCostumMenuAOB,A18.exe,8B 84 11 ** ** ** ** 39 ** ** ** ** ** ** 0F 95 C0 C3)
registersymbol(customsIDReadOnExitCostumMenuAOB)

label(aCustomModels)
registersymbol(aCustomModels)

alloc(newmem,2048,customsIDReadOnExitCostumMenuAOB) //"A18.exe"+B9062)
label(returnhere)
label(originalcode_forcecustomcostume)
registersymbol(originalcode_forcecustomcostume)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
test rsi,rsi
js @f
cmp rsi,6
jge @f
mov rax,aCustomModels
mov eax,[rax+rsi*4]
cmp eax,ffffffff
je @f
//mov [rcx+rdx+01103300],eax
db 89 84 11
readmem(customsIDReadOnExitCostumMenuAOB+3,4)
@@:

originalcode_forcecustomcostume:
readmem(customsIDReadOnExitCostumMenuAOB,7)
//mov eax,[rcx+rdx+01103300]

exit:
jmp returnhere

///
aCustomModels:
dq ffffffffffffffff
dq ffffffffffffffff
dq ffffffffffffffff
///

customsIDReadOnExitCostumMenuAOB: //"A18.exe"+B9062:
jmp newmem
nop
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
customsIDReadOnExitCostumMenuAOB: //"A18.exe"+B9062:
readmem(originalcode_forcecustomcostume,7)
//db 8B 84 11 00 33 10 01
//Alt: mov eax,[rcx+rdx+01103300]

unregistersymbol(originalcode_forcecustomcostume)
unregistersymbol(aCustomModels)
costume ids:
Code:
0-9  : Firis' costume 1 to 9
10-12: Liane's costume 1 to 3
13-25: other characers' costumes
26-? : crash
example usage:
- activate the script.
- set the value of Firis to 19
- back to the game, enter the "Change Costume" menu, then exit.
- the model would be changed to Sophie. but most of the animation doesn't register, meanings she would be running around in t-bone, jump with t-bump, etc. (Liane's model is better, it has running animation and most in-battle attack animation.)

if you set Firis' costume to other character's costume, it would just use the default costume of that character.

just test it around for fun.
 

Attachments

RenChao

What is cheating?
Mar 11, 2017
7
0
1
#49
Okay, finally managed to understand this table. But still I need one more thing that Fling didn't add: how to speed up item mastery?
 
Mar 8, 2017
32
0
6
#50
<QUOTE author="Valatros" post_id="1259" time="1489289439" user_id="831">
Valatros post_id=1259 time=1489289439 user_id=831 said:
<QUOTE author="gvargas" post_id="1258" time="1489286608" user_id="876">
gvargas post_id=1258 time=1489286608 user_id=876 said:
Guys I have a question, is it possible to make a script that mods ALL the 1000 items in the Container at once? I used to do that with a multiline code in the GameGenie but here I have no idea how, it would be nice to be able to mod the Quality and other values of all the items in the container at once and not have to highlight each one, we know the quality address of the first item in the container is 14149C5A6 and the second one is 14149C5DA so the difference is +34 between each items, if someone can help make a script that runs 1000 times modding those addresses skipping +34 for the next one it would be great! Sorry if for some reason I didn't make myself clear but I'm just getting the hang of it... :(</E>
Yes! The "right" way is to script things the way Cielson does. Since you've mentioned Atelier Sophie earlier, Shinkansen's table is the best example I can think of for this situation. Below is his item script (all the options just decide which parts of this script are used.)
</e>

Thanks Valatros, it seems more difficult than I tough but I'll give it a try later on... ;)</E>

<QUOTE author="Cielos" post_id="1340" time="1489335018" user_id="177">
Cielos post_id=1340 time=1489335018 user_id=177 said:
example usage:
- activate the script.
- set the value of Firis to 19
- back to the game, enter the "Change Costume" menu, then exit.
- the model would be changed to Sophie. but most of the animation doesn't register, meanings she would be running around in t-bone, jump with t-bump, etc. (Liane's model is better, it has running animation and most in-battle attack animation.)

if you set Firis' costume to other character's costume, it would just use the default costume of that character.

just test it around for fun.
I'm going to make a stupid question but how do you enter the "Change Costume" menu, I can't seem to find it... :(

BTW. For those interested here are some useful Explore Equipment with their effects:

Original Guide - Return to Base (Fly back to the last Atelier Camp visited)
Spare Backpack - Fist a Whole Lot (Increases the basket capacity up to 100)
Gathering Gloves - Gather a Lot More
God-Pole Liebel Crown - Catch Any Fish
Sky Flicker - Fly at High Speed and Fly on Water (The best one IMO, it lets you fly over water and discover new places earlier in the game, just press up on the D-Pad to fly!) :D
 

tontsa00

Novice Cheater
Mar 8, 2017
183
0
16
#51
Original Guide - Return to Base (Fly back to the last Atelier Camp visited)
Spare Backpack - Fist a Whole Lot (Increases the basket capacity up to 100)
Gathering Gloves - Gather a Lot More
God-Pole Liebel Crown - Catch Any Fish
Sky Flicker - Fly at High Speed and Fly on Water (The best one IMO, it lets you fly over water and discover new places earlier in the game, just press up on the D-Pad to fly!) :D
[/quote]

Don't you need recipes for those ?

How can you get Sky Flicker recipe ?
 

Kentda

What is cheating?
Mar 10, 2017
25
0
1
#52
Oh, important thing, be cautious about using the table to add XP as if you increase your XP you can end up NOT gaining abilities you should have the next time you win a fight. So use it in moderation for smaller boosts to make sure you get all the skills.
 

Cielos

RCE Fanatics
Talents
Mar 3, 2017
290
13
18
#53
@gvargas
from the desk that you can save the game on.

@Kentda
good to know. I'll add a XP multiplier script on next update.

@RenChao
as of writing this post, you made 2 posts since you registered here.

1st post:
How the actual Hell does it work? The only thing I need from this table is item editor but no matter what I look at I see only gibberish. Nothing adds up when it comes to quality, components or components amount. Wha- the-...*sigh*. The table for Sophie was a lot easier to understand...
in CEF, there were once another member using this attitude to bash others' tables, FF6 if memory serves, and came asked me to make one instead.
I just ignored him.
these things happened time by time, I'd just ignore them most of the time, the other time, I'd write something like this post, and delete them.
today I'm having a bad day, so I may just release this anyway.

so, the thing is, if you're incapable to understand how to do something, the least you could do is be humble, and ask for help. instead, you chose to just whining and forcing others to hear it.
so I chose to just ignore you, as I'd do to any post like this. fact is, I'm not your parents, it's not my responsibility to educate you on your manner.

but Valatros is proved to be a bigger man and kindly reply you in details on how it works.

then comes your second post:
Okay, finally managed to understand this table. But still I need one more thing that Fling didn't add: how to speed up item mastery?
without even saying a simple thanks to Valatros who helped you voluntarily, you went straight ahead and whine again.
but as I've ignored you the first time, I'd take this one.

///
"Okay, finally managed to understand this table."
congrats, I guess. though it took you long enough, but don't be too hard on yourself.

"But still I need one more thing that Fling didn't add: how to speed up item mastery?"
you should direct your question to Fling then.
///

we've all been kid once. and we can all choose to stay as one as long as we wish. just don't expect others to babysit you all the time.

I may include this option eventually, but you just gave me an idea to push this idea to the end of the to-do list.
but who knows, someone would have share one already in the mean time. or maybe the next time I play the game I'd find myself in the need of this same option too.
anyway, there are many other veterans from CEF here, anyone of them can easily make this option for you.
I encourage you to ask them with this exact attitude.

have a nice day.
 

Kentda

What is cheating?
Mar 10, 2017
25
0
1
#55
Cielos, its cool about the XP. Was just a warning that putting in enough xp for instant 99 or the like would mess things up. Won't be the first RPG where skipping levels created issues.

An XP multiplier would probably solve that problem. Just something I noticed while tooling around and looking at what was in the table.

I was going to make a request from a trainer I saw, but you already took care of it. One from FLING@3dmgame. It had an option for "best results during synthesis". When you put in the max components option you accomplished the same thing.

Otherwise, cool work so far on the table. Keep up the good work.
 
Mar 8, 2017
32
0
6
#56
<QUOTE author="Cielos" post_id="1358" time="1489345022" user_id="177">
Cielos post_id=1358 time=1489345022 user_id=177 said:
@gvargas
from the desk that you can save the game on.
I don't have that option in mine! Is it available from the beginning or you unlock it later on, that's usually and option from new game+ isn't it?

<QUOTE author="tontsa00" post_id="1353" time="1489342135" user_id="846">
tontsa00 post_id=1353 time=1489342135 user_id=846 said:
Original Guide - Return to Base (Fly back to the last Atelier Camp visited)
Spare Backpack - Fist a Whole Lot (Increases the basket capacity up to 100)
Gathering Gloves - Gather a Lot More
God-Pole Liebel Crown - Catch Any Fish
Sky Flicker - Fly at High Speed and Fly on Water (The best one IMO, it lets you fly over water and discover new places earlier in the game, just press up on the D-Pad to fly!) :D

Don't you need recipes for those ?

How can you get Sky Flicker recipe ?
Not really, using Cielos pointers you can highlight ANY item in your inventory and change the item ID for the one you want (they are already in the drop down menu) and reassign new Effects and Traits from Valatros document, if you need help finding the effects for each equipment please let me know and I'll gladly help you... ;)
 

NumberXer0

Novice Cheater
Mar 12, 2017
107
0
16
#57
Is it possible to get an "Infinite Item Use" for materials and not just useable items? I love how the one we have now lets me use my Mining Bomb as much as I want without having to craft 15 more. But I feel like one for materials could be greatly beneficial. I'm talking about the raw items you gather around the map to use in alchemy. It would be nice to not have to re-farm a specific material every time it runs out. Not sure if this would be possible, but just wanted to get the request out there and see what you thought. Thanks!
 
Mar 8, 2017
32
0
6
#58
<QUOTE author="NumberXer0" post_id="1387" time="1489366110" user_id="1084">
NumberXer0 post_id=1387 time=1489366110 user_id=1084 said:
Is it possible to get an "Infinite Item Use" for materials and not just useable items? I love how the one we have now lets me use my Mining Bomb as much as I want without having to craft 15 more. But I feel like one for materials could be greatly beneficial. I'm talking about the raw items you gather around the map to use in alchemy. It would be nice to not have to re-farm a specific material every time it runs out. Not sure if this would be possible, but just wanted to get the request out there and see what you thought. Thanks!
That was possible in Meruru because there was a counter for the number of items and other for the number of uses but here is the same as in Sophie where the game assigns an item slot id for each item you have in your inventory, the only way I see it possible is to make a script that doesn't let the game erase that item id when you use it for synth but that's beyond my knowledge... :?:

@Kentda
So far I didn't have any problem maxing the exp as long as you fight one battle so the game legally rise the level to 99 and assign the corresponding skills... :)
 

Kentda

What is cheating?
Mar 10, 2017
25
0
1
#59
@Gvargas, then it was probably just a fluke on my end. Burps do happen when you use programs like cheat engine.

Your character level also seems to trigger certain flags like increasing "Item Equip". So a multiplier may be the safer bet to avoid any potential problems there. That or just applying XP in chunks and doing multiple battles.

In regards to tables like this, I prefer to side with caution to avoid potential mistakes, that's why I mentioned it.
 
Mar 8, 2017
32
0
6
#60
<QUOTE author="Kentda" post_id="1408" time="1489377477" user_id="954">
Kentda post_id=1408 time=1489377477 user_id=954 said:
@Gvargas, then it was probably just a fluke on my end. Burps do happen when you use programs like cheat engine.

Your character level also seems to trigger certain flags like increasing "Item Equip". So a multiplier may be the safer bet to avoid any potential problems there. That or just applying XP in chunks and doing multiple battles.

In regards to tables like this, I prefer to side with caution to avoid potential mistakes, that's why I mentioned it.
You can always roll back to your desired level in case something goes wrong but I think we're on the safe side on this one... ;)