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

◆ NewRain()

static int Terraria.Rain.NewRain ( Vector2 Position,
Vector2 Velocity )
inlinestaticprivate

Definition at line 226 of file Rain.cs.

227 {
228 //IL_0131: Unknown result type (might be due to invalid IL or missing references)
229 //IL_0132: Unknown result type (might be due to invalid IL or missing references)
230 //IL_015b: Unknown result type (might be due to invalid IL or missing references)
231 //IL_0163: Unknown result type (might be due to invalid IL or missing references)
232 //IL_0168: Unknown result type (might be due to invalid IL or missing references)
233 int num = -1;
234 int num2 = (int)((float)Main.maxRain * Main.cloudAlpha);
235 if (num2 > Main.maxRain)
236 {
237 num2 = Main.maxRain;
238 }
239 float num3 = (float)Main.maxTilesX / 6400f;
240 Math.Max(0f, Math.Min(1f, (Main.player[Main.myPlayer].position.Y / 16f - 85f * num3) / (60f * num3)));
241 float num4 = (1f + Main.gfxQuality) / 2f;
242 if ((double)num4 < 0.9)
243 {
244 num2 = (int)((float)num2 * num4);
245 }
246 float num5 = 800 - Main.SceneMetrics.SnowTileCount;
247 if (num5 < 0f)
248 {
249 num5 = 0f;
250 }
251 num5 /= 800f;
252 num2 = (int)((float)num2 * num5);
253 num2 = (int)((double)num2 * Math.Pow(Main.atmo, 9.0));
254 if ((double)Main.atmo < 0.4)
255 {
256 num2 = 0;
257 }
258 for (int i = 0; i < num2; i++)
259 {
260 if (!Main.rain[i].active)
261 {
262 num = i;
263 break;
264 }
265 }
266 if (num == -1)
267 {
268 return Main.maxRain;
269 }
270 Rain rain = Main.rain[num];
271 rain.active = true;
272 rain.position = Position;
273 rain.scale = 1f + (float)Main.rand.Next(-20, 21) * 0.01f;
274 rain.velocity = Velocity * rain.scale;
275 rain.rotation = (float)Math.Atan2(rain.velocity.X, 0f - rain.velocity.Y);
276 rain.waterStyle = (byte)Main.waterStyle;
277 if (Main.waterStyle >= 15)
278 {
279 rain.type = LoaderManager.Get<WaterStylesLoader>().Get(Main.waterStyle).GetRainVariant();
280 return num;
281 }
282 rain.type = (byte)(Main.waterStyle * 3 + Main.rand.Next(3));
283 return num;
284 }

References Terraria.Main.atmo, Terraria.Main.cloudAlpha, Terraria.Main.gfxQuality, Terraria.Main.maxRain, Terraria.Main.maxTilesX, Terraria.Main.myPlayer, Terraria.Main.player, Terraria.Main.rain, Terraria.Main.rand, Terraria.Rain.scale, Terraria.Main.SceneMetrics, Terraria.Rain.velocity, and Terraria.Main.waterStyle.

Referenced by Terraria.Rain.MakeRain().

+ Here is the caller graph for this function: