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)

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 [email protected] with class/spec as subject.

In the process could you PLEASE fix the Spell/Melee Range issue for enhancement shamans? On Fights like Ultraxion, Alysrazor, Madness of Deathwing this CC does NOT use ranged abilities like it should(and does on every other boss). I am guessing it has to do with the size of the targets hitbox, but i have to disable HB and manually play for these bosses due to the range issue. a lot of other authors had this issue with their CC(shamWoW did, he fixed it but singular still pulls more DPS aside from the range issue which I hope to see fixed). I have been dealing with and posting about this for months with no fix...
 
I've updated the Group class to include RaidMembers instead of just PartyMembers for Tank and Healer, it was causing an issue in raids. (I also updated GetPlayerByClassPriority :))

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Styx;
using Styx.Combat.CombatRoutine;
using Styx.WoWInternals.WoWObjects;

namespace Singular.Helpers
{
    internal static class Group
    {
        public static WoWUnit Tank
        {
            get
            {
                var tank = StyxWoW.Me.PartyMemberInfos.FirstOrDefault(p => (p.Role & WoWPartyMember.GroupRole.Tank) != 0);
                if (tank != null)
                {
                    return tank.ToPlayer();
                }
                tank = StyxWoW.Me.RaidMemberInfos.FirstOrDefault(p => (p.Role & WoWPartyMember.GroupRole.Tank) != 0);
                if (tank != null)
                {
                    return tank.ToPlayer();
                }
                return (StyxWoW.Me.Role & WoWPartyMember.GroupRole.Tank) != 0 ? StyxWoW.Me : null;
            }
        }
        public static WoWUnit Healer
        {
            get
            {
                var healer = StyxWoW.Me.PartyMemberInfos.FirstOrDefault(p => (p.Role & WoWPartyMember.GroupRole.Healer) != 0);
                if (healer != null)
                {
                    return healer.ToPlayer();
                }
                healer = StyxWoW.Me.RaidMemberInfos.FirstOrDefault(p => (p.Role & WoWPartyMember.GroupRole.Healer) != 0);
                if (healer != null)
                {
                    return healer.ToPlayer();
                }
                return (StyxWoW.Me.Role & WoWPartyMember.GroupRole.Healer) != 0 ? StyxWoW.Me : null;
            }
        }

        /// <summary>Gets a player by class priority. The order of which classes are passed in, is the priority to find them.</summary>
        /// <remarks>Created 9/9/2011.</remarks>
        /// <param name="range"></param>
        /// <param name="includeDead"></param>
        /// <param name="classes">A variable-length parameters list containing classes.</param>
        /// <returns>The player by class prio.</returns>
        public static WoWUnit GetPlayerByClassPrio(float range, bool includeDead, params WoWClass[] classes)
        {
            foreach (var woWClass in classes)
            {

                var unit = StyxWoW.Me.PartyMemberInfos.FirstOrDefault(p => p.ToPlayer() != null && p.ToPlayer().Distance < range && p.ToPlayer().Class == woWClass);
                if (unit != null)
                {
                    if (includeDead || (!unit.Dead && !unit.Ghost))
                    {
                        return unit.ToPlayer();
                    }
                }
                unit = StyxWoW.Me.RaidMemberInfos.FirstOrDefault(p => p.ToPlayer() != null && p.ToPlayer().Distance < range && p.ToPlayer().Class == woWClass);
                if (unit != null)
                {
                    if (includeDead || (!unit.Dead && !unit.Ghost))
                    {
                        return unit.ToPlayer();
                    }
                }
            }
            return null;
        }
    }
}
 
Singular DK standard file (from the SVN checkout), Frostspec 2H level 60.

Attacking a mob it casts the following spells:
Code:
[Singular] Casting Death Grip on Unyielding Sorcerer
[Singular] Casting Icy Touch on Unyielding Sorcerer
[Singular] Casting Plague Strike on Unyielding Sorcerer
[Singular] Casting Strangulate on Unyielding Sorcerer
[Singular] Casting Mind Freeze on Unyielding Sorcerer
[Singular] Casting Plague Strike on Unyielding Sorcerer
Code:
[Singular] Casting Death Grip on Unyielding Footman[LEFT][Singular] Casting Icy Touch on Unyielding Footman
[Singular] Casting Pillar of Frost on Unyielding Footman
[Singular] Casting Plague Strike on Unyielding Footman
[Singular] Casting Frost Strike on Unyielding Footman
[Singular] Casting Plague Strike on Unyielding Footman[/LEFT]

