It always annoyed me that Kain's entire backstory in the Scenario Guide is about him caring for the last living Dragon in Baron, yet not once, in any release, does he ever talk about Dragons or that the Dragoon Corps were known as Dragon Riders. While I can't make Kain a Dragon Rider, I can at least give him Something to do with Dragons and I always felt that in FFIV actions speak louder than words, so I gave him a command that will allow Kain to soothe the hearts of wounded dragons and allow them to Retreat without harm. In thanks they impart their wisdom to Kain and will teach him either a new Dragon Skill or a White Magic spell.
I am proud to say that my attempt to have Kain learn spells from All Wounded Dragons is a resounding success! Thanks to Chillyfeez's code and the mass amount of space that Recall gave me I managed to include a unique entry for nine dragons and the rest are handled with a Level Algorithm.
This patch will add three new dragons (replacing the "rare enemies" on the Three-Step Peninsula). One in the Overworld, two in the Underworld. Wind Dragon, Sol Dragon, and Great Dragon (WndDragn, SolDragn, GrtDragn)
The Wind Dragon can be challenged in the forests around Troia and yields the spell Reis' Wind, which will restore 1/3 of everyone's current HP.

The Sol Dragon is fought in the Underworld and teaches the spell Cyclone, which is an Air Elemental Magic Attack.

The Great Dragon is fought in somewhat rare encounters in both the Sylph Cave and Sealed Cave and can impart the situationally useful Dragon Breath.

