YesNoOk

Show content

This section allows you to browse the content for this member. Note that you can only see content for which you have sufficient viewing permissions.

**
DG is Offline
Contact DG:

DG

Contributor

Messages by DG

    

Re: Jiraiya's Forest (Naruto) - Original HD stage (4:3 and 16:9) - Mugen 1.1

 July 12, 2022, 01:33:36 pm View in topic context
 Posted by DG  in Jiraiya's Forest (Naruto) - Original HD stage (4:3 and 16:9) - Mugen 1.1 (Started by DG July 03, 2022, 02:10:00 am
 Board: Your Releases, 1.0+

    

Re: Jiraiya's Forest (Naruto) - Original HD stage (4:3 and 16:9) - Mugen 1.1

 July 03, 2022, 11:45:57 am View in topic context
 Posted by DG  in Jiraiya's Forest (Naruto) - Original HD stage (4:3 and 16:9) - Mugen 1.1 (Started by DG July 03, 2022, 02:10:00 am
 Board: Your Releases, 1.0+

We were essentially kids when we started and now you are making Mugen stages from your own kid's drawings. This definitely has its charm.
This is true my friend. Now he's asking me to make a demo video of his scenario. :D
    

Jiraiya's Forest (Naruto) - Original HD stage (4:3 and 16:9) - Mugen 1.1

 July 03, 2022, 02:10:00 am View in topic context
 Posted by DG  in Jiraiya's Forest (Naruto) - Original HD stage (4:3 and 16:9) - Mugen 1.1 (Started by DG July 03, 2022, 02:10:00 am
 Board: Your Releases, 1.0+

I released a new stage after a long time. My 9 years old son did a draw I liked so much that became a stage.

It's called Jiraiya's Forest (based on Naruto anime). Looks like a Manga style - but made by a child.

You can download in my site: https://dgmugen.com.br/

Mugen Version: 1.1

OldGamer I hope you like the final results. Thanks :D

There are 2 formats, default version (4:3) and widescreen version (16:9) - thanks to beterhans tutorial.





Standar Version (4:3)








Widescreen Version (16:9)









Have fun! :D
    

Re: Alex Kidd Plus - VS style + Games References + Original

 June 18, 2022, 04:58:01 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

This is not the finished version... but just to give some taste :)
    

Re: Alex Kidd Plus - VS style + Games References + Original

 June 10, 2022, 10:36:43 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

Finally I made this: Alex Kidd Soul
    

Re: Alex Kidd Plus - VS style + Games References + Original

 June 05, 2022, 04:49:04 am View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

Shuto Uke - Left Arm! /o/
    

Re: Alex Kidd Plus - VS style + Games References + Original

 May 24, 2022, 01:22:42 am View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

I'm really impressed! I remember about your older chars and stages, they were very nice, and you've improved so much! I'm really excited for him.

Parabéns DG! Continue com esse trabalho maravilhoso!

Thanks :)
    

Re: Alex Kidd Plus - VS style + Games References + Original

 May 22, 2022, 12:30:43 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

Shuto Uke - Karate Attack /o/
    

Re: Alex Kidd Plus - VS style + Games References + Original

 May 15, 2022, 01:48:26 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

One more assist for Alex Kidd: Teddy Boy
    

Re: Alex Kidd Plus - VS style + Games References + Original

 May 09, 2022, 11:44:02 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

Hey guys. I made a new progress video. I hope you like it. I made it with love. :)
    

Re: Alex Kidd Plus - VS style + Games References + Original

 April 24, 2022, 10:18:20 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

New progress video.

Now Alex can push a column of boxes and walk on it.


 :nuttrox:
    

