WoW BlueTracker Home | RSS | News | Contact
Recent | Search | Archive | CS Posts
Poster: Iriel at 2006-10-23 10:02:41
Subject: 2.0 Changes - Concise List (New)
  
This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the Burning Crusade expansion (2.0) release. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes, or things which we've been asked to remind slouken of.

IMPORTANT: Off-topic or entirely redundant posts are liable to get deleted. It is however in everyone's best interest to not post them in the first place - We'd rather slouken could spend his time coding us cool things than moderating this thread!

WoW 2.0 represents a major change in the UI code, and as such ALL AddOns will need to be updated before they will work, if for no other reason than the Lua 5.0 to Lua 5.1 changes. Some AddOns will be more seriously affected, and a few will have to be redesigned.

Interface AddOn Kit
The WoW 2.0 *BETA* Interface AddOn Kit is now available for download here (For use with the Beta only):
http://www.worldofwarcraft.com/downloads/expansion-bc/addonkit.zip

Significant Changes
The expansion will be using Lua version 5.1.1, which provides a number of useful features, most notably incremental garbage collection and memory-efficient variable arguments. There ARE some incompatible changes with Lua 5.0 and authors are advised to familiarize themselves with http://www.lua.org/manual/5.1
* There is a new unit "focus" which behaves like target, the "PLAYER_FOCUS_CHANGED" event is fired when it is changed, and you receive unit events for this unit.

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 is allowed outside of combat when initiated interactively. In combat it requires use of the secure templates.
* Targeting is allowed only using secure templates.
* Programatic modification of macros, key bindings, and the action bar page only allowed outside of combat.
* Trading and reloading the UI 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.

In addition:
* Script handlers defined in SecureXML templates remain secure when they are inherited, unless overridden by AddOn code.
* The parent of a protected frame is implicitly protected also, as are any frames which it is anchored to.

Lua environment
* The Lua coroutine library is now available - Coroutines create a new Lua state and should be used sparingly to conserve memory.

Slash Commands
The following new slash commands will be available:
* Targeting: /targetlasttarget
* Items and equipment: /use <itemname>, /use <slot>, /use <bagid> <bagslot>, /equip <itemname>, /equipslot <slot> <itemname>
* Pet control: /petattack, /petfollow, /petstay, /petpassive, /petdefensive, /petaggressive
* Casting: /stopcasting will cancel the spell that is currently being cast
* Action bar: /changeactionbar <num> and /swapactionbar <num1> <num2>
* Attacking: /startattack [unit], /stopattack
* Buffs/Auras: /cancelaura name - cancels an aura as if it were right clicked
* /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.
* In WoW 2.0, feeding your pet, poisons, etc. will be even easier to macro: /cast Feed Pet then /use Dry Pork Ribs. You will also be able to click on food in your action bar when you are targeting Feed Pet and other item targeting spells.

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.

(continued...)


UI and Macros Forum MVP - Understand GC!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#0
 
Poster: Slouken at 2006-10-23 11:54:58
Subject: Re: 2.0 Changes - Concise List (New)
  
Just a reminder, this thread is for technical discussion only. Posts which contain off topic material will be deleted.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#11
Poster: Slouken at 2006-10-23 12:44:22
Subject: Re: 2.0 Changes - Concise List (New)
  
Added MODIFIER_STATE_CHANGED event.
event = MODIFIER_STATE_CHANGED
arg1 = SHIFT or CTRL or ALT
arg2 = 1 for down, 0 for up

The state headers can be driven by modifier key state changes.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#13
Poster: Slouken at 2006-10-23 17:25:07
Subject: Re: 2.0 Changes - Concise List (New)
  
Added a key binding option for "Target Last Target"

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#16
Poster: Slouken at 2006-10-23 20:57:34
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
I'm not getting the second argument for ADDON_ACTION_FORBIDDEN, just the addon name. This only happens when using a macro with /target <name> in the macro.


It's not in yet, it should be in the next beta update.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=2&sid=1#22
Poster: Slouken at 2006-10-23 20:58:45
Subject: Re: 2.0 Changes - Concise List (New)
  
Added "AnyDown" and "AnyUp" to Button:RegisterForClicks()

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=2&sid=1#23
Poster: Slouken at 2006-10-23 21:00:01
Subject: Re: 2.0 Changes - Concise List (New)
  
The function prototype for PreClick, OnClick, and PostClick has been changed to:
function(self, button, down)
where 'down' is true if it's a button down click and false for a button up click.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=2&sid=1#24
Poster: Slouken at 2006-10-24 01:22:40
Subject: Re: 2.0 Changes - Concise List (New)
  
Just a reminder, this thread is for technical discussion only. Posts which contain off topic material will be deleted.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=2&sid=1#27
Poster: Slouken at 2006-10-25 09:09:58
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

I thought coroutines shared the global table and the lua state of their creator? Is this different from "normal" lua? If they don't share the global table, it will make it more difficult to share iterative results from a coroutine with other lua code.


No, it's the standard Lua coroutines. They share the same global table (at least by default), but the context to run them is a completely separate lua_State object. See your friendly Lua source code for details. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=3&sid=1#44
Poster: Slouken at 2006-10-25 09:14:08
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
In regarding to the buff / debuff functions can we have these functions slightly modified to return the unitid of the one who casted the spell ?



I agree this would be spiffy, but the client doesn't have this information.


Q u o t e:

UNIT_SPELL_FAILED
arg1 - "player", "pet"
arg2 - spell name
arg3 - spell rank
arg4 - "DODGE", "BLOCK", "IMMUNE", "RESIST" etc ...



Again, the client doesn't have this information, in fact at the time the spell failed there is never any targeting information available.


Q u o t e:

One more thing, can you make it so UNIT_SPELLCAST_SUCCEEDED and UNIT_SPELLCAST_SENT arg1 will accept "player" or "pet" ?



No, pet spell casting is initiated on your behalf by the pet AI on the server, so the sent and succeeded messages are not applicable.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=3&sid=1#45
Poster: Slouken at 2006-10-28 11:31:49
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Now here is the problem. If a button that is dynamically bound to a key based on states and performs an action via key-press of the bound key, the act of pressing the key treats the key-press as if it is a LeftButton click from the mouse, and thus has the potentially of starting a drag action on the button from the key-press only.



This is fixed for 2.0.0, thanks!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=4&sid=1#62
Poster: Slouken at 2006-10-28 11:33:46
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
I assume that as long as StartMoving can only be called in response to a mouse click then it couldn't be abused to allow automated repositioning.


Actually, it can. I leave the exploit as an exercise for the reader. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=4&sid=1#63
Poster: Slouken at 2006-10-28 13:17:55
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Could we get Frame:StartMoving modified to take the initial mouseDown position as a parameter so that dragging works properly? It needs the initial click location in order to avoid having the dragged object lag behind the cursor, which is what the current drag mechanism does.


I fixed it so it uses the initial mouse down position for dragging frames, thanks!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=4&sid=1#64
Poster: Slouken at 2006-10-30 09:27:02
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
A large part of the reason why I use flexbar is it's ability to keybind... well, anything. Spells, macros, items, the works.

Likewise, with SetBindingSpell(), the HUGE majority of what I need flexbar to do is, well, gone. But, problem is, I'm still left with my items and macros which need keybound.



Good point, this is on my TODO list, thanks!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=4&sid=1#73
Poster: Slouken at 2006-10-30 18:16:24
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for 2.0.0:
SetBindingItem("KEY", "itemname")
SetBindingMacro("KEY", "macroname"|macroid)
SetOverrideBindingItem(owner, isPriority, "KEY", "itemname")
SetOverrideBindingMacro(owner, isPriority, "KEY", "macroname"|macroid)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=4&sid=1#74
Poster: Iriel at 2006-10-23 09:02:41
Subject: 2.0 Changes - Concise List (New)
  
