øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=123;area=showposts;start=420e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index6b7e.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=123e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index6b7e.html.zxòg^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ P,kOKtext/htmlISO-8859-1gzip8:ÖkÿÿÿÿÿÿÿÿTue, 10 Mar 2020 20:17:47 GMT0ó°° ®0®P®€§²ð®òg^ÿÿÿÿÿÿÿÿZUk Show Posts - Grimoire LD

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Grimoire LD

421
Final Fantasy IV Research & Development / Re: Graphics info
« on: February 08, 2015, 09:54:33 AM »
Whether the monster uses a lunar script or not is determined entirely by whether you are on the moon or not.
So if you put lunar monsters in the Overworld, they will use entirely different battle sequences.

... Did that answer your question?

How do I know if a monster is on the moon? Is there a formation data somewhere that would have monsters IDs and map ID?

Not quite Chillyfeez, if you notice the Monsters on the Moon have normal AI setups in addition you can fight Slime and Tofu on Earth.

I tested this with Eukaryots and put them on Earth with a changed AI Setup (because the fight AI are basically the same from Moon to Earth) and they followed the changed AI setup from the Earth which the editor said they would.

There really aren't that many monsters on the moon and those that are only have their routines changed purely by index are in Bahamut's Cave and the Lunar Subterrane (We can see this in the Lunarian Lobby as well with the glitch "Treasure Monster" which proceeds to petrify itself) There is nothing signifying a monster should be Earth or Moon, you could put an Imp in the Lunar Subterrane and it's only problem would be its AI script would be askewed. I will take a look though. But generally every map after 346 (15A) except for the Lunar Passage maps would apply. For the record, Prokryot, Eurakryot, Red Worm, Moon Cell, Pudding, Grenade, despite being on the Surface and in the Lunar Passages do not count as Moon monsters. I'll do a quick ASM search and try to find out exactly why this is...

Found it! Much easier than I thought it would be to find, actually... breakpointed a Read on 1700 as battle occurs. I can see why you thought it worked that way Chillyfeez, but the game never checks if you are on the Moon, it just checks to see if you are in an area (03 is always area) so...

$00/874B   AD 00 17   LDA $1700  [$00:1700]   A:000D   X:0180   Y:0000   P:eNvMxdizc - Load A from World Index
$00/874E   C9 03   CMP #$03   A:0003   X:0180   Y:0000   P:envMxdizc -  Is it an area?
$00/8750   D0 23   BNE $23    [$8775]   A:0003   X:0180   Y:0000   P:envMxdiZC - If not, branch past.
$00/8752   AD 01 17   LDA $1701  [$00:1701]   A:0003   X:0180   Y:0000   P:envMxdiZC - Load Map Index Byte
$00/8755   F0 1E   BEQ $1E    [$8775]   A:0001   X:0180   Y:0000   P:envMxdizC - If not Underworld/Moon areas branch past.
$00/8757   AD 02 17   LDA $1702  [$00:1702]   A:0001   X:0180   Y:0000   P:envMxdizC - Load Map Index Byte 2.
$00/875A   C9 5A   CMP #$5A   A:005A   X:0180   Y:0000   P:envMxdizC - Is it Bahamut's Cave or higher?
$00/875C   90 07   BCC $07    [$8765]   A:005A   X:0180   Y:0000   P:envMxdiZC - If not, branch past.
$00/875E   C9 5D   CMP #$5D   A:005A   X:0180   Y:0000   P:envMxdiZC - Is it Glitch World or Higher?
$00/8760   B0 03   BCS $03    [$8765]   A:005A   X:0180   Y:0000   P:eNvMxdizc - If so, branch past.
$00/8762   4C 6D 87   JMP $876D  [$00:876D]   A:005A   X:0180   Y:0000   P:eNvMxdizc - Jump to Rest of Routine
----------------------------------------------------------
$00/8765   C9 67   CMP #$67   A:005A   X:0180   Y:0000   P:eNvMxdizc - Is it Lunar Subterrane 1F or Higher?
$00/8767   90 0C   BCC $0C    [$8775]   A:005A   X:0180   Y:0000   P:eNvMxdizc - If not, branch past.
$00/8769   C9 7F   CMP #$7F   A:005A   X:0180   Y:0000   P:eNvMxdizc - Is it (Final Map) Glitch World or less? (Not sure how necessary that is)
$00/876B   B0 08   BCS $08    [$8775]   A:005A   X:0180   Y:0000   P:eNvMxdizc - If not, branch past.
--------------------------------------------------------------------------------------------------------------------------------
$00/876D   AD 01 18   LDA $1801  [$00:1801]   A:005A   X:0180   Y:0000   P:eNvMxdizc - Load A from second byte of encounter data.
$00/8770   09 80   ORA #$80   A:0001   X:0180   Y:0000   P:envMxdizc - Add 80 if applicable.
$00/8772   8D 01 18   STA $1801  [$00:1801]   A:0081   X:0180   Y:0000   P:eNvMxdizc - Store A in second byte of encounter data.


I appear to have been mistaken about the Treasure Chest Monster in the Lunar Lobby, that is actually a Red Giant as memory serves right, a Moon Monster who petrifies himself because of using default AI Routines.

What this also tells us is the game looks at encounters in the 0X80 range of encounters to activate the Moon AI.

I hope that was somewhat helpful.


422
I'm not sure if you fully caught what I was suggesting...
But I also didn't think it through thoroughly, so it may be a moot point.
... Or maybe not...

What I was thinking was, where you would normally put the trap door NPC, you put an event trigger instead (fight with trap door). Then, assuming victory, the tile just beyond that would be the warp point. You could use the same event call for every instance of this, except the trap door would re-arm every time.
This wouldn't be a huge problem, though in theory...

Ok, here's what I'm thinking:
Let's say there's normally a trap door NPC at coordinates 15,5.
That means that the door is also at 15,5.
You'd have to make sure the door for this tileset is a trigger (I'm not looking, so I don't know). The trigger built into the door would be the event call for the trap door fight (that would be the only component of the event).
Then, at 15,4 there would be another trigger point that would function as the warp to the next room. In the next room, instead of a "return" tile, you'd have a warp tile to exit. This warp would warp you to 15,6 so that you don't have to fight the same trap door again if you don't want to (but it would be there again if you did choose to reenter that room).
In theory, this would all work. You'd have to eliminate practically all return tiles in the dungeon because of stack issues this would cause otherwise. Some players might object to regenerating trap doors, but it would be consistent with the challenge level of Combat Boost, and a second fight with each would be entirely elective. By doing it this way, you could reuse the same event call for every trap door.
Does that make sense? Sorry, I was kind of thinking it out as I typed... But I think it would work.

