WoW:API GetCompanionInfo: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(add known issue)
m (Move page script moved page API GetCompanionInfo to API GetCompanionInfo without leaving a redirect)
 
(6 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{wowapi}} __NOTOC__
{{wowapi}} __NOTOC__
Returns information about the companions you have.
creatureID, creatureName, creatureSpellID, icon, issummoned, mountTypeID = GetCompanionInfo("type", id)


== Arguments ==
;type
: String ([[companionType]]) - Companion type to query: "CRITTER" or "MOUNT".
;id
: Integer - The slot id to query (starts at 1).


<!-- Describe the purpose of the function, exhausting detail can be saved for a later section -->
== Returns ==
Returns information about the companions you have. New in [[Patch 3.0]]
;creatureID
: Integer - The NPC ID of the companion.
;creatureName
: String - The name of the companion.
;creatureSpellID
: Integer - The spell ID to cast the companion. This is not passed to [[API CallCompanion|CallCompanion]], but can be used with, e.g., [[API GetSpellInfo|GetSpellInfo]].
;icon
: String - The texture of the icon for the companion.
;issummoned
: Flag - 1 if the companion is summoned, nil if it's not
;mountTypeID
: Integer - 15 and 31 (0x0f and 0x1f) for flying mounts, 29 (0x1d) for ground mounts, 12 (0x0c) for water mounts and nil for companions. Difference between flying mount values unknown.


<!-- List return values and arguments as well as function name, follow Blizzard usage convention for args -->
== Examples ==
creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("type", id)
;Example 1
 
for i=1,GetNumCompanions("CRITTER") do
== Parameters ==
    local creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("CRITTER", i);
=== Arguments ===
    print(creatureID, creatureSpellID, creatureName, icon, issummoned)
<!-- List each argument, together with its type -->
end
:("type")
Prints all the information regarding your pets to the chat frame:
 
7555 Hawk Owl 10706 Interface\Icons\Ability_EyeOfTheOwl 1  
:;type : String - The [[API TYPE TypeId|TypeID]] to query (e.g. "CRITTER", or "MOUNT")
7553 Great Horned Owl 10707 Interface\Icons\Ability_EyeOfTheOwl nil
:;id : Integer - The slot id to query (starts at 1).


=== Returns ===
;Example 2
<!-- List each return value, together with its type -->
for i = 1, GetNumCompanions("MOUNT") do
:;creatureID: Integer - The NPC ID of the companion.
    local _,name,_,_,_,typeID,typeString = GetCompanionInfo("mount", i)
:;creatureName: String - The name of the companion.
    -- Assign local vars name and typeID from GetCompanionInfo(). Create unnasigned local var typeString.
:;creatureSpellID: Integer - The spell ID to cast the companion.  This is not passed to [[API CallCompanion|CallCompanion]], but can be used with, e.g., [[API GetSpellInfo|GetSpellInfo]].
    typeID = bit.band(3, typeID)
:;icon: String - The texture of the icon for the companion.
    -- Bitwise AND operator sets typeID to 0 for water, 1 for ground and 3 for flying mounts.
:;issummoned: integer - 1 if the companion is summoned, nil if it's not
    typeString = typeID == 0 and "Water" or typeID == 1 and "Ground" or "Flying"
    -- Nested and..or operator to set typeString according to typeID.
    print(name, typeString)
end


== Known Issues ==
Prints the name of all of your mounts, followed by their mount type:
Abyssal Seahorse Water
Black Drake Mount Flying
Ochre Skeletal Warhorse Ground


