common1.cns

Last-modified: 2015-08-04 (火) 04:37:55

基本的な記述は和訳カンフーマンの時と大差無いが、新・擬人化アマテラスの基本動作の性能は
和訳KFMと同程度なので、変える必要も無い。それこそ、プレイヤー操作用の元記述が残っている程度

 

また確率で動作させるような部分は無いので、各行動はAIレベルに関係なく実行させている


 

分身化したヘルパーの消去

編集前

; Stand
[Statedef 0]
type = S
physics = S
sprpriority = 0

 
編集後

; Stand
[Statedef 0]
type = S
physics = S
sprpriority = 0

 

;分身に化けたヘルパーを消す
[State 0, 0]
type = DestroySelf
trigger1 = Ishelper


ここはAI操作もプレイヤー操作も関係無いので、そのまま追記しておけば良い

 

歩き

編集前

[State 20, 1]
type = VelSet
trigger1 = command = "holdfwd"
x = const(velocity.walk.fwd.x)

 

[State 20, 2]
type = VelSet
trigger1 = command = "holdback"
x = const(velocity.walk.back.x)

 
編集後

[State 20, 1]
type = VelSet
triggerall = var(59) <= 0
trigger1 = command = "holdfwd"
x = const(velocity.walk.fwd.x)

 

[State 20, 2]
type = VelSet
triggerall = var(59) <= 0
trigger1 = command = "holdback"
x = const(velocity.walk.back.x)

 

;前に向かって歩く、速度は和訳KFMと大差ない
[State 20, 1]
type = VelSet
triggerall = var(59) >= 1
triggerall = roundstate = 2
trigger1 = p2statetype != L && P2BodyDist X >= 0
trigger2 = p2statetype = L && P2BodyDist X > 75
x = const(velocity.walk.fwd.x)

 

;後ろに向かって歩く、速度は和訳KFMと大差ない
[State 20, 2]
type = VelSet
triggerall = var(59) >= 1
triggerall = roundstate = 2
trigger1 = p2statetype = L && P2BodyDist X < 65
x = const(velocity.walk.back.x)

 

;足を止めたら立ち状態に戻る、追加記述だがAI専用でなくても問題無い
[State 20, 5]
type = ChangeState
trigger1 = vel X = 0
value = 0
ctrl = 1


『足を止めたら立ち状態に戻る』記述は、AI用の追加記述ではあるが、プレイヤー操作に悪影響は無いので
AI専用にする記述(triggerall = var(59) >= 1)は入れていない。まあ気になるなら、入れてもまた問題は無い

 

ジャンプ

編集前

[State 40, 2]
type = VarSet
trigger1 = command = "holdfwd"
sysvar(1) = 1

 

[State 40, 3]
type = VarSet
trigger1 = command = "holdback"
sysvar(1) = -1

 
編集後

[State 40, 2]
type = VarSet
triggerall = var(59) <= 0
trigger1 = command = "holdfwd"
sysvar(1) = 1

 

[State 40, 3]
type = VarSet
triggerall = var(59) <= 0
trigger1 = command = "holdback"
sysvar(1) = -1

 

;前方へのジャンプ、高度・速度共に和訳KFMと同程度
[State 40, 2]
type = VarSet
triggerall = var(59) >= 1
triggerall = roundstate = 2
trigger1 = BackEdgeBodyDist <= 20 &&(p2statetype = L ||(p2statetype != A && p2movetype != A))
trigger2 = p2statetype != A && p2movetype != H
trigger3 = p2statetype = A && p2movetype = H
sysvar(1) = 1

 

;後方へのジャンプ、高度・速度共に和訳KFMと同程度
[State 40, 3]
type = VarSet
triggerall = var(59) >= 1
triggerall = roundstate = 2
trigger1 = p2statetype = L && BackEdgeBodyDist > 20 && enemynear,NumProj = 0
sysvar(1) = -1


特に変更すべき点も無いので、和訳カンフーマンと同様な感じで記述している

 

ダッシュ

編集前

[State 100, 4]
type = ChangeState
trigger1 = command != "holdfwd"
value = 0

 
編集後

[State 100, 4]
type = ChangeState
triggerall = var(59) <= 0
trigger1 = command != "holdfwd"
value = 0

 

;ダッシュ速度は和訳KFMと同程度、使い勝手は悪くない
[State 100, 4]
type = ChangeState
triggerall = var(59) >= 1
trigger1 = p2movetype = A || InGuardDist
trigger2 = RoundState != 2
trigger3 = p2movetype != H
trigger3 = P2BodyDist X < 80
trigger3 = P2BodyDist Y > -90
trigger4 = P2BodyDist X <= 10
value = 0
ctrl = 1


新・擬人化アマテラスは(若干発生は遅いものの)ダッシュから直接投げが出せるので、和訳KFMのように
投げの範囲に入ってもダッシュを止める必要は無い。とは言え延々ダッシュを続けられても困るので
距離が十分に密着したら止めるよう、「trigger4 = P2BodyDist X <= 10」としている
(もちろんこの距離は、投げの範囲よりも近くないといけないのは分かるだろう)

 

また新・擬人化アマテラスは背が低く、和訳カンフーマンの背の高さが90に対して60くらいしかない
なのでtrigger3の『相手の攻撃が届くかも知れない高度』の値をそのぶん減らし、120から90にしている