It does indeed make sense, but I've never been a fan of those TrapDoors, nor of the rooms with nothing in them. Your idea would work if I hadn't planned to already cannibalize all of the optional maps in the Sealed Cave for new dungeons. Underworld spare maps are scarce and these seem the best candidates. 7 TrapDoor events and NPC's will be removed and repurposed the 8 that do guard something meaningful, if it's a Treasure Room the TrapDoor's will literally spit the treasure out when you beat them as the second part of their event, thereby the rooms they guard will no longer be necessary and I can free up those treasure indexes as well (not that the Underworld/Moon normally uses even close to 255 treasure spots...)

423
What about making the door tile an event trigger instead of a warp, then put an invisible warp in the next tile beyond?
The same event call could be used multiple times for the trap door battle, then the proper warp follows if the battle is won.

I would think it would make traversing the place much more annoying that Every Time you go to move to another floor or pretty much anything you're forced to fight a TrapDoor.. if I'm understanding this correctly? Also aren't Event Calls a lot more valuable than NPC slots?

424
Hmm, I just thought of a way of saving at least 8 NPC's in the Underworld and Events...

While recently playing through FFIV:DS I forgot how many useless Trap Doors were in the Sealed Cave, that is completely unnecessary in most respects. Because they each have to vanish they all count as different NPC slots. 15 NPC's, only a few are actually practical (though the scenario guide mentions that the TrapDoor's are mostly found in haunted mansions, which makes me wonder if that was the original plan for the Sealed Cave.)

Let's assume we get rid of all of the TrapDoor's blocking empty rooms (of which there were a lot more than I remembered...)

Sealed Cave 1F

Trap Door, 8,7 - 2nd Floor (3D)
Trap Door 25,22 - Treasure Room (3E)

Sealed Cave 2F

6,3 - (3F) - Empty Room 
12,4 -  (40) - Empty Room

Sealed Cave 3F

5,3 (41) - Ninja Star, Elixir
9,6 (42) - Empty Room
14,4 (43) - Empty Room
18,3 (44) - Ninja Star, Elixir Room
23, 6 (45) - Light Sword Room
29, 6 (46) - Empty Room
4, 26 (47) - Sealed Cave 4F

Sealed Cave 5F

22,11 (48) - Empty Room
25,25 (49) - Boxes Room

Sealed Cave 6F

3, 5 (4A) - Empty Room

Demon Wall Room

15, 3 (68) - Crystal Room.

And there you have it...

7 of the 15 Doors lead to Empty Rooms, that seems a bit excessive and we could easily cut down on those, which is something essential for Combat Boost at this point, along with using the Treasure Rooms for other maps.

So...

3F,40,42,43,46,48,4A are all of the Empty Room Trapdoors.

Hmm, maybe the event config should be updated to include these labels of what's behind the Trapdoors rather than the ambiguous hex that is used?

425
Final Fantasy IV Research & Development / Re: Enemy Special/Magic Attacks
« on: February 07, 2015, 09:42:31 AM »
It... didn't work? I tested it at the time and I just tested it now (to reassure I actually did test it back then), the objective was to make it so that 1/10 of HP recovered becomes 1/X'th of HP recovered, wasn't it? What happened when you tried it, out of curiosity? That sort of shakes my confidence a little to have it work for me, but not for others.

Hm, could have simply been a typo on my part or something... though I was sure I checked carefully... anyway the result was that it always healed 1/10 target's max even after making the spell power 1.

 :edit: Definitely was a typo on my part; I just tried it again and it worked no problem. Sorry if I gave you a fright!

A fix for 1/3 current HP is the same case as my original formula posted above... changing This...

$03/DD6E   A2 03 00   LDX #$0003   A:0000   X:0001   Y:0000   P:envMxdiZc - Load 03 into X (/3. How much % of HP to heal.)
$03/DD71   8E 47 39   STX $3947  [$7E:3947]   A:0000   X:0003   Y:0000   P:envMxdizc - Store X in 7E3947.

To this...

$03/DD6E   AD 9D 28   LDA $289D  [$7E:289D]   A:000B   X:0058   Y:FFFF   P:envMxdizc
$03/DD71   8D 47 39   STA $3947  [$7E:3947]   A:0002   X:0058   Y:FFFF   P:envMxdizc

This worked, for target's current HP. I managed to figure out how to change it over to caster's current HP without any difficulty.

Thank you all so much for your help!

I misread that part, that makes a lot of sense and is a neat idea! It wouldn't quite work for Combat Boost because of Kain's already beefy HP, but on a Mage character it does encourage the use of Apples on them, very nice thinking!

Heh, just good to know I'm not completely losing my touch.

426
Final Fantasy IV Research & Development / Re: Enemy Special/Magic Attacks
« on: February 07, 2015, 08:07:45 AM »
It... didn't work? I tested it at the time and I just tested it now (to reassure I actually did test it back then), the objective was to make it so that 1/10 of HP recovered becomes 1/X'th of HP recovered, wasn't it? What happened when you tried it, out of curiosity? That sort of shakes my confidence a little to have it work for me, but not for others.

A fix for 1/3 current HP is the same case as my original formula posted above... changing This...

$03/DD6E   A2 03 00   LDX #$0003   A:0000   X:0001   Y:0000   P:envMxdiZc - Load 03 into X (/3. How much % of HP to heal.)
$03/DD71   8E 47 39   STX $3947  [$7E:3947]   A:0000   X:0003   Y:0000   P:envMxdizc - Store X in 7E3947.

To this...

$03/DD6E   AD 9D 28   LDA $289D  [$7E:289D]   A:000B   X:0058   Y:FFFF   P:envMxdizc
$03/DD71   8D 47 39   STA $3947  [$7E:3947]   A:0002   X:0058   Y:FFFF   P:envMxdizc


427
Final Fantasy IV Research & Development / Re: Enemy Special/Magic Attacks
« on: February 06, 2015, 09:30:08 AM »
Heh, the topic is rather large and I was updating it at a feverish pace at the time, knocking out all of the documentation of routines as I could, so it's little surprise you missed it.

