26 lines
992 B
Plaintext
26 lines
992 B
Plaintext
#include "NW_I0_SPELLS"
|
|
//Mind Control
|
|
void main()
|
|
{
|
|
int skillcheck =GetSkillRank(SKILL_CONCENTRATION,OBJECT_SELF);
|
|
if(skillcheck>=62)
|
|
{
|
|
object oTarget = GetSpellTargetObject();
|
|
effect eDom = EffectDominated();
|
|
eDom = GetScaledEffect(eDom, oTarget);
|
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
effect eLink = EffectLinkEffects(eMind, eDom);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S);
|
|
int nCasterLevel = GetCasterLevel(OBJECT_SELF);
|
|
int nDuration = 3 + nCasterLevel/2;
|
|
nDuration = GetScaledDuration(nDuration, oTarget);
|
|
int nRacial = GetRacialType(oTarget);
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_DOMINATE_MONSTER, FALSE));
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, TurnsToSeconds(nDuration));
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
}
|
|
else SpeakString("You cannot concentrate enough to use this");
|
|
}
|