This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the Burning Crusade expansion (2.0) release. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes, or things which we've been asked to remind slouken of.

IMPORTANT: Off-topic or entirely redundant posts are liable to get deleted. It is however in everyone's best interest to not post them in the first place - We'd rather slouken could spend his time coding us cool things than moderating this thread!

WoW 2.0 represents a major change in the UI code, and as such ALL AddOns will need to be updated before they will work, if for no other reason than the Lua 5.0 to Lua 5.1 changes. Some AddOns will be more seriously affected, and a few will have to be redesigned.

Interface AddOn Kit
The WoW 2.0 *BETA* Interface AddOn Kit is now available for download here (For use with the Beta only):
http://www.worldofwarcraft.com/downloads/expansion-bc/addonkit.zip

Significant Changes
The expansion will be using Lua version 5.1.1, which provides a number of useful features, most notably incremental garbage collection and memory-efficient variable arguments. There ARE some incompatible changes with Lua 5.0 and authors are advised to familiarize themselves with http://www.lua.org/manual/5.1
* There is a new unit "focus" which behaves like target, the "PLAYER_FOCUS_CHANGED" event is fired when it is changed, and you receive unit events for this unit.

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) is allowed outside of combat when initiated interactively. In combat it requires use of the secure templates.
* Programatic modification of macros, key bindings, and the action bar page only allowed outside of combat.
* Trading and reloading the UI 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.

In addition:
* Script handlers defined in SecureXML templates remain secure when they are inherited, unless overridden by AddOn code.
* The parent of a protected frame is implicitly protected also, as are any frames which it is anchored to.

Lua environment
* The Lua coroutine library is now available - Coroutines create a new Lua state and should be used sparingly to conserve memory.

Slash Commands
The following new slash commands will be available:
* Targeting: /targetlasttarget
* Items and equipment: /use <itemname>, /use <slot>, /use <bagid> <bagslot>, /equip <itemname>, /equipslot <slot> <itemname>
* Pet control: /petattack, /petfollow, /petstay, /petpassive, /petdefensive, /petaggressive
* Casting: /stopcasting will cancel the spell that is currently being cast
* Action bar: /changeactionbar <num> and /swapactionbar <num1> <num2>
* Attacking: /startattack [unit], /stopattack
* Buffs/Auras: /cancelaura name - cancels an aura as if it were right clicked
* /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.
* In WoW 2.0, feeding your pet, poisons, etc. will be even easier to macro: /cast Feed Pet then /use Dry Pork Ribs. You will also be able to click on food in your action bar when you are targeting Feed Pet and other item targeting spells.

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.

(continued...)

[ Post edited by Iriel ]



UI and Macros Forum MVP - Understand GC!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#0
 
Poster: Slouken at 2006-10-31 12:56:27
Subject: Re: 2.0 Changes - Concise List (New)
  
Iriel, can you update the main post? Targeting and setting focus is now allowed outside of combat, with the same restrictions as spell casting.

Thanks!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=4&sid=1#77
Poster: Slouken at 2006-10-31 19:12:45
Subject: Re: 2.0 Changes - Concise List (New)
  

Yes, they will.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=5&sid=1#83
Poster: Slouken at 2006-11-01 20:43:23
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Will that work for druid forms too? I use an add-on that doesn't let me accidently shift out after I just shifted in due to lag while spamming the shifting button.


Yes, it will.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=5&sid=1#93
Poster: Slouken at 2006-11-02 08:13:43
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
On the flip side, can this delay be turned off in the options or via a mod? Say a druid is trying to quickly change forms to run from something or someone, we don't need another X-number a seconds on top of the globel cooldown to stop us from shifting.


The delay was actually picked to match the global cooldown, so it shouldn't be a problem.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=5&sid=1#95
Poster: Slouken at 2006-11-02 11:49:58
Subject: Re: 2.0 Changes - Concise List (New)
  
Iriel, can you add something like this to the 2.0 changes?
* Toggleable abilities will have a 1.5 second delay after being cast before they can be cancelled by clicking on them, to prevent accidentally canceling them. You can still right click a buff to cancel it anytime.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=5&sid=1#98
Poster: Slouken at 2006-11-02 11:51:03
Subject: Re: 2.0 Changes - Concise List (New)
  
Also in 2.0 you will be able to set up protected attributes in XML:

<Frame>
<Attributes>
<Attribute name="foo" type="nil|boolean|number|string" value="bar"/>
...
</Attributes>
</Frame>


  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=5&sid=1#99
Poster: Iriel at 2006-10-23 09:02:41
Subject: 2.0 Changes - Concise List (New)
  
This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the Burning Crusade expansion (2.0) release. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes, or things which we've been asked to remind slouken of.

IMPORTANT: Off-topic or entirely redundant posts are liable to get deleted. It is however in everyone's best interest to not post them in the first place - We'd rather slouken could spend his time coding us cool things than moderating this thread!

WoW 2.0 represents a major change in the UI code, and as such ALL AddOns will need to be updated before they will work, if for no other reason than the Lua 5.0 to Lua 5.1 changes. Some AddOns will be more seriously affected, and a few will have to be redesigned.

Interface AddOn Kit
The WoW 2.0 *BETA* Interface AddOn Kit is now available for download here (For use with the Beta only):
http://www.worldofwarcraft.com/downloads/expansion-bc/addonkit.zip

Significant Changes
The expansion will be using Lua version 5.1.1, which provides a number of useful features, most notably incremental garbage collection and memory-efficient variable arguments. There ARE some incompatible changes with Lua 5.0 and authors are advised to familiarize themselves with http://www.lua.org/manual/5.1
* There is a new unit "focus" which behaves like target, the "PLAYER_FOCUS_CHANGED" event is fired when it is changed, and you receive unit events for this unit.

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) is allowed outside of combat when initiated interactively. In combat it requires use of the secure templates.
* Programatic modification of macros, key bindings, and the action bar page only allowed outside of combat.
* Trading and reloading the UI 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.

In addition:
* Script handlers defined in SecureXML templates remain secure when they are inherited, unless overridden by AddOn code.
* The parent of a protected frame is implicitly protected also, as are any frames which it is anchored to.

Lua environment
* The Lua coroutine library is now available - Coroutines create a new Lua state and should be used sparingly to conserve memory.

Slash Commands
The following new slash commands will be available:
* Targeting: /targetlasttarget
* Items and equipment: /use <itemname>, /use <slot>, /use <bagid> <bagslot>, /equip <itemname>, /equipslot <slot> <itemname>
* Pet control: /petattack, /petfollow, /petstay, /petpassive, /petdefensive, /petaggressive
* Casting: /stopcasting will cancel the spell that is currently being cast
* Action bar: /changeactionbar <num> and /swapactionbar <num1> <num2>
* Attacking: /startattack [unit], /stopattack
* Buffs/Auras: /cancelaura name - cancels an aura as if it were right clicked
* /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.
* In WoW 2.0, feeding your pet, poisons, etc. will be even easier to macro: /cast Feed Pet then /use Dry Pork Ribs. You will also be able to click on food in your action bar when you are targeting Feed Pet and other item targeting spells.

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.
* Toggleable abilities will have a 1.5 second delay after being cast before they can be cancelled by clicking on them, to prevent accidentally canceling them. You can still right click a buff to cancel it anytime.

(continued...)

[ Post edited by Iriel ]



UI and Macros Forum MVP - Understand GC!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#0
 
Poster: Slouken at 2006-11-02 13:21:00
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
How will AutoAttack be treated in the Expansion?


It will be unchanged, but if you're concerned about accidentally toggling it, you can create macros that use /startattack and /stopattack to start and stop attacking when activated.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=6&sid=1#102
Poster: Slouken at 2006-11-02 13:23:12
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Will this include the Iceblock ability that the mage has?


