/*
The best damn ending, ever.
*/

#include "z_cutscene_sourc"
void main()
{
    object oPC = GetEnteringObject();
	
    if (GetIsPC(oPC) && GetLocalInt(OBJECT_SELF, "Completed") != TRUE)
	{
        int nCutRitual;
            // declaring objects
        object oPC = GetEnteringObject();
		ExportSingleCharacter(oPC);
        object oEndRelic = GetObjectByTag("endreaperrelic");
        object oDeekin = GetObjectByTag("Deekin_End");
        object oDorna = GetObjectByTag("Dorna_End");
        object oMischa = GetObjectByTag("Mischa_End");
        object oXanos = GetObjectByTag("Xanos_End");
        object oAmith = GetObjectByTag("Amith_End");
        object oAmithBye = GetObjectByTag("Amith_Bye");
        object oServant = GetObjectByTag("SServant_End");
        object oGrd1 = GetObjectByTag("Guardian_End01");
        object oGrd2 = GetObjectByTag("Guardian_End02");
        object oDoor = GetObjectByTag("RitualDoorway");
            // declaring locations
        location lAmithBye = GetLocation(GetWaypointByTag("WP_AMITH_BYE"));
        location lBattle1 = GetLocation(GetWaypointByTag("WP_BATTLE_01"));
        location lBattle2 = GetLocation(GetWaypointByTag("WP_BATTLE_02"));
        location lBattle3 = GetLocation(GetWaypointByTag("WP_BATTLE_03"));
        location lBattle4 = GetLocation(GetWaypointByTag("WP_BATTLE_04"));
        location lDoor = GetLocation(GetWaypointByTag("RitualDoorway"));
        location lRelic = GetLocation(GetObjectByTag("WP_DAGGER"));
        location lFX01a = GetLocation(GetWaypointByTag("FX01a"));
        location lFX01b = GetLocation(GetWaypointByTag("FX01b"));
        location lFX02 = GetLocation(GetWaypointByTag("FX02"));
        location lFXL = GetLocation(GetWaypointByTag("FX_LEFT"));
        location lFXR = GetLocation(GetWaypointByTag("FX_RIGHT"));
        location lPC = GetLocation(GetWaypointByTag("RIT_PC_01"));
        location lPC2 = GetLocation(GetWaypointByTag("RIT_PC_02"));
        location lDeekin = GetLocation(GetWaypointByTag("RIT_DEEKIN_01"));
        location lDorna = GetLocation(GetWaypointByTag("RIT_DORNA_01"));
        location lMischa = GetLocation(GetWaypointByTag("RIT_MISCHA_01"));
        location lXanos = GetLocation(GetWaypointByTag("RIT_XANOS_01"));
        location lStuff = GetLocation(GetWaypointByTag("RIT_ALL_STUFF"));
        location lShar = GetLocation(GetWaypointByTag("RIT_SHAR_APPEAR"));
        location lSharMeph01 = GetLocation(GetWaypointByTag("RIT_SHAR_MEPHIT_01"));
        location lSharMeph02 = GetLocation(GetWaypointByTag("RIT_SHAR_MEPHIT_02"));
        location lSharDragon = GetLocation(GetWaypointByTag("RIT_SHAR_DRAGON"));
            // doing the stuff
        CutSetCutsceneMode(nCutRitual, 0.5, oPC, TRUE);
        CutSetCamera(nCutRitual, 0.9, oPC, CAMERA_MODE_TOP_DOWN, 90.0, 15.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM);
            // pc starts ritual
        CutActionMoveToLocation(nCutRitual, 1.5, oPC, lPC, FALSE);
        CutPlayAnimation(nCutRitual, 6.0, oPC, ANIMATION_FIREFORGET_BOW, 2.0);
            // pc casts "timestop"
        if (GetGender(oPC) == GENDER_FEMALE) {
            DelayCommand(7.8, AssignCommand(oPC, PlaySound("vs_chant_illu_hf")));}
        if (GetGender(oPC) == GENDER_MALE) {
            DelayCommand(7.8, AssignCommand(oPC, PlaySound("vs_chant_illu_hm"))); }
        CutActionCastFakeSpellAtLocation(nCutRitual, 8.2, SPELL_ISAACS_LESSER_MISSILE_STORM, oPC, lStuff, PROJECTILE_PATH_TYPE_DEFAULT);

        CutApplyEffectAtLocation(nCutRitual, 11.5, oPC, DURATION_TYPE_INSTANT,  VFX_FNF_TIME_STOP, lStuff, 20.0);
        DelayCommand(11.5, AssignCommand(oPC, PlaySound("sff_comtime")));
            // pc places down the relic and then worships, same time as henchmen
        CutPlayAnimation(nCutRitual, 13.0, oPC, ANIMATION_LOOPING_GET_LOW, 2.0);
        CutApplyEffectAtLocation(nCutRitual, 14.5, oPC, DURATION_TYPE_INSTANT, VFX_IMP_AC_BONUS, lPC, 1.0f);
        //CutCreateObject(nCutRitual, 14.0, oPC, OBJECT_TYPE_ITEM, "endreaperrelic", lRelic, VFX_IMP_AC_BONUS);
        CutPlayAnimation(nCutRitual, 15.0, oPC, ANIMATION_LOOPING_WORSHIP, 6.0);

        CutActionMoveToLocation(nCutRitual, 6.0, oDeekin, lDeekin, FALSE);
        CutActionMoveToLocation(nCutRitual, 6.0, oDorna, lDorna, FALSE);
        CutActionMoveToLocation(nCutRitual, 4.0, oMischa, lMischa, FALSE);
        CutActionMoveToLocation(nCutRitual, 4.0, oXanos, lXanos, FALSE);

        CutPlayAnimation(nCutRitual, 15.0, oXanos, ANIMATION_LOOPING_WORSHIP, 50.0);
        CutPlayAnimation(nCutRitual, 15.0, oMischa, ANIMATION_LOOPING_WORSHIP, 50.0);
        CutPlayAnimation(nCutRitual, 15.0, oDeekin, ANIMATION_LOOPING_WORSHIP, 50.0);
        CutPlayAnimation(nCutRitual, 15.0, oDorna, ANIMATION_LOOPING_WORSHIP, 50.0);
            // spiffy head effects
        CutApplyEffectToObject(nCutRitual, 17.0, DURATION_TYPE_INSTANT, VFX_IMP_HEAD_MIND, oPC, 3.0);
        CutApplyEffectToObject(nCutRitual, 17.0, DURATION_TYPE_INSTANT, VFX_IMP_HEAD_MIND, oDeekin, 3.0);
        CutApplyEffectToObject(nCutRitual, 17.0, DURATION_TYPE_INSTANT, VFX_IMP_HEAD_MIND, oDorna, 3.0);
        CutApplyEffectToObject(nCutRitual, 17.0, DURATION_TYPE_INSTANT, VFX_IMP_HEAD_MIND, oMischa, 3.0);
        CutApplyEffectToObject(nCutRitual, 17.0, DURATION_TYPE_INSTANT, VFX_IMP_HEAD_MIND, oXanos, 3.0);
            // effects by the door
        CutApplyEffectAtLocation(nCutRitual, 19.2, oPC, DURATION_TYPE_INSTANT, VFX_FNF_GAS_EXPLOSION_MIND, lFXL, 2.0);
        CutApplyEffectAtLocation(nCutRitual, 19.2, oPC, DURATION_TYPE_INSTANT, VFX_FNF_GAS_EXPLOSION_MIND, lFXR, 2.0);
            // darkness so you don't notice the PC is invisible
        CutApplyEffectAtLocation(nCutRitual, 19.0, oPC, DURATION_TYPE_INSTANT, VFX_DUR_DARKNESS, lPC, 8.0);

        CutActionMoveToObject(nCutRitual, 19.5, oAmith, oServant, TRUE);
            // cut to convo between amith & the shadow servant
        DelayCommand(20.0, AssignCommand(oAmith, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY), oPC, 18.8)));
        CutJumpToLocation(nCutRitual, 21.8, oPC, lPC2);

        CutSetCamera(nCutRitual, 22.0, oPC, CAMERA_MODE_TOP_DOWN, 300.0, 8.0, 60.0, CAMERA_TRANSITION_TYPE_SNAP);
        CutSpeakString(nCutRitual, 24.5, oAmith, "Oh, no! Something is wrong! Don't you feel it?");
        DelayCommand(25.0, AssignCommand(oServant, PlaySound("sco_mehanevil01")));
        CutSpeakString(nCutRitual, 29.0, oServant, "Yes, but there's nothing we can do about it now!");
        DelayCommand(30.0, AssignCommand(oServant, PlaySound("sco_megrdevil01")));
        CutSpeakString(nCutRitual, 32.5, oServant, "If you interrupt that ritual, who knows what could happen..?");
        DelayCommand(33.0, AssignCommand(oServant, PlaySound("sco_mehanevil03")));
            // cut back to the ritual
        CutJumpToLocation(nCutRitual, 35.5, oPC, lPC);
        CutSetCamera(nCutRitual, 35.7, oPC, CAMERA_MODE_TOP_DOWN, 180.0, 15.0, 45.0, CAMERA_TRANSITION_TYPE_VERY_FAST);
            // Cast Spell 1
        if (GetGender(oPC) == GENDER_FEMALE) {
            DelayCommand(37.8, AssignCommand(oPC, PlaySound("vs_chant_necr_hf")));}
        if (GetGender(oPC) == GENDER_MALE) {
            DelayCommand(37.8, AssignCommand(oPC, PlaySound("vs_chant_necr_hm"))); }
        CutActionCastFakeSpellAtLocation(nCutRitual, 38.2, SPELL_CHAIN_LIGHTNING, oPC, lStuff, PROJECTILE_PATH_TYPE_DEFAULT);
        CutApplyEffectAtLocation(nCutRitual, 41.5, oPC, DURATION_TYPE_INSTANT,  VFX_DUR_SANCTUARY, lStuff, 10.0);
        DelayCommand(41.5, AssignCommand(oPC, PlaySound("sff_comweird")));
            // Apply Spell 1 Effects
        CutApplyEffectAtLocation(nCutRitual, 42.5, oPC, DURATION_TYPE_INSTANT, VFX_IMP_LIGHTNING_M, lFX01a, 3.0);
        DelayCommand(43.0, AssignCommand(oPC, PlaySound("sff_expddevil20")));
        CutApplyEffectAtLocation(nCutRitual, 42.5, oPC, DURATION_TYPE_INSTANT, VFX_IMP_LIGHTNING_M, lFX01b, 3.0);
        DelayCommand(44.0, AssignCommand(oPC, PlaySound("sff_expddevil10")));
        CutApplyEffectToObject(nCutRitual, 44.5, DURATION_TYPE_INSTANT, VFX_IMP_LIGHTNING_S, oDeekin, 3.0);
        CutApplyEffectToObject(nCutRitual, 44.5, DURATION_TYPE_INSTANT, VFX_IMP_LIGHTNING_S, oDorna, 3.0);
        CutApplyEffectToObject(nCutRitual, 44.5, DURATION_TYPE_INSTANT, VFX_IMP_LIGHTNING_S, oMischa, 3.0);
        CutApplyEffectToObject(nCutRitual, 44.5, DURATION_TYPE_INSTANT, VFX_IMP_LIGHTNING_S, oXanos, 3.0);
            // Cast Spell 2
        if (GetGender(oPC) == GENDER_FEMALE) {
            DelayCommand(45.8, AssignCommand(oPC, PlaySound("vs_chant_ench_lf")));}
        if (GetGender(oPC) == GENDER_MALE) {
            DelayCommand(45.8, AssignCommand(oPC, PlaySound("vs_chant_ench_lm"))); }
        CutActionCastFakeSpellAtLocation(nCutRitual, 46.2, SPELL_QUILLFIRE, oPC, lStuff, PROJECTILE_PATH_TYPE_DEFAULT);
        CutApplyEffectAtLocation(nCutRitual, 48.5, oPC, DURATION_TYPE_INSTANT, VFX_IMP_BREACH, lFX02, 3.0);
        CutApplyEffectAtLocation(nCutRitual, 49.0, oPC, DURATION_TYPE_INSTANT, VFX_IMP_DIVINE_STRIKE_HOLY, lStuff, 3.0);
        DelayCommand(48.5, AssignCommand(oPC, PlaySound("sim_destruct")));
            // Cut back to Amith & Shadowservan
        CutApplyEffectAtLocation(nCutRitual, 50.0, oPC, DURATION_TYPE_INSTANT, VFX_DUR_DARKNESS, lPC, 8.0);
        DelayCommand(51.0, AssignCommand(oAmith, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY), oPC, 31.0)));
        CutJumpToLocation(nCutRitual, 51.4, oPC, lPC2);

        CutSetCamera(nCutRitual, 51.6, oPC, CAMERA_MODE_TOP_DOWN, 300.0, 8.0, 60.0, CAMERA_TRANSITION_TYPE_SNAP);
        CutSpeakString(nCutRitual, 53.5, oAmith, "She... has awoken!");
        CutSpeakString(nCutRitual, 57.0, oServant, "Best prepare yourself for a battle then, Lady.");
            // Servant & Amith buff themselves
        DelayCommand(58.0, AssignCommand(oAmith, PlaySound("vs_chant_necr_lf")));
        CutActionCastFakeSpellAtObject(nCutRitual, 58.4, SPELL_PRAYER, oAmith, oAmith, PROJECTILE_PATH_TYPE_DEFAULT);
        DelayCommand(59.2, AssignCommand(oServant, PlaySound("vs_chant_illu_lm")));
        CutActionCastFakeSpellAtObject(nCutRitual, 59.7, SPELL_SHADOW_SHIELD, oServant, oServant, PROJECTILE_PATH_TYPE_DEFAULT);
        DelayCommand(61.0, AssignCommand(oServant, PlaySound("sim_protmagic")));
        CutApplyEffectToObject(nCutRitual, 61.4, DURATION_TYPE_TEMPORARY, VFX_IMP_HOLY_AID, oAmith, 35.0);
        CutApplyEffectToObject(nCutRitual, 61.4, DURATION_TYPE_TEMPORARY, VFX_IMP_HOLY_AID, oServant, 35.0);
        CutApplyEffectToObject(nCutRitual, 61.4, DURATION_TYPE_TEMPORARY, VFX_IMP_HOLY_AID, oGrd1, 35.0);
        CutApplyEffectToObject(nCutRitual, 61.4, DURATION_TYPE_TEMPORARY, VFX_IMP_HOLY_AID, oGrd2, 35.0);
        DelayCommand(62.2, AssignCommand(oServant, PlaySound("sim_magsee")));
        CutApplyEffectToObject(nCutRitual, 62.7, DURATION_TYPE_TEMPORARY, VFX_IMP_MAGICAL_VISION, oServant, 35.0);
        DelayCommand(64.2, AssignCommand(oServant, PlaySound("sim_protdeath")));
        CutApplyEffectToObject(nCutRitual, 64.7, DURATION_TYPE_TEMPORARY, VFX_DUR_PROT_SHADOW_ARMOR, oServant, 35.0);

        CutSpeakString(nCutRitual, 65.0, oAmith, "Finish the ritual! We will hold her off as long as we can!");
            // Rotate to and spawn Shar & minions
        CutSetCamera(nCutRitual, 67.0, oPC, CAMERA_MODE_TOP_DOWN, 350.0, 8.0, 60.0, CAMERA_TRANSITION_TYPE_SLOW);
        CutCreateObject(nCutRitual, 67.0, oPC, OBJECT_TYPE_CREATURE, "shar_humanoid", lShar, VFX_FNF_PWSTUN);
        CutCreateObject(nCutRitual, 67.0, oPC, OBJECT_TYPE_CREATURE, "sharmephit01", lSharMeph01, VFX_FNF_SUMMON_MONSTER_2);
        CutCreateObject(nCutRitual, 67.0, oPC, OBJECT_TYPE_CREATURE, "sharmephit02", lSharMeph02, VFX_FNF_SUMMON_MONSTER_2);
        CutCreateObject(nCutRitual, 67.0, oPC, OBJECT_TYPE_CREATURE, "shardragon", lSharDragon, VFX_FNF_SUMMON_MONSTER_2);
        DelayCommand(67.0, AssignCommand(oAmith, PlaySound("sff_combansh")));
        DelayCommand(67.2, AssignCommand(oAmith, PlaySound("sdr_darkness")));
        DelayCommand(67.4, AssignCommand(oAmith, PlaySound("sco_grndskul")));
        DelayCommand(67.6, AssignCommand(oAmith, PlaySound("sff_howlodd")));
        DelayCommand(67.8, AssignCommand(oAmith, PlaySound("sim_strkholy")));
                object oShar = GetObjectByTag("SharDarkMistress");
        CutSpeakString(nCutRitual, 68.5, oShar, "You fools! You sought to defy me? ME!");
                object oHostile = GetFirstFactionMember(oAmith, FALSE);
        DelayCommand(73.0, SetPlotFlag(oAmith, FALSE));
        DelayCommand(73.0, SetPlotFlag(oServant, FALSE));
        DelayCommand(73.0, SetPlotFlag(oGrd1, FALSE));
        DelayCommand(73.0, SetPlotFlag(oGrd2, FALSE));
        DelayCommand(74.0f, AdjustReputation(oAmith, GetObjectByTag("SharDarkMistress"), -200));
        DelayCommand(74.0f, AdjustReputation(GetObjectByTag("SharDarkMistress"), oAmith, -200));
        DelayCommand(74.6f, AssignCommand(GetObjectByTag("SharDarkMistress"), ActionAttack(oServant)));
        DelayCommand(75.3f, AssignCommand(oAmith, ActionAttack(GetObjectByTag("SharDarkMistress"))));
        DelayCommand(76.0, AssignCommand(oGrd1, ActionAttack(GetObjectByTag("SharMephit01"))));
        DelayCommand(76.0, AssignCommand(oGrd2, ActionAttack(GetObjectByTag("SharMephit02"))));
        DelayCommand(76.0, AssignCommand(GetObjectByTag("SharDragon"), ActionAttack(oGrd1)));
        CutApplyEffectAtLocation(nCutRitual, 77.8, oPC, DURATION_TYPE_INSTANT, VFX_IMP_DIVINE_STRIKE_FIRE, lSharMeph01, 8.0);
        CutApplyEffectAtLocation(nCutRitual, 78.2, oPC, DURATION_TYPE_INSTANT, VFX_DUR_DARKNESS, lSharMeph01, 8.0);
            // move the PC back to the portal for the end
        CutActionMoveToLocation(nCutRitual, 79.0, oPC, lPC, TRUE);
        CutSetCamera(nCutRitual, 80.9, oPC, CAMERA_MODE_TOP_DOWN, 90.0, 15.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM);
            // Cast the final spell, open the door, and end the mod.
        if (GetGender(oPC) == GENDER_FEMALE) {
            DelayCommand(84.4, AssignCommand(oPC, PlaySound("vs_chant_evoc_hf")));}
        if (GetGender(oPC) == GENDER_MALE) {
            DelayCommand(84.4, AssignCommand(oPC, PlaySound("vs_chant_evoc_hm"))); }
        CutActionCastFakeSpellAtLocation(nCutRitual, 84.9, SPELL_SUNBURST, oPC, lStuff, PROJECTILE_PATH_TYPE_DEFAULT);
        CutApplyEffectAtLocation(nCutRitual, 86.5, oPC, DURATION_TYPE_INSTANT, VFX_FNF_STORM, lFX02, 3.0);
        CutApplyEffectAtLocation(nCutRitual, 87.0, oPC, DURATION_TYPE_INSTANT, VFX_IMP_DIVINE_STRIKE_HOLY, lStuff, 2.0);
        CutApplyEffectAtLocation(nCutRitual, 87.4, oPC, DURATION_TYPE_INSTANT, VFX_IMP_MAGIC_PROTECTION, lStuff, 2.0);
        CutApplyEffectAtLocation(nCutRitual, 87.8, oPC, DURATION_TYPE_INSTANT, VFX_IMP_BIGBYS_FORCEFUL_HAND, lStuff, 2.0);
        CutApplyEffectAtLocation(nCutRitual, 88.0, oPC, DURATION_TYPE_INSTANT, VFX_IMP_BREACH, lStuff, 2.0);
        DelayCommand(88.7, AssignCommand(oDoor, ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN, 1.0, 0.0)));

        DelayCommand(86.8, AssignCommand(oAmith, ClearAllActions()));
        DelayCommand(86.8, AssignCommand(oServant, ClearAllActions()));
        DelayCommand(86.8, AssignCommand(oGrd1, ClearAllActions()));
        DelayCommand(86.8, AssignCommand(oGrd2, ClearAllActions()));
        DelayCommand(86.8, AssignCommand(GetObjectByTag("SharDarkMistress"), ClearAllActions()));
        DelayCommand(86.8, AssignCommand(GetObjectByTag("SharMephit01"), ClearAllActions()));
        DelayCommand(86.8, AssignCommand(GetObjectByTag("SharMephit02"), ClearAllActions()));
        DelayCommand(86.8, AssignCommand(GetObjectByTag("SharDragon"), ClearAllActions()));
        DelayCommand(88.0, ChangeToStandardFaction(oAmith, STANDARD_FACTION_COMMONER));

        CutApplyEffectAtLocation(nCutRitual, 88.0, oPC, DURATION_TYPE_INSTANT, VFX_FNF_FIRESTORM, lBattle1, 8.0);
        DelayCommand(88.5, AssignCommand(oPC, PlaySound("sff_rainfire")));
        CutApplyEffectAtLocation(nCutRitual, 94.0, oPC, DURATION_TYPE_INSTANT, VFX_FNF_ICESTORM, lBattle2, 8.0);
        DelayCommand(94.5, AssignCommand(oPC, PlaySound("sff_rainice")));
        CutApplyEffectAtLocation(nCutRitual, 101.0, oPC, DURATION_TYPE_INSTANT, VFX_FNF_WEIRD, lBattle3, 8.0);
        DelayCommand(101.5, AssignCommand(oPC, PlaySound("sff_wilting")));

        CutActionMoveToLocation(nCutRitual, 88.4, oXanos, lStuff, TRUE);
        DelayCommand(92.0, AssignCommand(oXanos, DestroyObject(OBJECT_SELF)));
        CutActionMoveToLocation(nCutRitual, 92.4, oMischa, lStuff, TRUE);
        DelayCommand(94.0, AssignCommand(oMischa, DestroyObject(OBJECT_SELF)));

        CutPlayAnimation(nCutRitual, 91.0, oPC, ANIMATION_LOOPING_GET_LOW, 2.0);

        SetPlotFlag(oEndRelic, FALSE);
        CutDestroyObject(nCutRitual, 92.0, oEndRelic);
        DestroyObject(oEndRelic, 92.0f);

        CutActionMoveToLocation(nCutRitual, 94.4, oDeekin, lStuff, TRUE);
        DelayCommand(98.0, AssignCommand(oDeekin, DestroyObject(OBJECT_SELF)));
        CutActionMoveToLocation(nCutRitual, 98.4, oDorna, lStuff, TRUE);
        DelayCommand(102.0, AssignCommand(oDorna, DestroyObject(OBJECT_SELF)));

        CutCreateObject(nCutRitual, 104.0, oPC, OBJECT_TYPE_CREATURE, "amith_bye", lAmithBye, VFX_COM_HIT_DIVINE);

        //CutActionMoveToLocation(nCutRitual, 104.0, oAmith, lAmithBye, TRUE);
        //CutSpeakString(nCutRitual, 106.0, oAmith, "Go, child! Leave this place!");

        CutApplyEffectAtLocation(nCutRitual, 107.0, oPC, DURATION_TYPE_INSTANT, VFX_FNF_IMPLOSION, lStuff, 20.0);
        DelayCommand(107.5, AssignCommand(oPC, PlaySound("sca_dragfire")));

        CutSetCamera(nCutRitual, 109.7, oPC, CAMERA_MODE_TOP_DOWN, 180.0, 15.0, 45.0, CAMERA_TRANSITION_TYPE_VERY_FAST);

        CutActionMoveToLocation(nCutRitual, 108.4, oPC, lStuff, TRUE);

        CutApplyEffectAtLocation(nCutRitual, 110.0, oPC, DURATION_TYPE_INSTANT, VFX_DUR_DARKNESS, lPC, 8.0);

        CutFadeToBlack(nCutRitual, 111.8, oPC);
        DelayCommand(113.5, AssignCommand(oPC, PlaySound("sim_mentfear")));
        DelayCommand(113.7, AssignCommand(oPC, PlaySound("sco_mehedevil01")));
        DelayCommand(113.9, AssignCommand(oPC, PlaySound("sff_strkholy")));
        //DelayCommand(117.0, AssignCommand(oPC, EndGame("sEndMovie")));


        CutSetCutsceneMode(nCutRitual, 120.0, oPC, FALSE);
		
        SetLocalInt(OBJECT_SELF, "Completed", TRUE);
    }
}
