49 lines
1.1 KiB
Plaintext
49 lines
1.1 KiB
Plaintext
void main()
|
|
{
|
|
|
|
object oPC;
|
|
|
|
object oTarget;
|
|
oPC = GetItemActivator();
|
|
|
|
int nInt;
|
|
nInt = GetObjectType(oPC);
|
|
|
|
effect eEffect;
|
|
eEffect = EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(4.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC));
|
|
else
|
|
DelayCommand(4.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oPC)));
|
|
|
|
|
|
nInt = GetObjectType(oPC);
|
|
|
|
eEffect = EffectVisualEffect(VFX_IMP_TORNADO);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
DelayCommand(8.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC));
|
|
else
|
|
DelayCommand(9.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oPC)));
|
|
|
|
|
|
location lTarget;
|
|
oTarget = GetWaypointByTag("startpoint");
|
|
|
|
lTarget = GetLocation(oTarget);
|
|
|
|
if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;
|
|
|
|
SetLocalLocation(oPC, "ls_stored_loc", GetLocation(oPC));
|
|
|
|
DelayCommand(10.0, AssignCommand(oPC, ClearAllActions()));
|
|
|
|
DelayCommand(13.0, AssignCommand(oPC, ActionJumpToLocation(lTarget)));
|
|
|
|
eEffect = EffectVisualEffect(VFX_IMP_UNSUMMON);
|
|
|
|
DelayCommand(10.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC));
|
|
|
|
}
|