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

◆ AI_156_TryAttackingNPCs()

int Terraria.Projectile.AI_156_TryAttackingNPCs ( List< int > blackListedTargets,
bool skipBodyCheck = false )
inlineprivate

Definition at line 42153 of file Projectile.cs.

42154 {
42155 Vector2 center = Main.player[owner].Center;
42156 int result = -1;
42157 float num = -1f;
42159 if (ownerMinionAttackTargetNPC != null && ownerMinionAttackTargetNPC.CanBeChasedBy(this))
42160 {
42161 bool flag = true;
42163 {
42164 flag = false;
42165 }
42166 if (ownerMinionAttackTargetNPC.Distance(center) > 1000f)
42167 {
42168 flag = false;
42169 }
42171 {
42172 flag = false;
42173 }
42174 if (flag)
42175 {
42176 return ownerMinionAttackTargetNPC.whoAmI;
42177 }
42178 }
42179 for (int i = 0; i < 200; i++)
42180 {
42181 NPC nPC = Main.npc[i];
42182 if (nPC.CanBeChasedBy(this) && (nPC.boss || !blackListedTargets.Contains(i)))
42183 {
42184 float num2 = nPC.Distance(center);
42185 if (!(num2 > 1000f) && (!(num2 > num) || num == -1f) && (skipBodyCheck || CanHitWithOwnBody(nPC)))
42186 {
42187 num = num2;
42188 result = i;
42189 }
42190 }
42191 }
42192 return result;
42193 }
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
bool CanHitWithOwnBody(Entity ent)

References System.Collections.Generic.Dictionary< TKey, TValue >.Contains(), Terraria.Main.npc, and Terraria.Main.player.