1
0
mirror of https://github.com/t-affeldt/regional_weather.git synced 2024-11-11 13:00:38 +01:00
regional_weather/ca_weathers/ambient.lua

34 lines
935 B
Lua
Raw Normal View History

local name = "regional_weather:ambient"
2020-04-13 16:52:45 +02:00
local CLOUD_SPEED = 1.8
local conditions = {
min_daylight = 15
}
2020-04-13 16:52:45 +02:00
local function generate_effects(params)
local override = {}
local wind = vector.new(params.wind_x, 0, params.wind_z)
2020-04-13 16:52:45 +02:00
override["climate_api:skybox"] = {
cloud_data = {
size = climate_api.utility.rangelim(params.humidity / 100, 0.25, 0.98),
speed = vector.multiply(wind, CLOUD_SPEED)
}
}
2020-04-13 16:52:45 +02:00
local movement = params.player:get_player_velocity()
local movement_direction
if (vector.length(movement) < 0.1) then
movement_direction = vector.new(0, 0, 0)
else
movement_direction = vector.normalize(movement)
end
local vector_product = vector.dot(movement_direction, wind)
2020-04-13 16:52:45 +02:00
local movement_penalty = climate_api.utility.sigmoid(vector_product, 1.6, 0.2, 0.8) + 0.2
override["regional_weather:speed_buff"] = movement_penalty
return override
end
climate_api.register_weather(name, conditions, generate_effects)