What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Singular - A community driven All-In-One CC - It Just Plain Works - (Pt. 2)

the hazz resto works great for druids.. i wanna see a good boomkin cc that doesnt flake out o.O
 
I finally got exorcism working with art of war procs just replace
Spell.Buff("Exorcism", ret => Unit.HasAura(StyxWoW.Me,"The Art of War",1))

with

Spell.Cast("Exorcism", ret => StyxWoW.Me.HasAura("Art of War"))

it works without the "The" in there for me, not really sure why but it does.
 
I finally got exorcism working with art of war procs just replace
Spell.Buff("Exorcism", ret => Unit.HasAura(StyxWoW.Me,"The Art of War",1))

with

Spell.Cast("Exorcism", ret => StyxWoW.Me.HasAura("Art of War"))

it works without the "The" in there for me, not really sure why but it does.

Doesnt work at all for me... mh?
 
use


Me.ActiveAuras.ContainsKey("Art of War")


Something like that

HasAura is not working 100% for all auras/buffs
 
Doesnt work at all for me... mh?

use:
Code:
StyxWoW.Me.Auras["Art of War"].Duration >= 1

Its not a case of it being a stack; you gain duration on the static aura you receive from having the talent, from it being 0 to max; aka its 0 if you dont have it and >0 (i use 1 for lagg ect) if you do
 
Last edited:
use:
Code:
StyxWoW.Me.Auras["Art of War"].Duration >= 1
Its not a case of it being a stack; you gain duration on the static aura you receive from having the talent, from it being 0 to max; aka its 0 if you dont have it and >0 (i use 1 for lagg ect) if you do

Thanks Nuok, that helped alot! :)
Exorcism work now.. :P
 

Attachments

Hey Apoc, is it possible, that you add some more logic to the cat-behaviour?

I use Honorbuddy alot just with just combatbot active and in dungeons / raids your cat-rotation works, but it could be improved :)

I tried myself and came out with the following:
Code:
        Spell.Cast("Feral Charge (Cat)", ret => StyxWoW.Me.CurrentTarget.Distance >= 10 && StyxWoW.Me.CurrentTarget.Distance <= 25),
        Spell.Cast("Tiger's Fury", ret => StyxWoW.Me.CurrentEnergy < 26 && !StyxWoW.Me.HasAura("Beserk")),
        Spell.Cast("Faerie Fire (Feral)", ret=>!Unit.HasAura(StyxWoW.Me.CurrentTarget, "Faerie Fire", 3)),
        Spell.Buff("Mangle (Cat)" ,ret => !Unit.HasAura(StyxWoW.Me.CurrentTarget, "Mangle") || (Unit.HasAura(StyxWoW.Me.CurrentTarget, "Mangle") && StyxWoW.Me.CurrentTarget.Auras["Mangle"].TimeLeft.TotalSeconds < 2)),
        //Ravage! 
          new Decorator(
                            ret => StyxWoW.Me.HasAura("Stampede")  && StyxWoW.Me.Auras["Stampede"].TimeLeft.TotalSeconds < 2,
                            new TreeSharp.Action(a => WoWSpell.FromId(81170).Cast())),
        Spell.Cast("Berserk", ret => StyxWoW.Me.CurrentEnergy > 80 ),
        Spell.Cast("Ferocious Bite", ret => BossList.BossIds.Contains(StyxWoW.Me.CurrentTarget.Entry) && StyxWoW.Me.CurrentTarget.HealthPercent < 25 && StyxWoW.Me.ComboPoints >0 && StyxWoW.Me.CurrentTarget.HasAura("Rip") && StyxWoW.Me.CurrentTarget.Auras["Rip"].TimeLeft.TotalSeconds < 2),
        Spell.Cast("Ferocious Bite", ret => BossList.BossIds.Contains(StyxWoW.Me.CurrentTarget.Entry) && StyxWoW.Me.CurrentTarget.HealthPercent < 25 && StyxWoW.Me.ComboPoints == 5 && StyxWoW.Me.CurrentTarget.HasAura("Rip")),
        Spell.Cast("Rip", ret => StyxWoW.Me.ComboPoints == 5 && !Unit.HasAura(StyxWoW.Me.CurrentTarget, "Rip")),
        Spell.Cast("Rip", ret => StyxWoW.Me.ComboPoints == 5 && StyxWoW.Me.CurrentTarget.HasAura("Rip") &&  StyxWoW.Me.CurrentTarget.Auras["Rip"].TimeLeft.TotalSeconds < 2),
        Spell.Cast("Rake",  ret=> StyxWoW.Me.HasAura("Tiger's Fury") && StyxWoW.Me.CurrentTarget.HasAura("Rake") && StyxWoW.Me.CurrentTarget.Auras["Rake"].TimeLeft.TotalSeconds < 9 ),
        Spell.Cast("Rake",  ret=> StyxWoW.Me.CurrentTarget.HasAura("Rake") && StyxWoW.Me.CurrentTarget.Auras["Rake"].TimeLeft.TotalSeconds < 3 ),
        Spell.Cast("Rake",  ret=> !StyxWoW.Me.CurrentTarget.HasAura("Rake")),
        Spell.Cast("Shred", ret => StyxWoW.Me.CurrentTarget.MeIsSafelyBehind && StyxWoW.Me.HasAura("Clearcasting")),
        Spell.BuffSelf("Savage Roar", ret => StyxWoW.Me.ComboPoints > 0 && !StyxWoW.Me.HasAura("Savage Roar")),
        Spell.BuffSelf("Savage Roar", ret => StyxWoW.Me.ComboPoints > 0 && StyxWoW.Me.HasAura("Savage Roar") && StyxWoW.Me.Auras["Savage Roar"].TimeLeft.TotalSeconds < 2 ),
        Spell.BuffSelf("Savage Roar", ret => StyxWoW.Me.ComboPoints == 5 && StyxWoW.Me.CurrentTarget.HasAura("Rip") &&  StyxWoW.Me.CurrentTarget.Auras["Rip"].TimeLeft.TotalSeconds < 12 ),
        Spell.Cast("Shred", ret => StyxWoW.Me.CurrentTarget.MeIsSafelyBehind),
        Spell.Cast("Mangle (Cat)")
 
