DetermineEnemies

From NWN Lexicon
Revision as of 01:20, 26 August 2012 by Dood (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



DetermineEnemies()

Returns number of enemies perceived and their combined levels.

Description

Uses four general categories to determine what kinds of enemies the NPC is facing. 4 categories are: fighter, cleric, mage, and monster. Function uses only first class-slot of a perceived creature to determine enemy class.



Remarks

The following classes count as fighters: animals, barbarians, beasts, commoners, constructs, elementals, fighters, giants humanoid, monstrous, paladins, rangers, rogues, vermin, monks, and shapechangers.

The following classes count as clerics: clerics and druids.

The following classes count as mages: bards, fey, sorcerers, and wizards.

The following classes count as monsters: aberrations, dragons, magical beasts, and outsiders.

The struct used by DetermineEnemies is called sEnemies and looks like this (the spelling mistake in MONTERS_LEVELS is Bioware’s, not mine):
struct sEnemies
{
     int FIGHTERS;
     int FIGHTER_LEVELS;
     int CLERICS;
     int CLERIC_LEVELS;
     int MAGES;
     int MAGE_LEVELS;
     int MONSTERS;
     int MONTERS_LEVELS;
     int TOTAL;
     int TOTAL_LEVELS;
};


Requirements

#include " x0_i0_enemy "

Version

1.28

Example

<nowiki>#include "x0_i0_enemy"
</nowiki>
void main()
{
   struct sEnemies strEnemies=DetermineEnemies();
 
   //how many fighter-types are we facing
   int nFighters=strEnemies.FIGHTERS;
 
   //what are their combined levels
   int nFighterLevels=strEnemies.FIGHTER_LEVELS;
 
   //how many cleric-types are we facing
   int nClerics=strEnemies.CLERICS;
 
   //what are their combined levels
   int nClericLevels=strEnemies.CLERIC_LEVELS;
 
   //how many mage-types are we facing
   int nMages=strEnemies.MAGES;
 
   //what are their combined levels
   int nMageLevels=strEnemies.MAGE_LEVELS;
 
   //how many monster-types are we facing
   int nMonsters=strEnemies.MONSTERS;
 
   //what are their combined levels - I've made no spelling
   //mistakes, Bioware has: it really does say MONTERS
   int nMonsterLevels=strEnemies.MONTERS_LEVELS;
 
   //how many enemies are there all in all (we could
   //also just add up all the previous numbers)
   int nTotal=strEnemies.TOTAL;
 
   //what are their combined levels
   int nTotalLevels=strEnemies.TOTAL_LEVELS;
}

See Also

functions: 

TalentAdvancedProtectSelf



 author: Jody Fletcher, editors: Lilac Soul, Mistress, additional contributor: Lilac Soul