Jump to content
  • 0

Orochi by Orochi Herman Black Surge projectile problem


tehdevil

Question

Hi, When I perform his Black Surge projectile onto my opponent, it cause a misaligned projectile attack like such:

mugen001-9.png

mugen002-5.png

I checked his air file, seems like the projectile collision boxes are properly aligned, The images of orochi in Fighters Factory:

http://www.mediafire.com/download/rb6enhc0hal28gd/blacksurgeimage.zip

 

and here is the character's code for his projectile:

;===========================================

; Black Surge
[Statedef 1100]
type = S
ctrl = 0
anim = 1100 + ifelse((var(32) = [1,4]) || ((var(32) != [1,4]) && (prevstateno = [200,340])), 1, 0)
velset = 0,0
movetype = A
physics = S
sprpriority = 2
poweradd = 111 * (var(48) != [5,6])

[state haha]
type = varset
trigger1 = time = 0
var(30) = ifelse((var(40) = [1,6]), (1 + ((50 + ((20 + (10 * var(1))) * ((random >= 500) && (movehit) && 

(var(40) = 6)))) * (var(40) = [2,6]))), 2) + ((19 + (var(40) = [1,6]) + (-50 * (var(40) = [2,6]))) * 

moveguarded)
ignorehitpause = 1

[state haha]
type = varset
trigger1 = time = 0
var(14) = 0

[state haha]
type = posadd
trigger1 = animelem = 10
trigger2 = animelem = 11
trigger3 = animelem = 12
x = -8

[State , Helper0]
type = Helper
trigger1 = animelem = 8,1
helpertype = normal
name = "Surges"
ID = 1105
pos = ceil(32 * const(size.xscale)), ceil(-108 * const(size.yscale))
postype = P1
;facing = 1
stateno = 1105
keyctrl = 0
ownpal = 1
supermovetime = 9999
;pausemovetime = 0

[state haha]
type = varset
trigger1 = animelem = 1
var(4) = 0
ignorehitpause = 1

[state haha]
type = varset
trigger1 = animelem = 1
var(5) = 0
ignorehitpause = 1

[state haha]
type = varset
trigger1 = animelem = 8,1
var(6) = backedgedist + 32
ignorehitpause = 1

[state haha]
type = varset
trigger1 = animelem = 1
var(7) = 0
ignorehitpause = 1

[state haha]
type = varset
trigger1 = animelem = 8,1
var(4) = 1
ignorehitpause = 1

[state haha]
type = varset
trigger1 = animelem = 8,1
var(5) = 1
ignorehitpause = 1

[state haha]
type = changestate
trigger1 = animtime = 0
value = 0
ctrl = 1

; Black Surge Projectile
[Statedef 1105]
type = A
ctrl = 0
anim = 6005
velset = 0,0
movetype = A
physics = N
sprpriority = 2

[state haha]
type = varset
trigger1 = time = 0
var(1) = 0
ignorehitpause = 1

[state haha]
type = varadd
trigger1 = time = 17
trigger2 = time = 23
trigger3 = time = 29
trigger4 = time = 35
trigger5 = time = 41
trigger6 = time = 47
trigger7 = time = 53
trigger8 = time = 59
trigger9 = time = 65
trigger10 = time = 71
var(1) = 1
ignorehitpause = 1

[state haha]
type = playsnd
trigger1 = time = 0
trigger2 = time = 2
value = s0,22
abspan = -255 * ifelse(time = 2, -1, 1)

[state haha]
type = destroyself
trigger1 = time >= 80

I am not sure how to fix the problem, can anyone assist me? Here is the character's link: http://www.mediafire.com/download/362xt2lxbtvetog/Orochi_.zip

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Oh Orochi Herman's MUGEN stuff!  Good old classic MUGEN pioneer he was!

 

Which also means, very tricky MUGEN stuff of his!

 

My half-assed (imperfect) solution to your problem:

 

Open constant.cns and find these lines of MUGEN code:
 

; Black Surge

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(4) = [1,81]
var(4) = 1
ignorehitpause = 1
supermovetime = 0
pausemovetime = 0

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(4) = 1
trigger2 = var(4) = 18
trigger3 = var(4) = 24
trigger4 = var(4) = 30
trigger5 = var(4) = 36
trigger6 = var(4) = 42
trigger7 = var(4) = 48
trigger8 = var(4) = 54
trigger9 = var(4) = 60
trigger10 = var(4) = 66
trigger11 = var(4) = 72
var(5) = 1
ignorehitpause = 1
supermovetime = 0
pausemovetime = 0

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(4) = [1,81]
var(7) = 1

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
fvar(4) = 1

