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