øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2021.msg22888e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexda75.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2021.15e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexda75.html.zxô%g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈÐùˆOKtext/htmlISO-8859-1gzip0|ÖùˆÿÿÿÿÿÿÿÿTue, 10 Mar 2020 05:46:50 GMT0ó°° ®0®P®€§²ð®ó%g^ÿÿÿÿÿÿÿÿ/@ùˆ FFIV Job System (Culmination of all of our works and hacks)

Author Topic: FFIV Job System (Culmination of all of our works and hacks)  (Read 5513 times)

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #15 on: April 07, 2015, 10:09:56 PM »
I like it, but I do have a few questions, mostly just clarification points...

So the spells the characters learn as a result of using their specific jobs, do they always have them regardless of job thereafter?
That is, does Scholar Edward have access to Bard Edward's spells?
How is the battle counter affected by job changes? If I'm at 254 with DK Cecil and I morph into P Cecil, will P Cecil be one battle away from his next spell? If not, then will he be 255 battles aeway? Or is this what those 26 bytes of SRAM are for?
Since we're on it, are Paladin and Dark Knight two of Cecil's jobs?
Also - and maybe you've covered this in some previous post somewhere - are there enough Job IDs to handle three Jobs for every character?
What about Tellah? Does he have three Jobs? If so, are you planning on "pulling an Aeris" on the player, or will he be revivable? Or maybe FuSoYa will be Tellah part two (or four, or whatever)?

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #16 on: April 08, 2015, 12:32:49 AM »
I like it, but I do have a few questions, mostly just clarification points...

Haha, very astute questions, thankfully I have considered all of them in the making of this process.

Quote
So the spells the characters learn as a result of using their specific jobs, do they always have them regardless of job thereafter?
That is, does Scholar Edward have access to Bard Edward's spells?

