• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Singular - A community driven All-In-One CC - It Just Plain Works - (Pt. 2)

    Discussion in 'Archives' started by Xanathos, Apr 19, 2011.

    1. DOGTAGS

      DOGTAGS New Member

      Joined:
      Oct 16, 2011
      Messages:
      11
      Likes Received:
      0
      Trophy Points:
      0

      Would really like to see a fix for this.
       
    2. laria

      laria Well-Known Member

      Joined:
      Jan 15, 2010
      Messages:
      5,386
      Likes Received:
      36
      Trophy Points:
      48
      Range is currently not calculated correctly for these bosses , and some other bulky objects and mobs, as tests found on this topic (see above) have proven.
       
    3. kbrebel04

      kbrebel04 New Member

      Joined:
      Dec 15, 2011
      Messages:
      294
      Likes Received:
      3
      Trophy Points:
      0
      Any idea of how or where to fix it? This has been a issue for weeks and I just wish i could truly lazyraid as enhancement..
       
    4. laria

      laria Well-Known Member

      Joined:
      Jan 15, 2010
      Messages:
      5,386
      Likes Received:
      36
      Trophy Points:
      48
      It's raphus call or someone of the coreteam, which they already know about. Give them a bit of time.
       
    5. kbrebel04

      kbrebel04 New Member

      Joined:
      Dec 15, 2011
      Messages:
      294
      Likes Received:
      3
      Trophy Points:
      0
      Thank you :) I even went to the extent of just creating my own enhancement CC, which I am confident I can do, EXCEPT i cannot figure out how to make it do weapon imbues.
       
    6. Obliv

      Obliv New Member

      Joined:
      Oct 18, 2011
      Messages:
      636
      Likes Received:
      6
      Trophy Points:
      0
      Having an issue with the targeting. In BG Bot or PVP in any capture the flag the bot has issues correctly targeting players. If an enemy does not have our flag, it works great. But as soon as an enemy picks up our flag, the bot will drop our current target (even if halfway across the map) and target EFC.. clear target.. target EFC.. clear target.

      Thought it was my rogue CC, but I've tried on my paladin too with the same issues. Even if I'm in combat it will sometimes clear my current target and start the target/clear/target routine again.
       

      Attached Files:

    7. scarar

      scarar New Member

      Joined:
      Dec 3, 2011
      Messages:
      95
      Likes Received:
      0
      Trophy Points:
      0
      Singular : Mage

      I have been using Amplify for frost mage and its been working pretty well since singular doesn't have or support Mage classes. I haven't tried the other classes to see if singluar is supported. If, singular has the mage class then it has errors. I'm unable to put a log up since it doesn't show compilar or the programming errors when casting in the log.
       
    8. raphus

      raphus Administrator Staff Member Moderator Buddy Core Dev

      Joined:
      Jun 17, 2010
      Messages:
      2,094
      Likes Received:
      492
      Trophy Points:
      83
      I will be spending a week for only Singular. Gonna check each class/spec rotations and improve them as i go. If you want to help, get on irc or make a list of rotations to be used in grinding/instances/battlegrounds/raids for single, AoE or whatever conditions with notes that i should keep in mind. Send them to raphus@honorbuddy.com with class/spec as subject.
       
    9. Ruinit

      Ruinit Member

      Joined:
      Nov 1, 2010
      Messages:
      992
      Likes Received:
      4
      Trophy Points:
      18
      Thank you Raphus!! Getting a lot of this with new HB and svn singular just tried DS on DK and tossed tons of errors? Helpers movement etc... fresh install. I tried on training dummy and rotation was working.
       

      Attached Files:

      Last edited: Jan 24, 2012
    10. Vastico

      Vastico New Member

      Joined:
      Jul 28, 2011
      Messages:
      424
      Likes Received:
      10
      Trophy Points:
      0
      I've done some work on Ret Paladin for Raiding:

      Code:
      using System.Linq;
      using Singular.Dynamics;
      using Singular.Helpers;
      using Singular.Managers;
      using Singular.Settings;
      using Styx;
      using Styx.Combat.CombatRoutine;
      using Styx.Logic.Combat;
      
      using TreeSharp;
      using Styx.WoWInternals.WoWObjects;
      using CommonBehaviors.Actions;
      using System;
      
      namespace Singular.ClassSpecific.Paladin
      {
          public class Retribution
          {
      
              #region Combat
      
              [Class(WoWClass.Paladin)]
              [Spec(TalentSpec.RetributionPaladin)]
              [Behavior(BehaviorType.Combat)]
              [Behavior(BehaviorType.Heal)]
              [Context(WoWContext.All)]
              public static Composite CreateRetributionPaladinCombat()
              {
                  return new PrioritySelector(
                          Safers.EnsureTarget(),
                          new Decorator( ret => Group.Healer == null, Holy.CreatePaladinHealBehavior(true)),
                          Movement.CreateMoveToLosBehavior(),
                          Movement.CreateFaceTargetBehavior(),
                          Helpers.Common.CreateAutoAttack(true),
      
                          //AoE
                          new Decorator(ret => Unit.NearbyUnfriendlyUnits.Count(a => a.Distance < 8) > 3,
                              new PrioritySelector(
                                  Spell.Cast("Divine Storm", ret => StyxWoW.Me.CurrentHolyPower < 3),
                                  Spell.Cast("Judgement", ret => !StyxWoW.Me.ActiveAuras.ContainsKey("Zealotry") && StyxWoW.Me.CurrentHolyPower < 3),
                                  Spell.Cast("Inquisition", 
                                      ret => (!StyxWoW.Me.ActiveAuras.ContainsKey("Inquisition") || StyxWoW.Me.GetAuraTimeLeft("Inquisition", true).Seconds <= 2) &&
                                          (StyxWoW.Me.CurrentHolyPower >= 3 || StyxWoW.Me.ActiveAuras.ContainsKey("Divine Purpose"))),
      
                                  Spell.Cast("Templars Verdict", ret => StyxWoW.Me.ActiveAuras.ContainsKey("Divine Purpose")),
                                  Spell.Cast("Templars Verdict", ret => StyxWoW.Me.CurrentHolyPower >= 3),
                                  Spell.Cast("Exorcism", ret => StyxWoW.Me.ActiveAuras.ContainsKey("The Art of War")),
                                  Spell.Cast("Hammer of Wrath"),
                                  Spell.Cast("Holy Wrath"),
                                  Spell.Cast("Consecration", ret => StyxWoW.Me.ManaPercent > 70),
                                  Spell.Cast("Judgement", ret => HasPaladinT13_2PC_Melee() && StyxWoW.Me.ActiveAuras.ContainsKey("Zealotry") && StyxWoW.Me.CurrentHolyPower < 3)
                              )
                          ),
                          //Single
                          new Decorator(ret => Unit.NearbyUnfriendlyUnits.Count(a => a.Distance < 8) < 4,
                              new PrioritySelector(
                                  Spell.Cast("Crusader Strike", ret => StyxWoW.Me.CurrentHolyPower < 3),
                                  Spell.Cast("Judgement", ret => !StyxWoW.Me.ActiveAuras.ContainsKey("Zealotry") && StyxWoW.Me.CurrentHolyPower < 3),
                                  Spell.Cast("Inquisition",
                                      ret => (!StyxWoW.Me.ActiveAuras.ContainsKey("Inquisition") || StyxWoW.Me.GetAuraTimeLeft("Inquisition", true).Seconds <= 2) &&
                                          (StyxWoW.Me.CurrentHolyPower >= 3 || StyxWoW.Me.ActiveAuras.ContainsKey("Divine Purpose"))),
      
                                  Spell.Cast("Templars Verdict", ret => StyxWoW.Me.ActiveAuras.ContainsKey("Divine Purpose")),
                                  Spell.Cast("Templars Verdict", ret => StyxWoW.Me.CurrentHolyPower >= 3),
                                  Spell.Cast("Exorcism", ret => StyxWoW.Me.ActiveAuras.ContainsKey("The Art of War")),
                                  Spell.Cast("Hammer of Wrath"),
                                  Spell.Cast("Judgement", ret => HasPaladinT13_2PC_Melee() && StyxWoW.Me.ActiveAuras.ContainsKey("Zealotry") && StyxWoW.Me.CurrentHolyPower < 3),
                                  new Decorator(ret =>
                                      {
                                          TimeSpan cooldown = Spell.GetSpellCooldown("Crusader Strike");
                                          return cooldown.TotalMilliseconds < 20 && cooldown.TotalMilliseconds > 0;
                                      }, new ActionAlwaysSucceed()
                                  ),
                                  Spell.Cast("Holy Wrath"),
                                  Spell.Cast("Consecration", ret => StyxWoW.Me.ManaPercent > 70)
                              )
                          )
                  );
              }
      
              #endregion
      
              #region Pull
      
              [Class(WoWClass.Paladin)]
              [Spec(TalentSpec.RetributionPaladin)]
              [Behavior(BehaviorType.Pull)]
              [Context(WoWContext.All)]
              public static Composite CreateRetributionPaladinPull()
              {
                  return new PrioritySelector(
                      Movement.CreateMoveToLosBehavior(),
                      Movement.CreateFaceTargetBehavior(),
                      Spell.Cast("Judgement"),
                      Helpers.Common.CreateAutoAttack(true),
                      Movement.CreateMoveToTargetBehavior(true, 5f)
                  );
              }
      
              #endregion
      
              #region Combat Buffs
      
              [Class(WoWClass.Paladin)]
              [Spec(TalentSpec.RetributionPaladin)]
              [Behavior(BehaviorType.CombatBuffs)]
              [Context(WoWContext.All)]
              public static Composite CreateRetributionPaladinCombatBuffs()
              {
                  return new PrioritySelector(
                      //We don't swap seal, no point.
                      Spell.Cast("Seal of Truth", ret => !StyxWoW.Me.ActiveAuras.ContainsKey("Seal of Truth")),
                      //Only use these in non AoE to get best output
                      new Decorator(ret => Unit.NearbyUnfriendlyUnits.Count(a => a.Distance < 8) < 4,
                          new PrioritySelector(
                              //Cast GoAK if target is boss (Shud be on CD to get the best output, there is no logic currently to determine how long a fight is going to last.)
                              Spell.Cast("Guardian of Ancient Kings", ret => Unit.IsBoss(StyxWoW.Me.CurrentTarget)),
                              //Cast Zealotry if GoAK been up for 10 seconds
                              Spell.Cast("Zealotry", ret => StyxWoW.Me.GetAuraTimeLeft("Guardian of Ancient Kings", true).Seconds <= 20 && StyxWoW.Me.GetAuraTimeLeft("Guardian of Ancient Kings", true).Seconds > 0),
                              //Cast Zealotry if GoAK cd > 110 seconds (1 min 50) and we have no GoAK atm)
                              Spell.Cast("Zealotry", ret => Spell.GetSpellCooldown("Guardian of Ancient Kings").TotalSeconds >= 110 && !StyxWoW.Me.ActiveAuras.ContainsKey("Guardian of Ancient Kings")),
                              //Cast Zealotry if target is boss and health percent < 10, we dont wait for GoAK then.
                              Spell.Cast("Zealotry", ret => Unit.IsBoss(StyxWoW.Me.CurrentTarget) && StyxWoW.Me.CurrentTarget.HealthPercent < 10),
                              //Cast Zealotry if target isn't boss and level is >= ours
                              Spell.Cast("Zealotry", ret => !Unit.IsBoss(StyxWoW.Me.CurrentTarget) && StyxWoW.Me.CurrentTarget.Level >= StyxWoW.Me.Level),
                              //Cast Avenging Wrath if we have Zealotry
                              Spell.Cast("Avenging Wrath", ret => StyxWoW.Me.ActiveAuras.ContainsKey("Zealotry"))
                          )
                      ),
                      Spell.BuffSelf("Divine Protection", ret => StyxWoW.Me.HealthPercent <= SingularSettings.Instance.Paladin.DivineProtectionHealthRet)
                  );
              }
      
              #endregion
      
              private const int PALADIN_MELEE_T13_ITEM_SET_ID = 1064;
      
              public static bool HasPaladinT13_2PC_Melee()
              {
                  int count = StyxWoW.Me.Inventory.Equipped.Hands.ItemInfo.ItemSetId == PALADIN_MELEE_T13_ITEM_SET_ID ? 1 : 0;
                  count += StyxWoW.Me.Inventory.Equipped.Legs.ItemInfo.ItemSetId == PALADIN_MELEE_T13_ITEM_SET_ID ? 1 : 0;
                  count += StyxWoW.Me.Inventory.Equipped.Chest.ItemInfo.ItemSetId == PALADIN_MELEE_T13_ITEM_SET_ID ? 1 : 0;
                  count += StyxWoW.Me.Inventory.Equipped.Shoulder.ItemInfo.ItemSetId == PALADIN_MELEE_T13_ITEM_SET_ID ? 1 : 0;
                  count += StyxWoW.Me.Inventory.Equipped.Head.ItemInfo.ItemSetId == PALADIN_MELEE_T13_ITEM_SET_ID ? 1 : 0;
                  return count >= 2;
              }
      
          }
      }
      
      Anyone wanna test? I may be able to test later today.
       
      Last edited: Jan 24, 2012
    11. laria

      laria Well-Known Member

      Joined:
      Jan 15, 2010
      Messages:
      5,386
      Likes Received:
      36
      Trophy Points:
      48
      Last edited: Jan 24, 2012
    12. surfer999

      surfer999 New Member

      Joined:
      Jan 15, 2010
      Messages:
      171
      Likes Received:
      1
      Trophy Points:
      0
      To developers: guys, please, could you merge Apsalara Rogue with Singular? Apsalara based on Singular and works much better then default Singular rogue. It's best rogue CC for Sub and Combat and have so many good features (like poisoning and smart using throw weapon, great at BGs, etc). This CC should not be wasted.

      URL of Apsalara project: http://www.thebuddyforum.com/honorbuddy-forum/classes/rogue/36443-apsalara-singular-13.html
       
    13. Vastico

      Vastico New Member

      Joined:
      Jul 28, 2011
      Messages:
      424
      Likes Received:
      10
      Trophy Points:
      0
      His uses a fixed percent for divine please even though there is already a setting, he switches between seals when you should only use righteousness when low level, the damage later on isn't worth it.

      He has no logic for cooldowns apart from cast with xxx, mine uses the actual cooldown:
      Cast GoAK, cast Zealotry and Avenging Wrath 10 seconds in to get the full bonus

      And as far as I can tell mine is more orientated to raiders, so that maybe why his is for questing, grinding etc. so I can understand why he did it.

      Afaik I can't specify raid I can only specify instance :s?
       
    14. laria

      laria Well-Known Member

      Joined:
      Jan 15, 2010
      Messages:
      5,386
      Likes Received:
      36
      Trophy Points:
      48
      Same goes for
      http://www.thebuddyforum.com/honorbuddy-forum/classes/death-knight/41757-necrophilia-singular.html Deathknights
      http://www.thebuddyforum.com/honorbuddy-forum/classes/druid/41733-iloveanimals-singular.html Druids

      Basically Shadars work, Obliv,Weischbier, Vastico, handnavi, and Felmaster as well as Amplify and Zerfall which should about everything and everyone with good code that singular can profit from.
      You might also talk to stormchasing and natfoth, and split work.
      Stormchasing is covering a lot of heal related code in ultimatehealer and natfoth is rewriting fpswares stuff (which is a waste of time coding if singular is getting awesome).
       
      Last edited: Jan 24, 2012
    15. laria

      laria Well-Known Member

      Joined:
      Jan 15, 2010
      Messages:
      5,386
      Likes Received:
      36
      Trophy Points:
      48
    16. Vastico

      Vastico New Member

      Joined:
      Jul 28, 2011
      Messages:
      424
      Likes Received:
      10
      Trophy Points:
      0
    17. Obliv

      Obliv New Member

      Joined:
      Oct 18, 2011
      Messages:
      636
      Likes Received:
      6
      Trophy Points:
      0
      Yeah other than goak it follows EJ exactly on mine. I am adding quiet a bit of logic for solo and bg to make sure it's an all around cc. Take a look at mine and let's send it to raphus so it's perfected.
       
    18. Vastico

      Vastico New Member

      Joined:
      Jul 28, 2011
      Messages:
      424
      Likes Received:
      10
      Trophy Points:
      0
      I shall take a look friend!
       
    19. Obliv

      Obliv New Member

      Joined:
      Oct 18, 2011
      Messages:
      636
      Likes Received:
      6
      Trophy Points:
      0
      I'll be updating it tonight with a little different healing logic than the current one, but it's still there. Trying to make it universal, but you definitely did a better job with the cooldowns for raiding. Judging from yours you have a little more knowledge than I in the coding department. ;) Nice work!
       
    20. Obliv

      Obliv New Member

      Joined:
      Oct 18, 2011
      Messages:
      636
      Likes Received:
      6
      Trophy Points:
      0
      Are any of the additions that have been worked on already going to be looked at? As laria mentioned, lots of people have been working on Singular and have some pretty impressive CCs for it. Would be good to focus on the classes no one is working on.
       

    Share This Page