Final Fantasy Hacktics

Modding => Non-FFT Modding => FFTA/FFTA2 Hacking => Topic started by: Miona on November 01, 2014, 06:25:12 pm

Title: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 01, 2014, 06:25:12 pm
Hello :)

I have some questions about adding Llednar in my clan via AIO-Editor and Hex-Editor.
Unfortunately there are some problems with Llednar:

1)
The party menu shows the enemy Soldier sprite, instead Llednar's sprite. Is it somehow possible, to change the sprite into Llednar's sprite? I assume the game has a matching / useable Llednar sprite for the party menu (standing, not animated). Llednar's sprite appears in battle and his status screen, but not in the party menu.

(http://i.imgur.com/6APwQPQ.png)


2)
How can I disable / enable Llednar's invincibility? In the first two Storybattles, he is immune to damage. Unfortunately this immunity stays until the third Storybattle against Llednar starts. This is boring, because even as playable character, his invincibility stays.

And for some special Missions, I would like add this immunity to some other enemy characters. Is this even possible? Llednar's invincibility has some advantages over the standard physical/elemental (Job-)Immunity: Geomancy can't bypass it.

3)
Llednar's abilities are not listed as Expert-Abilities. The Special-Flag for Llednar's Job "Biskmatar" in the AOI-Editor is activated. This works for Cid, Babus and Ezel, but Llednar is different. When I change Llednar to an enemy or even an NPC, his movesets change back to normal. But as playable character, his movesets look like this:

(http://i.imgur.com/7Hzqku1.png)


Is there a way to fix this?

4)
Llednar receives no EXP. Is this changeable?

Can some of the problems fixed via hex-editor?
I appreciate your help and sorry for my English.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: bcrobert on November 02, 2014, 01:21:31 am
Well...these are all fixable via hex editor, technically. And they would probably be minor tweaks if you knew exactly where to edit each of these values. Unfortunately Llednar's many missing pieces have never been fully documented to my knowledge. And you didn't note one of the biggest hurdles. If Llednar gets the dialogue for a mission report, it comes out as gibberish because it points to a part of the ROM that doesn't have dialogue.

Tl;dr: It is absolutely feasible, but I do not know how to do it.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 02, 2014, 09:17:24 pm
1) He doesn't have a menu sprite. It's stored differently to the animated sprites for walking and such. Only playable units have these (and also Mewt, if I recall correctly, implying that he was probably going to be playable at some point in development.)

2) I will look into this for you when I get a chance. I've been very busy with a new job and moving house over the past couple of months.

3) This is very strange... I can't imagine why. There must be some specific check. I'll see what I can find.

4) Yeah. There's a check for this. It makes it so characters you can't have or haven't got through normal methods (GameShark or something) don't gain exp. Change the byte at 12E5C3 from D9 to E0 in a hex editor. This will bypass all of the checks.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: bcrobert on November 03, 2014, 01:22:10 am
Quote from: Darthatron on November 02, 2014, 09:17:24 pm
4) Yeah. There's a check for this. It makes it so characters you can't have or haven't got through normal methods (GameShark or something) don't gain exp. Change the byte at 12E5C3 from D9 to E0 in a hex editor. This will bypass all of the checks.


I learned a thing. :D

Also that was a dick move for them to add that check. Did they really expect FFTA to have a big enough competitive metagame to justify cheat-blocking? Jerks.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 03, 2014, 06:22:44 am
Quote from: bcrobert on November 03, 2014, 01:22:10 am
I learned a thing. :D

Also that was a dick move for them to add that check. Did they really expect FFTA to have a big enough competitive metagame to justify cheat-blocking? Jerks.

I swear I've posted that somewhere. I looked through all my PMs and posts to find it and I couldn't. So odd. I've known about it for a loooooooong time.

And yes it is strange. High hopes I suppose.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 03, 2014, 06:41:16 am
Quote from: bcrobert on November 02, 2014, 01:21:31 am
Well...these are all fixable via hex editor, technically. And they would probably be minor tweaks if you knew exactly where to edit each of these values. Unfortunately Llednar's many missing pieces have never been fully documented to my knowledge. And you didn't note one of the biggest hurdles. If Llednar gets the dialogue for a mission report, it comes out as gibberish because it points to a part of the ROM that doesn't have dialogue.

Tl;dr: It is absolutely feasible, but I do not know how to do it.


Yes, the missing dialogue for mission report is another problem. :(

Quote from: Darthatron on November 02, 2014, 09:17:24 pm
1) He doesn't have a menu sprite. It's stored differently to the animated sprites for walking and such. Only playable units have these (and also Mewt, if I recall correctly, implying that he was probably going to be playable at some point in development.)


So the only way is switch the enemy soldier sprite with a (custom) Llednar sprite?

Quote from: Darthatron on November 02, 2014, 09:17:24 pm
2) I will look into this for you when I get a chance. I've been very busy with a new job and moving house over the past couple of months.


Thank you!

Quote from: Darthatron on November 02, 2014, 09:17:24 pm
3) This is very strange... I can't imagine why. There must be some specific check. I'll see what I can find.


This is even the case with original Llednar in his storybattles, after I changed him to a playable character.

Quote from: Darthatron on November 02, 2014, 09:17:24 pm
4) Yeah. There's a check for this. It makes it so characters you can't have or haven't got through normal methods (GameShark or something) don't gain exp. Change the byte at 12E5C3 from D9 to E0 in a hex editor. This will bypass all of the checks.


This works even with Llednar? Nice! Thank you!

Quote from: Darthatron on November 03, 2014, 06:22:44 am
I swear I've posted that somewhere. I looked through all my PMs and posts to find it and I couldn't. So odd. I've known about it for a loooooooong time.

And yes it is strange. High hopes I suppose.


I found this: http://ffhacktics.com/smf/index.php?topic=9705.msg188684#msg188684 (http://ffhacktics.com/smf/index.php?topic=9705.msg188684#msg188684)
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 06, 2015, 01:23:10 pm
Hello :)

I found something about Llednar's invincibility.
Unfortunately, it is only RAM-Editing and maybe useless information:

0x02402190 - 16 and 1A

