CheckFriendlyFireOnTarget(object, float)
ターゲット周辺の球体状の範囲内の友好的クリーチャーの数を取得します。
int CheckFriendlyFireOnTarget( object oTarget, float fDistance = 5.0 );
Parameters
oTarget
友好者数をチェックする球体範囲の中心になる対象のobject
fDistance
友好者数をチェックする球体状の半径(デフォルト:5.0)
Description
oTargetを中心とした半径fDistanceを持つ球体範囲内の友好的ファクションの総数を返します。
Remarks
呼出者のヒットダイスの半分に満たない友好的クリーチャーは数えられません。
コアAI内で、保護系や増強系または有害な範囲呪文を使うかどうか決定するために使われています。目標範囲内に友好者がいる間は、ヘンチマンが無差別に有害な範囲呪文を使うことを防ぎます。
Requirements
#include "nw_i0_generic"
Version
1.26
Example
// NPCに1以上の敵の集団を見渡させ、友好的なクリーチャーが // 範囲内にないことを確かめます。次に、ファイアボール呪文を // 持っている場合、それを発射させる void main() { oTarget = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN); if(GetIsObjectValid(oTarget)) { int nEnemy = CheckEnemyGroupingOnTarget(oTarget); int nFriendlies = CheckFriendlyFireOnTarget(oTarget); if( nFriendlies <= 0 && nEnemy >= 1) { ActionCastSpellAtObject(SPELL_FIREBALL,oTarget); } } }
See Also
functions: | AssociateCheck | CheckEnemyGroupingOnTarget | GetAttackTarget | GetAttemptedAttackTarget | GetIsFriend | GetIsReactionTypeFriendly |
categories: | Combat Functions | Core AI Functions |
author: Iskander Merriman, editor: Charles Feduke, JP team: Rainie
Send comments on this topic.