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.
56 lines
2.1 KiB
Plaintext
56 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Blight Mind
|
|
//:: prc_tlbl_dmblght
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Will save or the target blightspawned is Dominated for
|
|
1 minute per class level.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
//Declare major variables
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
object oPC = OBJECT_SELF;
|
|
effect eDom = EffectDominated();
|
|
eDom = PRCGetScaledEffect(eDom, oTarget);
|
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
effect eCommand = SupernaturalEffect(EffectCutsceneDominated());
|
|
eCommand = EffectLinkEffects(eCommand, EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED));
|
|
|
|
|
|
//Link domination and persistant VFX
|
|
effect eLink = EffectLinkEffects(eMind, eDom);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
// Can't be dispelled
|
|
eLink = SupernaturalEffect(eLink);
|
|
|
|
effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S);
|
|
// 1 Minute per class level
|
|
float fDuration = GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oPC) * 60.0;
|
|
int nDC = 10 + GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oPC) + GetAbilityModifier(ABILITY_WISDOM, oPC);
|
|
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_DOMINATE_MONSTER, FALSE));
|
|
|
|
if (GetTag(oTarget) == "prc_blightspawn")
|
|
{
|
|
//Make a Will Save
|
|
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_NONE))
|
|
{
|
|
//Apply linked effects and VFX Impact
|
|
// the double effect is to make sure
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCommand, oTarget, fDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
}
|
|
}
|
|
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
// Getting rid of the local integer storing the spellschool name
|
|
}
|