• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

FFTA: Llednar as playable character - Problems & questions

Started by _Sephiran_, November 01, 2014, 06:25:12 pm

Darthatron

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. :(
  • Modding version: Other/Unknown
  • Discord username: Darthatron

_Sephiran_

Thank you, this fixed one error:



But if I fail a mission, I get this:



Clan fights will still freeze the game.

Darthatron

  • Modding version: Other/Unknown
  • Discord username: Darthatron

_Sephiran_

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:



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:



Same values, but different order.

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






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.

sniper_zero

January 11, 2016, 07:38:56 am #24 Last Edit: January 11, 2016, 01:44:04 pm by sniper_zero
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?

sniper_zero

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.

sniper_zero

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.

_Sephiran_

February 11, 2016, 06:52:44 am #27 Last Edit: February 11, 2016, 08:07:47 am by _Sephiran_
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.



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:





Result:



The sprite is incomplete. I need to know, how the red values are working.
Has someone an idea?

_Sephiran_

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

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.



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:



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

bcrobert

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

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.



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:



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.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

_Sephiran_

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

dck

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.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

bcrobert

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.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

Believe it or not, I'm still working on this game.

_Sephiran_

September 08, 2016, 04:38:37 pm #33 Last Edit: September 10, 2016, 01:13:00 am by _Sephiran_
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 and shields

  • Llednar and status defence

  • Alchemist and the hidden Item A-Ability



Llednar and water

Llednar is unable to go into the water.



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.


2) With the AIO-Editor, use the Job Editor and change Biskmatar's standing style to float:

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 ...

*



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:


As you can see, Llednar should be able to equip shields. But in the game, you get this:


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:


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:


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:


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!


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.

ChrisLightblade92

Hello, I'm sorry for the replay, but finally? what i have to do to play biskmatar with all this beautiful work?
Thanks
  • Modding version: Other/Unknown