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

My progress in FFTA hacking [Map, Events and Text editing] [Engine Hacks]

Started by Leonarth, July 16, 2018, 12:14:58 am

dck

Ah, by movement abilities I thought you meant active ones restricted by an external mech or something like that. The idea of support movement exclusive abilities is rather cool, but it might overstep into the field of actual support skills later on when youre balancing it. Either that, or without some pretty crazy options all units would probably default to movement boosts- might not making so different from just upping the movement stat itself for the job.
Regardless, great potential on that change.

A friend of mine who got mildly into ffta hacking a year back but never ended up releasing anything had a similar goal to your JP learning, wanting to reduce the space used up in save data so he could keep track of units dead in jagds and add a sort of cemetery mechanic, with the ability to resurrect them as non-humanoids after death.
Technically he actually made it functional, so yours will def be achievable too.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

bcrobert

The only overlap issue I can really see is the shoes vs the abilities. But that's as easy as removing the shoes or setting a priority check. I'm just excited to see new ability options. FFTA's short list of passives and reactions has been totally eclipsed by newer TRPGs at this point. Which makes sense logically but still sucks since I love the unique feel of these games.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

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

dawnbomb

i sent a PM to Lenarth. i'm extremely interested in this. please check your PMs!

Zeke_Aileron

As much as i highly dislike FFTA, but after seeing the possibility of map editing and learning abilities in a similar fashion to FFT has made me fanboy a bit more since i loved FFT and FFTA2.

So keep up the outstanding work on your progress with these since it opens up a lot more of modding potential for FFTA.
  • Modding version: Other/Unknown
  • Discord username: Zeke Aileron™#0606

Leonarth

I haven't posted anything in a while so I figured I would get something together in case anybody wants to check it out, I'm releasing the first version I made of the skill purchasing, it includes no balance changes (other than disabling combos and totemas), it's purely the engine hack.

Please, notify me of any bugs you encounter.

Explanation and Features:

With this engine hack units will be able to learn abilities by using their JP.

The units earn JP points at a rate of 1 for every EXP point they obtain, judges will still grant JP but that will hardly matter. The max JP a unit can have is 999, this number is by-unit and is shared between all their jobs, unlike in FFT.
Units can't learn an ability for a job they don't have access to.
JP cost of an ability goes down as the unit earns AP for it.

To purchase an ability you need to visit the abilities menu (Pick Abilities -> Press R (info)), simply scroll to an ability of a class the unit has access to and press A, if the unit has enough JP a prompt with the cost will appear, otherwise nothing will happen (for mastered or unpurchasable abilities) or a message saying there is no JP available will show up.
All abilities for all unlocked jobs will show up even if the unit has 0 AP for it and doesn't have the corresponding item equipped, so you can go for your favorite abilities right away.

All blue magic that is mastered through Learn has had its cost changed to 0, making it unpurchasable.

Combos and Totemas can't be used. Units can still learn combos, they just can't use them.

Download Links:

The patch for vanilla FFTA:
https://www.dropbox.com/s/vv44ec74uof50xl/FFTA_JP_Skill_Purchase.ups?dl=0

The source buildfile, which you can use to apply this to any FFTA romhack:
https://www.dropbox.com/s/cbjl8bahx29rpyq/ffta%20skill%20purchase.rar?dl=0

If you are trying to apply the engine hack to a FFTA romhack you will need to find where freespace starts and change the FreeSpace definition at the top of the ROM Buildfile.event file.

Known Issues:

After purchasing enough A-Abilities to unlock a job you will need to visit the job changing menu for it to get unlocked, that's just how the game works, I don't consider that important enough to fix it for a demo.

After purchasing abilities and exiting the menu you can see the old JP value flash for one frame, again I think this isn't important enough.
  • Modding version: Other/Unknown

ExL

That's a breakthrough in FFTA hacking for sure :v/:
All that can be asked for at this stage is separate patch without Combo/Totema changes so people can use it as a base for their projects. Ability buying system may find it's place in different hacks and can be a good start for them.
Personally I like vanilla system more and think it's one of the best parts of FFTA/A2 games, but taste differs among players. Not that it's bad or I won't give it a go of course :lol:
  • Modding version: Other/Unknown

Leonarth

The combo/totema disabling is just a one instruction change, it's in the jpLearn.event file, in line 7, removing line 7 and building the rom again would enable combos and totemas but any unit would be able to use totemas every other turn which is why I disabled them.
  • Modding version: Other/Unknown

bcrobert

Combos and totemas were too broken anyway. There's probably a better way to implement totemas and combos can be replaced with movement abilities or a second passive ability slot. The only thing that I'll miss about the combos is the really cool animation.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

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

