• 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!

Solved [TFS 1.1] Help to edit stamina regeneration time.

dgprado

Member
Joined
Apr 5, 2009
Messages
789
Reaction score
19
Location
Patria Amada Brasil
player.cpp
Code:
void Player::regenerateStamina(int32_t offlineTime)
{
    if (!g_config.getBoolean(ConfigManager::STAMINA_SYSTEM)) {
        return;
    }

    offlineTime -= 600;

    if (offlineTime < 180) {
        return;
    }

    int16_t regainStaminaMinutes = offlineTime / 180;
    int16_t maxNormalStaminaRegen = 2400 - std::min<int16_t>(2400, staminaMinutes);

    if (regainStaminaMinutes > maxNormalStaminaRegen) {
        int16_t happyHourStaminaRegen = (offlineTime - (maxNormalStaminaRegen * 180)) / 600;
        staminaMinutes = std::min<int16_t>(2520, std::max<int16_t>(2400, staminaMinutes) + happyHourStaminaRegen);
    } else {
        staminaMinutes += regainStaminaMinutes;
    }
}

void Player::useStamina()
{
    if (!g_config.getBoolean(ConfigManager::STAMINA_SYSTEM) || staminaMinutes == 0) {
        return;
    }

    time_t currentTime = time(nullptr);

    if (currentTime > nextUseStaminaTime) {
        time_t timePassed = currentTime - nextUseStaminaTime;

        if (timePassed > 60) {
            if (staminaMinutes > 2) {
                staminaMinutes -= 2;
            } else {
                staminaMinutes = 0;
            }

            nextUseStaminaTime = currentTime + 120;
        } else {
            --staminaMinutes;
            nextUseStaminaTime = currentTime + 60;
        }

        sendStats();
    }

How do I reduce the time required for stamina regeneration ?
 
Spontaneously I would reduce the offlineTime required to 60 for instance, 180 equals 3 minutes. So if you'd want one stamina point per minute instead, try this:

Code:
if (offlineTime < 60) {
return;
}

Ignazio
 
Back
Top