Multiple use "Morph" Commands
#2
The game takes a few RAM shortcuts because it's coded with the assumption that only one character will be able to attempt such a command.  In the case of morph, there is a ram value that specifies the party slot who used the command first as the 'morph' actor, which prevents anybody else from morphing until that RAM value is clear.  You're also going to run into some trouble with the timer, since again the game isn't set up to run more than one.  If you bypass that first check for somebody already being morphed, then the second character to morph in battle will be morphed permanently until they queue a revert command.

So if you want to do this, you might just want to scrap the timer altogether and make morphing permanent, but with some penalty attached instead (say... taking double magic damage instead of half while morphed).

The last hurdle you need to address is the graphic change imposed by the morph status.
Code:
C1/2F99:    BDC02E      LDA $2EC0,X        [Current Status for graphics]
C1/2F9C:    2908        AND #$08        [Check if morphed?]
C1/2F9E:    F015        BEQ $2FB5
C1/2FA0:    B96C7B      LDA $7B6C,Y        (load character sprite ID)
C1/2FA3:    C912        CMP #$12        (check if it's morphed Terra)
C1/2FA5:    F03F        BEQ $2FE6        (branch if so)
C1/2FA7:    A912        LDA #$12        (load morphed Terra sprite ID)
C1/2FA9:    996C7B      STA $7B6C,Y        (and save it as this character's graphic)
C1/2FAC:    205731      JSR $3157
C1/2FAF:    7B          TDC
C1/2FB0:    99707B      STA $7B70,Y
C1/2FB3:    8031        BRA $2FE6
The way this is programmed, it checks if the character's appearance is Morph Terra and changes it if not.  To make this work for multiple characters, you'll need to come up with a way to store or check their unmorphed character graphics.
Code:
C1/2FD1:    B96C7B      LDA $7B6C,Y        (load character sprite ID ?)
C1/2FD4:    DDAE2E      CMP $2EAE,X        (compare to battle sprite ID)
C1/2FD7:    F00D        BEQ $2FE6        (branch if both the same)
C1/2FD9:    BDAE2E      LDA $2EAE,X        (load battle sprite ID)
C1/2FDC:    996C7B      STA $7B6C,Y        (store as character sprite ID)
This is the 'character graphics refresh if not morphed or imp' that comes after, so you'd need to do something like load the battle sprite ID, compare it against the unmorphed character graphic ID, and then decide which morphed ID to use based on the result of that comparison.
Reply


Messages In This Thread
Multiple use "Morph" Commands - by Catone - 08-19-2022, 04:04 PM
RE: Multiple use "Morph" Commands - by C-Dude - 08-19-2022, 04:19 PM
RE: Multiple use "Morph" Commands - by Catone - 08-19-2022, 09:33 PM
RE: Multiple use "Morph" Commands - by Seifer - 08-20-2022, 09:23 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Gogo select more commands? xDaygo 12 10,703 05-06-2020, 06:50 PM
Last Post: PowerPanda
  Make Morph work like Quick? C-Dude 7 6,093 09-16-2019, 09:40 PM
Last Post: C-Dude
  Creating seal commands (Paid job) hoshinmoon 3 3,336 01-20-2019, 09:38 PM
Last Post: madsiur
  Morph Packs in FF6A FenixElite 2 3,005 01-26-2018, 10:13 PM
Last Post: Everything
  2 Jump Commands Cyprus 0 1,908 05-07-2016, 10:13 AM
Last Post: Cyprus
  customize FA battle AI commands Tenkarider 6 7,459 05-05-2016, 11:56 PM
Last Post: Imzogelmo
  Making two different Jump commands Cyprus 4 5,319 10-26-2015, 02:44 AM
Last Post: Synchysi
  More Commands in Battle Catone 9 9,168 01-21-2015, 12:06 PM
Last Post: Catone
  Multiple questions. I would like to know for a hackgame I want to do. RPGX_Omega 5 6,834 10-01-2014, 11:36 PM
Last Post: RPGX_Omega
  Giving another character Morph CrumpledMedal 2 3,252 09-19-2014, 06:49 PM
Last Post: GrayShadows

Forum Jump:


Users browsing this thread: 1 Guest(s)