PDA

View Full Version : [WoW] Spell rotations / macro generator



Zub
06-26-2010, 06:50 AM
Hi All,

i'm currently working on a tool to see how spell rotations work out (with cooldowns and spell durations etc) with the intent of making it generate macros.

basically, you select a number of spells by priority, and set how you want to use them (on every cooldown, or every x seconds, or only once etc) and you get to see the timeline of your spells.

It's still a work in progress, but there's something to see here:
http://www.wow-ratings.com/index_rotations.php?id=2

At the moment, i've only added the paladin stuff. (click the paladin icon on the left)
I'd be interested to get your feedback

Classes added:
- Shaman abilities - Glyphs - Talents
- Paladin abilities - Glyphs - Talents
- Warrior abilities - Glyphs - Talents
- Priest abilities - Glyphs - Talents
- Druid abilities - Glyphs - Talents
- Hunter abilities - Glyphs - Talents
- Mage abilities - Glyphs - Talents
- Warlock abilities - Glyphs - Talents
- Rogue abilities - Glyphs - Talents
- Death Knight abilities - Glyphs - Talents


In the works:
- Done include spell cast times
- Done include global cooldown 1.5s (with differences for rogues/ferals/dks which have 1s abilities)
- Done find a way to add non-GCD abilities (elem mastery, Nature's swiftness etc)
- Done include spell changes from glyphs (example longer consecration)
- Done include spell changes from talents (example quicker LB cast)
- include a haste parameter to impact cast times and GCD
- shared spell cooldowns (frost vs flame vs earth shock for example)
- spells affecting other abilities (Elemental mastery making next cast instant for example)
- create a larger timeline to visualy indicate cast times, cooldowns etc. (Currently cast times shown)
- create the macro generator
- macro export to XML / ISBOXER
- simultaneous multi-class rotations display
- Save and share rotations.
- ...
- profit!

Tin
06-26-2010, 07:27 AM
Look like a great tool when it get finish

MiRai
06-26-2010, 07:33 AM
Very nice. I can see this being a very useful tool. In the end you may want to add a section to test the rate at which people press their keys to help generate more accurate /click macros.

Zub
06-26-2010, 07:57 AM
Very nice. I can see this being a very useful tool. In the end you may want to add a section to test the rate at which people press their keys to help generate more accurate /click macros.

yup it's in the works,
basically i'll ask how many presses per seconds (or something similar) and add the corresponding comas.

Thanks for the feedback

jinkobi
06-26-2010, 09:21 AM
Looks like a great idea!

Always meant to ask - when I try and use your multisig tool it won't recognize my character Jinkobi. I've put in the name/correct server and it keeps pulling up a different character with an entirely different name/server.

Zub
06-26-2010, 09:54 AM
Looks like a great idea!

Always meant to ask - when I try and use your multisig tool it won't recognize my character Jinkobi. I've put in the name/correct server and it keeps pulling up a different character with an entirely different name/server.
That's really weird, i just tried it and it seemed to work (assuming you're on Shadowsong):
http://www.wow-ratings.com/showSig.php?id=woMGoRE2aDudw (http://www.wow-ratings.com/sig)
I've added what I believe is 3 of your 4 druid slaves.
You can edit this sig by using the woMGoRE2aDudw code
PM if you need more details :-)

jinkobi
06-26-2010, 10:49 AM
Awesome man! I love it!

Yeah I don't know what's up. I put in my server/name and tried several times to no avail. If there's anything I could do to help or reproduce it let me know. But pretty much I just put in my info and it kept pulling up another person over and over which was a different race/faction/class/server.

Lax
06-26-2010, 11:17 AM
Nice, and your site looks great. Do you have any plans for an option to output the rotation macros in some sort of XML or other program-readable format? (copy to clipboard would be <3, or download, etc) I think a lot of people would like the ability to import the results into ISBoxer

jinkobi
06-26-2010, 12:56 PM
Ok I think what is going on man is the 'Sample Signature' In the sample it displays different toons/race/etc... When I generate my signature it's perfect. Guess I was confusing sample with a real time preview :D Maybe put a note for dumb people like me that the characters represented in the sample aren't a preview.

Sam DeathWalker
06-26-2010, 02:19 PM
Awsum if it works as hoped.


