The in game macro system was not designed to allow you to script a class, and does not allow for conditional affects.
The best you could do is not have enough MP for fire 3... and have your macro be
This would always attempt to cast fire 3 first, and would fall back on casting Fire, if for any reason you couldn't cast fire 3 (lack of MP)Code:/ac "Fire III" <t> /ac "Fire" <t>