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

◆ AI_193_Flamethrower()

void Terraria.Projectile.AI_193_Flamethrower ( )
inlineprivate

Definition at line 33734 of file Projectile.cs.

33735 {
33736 localAI[0] += 1f;
33737 int num = 60;
33738 int num2 = 12;
33739 int num3 = num + num2;
33740 if (localAI[0] >= (float)num3)
33741 {
33742 Kill();
33743 }
33744 if (localAI[0] >= (float)num)
33745 {
33746 velocity *= 0.95f;
33747 }
33748 bool flag = ai[0] == 1f;
33749 int num4 = 50;
33750 int num5 = num4;
33751 if (flag)
33752 {
33753 num4 = 0;
33754 num5 = num;
33755 }
33756 if (localAI[0] < (float)num5 && Main.rand.NextFloat() < 0.25f)
33757 {
33758 short num6 = (short)(flag ? 135 : 6);
33759 Dust dust = Dust.NewDustDirect(base.Center + Main.rand.NextVector2Circular(60f, 60f) * Utils.Remap(localAI[0], 0f, 72f, 0.5f, 1f), 4, 4, num6, velocity.X * 0.2f, velocity.Y * 0.2f, 100);
33760 if (Main.rand.Next(4) == 0)
33761 {
33762 dust.noGravity = true;
33763 dust.scale *= 3f;
33764 dust.velocity.X *= 2f;
33765 dust.velocity.Y *= 2f;
33766 }
33767 else
33768 {
33769 dust.scale *= 1.5f;
33770 }
33771 dust.scale *= 1.5f;
33772 dust.velocity *= 1.2f;
33773 dust.velocity += velocity * 1f * Utils.Remap(localAI[0], 0f, (float)num * 0.75f, 1f, 0.1f) * Utils.Remap(localAI[0], 0f, (float)num * 0.1f, 0.1f, 1f);
33774 dust.customData = 1;
33775 }
33776 if (num4 > 0 && localAI[0] >= (float)num4 && Main.rand.NextFloat() < 0.5f)
33777 {
33778 Vector2 center = Main.player[owner].Center;
33779 Vector2 vector = (base.Center - center).SafeNormalize(Vector2.Zero).RotatedByRandom(0.19634954631328583) * 7f;
33780 short num7 = 31;
33781 Dust dust2 = Dust.NewDustDirect(base.Center + Main.rand.NextVector2Circular(50f, 50f) - vector * 2f, 4, 4, num7, 0f, 0f, 150, new Color(80, 80, 80));
33782 dust2.noGravity = true;
33783 dust2.velocity = vector;
33784 dust2.scale *= 1.1f + Main.rand.NextFloat() * 0.2f;
33785 dust2.customData = -0.3f - 0.15f * Main.rand.NextFloat();
33786 }
33787 }
Vector2 velocity
Definition Entity.cs:16

References Terraria.Dust.NewDustDirect(), Terraria.Main.player, Terraria.Main.rand, Terraria.Utils.Remap(), and Microsoft.Xna.Framework.Vector2.Zero.