//#include "_persist_01a"

//The following comment added Aug. 19, 2003, by UOAbigail
//
//Original script written by UOAbigail for UOACraft v02x and up
//Script modified to work with conversation menu instead of floaty text
//by Mikel.  This is a 100% improvement over the floaty text version.
//
//Be sure to check out the Somnium module in the Social Servers section
//of GameSpy to see UOAcraft in action, as well as many other systems
//scripted by Mikel. ;)  (Sorry...Had to plug yer mod here ;)
//
//Modified script is included in this release via permission from Mikel.
//
//Script modified sleightly for improved formatting and inclusion of version
//by UOAbigail on Aug. 19, 2003
//
//------End comment------


void DelayText(object oPC, int iSkillNumber);
void DelayText2(object oPC, int iSkillNumber);

void main()
{
  object oPC = OBJECT_SELF;
  object oTarget = GetLocalObject(oPC,"oTarget");
  int iSkillNumber =33;
  for (iSkillNumber; iSkillNumber>0; iSkillNumber--)
   {
    if (oTarget==OBJECT_INVALID)DelayText(oPC,iSkillNumber);
    if (oTarget!=OBJECT_INVALID)
     {
      if (oTarget==oPC)DelayText(oTarget,iSkillNumber);
      if (oTarget!=oPC)DelayText2(oTarget,iSkillNumber);
     }
   }

}


