public static bool IsOwnerOrFriendly(Colony colony, Players.Player candidate) { if (colony.Owners.ContainsByReference(candidate)) { return(true); } foreach (Players.Player owner in colony.Owners) { if (PlayerTracker.IsFriendly(owner, candidate)) { return(true); } } return(false); }
public static void OnNPCHit(NPC.NPCBase npc, ModLoader.OnHitData data) { if (!(data.HitSourceObject is Players.Player)) { return; } Players.Player killer = (Players.Player)data.HitSourceObject; foreach (Players.Player owner in npc.Colony.Owners) { if (owner == killer || PlayerTracker.IsFriendly(owner, killer)) { return; } } PlayerTracker.AddEnemy(npc.Colony, killer); }