225 lines
6.3 KiB
Plaintext
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));
|
|
}
|
|
}
|
|
} |