eluna-scripts-ornfelt/lua/WowEmulationScriptPack/C++/templatenpc.cpp
2024-09-23 07:59:23 +02:00

1268 lines
No EOL
68 KiB
C++

// Template NPC
// Smolderforge
// Template by Robin
#include "ScriptPCH.h"
#include "beastmaster.h"
void AddTrinketTabardShirt(Player *player)
{
// general defines
uint32 trinketHorde = 37865;
uint32 trinketAlly = 37864;
uint32 guildtabard = 5976;
uint32 shirt = 4333;
if (player->GetTeam() == HORDE)
player->StoreNewItemInBestSlots(trinketHorde, 1);
else
player->StoreNewItemInBestSlots(trinketAlly, 1);
//player->StoreNewItemInBestSlots(guildtabard, 1);
player->StoreNewItemInBestSlots(shirt, 1);
}
void AddEnchantment(Player *player, Item *item, uint32 enchantId)
{
if (!player || !item || !enchantId)
return;
// remove old enchanting before applying new if equipped
player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, false);
item->SetEnchantment(PERM_ENCHANTMENT_SLOT, enchantId, 0, 0);
// add new enchanting if equipped
player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, true);
}
void AddSocket(Player *player, Item *item, uint32 enchantId_1, uint32 enchantId_2, uint32 enchantId_3)
{
if (!player || !item)
return;
//remove ALL enchants
for (uint32 enchant_slot = SOCK_ENCHANTMENT_SLOT; enchant_slot < SOCK_ENCHANTMENT_SLOT+3; ++enchant_slot)
player->ApplyEnchantment(item, EnchantmentSlot(enchant_slot), false);
if (enchantId_1)
item->SetEnchantment(EnchantmentSlot(SOCK_ENCHANTMENT_SLOT), enchantId_1, 0, 0);
if (enchantId_2)
item->SetEnchantment(EnchantmentSlot(SOCK_ENCHANTMENT_SLOT_2), enchantId_2, 0, 0);
if (enchantId_3)
item->SetEnchantment(EnchantmentSlot(SOCK_ENCHANTMENT_SLOT_3), enchantId_3, 0, 0);
for (uint32 enchant_slot = SOCK_ENCHANTMENT_SLOT; enchant_slot < SOCK_ENCHANTMENT_SLOT+3; ++enchant_slot)
player->ApplyEnchantment(item, EnchantmentSlot(enchant_slot), true);
}
void AddItemsEnchantsGemsTalents(Player* player, uint32 items[], uint32 sockets[][3], uint32 enchants[], uint32 talents[], uint32 itemsCount, uint32 talentsCount)
{
// wipe talents without confirmation
player->resetTalents(true);
// learn talents from array
for (uint32 talent_i = 0; talent_i < talentsCount; talent_i++)
{
player->learnSpell(talents[talent_i]);
player->addTalent(talents[talent_i], player->GetActiveSpec(), true);
}
// remove all talents points
player->SetFreeTalentPoints(0);
// add items and equipt it
for (uint32 i = 0; i < itemsCount; i++)
player->StoreNewItemInBestSlots(items[i], 1);
// add socket to items
for (int i_slot = EQUIPMENT_SLOT_START; i_slot < EQUIPMENT_SLOT_END; i_slot++)
{
Item *itemTarget = player->GetItemByPos(INVENTORY_SLOT_BAG_0, i_slot);
if (sockets[i_slot][0] || sockets[i_slot][1] || sockets[i_slot][2]) // if there is at least 1 gem
AddSocket(player, itemTarget, sockets[i_slot][0], sockets[i_slot][1], sockets[i_slot][2]);
AddEnchantment(player, itemTarget, enchants[i_slot]);
if (i_slot >= INVENTORY_SLOT_BAG_END || !itemTarget)
continue;
ItemPrototype const *proto = itemTarget->GetProto();
player->ApplyEnchantment(itemTarget,BONUS_ENCHANTMENT_SLOT, false);
itemTarget->SetEnchantment(BONUS_ENCHANTMENT_SLOT, proto->socketBonus, 0, 0);
player->ApplyEnchantment(itemTarget, BONUS_ENCHANTMENT_SLOT, true);
}
player->ToggleMetaGemsActive(23, true); // 23 is INVENTORY_SLOT_ITEM_1, not defined in oregon anymore
// add trinkets tabard and shirt from function
AddTrinketTabardShirt(player);
player->ResetAllPowers(); // set health, mana, etc. to full
}
bool GossipHello_npc_template(Player *player, Creature *creature)
{
if (creature->isQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
player->ADD_GOSSIP_ITEM(0, "Equip all my items, enchants, gems and spec my talents please.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(9, creature->GetGUID());
return true;
}
bool GossipSelect_npc_template(Player *player, Creature *creature, uint32 sender, uint32 action)
{
uint32 itemsCount = 0;
uint32 talentsCount = 0;
switch (action)
{
case GOSSIP_ACTION_INFO_DEF + 1:
{
// check if player has item equipped
for (int i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; i++)
{
Item *itemTarget = player->GetItemByPos(INVENTORY_SLOT_BAG_0, i);
if (itemTarget)
{
player->GetSession()->SendNotification("You must unequip all items first.");
player->CLOSE_GOSSIP_MENU();
return true;
}
}
// check if player is in bg queue
if (player->InBattleGroundQueue())
{
player->GetSession()->SendNotification("You must leave all queues before resetting talents");
return true;
}
switch (player->getClass())
{
case CLASS_WARRIOR:
player->ADD_GOSSIP_ITEM(0, "Arms (Axe)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 101);
player->ADD_GOSSIP_ITEM(0, "Arms (Mace)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 102);
player->ADD_GOSSIP_ITEM(0, "Arms (Sword)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 103);
break;
case CLASS_PALADIN:
player->ADD_GOSSIP_ITEM(0, "Holy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 201);
player->ADD_GOSSIP_ITEM(0, "Shockadin", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 202);
player->ADD_GOSSIP_ITEM(0, "Retribution", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 203);
break;
case CLASS_HUNTER:
player->ADD_GOSSIP_ITEM(0, "Beastmastery", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 301);
player->ADD_GOSSIP_ITEM(0, "Marksmanship", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 302);
player->ADD_GOSSIP_ITEM(0, "Survival", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 303);
break;
case CLASS_ROGUE:
player->ADD_GOSSIP_ITEM(0, "Assassination (Mutilate)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 401);
player->ADD_GOSSIP_ITEM(0, "Subtlety (Hemorrhage)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 403);
break;
case CLASS_PRIEST:
player->ADD_GOSSIP_ITEM(0, "Discipline / Holy", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 501);
player->ADD_GOSSIP_ITEM(0, "Shadow", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 502);
break;
case CLASS_SHAMAN:
player->ADD_GOSSIP_ITEM(0, "Elemental", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 601);
player->ADD_GOSSIP_ITEM(0, "Enhancement", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 602);
player->ADD_GOSSIP_ITEM(0, "Restoration", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 603);
break;
case CLASS_MAGE:
//player->ADD_GOSSIP_ITEM(0, "Arcane/Fire (PoM/Pyro)", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 701);
player->ADD_GOSSIP_ITEM(0, "Fire", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 702);
player->ADD_GOSSIP_ITEM(0, "Frost", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 703);
break;
case CLASS_WARLOCK:
player->ADD_GOSSIP_ITEM(0, "Affliction", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 801);
player->ADD_GOSSIP_ITEM(0, "Demonology", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 802);
player->ADD_GOSSIP_ITEM(0, "SL/SL", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 803);
player->ADD_GOSSIP_ITEM(0, "Destruction", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 804);
break;
case CLASS_DRUID:
player->ADD_GOSSIP_ITEM(0, "Balance", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 901);
player->ADD_GOSSIP_ITEM(0, "Feral Combat", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 902);
player->ADD_GOSSIP_ITEM(0, "Restoration", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 904);
player->ADD_GOSSIP_ITEM(0, "Restokin", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 905);
break;
}
player->SEND_GOSSIP_MENU(60, creature->GetGUID());
break;
}
case GOSSIP_ACTION_INFO_DEF + 101: // Warrior - Arms (Axe - 100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {30488, 33923, 30490, 33484, 30486, 33813, 30487, 33331, 30489, 33812, 33919, 33057, 29383, 31966, 32054}; // item ids
uint32 itemsCount = 15; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 2647, 684, 2931, 2931, 0, 0, 368, 3225, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3139, 0 },
{ 3139, 0 , 0},
{ 3115, 3139, 0},
{ 0, 0, 0 },
{ 3115, 3115, 3139},
{ 3115, 3115, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3139, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16466, 12962, 12963, 12867, 12712, 16494, 12292, 12785, 29889, 12668, 29859, 12294, 29838, 12856, 12838, 12322, 12323, 16492, 13048, 12328, 20505, 12677};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 102: // Warrior - Arms (Mace - 100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {30488, 33923, 30490, 33484, 30486, 33813, 30487, 33331, 30489, 33812, 33919, 33057, 29383, 31959, 32054}; // item ids
uint32 itemsCount = 15; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 2647, 684, 2931, 2931, 0, 0, 368, 3225, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3139, 0 },
{ 3139, 0 , 0},
{ 3115, 3139, 0},
{ 0, 0, 0 },
{ 3115, 3115, 3139},
{ 3115, 3115, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3139, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16466, 12962, 12963, 12867, 12712, 16494, 12292, 12704, 29889, 12668, 29859, 12294, 29838, 12856, 12838, 12322, 12323, 16492, 13048, 12328, 20505, 12677};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 103: // Warrior - Arms (Sword - 100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {30488, 33923, 30490, 33484, 30486, 33813, 30487, 33331, 30489, 33812, 33919, 33057, 29383, 31984, 32054}; // item ids
uint32 itemsCount = 15; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 2647, 684, 2931, 2931, 0, 0, 368, 3225, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3139, 0 },
{ 3139, 0 , 0},
{ 3115, 3139, 0},
{ 0, 0, 0 },
{ 3115, 3115, 3139},
{ 3115, 3115, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3139, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16466, 12962, 12963, 12867, 12712, 16494, 12292, 12815, 29889, 12668, 29859, 12294, 29838, 12856, 12838, 12322, 12323, 16492, 13048, 12328, 20505, 12677};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 201: // Paladin - Holy (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32022, 33922, 32024, 33333, 32020, 33904, 32021, 33903, 33518, 33905, 33918, 33064, 34471, 30108, 33309, 33077}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3004, 0, 2980, 0, 2933, 0, 2746, 2940, 2617, 2322, 2930, 2930, 0, 0, 2664, 2343, 3229, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2835, 3138, 0 },
{ 3141, 0 , 0},
{ 3138, 3141, 0},
{ 0, 0, 0 },
{ 3138, 3138, 3141},
{ 0, 0, 0 },
{ 3138, 3141, 3138 },
{ 0, 0, 0 },
{ 3141, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {20261, 20209, 20224, 20239, 31821, 25836, 20215, 20216, 20361, 25829, 20473, 31830, 31833, 31841, 31842, 20137, 20175, 20146, 20217, 20470, 31845, 20256};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 202: // Paladin - Shockadin (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31997, 33920, 31996, 33304, 31992, 33889, 31993, 30064, 31995, 33890, 33853, 33056, 29370, 32963, 33313, 33504}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2982, 0, 2933, 0, 2748, 2649, 2650, 2937, 2928, 2928, 0, 0, 2938, 36, 2654, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3210, 0 },
{ 3282, 0 , 0},
{ 3282, 3140, 0},
{ 0, 0, 0 },
{ 3282, 3282, 3140},
{ 3282, 3282, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3140, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {20261, 20332, 20208, 20239, 25836, 20215, 20216, 25829, 20473, 31830, 31841, 20105, 25957, 20337, 26021, 44414, 25988, 31867, 20218};
talentsCount = 19; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 203: // Paladin - Retribution (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32041, 33923, 32043, 33484, 32039, 33910, 32040, 33909, 33501, 33911, 33919, 33057, 29383, 31984, 27484}; // item ids
uint32 itemsCount = 15; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3096, 0, 2986, 0, 2933, 0, 3012, 2657, 2647, 684, 2931, 2931, 0, 0, 368, 2667, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2830, 3115, 0 },
{ 3139, 0 , 0},
{ 3208, 3139, 0},
{ 0, 0, 0 },
{ 3115, 3115, 3139},
{ 0, 0, 0 },
{ 3115, 3139, 3133 },
{ 0, 0, 0 },
{ 3139, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {20105, 25957, 20337, 26021, 20121, 20375, 44414, 25988, 20113, 20218, 20059, 31878, 20066, 35397, 35395, 20137, 20193, 20175, 20143, 20217, 20470, 31845, 20489};
talentsCount = 23; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 301: // Hunter - Beastmastery (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31962, 31964, 33923, 33484, 31960, 33877, 31961, 33527, 33878, 34887, 33496, 34578, 31965, 31985, 31986, 33876}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 1593, 2564, 2931, 2931, 0, 0, 368, 2666, 2666, 2523, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3208, 0 },
{ 3219, 0 , 0},
{ 3281, 3144, 0},
{ 0, 0, 0 },
{ 3281, 3281, 3144},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3144, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {19587, 35030, 19609, 19575, 19596, 19620, 19573, 19602, 19577, 19592, 19625, 34460, 19574, 34470, 34692, 19431, 19415, 34954, 19434, 34949, 19490};
talentsCount = 21; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
CreatePet(player, creature, PET_RAVAGER);
break;
}
case GOSSIP_ACTION_INFO_DEF + 302: // Hunter - Marksman (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31962, 30017, 31964, 29994, 31960, 33876, 31965, 31985, 34892, 31961, 33877, 31963, 33878, 33496, 34887, 34163, }; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 1593, 2564, 2931, 2931, 0, 0, 368, 2666, 2666, 2523, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3208, 0 }, // HEAD
{ 0, 0, 0 }, // NECK
{ 3209, 3215, 0 }, // SHOULDER
{ 0, 0, 0 }, // BODY(SHIRT)
{ 3116, 3116, 3131 }, // CHEST
{ 0, 0, 0 }, // WAIST
{ 0, 0, 0 }, // LEGS
{ 0, 0, 0 }, // FEET
{ 3131, 0, 0 }, // WRISTS
{ 0, 0, 0 }, // HANDS
{ 0, 0, 0 }, // FINGER1
{ 0, 0, 0 }, // FINGER2
{ 0, 0, 0 }, // TRINKET1
{ 0, 0, 0 }, // TRINKET2
{ 0, 0, 0 }, // BACK
{ 0, 0, 0 }, // MAINHAND
{ 0, 0, 0 }, // OFFHAND
{ 0, 0, 0 }, // RANGE
{ 0, 0, 0 }, // TABARD
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {19587, 19575, 19415, 19431, 34954, 19434, 34949, 19468, 19490, 19503, 34476, 19511, 34484, 19506, 34489, 34490, 19152, 19500, 19387, 19233, 19263};
talentsCount = 21; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
CreatePet(player, creature, PET_WIND_SERPENT);
break;
}
case GOSSIP_ACTION_INFO_DEF + 303: // Hunter - Survival (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31962, 31964, 33923, 33484, 31960, 33877, 31961, 33527, 33878, 34887, 33496, 34578, 31965, 31985, 31986, 33876}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 1593, 2564, 2931, 2931, 0, 0, 368, 2666, 2666, 2724, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3209, 0 },
{ 3144, 0 , 0},
{ 3116, 3144, 0},
{ 0, 0, 0 },
{ 3116, 3116, 3144},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3144, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {19431, 19415, 34954, 19434, 19434, 34949, 19490, 19503, 19152, 19500, 19388, 19233, 19259, 19263, 24283, 34496, 19373, 24297, 34497, 19386, 34503, 34839};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
CreatePet(player, creature, PET_WIND_SERPENT);
break;
}
case GOSSIP_ACTION_INFO_DEF + 401: // Rogue - Assassination (Mutilate) (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31999, 33923, 32001, 29994, 32002, 33881, 32044, 32044, 32054, 31998, 30040, 30148, 33892, 33496, 34887, 29383, }; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 1593, 2564, 2931, 2931, 0, 0, 368, 2673, 2673, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2830, 3208, 0 }, // HEAD
{ 3220, 0, 0 }, // NECK
{ 3209, 3219, 0 }, // SHOULDER
{ 0, 0, 0 }, // BODY(SHIRT)
{ 3116, 3116, 3142 }, // CHEST
{ 3116, 3116, 0 }, // WAIST
{ 3134, 0, 0 }, // LEGS
{ 0, 0, 0 }, // FEET
{ 3116, 0, 0 }, // WRISTS
{ 0, 0, 0 }, // HANDS
{ 0, 0, 0 }, // FINGER1
{ 0, 0, 0 }, // FINGER2
{ 0, 0, 0 }, // TRINKET1
{ 0, 0, 0 }, // TRINKET2
{ 0, 0, 0 }, // BACK
{ 0, 0, 0 }, // MAINHAND
{ 0, 0, 0 }, // OFFHAND
{ 0, 0, 0 }, // RANGE
{ 0, 0, 0 }, // TABARD
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {14142, 14161, 14159, 13866, 14179, 14137, 14117, 31209, 14177, 14176, 31245, 14195, 14983, 31242, 1329, 14075, 14094, 14065, 13980, 14066 };
talentsCount = 20; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 403: // Rogue - Subtlety (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31999, 30017, 32001, 29994, 32002, 33881, 32028, 32046, 32054, 31998, 30040, 30148, 33892, 33496, 34887, 29383, }; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2933, 0, 3012, 2658, 1593, 2564, 2931, 2931, 0, 0, 368, 2673, 2673, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3208, 0 }, // HEAD
{ 0, 0, 0 }, // NECK
{ 3209, 3219, 0 }, // SHOULDER
{ 0, 0, 0 }, // BODY(SHIRT)
{ 3116, 3116, 3142 }, // CHEST
{ 3116, 3116, 0 }, // WAIST
{ 3134, 0, 0 }, // LEGS
{ 0, 0, 0 }, // FEET
{ 3116, 0, 0 }, // WRISTS
{ 0, 0, 0 }, // HANDS
{ 0, 0, 0 }, // FINGER1
{ 0, 0, 0 }, // FINGER2
{ 0, 0, 0 }, // TRINKET1
{ 0, 0, 0 }, // TRINKET2
{ 0, 0, 0 }, // BACK
{ 0, 0, 0 }, // MAINHAND
{ 0, 0, 0 }, // OFFHAND
{ 0, 0, 0 }, // RANGE
{ 0, 0, 0 }, // TABARD
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {14142, 14161, 14159, 14179, 14137, 16719, 13973, 14094, 14064, 13980, 14278, 14066, 14173, 30895, 14185, 14083, 16511, 30906, 31230, 14183, 31220, 36554 };
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 501: // Priest - Discipline / Holy (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32016, 33922, 32018, 29989, 32019, 33901, 32015, 33900, 32017, 33902, 33918, 30110, 30665, 32964, 32961, 30080}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3004, 0, 2980, 0, 2933, 0, 2746, 2940, 2617, 2322, 2930, 2930, 0, 0, 2938, 2343, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2835, 3318, 0 },
{ 3218, 0 , 0},
{ 3318, 3132, 0},
{ 0, 0, 0 },
{ 3318, 3215, 3131},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3131, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {14791, 14769, 14774, 33172, 14751, 14777, 14783, 14772, 18555, 14752, 33190, 45244, 10060, 33205, 34912, 33206, 15012, 17191, 18535, 27901, 15237, 27811};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 502: // Priest - Shadow (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32035, 33921, 32037, 29992, 32038, 33883, 32034, 30064, 32036, 33884, 33853, 33056, 34470, 32053, 31978, 32962}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3004, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2672, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3210, 0 },
{ 3215, 0 , 0},
{ 3282, 3131, 0},
{ 0, 0, 0 },
{ 3282, 3131, 3131},
{ 3282, 3282, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3131, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {14791, 14769, 14774, 33172, 14751, 14521, 14783, 15326, 15317, 15328, 15448, 15312, 15407, 17323, 15334, 15487, 15286, 27840, 33215, 15310, 15473, 33195, 34914};
talentsCount = 23; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 601: // Shaman - Elemental (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32011, 33921, 32013, 32009, 30044, 32012, 33899, 33897, 32010, 33853, 33056, 34579, 33304, 32963, 33313, 33506,};
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = {3002, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2669, 2654, 0, 0};
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3210, 0 },
{ 3140, 0, 0 },
{ 3282, 3140, 0 },
{ 0, 0, 0 },
{ 3282, 3140, 3140 },
{ 3137, 3140, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3140, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16111, 16108, 28998, 16164, 16120, 29065, 29000, 16089, 30665, 16582, 30671, 16166, 30681, 16217, 16240, 16222, 16233, 16189, 16221, 16188};
talentsCount = 20; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 602: // Shaman - Enhancement (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32006, 33923, 32008, 33484, 32004, 33894, 32005, 33895, 33527, 33896, 33919, 33057, 29383, 31965, 31965, 33507}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3096, 0, 2986, 0, 2933, 0, 3012, 2658, 2647, 684, 2931, 2931, 0, 0, 2938, 2668, 2668, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3208, 0 },
{ 3139, 0 , 0},
{ 3115, 3139, 0},
{ 0, 0, 0 },
{ 3115, 3115, 3139},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3139, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16301, 16305, 16287, 16290, 43338, 16284, 16309, 16268, 29080, 30814, 29084, 30819, 30798, 17364, 30811, 30823, 16108, 16130, 28998, 16164, 16116};
talentsCount = 21; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 603: // Shaman - Restoration (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32031, 33922, 32033, 33333, 32029, 33906, 32030, 33907, 32032, 33908, 33918, 33064, 34471, 30108, 33309, 24413}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3004, 0, 2980, 0, 2933, 0, 2746, 2940, 2617, 2322, 2930, 2930, 0, 0, 2938, 2343, 3229, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2835, 3138, 0 },
{ 3141, 0 , 0},
{ 3138, 3141, 0},
{ 0, 0, 0 },
{ 3138, 3141, 3141},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3141, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {17489, 16253, 16293, 16287, 16274, 16309, 16217, 16240, 16222, 16198, 16234, 16189, 16208, 16188, 30866, 16212, 16190, 30885, 30869, 974};
talentsCount = 20; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 701: // Mage - Arcane/Fire (Pom/Pyro) (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32048, 33921, 32047, 32050, 33912, 32051, 33914, 33913, 33853, 32049, 30109, 29370, 33304, 32055, 32962}; // item ids
uint32 itemsCount = 19; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2721, 0, 2661, 0, 2748, 2940, 2650, 2935, 2928, 2928, 0, 0, 2938, 2669, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3261, 3210, 0 }, //HEAD
{ 3282, 0 , 0}, //NECK
{ 3212, 3215, 0}, //SHOULDER
{ 0, 0, 0}, //SHIRT
{ 3282, 3284, 3218}, //CHEST
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3282, 0, 0 }, //WRISTS
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {12464, 12840, 12592, 29446, 12577, 28574, 12598, 12043, 12502, 15060, 31572, 31582, 12042, 35581, 31588, 12360, 12848, 12353, 11080, 11366, 18460, 12873, 11113};
talentsCount = 23; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 702: // Mage - Fire (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32048, 33921, 32047, 32050, 33912, 32051, 33914, 33913, 33853, 32049, 30109, 28785, 33304, 32055, 32962}; // item ids
uint32 itemsCount = 19; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2721, 0, 2661, 0, 2748, 2940, 2650, 2935, 2928, 2928, 0, 0, 2938, 2671, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3261, 3210, 0 }, //HEAD
{ 3282, 0 , 0}, //NECK
{ 3212, 3215, 0}, //SHOULDER
{ 0, 0, 0}, //SHIRT
{ 3282, 3284, 3218}, //CHEST
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3282, 0, 0 }, //WRISTS
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {12341, 12360, 12848, 12353, 18460, 11366, 12351, 12873, 13043, 29075, 11368, 11113, 31642, 12400, 11129, 31680, 31661, 12592, 16770, 12839, 12577, 28574, 12598};
talentsCount = 23; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 703: // Mage - Frost (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32047, 32048, 32049, 32050, 33584, 35319, 35321, 33913, 30064, 33914, 35320, 33497, 29370, 33467, 33334, 32962}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2669, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3210, 0 },
{ 3287, 0 , 0},
{ 3285, 3287, 0},
{ 0, 0, 0 },
{ 3287, 3287, 3287},
{ 3287, 3287, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3287, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {12592, 12840, 29446, 12577, 28574, 12598, 16766, 15053, 12497, 12475, 12571, 12953, 12472, 12488, 16758, 12985, 11958, 31672, 28594, 11426, 31676, 31687};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 801: // Warlock - Affliction (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31974, 33921, 31976, 35321, 31977, 33883, 31973, 30064, 31975, 33884, 33853, 33056, 34470, 32053, 31978, 32962}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2672, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3210, 0 },
{ 3215, 0 , 0},
{ 3125, 3131, 0},
{ 0, 0, 0 },
{ 3282, 3131, 3131},
{ 3282, 3282, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3131, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {17814, 18174, 18183, 17805, 18829, 17787, 18288, 18219, 18095, 32383, 32385, 18265, 18223, 18275, 30064, 30057, 30108, 18701, 18693, 18704, 17803, 17792, 17877, 17877};
talentsCount = 24; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 802: // Warlock - Demonology (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {30212, 33921, 30215, 35321, 31977, 33883, 31973, 30064, 31975, 33884, 33853, 33056, 29370, 32053, 31978, 32962}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3004, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2669, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3125, 0 },
{ 3215, 0 , 0},
{ 3286, 3286, 0},
{ 0, 0, 0 },
{ 3210, 3286, 3286},
{ 3282, 3282, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3286, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {17814, 18693, 18744, 18708, 18750, 30145, 18710, 18773, 18788, 30327, 23825, 30321, 19028, 35693, 30248, 30146, 17803, 17792, 17877, 18701};
talentsCount = 20; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 803: // Warlock - SL/SL (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31980, 33921, 31979, 35321, 31977, 33883, 31973, 30064, 31975, 33357, 33853, 33056, 34470, 32053, 31978, 32962}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2672, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3210, 0 },
{ 3282, 0 , 0},
{ 3125, 3215, 0},
{ 0, 0, 0 },
{ 3282, 3131, 3131},
{ 3282, 3282, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3131, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {18701, 18693, 18744, 18708, 18710, 18750, 30145, 18773, 18788, 23825, 30326, 30321, 19028, 17814, 18174, 18183, 17805, 18829, 17784, 18288, 18219, 18095, 32383, 32385, 18265, 18265, 18223, 35691};
talentsCount = 28; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 804: // Warlock - Destruction (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31980, 33920, 31979, 33304, 31982, 33913, 31981, 30064, 31983, 33914, 33853, 33056, 34577, 32053,31978, 32962}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2669, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3210, 0 },
{ 3215, 0 , 0},
{ 3125, 3140, 0},
{ 0, 0, 0 },
{ 3282, 3140, 3140},
{ 3140, 3140, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3140, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {17814, 18701, 18693, 17782, 17792, 18183, 18134, 17877, 18136, 17918, 17836, 17959, 30302, 17958, 34939, 17962, 17877, 30296, 30292, 30296, 30283};
talentsCount = 21; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 901: // Druid - Balance (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {32057, 35319, 32059, 35321, 32060, 33917, 32056, 33915, 33584, 33916, 33497, 33853, 35327, 32053, 33334, 33510}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3002, 0, 2982, 0, 2933, 0, 2748, 2940, 2650, 2937, 2928, 2928, 0, 0, 2938, 2669, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 3163, 3287, 0 },
{ 3287, 0 , 0},
{ 3210, 3287, 0},
{ 0, 0, 0 },
{ 3282, 3282, 3287},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3282, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16818, 16689, 16689, 16920, 35364, 16822, 5570, 16820, 16913, 16924, 33591, 16880, 16847, 16901, 33956, 24858, 33607, 16862, 16941, 16931, 16979, 17061};
talentsCount = 22; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 902: // Druid - Feral Combat (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31968, 33923, 31971, 33484, 31972, 33881, 31967, 33879, 30229, 33880, 33919, 34887, 30627, 34898, 0, 33509}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3003, 0, 2986, 0, 2661, 0, 3012, 2657, 1891, 2564, 2931, 2931, 0, 0, 368, 2670, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2829, 3142, 0 },
{ 3142, 0 , 0},
{ 3142, 3142, 0},
{ 0, 0, 0 },
{ 3208, 3209, 3219},
{ 0, 0, 0 },
{ 3134, 0, 0 },
{ 0, 0, 0 },
{ 3142, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16938, 16941, 16931, 24866, 16979, 16944, 16968, 16975, 37117, 16999, 16857, 33873, 24894, 33853, 33957, 17007, 34300, 33869, 33917, 33876, 33878, 16689, 16689, 17061, 17073, 16835, 16864};
talentsCount = 27; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 904: // Druid - Restoration (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31988, 33922, 32059, 29989, 31991, 33887, 32056, 33885, 31989, 33886, 33918, 30110, 34050, 32964, 32961, 33508}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3004, 0, 2980, 0, 2933, 0, 2746, 2940, 2617, 2322, 2930, 2930, 0, 0, 2938, 2343, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2835, 3215, 0 },
{ 3218, 0 , 0},
{ 3318, 3132, 0},
{ 0, 0, 0 },
{ 3318, 3318, 3131},
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 3318, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16818, 16689, 17245, 16920, 5570, 16862, 16941, 16931, 16979, 17061, 17061, 17051, 16835, 17108, 17122, 17113, 17116, 24946, 17076, 33883, 18562, 34151, 33889 };
talentsCount = 23; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
case GOSSIP_ACTION_INFO_DEF + 905: // Druid - Restokin (100%)
{
// ITEM TEMPLATE -> just fill in item ids, no required order
uint32 items[] = {31988, 33922, 32059, 29989, 31991, 33887, 32056, 33885, 33552, 33886, 33918, 30110, 34050, 32964, 32961, 33510}; // item ids
uint32 itemsCount = 16; // item count above
// ENCHANT TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
uint32 enchants[19] = { 3004, 0, 2980, 0, 2933, 0, 2746, 2940, 2617, 2322, 2930, 2930, 0, 0, 2938, 2343, 0, 0, 0 }; // enchant ids
// GEM TEMPLATE -> HEAD, NECK, SHOULDER, BODY(SHIRT), CHEST, WAIST, LEGS, FEET, WRISTS, HANDS, FINGER1, FINGER2, TRINKET1, TRINKET2, BACK, MAINHAND, OFFHAND, RANGE, TABARD
// If Item has 1 gem slot { enchantId, 0 , 0},
// If Item has 2 gem slot { enchantId, enchantId, 0},
// If Item has 3 gem slot { enchantId, enchantId, enchantId},
uint32 sockets[19][3] = {
{ 2835, 3215, 0 },
{ 3131, 0 , 0},
{ 3318, 3131, 0},
{ 0, 0, 0 },
{ 3318, 3318, 3131},
{ 0, 0, 0 },
{ 3318, 3131, 3318 },
{ 0, 0, 0 },
{ 3318, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
{ 0, 0, 0 },
};
// add all talents spells (max rank which should be learned) here, no order necessary
uint32 talents[] = {16818, 16689, 17249, 16920, 16822, 5570, 16820, 16924, 33591, 16880, 16847, 33596, 33956, 24858, 24905, 17061, 17051, 16835, 17108, 17122, 17113, 17116, 24946};
talentsCount = 23; // talent spell count from above
AddItemsEnchantsGemsTalents(player, items, sockets, enchants, talents, itemsCount, talentsCount);
break;
}
}
if (action != (GOSSIP_ACTION_INFO_DEF + 1))
player->CLOSE_GOSSIP_MENU();
return true;
}
void AddSC_npc_template()
{
Script *newscript;
newscript = new Script;
newscript->Name="npc_template";
newscript->pGossipHello = &GossipHello_npc_template;
newscript->pGossipSelect = &GossipSelect_npc_template;
newscript->RegisterSelf();
}