Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
No edit summary
(tag)
(10 intermediate revisions by 8 users not shown)
Line 1: Line 1:
  +
{{apichanges|2.4.0|next=2.4.2|prev=2.3.0}}
[[Category:World of Warcraft API/Changes|{{PAGENAME}}]]
 
   
 
== Significant Changes ==
 
== Significant Changes ==
 
* The combat logging mechanism is completely overhauled with explicit data instead of text strings delivered to the UI. See slouken's post below for a sneak-peak at some of the current details. Highlights include detailed flags indicating relationship of involved units to player, unique identifiers for units with the same name within the combat log -- great for log analysis.
 
* The combat logging mechanism is completely overhauled with explicit data instead of text strings delivered to the UI. See slouken's post below for a sneak-peak at some of the current details. Highlights include detailed flags indicating relationship of involved units to player, unique identifiers for units with the same name within the combat log -- great for log analysis.
  +
** [[Patch_2.4.0/Consolidated API changes/Guide to the New Combat Log|Guide to the New Combat Log]]
* The In-game Interface Options screen is being revamped and the new architecture should allow AddOn authors to modify its contents without the taint issues presented by the current system. Additionally this system will contain an area for AddOn authors to present their own configuration options. Authors interested in this feature should be sure to experiment on the PTRs before patch 2.4 is released so that any issues can be surfaced and discussed. Basic details on how to use this system can be found in code comments in the 2.4 UIOptionsPanel.lua.
+
* The In-game Interface Options screen is being revamped and the new architecture should allow AddOn authors to modify its contents without the taint issues presented by the current system. Additionally this system will contain an area for AddOn authors to present their own configuration options. Authors interested in this feature should be sure to experiment on the PTRs before patch 2.4 is released so that any issues can be surfaced and discussed. Basic details on how to use this system can be found in code comments in the 2.4 UIOptionsPanels.lua.
   
 
== Events ==
 
