Files
dsrc/sku.0/sys.server/compiled/game/script/player/player_exploration.script
T

100 lines
2.1 KiB
Plaintext

include library.badge;
include library.utils;
messageHandler explorerBadge()
{
string badgeName = "";
if (params.containsKey("badgeNumber"))
{
int badgeNum = params.getInt("badgeNumber");
badgeName = getCollectionSlotName(badgeNum);
}
else if (params.containsKey("badgeName"))
{
badgeName = params.getString("badgeName");
}
if ((badgeName != null) && (badgeName.length() > 0))
badge.grantBadge (self, badgeName);
// when you get explorer badges, we check how many you have, and grant additional badges if needed.
// assume it's an explorer badge
int[] intExplorerBadges = dataTableGetIntColumn("datatables/badge/exploration_badges.iff", "intIndex");
int intExplBadgeCount = 0;
for(int intI = 0; intI<intExplorerBadges.length; intI++)
{
badgeName = getCollectionSlotName(intExplorerBadges[intI]);
if((badgeName != null) && (badgeName.length() > 0) && badge.hasBadge(self, badgeName))
{
intExplBadgeCount = intExplBadgeCount + 1;
}
}
if(intExplBadgeCount>=10)
{
if(!badge.hasBadge(self, "bdg_exp_10_badges"))
{
// you get the 10 badge
badge.grantBadge(self, "bdg_exp_10_badges");
return SCRIPT_CONTINUE;
}
}
if(intExplBadgeCount>=20)
{
if(!badge.hasBadge(self, "bdg_exp_20_badges"))
{
// you get the 20 badge
badge.grantBadge(self, "bdg_exp_20_badges");
return SCRIPT_CONTINUE;
}
}
if(intExplBadgeCount>=30)
{
if(!badge.hasBadge(self, "bdg_exp_30_badges"))
{
// you get a badge
badge.grantBadge(self, "bdg_exp_30_badges");
return SCRIPT_CONTINUE;
}
}
if (intExplBadgeCount>=40)
{
if(!badge.hasBadge(self, "bdg_exp_40_badges"))
{
// you get a badge
badge.grantBadge(self, "bdg_exp_40_badges");
return SCRIPT_CONTINUE;
}
}
if(intExplBadgeCount>=45)
{
if(!badge.hasBadge(self, "bdg_exp_45_badges"))
{
// you get a badge
badge.grantBadge(self, "bdg_exp_45_badges");
return SCRIPT_CONTINUE;
}
}
return SCRIPT_CONTINUE;
}
messageHandler handleCleanupHarassment()
{
if ( utils.hasScriptVar (self, "being_scanned") )
{
utils.removeScriptVar (self, "being_scanned");
}
return SCRIPT_CONTINUE;
}