• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 08:40:11 am

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


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

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

Diedrik

Okay, thank you for looking into that, one of the unused ones might be the best choice, do you know if the status clearing happens on death, or every turn?

Can we draw status effect info as an underlay? Or will it always display as an overlay?

Yeah, using Git should make things simpler, I have updated the link in the pinned topic so the master installer goes there. I will test the new update to see if guests still have the ability menu issue. Thanks.

The discussion in the randomizer topic made me think of the 3 things I think I would want to use the extra space from 1bit abilities for:
1. Custom Character names
2. The ability to disable and enable characters changing sprite sets on job change
3. A morale/brave variable that other things could hook into

I also just thought of a hack that should be pretty simple that I think would make a big difference for some people, disabling the idle walking animation. Making it so characters just stand there when not moving or acting. I know that quirk of the genre has turned off many people I have encouraged to try it throughout the years.

A harder one that I thoguht of in the middle of typing that one, how hard would it be to draw a character's weapon and/or shield on them during battle?

Would it be possible to have two characters occupy the same space? Such as allowing someone to stand on top of a body, or place traps at their location, etcetera? Also, can we make new characters mid battle for the aforementioned traps? I think would be interesting if you could stand on difficult terrain/bodies, but it lowers your evasion and increases your chance of getting knocked back.
  • Modding version: Other/Unknown

Leonarth

Quotedo you know if the status clearing happens on death, or every turn?

Looks like on death.

QuoteCan we draw status effect info as an underlay? Or will it always display as an overlay?

Can you explain further? I don't know what you mean with underlay.

Quotehow hard would it be to draw a character's weapon and/or shield on them during battle [...] Would it be possible to have two characters occupy the same space? Such as allowing someone to stand on top of a body [...] place traps at their location [...] can we make new characters mid battle for the aforementioned traps?

This stuff is not possible because of how the GBA works.
There is a limit to how many sprites you can have on-screen at once, there is both a graphics limit and an object limit, even if all the sprites were identical you would hit a limit. Unit sprites use 6 objects in this game, the cursor adds a few more, the status bubbles, the height... Long story short, the object slots are taken, vanilla is already running extremely close to the limit, it even goes above it with certain ability animations, sometimes you see units blinking, that's why. Add a few more sprites and this would be permanent.

You would also just not have space for the graphics for all the weapons the units could be holding.

For standing on bodies, it's an issue of sprite priority, when a unit is just walking from one spot to another it's just a moment, but having two units stay on one location for long would just look weird, with one unit's shadow above the corpse of the other and stuff like that: shadows are only their own object when the unit is moving, they are baked into the standing animation when still, if the game didn't do this it would run out of objects very quickly.

Spawning new units in, especially if it's just to have them act as traps, would be extremely wasteful considereing there is a 13 units on the battlefield limit, RAM won't handle more, and more won't be saved. I have some ideas about traps already, they would only be visible when you try to move a unit and they would be a background element (like the range squares), not a sprite and much less a unit.

Quotedisabling the idle walking animation. Making it so characters just stand there when not moving or acting

But how would you know a unit has Stop then?
There is also no animation that has the characters just standing there, the way the game does this is it just prevents the walking animation from advancing, having the characters stand still would actually be more difficult than it sounds.

QuoteCustom Character names

Already planned, but quite difficult.

QuoteThe ability to disable and enable characters changing sprite sets on job change

I have some ideas about how this would work already.

QuoteA morale/brave variable that other things could hook into

I'm actually not sure what uses this could have.
  • Modding version: Other/Unknown

Diedrik

By underlay I mean it displays behind the unit instead of in front of them.

Stop could be signified by a status bubble, it is essentially indistinguishable from the combination of don't act and don't move.

A morale/valor variable would be of no value at the moment, but  it could be useful for other things later, such as tying unarmed attack to it like in FFT, or adjusting AI by tying aggression or perceived HP to it. It could also be used to adjust the trigger rate for things like reflex and strikeback, making them less broken. The nuance afforded to FFT by their brave, faith, and morale systems were pretty amazing.
I suppose the engine hack part is pretty much already done by your one bit abilities, the only other part that would need something as intensive as what you have been doing is displaying the valor/morale value.

