// Token: 0x060001EF RID: 495 RVA: 0x000BF614 File Offset: 0x000BD814
public static void MakeRain()
{
if ((double)Main.screenPosition.Y > Main.worldSurface * 16.0)
{
return;
}
if (Main.gameMenu)
{
return;
}
float num = (float)Main.screenWidth / 1920f;
num *= 25f;
num *= 0.25f + 1f * Main.cloudAlpha;
if (Filters.Scene["Sandstorm"].IsActive())
{
return;
}
int num2 = 0;
while ((float)num2 < num)
{
int num3 = 600;
if (Main.player[Main.myPlayer].velocity.Y < 0f)
{
num3 += (int)(Math.Abs(Main.player[Main.myPlayer].velocity.Y) * 30f);
}
Vector2 vector;
vector.X = (float)Main.rand.Next((int)Main.screenPosition.X - num3, (int)Main.screenPosition.X + Main.screenWidth + num3);
vector.Y = Main.screenPosition.Y - (float)Main.rand.Next(20, 100);
vector.X -= Main.windSpeed * 15f * 40f;
vector.X += Main.player[Main.myPlayer].velocity.X * 40f;
if (vector.X < 0f)
{
vector.X = 0f;
}
if (vector.X > (float)((Main.maxTilesX - 1) * 16))
{
vector.X = (float)((Main.maxTilesX - 1) * 16);
}
int num4 = (int)vector.X / 16;
int num5 = (int)vector.Y / 16;
if (num4 < 0)
{
num4 = 0;
}
if (num4 > Main.maxTilesX - 1)
{
num4 = Main.maxTilesX - 1;
}
if (Main.gameMenu || (!WorldGen.SolidTile(num4, num5) && Main.tile[num4, num5].wall <= 0))
{
Vector2 vector2 = new Vector2(Main.windSpeed * 12f, 14f);
Rain.NewRain(vector, vector2);
}
num2++;
}
}