I have made a simple Flurry simulator, it uses a uniform random number generator, and produces really nice results. So I won't need any more help.

I am trying to come up with a formula for calculating my damage output per second on a game which I play, World of Warcraft. But I have no idea where to even start. Let me explain how the particular mechanic I am trying to simulate, Flurry, works:

Let's say you have an axe. With that axe, you hit your foe once every second for 1 damage. So that gives you 1 DPS (=damage per second).

Now here comes the part where it becomes complicated:

Every hit has a 20% chance of being a critical hit, and when it does it will trigger an effect called Flurry, increasing the attack speed of your next 3 attacks by 25%. In addition, a critical hit hits for 200% damage.

Now, I'm not necessarily asking for someone to guide me through solving this entire problem, but at the very least some pointers to useful information would be nice .

EDIT: I am trying to figure out how changing the attack speed of my weapon (1.00 seconds here) and critical hit chance will affect my DPS.

EDIT2: I think I might just resort to simulation, since this is all getting really complicated. I just found out a critical hit can occur during one of the 3 hastened attacks, refreshing the charges.

(English isn't my first language, so the things I say might be a little incoherent)