When will the class specific files be updated?
 
I've been doing big commits for like 3-4 days.

So far DK, Druid, Hunter, Mage, Rogue, Warlock and Warrior should be working.

I haven't tested them much
 
I've been doing big commits for like 3-4 days.

So far DK, Druid, Hunter, Mage, Rogue, Warlock and Warrior should be working.

I haven't tested them much

Well done Raphus :)

IS it possible to revert to the retribution version that used Zealotry? Sadly I don't play the classes you have been working on much, hehe :)
 
Lol, my arena team killed a 1500 rating team alone :) Singular Retribution and ultimate palading healer CC's

With Lazyrider :)
 
hay guys great work so far . I was noticing the beast hunter keeps casting aspect of the hawk over and over , and it also is alittle late casting cobra shot to keep SS up. If you need a log let me know ill get ya one .
 
hey,

ive been tinkering with the hunter marks.cc adding a focus check for arcane shot as it should only be used to bleed excess focus and always leave enough for chimera shot.

also i have tried to add a trap launcher to the rotation i just wanted to see if the code would work then it needs a check for the debuff has worn off the target then it can shoot again.

Also the arcane mage has a bug where it swaps fire buff to mage buff i fixed this by commenting out the buff code in the common cc.

Code:
#region Revision Info

// This file is part of Singular - A community driven Honorbuddy CC
// $Author: Nuok $
// $Date: 2011-03-18 16:36:36 +0000 (Fri, 18 Mar 2011) $
// $HeadURL: http://svn.apocdev.com/singular/trunk/Singular/ClassSpecific/Hunter/Marksman.cs $
// $LastChangedBy: Nuok $

#endregion

using Styx.Combat.CombatRoutine;
using Styx.Logic.Combat;
using System.Threading;
using System.Linq;

using CommonBehaviors.Actions;

using Singular.Settings;

using Styx;
using Styx.Combat.CombatRoutine;
using Styx.Helpers;
using Styx.Logic.Combat;
using Styx.Logic.Pathing;

