YesNoOk
avatar

Attacks (Read 2707 times)

Started by recruta42, October 28, 2007, 01:01:55 pm
Attacks
New #1  October 28, 2007, 01:01:55 pm
  • **
  • Call me Private42.
In mugen world there is an infinity combination of different attacks with different parameters, but in a solid fighting game built based on a plataform you have predefined attack states that only vary some minor variables like the pausetime, where it can be defended and so one. Here I will put the predefined attack Hitdefs that can be used in the game with anybody. A weak yoshitora´s slash has the same effect as a haohmaru´s one, so basically a weak attack can be copied from here and put on any char of the game without problems. You only need to set some inicial values for some parameters.

You have to remember that these states that I am putting here are recently made and will not match those in the actual beta game because I am optimizing the plataform.

Basically the parameters you have to set are:

- trigger (when it must hit!)
- attr (<S,C,A>, <NA,NT,NP,SA,ST,SP,HA,HT,HS>)
- hitflag (H,L,A,M)
- guardflag (H,L,A,M)
- ground.type (high,low,trip)
- damage (from special table)
- pausetime (p1,p2)
- guard.pausetime (p1,p2)

The attack list goes now:

1 - ground weak attack
2 - ground medium attack
3 - ground hard attack
4 - ground heavy attack (Zankuro´s Mugen-ryuu Shippu Zan (QCF+S), Nina´s medium attack (MS), etc...)
5 - intermidiate attack (Yoshita´s hard far attack first hits)
6 - air weak attack
7 - air medium attack
8 - air hard attack
9 - shoryuken attack (Yoshitora´s Ni no Tachi: Shirayuri (DP+S), Haohmaru´s Ougi Kogetsu Zan (DP+S),etc...)
10 - hit down attack (Yoshitora´s Botan (QCF+S in air), etc...
11 - fly up attack (Yoshitora´s Hyakka-ryouran (HCB,F+HS), Tam TAm ´s Ahau Gaburu (DP+S))
12 - fly up attack 2 (Rasetsumaru Nagi Yaiba Attack)
13 - diagup attack (Zankuro´s various specials)
14 - trip 1 (Yoshitora´s forward kick, hanzo´s running kick)
15 - trip 2 (Haoharmu´s trip attack)
16 - trip 3 (Zankuro´s running kick attack)
17 - hit fall down (when enemy is on the floor)

;GROUND WEAK ATTACK------------------------------------------------------

[State 200,ground weak attack]
type = HitDef
trigger1 = AnimElem =
attr = ,                  
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype = light
ground.type =
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -3.9375 - 3.0625*(facing = enemyNear,facing)
ground.slidetime = 7
ground.hittime = 10
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = 0.41796875
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))                 
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0

;GROUND MEDIUM ATTACK-------------------------------------------------------------------

[State 200,ground medium attack]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype = medium
ground.type =
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -5.3125 - 4.6875*(facing = enemyNear,facing)
ground.slidetime = 10
ground.hittime = 18 + 8*(facing = enemyNear,facing)
guard.velocity = -6
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = 0.41796875
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -7.483
guard.cornerpush.veloff = -7.483       
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0

;GROUND HARD ATTACK------------------------------------------------------------------

[State 200,ground hard attack]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype = hard
ground.type =
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -9 - 3.375*(facing = enemyNear,facing)
ground.slidetime = 16 - 3*(facing = enemyNear,facing)
ground.hittime = 37 + 10*(facing = enemyNear,facing)
guard.velocity = -6.5
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = 0.41796875
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -26.55
guard.cornerpush.veloff = -15.283    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0

;HEAVY ATTACK--------------------------------------------------------------------------

[State 200,ground heavy attack]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype =  up
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -8*(facing != enemyNear,facing),-6.8125*(facing = enemyNear,facing)
ground.slidetime = 15
ground.hittime = 18
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -3.5*(facing != enemyNear,facing),-9.71875+2.90625*(facing = enemyNear,facing)
yaccel = 0.125+0.4375*(P2Statetype = A && facing != enemyNear,facing)
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = facing = enemyNear,facing
air.fall = 1
fall.xvelocity = 0
fall.yvelocity = -1.90234375
down.bounce = 1
fall.recover = 0

