no, if you want a most simple code here:
[Statedef 1570]
type = S
movetype= A
physics = S
juggle = 5
velset = 0,0
anim = 4555
ctrl = 0
sprpriority = 2
[State 184, 2]
type = Projectile
trigger1 = AnimElem = 4 <=== element of first anim (you character)
projanim = 4556
projremanim = 4557 <=== remove anim
projhits = 9
projremovetime = 20
projhitanim - 4558 <======= hit anim
projid = 4556
velocity = 3,0 <============ a projectile moving x,y
offset = 48,-35 <=== offset
attr = S, HP
damage = 25,10
animtype = heavy
getpower = 0,0
guardflag = MAF
hitflag = MAFD
pausetime = 5,3
hitsound = S5,4
sparkno = S8008
sparkxy = 120,0
guard.sparkno = S8030
guardsound = S1,7
ground.type = Low
ground.slidetime = 25
ground.hittime = 25
ground.velocity = -10,-6
air.animtype = Back
air.velocity = -10,-6
air.juggle = 3
down.velocity = -10
down.hittime = 30
down.bounce = 0
fall = 1
[State 1020, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1