private void ambStartButton_Click(object sender, EventArgs e) { if (ambStartButton.Text == "Start Ambuscade") { ambStartButton.Text = "Stop Ambuscade"; if (fface.Party.Party0LeaderID == 0 || fface.Party.Party0Count == 1) { MessageBox.Show("You must be in a party to start Ambuscade!"); return; } if (fface.Player.Zone != Zone.Mhaura) { MessageBox.Show("You must be in Mhaura!"); return; } if (_ambuscade == null) { _ambuscade = new Ambuscade(fface); } Flipper.Monster roe = new Flipper.Monster() { MonsterName = ambRoETarget.Text, HitBox = Double.Parse(ambRoEHitbox.Text) }; Flipper.Monster amb = new Flipper.Monster() { MonsterName = ambTarget.Text, HitBox = Double.Parse(ambHitbox.Text) }; AmbuscadeSettings settings = new AmbuscadeSettings() { Leader = fface.Party.Party0LeaderID == fface.Player.PlayerCoreID, Role = DetermineJobRole(), PartyCount = fface.Party.Party0Count - 1, Server = uxAmbuscadeServer.SelectedItem.ToString() }; _ambuscade.Start(fface, roe, amb, ambHomePoint.Text, uxAmbKeyItem.Checked, settings, ambDifficulty.SelectedItem.ToString()); } else { ambStartButton.Text = "Start Ambuscade"; _ambuscade.EndAmbuscade(); _ambuscade = null; } }
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); }
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); } } }