Yes it will, and again, only during the 1.5 second ability cooldown after the cast.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=6&sid=1#103
Poster: Slouken at 2006-11-02 20:14:21
Subject: Re: 2.0 Changes - Concise List (New)
  
The idea is an interesting one, but isn't going to make 2.0.

Actually, looking at the list you provided:

Q u o t e:

-friendly : Only executes if there is a friendly target. If no target, or the target is hostile, it doesn't execute.
-hostile : Only executes if the target is hostile. If the target is yellow, it doesn't execute.
-player : Only executes if the target is an actual player. Mainly for PVP buttons.
-combat: Only executes if the player is in combat.
-nocombat: Only executes if the player is out of combat.
-norefresh: Only executes if the target does not already have a version of this spell on them.
-mana: Only executes if the target has a mana bar.
-active: Only executes if the ability is 'lit up'.



The only ones that the designers would be okay with would be -friendly and -hostile, and possibly -combat and -nocombat.
The rest are pretty much things you should be watching for, not letting a macro decide for you, and indeed in many cases a smart player would want to override some of the conditions you have listed above, when gauging the situation. It really isn't supposed to be about mashing buttons without thinking...

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=6&sid=1#106
Poster: Slouken at 2006-11-06 12:47:59
Subject: Re: 2.0 Changes - Concise List (New)
  
In the next beta update:
* Spell casting and targeting are allowed using secure templates or special slash commands (not /script).

The full list of restrictions is:
Movement is never allowed.
Spell casting and targeting are allowed using secure templates or special slash commands (not /script).
Programatic modification of macros, key bindings, and the action bar page is allowed outside of combat.
Trading, placing auction bids, querying LFG, and reloading the UI is allowed in response to interaction.

We're also working on some improvements to the /cast and /use commands to allow some of the things in simple macros that are currently only possible with secure state headers.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=7&sid=1#131
Poster: Slouken at 2006-11-06 13:30:02
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Out of that, why can't a secure button be hidden? Not talking moving it around, just hide/show? Would decision making capabilities really benefit from it? Note: This is a curio question more than anything else... I won't learn unless I ask =P


Imagine 40 buttons stacked on top of each other, each one casting a spell on a different raid member. Now imagine an addon choosing which one to show. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=7&sid=1#133
Poster: Slouken at 2006-11-06 20:59:45
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

what about allowing different actions on key press and key release?


You can already do that now, by registering for both mouse up and mouse down clicks on a single button. MovePad 2.0 uses this for the jump button, for example.


  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#141
Poster: Slouken at 2006-11-06 23:59:08
Subject: Re: 2.0 Changes - Concise List (New)
  
Tem and Cogwheel put together a nice set of features for the macro casting system, which we've integrated for 2.0. Thanks guys! :)
This option syntax is available for /cast, /use, and /cancelaura.

And without further ado...

A lot of new features are being added to macro commands. These will allow some of the flexibility of state headers without requiring the use of an entire addon devoted to providing one button to do one "simple" function. There are numerous checks to run the command with different parameters under different circumstances as well as a target option (applicable to spell casting and item use):

help/harm - Choose depending on whether target is assistable or attackable
combat - Choose depending on whether you're in combat or not
stance or stance:# - Choose depending on your stance/shapeshift ("stance" alone matches any stance)
stealth - Choose depending on whether you are stealthed
modifier or modifier:shift|ctrl|alt - Choose depending on any modifier keys you're holding at the time the macro runs
target=unit - Run the command on the specified unit (only applicable to spell casting or item use)

To use this new syntax, put a list of comma-separated options inside brackets before the command's parameters. Multiple option/parameter combinations can be included on the same line, separated by semicolons. They will be processed in order, so if the first set of options don't work, it will "fall through" to the next set.

/command [option] Parameters; [option,option] Other Parameters

Other notes:

"no" can be applied to options to negate the effect. E.g. "nocombat" means "out of combat," "nomodifier:ctrl" means "anything but 'ctrl'"

You can use / to check multiple values. E.g. [modifier:shift/alt] means "either shift or alt." To get the opposite effect, use individual options: [modifier:shift,modifier:alt] means "both shift and alt."

Here are some examples to help you get started:

Always use a bandage on yourself
/use [target=player] Heavy Runecloth Bandage

Simple help/harm macro
/cast [help] Greater Heal; Smite

Ambush/Backstab depending on stealth
/cast [stealth] Ambush; Backstab

Simple toggle between battle & berserker stances
/cast [stance:1] Berserker Stance; Battle Stance

Switch to Dire Bear Form from any stance (at least one, at most two clicks)
/cast [nostance] Dire Bear Form
/cancelaura [stance:2] Aquatic Form; [stance:3] Cat Form; [stance:4] Travel Form; [stance:5] Moonkin Form

Charge/Intercept/Stance switch macro
/cast [nocombat,stance:1] Charge; [nocombat,nostance:1] Battle Stance; [combat,nostance:3] Berserker Stance; Intercept


  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#142
Poster: Slouken at 2006-11-07 00:20:58
Subject: Re: 2.0 Changes - Concise List (New)
  
Added a fast function to trim whitespace from a string:
string = strtrim(string)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#144
Poster: Slouken at 2006-11-07 00:21:33
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Great news Slouken! thanks for the update. :)


My pleasure! Thanks to the community for great suggestions! :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#145
Poster: Slouken at 2006-11-07 00:59:56
Subject: Re: 2.0 Changes - Concise List (New)
  
Thanks! I forgot to mention that those options can also be used with /changeactionbar as well. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#147
Poster: Slouken at 2006-11-07 09:09:50
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Question... The [help] and [harm] conditions... Do they refer to your current 'target', or to the spell's assigned target, based on the [target=] modifier?

/cast [help] Greater Heal; [harm,target=targettarget] Greater Heal



Right now they refer to the target for the spell. You could get the desired behavior like this:
/cast [help] Greater Heal; [help,target=targettarget] Greater Heal

This is actually better, because it'll only cast on targets that you can help.


Q u o t e:

Also, what tooltip, cooldown, and usability info will a button with these macros show?



It will show info for the first spell listed.


Q u o t e:

EDIT: Oh, and Slouken... It's 1AM! Get some rest, man! You deserve it!


Heheh, thanks.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#154
Poster: Slouken at 2006-11-07 09:10:22
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Slouken, thank you. This functionality is everything I suggested and more. You guys went all out!


You're welcome! :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#155
Poster: Slouken at 2006-11-07 09:19:58
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Could it be possible to add a noerror flag.


Nope.
First, it's technically infeasible.
Secondly, the designers are fine with any sequence of actions that follows from player input, even if the sequence itself is predefined by the player, but they don't want macros that react automatically to current game state. Examples of this include time elapsed, player or target health, cooldowns, mana / rage / energy cost, target class, etc. These are all things that the player should be making decisions about, not the macro. Macros which chain together a set of spells using the game error feedback to determine which spell to cast edge over that line and are not supported. The errors are feedback for the player, not for the macro. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#156
Poster: Slouken at 2006-11-07 09:26:56
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Hot damn Slouken, these changes rock!


Thanks!


Q u o t e:

Only other thing I can think of is maybe an equipped option? I ask mainly to help with macros that handle the 4 odd ranged shoot/throw actions.

/cast [equipped:bow] Shoot Bow; [equipped:xbow] Shoot Crossbow; [equipped:gun] Shoot Gun; [equipped:thrown] Throw



Actually in the Burning Crusade, the three warrior/rogue shoot abilities have been combined into one, so this should be much less of an issue now.


Q u o t e:

/cast [equipped:2hand] Mortal Strike;[equipped:1hand] Heroic Strike
/cast [equipped:shield] Shield Slam;[equipped:offhand] Heroic Strike
/cast [stealth,equipped:dagger] Ambush;Sinister Strike



