•

# Feral Powershifting: macros, thresholds, mana management

221 replies to this topic

### #41 raffy

raffy

Piston Honda

• Members
• 111 posts

Posted 18 May 2008 - 02:19 AM

If what you're saying is true, say I had a 50% crit rate. I could then wait for 4 non-crits in a row and then use a trinket because the next 4 must have a higher crit chance to make it even out to 50%. It just doesn't work that way.

I'm not sure you understand how compute-intensive the type of system you are suggesting implies. It might not be too difficult for you to try and mimic the behavior, but imagine doing this in detail for thousands of users while performing all the other server calculations as well. This is precisely why internal cooldowns are used instead. The implementation is a much simpler concept, easier implementation, and faster performance. Otherwise there would be no reason for them to exist.

If the predictions are wrong, it's not just a matter of saying oh-well. Not performing a shift because you're expecting a proc to come and it doesn't will lower your damage. If the proc actually does happen and you shifted, you simply get the energy after the shift rather than instead of it.

Btw, cat GCD is 1 sec, not 1.5. Also, the energy difference you posted is due to the threshold you used for when to shift and starting energy. I don't understand what it has to do with the current discussion.

Yes, I would say, if you crit 4 times in a row, you have a reduced chance to crit on your remaining swings, assuming your local average is within some window near the target crit rate. However, 50% is far harder to predict than 4%.

at 50%,
HHHHH HHHHH CCCCC CCCCC = HHHHH CCCCC HHHHH CCCCC == HCHCH CCHCH CHHCH CCCHH
1/.5 = 2 (overall distribution looks like 1H : 1C)

at 4%
HHHHH HHHHH HHHHC HHHHH = CHHHH HHHHH HHHHH HHHHH == HHHHH HHHHH HHHHH HHHHC
1/.04 = 20 (overall distribution looks like 19H : 1C)

So if I get a bunch of H's, I know that to stay within the window, eventually I'll get a C in "small n" time (or a reasonable amount of samples).

You can implement it in a few lines of code:
-- retain a moving average
-- if you deviate too far from the target mean, apply weighting to return to the desired target window

Sorry about the GCD thing, and I think I see your point since 20 energy will always put you over threshold. Let me play with this a bit more.

### #42 Valerian

Valerian

King Hippo

• Members
• 590 posts

Posted 18 May 2008 - 03:02 AM

Yes, I would say, if you crit 4 times in a row, you have a reduced chance to crit on your remaining swings, assuming your local average is within some window near the target crit rate. However, 50% is far harder to predict than 4%.

at 50%,
HHHHH HHHHH CCCCC CCCCC = HHHHH CCCCC HHHHH CCCCC == HCHCH CCHCH CHHCH CCCHH
1/.5 = 2 (overall distribution looks like 1H : 1C)

at 4%
HHHHH HHHHH HHHHC HHHHH = CHHHH HHHHH HHHHH HHHHH == HHHHH HHHHH HHHHH HHHHC
1/.04 = 20 (overall distribution looks like 19H : 1C)

So if I get a bunch of H's, I know that to stay within the window, eventually I'll get a C in "small n" time (or a reasonable amount of samples).

You can implement it in a few lines of code:
-- retain a moving average
-- if you deviate too far from the target mean, apply weighting to return to the desired target window

Sorry about the GCD thing, and I think I see your point since 20 energy will always put you over threshold. Let me play with this a bit more.

Well the only way what you are saying is correct is if WoW does something that ISNT an attempt at a fully random system. In terms of probability what you stated in your first sentence is EXACTLY the Gambler's Falacy. I cannot see why Blizzard would have a system in place like this when they already have their PPM systems to deal with situations where they want to "limit" procs to reasonable periods of time.

### #43 Mijae

Mijae

Don Flamenco

• Members
• 443 posts

Posted 18 May 2008 - 03:15 AM

Yes, I would say, if you crit 4 times in a row, you have a reduced chance to crit on your remaining swings, assuming your local average is within some window near the target crit rate. However, 50% is far harder to predict than 4%.

at 50%,
HHHHH HHHHH CCCCC CCCCC = HHHHH CCCCC HHHHH CCCCC == HCHCH CCHCH CHHCH CCCHH
1/.5 = 2 (overall distribution looks like 1H : 1C)

at 4%
HHHHH HHHHH HHHHC HHHHH = CHHHH HHHHH HHHHH HHHHH == HHHHH HHHHH HHHHH HHHHC
1/.04 = 20 (overall distribution looks like 19H : 1C)

So if I get a bunch of H's, I know that to stay within the window, eventually I'll get a C in "small n" time (or a reasonable amount of samples).