Edit: Something I forgot to ask earlier:
Are we able to add things to the item command?
Can we make Draw weapon not require you to not have a weapon?
It is a little sad that there is no equip change equivalent like in FFT, framing a character around stealing your opponents equipment and using it yourself is a pretty interesting mechanic.

A minor niggle, how hard would it be to swap the rumors and missions options in the pub? When I wanna go fast I go there specifically for missions, and most especially not for rumors.

P.S. I got my blue mage style learning patch completed and have been testing it in the randomizer, not very far in, but so far it appears to be working well, that said none of my units have learned any techniques yet, but a lot of my opponents have, which is kind of interesting, and makes me want a combat recruitment option even more. Thanks for isolating that address for me.
  • Modding version: Other/Unknown

Leonarth

QuoteAre we able to add things to the item command?

Kinda. There's really no difference between Items and any other race, the only issues are:
Item actions are tied to item count of specific types of item, except for Draw Weapon.
The ammount of Item actions the game will read is hardcoded.
I have no clue how Item AI works. I'm pretty sure I have seen them using potions before but that's about it.

I have some ideas about items so I'll eventually be touching that topic.

QuoteCan we make Draw weapon not require you to not have a weapon?

Maybe, I would have to look into it. I don't know much about how the inventory is handled.

Quotehow hard would it be to swap the rumors and missions options in the pub?

I'll eventually be looking into this type of menu so it will have to wait.

Quotenone of my units have learned any techniques yet, but a lot of my opponents have

I didn't even know enemies could Learn, that's pretty cool.
  • Modding version: Other/Unknown

Diedrik

It is very cool, however none of my units have learned anything yet, and the enemy learn rate seems to be pretty high, between ~40 ~60 percent just from a gut guess.
Also I have seen enemies learn skills from themselves, such as a soldier who cast shell on him and his mates and learned shell from it.
Also apparently auto-regen works like critical-quick, it calls on the Kirin ability. I know because a thief reacted to freeze blink with auto-regen, and learned Kirin.

The learn rate difference might still just be that I use more skills than most enemies, but it still seems a little odd that I have learned none at all despite going up against a handful of dedicated spell casters, like the Ice Flans and the Ice Wizard, etcetera. One of the Ice Flans learned fire, and I was really hoping he would be able to use it, but sadly he perished first.

Getting Draw weapon to not check if you have a weapon first is pretty much the final step in the full equipment versatility I am looking for. Being able to equip armor would be cool, but far less important than changing weapons mid battle.

If we could get NPCs to use pheonix down and revive every once in awhile, that would be pretty awesome.

The next patch I think I will try to focus on is tweaking your FFT Death a little in order to allow for stabilization, etcetera. I am still pretty lost on assembly though. If you could point me in the direction of like beginner's guide or a definition list that would be great. If I get that down I would also like npcs to be able to use bandages to stabilize their comrades as well some day.
  • Modding version: Other/Unknown

Leonarth

Quotethe enemy learn rate seems to be pretty high, between ~40 ~60 percent just from a gut guess

Learn is a 100% chance, as long as you are hit with an ability your race can learn.

QuoteI have seen enemies learn skills from themselves

Learn would check if the unit is an enemy, you can't learn from a blue unit, so if the soldier was getting Shell from an item he can teach it to himself. Or perhaps another hume job had Shell, so he learnt Shell for a different job.

QuoteAlso apparently auto-regen works like critical-quick, it calls on the Kirin ability.

That's good to know, thanks.

Quoteit still seems a little odd that I have learned none at all despite going up against a handful of dedicated spell casters

Yeah, no clue, you should automatically learn anything your race can get.

QuoteOne of the Ice Flans learned fire, and I was really hoping he would be able to use it, but sadly he perished first.

It can't use it, Ice Flan is like a job in the Flan race, it learnt Fire for the Jelly job but it doesn't have that action command equipped so it can't use it.

QuoteI am still pretty lost on assembly though. If you could point me in the direction of like beginner's guide or a definition list that would be great.

this tutorial should get you started:
https://feuniverse.us/t/gbafe-assembly-for-dummies-by-dummies/3563

and here's a list of all opcodes:
http://re-eject.gbadev.org/files/thumbref.pdf
  • Modding version: Other/Unknown

Diedrik

Is that percentage adjustable at all, and also does it require the skill to successfully hit you?

