WoW API: UnitClass
Returns the class (Mage, Warrior, etc) of the specified unit.
localizedClass, englishClass, classIndex = UnitClass("unit");
ParametersEdit
ArgumentsEdit
- unit
- String - the unitId to query, e.g. "player"
ReturnsEdit
- localizedClass, englishClass, classIndex
- localizedclass
- The localized class of the specified unit as a string. e.g. "Mage", "Warrior", "Guerrier", etc.
- englishclass
- The fully capitalized english class name with no spaces, e.g. "MAGE", "WARRIOR", "DEATHKNIGHT", etc.
- classIndex
- the number index corresponding to the particular class that is returned. Number mapping is as follows:
- None = 0
- Warrior = 1
- Paladin = 2
- Hunter = 3
- Rogue = 4
- Priest = 5
- DeathKnight = 6
- Shaman = 7
- Mage = 8
- Warlock = 9
- Monk = 10
- Druid = 11
- Demon Hunter = 12
ExampleEdit
local playerClass, englishClass = UnitClass("player"); ChatFrame1:AddMessage('Your player is a : ' .. playerClass .. '; ' .. englishClass .. '.');
ResultEdit
Prints the player's class to the chat frame, e.g.
Your player is a : Warrior; WARRIOR.
DetailsEdit
For any type of data tracking, use the second parameter, since it is guaranteed to stay the same in different-language clients. This is especially important in europe, where it is not uncommon for people with e.g. german or french client software to play on english servers. You can keep track of mappings for display by remembering the output pairs in a table, e.g.:
localizedClass, englishClass = UnitClass("target"); MyAddOn_Classes[englishClass] = localizedClass; .. do data tracking stuff with englishClass..