P1 be on top of its helper (own plataform)

 April 23, 2022, 02:59:50 pm View in topic context
 Posted by DG  in P1 be on top of its helper (own plataform) (Started by DG April 23, 2022, 02:59:50 pm
 Board: M.U.G.E.N Development Help

Hey guys, I'm trying now to make Alex be on top of the box. I tried some PosFreeze codes but I notice there are a lot of problems with that.

If I make Alex "fly" on top of the box in a custom state, I'll have to create all the basic moves, basics attacks, special attacks, super attacks, etc, inside it. Would be a nightmare.

I notice when we do a wrong combo linking, the char just start walk on air as a bug. Is there a way to make it happens on a easy way?
    

Re: Sprites/Animations/Stage WIPs

 April 13, 2022, 05:00:30 am View in topic context
 Posted by DG  in Sprites/Animations/Stage WIPs (Started by Arias January 04, 2016, 10:00:41 pm
 Board: Graphics

This is amazing. I love your stages.
    

Re: Alex Kidd Plus - VS style + Games References + Original

 March 22, 2022, 11:44:04 am View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

New silly/funny showcase video:

 :smitten:
    

Re: Alex Kidd Plus - VS style + Games References + Original

 March 21, 2022, 04:52:27 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

Hello everybody, another silly/funny showcase video:

I hope you laugh with it.  :mlol:
    

Re: Alex Kidd Plus - VS style + Games References + Original

 March 21, 2022, 01:56:14 am View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

New silly video show case of Alex against Jiren
    

Re: Alex Kidd Plus - VS style + Games References + Original

 February 26, 2022, 10:00:50 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

I guess another way is to make the helper check the conditions to be thrown and save that information in a root variable. Like:

Code:
[State 15000, Throw OK]
type = parentvarset
trigger1 = rootdist is in range to pick me up
trigger1 = root is not already interacting with another box
trigger1 = etc
var(1) = 1


[State -1, Block Throw - XYZ]
type = ChangeState
value = 1501
trigger1 = var(1)
...

[State -1, Reset]; at the end of CMD
type = varset
trigger1 = 1
var(1) = 0

This works with infinite helpers, but it's going to need more checks to make sure he can't throw more than one box simultaneously.

I think you should still have a number limit of boxes though, even if it's high, because Mugen only allows 56 helpers and you have to leave half of that for the opponent (more in Simul).

Do you plan to share the boxes with the opponent when playing against another Alex Kidd?

Yes, this sorted the problem. Thanks :)
    

Re: Alex Kidd Plus - VS style + Games References + Original

 February 23, 2022, 11:12:07 am View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

I guess another way is to make the helper check the conditions to be thrown and save that information in a root variable. Like:

Code:
[State 15000, Throw OK]
type = parentvarset
trigger1 = rootdist is in range to pick me up
trigger1 = root is not already interacting with another box
trigger1 = etc
var(1) = 1


[State -1, Block Throw - XYZ]
type = ChangeState
value = 1501
trigger1 = var(1)
...

[State -1, Reset]; at the end of CMD
type = varset
trigger1 = 1
var(1) = 0

This works with infinite helpers, but it's going to need more checks to make sure he can't throw more than one box simultaneously.

I think you should still have a number limit of boxes though, even if it's high, because Mugen only allows 56 helpers and you have to leave half of that for the opponent (more in Simul).

Do you plan to share the boxes with the opponent when playing against another Alex Kidd?

Thank you for the code. I'll try it later.

I never thought about thouse helper limits. Maybe I'll set up 10 boxes limit. So when he creates more boxes, the old one will disappear or break alone (when he punches floor).

Alex interaction with another Alex boxes could be an interesting idea, but it must be a lot of work to code...
    

Re: Alex Kidd Plus - VS style + Games References + Original

 February 22, 2022, 05:56:48 pm View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

Hello, old buddy. :) It's an engine limitation. The "helper" redirection only refers to the newest helper, not all of them. The solution is simple but boring: give each box a different ID depending on how many boxes there are on screen.

Say the limit is 3 boxes. Something like this should work:

ID = ifelse(!numhelper(1), 1, ifelse(!numhelper(2), 2, 3))

Then check the position of each helper ID individually to trigger the box throw.

Hey POTS, how are you my friend?

The problem is: there are no number limits for boxes. I'm working hard to make this Star box without any issue. Then, I'll replicate it with:

- Interrogation box
- Skull box
- Pink skull box
- SMS stone block
- Genesis stone block
- blue ball
- rubber block
- red chest
- gray chest

It will be random and with no limit at the moment. Both players can break it. P1 and p2.



If i use the "touch" code inside Alex(p1), he can throw the boxes he creates (helpers with the same ID = 15000)  but he follows the helper creation order = He can't throws the secound box without throwing/destroying the first box first.

If I use the "touch" code inside the helper(box), Alex can touch the nearest box of him (that is what I want). But I'm having problem to connect this helper/p1 interactive activation with the CMD where Alex(p1) only does the throw anim if he is close to a box. Is like a infinite loop. When I put the code inside helper it fixed the "order" issue. But I got a new one, Alex got Psycho/Ghost power and on every box he approach it levitates and is throwed over the enemy alone.

SO, I think the best way is to put the "touch call" inside helpers and try to connect it to the char someway without get a loop problem.
    

