• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 03:20:10 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


FFTA2 Tools (Updated 2013/02/16)

Started by Lennart, January 27, 2013, 01:44:40 pm

Lennart

January 27, 2013, 01:44:40 pm Last Edit: February 16, 2013, 01:20:43 pm by Lennart
IMPORTANT:
Version 0.1.2 fixes two major issues with the editor. If you've already used either editor, the safest way to ensure there are no bugs in your patch is to redo everything from scratch. I sincerely apologize for this major inconvenience (although I'm also pretty sure this only applies to one person...) but I don't say I didn't warn you! I don't believe there are any more bugs since I've done a more thorough test this time.


Below are some basic tools for the US version of Final Fantasy Tactics A2: Grimoire of the Rift written in Java. Anything they do can be easily done in a hex editor but it makes things a little easier to navigate and more intuitive.

These tools are currently in alpha/beta/something phase and any bug reports will be much appreciated. If you know what a certain unknown or blank happens to be, then by all means tell me and I'll update it as soon as possible. I recommend extracting zips to their own folder and putting the ROM you want to edit in there too (keep a clean version somewhere else as backup).

Job Editor



http://www.mediafire.com/download.php?7br53q0fnqf92pg (0.1.2)

This tool can't edit names.

Ability Editor



http://www.mediafire.com/download.php?q97o8x7uv094vmt (0.1.2)

This tool can't edit what abilities belong in a certain set (e.g. Arts of War), what animations it has, AP required and where it is learnt from.

Important things to note:
Required equipment is left in hex because I don't know how it works. Consider looking for an existing ability (eg. Shield Bash) and use it's value for the same requirements.
Fixed damage is the fixed bonus added to a unit's offensive stat during damage/heal calculation. It is sometimes ignored if the ability has a property with certain modifiers.
Target type, range and radius affect eachother. Certain combinations will result in unpredictable results. Consider looking for an existing ability with desirable properties and copying it's values.
Height difference is how much higher/lower a unit can be from the target's height and still be hit by the AoE. Note that this only really applies to abilities like Black Magick or Summoning Magick.
AP Slots is where an ability's current AP is stored in a unit's data of a certain race. While the game may read from the same memory, if a unit has maxed AP in one address and is Hume, it will have mastered a different ability than if it were a Bangaa.
The Blue Magick Index is (what I assume) to be which AP index to max out if a unit with Learn is hit by the applying ability. Also note that Blue Magick abilities all have two copies, one for the player and one for monsters.
The check boxes on page 2 are probably heavily tied with laws as well as granting certain properties, determining whether or not this ability breaks certain laws.


The missing features will be implemented in separate tools. However, since only one or two people have shown interest in FFTA2 at all, how much interest I show towards producing tools or hacks is just as meagre. Even if I could finish everything in a matter of days, I probably won't. Besides, what I achieve is shit compared to what someone smarter could do in seconds.


Ethereal Embrace

If your aim is true

then I love you.

Seriously, I'd would love to change people's stats and shiz. Especially because there are some useless jobs with awful stats (cough cough *Flintlock *Not Cannoneer *Defender *Thief *Archer *Assassin *ect)

Lennart

Thanks for your support.

Here's a link to the GameFAQs Stat Growth Chart: http://www.gamefaqs.com/ds/937330-final-fantasy-tactics-a2-grimoire-of-the-rift/faqs/53256

Familiarize yourself with how stats work before making any edits. Also note that whoever wrote that guide is off on certain stats by a digit. The editor takes values directly from your ROM so it's correct.

Updated post with a nice picture. No real progress to report since I've been busy with damned assignments.

Ethereal Embrace

January 28, 2013, 10:28:49 pm #3 Last Edit: February 07, 2013, 10:33:42 pm by Ethereal Embrace
I already got this set up in mah head (growth only).

Hume

SLD 09/02/09/08/06/07/50%
THF 07/01/08/07/07/06/95%
WHT 07/04/06/08/08/09/65%
BLK 06/05/07/06/10/10/50%
ARC 09/02/07/08/06/11/70%
PAL 08/03/08/11/07/09/45%
FHT 08/01/10/08/05/06/55%
PAR 07/02/11/06/07/05/60%
NIN 06/04/09/06/08/07/80%
ILL  06/08/08/05/11/07/45%
BLU 08/04/08/09/08/09/50%
HUN 07/03/09/07/07/08/65%
SER 07/07/06/07/09/11/40%
SKY 07/03/08/08/06/08/75%
HER 07/04/09/08/09/08/65%
AGT 07/02/08/09/07/10/60%

Viera

FEN 09/01/10/08/06/06/60%
WHT 06/05/07/07/09/08/65%
GRN 06/04/08/07/09/10/80%
ARC 08/02/08/07/06/10/70%
ELM 06/06/07/08/10/08/45%
RDM 06/03/09/07/09/07/60%
SPL  08/03/09/10/08/06/60%
SUM 05/05/06/06/11/09/45%
ASN 05/03/09/06/08/06/95%
SNI 06/01/11/07/06/08/55%
DAN 07/04/09/06/09/09/60%

As you can see, growths are generally higher, particularly for Hp and Speed. But I also wanted some more stat diversity. Vieras had no job that had an 8 or higher in Def and only had 8 as their highest Res stat.

Lennart

The ability editor is out. It doesn't do everything but it does a lot more than nothing. Feeling sick and tired.

@ Ethereal Embrace:
It's nice to change things according to how you feel but you need to step back and realise how unreliable it is. Of course, if you've played this game for many years then your authority may rank higher than the average player's but in the end, it's better to plan ahead than run through the game endless times and then feeding subjective opinions into endless patches and revisions.

I hope this doesn't discourage you from hacking FFTA2 but if you want to produce something good, you'll need to have a strong basis for why a certain number was chosen. Of course, if you believe your own experience is basis enough or you plan to make a fun hack rather than a serious shot at balance, then by all means use these numbers.

Eternal

  • Modding version: PSX & WotL
"You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
  • Discord username: eternal248#1817

Ethereal Embrace

February 07, 2013, 07:53:04 am #6 Last Edit: February 07, 2013, 10:31:15 pm by Ethereal Embrace
Yes, I've played this game for many years. Made at least 8 runs through the whole game, with at least 70+ hours on each run.

I quickly recognized that some people just plain suck compared to others. I would later find out that this was because people leveled up as certain jobs that had plain horrible stat growths. By my latest file, it annoys me to no end that I have to level people on as certain jobs, and then change them back to another job to learn that job's skills, but then change back again when they're gonna level up once more if I ever want to have viable stats/units.

Again, there's the thing where certain jobs have great skills but bad stats (generally I'm rather okay with such as Fusilier or so). Then there are jobs with excellent stats, but bad movesets (Moogle Knight, Gladiator, Paladin, Animist, Tinker, Fencer, Templar, Illusionist) which I'm also rather okay with. I just want to change their movesets a little, or a lot in the case of Tinker. 

Then there are jobs with bad movesets, and bad stats (Soldier, Thief, Archer, Assassin, White Mage,  or Hunter considering you only use them for Ultima and Sidewinder).

Lastly, there are psudo-useless jobs with mediocre to awful stats. (Chocobo Knight, Flintlock).

Yes, some numbers are meant to be low, but they certainly didn't translate well in practice. Thief has awful stats, and medicre speed when stealing is way inaccurate, loot is rarely useful unless you steal loot lv.3/4 very often. There's no reason to be a Thief (except for the occassional Steal Accessory) when there's two other jobs that are just like them but a helluva lot better. Ninja, the alternative that deals much more damage, but has an equally useless moveset UNTIL you get Seer's Magick Frenzy, making a dual-wielding Ninja one of the best jobs in the damn game. Then there's Juggler, whom has good defense and attack, and better speed. Their moveset, thanks to ring, smile, and dagger, is rather amazing AND makes Time Mage nearly useless if not for Hastega, which alone makes Time Mage worth it.

Black Mage has good stats, horay! horay! But oh that's right, meaningful bosses resist fire, ice, and lightning. Well damn, also, there's a little thing called Summoner, or the physical alternative, Parivir. Summoner is stronger, with blood price, can always cast high level magick, and with dual-cast is practically broken. Never mind that Ifrit is both stronger than Fira, has gigantic range, can't be reflected, and only costs 2 more Mp.

And you know how Backdraft is so strong that it must deal damage the user? 40% more damage is so much! But then we get this new job that has 100% more damage (than basic attack), an elemental (Geomancy anyone?) AND a status effect (holy wow)!.

