Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
80 lines
3.1 KiB
Plaintext
80 lines
3.1 KiB
Plaintext
#include "tob_inc_move"
|
|
#include "tob_movehook"
|
|
////#include "prc_alterations"
|
|
|
|
void main()
|
|
{
|
|
int nEvent = GetRunningEvent();
|
|
object oInitiator = OBJECT_SELF;
|
|
|
|
if(nEvent == FALSE)
|
|
{
|
|
if (!PreManeuverCastCode())
|
|
{
|
|
// If code within the PreManeuverCastCode (i.e. UMD) reports FALSE, do not run this spell
|
|
return;
|
|
}
|
|
|
|
// End of Spell Cast Hook
|
|
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
struct maneuver move = EvaluateManeuver(oInitiator, oTarget);
|
|
|
|
if(move.bCanManeuver)
|
|
{
|
|
AddEventScript(oInitiator, EVENT_ONHEARTBEAT, "tob_ssn_childsl", TRUE, FALSE);
|
|
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_DUR_CESSATE_NEUTRAL), oInitiator);
|
|
SetLocalInt(oInitiator, "SSN_CHILDSL_SETP", 1);
|
|
//, 0.0f, FALSE, 19313);
|
|
}
|
|
}
|
|
else if(nEvent == EVENT_ONHEARTBEAT)
|
|
{
|
|
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(60.0), GetLocation(oInitiator));
|
|
effect eLink, eVis;
|
|
|
|
if(GetLocalInt(oInitiator, "SSN_CHILDSL_SETP") == 1)
|
|
{// We dazzle this round
|
|
eLink = EffectDazzle();
|
|
eLink = SupernaturalEffect(eLink);
|
|
eVis = EffectVisualEffect(VFX_IMP_SUNSTRIKE);
|
|
|
|
// Loop through targets
|
|
while(GetIsObjectValid(oTarget))
|
|
{
|
|
if(GetIsEnemy(oTarget))
|
|
{
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 6.0);
|
|
// Let them know they've been hit by dazzle
|
|
//SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, -1/*INSERT SPELL HERE*/));
|
|
}
|
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, FeetToMeters(60.0), GetLocation(oInitiator));
|
|
}
|
|
// Give oInitiator a little graphic
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oInitiator);
|
|
SetLocalInt(oInitiator, "SSN_CHILDSL_SETP", 2);
|
|
effect eEffect = ExtraordinaryEffect(EffectVisualEffect(VFX_DUR_IOUNSTONE_BLUE));
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oInitiator, 6.0);
|
|
}
|
|
else if(GetLocalInt(oInitiator, "SSN_CHILDSL_SETP") == 2)
|
|
{// The Darkness
|
|
|
|
eLink = EffectDarkness();
|
|
eLink = SupernaturalEffect(eLink);
|
|
eVis = EffectVisualEffect(VFX_DUR_DARKNESS);
|
|
|
|
while(GetIsObjectValid(oTarget))
|
|
{// Applies to everyone
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 6.0);
|
|
|
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, FeetToMeters(60.0), GetLocation(oInitiator));
|
|
}
|
|
// Give oInitiator a little graphic
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oInitiator);
|
|
SetLocalInt(oInitiator, "SSN_CHILDSL_SETP", 1);
|
|
effect eEffect = ExtraordinaryEffect(EffectVisualEffect(VFX_DUR_IOUNSTONE_BLUE));
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oInitiator, 6.0);
|
|
}
|
|
}
|
|
}
|