Code:
uint64_t Player::getGainedExperience(Creature* attacker) const
{
if(g_game.getWorldType() == WORLD_TYPE_PVP_ENFORCED){
Player* attackerPlayer = attacker->getPlayer();
if(attackerPlayer && attackerPlayer != this){
/*Formula
a = attackers level * 0.9
b = victims level
c = victims experience
y = (1 - (a / b)) * 0.05 * c
*/
int32_t a = (int32_t)std::floor(attackerPlayer->getLevel() * 0.9);
int32_t b = (int32_t)std::floor(getLevel() * 1.9);
int64_t c = getExperience();
int32_t result = std::max((int32_t)0, (int32_t)std::floor( getDamageRatio(attacker) * ((double)(1 - (((double)a / b)))) * 0.05 * c ) );
return result * g_config.getNumber(ConfigManager::RATE_EXPERIENCE);
}
}
return 0;
SORRY IDK HOW TO PUT THE CODE BOX THING IN =/
Last edited: