Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ updateCloudLayer()

void Terraria.Main.updateCloudLayer ( )
inline

Definition at line 12211 of file Main.cs.

12212 {
12213 if (netMode == 1 || (netMode == 0 && gameMenu))
12214 {
12215 return;
12216 }
12217 int num = 86400;
12218 int num2 = num / 24;
12219 float num3 = Math.Max(1f, 1f + 4f * cloudAlpha);
12220 if (cloudBGActive > 0f)
12221 {
12222 if (cloudBGActive > 1f)
12223 {
12224 cloudBGActive -= (float)dayRate / num3;
12225 }
12226 if (cloudBGActive < 1f)
12227 {
12228 cloudBGActive = 1f;
12229 }
12230 if (cloudBGActive == 1f && rand.Next((int)((float)(num2 * 2 / Math.Max(dayRate, 1)) * num3)) == 0)
12231 {
12232 cloudBGActive = -rand.Next(num2 * 4, num * 4);
12233 if (netMode == 2)
12234 {
12235 NetMessage.SendData(7);
12236 }
12237 }
12238 return;
12239 }
12240 if (cloudBGActive < 0f)
12241 {
12242 cloudBGActive += (float)dayRate * num3;
12243 if (raining)
12244 {
12245 cloudBGActive += (float)(2 * dayRate) * num3;
12246 }
12247 }
12248 if (cloudBGActive > 0f)
12249 {
12250 cloudBGActive = 0f;
12251 }
12252 if (cloudBGActive == 0f && rand.Next((int)((float)(num2 * 12 / ((dayRate == 0) ? 1 : dayRate)) / num3)) == 0)
12253 {
12254 cloudBGActive = rand.Next(num2 * 3, num * 2);
12255 if (netMode == 2)
12256 {
12257 NetMessage.SendData(7);
12258 }
12259 }
12260 else if (IsItStorming)
12261 {
12262 cloudBGActive = rand.Next(num2, num2 * 4);
12263 if (netMode == 2)
12264 {
12265 NetMessage.SendData(7);
12266 }
12267 }
12268 }
static byte Max(byte val1, byte val2)
Definition Math.cs:738
static bool raining
Definition Main.cs:1310
static float cloudAlpha
Definition Main.cs:1302
static int netMode
Definition Main.cs:2095
static UnifiedRandom rand
Definition Main.cs:1387
static int dayRate
Definition Main.cs:746
static float cloudBGActive
Definition Main.cs:628
static bool gameMenu
Definition Main.cs:1926
static bool IsItStorming
Definition Main.cs:2871

References Terraria.Main.cloudAlpha, Terraria.Main.cloudBGActive, Terraria.Main.dayRate, Terraria.Main.gameMenu, Terraria.Main.IsItStorming, System.Math.Max(), Terraria.Main.netMode, Terraria.Main.raining, Terraria.Main.rand, and Terraria.NetMessage.SendData().

Referenced by Terraria.Main.DoUpdate().