Until you can provide any proof to backup this argument, there is no reason to conclude this is the implementation. While it might have only taken you a few lines to implement, resources and processing time required is more. Sure they maintain logs, but real-time analysis of those logs is another matter. This is especially true if you consider separate analysis would need to be maintained for every ability (used or not) and every proc for every character online. Recalculating and applying a variable weight to a RNG every ability is not easy either.

However, even if it were true I still don't see the benefit of modelling it for powershifting.

### #44 raffy

raffy

Piston Honda

• Members
• 111 posts

Posted 18 May 2008 - 04:10 AM

Well, I'll agree to disagree and leave it at that. I'm pretty confident I can model it, but just for kicks I'm going to go log some data from the Blasted Lands.

However, I do agree about the importance of it for powershifting is questionable, a smarter way to completely avoid the issue would be avoiding powershifts that align to the swing timer (and I think that solves the problem entirely).

More to the question before, about the GetEnergyAfter(1.5sec) function, is such logic necessary? I just figured it would be, doing some quick head logic, but I can't find an example which shows it working as described.

Are there any other conditions we can check to decide whether or not to powershift?

---

I'm going to implement a swing timer.

I'm going to implement the mana gradient thing to curb shifting as mana decreases and maybe have some kind of mana cutoff, so you still have enough mana to do a heal and shift back, or something like that.

Edit: actually, I guess you don't need to look at the swing timer. The energy update function will be called if the proc occurs, which will prevent any future shifting.

### #45 Zeln

Zeln

Mr. Sandman

• Members
• 5329 posts

Posted 18 May 2008 - 04:26 AM

i down loaded the feralkit mod but it dosnt show in game how does it work

[2008/05/18 00:24:01-1-x1]: FeralKit\core.lua:15: AceAddon: AceOO-2.0: Library "Sink-1.0" does not exist.
(tail call): ?:
(tail call): ?:
FeralKit\core.lua:15: in main chunk

### #46 raffy

raffy

Piston Honda

• Members
• 111 posts

Posted 18 May 2008 - 04:39 AM

[2008/05/18 00:24:01-1-x1]: FeralKit\core.lua:15: AceAddon: AceOO-2.0: Library "Sink-1.0" does not exist.
(tail call): ?:
(tail call): ?:
FeralKit\core.lua:15: in main chunk

1. Shouldn't this be using Sink-2.0?

Sorry, I had no idea Sink-1.0 requires AceOO.

http://oldschoolwow.com/FeralKit.zip

### #47 Odas

Odas

Von Kaiser

• Members
• 86 posts

Posted 18 May 2008 - 05:23 AM

I'm still getting the error that the lib folder is not found. I cannot copy over feralkit into my addons folder until this problem is fixed. Anyone have any suggestions?

### #48 Mijae

Mijae

Don Flamenco

• Members
• 443 posts

Posted 18 May 2008 - 05:41 AM

Well, I'll agree to disagree and leave it at that. I'm pretty confident I can model it, but just for kicks I'm going to go log some data from the Blasted Lands.

However, I do agree about the importance of it for powershifting is questionable, a smarter way to completely avoid the issue would be avoiding powershifts that align to the swing timer (and I think that solves the problem entirely).

Fair enough. Good luck with your testing. I'm sure everyone would be interested if you can find conclusive evidence as this would basically change all the theory crafting everyone has ever done.

More to the question before, about the GetEnergyAfter(1.5sec) function, is such logic necessary? I just figured it would be, doing some quick head logic, but I can't find an example which shows it working as described.

Are there any other conditions we can check to decide whether or not to powershift?
...
Edit: actually, I guess you don't need to look at the swing timer. The energy update function will be called if the proc occurs, which will prevent any future shifting.

Yeah, I can't think of any circumstances you would not want to shift, other than the specified threshold (and can of course). The only case where there could be issues is if the commands are not instant. A swing would need to occur between the time your energy is checked and the form is canceled. If that were possible, it would also be possible to get hit during a bear pot macro. Hopefully this is not the case.

I'm going to implement the mana gradient thing to curb shifting as mana decreases and maybe have some kind of mana cutoff, so you still have enough mana to do a heal and shift back, or something like that.

Is this possible? The "UnitMana" call returns energy. Is there a different call to get current mana? I only ask because most unit bars I tested did not accurately update after a powershift.

### #49 raffy

raffy

Piston Honda

• Members
• 111 posts

Posted 18 May 2008 - 06:04 AM

Fair enough. Good luck with your testing. I'm sure everyone would be interested if you can find conclusive evidence as this would basically change all the theory crafting everyone has ever done.

Yeah, I can't think of any circumstances you would not want to shift, other than the specified threshold (and can of course). The only case where there could be issues is if the commands are not instant. A swing would need to occur between the time your energy is checked and the form is canceled. If that were possible, it would also be possible to get hit during a bear pot macro. Hopefully this is not the case.

