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 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; }