If called early in the loading process, before [[Events/Companion|COMPANION_UPDATE]] fires, GetCompanionInfo returns companions in the order that they were learned by the current character. After COMPANION_UPDATE has fired at least once, GetCompanionInfo returns companions in alphabetical order. This information is accurate as of WoW 3.1.2.
== Notes ==
* If called before the client updates the creature cache, GetCompanionInfo returns companions in the order in which they were learned by the current character (this can be observed during the first log-on after a patch or by removing the client's cache files). Once the cache is updated, however, it returns companions in alphabetical order; a COMPANION_UPDATE event is fired to notify of this update (however, multiple COMPANION_UPDATE events may be fired prior to the update as well). This was last verified in [[Patch 3.3.0a]].
* This function was introduced in [[Patch 3.0]].


== Example ==
;This command will be removed in the WoD 6.0 API and replaced with:
<!-- If it helps, include an example here, though it's not required if the usage is self-explanatory -->
:mountName, spellID, icon, active, mountFlags = '''C_MountJournal.GetMountInfo'''(index)
<!-- begin code -->
:creatureID no longer is given at the beginning of the return list.
for i=1,GetNumCompanions("CRITTER"),1 do
local creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("CRITTER", i);
ChatFrame1:AddMessage(creatureID .. " " .. creatureSpellID .. " " .. creatureName .. " " .. icon .. " " .. issummoned) end
<!-- end code -->


====Result====
:There are many new '''C_PetJournal''' functions and I am unable to document them at this time.
<!-- If it helps, include example results here, though they are not required. You're allowed to cheat liberally since WoW isn't a command line language. -->
:Prints all the information regarding your pets to the chat frame.
<!-- begin code -->
7555 Hawk Owl 10706 Interface\Icons\Ability_EyeOfTheOwl 1
7553 Great Horned Owl 10707 Interface\Icons\Ability_EyeOfTheOwl nil
<!-- end code -->
[[Category:World of Warcraft API]]

Latest revision as of 04:45, 15 August 2023

WoW API < GetCompanionInfo

Returns information about the companions you have.

creatureID, creatureName, creatureSpellID, icon, issummoned, mountTypeID = GetCompanionInfo("type", id)

Arguments[edit]

type
String (companionType) - Companion type to query: "CRITTER" or "MOUNT".
id
Integer - The slot id to query (starts at 1).

Returns[edit]

creatureID
Integer - The NPC ID of the companion.
creatureName
String - The name of the companion.
creatureSpellID
Integer - The spell ID to cast the companion. This is not passed to CallCompanion, but can be used with, e.g., GetSpellInfo.
icon
String - The texture of the icon for the companion.
issummoned
Flag - 1 if the companion is summoned, nil if it's not
mountTypeID
Integer - 15 and 31 (0x0f and 0x1f) for flying mounts, 29 (0x1d) for ground mounts, 12 (0x0c) for water mounts and nil for companions. Difference between flying mount values unknown.

Examples[edit]

Example 1
for i=1,GetNumCompanions("CRITTER") do
    local creatureID, creatureName, creatureSpellID, icon, issummoned = GetCompanionInfo("CRITTER", i);
    print(creatureID, creatureSpellID, creatureName, icon, issummoned)
end

Prints all the information regarding your pets to the chat frame:

7555 Hawk Owl 10706 Interface\Icons\Ability_EyeOfTheOwl 1 
7553 Great Horned Owl 10707 Interface\Icons\Ability_EyeOfTheOwl nil
Example 2
for i = 1, GetNumCompanions("MOUNT") do
    local _,name,_,_,_,typeID,typeString = GetCompanionInfo("mount", i)
    -- Assign local vars name and typeID from GetCompanionInfo(). Create unnasigned local var typeString.
    typeID = bit.band(3, typeID)
    -- Bitwise AND operator sets typeID to 0 for water, 1 for ground and 3 for flying mounts.
    typeString = typeID == 0 and "Water" or typeID == 1 and "Ground" or "Flying"
    -- Nested and..or operator to set typeString according to typeID.
    print(name, typeString)
end

Prints the name of all of your mounts, followed by their mount type:

Abyssal Seahorse Water
Black Drake Mount Flying
Ochre Skeletal Warhorse Ground

Notes[edit]

  • If called before the client updates the creature cache, GetCompanionInfo returns companions in the order in which they were learned by the current character (this can be observed during the first log-on after a patch or by removing the client's cache files). Once the cache is updated, however, it returns companions in alphabetical order; a COMPANION_UPDATE event is fired to notify of this update (however, multiple COMPANION_UPDATE events may be fired prior to the update as well). This was last verified in Patch 3.3.0a.
  • This function was introduced in Patch 3.0.
This command will be removed in the WoD 6.0 API and replaced with
mountName, spellID, icon, active, mountFlags = C_MountJournal.GetMountInfo(index)
creatureID no longer is given at the beginning of the return list.
There are many new C_PetJournal functions and I am unable to document them at this time.