//:://///////////////////////////////////////////// //:: Summon Tanarri //:: NW_S0_SummSlaad //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* Summons a Quasit to aid the threatened Demon */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Aug 14, 2001 //::////////////////////////////////////////////// //:: VFX Pass By: Preston W, On: June 25, 2001 #include "bp_t_randloc" #include "prc_inc_spells" void main() { //Declare major variables string sTag = GetTag(OBJECT_SELF); int nNum; string sRes; effect eSummon; if((GetStringLeft(sTag, 9) == "POA_BALOR") || (sTag == "NW_DEMON") || (sTag == "fiendw_npcb")) { switch(Random(6)) { case 0: //nNum = d10(4); nNum = d4() + d10(); sRes = "poa_dretch01"; break; case 1: nNum = d4(); sRes = "poa_hezrou01"; break; case 2: nNum = 1; sRes = "poa_nalfeshnee01"; break; case 3: nNum = 1; sRes = "poa_glabrezu01"; break; case 4: nNum = 1; sRes = "poa_marilith01"; break; case 5: nNum = 1; sRes = "poa_balor01"; break; } } if(GetStringLeft(sTag, 10) == "POA_DRETCH") { if(d100()<=35) { nNum = 1; sRes = "poa_dretch01"; } } if((GetStringLeft(sTag, 12) == "POA_GLABREZU") || (sTag=="ZEP_GLABREZU")) { switch(Random(3)) { case 0: nNum = d4() + d10(); sRes = "poa_dretch01"; break; case 1: if(d100()<=50) { nNum = d2(); sRes = "poa_vrock01"; } break; case 2: if(d100()<=20) { nNum = 1; sRes = "poa_glabrezu01"; } break; } } if((GetStringLeft(sTag, 10) == "POA_HEZROU") || (sTag=="Hezrou")) { switch(Random(2)) { case 0: nNum = d4() + d10(); sRes = "poa_dretch01"; break; case 1: if(d100()<=35) { nNum = 1; sRes = "poa_hezrou01"; } break; } } if(GetStringLeft(sTag, 14) == "POA_NALFESHNEE") { switch(Random(2)) { case 0: if(d100()<=50) { nNum = d4(); sRes = "poa_vrock01"; } break; case 1: if(d100()<=50) { nNum = d4(); sRes = "poa_hezrou01"; } break; case 2: if(d100()<=50) { nNum = 1; sRes = "poa_glabrezu01"; } break; case 3: if(d100()<=20) { nNum = 1; sRes = "poa_nalfeshnee01"; } break; } } if((GetStringLeft(sTag, 12) == "POA_MARILITH") || (sTag=="ZEP_MARILITH") || (sTag=="ZEP_MERILITH2") || (sTag=="ZEP_MARILITHBG")) { switch(Random(5)) { case 0: nNum = d4() + d10(); sRes = "poa_dretch01"; break; case 1: nNum = d4(); sRes = "poa_hezrou01"; break; case 2: if(d100()<=50) { nNum = 1; sRes = "poa_nalfeshnee01"; } break; case 3: if(d100()<=20) { nNum = 1; sRes = "poa_glabrezu01"; } break; case 4: if(d100()<=20) { nNum = 1; sRes = "poa_marilith01"; } break; } } if((GetStringLeft(sTag, 12) == "POA_SUCCUBUS") || (sTag=="NW_DMSUCUBUS") || (sTag=="ZEP_SUCCUBUS") || (sTag=="ZEP_SUCUBUSA") || (sTag=="ZEP_FLSUCC_001") || (sTag=="FIENDW_NPCA")) { if(d100()<=30) { nNum = 1; sRes = "poa_vrock01"; } } if((GetStringLeft(sTag, 9) == "POA_BABAU")) { if(d100()<=40) { nNum = 1; sRes = "poa_babau01"; } } if((GetStringLeft(sTag, 9) == "POA_VROCK") || (sTag=="NW_DMVROCK")) { switch(Random(2)) { case 0: nNum = d4() + d10(); sRes = "poa_dretch01"; break; case 1: if(d100()<=35) { nNum = 1; sRes = "poa_vrock01"; } break; } } if(DEBUG) { SendMessageToAllDMs(sTag + " >> " + IntToString(nNum) + " >> " + sRes); } object oCreature; if(sRes!="") { int i; //ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_HORRID_WILTING),GetSpellTargetLocation()); for (i = 0; i < nNum; i++) { effect eVis = EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD); oCreature = CreateObject(OBJECT_TYPE_CREATURE,sRes,RndLoc(PRCGetSpellTargetLocation(),5,DIMENSION_HEMISPHERE),FALSE); ChangeFaction(oCreature,OBJECT_SELF); ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis,GetLocation(oCreature)); //eSummon = EffectSummonCreature(sRes,VFX_FNF_SUMMON_MONSTER_3); //ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSummon, RndLoc(GetSpellTargetLocation(),5,DIMENSION_HEMISPHERE), HoursToSeconds(24)); } } }