Thank you very much for the guides.
  • Modding version: Other/Unknown

Leonarth

There's just no percentage, it's automatic, the spell does need to hit you.
  • Modding version: Other/Unknown

Diedrik

Okay, well it is definitely broken at the moment, my units do not trigger it at all, and all enemy units trigger it for everything, I have checked a few enemies that have triggered for abilities they should be able to learn, and it does not show up in their known ability list. The only changes are the 00 00 at the address you gave me, and setting all of the playable skills to trigger learning in the AIO.

Enemy units also trigger themselves, such as a soldier using first aid, and subsequently learning first aid.
  • Modding version: Other/Unknown

Leonarth

Are you trying this on vanilla though?
Or using other engine hacks?

Learning isn't really working right now with 1bit abilities I think, on top of that as far as I know learning never checks if your race CAN have that ability, it just gives it to you if it has the learnable bit set and you have learnt equipped, since only humes can have learn and only abilities humes can learn have the bit set.
For other races I don't really know what happens but it certainly isn't working well.

At least it seems to be checking if the two units are on the same side or not instead of just checking if the unit is an enemy.

I'll look more into it in the future.
  • Modding version: Other/Unknown

Diedrik

The vast majority of my testing is using other engine hacks because I was doing it at the same time as building a team of gladiators to test 6 ignore heights at once. Speaking of which I think jump + 1 and ignore height should be swapped, because right now the gladiator has ignore height, and the dragoon has jump + 1.
  • Modding version: Other/Unknown

Leonarth

QuotePlease note that I'm just replacing the combos by order of ID, this is not a suggestion as to which jobs should get them [each movement ability].

If you want them changed you'll have to do so yourself.
  • Modding version: Other/Unknown

dck

This might be far from what you've been working on but I'm curious, have you looked into controllable allied units in battle? The functionality is already there, but after the battle ends if these units haven't been somehow deleted (jagd death etc), all of their inventory will linger unavailable in yours. I'm not certain how it interacts with team slots but I got some time over the weekend so I'll be learning more on that with any luck.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

Leonarth

I've never looked into how guests behave in the party, I don't know much about items either.
However, there's a solution I think would work: When the heal party opcode (present in all missions) is called, we would also kill any guests in the party, or any deployed guests.

A new event opcode could also be made but that would only be useful for custom missions.
  • Modding version: Other/Unknown

dck

Hah, I like it. That's actually the type of solution I had in mind since I don't think setting it up in a way that wouldn't organically affect preset fights would be worth the effort.
Wouldn't have thought of changing the healing opcode for it though, thats clean.
  • Modding version: Other/Unknown
  • Discord username: adri#1824

Leonarth

I got sidetracked with other projects but learning should now be fixed.
I made sure it checks properly if the ability is known or not and that it correctly sets it as masetered.

The fix should also have prevented some other potential unreported bugs, I also found a pretty interesting routine that is used to get the effect of the equipped support ability so that does open the doors to some passive abilities being added.

I also added two new options, one is a list of jobs that get learning as a passive, so they can learn without having it equipped, it only includes blue mage by default, the other option is a % chance of learning to trigger so if you really wanted to you could make learn only work 30% of the time or something (set to 100% of the time by default).

And yesterday I worked on a new animation which I think is looking pretty good, it was also much easier to port over than the gria:
  • Modding version: Other/Unknown

Blunderpusse

  • Modding version: Other/Unknown
"You sure are a keen observer of the obvious, kupo!"

Gokajern

Hello, I installed this hack, though only the movement abilities, morphers morph, manual sorting, quick start, steal shoes and generic save level.
Something strange I noticed is that my one redmage (Eldena) can't learn new redmage abilities. When I equip a new ability it shows that it was learned, but when I remove the item it appears unlearned again. I was able to learn cure but only through the white mage. I've learned other abilities normally, both with her and the other characters.

Leonarth

By learn do you mean by purchasing or gaining AP like in vanilla?
And when you say equipping an item makes the ability learnt, do you mean it says MASTER? or is it just usable with 0 AP like vanilla would do?
  • Modding version: Other/Unknown

Gokajern

By learned I meant that the ability shows MASTER when I equip her the weapon. Without the weapon equipped the ability is unusable and no AP is gained.