void DelayText(object oPC, int iSkillNumber)
 {
  string sSkillName = "";
  string sSkillTitle = "- Unskilled -";
  int iSkillValue = 0;

  switch (iSkillNumber)
   {
    case 1:
     {
      iSkillValue = GetCampaignInt("UOACraft","iMiningSkill",oPC);
      sSkillName = "Mining";
      break;
     }
    case 2:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSmeltSkill",oPC);
      sSkillName = "Smelting";
      break;
     }
    case 3:
     {
      iSkillValue = GetCampaignInt("UOACraft","iDigSkill",oPC);
      sSkillName = "Digging";
      break;
     }
    case 4:
     {
      iSkillValue = GetCampaignInt("UOACraft","iGlassSkill",oPC);
      sSkillName = "Pottery and Glassblowing";
      break;
     }
    case 5:
     {
      iSkillValue = GetCampaignInt("UOACraft","iTinkerSkill",oPC);
      sSkillName = "Tinkering";
      break;
     }
    case 6:
     {
      iSkillValue = GetCampaignInt("UOACraft","iFarmSkill",oPC);
      sSkillName = "Farming";
      break;
     }
    case 7:
     {
      iSkillValue = GetCampaignInt("UOACraft","iLumberjackSkill",oPC);
      sSkillName = "Lumberjacking";
      break;
     }
    case 8:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSkinningSkill",oPC);
      sSkillName = "Skinning Pelts";
      break;
     }
    case 9:
     {
      iSkillValue = GetCampaignInt("UOACraft","iCureSkill",oPC);
      sSkillName = "Curing Hides";
      break;
     }
    case 10:
     {
      iSkillValue = GetCampaignInt("UOACraft","iTanSkill",oPC);
      sSkillName = "Tanning Leather";
      break;
     }
    case 11:
     {
      iSkillValue = GetCampaignInt("UOACraft","iLeatherSkill",oPC);
      sSkillName = "Leatherworking";
      break;
     }
    case 12:
     {
      iSkillValue = GetCampaignInt("UOACraft","iAlchemySkill",oPC);
      sSkillName = "Alchemy";
      break;
     }
    case 13:
     {
      iSkillValue = GetCampaignInt("UOACraft","iFishingSkill",oPC);
      sSkillName = "Fishing";
      break;
     }
    case 14:
     {
      iSkillValue = GetCampaignInt("UOACraft","iBeeSkill",oPC);
      sSkillName = "Beekeeping";
      break;
     }
    case 15:
     {
      iSkillValue = GetCampaignInt("UOACraft","iFletchingSkill",oPC);
      sSkillName = "Fletching";
      break;
     }
    case 16:
     {
      iSkillValue = GetCampaignInt("UOACraft","iBowSkill",oPC);
      sSkillName = "Bowcraft";
      break;
     }
    case 17:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSmithSkill",oPC);
      sSkillName = "Weaponcrafting";
      break;
     }
    case 18:
     {
      iSkillValue = GetCampaignInt("UOACraft","iArmorSkill",oPC);
      sSkillName = "Armorcrafting";
      break;
     }
    case 19:
     {
      iSkillValue = GetCampaignInt("UOACraft","iPolishSkill",oPC);
      sSkillName = "Gem Polishing";
      break;
     }
    case 20:
     {
      iSkillValue = GetCampaignInt("UOACraft","iGemSkill",oPC);
      sSkillName = "Gemcutting";
      break;
     }
    case 21:
     {
      iSkillValue = GetCampaignInt("UOACraft","iGemQuarrySkill",oPC);
      sSkillName = "Gem Quarrying";
      break;
     }
    case 22:
     {
      iSkillValue = GetCampaignInt("UOACraft","iTailorSkill",oPC);
      sSkillName = "Tailoring";
      break;
     }
    case 23:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSpindleSkill",oPC);
      sSkillName = "Spindling";
      break;
     }
    case 24:
     {
      iSkillValue = GetCampaignInt("UOACraft","iClothSkill",oPC);
      sSkillName = "Clothmaking";
      break;
     }
    case 25:
     {
      iSkillValue = GetCampaignInt("UOACraft","iDyeSkill",oPC);
      sSkillName = "Cloth Dyeing";
      break;
     }
    case 26:
     {
      iSkillValue = GetCampaignInt("UOACraft","iPaperSkill",oPC);
      sSkillName = "Papermaking";
      break;
     }
    case 27:
     {
      iSkillValue = GetCampaignInt("UOACraft","iShroomSkill",oPC);
      sSkillName = "Mycology";
      break;
     }
    case 28:
     {
      iSkillValue = GetCampaignInt("UOACraft","iScribeSkill",oPC);
      sSkillName = "Inscription";
      break;
     }
    case 29:
     {
      iSkillValue = GetCampaignInt("UOACraft","iCookSkill",oPC);
      sSkillName = "Cooking";
      break;
     }
    case 30:
     {
      iSkillValue = GetCampaignInt("UOACraft","iJewelSkill",oPC);
      sSkillName = "Jewelcraft";
      break;
     }
    case 31:
     {
      iSkillValue = GetCampaignInt("UOACraft","iMapSkill",oPC);
      sSkillName = "Cartography";
      break;
     }
    case 32:
     {
      iSkillValue = GetCampaignInt("UOACraft","iCarpentrySkill",oPC);
      sSkillName = "Carpentry";
      break;
     }
    case 33:
     {
      iSkillValue = GetCampaignInt("UOACraft","iBrewSkill",oPC);
      sSkillName = "Brewing";
      break;
     }
    default:{return;}
   }


  if (iSkillValue >=100) sSkillTitle = "- Neophyte -";
  if (iSkillValue >=200) sSkillTitle = "- Neophyte -";
  if (iSkillValue >=300) sSkillTitle = "- Apprentice -";
  if (iSkillValue >=400) sSkillTitle = "- Apprentice -";
  if (iSkillValue >=500) sSkillTitle = "- Apprentice -";
  if (iSkillValue >=600) sSkillTitle = "- Journeyman -";
  if (iSkillValue >=700) sSkillTitle = "- Expert -";
  if (iSkillValue >=800) sSkillTitle = "- Adept -";
  if (iSkillValue >=900) sSkillTitle = "- Master -";
  if (iSkillValue==1000) sSkillTitle = "- Grandmaster -";

  string sOldSkill = "";
  string sOldSkill2 = "";
  sOldSkill2 = IntToString(iSkillValue);
  sOldSkill = "."+GetStringRight(sOldSkill2,1);
  if (iSkillValue > 9)
    {
     sOldSkill = GetStringLeft(sOldSkill2,GetStringLength(sOldSkill2)-1)+sOldSkill;
    }
   else
    {
     sOldSkill = "0"+sOldSkill;
    }

  string sMessage = sSkillName + " " + sSkillTitle + " (" + sOldSkill + ")";
  SetCustomToken(3000+iSkillNumber,sMessage);
  return;
 }

