dgprado
Member
player.cpp
How do I reduce the time required for stamina regeneration ?
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 ?