WoR_PRC8/_module/nss/s_pcl_list2.nss
Jaysyn904 b5e28e52f4 Initial commit
Initial commit [1.18]
2025-04-03 11:49:34 -04:00

127 lines
3.7 KiB
Plaintext

//::///////////////////////////////////////////////
//:: FileName s_pcl_list
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Scott Thorne
//:: Updated On: 08/27/2002
//:://////////////////////////////////////////////
string GetClassLevels(object oPC)
{
string sClassLevels = "";
int iClsIdx;
int iClsType;
string sClsName;
int iClsLvl;
for (iClsIdx = 1; iClsIdx <= 3; iClsIdx++) {
iClsType = GetClassByPosition(iClsIdx, oPC);
if (iClsType != CLASS_TYPE_INVALID) {
switch (iClsType) {
case CLASS_TYPE_BARBARIAN: sClsName = "Bbn"; break;
case CLASS_TYPE_BARD: sClsName = "Brd"; break;
case CLASS_TYPE_CLERIC: sClsName = "Clr"; break;
case CLASS_TYPE_DRUID: sClsName = "Drd"; break;
case CLASS_TYPE_FIGHTER: sClsName = "Ftr"; break;
case CLASS_TYPE_MONK: sClsName = "Mnk"; break;
case CLASS_TYPE_PALADIN: sClsName = "Pal"; break;
case CLASS_TYPE_RANGER: sClsName = "Rgr"; break;
case CLASS_TYPE_ROGUE: sClsName = "Rog"; break;
case CLASS_TYPE_SORCERER: sClsName = "Sor"; break;
case CLASS_TYPE_WIZARD: sClsName = "Wiz"; break;
case CLASS_TYPE_ARCANE_ARCHER: sClsName = "Arc"; break;
case CLASS_TYPE_BLACKGUARD: sClsName = "Blk"; break;
case CLASS_TYPE_HARPER: sClsName = "Hrp"; break;
case CLASS_TYPE_SHADOWDANCER: sClsName = "Shd"; break;
case CLASS_TYPE_WEAPON_MASTER: sClsName = "Wep"; break;
case CLASS_TYPE_SHIFTER: sClsName = "Shf"; break;
case CLASS_TYPE_PALEMASTER: sClsName = "Plm"; break;
case CLASS_TYPE_DWARVENDEFENDER: sClsName = "Dwv"; break;
case CLASS_TYPE_DRAGONDISCIPLE: sClsName = "Drg"; break;
case CLASS_TYPE_DIVINECHAMPION: sClsName = "Chp"; break;
default: sClsName = "?" + IntToString(iClsType) + "?";
}
iClsLvl = GetLevelByClass(iClsType, oPC);
if (sClassLevels != "") {
sClassLevels = sClassLevels + "/"; }
sClassLevels = sClassLevels + IntToString(iClsLvl) + " " + sClsName;
}
}
return sClassLevels + " ";
}
void main()
{
object oUser = GetPCSpeaker();
int iPCTot = 0; /* total PC's */
int iPCVis = 0; /* total non-anon (visible) PC's */
string sPCName;
string sPCArea;
string sPCLevel;
string sPCClass;
string sPCLFG;
string sPCAFK;
string sDM;
string sMessage;
object oPC = GetFirstPC();
while (oPC != OBJECT_INVALID)
{
iPCTot++;
/* skip anonymous PC's */
if (GetLocalInt(oPC, "PCL_ANON") != 1) {
iPCVis++;
sPCName = GetName(oPC) + " ";
//sPCArea = "(" + GetTag(GetArea(oPC)) + ") ";
sPCArea = "(" + GetName(GetArea(oPC)) + ") ";
sPCLevel = "L" + IntToString(GetHitDice(oPC)) + " ";
if (GetLocalInt(oPC, "PCL_HIDE_CLASS") == 1) {
sPCClass = "";
} else {
sPCClass = GetClassLevels(oPC);
}
if (GetLocalInt(oPC,"PCL_LFG") == 1) {
sPCLFG = "*LFG* ";
} else {
sPCLFG = ""; }
if (GetLocalInt(oPC,"PCL_AFK") == 1) {
sPCAFK = "<AFK> ";
} else {
sPCAFK = ""; }
if (GetIsDM(oPC)) {
sDM = "[DM] ";
} else {
sDM = ""; }
sMessage = sPCName + sPCClass + sPCLevel;
SendMessageToPC(oUser, sMessage);
}
oPC = GetNextPC();
}
sMessage = "[ " + IntToString(iPCVis) + " Adventurers in Rhun ]";
SendMessageToPC(oUser, sMessage);
}