#include "NW_O2_CONINCLUDE"
#include "NW_I0_GENERIC"
void main()
{
    SetSpawnInCondition(NW_FLAG_APPEAR_SPAWN_IN_ANIMATION);
    SetListeningPatterns();
    WalkWayPoints();

    if ((GetChallengeRating(OBJECT_SELF) >= 12.1) && (GetChallengeRating(OBJECT_SELF) <= 18.0)) {
    GenerateMediumTreasure(OBJECT_SELF);
    GenerateMediumTreasure(OBJECT_SELF);
    GenerateMediumTreasure(OBJECT_SELF);
    GenerateMediumTreasure(OBJECT_SELF);
    CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 320);
      {
      int nRandom = d4(1);
      if (nRandom == 1){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 2){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 3){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 4){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}}
      {
      int nRandom = d8(1);
      int nTreasureType = 1;
      if (nRandom == 1){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 2){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 3){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 4){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 5){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 6){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 7){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 8){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}}

    } else if ((GetChallengeRating(OBJECT_SELF) >= 18.1) && (GetChallengeRating(OBJECT_SELF) <= 23.0)) {
    GenerateMediumTreasure(OBJECT_SELF);
    GenerateMediumTreasure(OBJECT_SELF);
    GenerateMediumTreasure(OBJECT_SELF);
    GenerateHighTreasure(OBJECT_SELF);
    CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 410);
      {
      int nRandom = d4(1);
      if (nRandom == 1){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 2){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 3){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 4){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}}
      {
      int nRandom = d4(1);
      if (nRandom == 1){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 2){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 3){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 4){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}}
      {
      int nRandom = d8(1);
      int nTreasureType = 1;
      if (nRandom == 1){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 2){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 3){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 4){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 5){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 6){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 7){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 8){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}}

    } else if ((GetChallengeRating(OBJECT_SELF) >= 23.1) && (GetChallengeRating(OBJECT_SELF) <= 27.0)) {
    GenerateMediumTreasure(OBJECT_SELF);
    GenerateHighTreasure(OBJECT_SELF);
    GenerateHighTreasure(OBJECT_SELF);
    GenerateHighTreasure(OBJECT_SELF);
    CreateItemOnObject("NW_IT_GOLD001", OBJECT_SELF, 500);
      {
      int nRandom = d4(1);
      if (nRandom == 1){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 2){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 3){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 4){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}}
      {
      int nRandom = d4(1);
      if (nRandom == 1){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 2){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 3){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 4){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}}
      {
      int nRandom = d4(1);
      if (nRandom == 1){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 2){
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 3){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}
      else if (nRandom == 4){
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateDivineScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);
       CreateArcaneScroll(OBJECT_SELF, OBJECT_SELF);}}
      {
      int nRandom = d8(1);
      int nTreasureType = 1;
      if (nRandom == 1){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 2){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 3){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 4){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 5){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 6){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 7){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}
      else if (nRandom == 8){
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateGem(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);
       CreateJewel(OBJECT_SELF, OBJECT_SELF, nTreasureType);}}
    }
}