FANDOM


This include file contains functions that get information about the caster or target of a spell. It defines no constants.

Includes Edit

  • X2_Inc_Switches

Functions Edit

int SGGetHasClass (int iClassType, object oCreature=OBJECT_SELF) This function returns whether or not the object has levels of the specific class.


int SGIsLightSensitiveCreature (object oTarget) This function parses the name and subrace fields of the object in an attempt to determine if it is of a race that is sensitive to light. It should be used in checks to see if penalties should be applied in sunlight or when bright flashes from spells occur.


int SGGetArmorType (object oItem) This function was copied from an example on NWN Lexicon [1]. Using the values returned from armor.2da, it returns an armor type of the item object passed into the function. This function is used to determine if the armor is of type medium or greater and thus prevents the use of the evasion and improved evasion feats.


int SGHasMediumOrGreaterLoad (object oTarget=OBJECT_SELF) This function takes the weight the object is carrying and compares it to the current strength score to see if the object is carrying a medium or greater load-weight. This function is used in the determination of whether the evasion and improved evasion feats may be used.


int SGGetCreatureAlignmentEqual (object oCreature, int iCompareAlignTo,
int iAxis=ALIGNMENT_AXIS_GOODEVIL) This function combines the calls to GetAlignmentGoodEvil() and GetAlignmentLawChaos() by taking an axis parameter which then determines which function to call. The axis parameter values are either ALIGNMENT_AXIS_GOODEVIL or ALIGNMENT_AXIS_LAWCHAOS.


int SGGetHasDomain (int iDomainToCheck, object oCreature=OBJECT_SELF) This function uses the DOMAIN_* constants to see if the caster has the particular domain. The DOMAIN_* constants are set to be equal to the respective FEAT_*_DOMAIN_POWER constants. This function wraps the GetHasFeat() function. Instead of performing a call as GetHasFeat(FEAT_*_DOMAIN_POWER, oCreature), it is easier to understand it as SGGetHasDomain(DOMAIN_*, oCreature).


int SGGetSpellcastingLevelByClass (int iClassType, object oCaster=OBJECT_SELF) This function gets a caster's spellcasting level by class. This function is a stub that is intended to allow addition of more functionality, namely getting the spellcaster's total casting level without having to first cast a spell, as required by GetCasterLevel() and the Grimoire's wrapper SGGetCasterLevel. Currently it is equivalent to calling GetLevelByClass().


int SGGetClericSpellAlignType (int iSpellID, object oCaster=OBJECT_SELF) This function takes a spell id as a parameter and compares it to a list of spells of known alignment type, returning the proper alignment descriptor for the spell. This function is mainly used for scripts that implement multiple spells and need to be able to determine the descriptor.


int SGGetIsArcaneCaster (object oCreature) This function determines whether the object has levels in an arcane spellcasting class.


int SGGetIsArcaneClass (int iClass) This function determines whether the class is an arcane spellcasting class.


int SGGetIsIncorporeal (object oTarget) This function wraps the GetCreatureFlag function, specifically testing if the incorporeal flag is set.


void SGSetIsIncorporeal (object oTarget, int bIsCorporeal) This function wraps the SetCreatureFlag function, allowing the setting of whether a creature is incorporeal.


int SGGetCasterAbilityModifierByClass (object oCaster, int iSpellCastClass) This function returns the relevant ability modifier for the prime ability of the class passed in as the parameter.


int GetIsImmuneToMagicalHealing (object oTarget) This function scans the target for various spell effects that make them unable to receive magical healing.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.