//::///////////////////////////////////////////////
//:: Name x2_def_ondeath
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    Default OnDeath script
*/
//:://////////////////////////////////////////////
//:: Created By: Keith Warner
//:: Created On: June 11/03
//::///////////////////////////////////War Demon / Guardian Angel  Challenge
#include "nw_i0_generic"
#include "spawner"
#include "x0_i0_petrify"
#include "rank"

void main()
{
    object oPC = GetLastKiller();
    object oMod = GetModule();
    SetLocalInt(oMod, "sw_pf", 0);
    SetLocalInt(oMod, "ch_pf", 0);
    object oTarget= OBJECT_SELF;
    int iKilled = GetLocalInt(oPC, "iKilled");
    int nInt2=GetLocalInt(oMod, "d2");
    int nInt4=GetLocalInt(oMod, "d4");
    int nInt2a=GetLocalInt(oMod, "d2a");
    int nInt3=GetLocalInt(oMod, "d3");
    int nInt5=GetLocalInt(oMod, "d5");
    //string oDebug = IntToString(nInt5);
    //Message(8.0, oDebug, oPC);
    int nInt;
    nInt = GetObjectType(oTarget);
    if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), oTarget);
    else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), GetLocation(oTarget));
    AssignCommand(oPC, ClearAllActions());
     DelayCommand(1.5, AssignCommand(oPC, ActionPlayAnimation
                (ANIMATION_FIREFORGET_VICTORY2)));

    int oExploit = GetLocalInt(oMod, "xcheck");
    if (oExploit!=1)
    {
    LastHit();
    iKilled=iKilled+1;
    SetLocalInt(oPC, "iKilled", iKilled);
    GetRank(oPC);
    DeathStats(oPC);
    if ((nInt2!=1)&&(nInt3!=1)&&(nInt4!=1)&&(nInt5!=1))
    {BattleRest(oPC);}
    SetLocalInt(oPC, "pitfienddead", 1);
    int oGameMode = GetLocalInt(oMod, "gamemode");
         if (oGameMode==1)
         {
          DelayCommand( 9.8, spawner (oPC, "hdrag2", 0));
         }
         else
         {
          DelayCommand( 9.8, spawner (oPC, "zep_halfdrafn001", 0));
         }

    DoEffect(9.8,VFX_FNF_PWKILL, "monster_wp");
    }
   else
  {
   SetLocked(GetObjectByTag("arena_gate"), FALSE);
   object oP1 = GetObjectByTag("pool1");
   object oP2 = GetObjectByTag("pool2");
   object oP3 = GetObjectByTag("fountain1");
   object oP4 = GetObjectByTag("fountain2");
   object oLever1 = GetObjectByTag("pool_lever");
   object oLever2 = GetObjectByTag("fount_lever");
   effect eEffect = EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY);
   AssignCommand(oLever1, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
   AssignCommand(oLever2, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
   RemoveEffectOfType(oP1, GetEffectType(eEffect));
   RemoveEffectOfType(oP2, GetEffectType(eEffect));
   RemoveEffectOfType(oP3, GetEffectType(eEffect));
   RemoveEffectOfType(oP4, GetEffectType(eEffect));
   SetLocalInt(oMod, "fountain_state", 0);
   SetLocalInt(oMod, "pool_state", 0);
   SetLocalInt(oMod, "challenge", 0);
  }
}