Correct. Each character job (except for Kain/Edward/and Rydia's) will equal out to 24 spells learned to fill up their spellbook. As you can imagine this would mean that each character has their own separate Magic Menu and hence there is no delineation in Spellbooks any longer. One big problem one would normally considered are lack of available skills... well I extended Black Magic and White Magic to 42 Spells in each of their schools and a mishmash of physical skills for the more physically oriented characters (but due to the way this is set-up all characters will get some semblance of magic)

Rydia is... a bit troublesome. She needs to account for the 15 Summons which means she would only get 9 spells otherwise. I will have to consider how to approach that when the time comes.

Kain's Dragoon job will have Dragon Speak with 16 Dragons to get skills from, but he won't learn any spells naturally in the Dragoon Class.

Edward needs 4 Spell Slots empty for Read to work appropriately.

It is precisely the incentive to switch classes from a game progression perspective is to get the additional spells to complete the spell books.

Quote
How is the battle counter affected by job changes? If I'm at 254 with DK Cecil and I morph into P Cecil, will P Cecil be one battle away from his next spell? If not, then will he be 255 battles aeway? Or is this what those 26 bytes of SRAM are for?

Since we're on it, are Paladin and Dark Knight two of Cecil's jobs?

I have considered this... this is another iffy circumstance. First off, yes the 26 Bytes of SRAM stores Job Progression where necessary. (Dragoon Kain, Berserker Kain, Scholar Edward, Tellah, FuSoYa do not use this. Hence the Exact amount of 26 being necessary out of 31)

Dark Knight Cecil will advance and learn his spells, but when he turns into a Paladin the job counter for Dark Knight Cecil will be reset as well. This is actually to avoid missing out on Dark Knight spells since Dark Knight Cecil and Paladin Cecil will not be sharing a spellset because I don't want a "newly crowned" Paladin to have access to the Dark Knight spells since it would sort of spoil the feel of retrieving that power later on.

And as you can guess by now, Paladin and Dark Knight are two of Cecil's Jobs. The third is the Mystic Knight (SpellBlade abilities) since he seemed the most appropriate for that role.

Quote
Also - and maybe you've covered this in some previous post somewhere - are there enough Job IDs to handle three Jobs for every character?

Nowhere Near enough! The game supports 32 Classes all in all yes, but anything beyond 16 is an incomprehensible mess and not worth bothering about

But this plan never was going to utilize that though, I cannot change Equipment Indexes except in very specific circumstances and I only have two  blank spots for that which are going to be used for Onion Knight Porom and Samurai Yang that look at the equipment a character has, and if the character has the proper Job equipped, their Class changes for that screen only to change equipment. And forget about adding an additional 19 sprites in-battle and out of battle, haha!

What will happen when you equip a Job, custom code will look to see what item is equipped in the "Job Slot" and change the Class Name based on Index. Much less messy than dealing with Actual class parameters *shiver*. Incidentally the end of battle will also look at the Job Slot as well to properly increment the Battle Counter. I may also throw in some stat readjusting when changing jobs but that could be trickier than I imagine.

Quote
What about Tellah? Does he have three Jobs? If so, are you planning on "pulling an Aeris" on the player, or will he be revivable? Or maybe FuSoYa will be Tellah part two (or four, or whatever)?

Tellah and FuSoYa are their own jobs Sage and Arbiter respectively, but they start or obtain all of their spells through other means outside of the Job System and since they are fully temporary characters I didn't want to have them gain abilities that you would later lose. Granted this does not mean I have ignored Tellah and FuSoYa.  Tellah will have the lion's share of FFI spells as a sampler of many of the spell sets.

The clear worry present would be spell overlap, but I tried my best to make sure that each character still seems unique (granted there might be just a little too much curing going around, but I'll try to adjust the difficulty appropriately to utilize that).  Each character has their own unique spell (unique among the Job Classes, no guarantee that Tellah and FuSoYa won't have them) to be obtained for Mastery (planned this has been a little trickier to parcel out than hoped)


Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #17 on: April 15, 2015, 10:45:26 PM »
I am nearly there! I have my job system working *almost* perfectly!

Since it is no longer hypothetical, much of this code is now input into the game I will lay it all out here.

There are 31 classes. Each permanent character (everyone but Tellah and FuSoYa) has 3 classes, 2 of these can be switched to with the appropriate "Job Item' of which there are 20.




Before...



Equipping Knight Job...


After...





Each Job will come with its own Job Tracker and unique Commands, after every victory the Job Tracker will go up by one. Due to the way this is set up every Level Up while in a class counts as another addition to the Job Tracker.

After a certain number of battles, depending on Job, you will gain spells for that character.

Ironically, despite how proud I was of the Commands in RAM, it served no purpose in the final product as the commands are looked at from another place all together so that freed up the SRAM and that's a good thing. When Rydia changes her classes she'll exchange all of her Non-Summons for the spells of that class.

So say you are a Caller and have leveled up to 85 Battles, this means you already have 4 spells from Caller. Cure, Pure, Ice-1, Venom.

Say you just obtained the Geomancer Job and you switch. Her four non-Summon (and Fire1) spells will be saved to SRAM. When you go to switch Geomancer for either Caller or Necromancer they will be put in their proper place in SRAM and drawn out again when switched to.

I am still on the fence how to handle Edward's Read Spells (Take an enemy's Spell set from their Randomized AI). If they should be limited use, last until the job is switched, or what.




« Last Edit: April 16, 2015, 12:25:46 AM by Grimoire LD »

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #18 on: April 16, 2015, 12:02:16 AM »
This is pretty damn cool.  Final Fantasy IV so needs this sort of development and attention.  I'm getting bored of seeing Final Fantasy VI and CT stuff.  :)

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #19 on: April 16, 2015, 01:09:43 AM »
In a way, I think because ffiv had such a limited battle system to begin with, it lends itself to much more dynamic and diverse hacks than what one could do with vi.
I mean, you could pretty much already do anything you want in vi, so interesting ideas about how to switch things up are rare.
But vi has a larger fan base, so the research into its innards was far more complete until only recently.

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #20 on: April 16, 2015, 01:37:59 PM »
True! 

Final Fantasy IV is still a better game.  :D

^ Bias because it's my favorite game ever. 

LordGarmonde

  • Baigan
  • *
  • Posts: 271
  • Gender: Male
  • "Power only breeds war..."
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #21 on: April 16, 2015, 02:12:18 PM »
This is pretty damn cool.  Final Fantasy IV so needs this sort of development and attention.  I'm getting bored of seeing Final Fantasy VI and CT stuff.  :)