Interesting idea, I'll ask the designers.

Thanks!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#159
Poster: Slouken at 2006-11-07 09:27:57
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
OK, so I have Mark of the Wild Rank 7 in an action slot. In 2.0 when I target someone that is not high enough level to receive that rank of the spell it will automatically cast a lower rank for me. Cool. In the current UI, if I do not have enough mana to cast Rank 7 the action slot dims. I can still click on it, but will get the not enough mana error. What will happen in the 2.0 timeframe when the target would cause let's say rank 4 and I have enough mana to cast rank 4, but not enough to cast rank 7? Will the icon be smart and not dim because the target would only receive a lower rank, but if I selected a level 60 character, the icon would dim because there is not enough mana for rank 7?


No, it's not that smart, sorry. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=9&sid=1#160
Poster: Slouken at 2006-11-07 09:29:21
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Will pally auras and/or seals be detected by [stance] ?


Actually, because they show up on the shapeshift bar, they'll be usable as different stances, even though technically they're not.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=9&sid=1#161
Poster: Slouken at 2006-11-07 00:20:58
Subject: Re: 2.0 Changes - Concise List (New)
  
Added a fast function to trim whitespace from a string:
string = strtrim(string [,"characters"])

Edit: Added optional argument specifying characters to trim.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=8&sid=1#144
Poster: Slouken at 2006-11-07 10:27:26
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:


Q u o t e:

Actually in the Burning Crusade, the three warrior/rogue shoot abilities have been combined into one, so this should be much less of an issue now.



So this is going live in the Burning Crusade and not the next patch?


Yes, that's correct. It will be available to all players when the Burning Crusade launches, not in the upcoming content patch.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=9&sid=1#172
Poster: Slouken at 2006-11-07 10:43:43
Subject: Re: 2.0 Changes - Concise List (New)
  
No, I looked into it and it's not feasible. See my post on the previous page for more details.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=9&sid=1#174
Poster: Slouken at 2006-11-07 10:44:42
Subject: Re: 2.0 Changes - Concise List (New)
  
I also added a [dummy] option for /cast, so macros can choose what spell it shows feedback for.

e.g. /cast [dummy] Overpower


  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=9&sid=1#175
Poster: Slouken at 2006-11-07 11:51:25
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for 2.0:
isEquipped = IsEquippedItemType("type"), where "type" is any legal inventory type, item class, or item subclass.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=10&sid=1#185
Poster: Slouken at 2006-11-07 11:56:23
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Ooooh... does this mean

[equipped:type]?


Maaaybe! :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=10&sid=1#187
Poster: Slouken at 2006-11-07 12:13:57
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

/cast [equipped:2hand] Mortal Strike;[equipped:1hand] Heroic Strike
/cast [equipped:shield] Shield Slam;[equipped:offhand] Heroic Strike
/cast [stealth,equipped:dagger] Ambush;Sinister Strike



This has been approved by the designers and implemented, thanks! :)
The argument to equipped is any valid inventory slot, item class or item subclass.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=10&sid=1#190
Poster: Slouken at 2006-11-07 12:22:19
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

/cast Execute; MortalStrike

So will the code fire off execute if it can then do mortal strike if it fails?



No, there's no conditional option to Execute, so it will always cast. The game does no validation before attempting to cast.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=10&sid=1#193
Poster: Slouken at 2006-11-07 15:12:44
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for 2.0:
/randomcast spell1, spell2, spell3, ...
/randomuse item1, item2, item3, ...

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=11&sid=1#201
Poster: Iriel at 2006-10-23 09:02:41
Subject: 2.0 Changes - Concise List (New)
  
This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the Burning Crusade expansion (2.0) release. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes, or things which we've been asked to remind slouken of.

IMPORTANT: Off-topic or entirely redundant posts are liable to get deleted. It is however in everyone's best interest to not post them in the first place - We'd rather slouken could spend his time coding us cool things than moderating this thread!

WoW 2.0 represents a major change in the UI code, and as such ALL AddOns will need to be updated before they will work, if for no other reason than the Lua 5.0 to Lua 5.1 changes. Some AddOns will be more seriously affected, and a few will have to be redesigned.

Interface AddOn Kit
The WoW 2.0 *BETA* Interface AddOn Kit is now available for download here (For use with the Beta only):
http://www.worldofwarcraft.com/downloads/expansion-bc/addonkit.zip

Significant Changes
The expansion will be using Lua version 5.1.1, which provides a number of useful features, most notably incremental garbage collection and memory-efficient variable arguments. There ARE some incompatible changes with Lua 5.0 and authors are advised to familiarize themselves with http://www.lua.org/manual/5.1
* There is a new unit "focus" which behaves like target, the "PLAYER_FOCUS_CHANGED" event is fired when it is changed, and you receive unit events for this unit.

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.

In addition:
* Script handlers defined in SecureXML templates remain secure when they are inherited, unless overridden by AddOn code.
* The parent of a protected frame is implicitly protected also, as are any frames which it is anchored to.

Lua environment
* The Lua coroutine library is now available - Coroutines create a new Lua state and should be used sparingly to conserve memory.

(continued...)

[ Post edited by Iriel ]



UI and Macros Forum MVP - Understand GC!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#0
 
Poster: Iriel at 2006-10-23 09:02:41
Subject: 2.0 Changes - Concise List (New)
  
This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the Burning Crusade expansion (2.0) release. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes, or things which we've been asked to remind slouken of.

IMPORTANT: Off-topic or entirely redundant posts are liable to get deleted. It is however in everyone's best interest to not post them in the first place - We'd rather slouken could spend his time coding us cool things than moderating this thread!

WoW 2.0 represents a major change in the UI code, and as such ALL AddOns will need to be updated before they will work, if for no other reason than the Lua 5.0 to Lua 5.1 changes. Some AddOns will be more seriously affected, and a few will have to be redesigned.

Interface AddOn Kit
The WoW 2.0 *BETA* Interface AddOn Kit is now available for download here (For use with the Beta only):
http://www.worldofwarcraft.com/downloads/expansion-bc/addonkit.zip

Significant Changes
The expansion will be using Lua version 5.1.1, which provides a number of useful features, most notably incremental garbage collection and memory-efficient variable arguments. There ARE some incompatible changes with Lua 5.0 and authors are advised to familiarize themselves with http://www.lua.org/manual/5.1
* There is a new unit "focus" which behaves like target, the "PLAYER_FOCUS_CHANGED" event is fired when it is changed, and you receive unit events for this unit.

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.

In addition:
* Script handlers defined in SecureXML templates remain secure when they are inherited, unless overridden by AddOn code.
* The parent of a protected frame is implicitly protected also, as are any frames which it is anchored to.

Lua environment
* The Lua coroutine library is now available - Coroutines create a new Lua state and should be used sparingly to conserve memory.

UI Performance
Performance of some elements of the UI engine has been improved:
* Frame method invocation is significantly faster (more than twice as fast in some cases!)
* Handler dispatch has been optimized, especially for simple handlers such as OnUpdate.

(continued...)

[ Post edited by Iriel ]



UI and Macros Forum MVP - Understand GC!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#0
 
Poster: Slouken at 2006-11-08 07:41:49
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Any chance of getting a right-click self-cast option?


The Blizzard action buttons are set up to use their unit attribute for targeting, and to inherit their attributes from their parent. This means that you should be able to do this:
MainMenuBarArtFrame:SetAttribute("unit2", "player");
and then all the main action buttons will target the player on right click.


  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=11&sid=1#215
Poster: Slouken at 2006-11-08 07:42:38
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
I was wondering if the target=xxx option will actually change your target or just redirect the spell to the specified unit.


