PoA_PRC8/_module/nss/nw_s1_summtanar.nss
Jaysyn904 66b24792f3 Added ACP v4.1
Added ACP v4.1.  Full compile.  Updated release archive.
2024-09-09 20:16:54 -04:00

225 lines
6.3 KiB
Plaintext

//::///////////////////////////////////////////////
//:: 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));
}
}
}