public static int SeesPlayer(NPC npc) { for (int i = 0; i < Main.player.Length; i++) { Player plr = Main.player[i]; if (plr == null || !plr.active) { continue; } if (!plr.dead) { var myplayer = Main.LocalPlayer.GetModPlayer <MonsterAlertnessPlayer>(); if (!myplayer.IsLit) { continue; } bool sees = Utils.PlotTileLine(npc.Center, Main.LocalPlayer.Center, 1f, (x, y) => { return(!TileHelpers.IsTileSolid(Main.tile[x, y])); }); if (sees) { return(i); } } if (Main.netMode == 0) { break; } } return(-1); }