Elitist Jerks

Elitist Jerks (http://elitistjerks.com/forums.php)
-   Druids (http://elitistjerks.com/f73/)
-   -   Feral Powershifting: macros, thresholds, mana management (http://elitistjerks.com/f73/t25842-feral_powershifting_macros_thresholds_mana_management/)

Allev 05/16/08 3:21 PM

Feral Powershifting: macros, thresholds, mana management
 
I'm creating a new thread because of the development of the new macros. I'm doing this for several reasons:

1-- Ferals looking for hot new macro goodness will probably want to go directly to a place where it's being discussed
2-- There's probably a lot of discussion left to be had: ideal macro settings with a manglebot, without a manglebot, special adjustments for pots, maintenance of mana, and so on. None of this really has anything to do with the megathread's current contents.
3-- It'll be a pain in the ass to say "go to page 147 out of XXX is where the discussion started" every time someone asks where all this stuff came from.
4-- This topic will be dominate the feral conversation enough that other topics in the megathread will get drowned out.
5-- Most of the old powershifting thread is obsoleted or full of "go post in the megathread" posts.

Now, onto the quick summary:

Energy-checking shifting macro
Malthoreniel posted a few macros which have energy checking and optioning in them. The first, which simply checks energy before it powershifts, is here:
Code:

/run local f="Cat Form";f=GetSpellCooldown(f)>0 or UnitMana('player')>XXX or not IsUsableSpell(f) or CancelPlayerBuff(f)
/stopmacro [form]
/cast Cat Form

Inline shifting with other attacks
He also posted a way to "inline" attacks, so that you'll shift if you're below a threshold, or otherwise attempt an attack:
Code:

#showtooltip
/run if pwx then local f="Cat Form";f=GetSpellCooldown(f)>0 or UnitMana('player')>pws or not IsUsableSpell(f) or CancelPlayerBuff(f) end
/cast [form] YourAttackHere
/stopmacro [form]
/cast Cat Form

This macro also includes a way to toggle the macro so that you can turn off its shifting functionality:
Code:

/run local c=DEFAULT_CHAT_FRAME if  pwx then pwx=false c:AddMessage("Powershift disabled",1,1,1) else pwx=true pws=8 c:AddMessage("Powershift enabled, 8 energy threshold",1,1,1)end
Replace "YourAttackHere" in the first macro and 8 in the second macro to whatever settings you'd like for that attack. You can customize these for different abilities by renaming "pwx" to another name for a different attack in a different macro. Or, simply replace "pws" in the first macro.

There are other macros posted with particular implementations, but these are the basics.

Mods
I'll update this this weekend. This is just a cut and paste of raffy's post:
Quote:

http://oldschoolwow.com/FeralKit.zip

An Ace mod that combines both AutoPowershift functions and the GCD-safe Cancelform functions.

-- ps(): cancels form if energy is under threshold and everything else is good
-- cf(formIndex): cancels the form (or any form if non specified) if not inside the gcd (1 = bear, 3 = cat)

Toggle Automatic Powershifting:
/feralkit ps toggle

Set Energy Threshold:
/feralkit ps energy 18

"Mangle" Macro
/run ps()
/use [noform] Haste Potion
/cast [noform] Cat Form; Mangle (Cat)()

"Shred" Macro
/run ps()
/use [noform] Haste Potion
/cast [noform] Cat Form; Mangle (Cat)()

Chat Frame:
FeralKit: 8 energy wasted.
FeralKit: 4 energy wasted.
FeralKit: 12 energy wasted over 2 shifts (6.0 energy per shift). (<-- Does this when combat ends.)
(I didn't add a setting yet to turn this on/off)

"HS" Macro
#showtooltip Master Healthstone
/use [noform] Master Healthstone
/stopmacro [noform]
/run cf(1)
/use [noform] Master Healthstone
/cast [noform] Dire Bear Form
/run cf(3)
/use [noform] Master Healthstone
/cast [noform] Cat Form

"Bearstand" Macro (from page 1)
/run cf()
/stopmacro [form]
/use Master Healthstone
/use item:32905
/use item:32784
/use item:28100
/use item:22829
/cast Dire Bear Form

Energy thresholds

Maeltne did some energy threshold work and posted it below. I think this was theorycraft-only:

Quote:

Threshold at 22:
40
60
shred
18
powershift

Yields 1 shred per tick, and 1 powershift/tick. Probably too mana intensive, but requires testing.

Thresold at 18:
40
60
shred
18
38
58
shred
16
powershift

Yields 1 shred per 1.5 ticks, and 1 powershift per 3 ticks. Sweet spot? Maybe. Requires testing

Threshold at 16:
40
60
shred
18
38
58
shred
16
36
56
shred
14
powershift

Yields 1 shred per 1.67 ticks, and 1 powershift per 5 ticks.


Threshold at 14
40
60
shred
18
38
58
shred
16
36
56
shred
14
34
54
shred
12
powershift

yields 1 shred per 1.75 ticks and 1 powershift per 7 ticks.

Abstracting:
Set threshold at 20-2x

Total ticks until cycle repeats: 1 + 2x
Total shreds until cycle repeats: 1 + x

Total ticks per shred: (1+2x)/(1+x)

Chart:

Code:

X                        0        1        2        3        4        5        6        7        8        9
Threshold                20        18        16        14        12        10        8        6        4        2
Ticks to Repeat                1        3        5        7        9        11        13        15        17        19
Shreds to Repeat        1        2        3        4        5        6        7        8        9        10
Shreds/Tick                1        1.5        1.67        1.75        1.8        1.83        1.86        1.875        1.89        1.9
Mana./Shred                829        414.5        276.3        207.25        165.8        138.17        118.43        103.6        92.1        82.9


Please limit the conversation below to powershifting topics, I'll try to keep this updated with the latest developments. Some topics to flesh out include:
-- are the thresholds correct?
-- tactics for misses/dodges in the cycle?
-- mana sustainability for fights (i.e. when do you have to potion? how much will consumables help? which shifting cycle can you maintain after X consumables?)
-- estimated DPS of potential abilities

Tons to talk about given that every kitty should be macroing in the near future.

Maeltne 05/16/08 4:15 PM

Special thanks to Malthoreniel (I *never* would have thought of this myself)

I'm kinda anti-addon'ish for macroable abilities, but will completely overcome this disability the moment I find a simple add-on that can check if you are stunned (assuming this cannot be reasonably done in < 50 characters in a macro).

My current macros:

Code:

/run local c=DEFAULT_CHAT_FRAME if pws then pws=false c:AddMessage("Powershift disabled",1,1,1) else pws=true c:AddMessage("Powershift enabled",1,1,1)end
This will turn on/off the powershifing component of the following attacks. Turn on to improve raid DPS, turn off for long farming sessions, etc.

Code:

#showtooltip
/run if pws then local f="Cat Form";f=GetSpellCooldown(f)>0 or UnitMana('player')>14 or not IsUsableSpell(f) or CancelPlayerBuff(f) end
/cast [form] Mangle (Cat)()
/stopmacro [form]
/use [alt] item:22838
/cast Cat Form

This will powershift, if possible/enabled and your energy is less than 15, and use a Haste Potion (if Alt is held). Otherwise it will simply Mangle

Code:

#showtooltip
/run if pws then local f="Cat Form";f=GetSpellCooldown(f)>0 or UnitMana('player')>15 or not IsUsableSpell(f) or GetComboPoints()>3 or CancelPlayerBuff(f) end
/cast [form] Shred
/stopmacro [form]
/use [alt] item:22838
/cast Cat Form

This will powershift, if possible/enabled and your energy is less than 16, and have less than 4 combo points; and use a Haste Potion (if Alt is held). Otherwise it will simply Shred.

Code:

#showtooltip
/run if pws then local f="Cat Form";f=GetSpellCooldown(f)>0 or UnitMana('player')>9 or not IsUsableSpell(f) or CancelPlayerBuff(f) end
/use 13
/use 14
/cast [form] Rip
/stopmacro [form]
/cast Cat Form

This will powershift, if possible/enabled and your energy is less than 10. Otherwise it will simply Rip. In either case it will activate both of your trinkets.

sal 05/16/08 4:59 PM

could someone reference to appropriate values dependent on set bonuses such as mangle for optimal dps. I am looking at how 2T6 would affect the best option.

Would also like to see some potion's integrated into examples if at all possible. For late sunwell I am greatly interested in comparing mana potions to haste potions for dps.

Thank you,

Dev93L 05/16/08 5:00 PM

Fantastic, thank you very much for all of your hardwork and implementation. I have a feral druid alt and these will be wonderful.

oldmandennis 05/16/08 5:06 PM

Wait what?

You can have conditionals like that in macros? I thought those were eliminated a while ago. Enjoy it while you can, I'm sure bliz will be fixing it soon.

roquer 05/16/08 5:13 PM

I've found that about once an hour or so the macro will leave me in caster form as if the GCD wasn't expired yet. However, the macro has to be spammed in order to not waste energy ticks. It this a result of client side lag? Is there any solution to this issue?

Mijae 05/16/08 6:30 PM

I've been trying to analyze some cycle changes to a fully maximized powershifting cycle. A max burst could be simply powershift->tick->Shred repeated. However, this results in an 18 energy lost every shift. Based on global cooldown, it seems that a maximum of 3 shifts is possible in a 12 second cycle. That's 54 lost energy.

The adjusted cycle I'm theorycrafting is weaving Mangles between Shreds to utilize some of that lost energy.

00.0 38 Tick
00.5 _8 Rip
01.5 40 Shift
02.0 60 Tick
02.5 18 Shred
04.0 38 Tick
04.5 _3 Mangle
05.5 40 Shift
06.0 60 Tick
06.5 18 Shred
08.0 38 Tick
08.5 03 Mangle
09.5 40 Shift
10.0 60 Tick
10.5 18 Shred
12.0 38 Tick
12.5 _8 Rip

If energy is less than 18 then powershift, if energy is greater than 42 then Shred, if energy is greater than 35 then Mangle.

Edit: Removed conditional shred/mangle macro idea. If it were possible, I'm sure it would be against lua.

By adding a second Mangle, it should no longer need to immediately follow Rip. This does, of course, break trying to get Super Rips.

caelus 05/16/08 7:47 PM

The ferals in my guild have started using them and have seen close to 200dps increase (since they were too lazy to powershift before). It seems like using these macros constantly will drive dps up alot but drains mana like crazy. We now hear ferals asking for blessing of wisdom.

zimira 05/16/08 8:07 PM

Mijae, you forgot that shifting resets the energy ticker. And
/cast [form,modifier] Rip; [form] Shred
/cast [form] Mangle (Cat)()
simply dont work, if shred fails the macro will stop (or maybe its trying to cast an abiltity invokes a short gcd that makes the mangle a "spell not ready"). This is pretty much the old macros with multiple abilities in one used to work.

Ehani 05/16/08 8:25 PM

A significant thing to remember if you're getting really into macros is that TrinityBars2.0 allows you to make macros that are up to something like 5000 characters long. I'm willing to bet that there are other addons that will let you do this without replacing your Action Bars. This allows for some really nifty things. For example, here's my general Bear Form macro, weighing in at a hefty 781 characters:

Code:

#showtooltip [modifier:shift] Enrage; Dire Bear Form
/cast [stance:1,modifier:shift] Enrage
/stopmacro [stance:1,modifier:shift]
/cast [nostance] Dire Bear Form
/stopmacro [nostance]
/equip [stance:1] Pillar of Ferocity
/equip [stance:1] Idol of Terror
/script local f="Dire Bear Form" local gcd=GetSpellCooldown(f)>0 or not IsUsableSpell(f); if not gcd then CancelPlayerBuff("Dire Bear Form") CancelPlayerBuff("Cat Form") CancelPlayerBuff("Travel Form") end;
/script local f="Dire Bear Form" local gcd=GetSpellCooldown(f)>0 or not IsUsableSpell(f); if not gcd then CancelPlayerBuff("Swift Flight Form") CancelPlayerBuff("Moonkin Form") CancelPlayerBuff("Tree Form") end;
/stopmacro [stance]
/cast [nostance] Dire Bear Form
/equip [nostance] Pillar of Ferocity
/equip [nostance] Idol of Terror

I'll explain in pseudo-code...
Code:

if (in Bear Form with "shift" held down)
    /cast Enrage
    /stopmacro
elseif (in caster form)
    /cast Bear Form
    /stopmacro
elseif (in Bear Form)
    /equip Bear staff
    /equip Bear Idol
    #Note that if this actually causes a weapon swap, it puts you on GCD
elseif ("Bear Form" spell not on cooldown and you have mana to cast it)
    /cancelaura Bear Form
    /cast Bear Form
    /equip Bear staff
    /equip Bear Idol
end

I also have a similar version for Cat Form, but you should be able to figure that out from this code. There are two quirks about this macro. First, it will pop you out of any form that you happen to be in if you try to use it while stunned or otherwise incapacitated. IsUsableSpell() doesn't seem to consider being stunned as a condition under which you can't cast a spell. Secondly, if you use this macro from caster form, it won't equip the weapons that it does at any other time that you use it. You can, however, basically double-tap the macro to shift into Bear Form and then equip weapons. If the second click is while you're still on GCD from entering Bear Form, the /equips will be the only actions performed.

The problems in most powershifting macros that this fixes are pretty cool. Firstly, you won't ever attempt to shift when you're on GCD. (Note that this can also be fixed by using a /cast !Bear Form line instead of the /cancelform /cast combination). Also, this macro won't attempt to swap your weapons if you're not on GCD and not in Bear Form. That problem with normal powershifting macros caused me a lot of trouble in Arenas where I'd be clicking my shift button while I was on GCD, so I'd wind up extending the GCD by another 1.5 seconds. (Equipping weapons in combat causes a GCD from the instant the /equip command was sent, even though you can do the equipping while you're already on GCD).

Mijae 05/16/08 8:38 PM

Quote:

Originally Posted by zimira (Post 748759)
Mijae, you forgot that shifting resets the energy ticker. And
/cast [form,modifier] Rip; [form] Shred
/cast [form] Mangle (Cat)()
simply dont work, if shred fails the macro will stop (or maybe its trying to cast an abiltity invokes a short gcd that makes the mangle a "spell not ready"). This is pretty much the old macros with multiple abilities in one used to work.

I commented that was pseudo code and didn't expect it to work as-is. It's not like "/shift" actually does anything.

Also, I'm still investigating the how powershifting actually affects the energy timer. I originally had a comment about this in my post, but I guess I removed it. I'm not so sure it does reset it though. When I watch my energy ticker, it never goes the full duration to get the next tick. If anyone has some conclusive evidence either way, it would be helpful. I'm planning on doing testing tonight.

If this is the case, [Wolfshead Helm] might be the only way to fully utilize more than one shift per cycle, and definitely for more than 2 (unless longer than 12 second cycles).

Valerian 05/17/08 2:56 AM

Quote:

Originally Posted by Mijae (Post 748811)
Also, I'm still investigating the how powershifting actually affects the energy timer. I originally had a comment about this in my post, but I guess I removed it. I'm not so sure it does reset it though. When I watch my energy ticker, it never goes the full duration to get the next tick. If anyone has some conclusive evidence either way, it would be helpful. I'm planning on doing testing tonight.

I think I mentioned this in the main feral druid megathread. In an ideal situation my regular powershifting looked like

Energy ticks over
immediately Use anattack
1 sec
Powershift

If done properly this would have the powershift occur when the energy ticker was halfway through a tick. For the one Im using (old energy watch) the ticker itself does not reset upon a shift (i.e., it continues "ticking" through the shift without pause). As such the tick after the powershift almost always occurs when the bar is again halfway through. The implication here being that it still takes the full 2 seconds to get the energy rather than the 1 sec it would take if the counter didnt reset.

glowacks 05/17/08 4:12 AM

Quote:

Originally Posted by oldmandennis (Post 748515)
Wait what?

You can have conditionals like that in macros? I thought those were eliminated a while ago. Enjoy it while you can, I'm sure bliz will be fixing it soon.

I've been wondering this myself. I didn't think it was possible for a macro to make a decision about what to do while in combat based on how much energy(/rage/mana) you had, only on those few conditionals that Blizzard gave you (what form you're in, what you have equipped, whether your target is friendly, etc). I only know the basics of macro writing and so don't know what's going on in those scripts, so I really don't know what's going on to allow you to bypass this supposed restriction.

raffy 05/17/08 6:08 AM

Latest Version of FeralKit:
http://oldschoolwow.com/FeralKit.zip

Read Me:
http://oldschoolwow.com/FeralKitReadMe.txt

ecopsorn 05/17/08 6:41 AM

Quote:

Originally Posted by raffy (Post 749104)

Will you plan to make this addon work for other clients than English as well? I'm playing on a German client on which this addon doesn't work. So far I stick with the plain makros, but I admire your work with the addon!

That's why it would be great to make it accessable also for other languages ;)


All times are GMT -4. The time now is 5:10 AM.

Forum Infrastructure by vBulletin 3.6.12 ©2000-2007, Jelsoft Enterprises Ltd.