In this thread I will put all the information I can that talks about Specials, to help everyone to understand.
This is what a Special can look like:
What does all this text mean? Scroll down and find out.
Set Loop:Sets a loop for X times. The loop will be infinite if you put FFFFFFFF as the value.
Loop Rest:This must be inside the Set Loop, or it will make the game crash.
Execute Loop:Executes the previously set loop.
If:Starts an If block until an Else or an EndIf is reached.
There is 3 "If" events in the list.
The 1st one only has 1 requirement.
The 2nd one also has a variable requirement.
The 3rd one is like the 2nd one but with a comparison method.
If bit is set: RA-Bit: RA-Bit[18] stands for Bit type Random Access variable #18. From what I understand Bit variables can only be set to true or false and Random Access variables can only be used in the move that calls them, as in they aren't stored longer than that specific move. It's probably used to control certain things in the move.
It is better if the variable is not used by any other character or it might mess up with their attacks. I guess it should be ok if you use a variable above 100.
Change ActionChanges the current Action to the one selected once the requirement is met. To know which Action is which, there's a list of almost all the Actions
here.
There is 4 "Change Action" events in the list, all with different parameters in it. (I'd recommend using the 2nd one, but the other ones are fine too)
Additionnal RequirementUse this to add another requirement to a "Change Action" or "Change SubAction" event.
There is 3 "Additionnal Requirement" events in the list.
The 1st one only has a requirement.
The 2nd one adds a variable to the requirement. (You can use this one for "Button pressed" requirements)
The 3rd one is like the 2nd one but with a comparison method.
If Button Pressed:
When you make an "if" event, you can set the requirement to one of those (and more):
-Button Press
-Button Release
-Button Pressed
-Button not Pressed
To use one of those, we need to set which button you're talking about. First, be sure that the "If" you selected is the 2nd one on the event list. Then, change the "variable" to one of the following:
00 = normal attack button (A by default)
01 = special attack button (B by default)
02 = jump button (X, Y and Up by default)
03 = shield button (L, R and Z by default)
04 = R, L, Z
05 = ? (Couldn't trigger this one)
06 = Dpad UP
07 = Dpad DOWN
08 = Dpad RIGHT, Dpad LEFT
09 = Dpad LEFT
0A = Dpad RIGHT
0B = B, X, Dpad RIGHT, Dpad LEFT
0C = Y, X , Dpad UP, Dpad RIGHT
0D = B, Y, X , Dpad UP, Dpad RIGHT, Dpad LEFT
0E = A+B (Both pressed together)
0F = C-Stick (Any Direction)
10 = With a value of "10," the IF statement triggered everytime, regardless of inputting any button...or not pressing anything at all.
11 = ? (Couldn't trigger this one)
12 = ? (Couldn't trigger this one)
(thanks to kdr4485)
Change SubActionChanges the current SubAction to the one selected. To know which SubAction is which, just go in the SubAction tab.
There is 2 "Change SubAction" events in the list.
The 1st one is normal.
The 2nd one has a "Pass frame" parameter in it.
Pass Frame:As I just said, when you add the second "Change SubAction" event, you will find a "Pass Frame" parameter in it.
Pass Frame simply passes the frame that the current animation is on over to the new animation.
So if you have an air animation that is at frame 14 and you suddenly land on the ground, then the ground animation will start at frame 14 to make for a smooth landing transition.
I don't have a lot of experience with Specials yet, so if you know more, please post here.