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

[WIP] Singular - A community driven All-In-One CC - It Just Plain Works

Status
Not open for further replies.
I am currently working some on Ret Pala.(Mainly for personal testing/learning)

I'll let ya know if i succeed in fixing the rotations

I have no ETA for rotations to be set.
 
2D vs 3D targeting...

i know this :)

but why
Code:
 StyxWoW.Me.Location.DistanceSqr(distanceFrom(ret).Location) <= maxRange * maxRange
and not
Code:
StyxWoW.Me.Location.DistanceSqr(distanceFrom(ret).Location) <= maxRange

dunno if DistanceSqr is working as intended (hope so) but for a test you can write the long form of this
Code:
Math.Sqrt(Math.Pow(StyxWoW.Me.Location.X - distanceFrom(ret).Location.X,2)+Math.Pow(StyxWoW.Me.Location.Y - distanceFrom(ret).Location.Y,2)+Math.Pow(StyxWoW.Me.Location.Z - distanceFrom(ret).Location.Z,2))

I thought Me.Location.Distance is the 3D distance, because there is a Method called for 2D distance -> Me.Location.Distance2D
So this makes no sense (for me) to calculate explicitly 3D Distances, because the names of the methods imply (for me) Distance2D is for 2D and Distance is 3D ...
Don't know if i'm wrong :) i can't see the code inside these methods, so i can only conjecture
 
Using Me.CurrentTarget.Face() in the priority list was throwing errors on startup.

So what I did was add a JustFace() composite I guess you would call it to SingularRoutine.CompositeHelpers.cs.

Its working flawlessly. The pull so much faster. Should be able to work for pvp now as well. I removed the Shoot/Throw from the pull as no one ever really uses that and it looks pretty bad to any observer.

My next focus will be adding more pvp viability as I'm thinking grinding and Instancing are pretty much bug free as is.

New .cs and patch:

Edit: Bah just saw the LOS and face that raphus put in. Thanks!

Edit: Removed outdated attachments.
 
Last edited:
I put all these files in my deathknight folder and nothing comes up ? Im confused on installation
 
Updated to work with CreateLosAndFace.

Added PvP Logic:
- Will use Intimidating Shout/Pummel to interrupt a casting player (Will only Pummel mobs).
- Uses Intercept/Heroic Leap to close distance in combat (Working Amazing).
- Will keep up Hamstring or Piercing Howl.

ToDo:
- Trinket Support (PvP and PvE).
- Racials/Professions.
- Anything else I can think of.

Edit: Removed Outdated links.
 
Last edited:
Hiya folks. Fantastic CC framework here.

I've written up an Affliction Warlock implementation that uses the standard rotation from EJ. It doesn't have any frills (yet), just a solid nuke logic.

EDIT: Notable features:
  • Emergency Life Tap / Drain Life
  • Nightfall procs
  • Infernal
  • Soul Swap
  • Howl of Terror
  • Death Coil
  • Smart Soulburn usage
  • Soulburn: Seed of Corruption

Features I'm working on:
  • Crowd control in PvP (Fear, Succubus)
  • Crowd control in PvE (Fear if glyphed, Succubus)



edit: removed outdated file
 
Last edited:
i know this :)

but why
Code:
 StyxWoW.Me.Location.DistanceSqr(distanceFrom(ret).Location) <= maxRange * maxRange
and not
Code:
StyxWoW.Me.Location.DistanceSqr(distanceFrom(ret).Location) <= maxRange

dunno if DistanceSqr is working as intended (hope so) but for a test you can write the long form of this
Code:
Math.Sqrt(Math.Pow(StyxWoW.Me.Location.X - distanceFrom(ret).Location.X,2)+Math.Pow(StyxWoW.Me.Location.Y - distanceFrom(ret).Location.Y,2)+Math.Pow(StyxWoW.Me.Location.Z - distanceFrom(ret).Location.Z,2))

I thought Me.Location.Distance is the 3D distance, because there is a Method called for 2D distance -> Me.Location.Distance2D
So this makes no sense (for me) to calculate explicitly 3D Distances, because the names of the methods imply (for me) Distance2D is for 2D and Distance is 3D ...
Don't know if i'm wrong :) i can't see the code inside these methods, so i can only conjecture

