| う〜ん、武器表示項目に存在する固有の武器を奪って使うと言うのはそれなりのインクルードで対応するべきかと思います。 私は開発版を使った事がほぼ無いのでラーニング技や盗み機能の限界がどこまでなのかはわかりませんが、とりあえず安定版を基準として考えてみます。
考えられる方法はいくつかあります。
まずはユニットA,つまり武器を奪う側のユニットに全ての武装を同じく与え、その必要機能を非表示のダミー特殊能力に指定、Bを攻撃した時にその武器用の機能をSetAbilityコマンドで与え、Bの武装をDisableなどで解除させる方法、これはつまり必要機能による奪い取りです。
そしてBをマップ上に出す時、奪い取りの対象になる武装を固有の装備場所を持つアイテムとして装着させ、攻撃後イベントによってそのアイテムをBから削除、Aに装着させる事、つまりアイテムによる奪い取りですね。
まあ、この方法を一部ずつ組み合わせるなどもあるんですが、どちらにしても用意しなければならない処理が二つあります。
一つは「AがBを攻撃した時にBの特定の武装をAが奪えるの状況の判断」です。特にアイテムによって奪い取りを再現させている場合、すでにそのアイテムを装備している(つまりその武装を奪っている)状態で他の武装を奪う事が出来るのかの判定と、アイテム装備数と生成数のチェックなどです。
もう一つは「ステージをクリアした後に、お互いに行われたDisable,SetAbilityの処理と装備アイテムなどを初期化する」作業です。特にこの作業はすごく重要で、これで間違いが起こったらゲーム中のアイテム交換メニューなどでは見えない無駄なアイテムが貯まってセーブデーターの要領を余計に増やす結果となり、その武装を奪われていない新しい、Bと同機種の敵が出現した時にもその武装を使えない状態だという事もありえます。Disable,SetAbility,アイテム生成どちらもセーブデーターに影響を与えるコマンドなので、これには十分注意してください。
要すると、Disable,SetAbility,アイテム生成などの処理が行われる旅にそれをちゃんとステージ中の特定変数に記憶させて、ステージクリア後にちゃんと初期化させる事です。もし一度奪った武装をそれからずっと使うことが出来るというのなら、敵のDisableだけを解除して、それから同じ武装を持つ新しいBを攻撃した時にもう一度アイテムの生成などが行われないように判定させる事が大事でしょう。 もちろん、すでに武装を奪っていても同じ武装を持っている敵を攻撃する事によって敵の武装を無くすとか、自分の弾を補充するなど、いろいろ活用する方法はありますが、とりあえず一つの処理結果はずっとセーブデーターに残るという事を記憶し、残す結果処理と残さない結果処理を上手く制御するのが必須的です。
詳しいインクルードの作成方法を書き込まずに説明だけですみません。 とりあえずはどんな方式で武装の奪い取りを再現させるかをまず決めるべきです。 より詳しい事はまた今度機会があれば書き込む事にします。
では。
|