RoT2_PRC8/_module/nss/aw_spell_control.nss
Jaysyn904 499aba4eb3 Initial upload
Initial upload
2023-09-25 18:13:22 -04:00

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