public List<Creature> FindTargets(Creature creature, float x, float y, float z, double distance, TargetingAreaType type) { List<Creature> finded = new List<Creature>(); switch (type) { case TargetingAreaType.Me: finded.Add(creature); break; case TargetingAreaType.EnemyOrPvP: case TargetingAreaType.Enemy: if (creature is Player) { finded.AddRange(FindNpcs(creature, x, y, z, distance)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); } else finded.AddRange(FindPlayers(creature, x, y, z, distance)); break; case TargetingAreaType.PvP: break; case TargetingAreaType.AllIncludeVillager: finded.Add(creature); finded.AddRange(FindNpcs(creature, x, y, z, distance, true)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); break; case TargetingAreaType.All: finded.Add(creature); finded.AddRange(FindNpcs(creature, x, y, z, distance)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); break; case TargetingAreaType.AllyOnDeath: case TargetingAreaType.AllyVillager: case TargetingAreaType.Ally: case TargetingAreaType.Party: case TargetingAreaType.AllyExceptMe: case TargetingAreaType.PartyExceptMe: break; case TargetingAreaType.AllExceptMe: finded.AddRange(FindNpcs(creature, x, y, z, distance)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); break; case TargetingAreaType.No: return finded; } return finded; }
public List <Creature> FindTargets(Creature creature, float x, float y, float z, double distance, TargetingAreaType type) { List <Creature> finded = new List <Creature>(); switch (type) { case TargetingAreaType.Me: finded.Add(creature); break; case TargetingAreaType.EnemyOrPvP: case TargetingAreaType.Enemy: if (creature is Player) { finded.AddRange(FindNpcs(creature, x, y, z, distance)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); } else { finded.AddRange(FindPlayers(creature, x, y, z, distance)); } break; case TargetingAreaType.PvP: break; case TargetingAreaType.AllIncludeVillager: finded.Add(creature); finded.AddRange(FindNpcs(creature, x, y, z, distance, true)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); break; case TargetingAreaType.All: finded.Add(creature); finded.AddRange(FindNpcs(creature, x, y, z, distance)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); break; case TargetingAreaType.AllyOnDeath: case TargetingAreaType.AllyVillager: case TargetingAreaType.Ally: case TargetingAreaType.Party: case TargetingAreaType.AllyExceptMe: case TargetingAreaType.PartyExceptMe: break; case TargetingAreaType.AllExceptMe: finded.AddRange(FindNpcs(creature, x, y, z, distance)); finded.AddRange(FindPlayers(creature, x, y, z, distance)); break; case TargetingAreaType.No: return(finded); } return(finded); }
public List<Creature> FindTargets(Creature creature, WorldPosition position, double distance, TargetingAreaType type) { return FindTargets(creature, position.X, position.Y, position.Z, distance, type); }
public List <Creature> FindTargets(Creature creature, WorldPosition position, double distance, TargetingAreaType type) { return(FindTargets(creature, position.X, position.Y, position.Z, distance, type)); }