NWScript:
void main()
{
object oPlayer = GetLastPCRested();
int nRestTurn = GetLocalInt(oPlayer, "nRestTurns");
SetLocalInt(oPlayer, "nRestTurns", nRestTurn + 1);
nRestTurn = GetLocalInt(oPlayer, "nRestTurns");
if (nRestTurn == 1) {
int nRestType = d6();
int nEnemyType = d3();
object oEnemy;
string sCreature;
location lHere = GetLocation(oPlayer);
int iLevel = 0;
iLevel += GetLevelByPosition(1, oPlayer);
iLevel += GetLevelByPosition(2, oPlayer);
iLevel += GetLevelByPosition(3, oPlayer);
if (nRestType == 4) {
iLevel++;
nRestType = 3;
}
if (iLevel > 15) {
iLevel = 15;
}
if (nRestType == 3) {
switch (iLevel) {
case 1:
if (nEnemyType == 1)
sCreature = "NW_ORCA";
else if (nEnemyType == 2)
sCreature = "NW_WOLF";
else
sCreature = "NW_ZOMBIE01";
break;
case 2:
if (nEnemyType == 1)
sCreature = "NW_BEARBLCK";
else if (nEnemyType == 2)
sCreature = "NW_BUGBEARA";
else
sCreature = "NW_KRENSHAR";
break;
case 3:
if (nEnemyType == 1)
sCreature = "NW_MEPAIR";
else if (nEnemyType == 2)
sCreature = "NW_BTLBOMB";
else
sCreature = "NW_DIREBADG";
break;
case 4:
if (nEnemyType == 1)
sCreature = "NW_GHAST";
else if (nEnemyType == 2)
sCreature = "NW_AIR";
else
sCreature = "NW_MINOTAUR";
break;
case 5:
if (nEnemyType == 1)
sCreature = "NW_OGREMAGE01";
else if (nEnemyType == 2)
sCreature = "NW_BUGBEARA";
else
sCreature = "NW_KRENSHAR";
break;
case 6:
if (nEnemyType == 1)
sCreature = "NW_OGRECHIEF01";
else if (nEnemyType == 2)
sCreature = "NW_TROLL";
else
sCreature = "NW_DEVOUR";
break;
case 7:
if (nEnemyType == 1)
sCreature = "NW_SLAADBL";
else if (nEnemyType == 2)
sCreature = "NW_UMBERHULK";
else
sCreature = "NW_MUMMY";
break;
case 8:
if (nEnemyType == 1)
sCreature = "NW_GOLFLESH";
else if (nEnemyType == 2)
sCreature = "NW_ETTIN";
else
sCreature = "NW_TROLLCHIEF";
break;
case 9:
if (nEnemyType == 1)
sCreature = "NW_BEARDIRE";
else if (nEnemyType == 2)
sCreature = "NW_MINWIZ";
else
sCreature = "NW_RAKSHASA";
break;
case 10:
if (nEnemyType == 1)
sCreature = "NW_GNTFROST";
else if (nEnemyType == 2)
sCreature = "nw_bugbearboss";
else
sCreature = "NW_GNTHILL";
break;
case 11:
if (nEnemyType == 1)
sCreature = "NW_GOBLINBOSS";
else if (nEnemyType == 2)
sCreature = "NW_BATTDEVOUR";
else
sCreature = "NW_REVENANT001";
break;
case 12:
if (nEnemyType == 1)
sCreature = "NW_GolClay";
else if (nEnemyType == 2)
sCreature = "NW_SHGUARD";
else
sCreature = "NW_DRGBLACK001";
break;
case 13:
if (nEnemyType == 1)
sCreature = "NW_SPIDERBOSS";
else if (nEnemyType == 2)
sCreature = "NW_DRGBLACK001";
else
sCreature = "NW_GNTFIRE";
break;
case 14:
if (nEnemyType == 1)
sCreature = "NW_MUMMYBOSS";
else if (nEnemyType == 2)
sCreature = "drgblue002";
else
sCreature = "NW_GOLIRON";
break;
case 15:
if (nEnemyType == 1)
sCreature = "nw_beetleboss";
else if (nEnemyType == 2)
sCreature = "NW_FIREGREAT";
else
sCreature = "NW_DRGGREEN002";
break;
}
oEnemy = CreateObject(OBJECT_TYPE_CREATURE, sCreature, lHere, FALSE);
AssignCommand(oPlayer, ActionSpeakString("I'm under attack!"));
AssignCommand(oEnemy, ActionWait(3.0));
AssignCommand(oEnemy, ActionAttack(oPlayer));
SetLocalInt(oPlayer, "nRestTurns", -1);
}
}
if(nRestTurn != 1)
SetLocalInt(oPlayer, "nRestTurns", 0);
}