int k_level = pPlayer->getLevel();
int v_level = pVictim->getlevel();
int k_grey = 0;
if (k_level > 5 && k_level < 40) {
k_grey = k_level - (5 + floor(k_level / 10));
} else {
k_grey = k_level - (1 + floor(k_level / 5));
}
// getTotalKills(Player *pVictim) returns the number of times player has killed victim that day
// If kills by pPlayer are stored in the database along with the pVictims GUID and the date/time
// it should be easy enough to write an sql query to get this number.
int total_kills = pPlayer->getTotalKills(pVictim);
float f;
if(total_kills < 10) f = (10 - (float)total_kills) * 0.1;
else f= 0.0;
float diff_level = ((float)(v_level-k_grey))/((float)(k_level - k_grey));
if(diff_level > 2) diff_level = 2.0;
if(diff_level < 0) diff_level = 0.0;
float honor_points = (f * diff_level * 330);
honor_points *= ((float)k_level) / 70.0;
return honor_points;