GetDetectMode(object)
Determines if a creature is currently searching.
int GetDetectMode( object oCreature );
Parameters
oCreature
Creature to determine if it is detecting for stealthy creatures.
Description
Returns DETECT_MODE_ACTIVE if oCreature is in search mode and DETECT_MODE_PASSIVE if not.
Known Bugs
Sometimes returns a 2 for DETECT_MODE_PASSIVE instead of 0. A work around appears at the bottom of the code sample.
Version
1.29
Example
// See if a search for a hidden item works when entering a trigger int nDC = 20; // Difficulty of search, "20" is just an example object oPC = GetEnteringObject(); if ( GetIsPC(oPC) ) { int nSearch = GetSkillRank( SKILL_SEARCH, oPC ); // Use only half the search value if not actively searching if ( GetDetectMode(oPC) == DETECT_MODE_PASSIVE ) { nSearch = nSearch / 2; } // Use a standard D&D style skill check if ( d20() + nSearch >= nDC ) { // Search successful - place code here } } // fix for GetDetectMode and DETECT_MODE_PASSIVE // contributed 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