428
Small Update with just the Shelter Visual Effect documentation.

Effect 06 - Erecting a Shelter 00D137
Code: [Select]
$00/D137 20 2D 8F JSR $8F2D  [$00:8F2D] A:00D1 X:000A Y:0002 P:eNvMxdizc - Subroutines
$00/D13A 20 59 8F JSR $8F59  [$00:8F59] A:0000 X:001E Y:0000 P:envMxdiZC
$00/D13D 20 0C D8 JSR $D80C  [$00:D80C] A:00F0 X:0020 Y:0000 P:envMxdiZC
$00/D140 AD 00 17 LDA $1700  [$00:1700] A:00AA X:0008 Y:0000 P:envMxdiZC - Load World Index
$00/D143 C9 03 CMP #$03 A:0000 X:0008 Y:0000 P:envMxdiZC - Is it in an Area?
$00/D145 F0 06 BEQ $06    [$D14D] A:0000 X:0008 Y:0000 P:eNvMxdizc - If so, branch past.
---------------------------------------------------------------------------------------------------
$00/D147 20 A2 92 JSR $92A2  [$00:92A2] A:0000 X:0008 Y:0000 P:eNvMxdizc - Subroutine
$00/D14A 4C 4D D1 JMP $D14D  [$00:D14D] A:0000 X:0008 Y:0000 P:envMxdiZC -Jump to D14D (why not branch always?)
--------------------------------------------------------------------------------
$00/D14D A2 70 70 LDX #$7070 A:0000 X:0008 Y:0000 P:envMxdiZC - Load Sprite to middle of screen.
$00/D150 8E 00 03 STX $0300  [$00:0300] A:0000 X:7070 Y:0000 P:envMxdizC - Store X in 0300.
$00/D153 AD 03 1A LDA $1A03  [$00:1A03] A:0000 X:7070 Y:0000 P:envMxdizC - Load A from 1A03.
$00/D156 3A DEC A A:0001 X:7070 Y:0000 P:envMxdizC - -1 A
$00/D157 0A ASL A A:0000 X:7070 Y:0000 P:envMxdiZC - x2 A
$00/D158 18 CLC A:0000 X:7070 Y:0000 P:envMxdiZC - Clear Carry Flag.
$00/D159 69 E8 ADC #$E8 A:0000 X:7070 Y:0000 P:envMxdiZc - Add E8 into A. (E8 is Tent) (EA is Cabin) (EC is Fire)
$00/D15B 8D 02 03 STA $0302  [$00:0302] A:00E8 X:7070 Y:0000 P:eNvMxdizc - Store A in 0302.
$00/D15E AD 03 1A LDA $1A03  [$00:1A03] A:00E8 X:7070 Y:0000 P:eNvMxdizc - Load A from 1A03.
$00/D161 0A ASL A A:0001 X:7070 Y:0000 P:envMxdizc - x2 A.
$00/D162 09 31 ORA #$31 A:0002 X:7070 Y:0000 P:envMxdizc - Add 31 if applicable. (Evens- Ship/Odds - Tent, Palettes thrown in through each two values.)
$00/D164 8D 03 03 STA $0303  [$00:0303] A:0033 X:7070 Y:0000 P:envMxdizc - Store A 0303.
$00/D167 4C D3 E0 JMP $E0D3  [$00:E0D3] A:0033 X:7070 Y:0000 P:envMxdizc - Jump to Rest of Routine.


429
Final Fantasy IV Research & Development / Re: Throw's Special Graphic
« on: February 06, 2015, 08:06:31 AM »
Expect a new component to the Command editor in the near future!  :wink:
If you wanna hold off for a little while on that, Pinkpuff, I'll probably explore each command to find the location for the performance stance for each. I'll make a little chart and post it here. I'll also try out all the different position possibilities, since so far I only have listed about 1/16 of them.

This is a fantastic find Chillyfeez! I'm glad to see this is finally being tackled!

430
Final Fantasy IV Research & Development / Re: Enemy Special/Magic Attacks
« on: February 05, 2015, 09:25:16 PM »
GINORMOUS NECRO TIME!

I was wondering if perhaps some of our assembly miracle workers can enlighten me as to what I did wrong in the post above? For context, I was trying to make it so that the code for the "Resore 1/10 of target's max HP" spell routine, instead of healing 1/10 max, healed 1/(spell power) max.

For my hack, I was trying to create a "White Wind" ability for Draghinazzo. I figured if he absorbs Holy then if I made a Holy attack that dealt damage equal to caster's HP that would more or less do the trick. However, I found that instead what happened was that he would heal only a tiny amount, no matter what his HP was. I thought that if the problem I was tackling here years ago could be solved, I could use that routine and make the spell power 1 and get the White Wind effect.

Any ideas?

You asked about this a while back and here was my fix...

$03/DD5A   AD 9D 28   LDA $289D  [$7E:289D]   A:0000   X:004E   Y:0000   P:envMxdiZc
$03/DD5D   8D 47 39   STA $3947  [$7E:3947]   A:0005   X:004E   Y:0000   P:envMxdizc

When you look at the formula you can see that LDA is loaded again before it is reused for 2707 below, so it's safe to load the Spell Power into A rather than X in the first place.

431
Final Fantasy IV Research & Development / Re: Graphics info
« on: February 04, 2015, 05:43:42 PM »


Doing the best I can. There are some graphical oddities in the Ice Mines currently though. They're using the Feymarch/Sylvan tileset with a blue/white palette but for some reason it looks fine in FF4kster but in the actual game the walls glow red. Also the palette of the battle background is green like the Sylvan cave... is there a way to change that but still have the Feymarch and Sylvan caves keep their colors?

I'm afraid that there is not a way to change that, not easily anyhow The only solution is an unlikable one and that's to copy the Sylvan Cave background onto a background you don't wish to use (they're all used in the normal game, but Beach is probably the one least seen) since both the Sylvan Caves and the Feymarch are both still using their default looks both the normal background and the alternate background are being used by default in the game.

Quote
The Avenger and Ragnarok are two handed, as well as all hammers and harps. You need two hands to operate bows and arrows, so even though they're not in the range they still count for all practical purposes.

Ah right, that makes a good deal of sense all in all.

Quote
Right now the plot is basically going to just be what's needed to get the game playable and making sense from beginning to end. There are going to be a lot of optional scenarios near the end so I'll see what kind of space I have to work with afterwards in terms of fleshing things out more.

