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

◆ AI_015_Flails_Dust()

void Terraria.Projectile.AI_015_Flails_Dust ( bool doFastThrowDust)
inlineprivate

Definition at line 36382 of file Projectile.cs.

36383 {
36384 if (type == 25)
36385 {
36386 int maxValue = 15;
36387 if (doFastThrowDust)
36388 {
36389 maxValue = 1;
36390 }
36391 if (Main.rand.Next(maxValue) == 0)
36392 {
36393 Dust.NewDust(position, width, height, 14, 0f, 0f, 150, default(Color), 1.3f);
36394 }
36395 }
36396 else if (type == 757)
36397 {
36398 int num = 4;
36399 if (velocity.Length() < 8f)
36400 {
36401 num = 10;
36402 }
36403 if (doFastThrowDust)
36404 {
36405 num /= 2;
36406 }
36407 for (int i = 0; i < 2; i++)
36408 {
36409 if (Main.rand.Next(num) == 0)
36410 {
36411 Dust dust = Dust.NewDustDirect(position, width, height, 5, 0f, 0f, 0, default(Color), 0.8f);
36412 dust.velocity += velocity / 4f;
36413 dust.fadeIn = 1.3f;
36414 }
36415 }
36416 num = 40;
36417 if (doFastThrowDust)
36418 {
36419 num /= 2;
36420 }
36421 for (float num2 = 0f; num2 < 1f; num2 += 0.1f)
36422 {
36423 if (Main.rand.Next(num) == 0)
36424 {
36425 Dust.NewDustDirect(Vector2.Lerp(Main.player[owner].Center, base.Center, Main.rand.NextFloat()) + new Vector2(-8f), 16, 16, 5, 0f, 0f, 0, default(Color), 1.3f).velocity += velocity / 4f;
36426 }
36427 }
36428 }
36429 else if (type == 26)
36430 {
36431 int num3 = Dust.NewDust(position, width, height, 172, velocity.X * 0.4f, velocity.Y * 0.4f, 100, default(Color), 1.5f);
36432 Main.dust[num3].noGravity = true;
36433 Main.dust[num3].velocity.X /= 2f;
36434 Main.dust[num3].velocity.Y /= 2f;
36435 }
36436 else if (type == 948 && !wet)
36437 {
36438 int num4 = Dust.NewDust(position, width, height, 6, velocity.X * 0.4f, velocity.Y * 0.4f, 100, default(Color), 1.2f);
36439 Main.dust[num4].noGravity = true;
36440 Main.dust[num4].velocity.X *= 4f;
36441 Main.dust[num4].velocity.Y *= 4f;
36442 Main.dust[num4].velocity = (Main.dust[num4].velocity + velocity) / 2f;
36443 }
36444 else if (type == 35)
36445 {
36446 int num5 = Dust.NewDust(position, width, height, 6, velocity.X * 0.4f, velocity.Y * 0.4f, 100, default(Color), 3f);
36447 Main.dust[num5].noGravity = true;
36448 Main.dust[num5].velocity.X *= 2f;
36449 Main.dust[num5].velocity.Y *= 2f;
36450 }
36451 else if (type == 154)
36452 {
36453 int num6 = Dust.NewDust(position, width, height, 115, velocity.X * 0.4f, velocity.Y * 0.4f, 140, default(Color), 1.5f);
36454 Main.dust[num6].noGravity = true;
36455 Main.dust[num6].velocity *= 0.25f;
36456 }
36457 }
Vector2 velocity
Definition Entity.cs:16
Vector2 position
Definition Entity.cs:14
static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)
Definition Vector2.cs:227

References Terraria.Main.dust, Microsoft.Xna.Framework.Vector2.Lerp(), Terraria.Dust.NewDust(), Terraria.Dust.NewDustDirect(), Terraria.Main.player, Terraria.Main.rand, and System.type.