Also, White Mages are much worse. Cure, Cura, and Curaga are extremely weak (without Geomancy) and are also severely outdone by Summoners. At least with Black Mage, leveling up as that job is rewarding, not so for White Mage. (I've played the game enough that I can seriously do this for every basically job in the game, except for like Agent and some Seeq/Gria jobs whom I've never bothered with.)

I can see that some jobs are meant to be better than one, that's only natural and sensible. But when your team of 24 consists of the same 2 jobs for every race, or you have to level up as a certain job so that your stats won't suck, clearly something amiss here. Changing the stats were meant so that you won't have to worry nearly as much when leveling up as a job. If you want to maximize Attack, then of course level up as a Parivir or Sniper, but when you change back into an Archer or a Thief, you don't need to worry so much that they've become too weak.

Also, what exactly is "unreliable" here. Not sure what you mean, do you mean the editor or the stats?

Lennart

<3 you too Eternal~


When I first saw the wall of numbers, there was no way I could gauge anything and there was no particular explanation to why Archers had 9 HP growth and not 8 or 10. So I called it 'unreliable' naturally. However, with your response, you've proven that you do know quite a lot about the game and that your experience alone will be able to create, at the very least, good results.

One thing to note is that defence/resistance is halved during damage calculation, so it tends to be worth half as much as attack/magick. However, since there are no true tank classes in this game, only 'durable damage dealers', this isn't really particularly important. HP and MP aren't quartered like other growth stats but they also can't be boosted by gear. Any point increases in those growths will yield more significant results.

I'd also like to remind you about base stats. Base stats are assigned on recruitment. Even if the unit changes job, these stats will always remain the same. Therefore, they pretty much only serve to encourage 'recruit as X, level as Y or X.'

The editor hasn't been rigorously tested like professional software (and even then...) so I can't guarantee that it's unbreakable. However, if you don't do crazy things to it and use the right ROM, it should work unless the game itself imposes restrictions. I'm pretty sure Move caps at 97 but the editor doesn't care and you can set it to anything less than 256. If you manually hex the ROM and input values that are larger than anything vanilla has for any value handled by a drop down box, it will mess it up. I highly doubt that anyone is that adventurous to set stuff like Gender to 0xFF manually but whatever. The text files included are the lists used in the drop down boxes so you can just add lines to extend valid inputs.

If you'd like to work with me together on a hack (promise I won't be pushy with what I've already got), I'd be more than happy to. If you want this to be your own project, then that's fine as well. I just find that having someone to pool ideas and verify changes with is pretty much the only way to get a solid result when trying something completely unheard of.

Ethereal Embrace

February 07, 2013, 05:59:06 pm #8 Last Edit: February 07, 2013, 10:34:33 pm by Ethereal Embrace
Eh, I don't want to come of as mean or anything. I've been very passionate about this game since it came out. This was the very first strategy rpg game I played and is the reason why I got the first one and into the original Final Fantasy Tactics.

But yeah, I know all of those things about them stats. At some point, I've made a point to make certain "builds" where jobs would maximize a main stat and level up as two jobs different jobs to maximize one stat, and make the next one as high as possible. Such as a Trickster that would level up until around level 40, and then spend the rest of his days as a Master Monk, maximizing speed, Magick, and almost maxing Attack.

I think Armor tends to do a good job at balancing out that Attack and Magick are 2* as effective as Defense and Resist, as long as you're using Robes or Heavy Armor. Light Armor is rather pathetic at times.

Also, that Ability editor is looking might fine, if I do say so myself.

Lennart

Oh no, I never felt any malice from you. I'm the one being doubtful here so if anyone is mean, it's me. I really appreciate someone showing interest in FFTA2, which I find to be bashed to the moon and back for silly reasons like plot or one or two easily fixable mechanics.

I guess you want to make your own project so good luck with that. If you need help with something, then I can definitely look into it for you though I can't guarantee results. It took me the longest time to figure out what little I know and others have made it clear that what I've accomplished is laughable.

I'm going to work on an equipment tool next. Afterwards, I need to flesh out what I've already got. There are too many unknowns as is and any future tools will probably have even more (although things like the Bazaar and the Auction House are pretty much complete). If you desire a certain tool first, I don't see why I shouldn't give it priority since you're probably the only one seriously using them.

Unfortunately, I'm still not feeling very motivated with hacking or life in general, so progress will be slow.