after that it's only white damage (auto attack). This on each mob it attacks. First it goes trough a cycle of attacks and then it's only white damage from auto attack till the mob is dead.​
 
Last edited:
my affliction warlock is doing quite good in battle grounds, but was wondering if you could add more things to the logic, for example the following


> if 3 people near, use Howl of Terror
> If 1 melee is near, use fear to keep him kited around and then dot him up + drain life to regain health (this way you can keep on fighting for long periods without dying.
> Dot Up most closeby targets, then focus on 1 and use the above spells and actions.
> If me is focused on target x amount of yards away and dpsing it, and a melee is dpsing me then use fear on melee, if 2-3 melee then use howl of terror.

Also is it possible to make the warlock move around melee targets to kite them and dps while he's at it?

Let me know if you can take a look at it.
 
Last edited:
I have been using Singular with my holy pally for random HoTs and i love it. Is there are way to make it heal tank only, raid only or group(s) heal only in raid environment?

Thanks
 
While using the Prot Pally CC is there a way to stop it using righteous fury? Im trying to run dungeons as a DPS but it keeps putting it on
 
Pretty sure singular is currently undergoing a good 'checking over' So any and all bugs should prob be brought up now (With log files) so they can get corrected while its being worked on.
 
Hi - I have tried adding the following to my shaman combat behavior just before call of the elements but it never fires:

Spell.Cast("Tremor Totem",
ret =>
SpellManager.HasSpell("Tremor Totem") &&
(StyxWoW.Me.HasAura("Fear") || StyxWoW.Me.HasAura("Psychic Scream") ||
StyxWoW.Me.HasAura("Intimidating Shout") || StyxWoW.Me.HasAura("Howl of Terror"))),

Does this behavior have some built in mechanic that stops the combat behavior from ticking at all if crowd controlled?
 
DeathKnight rotations has been updated. Would like any kind of feedback regarding DK rotations
 
PvP Affliction Warlock Rotation.
Also added into common.cs only to Soulharvest if we are not mounted or moving.
I also know Raphus is working hard on Singular update but since he is going down the list it might take a day or 2 to get to Warlocks ;)
 

Attachments

it's just plain doesn't work

I've updated HB to latest version, and since then Singular paladin CC stopped attacking mobs. It just standing doing nothing. Here is a log file.
 

Attachments

Warrior Arms CC

From 20% only spamming Execute it to 0%. Optimum would be if he would keep Colossus Smash on CD and keep Mortal Strike on CD would thus Rend remains on the Boss.

Prio 20% Phase: Colossus Smash -> Mortal Strike -> Execute -> Heroic Strike

Sincerely
 
Warrior Arms CC

From 20% only spamming Execute it to 0%. Optimum would be if he would keep Colossus Smash on CD and keep Mortal Strike on CD would thus Rend remains on the Boss.

Prio 20% Phase: Colossus Smash -> Mortal Strike -> Execute -> Heroic Strike

Sincerely

Wrong :)

Priority sub 20% is to get executioner to 5 stacks(spamming execute) using MSs when you need to keep Slayer at 3 stacks and not falling off, then once ur at 5 stacks executioner, 3 stacks slayer, MS > CS(swap MS and CS if no 4pc t13) > Execute(50+ rage).

No heroic strike, no overpower or slam.
 
I've updated HB to latest version, and since then Singular paladin CC stopped attacking mobs. It just standing doing nothing. Here is a log file.

Update using the SVN on the first page. I do not believe HB always ships with the latest Singular build.
 
Are the CC's being reworked for PVP as well? I noticed using the Warrior CC in BG's it doesnt seem to use death wish , Hamstring or Intercept as a gap closer, or to break out of being stuck. Would be good additions.

Adding racial support in general would be pretty cool as well. Human racial to break from being stuck etc.
 
Last edited:
Update using the SVN on the first page. I do not believe HB always ships with the latest Singular build.
As with Shamwow, the copy shipped by hb conflicts with files you installed from releasetopics or svn. Installing from scratch can fix it.
 
anyone else couldn't resolve the svn server?

EDIT: seems the server is running again
 
Last edited:
Back
Top