Is this possible? The "UnitMana" call returns energy. Is there a different call to get current mana? I only ask because most unit bars I tested did not accurately update after a powershift.

LibDruidMana-1.0 keeps a pretty accurate record of my mana through powershifting; I'll just reference that.

### #50 Bashui

Bashui

Von Kaiser

• Members
• 52 posts

Posted 18 May 2008 - 06:12 AM

LibDruidMana-1.0 keeps a pretty accurate record of my mana through powershifting; I'll just reference that.

That is what pitbull uses, and it seems to track it +/- a few mana.

For a quick check, you can always use some other spells as the cutoff, Rebirth is something like 1900 mana, hurricane 1500 mana, etc.

### #51 Valerian

Valerian

King Hippo

• Members
• 590 posts

Posted 18 May 2008 - 07:03 AM

I'm going to implement the mana gradient thing to curb shifting as mana decreases and maybe have some kind of mana cutoff, so you still have enough mana to do a heal and shift back, or something like that.

Perhaps its just me being paranoid but continual updates like this to allow further automation may results in a "red flag" so to speak with regards to this functionality. Im pretty certain that Blizz doesnt want you to be able to spam a "smart" macro and have things occur based on the game state (hence the removal of the old decursive or whatever that old pally healing mod was). Thoughts?

### #52 ecopsorn

ecopsorn

Glass Joe

• Members
• 21 posts

Posted 18 May 2008 - 09:01 AM

Katzengestalt
Kampfeslust
Omen der Klarsicht
Freizaubern
Urinstinkt
TerrorbÃ¤rengestalt
Zerfleischen
Katzengestalt
Wassergestalt
Reisegestalt

I'm not in game and it's late here ^^ I'll check tomorrow morning if the above translations are 100% correct. So far I'm just 90% sure

The above Translations I did yesterday are all correct. Here is a summary and some more procs of different trinkets.

"Cat Form" = "Katzengestalt"
"Bloodlust" = "Kampfeslust"
"Omen of Clarity" = "Omen der Klarsicht"
"Clearcasting" = "Freizaubern"
"Primal Instinct" = "Urinstinkt"
"Dire Bear Form" = "TerrorbÃ¤rengestalt"
"Mangle" = "Zerfleischen"
"Cat Form" = "Katzengestalt
"Aquatic Form" = "Wassergestalt"
"Travel Form" = "Reisegestalt"

It'd be great to at the following procs as well:

Proc of "Shard of Contempt"
Disdain --> Verachtung

Proc of "Skyguard Silver Cross"
Combat Valor --> Heldenmut

Proc of "Hourglass of the Unraveller"
Rage of the Unraveller --> Zorn des Entwirrers

### #53 Mijae

Mijae

Don Flamenco

• Members
• 443 posts

Posted 18 May 2008 - 09:25 AM

I'm checking different cycles using and came up with the following (100 ms latency).

```Time	Energy	Gain
0.1	8	0	Rip
1.2	60	40	Shift
2.3	18	29	Shred
3.2	38	40	Tick
3.3	3	39	Mangle
4.4	60	85	Shift
5.5	18	74	Shred
6.4	38	85	Tick
6.5	3	84	Mangle
7.6	60	130	Shift
8.7	18	119	Shred
9.6	38	130	Tick
9.7	3	129	Mangle
10.8	60	175	Shift
11.9	18	164	Shred
12.8	38	175	Tick

Where gain is the energy difference over time compared against not shifting.```
Initial numbers are pretty impressive, but I'm sure it would be pretty hard to maintain 4 shifts per cycle. You would probably need to swap for every type of regen buff - , , , Blessing of Wisdom. could help a lot also, but is an even larger loss in stats than . I haven't done the math, but that might not even be enough for a long fight. Alternating in Mangle makes and valid upgrades though.

I made some 2 and 3 shift variants also. Any less and it's probably not worth using.
2 shift (12.4 sec): 1xMangle, 3xShred
3 shift (13.8 sec): 2xMangle, 4xShred
4 shift (13.2 sec): 3xMangle, 4xShred

### #54 ecopsorn

ecopsorn

Glass Joe

• Members
• 21 posts

Posted 18 May 2008 - 10:50 AM

Yesterday on Zul'Jin it happened 2 times that the macro didn't shift me back in catform. Any idea why this could possibly happen, I thought the macro checks the GCD, I can't explain why I was stuck in casterform for a while.

### #55 o_o

o_o

Glass Joe

• Members
• 2 posts

Posted 18 May 2008 - 01:37 PM

I've read most of the megathread and this topic so I think I've grasped the theory behind it.
Now I "need" some tips.
What i usually do is the standard 4-5cp/rip cycle: I start with mangle and shred til 4-5cp then wait full energy -> rip and mangle to start again.

