Should i find this script in source's?
Problem solved
player.cpp
Problem solved
player.cpp
Code:
double Player::getGainedExperience(Creature* attacker) const
{
if(g_game.getWorldType() == WORLD_TYPE_HARDCORE_PVP && g_config.getNumber(ConfigManager::RATE_EXPERIENCE_PVP) > 0){
Player* attackerPlayer = attacker->getPlayer();
if(attackerPlayer && attackerPlayer != this && skillLoss){
/*Formula
a = attackers level * 0.9
b = victims level
c = victims experience
y = (1 - (a / b)) * 0.05 * c
*/
uint32_t a = (int32_t)std::floor(attackerPlayer->getLevel() * 0.9);
uint32_t b = getLevel();
uint64_t c = getExperience();
double result = std::max(0.0, getDamageRatio(attacker) * std::max((double)0, ((double)(1 - (((double)a / b))))) * 0.05 * c );
if(getStaminaMinutes() >= 2460){
return result * g_config.getNumber(ConfigManager::RATE_EXPERIENCE_PVP) * 2;
}
else if(getStaminaMinutes() <= 2459){
return result * g_config.getNumber(ConfigManager::RATE_EXPERIENCE_PVP);
}
}
}
return 0.0;
}
Last edited: