internal static void SetTrain(bool enable) { if (enable) { TrainEnabled = true; } else { TrainEnabled = false; Trainer = null; } }
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); } }
internal static void SetToTown(bool enable) { if (enable) { ToTownEnabled = true; ToTownDoRepair = true; ToTownDoVendor = true; ToTownDoMail = LazySettings.ShouldMail; } else { ToTownEnabled = false; Vendor = null; } }
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); }
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(); }
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); }
public void AddNpc(VendorsEx npc) { Npc.Add(npc); }