Sorry for the lack of response, been pretty crazy lately. This is some interesting stuff here Madsiur. Thanks for pointing out the areas of code pertaining to loading battle information.
I see where the problem is, and I think I have a few ideas to work around this, but I'm not sure if my plans are going to work. If I manage to find anything which works conclusively I'll be sure to share it, if this is of interest to anyone.
Update:
So it is seriously looking like what I was hoping to achieve cannot be done here, it looks like you are right Madsiur that the party data only exists in the SRAM and is not saved or accessible from anywhere else. This may mean that you will only be able to have one of each job class accessible in this hack.
Additional edit for kanbei as cyan:
For changing sprites by talking to NPCs all you need to do is create a simple event, here's what I did:
Code:
XX = Character Slot (31 if top character in party, otherwise Character ID number)
YY = Actor ID (00 = Terra, 01 = Locke, etc.)
ZZ = Palette (#0-5)
3F YY FF //Removes actor from party
40 XX YY //Assign properties, if you are changing actor properties
37 XX YY //Assign character graphics (Which sprite sheet)
43 XX ZZ //Assign character palette
3F XX 00 //Places character back in active party
FE // Return
Now I'm doing this partially from memory, but with that character change gif that you saw there was also a rename screen that was called upon when changing the character's attributes (I left it out because it made things look choppy), which involves the lines "98 00 96 5C" after the "3F" line, that will call up the rename screen and refresh. I think if you were to skip that part out you may still need a function to refresh the character. Also please note that this function was written for having a permanent and unchangable four character party, so I don't know if the line to remove and place characters back in the party will need to be tweaked or not or if it will muck up your game, I never toyed around with that specifically. I suppose you could err on the safe side and if you use this function just make sure it's in a place where a specific character must be present or a function that only works with a specific character present.
Sorry that was so long and blathering, it's a bit late and if I wrote anything poorly please message me and I'll clarify or rephrase.