øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1911.msg21111e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index82e6.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1911.105e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index82e6.html.zxˆ*g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÐÚOKtext/htmlISO-8859-1gzip0|ÖÚÿÿÿÿÿÿÿÿTue, 10 Mar 2020 06:06:23 GMT0ó°° ®0®P®€§²ð®ˆ*g^ÿÿÿÿÿÿÿÿÞCÚ The Drawing Board

Author Topic: The Drawing Board  (Read 17977 times)

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #105 on: August 03, 2014, 09:50:18 AM »
Slight delay - another attack of the OCDs...

But it's looking good - here's what I have as far as Hit Points:
  • Formula to calculate Rydia's Min. HP based on Level***
  • Formula to calculate Min. HP for any character based on Rydia's Min. HP
  • Formula to calculate Rydia's Max. HP based on her Min. HP
  • Formula to calculate Max. HP for any character based on Rydia's Max. HP*

*I'm still tweaking the numbers to get the best possible correlation.

*** HP is itself a recursive calculation so at the moment the first required calculation (Rydia's Min HP) is likewise recursive. Here's a conditional description (which condenses Square's HP+ table)

Code: [Select]
---Code Moved Below---
I've nothing more elegant than that at the moment. The numbers are quite predictable enough to allow for an easy modulo formula - but I've still got it in the back of my mind. I think at least I could come up with one to hit the transition points (T) reducing the conditional set. Either way it should be relatively easy to get your hands on any give required HP value - most of which can be calculated in a single step after the TNL/Stat loop completes.

It was unfortunate that I wasn't able to to better match the gains themselves - there are too many curveballs and with such a small range of data and what would appear to be a good set of manual readjustments at Square this is the best way. I also had to work out a way to keep track of random HP bonuses already gained otherwise there'd be a risk of possibly losing HP at a Level up - That would just plain suck!

Taking a short break for now but I'll "be back in a while so don't nobody go nowhere."  :finger:
« Last Edit: August 03, 2014, 01:46:44 PM by LordGarmonde »
"Now I know; and knowing makes it even more confusing..."

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #106 on: August 03, 2014, 02:25:41 PM »
OK - Got it! It turned out to be easier than I thought - I was making it harder than it needed to be; I do that...  :blush: Anyway - Here's the "code:"

Code: [Select]
Load Current Level (as Lv)
Switch Case Lv                                                                                           -- Set Gain to Follow Rydia's ROM Table  G is actually G/8
     Case 01 < Lv < 09;     G = 1
     Case 09 < Lv < 15;     G = 2
     Case 15 < Lv < 22;     G = 3
     Case 22 < Lv < 30;     G = 4
     Case 30 < Lv < 40;     G = 5
     Case 40 < Lv < 44;     G = 6
     Case 44 < Lv < 50;     G = 7
     Case 50 < Lv < 60;     G = 8
     Case 60 < Lv < 69;     G = 9
     Case 69 < Lv < 99;     G = 10
End Select
Load HP Increase Rate for Character (AKA Slope = M)
G = G * M         --  (Tellah)  435 < M < 2495  (Yang)
G = G * RND(1, 1.115)    --  Corresponds to Expected Range of Gain (8-9, 120-132, etc.)
G = FLOOR(G/128) --  Stored M Values are Actual M * 1024, This also accounts for G/8
H(Lv+1) = H(Lv) + G --  Add HP Gained to Current MAX HP and We're Done!

Other than the the ugly Case-Select it didn't turn out too bad. My big worry was keeping accuracy as the HP between characters spread out more and more, but really it held pretty well.  This will require that two parameters be stored per character: The Slope (M) and the Base Offset (AKA Intercept = B). The values for which are:

Code: [Select]
Char. (M) (B)

DkC 947 130
Kain 1684 60
Rydia 1024 30
Tellah 435 230
Edward 952 25
Rosa 1354 50
Yang 2495 110
Porom 978 40
Palom 886 40
Cecil 1588 600
Cid 2179 260
Edge 1348 240

B also corresponds to the HP Max for each character at Level 1 - I Selected these based on each Character's known starting values - when calculating familiar values will appear for the level the character originally appeared at: i.e. 200 for Lv 10 DkC, 340 for Lv 20 Tellah, 789 For Lv 25 Edge (vs 790) etc.

I'm heading out for a bit - but I'll be back on later. As always questions are welcome - Enjoy!  :childish:

:edit: I forgot to mention that I removed FuSoYa from the data set because he has only has late-game data and it is very static and pattern-breaking. Specifically he starts at Lv 50 with a Max HP of 1900 and gains 21 +/- 1 HP per level up through 99.
« Last Edit: August 11, 2014, 02:24:18 PM by LordGarmonde »
"Now I know; and knowing makes it even more confusing..."

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #107 on: August 04, 2014, 04:09:29 PM »
Working on the pseudo-code for Stats and MP - I'll be back!

In the meantime here are a few interesting ASM links. I'm sure the second page is child's play to you guys (and gals - can't forget Pink!) - but it's still a good reference to have around. I also came upon a pretty neat randomizing routine.

http://wiki.superfamicom.org/snes/show/Testing+Code

http://www.smwcentral.net/?p=viewthread&t=30445

Code: [Select]
;Pseudo-Random Number Generator for SNES
;(C) 2001 Realtime Simulations and Roleplaying Games
;Coding by Grog

;There are numerous algorithms for generating psuedo-random numbers; I chose
; this one because it is fast and very easy to implement on a 65816:
;   R1, R2, R3, and R4 are 8-bit unsigned integers
;   R1 is the current random number, R2-R4 are the 2nd through 4th oldest
;   BYTE Random(DWORD seed=0){
;     static BYTE R1,R2,R3,R4;
;     if(seed != 0){
;       R1=seed>>24; R2=seed>>16; R3=seed>>8; R4=seed;
;     }
;     R4=R3; R3=R2; R2=R1;
;     if(R2>R3)
;       R1=R3+R4;
;     else
;       R1=R2+R4;
;     return R1;
;   }
;
;Note that the seed value should be as random as possible and cannot be zero
;This sequence starts to repeat after somewhere between 1.5 and 2 million
;iterations, according to my testing.  There is also an unfortunate bias
;towards odd numbers that I couldn't get out of it without complicating things
;more than I liked.  The bias isn't bad; there's about the odds of an odd num
;are about 60%.  This algorithm is plenty good for a game's needs, but is
;definately NOT scientific quality.  Note that this technique also needs 4
;bytes of RAM, preferably in direct page.

RandomBytes EQU $500            ;arbitrary RAM address for the Rand data
R1 EQU RandomBytes + 0
R2 EQU RandomBytes + 1
R3 EQU RandomBytes + 2
R4 EQU RandomBytes + 3


;RandomSeed -- seed the random number generator
;In:  X==Seed value (16-bit) low
;     Y==Seed value (16-bit) high
;Out: none
;Modifies: R1, R2, R3, R4, flags

RandomSeed:
  .index 16             ;Assume 16-bit index registers
  STX R1
  STY R3
  RTS


;Random -- return a pseudorandom number (8-bit)
;In: none
;Out: A==random number (8-bit)
;Modifies: R1, R2, R3, R4, A, Flags

Random:
  .mem 8                ;Assume 8-bit accumulator
  LDA R3
  STA R4                ;R4=R3
  LDA R2
  STA R3                ;R3=R2
  LDA R1
  STA R2                ;R2=R1
  CMP R3
  BMI R3_Greater        ;If R3>R2 Then Goto R3_Greater
  LDA R3
  CLC
  ADC R4
  STA R1                ;R1=R3+R4 MOD 256
  RTS                   ;Return R1
R3_Greater:
  CLC
  ADC R4               
  STA R1                ;R1=R2+R4 MOD 256
  RTS                   ;Return R1

Source:   https://github.com/optixx/snes/blob/master/libs/RANDOM.ASM  (As it appeared 8/4/14)

Of course none of this answers my original purpose in searching after thinking " There has got to be a better way to write 4 out of 5 levels that isn't    1 - FLOOR(1 - MOD(Lv,5)/5)"  :tongue:
« Last Edit: August 04, 2014, 08:36:00 PM by LordGarmonde »
"Now I know; and knowing makes it even more confusing..."

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #108 on: August 08, 2014, 12:28:12 AM »
Quick update on Stats:

As far as I'm concerned those stat tables should start packing because I plan to give them the boot!  :lungs:

The plan (which should work, I did it for DkC and I know the rest are similar enough) is to dedicate 5 bytes per character to describe their stat growth: one for each attribute. The way I've found best to describe stat gain was to define growth in terms of blocks of 5 levels each. By that I mean that for DkC I've assigned him a value of 23 for Strength gain. That number corresponds to a set of basis vectors (see below) that can be referenced bitwise:

So each vector (row) corresponds to which level in a set of 5 should be set to +1.

Code: [Select]
#/Lv 0 1 2 3 4

1 1 0 0 0 0
2 0 1 0 0 0
4 0 0 1 0 0
8 0 0 0 1 0
16 0 0 0 0 1

For DkC 23 breaks down to 16 + 4 + 2 + 1 or as a set of stat increases as:  1,1,1,0,1  meaning that at Lv 20 he should gain Str - same for 21 & 22 - then skip 23 - increase again at 24 - then repeat. Comparing the results of that sequence vs what is tabulated (when similarly starting at Lv 10 and Str = 13) I come up with 9 instances between Lv 10 and 70 where his Str is off by 1 - which really translates to him having had gained a point of Str either one level early or one level late.
Only off by 1 for 9/60 levels corresponds to DkC being off on an average of 15/100 of a stat point in reference to the ROM table at any given level in the sequence. I'll TAKE IT!   :childish:

Needless to say I'm pretty pleased with how this turned out. I did his other stats with similar results and given the earlier discussion about not being able to notice slight stat variations I'm confident with the present "Eureka!" As it stands the only problem are the few odd cases; like DkC's Will - starts at 3 - and drops to 1 where it remains. That, at this moment, I am not sure how best to handle. But at the very least I can always add more rows to the table to flag sign changes. Yang also springs to mind due to his high strength gain, which works out to adding an additional Str point every 4th level - on top of already increasing strength by 1 every level. But those exceptions are few and could be dealt with case-by-case, or again by adding rows. I am also considering storing another variable corresponding to any such exceptions.

I'll work this out over the next few days and write up the pseudo-code if needed; but I think most here are more familiar then I with that kind of splitting scheme - I didn't even think about such a clever consolidation of choices until looking at FF1 information. Also I'll finish working out the parameters for each character  - though up front it is slow going as I have to do each stat for each character 1-by-1; but it's worth it! Please comment/question as you see fit - suggestions are very welcome - but for me:  :sleep:
"Now I know; and knowing makes it even more confusing..."

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: The Drawing Board
« Reply #109 on: August 08, 2014, 09:27:52 AM »
That's pretty ingenious.
Kind of hilarious to consider that the original game developers, whose job it is (was) to think about everything they do in mathematical terms, and who were literally limited by the physical space required to house a MB of data within a game cartridge, decided to represent essentially the same stat progression in a table that is around a thousand bytes long.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: The Drawing Board
« Reply #110 on: August 08, 2014, 02:51:36 PM »
I agree with Chillyfeez, this idea to cut down on space and make formulas for level-ups rather than the silly "Set By Set!" the original game uses is very well thought out, now if only we could escape TNL and we'd be golden...

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: The Drawing Board
« Reply #111 on: August 08, 2014, 03:27:53 PM »
now if only we could escape TNL and we'd be golden...
Don't get me started...

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #112 on: August 08, 2014, 10:04:41 PM »
That's pretty ingenious.
Thanks chilly; any praise I earn is of greater weight when considering the all the great things that have been accomplished here!  :wink:
Kind of hilarious to consider that the original game developers, whose job it is (was) to think about everything they do in mathematical terms, and who were literally limited by the physical space required to house a MB of data within a game cartridge, decided to represent essentially the same stat progression in a table that is around a thousand bytes long.
Yeah - it was that initial abhorrence that really drove me in the beginning - upon later return it was goal of expanding the playing field that kept me at it. That and of course everyone's continued efforts and support.
I agree with Chillyfeez, this idea to cut down on space and make formulas for level-ups rather than the silly "Set By Set!" the original game uses is very well thought out, now if only we could escape TNL and we'd be golden...
That too was something I noticed months back as well - the prospect of new space to work with - though I didn't really appreciate it. I looked at the space gained (minus whatever coding is needed) but still didn't really get it - very Happy Gilmore: "400 yards...is that good?"  :blush:

Now - I must confess I haven't completed the stats for everyone - but I sketched something out that left me so  :whoa: I had to throw it out there...

With my current approach for attributes it requires 5 bytes per character (and then of course an additional 5 for starting values). I picked 5 because the character set all have start levels which are multiples of 5. Another reason being that in my multiple passes at the data one thing stood out in that by-and-large a 5 set is the minimum needed to do the trick: DkC with his Str gain of 1,1,1,1,0 - a set of 1,1,1,0 wouldn't do it - not without some kind of exception. Another reason was that with a basis set of {1,2,4,8,16} the theoretical max would be 31. My thinking beyond that was with 256/32 = 8   I could get all 5 stats into one number...I laughed that one off...and then started trying to work it out anyway...   :angry:  - I'll be back!
"Now I know; and knowing makes it even more confusing..."

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: The Drawing Board
« Reply #113 on: August 09, 2014, 10:42:03 AM »
Ah? Happy belated birthday Chillyfeez!

As for new characters... there is a host of problems I can think of... One is the availability of Command Sets, another is Spellsets. It looks like FFIV was planned for 16 characters at max (two of those characters were relegated to one-offs for some reason I can't quite comprehend...). What is really lacking for Anna and Golbez I believe is a proper level up system, if your new system can free up enough space for the two of them than that should be a most worthy venture. (Granted I would hope someone would think of a better character to add than Anna, personally, but alas the graphic editors for FFIV are.... well, non-existent. Only the general tools are available.)

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #114 on: August 09, 2014, 12:10:25 PM »
As for new characters... there is a host of problems I can think of... One is the availability of Command Sets, another is Spellsets. It looks like FFIV was planned for 16 characters at max (two of those characters were relegated to one-offs for some reason I can't quite comprehend...). What is really lacking for Anna and Golbez I believe is a proper level up system, if your new system can free up enough space for the two of them than that should be a most worthy venture. (Granted I would hope someone would think of a better character to add than Anna, personally, but alas the graphic editors for FFIV are.... well, non-existent. Only the general tools are available.)

Spot on with the aforementioned problems; but I like you am drawn to idea of achieving a goal that, I agree, seems to have been so clearly intended in the original design. Anna I could write off in my head as..."Well, 16 slots - leave 1 aside for just Misc. - if she weren't named Anna already that would be my name for such a character...but that leaves 15 to work with - 15 and not 14 1/2, Square..."
To turn a phrase from Black Mage:  "I wants my Golbez - ya dig?"  :cybez:

As for the last bit regarding graphics - that is sad; I know I suck at stuff like that. I know chilly had a good tutorial (really good; even I could do it!) and I remember Zozma had done some work a while back. I also feel like there was a completed set of animations for Golbez & Anna that were posted at one point (PkPaladin..maybe?) - I'll poke around a little later and update this post to make sure I point in the right directions.
"Now I know; and knowing makes it even more confusing..."

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #115 on: August 09, 2014, 01:10:03 PM »
 :offtopic:  A few distractions before getting back to business...

Because I can't play FF4 and work on it at the same time I often either listen to the music (which I love - no question there) or I watch/listen to videos of play-throughs. Some of ones that come to mind are the sets from HC Bailly - I think he's gone through the original and all the re-releases - that's a lot of FF4 right there. I've watched some...you need to be in the mood for his commentary. The two I most often goto are both from the original FF4j release - a run of the boss battles with Solo Cecil and, as I've grown to call it, the 'F-You-Baigan' TAS run. I call it that for it's exploitation of various bugs, some of which being:
  • Walking through Mist on the Overworld and then coming in the wrong way
  • Underflowing gold maxing it out for use throughout
  • The 64-Floor/Warp Glitch to skip around maps in the Underworld/Moon
  • Manipulating Palom with Stop, Confusion, and KO to change the response from Porom using Twin
  • Somehow messing with items (seems similar to the Gunslinger Code in function)
  • The above applied to bosses by using Grimoires you could not possible have at that point
  • Messing with the order of spell lists to change some spells (to gain, for instance, Sacrifice)
  • Screwing with the menu color to overflow various bytes
  • Hitting a specific combo of spell uses to underflow Tellah's MP...as to...(finally...)
  • Cast Meteo on Baigan...LOL
It makes me laugh - particularly when only watching out of the corner of my eye but listening - all of a sudden...Red-Tint...Meteo Sound...Victory Dance! Anyway, here's the link for the TAS archive where they explain the glitches better; it also has the YouTube upload embedded:  http://tasvideos.org/4198S.html
I also found a video where some guy sets up the MP underflow => Meteo glitch - so it can be done by humans :tongue:  - I might just have to try it sometime for yucks. His video is actually a play-through of the whole game in ~2.5hrs live for charity; not an insignificant undertaking: https://www.youtube.com/watch?v=YcRcbi6GmSg

Also, as mentioned, here's the FF4j Solo Cecil Boss Rush:  https://www.youtube.com/watch?v=2UgpKMOK8KA  :yabin:

The TAS page is what I find most interesting - it has a very detailed write up as to what the glitches are and how they work - all the way through listing out what ends up overwritting to various lists during glitches...
Madness I tells ya!  :eek:
"Now I know; and knowing makes it even more confusing..."

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #116 on: August 09, 2014, 05:19:44 PM »
That's pretty ingenious.

Sort of...  :blush:  - I felt it was pretty good; I was proud of it...oops...well...at least now I feel better about it  :happy:  Perhaps I should clairfy:

I've run into too many non-conformities for my tastes - even allowing for wiggle room afforded by the single point differences in stats not contributing all that much overall. Anyway...bottom line is I will definitely still requite a byte of each of the 5 stats (at least I did actually give up that dream earlier than expected). The for this being that I need to slightly increase the basis set, but it hugely expands the final set of possible values. The new plan is as follows ("Get Your Weapons Ready!"):

Code: [Select]
--Section Removed to Prevent Confusion of Poster--

The reason for the data split is just to collect terms in groups of similar operations. The algorithm I've devised for this basis is therefore:

Code: [Select]
--Section Removed to Prevent Confusion of Poster--

So the bottom line is that if the value is Odd then double the sum of the 1st two added vectors and then at the end negate the sum of what remains. Going this way allows for the calculation of something complex like (2,0,1,-1,2) Which should be 141 = 128 + 8 + 4 + 1

I didn't catch anything glaring in my logic while writing this out so hopefully there will be no more surprises. I'll be back on later when I work out the remainder of the stats and a sketch of the implementation code - above is just (more or less) the code I'm using in my analysis. - More to come!

:edit: - Logic was sound enough - but not optimal; above kept for reference
« Last Edit: August 11, 2014, 02:30:44 PM by LordGarmonde »
"Now I know; and knowing makes it even more confusing..."

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #117 on: August 09, 2014, 08:21:28 PM »
I stepped away from my computer for a bit but still had this problem on my mind. I thought of some trouble I might run into...when I got back to check sure enough... :angry:

Hopefully 3rd time's the charm...it's certainly simpler than the last one...even though I went from 5-grouping to 6...

Code: [Select]
--Section Removed to Prevent Confusion of Poster--
Really it should be all element based - which is really just applying MOD(Lv,6) before the above code - but that's just how I've been thinking about it during this workthrough. I think I'm ok with this one...having grouped the data in sets of 6 at glance it seems to conform; but we'll see. I do like that it is more straightforward...simple is good  :wink: - I'll be back!

:edit: Sets of 6 levels worked - Poster Note: Used Symmetry of (1,0,1,0,1,0) vs Odd/Even Level
« Last Edit: August 11, 2014, 02:33:20 PM by LordGarmonde »
"Now I know; and knowing makes it even more confusing..."

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: The Drawing Board
« Reply #118 on: August 11, 2014, 11:44:53 AM »
 :offtopic: In watching various play-throughs two questions popped into mind. After thinking "hmm - I wonder if Grimoire LD wrote those up?" I looked to realize when it comes to LD and dissembled routines I need to remove questioning existance of information and instead go straight to "hey I'll read LD's breakdown!" I've run into missing Wiki pages more often than missing Routines so... you, sir =  :cycle:

The even ended up on the same page... LOL

1) Black Hole:   http://slickproductions.org/forum/index.php?topic=1883.msg19252#msg19252

Just an observation I guess...watching the DS version in action I often shake my head at messages of "Counter-Attack..." - I like when we had to figure it out. Granted, they did really vary the Monster Scripts - so I get that part...but in thinking about it the only thing I can think of where the game gives you a hint (beyond "Don't attack the mist") was all the way at the end with Black Hole...why? I may not have picked up on it right off - but eventually I'd have seen what was going on; it just struck me as out of place.

2) Rydia Returns:   http://slickproductions.org/forum/index.php?topic=1883.msg19256#msg19256

I feel like the mechanism is somewhere between Edward's Hide and Rydia being hidden from battle during the Fabul siege. I watched the RAM during that and the game "removed her" from the party by setting her character byte to 0 - but it didn't change anything else for her slot data. It seemed they were banking on you not being in control to reorder the party which would have wiped her out. I realized it was the same confinement with Adult Rydia - Cid leaves - and that's Rydia's spot - you never get to change it until that whole event plays out.

Could there be some way to tap into that? One idea I had, not that I would do it - I'm too simple minded tactically, but the idea would be neat-as-hell to watch in action: what if you could call in a 5th member during battle DW 4-style. The only part that fits me really is the 4/5 member part...I always felt the game was sort of Party-of-Four + Weekly-Guest-Star...but that might just be me.

 :hmm:  - OK, back to the Stat write up!   
"Now I know; and knowing makes it even more confusing..."

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: The Drawing Board
« Reply #119 on: August 11, 2014, 12:21:46 PM »
I believe that the formation itself is something special (just like the Zemus/Zeromus' one) and there's some special code for that specific formation to hide Rydia until that is used, it would be a bit tricky to change that functionality other than the battle formation and the character it summons I would imagine. While TAY was full of those events FFIV seems to have used it only once and only with Adult Rydia.