So I've made a WA that works fairly well, but currently it does something I don't want it to do: it assumes the gcd is part of the actual abilities cooldown.
Code:
dWuflaqijOQfHexIckFIcQmkIQtrQAvOk9ksHMLeYTKGSlKK(fjjgMaogf1YKQONrvjttGCnuj2MuQ6BuvQXrsQZjvH1jLIMhjjDpk0(ifCqQkwOe4HiPMijXfrvTrPk9rujnsPKvkrVKu0mLGs3evQDsk5NuqgkfyPKs9uctLQQRkvLXkbfNvcQSxe)fvXGHdtLflq9yPYKjvUSOnlfFgvmAIYPjYQPGQETuknBHUnj1UP0VrQHlOLlPNtIPJY1PkBxQQ(UeQXJK48uK1lLcZxkv2VAIzIFIqnrOJi0r8ten0wMqQnsIwM5crOtsjm6m5pPcJimSoIOZtHrR2Fsfgr04z7ys0w56VCmgdPMrFwjg1rNIICkHrNPSsr)WOXbfUPTTLYWz1n4AYeHzNKlk1goMeTvU(HrJdZdMS0E5ymgJXyC5ymgJXyeP7CXbFBw5ys7KtAhghCnzgqxCw1o5Kw56VCmgJXymI0DU4GAVAnTm(2SYX0W4OpReZa6IZQCkHrNPSsr)LJXymgJrKUZfhAkemxLv0qtHkEvhtI2w0qtbFRl4yQByCW1KjcZyKAA6Oo6ITYPOzYziu7uKrr)LJXymgJrKUZfh8BjyUkROb)wQ4vDmjABrd(T4BDbhtDdJdUMmrygJutth1rxSvof(ujmJJwUQAk6VCmgJXymUCmgJXymI0DU4iyNsw0iKwPaVMMIg2KtbEnndJJ(SsmFymxxBnGU4SkNsy0zkRu0F5ymgJXyeP7CXH2Pl6JbdJJGDk5qJJqALc8AAgACytof410C5ymgJXyeP7CXb3T4wYQIbIHXH5EyoOEOk(IQ(kWLJXymgJrKUZfh8Psyg5wY2kDXHXrdDvTJjNIHr1gkfj33dEhYnp4Di38G3H5bVd5C3IBjRkgigACeyW7qo3T4wYQIbIHQ0t96hACix70f9XGHQmmhK(rHgM1RxV(lhJXymgJlhJXymgJiDNlo6tj53AyC0NvI1kDrMmUDuroLWOZuwPOFuObFQeMrULSTsx8YXymgJX4YXymgJXqQzOPqWCv2qdJadNv3qtHkEvhtI2o0GXH5btwAVCmgJXymgJXis35IdQvr7uTtYkz5mmoKRPqWCv2qJdnfQ4vDmjAR(rHgCnz(LuNY1F5ymgJXymgJrKUZfhuRsV0v1o2W4OHUQ2XKtXWOQ5gkfjNAv0ov7KSswo61F5ymgJXymgJrKUZfh8TzLJjdz9PFNuCyCqTxTMwgFBw5yAOXHC(2SYXK2jN0o4DqTkANQDswjlh9xogJXymgJXyC5ymgJXymgJHuZGVnRCmziRp97KIdnyCO6adNv3qEFwjwR0fzYKtjm6mLvk6hQQXrFkj)w6hoRUb)wQ4vDmjA7qvnompgmzP9YXymgJXymgJAY8Q2bL2110eiqV9giaV8o4xymGFHD0YhT5EWlVTRszKrL8YXymgJXymgJXymKAg8TzLJjdz9PFNuCObJdvhyWKL2XLJXymgJXymgJXymgJrnzEv7GsPl4rBkF0MYPC5ymgJXymgJXymgPv3LJXymgJXymgPv3LJXymgJXymgxogJXymgJXyi1m4BZkhtgY6t)oP4qvhQoWGjlTxogJXymgJXymgJrnzEv7GIM856qWTpIwd5uguLQdQvPx6QAhBqvQoOONYLJXymgJXymgPv3LJXymgJXymgxogJXymgPv3LJXymgJrnzEv7Gs76AA6T3abceGxEhAYNRdb3(iAn4L32vPC5ymgPv3LJXyutMx1oOu4O9mC1CyPzd3qnTTTfn4KSbThRWt5Y0QJi8SSQehozL4Ni68uy0QjccJiQjhjARFtHjrWsQWicdVNctQXerqnFT8ZxBIqjJngqlzzeb181YpFTjcwvIdNSs8teEkjpQDSozPoT9SjjyIiKU4SYmfMeT8fr4PK84zLyKcicpLKNq6IZkZuyscMiucZyulN6KOvaIGzkmjcfMJ5PqeEkjpYsxKjJemr4zZ(tlJiCEmAIOZtHrRMhMPWKiuyoMNcreM1U0YKLUitgreGiY(tlJimGU4SseYsxKjJh6WS6y0vIqdgjIopfgTAIGi8usEucZyulN6KuarilDrMmIiarO4fC2FAzcVMgjQqe8qTpc)8i6JAQ5leerNSSRTeHxOohljcpLKNWS2LwMS0fzYifqeHzTlTmzPlYKXdDywDm6krObJegryYqnnkjJOLVcqeflPJjJ0RQ5I5GAV523dFB23CHlCPNbinfkO2teoRKAhtI2s8tekmxLr8temtHjrewtLKreH1ujzerJtxsyeHANKL4NicRPsYicxmuMZaVOssyerJKvsrgXprWmfMerynvsgrewtLKrenoDjHryeH1tT)QehozvHOLzIqwkXrgJ0RQdkOG6PV5saFB2Cp9vqCP9KMcfupicjDeHMjNHqTtrgrePD6i(jcpLKNUOtrHuaruPJjXprO2lYKi(jmcJi8usEucZosbeHNsYthT6GDmsbeHsy2r8tekswoXKOLzcJi6IoffIFIqrYYjMeb3gslnjmcJWicfIOQAZer)eTmhK5aegHa
The basic design is this to determine how much energy I will have at the time KS CD expires. If expected energy is >= 80 then determine if it's more beneficial to use Expel Harm or Jab, else report Keg Smash and the remaining CD duration. The logic behind Expel Harm or Jab is based on Expel Harm's non-crit heal value, if it will not overheal it advises to use it over Jab, else Jab.
My issue is that the portion of the WA that reports the CD remaining on KS before using it again factors in the GCD rather than solely using the CD of the ability, and I'd like to remove that. Any ideas?
Ignore the whole "if UnitClass("player") == "Monk" and GetSpecialization() == 1 then" portion of the weak aura, that was just being used to test something a while ago and I never got around to removing it.
edit: The WA also will flash very fast if the energy regen is between 79 and 80. Is there a way to prioritize which one is shown in cases like that?