Hammer of Justice?

Tehmuffinman
06-26-2010, 05:55 PM
Zub if you think you might every require the services of another PHP developer for stuff like this or for options that Lax mentioned let me know!

I know it doesn't have the polish of your site (partly because I couldn't find a whole ton of interest in it) but I am the author of http://pants-optional.net/sigs/index.php, another multiboxing signature generator.

Zub
06-26-2010, 06:59 PM
Nice, and your site looks great. Do you have any plans for an option to output the rotation macros in some sort of XML or other program-readable format? (copy to clipboard would be <3, or download, etc) I think a lot of people would like the ability to import the results into ISBoxer
If you give me a xml format to follow, i could add it down the line. But I know nothing of ISBoxer so i would need some directions on what you want me to generate (and it would come after some other of my todos :-)



Ok I think what is going on man is the 'Sample Signature' In the sample it displays different toons/race/etc... When I generate my signature it's perfect. Guess I was confusing sample with a real time preview :D Maybe put a note for dumb people like me that the characters represented in the sample aren't a preview.
ah... oh! ok i see what you mean. I'll add a "SAMPLE PREVIEW" tag across the fake demo sig


Zub if you think you might every require the services of another PHP developer for stuff like this or for options that Lax mentioned let me know!
I know it doesn't have the polish of your site (partly because I couldn't find a whole ton of interest in it) but I am the author of http://pants-optional.net/sigs/index.php, another multiboxing signature generator.
Pretty much doing this as a relaxed hobby at the moment, so i like to do everything myself, but thanks for the offer.
Your sig is realy targetted to boxers which is great, mine is more towards people with alts. I'm trying to think a way of rearranging it (5 toons) without making too big, but haven't found a way yet

EaTCarbS
06-26-2010, 08:16 PM
Cool idea! Only thing I can think of is how to add haste rating to the formula

Lax
06-26-2010, 09:16 PM
If you give me a xml format to follow, i could add it down the line. But I know nothing of ISBoxer so i would need some directions on what you want me to generate (and it would come after some other of my todos :-)I'm not picky ;) As long as it's valid XML, and has a list of each of the macros that'd be cool, with an attribute or a separate name or something marking the master macro.

Something like this would be perfect, example XML below created from this guy's macros: http://www.dual-boxing.com/showthread.php?t=23481

<?xml version="1.0" encoding="UTF-8"?>
<Macros>
<Macro name="Master">/Click MultiBarRightButton5
/Click MultiBarRightButton6
/Click MultiBarRightButton7
/Click MultiBarRightButton8
/Click MultiBarRightButton9
/use 13
/use 14
/Petattack
/cast Demonic Empowerment
</Macro>
<Macro name="MultiBarRightButton5">#show Life Tap
/cast [mod, nochanneling] Drain Soul
/castsequence [nochanneling] reset=combat Life Tap,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
</Macro>
<Macro name="MultiBarRightButton6">#show Curse of Agony
/cast [mod, nochanneling] Drain Soul
/castsequence [nochanneling] reset=target Curse of Agony,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,
</Macro>
<Macro name="MultiBarRightButton7">#show Corruption
/cast [mod, nochanneling] Drain Soul
/castsequence [nochanneling] reset=target Corruption,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
</Macro>
<Macro name="MultiBarRightButton8">#show Immolate
/cast [mod, nochanneling] Drain Soul
/castsequence [nochanneling] reset=target Immolate,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
</Macro>
<Macro name="MultiBarRightButton9">#show Shadow Bolt
/cast [mod, nochanneling] Drain Soul
/cast [nochanneling] Shadow Bolt
</Macro>
</Macros>

Zub
06-26-2010, 10:40 PM
Cool idea! Only thing I can think of is how to add haste rating to the formula
yup, it's in the todos.

I'll need someone to also explain to me how latency works :-)
if i have 300ms latency, do i just add 0.3s at the beginning of each cast? or beginning and end? or 0.15 before and 0.15 after etc

Multibocks
06-26-2010, 11:36 PM
Very nice, I'm very interested in how this turns out.

