PRC8/nwn/nwnprc/trunk/newspellbook/inv_shdwmstrshds.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

53 lines
1.5 KiB
Plaintext

/*
Warlock epic feat
Shadowmaster - Shades spells
*/
#include "prc_inc_racial"
#include "inv_inc_invfunc"
void DoSLA(int nSpellID, int nCasterlevel = 0, int nTotalDC = 0)
{
if(DEBUG) DoDebug("Spell DC passed to DoRacialSLA: " + IntToString(nTotalDC));
if(nTotalDC == 0)
nTotalDC = 10
+StringToInt(Get2DACache("spells", "Innate", nSpellID))
+GetAbilityModifier(ABILITY_CHARISMA);
ActionDoCommand(SetLocalInt(OBJECT_SELF, "SpellIsSLA", TRUE));
if(DEBUG) DoDebug("Spell DC entered in ActionCastSpell: " + IntToString(nTotalDC));
ActionCastSpell(nSpellID, nCasterlevel, 0, nTotalDC, METAMAGIC_NONE, CLASS_TYPE_INVALID, FALSE, FALSE, OBJECT_INVALID, FALSE);
ActionDoCommand(DeleteLocalInt(OBJECT_SELF, "SpellIsSLA"));
}
void main()
{
int CasterLvl = GetInvokerLevel(OBJECT_SELF, CLASS_TYPE_WARLOCK);
int nSpellID = GetSpellId();
if(nSpellID == INVOKE_SHADOWMASTER_SUMMON_SHADOW)
{
DoSLA(SPELL_SHADES_SUMMON_SHADOW, CasterLvl);
}
if(nSpellID == INVOKE_SHADOWMASTER_CONE_OF_COLD)
{
DoSLA(SPELL_SHADES_CONE_OF_COLD, CasterLvl);
}
if(nSpellID == INVOKE_SHADOWMASTER_FIREBALL)
{
DoSLA(SPELL_SHADES_FIREBALL, CasterLvl);
}
if(nSpellID == INVOKE_SHADOWMASTER_STONESKIN)
{
DoSLA(SPELL_SHADES_STONESKIN, CasterLvl);
}
if(nSpellID == INVOKE_SHADOWMASTER_WALL_OF_FIRE)
{
DoSLA(SPELL_SHADES_WALL_OF_FIRE, CasterLvl);
}
}