Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #region Revision Info
- // This file is part of Singular - A community driven Honorbuddy CC
- // $Author: raphus $
- // $Date: 2011-03-18 02:04:33 +0100 (fr, 18 mar 2011) $
- // $HeadURL: http://svn.apocdev.com/singular/trunk/Singular/ClassSpecific/Rogue/Combat.cs $
- // $LastChangedBy: raphus $
- // $LastChangedDate: 2011-03-18 02:04:33 +0100 (fr, 18 mar 2011) $
- // $LastChangedRevision: 182 $
- // $Revision: 182 $
- #endregion
- using System.Linq;
- using Styx.Combat.CombatRoutine;
- using TreeSharp;
- using Styx.Helpers;
- using Styx.Logic.Pathing;
- namespace Singular
- {
- partial class SingularRoutine
- {
- [Class(WoWClass.Rogue)]
- [Spec(TalentSpec.SubtletyRogue)]
- [Behavior(BehaviorType.Pull)]
- [Context(WoWContext.All)]
- public Composite CreateSubtletyRoguePull()
- {
- return new PrioritySelector(
- CreateSpellBuffOnSelf("Sprint", ret => Me.IsMoving && Me.HasAura("Stealth")),
- CreateSpellBuffOnSelf("Stealth"),
- new PrioritySelector(
- CreateSpellCast("Shadowstep"),
- new Decorator(
- ret => WoWMathHelper.CalculatePointBehind(Me.CurrentTarget.Location, Me.CurrentTarget.Rotation, 1f).Distance2D(Me.Location) > 3f,
- new Action(ret => Navigator.MoveTo(WoWMathHelper.CalculatePointBehind(Me.CurrentTarget.Location, Me.CurrentTarget.Rotation, 1f)))
- )
- ),
- CreateFaceUnit(),
- CreateSpellCast("Premeditation"),
- CreateSpellCast("Ambush"),
- CreateSpellCast("Hemorrhage"),
- CreateAutoAttack(true)
- );
- }
- [Class(WoWClass.Rogue)]
- [Spec(TalentSpec.SubtletyRogue)]
- [Behavior(BehaviorType.Combat)]
- [Context(WoWContext.All)]
- public Composite CreateSubtletyRogueCombat()
- {
- return new PrioritySelector
- (
- CreateEnsureTarget(),
- CreateAutoAttack(false),
- CreateMoveToAndFace(5f, ret => Me.CurrentTarget),
- CreateCombatRogueDefense(),
- CreateSpellCast(
- "Redirect", ret => Me.RawComboPoints > 0 &&
- Me.ComboPoints < 1),
- CreateSpellBuffOnSelf("Slice and Dice", ret => Me.RawComboPoints > 1 && !Me.HasAura("Slice and Dice")),
- CreateSpellCast("Eviscerate", ret => Me.ComboPoints >= 3),
- CreateSpellCast("Hemorrhage", ret => Me.ComboPoints < 3));
- }
- public Composite CreateSubtletyRogueDefense()
- {
- return new PrioritySelector(
- CreateMoveToAndFace(),
- new Decorator(
- ret => Me.CurrentTarget.IsCasting,
- new PrioritySelector(
- CreateSpellCast("Kick"),
- CreateSpellCast("Gouge"),
- CreateSpellCast("Cloak of Shadows"))),
- CreateSpellCast("Evasion", ret => NearbyUnfriendlyUnits.Count(u => u.DistanceSqr < 6 * 6) > 1 || Me.HealthPercent < 50),
- CreateSpellCast("Cloak of Shadows", ret => Me.HealthPercent < 10),
- CreateSpellCast("Preparation")
- );
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment