//:://///////////////////////////////////////////// //:: 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); void main() { //Declare major variables int nSpellID = GetSpellId(); int nDuration = GetCasterLevel(OBJECT_SELF); nDuration = 24; /*if(nDuration == 1) { nDuration = 2; }*/ effect eSummon = SetSummonEffect(nSpellID); //Make metamagic check for extend int nMetaMagic = GetMetaMagicFeat(); if (nMetaMagic == METAMAGIC_EXTEND) { nDuration = nDuration *2; //Duration is +100% } //Apply the VFX impact and summon effect ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, GetSpellTargetLocation(), HoursToSeconds(nDuration)); } effect SetSummonEffect(int nSpellID) { 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; } } } ////////////////////////////////////////////////////////////////////////////////////////// //Tris's bit made by madly mashing hand over keyboard in Jext ///////////////////////////////////////////////////////////////////////////////////////////// object oSumGlove = GetItemInSlot(INVENTORY_SLOT_ARMS); string sSumGlove = GetTag(oSumGlove); if (sSumGlove == "GlovesofSummon") { if(GetHasFeat(FEAT_ANIMAL_DOMAIN_POWER)) //WITH THE ANIMAL DOMAIN { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "SummonedSnareDog"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "SummonedMistCat"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "SummonedSteelSlave"; } else if(nSpellID == SPELL_SUMMON_CREATURE_IV) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "SummonedEdgeDog"; } else if(nSpellID == SPELL_SUMMON_CREATURE_V) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "SummonedMithralSpider"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VI) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "SummonedBaggrok"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "SummonedGreenDemon"; break; case 2: sSummon = "SummonedRedDemon"; break; case 3: sSummon = "SummonedWhiteDemon"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_VIII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll) { case 1: sSummon = "SummonedFogDemon"; break; case 2: sSummon = "SummonedLavaDemon"; break; case 3: sSummon = "SummonedNightDemon"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_IX) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; sSummon = "SummonedRakshasa"; } } else //WITOUT THE ANIMAL DOMAIN { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "SummonedHouseBadger"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "SummonedSnareDog"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "SummonedMistCat"; } else if(nSpellID == SPELL_SUMMON_CREATURE_IV) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "SummonedSteelSlave"; } else if(nSpellID == SPELL_SUMMON_CREATURE_V) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "SummonedEdgeDog"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VI) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "SummonedMithralSpider"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_2; sSummon = "SummonedBaggrok"; } else if(nSpellID == SPELL_SUMMON_CREATURE_VIII) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; switch (nRoll){ case 1: sSummon = "SummonedGreenDemon"; break; case 2: sSummon = "SummonedRedDemon"; break; case 3: sSummon = "SummonedWhiteDemon"; break; } } else if(nSpellID == SPELL_SUMMON_CREATURE_IX){ nFNF_Effect = VFX_FNF_SUMMON_MONSTER_3; if(GetLevelByClass(CLASS_TYPE_DRUID, OBJECT_SELF) >= 25){ sSummon = "SummonedBlackSpider"; } else{ switch (nRoll) { case 1: sSummon = "SummonedFogDemon"; break; case 2: sSummon = "SummonedLavaDemon"; break; case 3: sSummon = "SummonedNightDemon"; break; } } } } } object oSumGlove2 = GetItemInSlot(INVENTORY_SLOT_NECK); string sSumGlove2 = GetTag(oSumGlove2); object oPC = GetLastSpellCaster(); if (sSumGlove2 == "ForestEye") { if (GetLevelByClass(CLASS_TYPE_RANGER, oPC) <= 5) { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye1"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye1"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye2"; } } else if (GetLevelByClass(CLASS_TYPE_RANGER, oPC) <= 10) { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye1"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye2"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye2"; } } else if (GetLevelByClass(CLASS_TYPE_RANGER, oPC) <= 15) { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye1"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye2"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye3"; } } else if (GetLevelByClass(CLASS_TYPE_RANGER, oPC) >= 20) { if(nSpellID == SPELL_SUMMON_CREATURE_I) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye2"; } else if(nSpellID == SPELL_SUMMON_CREATURE_II) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye3"; } else if(nSpellID == SPELL_SUMMON_CREATURE_III) { nFNF_Effect = VFX_FNF_SUMMON_MONSTER_1; sSummon = "ForestEye4"; } } } //effect eVis = EffectVisualEffect(nFNF_Effect); //ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, GetSpellTargetLocation()); effect eSummonedMonster = EffectSummonCreature(sSummon, nFNF_Effect); return eSummonedMonster; }