Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- using System.Windows.Forms;
- using robotManager.Helpful;
- using robotManager.Products;
- using wManager.Wow.Class;
- using wManager.Wow.Enums;
- using wManager.Wow.Helpers;
- using wManager.Wow.ObjectManager;
- using Timer = robotManager.Helpful.Timer;
- public class Main : ICustomClass
- {
- public float Range { get { return 4.5f; } }
- private bool _isLaunched;
- private ulong _lastTarget;
- public void Initialize() // When product started, initialize and launch Fightclass
- {
- _isLaunched = true;
- Logging.Write("[My fightclass] Is initialized.");
- Rotation();
- }
- public void Dispose() // When product stopped
- {
- _isLaunched = false;
- Logging.Write("[My fightclass] Stop in progress.");
- }
- public void ShowConfiguration() // When use click on Fight class settings
- {
- MessageBox.Show("[My fightclass] No setting for this Fight Class.");
- }
- // SPELLS:
- // Buff:
- public Spell DeadlyPoison = new Spell("Deadly Poison");
- public Spell Sprint = new Spell("Sprint");
- // Pull:
- public Spell Stealth = new Spell("Stealth");
- // Combat:
- public Spell Garrote = new Spell("Garrote");
- public Spell SliceandDice = new Spell("Slice and Dice");
- public Spell Eviscerate = new Spell("Eviscerate");
- public Timer SliceandDiceTimer = new Timer(); // Timer
- internal void Rotation()
- {
- Logging.Write("[My fightclass] Is started.");
- while (_isLaunched)
- {
- try
- {
- if (!Products.InPause)
- {
- if (!ObjectManager.Me.IsDeadMe)
- {
- BuffRotation();
- if (Fight.InFight && ObjectManager.Me.Target > 0)
- {
- Pull();
- CombatRotation();
- }
- }
- }
- }
- catch (Exception e)
- {
- Logging.WriteError("[My fightclass] ERROR: " + e);
- }
- Thread.Sleep(10); // Pause 10 ms to reduce the CPU usage.
- }
- Logging.Write("[My fightclass] Is now stopped.");
- }
- internal void BuffRotation()
- {
- if (ObjectManager.Me.IsMounted)
- return;
- // Deadly Poison:
- if (DeadlyPoison.KnownSpell && !DeadlyPoison.HaveBuff && DeadlyPoison.IsSpellUsable && !ObjectManager.Me.GetMove)
- {
- DeadlyPoison.Launch();
- return;
- }
- // Sprint
- if (Sprint.KnownSpell && !ObjectManager.Me.InCombat && ObjectManager.Me.GetMove && Sprint.IsSpellUsable)
- {
- Sprint.Launch();
- return;
- }
- }
- internal void Pull()
- {
- if (ObjectManager.Me.Target == _lastTarget)
- return;
- // Stealth:
- if (Stealth.KnownSpell && Stealth.IsSpellUsable && !Stealth.HaveBuff && ObjectManager.Target.Target != ObjectManager.Me.Guid)
- {
- Stealth.Launch();
- _lastTarget = ObjectManager.Me.Target;
- }
- }
- internal void CombatRotation()
- {
- // Garrote:
- if (Garrote.IsSpellUsable && Garrote.IsDistanceGood && Garrote.KnownSpell && ObjectManager.Me.HaveBuff(115192))
- {
- Garrote.Launch();
- return;
- }
- // Eviscerate:
- if (Eviscerate.KnownSpell && Eviscerate.IsSpellUsable && Eviscerate.IsDistanceGood && (ObjectManager.Me.ComboPoint > 4 || (SliceandDice.HaveBuff && SliceandDiceTimer.IsReady)))
- {
- Eviscerate.Launch();
- if (SliceandDice.HaveBuff)
- SliceandDiceTimer = new Timer(1000 * 36);
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement