GetDetectMode(object)

クリーチャーの現在の捜索状態を得ます。

int GetDetectMode(
    object oCreature
);

Parameters

oCreature

捜索しているかどうかを調べるクリーチャー


Description

oCreatureが捜索モードであればDETECT_MODE_ACTIVEを、そうでなければDETECT_MODE_PASSIVEを返します。



Known Bugs

時々、DETECT_MODE_PASSIVEを示す0の代わりに2が返される事があります。下記のサンプルプログラムを見てください。


Version

1.29

Example

// トリガーを踏んだ時に隠されたアイテムを発見できるかどうかを調べる
int nDC = 20;       // 捜索の難易度、"20"は例に過ぎない
object oPC = GetEnteringObject();
if ( GetIsPC(oPC) ) {
    int nSearch = GetSkillRank( SKILL_SEARCH, oPC );
    // 捜索モードではない場合、〈捜索〉値の半分を使用する
    if ( GetDetectMode(oPC) == DETECT_MODE_PASSIVE ) {
        nSearch = nSearch / 2;
    }
    // 標準のD&Dスタイルのスキルチェックを使用する
    if ( d20() + nSearch >= nDC ) {
        // 捜索に成功した場合のプログラムをここに置く 
    }
}

// GetDetectModeとDETECT_MODE_PASSIVEのバグ修正
// 製作者 by: Slow Slosh
int GetDetectModeBugFix(object oCreature) 
{
    int iMode = GetDetectMode(oCreature);
    if(iMode == 2) {iMode = DETECT_MODE_PASSIVE;}
    return iMode;
}

See Also

categories: Get Data from Creature Functions
constants: DETECT_MODE_* Constants


author: Drake Coker, editor: Charles Feduke, additional contributor(s): Slow Slosh, JP team: Rainie
Send comments on this topic.