Tribe

Tribe is a trait generated by npcGenerator. It can represent several different things, based on the Race. Among the things it can represent are the Tribe, Clan or past life (in case of Undead of Death Knight npcs). It can however also be unused. In that case, the input field will be left empty.

Related to Tribes is the TribeContext, defined in the same file. For every race a TribeContext exists. This TribeContext is visible on the interface (even if left empty) and describes what the Tribe should be read as.

Tribe only depends on race.

## Tribes

### Blood Elf

Blood Elf does not use any tribes. As such, the TribeContext is left empty.

### Draenei

Draenei does not use any tribes. As such, the TribeContext is left empty.

### Death Knight

Death Knights use tribe to represent their previous life. As such, the TribeContext is listed as "Died as".

Only World of Warcraft Races that can be Death Knight are in the Tribe list, as well as "High Elf" and "Half Elf", as they function similar to Humans or Blood Elves.

### Dwarf

For Dwarves, the Tribe trait is used to denote their clan. This means Dwarf will use the following tribes:

* Bronzebeard
* Dark Iron
* Frostborn
* Stonefist
* Stormpike
* Wildhammer

### Gnome

Gnomes don't use any tribes. The TribeContext is left empty for this purpose.

### Half Elf

Half Elves don't use the Tribe trait. This is true for 0.x.x but might change in the future to reflect their alliance.

### Half Orc

Half Orcs don't use the Tribe trait. This is true for 0.x.x but might change in the future to reflect their alliance. It might also be used to differentiate between Half Human or Half Draenei versions (though the authors are unsure on it.)

### High Elf

High Elves don't use the Tribe trait. It would have been possible to define Elf as Race and make High Elf a tribe, but this would overcomplicate things. Defining as a separate Race felt better.

### Human

Humans currently don't use the Tribe trait. This might change in the future to represent their origin.

### Orc

Orcs use the Tribe trait to differentiate between Fel Orcs and Brown Orcs, but this might be changed to reflect their clan (such as "Doomhammer" or "Hellscream")

Thus, currently in 0.x.x the Tribes for Orc are:

* Fel
* Brown

### Pandaren

Pandaren use the Tribe trait to differentiate between the Tushui and Huojin. Another name for those coming from Pandaria will be added in the near future.

Currently Pandaren uses the following Tribes:

* Huojin
* Tushui

### Tauren

Tauren uses the Tribe trait to indicate the Tribe they belong to. The currently used Tribes are:

"highmountain", "bloodhoof", "dawnstrider", "grimtotem", "mistrunner", "ragetotem", "runetotem", "skychaser", "stonehoof", "thunderhorn", "wildmane", "winterhoof", "clawhoof"

* Bloodhoof
* Clawhoof
* Dawnstrider
* Grimtotem
* Highmountain
* Mistrunner
* Ragetotem
* Runetotem
* Skychaser
* Stonehoof
* Thunderhoof

### Troll

Troll currently, in 0.x.x uses Tribes as a subrace. The currently supported subraces are:

* Desert
* Forest
* Ice
* Island
* Forest

This might however change in the future to reflect clans.

### Undead

For Undead Tribes represent their past life. As such, the races most likely to have come into contact with the Scourge are used as the Tribes for Undead. The Undead represent Forsaken, so the Tribes take this into account. Therefore the used past lives are:

* Human
* High Elf
* Blood Elf

However, these are not distributed uniformly. Former humans make up 70% of the Undead, former High Elves are 20% and former Blood Elves are 10%.

## Functionality

Tribes and TribeContext is found under modules/tribes.lua. It defines the following functions:

* generateRandomTribe
* getTribeContext