• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Green stamina for pvp-enforced

clouf

Active Member
Joined
Jul 5, 2012
Messages
191
Reaction score
34
Location
Poland
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:

Similar threads

Back
Top