Is there a way to have multiple classes that transform with battle anims off?

In FE8, Myrrh’s Manakete class has separate map sprites for when she transforms with battle animations off. These are stored in the class 0xE by default (Separate from her actual class)


Is there a way to have multiple classes call this function? Or to have different “Map sprite transformations” for different classes?

I’m not sure if something like this already exists, but I gave this a try. You can get the *.event and *.lyn.event files from my GitHub repo here: MultiTransformManims. You should be able to insert this via EA in FEBuilder.

305x205

With this, you can define a list of entries in the following data format:

Multi Transform List Entry:
    +0 | byte | item ID that will trigger transformation
    +1 | byte | class ID that will trigger transformation (use 0 for any class)
    +2 | byte | class ID to transform into
    +3 | byte | padding
    +4 | word | pointer to palette for the moving map sprite
Example below the fold...

For example, if I define the data in the following format:

#define ManimTransformEnt(itemId, sourceClassId, displayClassId, palette) "BYTE itemId; BYTE sourceClassId; BYTE displayClassId; BYTE 0; WORD palette"

#define AnyClass 0x00

gMultiTransformManimList:
    ManimTransformEnt(Dragonstone, Manakete_2_F, Manakete, 0x089A8F74)
    ManimTransformEnt(Rapier, EirikaLord, Bael, 0x0859EEA0)
    ManimTransformEnt(SteelLance, AnyClass, DracoZombie, 0x0859EEA0)
    ManimTransformEnt(-1, 0, 0, 0)
  • A unit with Myrrh’s vanilla class wielding a Dragonstone will transform into class 0xE (as in vanilla)
  • A unit with Eirika’s Lord class wielding a Rapier will transform into the Bael class with the Link Arena palette
  • A unit with any class wielding the Steel Lance will transform into the Draco Zombie class with the Link Arena palette

Hopefully this is sort of along the lines of what you were looking for! Let me know if you have any issues with it.

5 Likes

HOLY SHIT!

THIS. IS. AMAZING!!!

I will give it a try as soon as I can. Thank you SO MUCH

Now repost this in your hacks thread :ok_hand:

maybe I’ll do something silly with ditto using this. When attacking/defending, transform into the opponent. That way I don’t need to save stats for longer than battle and is cool

2 Likes

7743 should add this as a patch for FEBuilder

You should add BYTE 0x00 to ManimTransformEnt.
Without it, the third byte(padding) would be indeterminate.
Writing over 0xFF 0xFF 0xFF 0xFF, it would be 0xFF, and writing over 0x11 0x22 0x33 0x44, it would be 0x44.
This is dangerous for terminated data, so it is recommended to use 0x00 for sure.

#define ManimTransformEnt(itemId, sourceClassId, displayClassId, palette) "BYTE itemId; BYTE sourceClassId; BYTE displayClassId; BYTE 0x00; ALIGN 4; WORD palette"
1 Like

Thanks for this feedback! That makes a lot of sense. I’ve applied this change in my GitHub repository.

1 Like