ushio_Tech.cns

Last-modified: 2017-05-02 (火) 02:46:02

ガードキャンセル、地上・空中投げ、ゲージ溜めの継続・中断の設定など、特殊な行動が記述されている
ファイル。特にゲージ溜めの中断の記述が、cmdファイルではなくこちらにある点には注意が必要


 

前転(無敵強化)

編集前

[State 702, 相手の特定の攻撃属性無効];(※1)
type = NotHitBy
trigger1 = 1
value = ,AA,AP
value2= A ,NT,ST
time = 1

 
編集後

[State 702, 相手の特定の攻撃属性無効];(※1)
type = NotHitBy
triggerall = var(41) < 1
trigger1 = 1
value = ,AA,AP
value2= A ,NT,ST
time = 1

 

[State 702, 無敵強化]
type = NotHitBy
triggerall = var(41) >= 1
trigger1 = 1
value = , AA,AP,AT
time = 3


蒼月潮の回り込み(前転)には、投げに対して無敵ではない部分があるので、実際に回り込みに使うのは
少々危険だったりする。なので無敵を強化し、全ての攻撃に対して無敵になるように記述しておく
var(41)」はそのスイッチ、これが「1」以上であれば、回り込み中は完全無敵になる

 

【追記】
強化スイッチを入れたら、無敵時間も「time = 1」から「time = 3」へと伸ばすことで
技後も僅かに無敵が続くように変更。これで連発すれば捕まえられなくなるはず

 

ガードキャンセル

編集前

[State 703, 強弱(ボタン判別)]
type = VarSet
trigger1 = Time = 0
v = 53
value = ifelse((command="counter_k"),1,0)
IgnoreHitPause = 1

 
編集後

[State 703, 強弱(ボタン判別)]
type = VarSet
trigger1 = Time = 0
v = 53
value = ifelse((0),1,0)
IgnoreHitPause = 1


ガードキャンセル、キックボタンで出せばしゃがみキックで反撃し、そうでないなら槍を振り回し反撃する
基本的に流行りを振り回すほうが攻撃範囲も広いので、そちらしか使わないようにしておく

 

投げ

編集前

[State 800, ヒット定義(投げ用)];地上
type = HitDef
triggerall = (StateType != A)
trigger1 = Time = 0
attr = S, NT
hitflag = M- ;マイナスが付加されてるので相手が食らい中の時は掴めない
priority = 1, Miss
sparkno = -1 ;-1だからヒットスパークは表示しない
sprpriority = 1
p1facing = ifelse(command="holdfwd",-1,1)
p2facing = 1
p1stateno = 801
p2stateno = 803
guard.dist = 0 ;相手のガード態勢に入る距離を0にしてるので、ガード不可
fall = 1

 

[State 800, ヒット定義(投げ用)];空中
type = HitDef
triggerall = (StateType = A)
trigger1 = Time = 0
attr = A, NT
hitflag = A-
priority = 1, Miss
sparkno = -1
sprpriority = 1
p1facing = ifelse(command="holdfwd",-1,1)
p2facing = 1
p1stateno = 801
p2stateno = 803
guard.dist = 0
fall = 1

 
編集後

[State 800, ヒット定義(投げ用)];地上
type = HitDef
triggerall = (StateType != A)
trigger1 = Time = 0
attr = S, NT
hitflag = M- ;マイナスが付加されてるので相手が食らい中の時は掴めない
priority = 1, Miss
sparkno = -1 ;-1だからヒットスパークは表示しない
sprpriority = 1
p1facing = ifelse(BackEdgeBodydist > 30,-1,1)
p2facing = 1
p1stateno = 801
p2stateno = 803
guard.dist = 0 ;相手のガード態勢に入る距離を0にしてるので、ガード不可
fall = 1

 

[State 800, ヒット定義(投げ用)];空中
type = HitDef
triggerall = (StateType = A)
trigger1 = Time = 0
attr = A, NT
hitflag = A-
priority = 1, Miss
sparkno = -1
sprpriority = 1
p1facing = ifelse(vel X > 0,-1,1)
p2facing = 1
p1stateno = 801
p2stateno = 803
guard.dist = 0
fall = 1


投げの前後の使い分けの記述。地上投げは和訳KFMのそれと同様、画面端近くまで追い込まれていたら
相手と場所を入れ替えるように使っていく。空中投げの方は「前進中=前に向かって跳んでいる」のであれば
それだけ画面端から離れているということなので、そのまま前に投げ飛ばし
そうでないならば、後方に投げるように使っていくことにする

 

パワー溜め

編集前

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (Command = "chargec" && Command = "chargez")) || (var(0) = 1)

trigger1 = 1
value = ifelse(palNo >= 11, 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (Command = "chargec" && Command = "chargez")) || (var(0) = 1)

trigger1 = Time >= 60
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (Command = "chargec" && Command = "chargez")) || (var(0) = 1)

trigger1 = Time >= 120
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (Command = "chargec" && Command = "chargez")) || (var(0) = 1)

trigger1 = Time >= 150
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850
triggerall = (var(0) != 1) && (Command = "chargec" && Command = "chargez") || (var(0) = 1)
trigger1 = Time >= 240
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, Anim]
type = ChangeAnim
triggerall = (var(0) != 1)
trigger1 = (Command != "chargec" || Command != "chargez") || (power >= 3000)
value = 851
persistent = 0

 
編集後

[State 850, varのリセット]
type = VarSet
trigger1 = 1
var(42) = 0

 

[State 850, 中断すべき状況を判定]
type = VarSet
trigger1 = RoundState != 2 || p2movetype = A || InGuardDist || p2bodydist X <= 60
var(42) = 1

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (var(42) = 0)) || (var(0) = 1)

trigger1 = 1
value = ifelse(palNo >= 11, 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (var(42) = 0)) || (var(0) = 1)

trigger1 = Time >= 60
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (var(42) = 0)) || (var(0) = 1)

trigger1 = Time >= 120
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (var(42) = 0)) || (var(0) = 1)

trigger1 = Time >= 150
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, PowerAdd]
type = PowerAdd
triggerall = anim = 850

triggerall = ((var(0) != 1) && (var(42) = 0)) || (var(0) = 1)

trigger1 = Time >= 240
value = ifelse((palNo >= 11), 5, 4)

 

[State 850, Anim]
type = ChangeAnim
triggerall = (var(0) != 1)
trigger1 = (var(42) = 1) || (power >= powermax)
value = 851
persistent = 0


ゲージ溜めの継続・中断を記述する箇所。記述せねばならない箇所が多く、また記述しようとすると
横に長くなってしまいそうなので、varを一つ使って簡略化する。和訳KFMの変数の使い方の例とだいたい同じ
あとはタッグ戦でゲージの上限が変動したときのことを考え、「powermax」を使うのも同様