DistanceSqr is just the distance before running Math.Sqrt.

The only reason to use it, is for performance gains. (Sqrt math is slow when called very often, so not using it, gives a significant speed up in performance.)

Please learn some math on why you need to use maxRange * maxRange, and not just maxRange alone.
 
DistanceSqr is just the distance before running Math.Sqrt.

The only reason to use it, is for performance gains. (Sqrt math is slow when called very often, so not using it, gives a significant speed up in performance.)

Please learn some math on why you need to use maxRange * maxRange, and not just maxRange alone.

i've seen my mistake ... sqr != sqrt, so i understood why maxRange * maxRange instead of maxRange

But however this doesn't answer my "second" question ...
What is the difference between Distance and Distance2D ... if Distance ist the 3D-Distance, i can't see a reason to calculate this explicitly
I thought "if(Me.Distance(distanceFrom(ret).Location)>maxRange)" should give the exact same (desired) result.

Sorry if it sounds dumb, i only try to understand the code, and why doing things, how they're done in this CC ... can someone (or maybe u Apoc) the difference (or if i'm right that distance = 3D-Dsitance) or the reason why calculating it this way?

I know the functionality behind the method, or what it should be, where it is used (Composite CreateRangeAndFace -> check range, and go to target / in range of target (if needed))
-----------------------
I've seen some updates to this CC, so i will test the new revision today, maybe there are some problems fixed (long intervals between targeting and fight-start / pull, long intervals between switching target, long intervals between looting mobs and next action (mount/move))
 
WoW calculates spell distance via 3D distance, not 2D.

While you may be within 2 yards of something, in 2D space. They may be 500 yards above you, which means you can't hit them from where you are.

The Distance2D properties are more for 'utility' when you *really* don't care about 3D distances.
 
Thank you for the short explanation :)
this could explain some other problems i've had, i'll try it your way.
 
Sweet i almost pee'd my pants...hehe Nice job apoc and rest of people helping. Is there a way i can update the CC's with the things you guys post or is there a special patch plugin? Also is there going to be a way to change some settings or not? Like if for hunter to use disengage or use traps in combat which traps...etc thanks
 
[Singular] Successfully cast Crusader Aura
[Singular] Casting Crusader Strike on Player
[Singular] Successfully cast Crusader Strike
[Singular] Casting Templar's Verdict on Player
[Singular] Successfully cast Sacred Shield
[Singular] Casting Crusader Strike on Player
[Singular] Successfully cast Crusader Aura

Retri paladin tries to cast crusader aura while in combat all the time
 
After there being NO, and I mean NO, good blood dk ccs for soloing at high level, I improved the one in singular FOR high level farming.
Here
I keep running into a bug with the CC always wanting to cast Unholy presence, even after I completely remove it from the "common.cs" Even the Check I added does not work correctly, so if anyone can offer a solution to that I'm all ears. Even with the bug it works 900x better than the default one. Also you will notice I "jerry rigged" it to cast Lichborne and Death coil spam as another self heal(only if Death Pact is on CD and has enough RP to cast at least 1 DC)
 
Last edited:
Why would you add consecration on a retribution paladin rotation?.. for singletargets? Just asking (whoever the author of the actual rotation is)
 
If I could request something added to the core. I would like to be able to use an equipped item via slot number. ie. CreateUseItem() or something like that. I'm afraid I'm not skilled enough to do so myself.

This would allow engineer's to use their belt/glove/cloak enchants, really maximize dps/survivability.

Thanks in advance, Jon
 
Why would you add consecration on a retribution paladin rotation?.. for singletargets? Just asking (whoever the author of the actual rotation is)

Update, added a setting for it

If I could request something added to the core. I would like to be able to use an equipped item via slot number. ie. CreateUseItem() or something like that. I'm afraid I'm not skilled enough to do so myself.

This would allow engineer's to use their belt/glove/cloak enchants, really maximize dps/survivability.

Thanks in advance, Jon

Update, CreateUseEquippedItem(uint slotId) added
 
Some warlock changes: warlock.patch you may better take a closer look into public Composite CreateWarlockRest() { ... } it's may not the way you guys like it.. change it to PreCombatBuffs if you dont agree :)
 
Status
Not open for further replies.
Back
Top