That's actually a very good way to go about it. It assures that you don't crash into a wall of lack of space, but instead are able to drive along smoothly and might be able to stop before you come up against that wall.

432
All of those 2000 RAM addresses are not the 2000s we usually deal with.
Above 1FFF, that "7E" actually means something. There's a whole bunch of RAM (at least 00:2000 to 00:4300) that we aren't able to view in Geiger's. The math registers are in the 4200s. I think the 2000s are used in graphics processing (because I'm pretty sure I've seen them used in spell visuals). But we'd likely need the help of someone with more knowledge of how the SNES actually works to fully decipher what's going on here.
Still, like you said, maybe some more will come to light the more you look into these. I'd be interested in seeing how this compares to, say, the Enterprise-Falcon chase sequence.

 :edit: Hey, I just made my "mark of the beast" post.  :laugh:
Just 111 to go til I hit the jackpot!

That makes a lot more sense Chillyfeez, thanks for the clarification.

Well as expected a Visual Effect in a map turned out to be a Lot simpler than the mess of World Map events... the Bomb Ring event had some wonderful information as well as some (I believe anyhow) unused effect sprites!



There was a lot of wonderful information in here and I *think* I decoded all of the important bits.

Visual Effect 03 - Bomb Ring Activation.
Code: [Select]
$00/D711 64 AD STZ $AD    [$00:06AD] A:00D7 X:0004 Y:0002 P:eNvMxdizc - Store Zero in 06AD.
$00/D713 A2 00 00 LDX #$0000 A:00D7 X:0004 Y:0002 P:eNvMxdizc - Load 0000 into X. (Distance of how far the Bombs should start from the center of the screen.)
$00/D716 8E FB 06 STX $06FB  [$00:06FB] A:00D7 X:0000 Y:0002 P:envMxdiZc - Store X in 06FB
$00/D719 86 24 STX $24    [$00:0624] A:00D7 X:0000 Y:0002 P:envMxdiZc - Store X in 0624.
$00/D71B A9 C4 LDA #$C4 A:00D7 X:0000 Y:0002 P:envMxdiZc - Load SPRITE!! into A.
$00/D71D 85 8F STA $8F    [$00:068F] A:00C4 X:0000 Y:0002 P:eNvMxdizc - Store A in 068F
$00/D71F A9 08 LDA #$08 A:00C4 X:0000 Y:0002 P:eNvMxdizc - Load Number of Sprites to display into A. (To the game's credit it can load 255 of these things!)
$00/D721 85 90 STA $90    [$00:0690] A:0008 X:0000 Y:0002 P:envMxdizc - Store A in 0690.
$00/D723 A9 39 LDA #$39 A:0008 X:0000 Y:0002 P:envMxdizc - Load (A Lot read below on 0691)
$00/D725 85 91 STA $91    [$00:0691] A:0039 X:0000 Y:0002 P:envMxdizc - Store A in 0691.
$00/D727 20 1E 8F JSR $8F1E  [$00:8F1E] A:0039 X:0000 Y:0002 P:envMxdizc - Jump to Subroutine (am not touching that)
$00/D72A 20 99 D7 JSR $D799  [$00:D799] A:0000 X:0070 Y:001C P:envMxdizc -
$00/D72D C2 20 REP #$20 A:0008 X:0070 Y:001C P:envMxdiZC - Reset Processor Status
$00/D72F AD FB 06 LDA $06FB  [$00:06FB] A:0008 X:0070 Y:001C P:envmxdiZC - Load A from 06FB (0000 from above)
$00/D732 1A INC A A:0000 X:0070 Y:001C P:envmxdiZC - +1 to A.
$00/D733 8D FB 06 STA $06FB  [$00:06FB] A:0001 X:0070 Y:001C P:envmxdizC - Store it back.
$00/D736 A5 24 LDA $24    [$00:0624] A:0001 X:0070 Y:001C P:envmxdizC - Load A from 0624
$00/D738 1A INC A A:0000 X:0070 Y:001C P:envmxdiZC - +1 A
$00/D739 85 24 STA $24    [$00:0624] A:0001 X:0070 Y:001C P:envmxdizC - Store it Back
$00/D73B 4A LSR A A:0001 X:0070 Y:001C P:envmxdizC - /2
$00/D73C 4A LSR A A:0000 X:0070 Y:001C P:envmxdiZC - /2
$00/D73D 29 FF 00 AND #$00FF A:0000 X:0070 Y:001C P:envmxdiZc - Get rid of all bits?
$00/D740 E2 20 SEP #$20 A:0000 X:0070 Y:001C P:envmxdiZc - Set Processor to 20.
$00/D742 85 AD STA $AD    [$00:06AD] A:0000 X:0070 Y:001C P:envMxdiZc - Store A in 06AD.
$00/D744 C9 5F CMP #$5F A:0000 X:0070 Y:001C P:envMxdiZc - Is it 5F? (How long the Visual Effect will play) (Interestingly if you let it play until FF the bombs will converge back to the middle)
$00/D746 F0 03 BEQ $03    [$D74B] A:0000 X:0070 Y:001C P:eNvMxdizc - If so, branch to D74B.
$00/D748 4C 27 D7 JMP $D727  [$00:D727] A:0000 X:0070 Y:001C P:eNvMxdizc - Loop back to JSR.
----------------------------------------------------------------------------------------------
$00/D74B 4C D3 E0 JMP $E0D3  [$00:E0D3] A:00FF X:0073 Y:001C P:envMxdiZC - Jump to rest of routine.

Visual Effect 03 -

Sprites... (Bizarrely there are no real valid entries until C0)

