Files
Anphillia_PRC8/_module/nss/spell_hook.nss
Jaysyn904 28cdb617b3 Initial commit
Adding all of the current content for Anphillia Unlimited.
2024-01-04 07:49:38 -05:00

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;
}
}