void DelayText2(object oPC, int iSkillNumber)
 {
  string sSkillName = "";
  string sSkillTitle = "- Unskilled -";
  int iSkillValue = 0;
  string sPCName = GetName(oPC);

  switch (iSkillNumber)
   {
    case 1:
     {
      iSkillValue = GetCampaignInt("UOACraft","iMiningSkill",oPC);
      sSkillName = "Mining";
      break;
     }
    case 2:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSmeltSkill",oPC);
      sSkillName = "Smelting";
      break;
     }
    case 3:
     {
      iSkillValue = GetCampaignInt("UOACraft","iDigSkill",oPC);
      sSkillName = "Digging";
      break;
     }
    case 4:
     {
      iSkillValue = GetCampaignInt("UOACraft","iGlassSkill",oPC);
      sSkillName = "Pottery and Glassblowing";
      break;
     }
    case 5:
     {
      iSkillValue = GetCampaignInt("UOACraft","iTinkerSkill",oPC);
      sSkillName = "Tinkering";
      break;
     }
    case 6:
     {
      iSkillValue = GetCampaignInt("UOACraft","iFarmSkill",oPC);
      sSkillName = "Farming";
      break;
     }
    case 7:
     {
      iSkillValue = GetCampaignInt("UOACraft","iLumberjackSkill",oPC);
      sSkillName = "Lumberjacking";
      break;
     }
    case 8:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSkinningSkill",oPC);
      sSkillName = "Skinning Pelts";
      break;
     }
    case 9:
     {
      iSkillValue = GetCampaignInt("UOACraft","iCureSkill",oPC);
      sSkillName = "Curing Hides";
      break;
     }
    case 10:
     {
      iSkillValue = GetCampaignInt("UOACraft","iTanSkill",oPC);
      sSkillName = "Tanning Leather";
      break;
     }
    case 11:
     {
      iSkillValue = GetCampaignInt("UOACraft","iLeatherSkill",oPC);
      sSkillName = "Leatherworking";
      break;
     }
    case 12:
     {
      iSkillValue = GetCampaignInt("UOACraft","iAlchemySkill",oPC);
      sSkillName = "Alchemy";
      break;
     }
    case 13:
     {
      iSkillValue = GetCampaignInt("UOACraft","iFishingSkill",oPC);
      sSkillName = "Fishing";
      break;
     }
    case 14:
     {
      iSkillValue = GetCampaignInt("UOACraft","iBeeSkill",oPC);
      sSkillName = "Beekeeping";
      break;
     }
    case 15:
     {
      iSkillValue = GetCampaignInt("UOACraft","iFletchingSkill",oPC);
      sSkillName = "Fletching";
      break;
     }
    case 16:
     {
      iSkillValue = GetCampaignInt("UOACraft","iBowSkill",oPC);
      sSkillName = "Bowcraft";
      break;
     }
    case 17:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSmithSkill",oPC);
      sSkillName = "Weaponcrafting";
      break;
     }
    case 18:
     {
      iSkillValue = GetCampaignInt("UOACraft","iArmorSkill",oPC);
      sSkillName = "Armorcrafting";
      break;
     }
    case 19:
     {
      iSkillValue = GetCampaignInt("UOACraft","iPolishSkill",oPC);
      sSkillName = "Gem Polishing";
      break;
     }
    case 20:
     {
      iSkillValue = GetCampaignInt("UOACraft","iGemSkill",oPC);
      sSkillName = "Gemcutting";
      break;
     }
    case 21:
     {
      iSkillValue = GetCampaignInt("UOACraft","iGemQuarrySkill",oPC);
      sSkillName = "Gem Quarrying";
      break;
     }
    case 22:
     {
      iSkillValue = GetCampaignInt("UOACraft","iTailorSkill",oPC);
      sSkillName = "Tailoring";
      break;
     }
    case 23:
     {
      iSkillValue = GetCampaignInt("UOACraft","iSpindleSkill",oPC);
      sSkillName = "Spindling";
      break;
     }
    case 24:
     {
      iSkillValue = GetCampaignInt("UOACraft","iClothSkill",oPC);
      sSkillName = "Clothmaking";
      break;
     }
    case 25:
     {
      iSkillValue = GetCampaignInt("UOACraft","iDyeSkill",oPC);
      sSkillName = "Cloth Dyeing";
      break;
     }
    case 26:
     {
      iSkillValue = GetCampaignInt("UOACraft","iPaperSkill",oPC);
      sSkillName = "Papermaking";
      break;
     }
    case 27:
     {
      iSkillValue = GetCampaignInt("UOACraft","iShroomSkill",oPC);
      sSkillName = "Mycology";
      break;
     }
    case 28:
     {
      iSkillValue = GetCampaignInt("UOACraft","iScribeSkill",oPC);
      sSkillName = "Inscription";
      break;
     }
    case 29:
     {
      iSkillValue = GetCampaignInt("UOACraft","iCookSkill",oPC);
      sSkillName = "Cooking";
      break;
     }
    case 30:
     {
      iSkillValue = GetCampaignInt("UOACraft","iJewelSkill",oPC);
      sSkillName = "Jewelcraft";
      break;
     }
    case 31:
     {
      iSkillValue = GetCampaignInt("UOACraft","iMapSkill",oPC);
      sSkillName = "Cartography";
      break;
     }
    case 32:
     {
      iSkillValue = GetCampaignInt("UOACraft","iCarpentrySkill",oPC);
      sSkillName = "Carpentry";
      break;
     }
    case 33:
     {
      iSkillValue = GetCampaignInt("UOACraft","iBrewSkill",oPC);
      sSkillName = "Brewmeister";
      break;
     }
    default:{return;}
   }


  //------------------------------------------------------------------------------------
  //This section is the 'fudge' section of the code..
  //The purpose of this section is to allow a chance for skill
  //reporting of another player's attained skills is 'off' by a little
  //because the PC annot know for sure the exact skill attained by the other player
  //because his/her perception of the other player is based on rumors, reputation, etc
  //You may opt to remove this section as it is not necessary.
  if (Random(1000)<500)
    {
     iSkillValue = iSkillValue+Random(150);
     if (iSkillValue>1000)iSkillValue=1000;
    }
   else
    {
     iSkillValue = iSkillValue-Random(150);
     if (iSkillValue<0)iSkillValue=0;
    }
  //------------------------------------------------------------------------------------
  sSkillTitle = "an Unskilled ";
  if (iSkillValue >=100) sSkillTitle = "a Neophyte ";
  if (iSkillValue >=200) sSkillTitle = "a Neophyte ";
  if (iSkillValue >=300) sSkillTitle = "an Apprentice ";
  if (iSkillValue >=400) sSkillTitle = "an Apprentice ";
  if (iSkillValue >=500) sSkillTitle = "an Apprentice ";
  if (iSkillValue >=600) sSkillTitle = "a Journeyman ";
  if (iSkillValue >=700) sSkillTitle = "an Expert ";
  if (iSkillValue >=800) sSkillTitle = "an Adept ";
  if (iSkillValue >=900) sSkillTitle = "a Master ";
  if (iSkillValue==1000) sSkillTitle = "a Grandmaster ";

  string sOldSkill = "";
  string sOldSkill2 = "";
  sOldSkill2 = IntToString(iSkillValue);
  sOldSkill = "."+GetStringRight(sOldSkill2,1);
  if (iSkillValue > 9)
    {
     sOldSkill = GetStringLeft(sOldSkill2,GetStringLength(sOldSkill2)-1)+sOldSkill;
    }
   else
    {
     sOldSkill = "0"+sOldSkill;
    }

  string sMessage = "You believe that "+sPCName+" is "+sSkillTitle+" "+sSkillName+".";
  SetCustomToken(3000+iSkillNumber,sMessage);
  return;
 }