The documentation for gate was removed by accident a while ago but basically what highv said, your balor becomes more powerful with higher levels of cleric, spell focuses in conjuration and believe being evil or having evil domain is what gives you the next echelon of power with respect to the balor. I know Cory made a really cheesy pure cleric with prot domain a while ago but since then the highest tier balor was nerfed. A 38 1 1 cleric with conj/evil alignment and evil domain can still pack a punch while having a really good summon.
This is the current code for balor, apparently you need to be level 40 to get the 7th level balor, but you can be level 35 with ESF conjuration + evil alignment OR evil domain and get the sixth level balor, which is still pretty good.
if(HasSFConj)
{
nDuration = nDuration *2;
}
if(HasGSFConj)
{
nDuration = nDuration *3;
}
if(HasESFConj)
{
nDuration = nDuration *4;
}
//Summon the Balor and apply the VFX impact
//ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetSpellTargetLocation());
location lSpellTargetLOC = GetSpellTargetLocation();
//BALOR VII
if(GetHasSpellEffect(SPELL_PROTECTION_FROM_EVIL) ||
GetHasSpellEffect(SPELL_MAGIC_CIRCLE_AGAINST_EVIL) ||
GetHasSpellEffect(SPELL_HOLY_AURA))
{
if((nCasterLevel >= 40 && HasSFConj && HasGSFConj && HasESFConj && (IsEvil || HasEvilDomain)))
{
eSummon = EffectSummonCreature("s_balor_cast_vii", VFX_FNF_SUMMON_GATE, 3.0);
float fSeconds = RoundsToSeconds(nDuration);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lSpellTargetLOC, fSeconds));
}
//BALOR VI
else if((nCasterLevel >= 40 && HasSFConj && HasGSFConj && HasESFConj) ||
(nCasterLevel >= 40 && HasSFConj && HasGSFConj && (IsEvil || HasEvilDomain)) ||
(nCasterLevel >= 35 && HasSFConj && HasGSFConj && HasESFConj && (IsEvil || HasEvilDomain)))
{
eSummon = EffectSummonCreature("s_balor_cast_6", VFX_FNF_SUMMON_GATE, 3.0);
float fSeconds = RoundsToSeconds(nDuration);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lSpellTargetLOC, fSeconds));
}
//BALOR V
else if((nCasterLevel >= 40) ||
(nCasterLevel >= 35 && HasSFConj) ||
(nCasterLevel >= 35 && (IsEvil || HasEvilDomain)) ||
(nCasterLevel >= 30 && HasSFConj && HasGSFConj) ||
(nCasterLevel >= 30 && HasSFConj && (IsEvil || HasEvilDomain)))
{
eSummon = EffectSummonCreature("s_balor_cast_v",VFX_FNF_SUMMON_GATE,3.0);
float fSeconds = RoundsToSeconds(nDuration);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lSpellTargetLOC, fSeconds));
}
// BALOR IV
else if((nCasterLevel >= 35) ||
(nCasterLevel >= 30 && HasSFConj) ||
(nCasterLevel >= 30 && (IsEvil || HasEvilDomain)) ||
(nCasterLevel >= 25 && HasSFConj && HasGSFConj) ||
(nCasterLevel >= 25 && HasSFConj && (IsEvil || HasEvilDomain)))
{
eSummon = EffectSummonCreature("s_balor_cast_iv",VFX_FNF_SUMMON_GATE,3.0);
float fSeconds = RoundsToSeconds(nDuration);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lSpellTargetLOC, fSeconds));
}
//BALOR III
else if((nCasterLevel >= 30) ||
(nCasterLevel >= 25 && HasSFConj) ||
(nCasterLevel >= 25 && (IsEvil || HasEvilDomain)))
{
eSummon = EffectSummonCreature("s_balor_cast_003",VFX_FNF_SUMMON_GATE,3.0);
float fSeconds = RoundsToSeconds(nDuration);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lSpellTargetLOC, fSeconds));
}
//BALOR II
else if((nCasterLevel >= 25) ||
(nCasterLevel >= 20 && HasSFConj) ||
(nCasterLevel >= 20 && (IsEvil || HasEvilDomain)))
{
eSummon = EffectSummonCreature("s_balor_cast2",VFX_FNF_SUMMON_GATE,3.0);
float fSeconds = RoundsToSeconds(nDuration);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lSpellTargetLOC, fSeconds));
}
//BALOR I
else if(nCasterLevel >= 17)
{
eSummon = EffectSummonCreature("summonedbalori",VFX_FNF_SUMMON_GATE,3.0);
float fSeconds = RoundsToSeconds(nDuration);
DelayCommand(3.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, lSpellTargetLOC, fSeconds));
}
}