The MecDragon (formerly known as D. Machin) is no longer in just the Giant of Babil (or else Kain could never fight it) but is the 1/64 chance in the area outside of Baron (and yet I've Still run into it three times) and will likely need a Siren to locate. It teaches the powerful Lancet skill which will turn Kain's ordinary attack into a Drain attack, restoring half of the damage that he inflicted.

Finally the Red Dragon can also be found not just in the Lunar Subterrane but on the Moon's Surface itself, and the Red Dragon gives the mighty Sky Rave skill, which is a powerful Holy and Air elemental attack on all foes.


The other Dragons teach White Magic and are merely meant to supplement Kain where as the Five Main Dragons all are given ample opportunity to challenge.
Green D. - Teaches Blink (Underworld/Tower of Babil 2)
Silver D.- Teaches Esuna (Lunar Subterrane)
Yellow D.- Teaches Haste (Underworld (3-Step Peninsula)) - Siren, likely
Wyvern - Teaches White (Boss)
Blue D. - Teaches Bersk (Lunar Subterrane)
Gold D. - Teaches Slow (Lunar Subterrane)
Clapper - Teaches Charm (Cave of Summon Monsters)
Pale Dim - Teaches Exit (Boss)
And here is the code (much of the looping and spell section credit goes to Chillyfeez!)
With this the Final Five are finalized. I can give Advance to Cid, but I'm not sure what I want done with Yang... His skills are only marginally useful and a whole skillset doesn't really fit the character. I might be able to make Gird to be more effective than it currently is (right now its awful) Focus is virtually untouchable (other than those Stupid /2 Defenses while Charging!) and Kick could take Elemental Weapons into account. Dark Wave will likely use a spell rather than its ordinary "go to kick" end to its formula. Cry and Boast are still up in the air and Regen will hopefully be made into a spell rather than a full command (Regen should have been a spell in the first place...)
Dragon Speech
$03/EA1A AD 40 27 LDA $2740 [$7E:2740] A:0003 X:000E Y:0000 P:envMxdizc - Load Target's Creature Type into A.
$03/EA1D C9 01 CMP #$01 A:0000 X:000E Y:0000 P:envMxdiZc - Is it Dragon?
$03/EA1F F0 01 BEQ $01 [$EA22] A:0000 X:000E Y:0000 P:eNvMxdizc - If so, branch past here.
$03/EA21 60 RTS A:0000 X:000E Y:0000 P:eNvMxdizc - Return
-------------------------------------------------------------------------------------------
$03/EA22 AD 06 27 LDA $2706 [$7E:2706] A:0001 X:000E Y:0000 P:envMxdiZC - Load Target's Status Byte 4 into A.
$03/EA25 C9 01 CMP #$01 A:0000 X:000E Y:0000 P:envMxdiZC - Are they in Critical?
$03/EA27 F0 07 BEQ $07 [$EA30] A:0000 X:000E Y:0000 P:eNvMxdizc - If so, branch to Dragon Identifier.
$03/EA29 A9 07 LDA #$07 A:0000 X:000E Y:0000 P:eNvMxdizc - Load Message 07 into A (The Dragon is Prideful!)
$03/EA2B 8D CA 34 STA $34CA [$7E:34CA] A:0007 X:000E Y:0000 P:envMxdizc - Message Data.
$03/EA2E 80 7E BRA $7E [$EAAE] A:0007 X:000E Y:0000 P:envMxdizc - Branch to Message Jump
-------------------------------------------------------------------------------------------------
$03/EA30 AD AD 29 LDA $29AD [$7E:29AD] A:0000 X:000E Y:0000 P:envMxdiZC - Load Monster Type 1 into A.
$03/EA33 C9 6F CMP #$6F A:006F X:000E Y:0000 P:envMxdizC - Is it Wind Dragon?
$03/EA35 D0 04 BNE $04 [$EA3B] A:006F X:000E Y:0000 P:envMxdiZC - If not, jump to next Dragon check.
$03/EA37 A9 1C LDA #$1C A:006F X:000E Y:0000 P:envMxdiZC - Load Reis' Wind into A.
$03/EA39 80 45 BRA $45 [$EA80] A:001C X:000E Y:0000 P:envMxdizC - Branch to Spell Finding Routine
--------------------------------------------------------------------------------------------------
$03/EA3B C9 50 CMP #$50 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it Sol Dragon?
$03/EA3D D0 04 BNE $04 [$EA43] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA3F A9 27 LDA #$27 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Cyclone into A.
$03/EA41 80 3D BRA $3D [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
--------------------------------------------------------------------------------------------------------
$03/EA43 C9 48 CMP #$48 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it Great Dragon?
$03/EA45 D0 04 BNE $04 [$EA4B] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA47 A9 40 LDA #$40 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Dragon Breath into A.
$03/EA49 80 35 BRA $35 [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
--------------------------------------------------------------------------------------------------------
$03/EA4B C9 6E CMP #$6E A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it MecDragon?
$03/EA4D D0 04 BNE $04 [$EA53] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA4F A9 41 LDA #$41 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Lancet into A.
$03/EA51 80 2D BRA $2D [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
-------------------------------------------------------------------------------------------------------
$03/EA53 C9 9F CMP #$9F A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it Red Dragon?
$03/EA55 D0 04 BNE $04 [$EA5B] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA57 A9 46 LDA #$46 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Sky Rave into A.
$03/EA59 80 25 BRA $25 [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
---------------------------------------------------------------------------------------------------------------
$03/EA5B C9 85 CMP #$85 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it Green Dragon?
$03/EA5D D0 04 BNE $04 [$EA63] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA5F A9 04 LDA #$04 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Blink into A.
$03/EA61 80 1D BRA $1D [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
-----------------------------------------------------------------------------------------------------------------------------
$03/EA63 C9 8C CMP #$8C A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it Silver Dragon?
$03/EA65 D0 04 BNE $04 [$EA6B] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA67 A9 12 LDA #$12 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Esuna into A.
$03/EA69 80 15 BRA $15 [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
-------------------------------------------------------------------------------------------------------------------------------
$03/EA6B C9 8D CMP #$8D A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it Yellow Dragon?
$03/EA6D D0 04 BNE $04 [$EA73] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA6F A9 08 LDA #$08 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Haste into A.
$03/EA71 80 0D BRA $0D [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
-------------------------------------------------------------------------------------------------------------------
$03/EA73 C9 9B CMP #$9B A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Is it Blue Dragon?
$03/EA75 D0 04 BNE $04 [$EA7B] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - If not, jump to next Dragon Check.
$03/EA77 A9 09 LDA #$09 A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Bersk into A.
$03/EA79 80 05 BRA $05 [$EA80] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Branch to Spell Finding Routine.
--------------------------------------------------------------------------------------------------------------------
$03/EA7B AD 02 27 LDA $2702 [$04:2702] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Load Dragon's Level into A.
$03/EA7E E9 4B SBC #$4B A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Subtract 75 from Level (becomes the spell you will learn)
-----------------------------------------------------------------------------------------------------------
$03/EA80 48 PHA A:001C X:000E Y:0000 P:envMxdizC - Push A onto Stack (to retrieve later)
$03/EA81 A2 00 00 LDX #$0000 A:001C X:000E Y:0000 P:envMxdizC - Load 0000 into X.
--------------------------------------------------------------(Looping Point)-----------------------------------------------------
$03/EA84 DD 50 16 CMP $1650,x[$7E:1650] A:001C X:0000 Y:0000 P:envMxdiZC - Compare the first byte in FuSoYa's White Spell Book with A +X
$03/EA87 F0 29 BEQ $29 [$EAB2] A:001C X:0000 Y:0000 P:envMxdiZC - If they are equal (meaning the spell is already known) branch to end.
$03/EA89 E8 INX A:001C X:0000 Y:0000 P:envMxdizC - +1 to X.
$03/EA8A E0 18 00 CPX #$0018 A:001C X:0001 Y:0000 P:envMxdizC - Has it checked through the entire spell book? (24 slots)
$03/EA8D D0 F5 BNE $F5 [$EA84] A:001C X:0001 Y:0000 P:eNvMxdizc - If not loop back to checking.
------------------------------------------------------------------------------------------------------
$03/EA8F A2 00 00 LDX #$0000 A:001C X:0018 Y:0000 P:envMxdiZC - Load 0000 into X.
------------------------------------------------(Looping Point)------------------------------------------------------------------
$03/EA92 BD 50 16 LDA $1650,x[$7E:1650] A:001C X:0000 Y:0000 P:envMxdiZC - Load FuSoYa's White Spell Book Slot 1 into A.
$03/EA95 F0 03 BEQ $03 [$EA9A] A:0000 X:0000 Y:0000 P:envMxdiZC - Branch if 00 is found (free space)
----------------------------------------------------------------------------------------------------------------------------------
$03/EA97 E8 INX A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - +1 to .
$03/EA98 80 F8 BRA $F8 [$EA92] A:0501 X:05B0 Y:BDB2 P:eNvMxdIzc - Loop back if it is not found.
-------------------------------------------------------------------------------------------------------------
$03/EA9A 68 PLA A:0000 X:0000 Y:0000 P:envMxdiZC - Pull A from Stack.
$03/EA9B 9D 50 16 STA $1650,x[$7E:1650] A:001C X:0000 Y:0000 P:envMxdizC - Store A in Spell Book.
$03/EA9E 8D 9A 35 STA $359A [$7E:359A] A:001C X:0000 Y:0000 P:envMxdizC - Store A Message
$03/EAA1 A9 92 LDA #$92 A:001C X:0000 Y:0000 P:envMxdizC - Load Retreat into A.
$03/EAA3 8D D2 26 STA $26D2 [$7E:26D2] A:0092 X:0000 Y:0000 P:eNvMxdizC - Store A in Next Action to Take.
$03/EAA6 20 3E CD JSR $CD3E [$03:CD3E] A:0092 X:0000 Y:0000 P:eNvMxdizC - Jump to Magic Routine.
$03/EAA9 A9 08 LDA #$08 A:0080 X:0680 Y:001A P:eNvMxdizC - Load Message 08 (The Dragon shares its wisdom)
$03/EAAB 8D CA 34 STA $34CA [$7E:34CA] A:0008 X:0680 Y:001A P:envMxdizC - Load it into Message Area,
------------------------------------------------------------------------------------------------------------
$03/EAAE 20 A6 85 JSR $85A6 [$03:85A6] A:0007 X:000E Y:0000 P:envMx - Jump to Message Input
$03/EAB1 60 RTS A:0003 X:000E Y:0000 P:envMxdizc - Return
------------------------------------------------------------------------------------------------------------------
$03/EAB2 68 PLA A:001C X:0000 Y:0000 P:envMxdiZC - Pull A from Stack.
$03/EAB3 A9 92 LDA #$92 A:001C X:0000 Y:0000 P:envMxdizC - Load Retreat into A.
$03/EAB5 8D D2 26 STA $26D2 [$7E:26D2] A:0092 X:0000 Y:0000 P:eNvMxdizC - Store A in Caster's Next Action.
$03/EAB8 4C 3E CD JMP $CD3E [$03:CD3E] A:0092 X:0000 Y:0000 P:eNvMxdizC - Jump and stay with Magic Routine.
-----------------------------------------------------------------------------------------------------------------------
And there you go. If I were more clever I could have put even more dealings into that Level Algorithm, but I thought of it fairly late in the process when I was strapped for bytes.
Things you can expect in this patch -
New Foes in various areas. Refer to above for locations.
A completely new and unique way for Kain to learn Spells.
Several enemies and bosses received minor changes to compensate the new skills and what was replaced in order for them.
All characters lost Venom and Weak/Gale and Edge lost Image.
FuSoYa and Tellah share the same spell sets.
Kain will gain MP up until Level 40.
With all of this in mind, I hope you enjoy the patch!