The Hypothesis:
The Hypothesis is this. Moonfire does not scale as well as Starfire or Wrath, and that the DPET (Damage per Execute Time) of an unextended Moonfire is less then that of an Eclipsed Starfire or Wrath. Therefore, Moonfire should not be cast while Eclipse is active if you cannot guarantee Moonfire will be extended. In short, you should cast Moonfire during Solar Eclipse.
Important Note: This hypothesis only applies to people with the 4T10 tier set. If you have the 2T9 set bonus or a lower level of gear, this discussion does not currently apply to your situation.
The Assumptions:
- Once again I am using myself as an example. My calculations will use 4263 Spell Power, 33.13% Haste without NG, 60.5% SF crit chance, 57.5% Wrath crit chance, and 63.5% MF crit chance. The only exception to this rule is that I assume I have the 4T10 set bonus.
- I am also assume the use of Glyph of Moonfire and the Glyph of Starfire.
- I am also using my talent spec for the calculations, and I assume full raid buffs.
- In the SimulationCraft, I use myself again. The only change I make is to upgrade my Helm and my Legs to the 264 tier 10 pieces.
First lets calculate the execute times of Wrath and Moonfire. This isn't hugely necessary for the calculations because they are the same number, but I like to be as accurate as possible. As I said above, I have 33.13% haste without Nature's Grace. To calculate the uptime of Nature's Grace I will use Wrath's crit chance of 57.5%
NG Uptime = (1-(1-0.575)^3) = 92.32%
Execute time with NG = 1.5/(1.3313*1.2) = 0.9389, therefore 1 second
Execute time without NG = 1.5/1.3313 = 1.1267 seconds
Avg Execute Time = (1*0.9232)+(1.1267*(1-0.9232)) = 1.0097 seconds
Now lets calculate the damage of the average Wrath cast with Eclipse. I will calculate this number with and without the 4T10 set bonus.
Avg Non Crit Wrath = (592+(0.6714*4263))*(1.53*1.13*1.04*1.03*1.03) = 6589 Damage
Avg Wrath with 4T10 = 6589 + (1.2363*6589*0.575) = 11273 Damage
Wrath DPET with 4T10 = 11273 / 1.0097 = 11165 DPET
Finally lets look at the average damage of a Moonfire for all levels of extension. These calculations do not include the 2T9 set bonus.
Avg Non Crit MF DD = (441+(0.1495*4263))*(0.3*1.13*1.04*1.03*1.03) = 403 Damage
Avg MF DD with 4T10 = 403 + (1.2363*403*0.635) = 719 Damage
Avg MF DoT Tick = (200 + (0.1302*4263))*(1.95*1.13*1.04*1.03*1.03) = 1836 Damage
Avg DPET 5 tick MF = (719+(1836*5))/1.0097 = 9804 DPET
Avg DPET 6 tick MF = (719+(1836*6))/1.0097 = 11622 DPET
Avg DPET 7 tick MF = (719+(1836*7))/1.0097 = 13441 DPET
Avg DPET 8 tick MF = (719+(1836*8))/1.0097 = 15259 DPET
As you can see the DPET of an unextended Moonfire is just 9804 DPET. That is less then an Eclipsed Wrath with an average DPET of 11165. However, extending Moonfire by just one tick increases the DPET of Moonfire to 11622 DPET. Therefore, it is possible to increase your DPS by skipping Moonfire during Solar Eclipse if you don't think you will be casting Starfire in the next 15 seconds.
SimulationCraft Results:
I decided to ask this question to SimulationCraft as well. In this test I ran the simulation two different ways. I first ran it with the default rotation where Moonfire is refreshed when it drops off of the mob. In the second simulation, Moonfire is only refreshed if it is not ticking on the boss and Solar Eclipse is not up.
In the first simulation where Moonfire is refreshed whenever it falls off of the mob the total DPS for the simulation was 9497 DPS. In the second simulation where Moonfire was not refreshed during Solar Eclipse the total DPS was 9512.
As you can see, not casting Moonfire did increase the DPS, but it was just a 0.16% increase. I did run several other simulations were moonfire was only skipped if there was a lot of time left on Solar Eclipse, but none of them increased the DPS of the rotation.
TL-DR:
If you have the 4T10 set bonus, it is possible for a moonkin to increase their DPS by skipping Moonfire during Solar Eclipse. However, the increase is very small, hard to judge, and may not be worth the effort. Moonfire should always be refreshed if Lunar Eclipse is up or neither Eclipse is up.