mirror of
				https://github.com/t-affeldt/regional_weather.git
				synced 2025-11-04 09:55:35 +01:00 
			
		
		
		
	Enable dynamic cloud size
This commit is contained in:
		
							
								
								
									
										0
									
								
								ca_effects/leave_color.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								ca_effects/leave_color.lua
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										28
									
								
								ca_weathers/ambient.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								ca_weathers/ambient.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
local name = "regional_weather:wind"
 | 
			
		||||
 | 
			
		||||
local CLOUD_SPEED = 1.8
 | 
			
		||||
 | 
			
		||||
local conditions = {}
 | 
			
		||||
 | 
			
		||||
local function generate_effects(params)
 | 
			
		||||
	local override = {}
 | 
			
		||||
 | 
			
		||||
	override["climate_api:clouds"] = {
 | 
			
		||||
		size = climate_api.utility.rangelim(params.humidity, 0.25, 0.9),
 | 
			
		||||
		speed = vector.multiply(params.wind, CLOUD_SPEED)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	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, params.wind)
 | 
			
		||||
	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)
 | 
			
		||||
@@ -1,24 +0,0 @@
 | 
			
		||||
local name = "regional_weather:wind"
 | 
			
		||||
 | 
			
		||||
local CLOUD_SPEED_MULTIPLICATOR = 1.8
 | 
			
		||||
 | 
			
		||||
local conditions = {}
 | 
			
		||||
 | 
			
		||||
local function generate_effects(params)
 | 
			
		||||
	local override = {}
 | 
			
		||||
 | 
			
		||||
	override["climate_api:skybox"] = {
 | 
			
		||||
		clouds_data = {
 | 
			
		||||
			speed = params.wind * CLOUD_SPEED_MULTIPLICATOR
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	local movement_direction = vector.normalize(params.player:get_player_velocity())
 | 
			
		||||
	local vector_product = vector.dot(movement_direction, params.wind)
 | 
			
		||||
	local movement_penalty = climate_api.utility.logistic_growth(vector_product, 1.6, 0.15, 0.8) + 0.1
 | 
			
		||||
	override["regional_weather:speed_buff"] = movement_penalty
 | 
			
		||||
 | 
			
		||||
	return override
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
climate_api.register_weather(name, conditions, generate_effects)
 | 
			
		||||
							
								
								
									
										7
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								init.lua
									
									
									
									
									
								
							@@ -19,14 +19,15 @@ regional_weather.settings.max_height	= get_setting_number("max_height", 120)
 | 
			
		||||
regional_weather.settings.min_height	= get_setting_number("min_height", -50)
 | 
			
		||||
 | 
			
		||||
-- import individual weather types
 | 
			
		||||
dofile(modpath.."/ca_weathers/ambient.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/hail.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/pollen.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/rain.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/rain_heavy.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/sandstorm.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/snow.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/snow_heavy.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/storm.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/sandstorm.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/hail.lua")
 | 
			
		||||
dofile(modpath.."/ca_weathers/pollen.lua")
 | 
			
		||||
 | 
			
		||||
-- register environment effects
 | 
			
		||||
dofile(modpath.."/ca_effects/lightning.lua")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								mod.conf
									
									
									
									
									
								
							@@ -5,6 +5,8 @@ release = 1
 | 
			
		||||
depends = climate_api
 | 
			
		||||
optional_depends = lightning
 | 
			
		||||
description = """
 | 
			
		||||
	The ultimate weather mod with support not only for rain, snow, and hail,
 | 
			
		||||
	but also seasons, dynamic puddles and snow layers, wind, regrowing fruit and much more.
 | 
			
		||||
	Not every biome is the same and neither should their weather be.
 | 
			
		||||
	Regional Weather controls it's effects with the local climate in mind.
 | 
			
		||||
 | 
			
		||||
	Experience the humid air of the rain forest and harsh desert sandstorms.
 | 
			
		||||
"""
 | 
			
		||||
		Reference in New Issue
	
	Block a user