Leonarth

This is an update to the skill purchase system, I have been updating the files on dropbox these past days but I thought I would make a post here about what's changed.

To anybody that is wondering, you can use this engine hack with existing saves for both vanilla and hacked FFTA versions without issues.

The only thing that I think is left would be to change the judge reward graphics (JP1, JP10), I might do that at some point but I do not consider it important. I would say the patch is now at a 100% playable state.

I want to remind people that this patch makes it impossible to use combos and totemas.



Fixes and Changes:

First of all, I made a lot of changes so sorry if I forget about some of them.

  • Added a better display for the current AP, it now shows both current AP and total needed AP.

  • The abilities menu should now never bork graphically.

  • Changed the way blue magic is checked, the old way (making it have 0 AP needed) was causing too many problems. (It now works through a forbidden-to-buy list)

  • Fixed Steal: JP.

  • Fixed judge JP awards.

  • Made it so unmastered abilities don't show for enemy units.

  • Made it so unmastered abilities don't show for ally units during battle.

  • Added options to the "Rom Buildfile.event" file.



Options:
This is a list of things you can easily change by just opening the buildfile.

  • Steal: JP's "damage" threshold. (base, variance up, variance down)

  • Judge JP rewards. (Hunting reward will be JP reward*10)

  • List of forbidden to buy abilities.

  • Option to remove judges from the game. (default OFF)


The default base damage for Steal: JP is 20, with 10 up and down variance, the judge reward is also 20 by default, judges are NOT removed by default.

Download Links are still the same:

The patch for vanilla FFTA:
https://www.dropbox.com/s/vv44ec74uof50xl/FFTA_JP_Skill_Purchase.ups?dl=0

The source buildfile, which you can use to apply this to any FFTA romhack, as well as to customize the whole thing:
https://www.dropbox.com/s/cbjl8bahx29rpyq/ffta%20skill%20purchase.rar?dl=0

(A friend has been testing Skill Purchase with Grim Grimoire, so I thought I would add an .ups file for it)
The patch for Grim Grimoire, apply over a rom with Grim Grimoire already patched:
https://www.dropbox.com/s/eccmgnwwrnoitfo/FFTA_JP_Skill_Purchase_GG_Beta_0.993.ups?dl=0
Keep in mind that this mod might update in the future, rendering this .ups patch unusable, if that happens use the buildfile download.
  • Modding version: Other/Unknown

Diedrik

The buildfile failed to create a UPS file, I am presuming I am missing some other tool. The FFT_hack file though worked well enough for my purposes at the time.

I am assuming that it is not possible to have both the custom AP display and the fill bar? I tried adjusting it a bit, and found that letting it use any of the old schema at all mostly just lead to it messing up. Possibly as a side effect of the hoops necessary to display all of the abilities at once.

I do want to keep combos as a mechanic, but I think they require a lot of tweaking, and would definitely rather have a movement ability type to equip instead. Especially since there are only two combo abilities really. (100% hit rate combo, or combo that can be activated by someone else while the character is at a distance, both of which are kind of terrible in their own way). And therefore it is a waste of a slot space.
  • Modding version: Other/Unknown

Leonarth

Creating the .ups file is not integral to building the rom so there isn't any real issue, you can create an .ups file manually using NUPS. If you look at the .bat file it calls for ups/ups.exe, I actually don't know if there is any repository specifically for this tool but you can download it from this one https://github.com/FireEmblemUniverse/SkillSystem_FE8/raw/master/ups/ups.exe

I had both the bar and the number of AP in the past, I eventually discarded this, the number tells you everything you need to know and worrying about the bar working at the same time was just wasted effort.

I have some ideas about implementing combos at the same time as skill purchasing but it will take me some time to get to that since I'm on a break right now and I have some other projects started too.

A way to get a lot of free saved space on every unit would be to remove the whole slowly learning abilities thing, that way we could make them take just one bit (maybe two, one for learnt, one for equipped), you would be able to equip abilities that weapons grant you but you would never master them unless you purchase them. You would get points to purchase with for performing actions, but also from the regular AP rewards after a battle.
With this we could keep track of how many levels with each job a unit has, their kill count, have custom names for units and many other things. How would you guys feel about that change?
Also, shoes could be made to grant a movement ability you can equip instead of always giving the effect.
  • Modding version: Other/Unknown

Diedrik

Thanks.

I really like the bar, but just because it looks nice and is a faster more clear way to see the AP progression.

Ooo, I really like the dual learning system as it currently is, far more than I expected. However, having the AP reward also grant fungible points would be pretty good.

