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

◆ SpawnAirborneCloud()

void Terraria.GameContent.AmbientWindSystem.SpawnAirborneCloud ( int x,
int y )
inlineprivate

Definition at line 78 of file AmbientWindSystem.cs.

79 {
80 int num = _random.Next(2, 6);
81 float num2 = 1.1f;
82 float num3 = 2.2f;
83 float num4 = 0.023561945f * _random.NextFloatDirection();
84 float num5 = 0.023561945f * _random.NextFloatDirection();
85 while (num5 > -0.011780973f && num5 < 0.011780973f)
86 {
87 num5 = 0.023561945f * _random.NextFloatDirection();
88 }
89 if (_random.Next(4) == 0)
90 {
91 num = _random.Next(9, 16);
92 num2 = 1.1f;
93 num3 = 1.2f;
94 }
95 else if (_random.Next(4) == 0)
96 {
97 num = _random.Next(9, 16);
98 num2 = 1.1f;
99 num3 = 0.2f;
100 }
101 Vector2 vector = new Vector2(-10f, 0f);
102 Vector2 vector2 = new Point(x, y).ToWorldCoordinates();
103 num4 -= num5 * (float)num * 0.5f;
104 float num6 = num4;
105 for (int i = 0; i < num; i++)
106 {
107 if (Main.rand.Next(10) == 0)
108 {
109 num5 *= _random.NextFloatDirection();
110 }
111 Vector2 vector3 = _random.NextVector2Circular(4f, 4f);
112 int type = 1091 + _random.Next(2) * 2;
113 float num7 = 1.4f;
114 float num8 = num2 + _random.NextFloat() * num3;
115 float num9 = num6 + num5;
116 Vector2 vector4 = Vector2.UnitX.RotatedBy(num9) * num7;
117 Gore.NewGorePerfect(vector2 + vector3 - vector, vector4 * Main.WindForVisuals, type, num8);
118 vector2 += vector4 * 6.5f * num8;
119 num6 = num9;
120 }
121 }

References Terraria.GameContent.AmbientWindSystem._random, Terraria.Gore.NewGorePerfect(), Terraria.Utilities.UnifiedRandom.Next(), Terraria.Main.rand, Microsoft.Xna.Framework.Vector2.UnitX, and Terraria.Main.WindForVisuals.

Referenced by Terraria.GameContent.AmbientWindSystem.SpawnAirborneWind().