public enum RoutineStates //Good here with a few changes { CombatPrep, //this will be fine, waltz may or may not implemet it this way tho. Pulling, //fine SingleTargetCombat,//fine DoubleTargetCombat,//fine MultiTargetCombat, //fine Buffing //this however will be an issue, for now walz will not support this, any //buffing you want to do will probably be implemented some other way } public enum CombatPrepStates { CheckingHealth, //managed in waltz, unless you have some special reason CheckingManagem, //good CheckingBuffs, //also managed in waltz, just not sure how it'll be handled yet PreCombatWards //this is good, but waltz won't directly support it more than likely. However that's not for sure yet. } public enum PullingStates { Advancing, //this better only mean moving into range, also don't use pathto in combat unless moving a decent //distance. Use moveto. CheckingMobCount, //actually this is passed to the routine from waltz more than likely. but if you mean check to see if we //SHOULD pull that's fine. Casting //yay. } public enum SingleTargetCombat { Nuking, //good CrowdControl, //this should never happen, if by CC you mean poly. Fleeing //all you'll do to flee is set a flag. allow for at least .5 seconds to get fleeing info, as a "pre //flee" have it run directly away from enemies. maybe cast manashild } public enum DoubleTargetCombat { Nuking, //the target priority list will help you determine which target to kill CrowdControl, //this should focus on keeping the lower priority target sheeped. Fleeing //see above } public enum MultiTargetCombat { AoENuking, //nice... very nice... we also have a getbestaoepoint function :-) CrowdControl, //doubt you'll need alot in here... Fleeing //blah } public enum BuffStates { CheckMana, //that's fine CheckBuffs, //fine CastBuffs //good... just remember this isn't implemented so manually call buffing prior to combat prep for now. }