PRC8/nwn/nwnprc/trunk/scripts/prc_disp_summ.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

57 lines
2.5 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Dispater Summon
//:: prc_disp_summ
//:://////////////////////////////////////////////
/*
Summons an Eryines
At level 9, Summons 1d4
*/
//:://////////////////////////////////////////////
#include "prc_inc_spells"
void main()
{
//Declare major variables
int nRoll = d4();
object oStone;
int nDuration = 15;
float fDelay = 3.0;
effect eSummon = EffectSummonCreature("erinyes",VFX_FNF_SUMMON_GATE, fDelay);
effect eSummon2 = EffectSummonCreature("erinyes", VFX_NONE, fDelay, 0);
if (GetLevelByClass(CLASS_TYPE_DISPATER, OBJECT_SELF) < 9) nRoll = 1;
if(nRoll == 4)
{
MultisummonPreSummon(OBJECT_SELF, TRUE);
oStone = CreateObject(OBJECT_TYPE_ITEM, "summoningstone", GetSpellTargetLocation());
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon2, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon2, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon2, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
DestroyObject(oStone);
}
else if(nRoll == 3)
{
MultisummonPreSummon(OBJECT_SELF, TRUE);
oStone = CreateObject(OBJECT_TYPE_ITEM, "summoningstone", GetSpellTargetLocation());
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon2, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon2, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
DestroyObject(oStone);
}
else if(nRoll == 2)
{
MultisummonPreSummon(OBJECT_SELF, TRUE);
oStone = CreateObject(OBJECT_TYPE_ITEM, "summoningstone", GetSpellTargetLocation());
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon2, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
DestroyObject(oStone);
}
else if(nRoll == 1)
{
MultisummonPreSummon(OBJECT_SELF);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), TurnsToSeconds(nDuration));
}
}