Did you ever wonder what keeps you from developing an addon that completely automates your game? Well, such an addon would break the EULA, and you don't want to do that because you don't want to lose your World of Warcraft account. But what keeps you technically from developing such an addon?
The whole UI is written in Lua and XML, so there are functions that allow you to move your character and to cast spells. For example, there is the function
CastSpellByName("name"), which allows you to cast a spell. But try to do this with a simple spell like Attack:
You will ...