It will cast the spell on the specified unit, leaving your current target untouched.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=11&sid=1#216
Poster: Slouken at 2006-11-08 07:45:25
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
1. Since /cast macros get the icon and cooldown animation of the first spell, can /equip, /equipslot and /use macros get the icon and cooldown of the first item?



Actually, this would be a fair bit of work. It's not a bad idea, but it probably won't make WoW 2.0.
BTW, the icon doesn't come from the spell, just the cooldown information.


Q u o t e:

2. I love /equipslot, but it only takes numerical slot arguments[1] at the moment. It would be really nice if it took human-readable arguments[2] as well.



It should in the current beta. Is that not working correctly?

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=11&sid=1#217
Poster: Slouken at 2006-11-08 08:34:22
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

I don't see how "/cast [stealth,equipped:dagger] Ambush;Sinister Strike" would work correctly. Ambush and Backstab require a dagger in the main hand, not the offhand. My rogue always has a dagger in his off-hand, so would't it file Ambush (and generate an error) all the time? Doesn't equipped need two arguements (slot and item class/subclass) with slot being an optional arguement if you just wanted to see if you had an item equipped in any slot?


Yeah, I noticed this yesterday. I don't think this'll be a problem in practice, since you'll probably have a dagger in your mainhand if you want to use this macro.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=12&sid=1#220
Poster: Slouken at 2006-11-08 09:01:44
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
I have a question on a somewhat odd macro I have created.

It basically checks if I'm in combat and if so, uses sinister strike, if not (and stealth is cooled down, no farie fire) it attempts to stealth. This sounds feasable with combat on/off button swapping if nothing else, but there's one more peice to it. After a rather embarasing incident I added a check to the macro that if I was carrying a warsong flag it did not attempt to stealth. Now I figured that in 2.0 this would no longer be possible, and if I was in combat, I can see that it wouldn't. However I see that some scripting IS allowed outside of combat and I'm wondering if this is possible with the current rules.

I'm not asking for a change, just clarification. The old macro I have calls an addon that checks my current buffs and if it see's the warsong flag buff it doesn't attempt to stealth. Note that this check is only performed if the macro knows I'm already out of combat.



No, that macro can't currently be done, as described. Embarrassing accidents happen. :)

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=12&sid=1#224
Poster: Slouken at 2006-11-08 09:03:36
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Can you make a second argument for Slot, so you can check the type vs the inventory slot? If no second argument, it defaults to checking ALL slots.

isEquipped = IsEquippedItemType("type", "slot")

In any event, the Ambush/Backstab macro can be still be made easily. Remember that you can still use /script commands that DON'T involve CastSpellByName.

/script if not IsEquippedItemType("Daggers", "Main Hand") then PickupContainerItem(0,16); PickupInventoryItem(16);
/cast [stealth] Ambush; Backstab




Yep, that's a good idea. I'll look into it.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=12&sid=1#225
Poster: Slouken at 2006-11-08 09:54:58
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

... however, I realized after posting this that an easy workaround would just be to check for the sword instead of the dagger, since I never have 2 equipped ...
/cast [stealth,equipped:sword] cheapshot;[stealth,noequipped:sword] Ambush;[nostealth]Sinister Strike



Even easier:
/cast [stealth,equipped:sword] Cheapshot; [stealth] Ambush; Sinister Strike

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=12&sid=1#230
Poster: Slouken at 2006-11-08 10:04:08
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for 2.0:
/cleartarget

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=12&sid=1#233
Poster: Slouken at 2006-11-08 10:36:59
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Slouken, there has been a request in the Suggestions thread that [target=none] be added to the options functionality, where it would act as if there were no target when the spell was cast, thus requiring manual targetting (if applicable).




You got it. :)
You can also use "none" as a target unit in the secure button templates.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=12&sid=1#234
Poster: Slouken at 2006-11-08 12:04:01
Subject: Re: 2.0 Changes - Concise List (New)
  
Updated for WoW 2.0:
* NEW name, rank = GetPlayerBuffName(id, or "name"[,"rank"])
* UPDATED name, rank, icon, count = UnitBuff("unit", index [,raidFilter]) - Added name/rank
* UPDATED name, rank, icon, count, type = UnitDebuff("unit", index [,raidFilter]) - Added name/rank
- UnitHasBuff() and UnitHasDebuff() are obsoleted by this change and are no longer included.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#240
Poster: Slouken at 2006-11-08 13:24:54
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
I'm slightly confused. What does GetPlayerBuffName() actually do? It returns a name and rank, but that's it's parameters.


What, you don't want a function that returns its parameters? :)
Seriously, you'd only pass the index in. The fact that it takes a name and rank is a side effect of the internal argument parsing code.


Q u o t e:

Also, I don't see how UnitHasBuff is obsolete now. UnitBuff still requires an index, meaning you have to do like before and loop through all the various IDs looking for the name of the spell.


Yep. The code for UnitBuff()/UnitDebuff() is actually quite complex, so rather than risk bugs by having separate functions that do _almost_ the same thing, I figured it's best to leave the implementation in Lua.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#247
Poster: Slouken at 2006-11-08 15:41:21
Subject: Re: 2.0 Changes - Concise List (New)
  
In WoW 2.0, the game tooltip will automatically create new lines as needed.
No longer will your tooltips be truncated because they had more than 30 lines of text! :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#249
Poster: Slouken at 2006-11-09 11:15:59
Subject: Re: 2.0 Changes - Concise List (New)
  
/equip, /target and /focus all support the macro conditional system.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#253
Poster: Slouken at 2006-11-09 12:02:53
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for 2.0:
/stopmacro [condition]

This will stop a macro in progress, based on a macro conditional, e.g.
/stopmacro [stealth]
/cast Stealth
/say You can't see me!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#254
Poster: Slouken at 2006-11-09 11:15:59
Subject: Re: 2.0 Changes - Concise List (New)
  
/equip, /target, /assist and /focus all support the macro conditional system.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#253
Poster: Slouken at 2006-11-09 12:32:42
Subject: Re: 2.0 Changes - Concise List (New)
  
Added actionbar:N to the supported macro conditionals

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#255
Poster: Slouken at 2006-11-09 13:45:25
Subject: Re: 2.0 Changes - Concise List (New)
  
FYI, the first cast in the macro that fails will prevent further casts in the macro exactly as if the 1.5 second cooldown were triggered.

For example, these would be allowed:
* Use an item and cast a spell in the same macro
* Command a pet and cast a spell in the same macro
* Attack and cast a spell
* Use a spell that doesn't trigger the global cooldown, like Cold Snap, and use a normal spell.

These macros wouldn't be allowed:
* Cast a spell that requires the target to be wounded, followed up with another ability.
* etc.

There are certain conditionals now allowed on casts, see the main post and the WoW 2.0 macro guide sticky post for details.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=13&sid=1#257
Poster: Slouken at 2006-11-09 15:45:33
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Pretty much. If I'm reading this correctly, any spell that invokes the GCD is a 'stop macro on failure' spell. And since Concussive Shot does the GCD, if it failed, then the macro immediately stops.


It doesn't stop the macro, but other spells which trigger the global cooldown will not be cast.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=14&sid=1#261
Poster: Slouken at 2006-11-09 15:50:58
Subject: Re: 2.0 Changes - Concise List (New)
  
In WoW 2.0, you will be able to set macro states and then check those states in macro conditionals.

You can use the default state or use your own custom states. Any state which hasn't already been set through a macro will have a value of "0".

e.g. you could create a macro that cycled through rogue combos:
/cast [state:0] Sinister Strike; [state:1] Sinister Strike; [state:2] Eviscerate
/macrostate [state:0] 1; [state:1] 2; [state:2] 0