Agreed; this is truly some amazing work!

True! 

Final Fantasy IV is still a better game.  :D

^ Bias because it's my favorite game ever. 

My favorite too, so I guess I'm biased as well; but I'm ok with it. One thing I can say is that it sure has had a lot of re-releases over the years, second I'd think only to the original; so at least it lives on in that way; and of course through everyone here.
"Now I know; and knowing makes it even more confusing..."

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #22 on: April 16, 2015, 07:00:08 PM »
This is pretty damn cool.  Final Fantasy IV so needs this sort of development and attention.  I'm getting bored of seeing Final Fantasy VI and CT stuff.  :)

What is strange about those, as Chillyfeez mentions is that really not much revolutionary has been done with them as far as the gameplay is concerned, but that may be because there is so much more possibility and variety that can be utilized in FFVI and CT by default. (Granted FFVI still has no working Event Editor).

In a way, I think because ffiv had such a limited battle system to begin with, it lends itself to much more dynamic and diverse hacks than what one could do with vi.
I mean, you could pretty much already do anything you want in vi, so interesting ideas about how to switch things up are rare.
But vi has a larger fan base, so the research into its innards was far more complete until only recently.

Chillyfeez hits the nail on the head, FFIV is very plain, basic, and barebones. FFVI by comparison is glutted with secret functionalities and every possibility accounted for and its larger fan base has all but mapped the Entire game's ROM. We have much more freedom though, we deal with not very complicated event flags whereas FFVI looks at so much more for every nook and cranny, we have a wonderful map editor while FFVI may be just a little too complicated for that. FFVI's battle system is already top notch where FFIV's is lacking in many respects leaving a lot open for possibility. We still have a ways to go with FFIV but some of these routines are just so Boring to follow, oy...


This is pretty damn cool.  Final Fantasy IV so needs this sort of development and attention.  I'm getting bored of seeing Final Fantasy VI and CT stuff.  :)

Agreed; this is truly some amazing work!

True! 

Final Fantasy IV is still a better game.  :D

^ Bias because it's my favorite game ever. 

My favorite too, so I guess I'm biased as well; but I'm ok with it. One thing I can say is that it sure has had a lot of re-releases over the years, second I'd think only to the original; so at least it lives on in that way; and of course through everyone here.

FFIV is one of my favorite games of all time, but I can look at it and see the faults (some Drastic, like screwing up Evasions all together, an unbalanced backrow, many worthless commands) but still it is a solid piece of work which makes it an ideal building block for any future endeavors.

As for updates...

I tried so hard, with all of my might to get the CODE:2 to activate outside of the "Level up" sequence, but to no avail. So that means when someone Job Levels Up all the game says is "Learned (X Spell)." Name generating appears to be something special that isn't as simple as grabbing the proper values and plugging them in (as it is with displaying Spell Names).  It's not ideal, but I'll compromise with it for the moment.

But that was the final hurdle, some sort of display to indicate something has happened. I think there may be something still slightly off with my magic-grabbing routine, but I'll know in time.


chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #23 on: April 16, 2015, 07:21:22 PM »
I didn't have any problems getting that message to work for Kella's (blue magic) Learn command in TfW... until I changed the spell name lengths around (though I think I could work in a fix for that knowing what I know now). I ended up changing the message to, simply, "Learned a new spell!" in order to not have to worry about it.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #24 on: April 16, 2015, 07:50:17 PM »
I didn't have any problems getting that message to work for Kella's (blue magic) Learn command in TfW... until I changed the spell name lengths around (though I think I could work in a fix for that knowing what I know now). I ended up changing the message to, simply, "Learned a new spell!" in order to not have to worry about it.

Oh? Well what is odd is that "X leveled up!" still works perfectly fine. It's only when it is attempted to be drawn outside of its natural routine that it displays blank space. Is this what happened with Kella's command as well? But... I have to ask why you didn't  use "Character's Name" rather than "Code:02" for that? Does that not work in Battle Messages?

 :edit:

