変身キャラ処理について

変身キャラ。それは夢
変身キャラ。それは見果てぬ蜃気楼。

一応自分も変身キャラを作ってみたことがあるので
完全なモノができないってこたぁ分かっちゃいます。
とりあえず現状でできることなんぞを適当に書いてみることにしました。

ま、変身キャラなんて特殊なブツを作る人がそうそういるとは思いませんけど。

まず基本。
変身後のアニメを変身前のアニメ番号+10000に登録します。
別に10000でなくても良いのですが、1000番台はコマンド技とかに使うことが多いので。
そんでもって変身のフラグが立ったらVarに10000を入れて、各アニメ番号指定部分を

anim = 200+var(1)

てな感じにしておきましょう。
変身解除フラグが立ったらVarに0を入れるのを忘れずに。

当然の如くコモンファイル内のアニメ指定部分にも上記の処理をしとかにゃならんのですが、
上のまんまやるだけだと何故か立ち振り向きアニメがすっ飛ばされちゃいます。
しゃがみ振り向きは大丈夫なのに。
なのでコモン内のstatedef0内のChangeAnim部分を
[State 0, 1]
type = ChangeAnim
trigger1 = Anim != 0 && Anim != 5 && anim != 10000 && anim != 10005
trigger2 = Anim = 5+var(1) && AnimTime = 0
value = 0+var(1)

こんな感じに。あと
[State 0, 4]
type = ChangeAnim
triggerall = var(1) = 10000
trigger1 = Anim = 5
value = 5+var(1)

を追加しとくとちゃんとなります。

さて、ここから先が問題。
やられ画像の処理。
この部分が、完全な変身は不可能と言われてる所以なのです。

やられ状態は以下の3タイプに分けられます。

1.コモンファイル内で処理する、通常のやられ
2.投げ等、相手のステート内で処理され、かつ必須アニメが指定されてる場合
3.投げ等、相手のステート内で処理され、かつ必須スプライトを指定した独自のアニメが指定されてる場合

必須アニメと必須スプライトを混同しないよーに。
2はChangeAnimを使い、3はChangeAnim2を使ってる、て書いた方が解りやすいかな?

通常やられは上にも書いた、アニメ番号に値を加算する方法でどうにかなるので無問題。
困るのは下のふたつです。

まず2番目の対処方。 こーやって強制的にアニメを切り替えてしまいましょう。
[State -2, 1]
type = ChangeAnim
trigger1 = stateno != [5000,5210]
trigger1 = movetype = H
trigger1 = var(1) = 10000
trigger1 = anim = [5000,5300]
value = anim+var(1)
・・・・と書いてはみたものの、この処理イキナリ問題アリです。

まず、切り替えまでに1フレームの誤差が生じてしまうこと。
1フレームだけ通常の必須やられが表示されてしまうので
武器の所持、未所持程度の変身ならまだしも、完全に姿が変わるキャラだとキツイかも。

次に、強制的にアニメ番号を切り替えてしまっているので、相手のステート内で
[State ***]
type = Changestate
trigger1 = anim = 5030
trigger1 = animtime = 0
value = ***
てな感じの処理がしてあったりすると確実に不具合が発生してしまいます。
こっちの方がシャレにならんかも知れません。
3番目の対処方。
[State -2, 1]
type = AssertSpecial
trigger1 = stateno != [5000,5210]
trigger1 = movetype = H
trigger1 = var(1) = 10000
trigger1 = anim != [5000,5300]
flag = invisible
てな感じで投げられ中のキャラを消去し、ヘルパー等で変身後のやられ画像を表示するって方法です。

が、当然これにも問題があって2の対処方と同じく1フレームの誤差が発生してしまうことと
相手キャラのairファイル内で指定されてる処理や必須スプライト番号をヘルパーが認識できないので
画像が上下左右反転されてるか、
頭や腹に中心軸がある画像が指定されてるか、
立ちやられ画像なのか吹き飛びやられなのか、
まーこの辺がわからんのでどーしよーもないんでさぁ、旦那。

究極の方法としては、現存するすべてのキャラの特殊やられアニメパターンをairファイルに登録しておき、
P2nameなんかをトリガーにしてアニメ切り替えるって手もあるのですが現実的じゃないっスね。

以上のことから、やっぱ完全な変身キャラは無理、とゆー結果になってしまうワケです。

ところがぎっちょん、さらなる裏ルートが用意されてたりします。
やられ画像に問題あるので出来ないのなら・・・・
・・・・やられ画像にならなきゃえーやん!

つーワケでアーマー処理んトコて紹介したHitOverride使う方のアーマー処理を施します。
当然T属性の攻撃も弾くように。

これだけだとp2stateno付きReversalDefを回避できないので
全ての攻撃をHitDefでなくProjectileで処理。

さらにガードモーション中にガード不能打撃食らっちゃってもアウチなので
AssertSpecialで立ち、しゃがみ、空中とあらゆる状況でガード不能にしておく。

これで絶対に変身の解けない、ぱーへくとな変身キャラの完成です!


・・・・って、既にマトモなキャラじゃねーよ_| ̄|○

まーそーゆーことなので、良い子はマネしちゃダメだぞ☆

てかこのネタ、ちょっとばかしキャラ製作かじってる人でないと笑えんよなー。
え? かじってても笑えない?
・・・・ごもっともで。
■トップへ戻る