#include "nw_i0_generic" void main() { object oPC = GetClickingObject(); 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; location lTarget; oTarget = GetWaypointByTag("WP_Rall_Jump"); lTarget = GetLocation(oTarget); if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return; AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, ActionJumpToLocation(lTarget)); oTarget = GetObjectByTag("RallFinal2Barrow"); DelayCommand(1.0, AssignCommand(oTarget, ActionCloseDoor(oTarget))); DelayCommand(1.0, SetLocked(oTarget, TRUE)); oTarget = GetObjectByTag("rall_braz1"); AssignCommand(oTarget, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetPlaceableIllumination (oTarget, FALSE); oTarget = GetObjectByTag("rall_braz2"); AssignCommand(oTarget, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetPlaceableIllumination (oTarget, FALSE); oTarget = GetObjectByTag("rall_braz3"); AssignCommand(oTarget, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetPlaceableIllumination (oTarget, FALSE); oTarget = GetObjectByTag("rall_braz4"); AssignCommand(oTarget, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetPlaceableIllumination (oTarget, FALSE); oTarget = GetObjectByTag("rall_braz5"); AssignCommand(oTarget, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetPlaceableIllumination (oTarget, FALSE); oTarget = GetObjectByTag("rall_braz6"); AssignCommand(oTarget, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); SetPlaceableIllumination (oTarget, FALSE); RecomputeStaticLighting(GetArea(oTarget)); oTarget = GetObjectByTag(""); AmbientSoundChangeNight(GetArea(oPC), 1); MusicBackgroundChangeNight(GetArea(oPC), 164); MusicBackgroundPlay(GetArea(oPC)); oTarget = GetObjectByTag("STATUE_KregerStatue"); int nInt; nInt = GetObjectType(oTarget); effect eEffect; eEffect = EffectVisualEffect(VFX_FNF_WORD); 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 = GetObjectByTag("kreger_coffin"); nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget)); oTarget = GetObjectByTag("kreger_coffin"); DestroyObject(oTarget, 3.0); oTarget = GetObjectByTag("rall_escape_door"); AssignCommand(oTarget, ActionCloseDoor(oTarget)); SetLocked(oTarget, TRUE); object oSpawn; oTarget = GetWaypointByTag("WP_SpawnRall1"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "undeadrallwarrio", lTarget); oTarget = oSpawn; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget))); oTarget = GetWaypointByTag("WP_SpawnRall2"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "undeadrallwarrio", lTarget); oTarget = oSpawn; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget))); oTarget = GetWaypointByTag("WP_SpawnRall3"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "undeadrallwarrio", lTarget); oTarget = oSpawn; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget))); oTarget = GetWaypointByTag("WP_SpawnRall4"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "undeadrallwarrio", lTarget); oTarget = oSpawn; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget))); oTarget = GetWaypointByTag("WP_SpawnRall5"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "undeadrallwarrio", lTarget); oTarget = oSpawn; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget))); oTarget = GetWaypointByTag("WP_Spawn_Kreger"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "kreger", lTarget); oTarget = oSpawn; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES), GetLocation(oTarget))); oTarget = oPC; 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("WP_Spawn_Rocks"); nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), GetLocation(oTarget)); oTarget = GetWaypointByTag("WP_Spawn_Rocks"); lTarget = GetLocation(oTarget); oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "zep_stones014", lTarget); oTarget = oSpawn; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), oTarget)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUND_BURST), GetLocation(oTarget))); }