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.