[State 210, Explod]
type = Explod
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
trigger2 = var(4) = 18
trigger3 = var(4) = 24
trigger4 = var(4) = 30
trigger5 = var(4) = 36
trigger6 = var(4) = 42
trigger7 = var(4) = 48
trigger8 = var(4) = 54
trigger9 = var(4) = 60
trigger10 = var(4) = 66
trigger11 = var(4) = 72
anim  = IfElse(var(5) = 1, 110001, 1105 + (var(58) != [1,4]))
postype = p1
pos = Ceil((16 + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
; (var(6) - backedgedist) +
ignorehitpause = 1
ownpal = 1
;removetime = -1
sprpriority = 2
bindtime = 1
scale = Const(size.xscale), Const(size.yscale)

[State , Projectile0]
type = Projectile
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
projid = 1105; + var(1)
attr = A,SP
hitflag = MAFP
guardflag = M
;affectteam = E
animtype = Hard
air.animtype = Up
;fall.animtype = DiagUp
priority = 7,hit
damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
pausetime = 0,13
guard.pausetime = 0,13
sparkno = -1;3
guard.sparkno = -1;42
;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
;hitsound = S0,2
;guardsound = S0,21
ground.type = High
;air.type = Up
ground.slidetime = 12
guard.slidetime = 12;6;20
ground.hittime = 16;25
;air.hittime = 20
;guard.hittime = 0
;guard.ctrltime = 0
;guard.dist = 0
;yaccel = 0
ground.velocity = -6
;guard.velocity = 0,0
;air.velocity = -6
;airguard.velocity = 0,0
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
down.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;airguard.ctrltime = 0
air.juggle = 1;5
;mindist = 0,0
;maxdist = 0,0
;snap = 0,0
;sprpriority = 1
;p1facing = 0
;p1getp2facing = 0
;p2facing = 0
;p2getp1state = 0
;forcestand = 0
;fall = 0
fall.xvelocity = -3.27272725105286
fall.yvelocity = -3.25555985694885
;fall.recover = 0
;fall.recovertime = 4
;fall.damage = 0
air.fall = 1
;down.velocity = 0,0
;down.hittime = 0
;down.bounce = 0
;ID = 0
;chainID = 0
;nochainID = -1
;hitonce = 0
;kill = 0
;guard.kill = 1
;fall.kill = 1
;numhits = 1
getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
;palfx.time = 0
;palfx.mul = 256,256,256
;palfx.add = 0,0,0
;envshake.time = 0
;envshake.freq = 60
;envshake.ampl = -4
;envshake.phase = 90
;projID = 0
projanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
projhitanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
projremanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
projcancelanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
;projscale = 1,1
;projremove = 1
projremovetime = IfElse(var(5) = 1, 25, 9)
;velocity = 0,0
;remvelocity = 0,0
;accel = 0,0
;velmul = 1
;projhits = 1
;projmisstime = 0
projpriority = 7
;projsprpriority = 3
;projedgebound = 40
;projstagebound = 40
;projheightbound = -240,1
;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
offset = Ceil((var(6) + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
postype = Back
projshadow = -1,-1,-1
supermovetime = 0
pausemovetime = 0
persistent = 0
p2facing = 1

[State , Projectile0]
type = Projectile
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(4) = 18
trigger2 = var(4) = 24
trigger3 = var(4) = 30
trigger4 = var(4) = 36
trigger5 = var(4) = 42
trigger6 = var(4) = 48
trigger7 = var(4) = 54
trigger8 = var(4) = 60
trigger9 = var(4) = 66
trigger10 = var(4) = 72
id = 1105; + var(1)
attr = A,SP
hitflag = MAFP
guardflag = M
;affectteam = E
animtype = Hard
air.animtype = Up
;fall.animtype = DiagUp
;priority = 4,hit
damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
pausetime = 0,12
guard.pausetime = 0,12
sparkno = -1;3
guard.sparkno = -1;42
;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
;hitsound = S0,2
;guardsound = S0,21
ground.type = High
;air.type = High
ground.slidetime = 12
guard.slidetime = 12;6;20
ground.hittime = 16;25
;air.hittime = 20
;guard.hittime = 0
;guard.ctrltime = 0
;guard.dist = 0
;yaccel = 0
ground.velocity = -6
;guard.velocity = 0,0
air.velocity = -6
;airguard.velocity = 0,0
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
down.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;airguard.ctrltime = 0
air.juggle = 1;5
;mindist = 0,0
;maxdist = 0,0
;snap = 0,0
;sprpriority = 1
;p1facing = 0
;p1getp2facing = 0
;p2facing = 0
;p2getp1state = 0
;forcestand = 0
;fall = 0
fall.xvelocity = -3.27272725105286
fall.yvelocity = -3.25555985694885
;fall.recover = 0
;fall.recovertime = 4
;fall.damage = 0
air.fall = 1
;down.velocity = 0,0
;down.hittime = 0
;down.bounce = 0
;ID = 0
;chainID = 0
;nochainID = -1
;hitonce = 0
;kill = 0
;guard.kill = 1
;fall.kill = 1
;numhits = 1
getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
;palfx.time = 0
;palfx.mul = 256,256,256
;palfx.add = 0,0,0
;envshake.time = 0
;envshake.freq = 60
;envshake.ampl = -4
;envshake.phase = 90
;projID = 0
projanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
projhitanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
projremanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
projcancelanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
;projscale = 1,1
;projremove = 1
projremovetime = IfElse(var(5) = 1, 25, 9)
;velocity = 0,0
;remvelocity = 0,0
;accel = 0,0
;velmul = 1
;projhits = 1
;projmisstime = 0
;projpriority = 1
;projsprpriority = 3
;projedgebound = 40
;projstagebound = 40
;projheightbound = -240,1
;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
offset = Ceil((var(6) + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
postype = Back
projshadow = -1,-1,-1
supermovetime = 0
pausemovetime = 0
p2facing = 1

Replace by these lines of MUGEN code:

; Black Surge

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(4) = [1,81]
var(4) = 1
ignorehitpause = 1
supermovetime = 0
pausemovetime = 0

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
trigger2 = var(4) = 18
trigger3 = var(4) = 24
trigger4 = var(4) = 30
trigger5 = var(4) = 36
trigger6 = var(4) = 42
trigger7 = var(4) = 48
trigger8 = var(4) = 54
trigger9 = var(4) = 60
trigger10 = var(4) = 66
trigger11 = var(4) = 72
var(5) = 1
ignorehitpause = 1
supermovetime = 0
pausemovetime = 0

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(4) = [1,81]
var(7) = 1

[State haha]
type = VarAdd
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
fvar(4) = 1

[State 210, Explod]
type = Explod
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
trigger2 = var(4) = 18
trigger3 = var(4) = 24
trigger4 = var(4) = 30
trigger5 = var(4) = 36
trigger6 = var(4) = 42
trigger7 = var(4) = 48
trigger8 = var(4) = 54
trigger9 = var(4) = 60
trigger10 = var(4) = 66
trigger11 = var(4) = 72
anim  = IfElse(var(5) = 1, 110001, 1105 + (var(58) != [1,4]))
postype = p1
pos = Ceil((16 + (32 * var(5))) * Const(size.xscale)) + ifelse(animelemtime(9) <= 0, 0, Ceil(var(6)/22)), Ceil(-108 * Const(size.yscale))
; (var(6) - backedgedist) +
ignorehitpause = 1
ownpal = 1
;removetime = -1
sprpriority = 2
bindtime = 1
scale = Const(size.xscale), Const(size.yscale)

[State , Projectile0]
type = Projectile
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
projid = 1105; + var(1)
attr = A,SP
hitflag = MAFP
guardflag = M
;affectteam = E
animtype = Hard
air.animtype = Up
;fall.animtype = DiagUp
priority = 7,hit
damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
pausetime = 0,13
guard.pausetime = 0,13
sparkno = -1;3
guard.sparkno = -1;42
;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
;hitsound = S0,2
;guardsound = S0,21
ground.type = High
;air.type = Up
ground.slidetime = 12
guard.slidetime = 12;6;20
ground.hittime = 16;25
;air.hittime = 20
;guard.hittime = 0
;guard.ctrltime = 0
;guard.dist = 0
;yaccel = 0
ground.velocity = -6
;guard.velocity = 0,0
;air.velocity = -6
;airguard.velocity = 0,0
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
down.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;airguard.ctrltime = 0
air.juggle = 1;5
;mindist = 0,0
;maxdist = 0,0
;snap = 0,0
;sprpriority = 1
;p1facing = 0
;p1getp2facing = 0
;p2facing = 0
;p2getp1state = 0
;forcestand = 0
;fall = 0
fall.xvelocity = -3.27272725105286
fall.yvelocity = -3.25555985694885
;fall.recover = 0
;fall.recovertime = 4
;fall.damage = 0
air.fall = 1
;down.velocity = 0,0
;down.hittime = 0
;down.bounce = 0
;ID = 0
;chainID = 0
;nochainID = -1
;hitonce = 0
;kill = 0
;guard.kill = 1
;fall.kill = 1
;numhits = 1
getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
;palfx.time = 0
;palfx.mul = 256,256,256
;palfx.add = 0,0,0
;envshake.time = 0
;envshake.freq = 60
;envshake.ampl = -4
;envshake.phase = 90
;projID = 0
projanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
projhitanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
projremanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
projcancelanim = IfElse(var(5) = 1, 110002, 1110 +  (var(58) != [1,4]))
;projscale = 1,1
;projremove = 1
projremovetime = IfElse(var(5) = 1, 25, 9)
;velocity = 0,0
;remvelocity = 0,0
;accel = 0,0
;velmul = 1
;projhits = 1
;projmisstime = 0
projpriority = 7
;projsprpriority = 3
;projedgebound = 40
;projstagebound = 40
;projheightbound = -240,1
;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
offset = Ceil((16 + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
postype = P1
projshadow = -1,-1,-1
supermovetime = 0
pausemovetime = 0
persistent = 0
p2facing = 1

[State , Projectile0]
type = Projectile
triggerall = P1Name = "Orochi"
triggerall = AuthorName = "Orochi Herman"
trigger1 = var(7) = 1
trigger2 = var(4) = 18
trigger3 = var(4) = 24
trigger4 = var(4) = 30
trigger5 = var(4) = 36
trigger6 = var(4) = 42
trigger7 = var(4) = 48
trigger8 = var(4) = 54
trigger9 = var(4) = 60
trigger10 = var(4) = 66
trigger11 = var(4) = 72
id = 1105; + var(1)
attr = A,SP
hitflag = MAFP
guardflag = M
;affectteam = E
animtype = Hard
air.animtype = Up
;fall.animtype = DiagUp
;priority = 4,hit
damage = Ceil((140 * fvar(3)) * fvar(4)), Ceil((20 * fvar(3)) * fvar(4))
pausetime = 0,12
guard.pausetime = 0,12
sparkno = -1;3
guard.sparkno = -1;42
;sparkxy = ceil(10 * const(size.xscale)),ceil(16 * const(size.yscale))
;hitsound = S0,2
;guardsound = S0,21
ground.type = High
;air.type = High
ground.slidetime = 12
guard.slidetime = 12;6;20
ground.hittime = 16;25
;air.hittime = 20
;guard.hittime = 0
;guard.ctrltime = 0
;guard.dist = 0
;yaccel = 0
ground.velocity = -6
;guard.velocity = 0,0
air.velocity = -6
;airguard.velocity = 0,0
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
down.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;airguard.ctrltime = 0
air.juggle = 1;5
;mindist = 0,0
;maxdist = 0,0
;snap = 0,0
;sprpriority = 1
;p1facing = 0
;p1getp2facing = 0
;p2facing = 0
;p2getp1state = 0
;forcestand = 0
;fall = 0
fall.xvelocity = -3.27272725105286
fall.yvelocity = -3.25555985694885
;fall.recover = 0
;fall.recovertime = 4
;fall.damage = 0
air.fall = 1
;down.velocity = 0,0
;down.hittime = 0
;down.bounce = 0
;ID = 0
;chainID = 0
;nochainID = -1
;hitonce = 0
;kill = 0
;guard.kill = 1
;fall.kill = 1
;numhits = 1
getpower = 63 * (var(48) != [5,6]), 63 * (var(48) != [5,6])
givepower = 15 * (var(48) != [5,6]), 15 * (var(48) != [5,6])
;palfx.time = 0
;palfx.mul = 256,256,256
;palfx.add = 0,0,0
;envshake.time = 0
;envshake.freq = 60
;envshake.ampl = -4
;envshake.phase = 90
;projID = 0
projanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
projhitanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
projremanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
projcancelanim = IfElse(var(5) = 1, 110002, 1110 + (var(58) != [1,4]))
;projscale = 1,1
;projremove = 1
projremovetime = IfElse(var(5) = 1, 25, 9)
;velocity = 0,0
;remvelocity = 0,0
;accel = 0,0
;velmul = 1
;projhits = 1
;projmisstime = 0
;projpriority = 1
;projsprpriority = 3
;projedgebound = 40
;projstagebound = 40
;projheightbound = -240,1
;offset = ceil(ifelse((Helper(1105), time = 0), 32 * (Helper(1105), var(1)), 32) * const(size.xscale)), ceil(-108 * const(size.yscale))
;offset = ifelse(var(4) < 18, 32, 32 * var(5)), ceil(-108 * const(size.yscale))
offset = Ceil((16 + (32 * var(5))) * Const(size.xscale)), Ceil(-108 * Const(size.yscale))
postype = P1
projshadow = -1,-1,-1
supermovetime = 0
pausemovetime = 0
p2facing = 1

It is very hard to explain to you what/why/how done it.................pff1-onion-head-emoticon.gif?1292862515

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...