Initial Commit
Initial Commit [v1.32PRC8]
This commit is contained in:
274
_module/nss/wk_tools.nss
Normal file
274
_module/nss/wk_tools.nss
Normal file
@@ -0,0 +1,274 @@
|
||||
/////:://///////////////////////////////////////////////////////////////////////
|
||||
/////:: 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(){}
|
Reference in New Issue
Block a user