So.. After all this time.. I am almost there!Spoiler, click to toggle visibilty
ReferenceSpoiler, click to toggle visibilty
VIDEO
The only issue.. The positioning is not yet perfect!Spoiler, click to toggle visibilty
V-ismSpoiler, click to toggle visibilty
; V-ism Variable Combo System ;--------------------------------------------------------------------------- ; V-ism Main [Statedef 320] type=S movetype=I physics=N velset=0,0 sprpriority=-5 anim=320 ctrl=0 facep2=1 [State 320, NotHitBy] type=NotHitBy trigger1=1 ignorehitpause=1 value=SCA time=1 [State 320, CtrlSet] type=CtrlSet trigger1=1 value=0 [State 320, AssertSpecial] type=AssertSpecial trigger1=1 ignorehitpause=1 flag=NoShadow flag2=Invisible [State 320, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(330)=0 helpertype=normal pausemovetime=Power*Power supermovetime=Power*Power name="Shadow" stateno=330 id=330 pos=0,0 postype=P1 keyctrl=0 [State 320, Helper] type=Helper trigger1=Time=15 trigger1=NumHelper(331)=0 helpertype=normal pausemovetime=Power*Power supermovetime=Power*Power name="Shadow" stateno=330 id=331 pos=0,0 postype=P1 keyctrl=0 [State 320, VarSet] type=VarSet trigger1=Time<=0 ignorehitpause=1 var(0)=Root,Power [State 320, VarAdd] type=VarAdd triggerall=Time>0 trigger1=(GameTime%6=0) ignorehitpause=1 var(0)=-10 [State 320, PowerSet] type=PowerSet triggerall=Time>0 trigger1=Root,Var(2)>0 trigger1=RoundState<=2 ignorehitpause=1 value=Var(0) [State 320, Destroy] type=DestroySelf triggerall=Time>0 trigger1=Root,Var(2)<=0 trigger2=Root,Power<=0 trigger3=Var(0)<=0 ;--------------------------------------------------------------------------- ; Shadow - Activation [Statedef 330] movetype=I physics=N velset=0,0 sprpriority=-10 anim=320 ctrl=0 facep2=1 [State 330, NotHitBy] type=NotHitBy trigger1=1 ignorehitpause=1 value=SCA time=1 [State 330, AssertSpecial] type=AssertSpecial trigger1=1 ignorehitpause=1 flag=NoShadow flag2=Invisible ;============================== ;----- Record Information ----- [State 330, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(340)=0 helpertype=normal pausemovetime=Power * Power supermovetime=Power * Power name="Anchor" id=340 pos=0,0 postype=P1 stateno=340 keyctrl=0 [State 330, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(341)=0 helpertype=normal pausemovetime=Power * Power supermovetime=Power * Power name="Record Anim" id=341 pos=0,0 postype=P1 stateno=340 keyctrl=0 [State 330, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(342)=0 helpertype=normal pausemovetime=Power * Power supermovetime=Power * Power name="Record AnimElemNo" id=342 pos=0,0 postype=P1 stateno=340 keyctrl=0 [State 330, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(343)=0 helpertype=normal pausemovetime=Power * Power supermovetime=Power * Power name="Record Pos X" id=343 pos=0,0 postype=P1 stateno=340 keyctrl=0 [State 330, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(344)=0 helpertype=normal pausemovetime=Power * Power supermovetime=Power * Power name="Record Pos Y" id=344 pos=0,0 postype=P1 stateno=340 keyctrl=0 [State 330, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(345)=0 helpertype=normal pausemovetime=Power * Power supermovetime=Power * Power name="Record Vel X" id=345 pos=0,0 postype=P1 stateno=340 keyctrl=0 [State 330, Helper] type=Helper trigger1=Time <= 0 trigger1=NumHelper(346)=0 helpertype=normal pausemovetime=Power * Power supermovetime=Power * Power name="Record Vel Y" id=346 pos=0,0 postype=P1 stateno=340 keyctrl=0 ;------------------------------ ;============================== [State 330, StateTypeSet] type=StateTypeSet trigger1=Time <= 0 trigger1=Root, StateType=S StateType=S [State 330, StateTypeSet] type=StateTypeSet trigger1=Time <= 0 trigger1=Root, StateType=C StateType=C [State 330, StateTypeSet] type=StateTypeSet trigger1=Time <= 0 trigger1=Root, StateType=A StateType=A [State 330, State] type=ChangeState trigger1=Root, Var(2) < 2 trigger1=Time >= 0 trigger2=Root, Var(2)=2 trigger2=Time >= 5 trigger3=Root, Var(2) > 2 trigger3=Time >= 10 value=331 [State 330, Destroy] type=DestroySelf triggerall=Time > 0 trigger1=Root, Var(2) <= 0 trigger2=Root, Power <= 0 trigger3=NumHelper(320)=0 ;--------------------------------------------------------------------------- ; Shadow [Statedef 331] physics=N sprpriority=-10 velset=0,0 ctrl=0 [State 330, NotHitBy] type=NotHitBy trigger1=1 ignorehitpause=1 value=SCA time=1 [State 330, SprPriority] type=SprPriority trigger1=1 ignorehitpause=1 value=-10 [State 330, AttackMulSet] type=AttackMulSet trigger1=1 ignorehitpause=1 value=0.375 [State 330, NoJuggle] type=AssertSpecial trigger1=1 ignorehitpause=1 flag=NoJuggleCheck ;============================== ;----- AfterImage Effect ----- [State 330, AssertSpecial] type=AssertSpecial trigger1=1 ignorehitpause=1 flag=NoShadow [State 330, Assert] type=trans trigger1=1 trans=addalpha alpha=256,128 ignorehitpause=1 [State 330, AfterImage] type=AfterImage trigger1=1 ignorehitpause=1 time=0 timegap=1 framegap=1 trans=add1 length=2 paladd=0,0,0 palmul=.9,.9,.9 palcontrast=120,120,120 palpostbright=0,0,0 [State 330, AfterImage] type=AfterImageTime trigger1=1 ignorehitpause=1 time=2 ;============================== ;============================== ;----- Record Direction ----- [State 330, Turn] type=Turn triggerall=NumHelper(340) > 0 trigger1=(Helper(340), Var(StateTime%60) < 0) && (Facing=1) trigger2=(Helper(340), Var(StateTime%60) > 0) && (Facing=-1) ;------------------------------ ;----- Record Animation ----- [State 330, Anim] type=ChangeAnim trigger1=NumHelper(341) > 0 trigger1=NumHelper(342) > 0 value=Helper(341), Var(StateTime%60) elem=Helper(342), Var(StateTime%60) [State 330, VarAdd] ; Record AnimElem Time type=VarAdd trigger1=Var(0)=Anim trigger1=Var(1)=AnimElemNo(0) var(2)=1 [State 330, VarSet] ; Reset AnimElem Time type=VarSet trigger1=Var(0) != Anim trigger2=Var(1) != AnimElemNo(0) var(2)=0 [State 330, VarSet] ; Set AnimElem type=VarSet trigger1=1 var(1)=AnimElemNo(0) [State 330, VarSet] ; Set Anim type=VarSet trigger1=1 var(0)=Anim ;------------------------------ ;----- Record Position ----- [State 330, VarSet] ; Set Pos X type=VarSet trigger1=NumHelper(340) > 0 var(10)=ceil(Pos X) + ceil(Helper(340), Pos X + 210) [State 330, VarSet] ; Set Pos Y type=VarSet trigger1=1 var(11)=ceil(Pos Y) [State 330, PosSet] type=PosSet trigger1=NumHelper(340) > 0 trigger1=NumHelper(343) > 0 trigger1=NumHelper(344) > 0 x=ceil(Helper(343), Var(StateTime%60)) + ceil(Helper(340), Pos X + 210) y=ceil(Helper(344), Var(StateTime%60)) [State 330, VarSet] ; Set Pos X type=VarSet trigger1=NumHelper(340) > 0 trigger1=NumHelper(343) > 0 var(12)=ceil(Helper(343), Var(StateTime%60)) + ceil(Helper(340), Pos X + 210) [State 330, VarSet] ; Set Pos Y type=VarSet trigger1=NumHelper(344) > 0 var(13)=ceil(Helper(344), Var(StateTime%60)) ;------------------------------ ;----- Record Display Data ----- [State 330, Display] type=DisplayToClipboard trigger1=NumHelper(340) > 0 trigger1=NumHelper(341) > 0 trigger1=NumHelper(342) > 0 trigger1=NumHelper(343) > 0 trigger1=NumHelper(344) > 0 ignorehitpause=1 text="Anim: %d \t AnimElem: %d \t AnimElem Time: %d \nPos X: %d \t Pos Y: %d" params=Helper(341), Var(StateTime%60), Helper(342), Var(StateTime%60), Var(2), ceil(Helper(343), Var(StateTime%60)) + ceil(Helper(340), Pos X + 210), ceil(Helper(344), Var(StateTime%60)) ;------------------------------ ;============================== ;============================== ;---------- StateType ---------- [State 330, StateTypeSet] type=StateTypeSet trigger1=Anim=0 trigger2=Anim >= 200 trigger2=Anim < 300 trigger3=Pos Y >= 0 trigger3=StateType=A StateType=S [State 330, StateTypeSet] type=StateTypeSet trigger1=Anim >= 10 trigger1=Anim <= 12 trigger2=Anim >= 400 trigger2=Anim < 500 StateType=C [State 330, StateTypeSet] type=StateTypeSet trigger1=Pos Y != 0 StateType=A ;------------------------------ ;---------- MoveType ---------- [State 330, StateTypeSet] type=StateTypeSet trigger1=Anim < 200 MoveType=I [State 330, StateTypeSet] type=StateTypeSet trigger1=Anim >= 200 trigger1=Anim < 5000 MoveType=A [State 330, StateTypeSet] type=StateTypeSet trigger1=Anim >= 5000 MoveType=H ;------------------------------ ;============================== ;===== Contact/Hit/Guard ===== ;----- MoveContact ----- [State -2, VarSet] type=VarSet trigger1=Var(2) <= 0 trigger1=AnimElem=1 trigger2=MoveType != A ignorehitpause=1 v=20 value=0 [State -2, VarAdd] type=VarAdd trigger1=MoveContact ignorehitpause=1 v=20 value=1 ;----------------------- ;----- MoveHit ----- [State -2, VarSet] type=VarSet trigger1=Var(2) <= 0 trigger1=AnimElem=1 trigger2=MoveType != A ignorehitpause=1 v=21 value=0 [State -2, VarAdd] type=VarAdd trigger1=MoveHit ignorehitpause=1 v=21 value=1 ;-------------------- ;----- MoveGuarded ----- [State -2, VarSet] type=VarSet trigger1=Var(2) <= 0 trigger1=AnimElem=1 trigger2=MoveType != A ignorehitpause=1 v=22 value=0 [State -2, VarAdd] type=VarAdd trigger1=MoveGuarded ignorehitpause=1 v=22 value=1 ;--------------------------------------------------------------------------- ; Anchor - Record Information [Statedef 340] type=S movetype=I physics=N velset=0,0 anim=320 ctrl=0 [State 340, NotHitBy] type=NotHitBy trigger1=1 value=SCA time=1 [State 340, AssertSpecial] type=AssertSpecial trigger1=1 flag=NoShadow flag2=Invisible ;----- Record Direction ----- [State 340, VarSet] type=VarSet trigger1=IsHelper(340) var(StateTime%60)=Root, Facing [State 340, Display] type=DisplayToClipboard trigger1=IsHelper(340) text="ScreenPos X=%f \t ScreenPos Y=%f \nPos X: %f \t \t \t Pos Y: %f" params=ScreenPos X, ScreenPos Y, Pos X, Pos Y ;------------------------------ ;----- Record Animation ----- [State 340, VarSet] type=VarSet trigger1=IsHelper(341) var(StateTime%60)=Root, Anim [State 340, Display] type=DisplayToClipboard trigger1=IsHelper(341) text="Record Anim - Var(%d): %d" params=StateTime%60, Var(StateTime%60) ;------------------------------ ;----- Record AnimElemNo ----- [State 340, VarSet] type=VarSet trigger1=IsHelper(342) var(StateTime%60)=Root, AnimElemNo(0) [State 340, Display] type=DisplayToClipboard trigger1=IsHelper(342) text="Record AnimElemNo - Var(%d): %d" params=StateTime%60, Var(StateTime%60) ;------------------------------ ;----- Record Position X ----- [State 340, VarSet] type=VarSet trigger1=IsHelper(343) trigger1=NumHelper(340) > 0 var(StateTime%60)=ceil(Root, Pos X - Helper(340), ScreenPos X) [State 340, Display] type=DisplayToClipboard trigger1=IsHelper(343) text="Record Pos X - Var(%d): %d" params=StateTime%60, Var(StateTime%60) ;------------------------------ ;----- Record Position Y ----- [State 340, VarSet] type=VarSet trigger1=IsHelper(344) var(StateTime%60)=ceil(Root, Pos Y) [State 340, Display] type=DisplayToClipboard trigger1=IsHelper(344) text="Record Pos Y - Var(%d): %d" params=StateTime%60, Var(StateTime%60) ;------------------------------ ;----- Record Velocity X ----- [State 340, VarSet] type=VarSet trigger1=IsHelper(345) var(StateTime%60)=ceil(Root, Vel X) [State 340, Display] type=DisplayToClipboard trigger1=IsHelper(345) text="Record Vel X - Var(%d): %d" params=StateTime%60, Var(StateTime%60) ;------------------------------ ;----- Record Velocity Y ----- [State 340, VarSet] type=VarSet trigger1=IsHelper(346) var(StateTime%60)=ceil(Root, Vel Y) [State 340, Display] type=DisplayToClipboard trigger1=IsHelper(346) text="Record Vel Y - Var(%d): %d" params=StateTime%60, Var(StateTime%60) ;------------------------------ [State 340, PosSet] type=PosSet trigger1=Time <= 0 x=0 y=1000 [State 340, Destroy] type=DestroySelf triggerall=Time > 0 trigger1=Root, Var(2) <= 0 trigger2=Root, Power <= 0 trigger3=NumHelper(320)=0 trigger4=NumHelper(330)=0 ;-----------------------