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

◆ TryTrackingTarget()

void Terraria.NPC.TryTrackingTarget ( ref float distance,
ref float realDist,
ref bool t,
ref int tankTarget,
int j )
inlineprivate

Definition at line 69966 of file NPC.cs.

69967 {
69968 float num = Math.Abs(Main.player[j].position.X + (float)(Main.player[j].width / 2) - position.X + (float)(width / 2)) + Math.Abs(Main.player[j].position.Y + (float)(Main.player[j].height / 2) - position.Y + (float)(height / 2));
69969 num -= (float)Main.player[j].aggro;
69970 if (Main.player[j].npcTypeNoAggro[type] && direction != 0)
69971 {
69972 num += 1000f;
69973 }
69974 if (!t || num < distance)
69975 {
69976 t = true;
69977 tankTarget = -1;
69978 realDist = Math.Abs(Main.player[j].position.X + (float)(Main.player[j].width / 2) - position.X + (float)(width / 2)) + Math.Abs(Main.player[j].position.Y + (float)(Main.player[j].height / 2) - position.Y + (float)(height / 2));
69979 distance = num;
69980 target = j;
69981 }
69982 if (Main.player[j].tankPet >= 0 && !Main.player[j].npcTypeNoAggro[type])
69983 {
69984 int tankPet = Main.player[j].tankPet;
69985 float num2 = Math.Abs(Main.projectile[tankPet].position.X + (float)(Main.projectile[tankPet].width / 2) - position.X + (float)(width / 2)) + Math.Abs(Main.projectile[tankPet].position.Y + (float)(Main.projectile[tankPet].height / 2) - position.Y + (float)(height / 2));
69986 num2 -= 200f;
69987 if (num2 < distance && num2 < 200f && Collision.CanHit(base.Center, 1, 1, Main.projectile[tankPet].Center, 1, 1))
69988 {
69989 tankTarget = tankPet;
69990 }
69991 }
69992 }
static double Abs(double value)
Vector2 position
Definition Entity.cs:14
int type
Definition NPC.cs:445
int target
Definition NPC.cs:459

References System.Math.Abs(), Terraria.Collision.CanHit(), Terraria.Entity.direction, Terraria.Entity.height, Terraria.Main.player, Terraria.Entity.position, Terraria.Main.projectile, Terraria.NPC.target, Terraria.NPC.type, Terraria.Entity.width, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.

Referenced by Terraria.NPC.TargetClosest(), and Terraria.NPC.TargetClosest_WOF().