Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
/*
|
|
Warlock epic feat
|
|
Master of the Elements dominating
|
|
*/
|
|
#include "prc_inc_racial"
|
|
#include "inv_inc_invfunc"
|
|
|
|
void main()
|
|
{
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nRacialType = MyPRCGetRacialType(oTarget);
|
|
|
|
if(nRacialType != RACIAL_TYPE_ELEMENTAL)
|
|
return;
|
|
|
|
int CasterLvl = GetInvokerLevel(OBJECT_SELF, CLASS_TYPE_WARLOCK);
|
|
effect eDom = EffectCutsceneDominated(); // Allows multiple dominated creatures
|
|
eDom = PRCGetScaledEffect(eDom, oTarget);
|
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S);
|
|
|
|
//Link domination and persistant VFX
|
|
effect eLink = EffectLinkEffects(eMind, eDom);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
|
|
int nDuration = 3 + CasterLvl/2;
|
|
nDuration = PRCGetScaledDuration(nDuration, oTarget);
|
|
CasterLvl +=SPGetPenetr();
|
|
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_DOMINATE_MONSTER, FALSE));
|
|
|
|
//Make sure the target is a monster
|
|
if(!GetIsReactionTypeFriendly(oTarget))
|
|
{
|
|
//Make SR Check
|
|
if (!PRCDoResistSpell(OBJECT_SELF, oTarget, CasterLvl))
|
|
{
|
|
//Make a Will Save
|
|
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, PRCGetSaveDC(oTarget, OBJECT_SELF), SAVING_THROW_TYPE_MIND_SPELLS))
|
|
{
|
|
//Apply linked effects and VFX Impact
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, TurnsToSeconds(nDuration),TRUE,-1,CasterLvl);
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
}
|
|
}
|
|
}
|
|
}
|