PRC8/nwn/nwnprc/trunk/newspellbook/inv_dra_maginst.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

47 lines
1.5 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Name Magic Insight
//:: FileName inv_dra_maginst.nss
//::///////////////////////////////////////////////
/*
Least Invocation
2nd Level Spell
Over the next two rounds, the caster gains a bonus
of 10 +1 per caster level to their Lore skill.
*/
//::///////////////////////////////////////////////
#include "inv_inc_invfunc"
#include "inv_invokehook"
void main()
{
if(!PreInvocationCastCode()) return;
//Declare major variables
object oCaster = OBJECT_SELF;
int CasterLvl = GetInvokerLevel(oCaster, GetInvokingClass());
int nBonus = 10 + CasterLvl;
effect eLore = EffectSkillIncrease(SKILL_LORE, nBonus);
effect eVis = EffectVisualEffect(VFX_IMP_MAGICAL_VISION);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
effect eLink = EffectLinkEffects(eVis, eDur);
eLink = EffectLinkEffects(eLink, eLore);
//Make sure the spell has not already been applied
if(!GetHasSpellEffect(SPELL_IDENTIFY, oCaster)
|| !GetHasSpellEffect(SPELL_LEGEND_LORE, oCaster)
|| !GetHasSpellEffect(INVOKE_MAGIC_INSIGHT, oCaster))
{
//Fire cast spell at event for the specified target
SignalEvent(oCaster, EventSpellCastAt(oCaster, INVOKE_MAGIC_INSIGHT, FALSE));
//Apply linked and VFX effects
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oCaster, RoundsToSeconds(2), TRUE, -1, CasterLvl);
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oCaster);
}
}