I see this thread, but I haven't looked into it yet, nor have I hacked ruthlessness into the SimC code. I'd probably, just as a quick change, implement it into the relentless strikes function to avoid rewriting a lot of code--at least if a cursory view is your goal.
A quick way to implement ruthlessness would be to open sc_rogue.cpp file, go to line 588 and change:
Code:
if ( p -> rng.relentless_strikes -> roll( chance * td -> combo_points.count ) )
{
double gain = p -> spell.relentless_strikes -> effectN( 1 ).trigger() -> effectN( 1 ).resource( RESOURCE_ENERGY );
p -> resource_gain( RESOURCE_ENERGY, gain, p -> gains.relentless_strikes );
}
to
Code:
if ( p -> rng.relentless_strikes -> roll( chance * td -> combo_points.count ) )
{
double gain = p -> spell.relentless_strikes -> effectN( 1 ).trigger() -> effectN( 1 ).resource( RESOURCE_ENERGY );
p -> resource_gain( RESOURCE_ENERGY, gain, p -> gains.relentless_strikes );
if ( p() -> specialization() == ROGUE_COMBAT )
{
td -> combo_points.add( 1, "Ruthlessness" );
}
}
or something like that. It's a quick hack, but should work since the logic on ruthlessness is more or less the same as relentless strikes (20% per combo point, works on all finishers).
Edit: Upon reflection, I'm not sure if this would work so well since it looks like this is actually adding the ruthlessness combo point before consuming the combo points from the finisher. You might need to in fact create a simple ruthlessness function and call that function in each finisher's routine.