YesNoOk
avatar

Flight/Bukujutsu (Dragon Ball Z-style) (Read 6780 times)

Started by D. HoChoy, March 29, 2017, 04:28:59 am
Share this topic:
Flight/Bukujutsu (Dragon Ball Z-style)
#1  March 29, 2017, 04:28:59 am
  • ***
    • USA
    • dhochoy09@gmail.com
    • dhgallery.weebly.com/
For those interested in making DBZ characters that and really want them to be as authentic as possible including the bukujutsu technique, Imma show you how you can do it:

First is the command for flying:

Code:
[State -1, Bukujutsu]
type = ChangeState
value = ***
trigger1 = command = "***" ;The specific command to trigger the flight state
trigger1 = statetype = A && ctrl  ;Generally DBZ characters would have flight in place of a taunt but I'd recommend your character perform bukujutsu while in the air instead
trigger1 = pos y > -150 ;To keep your character flying at a limit

Now into the Bukujutsu technique itself:

Code:
[Statedef ***]
type = S ;So your character does not fall from the sky if gets hit
physics = S
facep2 = 1
ctrl = 0 ;So your doesn't crouch or jump while flying
sprpriority = 0

[State ***] ;So your characters turns if not facing the opponent
type = Turn
trigger1 = p2dist x < -2

[State ***] ;The animation in where your character is idle
type = ChangeAnim
triggerall = anim != *** ;Your character will only change to this animation if character is moving and player is not inputting any of the following commands
trigger1 = command != "holdfwd"
trigger1 = command != "holdback"
trigger1 = command != "holdup"
trigger1 = command != "holddown"
value = ***

[State ***] ;To prevent your character from moving while idle
type = VelSet
trigger1 = anim = ***
x = 0
y = 0

[State ***] ;So your character can block attacks while flying
type = ChangeState
trigger1 = inguarddist
trigger1 = command = "holdback"
value = 120

[State ***] ;This is the animation when your character is flying foreword
type = ChangeAnim
trigger1 = command = "holdfwd"
value = ***

[State ***] ;The speed of when your character is flying foreword
type = VelSet
trigger1 = anim = ***
x = 4
y = 0 ; So your character isn't moving up or down during the flying foreword animation

[State ***] ;This is the animation when your character is flying back
type = ChangeAnim
trigger1 = command = "holdback"
value = ***

[State ***]  ;The speed of when your character is flying backward
type = VelSet
trigger1 = anim = ***
x = -4
y = 0

[State ***] ;This is the animation for when your character is flying up (to a limit)
type = ChangeAnim
trigger1 = command = "holdup" && pos y > -150
value = ***

[State ***]  ;The speed of when your character is flying upward
type = VelSet
trigger1 = anim = ***
y = -*

[State ***] ;This is to prevent your character from going off-screen
type = VelSet
trigger1 = pos y < -150 ;This is the recommended limit to how high your character can fly up
y = 0

[State ***] ;This is animation for when your character is flying down
type = ChangeAnim
trigger1 = command = "holddown"
value = ***

[State ***] ;The the speed of when your character is flying downward
type = VelSet
trigger1 = anim = ***
y = *

[State ***] ;Your character will fall down if he is KO'd
type = ChangeState
trigger1 = !alive
value = 5050
ctrl = 0

[State ***] ;If your character touches the ground, he can land 
type = ChangeState
trigger1 = pos y >= 0
value = 52

[State ***] ;This is if you want your character to get out of the flight mode at any time (optional)
type = ChangeState
trigger1 = roundstate = 3 ;Your character will stop flying when the round has ended
trigger2 = time > 0 && command = "***" ;Your character will stop flying if the player inputs a specific command
value = 50 ;Your character will drop straight from the air
ctrl = 1

Also had this to your command (or the State -2 if you want) to prevent your character from going into a standing state while flying:
 
Code:
[State -1]
type = ChangeState
trigger1 = ctrl && stateno != [120,160] ;So it doesn't prevent your character from blocking
trigger1 = statetype = S && pos y
value = ***
ignorehitpause = 1
persistent = 1

[State -1]
type = CtrlSet
trigger1 = ctrl && stateno != [120,160] ;So blocking is virtually the same as if standing
trigger1 = statetype = S && pos y
value = ***
ignorehitpause = 1
persistent = 1

Now... how do y'all think of this tutorial? Is it good for any DBZ M.U.G.E.N character?

Note: The statenos and animenos were purposely left out so creators can think of adding their own numbers.