PWE_PRC8/_module/nss/ats_inc_skill.nss
Jaysyn904 ee1dc35889 Initial Commit
Initial Commit
2025-04-03 10:29:41 -04:00

615 lines
22 KiB
Plaintext

// Dependencies: ats_inc_common, ats_config, ats_const_common, ats_const_skill,
// ats_const_recipe
#include "ats_text_skill"
////////////////////////////////////////////////
// ATS_GetMaxSkill //
// Returns the max skill value for a //
// particular tradeskill //
// Returns: int - the max skill of a tradeskill //
////////////////////////////////////////////////////
int ATS_GetMaxSkill
(
string sTradeSkillType // tradeskill name
)
{
int iMaxValue = 0;
if(sTradeSkillType == CSTR_SKILLNAME_MINING)
iMaxValue = CINT_MAXSKILL_MINING;
else if(sTradeSkillType == CSTR_SKILLNAME_BLACKSMITHING)
iMaxValue = CINT_MAXSKILL_BLACKSMITHING;
else if(sTradeSkillType == CSTR_SKILLNAME_ARMORCRAFTING)
iMaxValue = CINT_MAXSKILL_ARMORCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_WEAPONCRAFTING)
iMaxValue = CINT_MAXSKILL_WEAPONCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_TANNING)
iMaxValue = CINT_MAXSKILL_TANNING;
else if(sTradeSkillType == CSTR_SKILLNAME_GEMCUTTING)
iMaxValue = CINT_MAXSKILL_GEMCUTTING;
else if(sTradeSkillType == CSTR_SKILLNAME_JEWELCRAFTING)
iMaxValue = CINT_MAXSKILL_JEWELCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_BOWYERING)
iMaxValue = CINT_MAXSKILL_BOWYERING;
else if(sTradeSkillType == CSTR_SKILLNAME_FLETCHING)
iMaxValue = CINT_MAXSKILL_FLETCHING;
else if(sTradeSkillType == CSTR_SKILLNAME_TAILOR)
iMaxValue = CINT_MAXSKILL_TAILOR;
else if(sTradeSkillType == CSTR_SKILLNAME_TINKER)
iMaxValue = CINT_MAXSKILL_TINKER;
return iMaxValue;
}
/////////////////////////////////////////////////////
// ATS_CheckMaxSkill //
// Checks to see if a passed in skill value //
// is greater than the max skill level defined//
// for a particular tradeskill //
// Returns: int(Boolean) - TRUE if skill is beyond //
// the max skill //
// FALSE otherwise //
/////////////////////////////////////////////////////
int ATS_CheckMaxSkill
(
string sTradeSkillType, // tradeskill name
int iSkillValue // skill value to check against
)
{
if(iSkillValue > ATS_GetMaxSkill(sTradeSkillType))
return TRUE;
else
return FALSE;
}
string ATS_GetSkillTokenTag(string sTradeSkillType, int iTokenType)
{
string sTokenTag = "";
if(sTradeSkillType == CSTR_SKILLNAME_MINING)
sTokenTag = CSTR_TOKEN_TAG_MINING;
else if(sTradeSkillType == CSTR_SKILLNAME_BLACKSMITHING)
sTokenTag = CSTR_TOKEN_TAG_BLACKSMITHING;
else if(sTradeSkillType == CSTR_SKILLNAME_ARMORCRAFTING)
sTokenTag = CSTR_TOKEN_TAG_ARMORCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_WEAPONCRAFTING)
sTokenTag = CSTR_TOKEN_TAG_WEAPONCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_TANNING)
sTokenTag = CSTR_TOKEN_TAG_TANNING;
else if(sTradeSkillType == CSTR_SKILLNAME_GEMCUTTING)
sTokenTag = CSTR_TOKEN_TAG_GEMCUTTING;
else if(sTradeSkillType == CSTR_SKILLNAME_JEWELCRAFTING)
sTokenTag = CSTR_TOKEN_TAG_JEWELCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_BOWYERING)
sTokenTag = CSTR_TOKEN_TAG_BOWYERING;
else if(sTradeSkillType == CSTR_SKILLNAME_FLETCHING)
sTokenTag = CSTR_TOKEN_TAG_FLETCHING;
else if(sTradeSkillType == CSTR_SKILLNAME_TAILOR)
sTokenTag = CSTR_TOKEN_TAG_TAILOR;
else if(sTradeSkillType == CSTR_SKILLNAME_TINKER)
sTokenTag = CSTR_TOKEN_TAG_TINKER;
else
return sTokenTag;
sTokenTag += IntToString(iTokenType);
return sTokenTag;
}
string ATS_GetTradeskillName(int iTradeskillConstant)
{
if(iTradeskillConstant == CINT_SKILL_MINING)
return CSTR_SKILLNAME_MINING;
else if(iTradeskillConstant == CINT_SKILL_BLACKSMITHING)
return CSTR_SKILLNAME_BLACKSMITHING;
else if(iTradeskillConstant == CINT_SKILL_ARMORCRAFTING)
return CSTR_SKILLNAME_ARMORCRAFTING;
else if(iTradeskillConstant == CINT_SKILL_WEAPONCRAFTING)
return CSTR_SKILLNAME_WEAPONCRAFTING;
else if(iTradeskillConstant == CINT_SKILL_TANNING)
return CSTR_SKILLNAME_TANNING;
else if(iTradeskillConstant == CINT_SKILL_GEMCUTTING)
return CSTR_SKILLNAME_GEMCUTTING;
else if(iTradeskillConstant == CINT_SKILL_JEWELCRAFTING)
return CSTR_SKILLNAME_JEWELCRAFTING;
else if(iTradeskillConstant == CINT_SKILL_BOWYERING)
return CSTR_SKILLNAME_BOWYERING;
else if(iTradeskillConstant == CINT_SKILL_FLETCHING)
return CSTR_SKILLNAME_FLETCHING;
else if(iTradeskillConstant == CINT_SKILL_TAILOR)
return CSTR_SKILLNAME_TAILOR;
else if(iTradeskillConstant == CINT_SKILL_TINKER)
return CSTR_SKILLNAME_TINKER;
else
return "";
}
int ATS_GetTradeskillConstant(string sTradeskillName)
{
if(sTradeskillName == CSTR_SKILLNAME_MINING)
return CINT_SKILL_MINING;
else if(sTradeskillName == CSTR_SKILLNAME_BLACKSMITHING)
return CINT_SKILL_BLACKSMITHING;
else if(sTradeskillName == CSTR_SKILLNAME_ARMORCRAFTING)
return CINT_SKILL_ARMORCRAFTING;
else if(sTradeskillName == CSTR_SKILLNAME_WEAPONCRAFTING)
return CINT_SKILL_WEAPONCRAFTING;
else if(sTradeskillName == CSTR_SKILLNAME_TANNING)
return CINT_SKILL_TANNING;
else if(sTradeskillName == CSTR_SKILLNAME_GEMCUTTING)
return CINT_SKILL_GEMCUTTING;
else if(sTradeskillName == CSTR_SKILLNAME_JEWELCRAFTING)
return CINT_SKILL_JEWELCRAFTING;
else if(sTradeskillName == CSTR_SKILLNAME_BOWYERING)
return CINT_SKILL_BOWYERING;
else if(sTradeskillName == CSTR_SKILLNAME_FLETCHING)
return CINT_SKILL_FLETCHING;
else if(sTradeskillName == CSTR_SKILLNAME_TAILOR)
return CINT_SKILL_TAILOR;
else if(sTradeskillName == CSTR_SKILLNAME_TINKER)
return CINT_SKILL_TINKER;
else
return 0;
}
void ATS_DestroyTokens(object oPlayer, string sTokenTag)
{
object oItem = GetFirstItemInInventory(oPlayer);
while(GetIsObjectValid(oItem) == TRUE)
{
if(GetTag(oItem) == sTokenTag)
DestroyObject(oItem);
oItem = GetNextItemInInventory(oPlayer);
}
}
void ATS_CreateSkillTokenInBox(object oPlayer, object oBox, string sResRef, int iAmount)
{
object oNewToken = CreateItemOnObject(sResRef, oPlayer, iAmount);
AssignCommand(oPlayer, ActionGiveItem(oNewToken, oBox) );
}
void ATS_CreateSkillToken(object oPlayer, string sResRef, int iAmount)
{
if(iAmount == 0)
return; ///
ATS_CreateItemOnPlayer(sResRef, oPlayer, iAmount, FALSE);
}
int ATS_GetAttributeBonus(object oPlayer, string sTradeskillName)
{
if(sTradeskillName == CSTR_SKILLNAME_WEAPONCRAFTING ||
sTradeskillName == CSTR_SKILLNAME_ARMORCRAFTING)
return GetAbilityModifier(ABILITY_STRENGTH, oPlayer);
else if(sTradeskillName == CSTR_SKILLNAME_JEWELCRAFTING)
return GetAbilityModifier(ABILITY_CHARISMA, oPlayer);
if(sTradeskillName == CSTR_SKILLNAME_BOWYERING ||
sTradeskillName == CSTR_SKILLNAME_FLETCHING)
return GetAbilityModifier(ABILITY_INTELLIGENCE, oPlayer);
return 0;
}
string ATS_GetRelatedQualitySkill(string sTradeskillName)
{
if(sTradeskillName == CSTR_SKILLNAME_WEAPONCRAFTING ||
sTradeskillName == CSTR_SKILLNAME_ARMORCRAFTING)
return CSTR_SKILLNAME_BLACKSMITHING;
else if(sTradeskillName == CSTR_SKILLNAME_TANNING)
return CSTR_SKILLNAME_TANNING;
else if(sTradeskillName == CSTR_SKILLNAME_JEWELCRAFTING)
return CSTR_SKILLNAME_JEWELCRAFTING;
else if(sTradeskillName == CSTR_SKILLNAME_GEMCUTTING)
return CSTR_SKILLNAME_GEMCUTTING;
else if(sTradeskillName == CSTR_SKILLNAME_BOWYERING)
return CSTR_SKILLNAME_BOWYERING;
return "";
}
int ATS_IsValidSkill(string sTradeskillName)
{
return(ATS_GetTradeskillConstant(sTradeskillName) != 0);
}
int ATS_IsPrimarySkill(string sTradeskillName)
{
int iSkillConstant = ATS_GetTradeskillConstant(sTradeskillName);
if(iSkillConstant == 0)
return FALSE;
if(iSkillConstant == CINT_SKILL_PRIMARY_1 ||
iSkillConstant == CINT_SKILL_PRIMARY_2 ||
iSkillConstant == CINT_SKILL_PRIMARY_3 ||
iSkillConstant == CINT_SKILL_PRIMARY_4 ||
iSkillConstant == CINT_SKILL_PRIMARY_5 ||
iSkillConstant == CINT_SKILL_PRIMARY_6 ||
iSkillConstant == CINT_SKILL_PRIMARY_7 ||
iSkillConstant == CINT_SKILL_PRIMARY_8 ||
iSkillConstant == CINT_SKILL_PRIMARY_9 ||
iSkillConstant == CINT_SKILL_PRIMARY_10 )
return TRUE;
else return FALSE;
}
string ATS_GetTradeSkillFromCraftTag(string sCraftTag)
{
string sCraftType = GetSubString(sCraftTag, 6, 1);
string sTradeskillName = "";
if(sCraftType == ATS_CRAFT_TYPE_ARMOR)
sTradeskillName = CSTR_SKILLNAME_ARMORCRAFTING;
else if(sCraftType == ATS_CRAFT_TYPE_WEAPON)
sTradeskillName = CSTR_SKILLNAME_WEAPONCRAFTING;
else if(sCraftType == ATS_CRAFT_TYPE_LEATHER)
sTradeskillName = CSTR_SKILLNAME_TANNING;
else if(sCraftType == ATS_CRAFT_TYPE_GEMCUTTING)
sTradeskillName = CSTR_SKILLNAME_GEMCUTTING;
else if(sCraftType == ATS_CRAFT_TYPE_JEWELCRAFT)
sTradeskillName = CSTR_SKILLNAME_JEWELCRAFTING;
else if(sCraftType == ATS_CRAFT_TYPE_BOWYERING)
sTradeskillName = CSTR_SKILLNAME_BOWYERING;
else if(sCraftType == ATS_CRAFT_TYPE_FLETCHING)
sTradeskillName = CSTR_SKILLNAME_FLETCHING;
else if(sCraftType == ATS_CRAFT_TYPE_TAILOR)
sTradeskillName = CSTR_SKILLNAME_TAILOR;
else if(sCraftType == ATS_CRAFT_TYPE_TINKER)
sTradeskillName = CSTR_SKILLNAME_TINKER;
return sTradeskillName;
}
int ATS_GetFlatFailure(string sTradeSkillType)
{
if(sTradeSkillType == CSTR_SKILLNAME_MINING)
return CINT_FLATFAILURE_MINING;
else if(sTradeSkillType == CSTR_SKILLNAME_BLACKSMITHING)
return CINT_FLATFAILURE_BLACKSMITHING;
else if(sTradeSkillType == CSTR_SKILLNAME_ARMORCRAFTING)
return CINT_FLATFAILURE_ARMORCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_WEAPONCRAFTING)
return CINT_FLATFAILURE_WEAPONCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_TANNING)
return CINT_FLATFAILURE_TANNING;
else if(sTradeSkillType == CSTR_SKILLNAME_GEMCUTTING)
return CINT_FLATFAILURE_GEMCUTTING;
else if(sTradeSkillType == CSTR_SKILLNAME_JEWELCRAFTING)
return CINT_FLATFAILURE_JEWELCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_BOWYERING)
return CINT_FLATFAILURE_BOWYERING;
else if(sTradeSkillType == CSTR_SKILLNAME_FLETCHING)
return CINT_FLATFAILURE_FLETCHING;
else if(sTradeSkillType == CSTR_SKILLNAME_TAILOR)
return CINT_FLATFAILURE_TAILOR;
else if(sTradeSkillType == CSTR_SKILLNAME_TINKER)
return CINT_FLATFAILURE_TINKER;
else
return 0;
}
float ATS_GetSkillGainAdjustment(string sTradeSkillType)
{
if(sTradeSkillType == CSTR_SKILLNAME_MINING)
return CFLOAT_SKILLGAIN_ADJUST_MINING;
else if(sTradeSkillType == CSTR_SKILLNAME_BLACKSMITHING)
return CFLOAT_SKILLGAIN_ADJUST_BLACKSMITHING;
else if(sTradeSkillType == CSTR_SKILLNAME_ARMORCRAFTING)
return CFLOAT_SKILLGAIN_ADJUST_ARMORCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_WEAPONCRAFTING)
return CFLOAT_SKILLGAIN_ADJUST_WEAPONCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_TANNING)
return CFLOAT_SKILLGAIN_ADJUST_TANNING;
else if(sTradeSkillType == CSTR_SKILLNAME_GEMCUTTING)
return CFLOAT_SKILLGAIN_ADJUST_GEMCUTTING;
else if(sTradeSkillType == CSTR_SKILLNAME_JEWELCRAFTING)
return CFLOAT_SKILLGAIN_ADJUST_JEWELCRAFTING;
else if(sTradeSkillType == CSTR_SKILLNAME_BOWYERING)
return CFLOAT_SKILLGAIN_ADJUST_BOWYERING;
else if(sTradeSkillType == CSTR_SKILLNAME_FLETCHING)
return CFLOAT_SKILLGAIN_ADJUST_FLETCHING;
else if(sTradeSkillType == CSTR_SKILLNAME_TAILOR)
return CFLOAT_SKILLGAIN_ADJUST_TAILOR;
else if(sTradeSkillType == CSTR_SKILLNAME_TINKER)
return CFLOAT_SKILLGAIN_ADJUST_TINKER;
else
return 0.0f;
}
/////////////////////////////////////////////////////
// ATS_SetTradeskill //
// Sets the skill value of a particular //
// tradeskill of a player //
// Returns: none //
/////////////////////////////////////////////////////
void ATS_SetTradeskill
(
object oPlayer, // player to set tradeskill value of
string sTradeSkillType, // name of the tradeskill
int iSkillValue, // the skill value to set
int bRemoveJournal = TRUE, // Removes the journal and remakes it to make room
int bSuppressLog = FALSE
)
{
if(CBOOL_PERSISTENT_SKILLS_ACTIVE == TRUE)
{
object oSkillBox = GetItemPossessedBy(oPlayer, CSTR_PERSISTENT_SKILLS_BOXTAG);
if(GetIsObjectValid(oSkillBox)== FALSE)
{
string sBoxResRef = ATS_GetResRefFromTag(CSTR_PERSISTENT_SKILLS_BOXTAG);
// Create skill box
object oCreatedItem = CreateItemOnObject(sBoxResRef, oPlayer);
}
string sToken1Tag = ATS_GetSkillTokenTag(sTradeSkillType, 1);
string sToken100Tag = ATS_GetSkillTokenTag(sTradeSkillType, 100);
object oNewToken1;
object oNewToken100;
int iValue100 = iSkillValue / 100;
int iValue1 = iSkillValue - (iValue100 * 100);
object oOldToken1 = GetItemPossessedBy(oPlayer, sToken1Tag);
object oOldToken100 = GetItemPossessedBy(oPlayer, sToken100Tag);
ATS_DestroyTokens(oPlayer, sToken1Tag);
ATS_DestroyTokens(oPlayer, sToken100Tag);
// object oTradeJournal = GetItemPossessedBy(oPlayer, CSTR_TRADESKILL_JOURNAL);
if(bRemoveJournal == TRUE)
{
ATS_RemoveAllInstancesOnPlayer(oPlayer, CSTR_TRADESKILL_JOURNAL);
DelayCommand(1.0, ATS_CreateItemOnPlayer(CSTR_TRADESKILL_JOURNAL, oPlayer, 1, FALSE));
}
DelayCommand(0.3, ATS_CreateSkillToken(oPlayer, ATS_GetResRefFromTag(sToken1Tag), iValue1));
DelayCommand(0.3, ATS_CreateSkillToken(oPlayer, ATS_GetResRefFromTag(sToken100Tag), iValue100));
}
string sVarName = "ats_skillvalue_" + sTradeSkillType;
ATS_SetPersistentInt(oPlayer, sVarName, iSkillValue);
// Log Skill Gain
if(CBOOL_LOG_SKILLGAIN == TRUE && bSuppressLog == FALSE)
{
WriteTimestampedLogEntry("<ATS> Skill Change: " + GetName(oPlayer) +
"(" + GetPCPlayerName(oPlayer) + ") - " + sTradeSkillType +
": " + IntToString(iSkillValue));
}
}
/////////////////////////////////////////////////////
// ATS_RaiseTradeskill //
// Raises a player's trade skill by a certain //
// amount and displays a message //
// Returns: none //
/////////////////////////////////////////////////////
void ATS_RaiseTradeskill
(
object oPlayer, // player to raise tradeskill
string sTradeSkillType, // name of tradeskill
int iValue // amount to raise by
)
{
int iCurrentValue = ATS_GetTradeskill(oPlayer, sTradeSkillType);
int iNewValue = iCurrentValue + iValue;
// Check to make sure the skill isn't maxed out
if(ATS_CheckMaxSkill(sTradeSkillType, iNewValue) == FALSE)
{
// Sets the skill to it's new value
ATS_SetTradeskill(oPlayer, sTradeSkillType, iNewValue, TRUE, TRUE);
string sDisplayMessage = "";
if(CINT_SKILL_MESSAGE_SETTING == 2)
{
sDisplayMessage = "You have gained ";
if(iValue == 1)
sDisplayMessage = sDisplayMessage + "a skill point in ";
else
sDisplayMessage = sDisplayMessage + IntToString(iValue) + " skill points in ";
// Display skill gain message
sDisplayMessage = sDisplayMessage + sTradeSkillType + ". (" +
IntToString(ATS_GetTradeskill(oPlayer, sTradeSkillType)) + ")";
}
else if(CINT_SKILL_MESSAGE_SETTING == 1)
{
sDisplayMessage = "You have gained some knowledge in " +
sTradeSkillType + "!";
}
if(sDisplayMessage != "")
DelayCommand(0.5, SendMessageToPC(oPlayer, sDisplayMessage));
//AssignCommand(oPlayer, SpeakString(sDisplayMessage, TALKVOLUME_WHISPER));
if(CBOOL_LOG_SKILLGAIN == TRUE)
{
WriteTimestampedLogEntry("<ATS> Skill Gain: " + GetPCPlayerName(oPlayer) +
"(" + GetName(oPlayer) + ") - " + sTradeSkillType +
": " + IntToString(ATS_GetTradeskill(oPlayer, sTradeSkillType)));
}
}
}
int ATS_GetPrimarySkillConstant(int iPrimarySkillNum)
{
switch(iPrimarySkillNum)
{
case 1:
return CINT_SKILL_PRIMARY_1;
case 2:
return CINT_SKILL_PRIMARY_2;
case 3:
return CINT_SKILL_PRIMARY_3;
case 4:
return CINT_SKILL_PRIMARY_4;
case 5:
return CINT_SKILL_PRIMARY_5;
case 6:
return CINT_SKILL_PRIMARY_6;
case 7:
return CINT_SKILL_PRIMARY_7;
case 8:
return CINT_SKILL_PRIMARY_8;
case 9:
return CINT_SKILL_PRIMARY_9;
case 10:
return CINT_SKILL_PRIMARY_10;
default:
return 0;
}
return 0;
}
string ATS_GetPrimarySkillName(int iPrimarySkillNum)
{
return ATS_GetTradeskillName(ATS_GetPrimarySkillConstant(iPrimarySkillNum));
}
int ATS_GetSecondarySkillConstant(int iSecondarySkillNum)
{
switch(iSecondarySkillNum)
{
case 1:
return CINT_SKILL_SECONDARY_1;
case 2:
return CINT_SKILL_SECONDARY_2;
case 3:
return CINT_SKILL_SECONDARY_3;
case 4:
return CINT_SKILL_SECONDARY_4;
case 5:
return CINT_SKILL_SECONDARY_5;
case 6:
return CINT_SKILL_SECONDARY_6;
case 7:
return CINT_SKILL_SECONDARY_7;
case 8:
return CINT_SKILL_SECONDARY_8;
case 9:
return CINT_SKILL_SECONDARY_9;
case 10:
return CINT_SKILL_SECONDARY_10;
default:
return 0;
}
return 0;
}
string ATS_GetSecondarySkillName(int iSecondarySkillNum)
{
return ATS_GetTradeskillName(ATS_GetSecondarySkillConstant(iSecondarySkillNum));
}
int ATS_GetPrimarySkillTotal(object oPlayer)
{
int iSkillTotal = 0;
int i;
for(i = 1; i < 11; ++i)
{
iSkillTotal += ATS_GetTradeskill(oPlayer, ATS_GetPrimarySkillName(i));
}
return iSkillTotal;
}
int ATS_GetSecondarySkillTotal(object oPlayer)
{
int iSkillTotal = 0;
int i;
for(i = 1; i < 11; ++i)
{
iSkillTotal += ATS_GetTradeskill(oPlayer, ATS_GetSecondarySkillName(i));
}
return iSkillTotal;
}
int ATS_GetSkillRank(int iSkillValue)
{
if(iSkillValue >= CINT_SKILL_LEVEL_RANK_10)
return 10;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_9)
return 9;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_8)
return 8;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_7)
return 7;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_6)
return 6;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_5)
return 5;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_4)
return 4;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_3)
return 3;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_2)
return 2;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_1)
return 1;
else
return 0;
}
string ATS_GetSkillRankName(int iSkillValue)
{
if(iSkillValue >= CINT_SKILL_LEVEL_RANK_10)
return CSTR_SKILLRANK_10;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_9)
return CSTR_SKILLRANK_9;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_8)
return CSTR_SKILLRANK_8;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_7)
return CSTR_SKILLRANK_7;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_6)
return CSTR_SKILLRANK_6;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_5)
return CSTR_SKILLRANK_5;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_4)
return CSTR_SKILLRANK_4;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_3)
return CSTR_SKILLRANK_3;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_2)
return CSTR_SKILLRANK_2;
else if(iSkillValue >= CINT_SKILL_LEVEL_RANK_1)
return CSTR_SKILLRANK_1;
else
return CSTR_SKILLRANK_0;
}
int ATS_IsSkillValueMasterLevel(int iSkillValue)
{
return (ATS_GetSkillRank(iSkillValue) >= CINT_SKILLRANK_MASTERLEVEL);
}
string ATS_GetSkillDescription(string sSkillName)
{
if(sSkillName == CSTR_SKILLNAME_MINING)
return CSTR_DESCRIPTION_SKILL_MINING;
else if(sSkillName == CSTR_SKILLNAME_BLACKSMITHING)
return CSTR_DESCRIPTION_SKILL_BLACKSMITHING;
else if(sSkillName == CSTR_SKILLNAME_ARMORCRAFTING)
return CSTR_DESCRIPTION_SKILL_ARMORCRAFTING;
else if(sSkillName == CSTR_SKILLNAME_WEAPONCRAFTING)
return CSTR_DESCRIPTION_SKILL_WEAPONCRAFTING;
else if(sSkillName == CSTR_SKILLNAME_TANNING)
return CSTR_DESCRIPTION_SKILL_TANNING;
else if(sSkillName == CSTR_SKILLNAME_GEMCUTTING)
return CSTR_DESCRIPTION_SKILL_GEMCUTTING;
else if(sSkillName == CSTR_SKILLNAME_JEWELCRAFTING)
return CSTR_DESCRIPTION_SKILL_JEWELCRAFTING;
else if(sSkillName == CSTR_SKILLNAME_BOWYERING)
return CSTR_DESCRIPTION_SKILL_BOWYERING;
else if(sSkillName == CSTR_SKILLNAME_FLETCHING)
return CSTR_DESCRIPTION_SKILL_FLETCHING;
else if(sSkillName == CSTR_SKILLNAME_TAILOR)
return CSTR_DESCRIPTION_SKILL_TAILOR;
else if(sSkillName == CSTR_SKILLNAME_TINKER)
return CSTR_DESCRIPTION_SKILL_TINKER;
else
return "";
}