void main()
{
    object oPC = GetLastSpeaker();
    object oMod = GetModule();
    int iMode = GetLocalInt(GetModule(), "gamemode");
    int nInt1 = GetLocalInt(oPC, "luciferdead");
    int nInt2 = GetLocalInt(oPC, "starfall_dead");
    int nInt3 = GetLocalInt(oMod, "d1_complete");
    int nInt4 = GetLocalInt(oMod, "d2_complete");
    int nInt5 = GetLocalInt(oMod, "d2a_complete");
    int nInt6 = GetLocalInt(oMod, "d3_complete");
    int nInt7 = GetLocalInt(oMod, "d4_complete");
    int nInt8 = GetLocalInt(oMod, "d5_complete");

    if ((nInt1==1)&&(nInt2==1)&&(nInt3==1)&&(nInt4==1)&&
        (nInt5==1)&&(nInt6==1)&&(nInt7==1)&&(nInt8==1)&&
        (GetItemPossessedBy(oPC, "final_ring")==OBJECT_INVALID))
        {
         ExecuteScript("sf_cutscene", oPC);
        }
    else
       {
        if (iMode==1)
        {
         PlaySound("vs_nx2mephm_yes");
        }
        else
        {
         PlaySound("vs_nnwgrdm2_yes");
        }
        ActionStartConversation(oPC, "angel4", FALSE, FALSE);
       }
}