43646 {
43647 float num = 0.05f;
43649 for (
int i = 0;
i < 1000;
i++)
43650 {
43652 {
43653 if (
position.
X < Main.projectile[i].position.X)
43654 {
43655 velocity.X -= num;
43656 }
43657 else
43658 {
43659 velocity.X += num;
43660 }
43661 if (
position.
Y < Main.projectile[i].position.Y)
43662 {
43663 velocity.Y -= num;
43664 }
43665 else
43666 {
43667 velocity.Y += num;
43668 }
43669 }
43670 }
43672 {
43673 velocity.X *= 0.9f;
43675 int num4 = (int)(
base.Center.Y / 16f);
43676 _ = position.Y / 16f;
43678 if (Main.tile[
num3,
num4] ==
null)
43679 {
43681 }
43682 if (Main.tile[
num3,
num5] ==
null)
43683 {
43685 }
43687 {
43688 velocity.Y *= 0.5f;
43689 }
43690 num3 = (int)(
base.Center.X / 16f);
43691 num4 = (int)(
base.Center.Y / 16f);
43694 {
43695 velocity.Y -= 0.1f;
43697 {
43698 velocity.Y = -8f;
43699 }
43701 {
43702 velocity.Y =
num6 -
base.Center.Y;
43703 }
43704 }
43705 else
43706 {
43707 velocity.Y =
num6 -
base.Center.Y;
43708 }
43709 }
43710 else
43711 {
43713 {
43714 velocity.X *= 0.95f;
43715 }
43716 velocity.X *= 0.98f;
43717 velocity.Y += 0.3f;
43719 {
43720 velocity.Y = 15.9f;
43721 }
43722 }
43724 {
43726 frame = Main.rand.Next(4);
43727 }
43729 {
43732 {
43734 gore.velocity = Main.rand.NextVector2CircularEdge(10f, 10f);
43735 if (gore.velocity.Y > 0f)
43736 {
43737 gore.velocity.Y *= -1f;
43738 }
43739 }
43741 {
43743 gore2.velocity = Main.rand.NextVector2CircularEdge(4f, 4f);
43744 if (
gore2.velocity.Y > 0f)
43745 {
43746 gore2.velocity.Y *= -1f;
43747 }
43748 }
43749 }
43754 if (Main.rand.Next(
maxValue) == 0 && !flag)
43755 {
43758 {
43759 gore3.velocity = Vector2.UnitX * Main.rand.NextFloatDirection() * 0.75f + Vector2.UnitY * Main.rand.NextFloat();
43760 }
43761 else if (
gore3.velocity.Y < 0f)
43762 {
43763 gore3.velocity.Y = 0f -
gore3.velocity.Y;
43764 }
43765 }
43766 Vector2 spot = base.Center + Vector2.UnitY * 16f;
43768 {
43771 }
43773 {
43774 Main.instance.ChumBucketProjectileHelper.AddChumLocation(
spot);
43775 }
43776 }
static double Abs(double value)
float AI_061_FishingBobber_GetWaterLine(int X, int Y)