Re: Alex Kidd Plus - VS style + Games References + Original

 February 21, 2022, 12:17:05 am View in topic context
 Posted by DG  in Alex Kidd Plus - VS style + Games References + Original (Started by DG October 19, 2021, 02:41:53 am
 Board: Projects

Hello everybody, follow bellow a box break/throw showcase, and I take the opportunity to ask help with a issue I had (shown in this video):



As you can see I have a challenge here:

He only throws the boxes created in order. If I want to throw the secound box I need to throw/destroy the first box first.

I need help to make him throw the nearest box - not following helpr creation order.


Follow some codes:

CMD:
Code:
;Block Throw - XYZ
[State -1, Block Throw - XYZ]
type = ChangeState
value = 1501
triggerall = NumHelper(15000) > 0
triggerall = command = "Block_Throw_XYZ"
triggerall = command = "holddown"
;trigger1 = var(35) = 2
;trigger1 = helper(15000),Anim = 15200 || helper(15000),Anim = 15201
trigger1 = (helper(15000),rootdist X = [-40,25])*facing ;ifelse((facing = -1),(helper(15000),rootdist X = [0,45]),(helper(15000),rootdist X = [-45,0])) && (rootdist y = [-45,45])
trigger1 = statetype = C
trigger1 = ctrl


Throw box State:
Code:
; Block Throw - Star Box
[Statedef 1501]
type    = S                     
movetype= A                     
physics = S                     
juggle  = 5                     
velset = 0,0                     
ctrl = 0                         
anim = 1501                       
poweradd = 70                   
sprpriority = 2                 


[State 1501, 3]
type = PlaySnd
trigger1 = AnimElem = 8 ;7
value = 10, 2

;[State 1501, 3]
;type = PlaySnd
;trigger1 = AnimElem = 8
;value = 40, 2

[State 1501, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

Box helper state:
Code:
; Star Box: Helper
[Statedef 15000]
type    = A
movetype= A
physics = N
anim = 15000
sprpriority = 3

[State 15000, 1]
type = PosSet
trigger1 = Time = 0
;x = -40 + random%70
y = 0 ;50 ;random%130

[State 15000, 1]
type = PosAdd
triggerall = Time = 0
trigger1 = ScreenPos X >= GameWidth / 2 && Facing
trigger2 = ScreenPos X < GameWidth / 2 && root,Facing = -1
x = -50 + random%100

[State 15000, 1]
type = PosAdd
triggerall = Time = 0
trigger1 = ScreenPos X < GameWidth / 2  && Facing
trigger2 = ScreenPos X >= GameWidth / 2 && root,Facing = -1
x = 0 + random%200


[State 15000, 1]
type = VelSet
trigger1 = Time = 4 ;0
x = ifelse(RootDist X < -5, 1 + random%3, -1 - random%2)
y = -10 ;- random%10


[State 15000, 1] ;Jump Up Dust
type = Explod
trigger1 = Time = 0
persistent = 0
anim = 7100
postype = p1
pos = -8, 3 ;16, 3
velocity = 0, 0
accel = 0, 0
removetime = -2
sprpriority = 4
ownpal = 1
shadow = -1,0,0
trans = addalpha
alpha = 256, 256

[State 15000, 0] ;Ground Crack
type = Explod
trigger1 = Time = 0
persistent = 0
anim = 8415
postype = p1
pos = -12, -8 ;12, -8
velocity = 0, 0
accel = 0, 0
removetime = -2
sprpriority = -5
ownpal = 1
;supermovetime = 1000
ignorehitpause = 1
scale = 0.5,0.5


[State 15000, 1] ;start gravity
type = StateTypeSet
trigger1 = Pos Y < -20
trigger1 = Vel Y < 0
statetype = A
movetype = A
physics = A
ignorehitpause = 1

[state 15000, 2]
type = VelAdd
;trigger1 = Time > 7
trigger1 = Pos Y < -20
trigger1 = Vel Y < 0
y = 0.40

[State 15000, 1] ;fall
type = StateTypeSet
;trigger1 = Time > 50
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -10 && Pos Y < 0
statetype = A
movetype = A
physics = N
ignorehitpause = 1

[State 15000, 3] ;hit floor sound
type = PlaySnd
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -5;0
value = 18, 5
persistent = 0

[State 15000, 1] ;Ground Land Dust
type = Explod
;trigger1 = Time > 50
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
persistent = 0
anim = 7102
postype = p1
pos = -4, 0 ;20, 0 ;11, 2
velocity = 0, 0
accel = 0, 0
removetime = -2
sprpriority = -2 ;4
ownpal = 1
supermovetime = -1
removeongethit = 1
shadow = -1,0,0
trans = addalpha
alpha = 256, 256
scale = 0.5,0.5

[State 15000, 1] ;hit floor
type = VelSet
;trigger1 = Time > 50
trigger1 = Vel Y >= 0
trigger1 = Pos Y >= 0
x = 0
y = 0

[State 15000, 1] ;hit floor
type = PosSet
;trigger1 = Time > 50
trigger1 = Vel Y >= 0
trigger1 = Pos Y >= 0
y = 5

[State 15000, 1] ;hit floor
type = StateTypeSet
;trigger1 = Time > 50
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
statetype = S
movetype = I
physics = N
ignorehitpause = 1

[State 15000, 1] ;hit floor
type = StateTypeSet
;trigger1 = Time > 50
trigger1 = Vel X = 0
trigger1 = Vel Y = 0
trigger1 = Pos Y = 5
statetype = S
movetype = I
physics = N
ignorehitpause = 1


;[State 15000, 3]
;type = PlaySnd
;trigger1 = Time > 7
;;trigger1 = Vel Y > 0
;trigger1 = Pos Y >= 0
;value = 18, 5
;persistent = 0

[State 15000, 6]
type = HitBy
trigger1 = 1
value = SCA, AA,AT,AP

[State 15000, 7]
type = HitOverride
trigger1 = 1
attr = SCA, AA,AT,AP,NA,NP,SP,HP
stateno = 15001
time = -1

[State 15000, 2]
type = HitDef
trigger1 = root,P2Dist X >= -5 ;< -5
;trigger1 = Anim != 15200 || Anim != 15201
trigger1 = Time % 50 = 0 && P2BodyDist X <= 40
attr = A, SP                     
damage = floor(50/(1+(root,Var(19)/5.0))), 8
animtype = Hard                 
guardflag = MA                 
hitflag = MAF                 
priority = 2, Hit               
sprpriority = 3
pausetime = 8, 8 ;0, 4 ;0, 8 ;8, 8 ;2, 2   
guard.sparkno = s8300 ;S8200           
sparkno = s8310+(random%8) ;S8220                     
sparkxy = -2, -40             
hitsound = S15, 4   
guardsound = S16, 0 
ground.type = High               
ground.slidetime = 15
ground.hittime  = 25             
ground.velocity = ifelse(root,facing = -1,3,-3), -2 ;-3, -2
airguard.velocity = -1     
air.type = High                 
air.velocity = ifelse(root,facing = -1,2,-2), 0 ;-2, 0
air.hittime = 25       
fall = 1
air.fall = 1
;p2stateno = 225
;palfx.time = 31
;palfx.add = 160,240,140
;palfx.mul = 80,120,220
;palfx.sinadd = 80, 80, 80, 5

[State 15000, 3]
type = HitDef
trigger1 = root,P2Dist X >= -5 ;< -5
;trigger1 = Anim != 15200 || Anim != 15201
trigger1 = Time % 50 = 0 && P2BodyDist X > 40
attr = A, SP                     
damage = floor(50/(1+(root,Var(19)/5.0))), 9
animtype = Hard                 
guardflag = MA                 
hitflag = MAF                 
priority = 2, Hit               
sprpriority = 3
pausetime = 8, 8 ;0, 4 ;0, 8 ;8, 8 ;3, 3
guard.sparkno = s8300 ;S8200           
sparkno = s8310+(random%8) ;S8220                     
sparkxy = -2, -40             
hitsound = S15, 4   
guardsound = S16, 0               
ground.type = High               
ground.slidetime = 20
ground.hittime  = 25             
ground.velocity = ifelse(root,facing = -1,4,-4) ;-4
airguard.velocity = ifelse(root,facing = -1,5,-5) ;-5
air.type = High                 
air.velocity = -3, 0
air.hittime = 25   
fall = 0
air.fall = 1
;p2stateno = 225
;fall = 1
;air.fall = 1
;palfx.time = 31
;palfx.add = 160,240,140
;palfx.mul = 80,120,220
;palfx.sinadd = 80, 80, 80, 5


[State 15000, 2]
type = HitDef
trigger1 = root,P2Dist X < -5
;trigger1 = Anim != 15200 || Anim != 15201
trigger1 = Time % 50 = 0 && P2BodyDist X <= 40
attr = A, SP                     
damage = floor(50/(1+(root,Var(19)/5.0))), 8
animtype = Hard                 
guardflag = MA                 
hitflag = MAF                 
priority = 2, Hit               
sprpriority = 3
pausetime = 8, 8 ;0, 4 ;0, 8 ;8, 8 ;2, 2   
guard.sparkno = s8300 ;S8200           
sparkno = s8310+(random%8) ;S8220                     
sparkxy = -2, -40             
hitsound = S15, 4   
guardsound = S16, 0 
ground.type = High               
ground.slidetime = 15
ground.hittime  = 25             
ground.velocity = ifelse(root,facing = -1,-3,3), -2 ;-3, -2
airguard.velocity = -1     
air.type = High                 
air.velocity = ifelse(root,facing = -1,-2,2), 0 ;-2, 0
air.hittime = 25       
fall = 1
air.fall = 1
;p2stateno = 225
;palfx.time = 31
;palfx.add = 160,240,140
;palfx.mul = 80,120,220
;palfx.sinadd = 80, 80, 80, 5

[State 15000, 3]
type = HitDef
trigger1 = root,P2Dist X < -5
;trigger1 = Anim != 15200 || Anim != 15201
trigger1 = Time % 50 = 0 && P2BodyDist X > 40
attr = A, SP                     
damage = floor(50/(1+(root,Var(19)/5.0))), 9
animtype = Hard                 
guardflag = MA                 
hitflag = MAF                 
priority = 2, Hit               
sprpriority = 3
pausetime = 8, 8 ;0, 4 ;0, 8 ;8, 8 ;3, 3
guard.sparkno = s8300 ;S8200           
sparkno = s8310+(random%8) ;S8220                     
sparkxy = -2, -40             
hitsound = S15, 4   
guardsound = S16, 0               
ground.type = High               
ground.slidetime = 20
ground.hittime  = 25             
ground.velocity = ifelse(root,facing = -1,-4,4) ;-4
airguard.velocity = ifelse(root,facing = -1,-5,5) ;-5
air.type = High                 
air.velocity = -3, 0
air.hittime = 25   
fall = 0
air.fall = 1
;p2stateno = 225
;fall = 1
;air.fall = 1
;palfx.time = 31
;palfx.add = 160,240,140
;palfx.mul = 80,120,220
;palfx.sinadd = 80, 80, 80, 5


[State 15000, 3] ;allways facing right
type = Turn
trigger1 = root,facing = -1
trigger1 = facing = -1

[State 15000, destroy helper when hit box]
type = ParentVarSet
trigger1 = root,NumHelper(1123) > 0 && IsHelper(15000) ;GEN Power Bracelet X
trigger1 = ifelse((Helper(1123),facing = -1), ((rootdist X) + (Helper(1123),rootdist X) = [-25,25]),((rootdist X) - (Helper(1123),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1123),rootdist Y) = [-65,65])
trigger1 = helper(1123),StateNo = 1123
trigger2 = root,NumHelper(1124) > 0 && IsHelper(15000) ;GEN Power Bracelet Y
trigger2 = ifelse((Helper(1124),facing = -1), ((rootdist X) + (Helper(1124),rootdist X) = [-25,25]),((rootdist X) - (Helper(1124),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1124),rootdist Y) = [-65,65])
trigger2 = helper(1124),StateNo = 1124
trigger3 = root,NumHelper(1125) > 0 && IsHelper(15000) ;GEN Power Bracelet Z
trigger3 = ifelse((Helper(1125),facing = -1), ((rootdist X) + (Helper(1125),rootdist X) = [-25,25]),((rootdist X) - (Helper(1125),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1125),rootdist Y) = [-65,65])
trigger3 = helper(1125),StateNo = 1125
trigger4 = root,NumHelper(1133) > 0 && IsHelper(15000) ;Magic Star X
trigger4 = ifelse((Helper(1133),facing = -1), ((rootdist X) + (Helper(1133),rootdist X) = [-25,25]),((rootdist X) - (Helper(1133),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1133),rootdist Y) = [-45,45])
trigger4 = helper(1133),StateNo = 1133
trigger5 = root,NumHelper(1134) > 0 && IsHelper(15000) ;Magic Star Y
trigger5 = ifelse((Helper(1134),facing = -1), ((rootdist X) + (Helper(1134),rootdist X) = [-25,25]),((rootdist X) - (Helper(1134),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1134),rootdist Y) = [-45,45])
trigger5 = helper(1134),StateNo = 1134
trigger6 = root,NumHelper(1135) > 0 && IsHelper(15000) ;Magic Star Z
trigger6 = ifelse((Helper(1135),facing = -1), ((rootdist X) + (Helper(1135),rootdist X) = [-25,25]),((rootdist X) - (Helper(1135),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1135),rootdist Y) = [-45,54])
trigger6 = helper(1135),StateNo = 1135
trigger7 = root,NumHelper(1143) > 0 && IsHelper(15000) ;Dash Attack X
trigger7 = ifelse((Helper(1143),facing = -1), ((rootdist X) + (Helper(1143),rootdist X) = [-25,25]),((rootdist X) - (Helper(1143),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1143),rootdist Y) = [-45,45])
trigger7 = helper(1143),StateNo = 1143
trigger8 = root,NumHelper(1144) > 0 && IsHelper(15000) ;Dash Attack Y
trigger8 = ifelse((Helper(1144),facing = -1), ((rootdist X) + (Helper(1144),rootdist X) = [-25,25]),((rootdist X) - (Helper(1144),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1144),rootdist Y) = [-45,45])
trigger8 = helper(1144),StateNo = 1144
trigger9 = root,NumHelper(1145) > 0 && IsHelper(15000) ;Dash Attack Z
trigger9 = ifelse((Helper(1145),facing = -1), ((rootdist X) + (Helper(1145),rootdist X) = [-25,25]),((rootdist X) - (Helper(1145),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1145),rootdist Y) = [-45,54])
trigger9 = helper(1145),StateNo = 1145
var(35) = 1
ignorehitpause = 1

[State 15000, Box break Changestate] ;code by DarkCipherLucius (a.k.a. Space(DCL))
type = ChangeState
trigger1 = IsHelper(15000) > 0
trigger1 = ifelse((root,facing = -1),(rootdist X = [-3,55]),(rootdist X = [-52,0])) && (rootdist y = [-45,45]) ;rootdist y can be optional
trigger1 = root,StateNo = 200
trigger1 = root,AnimElem > 1 && root,AnimElem <= 3
trigger2 = IsHelper(15000) > 0
trigger2 = ifelse((root,facing = -1),(rootdist X = [-3,55]),(rootdist X = [-52,5])) && (rootdist y = [-45,45])
;trigger2 = (rootdist X = [-50,50])*facing && (rootdist y = [-45,45])
trigger2 = root,StateNo = 210
trigger2 = root,AnimElem > 3 && root,AnimElem <= 5
trigger3 = IsHelper(15000) > 0
trigger3 = ifelse((root,facing = -1),(rootdist X = [-3,50]),(rootdist X = [-48,0])) && (rootdist y = [-45,45])
;trigger3 = (rootdist X = [-45,45])*facing && (rootdist y = [-45,45])
trigger3 = root,StateNo = 221 || root,StateNo = 222 || root,StateNo = 223
trigger3 = root,AnimElem > 5 && root,AnimElem <= 6
trigger4 = IsHelper(15000) > 0
trigger4 = ifelse((root,facing = -1),(rootdist X = [-3,55]),(rootdist X = [-52,0])) && (rootdist y = [-45,45])
;trigger4 = (rootdist X = [-50,50])*facing && (rootdist y = [-45,45])
trigger4 = root,StateNo = 230
trigger4 = root,AnimElem > 3 && root,AnimElem <= 5
trigger5 = IsHelper(15000) > 0
trigger5 = ifelse((root,facing = -1),(rootdist X = [-3,55]),(rootdist X = [-52,0])) && (rootdist y = [-45,45])
;trigger5 = (rootdist X = [-50,50])*facing && (rootdist y = [-45,45])
trigger5 = root,StateNo = 240
trigger5 = root,AnimElem > 6 && root,AnimElem <= 7
trigger6 = IsHelper(15000) > 0
trigger6 = ifelse((root,facing = -1),(rootdist X = [-3,65]),(rootdist X = [-62,0])) && (rootdist y = [-45,45])
;trigger6 = (rootdist X = [-60,60])*facing && (rootdist y = [-45,45])
trigger6 = root,StateNo = 250
trigger6 = root,AnimElem > 7 && root,AnimElem <= 9
trigger7 = IsHelper(15000) > 0
trigger7 = ifelse((root,facing = -1),(rootdist X = [-3,55]),(rootdist X = [-52,0])) && (rootdist y = [-45,45])
;trigger7 = (rootdist X = [-50,50])*facing && (rootdist y = [-45,45])
trigger7 = root,StateNo = 400
trigger7 = root,AnimElem > 1 && root,AnimElem <= 3
trigger8 = IsHelper(15000) > 0
trigger8 = ifelse((root,facing = -1),(rootdist X = [-3,50]),(rootdist X = [-48,0])) && (rootdist y = [-45,45])
;trigger8 = (rootdist X = [-45,45])*facing && (rootdist y = [-45,45])
trigger8 = root,StateNo = 410
trigger8 = root,AnimElem > 3 && root,AnimElem <= 5
trigger9 = IsHelper(15000) > 0
trigger9 = ifelse((root,facing = -1),(rootdist X = [-3,55]),(rootdist X = [-52,0])) && (rootdist y = [-45,45])
;trigger9 = (rootdist X = [-50,50])*facing && (rootdist y = [-45,45])
trigger9 = root,StateNo = 421 || root,StateNo = 422 || root,StateNo = 423
trigger9 = root,AnimElem > 5 && root,AnimElem <= 6
trigger10 = IsHelper(15000) > 0
trigger10 = ifelse((root,facing = -1),(rootdist X = [-3,58]),(rootdist X = [-54,0])) && (rootdist y = [-45,45])
;trigger10 = (rootdist X = [-52,52])*facing && (rootdist y = [-45,45])
trigger10 = root,StateNo = 430
trigger10 = root,AnimElem > 1 && root,AnimElem <= 3
trigger11 = IsHelper(15000) > 0
trigger11 = ifelse((root,facing = -1),(rootdist X = [-3,60]),(rootdist X = [-57,0])) && (rootdist y = [-45,45])
;trigger11 = (rootdist X = [-55,55])*facing && (rootdist y = [-45,45])
trigger11 = root,StateNo = 440
trigger11 = root,AnimElem > 3 && root,AnimElem <= 5
trigger12 = IsHelper(15000) > 0
trigger12 = ifelse((root,facing = -1),(rootdist X = [-3,60]),(rootdist X = [-57,0])) && (rootdist y = [-45,45])
;trigger12 = (rootdist X = [-55,55])*facing && (rootdist y = [-45,45])
trigger12 = root,StateNo = 450
trigger12 = root,AnimElem > 2 && root,AnimElem <= 4
trigger13 = root,NumHelper(1113) > 0 && IsHelper(15000) ;SMS Power Bracelet X
trigger13 = ifelse((Helper(1113),facing = -1), ((rootdist X) + (Helper(1113),rootdist X) = [-25,25]),((rootdist X) - (Helper(1113),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1113),rootdist Y) = [-60,60])
trigger13 = helper(1113),StateNo = 1113
trigger14 = root,NumHelper(1114) > 0 && IsHelper(15000) ;SMS Power Bracelet Y
trigger14 = ifelse((Helper(1114),facing = -1), ((rootdist X) + (Helper(1114),rootdist X) = [-25,25]),((rootdist X) - (Helper(1114),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1114),rootdist Y) = [-60,60])
trigger14 = helper(1114),StateNo = 1114
trigger15 = root,NumHelper(1115) > 0 && IsHelper(15000) ;SMS Power Bracelet Z
trigger15 = ifelse((Helper(1115),facing = -1), ((rootdist X) + (Helper(1115),rootdist X) = [-25,25]),((rootdist X) - (Helper(1115),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1115),rootdist Y) = [-60,60])
trigger15 = helper(1115),StateNo = 1115
trigger16 = root,NumHelper(1123) > 0 && IsHelper(15000) ;GEN Power Bracelet X
trigger16 = ifelse((Helper(1123),facing = -1), ((rootdist X) + (Helper(1123),rootdist X) = [-25,25]),((rootdist X) - (Helper(1123),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1123),rootdist Y) = [-65,65])
trigger16 = helper(1123),StateNo = 1123
trigger17 = root,NumHelper(1124) > 0 && IsHelper(15000) ;GEN Power Bracelet Y
trigger17 = ifelse((Helper(1124),facing = -1), ((rootdist X) + (Helper(1124),rootdist X) = [-25,25]),((rootdist X) - (Helper(1124),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1124),rootdist Y) = [-65,65])
trigger17 = helper(1124),StateNo = 1124
trigger18 = root,NumHelper(1125) > 0 && IsHelper(15000) ;GEN Power Bracelet Z
trigger18 = ifelse((Helper(1125),facing = -1), ((rootdist X) + (Helper(1125),rootdist X) = [-25,25]),((rootdist X) - (Helper(1125),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1125),rootdist Y) = [-65,65])
trigger18 = helper(1125),StateNo = 1125
trigger19 = root,NumHelper(1133) > 0 && IsHelper(15000) ;Magic Star X
trigger19 = ifelse((Helper(1133),facing = -1), ((rootdist X) + (Helper(1133),rootdist X) = [-25,25]),((rootdist X) - (Helper(1133),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1133),rootdist Y) = [-45,45])
trigger19 = helper(1133),StateNo = 1133
trigger20 = root,NumHelper(1134) > 0 && IsHelper(15000) ;Magic Star Y
trigger20 = ifelse((Helper(1134),facing = -1), ((rootdist X) + (Helper(1134),rootdist X) = [-25,25]),((rootdist X) - (Helper(1134),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1134),rootdist Y) = [-45,45])
trigger20 = helper(1134),StateNo = 1134
trigger21 = root,NumHelper(1135) > 0 && IsHelper(15000) ;Magic Star Z
trigger21 = ifelse((Helper(1135),facing = -1), ((rootdist X) + (Helper(1135),rootdist X) = [-25,25]),((rootdist X) - (Helper(1135),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1135),rootdist Y) = [-45,54])
trigger21 = helper(1135),StateNo = 1135
trigger22 = root,NumHelper(1143) > 0 && IsHelper(15000) ;Dash Attack X
trigger22 = ifelse((Helper(1143),facing = -1), ((rootdist X) + (Helper(1143),rootdist X) = [-25,25]),((rootdist X) - (Helper(1143),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1143),rootdist Y) = [-45,45])
trigger22 = helper(1143),StateNo = 1143
trigger23 = root,NumHelper(1144) > 0 && IsHelper(15000) ;Dash Attack Y
trigger23 = ifelse((Helper(1144),facing = -1), ((rootdist X) + (Helper(1144),rootdist X) = [-25,25]),((rootdist X) - (Helper(1144),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1144),rootdist Y) = [-45,45])
trigger23 = helper(1144),StateNo = 1144
trigger24 = root,NumHelper(1145) > 0 && IsHelper(15000) ;Dash Attack Z
trigger24 = ifelse((Helper(1145),facing = -1), ((rootdist X) + (Helper(1145),rootdist X) = [-25,25]),((rootdist X) - (Helper(1145),rootdist X) = [-25,25])) && ((rootdist Y) - (Helper(1145),rootdist Y) = [-45,54])
trigger24 = helper(1145),StateNo = 1145
value = 15001
ignorehitpause = 1

[State 15000, Reset Hit when get the box]
type = MoveHitReset
trigger1 = Anim != 15200 && Anim != 15201
trigger1 = MoveContact || MoveHit ;AnimElem = 1, = 0

[State 15000, Box break Changestate]
type = ChangeState
;trigger1 = ifelse((root,facing = -1),(rootdist X = [-3,55]),(rootdist X = [-52,0])) && (rootdist y = [-45,45])
;;trigger1 = (rootdist X = [-50,50])*facing && (rootdist y = [-45,45])
;trigger1 = root,StateNo = 1501 ;|| root,StateNo = 422 || root,StateNo = 423
;trigger1 = root,AnimElem > 5 && root,AnimElem <= 6
trigger1 = MoveContact ;ifelse(root,facing = -1,GetHitVar(xvel) <= -11,GetHitVar(xvel) >= 11) ;GetHitVar(xvel) >= 11 ;MoveHit
trigger1 = enemynear, movetype = H || enemynear, MoveGuarded
trigger1 = Anim = 15200 || Anim = 15201
trigger1 = AnimElem = 9, > 0 || AnimElem = 10, >= 0
;trigger1 = Vel X = ifelse(root,facing = -1,-11,11)
;trigger1 = (root,(enemy, Pos X) - Pos X = [-40,40])*facing
trigger2 = Anim = 15200 || Anim = 15201
trigger2 = BackEdgeDist < -105 || FrontEdgeDist < -105
trigger3 = Anim = 15200 || Anim = 15201
trigger3 = AnimElem = 9, > 0 || AnimElem = 10, >= 0
trigger3 = Vel X = 0 && Vel Y = 0
value = 15001

[State 15000, Throw Box] ;Throw Box
type = ChangeAnim
trigger1 = IsHelper(15000)
trigger1 = helper(15000),anim != 15200 && helper(15000),anim != 15201
trigger1 = ifelse((root,facing = -1),(rootdist X = [-25,40]),(rootdist X = [-40,25])) && (rootdist y = [-45,45]) ;rootdist y can be optional
trigger1 = root,StateNo = 1501
trigger1 = root,AnimElem = 2
value = ifelse(root,facing = -1, 15201, 15200)

;[State 15000, reset var 35] ;Throw Box
;type = ParentVarSet
;trigger1 = root,StateNo = 1501
;trigger1 = root,AnimTime = 0
;v = 35
;value = 0

[State 1500, 4] ;Throw Box
type = BindToRoot
trigger1 = Anim = 15200 || Anim = 15201
trigger1 = AnimElem = 2, = 0 ;8, = 0
time = 1

[State 15000, 1] ;Throw Box
type = PosSet
trigger1 = Anim = 15200 || Anim = 15201
trigger1 = AnimElem = 2, = 0 ;8, = 0
x = 0
y = 0


[State 15000, 1] ;Throw Box
type = PosAdd
trigger1 = Anim = 15200 || Anim = 15201
trigger1 = AnimElem = 9;8
x = ifelse(root,facing = -1,-14,14) ;14
y = -56

[State 15000, 1] ;Throw Box
type = VelSet
trigger1 = Anim = 15200 || Anim = 15201
trigger1 = AnimElem = 9;8
x = ifelse(root,facing = -1,-11,11)
y = -1.9

[state 15000, 2]
type = VelAdd
trigger1 = Anim = 15200 || Anim = 15201
trigger1 = AnimElem = 9;8
y = 0.40

[State 15000, 1] ;fall
type = StateTypeSet
trigger1 = Anim = 15200 || Anim = 15201
trigger1 = AnimElem = 9;8
statetype = A
movetype = A
physics = A
ignorehitpause = 1

[State 15000, 8]
type = DestroySelf
trigger1 = BackEdgeDist < -105 || FrontEdgeDist < -105