Using the above macroes/addon what I have to change in this cycle?
From what I've understood you seem to "simply" keep mangling/shredding/ripping without waiting for energy regen.
It's correct or I'm in need of a RTFM?

### #56 Tinweasele

Tinweasele

Von Kaiser

• Members
• 48 posts

Posted 18 May 2008 - 02:18 PM

I'm checking different cycles using and came up with the following (100 ms latency).

```Time	Energy	Gain
0.1	8	0	Rip
1.2	60	40	Shift
2.3	18	29	Shred
3.2	38	40	Tick
3.3	3	39	Mangle
4.4	60	85	Shift
5.5	18	74	Shred
6.4	38	85	Tick
6.5	3	84	Mangle
7.6	60	130	Shift
8.7	18	119	Shred
9.6	38	130	Tick
9.7	3	129	Mangle
10.8	60	175	Shift
11.9	18	164	Shred
12.8	38	175	Tick

Where gain is the energy difference over time compared against not shifting.```
Initial numbers are pretty impressive, but I'm sure it would be pretty hard to maintain 4 shifts per cycle. You would probably need to swap for every type of regen buff - , , , Blessing of Wisdom. could help a lot also, but is an even larger loss in stats than . I haven't done the math, but that might not even be enough for a long fight. Alternating in Mangle makes and valid upgrades though.

I made some 2 and 3 shift variants also. Any less and it's probably not worth using.
2 shift (12.4 sec): 1xMangle, 3xShred
3 shift (13.8 sec): 2xMangle, 4xShred
4 shift (13.2 sec): 3xMangle, 4xShred

im trying out the wolfshead helm and honestly throwing in mangles is just a waste of energy. Ive been doing ~1.5-2 shifts a cycle and almost always getting the 5 combo points for rip. basically

rip
mangle
shift shred
shift shred
let energy tick if i get overflow before 12 seconds are up, shred
repeat

keeping in mind that i dont have 4t6. with my current gear setup i noticed ~30-40 increased dps over 5 min runs, compared to my normal t5 equivalent dps set. which is pretty amazing considering i picked up 100-150 when i started powershifting.

### #57 Zeln

Zeln

Mr. Sandman

• Members
• 5329 posts

Posted 18 May 2008 - 03:21 PM

I'm still getting the error that the lib folder is not found. I cannot copy over feralkit into my addons folder until this problem is fixed. Anyone have any suggestions?

If he's updated it to Sink2.0 then my earlier link is for 1.0 and won't fix. You know need to download the Sink 2.0 library.

### #58 arliÃ¨n

arliÃ¨n

Glass Joe

• Members
• 3 posts

Posted 18 May 2008 - 04:27 PM

I've been looking at the discussion about the new macro, and been wondering why there isn't one with Ferocious bite in it. If you powershift almost constantly, wouldn't that mean you got way more combo-points to spent than you can only on rip?
you could alter you're spec so you have Feral Aggression, and maybe even put in Intensity if you have mana problems. It does mean you loose some defensive talents though.

### #59 Fukasa

Fukasa

Von Kaiser

• Members
• 60 posts

Posted 18 May 2008 - 04:32 PM

Perhaps its just me being paranoid but continual updates like this to allow further automation may results in a "red flag" so to speak with regards to this functionality. Im pretty certain that Blizz doesnt want you to be able to spam a "smart" macro and have things occur based on the game state (hence the removal of the old decursive or whatever that old pally healing mod was). Thoughts?

Yea I think the work being done in this thread is pretty interesting, I haven't had a chance to test it out myself as I'm still resto for arenas on the weekend. But I have to say a lot of whats being posted sounds too good to be true. I would love to sit down and get all this setup, but I have a feeling that something is going to get changed and not allow this macro to work.

I just hope its the macro'ing part they change and not the powershifting part

### #60 Tinweasele

Tinweasele

Von Kaiser

• Members
• 48 posts

Posted 18 May 2008 - 04:47 PM

I've been looking at the discussion about the new macro, and been wondering why there isn't one with Ferocious bite in it. If you powershift almost constantly, wouldn't that mean you got way more combo-points to spent than you can only on rip?
you could alter you're spec so you have Feral Aggression, and maybe even put in Intensity if you have mana problems. It does mean you loose some defensive talents though.

in order to pull off a 5 point FB and a 5 point rip in 1 rotation, lets say an average of 1.5 combo points per move (50% critrate) that would mean you would have to perform 6 and a half special attacks in 12 seconds, 1 mangle and 5 shreds or 250 energy plus the energy for rip and FB assuming no extra energy goes into FB thats 315 energy per rotation, there is literally no way without TONS of procs to get that much energy in 12 seconds. and if you cant get both a 5 point FB and a 4 or 5 point rip, its better to just go with the rip and let the excess CPs go to waste. It is an all or nothing deal.

#### 0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users