It's an interesting design choice by Blizzard, another way for them to have implemented this would have simply been to make action button events opaque i.e they can be subscribed/unsubscribed out of combat. Dragging and dropping spell on to an action bar would subscribe the button to that spell. Once in combat, you can't change it, a sort of ( you take in the tools you think you'll need and if it doesn't work you have to come out and try again approach ) That way spell casting functions would be limited to action buttons and they could prevent user code from calling them completely.
|