Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
601 lines
14 KiB
Plaintext
601 lines
14 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 DelayText2(object oPC, int iSkillNumber);
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
object oTarget = GetLocalObject(oPC,"oTarget");
|
|
int iSkillNumber =34;
|
|
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 = GetPersistentInt(oPC,"iMiningSkill","UOACraft");
|
|
sSkillName = "Mining";
|
|
break;
|
|
}
|
|
case 2:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSmeltSkill","UOACraft");
|
|
sSkillName = "Smelting";
|
|
break;
|
|
}
|
|
case 3:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iDigSkill","UOACraft");
|
|
sSkillName = "Digging";
|
|
break;
|
|
}
|
|
case 4:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iGlassSkill","UOACraft");
|
|
sSkillName = "Pottery and Glassblowing";
|
|
break;
|
|
}
|
|
case 5:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iTinkerSkill","UOACraft");
|
|
sSkillName = "Tinkering";
|
|
break;
|
|
}
|
|
case 6:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iFarmSkill","UOACraft");
|
|
sSkillName = "Farming";
|
|
break;
|
|
}
|
|
case 7:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iLumberjackSkill","UOACraft");
|
|
sSkillName = "Lumberjacking";
|
|
break;
|
|
}
|
|
case 8:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSkinningSkill","UOACraft");
|
|
sSkillName = "Skinning Pelts";
|
|
break;
|
|
}
|
|
case 9:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iCureSkill","UOACraft");
|
|
sSkillName = "Curing Hides";
|
|
break;
|
|
}
|
|
case 10:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iTanSkill","UOACraft");
|
|
sSkillName = "Tanning Leather";
|
|
break;
|
|
}
|
|
case 11:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iLeatherSkill","UOACraft");
|
|
sSkillName = "Leatherworking";
|
|
break;
|
|
}
|
|
case 12:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iAlchemySkill","UOACraft");
|
|
sSkillName = "Alchemy";
|
|
break;
|
|
}
|
|
case 13:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iFishingSkill","UOACraft");
|
|
sSkillName = "Fishing";
|
|
break;
|
|
}
|
|
case 14:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iBeeSkill","UOACraft");
|
|
sSkillName = "Beekeeping";
|
|
break;
|
|
}
|
|
case 15:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iFletchingSkill","UOACraft");
|
|
sSkillName = "Fletching";
|
|
break;
|
|
}
|
|
case 16:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iBowSkill","UOACraft");
|
|
sSkillName = "Bowcraft";
|
|
break;
|
|
}
|
|
case 17:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSmithSkill","UOACraft");
|
|
sSkillName = "Weaponcrafting";
|
|
break;
|
|
}
|
|
case 18:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iArmorSkill","UOACraft");
|
|
sSkillName = "Armorcrafting";
|
|
break;
|
|
}
|
|
case 19:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iPolishSkill","UOACraft"
|
|
);
|
|
sSkillName = "Gem Polishing";
|
|
break;
|
|
}
|
|
case 20:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iGemSkill","UOACraft"
|
|
);
|
|
sSkillName = "Gemcutting";
|
|
break;
|
|
}
|
|
case 21:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iGemQuarrySkill","UOACraft"
|
|
);
|
|
sSkillName = "Gem Quarrying";
|
|
break;
|
|
}
|
|
case 22:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iTailorSkill","UOACraft"
|
|
);
|
|
sSkillName = "Tailoring";
|
|
break;
|
|
}
|
|
case 23:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSpindleSkill","UOACraft"
|
|
);
|
|
sSkillName = "Spindling";
|
|
break;
|
|
}
|
|
case 24:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iClothSkill","UOACraft"
|
|
);
|
|
sSkillName = "Clothmaking";
|
|
break;
|
|
}
|
|
case 25:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iDyeSkill","UOACraft"
|
|
);
|
|
sSkillName = "Cloth Dyeing";
|
|
break;
|
|
}
|
|
case 26:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iPaperSkill","UOACraft"
|
|
);
|
|
sSkillName = "Papermaking";
|
|
break;
|
|
}
|
|
case 27:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iShroomSkill","UOACraft"
|
|
);
|
|
sSkillName = "Mycology";
|
|
break;
|
|
}
|
|
case 28:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iScribeSkill","UOACraft"
|
|
);
|
|
sSkillName = "Inscription";
|
|
break;
|
|
}
|
|
case 29:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iCookSkill","UOACraft"
|
|
);
|
|
sSkillName = "Cooking";
|
|
break;
|
|
}
|
|
case 30:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iJewelSkill","UOACraft"
|
|
);
|
|
sSkillName = "Jewelcraft";
|
|
break;
|
|
}
|
|
case 31:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iMapSkill","UOACraft"
|
|
);
|
|
sSkillName = "Cartography";
|
|
break;
|
|
}
|
|
case 32:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iCarpentrySkill","UOACraft"
|
|
);
|
|
sSkillName = "Carpentry";
|
|
break;
|
|
}
|
|
case 33:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iBrewSkill","UOACraft"
|
|
);
|
|
sSkillName = "Brewing";
|
|
break;
|
|
}
|
|
case 34:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iEnchantSkill","UOACraft"
|
|
);
|
|
sSkillName = "Enchanting";
|
|
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 = GetPersistentInt(oPC,"iMiningSkill","UOACraft"
|
|
);
|
|
sSkillName = "Mining";
|
|
break;
|
|
}
|
|
case 2:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSmeltSkill","UOACraft"
|
|
);
|
|
sSkillName = "Smelting";
|
|
break;
|
|
}
|
|
case 3:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iDigSkill","UOACraft"
|
|
);
|
|
sSkillName = "Digging";
|
|
break;
|
|
}
|
|
case 4:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iGlassSkill","UOACraft"
|
|
);
|
|
sSkillName = "Pottery and Glassblowing";
|
|
break;
|
|
}
|
|
case 5:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iTinkerSkill","UOACraft"
|
|
);
|
|
sSkillName = "Tinkering";
|
|
break;
|
|
}
|
|
case 6:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iFarmSkill","UOACraft"
|
|
);
|
|
sSkillName = "Farming";
|
|
break;
|
|
}
|
|
case 7:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iLumberjackSkill","UOACraft"
|
|
);
|
|
sSkillName = "Lumberjacking";
|
|
break;
|
|
}
|
|
case 8:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSkinningSkill","UOACraft"
|
|
);
|
|
sSkillName = "Skinning Pelts";
|
|
break;
|
|
}
|
|
case 9:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iCureSkill","UOACraft"
|
|
);
|
|
sSkillName = "Curing Hides";
|
|
break;
|
|
}
|
|
case 10:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iTanSkill","UOACraft"
|
|
);
|
|
sSkillName = "Tanning Leather";
|
|
break;
|
|
}
|
|
case 11:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iLeatherSkill","UOACraft"
|
|
);
|
|
sSkillName = "Leatherworking";
|
|
break;
|
|
}
|
|
case 12:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iAlchemySkill","UOACraft"
|
|
);
|
|
sSkillName = "Alchemy";
|
|
break;
|
|
}
|
|
case 13:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iFishingSkill","UOACraft"
|
|
);
|
|
sSkillName = "Fishing";
|
|
break;
|
|
}
|
|
case 14:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iBeeSkill","UOACraft"
|
|
);
|
|
sSkillName = "Beekeeping";
|
|
break;
|
|
}
|
|
case 15:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iFletchingSkill","UOACraft"
|
|
);
|
|
sSkillName = "Fletching";
|
|
break;
|
|
}
|
|
case 16:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iBowSkill","UOACraft"
|
|
);
|
|
sSkillName = "Bowcraft";
|
|
break;
|
|
}
|
|
case 17:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSmithSkill","UOACraft"
|
|
);
|
|
sSkillName = "Weaponcrafting";
|
|
break;
|
|
}
|
|
case 18:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iArmorSkill","UOACraft"
|
|
);
|
|
sSkillName = "Armorcrafting";
|
|
break;
|
|
}
|
|
case 19:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iPolishSkill","UOACraft"
|
|
);
|
|
sSkillName = "Gem Polishing";
|
|
break;
|
|
}
|
|
case 20:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iGemSkill","UOACraft"
|
|
);
|
|
sSkillName = "Gemcutting";
|
|
break;
|
|
}
|
|
case 21:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iGemQuarrySkill","UOACraft"
|
|
);
|
|
sSkillName = "Gem Quarrying";
|
|
break;
|
|
}
|
|
case 22:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iTailorSkill","UOACraft"
|
|
);
|
|
sSkillName = "Tailoring";
|
|
break;
|
|
}
|
|
case 23:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iSpindleSkill","UOACraft"
|
|
);
|
|
sSkillName = "Spindling";
|
|
break;
|
|
}
|
|
case 24:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iClothSkill","UOACraft"
|
|
);
|
|
sSkillName = "Clothmaking";
|
|
break;
|
|
}
|
|
case 25:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iDyeSkill","UOACraft"
|
|
);
|
|
sSkillName = "Cloth Dyeing";
|
|
break;
|
|
}
|
|
case 26:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iPaperSkill","UOACraft"
|
|
);
|
|
sSkillName = "Papermaking";
|
|
break;
|
|
}
|
|
case 27:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iShroomSkill","UOACraft"
|
|
);
|
|
sSkillName = "Mycology";
|
|
break;
|
|
}
|
|
case 28:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iScribeSkill","UOACraft"
|
|
);
|
|
sSkillName = "Inscription";
|
|
break;
|
|
}
|
|
case 29:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iCookSkill","UOACraft"
|
|
);
|
|
sSkillName = "Cooking";
|
|
break;
|
|
}
|
|
case 30:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iJewelSkill","UOACraft"
|
|
);
|
|
sSkillName = "Jewelcraft";
|
|
break;
|
|
}
|
|
case 31:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iMapSkill","UOACraft"
|
|
);
|
|
sSkillName = "Cartography";
|
|
break;
|
|
}
|
|
case 32:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iCarpentrySkill","UOACraft"
|
|
);
|
|
sSkillName = "Carpentry";
|
|
break;
|
|
}
|
|
case 33:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iBrewSkill","UOACraft"
|
|
);
|
|
sSkillName = "Brewmeister";
|
|
break;
|
|
}
|
|
case 34:
|
|
{
|
|
iSkillValue = GetPersistentInt(oPC,"iEnchantSkill","UOACraft"
|
|
);
|
|
sSkillName = "Enchanter";
|
|
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;
|
|
}
|