How to create a power up system/switch characters mid game with different frame data

Godot Version

4.22

Question

I posted on Reddit awhile a go, and while I found a solution, it seems finicky and unreliable.

I want to achieve a power-up system for my player character. Upon picking up a power-up, I want the character sprite sheet to change to a different sheet with different frame data. Not just a color palette swap, I effectively want the character to change into a different one.

For example, the no power-up attack would be a 3-frame start-up. But when the player has a heavy power-up, I want that power-up attack to have a 6-frame start-up instead with a different animation.

What would be the best way to achieve this?

I tried using multiple animation players, but this doesn’t seem right. Another avenue I’ve considered is just having a second player node under my main one with a duplicate state machine and all. That seems a bit inefficient though.

Any help is greatly appreciated!