public void RunAIBerserk() { Enemy target; int i = CurrentBattle.Random.Next(CurrentBattle.EnemyList.Count); target = CurrentBattle.EnemyList[i]; PrimaryAttack.Use(this, new Combatant[] { target }, new AbilityModifiers { ResetTurnTimer = true }); WaitingToResolve = true; }
public void RunAIConfu() { Ally target; int i = CurrentBattle.Random.Next(Party.PARTY_SIZE); while (CurrentBattle.Allies[i] == null) { i = (i + 1) % 3; } target = CurrentBattle.Allies[i]; PrimaryAttack.Use(this, new Combatant[] { target }, new AbilityModifiers { ResetTurnTimer = true }); WaitingToResolve = true; }
public void Attack(Combatant target, bool resetTurnTimer = true) { PrimaryAttack.Use(this, new Combatant[] { target }, new AbilityModifiers { ResetTurnTimer = resetTurnTimer }); }
static void onSpeech(object sender, UnicodeSpeechEventArgs e) { if (e.SenderId == Leader.Serial.Value) { switch (e.Text) { case "PartyPrivateMsg: drop party": Stealth.Client.PartyLeave(); break; case "PartyPrivateMsg: clear scanner": Scanner.ClearIgnoreList(); Controller.ConsoleMessage("Clearing Scanner", ConsoleColor.Gray); Stealth.Client.PartySay("Clearing Scanner"); break; case "PartyPrivateMsg: bandages": Controller.Self.Backpack.DoubleClick(); Stealth.Client.Wait(500); var _bandages = Item.Find(typeof(Bandage), Controller.BackpackID, false); if (_bandages.Count > 0) { Stealth.Client.PartySay("I have " + _bandages.First().Amount + " bandages left."); } else { Stealth.Client.PartySay("I'm out of bandages!"); } break; case "PartyPrivateMsg: follow": Stealth.Client.MoveXY((ushort)Leader.Location.X, (ushort)Leader.Location.Y, false, 0, true); break; case "PartyPrivateMsg: follow toggle": AutoFollow = !AutoFollow; Controller.ConsoleMessage("AutoFollow {0}", ConsoleColor.Gray, AutoFollow.ToString()); Stealth.Client.PartySay("AutoFollow " + AutoFollow.ToString()); break; case "PartyPrivateMsg: confirm trade": Stealth.Client.ConfirmTrade(0); break; case "PartyPrivateMsg: eoo": Controller.Self.Cast("Enemy of One"); break; case "PartyPrivateMsg: use ladder": if (Stealth.Client.IsObjectExists(1073868310)) { Stealth.Client.SetMoveThroughNPC(0); Stealth.Client.MoveXY(6432, 1699, false, 0, true); Stealth.Client.UseObject(1073868310); } else if (Stealth.Client.IsObjectExists(1073869466)) { Stealth.Client.SetMoveThroughNPC(0); Stealth.Client.MoveXY(6305, 1672, false, 0, true); Stealth.Client.UseObject(1073869466); } else { Stealth.Client.PartySay("couldn't find ladder"); } break; case "PartyPrivateMsg: use rope ladder": if (Stealth.Client.IsObjectExists(1073868317)) { Stealth.Client.SetMoveThroughNPC(0); Stealth.Client.MoveXY(6432, 1633, false, 0, true); Stealth.Client.UseObject(1073868317); } else if (Stealth.Client.IsObjectExists(1073869466)) { Stealth.Client.SetMoveThroughNPC(0); Stealth.Client.MoveXY(6305, 1672, false, 0, true); Stealth.Client.UseObject(1073869466); } else { Stealth.Client.PartySay("couldn't find rope ladder"); } break; case "PartyPrivateMsg: step down": Stealth.Client.Step(0, false); break; case "PartyPrivateMsg: toggle primary": PrimaryAttack = !PrimaryAttack; Controller.ConsoleMessage("PrimaryAttack {0}", ConsoleColor.Gray, PrimaryAttack.ToString()); Stealth.Client.PartySay("PrimaryAttack " + PrimaryAttack.ToString()); break; case "PartyPrivateMsg: help": Stealth.Client.PartySay("Commands are: drop party, bandages, follow, follow toggle, confirm trade, eoo, use ladder, use rope ladder, step down"); break; default: break; } } }