超必殺技

Last-modified: 2014-07-21 (月) 23:02:53

ゲージを消費して放つ、必殺技を超えた必殺技、その威力や付与された無敵、発生の早さなど性能は総じて高い
だがその性能の高さはゲージという制限があるからこそ、無駄撃ちは出来ないので確実に当てていこう


 

スマッシュカンフーアッパー

修正前

[State -1, スマッシュカンフーアッパー];ゲージレベル1
type = ChangeState
value = 3050
triggerall = command = "SmashKFUpper" ;「SmashKFUpper」の名前のコマンドが入力されたら
triggerall = power >= 1000 ;パワーゲージがレベル1以上溜まっている時(※)
triggerall = statetype != A ;「空中」ではない時
trigger1 = ctrl ;コントロールが可能な場合
trigger2 = hitdefattr = SC, NA, SA, HA ;自分の「HitDefの一部の攻撃属性」が出ている時(テンプレート参照)
trigger2 = stateno != [3050,3100) ;現在のステートが「3050以上、3100未満」の間のどれかな場合
trigger2 = movecontact ;攻撃が相手に触れている時(ヒット・ガード両方)
trigger3 = (StateNo = 1300) && (Time = [12,38]) ;ちょっとこ丸が追加

 
修正後

;横の距離は39、高さは130まで届く、無敵のある対空技、打点が高くしゃがみ状態には当たらない
[State -1, スマッシュカンフーアッパー];ゲージレベル1
type = ChangeState
value = 3050
triggerall = power >= 1000
triggerall = statetype != A
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,39]
triggerall = p2bodydist Y >= -130
triggerall = p2statetype = S || p2statetype = A
trigger1 = ctrl
trigger1 = p2movetype = A
trigger1 = random <= 300
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [3050,3100)
trigger2 = movehit
trigger2 = stateno = 3000
trigger2 = AnimElem = 20
trigger2 = power >= 2000 || p2life <= 150
;trigger3 = (StateNo = 1300) && (Time = [12,38])


無敵対空技なので、「三烈カンフー突き手」と同様にカウンターとして使用する
しゃがんでいる相手には当たらない(座高が高い相手はいるだろうが、それを前提にはできない)ので
立ち状態、もしくは空中状態の相手を狙って使う。乱数は低めだが「三烈カンフー突き手」よりは
高く設定してある。対空が目的である以上、鋭く放たないと間に合わない

 

なお「攻撃が届く高さ」を測るには、当たり判定を表示させつつ、推奨ツールの「いっしょにとれーにんぐ」の機能
『背景にX軸とY軸の目盛りを表示させる』を使い、どこまで届いているのか確認するのが一番。もしくは
デバッグモードにデータを表示させる記述を入れつつ、実際にトレーニングモードで試してみるかのどちらかだろう
なお「p2bodydist Y」は、相手が自分より高い所にいるとマイナスの数値を返し、相手が自分よりも
 低い位置にいるとプラスの数値を返し、同じ高さならゼロを返す。なのでこういう表記になる

 

また「スマッシュカンフーアッパー」の攻撃判定は上には広いものの、めくりに完全に対応出来るわけではない
なので「p2bodydist X = [-10,39]」という感じで、ある程度までなら対応するよう距離の下限を記述してある

 

コンボ記述は、和訳KFMのキャラフォルダ内に入っている説明書の、超必殺技から別の超必殺技へ
コンボを繋ぐことが出来るという記述を、実際に行わせるためのもの。具体的には「三烈カンフー突き手」の
二段目をキャンセルし、三段目の代わりに「スマッシュカンフーアッパー」を放つというコンボ

 

「stateno = 3000」が「三烈カンフー突き手」のステートナンバー、「AnimElem」はそのステートになって
何枚目のアニメなのかを表す。「AnimElem = 20」は「三烈カンフー突き手」の三段目の直前なので
ここでキャンセルすれば、三段目の代わりに「スマッシュカンフーアッパー」が綺麗に決まる

 

また『ちょっと待て、どうしてそこが「三烈カンフー突き手」の三段目の直前だと分かるんだ』と思う人も
いるだろうが、それは「kfm.cns」内の[Statedef 3000](三烈カンフー突き手)の項目を読んでみれば分かる

 

[State 3000, ヒット定義]
type = HitDef
trigger1 = AnimElem = 5
trigger2 = AnimElem = 13
;(長いので以下略)

 

[State 3000, ヒット定義];フィニッシュ
type = HitDef
trigger1 = AnimElem = 21
;(長いので以下略)

 

この「HitDef」は「ヒット定義」という名のとおり、その攻撃が当たった場合に相手へ与えるダメージや
ダウンさせるか否かなどを設定する項目。それが「AnimElem」の5、13、21で設定されているということは
つまりそのタイミングで攻撃がヒットする予定だということ。そして三段目のタイミングが「21

 

ということで、その直前の「AnimElem = 20」でキャンセルするのが、最適のタイミングということになる

 

そして最後にコンボの使用条件分岐、「power >= 2000」つまり使ってもパワーゲージが一本以上残るときに
「スマッシュカンフーアッパー」をコンボに使う。ただし別条件で「p2life <= 150」という
「相手のライフがあと一押しで倒せそうなとき」は別で、止めを狙って使うように記述してある
ちなみにここには乱数の要素を入れていない、格好良く決めたいところなので、確実に実行させている

 

こうすれば切り返しのためのゲージを常に一本確保しつつも、止めの時は惜しまない立ち回りができる
ちなみにtrigger3は三烈カンフー突き手と同じ理由でコメントアウトしておく

 

三烈カンフー突き手

編集前

[State -1, 三烈カンフー突き手];ゲージレベル1
type = ChangeState
value = 3000
triggerall = command = "TripleKFPalm"
triggerall = power >= 1000
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = statetype != A
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [3000,3050)
trigger2 = movecontact
trigger3 = (StateNo = 1300) && (Time = [12,38]) ;ちょっとこ丸が追加

 
編集後

;非ロック式の高火力乱舞技、初段にのみ無敵あり、全段当てるなら距離100以内
[State -1, 三烈カンフー突き手];ゲージレベル1
type = ChangeState
value = 3000
triggerall = power >= 1000
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = statetype != A
triggerall = p2bodydist X = [-10,100]
trigger1 = ctrl
trigger1 = p2statetype != A
trigger1 = p2movetype = A
trigger1 = p2bodydist X <= 80
trigger1 = random <= 200
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [3000,3050)
trigger2 = movehit
trigger2 = stateno = 1010
trigger2 = random <= 700
;trigger3 = (StateNo = 1300) && (Time = [12,38])


「AI製作開始」の例文と同様なので、説明はそちらに任せる