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;
        }
Exemple #2
0
        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);
 }
Exemple #4
0
 public List <Creature> FindTargets(Creature creature, WorldPosition position, double distance, TargetingAreaType type)
 {
     return(FindTargets(creature, position.X, position.Y, position.Z, distance, type));
 }