Zub
06-27-2010, 08:45 AM
added the spell cast times and an indicator of the spell currently in use (the colored line under the timeline icons.
Also added a number of shaman spells and talents, and a few of the paladin glyphs (those affecting cooldowns, durations and cast times: consecration, holy wrath, holy shock and beacon)
Will do the talenst and then the shaman glyphs and talents after.

I haven't got access to the game at the moment, so can someone clarify the following please?

1/ if i have 300ms latency, do i just add 0.3s at the beginning of each cast? or beginning and end? or 0.15 before and 0.15 after ?

2/ i believe cooldowns start when the spell is cast (i.e *after* the cast time)
so if I have a 2 second cast time and 6 second coodown on that spell, I will be able to start casting that spell at:
t = 0
t +8
t +16

3/ If Ii have a 2 second cast time on a spell that has a buff or debuff that lasts for a duration of 10seconds,
that means that if I start casting at t=0 the spell buff will start t=2 and end at t=12

4/The exception being channeled spells where the duration and cooldown start at the beginnng of the casting time. correct?

5/now, the trick is, for Instant cast spells, both duration and cooldown start at t=0, but still there is a *implicit* casst time of 1sec, being the global cooldown. Does that make sense?

sorry must seem obvious but it's late and i'm confused, and locked outside the game :)

Tehmuffinman
06-27-2010, 11:58 AM
Link spells that share cooldowns (i.e. shocks) would be nice. =)

MiRai
06-27-2010, 04:40 PM
1/ if i have 300ms latency, do i just add 0.3s at the beginning of each cast? or beginning and end? or 0.15 before and 0.15 after ?
I do not know the answer to this question but here is my guess. Since latency is always changing, I believe the number you're actually seeing is an 'average' making it truly impossible to pinpoint. I'm not sure that this would actually affect the /click macro since it's being sent to the server at the correct timing and the server is then sending back information at the same rate as well. If you were to add more commas because of latency I think that would only throw the macro off. The only thing latency does affect is your reflex speed while responding to standing in fire, sending chat, etc.


2/ i believe cooldowns start when the spell is cast (i.e *after* the cast time)
so if I have a 2 second cast time and 6 second coodown on that spell, I will be able to start casting that spell at:
t = 0
t +8
t +16I just woke up and I'm not sure what all those t's are about but I'll confirm that the cooldown doesn't start until after the cast is successful. Otherwise you'd be screwing yourself and putting your own abilities on cooldown if you accidentally began to cast something you didn't want to and then canceled it.


3/ If Ii have a 2 second cast time on a spell that has a buff or debuff that lasts for a duration of 10seconds,
that means that if I start casting at t=0 the spell buff will start t=2 and end at t=12
The buff/debuff won't exist until the cast is successful, so yes.


4/The exception being channeled spells where the duration and cooldown start at the beginnng of the casting time. correct?Yep


