NWN2Wiki
Register
Advertisement
Is gateepic
Epic Gate
Spell Information
Spell level : Innate level: Epic
School : Conjuration
Components : None
Range : Medium
Target/Area : Point
Duration : 40 Rounds
Spell resistance : No

Description[]

This spell opens a portal to the Lower Planes and calls forth a Balor to assail your foes. If it is slain, a second one is immediately summoned in its place. The strength of this conjuration is such that the demons are bound to your will, and you need not have cast Protection from Evil, or any similar spell, to prevent them from attacking you.

Acquisition[]

To learn this spell, a character must take the feat Epic Spell: Epic Gate

Type of feat: Epic

Prerequisites: 21st level, Spellcraft 27, Ability to cast 9th level spells1.

Classes: Bard, Cleric, Druid, Spirit Shaman, Wizard, Sorcerer, Warlock2, Arcane Scholar of Candlekeep, Arcane Trickster, Eldritch Knight, Pale Master, Red Wizard, Stormlord, Harper Agent, Sacred Fist, Warpriest

Notes[]

1 Any level 9 spell qualifies, regardless of class. Any dark invocation also qualifies, regardless of its equivalent spell level.

2 This feat may be taken on a Warlock level if, and only if, the character is able to cast dark invocations by virtue of actual Warlock levels alone (Hellfire Warlock levels do not count towards satisfying this requirement). This is because there are actually two feats corresponding to this epic spell: one for warlocks and one for non-warlocks. It should be noted that no character will ever be eligible for both feats due to the character level cap of 30.

Gameplay Notes[]

Balors do not benefit from Augment Summoning despite being under the conjuration category, because it is a feat and not a spell. It is however, possible, to allow this in the following manner:

script gb_assoc_spawn.nss:

case ASSOCIATE_TYPE_SUMMONED:

if(GetTag(OBJECT_SELF)=="c_summ_balor" && GetHasFeat(FEAT_AUGMENT_SUMMONING,GetMaster(),TRUE))

ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectLinkEffects(EffectAbilityIncrease(ABILITY_STRENGTH,4), EffectAbilityIncrease(ABILITY_CONSTITUTION,4))), OBJECT_SELF);

The original visual effect is not applied, it must be applied to the caster, not to the area - script nx_s2_epic_gate.nss:

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_SPELL_EPIC_GATE), OBJECT_SELF, 5.0f);

There is a problem with the NPC AI when it comes to casting (Epic) Gate and Greater Planar Binding (Ground). Often, NPCs will summon a creature, but then immediately unsummon it by casting an often inferior summoning spell right during the next round (since you can only have one summoned associate, any previously summoned creatures are unsummoned when a new creature is summoned). The problem is to be found in the script hench_i0_itemsp.nss:

case HENCH_SPELL_INFO_SPELL_TYPE_SUMMON:

if (!GetIsObjectValid(GetAssociate(ASSOCIATE_TYPE_SUMMONED)) && !GetHenchAssociateState(HENCH_ASC_DISABLE_SUMMONS))

HenchCheckSummons();

At first glance, there is no problem with this code. But let us take a closer look at the summoning spell scripts:

Epic Gate (nx_s2_epic_gate):

DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSummon, OBJECT_SELF, fDuration));

Gate (NW_S0_Gate):

effect eSummon = EffectSummonCreature("c_summ_devilhorn", VFX_INVOCATION_BRIMSTONE_DOOM, 3.0,TRUE);

Greater Planar Binding (NW_S0_GrPlanar):

eSummon = EffectSummonCreature("c_erinyes", VFX_FNF_SUMMON_GATE, 3.0);

As you can see, all three scripts are delaying the actual creation of the summoned creature by 3 seconds. This means when the spellcaster AI checks if the spellcaster already has an associate when determining the course of action for the next round, the game engine returns OBJECT_INVALID as the summoned associate is not there yet. So the NPC will summon something else, effectively dispelling his previous summoned creature, basically exchanging 2 balors for a single Erinyes and wasting a full-round action, a bad deal indeed. The easiest way to fix this is probably by fixing the summoning spell scripts themselves:

SetHenchAssociateState(HENCH_ASC_DISABLE_SUMMONS, TRUE, OBJECT_SELF);//disable summoning AI for NPC spellcaster

DelayCommand(6.0f,SetHenchAssociateState(HENCH_ASC_DISABLE_SUMMONS, FALSE, OBJECT_SELF));//re-enable it after 6 seconds
Advertisement