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.