mirror of
				https://github.com/ErikasKontenis/SabrehavenServer.git
				synced 2025-10-31 03:56:22 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			836 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			836 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| function onLogin(player)
 | |
| 	if not configManager.getBoolean(configKeys.STAMINA_SYSTEM) then
 | |
| 		return true
 | |
| 	end
 | |
| 
 | |
| 	local lastLogout = player:getLastLogout()
 | |
| 	local offlineTime = lastLogout ~= 0 and math.min(os.time() - lastLogout, 86400 * 21) or 0
 | |
| 	offlineTime = offlineTime - 600
 | |
| 
 | |
| 	if offlineTime < 180 then
 | |
| 		return true
 | |
| 	end
 | |
| 
 | |
| 	local staminaMinutes = player:getStamina()
 | |
| 	local maxNormalStaminaRegen = 3240 - math.min(3240, staminaMinutes)
 | |
| 
 | |
| 	local regainStaminaMinutes = offlineTime / 180
 | |
| 	if regainStaminaMinutes > maxNormalStaminaRegen then
 | |
| 		local happyHourStaminaRegen = (offlineTime - (maxNormalStaminaRegen * 180)) / 600
 | |
| 		staminaMinutes = math.min(3360, math.max(3240, staminaMinutes) + happyHourStaminaRegen)
 | |
| 	else
 | |
| 		staminaMinutes = staminaMinutes + regainStaminaMinutes
 | |
| 	end
 | |
| 
 | |
| 	player:setStamina(staminaMinutes)
 | |
| 	return true
 | |
| end
 | 