== Events ==
* PARTY_MEMBER_ENABLE and PARTY_MEMBER_DISABLE will no longer provide information about which party member was enabled or disabled.
+
* [[Events/P#PARTY_MEMBER_ENABLE|PARTY_MEMBER_ENABLE]] and [[Events/P#PARTY_MEMBER_DISABLE|PARTY_MEMBER_DISABLE]] will no longer provide information about which party member was enabled or disabled.
   
 
== Secure Templates ==
 
== Secure Templates ==
Line 12: Line 13:
   
 
== Debugging ==
 
== Debugging ==
* In 2.4, you'll be able to pass a coroutine as a first (optional) parameter to debugstack()
+
* In 2.4, you'll be able to pass a coroutine as a first (optional) parameter to [[API debugstack|debugstack]]()
   
 
== Visual Settings ==
 
== Visual Settings ==
Line 19: Line 20:
   
 
== Tooltip Methods ==
 
== Tooltip Methods ==
* NEW - Tooltip:SetTotem(slot)
+
* NEW - [[API GameTooltip SetTotem|GameTooltip:SetTotem]](slot)
   
 
== Font String Display ==
 
== Font String Display ==
Line 26: Line 27:
   
 
== Character Functions ==
 
== Character Functions ==
* NEW - armorPenetration = GetArmorPenetration()
+
* NEW - armorPenetration = [[API GetArmorPenetration|GetArmorPenetration]]()
   
 
== Channel Functions ==
 
== Channel Functions ==
* NEW - DeclineInvite(channel)
+
* NEW - [[API DeclineInvite|DeclineInvite]](channel)
   
 
== Combat Log Functions ==
 
== Combat Log Functions ==
* NEW - CombatLogAddFilter
+
* NEW - [[API CombatLogAddFilter|CombatLogAddFilter]]
* NEW - CombatLogAdvanceEntry
+
* NEW - [[API CombatLogAdvanceEntry|CombatLogAdvanceEntry]]
* NEW - CombatLogClearEntries
+
* NEW - [[API CombatLogClearEntries|CombatLogClearEntries]]
* NEW - CombatLogGetCurrentEntry
+
* NEW - [[API CombatLogGetCurrentEntry|CombatLogGetCurrentEntry]]
* NEW - CombatLogGetNumEntries
+
* NEW - [[API CombatLogGetNumEntries|CombatLogGetNumEntries]]
* NEW - CombatLogGetRetentionTime
+
* NEW - [[API CombatLogGetRetentionTime|CombatLogGetRetentionTime]]
* NEW - CombatLogResetFilter
+
* NEW - [[API CombatLogResetFilter|CombatLogResetFilter]]
* NEW - CombatLogSetCurrentEntry
+
* NEW - [[API CombatLogSetCurrentEntry|CombatLogSetCurrentEntry]]
* NEW - CombatLogSetRetentionTime
+
* NEW - [[API CombatLogSetRetentionTime|CombatLogSetRetentionTime]]
   
 
== Friend Functions ==
 
== Friend Functions ==
* NEW - SetFriendNotes("name" or index, "notes")
+
* NEW - [[API SetFriendNotes|SetFriendNotes]]("name" or index, "notes")
   
 
== Guild Functions ==
 
== Guild Functions ==
* NEW - canEdit = CanEditGuildTabInfo(tab)
+
* NEW - canEdit = [[API CanEditGuildTabInfo|CanEditGuildTabInfo]](tab)
   
 
== Guild Bank Functions ==
 
== Guild Bank Functions ==
* NEW - QueryGuildBankText(tab)
+
* NEW - [[API QueryGuildBankText|QueryGuildBankText]](tab)
* NEW - SetGuildBankText(tab, "text")
+
* NEW - [[SetGuildBankText|SetGuildBankText]](tab, "text")
   
 
== Inventory Functions ==
 
== Inventory Functions ==
* NEW - freeSlots = GetContainerNumFreeSlots(bagIndex) -- Returns the number of free slots in a bag, and the type of items that can go in the bag. For bagType, 0 means any item can go in the bag.
+
* NEW - freeSlots, itemFamily = [[API GetContainerNumFreeSlots|GetContainerNumFreeSlots]]([[bagIndex]]) -- Returns the number of free slots in a bag, and the type of items that can go in the bag. For [[bagType]], 0 means any item can go in the bag.
   
 
== Item Functions ==
 
== Item Functions ==
* NEW - bagType = GetItemFamily(itemId or itemName or itemLink or itemString) -- When used with a container, this returns the type of container. When used with an item, it returns the type of container the item can go in. However, bagType is a bitflag, so GetItemFamily for something that could go in a quiver (bagType 1) and an ammo pouch (bagType 2) would return 3. A bag that can hold both arrows and bullets would also return 3.
+
* NEW - [[bagType]] = [[API GetItemFamily|GetItemFamily]](itemId or itemName or itemLink or itemString) -- When used with a container, this returns the type of container. When used with an item, it returns the type of container the item can go in. However, [[bagType]] is a bitflag, so [[API GetItemFamily|GetItemFamily]] for something that could go in a quiver ([[bagType]] 1) and an ammo pouch ([[bagType]] 2) would return 3. A bag that can hold both arrows and bullets would also return 3.
 
** 0 = Unspecified (for bags it means any item, for items it means no special bag type)
 
** 0 = Unspecified (for bags it means any item, for items it means no special bag type)
 
** 1 = Quiver
 
** 1 = Quiver
Line 62: Line 63:
 
** 4 = Soul Bag
 
** 4 = Soul Bag
 
** 8 = Leatherworking Bag
 
** 8 = Leatherworking Bag
** 16 = Keyring
+
** 16 = Unknown
 
** 32 = Herb Bags
 
** 32 = Herb Bags
 
** 64 = Enchanting Bags
 
** 64 = Enchanting Bags
 
** 128 = Engineering Bag
 
** 128 = Engineering Bag
** 256 = (unknown)
+
** 256 = Keyring
 
** 512 = Gem Bag
 
** 512 = Gem Bag
 
** 1024 = Mining Bag
 
** 1024 = Mining Bag
** 2048 = (unknown)
+
** 2048 = Unknown
 
** 4096 = Vanity Pets
 
** 4096 = Vanity Pets
* NEW - icon = GetItemIcon(itemId or itemName or itemLink or itemString) -- Returns the icon for an item (as long as the item is valid), even if GetItemInfo returns nil.
+
* NEW - icon = [[API GetItemIcon|GetItemIcon]](itemId or itemName or itemLink or itemString) -- Returns the icon for an item (as long as the item is valid), even if [[API GetItemInfo|GetItemInfo]] returns nil.
   
 
== Quest Functions ==
 
== Quest Functions ==
* NEW - questLink = GetQuestLink(questLogId)
+
* NEW - questLink = [[API GetQuestLink|GetQuestLink]](questLogId)
* NEW - GetRewardTitle()
+
* NEW - [[API GetRewardTitle|GetRewardTitle]]()
   
 
== Language Functions ==
 
== Language Functions ==
* NEW - numLanguages = GetNumLanguages()
+
* NEW - numLanguages = [[API GetNumLanguages|GetNumLanguages]]()
   
 
== Loot Functions ==
 
== Loot Functions ==
* NEW - isOptOutOfLoot = GetOptOutOfLoot()
+
* NEW - isOptOutOfLoot = [[API GetOptOutOfLoot|GetOptOutOfLoot]]()
* NEW - SetOptOutOfLoot(boolean)
+
* NEW - [[API SetOptOutOfLoot|SetOptOutOfLoot]](boolean)
 
** false: You are now eliglible for random loot.
 
** false: You are now eliglible for random loot.
 
** true: You are now passing on random loot.
 
** true: You are now passing on random loot.
   
 
== Spell Functions ==
 
== Spell Functions ==
* NEW - name, rank, icon, cost, isFunnel, powerType, castTime, minRange, maxRange = GetSpellInfo(spellId or spellName or spellLink)
+
* NEW - name, rank, icon, cost, isFunnel, powerType, castTime, minRange, maxRange = [[API GetSpellInfo|GetSpellInfo]](spellId or spellName or spellLink)
* NEW - spellLink = GetSpellLink(spellId or spellName or spellLink)
+
* NEW - spellLink = [[API GetSpellLink|GetSpellLink]](spellId or spellName or spellLink)
* NEW - spellLink = GetTalentLink(tab, index[, inspect])
+
* NEW - spellLink = [[API GetTalentLink|GetTalentLink]](tab, index[, inspect])
   
 
== Summon Functions ==
 
== Summon Functions ==
* NEW - canSummon = CanSummonFriend()
+
* NEW - canSummon = [[API CanSummonFriend|CanSummonFriend]]()
* NEW - SummonFriend()
+
* NEW - [[API SummonFriend|SummonFriend]]()
   
 
== Totem Functions ==
 
== Totem Functions ==
* NEW - haveTotem, name, startTime, duration, icon = GetTotemInfo(slot)
+
* NEW - haveTotem, name, startTime, duration, icon = [[API GetTotemInfo|GetTotemInfo]](slot)
 
** 1 = Fire
 
** 1 = Fire
 
** 2 = Earth
 
** 2 = Earth
 
** 3 = Water
 
** 3 = Water
 
** 4 = Air
 
** 4 = Air
  +
* NEW - timeleft = [[API GetTotemTimeLeft|GetTotemTimeLeft]](slot)
   
 
== Unit Functions ==
 
== Unit Functions ==
* NEW - healthMod = GetUnitMaxHealthModifier("unit")
+
* NEW - healthMod = [[API GetUnitMaxHealthModifier|GetUnitMaxHealthModifier]]("[[unitId|unit]]")
* NEW - inRange = UnitInRange("unit") -- Determines if a unit is within a (fixed by Blizzard) useful range based on flash heal/cure range) This is now used by the Blizzard Raid UI
+
* NEW - inRange = [[API UnitInRange|UnitInRange]]("[[unitId|unit]]") -- Determines if a unit is within a (fixed by Blizzard) useful range based on flash heal/cure range) This is now used by the Blizzard Raid UI
* NEW - classLocal, class = UnitClassBase("unit")
+
* NEW - classLocal, class = [[API UnitClassBase|UnitClassBase]]("[[unitId|unit]]")
* NEW - raceLocal, race = UnitRaceBase("unit")
+
* NEW - raceLocal, race = [[API UnitRaceBase|UnitRaceBase]]("[[unitId|unit]]")
  +
