From a21f986f307d202b418fffa71088c83d27febda9 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Tue, 22 Aug 2023 16:33:39 +0900 Subject: [PATCH] cloud spawn z-pos probability change --- src/net/torvald/terrarum/weather/WeatherMixer.kt | 3 ++- src/net/torvald/terrarum/weather/WeatherObjectCloud.kt | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/net/torvald/terrarum/weather/WeatherMixer.kt b/src/net/torvald/terrarum/weather/WeatherMixer.kt index 7c6313156..f9db63143 100644 --- a/src/net/torvald/terrarum/weather/WeatherMixer.kt +++ b/src/net/torvald/terrarum/weather/WeatherMixer.kt @@ -35,6 +35,7 @@ import java.util.* import kotlin.collections.ArrayList import kotlin.collections.HashMap import kotlin.math.absoluteValue +import kotlin.math.pow /** * Currently there is a debate whether this module must be part of the engine or the basegame @@ -278,7 +279,7 @@ internal object WeatherMixer : RNGConsumer { if (cloudsSpawned < cloudSpawnMax) { val flip = Math.random() < 0.5 val rC = takeUniformRand(0f..1f) - val rZ = takeUniformRand(1f..ALPHA_ROLLOFF_Z) + val rZ = takeUniformRand(1f..ALPHA_ROLLOFF_Z/4f).pow(1.5f) // clouds are more likely to spawn with low Z-value val rY = takeUniformRand(-1f..1f) val r1 = takeUniformRand(-1f..1f) val r2 = takeUniformRand(-1f..1f) diff --git a/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt b/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt index 2ac103659..a401ebec2 100644 --- a/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt +++ b/src/net/torvald/terrarum/weather/WeatherObjectCloud.kt @@ -37,7 +37,7 @@ class WeatherObjectCloud(private val texture: TextureRegion, private val flipW: fun update(flowVector: Vector3, gait: Float) { pos.add(flowVector.cpy().scl(vecMult).scl(gait)) - alpha = -(posZ / ALPHA_ROLLOFF_Z).pow(1.703f) + 1f + alpha = -(posZ / ALPHA_ROLLOFF_Z).pow(1f) + 1f val lrCoord = screenCoordBottomLR if (lrCoord.x > WeatherMixer.oobMarginR || lrCoord.z < WeatherMixer.oobMarginL || posZ !in 0.05f..ALPHA_ROLLOFF_Z || alpha < 1f / 255f) { @@ -100,6 +100,6 @@ class WeatherObjectCloud(private val texture: TextureRegion, private val flipW: companion object { fun screenXtoWorldX(screenX: Float, z: Float) = screenX * z - App.scr.halfwf * (z - 1f) - const val ALPHA_ROLLOFF_Z = 16f + const val ALPHA_ROLLOFF_Z = 64f } } \ No newline at end of file