**雑記:傭兵AI、その後。 [#r30b3677]
いろいろ試しているのですが。
なんか実装が微妙な感じで、頭良い動作ができない感じです。
なんかROクライアント側のAPI実装が微妙な感じで、頭良い動作ができない感じです。
#region(→続きを読む。)
以下、試してみてわかっているところをメモ。
-GetV( V_HOMUNTYPE, xx ) の動作があやしい。
--ホムAIでは、xx にオブジェクトIDをいれると『そのモノの種類』が取れた。~
例えば「ホム:バニル」とか「敵:スケワカ」「PC:アルケミ」というような。
--傭兵AIでは、今のところ nil(未定義)しか戻らないように見える。~
「ロキ自身」「視界内のホム」を試したが、どちらも nil。
--この結果、傭兵AIでは『周囲のモノの種類によって行動を変える』ことができない。
--例えば『魔人の巨影』にだけマインドブレイカーを使う、なんてのができない。
--例えば、視界内のモノが『味方ホム』か『NPC』かがわからない。
-GetV( V_MERTYPE, xx ) の動作があやしい。
--本来の用途は、傭兵タイプを取得するもの。~
自分が剣士か弓かという情報を得られる:これに応じて動きを変えられるようになっている。
--だが、今は1(ARCHER01)しか返ってこないように見える。~
「ロキ自身」「視界内のホム」を試したが、どちらも1。~
ロキはどうみても弓兵ではないので、動作としてはおかしすぎる。
--とはいえ、定数定義の const.lua にはロキに相当するIDは定義されていないので・・・
実運用的には、前者で地味に困っています。
上述したマインドブレイカーの無駄打ちの件もそうですが。~
ジェネでホム+ロキ状態で戦おうとした場合に、『味方のホム』を知ることができないんです。~
つまり、横殴り判定がしづらい。
傭兵AIを自由に書き換えることまでは推奨していない、っていうのは事実なんでしょうし。~
特に V_HOMNTYPE については、もともとかなり変則的な実装だったので、傭兵AIで同じように動く保証はどこにもなかったわけではあるのですが。
仮にも「情報取得用関数」で定義されているモード・引数が適切に動作していないというのは事実で、正直間抜け。
----
ご意見などがあれば。
#comment2(below)
#endregion