Kitty Corp Meow Mix Forums

Super Smash Bros. Brawl Hacking => Programming => Topic started by: Ebola16 on December 19, 2019, 09:13:37 PM

Title: AI teleporting recovery for custom movesets based on non-teleporting characters
Post by: Ebola16 on December 19, 2019, 09:13:37 PM
AIScriptPad 2.0.1 ( (current version at the time of writing this post) can be used to edit the AI of characters. Often, when a character is given a teleporting recovery move but has an AI configured for a non-teleporting recovery, the character will fail to recover. Note that this is a quick fix and can sometimes be improved upon by further customizing the AI code to a specific moveset, but it's much better than a character that almost always fails to recover.

After extracting scripts from original Brawl characters, I've found that usually contains recovery move mechanics. Zelda's can properly use a teleporting recovery move. Diddy Kong's can properly handle teleporting recovery moves that require holding UP+B. Simply add or replace on the character that fails to recover, recompile the Fit*MotionEtc.pac, and you'll likely see a significant improvement!

Examples of this change:
AI recovery improvement: Princess Amaterasu (
Ultimate-ish Palutena PSA v1.0a (

Some characters that have benefited from Zelda's
Princess Amaterasu
Sword Ganon

Some characters that have benefited from Diddy Kong's
Phantom Ganon

Some of the above mentioned characters either have many revisions or were leaked so it's best to make this simple change yourself rather than asking me to do it.

Post Merge: December 20, 2019, 07:42:57 AM
And here is a visual representation of how this helps recovery. Palutena is used in this example.
A -> A' represents location pre-recovery -> location post-recovery.
Red indicates bad, Green indicates good.
The E -> E' case (slightly below stage vertically, far from stage horizontally) can still be a problem but this is still a significant improvement.
These aren't all of my test cases but you'll get the idea.

Before my changes:

After my changes: