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

◆ AI_194_HorsemanPumpkin()

void Terraria.Projectile.AI_194_HorsemanPumpkin ( )
inlineprivate

Definition at line 33690 of file Projectile.cs.

33691 {
33692 int num = (int)ai[0];
33693 Vector2 center = base.Center;
33694 if (Main.player.IndexInRange(num))
33695 {
33696 Player player = Main.player[num];
33697 if (player.active && !player.dead)
33698 {
33699 center = player.Center;
33700 }
33701 }
33702 Vector2 vector = center - base.Center;
33703 int num2 = 30;
33704 float num3 = 4f;
33705 float num4 = 5f;
33706 float num5 = 0.4f;
33707 float num6 = 0.4f;
33708 if (!(vector.Y < (float)num2) || !(vector.Y > (float)(-num2)))
33709 {
33710 float num7 = (float)Math.Sign(vector.Y) * num6;
33711 velocity.Y = Utils.Clamp(velocity.Y + num7, 0f - num4, num4);
33712 }
33713 velocity.X = Utils.Clamp(velocity.X + (float)Math.Sign(vector.X) * num5, 0f - num3, num3);
33714 rotation = velocity.ToRotation();
33715 spriteDirection = ((!(velocity.X < 0f)) ? 1 : (-1));
33716 if (timeLeft < 6)
33717 {
33718 Opacity -= 0.1f;
33719 }
33720 else
33721 {
33722 Opacity += 1f / 30f;
33723 }
33724 if (Main.rand.Next(3) != 0)
33725 {
33726 Dust dust = Dust.NewDustDirect(position, width, height, 6, velocity.X, velocity.Y);
33727 dust.scale = 0.6f;
33728 dust.fadeIn = 1.1f;
33729 dust.noGravity = true;
33730 dust.noLight = true;
33731 }
33732 }
static int Sign(decimal value)
Definition Math.cs:1202
Vector2 velocity
Definition Entity.cs:16
Vector2 position
Definition Entity.cs:14

References Terraria.Entity.active, Terraria.Entity.Center, Terraria.Player.dead, Terraria.Dust.NewDustDirect(), Terraria.Main.player, Terraria.Main.rand, and System.Math.Sign().