TalentMeleeAttack(object)

全てのNPCが近接戦闘をしている間のアクション方針を決定します。

int TalentMeleeAttack(
    object oIntruder = OBJECT_INVALID
);

Parameters

oIntruder

(デフォルト: OBJECT_INVALID)


Description

クリーチャーのメインの攻撃ルーチンです。対する目標と呼出クリーチャーが同一エリアにいるかを調べ、次に3段階のチェックを行います。全ての段階で目標となるクリーチャーが有効で、死んでおらず、OBJECT_SELFと同一エリアにいるかを調べます。

3つの段階は以下:

1)攻撃してきたクリーチャーを攻撃する事を決定する。

2)OBJECT_SELFを攻撃している新しい目標を攻撃する事を決定する。

3)見た、もしくは聞くことで認知した新しい敵対ファクションのものを攻撃する事を決定する。

これらの段階のどれにも当てはなる目標がない場合、攻撃は行われません。目標が得られた場合、目標のACとOBJECT_SELFの現在のレベルを調べます。

この関数は次に、NPCのクラスレベル(HD)に0.75をかけた後、現在のストレングス修正値を加えます。(Remarksを見てください)

敵対クリーチャーのACから上記結果を引いた値(nDiff)が10を下回った場合、関数はOBJECT_SELFが敵対者を弱体化させる能力(またはその他の特技)を持っているかを調べ、持っていれば、その攻撃を行います。nDiffが10を上回った場合、通常の近接攻撃を試みます。



Remarks

スクリプト内では、75%の乗数はNPCのHDの100%にストレングス修正値を足す事のコメント行の近くに書いてあります。


Requirements

#include "nw_io_generic"

Version

1.29

See Also

functions: TalentMeleeAttacked | TalentRangedAttackers | TalentRangedEnemies | TalentSneakAttack | TalentSpellAttack
categories: Combat Actions Functions | Core AI Functions
events: OnCombatRoundEnd Event | OnPhysicalAttacked Event


author: Jody Fletcher, JP team: Rainie
Send comments on this topic.