;INTERMIDIATE ATTACK--------------------------------------------------------------------------

[State 200,Intermediate attack]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype = hard
ground.type =
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -3
ground.slidetime = 3
ground.hittime = 21
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = 0.41796875
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -26.55
guard.cornerpush.veloff = -15.283    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0

;AIR WEAK ATTACK--------------------------------------------------------------------------

[State 600,air weak attack]
type = HitDef
trigger1 =
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype = light
ground.type =
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime =
guard.pausetime =
ground.velocity = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,-3.9375, -5),-7)
ground.slidetime = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,7, 5),7)
ground.hittime = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,10, 4),10)
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = 0.41796875
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -4.33
guard.cornerpush.veloff = -6.123    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0

;AIR MEDIUM ATTACK--------------------------------------------------------------------------

[State 600,air medium attack]
type = HitDef
trigger1 =
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype = medium
ground.type =
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime =
guard.pausetime =
ground.velocity = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,-5.3125, -8),-10)
ground.slidetime = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,10, 5),10)
ground.hittime = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,18, 4),26)
guard.velocity = -6
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = 0.41796875
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -7.483
guard.cornerpush.veloff = -7.483    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0

;AIR HARD ATTACK--------------------------------------------------------------------------

[State 600,air hard attack]
type = HitDef
trigger1 =
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype = hard
ground.type =
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime =
guard.pausetime =
ground.velocity = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,-9, -15),-12.375)
ground.slidetime = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,16, 5),13)
ground.hittime = ifelse((facing != enemyNear,facing),ifelse(pos y = 0 ,37, 4),47)
guard.velocity = -6.5
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = 0.41796875
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -12.735
guard.cornerpush.veloff = -8.161      
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0

;SHORYUKEN ATTACK--------------------------------------------------------------------------

[State 200,shoryuken attack]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype =  up
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -3.5,-9.71875+0.50*(facing = enemyNear,facing)
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -3.5,-9.71875+0.50*(facing = enemyNear,facing)
yaccel = 0.5625
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 1
air.fall = 1
fall.xvelocity = -1.375
fall.yvelocity = -1.966796875
down.bounce = 1
fall.recover = 0

;HIT DOWN ATTACK--------------------------------------------------------------------------

[State 200,hit down attack]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype =  up
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -3.5*(facing = enemyNear,facing) ,-2.046875-7.171875*(facing = enemyNear,facing)
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -3.5*(facing = enemyNear,facing),21-30.21875*(facing = enemyNear,facing)
yaccel = 0.28125+0.28125*(facing = enemyNear,facing)
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 1
air.fall = 1
fall.xvelocity = -1.375*(facing = enemyNear,facing)
fall.yvelocity = -1.966796875
down.bounce = 1
fall.recover = 0

;FLY UP ATTACK--------------------------------------------------------------------------

[State 200,fly up attack]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype =  up
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = 0 ,-6.8125
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = 0 ,-6.8125
yaccel = 0.125
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 1
air.fall = 1
fall.xvelocity = 0
fall.yvelocity = -1.966796875
down.bounce = 1
fall.recover = 0

;FLY UP ATTACK 2--------------------------------------------------------------------------

[State 200,fly up attack 2]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
animtype =  up
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -2*(facing != enemyNear,facing),-8.712890625+1.900390625*(facing = enemyNear,facing)
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -2*(facing != enemyNear,facing),-8.712890625+1.900390625*(facing = enemyNear,facing)
air.velocity = -2*(facing != enemyNear,facing),-8.712890625+1.900390625*(facing = enemyNear,facing)
yaccel = 0.57421875 - 0.44921875*(facing = enemyNear,facing)
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
guardsound = 0,ifelse(enemyNear,var(1)=0,25+(random>499),5+ceil(random/250))
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 1
air.fall = 1
fall.xvelocity = -1.375*(facing != enemyNear,facing)
fall.yvelocity = -1.966796875
down.bounce = 1
fall.recover = 0