Codebreaker-Codes (use only one code at the same time and don't save):

32402190 0016
32402190 001A

If the value in 0x02402190 (RAM) is 16 or 1A then Llednar will be invincible.
Other values make Llednar vulnerable. Problem: That address is probably
a "special" Story-Mission-Counter. 16 shows up, when [Quiet Sands] Mission is
available, 1A shows up on the [Present Day] Mission.

After each Story-Mission and / or cutscene the value increases at 1:

01 = [Snowball Fight] <- Llednar is vulnerable
02 = [Herb Picking] <- Llednar is vulnerable
...
15 = [Desert Patrol]  <- Llednar is vulnerable
16 = [Quiet Sands] Part 1 (vs. Llednar) <- Llednar is invincible
17 = [Quiet Sands] Part 2 (vs. Totema) <- Llednar is vulnerable again
...
1A = [Present Day] Part 2 (vs. Llednar) <- Llednar is invincible

It appears that adding Llednar's immunity to other characters via ROM-Editing is not an easy task.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 08, 2015, 07:47:44 pm
That doesn't seem quite right. Could you link me to that page? WRAM only goes up to 0x203FFFF on the GBA system. But that byte would be very helpful to my research.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 09, 2015, 10:08:38 am
WRAM only goes up to 0x203FFFF ?
I thought it goes up to 0x2FFFFFF :

(http://i.imgur.com/ycwFwDp.jpg)

I'll post some screenshots with the addresses:

[Snowball Fight] Mission: 0x2402190 - 01
(http://i.imgur.com/loQHQ4k.jpg)


Before I start the [Desert Patrol] Mission: 0x2402190 -15
(http://i.imgur.com/GmseznI.jpg)


Before I start the [Quiet Sands] Mission: 0x2402190 -16 (Part 1)
If 0x2402190 = 16 (and later 1A) then Llednar gains his immunity.
(http://i.imgur.com/scabCQ8.jpg)


I was only searching for Llednar's immunity address but i found some other stuff, too.

Address for Gold:
(http://i.imgur.com/my0t0ov.jpg)


Overworld Map-Addresses:
(http://i.imgur.com/4H2Xpov.jpg)


Change the addresses for Cyril, Sprohm and Giza Plains to 0 and you get this:
(http://i.imgur.com/kk2040E.jpg)
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 09, 2015, 10:25:41 am
Oh I know what's happening. VBA just duplicates those 0x40000 bytes afterwards, and editing them edits the originals. The actual "Clan Funds" value is stored at 0x02001F64.

I still can't find any references to 02002190 at all, though. Except in a function that is called just before a script is run:

ROM:08121F38 ; =============== S U B R O U T I N E =======================================
ROM:08121F38
ROM:08121F38
ROM:08121F38 sub_8121F38                             ; CODE XREF: Scene.LoadScript+CEp
ROM:08121F38                 PUSH    {LR}
ROM:08121F3A                 LDR     R3, =unk_2002190
ROM:08121F3C                 LDRB    R0, [R3,#(byte_200219C - 0x2002190)]
ROM:08121F3E                 SUBS    R0, #1
ROM:08121F40                 STRB    R0, [R3,#(byte_200219C - 0x2002190)]
ROM:08121F42                 MOVS    R2, #0
ROM:08121F44                 CMP     R2, R0
ROM:08121F46                 BGE     loc_8121F58
ROM:08121F48                 ADDS    R1, R3, #4
ROM:08121F4A
ROM:08121F4A loc_8121F4A                             ; CODE XREF: sub_8121F38+1Ej
ROM:08121F4A                 LDRH    R0, [R1,#2]
ROM:08121F4C                 STRH    R0, [R1]
ROM:08121F4E                 ADDS    R1, #2
ROM:08121F50                 ADDS    R2, #1
ROM:08121F52                 LDRB    R0, [R3,#(byte_200219C - 0x2002190)]
ROM:08121F54                 CMP     R2, R0
ROM:08121F56                 BLT     loc_8121F4A
ROM:08121F58
ROM:08121F58 loc_8121F58                             ; CODE XREF: sub_8121F38+Ej
ROM:08121F58                 LDRB    R0, [R3,#0xC]
ROM:08121F5A                 LSLS    R0, R0, #1
ROM:08121F5C                 ADDS    R1, R3, #4
ROM:08121F5E                 ADDS    R1, R1, R0
ROM:08121F60                 MOVS    R0, #0
ROM:08121F62                 STRH    R0, [R1]
ROM:08121F64                 LDRB    R0, [R3,#0xC]
ROM:08121F66                 CMP     R0, #0
ROM:08121F68                 BNE     loc_8121F74
ROM:08121F6A                 MOVS    R0, #0
ROM:08121F6C                 B       loc_8121F7A
ROM:08121F6C ; ---------------------------------------------------------------------------
ROM:08121F6E                 DCB    0
ROM:08121F6F                 DCB    0
ROM:08121F70 off_8121F70     DCD unk_2002190         ; DATA XREF: sub_8121F38+2r
ROM:08121F74 ; ---------------------------------------------------------------------------
ROM:08121F74
ROM:08121F74 loc_8121F74                             ; CODE XREF: sub_8121F38+30j
ROM:08121F74                 BL      sub_8009FD0
ROM:08121F78                 MOVS    R0, #1
ROM:08121F7A
ROM:08121F7A loc_8121F7A                             ; CODE XREF: sub_8121F38+34j
ROM:08121F7A                 POP     {R1}
ROM:08121F7C                 BX      R1
ROM:08121F7C ; End of function sub_8121F38
ROM:08121F7C
ROM:08121F7C ; ---------------------------------------------------------------------------


But that doesn't even edit that byte. It's actually 0xC bytes after. As far as I can tell, nothing else even touches that byte.

EDIT: Nevermind... It's always referenced as so:
ROM:080CF7FA                 LDR     R1, =WRAM_Base
ROM:080CF7FC                 LDR     R2, =0x2190
ROM:080CF7FE                 ADDS    R0, R1, R2


Very annoying to pin point references.

EDIT 2: I think this will work... Change the 4 bytes at 08130870 to 00 20 00 00

This will make Llednar always killable.

Change the first byte to 01 to make him never killable.

For future reference (Mainly for you, bcrobert)

ROM:0812F3CC ; =============== S U B R O U T I N E =======================================
ROM:0812F3CC
ROM:0812F3CC
ROM:0812F3CC CheckInvulnerability_Llednar            ; CODE XREF: sub_8130868+8p
ROM:0812F3CC                 PUSH    {R4,LR}
ROM:0812F3CE                 MOVS    R4, R0
ROM:0812F3D0                 MOVS    R0, #0xD        ; ID
ROM:0812F3D2                 BL      LoadByte        ; r0 = [02002030 + r0] (byte)
ROM:0812F3D6                 LSLS    R0, R0, #0x18
ROM:0812F3D8                 LSRS    R0, R0, #0x18
ROM:0812F3DA                 CMP     R0, #1
ROM:0812F3DC                 BEQ     Return0
ROM:0812F3DE                 LDR     R0, =WRAM_Base
ROM:0812F3E0                 LDR     R1, =0x2190
ROM:0812F3E2                 ADDS    R0, R0, R1
ROM:0812F3E4                 LDRB    R0, [R0]
ROM:0812F3E6                 CMP     R0, #0x16
ROM:0812F3E8                 BEQ     CheckLlednar
ROM:0812F3EA                 CMP     R0, #0x1A
ROM:0812F3EC                 BNE     Return0
ROM:0812F3EE
ROM:0812F3EE CheckLlednar                            ; CODE XREF: CheckInvulnerability_Llednar+1Cj
ROM:0812F3EE                 MOVS    R0, R4          ; pRAMCharacter
ROM:0812F3F0                 MOVS    R1, #UnitGet_bSpecialIndex ; index
ROM:0812F3F2                 BL      Unit.Get
ROM:0812F3F6                 CMP     R0, #0xD
ROM:0812F3F8                 BNE     Return0
ROM:0812F3FA                 MOVS    R0, #1
ROM:0812F3FC                 B       End
ROM:0812F3FC ; ---------------------------------------------------------------------------
ROM:0812F3FE                 DCB    0
ROM:0812F3FF                 DCB    0
ROM:0812F400 off_812F400     DCD WRAM_Base           ; DATA XREF: CheckInvulnerability_Llednar+12r
ROM:0812F404 dword_812F404   DCD 0x2190              ; DATA XREF: CheckInvulnerability_Llednar+14r
ROM:0812F408 ; ---------------------------------------------------------------------------
ROM:0812F408
ROM:0812F408 Return0                                 ; CODE XREF: CheckInvulnerability_Llednar+10j
ROM:0812F408                                         ; CheckInvulnerability_Llednar+20j ...
ROM:0812F408                 MOVS    R0, #0
ROM:0812F40A
ROM:0812F40A End                                     ; CODE XREF: CheckInvulnerability_Llednar+30j
ROM:0812F40A                 POP     {R4}
ROM:0812F40C                 POP     {R1}
ROM:0812F40E                 BX      R1
ROM:0812F40E ; End of function CheckInvulnerability_Llednar
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 09, 2015, 12:49:57 pm
Thank you :D

Quote from: Darthatron on November 09, 2015, 10:25:41 am

EDIT 2: I think this will work... Change the 4 bytes at 08130870 to 00 20 00 00

This will make Llednar always killable.



Yes, Llednar is now always killable. Perfect :)

Quote from: Darthatron on November 09, 2015, 10:25:41 am

Change the first byte to 01 to make him never killable.



If I change the 4 bytes at 08130870 to 01 20 00 00, everyone (not only Llednar) on the field will be invincible.  :o
No damage possible.  :shock:


Quote from: _Sephiran_ on November 01, 2014, 06:25:12 pm

3)
Llednar's abilities are not listed as Expert-Abilities. The Special-Flag for Llednar's Job "Biskmatar" in the AOI-Editor is activated. This works for Cid, Babus and Ezel, but Llednar is different. When I change Llednar to an enemy or even an NPC, his movesets change back to normal. But as playable character, his movesets look like this:

(http://i.imgur.com/7Hzqku1.png)


Is there a way to fix this?



I haven't found a solution for that problem.
Maybe that's because Llednar hasn't the A-Ability "Item". Every other playable Unit has this A-Ability.

@ Darthatron
If you have time, could you please look for a fix?


EDIT:
Some notes:

Invincible Ezel

ROM:0812F3F6                 CMP     R0, #0xD
Change
ROM:0812F3F6 - Byte 0D to 0A

0D = ID Llednar
0A = ID Ezel

01 = Normal Unit (all non-special units & monster are now invincible)
02 = Marche
03 = Mewt
04 = Ritz
05 = Queen Remedi
06 = Cid
07 = Doned
08 = Montblanc
09 = Babus
0A = Ezel
...
0D = Llednar

Same rules: Only in [Quiet Sands] Part 1 and [Present Day] Part 2 active.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 09, 2015, 11:08:11 pm
Could you send me a .SAV (not save state) from inside of the battle with three Llednar's? One an ally. One an enemy. And one a guest. Then I will look into it :)
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 10, 2015, 05:25:20 am
I've sent you a PM with the .sav file. :)

I have two questions. Changing the 4 bytes at 08130870 to 01 20 00 00
gives all units complete invulnerability in battle. Can this be changed?
Only one unit should be affected ...

Alternatively, can I bypass the vulnerability / invulnerability check like I can bypass the
EXP-Check for special characters? I managed to give Ezel invulnerability (ROM:0812F3F6 - Byte 0D to 0A),
but it lasts only for 2 Missions ([Quiet Sands] Part 1 and [Present Day] Part 2). I need the invulnerability
permanently on for a fixed character. I'm sure ROM:0812F3F6 - Byte 0D to 0A is not a clean edit,
what else should be changed?
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 10, 2015, 09:20:55 am
ROM:0812F3E6                 CMP     R0, #0x16
ROM:0812F3E8                 BEQ     CheckLlednar
ROM:0812F3EA                 CMP     R0, #0x1A
ROM:0812F3EC                 BNE     Return0

change those 8 bytes to 00 and it will work fine all the time. You'll just need to change those 4 bytes to their original values. Then you can make that byte (0D for Llednar) any index you like.

As for the icon thing, I will look into it tomorrow morning and I am totally exhausted.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 10, 2015, 03:59:59 pm
Quote from: Darthatron on November 10, 2015, 09:20:55 am
ROM:0812F3E6                 CMP     R0, #0x16
ROM:0812F3E8                 BEQ     CheckLlednar
ROM:0812F3EA                 CMP     R0, #0x1A
ROM:0812F3EC                 BNE     Return0

change those 8 bytes to 00 and it will work fine all the time. You'll just need to change those 4 bytes to their original values. Then you can make that byte (0D for Llednar) any index you like.


Thank you very much!
It works!  :D

Quote from: Darthatron on November 10, 2015, 09:20:55 am
As for the icon thing, I will look into it tomorrow morning and I am totally exhausted.


Thank you.
Take your time. There's no hurry.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 11, 2015, 02:13:45 am
I'm afraid if I don't do it sooner, rather than later, it would never get done. Ask Eternal ;)

Okay so the (stupid) reason that this is happening is that there is a check to see if the unit is Ezel, Cid, Babus or a guest/enemy and displays the Hume default jobs unless one of those conditions is met. After initially changing that condition (by re-writing the whole function; a 76 byte change) to include Llednar, I realised that the same thing can be achieved by just assuming that one of those conditions in met; a two byte change.

Both changes start at 080C8ECE.

2 byte:
1E E0

76 byte:
FF F7 B7 F9 00 28 1C D1 38 1C FF F7 C2 F9 00 28
17 D1 38 1C 09 21 FF F7 56 F9 00 28 11 D1 38 1C
0A 21 FF F7 50 F9 00 28 0B D1 38 1C 0D 21 FF F7
4A F9 00 28 05 D1 38 1C 5E 21 FF F7 44 F9 00 28
66 D0 38 1C 03 21 FE F7 C6 FF 00 00


Take your pick!

(I feel pretty stupid)
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 11, 2015, 10:10:30 am
Again, many thanks for your efforts!
I have tested both versions and both are working. :)
This game has some strange checks.

Llednar as a playable character is nearly complete.
There are two problems left, but they have no higher priority.
Probably these problems are hard or (currently) impossible to fix.

However, if your time allows it, could you please look into it?
There's no hurry.


Problem 1 + my idea for a fix

Quote from: _Sephiran_ on November 01, 2014, 06:25:12 pm
The party menu shows the enemy Soldier sprite, instead Llednar's sprite. Is it somehow possible, to change the sprite into Llednar's sprite? I assume the game has a matching / useable Llednar sprite for the party menu (standing, not animated). Llednar's sprite appears in battle and his status screen, but not in the party menu.

(http://i.imgur.com/6APwQPQ.png)



Quote from: Darthatron on November 02, 2014, 09:17:24 pm
1) He doesn't have a menu sprite. It's stored differently to the animated sprites for walking and such. Only playable units have these (and also Mewt, if I recall correctly, implying that he was probably going to be playable at some point in development.)


Llednar hasn't a menu sprite. Because of this the enemy Soldier menu sprite appears. I planned to edit
the "enemy" Soldier menu sprite, but ... that's probably not a good idea. If I edit the enemy Soldier menu sprite,
then this will probably affect the normal Soldier menu sprite as well. I have a better idea. Mewt has a menu sprite.
He doesn't need it*. My plan: Repoint the menu sprite so Llednar has Mewt's menu sprite (is this possible?).
Then edit the menu sprite. This way nothing should go wrong, because Mewt's menu sprite is never used.
I found the sprite animations for walking, attacking and such. But where are the party menu sprites located?


* Some offtopic: Mewt as playable / enemy character:

Changing jobs has some bugs. You can't change
his job. Well, the option is there and useable but
his job won't change at all.

Unfortunately Mewt's missing sprites causes
the game to freeze. He has no cast animation and
even unarmed attacks are not possible.



Problem 2 + my idea for a fix

Quote from: bcrobert on November 02, 2014, 01:21:31 am

And you didn't note one of the biggest hurdles. If Llednar gets the dialogue for a mission report, it comes out as gibberish because it points to a part of the ROM that doesn't have dialogue.



bcrobert is right. If Llednar gets the dialogue for a mission report, the game shows some
unrelated text or even freezes. Is repointing an option? For example: Llednar finishes a mission
and the game uses the mission report from another character (for example Hume / Moogle / Cid's mission report).

EDIT:
Maybe this is helpful:

If you change the race of a unit, then this will also change the mission report.
Special characters have a special race. Llednar's race value: 13

For testing: The address for changing the race of the 3rd unit in your clan: RAM: 0x02000296

ID values:

01 = Hume
02 = Bangaa
03 = Numou
04 = Viera
05 = Moogle
-----------
06 = Ezel
07 = Babus
08 = Ritz
09 = Shara
0A = Cid
...
13 = Llednar
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: bcrobert on November 11, 2015, 09:30:33 pm
Well...if you change his race to human and move his abilities into the human A-abilities list then technically it would fix playable Llednar. BUT it would also require a lot of repointing, add Biskmatar to the human job wheel in a glitchy way, and be generally a pain.

Even if you make it so characters can't job change to Biskmatar, you run into a problem of Llednar being able to use any other human job at the cost of never being able to go back to his own job. So...yeah. It would be smarter to try and find the mechanic that points to post-mission dialogue and rewrite that to read from a list of pointers instead of using whatever asinine formula it uses right now.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 12, 2015, 08:33:12 am
This will fix the game breaking mission dialog. Change the bytes at 0x08047978 to:

Original change thay didn't work. Was setting the wrong register. Whoops.
5E 20 31 79 81 42 01 D1 50 24 29 E0 09 29 01 D1
38 24 25 E0 0A 29 01 D1 30 24 21 E0 0D 29 0A D1
02 20 1D E0


Try this one. Only the 4th and 3rd last bytes are different. This will make him use all of Cid's dialogue. Leave the 4th last as 02 to use Hume's.
5E 20 31 79 81 42 01 D1 50 24 29 E0 09 29 01 D1
38 24 25 E0 0A 29 01 D1 30 24 21 E0 0D 29 0A D1
50 24 1D E0


This just adds Llednar into the checks for special characters.

ROM:08047952                 MOVS    R0, R6          ; RAMchar
ROM:08047954                 MOVS    R1, #SpecUnit.Marche ; CharacterID
ROM:08047956                 BL      Unit.CheckSpecificSpecialUnit
ROM:0804795A                 LSLS    R0, R0, #0x18
ROM:0804795C                 CMP     R0, #0
ROM:0804795E                 BEQ     CheckCid
ROM:08047960                 MOVS    R4, #0
ROM:08047962                 B       MissionCompleteText
ROM:08047962 ; END OF FUNCTION CHUNK FOR BattleJustFinished
ROM:08047962 ; ---------------------------------------------------------------------------
ROM:08047964 off_8047964     DCD word_201F514        ; DATA XREF: BattleJustFinished+EE4r
ROM:08047968 off_8047968     DCD OptionsMaybe        ; DATA XREF: BattleJustFinished:loc_8047938r
ROM:0804796C off_804796C     DCD word_201F4FC        ; DATA XREF: BattleJustFinished+EEEr
ROM:08047970 dword_8047970   DCD -0x2050             ; DATA XREF: BattleJustFinished+EF8r
ROM:08047974 off_8047974     DCD byte_201F4F2        ; DATA XREF: BattleJustFinished+F00r
ROM:08047978 ; ---------------------------------------------------------------------------
ROM:08047978 ; START OF FUNCTION CHUNK FOR BattleJustFinished
ROM:08047978
ROM:08047978 CheckCid                                ; CODE XREF: BattleJustFinished+F12j
ROM:08047978                 MOVS    R0, R6          ; RAMchar
ROM:0804797A                 MOVS    R1, #SpecUnit.Cid ; CharacterID
ROM:0804797C                 BL      Unit.CheckSpecificSpecialUnit
ROM:08047980                 LSLS    R0, R0, #0x18
ROM:08047982                 CMP     R0, #0
ROM:08047984                 BEQ     CheckEzel
ROM:08047986                 MOVS    R4, #0x50
ROM:08047988                 B       MissionCompleteText
ROM:0804798A ; ---------------------------------------------------------------------------
ROM:0804798A
ROM:0804798A CheckEzel                               ; CODE XREF: BattleJustFinished+F38j
ROM:0804798A                 MOVS    R0, R6          ; RAMchar
ROM:0804798C                 MOVS    R1, #SpecUnit.Ezel ; CharacterID
ROM:0804798E                 BL      Unit.CheckSpecificSpecialUnit
ROM:08047992                 LSLS    R0, R0, #0x18
ROM:08047994                 CMP     R0, #0
ROM:08047996                 BEQ     CheckBabus
ROM:08047998                 MOVS    R4, #0x30
ROM:0804799A                 B       MissionCompleteText
ROM:0804799C ; ---------------------------------------------------------------------------
ROM:0804799C
ROM:0804799C CheckBabus                              ; CODE XREF: BattleJustFinished+F4Aj
ROM:0804799C                 MOVS    R0, R6          ; RAMchar
ROM:0804799E                 MOVS    R1, #SpecUnit.Babus ; CharacterID
ROM:080479A0                 BL      Unit.CheckSpecificSpecialUnit
ROM:080479A4                 LSLS    R0, R0, #0x18
ROM:080479A6                 CMP     R0, #0
ROM:080479A8                 BEQ     CheckRitz
ROM:080479AA                 MOVS    R4, #0x38
ROM:080479AC                 B       MissionCompleteText
ROM:080479AE ; ---------------------------------------------------------------------------
ROM:080479AE
ROM:080479AE CheckRitz                               ; CODE XREF: BattleJustFinished+F5Cj
ROM:080479AE                 MOVS    R0, R6          ; RAMchar
ROM:080479B0                 MOVS    R1, #SpecUnit.Ritz ; CharacterID
ROM:080479B2                 BL      Unit.CheckSpecificSpecialUnit
ROM:080479B6                 LSLS    R0, R0, #0x18
ROM:080479B8                 CMP     R0, #0
ROM:080479BA                 BEQ     CheckShara
ROM:080479BC                 MOVS    R4, #0x40
ROM:080479BE                 B       MissionCompleteText
ROM:080479C0 ; ---------------------------------------------------------------------------
ROM:080479C0
ROM:080479C0 CheckShara                              ; CODE XREF: BattleJustFinished+F6Ej
ROM:080479C0                 MOVS    R0, R6          ; RAMchar
ROM:080479C2                 MOVS    R1, #SpecUnit.Shara ; CharacterID
ROM:080479C4                 BL      Unit.CheckSpecificSpecialUnit
ROM:080479C8                 LSLS    R0, R0, #0x18
ROM:080479CA                 CMP     R0, #0
ROM:080479CC                 BEQ     NotSpecial
ROM:080479CE                 MOVS    R4, #0x48
ROM:080479D0                 B       MissionCompleteText
ROM:080479D2 ; ---------------------------------------------------------------------------
ROM:080479D2
ROM:080479D2 NotSpecial                              ; CODE XREF: BattleJustFinished+F80j
ROM:080479D2                 LDRB    R0, [R6,#RAM_Unit.Race]
ROM:080479D4                 LSLS    R0, R0, #0x1B
ROM:080479D6                 LSRS    R4, R0, #0x18
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 12, 2015, 05:00:44 pm
Thank you very much.
I have changed the bytes at 0x08047978, but there are some errors.

If I complete a mission, the mission report shows the text for failing the mission:
(http://i.imgur.com/jMcINba.jpg)


If I fail a mission, I get this:
(http://i.imgur.com/Ezjavkh.jpg)


After a clan fight (with Llednar alone), the game will freeze:
(http://i.imgur.com/N4f6TME.jpg)



This looks good:
(http://i.imgur.com/tBCaPdg.jpg)
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 12, 2015, 10:28:38 pm
Try this one. Only the 4th and 3rd last bytes are different. This will make him use all of Cid's dialogue.
5E 20 31 79 81 42 01 D1 50 24 29 E0 09 29 01 D1
38 24 25 E0 0A 29 01 D1 30 24 21 E0 0D 29 0A D1
50 24 1D E0


Sorry about the confusion. :(
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 13, 2015, 12:22:35 am
Thank you, this fixed one error:

(http://i.imgur.com/p1SZu7u.jpg)


But if I fail a mission, I get this:

(http://i.imgur.com/TKShigW.jpg)


Clan fights will still freeze the game.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Darthatron on November 13, 2015, 12:43:16 am
Hahahahaha
Okay I will look into it better. :P
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on November 15, 2015, 03:03:34 pm
Quote from: Darthatron on November 13, 2015, 12:43:16 am
Hahahahaha
Okay I will look into it better. :P


Thank you. :)

Llednar has now a temporary menu sprite. Unfortunately, it's currently only VRAM editing.
I edited Mewt's party menu sprite:

(http://i.imgur.com/yt7kDqd.png)

That's Llednar's status screen sprite (standing).
First, I searched Mewt's party menu & status screen sprites with the tile viewer.
Then I compared the values of both sprites in the memory viewer:

(http://i.imgur.com/315S91P.png)


Same values, but different order.

With Llednar's status screen sprite values I can now edit Mewt's / slot 4
party menu sprite:


(http://i.imgur.com/qcOY57Y.png)


(http://i.imgur.com/3fuc5Rn.png)


I tested a little bit and just as I thought, editing the Soldier party menu sprite will
change both: Ally and enemy Soldier party menu sprites.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: sniper_zero on January 11, 2016, 07:38:56 am
Does anyone have any ideas why clan battles freeze even with the ASM work?

EDIT: Perhaps it would also help if Llednar's race is given Human dialogues. That way, there'd be more insurance that a dialogue will happen after random battles?
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: sniper_zero on January 12, 2016, 09:49:54 pm
Sorry for the double post but I think the crashes at clan battles might have something to do with the rewards. Whenever a glitched dialogue shows up, you don't get any rewards in clan battles (No AP, no gold, no law cards). The crashes might have something to do with that.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: sniper_zero on January 19, 2016, 09:44:08 am
I am sorry for posting again but I would like to add something to Darthatron's fix for the expert icons. The next few bytes after that is also a check. It checks which characters can set the Item ability. If you use the 2 byte fix, then no one can set the Item Abiltiy so you also need to set the first two bytes at 080C8F1E to 1E E0 to fix this problem.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on February 11, 2016, 06:52:44 am
Quote from: sniper_zero on January 11, 2016, 07:38:56 am
Does anyone have any ideas why clan battles freeze even with the ASM work?

EDIT: Perhaps it would also help if Llednar's race is given Human dialogues. That way, there'd be more insurance that a dialogue will happen after random battles?


Maybe the fix has some errors. A part of the fix works.

Quote from: sniper_zero on January 19, 2016, 09:44:08 am
I am sorry for posting again but I would like to add something to Darthatron's fix for the expert icons. The next few bytes after that is also a check. It checks which characters can set the Item ability. If you use the 2 byte fix, then no one can set the Item Abiltiy so you also need to set the first two bytes at 080C8F1E to 1E E0 to fix this problem.


Oh nice, thanks. I use the 76 byte fix. With your fix for the 2 byte version, Llednar can use the Item ability as well. Normally he can't do that. :D
EDIT: This works even with the 76 byte fix. Llednar can set and use the Item ability, if you set the first two bytes at 080C8F1E to 1E E0.

- - - - - - - -

Now I can edit Mewt's party menu sprite via ROM editing.
But unfortunately, it's not so easy. Mewt's party menu sprite address start at 083B7EBD.

(http://i.imgur.com/orneWqS.png)


I can edit the green values without problem, but what should I do with the red ones? Some posts above this one, I posted a picture about the RAM values of Mewt's party menu sprite. In the ROM, a lot of the RAM values appears again, but not all of them. You can find all the green values in the RAM:

(http://i.imgur.com/Qv3CwFP.png)


(http://i.imgur.com/DYdZkBg.png)


Result:

(http://i.imgur.com/aByiejC.png)


The sprite is incomplete. I need to know, how the red values are working.
Has someone an idea?
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on February 17, 2016, 05:31:22 am
Sorry for the double post, but I found the reason, why the clan battle dialogues with Llednar
still crashes. Darthatron's fix is not the problem. After some testing I came to the conclusion,
that the Mission-Complete-Text can't involve the Clan-Battle-Complete-Text. So it can't be fixed
with Darthatron's fix, because it is at a different location. I found the location. :)

The Mission-Complete-Text-Function starts at 0x08047952. For more information: http://ffhacktics.com/smf/index.php?topic=10685.msg212006#msg212006 (http://ffhacktics.com/smf/index.php?topic=10685.msg212006#msg212006)

The Clan-Battle-Complete-Text-Function starts at 0x08047BBA.

Both functions start with checking Marche. I did a successful test, I changed the byte 02 at 0x08047BBC to 0D.
02 = ID for Marche. 0D = ID for Llednar. Now Llednar has Clan-Battle-Complete-Text! Of course, this is only
a test and you can't use that effectively, because now the game will crash, if Marche ends a clan battle.

(http://i.imgur.com/YrgT3p6.png)


So we need a second fix, this time for the Clan-Battle-Complete-Text. I tried to create a fix, but i failed several times.
I think, I have the right location, but some values need to change. Here are the locations:

(http://i.imgur.com/MQjc1Yo.png)


Has someone an idea, how to create the fix for the Clan-Battle-Complete-Text?
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: bcrobert on March 04, 2016, 01:50:35 am
Quote from: _Sephiran_ on February 17, 2016, 05:31:22 am
Sorry for the double post, but I found the reason, why the clan battle dialogues with Llednar
still crashes. Darthatron's fix is not the problem. After some testing I came to the conclusion,
that the Mission-Complete-Text can't involve the Clan-Battle-Complete-Text. So it can't be fixed
with Darthatron's fix, because it is at a different location. I found the location. :)

The Mission-Complete-Text-Function starts at 0x08047952. For more information: http://ffhacktics.com/smf/index.php?topic=10685.msg212006#msg212006 (http://ffhacktics.com/smf/index.php?topic=10685.msg212006#msg212006)

The Clan-Battle-Complete-Text-Function starts at 0x08047BBA.

Both functions start with checking Marche. I did a successful test, I changed the byte 02 at 0x08047BBC to 0D.
02 = ID for Marche. 0D = ID for Llednar. Now Llednar has Clan-Battle-Complete-Text! Of course, this is only
a test and you can't use that effectively, because now the game will crash, if Marche ends a clan battle.

(http://i.imgur.com/YrgT3p6.png)


So we need a second fix, this time for the Clan-Battle-Complete-Text. I tried to create a fix, but i failed several times.
I think, I have the right location, but some values need to change. Here are the locations:

(http://i.imgur.com/MQjc1Yo.png)


Has someone an idea, how to create the fix for the Clan-Battle-Complete-Text?


Hot damn! I wish I knew the fix, but I at least wanted to congratulate you for closing the gap on this Llednar dilemma. As I recall, playable Llednar was a hot topic back in the day, so I'm impressed that someone's this close. Have you looked into how the generic classes select dialogue?

I -think- they select their dialogue based on race, whereas Marche selects his independently of race. Stapling Llednar into the generic human routine somehow might be a bit easier.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on April 01, 2016, 10:44:15 am
Big News!

Llednar is now fully playable!
You can use Llednar in Missions and Clan Battles and the game will not crash.
Llednar uses now the same dialogues as Marche. This should prevent awkward reports.
For example, if I use Cids dialogue, Llednar would sometimes refer himself as Cid.

Interesting fact: We need four fixes, not only two. I have changed Darthatron's fix,
so Llednar uses Marche's dialogues. Only 1 byte was changed.

I wrote the other 3 fixes yesterday and tested all fixes today. It should work. :)

Information, where the functions starts:
All four functions start with checking Marche.

Mission-Dialouge (for successful Missions) function starts at 0x08047952.
Clan-Battle-Dialouge (Battle won) function starts at 0x08047BBA.
Clan-Battle-Dialouge (Battle lost) function starts at 0x08047D00.
Mission-Dialouge (for failed Missions) function starts at 0x0804814A.

Here the four fixes:

Mission-Dialouge (for successful Missions) fix
(This is Darthatron's fix. Now it uses Marche's dialouge.)

Change the bytes at 0x08047978 to:

5E 20 31 79 81 42 01 D1 50 24 29 E0 09 29 01 D1
38 24 25 E0 0A 29 01 D1 30 24 21 E0 0D 29 0A D1
00 24 1D E0


Clan-Battle-Dialouge (Battle won) fix

Change the bytes at 0x08047BE4 to:

5E 20 31 79 81 42 01 D1 53 21 2B E0 09 29 01 D1
3B 21 27 E0 0A 29 01 D1 33 21 23 E0 0D 29 0A D1
03 21 1F E0


Clan-Battle-Dialouge (Battle lost) fix

Change the bytes at 0x08047D2C to:

5E 20 31 79 81 42 01 D1 57 21 5A E2 09 29 01 D1
3F 21 56 E2 0A 29 01 D1 37 21 52 E2 0D 29 0A D1
07 21 4E E2


Mission-Dialouge (for failed Missions) fix

Change the bytes at 0x08048174 to:

5E 20 31 79 81 42 01 D1 54 24 2B E0 09 29 01 D1
3C 24 27 E0 0A 29 01 D1 34 24 23 E0 0D 29 0A D1
04 24 1F E0


Now I need only find a solution for Llednar's party menu sprite.
But all game breaking problems should be fixed now. :D
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: dck on April 01, 2016, 12:58:41 pm
Very nice, I had been looking on my own for ways to get new units to apply for joining the clan- Llednar among them. I was going for a different approach with a different unit type being the playable Llednar, I still might try it that way so I can keep his boss skills boss-only, but this is quite impressive regardless.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: bcrobert on June 11, 2016, 02:13:52 am
Great dialogue fix! I honestly thought that was the thing least likely to be fixed.

And frankly I still think it's stupid that the battle sprites and clan menu sprites are even "different" to begin with. They sure look the same to me. >_>

Although I suppose the issue that occurs in battles with too many units would be a cause for concern since the menu displays a full 24 units on the same page.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: Miona on September 08, 2016, 04:38:37 pm
Quote from: bcrobert on June 11, 2016, 02:13:52 am
Great dialogue fix! I honestly thought that was the thing least likely to be fixed.

And frankly I still think it's stupid that the battle sprites and clan menu sprites are even "different" to begin with. They sure look the same to me. >_>

Although I suppose the issue that occurs in battles with too many units would be a cause for concern since the menu displays a full 24 units on the same page.


Thank you! I'm glad that all game breaking problems are now fixed.  :)
It would be so easy, if both sprites would be the same. But no, of course, there are some differences and I don't know, how to overwrite Mewts clan menu sprite with a Llednar clan menu sprite. Clan menu sprites and battle sprites share a lot of values, but it appears that clan menu sprites have additional data such as height, width and such. If I had the right values, Mewt would have a Llendar clan menu sprite. It should be easy, to rewrite the code, so Llednar uses Mewt's overwritten clan menu sprite, so Llednar would have his own clan menu sprite. If someone has a solution for this problem, please let me know.

Recently I found new minor problems (already fixed) with Llednar and other useful stuff:

Table of Contents


Llednar and water

Llednar is unable to go into the water.

(http://i.imgur.com/7UDQmnQ.png)


The game prevents him from entering the water,
because he has no sprites for water related stuff.
There are two easy ways, to fix that problem.

1) Equip Llednar with "Feather Boots". Now he is able to walk on water.
(http://i.imgur.com/CU9TLRw.png)


2) With the AIO-Editor, use the Job Editor and change Biskmatar's standing style to float:
(http://i.imgur.com/BEIL7XL.png)

Now Llednar can walk on water (and lava!*) without the "Feather Boots".
You should use this option, if you use hacks which allows to steal boots ...

*
(http://i.imgur.com/jNQWTCZ.png)



Llednar and shields

Llednar should be able to equip shields. His Job Biskmatar uses an Equipment-Table-ID,
which allows shield equipping, but he can't equip shields. Unlike weapons and other stuff,
shields (and ribbons) have an additional check, which determines which job can equip shields.

In the AIO-Editor you can set the possible equipment for each job:
(http://i.imgur.com/15c737B.png)


As you can see, Llednar should be able to equip shields. But in the game, you get this:
(http://i.imgur.com/NgIT6nu.png)


The Biskmatar job is not included in the additional check, so Llednar is not able to equip shields.

There are some possible combinations, which determines if a job can equip shields or not:

S-Ability Shieldbearer: As long a unit has this support ability active, shields become equipable. Other related checks doesn't matter.
AIO-Editor checkbox (enabled) + not included in the second check: Shields are not equipable. <- Llednar's case
AIO-Editor checkbox (disabled) + included in the second check: Shields are not equipable.
AIO-Editor checkbox (enabled) + included in the second check: Shields are equipable.

The second check is only a hindrance, we already have the first check, which can be edited via AIO-Editor.
I found the location for the second check. Now I can include Llednar or ... how about a modification, which
includes all existing jobs in the second check?

Change the bytes at 0x080CAD5E to 73 2A 12 DD

This will include all existing jobs in the check.
In Llednar's case, this is the result:
(http://i.imgur.com/XnIt2QC.png)


Finally he can equip shields.
AIO-Editor: Now you can enable / disable shield equipping for all jobs like weapons, armor and such.


Llednar and status defence

Llednar's job Biskmatar has a very high status defence. A high status defence value will
automatically prevent some status effects (like Haste, Stop, Frog, ...) and
other effects (like Matra Magic, %-Damage, ...). Judgemaster Cid also has a high status defence.
Because of this, he is completely immune to Haste, a positive status effect.

If you want Cid and / or Llednar with reduced status defence values, so they can have
the haste status or for other reasons, you will probably use the AIO-Editor and set the value to 50,
which is the default value for almost all playable characters. This will not work!

Unfortunately the AIO-Editor has a slight bug. The AIO-Editor shows 100 status defence for the
Biskmatar job and 80 status defence for the Judgemaster job. But [Biskmatar] and [Judgemaster] status
defence value is way higher than 100 and 80.

Now let's look into a clean ROM via Hex-Editor and see, which values these jobs have:


Job ID  |  Job name    | Status DEF offset | Value (Hex) | Value (Dec) | AIO-Editor (Dec)
               
56         Biskmatar         0x08522BA2          E4           228            100
73         Judgemaster       0x08523186          D0           208            80


Woah, [Biskmatar] and [Judgemaster] have very high status defence values! For some reason,
the AIO-Editor shows wrong values here. But if you check the status defence value of the Paladin job, you will see this:


Job ID  |  Job name    | Status DEF offset | Value (Hex) | Value (Dec) | AIO-Editor (Dec)
               
03         Paladin           0x08521AC6          32           50            50


Correct values. I think I know, why the AIO-Editor shows wrong values. The highest possible value
for status defence in the AIO-Editor is 127. [Biskmatar] and [Judgemaster] status defence values are over this limit.
So perhaps this is why the AIO-Editor shows wrong status defence values for [Biskmatar] and [Judgemaster].

Let's say, we reduce the status defence values from [Biskmatar] and [Judgemaster] to 50 via
AIO-Editor, now we have these values:


Job ID  |  Job name    | Status DEF offset | Value (Hex) | Value (Dec) | AIO-Editor (Dec)
               
56         Biskmatar         0x08522BA2          B2           178            50
73         Judgemaster       0x08523186          B2           178            50


Well ... interesting results. But as you can see, via AIO-Editor you can't make [Biskmatar] and [Judgemaster] like
the other playable jobs. To fix that, you need to edit the status defence values via Hex-Editor!

For Biskmatar: Change the byte at 0x08522BA2 to ?? (? = your desired value).
For Judgemaster: Change the byte at 0x08523186 to ?? (? = your desired value).

Default value for most playable characters is 32.
Set the value to 00 for no status defence.
Set the value to FF for max status defence. This should prevent all positive and negative status effects!


Alchemist and the hidden Item A-Ability

The Alchemist job has a hidden Item A-Ability.
This allows the Alchemist to use three A-Abilities.

Lets see what differences the Alchemist job because of the hidden A-Ability has:
(http://i.imgur.com/mOpclu1.png)


As you can see, the Item A-Ability is not in the ability list and thus can't set as the second A-Ability.
Alchemists don't need Item as the second A-Ability, because they already have the Item A-Ability as thrid
A-Ablility. In battle, you can see the hidden Item A-Ability:
(http://i.imgur.com/Wa0xavU.png)


Via RAM-View, you can find the hidden Item A-Ability next to the first and second A-Ability.
If you have another job active, set Item as the second A-Ability and then change the job to Alchemist,
the second A-Ability gets removed. This prevents redundancy, as the change to the Alchemist job
will set Item as the third hidden A-Ability.

No other job can have the hidden Item A-Ability! Until now ...

Change the byte at 0x080C8232 to ?? (?? = Job ID).

You can find all Job IDs here:
http://datacrystal.romhacking.net/wiki/Final_Fantasy_Tactics_Advance:Jobs#Default_List_of_Jobs

This will give your chosen job the hidden Item A-Ability, but the
Alchemist job will lose the hidden Item A-Ability (but can now set Item A-Abiliy
as the second A-Ability)!

Default value is 18 (Alchemist).

Example: Let's change the byte at 0x080C8232 to 56.
56 = Biskmatar. Llednar has now permanently the hidden Item A-Ability!
(http://i.imgur.com/YKcnsQz.png)


If you want all jobs with the hidden Item A-Ability, use this:

Change the bytes at 0x080C8232 to 73 28 00 DC

If you want only playable and changeable jobs with the hidden Item A-Ability, use this:

Change the bytes at 0x080C8232 to 2B 28 00 DC

Keep in mind, the effects of the change activates only, if the unit data in the RAM gets an update.
In the US version, this is only (I guess) the case, if the unit is created or the job changes.
Special jobs, which can't change jobs, have a problem. In Llednar's case, this worked,
because I started a new game and Llednar is in the default party formation, therefore created.
For already existing units in the save file with non changeable jobs, you need most likely RAM-Editing.

You can even edit the hidden Item A-Ability to units via RAM-Editing, without altering the ROM.
But after a unit data update (job changes), the hidden Item A-Ability vanishes and changing back
to the old job doesn't regain the hidden Item A-Ability. But this is perfect, if you want the Item A-Ability
on a non changeable job.


RAM values:


Clan slot |    RAM-Address      |   Change byte to

1 (Marche)      0x020000B7                01
2      0x020001BF                01
3      0x020002C7                01
4      0x020003CF                01
5      0x020004D7                01
6      0x020005DF                01
7      0x020006E7                01
8      0x020007EF                01
9      0x020008F7                01
10      0x020009FF                01
11      0x02000B07                01
12      0x02000C0F                01
13      0x02000D17                01
14      0x02000E1F                01
15      0x02000F27                01
16      0x0200102F                01
17      0x02001137                01
18      0x0200123F                01
19      0x02001347                01
20      0x0200144F                01
21      0x02001557                01
22      0x0200165F                01
23      0x02001767                01
24      0x0200186F                01



Note:

If you want Llednar with the hidden Item A-Ability, I recommend to use the second Icon-Fix (76 byte change)
posted here http://ffhacktics.com/smf/index.php?topic=10685.msg211974#msg211974 . This fixes Llednar's
Icons in battle and the Item A-Ability don't appear in the ability list. But in battle, Llednar has access to the
hidden Item A-Ability! If you use the 2 byte Icon-Fix, you need to use another fix, posted here: http://ffhacktics.com/smf/index.php?topic=10685.msg213521#msg213521 . But in this case, Llednar has the Item-Ability visible in the
list and you can set the Item A-Ability as second A-Ability, while the hidden Item A-Ability is already set.
Title: Re: FFTA: Llednar as playable character - Problems & questions
Post by: ChrisLightblade92 on September 05, 2019, 12:23:43 pm
Hello, I'm sorry for the replay, but finally? what i have to do to play biskmatar with all this beautiful work?
Thanks