Hey again.
I still haven't had the chance to play with my gunslinger, since he isn't level 55 yet

However, I decided to look at the code and I found some differences between DirtyFighting and Lethality in the latest revision. I don't know if they are intended, just slipped or do not matter, but I would like to point them out.
1. On Lethality, the Balistic Shield cd is commented, while the DF's Scrambling Field is uncommented.
2. Some abilities require Cover to work according to noxxxic, but they do not have ret => Me.IsInCover() on their line. These are Sabotage Charge/Explosive Probe and it is missing from Speed Shot, while Series of Shots has it.
3. Unless I missed it, only Lethality has Crouch in it's code.
4. Shouldn't crouch be higher? Sabotage Charge/ Explosive Probe require Cover and are high on our priority, so if someone does not manually use his cover skill, they will be skipped, right?
Now some notes / questions about the rotation. I actually have not played with this rotation, so I do not know if I rise valid points or not.
5. Without any kind of knowledge about how PrioritySelector works, I assume that if the conditions of one line apply, it keeps spamming the same skill until the conditions are not met. However it could also mean that it reads the line, checks the condition, executes it and then moves to the next one until the end, where it returns to the beginning, like an actual rotation.
If it isn't like a rotation, and may repeat one line many times, Shock Charge, Shrap Bomb and Vital Shot are a waste of energy if cast repeatedly. Still, I think it works like a rotation, so this point shouldn't be valid.
6. Even if the above is not valid, still when it completes a full rotation and reaches these dot spells, the debuffs should be nowhere near close to expiring. So, how can we track our individual debuffs? I saw the conversation with websyphen85 and I looked at your code, you have (what I can guess) a delay in msecs, which is one solution. Should this be applied to the Gunslinger DF code as well?
edit:
7. Also, is it possible to add a button override (or Hotkey) on HandleSingleTarget mainly for the interrupt? For example, let's say we place Sentinel's Force Kick (or any Interrupt) on number 1. The normal PrioritySelector would keep playing, but if we hold 1 (customizable hotkey) , only SpellCast("Force Kick") would be called. I am not familiar with the call for keypresses and hotkeys.
edit2:
8. Seeing how Scoundrel Sawbones rotation goes, I believe a PvP rotation should be created ( for any healer actually). The difference between good and bad healers are the dispells. I have seen many bad healers let Watchmen Sentinel ramp up to their fullest and good healers dispelling their DoTs to the point of making them cry ( not the smash monkey tree, but if left undispelled can still do great damage). So, the Spell.Dispell should be higher for pvp reasons imo.