using TreeSharp;
using Styx.WoWInternals.WoWObjects;
using Styx.WoWInternals;
using TreeSharp;

namespace Singular
{
    partial class SingularRoutine
    {
        [Class(WoWClass.Hunter)]
        [Spec(TalentSpec.Marksmanship)]
        [Behavior(BehaviorType.Combat)]
        [Context(WoWContext.All)]
        public Composite CreateMarksmanshipCombat()
        {
            WantedPet = "1";
            return new PrioritySelector(
                CreateEnsureTarget(),
                CreateWaitForCast(true),
				CreateAutoAttack(true),
                CreateHunterBackPedal(),
                CreateMoveToAndFace(35f, ret => Me.CurrentTarget),
                CreateSpellCast("Raptor Strike", ret => Me.CurrentTarget.DistanceSqr < 5 * 5),
				//Interupt
				CreateSpellCast("Silencing Shot", ret => Me.CurrentTarget.IsCasting),
                // Always keep it up on our target!
                CreateSpellBuff("Hunter's Mark"),
                //Rapid fire on elite 
                CreateSpellBuff("Rapid Fire", ret => CurrentTargetIsElite),
                //Cast when mob Hp below 20
                CreateSpellCast("Kill Shot", ret => Me.CurrentTarget.HealthPercent < 19),
                // Heal pet when below 70
                CreateSpellCast("Mend Pet", ret => Me.Pet.HealthPercent < 70 && !Me.Pet.HasAura("Mend Pet")),
                // Cast only when close to mob	to try and gain aggro with pet
				CreateSpellCast("Kill Command", ret => Me.CurrentTarget.DistanceSqr < 5 * 5),
				CreateSpellBuff("Serpent Sting"),
				CreateSpellCast("Chimera Shot", ret => Me.CurrentTarget.HasAura("Serpent Sting")),
				CreateSpellCast("Aimed Shot", ret => Me.CurrentTarget.HealthPercent > 80 || Me.Auras["Ready, Set, Aim..."].StackCount == 5),
                CreateSpellCast("Arcane Shot", ret => Me.FocusPercent == 64),
                CreateSpellCast("Steady Shot")

                );
        }
        protected Composite CreateHunterExplosiveTrapOnAddBehavior()
        {
            return new PrioritySelector(
                    ctx => NearbyUnfriendlyUnits.FirstOrDefault(u =>
                            u.IsTargetingMeOrPet && u != Me.CurrentTarget && !u.IsMoving),
                    new Decorator(
                        ret => ret != null && CanCast("Explosive Trap", (WoWUnit)ret, false),
                        new PrioritySelector(
                            CreateSpellBuffOnSelf("Trap Launcher"),
                            new Sequence(
                                new Action(ret => Lua.DoString("RunMacroText(\"/cast Explosive Trap\")")),
                                new Action(ret => LegacySpellManager.ClickRemoteLocation(((WoWUnit)ret).Location))))));
        }

        }

        }
 
@mctrix, no one is updating for v1, swap svn to the other linked in the first post
 
Hey so i have grabbed the dev build but i cant get this to work...

Code:
Spell.Cast("Arcane Shot", ret => StyxWoW.Me.FocusPercent == 64),

Also the ready set aim stack count isnt working
Code:
Spell.Cast("Aimed Shot", ret => StyxWoW.Me.CurrentTarget.HealthPercent > 80 || StyxWoW.Me.Auras["Ready, Set, Aim..."].StackCount == 5),

full code