e.g. you could have two macros that toggle different spells:
/cast [nostate-X] spell1
/cancelaura [state-X] spell1
/macrostate [nostate-X] X 1; X 0
...
/cast [nostate-Y] spell2
/cancelaura [state-Y] spell2
/macrostate [nostate-Y] Y 1; Y 0

Note that macro states may only be changed by macros, not by addons, though addons can query macro states using GetSecureCmdState().

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=14&sid=1#262
Poster: Slouken at 2006-11-09 16:11:01
Subject: Re: 2.0 Changes - Concise List (New)
  
Yep. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=14&sid=1#264
Poster: Slouken at 2006-11-09 16:53:30
Subject: Re: 2.0 Changes - Concise List (New)
  
No, those are very good points.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=14&sid=1#266
Poster: Slouken at 2006-11-09 17:35:07
Subject: Re: 2.0 Changes - Concise List (New)
  
Macro state support was removed because of some very good observations by Astrylian - basically they'd lead to more frustration then they're worth.

The idea is simmering though, in case a good use for them comes up.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=14&sid=1#267
Poster: Slouken at 2006-11-09 18:29:18
Subject: Re: 2.0 Changes - Concise List (New)
  
Thanks, we're working on maybe some variant of /aftercast, so we'll see what happens. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=14&sid=1#269
Poster: Slouken at 2006-11-10 09:41:59
Subject: Re: 2.0 Changes - Concise List (New)
  
* NEW IsSwimming()
* NEW IsFlying()
* NEW IsMounted()

Added corresponding macro conditionals: [swimming] [flying] [mounted]

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#280
Poster: Slouken at 2006-11-10 10:14:34
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Can we get IsIndoors() ? :)


Sure!

* NEW IsIndoors()
* NEW IsOutdoors()

Added corresponding macro conditionals: [indoors] [outdoors]

Also, either "no" or "not" are allowed prefixes to invert a macro condition (e.g. notswimming)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#283
Poster: Slouken at 2006-11-10 10:14:34
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Can we get IsIndoors() ? :)


Sure!

* NEW IsIndoors()
* NEW IsOutdoors()

Added corresponding macro conditionals: [indoors] [outdoors]

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#283
Poster: Slouken at 2006-11-10 11:50:00
Subject: Re: 2.0 Changes - Concise List (New)
  
No, the client often doesn't know if the spell is going to fail.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#290
Poster: Slouken at 2006-11-10 12:46:33
Subject: Re: 2.0 Changes - Concise List (New)
  
Added [pet] macro conditional.

You can optionally specify your pet's name or family, e.g.
[pet:snowclaw]
[pet:bear/wolf]
[pet:voidwalker]

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#292
Poster: Slouken at 2006-11-10 15:42:54
Subject: Re: 2.0 Changes - Concise List (New)
  
Added macro command to cast a sequence of spells:
/castsequence reset=N/target/combat spell1, spell2, spell3, ...

Each time the macro is executed, the sequence is evaluated and the current spell is cast. Once the current spell is successfully cast, it goes to the next spell in the sequence.

For example, you can create a macro to cycle through your tracking abilities:
/castsequence Find Herbs, Find Minerals, Find Treasure

You could create a rogue combo point sequence:
/cast [stealth] Ambush
/castsequence [nostealth] reset=target/combat Sinister Strike, Sinister Strike, Eviscerate

Enjoy... :)
Thanks to Iriel, Legorol, krka, Neuro, and norgs for the design!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#294
Poster: Slouken at 2006-11-10 15:42:54
Subject: Re: 2.0 Changes - Concise List (New)
  
Added macro command to cast a sequence of spells:
/castsequence reset=N/target/combat spell1, spell2, spell3, ...

Each time the macro is executed, the sequence is evaluated and the current spell is cast. Once the current spell is successfully cast, it goes to the next spell in the sequence.

The sequence can optionally reset after a certain number of seconds, when your target changes, and when you leave combat.

For example, you can create a macro to cycle through your tracking abilities:
/castsequence Find Herbs, Find Minerals, Find Treasure

You could create a rogue combo point sequence:
/cast [stealth] Ambush
/castsequence [nostealth] reset=target/combat Sinister Strike, Sinister Strike, Eviscerate

Enjoy... :)
Thanks to Iriel, Legorol, krka, Neuro, and norgs for the design!

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#294
Poster: Slouken at 2006-11-10 18:19:55
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Slouken, can you add pet specific flags ?




You got it.
The pet actions will accept conditional parameters to determine whether or not they should be executed.
e.g.
/petattack [nocombat]
/petfollow [combat]

The [combat] test will return true if either you or your pet are in combat.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#298
Poster: Slouken at 2006-11-10 18:24:35
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for 2.0:
/petautoattackon <spell>, /petautoattackoff <spell>

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=15&sid=1#299
Poster: Slouken at 2006-11-10 18:41:15
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for WoW 2.0:
* NEW IsMouseButtonDown([button or "button"]) -- Returns true if the specified button is down

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#301
Poster: Slouken at 2006-11-11 07:20:01
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Secondly, how can you say one kind of automation is fine and one kind of automation is not?


Normally I don't respond to these, but I think I understand the design intent fairly well now.
The difference is one macro is using the state of the game to dictate what spell to cast, and the other macro is using the state of your input to dictate what spell to cast. The difference is subtle, but important. It means that as a player, if something dynamically changes in the world, you are responding to it, not the macro. For example, if one of my sinister strikes is dodged, I have to make a decision whether I want to continue the sequence or whether I want to get an additional sinister strike in before I eviscerate. Which choice I make is highly dependent upon who I'm fighting with, how close I am to finishing off the opponent, etc. etc.


  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#310
Poster: Slouken at 2006-11-11 07:48:14
Subject: Re: 2.0 Changes - Concise List (New)
  
Okay, I broke my own rule and posted non-technical discussion.

Discussion deleted and redirected here:
http://forums.worldofwarcraft.com/thread.html?topicId=47155117&postId=471409077&sid=1#0

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#311
Poster: Slouken at 2006-11-11 14:07:55
Subject: Re: 2.0 Changes - Concise List (New)
  
Added support for [button:X] in macro conditionals.

The button can be any of the following:
1 or LeftButton
2 or RightButton
3 or MiddleButton
4 or Button4
5 or Button5
... or any of the buttons remapped by the secure state headers.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#317
Poster: Slouken at 2006-11-11 15:21:00
Subject: Re: 2.0 Changes - Concise List (New)
  
FYI, paladin auras are not true stances and will not be counted for state header and macro conditional stance support.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#318
Poster: Slouken at 2006-11-11 15:40:35
Subject: Re: 2.0 Changes - Concise List (New)
  
* NEW UnitIsAFK("unit") -- only works for the player and party/raid members.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#319
Poster: Slouken at 2006-11-11 15:40:35
Subject: Re: 2.0 Changes - Concise List (New)
  
* NEW UnitIsAFK(unit) -- only works for the player and party/raid members.
* NEW UnitIsDND(unit)

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#319
Poster: Slouken at 2006-11-11 15:40:35
Subject: Re: 2.0 Changes - Concise List (New)
  
* NEW UnitIsAFK(unit) -- only works for friendly units
* NEW UnitIsDND(unit)

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=16&sid=1#319
Poster: Slouken at 2006-11-11 16:44:37
Subject: Re: 2.0 Changes - Concise List (New)
  
Doesn't Ambush start you attacking after it goes off?

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=17&sid=1#325
Poster: Slouken at 2006-11-11 22:24:22
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

or maybe IsStealthed() can return 0,1,2,3 for the differing stealth types



Actually Prowl and Shadowmeld are exactly the same internally, there really isn't any way to distinguish between the stealth effects without watching auras, which the state headers don't do.


Q u o t e:

Also, the state header seems to not process transitions of states in the correct order with the new "state-stealth".

If you have:

SetAttribute("statemap-stance-0", "0") - caster form
SetAttribute("statemap-stealth-0", "1") - non-prowl cat form
SetAttribute("statemap-stealth-1", "2") - prowl

And if the player decides for some reason they have to go directly from prowl to caster, the state header seems to do 2-0-1 (prowl-caster-nonprowl) rather than 2-1-0 (prowl-nonprowl-caster), the later being the logical sequence. This occurs when in prowl then canceling cat form.


You'd think so, wouldn't you? :) Stealth actually comes off after the shapeshift completes, so what you're seeing is what is actually happening.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=17&sid=1#337
Poster: Slouken at 2006-11-12 09:47:44
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

The state header starts at state "0." If you need the initial state to be something else, that's up to you.


Actually, the state driver template initializes it's value to the current state of the game. Check it out. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=18&sid=1#344
Poster: Slouken at 2006-11-12 14:27:37
Subject: Re: 2.0 Changes - Concise List (New)
  
Yeah, this is fixed for tne next beta update.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=18&sid=1#350
Poster: Slouken at 2006-11-13 08:25:54
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
What happens if you are in combat when your UI loads (e.g. disconnect in a fight then relog while it's still going on)? Given that the REGEN_DISABLED event will probably fired before your mod is ready, will all your action buttons be broken, because they have been locked in combat?


The UI is unlocked during reload until after PLAYER_ENTERING_WORLD fired.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=19&sid=1#365
Poster: Slouken at 2006-11-13 13:14:57
Subject: Re: 2.0 Changes - Concise List (New)
  
Added the following macro conditional for WoW 2.0:
[channeling] or [channeling:spell]

This returns true if you are channeling (or channeling the requested spell)

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=19&sid=1#368
Poster: Slouken at 2006-11-13 13:27:03
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
If there is no [dead] condition, could we get one? :)


Sure!
Added: [exists] and [dead] to the macro conditionals.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=19&sid=1#369
Poster: Slouken at 2006-11-13 14:43:22
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Are the conditions going to be added to the /focus command and like. For instance making us able to do macros like:
/focus [target=focus,noexists/dead] target
/cast [target=focus] Polymorph



Yes. In your case the macro would look like this:
/focus [target=focus,noexists] target
/focus [target=focus,dead] target
/cast [target=focus] Polymorph

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=19&sid=1#372
Poster: Slouken at 2006-11-13 14:45:17
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Just to clarify, does this mean I could make a macro that does one thing when left-clicked, and another when right-clicked?


Yep!


Q u o t e:
And how does it know if I used a keybinding instead of the mouse? [nobutton] ?



Key bindings simulate a left mouse button click.


Q u o t e:

Also, were conditionals for whether you're in a raid or party considered? (Another shameless plug: See my post on Pg 4 of the Suggestions thread. :) )


Yep, stay tuned. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=19&sid=1#373
Poster: Slouken at 2006-11-13 14:45:37
Subject: Re: 2.0 Changes - Concise List (New)
  
* NEW name, rank = GetItemSpell(item)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=19&sid=1#374
Poster: Slouken at 2006-11-13 15:00:34
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

/focus [target=focus,noexists] target; [target=focus,dead] target
/cast [target=focus] Polymorph

Would that work too?


Yep, it should work fine.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=19&sid=1#376
Poster: Slouken at 2006-11-13 16:05:21
Subject: Re: 2.0 Changes - Concise List (New)
  
You will be able to use both spells and items in /castsequence
There is an API for addons to query information about a spell sequence: index, item, spell = QueryCastSequence(sequence)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#380
Poster: Slouken at 2006-11-13 18:30:30
Subject: Re: 2.0 Changes - Concise List (New)
  
Nope, I'll fix that. Thanks!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#383
Poster: Slouken at 2006-11-13 23:00:35
Subject: Re: 2.0 Changes - Concise List (New)
  
New WoW 2.0 macro features:
* # and - are comment characters in macros
* A macro that starts with "# show <item or spell>" will show feedback for that item or spell. A macro that starts with "# show none" will show no feedback. Otherwise the first /cast, /randomcast, /castsequence, /use, or /randomuse command will be used to show feedback for the macro.
* A new question mark macro icon is available, and macros that use it will show the icon for the feedback item or spell.
* /castsequence will actually cycle the item or spell that it shows feedback for to match the next one in the sequence.
* The [dummy] macro conditional is obsoleted by the # show syntax and is no longer supported.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#384
Poster: Slouken at 2006-11-14 09:49:22
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Will the feedback for items include the number that you have in your inventory?


Yes, it does.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#391
Poster: Slouken at 2006-11-14 10:12:27
Subject: Re: 2.0 Changes - Concise List (New)
  
Changed for WoW 2.0:
* /randomcast and /randomuse renamed to /castrandom and /userandom for consistency.
* Most secure macro commands support the macro conditional options.
* For /castrandom, /userandom, and /castsequence, the macro conditionals determine which set of spells/items to use. Each set is separated by ';', and each item in the set is separated by ','.
* Item names may be used interchangeably with spells in /cast, /castrandom, and /castsequence.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#392
Poster: Slouken at 2006-11-14 12:00:54
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Can shift-clicking on an item with the Macro UI open put the item's name into the Macro window, like we can now with spells?


Yes!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#393
Poster: Slouken at 2006-11-14 14:29:30
Subject: Re: 2.0 Changes - Concise List (New)
  
If you set a secure button's type attribute to "macro", and set the "macrotext" attribute, when the button is clicked that macro text will be executed.

e.g.
PlayerFrame:SetAttribute("type2", "macro")
PlayerFrame:SetAttribute("macrotext", "I <3 WoW 2.0\nslouken rocks!")
would cause you to get kicked from your raid when you right click your player portrait. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#395
Poster: Slouken at 2006-11-14 14:32:29
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

I have to admit this one threw me for a loop... I would have put channeling in the same category as cooldowns & buffs. Is there any particular reason this was added? It seems to be making the line between decision & state that much more blurry...


It was added so you could avoid casting a spell which breaks your channeling. Since it was something you explicitly are in the act of doing, it was deemed okay to add.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=20&sid=1#396
Poster: Slouken at 2006-11-14 16:05:47
Subject: Re: /swapactionbar doesn't work
  
If a protected frame has a unit attribute set, then when the mouse is hovering over that frame, "mouseover" will refer to the unit set on that frame.

This allows you to do "hover casting" through macros and secure button templates.

Thanks to cladhaire for the suggestion!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=21&sid=1#406
Poster: Slouken at 2006-11-14 17:26:04
Subject: Re: /swapactionbar doesn't work
  

Q u o t e:

1) How do you focus on a Hover targeted unit with macros without changing your actual target? /cast [target=mouseover] Spell or something similar?



Yep.


Q u o t e:

3) Regarding question 1, if a [target=mouseover] command or similar will work/be implemented, can it be made to return false if no unitframe is being Hover Targeted, example macro:
/cast [target=mouseover] Healing Touch <---- Returns false of cursor is not currently hovertargeting a Secure Frame with a unit attached



Yes, like this:
/cast [target=mouseover,exists] Healing Touch

Note that this isn't on the test realm or the beta realm yet. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=21&sid=1#410
Poster: Slouken at 2006-11-14 17:53:21
Subject: Re: 2.0 Changes - Concise List (New)
  
Crafting has been added to the list of things allowed in response to an interactive action.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=21&sid=1#411
Poster: Slouken at 2006-11-14 18:23:44
Subject: Re: 2.0 changes
  

Q u o t e:
ok well the game has a built in alt cast and i noticed it doesnt work on secondary action bars such as your bottom righ,t left, or right action bars. will this be fixed?


Works for me (tm). Try in the next beta update, and if you're still having problems, try disabling all addons.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=21&sid=1#413
Poster: Slouken at 2006-11-15 11:41:53
Subject: Re: 2.0 Changes - Concise List (New)
  