;DIAGUP--------------------------------------------------------------------------

[State 1100,diagup attack]
type = HitDef
trigger1 =
attr =                   
hitflag =              
guardflag =                            
;-------------------------------------------------
animtype = diagup
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = -4,-8.75
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-8.75
air.velocity = -4,-8.75
yaccel = 0.5
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,(5 + ceil(random/200))
guardsound = 0,(5 + ceil(random/200))
;-------------------------------------------------
ground.cornerpush.veloff = -4.33
guard.cornerpush.veloff = -6.123    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 1
air.fall = 1
fall.xvelocity = -2
fall.yvelocity = -3.25
down.bounce = 1

;TRIP 1--------------------------------------------------------------------------

[State 200,Hit]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
ground.type = trip
air.type = high
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = ifelse((facing != enemyNear,facing),0,-3.5) ,ifelse((facing != enemyNear,facing),-8.171875,-9.21875)
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = ifelse(P2statetype = A,0.41796875,0.65625-0.09375*(facing = enemyNear,facing))
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,(5 + ceil(random/200))
guardsound = 0,(5 + ceil(random/200))
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 1
air.fall = 1
fall.xvelocity = ifelse(facing != enemyNear,facing,0,1.1875)
fall.yvelocity = -1.966796875
down.bounce = 1
fall.recover = 0

;TRIP 2--------------------------------------------------------------------------

[State 200,Trip 2]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
ground.type = trip
air.type = high
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = ifelse((facing != enemyNear,facing),-1,-3.5) ,ifelse((facing != enemyNear,facing),-3.5,-9.21875)
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = ifelse(P2statetype = A,0.41796875,0.25+0.3125*(facing = enemyNear,facing))
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,(5 + ceil(random/200))
guardsound = 0,(5 + ceil(random/200))
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 1
air.fall = 1
fall.xvelocity = ifelse(facing != enemyNear,facing,-0.375,1.1875)
fall.yvelocity = -1.966796875
down.bounce = 1
fall.recover = 0

;TRIP 3--------------------------------------------------------------------------

[State 200,Trip 3]
type = HitDef
trigger1 = AnimElem = 
attr =                   
hitflag =              
guardflag =                               
;-------------------------------------------------
ground.type = trip
air.type = high
priority = 4, Hit
;-------------------------------------------------
damage =
pausetime = ,
guard.pausetime = ,
ground.velocity = ifelse((facing != enemyNear,facing),-2.75,-3.5) ,ifelse((facing != enemyNear,facing),-3.875,-9.21875)
guard.velocity = -5.25
guard.slidetime = 6
guard.hittime = 5
guard.dist = 241
airguard.velocity = -4,-5.791015625
air.velocity = -4,-5.791015625
yaccel = ifelse(P2statetype = A,0.41796875,0.25+0.3125*(facing = enemyNear,facing))
;-------------------------------------------------
sparkno = -1
guard.sparkno = -1
;-------------------------------------------------
hitsound = 0,(5 + ceil(random/200))
guardsound = 0,(5 + ceil(random/200))   
;-------------------------------------------------
ground.cornerpush.veloff = -4.322
guard.cornerpush.veloff = -6.115    
air.cornerpush.veloff = 0    
airguard.cornerpush.veloff = 0
fall = 0
air.fall = 0
fall.xvelocity = ifelse(facing != enemyNear,facing,-0.375,1.1875)
fall.yvelocity = -1.966796875
down.bounce = 1
fall.recover = 0

;HIT FALL DOWN--------------------------------------------------------------------------

[State 350,Hit Fall Down]
type = HitDef
trigger1 = AnimElem =  <number> && P2StateNo = 5110
attr =                                   
hitflag = FD                                         
;-------------------------------------------------
damage =
pausetime = ,
;-------------------------------------------------
sparkno = -1
;-------------------------------------------------
hitsound = 0,ceil(random/200)
Last Edit: February 03, 2008, 09:21:14 pm by recruta42
Re: Attacks
#2  February 03, 2008, 09:13:30 pm
  • **
  • Call me Private42.
Here goes a deep analises of each of those hits...