MountainDew~

  • Modding version: Other/Unknown
  • Discord username: Holographic #1363

Lennart

Version 0.1.2 has been released. Please read the big red text on the first post.

Lennart

Not to necro or anything but I've fallen really ill and I'm barely able to keep up with work. The worst part is I don't even know when I'll get better. I sincerely apologize for starting something I can't finish. If anyone wants my notes or anything, they're right here.

Note that they are hardly reliable and mostly guesswork in the end.

General stuff: http://www.mediafire.com/view/?f4ae3udxizfvwe7
Battles: http://www.mediafire.com/view/?j70198qc7ab95zr

Darthatron's Work:

MP gained per turn
00321DC0

MP Channeling bonus
00321E30

Start with Max MP
BD180: B8 03 C4 E1
BD18C: 00 10 A0 E3
BEC44: BA 03 D5 E1

I can't even get on the computer regularly so I'm just putting them here in case I disappear. Thank AugustDrake for reminding me about FFTA2 hacking at all.

Eternal

March 07, 2013, 02:44:57 am #13 Last Edit: March 07, 2013, 02:55:39 am by Eternal
Sorry to hear about you being ill, Lennart. I've been meaning to get on Skype and chat with you some, but Skype refuses to connect for me of late. :(

Your notes are very valuable and will be kept safe in my care. Thanks for all your work!

EDIT: Your Mediafire links seem to constantly fail to load the data. Can you post your notes on the Wiki, perhaps?

EDIT 2: I went to the offsets and changed the four values in each of the three sections as noted, but I still seem to start with 0 MP. I probably screwed it up somehow since I'm doing this at 3 AM with no sleep, but any help would be appreciated.
  • Modding version: PSX & WotL
"You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
  • Discord username: eternal248#1817

Lennart

This morning my head's been a lot nicer to me. Thanks for your encouragement :)

The code works in a curious way. Darth mentioned something about it working only when units are 'created', which does not apply when a save is loaded. It only seems  to apply to new units and after a battle (which happens to be when level ups occur). The surefire way of testing this is to start a new game. The enemy units should always have full MP though since they're generated on the spot.

You probably already know this but save states will pretty much load up an 'old' version of the ROM back when the save state occurred so they're useless if you're testing multiple changes to the ROM. Always re-open the ROM again after making changes.

Hope that helps.

Eternal

All right, just did a test, and enemies do start with full MP. I'll start a new game later tonight and test it for allies. Thanks!
  • Modding version: PSX & WotL
"You, no less human than we? Ha! Now there's a beastly thought. You've been less than we from the moment your baseborn father fell upon your mother in whatever gutter saw you sired! You've been chattel since you came into the world drenched in common blood!"
  • Discord username: eternal248#1817

AugustDrake

Fascinating work. The implications about unit creation and MP regeneration are interesting. This means that there's likely a variable for each unit that's created that indicates what their base MP regeneration is at. It could be possible to modify this variable. I think I'm gonna try to track it down!

Lennart

I wouldn't look that deep. The value you change is in the routine that runs for all units at the start of a turn. It's just where the +10 is located. Basically, everyone uses this one number.

Even that max MP code works in a similar way. All allied units run this routine which sets their MP to max after a battle (and probably during other events as well). If you want to mess with individual unit MP stuff then you'll have to write some of your own code in.

semigue

this are great, I had spent many years searching for tools like this.
there will be some to edit weapons and armor?

Baloo

First of all, thank you for making these tools, it will help me much. I didn't spend much time on it yet, since I saw it this morning, but I found out what a small box labelled "Unknown" was meant to : there are 3 groups of eight boxes, one at the middle-left, one at the top-right and one at the bottom-left. The first box Unknown of the middle-left group is meant to tell if an ability can be used with magick frenzy. I only tried it with Power Rend so far, and it worked. Well, I know it's a very minor help, but maybe it will save some time to others. I know this thread is pretty old, so don't blame me for bringing it up again, I just wanted to help :)

I would also like to know if other tools will be released, for weapons and armors and so on ... hope it is a yes (also I doubt it, FFTA2 Hacking seems pretty dead to me). I would absolutely appreciate if someone could explain me how to make new jobs, new abilities and how to reassign pre-existing abilities to other jobs. I realize it is complicated, and maybe totally impossible, in particularly for the new jobs. I hope someone will see this request :D