* NEW SetMouselookOverrideBinding("KEY", [,"COMMAND"]) -- Set (or clear) an override key binding used when mouselook is enabled by MouselookStart()

Like other key binding functions, this function is not available during combat.

e.g. To set up mouselook while the 'z' key is held down, and have the left mouse button move you forwards and the right mouse button move you backwards, you could do:
/script CreateFrame("Button", "MouselookButton")
/script MouselookButton:RegisterForClicks("AnyUp", "AnyDown")
/script MouselookButton:SetScript("OnClick", function (self, button, down) if ( down ) then MouselookStart() else MouselookStop() end end)
/script SetOverrideBindingClick(MouselookButton, nil, "z", "MouselookButton")
/script SetMouselookOverrideBinding("BUTTON1", "MOVEFORWARD")
/script SetMouselookOverrideBinding("BUTTON2", "MOVEBACKWARD")

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=23&sid=1#457
Poster: Slouken at 2006-11-15 13:04:27
Subject: Re: 2.0 Changes - Concise List (New)
  
This thread is for technical discussion only. Posts containing off topic material will be deleted.

(As cool as Iriel's upcoming wedding is, it's not technical discussion and should be moved to its own thread for maximal embarrassment. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=23&sid=1#459
Poster: Slouken at 2006-11-15 13:30:44
Subject: Re: 2.0 Changes - Concise List (New)
  
Iriel, you have a typo in the first post, it's actually /petautocaston, /petautocastoff

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=24&sid=1#460
Poster: Slouken at 2006-11-15 15:11:43
Subject: Re: 2.0 Changes - Concise List (New)
  
Added slash command for WoW 2.0:
/click buttonname [mousebutton]

e.g.
/click ActionButton1
or
/click ActionButton1 RightButton

Note: This can potentially be used to chain actions, by clicking multiple secure action buttons. It shouldn't be possible to get the old behavior of multiple /cast statements, but if there are other ways it can be abused, it will be removed. Note that secure buttons only perform one action in response to one click by design.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=24&sid=1#468
Poster: Slouken at 2006-11-15 15:11:43
Subject: Re: 2.0 Changes - Concise List (New)
  
Added slash command for WoW 2.0:
/click buttonname [mousebutton]

e.g.
/click ActionButton1
or
/click ActionButton1 RightButton

Note: This can potentially be used to chain actions, by clicking multiple secure action buttons. It shouldn't be possible to get the old behavior of multiple /cast statements, but if there are other ways it can be abused, it will be removed. Secure buttons only perform one action in response to one click by design.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=24&sid=1#468
Poster: Slouken at 2006-11-15 17:51:39
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Is it possible to set secure frame attributes from a macro?



Sure:
/script Frame:SetAttribute("name", value)
But this will only work outside of combat.

A secure slash command to do this is not planned.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=24&sid=1#475
Poster: Slouken at 2006-11-15 17:51:39
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:
Is it possible to set secure frame attributes from a macro?



Sure:
/script Frame:SetAttribute("name", value)
Note that this will only work out of combat.

A secure macro version of this is not planned.

[ Post edited by Slouken ]



  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=24&sid=1#475
Poster: Slouken at 2006-11-15 22:38:56
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Is there a reason why there shouldn't be a secure version of it? (i.e. If it is in a macro then shouldn't it be safe from programatic manipulation while simplifying some user ability to make adjustments to things in combat -- i.e. having a preset macro that makes a specific change when he presses the button (no conditional settings possible).




Mostly healthy paranoia. I'd like to see how people end up using the new state headers and macro system changes before committing to that kind of functionality.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=24&sid=1#478
Poster: Slouken at 2006-11-15 23:49:55
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Thanks for responding -- maybe in a patch after 2.0.



Yes, it's a possibility. :)

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=25&sid=1#482
Poster: Slouken at 2006-11-16 09:30:12
Subject: Re: 2.0 Changes - Concise List (New)
  
The new string functions will be available in the string table:
string.trim = strtrim
string.split = strsplit
string.join = strjoin

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=25&sid=1#489
Poster: Slouken at 2006-11-16 10:05:43
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

Could we have an option to reset the cast sequence on a spell failure?



If you mean not advance to the next entry, yes, that's already built in.
If you mean reset to the first entry in the sequence, no, the sequence can only be reset by the preset conditions, not by the dynamic state of the game.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=25&sid=1#491
Poster: Slouken at 2006-11-16 10:06:17
Subject: Re: 2.0 Changes - Concise List (New)
  
You can use reset=shift/ctrl/alt with /castsequence to restart the sequence on the modified click.

e.g.
/castsequence reset=5,ctrl Refreshing Spring Water, Honey Bread, Holy Light

Note: This will be available in a future test server update.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=25&sid=1#492
Poster: Slouken at 2006-11-16 10:32:09
Subject: Re: 2.0 Changes - Concise List (New)
  
Heheh, thanks!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=25&sid=1#494
Poster: Slouken at 2006-11-16 11:06:28
Subject: Re: 2.0 Changes - Concise List (New)
  

Q u o t e:

How about a third option...

An option to continue the sequence on spell failure.



Possibly, although that probably wouldn't make WoW 2.0.

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=25&sid=1#497
Poster: Slouken at 2006-11-16 11:06:55
Subject: Re: 2.0 Changes - Concise List (New)
  
Added for WoW 2.0:
/clearfocus

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=25&sid=1#498
Poster: Iriel at 2006-10-23 09:02:41
Subject: 2.0 Changes - Concise List (New)
  
This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the Burning Crusade expansion (2.0) release. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes, or things which we've been asked to remind slouken of.

IMPORTANT: Off-topic or entirely redundant posts are liable to get deleted. It is however in everyone's best interest to not post them in the first place - We'd rather slouken could spend his time coding us cool things than moderating this thread!

WoW 2.0 represents a major change in the UI code, and as such ALL AddOns will need to be updated before they will work, if for no other reason than the Lua 5.0 to Lua 5.1 changes. Some AddOns will be more seriously affected, and a few will have to be redesigned.

Interface AddOn Kit
The WoW 2.0 *BETA* Interface AddOn Kit is now available for download here (For use with the Beta only):
http://www.worldofwarcraft.com/downloads/expansion-bc/addonkit.zip

Significant Changes
The expansion will be using Lua version 5.1.1, which provides a number of useful features, most notably incremental garbage collection and memory-efficient variable arguments. There ARE some incompatible changes with Lua 5.0 and authors are advised to familiarize themselves with http://www.lua.org/manual/5.1
* There is a new unit "focus" which behaves like target, the "PLAYER_FOCUS_CHANGED" event is fired when it is changed, and you receive unit events for this unit.

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, crafting, 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.

In addition:
* Script handlers defined in SecureXML templates remain secure when they are inherited, unless overridden by AddOn code.
* The parent of a protected frame is implicitly protected also, as are any frames which it is anchored to.

Lua environment
* The Lua coroutine library is now available - Coroutines create a new Lua state and should be used sparingly to conserve memory.

UI Performance
Performance of some elements of the UI engine has been improved:
* Frame method invocation is significantly faster (more than twice as fast in some cases!)
* Handler dispatch has been optimized, especially for simple handlers such as OnUpdate.

(continued...)

[ Post edited by Iriel ]



UI and Macros Forum MVP - Understand GC!

  http://forums.worldofwarcraft.com/thread.html?topicId=36975623&pageNo=1&sid=1#0
 
 

Is this thread News or Fluff? You Decide!
News!
- OR -
Fluff!
What are you talking about?

View all recent official Blue Posts

WoW Blue Tracker: Archiving World of Warcraft Blue Posts
since March 2005
Home | RSS | News | Contact
Recent | Search | Archive | CS Posts
 

Why Ads?