1. So i'm basically looking for an addon programmer to either give me advice on how to make a macro like this or an addon programmer to try and take on this task of making this addon. If any programmers are willing to make this addon for me i'd be willing to pay them around $50 possibly even more. Below is the basic idea of the addon i just have no clue how to put this into scripting language.

    Based on a priority (top to bottom) and based on requirements

    If Imp is not out, cast Summon Imp

    If Fel Armor isn't on, cast Fel Armor

    If Dark intent isn't on, cast Dark Intent

    If Soul Link isn't on, cast Soul Link

    If Curse of the Elements isn't on, Cast CotE

    If Rocket Barrage isn't on CD, cast Rocket Barrage

    If Soulburn isn't on CD, cast Soulburn

    If Demon Soul isn't on CD, cast Demon Soul

    If Immolate is at 1 second, cast Fel Flame. If Immolate isn't on ignore this.

    If Improved Soul Fire isn't on, cast Soul Fire

    If Improved Shadow Bolt isn't on, cast Shadow Bolt

    If Summon Doomguard isn't on CD, cast Summon Doomguard

    If Bane of Doom isn't on, cast BoD

    If Immolate isn't on, cast Immolate

    If Corruption isn't on, cast Corruption

    If Conflagrate isn't on CD, cast Conflagrate

    If Chaos Bolt isn't on CD, cast Chaos Bolt

    Cast Incinerate

    Thanks to anyone who wants to help

    What you want cannot be done. Blizzard has written an addon system that allows us to create 'smart players' but not 'smart buttons'.

    To be precise, you can do anything you want, although its difficult, outside of combat. As soon as you want to do any of it during combat, you're instantly limited to making the exact same 'decisions' you can make using the macro system already.

    Hy!

    Well, I'm not sure it's even possible. Macros can't determine if a spell is on CD or a debuff is on the target or not. Addons can watch CD's and debuffs, but they can't cast spells.

    Creating an addon like this would play for you (instead of you), and that's what Blizzard doesn't want to be possible.