56 lines
2.0 KiB
Plaintext
56 lines
2.0 KiB
Plaintext
|
//::///////////////////////////////////////////////
|
||
|
//:: Time Stop
|
||
|
//:: NW_S0_TimeStop.nss
|
||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||
|
//:://////////////////////////////////////////////
|
||
|
/*
|
||
|
All persons in the Area are frozen in time
|
||
|
except the caster.
|
||
|
*/
|
||
|
//:://////////////////////////////////////////////
|
||
|
//:: Created By: Preston Watamaniuk
|
||
|
//:: Created On: Jan 7, 2002
|
||
|
//:://////////////////////////////////////////////
|
||
|
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
|
||
|
|
||
|
effect eLink = EffectKnockdown();
|
||
|
|
||
|
int nDuration = 2;
|
||
|
effect eHowl = EffectMovementSpeedDecrease(100);
|
||
|
eHowl=EffectLinkEffects(EffectAttackDecrease(100),eHowl);
|
||
|
eHowl=EffectLinkEffects(EffectSlow(),eHowl);
|
||
|
eHowl=ExtraordinaryEffect(eHowl);
|
||
|
effect ePara=EffectParalyze();
|
||
|
ePara=ExtraordinaryEffect(ePara);
|
||
|
effect eHold=EffectStunned();
|
||
|
eHold=ExtraordinaryEffect(eHold);
|
||
|
effect eDazed=EffectDazed();
|
||
|
eDazed=ExtraordinaryEffect(eDazed);
|
||
|
//Get first target in spell area
|
||
|
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, 40.0, GetLocation(OBJECT_SELF));
|
||
|
while(GetIsObjectValid(oTarget))
|
||
|
{
|
||
|
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != OBJECT_SELF)
|
||
|
{
|
||
|
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHowl, oTarget, RoundsToSeconds(nDuration*4));
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePara, oTarget, RoundsToSeconds(nDuration));
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHold, oTarget, RoundsToSeconds(nDuration));
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDazed, oTarget, RoundsToSeconds(nDuration));
|
||
|
}
|
||
|
//Get next target in spell area
|
||
|
oTarget = GetNextObjectInShape(SHAPE_SPHERE, 40.0, GetLocation(OBJECT_SELF));
|
||
|
}
|
||
|
|
||
|
|
||
|
SignalEvent(OBJECT_SELF, EventSpellCastAt(OBJECT_SELF, SPELL_TIME_STOP, FALSE));
|
||
|
|
||
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_FNF_TIME_STOP),GetLocation(OBJECT_SELF),19.8);
|
||
|
|
||
|
}
|