Ah yes, Chillyfeez. Do you happen to know if Asura uses 3 sprites for her summons? Since I separated Summons it would not be a big loss in my opinion to lose the randomness of Asura for two other custom summons if possible.
« Last Edit: April 16, 2015, 09:46:48 PM by Grimoire LD »

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #25 on: April 16, 2015, 10:37:52 PM »
The problem I faced with Kella's command was that once I changed the lengths of the spell names, I didn't know yet how to change the pointer to make the game readjust to show the correct spell name. Hence it's probably something I could fix now...
Obviously, I had to have the Learn command routine force the proper value into the correct bit of RAM (which I don't know anymore, but I'm sure I could find again) in order for the message to display.
I do remember that there are something like three bytes in a row in RAM that refer to different things that get displayed in battle messages (spell names, probably character names and GP/EXP amounts...). Are you sure you're populating the right byte?

Regarding Asura... Are you asking if she has three different sprite arrangement tables?
Well, yes, but not different ones that appear depending on which spell is cast.
The three different arrangements are necessary for the face changing animation, though.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #26 on: April 23, 2015, 08:07:08 PM »
Ah... switching Asura may be more trouble than its worth then. I'll pass on it.

I never did figure out how to get a name labeled, but I did get "Job Level Up!" and "Learned X" so... if people want to know what job leveled up, they would look to see who learned the spell. Far from ideal, but its all I can manage at the moment.

Though I do have some exciting news! I managed to make an exception in the Equip Tables for two jobs (gauntlets)! (Three if you nix FuSoYa's equips)

It took me a Long time to find, but that's because I wasn't approaching it in the best manner. Now I have and it works optimally!



01C275 - JSR to 01DFE5

Load Character Slot into A

Check Gauntlet/Job.

Is it Samurai? (Item A4)

If so, Load 0E (???'s Equips) into 148 (Location that is used for Equipment roll downs)

Return

--------------

Is it Onion Knight? (Item A9)

If so, Load 0F (Anna's Equips) into 148

--------------------------

Return

Code: [Select]
$01/C275 20 E5 DF JSR $DFE5  [$01:DFE5] A:8002 X:002C Y:0001 P:envMxdIzc - Jump to Subroutine
---------------------------------------
$01/DFE5 DA PHX A:8002 X:002C Y:0001 P:envMxdIzc - Push X (to keep things unchanged)
$01/DFE6 AE A6 00 LDX $00A6  [$7E:00A6] A:8002 X:002C Y:0001 P:envMxdIzc - Load Character Slot into X.
$01/DFE9 BD 32 10 LDA $1032,x[$7E:1032] A:8002 X:0000 Y:0001 P:envMxdIZc - Load Character's Job/Gauntlet into A.
$01/DFEC C9 A4 CMP #$A4 A:80A9 X:0000 Y:0001 P:eNvMxdIzc - Is it Samurai?
$01/DFEE D0 06 BNE $06    [$DFF6] A:80A9 X:0000 Y:0001 P:envMxdIzC - If not, branch
-------------------------------------------------------------------------------------------------
$01/DFF0 A9 0E LDA #$0E A:80A9 X:0000 Y:0001 P:envMxdIzC - Load 0E (???'s Equips) into A.
$01/DFF2 85 48 STA $48    [$00:0148] A:80A9 X:0000 Y:0001 P:envMxdIzC - Store A in Equipment Checker.
$01/DFF4 FA PLX A:80A9 X:0000 Y:0001 P:envMxdIzC - Pull X
$01/DFF5 60 RTS A:80A9 X:0000 Y:0001 P:envMxdIzC - Return
----------------------------------------------------------------------------------------------
$01/DFF6 C9 A9 CMP #$A9 A:80A9 X:0000 Y:0001 P:envMxdIzC - Is it Onion Knight?
$01/DFF8 D0 06 BNE $06    [$E000] A:80A9 X:0000 Y:0001 P:envMxdIzC - If not, branch.
----------------------------------------------------------------------------------------------
$01/DFFA A9 0F LDA #$0F A:80A9 X:0000 Y:0001 P:envMxdIzC - Load 0F (Anna's Equips) into A.
$01/DFFC 85 48 STA $48    [$00:0148] A:80A9 X:0000 Y:0001 P:envMxdIzC - Store A in Equipment Checker.
$01/DFFE FA PLX A:80A9 X:0000 Y:0001 P:envMxdIzC - Pull X.
$01/DFFF 60 RTS A:80A9 X:0000 Y:0001 P:envMxdIzC - Return
-------------------------------------------------------------------------------------------------------
$01/E000 B1 E5 LDA ($E5),y[$7E:1001] A:80A9 X:0000 Y:0001 P:envMxdIzC - Load Class into A.
$01/E002 29 0F AND #$0F A:80A9 X:0000 Y:0001 P:envMxdIzC - Get rid of bits.
$01/E004 FA PLX A:80A9 X:0000 Y:0001 P:envMxdIzC - Pull X.
$01/E005 60 RTS A:80A9 X:0000 Y:0001 P:envMxdIzC - Return

And there you have it! That is all it took to make Equipment choices based on Gauntlet/Job Worn!

Here it is in pictures...

Porom with nothing special... can only equip a Staff.


Porom with the Onion Knight Job able to equip a vast array of weaponry!



This will only work out of battle though. Which is fine with me, it means you can't switch to the best thing for any given circumstance.


chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #27 on: April 27, 2015, 11:00:43 AM »
I've been thinking about the quandary you've got about making the right characters appear during events, and I think I've got a solution.

Just a warning: It will require the use of 19 NPCs from each list (Overworld and Underworld/Moon).

So, first, an explanation of how I did what I did in TfW...

In vanilla FFIIUS, when you enter any location (that is, place that might contain NPCs - anywhere but a world map), the game runs the following 12 times (once for each possible NPC):
Code: [Select]
$00/BEE3 BF 00 83 13 LDA $138300,x[$13:8300];Load NPC ID into A
$00/BEE7 20 B7 C0    JSR $C0B7  [$00:C0B7]  ;Jump to routine that loads all of the pertinent details of that NPC

Now, in TfW, I only have one variable NPC ("Your Hired Help"), which may be any one of seven NPCs. To illustrate, this is a snippet of my FF4kster config file:
Code: [Select]
245 No Hired Party!!!
246 Hired Ninja!!!
247 Hired W Mage!!!
248 Hired B Mage!!!
249 Hired Dragoon!!!
250 Hired Bard!!!
251 Mog!!!
252 Heart Bubble !!!
253 Mysidia White Mage praying
254 Mysidia Black Mage praying
255 Your Hired Help!!!
("!!!" signals an NPC I've used, and lets me know during the editing process that I should leave that one alone)

Here, we're concerned with NPCs 245-251, and 255.
So, instead of the above code from vanilla, when a player in TfW enters a location, the game runs the following:
Code: [Select]
$00/BEE3 22 B0 8D 14 JSL $148DB0[$14:8DB0]  ;jump to custom
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$14/8DB0 BF 00 83 13 LDA $138300,x[$13:8AFD];load NPC ID
$14/8DB4 C9 FF       CMP #$FF               
$14/8DB6 D0 35       BNE $35    [$8DED]     ;if not FF, branch to end
$14/8DB8 AD 99 12    LDA $1299  [$00:1299]  ;otherwise, load "hired help" logging flags
$14/8DBB C9 20       CMP #$20               
$14/8DBD D0 04       BNE $04    [$8DC3]     
$14/8DBF A9 FB       LDA #$FB               ;if flag 205 is set, load Mog
$14/8DC1 80 2A       BRA $2A    [$8DED]     
$14/8DC3 C9 10       CMP #$10               
$14/8DC5 D0 04       BNE $04    [$8DCB]     
$14/8DC7 A9 FA       LDA #$FA               ;if flag 204 is set, load Avon
$14/8DC9 80 22       BRA $22    [$8DED]     
$14/8DCB C9 08       CMP #$08               
$14/8DCD D0 04       BNE $04    [$8DD3]     
$14/8DCF A9 F9       LDA #$F9               ;if flag 203 is set, load Lando
$14/8DD1 80 1A       BRA $1A    [$8DED]     
$14/8DD3 C9 04       CMP #$04               
$14/8DD5 D0 04       BNE $04    [$8DDB]     
$14/8DD7 A9 F8       LDA #$F8               ;if flag 202 is set, load Cinna
$14/8DD9 80 12       BRA $12    [$8DED]     
$14/8DDB C9 02       CMP #$02               
$14/8DDD D0 04       BNE $04    [$8DE3]     
$14/8DDF A9 F7       LDA #$F7               ;if flag 201 is set, load Ruby
$14/8DE1 80 0A       BRA $0A    [$8DED]     
$14/8DE3 C9 01       CMP #$01               
$14/8DE5 D0 04       BNE $04    [$8DEB]     
$14/8DE7 A9 F6       LDA #$F6               ;if flag 200 is set, load Blank
$14/8DE9 80 02       BRA $02    [$8DED]     
$14/8DEB A9 F5       LDA #$F5               ;otherwise, load "nobody"
$14/8DED 6B          RTL                   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$00/BEE7 20 B7 C0    JSR $C0B7  [$00:C0B7]  ;Jump to routine that loads all of the pertinent details of that NPC

There's also this:
Code: [Select]
$00/BE6F BF 00 83 13 LDA $138300,x[$13:8300]
Which deals specifically with loading NPC images when exiting the menu screen back to gameplay. This also needs to be changed to JSL $148DB0, or else when you exit the menu, "hired" NPCs will have the right palette, but will use the main character's sprite instead of their own.


So that's how I did it in my project.
For this one, it'll take more NPCs, but the amount of custom code will be about the same (possibly a bit less).

As I said, you'll need to use 19 NPCs per set to make this work.
They will be known as:
Character in Slot 2
Character in Slot 3
Character in Slot 4
Character in Slot 5
"nobody"
DK Cecil
Kain
C Rydia
Tellah
Edward
Rosa
Yang
Palom
Porom
P Cecil
Cid
Edge
FuSoYa
A Rydia

Assuming that you're using the Shadow party hack for this project, I would suggest using NPCs FC-FF (252-255) as "Character in Slot (2-5)," NPCs EA-F7 (235-247) for "nobody" through FuSoYa, and 251 for A Rydia. Rydia being separated from the rest will make the coding a little more efficient. You'll see why...

So, you'll need a JSL to custom in the same two places - $BEE3 and $BE6F.
Your custom assembly will look like this:
Code: [Select]
BF 00 83 13 LDA $138300,x ;Load NPC ID
C9 FF CMP #$FC ;is it "character in Slot (something)?"
90 18 BCC $18 ;if not, skip to end
38 SEC
E9 FC SBC #$FC ;subtract FC from A
C2 20 REP #$20
0A ASL A
0A ASL A
0A ASL A
0A ASL A
0A ASL A
0A ASL A ;multiply result by 0x40
DA PHX ;stack X
AA TAX ;Transfer A to X
7B TDC
EB XBA
E2 20 SEP #$20 ;clear A and set it back to 8-bits
BD 40 10 LDA $1040,x ;Load Character ID into A
18 CLC
69 EA ADC #$EA ;Add 0xEA to A, making it the value of the appropriate NPC
FA PLX ;pull X back off the stack
6B RTL

Doing all that should make it so that NPC FC will always be the character in slot 2 (and nobody if there is no character there), FD will always be the character in slot 3, and so on.

You'll probably also want to rewrite the "change charcter graphic to XX" event code so that it always changes character graphic to that of the character in slot 1 (why not, since the possible party variations make it essentially worthless anyway). You'd have to rework any scene that calls for the character graphic to be that of a particular character, but you'll probably have to do that anyway in this hack.

I think that should do it!

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #28 on: April 27, 2015, 01:54:53 PM »
Oh man! I just figured out how the name loading in battle worked and you hit me with this! This is fantastic Chillyfeez! I will make sure to follow this later on to see if it works to my exactions. Thank you very much for all of your assistance!

TheBigT2000

  • Siren
  • *
  • Posts: 80
  • Gender: Male
    • View Profile
Re: FFIV Job System (Culmination of all of our works and hacks)
« Reply #29 on: May 09, 2015, 02:28:17 PM »
So, is there like a patch for this anywhere I could use? o3o