Thread Tools Display Modes
07-25-08, 12:08 AM   #1
Cairenn
Credendo Vides
 
Cairenn's Avatar
Premium Member
WoWInterface Admin
Join Date: Mar 2004
Posts: 7,134
Upcoming 3.0 Changes - Concise List

As usual, Iriel's post from the Blizz UI forum.

This is a consolidated list of the announced (and sometimes observed) changes in the User Interface API's and functionality for the Wrath of the Lich King expansion (3.0) repease. Please note that this thread is to discuss the upcoming changes and any clarifications or features that are a direct result of those changes.

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!

(Last update 2008-08-08 18:03 Pacific)

Significant Changes
* The blizzard UI is being converted to use 'self' and the other local arguments in favor of 'this' and argN. The old style arguments are going to be obsoleted, so AddOn code needs to be updated too. This may mean there are changes in the signatures of Blizzard UI functions - update code that hooks or replaces the blizzard UI where necessary as well. !!!

* The SecureStateHeader has been replaced by a new secure template which allows for a more natural specification of rules in lua rather than via complex state tables. More details will be forthcoming. !!!

* Key bindings, macros, and many UI settings are now stored on the server and will be available wherever you play.

* Button objects appear to no longer have their own internal Font objects, and have replaced the various methods to alter them with methods to reference existing Font objects to use for each state (SImple color changes can still be done without creating your own Font objects by using the |c color escape)

* The old crafting API's have finally been retired and enchanting moved onto the more common tradeskill API

* UPDATED: The incompatible slash command change has been reverted.

Settings and Preferences
* The following functions have been replaced with server-stored cvars: SetAutoLootDefault(), GetAutoLootDefault(), ShowNameplates(), HideNameplates(), ShowFriendNameplates(), HideFriendNameplates()
* Saving the settings on the server can be disabled by setting the "synchronizeSettings" cvar to 0. You can then use the new UploadSettings() and DownloadSettings() functions to manage synchronization manually.
* NEW value = GetCVarBool("cvar") - Returns the value of the cvar as 1 or nil instead of requiring you to compare the cvar value with "0" or "1"
* NEW name, defaultValue, serverStoredAccountWide, serverStoredPerCharacter = GetCVarInfo("cvar") - Returns information about the named cvar
* There is a new FOCUSCAST click modifier (with no default value) which will cause spells to be cast on your focus.

Macros
* You can now maintain a backup copy of your macros and restore them at any time with the following functions: BackupMacros(), RestoreMacros(). These functions can not be called by AddOns while you are in combat.
* The number of account-wide macros has been increased to 36.

Buff Information
* The various GetPlayerBuff functions have been removed and integrated into the appropriate unit functions, adding a new UnitAura function and updating the others:

name, rank, texture, count, debuffType, duration, expiryTime, untilCanceled = UnitAura("unit", [index] or ["name", "rank"][, "filter"]);
name, rank, texture, count, debuffType, duration, expiryTime, untilCanceled = UnitBuff("unit", [index] or ["name", "rank"][, "filter"]);
name, rank, texture, count, debuffType, duration, expiryTime, untilCanceled = UnitDebuff("unit", [index] or ["name", "rank"][, "filter"]);
CancelPlayerBuff([index] or ["name", "rank"][, "filter"]);

GameTooltip:SetUnitAura("unit", [index] or ["name", "rank"][, "filter"]);
GameTooltip:SetUnitBuff("unit", [index] or ["name", "rank"][, "filter"]);
GameTooltip:SetUnitDebuff("unit", [index] or ["name", "rank"][, "filter"]);

* The "filter" parameter can be any of "HELPFUL", "HARMFUL", "RAID", "CANCELABLE", "NOT_CANCELABLE". You can also specify several filters separated by a | character to chain multiple filters together (e.g. "HELPFUL|RAID" == helpful buffs that you can cast on your raid). By default UnitAura has "HELPFUL" as an implicit filter - you cannot get back BOTH helpful and harmful at the same time. Neither "HELPFUL" or "HARMFUL" have meaning for UnitBuff/UnitDebuff, and will be ignored.
* AddOns displaying remaining time should cache the expiry time and decrement their own counter, do not re-query the information every OnUpdate.
* The untilCanceled return value is true if the buff doesn't have its own duration (e.g. stealth)

