Battledale_PRC8/_module/nss/jw_timestop_old.nss
Jaysyn904 7b9e44ebbb Initial upload
Initial upload.  PRC8 has been added.  Module compiles, PRC's default AI & treasure scripts have been integrated.  Started work on top hak for SLA / Ability / Scripting modifications.
2024-03-11 23:44:08 -04:00

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