• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Green stamina for pvp-enforced

clouf

Member
Joined
Jul 5, 2012
Messages
162
Reaction score
23
Should i find this script in source's?

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:
Back
Top