Code:
using Singular.Dynamics;
using Singular.Helpers;
using Singular.Managers;
using Styx;
using Styx.Combat.CombatRoutine;
using Styx.Logic.Combat;
using TreeSharp;
using System.Linq;
using System.Threading;
using CommonBehaviors.Actions;
using Singular.Dynamics;
using Singular.Helpers;
using Singular.Managers;
using Singular.Settings;
using Styx;
using Styx.Combat.CombatRoutine;
using Styx.Helpers;
using Styx.Logic.Combat;
using Styx.Logic.Pathing;
using Styx.WoWInternals;
using Styx.WoWInternals.WoWObjects;
using TreeSharp;
using Action = TreeSharp.Action;
namespace Singular.ClassSpecific.Hunter
{
    public class Marksman
    {
        [Class(WoWClass.Hunter)]
        [Spec(TalentSpec.MarksmanshipHunter)]
        [Behavior(BehaviorType.Combat)]
        [Context(WoWContext.All)]
        public static Composite CreateMarksmanshipCombat()
        {
            PetManager.WantedPet = "1";
            return new PrioritySelector(
                Safers.EnsureTarget(),
                Movement.CreateMoveToLosBehavior(),
                Common.CreateHunterBackPedal(),
                Movement.CreateFaceTargetBehavior(),
                Waiters.WaitForCast(true),
                Helpers.Common.CreateAutoAttack(true),
                Spell.Cast("Raptor Strike", ret => StyxWoW.Me.CurrentTarget.DistanceSqr < 5 * 5),
                //Interupt
                Spell.Cast("Silencing Shot", ret => StyxWoW.Me.CurrentTarget.IsCasting),
                // Always keep it up on our target!
                Spell.Buff("Hunter's Mark"),
                // Heal pet when below 70
                Spell.Cast("Mend Pet", ret => StyxWoW.Me.Pet.HealthPercent < 70 && !StyxWoW.Me.Pet.HasAura("Mend Pet")),
                Spell.Cast(
                    "Concussive Shot",
                    ret => StyxWoW.Me.CurrentTarget.CurrentTarget == null || StyxWoW.Me.CurrentTarget.CurrentTarget == StyxWoW.Me),
                // Cast only when close to mob	to try and gain aggro with pet
                Spell.Cast("Kill Command", ret => StyxWoW.Me.CurrentTarget.DistanceSqr < 5 * 5),
                Spell.Buff("Serpent Sting"),
                Spell.Cast("Chimera Shot", ret => StyxWoW.Me.CurrentTarget.HasAura("Serpent Sting")),
                Spell.Cast("Aimed Shot", ret => StyxWoW.Me.CurrentTarget.HealthPercent > 80 || StyxWoW.Me.Auras["Ready, Set, Aim..."].StackCount == 5),
                Spell.Cast("Arcane Shot"),
                //Spell.Cast("Arcane Shot", ret => StyxWoW.Me.FocusPercent == 64),
                Spell.Cast("Steady Shot"),
                Movement.CreateMoveToTargetBehavior(true,35f)
                );

        }

        public static Composite CreateHunterTrapExplosiveOnAddBehavior()
        {
            return new PrioritySelector(
                    ctx => Unit.NearbyUnfriendlyUnits.FirstOrDefault(u =>
                            u.IsTargetingMeOrPet && u != StyxWoW.Me.CurrentTarget && !u.IsMoving),
                    new Decorator(
                        ret => ret != null && SpellManager.CanCast("Explosive Trap", (WoWUnit)ret, false),
                        new PrioritySelector(
                            Spell.BuffSelf("Trap Launcher"),
                            new Sequence(
                                new Action(ret => Lua.DoString("RunMacroText(\"/cast Explosive Trap\")")),
                                new Action(ret => LegacySpellManager.ClickRemoteLocation(((WoWUnit)ret).Location))))));
        }
    }

}
 
Last edited:
Hey so i have grabbed the dev build but i cant get this to work...

Code:
Spell.Cast("Arcane Shot", ret => StyxWoW.Me.FocusPercent == 64),
Hehe:
This will only use Arcane Shot if you have 64% of your current Focus, like 64/100. ;)

just try
Code:
Spell.Cast("Arcane Shot", ret => StyxWoW.Me.FocusPercent > 63)
or
Code:
Spell.Cast("Arcane Shot", ret => StyxWoW.Me.FocusPercent < 65),
dont know what you want ;)


The other part... you can try it with:
Code:
Spell.Cast("Aimed Shot", ret => StyxWoW.Me.CurrentTarget.HealthPercent > 80 ||Unit.HasAura(StyxWoW.Me.CurrentTarget, "Ready, Set, Aim...", 5)),
 
Last edited:
Back
Top