C0- Healing Sparkles
C2- Healing Sparkles (Slightly different looking)
C4- Bombs
C6- Nothing
C8- Unused circling fireball effect?
CA- Definitely unused, pretty cool looking Orb Effect!
(All the rest look like explosions, that don't fit into this sprite space.)

Theory time! The  Sparkles were meant to be used to symbolize White Magic, The Fireballs were meant to symbolize Black Magic and the Orbs were meant to symbolize Summon Orbs on the map.

0691 Matter

This is a very interesting byte. This decides what Layer the Visual Effect will appear on, what palette the visual effect will have, and what direction the visual effect is facing.

NOTE: For some reason it Has to be set to Odd values only, or it will have the wrong graphics.

Layer Appearances (Every 40 it repeats)
0X - Layer 2 Only
1X - Layer 2 Only
2X - Will be hidden by walk-behind tiles.
3X - Appear above all Layers.

Palettes (To my untrained Eye...)

X1 - Bluish, Whitish, Black, Red
X3 - Bluish, Greenish, Black, Orange
x5 - Whitish, Purplish, Black, Maroon?
x7 - Yellow, Green, Black, Orange
x9 - Orange, Pink, Red, Black, White (Default Bomb Color)
xB - Brown, Light Blue, Blue, Black, White (Ballon's Colors)
xD - Brown, Light Purple, Purple, Black, White (Grenade's Colors)
xF - Blue, Green, Black, Yellow

Directional Facings

01-3F Right
40-7F Left
80-BF Up
C0-FF Down

And there you have it! So much, in just one byte. Something tells me that this is probably already known and how NPC's probably look, graphically.




You're almost there Chillyfeez! A shame we don't have sprites back yet.

 :edit:




Effect 04 - Damcyan Being Bombed 00D36E


Code: [Select]
$00/D36E A9 04 LDA #$04 A:00D3 X:0006 Y:0002 P:eNvMxdizc - Load 04 into A.
$00/D370 8D CD 0A STA $0ACD  [$00:0ACD] A:0004 X:0006 Y:0002 P:envMxdizc - Store A in 0ACD.
$00/D373 9C CE 0A STZ $0ACE  [$00:0ACE] A:0004 X:0006 Y:0002 P:envMxdizc - Store 00 in 0ACE.
$00/D376 20 ED DD JSR $DDED  [$00:DDED] A:0004 X:0006 Y:0002 P:envMxdizc - Jump to Subroutine
$00/D379 A2 00 00 LDX #$0000 A:00FC X:0040 Y:0090 P:envMxdiZC
$00/D37C A9 FF LDA #$FF A:00FC X:0000 Y:0090 P:envMxdiZC - Load FF into A.
$00/D37E 9D 6D 0A STA $0A6D,x[$00:0A6D] A:00FF X:0000 Y:0090 P:eNvMxdizC - Store A in 0A6D.
$00/D381 E8 INX A:00FF X:0000 Y:0090 P:eNvMxdizC - X +4
$00/D382 E8 INX A:00FF X:0001 Y:0090 P:envMxdizC
$00/D383 E8 INX A:00FF X:0002 Y:0090 P:envMxdizC
$00/D384 E8 INX A:00FF X:0003 Y:0090 P:envMxdizC
$00/D385 E0 60 00 CPX #$0060 A:00FF X:0004 Y:0090 P:envMxdizC - Has it done this loop 18 times?
$00/D388 D0 F4 BNE $F4    [$D37E] A:00FF X:0004 Y:0090 P:eNvMxdizc - If not, loop back.
-----------------------------------------
$00/D38A A9 3E LDA #$3E A:00FF X:0060 Y:0090 P:envMxdiZC - Load 3E into A.
$00/D38C 20 62 E5 JSR $E562  [$00:E562] A:003E X:0060 Y:0090 P:envMxdizC - Jump to Sound Routine
$00/D38F A2 00 01 LDX #$0100 A:0001 X:0060 Y:0090 P:envMxdiZC - Load 0100 into X. (Seemingly amount of times Damcyan is bombed... in repeated sequence not very valid to change though.)
$00/D392 86 2C STX $2C    [$00:062C] A:0001 X:0100 Y:0090 P:envMxdizC - Store X in 062C.
$00/D394 A2 10 00 LDX #$0010 A:0001 X:0100 Y:0090 P:envMxdizC - Load 0010 into X. (Position of Red Wings on X Axis)
$00/D397 86 2E STX $2E    [$00:062E] A:0001 X:0010 Y:0090 P:envMxdizC - Store X in 062E.
$00/D399 20 2D 8F JSR $8F2D  [$00:8F2D] A:0001 X:0010 Y:0090 P:envMxdizC - Jump to Subroutine
$00/D39C 20 59 8F JSR $8F59  [$00:8F59] A:0000 X:001E Y:0000 P:envMxdiZC - Jump to Subroutine
$00/D39F 20 A2 92 JSR $92A2  [$00:92A2] A:00F0 X:0020 Y:0000 P:envMxdiZC -
$00/D3A4 38 SEC A:0010 X:0008 Y:0000 P:envMxdizC - Set Carry Flag
$00/D3A5 E9 10 SBC #$10 A:0010 X:0008 Y:0000 P:envMxdizC - Subtract 10 from A.
$00/D3A7 22 0B C5 15 JSL $15C50B[$15:C50B] A:0000 X:0008 Y:0000 P:envMxdiZC - Jump to Subroutine Long
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~```
15/C50B 29 FE AND #$FE A:0000 X:0008 Y:0000 P:envMxdiZC - Get rid of all but 01.
$15/C50D AA TAX A:0000 X:0008 Y:0000 P:envMxdiZC - Transfer A to X.
$15/C50E AD 00 17 LDA $1700  [$00:1700] A:0000 X:0000 Y:0000 P:envMxdiZC - Load World Index.
$15/C511 D0 16 BNE $16    [$C529] A:0000 X:0000 Y:0000 P:envMxdiZC - If not 00, branch.
$15/C513 C2 20 REP #$20 A:0000 X:0000 Y:0000 P:envMxdiZC - Reset Processor Status.
$15/C515 BF B7 C6 15 LDA $15C6B7,x[$15:C6B7] A:0000 X:0000 Y:0000 P:envmxdiZC - Load A from There.
$15/C519 8D 25 0D STA $0D25  [$00:0D25] A:6520 X:0000 Y:0000 P:envmxdizC - Store A in 0D25.
$15/C51C BF C9 C6 15 LDA $15C6C9,x[$15:C6C9] A:6520 X:0000 Y:0000 P:envmxdizC - Load A from That.
$15/C520 8D 29 0D STA $0D29  [$00:0D29] A:2460 X:0000 Y:0000 P:envmxdizC - Store A in 0D29.
$15/C523 A9 00 00 LDA #$0000 A:2460 X:0000 Y:0000 P:envmxdizC - Load 0000 into A.
$15/C526 E2 20 SEP #$20 A:0000 X:0000 Y:0000 P:envmxdiZC - Set Processor Status to 20.
$15/C528 6B RTL A:0000 X:0000 Y:0000 P:envMxdiZC - Return
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$00/D3AB AD 7A 06 LDA $067A  [$00:067A] A:0000 X:0000 Y:0000 P:envMxdiZC - Load A from 067A.
$00/D3AE 29 03 AND #$03 A:00D4 X:0000 Y:0000 P:eNvMxdizC - Get rid of all but 01 and 02.
$00/D3B0 D0 E7 BNE $E7    [$D399] A:0000 X:0000 Y:0000 P:envMxdiZC - If 00 loop back.
-----------------------------------------------------------------------
$00/D3B2 A5 AD LDA $AD    [$00:06AD] A:0000 X:0000 Y:0000 P:envMxdiZC - Load A from 06AD.
$00/D3B4 1A INC A A:0010 X:0000 Y:0000 P:envMxdizC - +1 to A.
$00/D3B5 85 AD STA $AD    [$00:06AD] A:0011 X:0000 Y:0000 P:envMxdizC - Store A from in 06AD.
$00/D3B7 C9 20 CMP #$20 A:0011 X:0000 Y:0000 P:envMxdizC - Has it gone through 20 times? (This is actually how high off the ground the event takes place. The default is 11. Too low and the graphics bug out. Too high and the same.)
$00/D3B9 D0 DE BNE $DE    [$D399] A:0011 X:0000 Y:0000 P:eNvMxdizc - If not branch All the way back.
$00/D3BB 20 2D 8F JSR $8F2D  [$00:8F2D] A:0020 X:000E Y:0000 P:envMxdiZC - Movement Subroutine
$00/D3BE 20 D0 D4 JSR $D4D0  [$00:D4D0] A:0000 X:001E Y:0000 P:envMxdiZC - Subroutine
$00/D3C1 20 77 8F JSR $8F77  [$00:8F77] A:0000 X:001E Y:0000 P:eNvMxdizc -
$00/D3C4 20 47 DF JSR $DF47  [$00:DF47] A:00F0 X:0020 Y:0000 P:envMxdiZC -
$00/D3C7 64 79 STZ $79    [$00:0679] A:00AA X:0010 Y:0000 P:envMxdiZC - Store Zero in 679.
$00/D3C9 A5 79 LDA $79    [$00:0679] A:00AA X:0010 Y:0000 P:envMxdiZC - Load A from 679.
$00/D3CB 0A ASL A A:0000 X:0010 Y:0000 P:envMxdiZC - x2 A
$00/D3CC A8 TAY A:0000 X:0010 Y:0000 P:envMxdiZc - Transfer A to Y.
$00/D3CD C2 20 REP #$20 A:0000 X:0010 Y:0000 P:envMxdiZc - Reset Processor Status
$00/D3CF A5 2C LDA $2C    [$00:062C] A:0000 X:0010 Y:0000 P:envmxdiZc - Load A from 62C.
$00/D3D1 18 CLC A:0100 X:0010 Y:0000 P:envmxdizc - Clear Carry Flag
$00/D3D2 79 11 D5 ADC $D511,y[$00:D511] A:0100 X:0010 Y:0000 P:envmxdizc - Add the value from D511 into A. (The X location of the Top Ship) (Read section on Ship Locations)
$00/D3D5 85 0C STA $0C    [$00:060C] A:0110 X:0010 Y:0000 P:envmxdizc - Store A in 60C.
$00/D3D7 A5 2E LDA $2E    [$00:062E] A:0110 X:0010 Y:0000 P:envmxdizc - Load A from 2E.
$00/D3D9 18 CLC A:0010 X:0010 Y:0000 P:envmxdizc - Clear Carry Flag.
$00/D3DA 79 17 D5 ADC $D517,y[$00:D517] A:0010 X:0010 Y:0000 P:envmxdizc - Add the value from D517 into A. (The Y location of the Top Ship)
$00/D3DD 85 0E STA $0E    [$00:060E] A:0020 X:0010 Y:0000 P:envmxdizc - Store A in 060E.
$00/D3DF A5 79 LDA $79    [$00:0679] A:0020 X:0010 Y:0000 P:envmxdizc - Load A from 679.
$00/D3E1 29 FF 00 AND #$00FF A:1100 X:0010 Y:0000 P:envmxdizc - Clear it.
$00/D3E4 0A ASL A A:0000 X:0010 Y:0000 P:envmxdiZc - x2 A.
$00/D3E5 0A ASL A A:0000 X:0010 Y:0000 P:envmxdiZc - x2 A
$00/D3E6 0A ASL A A:0000 X:0010 Y:0000 P:envmxdiZc - x2 A.
$00/D3E7 0A ASL A A:0000 X:0010 Y:0000 P:envmxdiZc - x2 A.
$00/D3E8 09 00 01 ORA #$0100 A:0000 X:0010 Y:0000 P:envmxdiZc - Add 0100 if applicable.
$00/D3EB A8 TAY A:0100 X:0010 Y:0000 P:envmxdizc - Transfer A to Y.
$00/D3EC A9 00 00 LDA #$0000 A:0100 X:0010 Y:0100 P:envmxdizc - Load 0000 into A.
$00/D3EF E2 20 SEP #$20 A:0000 X:0010 Y:0100 P:envmxdiZc - Set Processor Status into A.
$00/D3F1 A9 1C LDA #$1C A:0000 X:0010 Y:0100 P:envMxdiZc - Load 1C into A. (Palette used)
$00/D3F3 85 91 STA $91    [$00:0691] A:001C X:0010 Y:0100 P:envMxdizc - Store A 0691.
$00/D3F5 A9 78 LDA #$78 A:001C X:0010 Y:0100 P:envMxdizc - Load 78 into A. (Finally Real True Sprites!!)
$00/D3F7 85 8F STA $8F    [$00:068F] A:0078 X:0010 Y:0100 P:envMxdizc - Store A 68F.
$00/D3F9 A9 60 LDA #$60 A:0078 X:0010 Y:0100 P:envMxdizc - Load 60 into A (The way the ships are facing)
$00/D3FB 85 92 STA $92    [$00:0692] A:0060 X:0010 Y:0100 P:envMxdizc - Store A in 0692.
$00/D3FD 20 3C DD JSR $DD3C  [$00:DD3C] A:0060 X:0010 Y:0100 P:envMxdizc - Jump to Subroutine.
$00/D400 E6 79 INC $79    [$00:0679] A:0000 X:0070 Y:0110 P:enVMxdiZc - +1 to 679.
$00/D402 A5 79 LDA $79    [$00:0679] A:0000 X:0070 Y:0110 P:enVMxdizc - Load A from 679.
$00/D404 C9 03 CMP #$03 A:0001 X:0070 Y:0110 P:enVMxdizc - Has this repeated 3 times? (How many times the game should draw the sprites. You can put a fair amount of Airships in the sky! Not 255 Though.)
$00/D406 D0 C1 BNE $C1    [$D3C9] A:0001 X:0070 Y:0110 P:eNVMxdizc - If not loop far back. (The way to draw sprites on screen must be within that code from C9 to here.)
----------------------------------------------------

There is a Lot that was found here, but it's a very long routine and I'm only halfway through it, if not less. But I did figure out the way the ships are drawn on screen (but not their animations I imagine that would come later). I may leave that be for the moment and just move on to more map-based visual effects.


 :edit: Or not...

Effect 05 - Rydia Battle 00D2D3


Code: [Select]
$00/D2D3 A9 EC LDA #$EC A:00D2 X:0008 Y:0002 P:eNvMxdizc - Load EC (Rydia Formation) into A.
$00/D2D5 8D 00 18 STA $1800  [$00:1800] A:00EC X:0008 Y:0002 P:eNvMxdizc - Store A in Encounter Index.
$00/D2D8 9C 01 18 STZ $1801  [$00:1801] A:00EC X:0008 Y:0002 P:eNvMxdizc - Store Zero in World Encounter Byte.
$00/D2DB AD DB 0F LDA $0FDB  [$00:0FDB] A:00EC X:0008 Y:0002 P:eNvMxdizc - Load A from 0FDB.
$00/D2DE 29 8F AND #$8F A:0000 X:0008 Y:0002 P:envMxdiZc - Get rid of all 1,2,3,4,8,80.
$00/D2E0 8D 02 18 STA $1802  [$00:1802] A:0000 X:0008 Y:0002 P:envMxdiZc - Store A in 1802 (Battle background).
$00/D2E3 20 F8 86 JSR $86F8  [$00:86F8] A:0000 X:0008 Y:0002 P:envMxdiZc- Battle Transition Subroutine?
-----------------------------------The mountains of Mist rising----------------------------------------

$00/D2E6 20 35 8B JSR $8B35  [$00:8B35] A:000C X:0030 Y:0020 P:envMxdiZC - Subroutine
$00/D2E9 22 E5 C8 15 JSL $15C8E5[$15:C8E5] A:0085 X:0030 Y:0020 P:envMxdiZC -
00/D2ED AE 06 17 LDX $1706  [$00:1706] A:00FF X:0030 Y:0020 P:eNvMxdizC - Load X from Location Data.
$00/D2F0 DA PHX A:00FF X:0617 Y:0020 P:envMxdizC - Push X onto Stack.
$00/D2F1 A2 63 77 LDX #$7763 A:00FF X:0617 Y:0020 P:envMxdizC - Load 7763 into X. (X and Y of the visual effect on the World Map.)
$00/D2F4 8E 06 17 STX $1706  [$00:1706] A:00FF X:7763 Y:0020 P:envMxdizC - Store X in 1706.
$00/D2F7 9C 00 17 STZ $1700  [$00:1700] A:00FF X:7763 Y:0020 P:envMxdizC - Store Zero in 1700.
$00/D2FA 20 02 85 JSR $8502  [$00:8502] A:00FF X:7763 Y:0020 P:envMxdizC - Subroutine
$00/D2FD A9 20 LDA #$20 A:007F X:5A00 Y:0080 P:envMxdIzc - Load Camera distance into A (10 is default for World Map)
$00/D2FF 85 AD STA $AD    [$00:06AD] A:0020 X:5A00 Y:0080 P:envMxdIzc - Store in 06AD
$00/D301 A9 81 LDA #$81 A:0020 X:5A00 Y:0080 P:envMxdIzc - Load 81 into A.
$00/D303 8D 00 42 STA $4200  [$00:4200] A:0081 X:5A00 Y:0080 P:eNvMxdIzc - Store A in 4200.
$00/D306 A9 03 LDA #$03 A:0081 X:5A00 Y:0080 P:eNvMxdIzc - Load 03 into A.
$00/D308 20 92 8B JSR $8B92  [$00:8B92] A:0003 X:5A00 Y:0080 P:envMxdIzc - Subroutine
$00/D30B A2 40 00 LDX #$0040 A:0010 X:5A00 Y:0080 P:envMxdIzC - Load 0040 into X. (Amount of time for the quakes to begin.)
$00/D30E 20 56 DF JSR $DF56  [$00:DF56] A:0010 X:0040 Y:0080 P:envMxdIzC - Jump to Subroutine.
$00/D311 A9 01 LDA #$01 A:0000 X:0000 Y:0080 P:envMxdIZC - Load 01 into A,
$00/D313 85 E3 STA $E3    [$00:06E3] A:0001 X:0000 Y:0080 P:envMxdIzC - Store A in 06E3.
$00/D315 A9 20 LDA #$20 A:0001 X:0000 Y:0080 P:envMxdIzC - Load 20 into A.
$00/D317 8D CF 0A STA $0ACF  [$00:0ACF] A:0020 X:0000 Y:0080 P:envMxdIzC - Store A in 0ACF.
$00/D31A A9 02 LDA #$02 A:0020 X:0000 Y:0080 P:envMxdIzC - Load 02 into A. (Amount of quake sprites around the screen X.)
$00/D31C 8D D0 0A STA $0AD0  [$00:0AD0] A:0002 X:0000 Y:0080 P:envMxdIzC  - Store A 0AD0
$00/D31F A9 03 LDA #$03 A:0002 X:0000 Y:0080 P:envMxdIzC - Load 03 into A. (Amount of Quake Sprites around the screen Y.)
$00/D321 8D D1 0A STA $0AD1  [$00:0AD1] A:0003 X:0000 Y:0080 P:envMxdIzC - Store A in 0AD1.
$00/D324 A2 70 70 LDX #$7070 A:0003 X:0000 Y:0080 P:envMxdIzC - Load 7070 into X. (Location on Screen to hit with quake sprites)
$00/D327 8E D4 0A STX $0AD4  [$00:0AD4] A:0003 X:7070 Y:0080 P:envMxdIzC - Store X in 0AD4.
$00/D32A A2 40 00 LDX #$0040 A:0003 X:7070 Y:0080 P:envMxdIzC - Load 0040 into X. (Amount of time for the Visual Effect to continue to play)
$00/D32D 8E D2 0A STX $0AD2  [$00:0AD2] A:0003 X:0040 Y:0080 P:envMxdIzC - Store X in 0AD2.
$00/D330 9C CD 0A STZ $0ACD  [$00:0ACD] A:0003 X:0040 Y:0080 P:envMxdIzC - Store 00 in 0ACD.
$00/D333 A9 02 LDA #$02 A:0003 X:0040 Y:0080 P:envMxdIzC - Load 02 into A. (Sprite configuration?)
$00/D335 8D CE 0A STA $0ACE  [$00:0ACE] A:0002 X:0040 Y:0080 P:envMxdIzC - Store A 0ACE.
$00/D338 A9 42 LDA #$42 A:0002 X:0040 Y:0080 P:envMxdIzC - Load 42 into A. (Song to play while Visual Effect occurs)
$00/D33A 8D 01 1E STA $1E01  [$00:1E01] A:0042 X:0040 Y:0080 P:envMxdIzC - Store A in 1E01.
$00/D33D A9 01 LDA #$01 A:0042 X:0040 Y:0080 P:envMxdIzC - Load 01 into A. (Sound effect to play at start)
$00/D33F 8D 00 1E STA $1E00  [$00:1E00] A:0001 X:0040 Y:0080 P:envMxdIzC - Store A in 1E00
$00/D342 22 04 80 04 JSL $048004[$04:8004] A:0001 X:0040 Y:0080 P:envMxdIzC - Subroutine
$00/D346 20 ED DD JSR $DDED  [$00:DDED] A:0001 X:0040 Y:0080 P:envMxdIZC -
$00/D349 20 2D 8F JSR $8F2D  [$00:8F2D] A:00FC X:0040 Y:0010 P:envMxdIZC - Movement Routine
$00/D34C 20 2F DE JSR $DE2F  [$00:DE2F] A:0000 X:001E Y:0000 P:envMxdIZC
$00/D34F AE D2 0A LDX $0AD2  [$00:0AD2] A:0001 X:001C Y:0000 P:envMxdIzC - Load X from 0AD2.
$00/D352 E0 10 00 CPX #$0010 A:0001 X:0040 Y:0000 P:envMxdIzC - Has it looped...?
$00/D355 B0 07 BCS $07    [$D35E] A:0001 X:0040 Y:0000 P:envMxdIzC - - If not branch elsewhere
--------------------------------------------------------------------------------

----------------------------------------------------------------------------------
$00/D35E AE D2 0A LDX $0AD2  [$00:0AD2] A:0001 X:0040 Y:0000 P:envMxdIzC - Load X from 0AD2
$00/D361 D0 E6 BNE $E6    [$D349] A:0001 X:0040 Y:0000 P:envMxdIzC - Loop back if not 00.
---------------------------------------------------------------------------------
$00/D364 8E 06 17 STX $1706  [$00:1706] A:0085 X:0617 Y:0080 P:envMxdIzc - Store X in 1706.
$00/D367 64 E3 STZ $E3    [$00:06E3] A:0085 X:0617 Y:0080 P:envMxdIzc - Store Zero in 06E3.
$00/D369 64 80 STZ $80    [$00:0680] A:0085 X:0617 Y:0080 P:envMxdIzc - Store Zero in 0080.
$00/D36B 4C D3 E0 JMP $E0D3  [$00:E0D3] A:0085 X:0617 Y:0080 P:envMxdIzc - Go to Rest of Routine.

433
Final Fantasy IV Research & Development / Re: Graphics info
« on: February 04, 2015, 01:22:19 PM »
Those are all some really neat changes. Yeah, FFIV's Dwarven lands doesn't seem to have any water and judging from the reaction by one of the Dwarves to clear blue water I imagine they drink Magma, the idea you've made has a lot more sense to it. Also again, a Fire Area and an Ice Area are two places that are noticeably missing from FFIV so I'm glad to see you're rectifying that.

Since you mentioned two-handed weapons, will there be more available? Or are you using the slots available more judiciously?

Your idea for the Holy Fiend is great, while more story to go along with it (a subplot or something) would make it even more impactful, I understand too well the constraints of space all around.

434
Final Fantasy IV Research & Development / Re: Throw's Special Graphic
« on: February 04, 2015, 01:16:17 PM »
Aw yiss! Works perfectly!

Though I seem to have hijacked someone's thread. The original question was about Throw...

 :edit: Er, upon further experimentation, while the visual is now totally awesome, the behaviour has become that it always uses the same effect instead of randomizing between the four...

 :edit: 2: Upon closer reading of your code, I notice you had typed D0 08 and then translated it as BNE 09 so I guessed that the 08 was a typo and changed it to 09 and now it works

More carelessness on my part (I even made sure to triple check it! Bah) No matter, you got it right in the end.

Throw is still a large unknown to me, when I was dealing with the instruction I found Nothing to link it to the graphic thrown. I'm sure someone will eventually figure it out though.

435
Final Fantasy IV Research & Development / Re: Graphics info
« on: February 04, 2015, 11:41:54 AM »
Very nicely done! So I imagine in this that the two other Dark Crystals might be in the Feymarch and Tomra (Tomra's just a guess) I love the idea of a full compliment of Elemental Fiends that you're using and palette swapped Rubicante actually does look remarkably different.

I just did a little research, I had no idea Calcabrina was also from Dante's Inferno. And it looks like the remainder will bear just as much resemblance to their mythical counterparts than the original four fiends (Ruffle-haired does not mean Zombie, Turtle is not Dog, Tornado is not Beard (but I can at least see some of the symbolism there), Red... actually fits Rubicante well, the term Rabid does not). Good use of the same circle though. I wasn't aware they all came from the same part of Dante's Inferno.

I really like that you're delving in deeper into the theological aspects of FFIV, if just so, with the Summons (and mages?) referring to Bahamut as a God to be worshipped and having one of the fiends as a Prophet is a rather nice touch.

I see you're making good use of the expanded shields (or possibly got rid of others) for left handed equipment for Mages. A good way to make sure they can actually have Defense Multipliers short of hacking the game to look at something else.