Epic Gate
Talk0this wiki
| Spell Information | |
| Spell level : | , Bard: Epic, Cleric: Epic, Druid: Epic, Sorcerer/Wizard: Epic, Warlock: Epic |
|---|---|
| School : | Conjuration |
| Components : | None |
| Range : | Medium |
| Target/Area : | Point |
| Duration : | 40 Rounds |
| Spell resistance : | No |
Description
Edit
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
Edit
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 spells.
Classes: Bard, Cleric, Druid, Spirit Shaman, Wizard, Sorcerer, Warlock, Arcane Scholar of Candlekeep, Arcane Trickster, Eldrich Knight, Pale Master, Red Wizard, Stormlord, Harper Agent, Sacred Fist, Warpriest
Gameplay Notes
Edit
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