//:://////////////////////////////////////////////
/*
Summons the demon for the player
*/
//:://////////////////////////////////////////////
//:: Created By: Oni5115
//:://////////////////////////////////////////////

#include "prc_class_const"
#include "prc_feat_const"
#include "prc_inc_switch"
#include "prc_inc_castlvl"

void main()
{
    float fDelay = 3.0;
    int nLevel = GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, OBJECT_SELF) + GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_D, OBJECT_SELF);
    int nDuration = PRCGetCasterLevel(OBJECT_SELF);
    
    if(nLevel < 9)
    {
         string sMes = "You must be at least a level 9 Thrall of Graz'zt to summon this type of demon.";
         SendMessageToPC(OBJECT_SELF, sMes);
         
         IncrementRemainingFeatUses(OBJECT_SELF, FEAT_TOG_SUMMON_DEMON);
         return;
    }

    effect eSummon = EffectSummonCreature("TOG_VROCK",VFX_FNF_SUMMON_GATE, fDelay);
    
    float fDuration = HoursToSeconds(24);
    if(GetPRCSwitch(PRC_SUMMON_ROUND_PER_LEVEL))
            fDuration = RoundsToSeconds(nDuration*GetPRCSwitch(PRC_SUMMON_ROUND_PER_LEVEL));
    
    ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), fDuration);
}