Companions
* Mounts and non-combat pets have been changed to be spell rather than item based. There are a number of new API methods to query and use them (See post #57 from slouken for more details)

* NEW count = GetNumCompanion(type) -- Gets the number of a specific type of companion (type is "CRITTER" or "MOUNT")
* NEW creatureID, creatureName, spellID, icon, active = GetCompanionInfo(type, index) -- Gets information abotu a specific companiion
* NEW PickupCompanion(type, index) -- Load a companion onto the cursor for placement into an action bar
* NEW CallCompanion(type, index) -- Summon a specific companion

Also, the PlayerModel frame has a new method

* NEW PlayerModel:SetCreature(creatureID) -- Show the model for the specified creature

Aggro Awareness (aka Threat)
(NOTE: Still very much subject to change -- See slouken's detailed post below (#80) for more details)

* NEW state = UnitThreatSituation(unit[, mob]) -- Determine a unit's threat situation with respect to the given mob (or the mob which has the highest threat for the unit if omitted), the result is one of:
nil = unit not on threat list
0 = 0-99% raw threat (no indicator shown)
1 = 100% or more raw threat (yellow indicator)
2 = tanking, other has 100% or more raw threat (orange indicator -- you may lose primary target)
3 = tanking, all others have less than 100% raw threat (red indicator)

* NEW isTanking, state, scaledPercent, rawPercent, threatValue = UnitDetailedThreatSituation(unit, mob) -- Returns detailed information about the unit's state on a mob's threat list.
isTanking -- true if the unit is the primary target of the mob (and by definition at 100% threat)
state -- Unit's threat situaton, as above
scaledPercent -- Distance-scaled threat percentage (0-100%)
rawPercent -- Current percentage threat of the unit relative to mob's primary target
threatValue -- Raw 'threat amount' for the unit, roughly approximate to amount of damage and healing done by the unit

* NEW r, g, b = GetThreatStatusColor(state) -- Gets the color to use in the standard UI for a threat situation state

There are also two new events, UNIT_THREAT_LIST_UPDATE is fired when a mob unit's threat list changes, the unit id of the mob is the first event argument. UNIT_THREAT_SITUATION_UPDATE fires when a unit's threat situation changes, the unit in question is the first event argument (Note this only fires for status value changes, not raw threat changes)

Frame API's

Texture Methods
* UPDATED - exists = Texture:SetTexture(path[, tiled]) -- Added a new tiled parameter, if this is true then the texture is tiled in each direction rather than the edge stretching to infinity.

Other Observed Changes
* Item strings have changed format to include character level

Last edited by Cairenn : 08-10-08 at 02:08 AM.
  Reply With Quote
08-06-08, 01:14 AM   #2
Tristanian
Andúril
Premium Member
AddOn Author - Click to view addons
Join Date: Nov 2007
Posts: 279
Cairenn, the slash command handler change has been reverted in the current (8714) beta build (as opposed to the previous 8681 one), as evident both ingame and in wowcompares. Perhaps the thread should be updated to reflect this.

Thanks.
  Reply With Quote
08-06-08, 02:08 AM   #3
Cairenn
Credendo Vides
 
Cairenn's Avatar
Premium Member
WoWInterface Admin
Join Date: Mar 2004
Posts: 7,134
Tristanian, I appreciate the heads up but all this thread is is a copy of Iriel's post on the Blizz forums. My copy here is current to his post there. Also, I do my best to keep it current with Iriel's thread, but we are all also rather busy right now, so we may not be on top of changes immediately.
  Reply With Quote
08-06-08, 02:21 AM   #4
Tristanian
Andúril
Premium Member
AddOn Author - Click to view addons
Join Date: Nov 2007
Posts: 279
Understood, was just attempting to keep this updated (sadly I cannot post to the US forums due to being an EU subscriber) but since it's obviously a mirror, np. Feel free to delete my posts too, if you want to keep it "clean".
  Reply With Quote
08-06-08, 02:31 AM   #5
Cairenn
Credendo Vides
 
Cairenn's Avatar
Premium Member
WoWInterface Admin
Join Date: Mar 2004
Posts: 7,134
Naw, no worries. As I said, I did appreciate the heads up. It reminded me to go check.

BTW, if there's ever anything you wanted posted on the US forums, I cross-post for EU folks all the time.
  Reply With Quote

WoWInterface » Site Forums » News » Upcoming 3.0 Changes - Concise List


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off