EN4_PRC8/_module/nss/rd_monstertables.nss

2449 lines
76 KiB
Plaintext
Raw Permalink Normal View History

#include "rd_monsteritems"
int GetPCCount()
{
int iCount;
int iFlag;
int iIndex;
object oPC;
object oLastPC;
oPC=GetFirstPC();
iCount = 0;
iFlag = 0;
while (iFlag == 0)
{
iCount++;
oLastPC = oPC;
oPC = GetNextPC();
if (GetName(oLastPC) == GetName(oPC))
{
iFlag = 1;
}
if (iCount>65)
{
iFlag = 1;
}
}
iCount--;
return iCount;
}
int RollDice(int iDice,int iSides)
{
int iRoll=0;
int iIndex=0;
for (iIndex=0; iIndex<iDice; iIndex++)
{
iRoll = iRoll + Random(iSides) + 1;
}
return iRoll;
}
int GetObjectLevel(object oCreature)
{
int iLevel;
iLevel = GetLevelByPosition(1,oCreature) +
GetLevelByPosition(2,oCreature) +
GetLevelByPosition(3,oCreature);
return iLevel;
}
void GetRandomLoot(object oCreature)
{
int iRnd;
int iLoot;
iRnd = Random(100) + GetObjectLevel(oCreature);
if (iRnd < 76)
{
iLoot = 1;
}
if (iRnd > 75 && iRnd < 91)
{
iLoot=2;
}
if (iRnd >90 && iRnd < 111)
{
iLoot = 3;
}
if (iRnd > 110)
{
iLoot = 4;
}
//#include "NW_O2_CONINCLUDE"
//GenerateNPCTreasure(iLoot, oCreature, oCreature);
}
object PlaceMonster(string sCreature,location oLoc1,int iDice,int iSides,
string sCreature2,int iOverride, int iLoot=0)
{
int iNumber=0;
int iIndex=0;
object oCreature;
object oFirstCreature;
iNumber = RollDice(iDice,iSides);
for (iIndex=0; iIndex<iNumber; iIndex++)
{
oCreature=CreateObject(OBJECT_TYPE_CREATURE, sCreature,oLoc1,FALSE);
EquipMonsterCheck(oCreature);
if (iIndex==0)
{
oFirstCreature=oCreature;
//SendMessageToPC(GetFirstPC(),"oFirstCreature = " + GetName(oFirstCreature));
}
GetRandomLoot(oCreature);
if (GetName(oCreature) == "Badger")
{
SendMessageToPC(GetFirstPC(),sCreature + " is a badger.");
}
// debug code
// SendMessageToPC(GetFirstPC(),sCreature);
if (Random(100) < iOverride)
{
oCreature=CreateObject(OBJECT_TYPE_CREATURE, sCreature2,oLoc1,FALSE);
EquipMonsterCheck(oCreature);
GetRandomLoot(oCreature);
if (GetName(oCreature) == "Badger")
{
SendMessageToPC(GetFirstPC(),sCreature2 + " is a badger.");
}
}
}
//SendMessageToPC(GetFirstPC(),"oFirstCreature (on exit) = " + GetName(oFirstCreature));
return oFirstCreature;
}
string DragonColor()
{
string sColor="";
switch (Random(5))
{
case 0:sColor="White"; break;
case 1:sColor="Black"; break;
case 2:sColor="Blue"; break;
case 3:sColor="Green"; break;
case 4:sColor="Red"; break;
}
return sColor;
}
void SummonMonster0(location oLoc1)
{
//Level 1
string sCreature="";
string sCreature2="";
int iNumber=0;
iNumber=Random(14);
switch(iNumber)
{
case 0: sCreature="NW_GoblinA";
sCreature2="NW_GoblinB";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10,1);
break;
case 1: sCreature="NW_OrcA";
sCreature2="NW_OrcB";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,25,1);
break;
case 2: sCreature="NW_Skeleton";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,15);
break;
case 3: sCreature="NW_Bandit001";
sCreature2="NW_Bandit002";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,15,1);
break;
case 4: sCreature="NW_Btlfire";
sCreature2="NW_Btlfire";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
break;
case 5: sCreature="rogue";
sCreature2="NW_Bandit001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,5,1);
break;
case 6: sCreature="NW_Stirge";
sCreature2="NW_Stirge";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,1);
break;
case 7: sCreature="NW_Tiefling02";
sCreature2="NW_Drowrogue001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10,1);
break;
case 8: sCreature="NW_Drowfight001";
sCreature2="NW_Drowcler001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10,1);
break;
case 9: sCreature="NW_Duerogue001";
sCreature2="NW_Duemage001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10,1);
break;
case 10: sCreature="NW_DWARFMERC001";
sCreature2="NW_DWARFMERC001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1,1);
break;
case 11: sCreature="NW_KOBOLD001";
sCreature2="NW_KOBOLD002";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10,1);
break;
case 12: sCreature="NW_rat001";
sCreature2="NW_ratdire001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10,1);
break;
case 13: sCreature="nw_gnoll001";
sCreature2="NW_rat001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1,1);
break;
}
}
void SummonMonster1(location oLoc1)
{
//Level 2
string sCreature="";
string sCreature2="";
int iNumber=0;
iNumber=Random(16);
switch(iNumber)
{
case 0: sCreature="NW_GoblinA";
sCreature2="NW_GoblinB";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,10,1);
break;
case 1: sCreature="NW_OrcA";
sCreature2="NW_OrcB";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,15,1);
break;
case 2: sCreature="NW_Skeleton";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,1);
break;
case 3: sCreature="NW_Bandit001";
sCreature2="NW_Bandit002";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,5,1);
break;
case 4: sCreature="NW_Btlfire";
sCreature2="NW_Btlfire";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,1);
break;
case 5: sCreature="rogue";
sCreature2="NW_Bandit001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,5,1);
break;
case 6: sCreature="NW_Stirge";
sCreature2="NW_Stirge";
PlaceMonster(sCreature,oLoc1,1,5,sCreature2,1);
break;
case 7: sCreature="NW_Tiefling02";
sCreature2="NW_Drowrogue001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10,1);
break;
case 8: sCreature="NW_Drowfight001";
sCreature2="NW_Drowcler001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,20,1);
break;
case 9: sCreature="NW_Duefight001";
sCreature2="NW_Duecler001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,30,1);
break;
case 10: sCreature="NW_Drowrogue001";
sCreature2="NW_Drowmage001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10,1);
break;
case 11: sCreature="NW_BugbearA";
sCreature2="NW_BugbearB";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,5);
break;
case 12: sCreature="NW_OldwarrA";
sCreature2="NW_OldwarB";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
break;
case 13: sCreature="NW_KOBOLD001";
sCreature2="NW_KOBOLD002";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,40,1);
break;
case 14: sCreature="NW_rat001";
sCreature2="NW_ratdire001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25,1);
break;
case 15: sCreature="nw_gnoll001";
sCreature2="nw_gnoll001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,1,10);
break;
}
}
void SummonMonster2(location oLoc1)
{
//Level 3-4
string sCreature="";
string sCreature2="";
int iNumber=0;
iNumber=Random(26);
switch(iNumber)
{
case 0: sCreature="NW_GoblinA";
sCreature2="NW_GoblinB";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,30);
break;
case 1: sCreature="NW_OrcA";
sCreature2="NW_OrcB";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,30);
break;
case 2: sCreature="NW_Skeleton";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 3: sCreature="NW_Bandit001";
sCreature2="NW_Bandit002";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 4: sCreature="NW_wererat";
sCreature2="NW_werewolf";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,15);
break;
case 5: sCreature="NW_Tiefling02";
sCreature2="NW_Zombie02";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,10);
break;
case 6: sCreature="NW_Btlfire";
sCreature2="NW_Btlfire02";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 7: sCreature="NW_Zombie01";
sCreature2="NW_Zombie02";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,25);
break;
case 8: sCreature="NW_BugbearA";
sCreature2="NW_BugbearB";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
break;
case 9: sCreature="NW_Drowfight001";
sCreature2="NW_Drowcler001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 10: sCreature="NW_Duefight001";
sCreature2="NW_Duecler001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 11: sCreature="NW_Drowfight001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature,50);
sCreature="NW_Drowcler001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,25);
sCreature="NW_Drowrogue001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature,25);
sCreature="NW_Drowmage001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,25);
break;
case 12: sCreature="NW_Duefight001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature,50);
sCreature="NW_Duecler001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,25);
sCreature="NW_Duerogue001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature,25);
sCreature="NW_Duemage001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,25);
break;
case 13: sCreature="NW_Duefight001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature,50);
sCreature="NW_Duecler001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,25);
sCreature="NW_Drowrogue001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature,25);
sCreature="NW_Drowmage001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,25);
break;
case 14: sCreature="necromancer";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
sCreature="NW_Skeleton";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 15: sCreature="haunting";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
break;
case 16: sCreature="nw_skelmage";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,5);
sCreature="NW_Skeleton";
sCreature2="NW_Zombie02";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,35);
break;
case 17: sCreature="nw_skelpriest";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,5);
sCreature="NW_Skeleton";
sCreature2="NW_Zombie02";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,35);
break;
case 18: sCreature="NW_HUMANMERC001";
sCreature2="NW_DWARFMERC001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 19: sCreature="NW_HUMANMERC002";
sCreature2="NW_DWARFMERC002";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 20: sCreature="NW_KOBOLD003";
sCreature2="NW_KOBOLD004";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,50);
break;
case 21: sCreature="NW_KOBOLD003";
sCreature2="NW_KOBOLD004";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
sCreature="NW_KOBOLD005";
sCreature2="NW_KOBOLD006";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 22: sCreature="NW_GRIG";
sCreature2="NW_GRIG";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10);
break;
case 23: sCreature="NW_DARKNYMPH";
sCreature2="NW_DARKNYMPH";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10);
break;
case 24: sCreature="NW_FENHOUND_C";
sCreature2="NW_FENHOUND_C";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
break;
case 25: sCreature="nw_gnoll002";
sCreature2="nw_gnoll001";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,75);
break;
}
}
void SummonMonster3(location oLoc1)
{
//Level 4-6 and 7-8
string sCreature="";
string sCreature2="";
int iNumber=0;
iNumber=Random(35);
switch(iNumber)
{
case 0: sCreature="NW_Hellhound";
sCreature2="NW_SHMastif";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,10);
break;
case 1: sCreature="NW_Zombie01";
sCreature2="NW_Ghoul";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,25);
break;
case 2: sCreature="NW_Ghoul";
sCreature2="NW_Ghast";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,20);
break;
case 3: sCreature="NW_DrowFight001";
sCreature2="NW_DrowCler001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,35);
sCreature="NW_Drowrogue001";
sCreature2="NW_Drowmage001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,35);
break;
case 4: sCreature="NW_Duefight001";
sCreature2="NW_Duecler001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,35);
sCreature="NW_Duerogue001";
sCreature2="NW_Duemage001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,35);
break;
case 5: sCreature="nw_skelmage";
sCreature2="NW_ZombTyrant";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,95);
sCreature="NW_ZombWarr01";
sCreature2="NW_Skeleton";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 6: sCreature="nw_skelpriest";
sCreature2="NW_ZombTyrant";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,95);
sCreature="NW_ZombWarr01";
sCreature2="NW_Skeleton";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 7: sCreature="NW_BugbearA";
sCreature2="NW_BugbearB";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 8: sCreature="NW_OldwarrA";
sCreature2="NW_OldwarB";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,50);
break;
case 9: sCreature="NW_BtlFire02";
sCreature2="NW_Btlbomb";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,30);
break;
case 10: sCreature="NW_Werewolf";
sCreature2="NW_Wererat";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 11: sCreature="NW_Earth";
sCreature2="NW_MepEarth";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,20);
break;
case 12: sCreature="NW_Fire";
sCreature2="NW_MepFire";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,20);
break;
case 13: sCreature="NW_Air";
sCreature2="NW_MepAir";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,20);
break;
case 14: sCreature="NW_Water";
sCreature2="NW_MepWater";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,20);
break;
case 15: sCreature="NW_SpidGiant";
sCreature2="NW_Aranea";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,15);
break;
case 16: sCreature="NW_Gargoyle";
sCreature2="NW_Imp";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 17: sCreature="NW_GobChiefA";
sCreature2="NW_GobWizA";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,25);
break;
case 18: sCreature="NW_GobChiefB";
sCreature2="NW_GobWizB";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,25);
break;
case 19: sCreature="NW_Imp";
sCreature2="NW_DMQuasit";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,75);
break;
case 20: sCreature="NW_Shadow";
sCreature2="NW_SHMastif";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,5);
break;
case 21: sCreature="NW_Wight";
sCreature2="NW_Wraith";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,20);
break;
case 22: sCreature="NW_BtlStink";
sCreature2="NW_BtlBomb";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 23: sCreature="NW_ZombWarr01";
sCreature2="NW_ZombWarr02";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 24: sCreature="NW_Krenshar";
sCreature2="NW_Gargoyle";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,5);
break;
case 25: sCreature="NW_Drowfight005";
sCreature2="NW_Drowcler005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
break;
case 26: sCreature="NW_Drowrogue005";
sCreature2="NW_Drowmage005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
break;
case 27: sCreature="NW_Duefight005";
sCreature2="NW_Duecler005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
break;
case 28: sCreature="NW_Duerogue005";
sCreature2="NW_Duewiz005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
break;
case 29: sCreature="NW_Horror";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,50);
break;
case 30: sCreature="NW_HUMANMERC002";
sCreature2="NW_DWARFMERC002";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 31: sCreature="NW_HUMANMERC003";
sCreature2="NW_DWARFMERC003";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 32: sCreature="NW_BEARKODIAK";
sCreature2="NW_BEARKODIAK";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,1);
break;
case 33: sCreature="NW_BEARPOLAR";
sCreature2="NW_BEARPOLAR";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,1);
break;
case 34: sCreature="NW_FENHOUND";
sCreature2="NW_FENHOUND";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,1);
break;
}
}
void SummonMonster4(location oLoc1)
{
//Level 5-8
string sCreature="";
string sCreature2="";
int iNumber=0;
iNumber=Random(31);
switch(iNumber)
{
case 0: sCreature="NW_Ghast";
sCreature2="NW_Ghoul";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,25);
break;
case 1: sCreature="NW_Drowfight005";
sCreature2="NW_Drowrogue005";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
sCreature="NW_Drowcler005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
sCreature="NW_Drowmage005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
break;
case 2: sCreature="NW_Duefight005";
sCreature2="NW_Duerogue005";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
sCreature="NW_Duecler005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
sCreature="NW_Duemage005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
break;
case 3: sCreature="NW_Duefight005";
sCreature2="NW_Drowrogue005";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
sCreature="NW_Duecler005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
sCreature="NW_Drowmage005";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
break;
case 4: sCreature="NW_Wraith";
sCreature2="NW_Spectre";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 5: sCreature="NW_OrcchiefA";
sCreature2="NW_OrcwizA";
PlaceMonster(sCreature,oLoc1,1,6,sCreature2,25);
break;
case 6: sCreature="NW_OldmageA";
sCreature2="NW_OldwarrA";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,75);
break;
case 7: sCreature="NW_Ettercap";
sCreature2="NW_Horror";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 8: sCreature="NW_Horror";
sCreature2="NW_Ettercap";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10);
break;
case 9: sCreature="NW_BugchiefA";
sCreature2="NW_BugwizA";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,15);
break;
case 10: sCreature="NW_BugchiefB";
sCreature2="NW_BugwizB";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,15);
break;
case 11: sCreature="NW_Minotaur";
sCreature2="NW_Ogre01";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 12: sCreature="NW_SHMastif";
sCreature2="NW_Shadow";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 13: sCreature="nw_spidswrd";
sCreature2="NW_Aranea";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10);
break;
case 14: sCreature="NW_GhoulLord";
sCreature2="NW_Ghoul";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 15: sCreature="NW_BeastXVIM";
sCreature2="NW_Hellhound";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,20);
break;
case 16: sCreature="NW_BTLStag";
sCreature2="NW_BTLStink";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10);
break;
case 17: sCreature="NW_Troll";
PlaceMonster(sCreature,oLoc1,1,4,sCreature,5);
break;
case 18: sCreature="NW_Werecat";
sCreature2="NW_Werewolf";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 19: sCreature="NW_Wraith";
sCreature2="NW_Spectre";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,25);
break;
case 20: sCreature="NW_SkelPriest";
sCreature2="NW_SkelMage";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,90);
break;
case 21: sCreature="NW_Curst002";
sCreature2="NW_Curst003";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 22: sCreature="NW_OldChiefA";
sCreature2="NW_OldWarrA";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,95);
sCreature="NW_OldWarrA";
sCreature2="NW_OldWarB";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 23: sCreature="NW_Allip";
sCreature2="NW_Spectre";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,5);
break;
case 24: sCreature="NW_Ogre01";
sCreature2="NW_OgreMage01";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 25: sCreature="NW_Bandit003";
sCreature2="NW_Bandit004";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
sCreature="NW_Bandit001";
sCreature2="NW_Bandit002";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 26: sCreature="NW_OgreMage01";
sCreature2="NW_OgreMage02";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 27: sCreature="NW_SlaadRed";
sCreature2="NW_SlaadBl";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,25);
break;
case 28: sCreature = "nw_spidgiant";
PlaceMonster(sCreature,oLoc1,2,2,sCreature,1);
sCreature = "nw_spidswrd";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
sCreature = "nw_spidwra";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
break;
case 29: sCreature="NW_Spectre";
sCreature2="NW_SkelMage";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 30: sCreature="NW_BEASTMALAR001";
sCreature2="NW_BEASTMALAR001";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,1);
break;
}
}
void SummonMonster5(location oLoc1)
{
//Level 7-10
string sCreature="";
string sCreature2="";
int iNumber=0;
int iIndex=0;
switch(Random(26))
{
case 0: sCreature="NW_Wraith";
sCreature2="NW_Spectre";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature="NW_Skelmage";
sCreature2="NW_Skelpriest";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature="NW_ZombWarr01";
sCreature2="NW_ZombWarr02";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 1: sCreature="NW_DrowFight010";
sCreature2="NW_DrowCler010";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 2: sCreature="NW_DrowRogue010";
sCreature2="NW_DrowMage010";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 3: sCreature="NW_DueFight010";
sCreature2="NW_DueCler010";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 4: sCreature="NW_DueRogue010";
sCreature2="NW_DueMage010";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 5: sCreature="NW_OgreMage01";
sCreature2="NW_OgreChief01";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 6: sCreature="NW_OgreMage02";
sCreature2="NW_OgreChief02";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 7: sCreature="NW_Ettin";
sCreature2="NW_Troll";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10);
break;
case 8: sCreature="NW_InvStalk";
sCreature2="NW_Air";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,5);
break;
case 9: sCreature="NW_Minogon";
sCreature2="NW_Golflesh";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10);
break;
case 10: sCreature="NW_Spiddire";
sCreature2="NW_Spidwra";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,15);
break;
case 11: sCreature="NW_Umberhulk";
sCreature2="NW_Minogon";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,2);
break;
case 12: sCreature="NW_SlaadBl";
sCreature2="NW_SlaadRed";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,25);
break;
case 13: sCreature="NW_SlaadRed";
sCreature2="NW_SlaadBl";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,25);
break;
case 14: sCreature="NW_Curst001";
sCreature2="NW_Curst004";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,75);
break;
case 15: sCreature="NW_Vampire";
sCreature2="NW_Wraith";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 16: sCreature="NW_dmsucubus";
sCreature2="NW_Hellhound";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 17: sCreature="NW_Yuan_ti002";
sCreature2="NW_Yuan_ti003";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 18: sCreature="NW_Mummy";
sCreature2="NW_SkelPriest";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 19: sCreature="NW_Spectre";
sCreature2="NW_SkelMage";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
sCreature="NW_Vampire";
sCreature2="NW_SkelPriest";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 20: sCreature="NW_Duefight010";
sCreature2="NW_Drowrogue010";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature="NW_Duecler010";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
sCreature="NW_Drowmage010";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
break;
case 21: sCreature="NW_Bodak";
sCreature2="NW_Shadow";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
break;
case 22: sCreature="NW_skelwarr01";
sCreature2="NW_skelwarr02";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
sCreature="NW_skelpriest";
sCreature2="NW_skelmage";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 23: sCreature="NW_Zombieboss";
sCreature2="NW_Zombie01";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,30);
sCreature="NW_Zombwarr01";
sCreature2="NW_Zombwarr02";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 24: sCreature="NW_Minchief";
sCreature2="NW_MinWiz";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,75);
break;
case 25: sCreature="NW_HUMANMERC004";
sCreature2="NW_DWARFMERC004";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
}
}
void SummonMonster6(location oLoc1)
{
//Level 9-12
string sCreature="";
string sCreature2="";
int iNumber=0;
int iIndex=0;
switch(Random(22))
{
case 0: sCreature = "NW_Skelchief";
sCreature2 = "NW_Skeleton";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
sCreature="NW_skelwarr01";
sCreature2="NW_skelpriest";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature="NW_skelwarr02";
sCreature2="NW_skelmage";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 1: sCreature="NW_Mohrg";
sCreature2="NW_Mummy";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10);
break;
case 2: sCreature="NW_SHFiend";
sCreature2="NW_SHMastif";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 3: sCreature="NW_Ettin";
sCreature2="NW_Ogre01";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,15);
break;
case 4: sCreature="NW_GolFlesh";
sCreature2="NW_GolClay";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 5: sCreature="NW_Grayrend";
sCreature2="NW_Grayrend";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,30);
break;
case 6: sCreature="NW_SlaadGrn";
sCreature2="NW_SlaadRed";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 7: sCreature="NW_Minchief";
sCreature2="NW_MinWiz";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,40);
break;
case 8: sCreature="NW_Rakshasa";
sCreature2="NW_Werecat";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 9: sCreature="NW_Skelwarr01";
sCreature2="NW_Skelwarr02";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,60);
break;
case 10: sCreature="NW_Trollchief";
sCreature2="NW_Trollwiz";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,50);
break;
case 11: sCreature="NW_Willowisp";
sCreature2="NW_Willowisp";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,30);
break;
case 12: sCreature="NW_Doomkght";
sCreature2="NW_Skelwarr01";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 13: sCreature="NW_Ghoulboss";
sCreature2="NW_Mummy";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,20);
break;
case 14: sCreature="NW_Bodak";
sCreature2="NW_Shadow";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,30);
break;
case 15: sCreature = "NW_Zombwarr01";
sCreature2 = "NW_Zombwarr02";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature="NW_skelwarr01";
sCreature2="NW_skelpriest";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
sCreature="NW_skelwarr02";
sCreature2="NW_skelmage";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 16: sCreature="NW_Minchief";
sCreature2="NW_MinWiz";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,5);
sCreature="NW_MinWiz";
sCreature2="NW_Minotaur";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 17: sCreature="NW_SHFiend";
sCreature2="NW_SHMastif";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
sCreature="NW_SHMastif";
sCreature2="NW_SHMastif";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,1);
sCreature="NW_Shadow";
sCreature2="NW_SHMastif";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,1);
break;
case 18: sCreature="NW_Vampire002";
sCreature2="NW_Wraith";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
break;
case 19: sCreature="NW_drowmage015";
sCreature2="NW_drowmage015";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
sCreature="NW_drowfight005";
sCreature2="NW_drowcler005";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 20: sCreature="shaderogue";
sCreature2="NW_Shadow";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
break;
case 21: sCreature="NW_HUMANMERC005";
sCreature2="NW_DWARFMERC005";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
}
}
void SummonMonster7(location oLoc1)
{
//Level 11-14
string sCreature="";
string sCreature2="";
int iNumber=0;
int iIndex=0;
switch(Random(29))
{
case 0: sCreature="NW_Bodak";
sCreature2="NW_Vampire";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 1: sCreature="NW_drowfight015";
sCreature2="NW_drowcler015";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 2: sCreature="NW_drowrogue015";
sCreature2="NW_drowmage015";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 3: sCreature="NW_duefight015";
sCreature2="NW_duecler015";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,60);
break;
case 4: sCreature="NW_duerogue015";
sCreature2="NW_duemage015";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 5: sCreature="NW_mumfight";
sCreature2="NW_mumcleric";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,60);
break;
case 6: sCreature="NW_Vampire002";
sCreature2="NW_Wraith";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10);
break;
case 7: sCreature="NW_revenant001";
sCreature2="NW_Wraith";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 8: sCreature="NW_Vampire001";
sCreature2="NW_Vampire003";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 9: sCreature="NW_gntHill";
sCreature2="NW_gntMount";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 10: sCreature="NW_gntFrost";
sCreature2="NW_Water";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10);
break;
case 11: sCreature="NW_gntFire";
sCreature2="NW_Fire";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10);
break;
case 12: sCreature="NW_Slaadgray";
sCreature2="NW_Slaaddeth";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,5);
break;
case 13: sCreature="NW_FireHuge";
sCreature2="NW_Fire";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 14: sCreature="NW_WaterHuge";
sCreature2="NW_Water";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 15: sCreature="NW_EarthHuge";
sCreature2="NW_Earth";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 16: sCreature="NW_Dmvrock";
sCreature2="NW_dmsucubus";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10);
break;
case 17: sCreature="NW_halffnd001";
sCreature2="NW_Shadow";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,20);
break;
case 18: sCreature="NW_golbone";
sCreature2="NW_golclay";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,10);
break;
case 19: sCreature="NW_helmhorr";
sCreature2="NW_bahorror";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 20: sCreature="NW_golclay";
sCreature2="NW_shguard";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,40);
break;
case 21: sCreature="NW_skelchief";
sCreature2="NW_skelwarr02";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,95);
sCreature="NW_skelmage";
sCreature2="NW_skelpriest";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,95);
sCreature="NW_vampire";
sCreature2="NW_skelwarr01";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,95);
break;
case 22: sCreature="NW_slaadgryboss";
sCreature2="NW_slaadgray";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,75);
break;
case 23: sCreature="NW_doomkghtboss";
sCreature2="NW_doomkght";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 24: sCreature="NW_minotaurboss";
sCreature2="NW_minchief";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,95);
sCreature="NW_Minwiz";
sCreature2="NW_Minotaur";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 25: sCreature="NW_Duefight015";
sCreature2="NW_Drowrogue015";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature="NW_Duecler015";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
sCreature="NW_Drowmage015";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
break;
case 26: sCreature="shadowlord";
sCreature2="NW_SHFiend";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 27: sCreature="shaderogue";
sCreature2="NW_Shadow";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,1);
break;
case 28: sCreature="nw_skeldevour";
sCreature2="nw_skeldevour";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,1);
break;
}
}
void SummonMonster8(location oLoc1)
{
//level 13-18
string sCreature="";
string sCreature2="";
int iNumber=0;
int iIndex=0;
switch(Random(18))
{
case 0: sCreature="NW_Dmvrock";
sCreature2="NW_dmsucubus";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,10);
break;
case 1: sCreature="NW_drowfight020";
sCreature2="NW_drowcler020";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 2: sCreature="NW_drowrogue020";
sCreature2="NW_drowmage020";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 3: sCreature="NW_duefight020";
sCreature2="NW_duecler020";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,60);
break;
case 4: sCreature="NW_duerogue020";
sCreature2="NW_duemage020";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,25);
break;
case 5: sCreature="NW_drowfight015";
sCreature2="NW_drowrogue015";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,25);
break;
case 6: sCreature="NW_drowmage020";
sCreature2="NW_drowcler020";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 7: sCreature="NW_mummyboss";
sCreature2="NW_vampire003";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
sCreature="NW_mummy";
sCreature2="NW_mummy";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,1);
break;
case 8: sCreature="NW_AirHuge";
sCreature2="NW_Air";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 9: sCreature="NW_golstone";
sCreature2="NW_golclay";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,10);
break;
case 10: sCreature="NW_spiderboss";
sCreature2="NW_drowmage020";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,80);
break;
case 11: sCreature="nw_beetleboss";
sCreature2="NW_duefight020";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,80);
break;
case 12: sCreature="NW_dmvrock";
sCreature2="NW_halffnd001";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 13: sCreature="NW_slaaddeth";
sCreature2="NW_slaadgray";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,20);
break;
case 14: sCreature="NW_Duefight020";
sCreature2="NW_Drowrogue020";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature="NW_Duecler020";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
sCreature="NW_Drowmage020";
PlaceMonster(sCreature,oLoc1,1,2,sCreature,1);
break;
case 15: sCreature="NW_golclay";
sCreature2="NW_golclay";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,1);
sCreature="NW_Drowcler020";
PlaceMonster(sCreature,oLoc1,1,1,sCreature,1);
break;
case 16: sCreature="shadowlord";
sCreature2="NW_SHFiend";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,20);
break;
case 17: sCreature="NW_HUMANMERC006";
sCreature2="NW_DWARFMERC006";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
}
}
void SummonMonster9(location oLoc1)
{
//level 14+
string sCreature="";
string sCreature2="";
int iNumber=0;
int iIndex=0;
switch(Random(10))
{
case 0: sCreature="NW_golstone";
sCreature2="NW_golclay";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,10);
break;
case 1: sCreature="NW_EarthEld";
sCreature2="NW_EarthHuge";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 2: sCreature="NW_FireElder";
sCreature2="NW_FireHuge";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 3: sCreature="NW_WatElder";
sCreature2="NW_WaterHuge";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,60);
break;
case 4: sCreature="NW_golIron";
sCreature2="NW_golStone";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,20);
break;
case 5: sCreature="NW_demon";
sCreature2="NW_halffnd001";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 6: sCreature="nw_slaaddthboss";
sCreature2="NW_Slaaddeth";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,90);
break;
case 7: sCreature="NW_lich003";
sCreature2="NW_vampire003";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 8: sCreature="nw_beardireboss";
sCreature2="nw_vampire";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
break;
case 9: sCreature="NW_drg" + DragonColor();
sCreature=sCreature + "001";
sCreature2="NW_halfdra001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
break;
}
}
void SummonMonster10(location oLoc1)
{
//level 16+
string sCreature="";
string sCreature2="";
int iNumber=0;
int iIndex=0;
switch(Random(6))
{
case 0: sCreature="nw_airelder";
sCreature2="NW_AirHuge";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,20);
break;
case 1: sCreature="NW_lichboss";
sCreature2="NW_vampire";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,20);
break;
case 2: sCreature="NW_ogremageboss";
sCreature2="NW_ogremageboss";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 3: sCreature="nw_balorboss";
sCreature2="nw_demon";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 4: sCreature="NW_beardireboss";
sCreature2="NW_beardireboss";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
break;
case 5: sCreature="NW_drg" + DragonColor();
sCreature=sCreature + "002";
sCreature2="NW_halfdra001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
break;
}
}
void SummonMonster11(location oLoc1)
{
//level 16+ hard , boss and rare mobs
string sCreature="";
string sCreature2="";
int iNumber=0;
int iIndex=0;
switch(Random(4))
{
case 0: sCreature="NW_lich001";
sCreature2="NW_vampire001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
break;
case 1: sCreature="NW_lich002";
sCreature2="NW_demon";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 2: sCreature="nw_balorboss";
sCreature2="nw_demon";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 3: sCreature="NW_drg" + DragonColor();
sCreature=sCreature + "003";
sCreature2="NW_halfdra001";
PlaceMonster(sCreature,oLoc1,1,1,sCreature2,1);
break;
}
}
object SummonUndead(location oLoc1, int iLevel)
{
int iRandomMax;
int iRandom;
string sCreature;
string sCreature2;
object oCreature;
iRandom=Random(iLevel) + (iLevel-1);
if (iRandom>31)
{
iRandom = 31;
}
switch(iRandom)
{
case 0: sCreature = "NW_Skeleton";
sCreature2 = "NW_Skeleton";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,25);
break;
case 1: sCreature = "NW_Skeleton";
sCreature2 = "NW_Zombie01";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
break;
case 2: sCreature = "NW_Skeleton";
sCreature2 = "NW_Zombie01";
oCreature=PlaceMonster(sCreature,oLoc1,1,4,sCreature2,25);
break;
case 3: sCreature = "NW_Zombie01";
sCreature2 = "NW_Zombie02";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 4: sCreature = "NW_Skeleton";
sCreature2 = "NW_Zombie01";
oCreature=PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 5: sCreature = "NW_Zombie01";
sCreature2 = "NW_Zombie02";
oCreature=PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 6: sCreature = "NW_Zombie01";
sCreature2 = "NW_Ghoul";
oCreature=PlaceMonster(sCreature,oLoc1,1,4,sCreature2,25);
break;
case 7: sCreature = "NW_Ghoul";
sCreature2 = "NW_Ghast";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 8: sCreature = "NW_Skeleton";
sCreature2 = "NW_Zombie02";
oCreature=PlaceMonster(sCreature,oLoc1,2,2,sCreature2,75);
sCreature = "NW_Zombie01";
sCreature2 = "NW_Ghoul";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 9: sCreature = "NW_Wight";
sCreature2 = "NW_Ghoul";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,25);
break;
case 10: sCreature = "NW_Ghast";
sCreature2 = "haunting";
oCreature=PlaceMonster(sCreature,oLoc1,1,4,sCreature2,50);
break;
case 11: sCreature = "NW_Wraith";
sCreature2 = "haunting";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 12: sCreature = "NW_Wraith";
sCreature2 = "NW_Shadow";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
sCreature = "NW_Wight";
sCreature2 = "NW_Ghoul";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 13: sCreature = "NW_Vampire";
sCreature2 = "NW_Wraith";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,20);
break;
case 14: sCreature = "NW_Wraith";
sCreature2 = "NW_Wight";
oCreature=PlaceMonster(sCreature,oLoc1,1,4,sCreature2,25);
break;
case 15: sCreature = "NW_Spectre";
sCreature2 = "NW_Wraith";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,10);
break;
case 16: sCreature = "NW_SkelMage";
sCreature2 = "NW_Skeleton";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,90);
break;
sCreature = "NW_SkelPriest";
sCreature2 = "NW_SkelWar01";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
break;
case 17: sCreature = "NW_Mummy";
sCreature2 = "NW_Ghoullord";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 18: sCreature = "NW_Vampire002";
sCreature2 = "NW_Vampire";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 19: sCreature = "NW_Vampire001";
sCreature2 = "NW_Vampire003";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 20: sCreature = "NW_revenant001";
sCreature2 = "NW_Wraith";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 21: sCreature = "NW_mummyboss";
sCreature2 = "NW_Vampire";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 22: sCreature = "NW_mumfight";
sCreature2 = "NW_mumcleric";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,20);
sCreature = "NW_mummy";
sCreature2 = "NW_mummyboss";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,20);
break;
case 23: sCreature = "NW_mumcleric";
sCreature2 = "NW_mumfight";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,20);
sCreature = "NW_mummy";
sCreature2 = "NW_mummyboss";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,20);
break;
case 24: sCreature = "NW_mumcleric";
sCreature2 = "NW_mummy";
oCreature=PlaceMonster(sCreature,oLoc1,1,4,sCreature2,70);
sCreature = "NW_mumfight";
sCreature2 = "NW_mummyboss";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,40);
break;
case 25: sCreature = "NW_lich003";
sCreature2 = "NW_Vampire";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
break;
case 26: sCreature = "NW_lich003";
sCreature2 = "NW_Vampire";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
sCreature = "NW_SkelMage";
sCreature2 = "NW_Skeleton";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
sCreature = "NW_SkelPriest";
sCreature2 = "NW_SkelWar01";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 27: sCreature = "NW_lichboss";
sCreature2 = "NW_Vampire003";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
break;
case 28: sCreature = "NW_lichboss";
sCreature2 = "NW_Vampire003";
oCreature=PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
sCreature = "NW_SkelMage";
sCreature2 = "NW_Skeleton";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
sCreature = "NW_SkelPriest";
sCreature2 = "NW_SkelWar01";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 29: sCreature = "NW_lich001";
sCreature2 = "NW_Vampire";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
break;
case 30: sCreature = "NW_lich001";
sCreature2 = "NW_Vampire";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
sCreature = "NW_SkelMage";
sCreature2 = "NW_Skeleton";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
sCreature = "NW_SkelPriest";
sCreature2 = "NW_SkelWar01";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
break;
case 31: sCreature = "NW_lich002";
sCreature2 = "NW_Vampire003";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,10);
break;
}
return oCreature;
}
object SummonBandits(location oLoc1,int iLevel)
{
int iRandomMax;
int iRandom;
int iPCCount;
string sCreature;
string sCreature2;
object oCreature;
iRandom = Random(10);
if (iRandom <2) iLevel++;
if (iRandom >8) iLevel--;
//adjust difficulty level for number of PC's in game
iPCCount = GetPCCount();
if (iPCCount ==1)
{
iLevel--;
}
if (iPCCount >3)
{
iLevel++;
}
if (iLevel>20) iLevel=20;
if (iLevel<1) iLevel=1;
if (iLevel<3)
{
if (Random(2)==0)
{
sCreature = "NW_Bandit001";
sCreature2 = "NW_Bandit002";
oCreature=PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
} else {
sCreature = "NW_Bandit003";
sCreature2 = "NW_Bandit001";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
}
}
if (iLevel > 2 && iLevel<6)
{
sCreature = "NW_Bandit001";
sCreature2 = "NW_Bandit002";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
sCreature = "NW_Bandit001";
sCreature2 = "NW_Bandit003";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,25);
sCreature = "NW_Bandit004";
sCreature2 = "NW_Bandit005";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,25);
}
if (iLevel > 5 && iLevel<9)
{
sCreature = "NW_Bandit003";
sCreature2 = "NW_Bandit002";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
sCreature = "NW_Bandit005";
sCreature2 = "NW_Bandit004";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
if (Random(3) == 0)
{
sCreature = "NW_Bandit006";
sCreature2 = "NW_Bandit004";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
}
}
if (iLevel > 8 && iLevel <13)
{
sCreature = "NW_Bandit003";
sCreature2 = "NW_Bandit002";
PlaceMonster(sCreature,oLoc1,2,3,sCreature2,50);
sCreature = "NW_Bandit005";
sCreature2 = "NW_Bandit004";
PlaceMonster(sCreature,oLoc1,1,2,sCreature2,50);
sCreature = "NW_Bandit006";
sCreature2 = "NW_Bandit004";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
}
if (iLevel > 12 && iLevel<16)
{
sCreature = "NW_Bandit006";
sCreature2 = "NW_Bandit003";
PlaceMonster(sCreature,oLoc1,1,4,sCreature2,50);
sCreature = "NW_Bandit005";
sCreature2 = "NW_Bandit004";
PlaceMonster(sCreature,oLoc1,1,3,sCreature2,50);
sCreature = "NW_Bandit007";
sCreature2 = "NW_Bandit004";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
}
if (iLevel > 15)
{
sCreature = "NW_drowfight020";
sCreature2 = "NW_drowrogue020";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,70);
sCreature = "NW_Bandit006";
sCreature2 = "NW_Bandit005";
PlaceMonster(sCreature,oLoc1,2,2,sCreature2,50);
sCreature = "NW_Bandit007";
sCreature2 = "NW_Bandit004";
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature2,50);
}
//SendMessageToPC(GetFirstPC(),"oCreature (In Bandits) = " + GetName(oCreature));
return oCreature;
}
void SummonAnything(location oLoc1,int iLevel)
{
int iRnd;
int iLevel2;
iLevel2 = iLevel/2+1;
iRnd = Random(10);
if (iRnd<2) iLevel2++;
if (iRnd>8) iLevel2--;
if (iLevel2<0) iLevel2=0;
if (iLevel2>11) iLevel2=10;
switch (iLevel2)
{
case 0 : SummonMonster0(oLoc1); break;
case 1 : SummonMonster1(oLoc1); break;
case 2 : SummonMonster2(oLoc1); break;
case 3 : SummonMonster3(oLoc1); break;
case 4 : SummonMonster4(oLoc1); break;
case 5 : SummonMonster5(oLoc1); break;
case 6 : SummonMonster6(oLoc1); break;
case 7 : SummonMonster7(oLoc1); break;
case 8 : SummonMonster8(oLoc1); break;
case 9 : SummonMonster9(oLoc1); break;
case 10 : SummonMonster10(oLoc1); break;
case 11 : SummonMonster11(oLoc1); break;
}
}
string GetCreature(int iLevel)
{
string sTag;
int iRnd;
iRnd=0;
if (iLevel <9)
{
iRnd = Random(6) + (iLevel-1) * 4;
}
if (iLevel > 8 && iLevel < 15)
{
iRnd = Random(10) + (iLevel * 3);
}
if (iLevel > 14)
{
iRnd = Random(10) + 46;
}
switch (iRnd)
{
case 0: sTag = "nw_goblina";
break;
case 1: sTag = "nw_orca";
break;
case 2: sTag = "nw_skeleton";
break;
case 3: sTag = "NW_stirge";
break;
case 4: sTag = "NW_Bandit001";
break;
case 5: sTag = "NW_oldwarra";
break;
case 6: sTag = "NW_BugbearA";
break;
case 7: sTag = "NW_Spidgiant";
break;
case 8: sTag = "NW_wererat";
break;
case 9: sTag = "NW_Shadow";
break;
case 10: sTag = "NW_Ghoul";
break;
case 11: sTag = "NW_Werewolf";
break;
case 12: sTag = "haunting";
break;
case 13: sTag = "NW_Gargoyle";
break;
case 14: sTag = "NW_Imp";
break;
case 15: sTag = "NW_Spidwra";
break;
case 16: sTag = "NW_Zombwarr01";
break;
case 17: sTag = "nw_ogre01";
break;
case 18: sTag = "NW_Troll";
break;
case 19: sTag = "NW_Wight";
break;
case 20: sTag = "NW_Werecat";
break;
case 21: sTag = "NW_OrcChiefA";
break;
case 22: sTag = "NW_OrcWizA";
break;
case 23: sTag = "NW_OldMageA";
break;
case 24: sTag = "NW_Ettercap";
break;
case 25: sTag = "NW_Horror";
break;
case 26: sTag = "NW_Minotaur";
break;
case 27: sTag = "NW_Curst002";
break;
case 28: sTag = "NW_Wraith";
break;
case 29: sTag = "NW_Spectre";
break;
case 30: sTag = "NW_SkelMage";
break;
case 31: sTag = "NW_SkelPriest";
break;
case 32: sTag = "NW_SHMastif";
break;
case 33: sTag = "NW_Aranea";
break;
case 34: sTag = "NW_BugChiefA";
break;
case 35: sTag = "NW_BugWizB";
break;
case 36: sTag = "NW_Bandit003";
break;
case 37: sTag = "NW_Bandit004";
break;
case 38: sTag = "NW_OgreMage01";
break;
case 39: sTag = "NW_Ettin";
break;
case 40: sTag = "NW_Vampire";
break;
case 41: sTag = "NW_Yuan_ti002";
break;
case 42: sTag = "NW_Doomkght";
break;
case 43: sTag = "NW_Bodak";
break;
case 44: sTag = "NW_gntHill";
break;
case 45: sTag = "NW_gntMount";
break;
case 46: sTag = "NW_revenant001";
break;
case 47: sTag = "NW_mummy";
break;
case 48: sTag = "NW_gntFire";
break;
case 49: sTag = "NW_gntFrost";
break;
case 50: sTag = "NW_DMVrock";
break;
case 51: sTag = "NW_halffnd001";
break;
case 52: sTag = "NW_mummyboss";
break;
case 53: sTag = "NW_demon";
break;
case 54: sTag = "NW_lich003";
break;
case 55: sTag = "NW_balorboss";
break;
}
return sTag;
}
object SummonCreature(location oLoc1, int iLevel)
{
string sCreature;
object oCreature;
sCreature=GetCreature(iLevel);
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature,25);
return oCreature;
}
string GetAnimal(int iLevel)
{
string sTag;
int iRnd;
if (iLevel<3)
{
iRnd = Random(16);
switch (iRnd)
{
case 0: sTag = "nw_deer";
break;
case 1: sTag = "nw_wolf";
break;
case 2: sTag = "nw_bearblck";
break;
case 3: sTag = "NW_cat";
break;
case 4: sTag = "NW_panther";
break;
case 5: sTag = "nw_deer";
break;
case 6: sTag = "nw_wolf";
break;
case 7: sTag = "nw_wolf";
break;
case 8: sTag = "nw_wolf";
break;
case 9: sTag = "NW_cat";
break;
case 10: sTag = "nw_dryad";
break;
case 11: sTag = "nw_pixie";
break;
case 12: sTag = "nw_boar";
break;
case 13: sTag = "nw_raptor001";
break;
case 14: sTag = "nw_bat";
break;
case 15: sTag = "nw_ox";
break;
}
}
if (iLevel > 2 && iLevel < 14)
{
iRnd = Random(18);
switch (iRnd)
{
case 0: sTag = "nw_deer";
break;
case 1: sTag = "nw_wolf";
break;
case 2: sTag = "nw_bearblck";
break;
case 3: sTag = "NW_cat";
break;
case 4: sTag = "NW_panther";
break;
case 5: sTag = "NW_worg";
break;
case 6: sTag = "NW_boar";
break;
case 7: sTag = "NW_cougar";
break;
case 8: sTag = "NW_cragcat";
break;
case 9: sTag = "NW_jaguar";
break;
case 10: sTag = "NW_bearbrwn";
break;
case 11: sTag = "NW_wolfwint";
break;
case 12: sTag = "NW_lion";
break;
case 13: sTag = "NW_boardire";
break;
case 14: sTag = "nw_bearpolar";
break;
case 15: sTag = "nw_bearkodiak";
break;
case 16: sTag = "nw_dryad";
break;
case 17: sTag = "nw_pixie";
break;
}
}
if (iLevel > 13)
{
iRnd = Random(10);
switch (iRnd)
{
case 0: sTag = "nw_pixie";
break;
case 1: sTag = "nw_wolf";
break;
case 2: sTag = "nw_bearblck";
break;
case 3: sTag = "NW_wolfdireboss";
break;
case 4: sTag = "NW_beardireboss";
break;
case 5: sTag = "nw_diretiger";
break;
case 6: sTag = "NW_wolfdireboss";
break;
case 7: sTag = "NW_beardireboss";
break;
case 8: sTag = "nw_diretiger";
break;
case 9: sTag = "NW_wolfdireboss";
break;
}
}
return sTag;
}
object SummonAnimal(location oLoc1, int iLevel)
{
string sCreature;
object oCreature;
sCreature=GetAnimal(iLevel);
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature,25);
return oCreature;
}
string GetDemon(int iLevel,int iMod=0)
{
int iRnd;
int iFlag;
string sTag;
iFlag = 0;
while (iFlag == 0)
{
iFlag = 1;
iRnd = Random(iLevel) + 1 + iMod;
if (iRnd>19)
{
iRnd=19;
}
if (iLevel > 9 && iRnd < (iLevel/2))
{
iFlag = 0;
}
if (iLevel > 15 && iRnd < (iLevel*2/3))
{
iFlag = 0;
}
}
switch (iRnd)
{
case 0: sTag = "nw_tiefling";
break;
case 1: sTag = "nw_hellhound";
break;
case 2: sTag = "nw_imp";
break;
case 3: sTag = "NW_dmquasit";
break;
case 4: sTag = "NW_shmastif";
break;
case 5: sTag = "nw_beastxvim";
break;
case 6: sTag = "NW_slaadred";
break;
case 7: sTag = "NW_slaadbl";
break;
case 8: sTag = "nw_shfiend";
break;
case 9: sTag = "NW_dmsucubus";
break;
case 10: sTag = "nw_slaadgrn";
break;
case 11: sTag = "nw_rakasha";
break;
case 12: sTag = "nw_bodak";
break;
case 13: sTag = "NW_slaadgryboss";
break;
case 14: sTag = "NW_dmvrock";
break;
case 15: sTag = "nw_halffnd001";
break;
case 16: sTag = "NW_slaaddeth";
break;
case 17: sTag = "NW_slaaddthboss";
break;
case 18: sTag = "nw_demon";
break;
case 19: sTag = "NW_balorboss";
break;
}
return sTag;
}
object SummonDemon(location oLoc1, int iLevel,int iSwarm=0)
{
int iRnd;
int iIndex;
int iRnd2;
int iIndex2;
string sCreature;
object oCreature;
switch (iSwarm)
{
case 0: sCreature=GetDemon(iLevel);
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature,25);
break;
case 1: iRnd = Random(3)+2;
sCreature=GetDemon(iLevel);
for (iIndex=0; iIndex < iRnd; iIndex++)
{
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature,25);
}
break;
case 2: iRnd = Random(3)+2;
for (iIndex=0; iIndex < iRnd; iIndex++)
{
sCreature=GetDemon(iLevel);
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature,25);
}
break;
case 3: iRnd = Random(3)+2;
for (iIndex=0; iIndex < iRnd; iIndex++)
{
iRnd2 = Random(3)+2;
for (iIndex2=0; iIndex2 < iRnd2; iIndex2++)
{
sCreature=GetDemon(iLevel);
oCreature=PlaceMonster(sCreature,oLoc1,1,1,sCreature,25);
}
}
break;
}
return oCreature;
}
object SummonElemental(location oLoc1, int iLevel)
{
int iRnd;
int iNum;
int iIndex;
string sType;
string sTag;
string sTag2;
object oCreature;
iRnd = Random(4);
switch (iRnd)
{
case 0: sType = "Fire"; break;
case 1: sType = "Earth"; break;
case 2: sType = "Air"; break;
case 3: sType = "Water"; break;
}
if (iLevel < 3)
{
iRnd = Random(4);
switch (iRnd)
{
case 0: sTag = "nw_mepooze"; break;
case 1: sTag = "nw_mepmagma"; break;
case 2: sTag = "nw_mepsteam"; break;
case 3: sTag = "nw_mepsalt"; break;
}
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag,25);
}
if (iLevel > 2 && iLevel < 11)
{
iNum = (iLevel-1)/2;
iRnd = Random(iNum) + 1;
for (iIndex=1; iIndex <=iRnd; iIndex++)
{
sTag = "nw_" + sType;
sTag2 = "nw_mep" + sType;
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,25);
}
iRnd = Random(9) + 2;
if (iLevel > iRnd)
{
iRnd = Random(3) + 1;
for (iIndex=1; iIndex <=iRnd; iIndex++)
{
sTag = "nw_invstalk";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,25);
}
}
iRnd = Random(15) + 6;
if (iLevel > iRnd)
{
sTag = "nw_" + sType + "huge";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag,5);
}
}
if (iLevel > 10 && iLevel < 16)
{
iRnd = Random(3) + 1;
for (iIndex=1; iIndex <=iRnd; iIndex++)
{
sTag = "nw_" + sType + "huge";
sTag2 = "nw_" + sType;
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,50);
}
}
if (iLevel > 15 && iLevel < 19)
{
iRnd = Random(3) + 1;
for (iIndex=1; iIndex <=iRnd; iIndex++)
{
sTag = "nw_" + sType + "great";
sTag2 = "nw_" + sType + "huge";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,50);
}
}
if (iLevel > 18)
{
iRnd = Random(3) + 1;
for (iIndex=1; iIndex <=iRnd; iIndex++)
{
sTag = "nw_" + sType + "elder";
if (sType == "earth")
{
sTag = "nw_eartheld";
}
if (sType == "water")
{
sTag = "nw_watelder";
}
sTag2 = "nw_" + sType + "great";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,50);
}
}
return oCreature;
}
object SummonInsect(location oLoc1, int iLevel)
{
int iRnd;
string sTag;
string sTag2;
object oCreature;
if (iLevel<2)
{
sTag = "nw_btlfire";
sTag2 = "nw_btlfire02";
oCreature=PlaceMonster(sTag,oLoc1,1,4,sTag2,5);
}
if (iLevel>1 && iLevel <4)
{
iRnd=Random(4);
switch (iRnd)
{
case 0: sTag = "nw_btlFire02";
sTag2= "nw_btlFire";
oCreature=PlaceMonster(sTag,oLoc1,1,4,sTag2,25);
break;
case 1: sTag = "nw_btlbomb";
sTag2= "nw_btlFire02";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,25);
break;
case 2: sTag = "nw_spidgiant";
sTag2= "nw_spidgiant";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,25);
break;
case 3: sTag = "nw_btlstink";
sTag2= "nw_btlbomb";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,25);
break;
}
}
if (iLevel>3 && iLevel <7)
{
iRnd=Random(8);
switch (iRnd)
{
case 0: sTag = "nw_btlstink";
sTag2= "nw_btlbomb";
oCreature=PlaceMonster(sTag,oLoc1,2,2,sTag2,25);
break;
case 1: sTag = "nw_spidgiant";
sTag2= "nw_spidswrd";
oCreature=PlaceMonster(sTag,oLoc1,2,2,sTag2,25);
break;
case 2: sTag = "nw_spidswrd";
sTag2= "nw_spidwra";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,25);
break;
case 3: sTag = "nw_spidphase";
sTag2= "nw_spidwra";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,25);
break;
case 4: sTag = "nw_btlstag";
sTag2= "nw_btlstink";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,35);
break;
case 5: sTag = "nw_spiddire";
sTag2= "nw_spidswrd";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,25);
break;
case 6: sTag = "nw_spidgiant";
sTag2= "nw_spidwra";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,20);
sTag = "nw_spidswrd";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,20);
break;
case 7: sTag = "nw_btlfire02";
sTag2= "nw_btlstink";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,50);
sTag = "nw_btlbomb";
sTag2= "nw_btlstag";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,50);
break;
}
}
if (iLevel>6 && iLevel <10)
{
iRnd=Random(4);
switch (iRnd)
{
case 0: sTag = "nw_btlstag";
sTag2= "nw_btlbomb";
oCreature=PlaceMonster(sTag,oLoc1,1,4,sTag2,25);
break;
case 1: sTag = "nw_spiddire";
sTag2= "nw_spidswrd";
oCreature=PlaceMonster(sTag,oLoc1,1,4,sTag2,25);
break;
case 2: sTag = "nw_spidgiant";
sTag2= "nw_spidwra";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_spidswrd";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
break;
case 3: sTag = "nw_btlfire02";
sTag2= "nw_btlstink";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_btlbomb";
sTag2= "nw_btlstag";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
break;
}
}
if (iLevel>9 && iLevel <15)
{
iRnd=Random(4);
switch (iRnd)
{
case 0: sTag = "nw_btlstag";
sTag2= "nw_btlbomb";
oCreature=PlaceMonster(sTag,oLoc1,1,4,sTag2,25);
break;
case 1: sTag = "nw_spiddire";
sTag2= "nw_spidswrd";
oCreature=PlaceMonster(sTag,oLoc1,1,4,sTag2,25);
break;
case 2: sTag = "nw_spidgiant";
sTag2= "nw_spidwra";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_spidswrd";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_spiderboss";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,10);
break;
case 3: sTag = "nw_btlfire02";
sTag2= "nw_btlstink";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_btlbomb";
sTag2= "nw_btlstag";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
break;
}
}
if (iLevel>14 && iLevel <17)
{
iRnd=Random(2);
switch (iRnd)
{
case 0: sTag = "nw_spidgiant";
sTag2= "nw_spidwra";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_spidswrd";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_spiderboss";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,10);
break;
case 1: sTag = "nw_btlfire02";
sTag2= "nw_btlstink";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_btlbomb";
sTag2= "nw_btlstag";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,50);
sTag = "nw_beetleboss";
sTag2= "nw_btlstag";
oCreature=PlaceMonster(sTag,oLoc1,1,1,sTag2,10);
break;
}
}
if (iLevel>16)
{
iRnd=Random(2);
switch (iRnd)
{
case 0: sTag = "nw_spidgiant";
sTag2= "nw_spidwra";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,50);
sTag = "nw_spidswrd";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,50);
sTag = "nw_spiderboss";
sTag2= "nw_spidphase";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,10);
break;
case 1: sTag = "nw_btlfire02";
sTag2= "nw_btlstink";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,50);
sTag = "nw_btlbomb";
sTag2= "nw_btlstag";
oCreature=PlaceMonster(sTag,oLoc1,1,2,sTag2,50);
sTag = "nw_beetleboss";
sTag2= "nw_btlstag";
oCreature=PlaceMonster(sTag,oLoc1,1,3,sTag2,10);
break;
}
}
return oCreature;
}