common.cns

Last-modified: 2022-11-29 (火) 19:11:34

ありがとウサギのコモンファイルは、ダッシュがステップになっているためか
独自のファイルを使っているため、それを持ってきて記述する必要がある
(そのため、ダッシュの記述をする必要が無かったり)

 

とはいえ基本的なことはカンフーマンと同様で、差があるのは
「グレートありがとウサギ」への変身周りにちょっとあるだけ


 

当て身取られて元の姿に戻る対策

編集前

[Statedef 0]
;(中略)
[State 10010, 1]
type = DestroySelf
trigger1 = Ishelper

 
編集後

[Statedef 0]
;(中略)
[State 10010, 1]
type = DestroySelf
trigger1 = Ishelper

 

;----------------バグ対策になってる、と良いな的記述-------------------------

 

[State 0, 当て身取られて元の姿に戻る対策]
type = ChangeState
trigger1 = RoundState = 2
trigger1 = !Ishelper
trigger1 = alive
trigger1 = var(33) = 1
value = 4000
ctrl = 0


アナザーブラッドが有名だが、特殊な当て身をしているキャラに当身を取られると
ハイパーアーマー化していても捕まえられて投げられてしまう、そして投げ捨てられると
「元の姿の立ち状態」に戻される、要するに変身が解けてしまう事がある
一応は、ありがとウサギのコモンファイルにもデフォルトで対策の

 

[State 0, 1]
type = ChangeAnim
trigger1 = Anim != 4000
trigger1 = var(33) = 1
value = 4000

 

が入っているようだが、これだけではどうにも戻らないようなので
専用の「変身後の姿に戻る」ための記述を追記してみている
なお過去のコモンファイルに追記していた「分身ヘルパーを消す記述」は
ありがとウサギの場合はデフォルトで入っていたので、追記する必要は無かった

 

Walk

編集前

[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 = roundstate = 2
trigger1 = p2statetype != L && P2BodyDist X >= 0
trigger2 = p2statetype = L && P2BodyDist X > 75
x = const(velocity.walk.fwd.x)

 

[State 20, 2]
type = VelSet
triggerall = roundstate = 2
trigger1 = p2statetype = L && P2BodyDist X < 65
x = const(velocity.walk.back.x)
;(中略)
[State 20, 5]
type = ChangeState
trigger1 = vel X = 0
value = 0
ctrl = 1


要するに歩き、遅いくらいで特に変わった要素はない

 

Jump Start

編集前

[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 = roundstate = 2
trigger1 = BackEdgeBodyDist <= 20 &&(p2statetype = L ||(p2statetype != A && p2movetype != A))
trigger2 = p2statetype != A && p2movetype != H
trigger3 = p2statetype = A && p2movetype = H
sysvar(1) = 1

 

[State 40, 3]
type = VarSet
triggerall = roundstate = 2
trigger1 = p2statetype = L && BackEdgeBodyDist > 20 && enemynear,NumProj = 0
sysvar(1) = -1


要するにジャンプ、高度が低くて相手の飛び道具を飛び越えるのは難しい
とは言え変身前だと、近づいても何かが出来るわけでもない性能ゆえ
無理に相手に近づく必要があるかというと微妙だが

 

何とかゲージを溜めてデデーンするか、回転レベルを上げて変身するしか無い……
よって何も考えず、カンフーマンのそれをコピペしてきただけである

 

AirJump Start

修正前

[State 45, 4]
type = VarSet
trigger1 = command = "holdfwd"
sysvar(1) = 1

 

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

 
修正後

[State 45, 4]
type = VarSet
trigger1 = vel X >= 0
sysvar(1) = 1

 

[State 45, 5]
type = VarSet
trigger1 = vel X < 0
sysvar(1) = -1


ありがとウサギの一段目のジャンプは本当に低性能も良いところだが
二段目のジャンプは非常に高い位置まで跳べ、逃げ回ってゲージを溜めるという目的にも
合致した良い性能をしている。その二段ジャンプを出すことができればだが……

 

ADI氏のMUGENメモで言及されているが、AIにMUGENデフォルトの二段ジャンプを
実行させるには、すごく複雑な記述が必要になる。初心者用の簡易AIにそれを要求するのは
ということで二段ジャンプの実行自体は諦め、AIのランダムに任せるとしても
実際に出た際には、無駄にならないような記述をしておくことにする

 

とは言え「垂直・もしくは前方に跳んでいたら、そのまま前方に跳ぶ」
「後方に跳んでいたら、そのまま後方に跳ぶ」という、単純なものだけれど