NWNDS/nwnds_module/ps_sumplnrcrtr.nss
Jaysyn904 de24f81734 Added NWN Dark Sun module contents
Added NWN Dark Sun module contents.
2021-07-12 21:24:46 -04:00

72 lines
3.2 KiB
Plaintext

/************************************
* Summon Planar Creature *
* *
* Cost: 15 *
* Power Score: Int -4 *
* *
*************************************/
#include "lib_psionic"
void main()
{
object oPC=OBJECT_SELF;
int nCost=15;
int nPowerScore=GetAbilityScore(oPC, ABILITY_INTELLIGENCE)-4;
int nLevel=GetEffectivePsionicLevel(oPC, FEAT_PSIONIC_SUMMON_PLANAR_CREATURE);
int nRoll=d6()+nLevel;
effect eSummon;
if (!PowerCheck(oPC, nCost, nPowerScore, FEAT_PSIONIC_SUMMON_PLANAR_CREATURE)) return;
if (nRoll<=4)
eSummon = EffectSummonCreature("NW_S_CLANTERN", VFX_FNF_SUMMON_CELESTIAL, 2.5);
else if (nRoll<=7)
eSummon = EffectSummonCreature("NW_S_IMP",VFX_FNF_SUMMON_GATE , 2.5);
else if (nRoll<=10)
eSummon = EffectSummonCreature("NW_S_SLAADRED", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==11)
eSummon = EffectSummonCreature("NW_S_SUCCUBUS",VFX_FNF_SUMMON_GATE, 2.5);
else if (nRoll==12)
eSummon = EffectSummonCreature("NW_S_CHOUND", VFX_FNF_SUMMON_CELESTIAL, 2.5);
else if (nRoll==13)
eSummon = EffectSummonCreature("NW_S_SLAADGRN",VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==14)
eSummon = EffectSummonCreature("NW_S_EARTHHUGE", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==15)
eSummon = EffectSummonCreature("NW_S_AIRHUGE", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==16)
eSummon = EffectSummonCreature("NW_S_FIREHUGE", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==17)
eSummon = EffectSummonCreature("NW_S_WATERHUGE", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==18)
eSummon = EffectSummonCreature("NW_S_VROCK", VFX_FNF_SUMMON_GATE, 2.5);
else if (nRoll==19)
eSummon = EffectSummonCreature("NW_S_CTRUMPET", VFX_FNF_SUMMON_CELESTIAL, 2.5);
else if (nRoll==20)
eSummon = EffectSummonCreature("NW_S_EARTHGREAT", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==21)
eSummon = EffectSummonCreature("NW_S_AIRGREAT", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==22)
eSummon = EffectSummonCreature("NW_S_FIREGREAT", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==23)
eSummon = EffectSummonCreature("NW_S_WATERGREAT", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==24)
eSummon = EffectSummonCreature("NW_S_SLAADDETH", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==25)
eSummon = EffectSummonCreature("NW_S_EARTHELDER", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==26)
eSummon = EffectSummonCreature("NW_S_AIRELDER", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==27)
eSummon = EffectSummonCreature("NW_S_FIREELDER", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll==28)
eSummon = EffectSummonCreature("NW_S_WATERELDER", VFX_FNF_SUMMON_MONSTER_3, 1.0);
else if (nRoll<28 && nRoll%2==1)
eSummon = EffectSummonCreature("NW_S_BALOR", VFX_FNF_SUMMON_GATE, 3.0);
else
eSummon = EffectSummonCreature("X2_S_MUMMYWARR", VFX_FNF_SUMMON_EPIC_UNDEAD, 1.0);
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), HoursToSeconds(24));
}