* NEW - [[GUID|guid]] = [[API UnitGUID|UnitGUID]]("[[unitId|unit]]") -- Returns a string representing a unique identifier for the given unit. This is the same string that is used in the combat log to identify a unit.
   
 
== Unknown Functions ==
 
== Unknown Functions ==
* NEW - DeclineName("name", gender, declensionSet)
+
* NEW - [[API DeclineName|DeclineName]]("name", gender, declensionSet)
* NEW - GetNumDeclensionSets("name", gender)
+
* NEW - [[API GetNumDeclensionSets|GetNumDeclensionSets]]("name", gender)
* NEW - CanGrantLevel()
+
* NEW - [[API CanGrantLevel|CanGrantLevel]]()
* NEW - GrantLevel()
+
* NEW - [[API GrantLevel|GrantLevel]]()
* NEW - CommentatorSetCameraCollision()
+
* NEW - [[API CommentatorSetCameraCollision|CommentatorSetCameraCollision]]()
* NEW - CommentatorSetTargetHeightOffset()
+
* NEW - [[API CommentatorSetTargetHeightOffset|CommentatorSetTargetHeightOffset]]()
* NEW - TogglePerformancePause()
+
* NEW - [[API TogglePerformancePause|TogglePerformancePause]]()

Revision as of 12:53, 28 March 2010

