双人对战的情况下,通过拉p2实现“感化”类技能的效果——以满月引导为例
;-----------
;FULL MOON RECT满月引导
[Statedef 3600]
type = S
movetype= A
physics = S
juggle = -1
poweradd= 0
velset = 0,0
anim = 1800
ctrl = 0
sprpriority = 2
[State 0, VarSet];联合判定机制,这里的浮点变量很重要,涉及到双重判定,以及撞车避免
type = VarSet
trigger1 = animelemtime(17) =5
trigger1 = RoundState = 3
trigger1 = alive
fv = 29
value = 2305.92
[State 1000, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;---------------------------------------------------------------------------
;FULL MOON RECT HIT,满月引导命中,被命中的目标会被拉进这个状态号
[Statedef 3603]
type = L
movetype= H
physics = N
ctrl = 0
velset = 0,0
[State 801, LifeAdd];处决部分,用于击杀p2,执行成功则对局进入终局待机阶段
type = LifeAdd
trigger1 = TIME=0
value = -lifemax-99999999999999
absolute = 1
ignorehitpause = 1
[State 801, LifeAdd];巴掌后面的甜枣,假装p2还没输
type = LifeAdd
trigger1 = TIME=1
trigger2 = TIME=2
value = lifemax
absolute = 1
ignorehitpause = 1
[State 0, HitFallSet]
type = NULL;HitFallSet
trigger1 = TIME=0
value = 1
[State 0, RemoveExplod];净化一下exp
type = RemoveExplod
trigger1 = TIME=0
id = -1
[State 0, DestroySelf];如果命中的是个helper则helper当场销毁
type = DestroySelf
trigger1 = Ishelper
[State 170, NOTHITBY]上个无敌避免事端
type = NotHitBy
trigger1 = 1
value = SCA
time = 99999
ignorehitpause = 1
[State 0, AssertSpecial];特殊断言部分
type = AssertSpecial
trigger1 = 1
flag= nokosnd
;flag2 = Invisible
;flag3= nobardisplay
[state 1201];稍息!
type = ChangeAnim
trigger1 = 1
value = 0
elem = 1
[State 803,ChangeState];立正!!!
type = ChangeAnim
trigger1 = (!GetHitVar(IsBound)) &&time = 101
value = 0
[State 804, ChangeState];需要给对方拉入自己的5150状态号完成终局判定
type = ChangeState
trigger1 = TIME=120
trigger1 = !alive
value = 5150
CTRL=0
[State 804, ChangeState];你要没死成算你命大,回去待机去
type = ChangeState
trigger1 = TIME=120
trigger1 = alive
value = 0
CTRL=1
;----------------------------------------------------------------
; HIT_LIEDEAD进入终局待机阶段后进入该状态(倒地)则会结束对局
[Statedef 5150]
type = L
movetype= H
physics = N
sprpriority = -3
;下面这些塞进5150里面
[State 5150, 1] ;Normal anim
type = ChangeAnim
triggerall = Time = 0
trigger1 = p2name = "我方角色名"
trigger1 =EnemyNear,fvar(29)=2305.92;读取P1的浮点变量
value = 0
[State 804, play win anim];跳转到胜利状态号
type = SelfState
triggerall = TIME=1
trigger1 = p2name = "我方角色名"
trigger1 =EnemyNear,fvar(29)=2305.92
value = 180
CTRL=0
[State 5150, 1] ;防止撞车
type = ChangeAnim
triggerall = Time = 0
triggerall = SelfAnimExist(5140 + (var(42)*20000))
trigger1 = p2name != "我方角色名"
trigger1 =EnemyNear,fvar(29) !=2305.92
trigger1 = (anim != [5111 + (var(42)*20000),5119 + (var(42)*20000)]) && (anim != [5171 + (var(42)*20000),5179 + (var(42)*20000)])
trigger2 = !SelfAnimExist(5140 + (anim % 10) + (var(42)*20000))
trigger2 = p2name != "我方角色名"
trigger2 =EnemyNear,fvar(29) !=2305.92
value = 5140 + (var(42)*20000)
[State 5150, 3] ;Hit up type anim
type = ChangeAnim
trigger1 = Time = 0
trigger1 = (anim = [5111,5119]) || (anim = [5171,5179])
trigger1 = SelfAnimExist(5140 + (anim % 10))
trigger1 = p2name != "我方角色名"
trigger1 =EnemyNear,fvar(29) !=2305.92
value = 5140 + (anim % 10)
[State 5150, 4] ;Match over anim
type = ChangeAnim
persistent = 0
;trigger1 = Time = 0
trigger1 = MatchOver = 1
trigger1 = p2name != "我方角色名"
trigger1 =EnemyNear,fvar(29) !=2305.92
trigger1 = Anim = [5140 + (var(42)*20000),5149 + (var(42)*20000)]
trigger1 = SelfAnimExist(anim+10)
value = anim+10
[State 5150, 5] ;Switch to 5110 if liedead anim does not exist
type = ChangeAnim
trigger1 = Time = 0
trigger1 = p2name != "我方角色名"
trigger1 =EnemyNear,fvar(29) !=2305.92
trigger1 = Anim != [5140 + (var(42)*20000),5159 + (var(42)*20000)]
trigger1 = Anim != [5110 + (var(42)*20000),5119 + (var(42)*20000)]
value = 5110 + (var(42)*20000)
;---------------------------------------------------------------------------------------------------------
暂时没试过2个角色以上同台的情况,可能会有问题吧,不太清楚