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;