Custom names sound really good. I think all in all it would be a really beneficial trade off, so I am all for it. I do not think we actually really need job levels, partial mastery does make sense for unlocking more jobs, but having more variable space to work with on units in general would be awesome.

Do enemy units also keep track of AP? Could utilize that same space for them as well.

The main things I want for units that they currently lack:
Gender (at least for Humes), single bit, but unlikely to be useful given the lack of sprite variety.
Factors that affect AI, such as Personality, Morale, Fear, etcetera
Feats/Badges (I really liked how they granted passive bonuses, and unlocked classes in TO:KoL) One bit per feat.

Do you know how many bytes the AP and Combo systems are currently using?

Can we make Items just an available action for everyone? Since you do not have to learn skills in it, it does not make as much sense for it to take up a skill slot. It would be kind of interesting if you could equip usable items for use in battle, like in TO.

I think my ideal skill learning system would work like this:
1. Select skill you want to learn.
2. Skill becomes useable, but has a chance to fail (possibly success = jp/cost)
3. When jp ≥ cost, the cost is subtracted from jp, and the skill is mastered.

Just keeping the JP Purchase as is, delinking it from combos, and cutting out AP to free up more bytes for character data though would be awesome.
  • Modding version: Other/Unknown

Leonarth

Sorry for the delay, I've been very busy lately, I tried to address all your points.

