void main() { object oPC = GetLastOpenedBy(); if (!GetIsPC(oPC)) return; int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF)); if (DoOnce==TRUE) return; SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE); object oTarget; oTarget = oPC; int nInt; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget)); oTarget = GetObjectByTag("rall_chest_plot"); nInt = GetObjectType(oTarget); effect eEffect; eEffect = EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget)); else DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget))); oTarget = oPC; nInt = GetObjectType(oTarget); eEffect = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget)); else DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget))); oTarget = oPC; nInt = GetObjectType(oTarget); eEffect = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget)); else DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget))); object oSpawn; location lTarget; oTarget = GetWaypointByTag("WP_Spawn_Rall_Spirit"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "lils_pent_rall", lTarget); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL), GetLocation(oTarget))); }