Qhimm.com Forums

Final Fantasy Forums => Scripting and Reverse Engineering => Topic started by: james_c on 2017-12-03 23:07:10

Title: Possible to add a "Jump" command, and script on-attack effects for PCs? (FF7PC)
Post by: james_c on 2017-12-03 23:07:10

I have two questions pertaining to a couple of features I'd like to have in an upcoming mod. I'll start with the more general question, and then move on to the Jump command.

I'm interested in adding the "Heat" and "Freeze" statuses from FFIX to FFVII. Freeze was pretty simple to do, I just made 4300 the virtual address for the effect, made it always inflict stop if its set
and made a little AI script that would inflict death if the character's physical counter script is activated. I'd like to add it to the menu so it shows up as a status effect, but I'm not sure how to do that (If anyone knows, I'd be interested)

Heat is trickier, since it requires inflicting death whenever a player character takes action, but from looking at the battle addresses there doesn't appear to be anyway to add behavior "on action taken", but it doesn't seem to work (I'm not sure exactly when this thing is called during battle. For enemies it seems to be called prior to their main scripts being active, is it on ATB guage = full for Playable characters?)

Regardless, I'd like to know if it's possible to edit the Menus in the game to display new status effects/rename them? I.e I'd like to display deathforce and rename it zombie, add a freeze status effect, etc.


I thought of a better way to implement jump:

Cid's change command becomes jump. When you activate change to jump into the back row, Cid will jump off screen and become undamageable. His main script takes over and activates the Throw command every turn for three turns. He then uses his change forward animation to return to the ground, main script is de-activated, and player control is re-assumed.

This implementation mostly works, I can just have the main script take over when Cid is in the back row and force change his row at the end of it; the only awkwardness is with the animation. There's a flag 402E which documentation claims makes actors invisible, but it doesn't actually seem to work.

Revised Questions:
Is there another way to force hide an actor from the Battle AI (or via editing the executable?)
If I create a new animation in Kimera, is it possible to set my idle animation ID equal to it? (I could use this to make Cid vanish)
If instead of creating a new Animation I replace an existing one, is it possible to disable the use of that command for only one character?

Thank you for your help!


So the above sort of works, the issue is that the game seems to use the scripts I thought were for row change (03 and 04 in rzaa) for throwing items as well. There has to be a script somewhere in the game executing item throw script in order by playing 03, 09, 04, and similar ones for the change motions. Does anyone know where this information might be/if it is possible to swap out these animations or get rid of them? If I could just duplicate these animations and have one set used for item throw and another for row change, I'd be in good shape =p. These scripts should also have information about where on the battle scene to perform the animation. If you have ANY information about this please let me know!