Joined: 9/15/2013
Posts: 154
I hope I don't get in trouble for this necropost, but it does apply to the game... Could someone make a Lua script for BizHawk to display the party's current Levels and Strength stats in battle? If anyone's curious, I'm not doing a TAS but it is a somewhat tool-assisted run. Some skills in the game can temporarily increase your Strength and Level in battle, but there's no way to tell what they actually are once you're in battle.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Here are a few addresses I had scrawled down somewhere: 17 00000 0201EDFE b u 0 Butz Lvl 00001 0201EE21 b u 0 Butz Image Count 00002 0201EE2E b u 0 Butz Str 00003 0201EE2F b u 0 Butz Agi 00004 0201EE30 b u 0 Butz Sta 00005 0201EE31 b u 0 Butz Mag 00006 0201EE32 b u 0 Butz Unk1 00007 0201EE33 b u 0 Butz Unk2 00008 0201EE86 b s 0 Butz Agi (Song+) 00009 0201EE88 b s 0 Butz Mag (Song+) 0000A 0201EE89 b s 0 Butz Lvl (Song+) 0000B 0201EE85 b s 0 Butz Sinewy Etude Bonus 0000C 0201EE04 w u 0 Butz Current HP 0000D 0201EE06 w u 0 Butz Max HP 0000E 0201EE08 w u 0 Butz Current MP 0000F 0201EE0A w u 0 Butz Max MP 00010 0201EE29 b u 0 Butz EqWgt??
Joined: 9/15/2013
Posts: 154
What do I do with those in BizHawk? Sorry, I've never really messed with memory things before aside from cheat codes.
Editor, Player (53)
Joined: 12/25/2004
Posts: 634
Location: Aguascalientes, Mexico
I'm the best in the Universe! Remember that!
Joined: 7/26/2006
Posts: 53
Sorry for bumping a thread after 2 years, but while I was working on another idea related to FF5, I came across some potentially useful addresses that I figured might be useful here - I didn't really want the addresses to go to waste and stagnate on my PC so they might have some use for the someone who potentially creates a TAS for this. Unfortunately I haven't really had the time to flesh them out fully - I've only managed to get the next attack ID for the first enemy slot. I believe I've got the addresses representing the party target for all 8 slots (not sure how this behaves if the target is either all party members, or all available targets including enemies). I've tried to keep samurai goroh's notation for these addresses to make it easy on myself, but my representations are probably wrong to people who know more in this space, I've just been going off what was in the LUA files to wrap my head around it. For the first enemy slot, the ID of their next attack is:
0x01F616 XX
Starting at 80
If you're using samurai goroh's data, the table can be found at section 4.6 Item ID (Magic Shops), starting at hex 80. If you're using the LUA files from the post above, you can get the string for display purposes via
TableMagicID[memory.read_u8(0x01f616)+1]
Its not the best way of doing it I'm sure, but I was in a pinch when I wrote it. The target of that attack is located at:
0x020A8C XX
Starting at 00
And the offset for each enemy slot is
0x020A8C - (enemySlot * 0xFF)
I'm not a low level guy, so my offset might be inaccurate. All of these addresses are WRAM (or combined WRAM in BizHawk). Apologies if I'm getting that wrong! --- Addresses aside, and this is probably known knowledge, the attack a monster will perform is determined a number of frames after their attack guage/ATB value reaches 0. Depending on any running animations, the offset may vary, but once their sprite flashes it will be correct. This is the same for the target that will be chosen if the attack is single target. I'm not sure if this information will be of use to anyone, but after starring at samurai goroh's address references for a few days I didn't want this information to go to waste, if only for my sake.