rendered paste bodyint k_level = pPlayer->GetUInt32Value(UNIT_FIELD_LEVEL);
int v_level = pVictim->GetUInt32Value(UNIT_FIELD_LEVEL);
int k_honor = pPlayer->getHonor(); // or whatever function is :P
int v_honor = pVictim->getHonor();
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));
}
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 diff_honor = ((float)v_honor) / ((float)k_honor);
if(diff_honor > 3) diff_honor = 3.0;
if(diff_honor < 1) diff_honor = 1.0;
float honor_points = diff_level * (190 + diff_honor*60);
honor_points *= ((float)k_level) / 70.0;
honor_points *= World::getSingleton().getRate(RATE_HONOR);
return honor_points;