Significant Changes

  • The combat logging mechanism is completely overhauled with explicit data instead of text strings delivered to the UI. See slouken's post below for a sneak-peak at some of the current details. Highlights include detailed flags indicating relationship of involved units to player, unique identifiers for units with the same name within the combat log -- great for log analysis.
  • The In-game Interface Options screen is being revamped and the new architecture should allow AddOn authors to modify its contents without the taint issues presented by the current system. Additionally this system will contain an area for AddOn authors to present their own configuration options. Authors interested in this feature should be sure to experiment on the PTRs before patch 2.4 is released so that any issues can be surfaced and discussed. Basic details on how to use this system can be found in code comments in the 2.4 UIOptionsPanels.lua.

Events

Secure Templates

  • The SecureStateHeader now provides a mechanism to change its own attributes in response to state changes.

Debugging

  • In 2.4, you'll be able to pass a coroutine as a first (optional) parameter to debugstack()

Visual Settings

  • There's a new cVar unitHighlights; 0 = no model highlighting with Alt-Z, 1 = model highlighting on with Alt-Z. (e.g. /console unitHighlights 1)
  • Players can now toggle the display of Friendly and Enemy player names, as well as their pets and creations. You can toggle cosmetic pet names too. :)

Tooltip Methods

  • NEW - GameTooltip:SetTotem(slot)

Font String Display

  • Textures can now be included in FontStrings locally using a new | escape code: |T<path>:<width>[:<height>:<xOffset>:<yOffset>]|t
  • Selected textures can also be included in Chat messages and sent to other users, the current available textures are represented in a form like: {star}

Character Functions

Channel Functions

  • NEW - DeclineInvite(channel)

Combat Log Functions

Friend Functions

Guild Functions

  • NEW - canEdit = CanEditGuildTabInfo(tab)

Guild Bank Functions

  • NEW - QueryGuildBankText(tab)
  • NEW - SetGuildBankText(tab, "text")

Inventory Functions

  • NEW - freeSlots, itemFamily = GetContainerNumFreeSlots(bagIndex) -- Returns the number of free slots in a bag, and the type of items that can go in the bag. For bagType, 0 means any item can go in the bag.

Item Functions

  • NEW - bagType = GetItemFamily(itemId or itemName or itemLink or itemString) -- When used with a container, this returns the type of container. When used with an item, it returns the type of container the item can go in. However, bagType is a bitflag, so GetItemFamily for something that could go in a quiver (bagType 1) and an ammo pouch (bagType 2) would return 3. A bag that can hold both arrows and bullets would also return 3.
    • 0 = Unspecified (for bags it means any item, for items it means no special bag type)
    • 1 = Quiver
    • 2 = Ammo Pouch
    • 4 = Soul Bag
    • 8 = Leatherworking Bag
    • 16 = Unknown
    • 32 = Herb Bags
    • 64 = Enchanting Bags
    • 128 = Engineering Bag
    • 256 = Keyring
    • 512 = Gem Bag
    • 1024 = Mining Bag
    • 2048 = Unknown
    • 4096 = Vanity Pets
  • NEW - icon = GetItemIcon(itemId or itemName or itemLink or itemString) -- Returns the icon for an item (as long as the item is valid), even if GetItemInfo returns nil.

Quest Functions

  • NEW - questLink = GetQuestLink(questLogId)
  • NEW - GetRewardTitle()

Language Functions

Loot Functions

  • NEW - isOptOutOfLoot = GetOptOutOfLoot()
  • NEW - SetOptOutOfLoot(boolean)
    • false: You are now eliglible for random loot.
    • true: You are now passing on random loot.

Spell Functions

  • NEW - name, rank, icon, cost, isFunnel, powerType, castTime, minRange, maxRange = GetSpellInfo(spellId or spellName or spellLink)
  • NEW - spellLink = GetSpellLink(spellId or spellName or spellLink)
  • NEW - spellLink = GetTalentLink(tab, index[, inspect])

Summon Functions

Totem Functions

  • NEW - haveTotem, name, startTime, duration, icon = GetTotemInfo(slot)
    • 1 = Fire
    • 2 = Earth
    • 3 = Water
    • 4 = Air
  • NEW - timeleft = GetTotemTimeLeft(slot)

Unit Functions

  • NEW - healthMod = GetUnitMaxHealthModifier("unit")
  • NEW - inRange = UnitInRange("unit") -- Determines if a unit is within a (fixed by Blizzard) useful range based on flash heal/cure range) This is now used by the Blizzard Raid UI
  • NEW - classLocal, class = UnitClassBase("unit")
  • NEW - raceLocal, race = UnitRaceBase("unit")
  • NEW - guid = UnitGUID("unit") -- Returns a string representing a unique identifier for the given unit. This is the same string that is used in the combat log to identify a unit.

Unknown Functions