• 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. dezaint

      dezaint New Member

      Joined:
      May 8, 2011
      Messages:
      216
      Likes Received:
      4
      Trophy Points:
      0
      warlock demo - is not working very well at all.
      -resummons felguard when mounted
      -starts casting drain life / health funnel and then moves
      -tries to loot and cast
      -no real casting order, spams all kinds of attacks
       
    2. longhornfreak

      longhornfreak New Member

      Joined:
      Jul 16, 2010
      Messages:
      70
      Likes Received:
      4
      Trophy Points:
      0
      Does anyone know a fix or alternative for IsSafelyBehind

      Spell.Cast("Shred", ret => StyxWoW.Me.CurrentTarget.MeIsSafelyBehind)

      Can't get Singular to use Shred.

      EDIT: Found the fix:
      Spell.Cast("Shred", ret => StyxWoW.Me.CurrentTarget.IsPlayerBehind),
       
      Last edited: Jul 16, 2011
    3. chinajade

      chinajade Well-Known Member Moderator Buddy Core Dev

      Joined:
      Jul 20, 2010
      Messages:
      17,540
      Likes Received:
      172
      Trophy Points:
      63
      Singular dies when some Quest Behaviors are in use

      I suppose here is where we post Singular bugs?

      Here is the problematic scenario:
      • Some behaviors like CollectThings and InteractWith target (friendly or neutral) NPCs and move to them.
      • If they are hunting in a non-navigable area (e.g., swimming), HBcore apparently doesn't use its normal 'pull' logic to clear the mobs in the path. (I assume because there no path that can be plotted in a non-navigable area.)
      • As such, the behaviors wind up 'body pulling' mobs on the way to the destination NPC
      • HBcore wrests away control from the behavior, and gives it to the CC's combat routines. However, it doesn't bother to change the target to the mob that was body-pulled.
      • Singular starts combat, but the friendly (or neutral or dead) target is still selected. Singular gets hung trying to attack the friendly, and ignores the hostile that was body-pulled. This situation remains until the toon dies.
      I confirmed this several times on the Singular Pally. The same problem may exist for all Singular classes.


      I talked to Nesox at length recenty about this. He maintains that HBcore will set up a 'pull', but ultimate target selection is up to the CC to implement no matter how combat was initiated. According to Nesox, Singular needs to do its own target switching when HBcore hands control to the combat routines. (Particularly, if the current target is neutral or friendly or dead. :D )

      After he said this, I loaded FPSware Paladin as another example, and it indeed does switch targets when it gets in combat given the same scenario.


      Just thought someone familiar with the Singular codebase may want to give this a look. I'm not familiar with it, and am uncomfortable walking in and screwing things up--even if it is a Community effort. :D


      Thanks for listening!
      chinajade
       
      Last edited: Sep 25, 2011
    4. sevaa

      sevaa Member

      Joined:
      Apr 28, 2010
      Messages:
      327
      Likes Received:
      0
      Trophy Points:
      16
      Apoc , could you add in Bear DPS for druids :)
       
    5. Granis

      Granis Member

      Joined:
      Feb 24, 2011
      Messages:
      213
      Likes Received:
      4
      Trophy Points:
      18
      Im i the only one who has trubble with Paladin not using seals and priest dosnt go in shadowform?
       
    6. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      Could you add some love for Unholy DK's and PVP? Would be nice if when you disable movement in the CC it would make so the bot doesn't keep re-selecting targets. I'd love to use this CC for arena. But it needs some unholy love in the rotation (such as necrotic strike) etc.

      Thanks!
       
    7. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      Also, Unholy DK's could use adding Death Pact when health is low. Would be GREATLY appreciated. It would need to be set to wait for enough runic power too.

      TLDR:
      Enable CC so it won't change targets when Movement is disabled. Letting the user pick the targets without worrying about it changing back.
      Unholy's rotation to include Necrotic Strike
      Unholy's rotation cleaned up for PVP
       
    8. longhornfreak

      longhornfreak New Member

      Joined:
      Jul 16, 2010
      Messages:
      70
      Likes Received:
      4
      Trophy Points:
      0
      Please if someone could help I would appreciate it greatly. I am currently editing the bear druid CC. What I want is for it to do is a damage rotation, but when frenzied regeneration is active, it just auto attacks.


      Right now this is what I am using and I am running into rage issues. I have either have too much and I often cap out and I am missing out some extra rage or when I have frenzied regen up I am missing out on extra health regen because I don't have the rage to get the health back.


      Code:
      		new Decorator(
                          ret => StyxWoW.Me.CurrentTarget.Distance <= 8,
                          new PrioritySelector(
      			Spell.Cast("Enrage", ret => StyxWoW.Me.RagePercent < 55),
      			Spell.Cast("Mangle (Bear)", ret => StyxWoW.Me.RagePercent > 50),
      			Spell.Cast("Maul", ret => StyxWoW.Me.RagePercent > 85),
      			Spell.Cast("Demoralizing Roar", ret => StyxWoW.Me.RagePercent > 60 && StyxWoW.Me.CurrentTarget.GetAuraTimeLeft("Demoralizing Roar", true).TotalSeconds < 1),
      			Spell.Cast("Lacerate", ret => StyxWoW.Me.RagePercent > 50))),
      

      I've tried a few things but none of them have worked. I do not know how to make it realize I want it do is a rotation without frenzied regen and just melee during frenzied regen.


      If anyone can help please post here or message me your MSN/skype/aim so I can figure this out.

      -Thanks in advance!


      EDIT got it working with

      Code:
      		new Decorator(
                          ret => StyxWoW.Me.CurrentTarget.Distance <= 8 && !StyxWoW.Me.HasAura("Frenzied Regeneration"),
                          new PrioritySelector(
      			Spell.Cast("Enrage"),
      			Spell.Cast("Mangle (Bear)"),
      			Spell.Cast("Maul", ret => StyxWoW.Me.RagePercent > 85),
      			Spell.Cast("Demoralizing Roar", ret => StyxWoW.Me.CurrentTarget.GetAuraTimeLeft("Demoralizing Roar", true).TotalSeconds < 1),
      			Spell.Cast("Lacerate"))),
      
      		new Decorator(
                          ret => StyxWoW.Me.HasAura("Frenzied Regeneration"),
                          new PrioritySelector(
      			Spell.Cast("Enrage", ret => StyxWoW.Me.RagePercent < 55))),
      
      
       
      Last edited: Jul 18, 2011
    9. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      Priority list.
      Hamstring (if not applied) > Rend (if not applied) > CS (if plate wearer) > MS > OP > OP > Slam > HS

      Burst Damage Output
      / Make sure rend is on the target and Lambs to the Slaughter has full stacks
      / Ideally you want to fit a CS -> MS -> OP -> OP in with as many HS uses as possible without rage depriving yourself. Remember to not use CS when low on rage, it doesn't hit very hard by itself and if you can't use other abilities while the ArP is up on the target there is no point
       
      Last edited: Jul 18, 2011
    10. j0achim

      j0achim New Member

      Joined:
      Jan 15, 2010
      Messages:
      532
      Likes Received:
      15
      Trophy Points:
      0
      @longhornfreak


      PHP:
                          new Decorator(
                          
      ret => StyxWoW.Me.CurrentTarget.Distance <= 8,
                          new 
      PrioritySelector(
                  
      Spell.Cast("Enrage"ret => StyxWoW.Me.RagePercent 55),
                  
      Spell.Cast("Maul"ret => StyxWoW.Me.RagePercent 85),
                  
      Spell.Cast("Demoralizing Roar"ret => StyxWoW.Me.RagePercent 60 && StyxWoW.Me.CurrentTarget.GetAuraTimeLeft("Demoralizing Roar"true).TotalSeconds 1),
                  
      Spell.Cast("Mangle (Bear)"ret => StyxWoW.Me.RagePercent 50),
                  
      Spell.Cast("Lacerate"ret => StyxWoW.Me.RagePercent 50))),
      Mangle and Lacerate will not work as intended as they have same value. And for the record Enrage works within the same scope as Mangle and Lacerate. which also causes it to not work as intended.
       
      Last edited: Jul 18, 2011
    11. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      For warriors could you make this priority list for Arms added. Really having an option for this basic rotation would be awesome for use in PVP/arena.
      Also, if you would be able to make so that it uses Shattering Throw - Spell - World of Warcraft when the target is bubbled or iceblocked that would be GREATLY appreciated!

      Also same issues as the DK CC - when using NO MOVEMENT option it should be left to the user to select targets. When switching targets it often force switches back.

      Thanks!
       
    12. Granis

      Granis Member

      Joined:
      Feb 24, 2011
      Messages:
      213
      Likes Received:
      4
      Trophy Points:
      18
      Also noticed, as a Rogue..It dosnt do any attacks or nothing more then mount up if ill go BG bot havent tryed the other bots tho
       
    13. kayes

      kayes Active Member

      Joined:
      Jan 15, 2010
      Messages:
      1,353
      Likes Received:
      4
      Trophy Points:
      38
      Pally heals, when he is not suppose too.

      Can somone check the retribution pally code? after the last revision he have started to heal like a fool, cant even take down simple mobs because he start to heal @ 90% even if I have lowered holy light to 0%.
       

      Attached Files:

    14. jtmccarthy83

      jtmccarthy83 New Member

      Joined:
      Apr 4, 2011
      Messages:
      50
      Likes Received:
      1
      Trophy Points:
      0
      Quick question, dunno if it's been covered or not between the 2 threads.

      Can I use this CC with LazyRaider? My goal is to play my Pally tank by hand and have my Fury Warrior follow along and DPS?
       
    15. evilseed

      evilseed Member

      Joined:
      Jan 15, 2010
      Messages:
      129
      Likes Received:
      2
      Trophy Points:
      18
      To whom can I send my additions to singular? So that they can update the SVN?
       
    16. necrofhiliac

      necrofhiliac New Member

      Joined:
      Jul 16, 2011
      Messages:
      7
      Likes Received:
      0
      Trophy Points:
      0
      ive been messing with this trying to fix it to be smarter

      using System.Linq;

      using Singular.Dynamics;
      using Singular.Helpers;
      using Singular.Managers;

      using Styx;
      using Styx.Combat.CombatRoutine;

      using TreeSharp;
      using Styx.Logic.Combat;

      namespace Singular.ClassSpecific.Warlock
      {
      public class Affliction
      {
      [Class(WoWClass.Warlock)]
      [Spec(TalentSpec.AfflictionWarlock)]
      [Context(WoWContext.All)]
      [Behavior(BehaviorType.Combat)]
      [Behavior(BehaviorType.Pull)]
      [Priority(500)]
      public static Composite CreateAfflictionCombat()
      {
      PetManager.WantedPet = "Felhunter";

      return new PrioritySelector(
      Safers.EnsureTarget(),
      Movement.CreateMoveToLosBehavior(),
      Movement.CreateFaceTargetBehavior(),
      Spell.WaitForCast(true),
      Helpers.Common.CreateAutoAttack(true),
      // Emergencies
      new Decorator(
      ret => StyxWoW.Me.HealthPercent < 20,
      new PrioritySelector(
      //Spell.Buff("Fear", ret => !Me.CurrentTarget.HasAura("Fear")),
      Spell.Cast("Howl of Terror", ret => StyxWoW.Me.CurrentTarget.Distance < 10 && StyxWoW.Me.CurrentTarget.IsPlayer),
      Spell.Cast("Death Coil", ret => !StyxWoW.Me.CurrentTarget.HasAura("Howl of Terror") && !StyxWoW.Me.CurrentTarget.HasAura("Fear")),
      Spell.BuffSelf("Soulburn", ret => StyxWoW.Me.CurrentSoulShards > 0),
      Spell.Cast("Drain Life")
      )),
      Spell.Cast("Life Tap", ret => StyxWoW.Me.ManaPercent < 40),
      Spell.Cast("Health Funnel", ret => StyxWoW.Me.GotAlivePet && StyxWoW.Me.Pet.HealthPercent < 30),
      // Finishing sequence
      Spell.Cast(
      "Soul Swap",
      ret =>
      !StyxWoW.Me.HasAura("Soul Swap") && StyxWoW.Me.CurrentTarget.HealthPercent < 10 && StyxWoW.Me.CurrentTarget.HasAura("Unstable Affliction") &&
      !StyxWoW.Me.CurrentTarget.IsBoss()),

      // Elites
      new Decorator(
      ret => StyxWoW.Me.CurrentTarget.IsBoss(),
      new PrioritySelector(
      Spell.BuffSelf("Demon Soul"),
      Spell.Buff("Curse of Elements", ret => !StyxWoW.Me.CurrentTarget.HasAura("Curse of Elements")),
      new Decorator(
      ret => SpellManager.CanCast("Summon Infernal"),
      new Action(
      ret =>
      {
      SpellManager.Cast("Summon Infernal");
      LegacySpellManager.ClickRemoteLocation(StyxWoW.Me.CurrentTarget.Location);
      }))
      )),
      // AoE
      new Decorator(
      ret => Unit.NearbyUnfriendlyUnits.Count(u => u.Distance < 15) >= 5,
      new PrioritySelector(
      Spell.BuffSelf("Demon Soul"),
      Spell.BuffSelf("Fel Amor"),
      Spell.Buffself("Demon Armor", ret=
      StyxWoW.Me.HralthPercent < 50)
      "Soulburn",
      ret => !StyxWoW.Me.CurrentTarget.HasAura(&& StyxWoW.Me.CurrentSoulShards > 0 && TalentManager.GetCount(1, 15) == 1),


      // Standard Nuking
      Spell.Cast("Shadow Bolt", ret => StyxWoW.Me.HasAura("Shadow Trance")),
      Spell.Buff("Haunt"),
      Spell.Cast("Soul Swap", ret => StyxWoW.Me.HasAura("Soul Swap") && StyxWoW.Me.CurrentTarget.HealthPercent > 10),
      Spell.Buff("Bane of Doom", ret => StyxWoW.Me.CurrentTarget.IsBoss() && !StyxWoW.Me.CurrentTarget.HasAura("Bane of Doom")),
      Spell.Buff("Bane of Agony", ret => !StyxWoW.Me.CurrentTarget.HasAura("Bane of Agony") && !StyxWoW.Me.CurrentTarget.HasAura("Bane of Doom")),
      Spell.Buff("Corruption", ret => !StyxWoW.Me.CurrentTarget.HasAura("Corruption") && !
      Spell.Buff("Unstable Affliction", ret => !StyxWoW.Me.CurrentTarget.HasAura("Unstable Affliction")),

      Spell.Cast("Shadowflame", ret => StyxWoW.Me.CurrentTarget.Distance < 5),
      Spell.BuffSelf("Demon Soul"),
      Spell.Buff("Curse of Weakness", ret => StyxWoW.Me.CurrentTarget.IsPlayer && !StyxWoW.Me.CurrentTarget.HasAura("Curse of Weakness")),
      Spell.Cast("Life Tap", ret => StyxWoW.Me.ManaPercent < 50 && StyxWoW.Me.HealthPercent > 70),
      Spell.Cast("Soul Harvest", ret => StyxWoW.Me.HealthPercent < 70),
      Spell.Cast("Health Funnel", ret => StyxWoW.Me.GotAlivePet && StyxWoW.Me.Pet.HealthPercent < 70),
      Spell.Cast("Fel Flame"),
      Movement.CreateMoveToTargetBehavior(true, 35f)
      );
      }
      }
      }
       
    17. necrofhiliac

      necrofhiliac New Member

      Joined:
      Jul 16, 2011
      Messages:
      7
      Likes Received:
      0
      Trophy Points:
      0
      i would like to to cast Felhunter and not the succubus because felhunter is better for affliction. and shadowbolt is nice but i dont want that to be my main nuke i want fel flame to be the one to cast. and only want shadow bolt to cast when the buff is up. drain soul is ok but no need for it in pvp. fel armor is nice but when i get below a % of health i woud like it to go to Demon armor so i dont die so much.
       
    18. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      For the Warrior CC the rotation is looking pretty good. However it it taking about .5 seconds too long before casting abilities. If it could be slightly sped up that would be appreciated.

      Also, the biggest problem is for when movement is disabled. Could you please make so the code ignores using Charge/Heroic Leap (even heroic throw) when movement is disabled?

      Problem is it keeps trying to charge/heroic leap on boss fights because it gets confused by the range checks and hit box sizes.
      Other than that adding the code for Shattering throw when bubble/iceblock would make this perfected.

      THANKS!
       
    19. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      Just tested death knight in both unholy and frost. It's dps is drastically below what it could/should be doing.

      Any chance you can clean up it's rotation a bit?

      Also, It's having targeting issues still. When movement is disabled it should also disable all targeting that the bot does and leave it to the player.

      Thanks!
       
      Last edited: Jul 20, 2011
    20. Zacharybinx34

      Zacharybinx34 New Member

      Joined:
      May 11, 2011
      Messages:
      672
      Likes Received:
      6
      Trophy Points:
      0
      with warrior cc on BH 2nd boss I keep getting - [Singular] Target is invalid. Switching to Eye of Occu'thar!

      It won't do the rotation at all on him. Very strange.
       

    Share This Page