Posted by: innerfire | November 11, 2006

2.0 and new LUA

So… Burning Crusade will bring in a new LUA 5.1, which includes a lot of changes. Some are good, some are bothersome. Iriel, infamous UI and Macros forum MVP explains here what the hell is going on, but I’ll highlight a few neat things. Because, well, I love mods, and I want to try and explain in layman’s terms what the changes are going to effect, if they seem confusing.

The protected code mechanism introduced in 1.10 has been extended to cover more functions. Blizzard code is considered secure, all other code is untrusted. The following function types are restricted for AddOns:
* Movement is never allowed.
* Spell casting and targetting (including focus) are only allowed using secure templates or special slash commands (not /script).
* Programatic modification of macros, key bindings, and the action bar page only allowed outside of combat.
* Trading, placing auction bids, querying LFG, and reloading the UI are only allowed interactively.
* Action buttons and targeting frames are now “protected”. Protected frames cannot be programmatically moved, shown or hidden, or have their attributes (unit, action, etc) changed during combat.

Fairly self-explainatory. You can’t use addons or macros to move, you can’t use /script to cast (which won’t really affect many macros: most use the slash functions available in-game. It won’t affect the Whisper Target script either). You can’t change your macros, keykindings, or action bar unless you’re outside of combat; doesn’t make sense to me; it’ll certainly make swapping spells irritating, but I guess you just need to prepare in advance. All it really does is keep me from writing macros while in Molten Core. There’s a mod that I noticed in Cyberdemon’s PvP videos that makes the healthstone icon grow as you go down on health. That won’t be allowed anymore.

Slash Commands
The following new slash commands will be available:
* Items and equipment: /use <itemname>, /use <slot>, /use <bagid> <bagslot>, /equip <itemname>, /equipslot <slot> <itemname>, /randomuse <item1>, <item2>, <item3> will attempt to use a randomly selected one of the specified items
* Casting: /stopcasting will cancel the spell that is currently being cast, /randomcast <spell1>, <spell2>, <spell3> will attempt to cast a randomly selected one of the specified spells
* /target, /focus, and /startattack take all valid unit ids as well as entity names. Where applicable they default to target if no unit is specified.

Those are the ones I’m interested in. There’s more slash commands. But it’ll certainly make all those “use bandages, use potions, feed pet” etc macros a hell of a lot shorter.

Spell Casting
* When casting a ranked buff spell that’s too high a level for a friendly target the game will automatically use the highest appropriate rank of the spell instead.

A lot of the rest don’t affect normal, every day people, just folks who actually write the macros. They deal with new functions available to replace extremely long, complex (and often buggy) code with shorter stuff that does the same thing. However:

Trading, placing auction bids, querying LFG, and reloading the UI are only allowed interactively.

ie; A few PvP mods that “scan” the area for friendly and enemy units will be kaput, and the “conjuration” mods that auto-create and auto-trade will be less automated. If you look at a few of the “queueable” tradeskill mods (Craft-o-matic, ATSW) you have to push a button whenever you move to the next item in queue; this will likely be the “fix” for waterboy mods.

In other news, I still have no money. :D My account expires the beginning of December. I am, however, enjoying my groceries.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


%d bloggers like this: