All pastes #386113 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-03-08 11:24 UTC
rendered paste body
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;