Aschbourne_PRC8/_module/nss/_use_skillbook2.nss
GetOffMyYarn 69879d6957 Areas and Fixes
Added CCOH and missing areas
Changed some areas to be craftable,
Fixed some on death issues,
Fixed the Gaurd
2024-08-30 11:38:44 -04:00

308 lines
8.1 KiB
Plaintext

//#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------
#include "aps_include"
void DelayText(object oPC, int iSkillNumber);
void main()
{
object oPC = OBJECT_SELF;
object oTarget = GetLocalObject(oPC,"oTarget");
//DeleteLocalObject(oPC,"oTarget");
int iSkillNumber =34;
for (iSkillNumber; iSkillNumber>0; iSkillNumber--)
{
DelayText(oTarget,iSkillNumber);
}
SendMessageToPC(oPC,"===================================");
SendMessageToPC(oPC,"Thank you for using UOACraft v0.8a");
SendMessageToPC(oPC,"Please report any bugs to UOAbigail");
SendMessageToPC(oPC,"on the UOACraft board at NWVault.");
SendMessageToPC(oPC,"===================================");
ActionStartConversation(OBJECT_SELF,"tradebook",TRUE,FALSE);
}
void DelayText(object oPC, int iSkillNumber)
{
string sSkillName = "";
string sSkillTitle = "- Unskilled -";
int iSkillValue = 0;
string sPCName = GetName(oPC);
switch (iSkillNumber)
{
case 1:
{
iSkillValue = GetPersistentInt(oPC,"iMiningSkill","UOACraft");
sSkillName = "Miner";
break;
}
case 2:
{
iSkillValue = GetPersistentInt(oPC,"iSmeltSkill","UOACraft");
sSkillName = "Smelter";
break;
}
case 3:
{
iSkillValue = GetPersistentInt(oPC,"iDigSkill","UOACraft");
sSkillName = "Digger";
break;
}
case 4:
{
iSkillValue = GetPersistentInt(oPC,"iGlassSkill","UOACraft");
sSkillName = "Potter/Glassblower";
break;
}
case 5:
{
iSkillValue = GetPersistentInt(oPC,"iTinkerSkill","UOACraft");
sSkillName = "Tinkerer";
break;
}
case 6:
{
iSkillValue = GetPersistentInt(oPC,"iFarmSkill","UOACraft");
sSkillName = "Farmer";
break;
}
case 7:
{
iSkillValue = GetPersistentInt(oPC,"iLumberjackSkill","UOACraft");
sSkillName = "Lumberjack";
break;
}
case 8:
{
iSkillValue = GetPersistentInt(oPC,"iSkinningSkill","UOACraft");
sSkillName = "Skinning Pelts";
break;
}
case 9:
{
iSkillValue = GetPersistentInt(oPC,"iCureSkill","UOACraft");
sSkillName = "Hide Curer";
break;
}
case 10:
{
iSkillValue = GetPersistentInt(oPC,"iTanSkill","UOACraft");
sSkillName = "Leather Tanner";
break;
}
case 11:
{
iSkillValue = GetPersistentInt(oPC,"iLeatherSkill","UOACraft");
sSkillName = "Leatherworker";
break;
}
case 12:
{
iSkillValue = GetPersistentInt(oPC,"iAlchemySkill","UOACraft");
sSkillName = "Alchemist";
break;
}
case 13:
{
iSkillValue = GetPersistentInt(oPC,"iFishingSkill","UOACraft");
sSkillName = "Fisher";
break;
}
case 14:
{
iSkillValue = GetPersistentInt(oPC,"iBeeSkill","UOACraft");
sSkillName = "Beekeeper";
break;
}
case 15:
{
iSkillValue = GetPersistentInt(oPC,"iFletchingSkill","UOACraft");
sSkillName = "Fletcher";
break;
}
case 16:
{
iSkillValue = GetPersistentInt(oPC,"iBowSkill","UOACraft");
sSkillName = "Bowcrafter";
break;
}
case 17:
{
iSkillValue = GetPersistentInt(oPC,"iSmithSkill","UOACraft");
sSkillName = "Weaponcrafter";
break;
}
case 18:
{
iSkillValue = GetPersistentInt(oPC,"iArmorSkill","UOACraft");
sSkillName = "Armorcrafter";
break;
}
case 19:
{
iSkillValue = GetPersistentInt(oPC,"iPolishSkill","UOACraft");
sSkillName = "Gem Polisher";
break;
}
case 20:
{
iSkillValue = GetPersistentInt(oPC,"iGemSkill","UOACraft");
sSkillName = "Gemcutter";
break;
}
case 21:
{
iSkillValue = GetPersistentInt(oPC,"iGemQuarrySkill","UOACraft");
sSkillName = "Gem Quarrier";
break;
}
case 22:
{
iSkillValue = GetPersistentInt(oPC,"iTailorSkill","UOACraft");
sSkillName = "Tailor";
break;
}
case 23:
{
iSkillValue = GetPersistentInt(oPC,"iSpindleSkill","UOACraft");
sSkillName = "Spindler";
break;
}
case 24:
{
iSkillValue = GetPersistentInt(oPC,"iClothSkill","UOACraft");
sSkillName = "Clothmaker";
break;
}
case 25:
{
iSkillValue = GetPersistentInt(oPC,"iDyeSkill","UOACraft");
sSkillName = "Cloth Dyer";
break;
}
case 26:
{
iSkillValue = GetPersistentInt(oPC,"iPaperSkill","UOACraft");
sSkillName = "Papermaker";
break;
}
case 27:
{
iSkillValue = GetPersistentInt(oPC,"iShroomSkill","UOACraft");
sSkillName = "Mycologist";
break;
}
case 28:
{
iSkillValue = GetPersistentInt(oPC,"iScribeSkill","UOACraft");
sSkillName = "Inscriptionist";
break;
}
case 29:
{
iSkillValue = GetPersistentInt(oPC,"iCookSkill","UOACraft");
sSkillName = "Cook";
break;
}
case 30:
{
iSkillValue = GetPersistentInt(oPC,"iJewelSkill","UOACraft");
sSkillName = "Jewelcrafter";
break;
}
case 31:
{
iSkillValue = GetPersistentInt(oPC,"iMapSkill","UOACraft");
sSkillName = "Cartographer";
break;
}
case 32:
{
iSkillValue = GetPersistentInt(oPC,"iCarpentrySkill","UOACraft");
sSkillName = "Carpenter";
break;
}
case 33:
{
iSkillValue = GetPersistentInt(oPC,"iBrewSkill","UOACraft");
sSkillName = "Brewmeister";
break;
}
case 34:
{
iSkillValue = GetPersistentInt(oPC,"iEnchantSkill","UOACraft");
sSkillName = "Enchanting";
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;
}