Blizzard has also posted an
official thread on 6.0 changes.
New Widget type: CinematicModel, derivative of PlayerModel
New XML element type: "keyValue", currently only supported for Frames.
Functionality appears equivalent to creating a new element in ParentKey's table. New "atlas" and "useAtlasSize" properties for textures defined in XML. Equivalent function added for texture widgets called
Texture:SetAtlas. For example:
After: atlas="PetJournal-BattleSlot-Locked" useAtlasSize="true" C_Timer functions added - timers with callback functionality! See
C_Timer.After, C_Timer.NewTimer, and C_Timer.NewTicker for more details.
C_Timer.NewTimer(lengthInSeconds, callback) if (handle) then handle:Cancel(); --timer complete code goes here; end
Garrison stuff - AddOns/Blizzard_GarrisonUI, C_Garrison.* Objective Tracker - AddOns/Blizzard_ObjectiveTracker (quest, achievement, auto quest popup, scenario, bonus objective, ...)
Group finder - FrameXML/LFGList.(lua,xml), C_LFGList.*
Second Void Storage page
1/(nil|0) changed to true/false all over the API, notably:
EquipmentManager_UnpackLocation() 2 new returns after bag, tab, voidSlot
GetGlyphInfo() new return (#8): specMatches
GetMapContinents() now also returns the mapID : mapID1, mapName1, mapID2, mapName2, etc.
GetMapZones() now also returns the zoneID : zoneID1, zoneName1, zoneID2, zoneName2, etc.
GetTalentInfo() has had its arguments and return values changed:
args: ( index[, isInspect, talentGroup, inspectedUnit , classID]) -> ( tier, column, talentGroup[, isInspect, inspectUnit]) returns: name, iconTexture, tier, column, selected, available -> talentID, name, iconTexture, selected, available
GetTalentInfoByID() is a new function that takes a talentID as its parameter, and returns the same as GetTalentInfo().
GetTalentLink() now takes a talentID as its parameter, as returned by GetTalentInfo().
QueryAuctionItems new return (#11): exactMatch
GetQuestLogTitle has greatly changed returns.
returns: title, level, suggestedGroup, questTag, isHeader, isCollapsed, isComplete, isDaily, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory
GetQuestTagInfo replacement for removed questTag return value from GetQuestLogTitle.
GetGossipAvailableQuests has changed returns.
returns: title, level, isTrivial, isDaily, frequency, isRepeatable, isLegendary, ...
GetAvailableQuestInfo has changed returns.
returns: isTrivial, isDaily, frequency, isRepeatable, isLegendary
GetSpellInfo has removed some returns.
returns: name, rank, icon, powerCost, isFunnel, powerType, castingTime, minRange, maxRange GetWeaponEnchantInfo has greatly changed returns.
returns: hasMainHandEnchant, mainHandExpiration, mainHandCharges, mainHandEnchantID, hasOffHandEnchant, offHandExpiration, offHandCharges, offHandEnchantId, hasThrownEnchant, thrownExpiration, thrownCharges
A new event,
LOOT_READY, signals the start of the availability of loot data for various loot-related API functions.
SWING_DAMAGE/SPELL_DAMAGE/SPELL_PERIODIC_DAMAGE gain new parameters after crushing (isOffHand, multistrike)
SPELL_HEAL/SPELL_PERIODIC_HEAL gains new parameter after critical (multistrike)
SPELL_MISSED/SPELL_PERIODIC_MISSED/RANGE_MISSED/SWING_MISSED gains new parameter after isOffHand (multistrike) New floating combat text type: PERIODIC_HEAL_CRIT
difficultyID 14 (Normal flex10-30, previously "Flex")
difficultyID 15 (Heroic flex10-30, new)
difficultyID 16 (Mythic 20, new)
difficultyID 17 (Looking For Raid flex10-30, new) Many legacy mount-related and pet-related functions were removed and replaced by new functions in C_MountJournal.
Note: the legacy functions that remain, such as GetCompanionInfo, are almost completely broken as well. New
Globally Unique Identifier format :
Player-[server ID]-[player UID] (Example: "Player-976-0002FD64") For battle pets:
BattlePet-0-[Battle Pet UID] (Example: "BattlePet-0-000000E0156B") For creatures, pets, objects, and vehicles:
[Unit type]-0-[server ID]-[instance ID]-[zone UID]-[ID]-[Spawn UID] (Example: "Creature-0-976-0-11-31146-000136DF91") Unit Type Names: "Creature", "Pet", "GameObject", and "Vehicle"
For vignettes: Vignette-0-[server ID]-[instance ID]-[zone UID]-0-[spawn UID] (Example: "Vignette-0-970-1116-7-0-0017CAE465" for rare mob Sulfurious) Item links data: itemID:enchant:gem1:gem2:gem3:gem4:suffixID:uniqueID:level:reforgeId:upgradeId -> itemID:enchant:gem1:gem2:gem3:gem4:suffixID:uniqueID:level:
upgradeId:instanceDifficultyID:numBonusIDs:bonusID1:bonusID2... Example of some bonusIDs:
448 - Warforged, +6 item level
449 - Heroic, +13 item level
450 - Mythic, +26 item level
451 - Looking For Raid, -12 item level
15 - Epic, +20 item level
171 - Rare, +10 item level BonusIDs are stored in ItemBonus.db2.
BonusIDs have a massive number of uses, including but not limited to:
Random suffixes with varying stat amounts - ex. of the Fireflash: BonusIDs 19-39
Random bonus tertiary stats - BonusID 40: +Avoidance, BonusID 41: +Leech, etc
Raid typing - see above
Dungeon typing - i.e. BonusID 518 with qualifier 17 restricts Bloodmaul Slag Mines Normal mode items to have -10 level
Random quest upgrades - see above entries for 'Rare' and 'Epic'
Crafting upgrades - BonusID 525: Basic, BonusID 526: Expert, etc BonusIDs can do the following 10 actions:
1 - Adjust Itemlevel
2 - Modify Stats
3 - Change Item Quality
4 - Add Item Titles
5 - Append Words to Item Name
6 - Add Sockets
7 - Adjust ItemAppearanceID (which controls ItemDisplayInfoID and FileDataIconID)
8 - Adjust Equip Level
9 - Unknown
10 - Unknown
You can no longer anchor a frame to another frame that has negative, or zero, width or height. Previously, this was acceptable and could be used for adjusting layouts easily by changing a frame's size when it was hidden.
Lua Enums (18.104.22.16814 → 22.214.171.12467)
NUM_ACTIONS_PER_PAGE = 12
NUM_BONUS_ACTION_PAGES = 4
NUM_NORMAL_ACTION_PAGES = 6
_IGNORE_CLEANUP = 1
_EQUIPMENT = 2
_CONSUMABLES = 3
_TRADE_GOODS = 4
_JUNK = 5
_OK = 1
_ERROR_COOLDOWN = 2
_ERROR_CHAR_CREATE = 3
_ERROR_DISABLED = 4
_ERROR_NAME_TAKEN_BY_THIS_ACCOUNT = 5
_ERROR_UNKNOWN = 6
_CLASSIC = 0
_BURNING_CRUSADE = 1
_WRATH_OF_THE_LICH_KING = 2
_CATACLYSM = 3
_MISTS_OF_PANDARIA = 4
_WARLORDS_OF_DRAENOR = 5
_LEVEL_CURRENT = 5
_GARRISON_BUILDING = 9 (new)
_GARRISON_MISSION_LIST = 10 (new)
_GARRISON_MISSION_PAGE = 11 (new)
_GARRISON_LANDING = 12 (new)
_GARRISON_ZONE_ABILITY = 13 (new)
_WORLD_MAP_FRAME = 14 (new)
_CLEAN_UP_BAGS = 15 (new)
_BAG_SETTINGS = 16 (new)
_REAGENT_BANK_UNLOCK = 17 (new)
_TOYBOX_FAVORITE = 18 (new)
_TOYBOX_MOUSEWHEEL_PAGING = 19 (new)
_LFG_LIST = 20 (new)
_POOR = 0
_COMMON = 1
_UNCOMMON = 2
_RARE = 3
_EPIC = 4
_LEGENDARY = 5
_HEIRLOOM = 7
_ROLE_COUNT = 1
_ROLE_ENUMERATE = 2
_CLASS_ENUMERATE = 3
_HIDE_ALL = 4
_RECOMMENDED = 1
_NOT_RECOMMENDED = 2
_PVE = 4
_PVP = 8
_COLLECTED = 1
_NOT_COLLECTED = 2
_STEADY = 1
_NONE = 2
_NONE_RANGED = 3
_FAST_SLOW = 4
_SLOW_FAST = 5
_AND_JUMP = 6
_DEFAULT = 262144 (new)
_ALLIANCE = 1
_HORDE = 2
_DEFAULT = 1
_DAILY = 2
_WEEKLY = 3
_HASTE = 4 (new)
_CRITICAL_STRIKE = 6 (was 7)
_MASTERY = 7 (was 8)
_MULITSTRIKE = 8 (new)
_VERSATILITY = 9 (new)
_MANUAL = 1
_PROXIMITY = 2
_DIFFICULTY_LOW = 3
_DIFFICULTY_HIGH = 4 LE_UNIT_STAT (new)
_STRENGTH = 1
_AGILITY = 2
_STAMINA = 3
_INTELLECT = 4
_SPIRIT = 5