//:://///////////////////////////////////////////// //:: Summon Creature Series //:: NW_S0_Summon //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* Carries out the summoning of the appropriate creature for the Summon Monster Series of spells 1 to 9 */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Jan 8, 2002 //::////////////////////////////////////////////// effect SetSummonEffect(int nSpellID); #include "x2_inc_spellhook" #include "inc_multisummon" void main() { /* Spellcast Hook Code Added 2003-06-23 by GeorgZ If you want to make changes to all spells, check x2_inc_spellhook.nss to find out more */ if (!X2PreSpellCastCode()) { // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell return; } // End of Spell Cast Hook //Declare major variables int nSpellID = GetSpellId(); int nDuration = GetCasterLevel(OBJECT_SELF); if(nDuration < SUMMON_DURATION_MIN) nDuration = SUMMON_DURATION_MIN; if(GetLocalInt(GetModule(), "PnPSummonDuration")==FALSE) nDuration = 24; //Make metamagic check for extend int nMetaMagic = GetMetaMagicFeat(); if (nMetaMagic == METAMAGIC_EXTEND) { nDuration = nDuration *2; //Duration is +100% } int nFNF_Effect; int nRoll = d3(); string sSummon; if(GetHasFeat(FEAT_ANIMAL_DOMAIN_POWER)) //WITH THE ANIMAL DOMAIN { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "NW_S_BOARDIRE"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "NW_S_WOLFDIRE"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "NW_S_SPIDDIRE"; } else if(nSpellID == SPELL_SUMMON_CREATURE_IV) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "NW_S_beardire"; } else if(nSpellID == SPELL_SUMMON_CREATURE_V) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "NW_S_diretiger"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VI) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "NW_S_AIRHUGE"; break; case 2: sSummon = "NW_S_WATERHUGE"; break; case 3: sSummon = "NW_S_FIREHUGE"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_VII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "NW_S_AIRGREAT"; break; case 2: sSummon = "NW_S_WATERGREAT"; break; case 3: sSummon = "NW_S_FIREGREAT"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_VIII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "NW_S_AIRELDER"; break; case 2: sSummon = "NW_S_WATERELDER"; break; case 3: sSummon = "NW_S_FIREELDER"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_IX) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "NW_S_AIRELDER"; break; case 2: sSummon = "NW_S_WATERELDER"; break; case 3: sSummon = "NW_S_FIREELDER"; break; } } } else //WITOUT THE ANIMAL DOMAIN { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "NW_S_badgerdire"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "NW_S_BOARDIRE"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "NW_S_WOLFDIRE"; } else if(nSpellID == SPELL_SUMMON_CREATURE_IV) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "NW_S_SPIDDIRE"; } else if(nSpellID == SPELL_SUMMON_CREATURE_V) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "NW_S_beardire"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VI) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "NW_S_diretiger"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "NW_S_AIRHUGE"; break; case 2: sSummon = "NW_S_WATERHUGE"; break; case 3: sSummon = "NW_S_FIREHUGE"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_VIII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "NW_S_AIRGREAT"; break; case 2: sSummon = "NW_S_WATERGREAT"; break; case 3: sSummon = "NW_S_FIREGREAT"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_IX) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "NW_S_AIRELDER"; break; case 2: sSummon = "NW_S_WATERELDER"; break; case 3: sSummon = "NW_S_FIREELDER"; break; } } } if(GetLocalInt(GetModule(), "PnPSummonDuration")==FALSE) PrimoEffectSummonCreature(sSummon, nFNF_Effect, GetSpellTargetLocation(), DURATION_TYPE_TEMPORARY, HoursToSeconds(nDuration)); else PrimoEffectSummonCreature(sSummon, nFNF_Effect, GetSpellTargetLocation(), DURATION_TYPE_TEMPORARY, RoundsToSeconds(nDuration)); }