EN4_PRC8/_module/nss/wk_tools.nss
Jaysyn904 b464d8da05 Initial Commit
Initial Commit [v1.32PRC8]
2025-04-03 13:38:45 -04:00

274 lines
9.8 KiB
Plaintext

/////:://///////////////////////////////////////////////////////////////////////
/////:: Library functions for Altharia - written by Winterknight
/////:: Modified with improvements by Eowien 2/23/07
/////:: GetEffectiveLevel, GetEffectiveCasterLevel, Guardian data functions,
/////:: Various additional functions for Wand of Stats
/////:://///////////////////////////////////////////////////////////////////////
//Returns Vesper Levels or something idk what this really does
int GetVesper(object oPriest); //FUNCTION PROTOTYPE
int GetEffectiveLevel(object oChar)
{
int nXP = GetXP(oChar);
int nECL;
if (nXP < 820000)
nECL = GetHitDice(oChar);
else if (nXP >= 820000 && nXP < 15950000 )
nECL = FloatToInt(0.5+sqrt(10.0)*sqrt(IntToFloat(250+2*nXP))/100);
else if (nXP >= 15950000)
nECL = 200;
/*SendMessageToPC(oChar, "XP = "+IntToString(nXP)+" nECL = "+IntToString(nECL));*/
return nECL;
}
// | REMOVE THESE
// |
// v
string GetServerRank (object oPC)
{
int nLevel = GetEffectiveLevel(oPC);
string sRank;
if (nLevel < 10) sRank = "Adventurer ";
if (nLevel > 9 & nLevel < 20) sRank = "Veteran ";
if (nLevel > 19 & nLevel < 30) sRank = "Champion ";
if (nLevel > 29 & nLevel < 40) sRank = "Hero ";
if (nLevel > 39 & nLevel < 50) sRank = "Paragon ";
if (nLevel > 49 & nLevel < 60) sRank = "Icon ";
if (nLevel > 59 & nLevel < 70) sRank = "Guardian ";
if (nLevel > 69 & nLevel < 80) sRank = "Eidolon ";
if (nLevel > 79 & nLevel < 90) sRank = "Lord ";
if (nLevel > 89 & nLevel < 100) sRank = "Legend ";
if (nLevel > 99 & nLevel < 110) sRank = "Saint ";
if (nLevel > 109 & nLevel < 130) sRank = "Avatar ";
if (nLevel > 129 & nLevel < 150) sRank = "Seraphim ";
if (nLevel > 149 & nLevel < 170) sRank = "Demiurge ";
if (nLevel > 169 & nLevel < 180) sRank = "Maester ";
if (nLevel > 179 & nLevel < 190) sRank = "Exemplar ";
if (nLevel > 189 & nLevel < 200) sRank = "Demigod ";
if (nLevel > 199) sRank = "Deity of Altharia ";
return sRank;
}
int GetMithrilCount (object oPC)
{
int nCount = GetCampaignInt("12Dark2","mithril",oPC);
return nCount;
}
string GetCurrentGuildName (object oPC)
{
string sGuild = GetCampaignString("Character","guild",oPC);
string sPrint;
if (sGuild == "toaa") sPrint = "Tower of Arcane Arts.";
if (sGuild == "t12d") sPrint = "Temple of 12 Disciplines.";
if (sGuild == "dash") sPrint = "Dashana Institute.";
if (sGuild == "shad") sPrint = "Shadow Guild.";
if (sGuild == "just") sPrint = "Brotherhood of Justiciars.";
if (sGuild == "coto") sPrint = "Church of the One God.";
if (sGuild == "ulme") sPrint = "Ulme Umarmem.";
if (sGuild == "merc") sPrint = "Mercenary Guild.";
if (sGuild == "drag") sPrint = "Dragon Cult.";
return sPrint;
}
int GetSneaky (object oPC)
{
int nAss = GetLevelByClass(CLASS_TYPE_ASSASSIN, oPC);
int nBlack = GetLevelByClass(CLASS_TYPE_BLACKGUARD, oPC);
int nRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC);
int nShadow = GetLevelByClass(CLASS_TYPE_SHADOWDANCER, oPC);
int nTotal = nAss + nBlack + nRogue + nShadow;
return nTotal;
}
int GetIsEligible (object oPC, string sUpgrade)
{
int nArch = GetLevelByClass(CLASS_TYPE_ARCANE_ARCHER, oPC);
int nAss = GetLevelByClass(CLASS_TYPE_ASSASSIN, oPC);
int nBarb = GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC);
int nBard = GetLevelByClass(CLASS_TYPE_BARD, oPC);
int nBlack = GetLevelByClass(CLASS_TYPE_BLACKGUARD, oPC);
int nCleric = GetLevelByClass(CLASS_TYPE_CLERIC, oPC);
int nCoT = GetLevelByClass(CLASS_TYPE_DIVINECHAMPION, oPC);
int nRDD = GetLevelByClass(CLASS_TYPE_DRAGONDISCIPLE, oPC);
int nDruid = GetLevelByClass(CLASS_TYPE_DRUID, oPC);
int nDwarf = GetLevelByClass(CLASS_TYPE_DWARVENDEFENDER, oPC);
int nFighter = GetLevelByClass(CLASS_TYPE_FIGHTER, oPC);
int nHarp = GetLevelByClass(CLASS_TYPE_HARPER, oPC);
int nMonk = GetLevelByClass(CLASS_TYPE_MONK, oPC);
int nPally = GetLevelByClass(CLASS_TYPE_PALADIN, oPC);
int nPaleM = GetLevelByClass(CLASS_TYPE_PALEMASTER, oPC);
int nRanger = GetLevelByClass(CLASS_TYPE_RANGER, oPC);
int nRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC);
int nShadow = GetLevelByClass(CLASS_TYPE_SHADOWDANCER, oPC);
int nShift = GetLevelByClass(CLASS_TYPE_SHIFTER, oPC);
int nSorc = GetLevelByClass(CLASS_TYPE_SORCERER, oPC);
int nWeaps = GetLevelByClass(CLASS_TYPE_WEAPON_MASTER, oPC);
int nWizard = GetLevelByClass(CLASS_TYPE_WIZARD, oPC);
int bEligible = FALSE;
int nLevel;
if (sUpgrade == "magestaff") nLevel = nSorc + nWizard + nPaleM;
if (sUpgrade == "vesperbel") nLevel = nCleric + nPally + nCoT;
if (sUpgrade == "holysword") nLevel = nCleric + nPally + nCoT;
if (sUpgrade == "whitegold") nLevel = nDruid + nRanger + nShift;
if (sUpgrade == "harmonics") nLevel = nBard + nRDD + nHarp;
if (sUpgrade == "fulminate") nLevel = nFighter + nBarb + nBlack + nCoT + nDwarf + nMonk + nPally + nRanger + nWeaps;
if (sUpgrade == "stilletto") nLevel = nRogue + nAss + nShadow + nWeaps + nBlack + nRanger;
if (sUpgrade == "innerpath") nLevel = nMonk;
if (sUpgrade == "archerbow") nLevel = nFighter + nBarb + nBlack + nCoT + nDwarf + nMonk + nPally + nRanger + nWeaps + nCleric + nBard + nDruid + nSorc + nWizard + nPaleM + nRogue + nAss + nShadow + nRDD + nHarp + nArch + nShift;
if (nLevel >= 21) bEligible = TRUE;
if (sUpgrade == "holysword" && nPally < 5) bEligible = FALSE;
if (sUpgrade == "stilletto")
{
nLevel = nRogue + nAss + nShadow + nBlack;
if (nLevel < 5) bEligible = FALSE;
}
return bEligible;
}
int GetStrikeLevel (object oPC, string sUpgrade)
{
int nAss = GetLevelByClass(CLASS_TYPE_ASSASSIN, oPC);
int nBarb = GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC);
int nBlack = GetLevelByClass(CLASS_TYPE_BLACKGUARD, oPC);
int nCleric = GetLevelByClass(CLASS_TYPE_CLERIC, oPC);
int nCoT = GetLevelByClass(CLASS_TYPE_DIVINECHAMPION, oPC);
int nDruid = GetLevelByClass(CLASS_TYPE_DRUID, oPC);
int nDwarf = GetLevelByClass(CLASS_TYPE_DWARVENDEFENDER, oPC);
int nFighter = GetLevelByClass(CLASS_TYPE_FIGHTER, oPC);
int nMonk = GetLevelByClass(CLASS_TYPE_MONK, oPC);
int nPally = GetLevelByClass(CLASS_TYPE_PALADIN, oPC);
int nRanger = GetLevelByClass(CLASS_TYPE_RANGER, oPC);
int nRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC);
int nShadow = GetLevelByClass(CLASS_TYPE_SHADOWDANCER, oPC);
int nShift = GetLevelByClass(CLASS_TYPE_SHIFTER, oPC);
int nWeaps = GetLevelByClass(CLASS_TYPE_WEAPON_MASTER, oPC);
int nLevel = GetHitDice(oPC);
if (sUpgrade == "holysword") nLevel = nCleric + nPally + nCoT;
if (sUpgrade == "fulminate") nLevel = nFighter + nBarb + nBlack + nCoT + nDwarf + nMonk + nPally + nRanger + nWeaps;
if (sUpgrade == "stilletto") nLevel = nRogue + nAss + nShadow + nWeaps + nBlack + nRanger;
if (sUpgrade == "innerpath") nLevel = nMonk;
if (sUpgrade == "whitegold") nLevel = nRanger + nDruid + nShift;
return nLevel;
}
string GetClassName (int nClass)
{
string sName;
if (nClass == CLASS_TYPE_SORCERER) sName = "Sorcerer";
if (nClass == CLASS_TYPE_FIGHTER) sName = "Fighter";
if (nClass == CLASS_TYPE_ROGUE) sName = "Rogue";
if (nClass == CLASS_TYPE_WIZARD) sName = "Wizard";
if (nClass == CLASS_TYPE_DRUID) sName = "Druid";
if (nClass == CLASS_TYPE_CLERIC) sName = "Cleric";
if (nClass == CLASS_TYPE_RANGER) sName = "Ranger";
if (nClass == CLASS_TYPE_PALADIN) sName = "Paladin";
if (nClass == CLASS_TYPE_BARD) sName = "Bard";
if (nClass == CLASS_TYPE_BARBARIAN) sName = "Barbarian";
if (nClass == CLASS_TYPE_WEAPON_MASTER) sName = "Weapon Master";
if (nClass == CLASS_TYPE_DWARVENDEFENDER) sName = "Dwarven Defender";
if (nClass == CLASS_TYPE_DRAGONDISCIPLE) sName = "Dragon Disciple";
if (nClass == CLASS_TYPE_ARCANE_ARCHER) sName = "Arcane Archer";
if (nClass == CLASS_TYPE_PALE_MASTER) sName = "Pale Master";
if (nClass == CLASS_TYPE_HARPER) sName = "Harper Scout";
if (nClass == CLASS_TYPE_SHADOWDANCER) sName = "Shadow Dancer";
if (nClass == CLASS_TYPE_ASSASSIN) sName = "Assassin";
if (nClass == CLASS_TYPE_SHIFTER) sName = "Shifter";
if (nClass == CLASS_TYPE_DIVINECHAMPION) sName = "Divine Champion";
if (nClass == CLASS_TYPE_BLACKGUARD) sName = "Blackguard";
if (nClass == CLASS_TYPE_MONK) sName = "Monk";
return sName;
}
int GetEffectiveCasterLevel (object oCaster)
{
int nCasterLevel = GetCasterLevel(oCaster);
int nXP = GetXP(oCaster);
int nRatio = nCasterLevel;
if (nXP >= 820000)
{
int nHD = GetEffectiveLevel(oCaster);
nRatio = nCasterLevel * nHD / 40;
}
return nRatio;
}
int GetEffectiveClassLevel (object oPC, int nClass)
{
int nClassLevel = GetLevelByClass(nClass, oPC);
int nXP = GetXP(oPC);
int nRatio = nClassLevel;
if (nXP >= 820000)
{
int nHD = GetEffectiveLevel(oPC);
nRatio = nClassLevel * nHD / 40;
}
return nRatio;
}
int GetMageStaff (object oMage)
{
int nStaff = GetLocalInt(oMage,"magestaff");
if (nStaff > 4) nStaff = 4;
return nStaff;
}
int GetSigil (object oWarrior)
{
int nSigil = GetLocalInt(oWarrior,"fulminate");
return nSigil;
}
int GetArchery (object oArcher)
{
int nArch = GetLocalInt(oArcher,"archerbow");
return nArch;
}
int GetInnerPath (object oMonk)
{
int nMonk = GetLocalInt(oMonk,"innerpath");
return nMonk;
}
int GetVesper(object oPriest)
{
int nVesper = GetLocalInt(oPriest,"vesperbel");
int nSword = GetLocalInt(oPriest,"holysword");
if (nSword > nVesper) nVesper = nSword;
if (nVesper > 4) nVesper = 4;
return nVesper;
}
int GetTechnique (object oRogue)
{
int nTech = GetLocalInt(oRogue,"stilletto");
return nTech;
}
int GetWhiteGold (object oDruid)
{
int nWhite = GetLocalInt(oDruid,"whitegold");
if (nWhite > 4) nWhite = 4;
return nWhite;
}
int GetHarmonic (object oBard)
{
int nHarmonic = GetLocalInt(oBard,"harmonics");
if (nHarmonic > 4) nHarmonic = 4;
return nHarmonic;
}
// This is for compiling testing if the function changes.
// void main(){}