// ******************************
//
// ChoGGi's Death Model v0.01
//      for Counter-Strike: Source
//
// * Description:
//              coffins for dead people
//
//    tested on ES v1.5.0.171b + Est Tools v.420
//
//
// * Install:
//       move es_deathmodel.txt to:
//           cstrike/addons/eventscripts/deathmodel
//
//       Add the following line somewhere in autoexec.cfg:
//           es_load deathmodel
//
// ******************************

block LoadUserConfig
{
    //use physics or dynamic model
    es_xset ar_ModelType dynamic
    //death model
    es_xset ar_DeathPropPathCT props_c17/gravestone_coffinpiece001a.mdl
    es_xset ar_DeathPropPathT props_c17/gravestone_coffinpiece002a.mdl
}

// if you dont know what your doing dont touch anything below

block load
{
    //pub var
    es_xset ChoGGi-deathmodel 0.01
    es_xmakepublic ChoGGi-deathmodel
    //load userconfig
    es_xdoblock deathmodel/LoadUserConfig
    //all done
    es_xmsg #multi #green[Death Model] #defaulthas been #lightgreenEnabled
}

block unload
{
    //goodbye
    es_xmsg #multi #green[Death Model] #defaulthas been #lightgreenDisabled
}

event player_death
{
    //dead people = coffin
    //point dead people at ground so its not off on some wall
    es est_SetViewAngle event_var(userid) 90 90 0
    //which coffin to use
    if (server_var(ar_ModelType) = physics) do
    {
        if (server_var(userteam) = 2) do
        {
            es_prop_physics_create event_var(userid) server_var(ar_DeathPropPathCT)
        }
        if (server_var(userteam) = 3)
        {
            es_prop_physics_create event_var(userid) server_var(ar_DeathPropPathT)
        }
    }
    if (server_var(ar_ModelType) = dynamic) do
    {
        if (server_var(userteam) = 2) do
        {
            es_prop_dynamic_create event_var(userid) server_var(ar_DeathPropPathCT)
        }
        if (server_var(userteam) = 3)
        {
            es_prop_dynamic_create event_var(userid) server_var(ar_DeathPropPathT)
        }
    }

    //make it non solid (if your too close it spawns on the attacker)
    es_delayed 0.3 es_setindexprop server_var(eventscripts_lastgive) "CBaseEntity.m_Collision.m_nSolidType" 0
    //remove shadows for performance
    es_delayed 0.3 es_setindexprop server_var(eventscripts_lastgive) "CBaseEntity.m_fEffects" 0
    //make it solid (why doesnt this work? wrong number?)
    es_delayed 15 es_setindexprop server_var(eventscripts_lastgive) "CBaseEntity.m_Collision.m_nSolidType" 80


    //the corpse shouldnt be outside the coffin
    if (server_var(ar_RemoveCorpse) = yes) do
    {
        es_delayed server_var(ar_RemoveCorpseTime) es est_DeleteRagdolls event_var(userid)
    }
    //remove weapons (weapon on coffin does look nice)
    if (server_var(ar_RemoveGroundWeapons) = yes) do
    {
        es_delayed server_var(ar_RemoveGroundWeaponsTime) est_RemoveIdle weapon
    }
}

//precache props
event es_map_start
{
    es_xset ar_DeathPropIndexCT 0
    es_xset ar_DeathPropIndexT 0
    es_precachemodel ar_DeathPropIndexCT server_var(ar_DeathPropPathCT)
    es_precachemodel ar_DeathPropIndexT server_var(ar_DeathPropPathT)
}
