forked from Jaysyn/PRC8
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
|
|
||
|
#include "prc_alterations"
|
||
|
|
||
|
#include "x2_inc_spellhook"
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
//Declare major variables
|
||
|
object oTarget;
|
||
|
effect eHaste = EffectHaste();
|
||
|
effect eVis = EffectVisualEffect(VFX_IMP_HASTE);
|
||
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
||
|
effect eLink = EffectLinkEffects(eHaste, eDur);
|
||
|
float fDelay;
|
||
|
//Determine spell duration as an integer for later conversion to Rounds, Turns or Hours.
|
||
|
int nDuration = 1;
|
||
|
int nCount;
|
||
|
location lSpell = GetSpellTargetLocation();
|
||
|
|
||
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_LOS_NORMAL_30), GetSpellTargetLocation());
|
||
|
|
||
|
oTarget = MyFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetSpellTargetLocation());
|
||
|
|
||
|
while(GetIsObjectValid(oTarget))
|
||
|
{
|
||
|
if(GetIsFriend(oTarget))
|
||
|
{
|
||
|
fDelay = PRCGetRandomDelay(0.0, 1.0);
|
||
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_MASS_HASTE, FALSE));
|
||
|
DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(1),TRUE,-1));
|
||
|
DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||
|
nCount++;
|
||
|
}
|
||
|
oTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, lSpell);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|