Example #1
0
 internal static void SetTrain(bool enable)
 {
     if (enable)
     {
         TrainEnabled = true;
     }
     else
     {
         TrainEnabled = false;
         Trainer      = null;
     }
 }
Example #2
0
 internal static void Pulse()
 {
     if (Vendor == null)
     {
         GrindingEngine.Navigator.Stop();
         Vendor = GrindingEngine.CurrentProfile.NpcController.GetNearestRepair();
         GrindingEngine.Navigation.SetNewSpot(Vendor.Location);
         Logging.Write("Going to vendor at: " + Vendor.Name);
     }
     if (GrindingEngine.Navigation.SpotToHit != Vendor.Location)
     {
         GrindingEngine.Navigation.SetNewSpot(Vendor.Location);
     }
 }
Example #3
0
 internal static void SetToTown(bool enable)
 {
     if (enable)
     {
         ToTownEnabled  = true;
         ToTownDoRepair = true;
         ToTownDoVendor = true;
         ToTownDoMail   = LazySettings.ShouldMail;
     }
     else
     {
         ToTownEnabled = false;
         Vendor        = null;
     }
 }
Example #4
0
        public VendorsEx GetNearestRepair()
        {
            double    closest = double.MaxValue;
            VendorsEx result  = null;

            foreach (VendorsEx vendor in Npc)
            {
                if (vendor.VendorType == VendorType.Repair)
                {
                    if (vendor.Location.DistanceToSelf2D < closest)
                    {
                        result  = vendor;
                        closest = vendor.Location.DistanceToSelf2D;
                    }
                }
            }
            return(result);
        }
Example #5
0
 internal static void Pulse()
 {
     if (Trainer == null)
     {
         GrindingEngine.Navigator.Stop();
         Trainer = GrindingEngine.CurrentProfile.NpcController.GetTrainer(ObjectManager.MyPlayer.UnitClass);
         GrindingEngine.Navigation.SetNewSpot(Trainer.Location);
         Logging.Write("Going to train at: " + Trainer.Name);
     }
     else if (Trainer.Location.DistanceToSelf2D < 5)
     {
         Logging.Write("Train done, going back");
         GrindingEngine.Navigator.Stop();
         GrindingEngine.Navigation = new GrindingNavigation(GrindingEngine.CurrentProfile);
         GrindingBlackList.Blacklist(Trainer.Name, 300, false);
         SetTrain(false);
     }
     if (GrindingEngine.Navigation.SpotToHit != Trainer.Location)
     {
         Logging.Write("Set spot");
         GrindingEngine.Navigation.SetNewSpot(Trainer.Location);
     }
     GrindingEngine.Navigation.Pulse();
 }
Example #6
0
        public VendorsEx GetTrainer(Constants.UnitClass unitClass)
        {
            double    closest = double.MaxValue;
            VendorsEx result  = null;

            foreach (VendorsEx vendor in Npc)
            {
                if (vendor.VendorType == VendorType.Train)
                {
                    bool use = false;
                    switch (unitClass)
                    {
                    case Constants.UnitClass.UnitClass_Unknown:
                        if (vendor.TrainClass == TrainClass.Unknown)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Warrior:
                        if (vendor.TrainClass == TrainClass.Warrior)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Paladin:
                        if (vendor.TrainClass == TrainClass.Paladin)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Hunter:
                        if (vendor.TrainClass == TrainClass.Hunter)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Rogue:
                        if (vendor.TrainClass == TrainClass.Rogue)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Priest:
                        if (vendor.TrainClass == TrainClass.Priest)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_DeathKnight:
                        if (vendor.TrainClass == TrainClass.DeathKnight)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Shaman:
                        if (vendor.TrainClass == TrainClass.Shaman)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Mage:
                        if (vendor.TrainClass == TrainClass.Mage)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Warlock:
                        if (vendor.TrainClass == TrainClass.Warlock)
                        {
                            use = true;
                        }
                        break;

                    case Constants.UnitClass.UnitClass_Druid:
                        if (vendor.TrainClass == TrainClass.Druid)
                        {
                            use = true;
                        }
                        break;
                    }
                    if (use && vendor.Location.DistanceToSelf2D < closest)
                    {
                        result  = vendor;
                        closest = vendor.Location.DistanceToSelf2D;
                    }
                }
            }
            return(result);
        }
Example #7
0
 public void AddNpc(VendorsEx npc)
 {
     Npc.Add(npc);
 }