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)

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
 
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:
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:
Im i the only one who has trubble with Paladin not using seals and priest dosnt go in shadowform?
 
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!
 
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
 
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:
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:
@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:
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

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!
 
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
 
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%.
 

Attachments

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?
 
To whom can I send my additions to singular? So that they can update the SVN?
 
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)
);
}
}
}
 
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.
 
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!
 
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:
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.
 
Back
Top