176 {
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216 if (Main.gamePaused)
217 {
218 return;
219 }
221 Player player = Main.player[Main.myPlayer];
224 if (
sandTileCount < 100 || (
double)player.position.Y > Main.worldSurface * 16.0 || player.ZoneBeach)
225 {
226 return;
227 }
230 {
231 return;
232 }
233 int num =
Math.Sign(Main.windSpeedCurrent);
234 float num8 =
Math.Abs(Main.windSpeedCurrent);
236 {
237 return;
238 }
244 float num12 = (float)Main.screenWidth / (
float)Main.maxScreenW;
247 float num15 = (float)
num13 * (Main.gfxQuality * 0.5f + 0.5f) + (float)
num13 * 0.1
f - (
float)Dust.SandStormCount;
249 {
250 return;
251 }
252 float num2 = (float)Main.screenWidth + 1000
f;
253 float num3 = Main.screenHeight;
254 Vector2
vector = Main.screenPosition + player.velocity;
256 weightedRandom.Add(
new Color(200, 160, 20, 180), Main.SceneMetrics.GetTileCount(53) + Main.SceneMetrics.GetTileCount(396) + Main.SceneMetrics.GetTileCount(397));
257 weightedRandom.Add(
new Color(103, 98, 122, 180), Main.SceneMetrics.GetTileCount(112) + Main.SceneMetrics.GetTileCount(400) + Main.SceneMetrics.GetTileCount(398));
258 weightedRandom.Add(
new Color(135, 43, 34, 180), Main.SceneMetrics.GetTileCount(234) + Main.SceneMetrics.GetTileCount(401) + Main.SceneMetrics.GetTileCount(399));
259 weightedRandom.Add(
new Color(213, 196, 197, 180), Main.SceneMetrics.GetTileCount(116) + Main.SceneMetrics.GetTileCount(403) + Main.SceneMetrics.GetTileCount(402));
262 float amount = (value - 0.77f) / 0.23000002
f;
264 Vector2 position = default(Vector2);
265 for (
int i = 0; (float)i <
num14; i++)
266 {
267 if (Main.rand.Next(
num11 / 4) != 0)
268 {
269 continue;
270 }
271 ((Vector2)(
ref position)).
_002Ector(Main.rand.NextFloat() *
num2 - 500
f, Main.rand.NextFloat() * -50
f);
272 if (Main.rand.Next(3) == 0 &&
num == 1)
273 {
274 position.X = Main.rand.Next(500) - 500;
275 }
276 else if (Main.rand.Next(3) == 0 &&
num == -1)
277 {
278 position.X = Main.rand.Next(500) + Main.screenWidth;
279 }
280 if (position.X < 0
f || position.X > (
float)Main.screenWidth)
281 {
282 position.Y += Main.rand.NextFloat() *
num3 * 0.9f;
283 }
285 int num6 = (int)position.X / 16;
286 int num7 = (int)position.Y / 16;
288 {
289 continue;
290 }
292 if (tile.wall != 0)
293 {
294 continue;
295 }
296 for (
int j = 0;
j < 1;
j++)
297 {
298 Dust dust = Main.dust[Dust.NewDust(position, 10, 10, 268)];
299 dust.velocity.Y = 2
f + Main.rand.NextFloat() * 0.2f;
300 dust.velocity.Y *= dust.scale;
301 dust.velocity.Y *= 0.35f;
302 dust.velocity.X =
num9 * 5
f + Main.rand.NextFloat() * 1
f;
304 dust.fadeIn +=
num5 * 0.2f;
305 dust.velocity *= 1
f +
num4 * 0.5f;
307 dust.velocity *= 1
f +
num4;
308 dust.velocity *= value;
309 dust.scale = 0.9f;
312 {
313 break;
314 }
316 {
318 position += Utils.RandomVector2(Main.rand, -10
f, 10
f) + dust.velocity * -1.1f;
319 num6 = (int)position.X / 16;
320 num7 = (int)position.Y / 16;
322 {
325 }
326 }
327 }
329 {
330 break;
331 }
332 }
333 }
static bool ShouldSandstormDustPersist()
static void HandleEffectAndSky(bool toState)