Advertisement
Guest User

EnchantNPC

a guest
Feb 5th, 2012
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 39.14 KB | None | 0 0
  1. /*
  2. *Some info for script borrowed from KingDutkas Teleguy Script and the EnchantmentNPC scripted by vision1000 from mmowned. Credits to them
  3. *Modifications made for Mangos thus far by Kreegoth
  4. */
  5. #include "precompiled.h"
  6.  
  7. long long int money;
  8. int costo;
  9.  
  10. bool i_InventoryType(Player * player, uint32 i_slot, uint32 i_type)
  11. {  
  12.     if(!player->GetItemByPos(INVENTORY_SLOT_BAG_0, i_slot))
  13.         return false;
  14.     else if(player->GetItemByPos(INVENTORY_SLOT_BAG_0, i_slot)->GetProto()->InventoryType != i_type)
  15.         return false;
  16.     else
  17.         return true;
  18. };
  19.  
  20. bool IsWeaponType(Player * player, uint32 i_slot, uint32 i_subclass)
  21. {
  22.     if(!player->GetItemByPos(INVENTORY_SLOT_BAG_0, i_slot))
  23.         return false;
  24.  
  25.     if(player->GetItemByPos(INVENTORY_SLOT_BAG_0, i_slot)->GetProto()->SubClass != i_subclass)
  26.         return false;
  27.     else
  28.         return true;
  29. };
  30.  
  31. int GetInvenSlot(const char * Code)
  32. {
  33.     int slot_;
  34.     if( strcmp(Code, "Helm") == 0 || strcmp(Code, "helm") == 0 || strcmp(Code, "Helmet") == 0 || strcmp(Code, "helmet") == 0 || strcmp(Code, "head") == 0 || strcmp(Code, "Head") == 0)
  35.         slot_ = 0;
  36.     else if (strcmp(Code, "Necklace") == 0 || strcmp(Code, "necklace") == 0 || strcmp(Code, "Neck") == 0 || strcmp(Code, "neck") == 0 || strcmp(Code, "Neckpiece") == 0 || strcmp(Code, "neckpiece") == 0)
  37.         slot_ = 1;
  38.     else if (strcmp(Code, "Shoulder") == 0 || strcmp(Code, "shoulder") == 0 || strcmp(Code, "Shoulders") == 0 || strcmp(Code, "shoulders") == 0)
  39.         slot_ = 2;
  40.     else if (strcmp(Code, "Cape") == 0 || strcmp(Code, "cape") == 0 || strcmp(Code, "Cloak") == 0 || strcmp(Code, "cloak") == 0 || strcmp(Code, "Back") == 0 || strcmp(Code, "back") == 0)
  41.         slot_ = 14;
  42.     else if (strcmp(Code, "Chest") == 0 || strcmp(Code, "chest") == 0 || strcmp(Code, "Chestpeice") == 0 || strcmp(Code, "chestpeice") == 0)
  43.         slot_ = 4;
  44.     else if (strcmp(Code, "Shirt") == 0 || strcmp(Code, "shirt") == 0)
  45.         slot_ = 3;
  46.     else if (strcmp(Code, "Tabard") == 0 || strcmp(Code, "tabard") == 0)
  47.         slot_ = 18;
  48.     else if (strcmp(Code, "Bracer") == 0 || strcmp(Code, "bracer") == 0 || strcmp(Code, "Bracers") == 0 || strcmp(Code, "bracers") == 0 || strcmp(Code, "Wrist") == 0 || strcmp(Code, "wrist") == 0 || strcmp(Code, "Wrists") == 0 || strcmp(Code, "wrists") == 0)
  49.         slot_ = 8;
  50.     else if (strcmp(Code, "Glove") == 0 || strcmp(Code, "glove") == 0 || strcmp(Code, "Gloves") == 0 || strcmp(Code, "gloves") == 0 || strcmp(Code, "Hand") == 0 || strcmp(Code, "hand") == 0 || strcmp(Code, "Hands") == 0 || strcmp(Code, "hands") == 0)
  51.         slot_ = 9;
  52.     else if (strcmp(Code, "Belt") == 0 || strcmp(Code, "belt") == 0 || strcmp(Code, "Waist") == 0 || strcmp(Code, "waist") == 0)
  53.         slot_ = 5;
  54.     else if (strcmp(Code, "Leg") == 0 || strcmp(Code, "leg") == 0 || strcmp(Code, "Legs") == 0 || strcmp(Code, "legs") == 0 || strcmp(Code, "Pant") == 0 || strcmp(Code, "pant") == 0 || strcmp(Code, "Pants") == 0 || strcmp(Code, "pants") == 0)
  55.         slot_ = 6;
  56.     else if (strcmp(Code, "Boot") == 0 || strcmp(Code, "boot") == 0 || strcmp(Code, "Boots") == 0 || strcmp(Code, "boots") == 0 || strcmp(Code, "foot") == 0 || strcmp(Code, "Foot") == 0 || strcmp(Code, "Feet") == 0 || strcmp(Code, "feet") == 0)
  57.         slot_ = 7;
  58.     else if (strcmp(Code, "Ring One") == 0 || strcmp(Code, "Ring one") == 0 || strcmp(Code, "ring one") == 0 || strcmp(Code, "ring 1") == 0 || strcmp(Code, "Ring 1") == 0 || strcmp(Code, "First Ring") == 0 || strcmp(Code, "first ring") == 0)
  59.         slot_ = 10;
  60.     else if (strcmp(Code, "Ring Two") == 0 || strcmp(Code, "Ring two") == 0 || strcmp(Code, "ring two") == 0 || strcmp(Code, "ring 2") == 0 || strcmp(Code, "Ring 2") == 0 || strcmp(Code, "Second Ring") == 0 || strcmp(Code, "second ring") == 0)
  61.         slot_ = 11;
  62.     else if (strcmp(Code, "Trinket One") == 0 || strcmp(Code, "Trinket one") == 0 || strcmp(Code, "trinket one") == 0 || strcmp(Code, "Trinket 1") == 0 || strcmp(Code, "trinket 1") == 0 || strcmp(Code, "First Trinket") == 0 || strcmp(Code, "First trinket") == 0 || strcmp(Code, "first trinket") == 0)
  63.         slot_ = 12;
  64.     else if (strcmp(Code, "Trinket Two") == 0 || strcmp(Code, "Trinket two") == 0 || strcmp(Code, "trinket two") == 0 || strcmp(Code, "Trinket 2") == 0 || strcmp(Code, "trinket 2") == 0 || strcmp(Code, "Second Trinket") == 0 || strcmp(Code, "Second trinket") == 0 || strcmp(Code, "second trinket") == 0)
  65.         slot_ = 13;
  66.     else if (strcmp(Code, "Ranged") == 0 || strcmp(Code, "ranged") == 0 || strcmp(Code, "Wand") == 0 || strcmp(Code, "wand") == 0 || strcmp(Code, "Gun") == 0 || strcmp(Code, "gun") == 0 || strcmp(Code, "Bow") == 0 || strcmp(Code, "bow") == 0 || strcmp(Code, "Idol") == 0 || strcmp(Code, "idol") == 0 || strcmp(Code, "Libram") == 0 || strcmp(Code, "libram") == 0 || strcmp(Code, "Sigil") == 0 || strcmp(Code, "sigil") == 0 || strcmp(Code, "Totem") == 0 || strcmp(Code, "totem") == 0)
  67.         slot_ = 17;
  68.     else if (strcmp(Code, "Main hand") == 0 || strcmp(Code, "main hand") == 0 || strcmp(Code, "Mh") == 0 || strcmp(Code, "Mh") == 0 || strcmp(Code, "mh") == 0 || strcmp(Code, "Main Hand") == 0 || strcmp(Code, "mainhand") == 0 || strcmp(Code, "Mainhand") == 0 || strcmp(Code, "weapon") == 0 || strcmp(Code, "Weapon") == 0)
  69.         slot_ = 15;
  70.     else if (strcmp(Code, "Off hand") == 0 || strcmp(Code, "off hand") == 0 || strcmp(Code, "Offhand") == 0 || strcmp(Code, "offhand") == 0 || strcmp(Code, "Oh") == 0 || strcmp(Code, "Oh") == 0 || strcmp(Code, "oh") == 0 || strcmp(Code, "Off Hand") == 0 || strcmp(Code, "off") == 0)
  71.         slot_ = 16;
  72.     else
  73.         slot_ = 20;
  74.  
  75.     return slot_;
  76. }
  77.  
  78. bool GossipHello_EnchantNPC(Player* player, Creature* _Creature)
  79. {
  80.             player->ADD_GOSSIP_ITEM( 0, "Helm" , GOSSIP_SENDER_MAIN, 140);
  81.             player->ADD_GOSSIP_ITEM( 0, "Shoulder" , GOSSIP_SENDER_MAIN, 141);
  82.             player->ADD_GOSSIP_ITEM( 0, "Cloak" , GOSSIP_SENDER_MAIN, 142);
  83.             player->ADD_GOSSIP_ITEM( 0, "Chest" , GOSSIP_SENDER_MAIN, 143);
  84.             player->ADD_GOSSIP_ITEM( 0, "Bracer" , GOSSIP_SENDER_MAIN, 144);
  85.             player->ADD_GOSSIP_ITEM( 0, "Gloves" , GOSSIP_SENDER_MAIN, 145);
  86.             player->ADD_GOSSIP_ITEM( 0, "Legs" , GOSSIP_SENDER_MAIN, 146);
  87.             player->ADD_GOSSIP_ITEM( 0, "Boots" , GOSSIP_SENDER_MAIN, 147);
  88.             player->ADD_GOSSIP_ITEM( 0, "Main Hand" , GOSSIP_SENDER_MAIN, 148);
  89.             player->ADD_GOSSIP_ITEM( 0, "Offhand" , GOSSIP_SENDER_MAIN, 149);
  90.             player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  91.     return true;
  92. }
  93.  
  94. void SendDefaultMenu_EnchantNPC(Player* player, Creature* _Creature, uint32 action)
  95. {
  96.     if (player->IsFlying() || player->isDead() || player->isInCombat())
  97.     {
  98.         player->CLOSE_GOSSIP_MENU();
  99.         _Creature->MonsterSay("You are in combat!", LANG_UNIVERSAL);
  100.         return;
  101.     }
  102.    
  103.     money = player-> GetMoney();
  104.     costo = 500;
  105.  
  106.     if (money < costo)
  107.     {
  108.     if  (player->getLevel() > 10)
  109.         {
  110.         player->CLOSE_GOSSIP_MENU();
  111.         _Creature->MonsterSay("You haven't enough money", LANG_UNIVERSAL);
  112.         return;
  113.         }
  114.     }
  115.    
  116.     switch(action)
  117.     {
  118.        case 0: //Titan Guard
  119.             {
  120.              for (int i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i)
  121.              {
  122.                  if (pItem->GetItemByPos( INVENTORY_SLOT_BAG_0, i ))
  123.                 {
  124.                     for(int slot = 0; slot < MAX_ENCHANTMENT_SLOT; ++slot)
  125.                     {
  126.                          SpellItemEnchantmentEntry const *pEnchant = sSpellItemEnchantmentStore.LookupEntry(3851);
  127.                          if (!pEnchant)
  128.                              continue;
  129.                          ApplyEnchantment(pItem, EnchantmentSlot(slot), true);
  130.                          player->ModifyMoney(-10*costo);
  131.                     }
  132.                 }
  133.             }break;    
  134.        case 140: // Helm
  135.                 {
  136.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Triumph" , GOSSIP_SENDER_MAIN, 73);
  137.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Dominance" , GOSSIP_SENDER_MAIN, 74);
  138.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Savage Gladiator" , GOSSIP_SENDER_MAIN, 75);
  139.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Blissful mending" , GOSSIP_SENDER_MAIN, 76);
  140.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Burning Mysteries" , GOSSIP_SENDER_MAIN, 77);
  141.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Torment" , GOSSIP_SENDER_MAIN, 78);
  142.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of The Stalward Protector" , GOSSIP_SENDER_MAIN, 79);
  143.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Eclipsed Moon" , GOSSIP_SENDER_MAIN, 80);
  144.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Flame's Soul" , GOSSIP_SENDER_MAIN, 81);
  145.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Fleeing Shadow" , GOSSIP_SENDER_MAIN, 82);
  146.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Frosty Soul" , GOSSIP_SENDER_MAIN, 83);
  147.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Toxic Warding" , GOSSIP_SENDER_MAIN, 84);
  148.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  149.                 }break;
  150.             case 141: // Shoulder
  151.                 {
  152.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Gladiator" , GOSSIP_SENDER_MAIN, 66);
  153.                     player->ADD_GOSSIP_ITEM(0, "Inscription of Triumph" , GOSSIP_SENDER_MAIN, 67);
  154.                     player->ADD_GOSSIP_ITEM(0, "Inscription of Dominance" , GOSSIP_SENDER_MAIN, 68);
  155.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Axe" , GOSSIP_SENDER_MAIN, 69);
  156.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Crag" , GOSSIP_SENDER_MAIN, 70);
  157.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Pinnacle" , GOSSIP_SENDER_MAIN, 71);
  158.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Storm" , GOSSIP_SENDER_MAIN, 72);
  159.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  160.                 }break;
  161.             case 142: // Cloak
  162.                 {
  163.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Shadow Armor" , GOSSIP_SENDER_MAIN, 43);
  164.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Wisdom" , GOSSIP_SENDER_MAIN, 44);
  165.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Titan Weave" , GOSSIP_SENDER_MAIN, 45);
  166.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Greater Speed" , GOSSIP_SENDER_MAIN, 46);
  167.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Mighty Armor" , GOSSIP_SENDER_MAIN, 47);
  168.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Major Agility" , GOSSIP_SENDER_MAIN, 48);
  169.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Spell Piercing" , GOSSIP_SENDER_MAIN, 54);
  170.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Arcane Resistance" , GOSSIP_SENDER_MAIN, 49);
  171.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Fire Resistance" , GOSSIP_SENDER_MAIN, 50);
  172.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Frost Resistance" , GOSSIP_SENDER_MAIN, 51);
  173.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Nature Resistance" , GOSSIP_SENDER_MAIN, 52);
  174.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Shadow Resistance" , GOSSIP_SENDER_MAIN, 53);
  175.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  176.                 }break;
  177.             case 143: // Chest
  178.                 {
  179.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Powerful Stats" , GOSSIP_SENDER_MAIN, 31);
  180.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Super Health" , GOSSIP_SENDER_MAIN, 32);
  181.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Greater Mana Restoration" , GOSSIP_SENDER_MAIN, 33);
  182.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Exceptional Resilience" , GOSSIP_SENDER_MAIN, 34);
  183.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Greater Defense" , GOSSIP_SENDER_MAIN, 35);
  184.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  185.                 }break;
  186.             case 144: // Bracer
  187.                 {
  188.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Major Stamina" , GOSSIP_SENDER_MAIN, 23);
  189.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Superior Spellpower" , GOSSIP_SENDER_MAIN, 24);
  190.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Greater Assult" , GOSSIP_SENDER_MAIN, 25);
  191.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Major Spirit" , GOSSIP_SENDER_MAIN, 26);
  192.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Expertise" , GOSSIP_SENDER_MAIN, 27);
  193.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Greater Stats" , GOSSIP_SENDER_MAIN, 28);
  194.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Exceptional Intellect" , GOSSIP_SENDER_MAIN, 29);
  195.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  196.                 }break;
  197.             case 145: // Gloves
  198.                 {
  199.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Greater Blasting" , GOSSIP_SENDER_MAIN, 17);
  200.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Armsman" , GOSSIP_SENDER_MAIN, 18);
  201.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Crusher" , GOSSIP_SENDER_MAIN, 19);
  202.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Agility" , GOSSIP_SENDER_MAIN, 20);
  203.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Precision" , GOSSIP_SENDER_MAIN, 21);
  204.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Expertise" , GOSSIP_SENDER_MAIN, 22);
  205.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Exceptional Spellpower" , GOSSIP_SENDER_MAIN, 130);
  206.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  207.                 }break;
  208.             case 146: // Legs
  209.                 {
  210.                     player->ADD_GOSSIP_ITEM(0, "Earthen Leg Armor" , GOSSIP_SENDER_MAIN, 61);
  211.                     player->ADD_GOSSIP_ITEM(0, "Frosthide Leg Armor" , GOSSIP_SENDER_MAIN, 62);
  212.                     player->ADD_GOSSIP_ITEM(0, "Icescale Leg Armor" , GOSSIP_SENDER_MAIN, 63);
  213.                     player->ADD_GOSSIP_ITEM(0, "Brilliant Spellthread" , GOSSIP_SENDER_MAIN, 64);
  214.                     player->ADD_GOSSIP_ITEM(0, "Sapphire Spellthread" , GOSSIP_SENDER_MAIN, 65);
  215.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  216.                 }break;
  217.             case 147: // Boots
  218.                 {
  219.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Assult" , GOSSIP_SENDER_MAIN, 36);
  220.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Tuskars Vitality" , GOSSIP_SENDER_MAIN, 37);
  221.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Superior Agility" , GOSSIP_SENDER_MAIN, 38);
  222.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Spirit" , GOSSIP_SENDER_MAIN, 39);
  223.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Vitality" , GOSSIP_SENDER_MAIN, 40);
  224.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Icewalker" , GOSSIP_SENDER_MAIN, 41);
  225.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Fortitude" , GOSSIP_SENDER_MAIN, 42);
  226.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  227.                 }break;
  228.             case 148: // Mainhand
  229.                 {
  230.                     if(i_InventoryType(player, EQUIPMENT_SLOT_MAINHAND, INVTYPE_2HWEAPON) == true)
  231.                     {
  232.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Titan Guard" , GOSSIP_SENDER_MAIN, 0);
  233.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Accuracy" , GOSSIP_SENDER_MAIN, 1);
  234.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Berserking" , GOSSIP_SENDER_MAIN, 2);
  235.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Black Magic" , GOSSIP_SENDER_MAIN, 3);
  236.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mighty Spellpower" , GOSSIP_SENDER_MAIN, 4);
  237.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Superior Potency" , GOSSIP_SENDER_MAIN, 5);
  238.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Ice Breaker" , GOSSIP_SENDER_MAIN, 6);
  239.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Lifeward" , GOSSIP_SENDER_MAIN, 7);
  240.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blood Draining" , GOSSIP_SENDER_MAIN, 8);
  241.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blade Ward" , GOSSIP_SENDER_MAIN, 9);
  242.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Agility" , GOSSIP_SENDER_MAIN, 10);
  243.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Spirit" , GOSSIP_SENDER_MAIN, 11);
  244.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Executioner" , GOSSIP_SENDER_MAIN, 12);
  245.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mongoose" , GOSSIP_SENDER_MAIN, 13);
  246.                         player->ADD_GOSSIP_ITEM(0, "Next Page..." , GOSSIP_SENDER_MAIN, 150);
  247.                         player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  248.                     }
  249.                     else if (i_InventoryType(player, EQUIPMENT_SLOT_MAINHAND, INVTYPE_WEAPON) == true || i_InventoryType(player, EQUIPMENT_SLOT_MAINHAND, INVTYPE_WEAPONMAINHAND)== true)
  250.                     {
  251.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Titan Guard" , GOSSIP_SENDER_MAIN, 0);
  252.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Accuracy" , GOSSIP_SENDER_MAIN, 1);
  253.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Berserking" , GOSSIP_SENDER_MAIN, 2);
  254.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Black Magic" , GOSSIP_SENDER_MAIN, 3);
  255.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mighty Spellpower" , GOSSIP_SENDER_MAIN, 4);
  256.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Superior Potency" , GOSSIP_SENDER_MAIN, 5);
  257.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Ice Breaker" , GOSSIP_SENDER_MAIN, 6);
  258.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Lifeward" , GOSSIP_SENDER_MAIN, 7);
  259.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blood Draining" , GOSSIP_SENDER_MAIN, 8);
  260.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blade Ward" , GOSSIP_SENDER_MAIN, 9);
  261.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Agility" , GOSSIP_SENDER_MAIN, 10);
  262.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Spirit" , GOSSIP_SENDER_MAIN, 11);
  263.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Executioner" , GOSSIP_SENDER_MAIN, 12);
  264.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mongoose" , GOSSIP_SENDER_MAIN, 13);
  265.                         player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  266.                     }
  267.                     else
  268.                     {
  269.                         _Creature->MonsterSay("You have selected an invalid item", LANG_UNIVERSAL);
  270.                     }
  271.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  272.                 }break;
  273.             case 149: // Offhand
  274.                 {
  275.                     if(i_InventoryType(player, EQUIPMENT_SLOT_OFFHAND, INVTYPE_2HWEAPON) == true)
  276.                     {
  277.                         if(player->HasSpell(46917))
  278.                         {
  279.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Titan Guard" , GOSSIP_SENDER_MAIN, 109);
  280.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Accuracy" , GOSSIP_SENDER_MAIN, 110);
  281.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Berserking" , GOSSIP_SENDER_MAIN, 111);
  282.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Black Magic" , GOSSIP_SENDER_MAIN, 112);
  283.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mighty Spellpower" , GOSSIP_SENDER_MAIN, 113);
  284.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Superior Potency" , GOSSIP_SENDER_MAIN, 114);
  285.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Ice Breaker" , GOSSIP_SENDER_MAIN, 115);
  286.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Lifeward" , GOSSIP_SENDER_MAIN, 116);
  287.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blood Draining" , GOSSIP_SENDER_MAIN, 117);
  288.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blade Ward" , GOSSIP_SENDER_MAIN, 118);
  289.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Agility" , GOSSIP_SENDER_MAIN, 119);
  290.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Spirit" , GOSSIP_SENDER_MAIN, 120);
  291.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Executioner" , GOSSIP_SENDER_MAIN, 121);
  292.                             player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mongoose" , GOSSIP_SENDER_MAIN, 122);
  293.                             player->ADD_GOSSIP_ITEM(0, "Next Page..." , GOSSIP_SENDER_MAIN, 151);
  294.                             player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  295.                         }
  296.                         else
  297.                         {
  298.                             _Creature->MonsterSay("You have selected an invalid item", LANG_UNIVERSAL);
  299.                         }
  300.                     }
  301.                     else if(i_InventoryType(player, EQUIPMENT_SLOT_OFFHAND, INVTYPE_WEAPON) == true || i_InventoryType(player, EQUIPMENT_SLOT_OFFHAND, INVTYPE_WEAPONOFFHAND) == true)
  302.                     {
  303.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Titan Guard" , GOSSIP_SENDER_MAIN, 109);
  304.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Accuracy" , GOSSIP_SENDER_MAIN, 110);
  305.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Berserking" , GOSSIP_SENDER_MAIN, 111);
  306.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Black Magic" , GOSSIP_SENDER_MAIN, 112);
  307.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mighty Spellpower" , GOSSIP_SENDER_MAIN, 113);
  308.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Superior Potency" , GOSSIP_SENDER_MAIN, 114);
  309.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Ice Breaker" , GOSSIP_SENDER_MAIN, 115);
  310.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Lifeward" , GOSSIP_SENDER_MAIN, 116);
  311.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blood Draining" , GOSSIP_SENDER_MAIN, 117);
  312.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blade Ward" , GOSSIP_SENDER_MAIN, 118);
  313.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Agility" , GOSSIP_SENDER_MAIN, 119);
  314.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Spirit" , GOSSIP_SENDER_MAIN, 120);
  315.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Executioner" , GOSSIP_SENDER_MAIN, 121);
  316.                         player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mongoose" , GOSSIP_SENDER_MAIN, 122);
  317.                         player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  318.                     }
  319.                     else if(i_InventoryType(player, EQUIPMENT_SLOT_OFFHAND, INVTYPE_SHIELD) == true)
  320.                     {
  321.                         player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Defense" , GOSSIP_SENDER_MAIN, 55);
  322.                         player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Greater Intellect" , GOSSIP_SENDER_MAIN, 56);
  323.                         player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Shield Block" , GOSSIP_SENDER_MAIN, 57);
  324.                         player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Resilience" , GOSSIP_SENDER_MAIN, 58);
  325.                         player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Major Stamina" , GOSSIP_SENDER_MAIN, 59);
  326.                         player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Tough Shield" , GOSSIP_SENDER_MAIN, 60);
  327.                         player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  328.                     }
  329.                     else
  330.                     {
  331.                         _Creature->MonsterSay("You have selected an invalid item", LANG_UNIVERSAL);
  332.                     }
  333.                 }break;
  334.  
  335.             case 150: // Long menu for mainhand weapons that may want either 1h or 2h weapon enchants
  336.                 {
  337.                     if(i_InventoryType(player, EQUIPMENT_SLOT_MAINHAND, INVTYPE_2HWEAPON) == true)
  338.                     {
  339.                         player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Massacre" , GOSSIP_SENDER_MAIN, 14);
  340.                         player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Scourgebane" , GOSSIP_SENDER_MAIN, 15);
  341.                         player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Giant Slayer" , GOSSIP_SENDER_MAIN, 16);
  342.                         if(IsWeaponType(player, EQUIPMENT_SLOT_MAINHAND, ITEM_SUBCLASS_WEAPON_STAFF))
  343.                         {
  344.                             player->ADD_GOSSIP_ITEM(0, "Enchant Stave - Greater Spellpower" , GOSSIP_SENDER_MAIN, 30);
  345.                         }
  346.                         player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  347.                     }
  348.                 }break;
  349.            
  350.             case 151: // Long menu for offhand 2h weapons that may want either 1h or 2h weapon enchants
  351.                 {
  352.                     if(i_InventoryType(player, EQUIPMENT_SLOT_OFFHAND, INVTYPE_2HWEAPON) == true)
  353.                     {
  354.                         if(player->HasSpell(46917))
  355.                         {
  356.                             player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Massacre" , GOSSIP_SENDER_MAIN, 123);
  357.                             player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Scourgebane" , GOSSIP_SENDER_MAIN, 124);
  358.                             player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Giant Slayer" , GOSSIP_SENDER_MAIN, 125);
  359.                             if(IsWeaponType(player, EQUIPMENT_SLOT_MAINHAND, ITEM_SUBCLASS_WEAPON_STAFF))
  360.                             {
  361.                                 player->ADD_GOSSIP_ITEM(0, "Enchant Stave - Greater Spellpower" , GOSSIP_SENDER_MAIN, 131); // Might as well add it incase :S.
  362.                             }
  363.                             player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  364.                         }
  365.                         else
  366.                         {
  367.                             _Creature->MonsterSay("You have selected an invalid item", LANG_UNIVERSAL);
  368.                         }
  369.                     }
  370.                 }break;
  371.             case 152: // Prof specific main menu
  372.                 {
  373.                     player->ADD_GOSSIP_ITEM(0, "First Ring Slot" , GOSSIP_SENDER_MAIN, 153);
  374.                     player->ADD_GOSSIP_ITEM(0, "Second Ring Slot" , GOSSIP_SENDER_MAIN, 159);
  375.                     player->ADD_GOSSIP_ITEM(0, "Bracer - Fur Lining" , GOSSIP_SENDER_MAIN, 154);
  376.                     player->ADD_GOSSIP_ITEM(0, "Cloak - Embroidery" , GOSSIP_SENDER_MAIN, 155);
  377.                     player->ADD_GOSSIP_ITEM(0, "Shoulder - Inscription" , GOSSIP_SENDER_MAIN, 156);
  378.                     player->ADD_GOSSIP_ITEM(0, "Boots & Gloves - Engineering Gadgets" , GOSSIP_SENDER_MAIN, 157);
  379.                     player->ADD_GOSSIP_ITEM(0, "Legs - Improved Leg Armor" , GOSSIP_SENDER_MAIN, 158);
  380.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  381.                 }break;
  382.             case 153: // 1st ring
  383.                 {
  384.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Assult" , GOSSIP_SENDER_MAIN, 85);
  385.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Greater Spellpower" , GOSSIP_SENDER_MAIN, 86);
  386.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Stamina" , GOSSIP_SENDER_MAIN, 87);
  387.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  388.                 }break;
  389.             case 154: // fur lining
  390.                 {
  391.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Attack Power" , GOSSIP_SENDER_MAIN, 93);
  392.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Spellpower" , GOSSIP_SENDER_MAIN, 95);
  393.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Stamina" , GOSSIP_SENDER_MAIN, 94);
  394.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Arcane Resist" , GOSSIP_SENDER_MAIN, 88);
  395.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Fire Resist" , GOSSIP_SENDER_MAIN, 89);
  396.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Frost Resist" , GOSSIP_SENDER_MAIN, 90);
  397.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Nature Resist" , GOSSIP_SENDER_MAIN, 91);
  398.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Shadow Resist" , GOSSIP_SENDER_MAIN, 92);
  399.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  400.                 }break;
  401.             case 155: // cloak embroidery
  402.                 {
  403.                     player->ADD_GOSSIP_ITEM(0, "Embroid Cloak - Darkglow" , GOSSIP_SENDER_MAIN, 96);
  404.                     player->ADD_GOSSIP_ITEM(0, "Embroid Cloak - Lightweave" , GOSSIP_SENDER_MAIN, 97);
  405.                     player->ADD_GOSSIP_ITEM(0, "Embroid Cloak - Swordguard" , GOSSIP_SENDER_MAIN, 98);
  406.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  407.                 }break;
  408.             case 156: // inscription enchants
  409.                 {
  410.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Axe" , GOSSIP_SENDER_MAIN, 99);
  411.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Crag" , GOSSIP_SENDER_MAIN, 100);
  412.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Pinnacle" , GOSSIP_SENDER_MAIN, 101);
  413.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Storm" , GOSSIP_SENDER_MAIN, 102);
  414.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  415.                 }break;
  416.             case 157: // Engineering Gadgets
  417.                 {
  418.                     player->ADD_GOSSIP_ITEM(0, "Nitro Boots" , GOSSIP_SENDER_MAIN, 103);
  419.                     player->ADD_GOSSIP_ITEM(0, "Hand-Mounted Pyro Rocket" , GOSSIP_SENDER_MAIN, 104);
  420.                     player->ADD_GOSSIP_ITEM(0, "Handguard Hyperspeed Accelerators" , GOSSIP_SENDER_MAIN, 105);
  421.                     player->ADD_GOSSIP_ITEM(0, "Handguard Reticulated Armor Webbing" , GOSSIP_SENDER_MAIN, 106);
  422.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  423.                 }break;
  424.             case 158: // Unreleased lw leg armor (100 ap / 36 crit)
  425.                 {
  426.                     player->ADD_GOSSIP_ITEM(0, "Dragonscale Leg Armor" , GOSSIP_SENDER_MAIN, 107);
  427.                     player->ADD_GOSSIP_ITEM(0, "Wyrmscale Leg Armor" , GOSSIP_SENDER_MAIN, 108);
  428.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  429.                 }break;
  430.             case 159: // 2nd slot ring
  431.                 {
  432.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Assult" , GOSSIP_SENDER_MAIN, 127);
  433.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Greater Spellpower" , GOSSIP_SENDER_MAIN, 128);
  434.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Stamina" , GOSSIP_SENDER_MAIN, 129);
  435.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  436.                 }
  437.             case 161: // helm
  438.                 {
  439.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Triumph" , GOSSIP_SENDER_MAIN, 73);
  440.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Dominance" , GOSSIP_SENDER_MAIN, 74);
  441.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Savage Gladiator" , GOSSIP_SENDER_MAIN, 75);
  442.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Blissful mending" , GOSSIP_SENDER_MAIN, 76);
  443.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Burning Mysteries" , GOSSIP_SENDER_MAIN, 77);
  444.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Torment" , GOSSIP_SENDER_MAIN, 78);
  445.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of The Stalward Protector" , GOSSIP_SENDER_MAIN, 79);
  446.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Eclipsed Moon" , GOSSIP_SENDER_MAIN, 80);
  447.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Flame's Soul" , GOSSIP_SENDER_MAIN, 81);
  448.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Fleeing Shadow" , GOSSIP_SENDER_MAIN, 82);
  449.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of the Frosty Soul" , GOSSIP_SENDER_MAIN, 83);
  450.                     player->ADD_GOSSIP_ITEM(0, "Arcanum of Toxic Warding" , GOSSIP_SENDER_MAIN, 84);
  451.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  452.                 }break;
  453.             case 162: // shoulder
  454.                 {
  455.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Gladiator" , GOSSIP_SENDER_MAIN, 66);
  456.                     player->ADD_GOSSIP_ITEM(0, "Inscription of Triumph" , GOSSIP_SENDER_MAIN, 67);
  457.                     player->ADD_GOSSIP_ITEM(0, "Inscription of Dominance" , GOSSIP_SENDER_MAIN, 68);
  458.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Axe" , GOSSIP_SENDER_MAIN, 69);
  459.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Crag" , GOSSIP_SENDER_MAIN, 70);
  460.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Pinnacle" , GOSSIP_SENDER_MAIN, 71);
  461.                     player->ADD_GOSSIP_ITEM(0, "Greater Inscription of the Storm" , GOSSIP_SENDER_MAIN, 72);
  462.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Axe" , GOSSIP_SENDER_MAIN, 99);
  463.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Crag" , GOSSIP_SENDER_MAIN, 100);
  464.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Pinnacle" , GOSSIP_SENDER_MAIN, 101);
  465.                     player->ADD_GOSSIP_ITEM(0, "Master's Inscription of the Storm" , GOSSIP_SENDER_MAIN, 102);
  466.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  467.                 }break;
  468.             case 163: // cloak
  469.                 {
  470.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Shadow Armor" , GOSSIP_SENDER_MAIN, 43);
  471.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Wisdom" , GOSSIP_SENDER_MAIN, 44);
  472.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Titan Weave" , GOSSIP_SENDER_MAIN, 45);
  473.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Greater Speed" , GOSSIP_SENDER_MAIN, 46);
  474.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Mighty Armor" , GOSSIP_SENDER_MAIN, 47);
  475.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Major Agility" , GOSSIP_SENDER_MAIN, 48);
  476.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Spell Piercing" , GOSSIP_SENDER_MAIN, 54);
  477.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Arcane Resistance" , GOSSIP_SENDER_MAIN, 49);
  478.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Fire Resistance" , GOSSIP_SENDER_MAIN, 50);
  479.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Frost Resistance" , GOSSIP_SENDER_MAIN, 51);
  480.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Nature Resistance" , GOSSIP_SENDER_MAIN, 52);
  481.                     player->ADD_GOSSIP_ITEM(0, "Enchant Cloak - Superior Shadow Resistance" , GOSSIP_SENDER_MAIN, 53);
  482.                     player->ADD_GOSSIP_ITEM(0, "Embroid Cloak - Darkglow" , GOSSIP_SENDER_MAIN, 96);
  483.                     player->ADD_GOSSIP_ITEM(0, "Embroid Cloak - Lightweave" , GOSSIP_SENDER_MAIN, 97);
  484.                     player->ADD_GOSSIP_ITEM(0, "Embroid Cloak - Swordguard" , GOSSIP_SENDER_MAIN, 98);
  485.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  486.                 }break;
  487.             case 164: // chest
  488.                 {
  489.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Powerful Stats" , GOSSIP_SENDER_MAIN, 31);
  490.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Super Health" , GOSSIP_SENDER_MAIN, 32);
  491.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Greater Mana Restoration" , GOSSIP_SENDER_MAIN, 33);
  492.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Exceptional Resilience" , GOSSIP_SENDER_MAIN, 34);
  493.                     player->ADD_GOSSIP_ITEM(0, "Enchant Chest - Greater Defense" , GOSSIP_SENDER_MAIN, 35);
  494.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  495.                 }break;
  496.             case 165: // bracer
  497.                 {
  498.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Major Stamina" , GOSSIP_SENDER_MAIN, 23);
  499.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Superior Spellpower" , GOSSIP_SENDER_MAIN, 24);
  500.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Greater Assult" , GOSSIP_SENDER_MAIN, 25);
  501.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Major Spirit" , GOSSIP_SENDER_MAIN, 26);
  502.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Expertise" , GOSSIP_SENDER_MAIN, 27);
  503.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Greater Stats" , GOSSIP_SENDER_MAIN, 28);
  504.                     player->ADD_GOSSIP_ITEM(0, "Enchant Bracer - Exceptional Intellect" , GOSSIP_SENDER_MAIN, 29);
  505.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Attack Power" , GOSSIP_SENDER_MAIN, 93);
  506.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Spellpower" , GOSSIP_SENDER_MAIN, 95);
  507.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Stamina" , GOSSIP_SENDER_MAIN, 94);
  508.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Arcane Resist" , GOSSIP_SENDER_MAIN, 88);
  509.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Fire Resist" , GOSSIP_SENDER_MAIN, 89);
  510.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Frost Resist" , GOSSIP_SENDER_MAIN, 90);
  511.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Nature Resist" , GOSSIP_SENDER_MAIN, 91);
  512.                     player->ADD_GOSSIP_ITEM(0, "Fur Lining - Shadow Resist" , GOSSIP_SENDER_MAIN, 92);
  513.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  514.                 }break;
  515.             case 166: // glove
  516.                 {
  517.                     player->ADD_GOSSIP_ITEM(0, "Hand-Mounted Pyro Rocket" , GOSSIP_SENDER_MAIN, 104);
  518.                     player->ADD_GOSSIP_ITEM(0, "Handguard Hyperspeed Accelerators" , GOSSIP_SENDER_MAIN, 105);
  519.                     player->ADD_GOSSIP_ITEM(0, "Handguard Reticulated Armor Webbing" , GOSSIP_SENDER_MAIN, 106);
  520.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Greater Blasting" , GOSSIP_SENDER_MAIN, 17);
  521.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Armsman" , GOSSIP_SENDER_MAIN, 18);
  522.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Crusher" , GOSSIP_SENDER_MAIN, 19);
  523.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Agility" , GOSSIP_SENDER_MAIN, 20);
  524.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Precision" , GOSSIP_SENDER_MAIN, 21);
  525.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Expertise" , GOSSIP_SENDER_MAIN, 22);
  526.                     player->ADD_GOSSIP_ITEM(0, "Enchant Gloves - Exceptional Spellpower" , GOSSIP_SENDER_MAIN, 130);
  527.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  528.                 }break;
  529.             case 167: // legs
  530.                 {
  531.                     player->ADD_GOSSIP_ITEM(0, "Earthen Leg Armor" , GOSSIP_SENDER_MAIN, 61);
  532.                     player->ADD_GOSSIP_ITEM(0, "Frosthide Leg Armor" , GOSSIP_SENDER_MAIN, 62);
  533.                     player->ADD_GOSSIP_ITEM(0, "Icescale Leg Armor" , GOSSIP_SENDER_MAIN, 63);
  534.                     player->ADD_GOSSIP_ITEM(0, "Brilliant Spellthread" , GOSSIP_SENDER_MAIN, 64);
  535.                     player->ADD_GOSSIP_ITEM(0, "Sapphire Spellthread" , GOSSIP_SENDER_MAIN, 65);
  536.                     player->ADD_GOSSIP_ITEM(0, "Dragonscale Leg Armor" , GOSSIP_SENDER_MAIN, 107);
  537.                     player->ADD_GOSSIP_ITEM(0, "Wyrmscale Leg Armor" , GOSSIP_SENDER_MAIN, 108);
  538.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  539.                 }break;
  540.             case 168: // boots
  541.                 {
  542.                     player->ADD_GOSSIP_ITEM(0, "Nitro Boots" , GOSSIP_SENDER_MAIN, 103);
  543.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Assult" , GOSSIP_SENDER_MAIN, 36);
  544.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Tuskars Vitality" , GOSSIP_SENDER_MAIN, 37);
  545.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Superior Agility" , GOSSIP_SENDER_MAIN, 38);
  546.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Spirit" , GOSSIP_SENDER_MAIN, 39);
  547.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Vitality" , GOSSIP_SENDER_MAIN, 40);
  548.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Icewalker" , GOSSIP_SENDER_MAIN, 41);
  549.                     player->ADD_GOSSIP_ITEM(0, "Enchant Boots - Greater Fortitude" , GOSSIP_SENDER_MAIN, 42);
  550.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  551.                 }break;
  552.             case 169: // rings
  553.                 {
  554.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Assult" , GOSSIP_SENDER_MAIN, 85);
  555.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Greater Spellpower" , GOSSIP_SENDER_MAIN, 86);
  556.                     player->ADD_GOSSIP_ITEM(0, "Enchant Ring - Stamina" , GOSSIP_SENDER_MAIN, 87);
  557.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  558.                 }break;
  559.             case 170: // One handed
  560.                 {
  561.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Titan Guard" , GOSSIP_SENDER_MAIN, 0);
  562.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Accuracy" , GOSSIP_SENDER_MAIN, 1);
  563.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Berserking" , GOSSIP_SENDER_MAIN, 2);
  564.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Black Magic" , GOSSIP_SENDER_MAIN, 3);
  565.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mighty Spellpower" , GOSSIP_SENDER_MAIN, 4);
  566.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Superior Potency" , GOSSIP_SENDER_MAIN, 5);
  567.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Ice Breaker" , GOSSIP_SENDER_MAIN, 6);
  568.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Lifeward" , GOSSIP_SENDER_MAIN, 7);
  569.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blood Draining" , GOSSIP_SENDER_MAIN, 8);
  570.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Blade Ward" , GOSSIP_SENDER_MAIN, 9);
  571.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Agility" , GOSSIP_SENDER_MAIN, 10);
  572.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Exceptional Spirit" , GOSSIP_SENDER_MAIN, 11);
  573.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Executioner" , GOSSIP_SENDER_MAIN, 12);
  574.                     player->ADD_GOSSIP_ITEM(0, "Enchant Weapon - Mongoose" , GOSSIP_SENDER_MAIN, 13);
  575.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  576.                 }break;
  577.             case 171: // Two handed
  578.                 {
  579.                     player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Massacre" , GOSSIP_SENDER_MAIN, 14);
  580.                     player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Scourgebane" , GOSSIP_SENDER_MAIN, 15);
  581.                     player->ADD_GOSSIP_ITEM(0, "Enchant 2H Weapon - Giant Slayer" , GOSSIP_SENDER_MAIN, 16);
  582.                     player->ADD_GOSSIP_ITEM(0, "Enchant Stave - Greater Spellpower" , GOSSIP_SENDER_MAIN, 30);
  583.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  584.                 }break;
  585.             case 172: // Shield
  586.                 {
  587.                     player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Defense" , GOSSIP_SENDER_MAIN, 55);
  588.                     player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Greater Intellect" , GOSSIP_SENDER_MAIN, 56);
  589.                     player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Shield Block" , GOSSIP_SENDER_MAIN, 57);
  590.                     player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Resilience" , GOSSIP_SENDER_MAIN, 58);
  591.                     player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Major Stamina" , GOSSIP_SENDER_MAIN, 59);
  592.                     player->ADD_GOSSIP_ITEM(0, "Enchant Shield - Tough Shield" , GOSSIP_SENDER_MAIN, 60);
  593.                     player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE,_Creature->GetObjectGuid());
  594.                 }
  595.         break;
  596.            }
  597.         }
  598.     }
  599.    
  600. bool GossipSelect_EnchantNPC(Player* player, Creature* _Creature, uint32 sender, uint32 action)
  601. {
  602.     // Main menu
  603.     if (sender == GOSSIP_SENDER_MAIN)
  604.     {
  605.         player->PlayerTalkClass->ClearMenus();
  606.         SendDefaultMenu_EnchantNPC(player, _Creature, action);
  607.     }
  608.     return true;
  609. }
  610.  
  611. void AddSC_EnchantNPC()
  612. {
  613.     Script* pNewScript;
  614.  
  615.     pNewScript = new Script;
  616.     pNewScript->Name = "EnchantNPC";
  617.     pNewScript->pGossipHello = &GossipHello_EnchantNPC;
  618.     pNewScript->pGossipSelect = &GossipSelect_EnchantNPC;
  619.     pNewScript->RegisterSelf();
  620. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement