Updated TF Shadowlord's prereq 2da. Fixed CW Samurai's TWF levelup issue. Added CW Samurai's skill 2DA back in. Cleaned up ECL 2DA. Fixed prereq bug with Imp Crit Eagle Claw. Added Ability Focus feats for all Shapes, Essences & Invocations with DCs. Fixed bug with 6th slot of crafting spells prereqs. Added Reth Dekala HD to Initiator total. Removed Dark Sun race files. Updated all racial outsiders, monstrous humanoids, aberrations, giants, humanoids and fey to have the correct weapon & armor profs.
57 lines
2.2 KiB
Plaintext
57 lines
2.2 KiB
Plaintext
|
|
#include "prc_alterations"
|
|
#include "inv_inc_invfunc"
|
|
|
|
void main()
|
|
{
|
|
//Declare major variables
|
|
object oMaster;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S);
|
|
effect eDominate = EffectDominated();
|
|
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
|
|
//Link effects
|
|
effect eLink = EffectLinkEffects(eMind, eDominate);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
|
|
int CasterLvl = GetInvokerLevel(OBJECT_SELF, GetInvokingClass());
|
|
CasterLvl += SPGetPenetr();
|
|
int nDuration = CasterLvl + 1;
|
|
|
|
if (GetHasFeat(FEAT_ABFOC_STEAL_SUMMONING, OBJECT_SELF)) CasterLvl += 2;
|
|
|
|
//does the creature have a master.
|
|
oMaster = GetMaster(oTarget);
|
|
//Is that master valid and is he an enemy
|
|
if(GetIsObjectValid(oMaster) && GetIsEnemy(oMaster))
|
|
{
|
|
// * Is the creature a summoned associate
|
|
if((GetAssociate(ASSOCIATE_TYPE_SUMMONED, oMaster) == oTarget &&
|
|
GetStringLeft(GetTag(oTarget), 14) != "psi_astral_con"
|
|
) ||
|
|
GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oMaster) == oTarget ||
|
|
GetTag(OBJECT_SELF)=="BONDFAMILIAR" ||
|
|
GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oMaster) == oTarget
|
|
)
|
|
{
|
|
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF))
|
|
{
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, INVOKE_STEAL_SUMMONING));
|
|
|
|
if(d20() + CasterLvl > 11 + PRCGetCasterLevel(oMaster))
|
|
{
|
|
//Apply the VFX and delay the destruction of the summoned monster so
|
|
//that the script and VFX can play.
|
|
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration),TRUE,-1,CasterLvl);
|
|
DelayCommand(3.0, CheckConcentrationOnEffect(OBJECT_SELF, INVOKE_STEAL_SUMMONING, oTarget, FloatToInt(RoundsToSeconds(nDuration))));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|