alright. I'm making helper-type projectile spams again. for some reason, the game suddenly goes "winmugen stopped working blah blah and needs to close".
i run win7 ultimate x86. the crash usually happen if the enemy jumps while the entire attack run is taking effect
any ideas?
codes here. i used the satetsu shigure code as my testbed.
;---------------------------------------------------------------------------
; Satetsu Shigure Puppet Prepare
[Statedef 2030]
type = S
physics = S
juggle = 4
poweradd= 0
ctrl = 0
velset = 0,0
anim = 4003
sprpriority = 0
[State 2030, ParentVarSet]
type = ParentVarSet
trigger1 = animelem = 1
v = 31
value = 1
[State 2030, StopSnd]
type = StopSnd
trigger1 = parent, movetype = H || parent, stateno = 702
channel = 11
[State 2030, ChangeState]
type = ChangeState
trigger1 = parent, movetype = H || parent, stateno = 702
value = 2025
ctrl = 1
[State 2030, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -10+random%100,-80+random%100
vel = 0,-3
postype = p1
ontop = 1
[State 2030, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -10+random%100,-80+random%100
vel = 0,-4
postype = p1
ontop = 1
[State 2030, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -10+random%100,-80+random%100
vel = 0,-5
postype = p1
ontop = 1
[State 2030, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -10+random%100,-80+random%100
vel = 0,-6
postype = p1
ontop = 1
[State 2303, PlaySnd]
type = PlaySnd
trigger1 = animelem = 2
value = S9,25
volume = 1000
channel = 11
loop = 1
persistent = no
[State 2030, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA, NT, ST, HT, NA, SA, HA,NP,SP,HP
stateno = 2020
time = 1
[State 2030, ChangeState]
type = ChangeState
trigger1 = parent,var(9) = 1
value = 2303
;---------------------------------------------------------------------------
; Satetsu Shigure Puppet Release
[Statedef 2303]
type = S
physics = S
juggle = 4
poweradd= 0
ctrl = 0
velset = 0,0
anim = 4030
sprpriority = 0
[State 2303, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -10+random%100,-80+random%100
vel = 0,-4
postype = p1
ontop = 1
[State 2303, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -10+random%100,-80+random%100
vel = 0,-6
postype = p1
ontop = 1
[State 2303, Explod]
type = HitOverride
trigger1 = 1
attr = SCA, NT, ST, HT, NA, SA, HA,NP,SP,HP
stateno = 2020
time = 1
; Satetsu Shigure position generators
[State 2303, VarRandom]
type = VarRandom
trigger1 = 1
v = 43
range = 0,abs(floor(p2dist X))
[State 2303, VarRandom]
type = VarRandom
trigger1 = 1
v = 42
range = 0,- 130
[State 2303, VarRandom]
type = VarRandom
trigger1 = 1
v = 41
range = 0,abs(floor(p2dist X))
[State 2303, VarRandom]
type = VarRandom
trigger1 = 1
v = 40
range = 0,- 130
; Satetsu Shigure bullet spammers
[State 2303, Helper]
type = Helper
trigger1 = time%6 = 0
helpertype = normal
stateno = 7011
pos = var(43),var(42)
postype = p1
ontop = 1
size.xscale = 2
size.yscale = 0.75
[State 2303, Helper]
type = Helper
trigger1 = time%6 = 0
helpertype = normal
stateno = 7011
pos = var(41),var(40)
postype = p1
ID = 7011
ontop = 1
size.xscale = 2
size.yscale = 0.75
[State 2303, ParentVarSet]
type = ParentVarSet
trigger1 = parent, command = "Sandaime"
v = 20
value = 10
[State 2303, StopSnd]
type = StopSnd
trigger1 = time = 130
channel = 11
[State 2303, ChangeState]
type = ChangeState
trigger1 = time = 130
value = 2304
ctrl = 1
[State 2303, ChangeState]
type = ChangeState
trigger1 = parent, command = "Sandaime"
trigger2 = parent, life = 0
value = 2099
;---------------------------------------------------------------------------
; Iron Sand bullets assimilating
[StateDef 7011]
type = S
physics = S
juggle = 3
velset = 0,0
ctrl = 0
anim = 7215
poweradd = 0
sprpriority = 1
[State 7011, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -30+random%60,-30+random%60
vel = 0,-5
postype = p1
ontop = 1
[State 7011, Explod]
type = Explod
trigger1 = time = 0
trigger2 = time + 1
helpertype = normal
anim = 7910
pos = -30+random%60,-30+random%60
vel = 0,-5
postype = p1
ontop = 1
[State 7011, VarSet]
type = VarSet
trigger1 = 1
v = 21
value = 1+random%30
[State 7011, ChangeState]
type = ChangeState
trigger1 = animtime = 0
value = 7101
;---------------------------------------------------------------------------
; Satetsu Shigure attack to enemy
[StateDef 7101]
type = S
movetype= A
physics = S
juggle = 3
velset = 0,0
ctrl = 0
anim = 7216
poweradd = 0
sprpriority = 2
[State 7101, Null]
type = Null
triggerall = !time
trigger1 = (FVar(3) := (P2Dist X * 18) / (Exp(0.5*ln((P2Dist X * P2Dist X) + (P2Dist Y * P2Dist Y)+ 1))))
trigger1 = (FVar(4) := (P2Dist Y * 16) / (Exp(0.5*ln((P2Dist X * P2Dist X) + (P2Dist Y * P2Dist Y)+ 1))))
; Variates the missiles (so the homing attack won't look "too rigid"
[State 7101, VarRandom]
type = VarRandom
trigger1 = time = 0
v = 15
range = -2,2
[State 7101, VarRandom]
type = VarRandom
trigger1 = time = 0
v = 16
range = -1,1
[State 7101, VarSet]
type = VarSet
trigger1 = time = 0
fv = 10
value = FVar(3)+var(15)
[State 7101, VarSet]
type = VarSet
trigger1 = time = 0
fv = 11
value = FVar(4)+var(16)
[State 7101, VelSet]
type = VelSet
trigger1 = 1
x = abs(fvar(10))
y = abs(fvar(11))
[State 7101, DestroySelf]
type = DestroySelf
trigger1 = pos y < 1 && vel x = 0 && vel y = 0 || time = 50
[State 7101, AngleSet]
type = AngleSet
trigger1 = vel X != 0 && vel Y != 0
value = (atan(Vel Y/Vel X) + (pi)) *(-180/Pi)
[State 7101, blah]
type = AngleDraw
trigger1 = 1
[State 7101, PlaySnd]
type = PlaySnd
trigger1 = !time
value = 9,19
volume = 0
channel = -1
freqmul = 1.0
loop = 0
pan = 0
[State 7101, AfterImage]
type = AfterImage
trigger1 = animelem = 1
time = 15
length = 5
palcontrast = 40,0,88
paladd = 20,20,20
palmul = .65,.65,.75
timegap = 1
framegap = 1
trans = add1
[State 7101, HitDef]
type = HitDef
trigger1 = time = 0
attr = S, NP
damage = 8,7
getpower = 0,0
givepower = 0,0
animtype = medium
guardflag = MA
hitflag = MAFDP
priority = 3, Hit
pausetime = 0, 0
sparkno = 1
sparkxy = 0, 0
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 5
ground.hittime = 12
ground.velocity = -0.8
airguard.velocity = -0.3,-1
air.type = High
air.velocity = -0.8,-1
air.hittime = 12
envshake.time = 10
envshake.freq = 90
envshake.ampl = -4
envshake.phase = 90
[State 7101, VelSet]
type = VelSet
trigger1 = pos y > 1
x = 0
y = 0
[State 7101, ChangeAnim]
type = ChangeAnim
trigger1 = pos y > 1
value = 7217
elem = ifelse(random>666,1,ifelse(random>500,2,3))
[State 7101, PlaySnd]
type = PlaySnd
trigger1 = pos y > 1
value = 9,15
volume = 0
channel = -1
freqmul = 1.0
loop = 0
pan = 0
persistent = no
[State 7101, Explod]
type = Explod
trigger1 = pos y > 1
anim = 7084
pos = 0,0
postype = p1
removetime = 15
ontop = 1
scale = 0.6,0.6
persistent = no
[State 7101, PlaySnd]
type = PlaySnd
trigger1 = pos y > 1
value = 9,10
volume = 0
channel = -1
freqmul = 1.0
loop = 0
pan = 0
persistent = no
[State 7101, PlaySnd]
type = PlaySnd
trigger1 = pos y > 1
value = 60,3
volume = 0
channel = -1
freqmul = 1.0
loop = 0
pan = 0
persistent = no
[State 7101, EnvShake]
type = EnvShake
trigger1 = pos y > 1
time = 10
freq = 90
ampl = -4
phase = 90
persistent = no
[State 7101, Explod]
type = Explod
trigger1 = time = 0 && var(25) > 24
trigger2 = time + 1 && var(25) > 24
helpertype = normal
anim = 7910
pos = -10+random%30,-10+random%30
vel = 0,-3
postype = p1
ontop = 1
persistent = no
[State 7101, Explod]
type = Explod
trigger1 = time = 0 && var(25) > 24
trigger2 = time + 1 && var(25) > 24
helpertype = normal
anim = 7910
pos = -10+random%30,-10+random%30
vel = 0,-4
postype = p1
ontop = 1
persistent = no
[State 7101, Explod]
type = Explod
trigger1 = time = 0 && var(25) > 24
trigger2 = time + 1 && var(25) > 24
helpertype = normal
anim = 7910
pos = -10+random%30,-10+random%30
vel = 0,-5
postype = p1
ontop = 1
persistent = no
[State 7101, VarSet]
type = VarSet
trigger1 = !var(25) && pos y > 1
var(25) = 1
persistent = 0
[State 7101, VarAdd]
type = VarAdd
trigger1 = var(25) && var(25) < 25
var(25) = 1
[State 7101, Trans]
type = Trans
trigger1 = var(25) > 24
trans = add1
alpha = 256-time*5
[State 7101, VarSet]
type = VarSet
trigger1 = !var(27) && pos y > 1
var(27) = 1
persistent = 0
[State 7101, VarAdd]
type = VarAdd
trigger1 = var(27) && var(27) < 30
var(27) = 1
[State 7101, DestroySelf]
type = DestroySelf
trigger1 = var(27) > 29