67 lines
1.8 KiB
Plaintext
67 lines
1.8 KiB
Plaintext
#include "x2_inc_spellhook"
|
|
#include "x2_inc_switches"
|
|
#include "spell_inc"
|
|
#include "nwnx_creature"
|
|
#include "nwnx_deprecated"
|
|
|
|
void main()
|
|
{
|
|
// eyesolated spell macros script
|
|
ExecuteScript("esm_spuserdef", OBJECT_SELF);
|
|
|
|
int nSpellID = GetSpellId();
|
|
object oCaster = OBJECT_SELF;
|
|
int nCasterLvl = GetCasterLevel(oCaster);
|
|
int nMetaMagic = GetMetaMagicFeat();
|
|
|
|
|
|
|
|
|
|
if (spell_GetLevel(nSpellID, GetLastSpellCastClass()) == 0)
|
|
NWNX_Creature_RestoreSpells(oCaster, 0);
|
|
|
|
// Special spell failure conditions
|
|
/*
|
|
switch (nSpellID)
|
|
{
|
|
case SPELL_CALL_LIGHTNING:
|
|
if (GetIsAreaInterior(GetArea(oCaster)))
|
|
{
|
|
FloatingTextStringOnCreature("You cannot cast this spell indoors.", oCaster);
|
|
SetModuleOverrideSpellScriptFinished();
|
|
return;
|
|
}
|
|
break;
|
|
}
|
|
*/
|
|
|
|
// Custom spells not using Bioware implementation
|
|
switch (nSpellID)
|
|
{
|
|
case SPELL_MAGIC_WEAPON:
|
|
case SPELL_GREATER_MAGIC_WEAPON:
|
|
case SPELL_DARKFIRE:
|
|
case SPELL_BLADE_THIRST:
|
|
case SPELL_FLAME_WEAPON:
|
|
case SPELL_KEEN_EDGE:
|
|
case SPELL_BLESS_WEAPON:
|
|
case SPELL_HOLY_SWORD:
|
|
ExecuteScript("spell_weapon", OBJECT_SELF);
|
|
SetModuleOverrideSpellScriptFinished();
|
|
break;
|
|
case SPELL_MAGIC_MISSILE:
|
|
case SPELL_SHADOW_CONJURATION_MAGIC_MISSILE:
|
|
case SPELL_ISAACS_LESSER_MISSILE_STORM:
|
|
case SPELL_ISAACS_GREATER_MISSILE_STORM:
|
|
case SPELL_BALL_LIGHTNING:
|
|
case SPELL_FLAME_ARROW:
|
|
case SPELL_FIREBRAND:
|
|
// case SPELL_MELFS_ACID_ARROW:
|
|
// case SPELL_GREATER_SHADOW_CONJURATION_ACID_ARROW:
|
|
ExecuteScript("spell_missile", OBJECT_SELF);
|
|
SetModuleOverrideSpellScriptFinished();
|
|
break;
|
|
}
|
|
}
|
|
|