DetermineSpecialBehavior(object)
クリーチャーのデフォルトの行動を無効にして、特別の行動をとらせます。
void DetermineSpecialBehavior( object oIntruder = OBJECT_INVALID );
Parameters
oIntruder
行動を決定するオブジェクト。(デフォルト: OBJECT_INVALID)
Description
クリーチャーに対し、視覚的に感知され敵と見なされた最も近くにいるクリーチャーへ決まった行動をするよう強います。
oIntruderは、クリーチャーがomnivore(NW_FLAG_BEHAVIOR_OMNIVORE設定の行動を持っている)であり、かつ最も近くに敵クリーチャーがはっきり視認されている場合のみテストされています。
基本的にこの関数は、クリーチャーがNW_FLAG_BEHAVIOR_OMNIVORE(omnivore - 植物と動物の両方(そして明らかにPCも)食べる)、NW_FLAG_BEHAVIOR_HERBIVORE(植物だけ食べる)、またはどちらでもない(NW_FLAG_CARNIVOREか行動が設定されていない)のいずれの状態であるか、そして、攻撃する、逃げる、または、歩くかを決定します。
omnivore状態の者は、非ドルイドと非レンジャーを攻撃し、herbivore状態の者は、非ドルイドと非レンジャーから逃げ、その他の全ての者はただ歩くだけです。
通常、OBJECT_SELF上のNW_FLAG_BEHAVIOR_SPECIAL定数を調べる(GetBehaviorState(int)関数を使用します)と、デフォルトのスクリプトでこの関数によって設定された結果が返されます。
DetermineSpecialBehavior関数は、OBJECT_SELFに適用しますので、クリーチャーのOnDamagedスクリプトに配置されるべきであり、例えば、クリーチャーを最後に攻撃した者や、すみかを侵略した者を攻撃させる時に使用されます。
Requirements
#include "NW_I0_GENERIC"
Version
1.28
See Also
functions: | GetBehaviorState | SetBehaviorState |
categories: | Core AI Functions |
constants: | NW_FLAG_BEHAVIOR_* Constants |
events: | OnDamaged Event | OnDisturbed Event |
author: Jody Fletcher, editor: Charles Feduke, JP team: katsu794
Send comments on this topic.