ジャンプ通常攻撃

Last-modified: 2015-11-14 (土) 01:05:33

空中で出す通常攻撃、エリアルや飛び込みの中心となる

 

和訳カンフーマンは弱・強パンチ+弱・強キックの4ボタン式だが
新・擬人化アマテラスの場合は弱・中・強攻撃の3ボタン式になっている


 

ジャンプ弱攻撃

元記述

;空中弱パンチ
[State -1, Jump Light Punch]
type = ChangeState
value = 600
triggerall = command = "x"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = statetime >= 7

 
記入側

;距離は24まで届く、地上の相手には当てづらい、空対空向き
[State -3, ジャンプ弱攻撃]
type = ChangeState
value = 600
triggerall = var(59) >= 1
triggerall = random <= (var(59) * 100)
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,30]
trigger1 = statetype = A
trigger1 = ctrl
trigger1 = p2statetype = A
trigger1 = p2movetype != A
trigger1 = random <= 400
trigger2 = stateno = 600
trigger2 = statetime >= 7
trigger2 = movecontact
trigger2 = random <= 500


基本は和訳カンフーマンのジャンプ通常攻撃と変わらない、距離は30まで伸ばしてある

 

ジャンプ中攻撃

元記述

;B
[State -1, Jump Strong Kick]
type = ChangeState
value = 640
triggerall = command = "b"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 600
trigger2 = movecontact=[1,10]

 
記入側

;地上にいる、もしくは一段ジャンプの後なら「1」にリセット
[State -3, ジャンプの段数判定・1]
type = VarSet
trigger1 = statetype != A || stateno = 40
var(54) = 1

 

;二段ジャンプの後なら「2」を入力して、ジャンプの段数を判定
[State -3, ジャンプの段数判定・2]
type = VarSet
trigger1 = stateno = 45
var(54) = 2

 

;距離は56まで届く、上下に非常に攻撃範囲が広い、後方にも判定があり、めくりも可能
[State -3, ジャンプ中攻撃]
type = ChangeState
value = 640
triggerall = var(59) >= 1
triggerall = random <= (var(59) * 100)
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X <= 60
trigger1 = statetype = A
trigger1 = ctrl
trigger1 = p2statetype = A || vel Y > 1 || var(54) = 1
trigger1 = p2movetype != A || var(13) > 0
trigger1 = random <= 400
trigger2 = stateno = 600
trigger2 = movecontact = [1,10]
trigger2 = random <= 500


距離は60まで伸ばし、めくりも可能なので「p2bodydist X <= 60」と記述する。上下の判定が広いうえ
ジャンプ強攻撃に繋げることもできるので、落下中にタイミングを測って出す必要も無い。範囲に入ったら使う
くらいの大雑把な振り方でも、十分当てることが出来るはず、ジャンプ攻撃の主力になるだろう

 

とは言え流石に二段ジャンプからだと、地上の相手に当てるのは難しい。なので和訳カンフーマンの記述を
参考に、「相手が空中にいるとき」「落下を始めたとき」そして「一段ジャンプのとき」を条件として設定する
これなら一段ジャンプの時は兎に角使い、二段ジャンプの時は狙って使ってくれる。とは言えジャンプは
一段目二段目問わず、直後に「stateno = 50」に移行してしまうので、ステートナンバーで指定は難しい

 

という事で新たに「var(54)」を設定し、一段ジャンプのステートナンバー「40」と、二段ジャンプの
ステートナンバー「45」になるごとに、varに入れる数字を変更して、ジャンプの段数を判定させている

 

ちなみに「 var(13) > 0」は、「霧隠」中ならとにかく攻撃する、というための記述。「霧隠」は
ガードでも途切れてしまうので、とにかく攻撃を振らねばならない。とは言え無敵技の使える地上状態なら
問題ないものの、空中状態で使える技に無敵は無い。なので少しでも判定の強い技を優先して振って行かせる
ジャンプ弱攻撃と一閃(空中版)は判定が非常に弱く、同時に出し合ったら打ち負けるので使わない
ジャンプ中攻撃とジャンプ強攻撃は、武器の先端が攻撃判定のみと強目の設定なので、これらを使っていく

 

ジャンプ強攻撃

元記述

;C
[State -1, Jump Light Kick]
type = ChangeState
value = 630
triggerall = command = "a"
trigger1 = statetype = A
trigger1 = ctrl
trigger2 = stateno = 640
trigger2 = movecontact=[1,10]
trigger3 = stateno=1310
trigger3 = time>3

 
記入側

;斜め下方向に剣を構えて突進する、一段ジャンプの頂点からなら距離100程度届く
[State -3, ジャンプ強攻撃]
type = ChangeState
value = 630
triggerall = var(59) >= 1
triggerall = random <= (var(59) * 100)
triggerall = roundstate = 2
triggerall = p2statetype != L
triggerall = p2bodydist X = [-10,100]
triggerall = p2bodydist Y >= -10
trigger1 = statetype = A
trigger1 = ctrl
trigger1 = p2statetype != A
trigger1 = p2movetype != A || var(13) > 0
trigger1 = vel Y > -1 && pos Y <= -50 && var(54) = 1
trigger1 = random <= 400
trigger2 = stateno = 640
trigger2 = movecontact = [1,10]
trigger2 = random <= 500


「stateno=1310」「time>3」の部分は、すでにama.cnsで記述済みの部分なので、削除して問題ない

 

「pos Y <= -50」はある程度の高度以上(新・擬人化アマテラスの一段ジャンプは80程度の高さまで飛べる)
「vel Y > -1」は落下の終わり=ジャンプの頂点という意味、ここからならば地上の相手に対し100程度の
距離まで届くので、要するに単発では対地攻撃用として使っていく(空対空は弱と中で十分対応できる)

 

ちなみに、この記述は二段ジャンプの事は考慮してない。二段ジャンプの高度から地上の相手を狙うのは
非常に難しい。という事でジャンプ中攻撃の「var(54)」を流用し、一段ジャンプの時だけ使用する

 

あとは斜め下に飛ぶ性質上、自分より高い位置の相手には当てづらいので、和訳カンフーマンの
ジャンプキック二種類と同じように、「p2bodydist Y >= -10」の範囲で使っていくように記述してある

 

var(13) > 0」はジャンプ中攻撃と同様、「霧隠」中ならば判定の強さを活かし振っていく