Enemy units are in every way the same as player units, the only two differences between player and non-player units is where they are loaded to in ram (non-player units are loaded after the last unit of the clan, even if it's empty) and a bit that determines if they are red/green.

Using one bit for gender would make sense, but I would have to look into it to see what would be easier, making gender a bit or a new race, I want to work on adding new playable races at some point anyway.
I guess gender could be something unrelated to race, since people might want monsters to have genders too, but some races could always be male or female.
Another possibility is making it be two bits, one for male, one for female, some things, like boxes, would be neither, some monsters might be both (flans maybe?), but unless new abilities that interact with this or some monster breeding side activity is added it would be pretty pointless.

To me units in FFTA always looked androgynous enough to not worry about it but if people care about it enough to make alternate animations for the genders I would be glad to add them in.

As for personality, AI is something that's hard to mess with, the only variables that are easy to interact with are the job's aggressiveness level and the ability AI properties, I worry that changing them only a bit wouldn't be noticeable to the player and changing them too much would make the AI exploitable. Other factors that could possibly be played with are current hps, making a unit thing they have less hp left than they actually do or that they target is lower on health, etc.

I know nothing about feats/badges, depending on how they are granted some of them would take more space (number of kills, total damage dealt, number of tiles traversed, etc) but it sounds like a possibility.

Combos take 3 bytes total, one for the equipped combo ability and two for the total JP (even though it maxes at 10...) and AP takes 0x90 bytes, each byte being the AP the unit has for the corresponding ability index of that race, with the first bit being used to mark if the ability is usable (because it's mastered or because an item is granting it).

Making Items available to everyone would probably not be too hard since it's already programmed in for alchemists. Having an individual inventory for each unit sounds possible if abilities are made to take just one bit, but a menu for it would need to be made though and if we get the AI mixed into it... it would take a lot of effort.

I think making abilities have a chance to fail would lead to people just not using them until they are mastered, some abilities already have a lower hit%, some cost mp and some aren't good enough to risk an extra chance at not landing, it would also take some work and I don't know how it should affect abilities that aren't actions.

I took combos out because I plan on turning that slot into movement abilities instead, nothing is really preventing combos and totemas from being allowed to exist within the JP purchase system, they would just be constantly available since getting JP is extremely easy.
  • Modding version: Other/Unknown

Leonarth

It has been a while since the last update to the skill purchase system.

This version is still compatible with existing savefiles. This will however likely change in the future, when ability progress is made to take up 1 bit instead of 1 byte.


The newly included "Move +1" ability.


The new limit for JP, 9999. Together with the other graphical changes this allows for abilities to cost more than 999 JP.


The new, optional, movement confirmation system, which prevents movements from being undone.

Changes:

A few changes may seem like downgrades at first, this is because they are preparing the groundowrk for 1 bit abilities, getting rid of AP in exchange for save data space.
I might do a version that still has the AP stuff in the future, but many engine hacks I'll work on will use this new save space.

  • Increased JP maximum to 9999 and adjusted every display and earning limit accordingly.
       (Please let me know if I missed any of them).

  • AP rewards are now JP rewards, they grant JP only but work otherwise the same.

  • Changed the AP icon to be the same as the JP icon.

  • Removed current AP from the ability list display, now only total cost is displayed.

  • Changed the "Combo" icons into "Movement" icons.

  • Added the "Move +1" ability, replacing "Combat Combo". The ability is complete, it costs 200 JP and the Mythril Sword still grants it.
       The effect is tied to the ability effect ID, meaning that giving that same effect ID to a different ability will work as expected.

  • Added an option to the buildfile to make movement impossible to undo.
       Movement can still be undone before selecting the facing direction.
       Units will always select a facing direction after moving even if it isn't the end of their turn, as confirmation.
       This is a work in progress and in the future there will be an option for this to only affect units with abilities like "Lifefont".

  • Added an option to the buildfile to make shoes stealable with "Steal: Accessory".
       These options should be really easy to apply by themselves if you want them without the purchase system, check out the buildfile download.



Fixes :

  • Fixed "Item" and "Mythril" dummy abilities showing on the ability list.

  • Fixed the old JP value flashing for a frame after purchasing an ability and exiting to abilities menu.

  • Fixed JP not showing as 9999 (or 999, previously) in some menus when a unit is above the limit.
       (Getting past the limit with legitimate play should be impossible, please notify me if it isn't).

  • Fixed JP display on party screen not working at all.

  • Fixed JP cost display on support, combo/movement and reaction lists not working properly.
       It is not possible to buy abilities from these lists, you'll need to buy them the usual way.



Options:

In order to access these options you need to download the buildfile version of the hack to modify "Rom Buildfile.event" and rebuild the patch.
Feel free to discuss about your option preferences as it might influence what is left as deault false or true in the future.

  • No movement undoing, default false.

  • Stealable shoes, default false, stolen by using the "Steal: Accessory" ability.

  • Remove judges, default false.

  • Steal JP damage and variance, default 20 damage, 10 variance up and down.

  • Judge rewards, default 20, multiplied by 10 with the Hunting ability.

  • Forbidden and invisible abilities list, blue magic that is learnt from monsters is forbidden to buy, dummy abilities are invisible.



Download Links are still the same:

The patch for vanilla FFTA:
https://www.dropbox.com/s/vv44ec74uof50xl/FFTA_JP_Skill_Purchase.ups?dl=0

The source buildfile, which you can use to apply this to any FFTA romhack, as well as to customize the whole thing:
https://www.dropbox.com/s/cbjl8bahx29rpyq/ffta%20skill%20purchase.rar?dl=0

The patch for Grim Grimoire, apply over a rom with Grim Grimoire already patched:
https://www.dropbox.com/s/eccmgnwwrnoitfo/FFTA_JP_Skill_Purchase_GG_Beta_0.993.ups?dl=0
Keep in mind that Grim Grimoire might update in the future, rendering this .ups patch unusable, if that happens use the buildfile download.
  • Modding version: Other/Unknown

Diedrik

Do not worry about delays, we understand this is a hobby in your spare time, something nobody has much of.

I definitely like the multiple bits for sex idea, but also agree that it would be superfluous without a dramatic quantity of additional content.

Having each unit have a modifier applied to their job's aggressiveness and their perceived HP, MP, etcetera would be a really satisfying way to add personality types in my opinion.  Especially if we can have a morale/terror system that adjusts those modifiers.
That would also be very useful if we could have an auto-battle system. Are we able to flip the guest bit mid combat?

I really like the badge system in KoL, and would prefer to have something like it to learn skills and unlock classes, but I think it falls in the same category as sex, interesting, but not worth adding unless a much more drastic overhaul is planned.

Just having items available for use without costing an action ability slot would be pretty good, are we able to add abilities to the list? Like drop weaon? Thereby allowing some of the uses of equip change.

I definitely prefer movement abilities over combos, especially since most of the combo abilities were just copy pastes of eachother. I really like the idea of combos, but they need a significant overhaul and should be divorced from the JP system.

Many people have said the non-final movement is a key selling point, so having an option to have canceled moves just take back the benefits of the font like abilities might be a good idea, or granting them at the end of the turn. I do have to say though that one of the main appeals of them in FFT was to use them mid turn in order to make other actions possible.

Can we get an option to only get JP as the mission reward instead of also as a duplicate of exp? I am interested in this option for two reasons:
1. I am interested in level flattening, and thus might want to take out exp entirely at some point.
2. I find the fact that I gain more AP for doing an action leads me to act against my units best short term interests for the benefit of their long term interests (ability mastery).
Pretty sure I can do this just by editing the build file, but it would be nice to have it as an option on the front.
  • Modding version: Other/Unknown

Leonarth

Today I decided to work on something I always wanted as a kid, it doesn't change the game much but I think it's a big quality of life improvement.



I call it manual sort, it allows the player to customize the party order.
Tomorrow I'll try to work on adding sound effects to it but the patch is otherwise completed.

I will make a release after it has gone through more testing.

EDIT: Sound proved to be way easier than I expected. I guess I'll release it today.
Here's the download: https://www.dropbox.com/s/14hyhegmbnqnlvg/FFTA_Manual_Sorting.rar?dl=0
Includes both the .ups patch (for vanilla) and the buildfile.

How to use:

  • Go to the party menu and switch the sorting method (with L) until it's in the Numbers mode.

  • Press Select on a unit you want to swap, the units will be ordered by number if they aren't already ordered.

  • The selected unit will be marked by two stars.

  • Select a second unit to swap them with, or select the same unit again to cancel.
       You don't need to do anything special to exit manual sorting mode, just keep using the menu as usual.


There are options to set Marche and Montblanc to be impossible to swap, in case it causes issues, but it is not enabled by default.
  • Modding version: Other/Unknown

bcrobert

Huh. I always wanted manual sorting but it never comes up in conversation. Very nice.

Unrelated: I am personally against the idea of having an individual inventory for each unit. The game has plenty of micromanaging already.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

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

Diedrik

Yeah, I agree it can get kind of overbearing in TO

Manual sorting is the sort of quality of life thing that is not necessary if it does not exist, but is totally required if it does exist. It also gets me hopeful for an invite/diplomacy function for recruiting enemies. Has anyone tried forcing the recruitment dialogue to appear after a mission? If we could copy enemy data there that would be awesome, especially if you could queue a few at once like in Tactics.
  • Modding version: Other/Unknown

Leonarth

I haven't tried to make recruitments happen, but since the game itself can already do them it shouldn't be too hard. I have documented a lot of event codes and one of them is the special character recruitment, which can even happen mid-battle, there is an issue with getting multiple recruitments to happen after battle, though:
When the mission complete animation happens and the battle ends, all enemy data is cleared. This means that even if we had an enemy that was invited, the enemy wouldn't be there anymore by the end of the battle to accept this invitation, there are several solutions to this, the one that makes the most sense to me is making the game not clear the data as soon, making it be cleared after the recruitments or when a battle begins instead.

Right now I'm working on other stuff though, I want to change how abilities are tied to jobs, how the game checks which jobs are available to each race and how the game checks for job unlocking. These things are too limited right now in my opinion. I'm doing it as a part of the jp purchase system but I will try to make it compatible with vanilla as well.
When I'm done the result should be:

  • Races having any number of jobs, including races that can't job change in vanilla, or new ones.

  • Being able to determine a list of abilities for every job, with the option to do it the vanilla way still intact.
       (The limit of jobs at once on the job wheel is 12, I'm still undecided on how to handle this).

  • Being able to easily set custom requirements for job unlocking with ASM such as needing X level or being Y character.

  • More control over which jobs show up on the job wheel so that theoretical jobs specific to one character don't show up for people that can never have it.

  • A new place for the list of unlocked jobs to be stored to, allowing 0xFF jobs to be unlocked up from the previous 41.


Please note that when I say "unlocked jobs" it can mean two things: when a unit unlocks a job they can change into it, but it also becomes "unlocked" for the rest of the game, which makes it appear on the job wheel for units that can't yet change into it, if you have any good idea about what to call these two different things that would be nice.

As for the 12 jobs limit on the wheel, I was thinking a way to handle it would be to split the wheel for units that have more than 12 jobs into several wheels of equal size (so a unit with 13 jobs available would have a wheel of 7 and a wheel of 6), being able to change between them with L and R and maybe showing the current wheel you are on in the corner. I would think that at absolute worst someone would want 3 wheels for 36 jobs but I would try to make it handle up to 9 (for a possible total of 108 jobs... No idea who would want so many of them).

If anybody wants to help with this: feedback on the ideas is welcomed, it would be very nice if you could check if after loading your files the area from 0x2001F80 to 0x2001FAF is empty or not after reaching the world map (I haven't been able to find any use for this area even though it saves) and also if you know of any set of sprites that could be used to make a custom job please let me know.
  • Modding version: Other/Unknown

bcrobert

"Unlocked" and "revealed" maybe?

Also another possible take on the invite ability: It could temporarily store the character in the clan data. So even though it mechanically is giving you the option of whether to delete the temporary character or not at the end of the battle, it would look to the player like it's just a typical recruit option. There would need to be a check that makes the invite automatically fail if the clan is full but that check should be there either way imho.
My FFTA hacking tools: http://ffhacktics.com/smf/index.php?topic=9559.0

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