5/now, the trick is, for Instant cast spells, both duration and cooldown start at t=0, but still there is a *implicit* casst time of 1sec, being the global cooldown. Does that make sense? The GCD (http://www.wowwiki.com/Cooldown#Global_cooldown) is 1.5 seconds in most cases.

Maxion
06-27-2010, 04:46 PM
added the spell cast times and an indicator of the spell currently in use (the colored line under the timeline icons.
Also added a number of shaman spells and talents, and a few of the paladin glyphs (those affecting cooldowns, durations and cast times: consecration, holy wrath, holy shock and beacon)
Will do the talenst and then the shaman glyphs and talents after.

I haven't got access to the game at the moment, so can someone clarify the following please?

1/ if i have 300ms latency, do i just add 0.3s at the beginning of each cast? or beginning and end? or 0.15 before and 0.15 after ?

2/ i believe cooldowns start when the spell is cast (i.e *after* the cast time)
so if I have a 2 second cast time and 6 second coodown on that spell, I will be able to start casting that spell at:
t = 0
t +8
t +16

3/ If Ii have a 2 second cast time on a spell that has a buff or debuff that lasts for a duration of 10seconds,
that means that if I start casting at t=0 the spell buff will start t=2 and end at t=12

4/The exception being channeled spells where the duration and cooldown start at the beginnng of the casting time. correct?

5/now, the trick is, for Instant cast spells, both duration and cooldown start at t=0, but still there is a *implicit* casst time of 1sec, being the global cooldown. Does that make sense?

sorry must seem obvious but it's late and i'm confused, and locked outside the game :)

AFAIK:
1/ Latency is measured one-way, so when you hit the button to cast a spell, it takes (in your 300ms example) 0.3s before the server registers it, and another 0.3s before you see it start casting. Same goes for the end of the spell I think, in that as long as the spell is done casting server side when the next spell casting gets to the server, it'll work.
While I guess displayed latency may be an average, I believe addons have access to the actual number at the current time. Though since latency is constantly changing, and with how it works as I just mentioned, you do not need to account for latency in macros. (pretty sure of it)
Only when using more than one spell in the same castsequence will it make a difference.

2/ Yes.

3/ Yes.

4/ Yes, and instant spells, though some channeled spells have the first tick instantly and some after the first amount of tick time, but i'm sure you already account for that, the total channel time is the reported time (before haste) anyway. (Dr damage, and gnosis are good addons to observe these things).

5/ Such implicit cast time would only be used for knowing when the next spell can be cast. (I believe in a lot of cases the global cooldown is 1.5s as well, so you'll need to account for which uses which)

Sam DeathWalker
06-27-2010, 06:56 PM
Well toss all that out:

http://forums.wow-europe.com/thread.html?topicId=13200618894&sid=1

I guess you add in zero for lag now ......

Zub
06-27-2010, 08:56 PM
sweet. makes it easier for me.
Thanks for the updates.
-Zub

Zub
06-29-2010, 12:12 AM
added a few things (refer to original post)
comments welcome :-)

Coltimar
06-29-2010, 10:30 AM
Have you thought about partial talents? Sounds kind of silly, but my Shaman only have 1 point in a few of the Boom of Echoes and other hastening talents. Small but makes some difference. I love this project, btw. Anything you need help with?

Zub
06-29-2010, 05:44 PM
Have you thought about partial talents? Sounds kind of silly, but my Shaman only have 1 point in a few of the Boom of Echoes and other hastening talents. Small but makes some difference. I love this project, btw. Anything you need help with?
At the moment i've only considered full tallents (all ranks taken) as partial talents is a real headache :-)
I might add them in the future but for now i want to finish the other features first.
Help? I could use help checking what abilities/glyphs/talents are missing :-) and feadback on any bug.
Also i'll be doing the macro generator soon, and i'm not a big macro specialist, so feedback on that would be great.
(there will be a textarea with a copy/paste possibility)

Thanks

Kris1234
09-04-2010, 08:02 AM
how is the project coming alone?

its a great idea

Zub
09-04-2010, 08:52 AM
i've put it on hold at the moment, and created the WoW Teams Portal instead (http://wow-ratings.com/index_teams.php)
With the upcoming expansion and all the changes to spells and talents, i thought it would be a waste to spend that much time setting it all up, to see it broken 3 weeks later :-(

i'll reconsider it once cata has hit the market.

cheers
-Zub

blbjtb
09-07-2010, 01:18 PM
Wow just played around with this in beta... Obviously had to change some stuff up but ya works pretty brilliantly. Keep at it very impressed! +1

Multibocks
09-08-2010, 09:12 AM
So this does work on Beta right now? Sweet!

edit: Oops thought this was a click macro. =X

Zub
09-08-2010, 10:24 AM
nah i think blb meant that the website is in beta. this part is actually still in dev even, and paused for now (i'm waiting to see what will be in cata to continue, don't want to waste too much time and effort :-)

blbjtb
09-08-2010, 01:52 PM
nah i think blb meant that the website is in beta. this part is actually still in dev even, and paused for now (i'm waiting to see what will be in cata to continue, don't want to waste too much time and effort :-)

Well ok so what i ment by my msg was that I used it to generate a macro to spam. I then copied and pasted it over to my beta account to play with on my pally. I obviously had to change a few of the spells but it worked pretty good. Im liking this macro generator. As a person that is usally horrid at making a macros this is really nice..

As for click macros I cant get those to work still even though macros are now in beta. Sooooo ummm yeah.

Zub
09-08-2010, 05:51 PM
note that the current macro generator is very basic, it has no AI in it yet, and just list your spells as is.
eventually it will detect cycling spells and limit the cast-sequences to the necessary. Maybe. perhaps :p