private void DoCombat() { IJob job = new Ranger(fface, Content.Ambuscade); Flipper.Monster mob = new Flipper.Monster() { HitBox = 5, MonsterName = "Achuka", TimeSpecific = false }; job.LoseEffect += Job_LoseEffect; job.GainEffect += Job_GainEffect; Combat.SetInstance = fface; Combat.SetJob = job; Combat.FailType fail = Combat.FailType.NoFail; Combat.Fight(fface.Target.ID, mob, Combat.Mode.None, out fail); }
public bool Fight(int id, Combat.Mode mode) { bool result = false; // If we're in Ambuscade, let people know it's time to fight. if (_Leader && fface.Player.Zone == Zone.Maquette_Abdhaljs_Legion) { client.Send("RELAY TASK 3 " + id); } Combat.FailType fail = Combat.FailType.NoFail; result = Combat.Fight(id, ambuscadeTargetMonster, mode, out fail); if (result == false) { Combat.AddBlacklist(id); } return(result); }
private void Unity() { LoadJobClass(); while (unity) { if ((!HasItem(3853) && vwLeader.Checked) || fface.Item.InventoryCount >= 78) { fface.Windower.SendString("/echo I'm done!"); Thread.Sleep(1000); break; } fface.Windower.SendString("/echo ============= New Cycle.... =============="); // target planar List <TargetInfo> planars = new List <TargetInfo>(); List <TargetInfo> mobs = new List <TargetInfo>(); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(100); if (!mobs.Any()) { while (!planars.Any() && !mobs.Any()) { planars = FindTarget("Planar", 15); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(100); } if (!mobs.Any()) { TargetInfo rift = planars[0]; if (rift.Distance > 5) { fface.Navigator.DistanceTolerance = 4; fface.Navigator.GotoNPC(rift.Id, 4000); } while (fface.Target.ID != rift.Id || fface.Target.Name != "Planar Rift") { fface.Windower.SendKeyPress(KeyCode.EscapeKey); Thread.Sleep(100); fface.Windower.SendKeyPress(KeyCode.EscapeKey); Thread.Sleep(100); fface.Target.SetNPCTarget(rift.Id); Thread.Sleep(100); fface.Target.SetNPCTarget(rift.Id); fface.Windower.SendString("/target <t>"); Thread.Sleep(100); fface.Windower.SendString("/lockon"); Thread.Sleep(600); } int rubicund = (int)vwRubicundCellNum.Value; int cobalt = (int)vwCobaltCellNumber.Value; while (rubicund > 0 && HasItem(3435) && !mobs.Any()) { rubicund--; fface.Windower.SendString("/item \"Rubicund Cell\" <t>"); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(900); } while (cobalt > 0 && HasItem(3434) && !mobs.Any()) { cobalt--; fface.Windower.SendString("/item \"Cobalt Cell\" <t>"); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(900); } mobs = FindTarget(vwTargetName.Text); Thread.Sleep(100); } } if (vwLeader.Checked && !mobs.Any()) { Thread.Sleep(1000); int displacer = (int)vwDisplacersNum.Value; while (displacer > 0 && HasItem(3853) && !mobs.Any()) { displacer--; fface.Windower.SendString("/item \"Phase Displacer\" <t>"); Thread.Sleep(1400); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(100); } Thread.Sleep(700); if (!mobs.Any()) { fface.Windower.SendKeyPress(KeyCode.EnterKey); } Thread.Sleep(700); while ((!fface.Menu.IsOpen || fface.Menu.DialogID != 306) && !mobs.Any()) { mobs = FindTarget(vwTargetName.Text); Thread.Sleep(50); } while (fface.Menu.DialogOptionIndex != 1 && !mobs.Any()) { fface.Windower.SendKeyPress(KeyCode.DownArrow); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(300); } if (!mobs.Any()) { fface.Windower.SendKeyPress(KeyCode.EnterKey); } while ((!fface.Menu.IsOpen || fface.Menu.DialogID != 294) && !mobs.Any()) { mobs = FindTarget(vwTargetName.Text); Thread.Sleep(50); } while (fface.Menu.DialogOptionIndex != 0 && !mobs.Any()) { fface.Windower.SendKeyPress(KeyCode.UpArrow); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(300); } if (!mobs.Any()) { fface.Windower.SendKeyPress(KeyCode.EnterKey); } while ((!fface.Menu.IsOpen || fface.Menu.DialogID != 295) && !mobs.Any()) { mobs = FindTarget(vwTargetName.Text); Thread.Sleep(50); } while (fface.Menu.DialogOptionIndex != (int)vwDisplacersNum.Value && !mobs.Any()) { fface.Windower.SendKeyPress(KeyCode.DownArrow); mobs = FindTarget(vwTargetName.Text); Thread.Sleep(300); } if (!mobs.Any()) { fface.Windower.SendKeyPress(KeyCode.EnterKey); } } while (!mobs.Any()) { mobs = FindTarget(vwTargetName.Text); Thread.Sleep(100); } if (mobs.Any()) { Random randObj = new Random(); int RandomNumber = randObj.Next(500); Thread.Sleep(RandomNumber); if (!chkUseTempAfter.Checked) { UseTempItems(); RandomNumber = randObj.Next(500); Thread.Sleep(4200 + RandomNumber); } TargetInfo target = mobs[0]; Combat.SetInstance = fface; Combat.SetJob = job; Flipper.Monster m = new Flipper.Monster() { HitBox = 4, MonsterName = vwTargetName.Text }; Combat.FailType f = Combat.FailType.NoFail; Combat.Fight(target.Id, m, Combat.Mode.None, out f); ChestFailed: List <TargetInfo> chests = new List <TargetInfo>(); bool UsedTemp = false; while (!chests.Any()) { if (!UsedTemp && chkUseTempAfter.Checked) { UseTempItems(); UsedTemp = true; } chests = FindTarget("Riftworn", 15); Thread.Sleep(100); } TargetInfo chest = chests[0]; if (chest.Distance > 5) { fface.Navigator.DistanceTolerance = 4; fface.Navigator.GotoNPC(chest.Id, 4000); } while (fface.Target.ID != chest.Id || fface.Target.Name != "Riftworn Pyxis") { fface.Navigator.FaceHeading(chest.Id); Thread.Sleep(500); fface.Windower.SendKeyPress(KeyCode.EscapeKey); Thread.Sleep(100); fface.Windower.SendKeyPress(KeyCode.EscapeKey); Thread.Sleep(100); fface.Target.SetNPCTarget(chest.Id); Thread.Sleep(100); fface.Target.SetNPCTarget(chest.Id); fface.Windower.SendString("/target <t>"); Thread.Sleep(100); fface.Windower.SendString("/lockon"); Thread.Sleep(1000); } fface.Windower.SendKeyPress(KeyCode.EnterKey); Thread.Sleep(4000); if (!fface.Menu.IsOpen) { goto ChestFailed; } fface.Windower.SendKeyPress(KeyCode.RightArrow); Thread.Sleep(300); fface.Windower.SendKeyPress(KeyCode.RightArrow); Thread.Sleep(300); fface.Windower.SendKeyPress(KeyCode.RightArrow); Thread.Sleep(300); fface.Windower.SendKeyPress(KeyCode.RightArrow); Thread.Sleep(300); fface.Windower.SendKeyPress(KeyCode.EnterKey); Thread.Sleep(500); } } }
private void Assist() { var t = FindTarget(AssistName.Text); assistIndex = t[0].Id; assistingCoreID = Convert.ToInt32(AssistServerID.Text); IJob job = new Jobs(); if (fface.Player.MainJob == Job.THF) { job = new Thief(fface, Content.Ambuscade); } else if (fface.Player.MainJob == Job.GEO) { job = new Geomancer(fface, Content.Ambuscade); } else if (fface.Player.MainJob == Job.RNG) { job = new Ranger(fface, Content.Ambuscade); } else if (fface.Player.MainJob == Job.WHM) { job = new WhiteMage(fface, Content.Ambuscade); } else if (fface.Player.MainJob == Job.BLU) { job = new BlueMage(fface, Content.Ambuscade); } else if (fface.Player.MainJob == Job.PLD) { job = new Paladin(fface, Content.Ambuscade); } Combat.FailType fail = Combat.FailType.NoFail; Combat.SetInstance = fface; Combat.SetJob = job; while (_assisting) { while (fface.NPC.Status(assistIndex) != Status.Fighting) { if (fface.NPC.Distance(assistIndex) >= 4) { fface.Navigator.DistanceTolerance = 3.5; fface.Navigator.UseNewMovement = true; fface.Navigator.GotoNPC(assistIndex, 5000); } Thread.Sleep(1); } var targets = FindTarget(assistingCoreID); while (!targets.Any()) { targets = FindTarget(assistingCoreID); Thread.Sleep(1000); } Combat.Fight(targets[0].Id, new Flipper.Monster() { HitBox = 3, MonsterName = "Yilan" }, Combat.Mode.None, out fail); fface.Navigator.Reset(); Thread.Sleep(1000); } }