GetCasterLevel(object)
Determines the level of caster for a creature or PC casting a spell.
int GetCasterLevel( object oCreature );
Parameters
oCreature
Creature or PC casting a spell.
Description
Get the Caster Level of oCreature. If the creature or PC is multiclassed, this function returns the level of the class used to cast the spell.
Return a value of 0 on error.
Remarks
This only works with PC and creature type objects, else it returns 0.
This function only works properly when oCreature is casting a spell. It is cirtainly the only reliable place. If used outside a spell script, it will return the last caster level of the last spell cast by oCreature - IE, some Area-of-Effect spells do this, to get how much damage dice to use.
Version
1.61
Example
// Example 1 - Gets the casting level of the object that last cast
// a spell, if that object is a PC or Creature. For fun, the object
// then says its caster level.
/* note the bug above; this example may not work properly */
void main()
{
// Get the object that last cast a spell.
object oCreature = GetLastSpellCaster();
// Get out if it is not a creature (PC or mob)
if (GetObjectType(oCreature) != OBJECT_TYPE_CREATURE) return;
// Get the casting level of the creature.
int nCLevel = GetCasterLevel(oCreature);
// Just for fun...
string sLevel = IntToString(nCLevel);
AssignCommand(oCreature,SpeakString("I'm a level " + sLevel + " caster!",TALKVOLUME_TALK));
}
See Also
| functions: | GetCharacterLevel | GetLastSpellCaster |
| categories: | Get Data from Creature Functions | Spells Functions |
author: Brett Lathrope, editor: Jasperre, additional contributor(s): Alec Usticke